hi...
I wrote the code for this as below but some logic is missed. How to add that logic please let me know.. or you can give me your own code
-------------------------------------------------
Boolean bChildTrigger = true;
Boolean bParentTrigger = true;
private void trView_AfterCheck(object sender, TreeViewEventArgs e)
{
if (bChildTrigger)
{
CheckAllChildren(e.Node, e.Node.Checked);
}
if (bParentTrigger)
{
CheckMyParent(e.Node, e.Node.Checked);
}
}
void CheckAllChildren(TreeNode tn, Boolean bCheck)
{
bParentTrigger = false;
foreach (TreeNode ctn in tn.Nodes)
{
bChildTrigger = false;
ctn.Checked = bCheck;
bChildTrigger = true;
CheckAllChildren(ctn, bCheck);
}
bParentTrigger = true;
}
void CheckMyParent(TreeNode tn, Boolean bCheck)
{
if (tn == null) return;
if (tn.Parent == null) return;
bChildTrigger = false;
bParentTrigger = false;
tn.Parent.Checked = bCheck;
CheckMyParent(tn.Parent, bCheck);
bParentTrigger = true;
bChildTrigger = true;
}
----------------------------------------------------------------
<pre>
when I selected the parent node, automatically the child nodes are selected and the root node is also selected. But the problem is when I deselect the any one of the selected child nodes then the Parent node and Root node are also getting deselected state even some child nodes are already in selected state.
please solve this problem
thank you