来公司不长不短,快3个月了,用 devexpress权限树TreeView控制js静态选着,我做一个笔记,方便以后复习,最主要的是循环的一个逻辑。下面是js的代码,本人刚刚学习不久,查查帮助,弄了老半天。还是实现效果。

  function onTreeView1NodeClick(s, e) {
            //得到节点的名字
            var name = e.node.name;
            var node = e.node;
            //选中全部
            if (node != null) {
            //判断节点父节点是否为空
                var pnode = node.parent;
                if (pnode === null) {
                    //if (name === "1-20") SetNodeValues(s,"1-20", 2, 7);
                    //节点的总数
                    var count = node.GetNodeCount();

                    for (var i = 0; i < count; i++) {

                        var eachnode = node.GetNode(i);
                        //循环选中子节点
                        eachnode.SetChecked(true);

                        if (node.GetChecked()) {
                            eachnode.SetChecked(true);

                        } else {
                            eachnode.SetChecked(false);
                        }
                    }
                }
                //子节点,选中父节点
                else {
                    var count = pnode.GetNodeCount();
                    var boolx = true;

                    for (var i = 0; i < count; i++) {
                        var eachnode = pnode.GetNode(i);
                        if (s.GetNodeState(eachnode) === "Unchecked") {
                            boolx = false;
                        }
                    }
                    if (boolx === true) {
                        pnode.SetChecked(true);
                        //s.SetNodeState(pnode), "Checked");
                    }
                    else {
                        pnode.SetChecked(false);
                        //s.SetNodeState(pnode), "Unchecked");
                    }
                }
            }
        }
此段为控制js的核心代码.
 1    <dx:ASPxTreeView ID="ASPxTreeView1" runat="server" AllowCheckNodes="True" ClientInstanceName="TreeView1"
 2                                                         Height="100%" Width="100%">
 3                                                         <ClientSideEvents CheckedChanged="onTreeView1NodeClick" />
 4                                                         <Nodes>
 5                                                             <dx:TreeViewNode Name="0-9" Text="系统管理">
 6      
 7                                                             </dx:TreeViewNode>
 8                                                         </Nodes>
 9                                                         <Nodes>
10                                                             <dx:TreeViewNode Name="126-130" Text="缺陷申请">
11                                                                 <Nodes>
12                                                                     <dx:TreeViewNode Name="126" Text="报废申请添加">
13                                                                     </dx:TreeViewNode>
14                                                                     <dx:TreeViewNode Name="127" Text="报废申请删除">
15                                                                     </dx:TreeViewNode>
16                                                                     <dx:TreeViewNode Name="128" Text="报废申请详细">
17                                                                     </dx:TreeViewNode>
18                                                                     <dx:TreeViewNode Name="129" Text="报废审核">
19                                                                     </dx:TreeViewNode>
20                                                                 </Nodes>
21                                                             </dx:TreeViewNode>
22                                                         </Nodes>
23                                                         <Nodes>
24                                                             <dx:TreeViewNode Name="131-135" Text="购置申请">
25                                                                 <Nodes>
26                                                                     <dx:TreeViewNode Name="131" Text="报废申请添加">
27                                                                     </dx:TreeViewNode>
28                                                                     <dx:TreeViewNode Name="132" Text="报废申请删除">
29                                                                     </dx:TreeViewNode>
30                                                                     <dx:TreeViewNode Name="133" Text="报废申请详细">
31                                                                     </dx:TreeViewNode>
32                                                                     <dx:TreeViewNode Name="134" Text="报废审核">
33                                                                     </dx:TreeViewNode>
34                                                                 </Nodes>
35                                                             </dx:TreeViewNode>
36                                                         </Nodes>
37                                                     </dx:ASPxTreeView>

页面树是静态的,觉得足够,用字段控制权限的显示和隐藏,在每个页面加载的时候做 字段的判断。需要写一个公共的类,和通用的权限方法。

  

posted on 2013-01-31 14:31  小-King  阅读(2219)  评论(0编辑  收藏  举报