博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ext.tree.Panel实现单选,多选
阅读量:5150 次
发布时间:2019-06-13

本文共 5772 字,大约阅读时间需要 19 分钟。

Extjs

1 var productCategoryTreeLookUpFn = function(callback) {  2     var productCategoryLookUpWindow;  3     var productCategoryTreeStore;  4     var productCategoryTreeMenu;  5       6     if (!productCategoryLookUpWindow) {  7           8         // 加载菜单树  9         productCategoryTreeStore = Ext.create('Ext.data.TreeStore', { 10             fields : ['id', 'text'], 11             proxy: { 12                 type: 'ajax', 13                 url: COMMON.APP_URL + '/view/master/selectProductCategoryForComboBoxTree.action' 14             }, 15             root: { 16                 id: '0', 17                 text : "产品分类", 18                 expanded: true 19             } 20         }); 21          22         var beforNode = null; 23         productCategoryTreeMenu = Ext.create('Ext.tree.Panel', { 24             store: productCategoryTreeStore, 25             rootVisible : false, 26             height : 300, 27             animate : true, // 开启动画效果 28             enableDD : false, // 不允许子节点拖动 29             border : false, // 没有边框 30             singleClickExpand : true, 31             listeners : { 32                 checkchange : function(node, checked, eOpts) { 33 //                    setChildChecked(node, checked); 34                     if(node.isNode){ 35                         if(beforNode != null){
//把上一次选中节点取消选择,实现单选 36 beforNode.set("checked",false); 37 } 38 beforNode = node; 39 // node.collapse(); 40 // node.cascadeBy(function(node) { 41 // node.set("checked",checked); 42 // }); 43 } 44 } 45 } 46 }); 47 48 function setChildChecked(node, checked){ 49 node.set({checked:checked}); 50 if(node.hasChildNodes()){ 51 node.eachChild(function(child) { 52 setChildChecked(child, checked); 53 }); 54 } 55 } 56 57 function setParentChecked(node, checked){ 58 node.set({checked:checked}); 59 var parentNode = node.parentNode; 60 if(parentNode != null){ 61 var flag = false; 62 parentNode.eachChild(function(child) { 63 if(child.data.checked == true){ 64 flag = true; 65 } 66 }); 67 if (checked == false) { 68 if(!flag){ 69 setParentChecked(parentNode, checked); 70 } 71 } else { 72 if(flag){ 73 setParentChecked(parentNode, checked); 74 } 75 } 76 } 77 } 78 79 productCategoryLookUpWindow = Ext.create('Ext.window.Window', { 80 title : '产品分类信息', 81 autoShow: true, 82 width : 400, 83 constrain : true, 84 constrainHeader : true, 85 maximizable : false, 86 minimizable : false, 87 resizable : false, 88 closable : false, 89 buttonAlign : 'right', 90 animateTarget: Ext.getBody(), 91 modal : true, 92 plain : true, 93 border : true, 94 closeAction : 'destroy', 95 items : [productCategoryTreeMenu], 96 buttons : [{ 97 text : '确定', 98 handler : function() { 99 var checkNodeArray = productCategoryTreeMenu.getChecked();100 var checkNodeString = '';101 var checkNodeTextString = '';102 for (var index = 0; index < checkNodeArray.length; index++) {103 checkNodeString += checkNodeArray[0].data.id;104 checkNodeTextString += checkNodeArray[0].data.qtip;105 }106 if (Ext.isFunction(callback)) {107 callback(checkNodeString, checkNodeTextString);108 }109 productCategoryLookUpWindow.destroy();110 }111 }, {112 text : '关闭',113 handler : function() {114 productCategoryLookUpWindow.destroy();115 }116 }]117 });118 119 }120 121 productCategoryLookUpWindow.show();122 123 };
View Code

 

Java

for (ProductCategoryVO dbVo : productCategoryVOList) {                JSONObject obj = new JSONObject();                obj.put("id", dbVo.getCategoryIdFull());                obj.put("text", dbVo.getCategoryName());                obj.put("qtip", dbVo.getCategoryNameFull());                obj.put("leaf", !new Boolean(dbVo.getIsExistChildNode()));                obj.put("checked", new Boolean(false));//                obj.put("isExistChildNode", new Boolean(dbVo.getIsExistChildNode()));//                obj.put("categoryId", dbVo.getCategoryId());//                obj.put("categoryName", dbVo.getCategoryName());//                obj.put("categoryIdFull", dbVo.getCategoryIdFull());//                obj.put("categoryNameFull", dbVo.getCategoryNameFull());//                obj.put("parentIdFull", dbVo.getParentIdFull());//                obj.put("parentNameFull", dbVo.getParentNameFull());//                obj.put("recordId", dbVo.getId());//                obj.put("nodeLevel", dbVo.getNodeLevel());                jsonArray.add(obj);            }
View Code

 

转载于:https://www.cnblogs.com/BobXie85/p/8269129.html

你可能感兴趣的文章
bzoj1040: [ZJOI2008]骑士
查看>>
LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty&#39;s Blocks
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
django知识点总结
查看>>
C++ STL stack、queue和vector的使用
查看>>
使用Reporting Services时遇到的小问题
查看>>
约瑟夫问题
查看>>
Arduino 报错总结
查看>>
树莓派Android Things物联网开发:树莓派GPIO引脚图
查看>>
矩阵快速幂---BestCoder Round#8 1002
查看>>
js兼容公用方法
查看>>
如何将应用完美迁移至Android P版本
查看>>