This is a migrated thread and some comments may be shown as answers.

Node Check Event d'ont work after click button

3 Answers 101 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
EssMus
Top achievements
Rank 1
EssMus asked on 13 Apr 2015, 03:22 PM

hi,

in first pic i have tree view wich it bind from DB and i have button i have some instruction in envent nodecheck before i click button the event work after clicking and binding gridview the instruction in nodecheck  dosen't work i dont know plz help 

3 Answers, 1 is accepted

Sort by
0
Ivan Danchev
Telerik team
answered on 14 Apr 2015, 02:19 PM
Hello,

Could you please provide more details on your scenario, because we don't have access to your code? It would be helpful if you can post your code and describe what are you trying to achieve and chain of actions that lead to the issue so we can try to find a solution.

Regards,
Ivan Danchev
Telerik
 

See What's Next in App Development. Register for TelerikNEXT.

 
0
Sunil
Top achievements
Rank 1
answered on 16 Apr 2015, 01:57 PM

can  you seen the scenario that when all the child nodes in Radtree are checked then parent node node get gets checked  automatically 

 could you find on thizz solution by using cilent side scripting 

 

0
Ivan Danchev
Telerik team
answered on 20 Apr 2015, 02:54 PM
Hello,

Please, review and try the code in code snippet below and let us know if you still have the issue. Using the OnClientNodeChecked event handler we combine the following functionality: when all child nodes are checked it checks their parent node; when one of the child node is unchecked it unchecks their parent node; when a parent node is checked/unchecked it checks/unchecks its child nodes:
<telerik:RadTreeView runat="Server" ID="RadTreeView1" CheckBoxes="True" OnClientNodeChecked="clientNodeChecked">

function UpdateAllChildren(nodes, checked) {
    var i;
    var test;
    for (i = 0; i < nodes.get_count() ; i++) {
        if (checked) {
            nodes.getNode(i).check();
        }
        else {
            nodes.getNode(i).set_checked(false);
        }
 
        if (nodes.getNode(i).get_nodes().get_count() > 0) {
            UpdateAllChildren(nodes.getNode(i).get_nodes(), checked);
        }
    }
}
 
function clientNodeChecked(sender, eventArgs) {
 
    var childNodes = eventArgs.get_node().get_nodes();
    var isChecked = eventArgs.get_node().get_checked();
    UpdateAllChildren(childNodes, isChecked);
 
    var node = eventArgs.get_node();
    if (!node.get_checked()) {
        while (node.get_parent().set_checked != null) {
            node.get_parent().set_checked(false);
            node = node.get_parent();
        }
    }
    else {
        var parent = node.get_parent();
        var count = parent.get_nodes().get_count();
 
        var allChildChecked = false;
        for (i = 0; i < count ; i++) {
            if (!parent.get_nodes().getNode(i).get_checked()) {
                allChildChecked = false;
                return;
            }
            else {
                allChildChecked = true;
            }
        }
        if (allChildChecked) {
            parent.set_checked(true);
        }
    }
}

Regards,
Ivan Danchev
Telerik
 

See What's Next in App Development. Register for TelerikNEXT.

 
Tags
TreeView
Asked by
EssMus
Top achievements
Rank 1
Answers by
Ivan Danchev
Telerik team
Sunil
Top achievements
Rank 1
Share this question
or