When I check my nodes, I get the events firing, but when I uncheck them nothing happens...and any additional click doesn't trigger an event....any idea why? :)
private
void
radTreeView1_NodeCheckedChanged(
object
sender, RadTreeViewEventArgs e) {
foreach
(RadTreeNode n
in
e.Node.Nodes){
n.Checked = e.Node.Checked;
this
.ChangeCheck(n.Nodes, e.Node.Checked);
}
//Check to see if this entire node is unchecked, then uncheck the parent
if
(e.Node.Parent !=
null
) {
//If none are checked
var checkCount = e.Node.Parent.Nodes.Count(x => x.Checked);
if
(checkCount == 0) {
e.Node.Parent.Checked =
false
;
}
else
if
(checkCount == e.Node.Parent.Nodes.Count()){
//If all are checked
e.Node.Parent.Checked =
true
;
}
}
}
private
void
ChangeCheck(RadTreeNodeCollection nodes,
bool
state){
foreach
(RadTreeNode n
in
nodes) {
n.Checked = state;
this
.ChangeCheck(n.Nodes, state);
}
}