buildUnitTree=function(){ //定义根节点的Loader // var treeloader=new Tree.TreeLoader({dataUrl:'unit.do?m=unitTree'}); //异步加载根节点 var rootnode=new Ext.tree.AsyncTreeNode({ id:'', text:'目录树根节点', expandable :true }); var treepanel = new Ext.tree.TreePanel({ //renderTo:"tree_div",//如果使用renderTo,则不能使用setRootNode()方法,需要在TreePanel中设置root属性。 el:'unit_tree', //填充区域 rootVisible:true, //隐藏根节点 border:true, //边框 animate:false, //动画效果 autoScroll:true, //自动滚动 enableDD:false, //拖拽节点 checkModel: 'cascade', //对树的级联多选 onlyLeafCheckable: false,//对树所有结点都可选 containerScroll:true, rootVisible : false, root: rootnode, loader: new Ext.tree.TreeLoader({ dataUrl:"unit.do?m=unitTree", baseAttrs: { uiProvider: Ext.tree.TreeCheckNodeUI } }) }); //设置根节点 // treepanel.setRootNode(rootnode); //响应事件,传递node参数 treepanel.on('beforeload', function(node){ treepanel.loader.dataUrl='unit.do?m=unitTree&parentId='+node.id; //定义子节点的Loader }); treepanel.on('beforeexpandnode',function(node){//展开时在gird加载对应的数据数据 buildUnitGrid(node.id); }); treepanel.on('beforecollapsenode',function(node){//当点击收起来的时候在grid加载上一层的数据 buildUnitGrid(node.parentNode.id); }); treepanel.on("check",function(node,checked){alert(node.text+" = "+checked)}); //注册"check"事件 treepanel.on('checkchange', function(node, checked) { //Ext.MessageBox.alert(buildUnitGrid(node.id)); node.expand(); node.attributes.checked = checked; node.eachChild(function(child) { child.ui.toggleCheck(checked); child.attributes.checked = checked; child.fireEvent('checkchange', child, checked); }); }); treepanel.on('click',function(node){//单击树的一个节点 grid显示该节点的单位信息 gridPanel.store.proxy=new Ext.data.HttpProxy({url:"unit.do?m=viewUnit&id="+node.id}); gridPanel.store.load(); gridPanel.render(); }); treepanel.render(); treepanel.getRootNode().expand(); } var gridPanel; buildUnitGrid=function(parentId){ var cbsm=new Ext.grid.CheckboxSelectionModel({dataIndex:"id"});//定义复选框 var store=new Ext.data.Store({ proxy:new Ext.data.HttpProxy({url:"unit.do?m=unitList&parentId="+(parentId==undefined?null:parentId)}), reader:new Ext.data.JsonReader({totalProperty:"totalPorperty",root:"root"}, ["id", "name", "address", "phone", {name : 'createDate', type : 'date', mapping : 'createDate.time', dateFormat : 'time' } , "comm"]) });//定义数据源 store.load();//加载数据 var colm=new Ext.grid.ColumnModel([//定义列 new Ext.grid.RowNumberer(), cbsm, { id:'id',header: "id", sortable: true, dataIndex: 'id',hidden:true}, {header:"单位名",sortable:false,dataIndex:"name"}, {header: "单位地址",sortable: false, dataIndex: 'address'}, {header: "单位电话",sortable: false, dataIndex: 'phone'}, {header: "创建时间", sortable: true, dataIndex: 'createDate',renderer:Ext.util.Format.dateRenderer('Y年m月d日')}, {header: "备注", sortable:false, renderer: Ext.util.Format.ellipsis(".",30), dataIndex: 'comm'}, {header:"操作",dataIndex:'id',renderer:operation} ]); // var pageBar=new Ext.PagingToolbar({ //定义分页条 // pageSize: 10, // store: store, // displayInfo: true, // displayMsg: '第{0} 到 {1} 条数据 共{2}条', // emptyMsg: "没有数据" // }); gridPanel=new Ext.grid.GridPanel({ store:store, cm:colm, sm:cbsm, width:'60%', autoHeight:true, // bbar:pageBar, // frame:false, title:'单位列表', // iconCls:'icon-grid', autoHeight: true, el: "unit_grid" }); gridPanel.render(); } function operation(value){ var _context='<a onclick="updateUnit('+value+')" style="text-decoration: underline">修改</a> '; _context+='<a onclick="deleteUnit('+value+')" style="text-decoration: underline">删除</a>'; return _context; }
详细解决方案
ext js tree grid 通讯
热度:746 发布时间:2012-11-23 00:03:43.0
相关解决方案
- Extjs grid 失去选中行的列数据
- Ext.grid.rowexpander 默许展开
- Ext.ux.grid.RowEditor 的使用出现有关问题 。 求大神指点
- 小女子请教一个 Ext.ux.grid.RowEditor的有关问题
- extjs grid 怎么实现 行选中变色
- DevExpress.XtraGrid.Views.Grid.GridView 怎么自增新行
- grid ++ report异常
- Grid++Report 显示有关问题
- 有关MVC3中用到Html.Telerik().Grid()的绑定有关问题, 急
- 哪位高手用过jquery easy ui 的checkbox tree 啊请问一下
- ComponentArt:Grid 单击第二页时 报the data could not be loaded,该如何处理
- easyui grid 关于最后一条记录,该怎么解决
- 关于dv grid 的有关问题
- Ext Js 4 为什么一直出现 grid.getSelectionModel()没有定义。该如何解决
- grid++report Web插件有破解版本吗?解决思路
- asp.net tree view 空件在那下载?解决思路
- 关于 XML 和 javascript 在 asp.net页面显示 tree 的有关问题
- 寻好用的 Grid 控件。For Asp.net,该如何解决
- 梅花雪的 tree 控件有没有带 checkbox 功能的版本?大名鼎鼎的梅花雪为什么不弄一个这个版本的呢!现在都让ms 的tree 把小弟我们折磨死了
- vpf9.0 grid 中text的怪有关问题
- GRID 修改即显示的有关问题
- vfp grid 会粘贴excel 内容吗
- ~help grid sql text显示 插入
- grid 显示10列,要在第二列插一列,就得把剩上所有列号加一,有无简单办法
- grid 怎么列宽固定,不可拖拽
- Grid 中加入复选框后的奇怪有关问题
- 在表单上点击按钮生成表内数据后能同时更新到表格(grid)不,该怎么处理
- grid 列只读解决方案
- grid 当前记录行 反色显示 总弄不成?解决方法
- grid checkbox 获取checkbox值,该怎么处理