StringWriter sw = new StringWriter ();
HtmlTextWriter writer = new HtmlTextWriter (sw);
+ node.Expanded = true;
int num = node.ChildNodes.Count;
for (int n=0; n<num; n++)
RenderNode (writer, node.ChildNodes [n], node.Depth + 1, levelLines, true, n<num-1);
bool renderChildNodes = node.Expanded.HasValue && node.Expanded.Value;
if (clientExpand && !renderChildNodes)
- renderChildNodes = (!PopulateNodesFromClient || HasChildInputData (node));
+ renderChildNodes = (!node.PopulateOnDemand || node.Populated);
bool hasChildNodes;
writer.RenderBeginTag (HtmlTextWriterTag.Td); // TD
if (buttonImage) {
- if (!clientExpand)
+ if (!clientExpand || (!PopulateNodesFromClient && node.PopulateOnDemand && !node.Populated))
writer.AddAttribute ("href", GetClientEvent (node, "ec"));
else
writer.AddAttribute ("href", GetClientExpandEvent(node));
writer.RenderBeginTag (HtmlTextWriterTag.Span);
}
- bool HasChildInputData (TreeNode node)
- {
- // Returns true if this node contain childs whose state is hold in
- // input elements that are rendered together with the node.
-
- if (node.Checked) return true;
- if (!node.HasChildData) return false;
-
- foreach (TreeNode n in node.ChildNodes)
- if (HasChildInputData (n)) return true;
- return false;
- }
-
string GetNodeImageToolTip (bool expand, string txt) {
if (expand) {
if (ExpandImageToolTip != "")
foreach (string id in states) {
if (id == null || id == "") continue;
TreeNode node = FindNodeByPos (id);
- node.Expanded = true;
+ if (node != null)
+ node.Expanded = true;
}
}
node.populated = true;
if (data != "*") {
node.innerHTML = data;
- TreeView_ToggleExpand (idArray[0], idArray[1]);
} else {
if (tree.showImage && tree.noExpandImage != null) {
var image = document.getElementById (spanId + "_img");
image.src = tree.noExpandImage;
}
}
+ TreeView_ToggleExpand (idArray[0], idArray[1]);
}
function TreeView_ErrorCallback (data, ids)