devexpress权限树TreeView控制,模块方法总结

来公司不长不短,快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>

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

  

转载于:https://www.cnblogs.com/yuchangchuan/archive/2013/01/31/2886987.html

1.系统特点 本插件框架实现了界面与逻辑的解偶,从此告别在代码到处判断工具栏上按钮的使能,同时在不修改系统已有代码的前提下也能实现向系统增加功能即符合开放-封闭原则,避免在扩展新功能时需要大量修改已有代码,从而又引入了新的BUG,且各模块可以相对比较独立,多人同时开发,从而实现快速开发。 2.运行体验 如果你看到本文档说明你已成功下载了本插件框架的运行包和示例源码,请确保你的电脑安装了.net framework4.0,以及ACE引擎(通过OLEDB访问ACCESS数据库,一般安装了OFFICE以后即具有此引擎)。 运行步骤:(1)将压缩包解压 (2)进入OUTPUT目录,直接运行MainForm.exe文件,输入用户名:admin,密码为空,点击登录即可进入软件。 进入软件后,系统会自动打开Customers数据库信息,该界面显示Customers数据库的列表。工具栏上方还有配置、权限管理两个主要功能页面,其主要功能如下: 配置:本功能页面主要实现的功能是插件的配置,用于配置插件运行的DLL,系统的名称,插件所包含的功能按钮(在DLL可以包含多个插件,如果在配置文件没有配置,系统也不会显示出来),包括工具页面,每个工具页面可以包含多个按钮。也可以设置某个功能插件能够自动运行(即打开软件直接打开工功能,如Customers数据库即是被定义为自启动的示例),PAD面板(示例的测试面板)。 权限管理:权限管理实现了基本的权限管理包括用户管理,用户权限,角色管理,角色权限。特点在于不光能根据角色分配权限,也能对用户单独分配临时权限。 3.开发环境 要编译运行本示例源码请确保你的计算机上已安装: Visual studio 2010 .net framework4.0 DevExpress11.1.6(编译需要安装此包,运行只需要包含相关的DLL文件,已在本包包含) 解压压缩包,使用visual studio2010打开文件夹的td.Addin.sln工程文件,点击运行,即可自动编译,如果提示LC.EXE已退出错误,请再次确认你已安装了DevExpress11.1.6。 4.开发体验 任务:向系统增加一个功能:在customers的工具栏增加一个显示详情按钮,点击此按钮弹出对话框显示当前选行的信息。本示例展示如何在不修改原有代码的情况下增加功能。 步骤:1.在解决方案增加一个类库工程:EditNorthWindForm 2.向该工程增加引用:引用位于OUTPUT文件夹的NorthWind.dll td.Core.dll td.Security.dll 以及所有以DevExpress开头的文件(由于界面使用了DEV控件,所以必须引用) ,添加.NET 的文件System.Drawing System.Windows.Forms。 3.向工程增加窗口文件:EditNorthWindForm.cs,在工程上点右键,选择添加窗口,如下: 然后将窗口绘制成需要的样式,如增加TEXTBOX等。 将代码修改为: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DevExpress.XtraEditors; using td.Core; namespace NorthWind { public partial class EditNorthWindForm : DevExpress.XtraEditors.XtraForm { public EditNorthWindForm() { InitializeComponent(); CenterToScreen(); var view= WorkBenchSingleTon.WorkBench.GetTabPage("Customers"); if (view != null) { var control = view.ViewContentControl as NorthWind.NortWindControl; if (control.gridView.gridView1.GetSelectedRow
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值