TreePanel(带右键菜单,节点自定义属性)

其实这个树控件也挺好用的。http://www.ztree.me/v3/main.php#_zTreeInfo

html

    <ext:Panel ID="ContentPanel" runat="server" Width="960" MinHeight="560" Height="560"  Border="false" Closable="false" Layout="BorderLayout"><Items><ext:Panel ID="PanelWest" runat="server" Region="West" Title="已配置表" Width="200" Collapsible="true" Split="true"  MinWidth="175" MaxWidth="400" Layout="CardLayout" ><Items><ext:TreePanel ID="IndexTableTree" RootVisible="false" runat="server" AutoScroll="true" Border="true"><Listeners><ItemClick Fn="LinkToDefineColumn"></ItemClick><ItemContextMenu Fn="ShowMenu" StopEvent="true" /></Listeners><Model><ext:Model ID="Model1" runat="server"><Fields><ext:ModelField Name="CODE" Type="String" /><ext:ModelField Name="BASETYPE" Type="String" /><ext:ModelField Name="SAVETYPE" Type="String" /><ext:ModelField Name="parenttablecode" Type="String" /></Fields></ext:Model></Model><SelectionModel><ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Single" /></SelectionModel></ext:TreePanel></Items><Listeners><Collapse Fn="colsett"></Collapse><Expand Fn="colsett"></Expand></Listeners></ext:Panel><ext:Panel ID="PanelCenter" runat="server" Region="Center" Flex="4" Layout="CardLayout"></ext:Panel></Items></ext:Panel><ext:Menu ID="TreeContextMenu" runat="server"><Items><ext:MenuItem ID="MenuItemAdd" runat="server" Text="添加从表" Handler="AddChildTable();" IconCls="diy_add"></ext:MenuItem><ext:MenuItem ID="MenuItemAddParent" runat="server" Text="添加主表" Handler="AddParentTable();" IconCls="diy_add"></ext:MenuItem><ext:MenuSeparator runat="server" ID="MenuSeparator1"/> <ext:MenuItem ID="MenuItemEdit" runat="server" Text="编辑表属性" Handler="EDITTable();" IconCls="diy_edit"></ext:MenuItem></Items></ext:Menu>

script

<script type="text/javascript">var ShowMenu = function (view, node, item, index, e) {SelectNode=node;var menu = <%=TreeContextMenu.ClientID %>;var id=node.get("id");var parenttablecode=node.get("parenttablecode");idflag=id;if (id=="RootPublic"||id=="RootPrivate") {return false;}var scode=node.get("S_CODE");S_CODE=scode;if (scode!="") {<%=MenuItemAdd.ClientID %>.hide();<%=MenuItemAddParent.ClientID  %>.hide();if ((parenttablecode == ""||parenttablecode == null) && (scode == "0" || scode == "1")) {<%=MenuItemAdd.ClientID %>.show();}}else {<%=MenuItemAdd.ClientID %>.hide();<%=MenuItemAddParent.ClientID  %>.show();}<%=MenuSeparator1.ClientID %>.show();<%=MenuItemEdit.ClientID %>.show();menu.showAt([e.getXY()[0], e.getXY()[1] + 10]);e.stopEvent();}
</script>

后台绑定数据源:

        private void BuildTree(){Ext.Net.Node root = new Ext.Net.Node();root.Text = "Root";IndexTableTree.Root.Add(root);List<EXTTreeNode> listALL = GetData();List<EXTTreeNode> list = GetData().FindAll(p=>p.pId=="");if (list!= null &&list.Count>0){foreach (var item in list){Ext.Net.Node node = new Ext.Net.Node();node.Text = item.name;node.NodeID = item.id;if (!string.IsNullOrWhiteSpace(noid)){string flag = "";ifMyChild(item.id, listALL, noid, ref flag);if (flag=="1"){node.Expanded = true;}}//添加自定义属性node.CustomAttributes.Add(new ConfigItem("S_CODE", item.CODE, ParameterMode.Value));node.CustomAttributes.Add(new ConfigItem("BASETYPE", item.BASETYPE, ParameterMode.Value));node.CustomAttributes.Add(new ConfigItem("SAVETYPE", item.SAVETYPE, ParameterMode.Value));node.CustomAttributes.Add(new ConfigItem("parenttablecode", item.parenttablecode, ParameterMode.Value));node.Leaf = true;//加载子节点
                    GetSubNode(node, listALL);if (node.Children.Count > 0)node.Leaf = false;root.Children.Add(node);}  }}

转载于:https://www.cnblogs.com/WangJinYang/p/3499103.html

EXT.NET 使用总结(2) ---TreePanel(带右键菜单,节点自定义属性)相关推荐

  1. VB小技巧 文本框中屏蔽系统右键菜单用自定义菜单代替自带右键菜单

    'txtList是textbox控件,pop2是自定菜单名 Private Sub txtList_MouseDown(Button As Integer, Shift As Integer, X A ...

  2. 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]

    许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单 下面我们也来实现一个自定义的右键菜单 首先来创建JSP页面 1 <%@ page language ...

  3. java 树 右键菜单_jsp代码 树上加右键菜单

    网上看到很多人不知道怎么在js代码的树上加右键菜单.我有实现的代码如下 但我就是不知道怎么灰掉不该出现的时候,如在非子节点时,不能用"增加到收藏夹"功能 Ext.ux.AddToF ...

  4. JS简单实现自定义右键菜单

    今天来讲一个关于右键菜单的小demo,抛砖引玉. 首先,我们要用css和html做一个自定义右键菜单. <!--自定义右键菜单html代码--> <div id="menu ...

  5. dataGridView右键菜单并选中该行 http://blog.csdn.net/lanmao100/archive/2009/06/25/4298529.aspx...

    dataGridView右键菜单并选中该行 程序代码: private void dataGridView1_CellMouseDown(object sender, DataGridViewCell ...

  6. html 元素允许右键,JavaScript 自定义html元素鼠标右键菜单功能

    自定义html元素鼠标右键菜单 实现思路 在触发contextmenu事件时,取消默认行为(也就是阻止浏览器显示自带的菜单),获取右键事件对象,来确定鼠标的点击位置,作为显示菜单的left和top值 ...

  7. 添加右键菜单_笔记本没有灭屏键?巧在右键菜单添加“关闭显示器”选项

    MS酋长的笔记本没有单独的关闭显示器按钮,虽然可以通过运行命令关闭显示器,但毕竟操作比较麻烦.其实我们只需编辑注册表,把关闭显示器命令添加到其中,能够在Win10桌面右键菜单中添加一个"关闭 ...

  8. JQuery模拟网页中自定义鼠标右键菜单

    题外话.......最近在开发一个网站项目的时候,需要用到网页自定义右键菜单,在网上看了各路前辈大神的操作,头晕目眩,为了达到目的,突然灵机一动,于是便有了这篇文章. 先放个效果图(沾沾自喜,大神勿喷 ...

  9. 中的 隐藏鼠标菜单_如何在鼠标右键菜单中添加自定义菜单?工效率提升一倍...

    人都是"懒"的,在使用电脑时,对于常用的操作,步骤太多用久了难免会产生烦躁的情绪,虽然系统已经自带了很多快捷方式,但还是不够用,我们通常都会把常用的东西通过快捷方式来添加到桌面,但 ...

  10. ZedGraph怎样实现将图形右键菜单的打印和页面设置合并为打印的二级子菜单

    场景 Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

最新文章

  1. 恭喜!中科大少年班放榜:2020年全国录取48人
  2. 开启Web金库:互联网业务成功之道——前言
  3. python 四舍五入保留小数输出
  4. 雷柏鼠标怎么配对接收器_四款蓝牙鼠标的详细使用体验对比
  5. DB2性能调节工作总结
  6. php+tp框架+API,【路由】利用Thinkphp路由实现API开发版本管理
  7. php中二进制函数,PHP-----函数和二进制
  8. Ajax 编程基础(一)
  9. CentOS下安装SecureCRT的sz/rz工具包
  10. 黑客已经盗了 $15,945,221.72 美元!
  11. 电子工程师名片——FAT16文件系统(转)
  12. Scala学习之Option类
  13. BUAAOO——UNIT2 SUMMARY
  14. 0903 - Firebase Analytics PK Google Analytics
  15. 分布式爬虫(一)------------------分布式爬虫概述
  16. java霸王别姬游戏_霸王别姬_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]
  17. linux ringbuffer原理,linux内核 使用内核队列实现ringbuffer(续)
  18. linux drm 写屏幕,Linux DRM Graphic 显示简单介绍
  19. DDoS deflate:自动屏蔽DDOS攻击IP
  20. 关于VM虚拟机一启动就会使电脑重启的问题

热门文章

  1. Xcode6 部署iphone4s出现的问题 No architectures to compile for
  2. 10种扼杀爱情的悲剧性格
  3. 转的一个itoa实现(效率很高,并且能够正确处理INT_MIN)
  4. RegularExpressions
  5. idea如何一个项目如何运行多个实例
  6. 三层架构(命名规则)
  7. glibc的几个有用的处理二进制位的内置函数(转)
  8. 解决:Unable to execute dex: GC overhead limit exceeded
  9. (转载)AS3中的mouseEnabled与mouseChildren
  10. Java基础笔记(十五)——封装(续)static关键字