`

Ext TreeGrid 点滴

    博客分类:
  • Ext
阅读更多
关于Ext  TreeGrid 的的随笔 在store的数据集上一定要加上这个事件

st 代表数据集
rc 代表记录集

	
	store.on('beforeexpandnode',function(st,rc){
     	
     	level = rc.get('_level');
     	lft = rc.get('_lft');
     	rgt = rc.get('_rgt');
     	url = 'Taskaction_gridtreedata.action?taskid='+taskid+'&tableid='+tableid+'&tasktimeid='+tasktimeid+'&unitid='+unitid+'&level='+level+'&l='+lft+'&r='+rgt;
   		store.proxy.conn.url = url
     });
分享到:
评论
1 楼 peter2009 2009-11-07  
Ext.BLANK_IMAGE_URL = "/apollo/ext/resources/images/default/s.gif";
Ext.QuickTips.init();   //如果想使用tip的话一定要加这一句
Controller = function()
{
	function createGrid()
	{
		
	//以下是一些测试数据没什么用
    var data = [
//    	{O1_0:1,UNITID:'1000000009',DWMC:'卫生部2',_id:1,_parent:null,BBLX:'9',_is_leaf:false,_level:1,_lft:29,_rgt:99999970},
//		{O1_0:3,UNITID:'1010000009',DWMC:'医科院机关',_id:2,_parent:1,BBLX:'9',_is_leaf:false,_level:2,_lft:30,_rgt:99999969},
//		{O1_0:2,UNITID:'1010000001',DWMC:'辽宁医科院机关',_id:3,_parent:2,BBLX:'9',_is_leaf:true,_level:3,_lft:31,_rgt:99999968},
//		{O1_0:4,UNITID:'1010000001',DWMC:'河北中医科院',_id:4,_parent:1,BBLX:'9',_is_leaf:false,_level:2,_lft:32,_rgt:99999967}
		{UNITID:'1000000009',DWMC:'卫生部',_id:1000000001,_parent:null,SJDM:null,BBLX:'9',_is_leaf:false,_level:1,_lft:1,_rgt:99999999},
		{UNITID:'1010000009',DWMC:'医科院机关',_id:1010000001,_parent:1000000001,SJDM:'100000000',BBLX:'9',_is_leaf:false,_level:2,_lft:2,_rgt:10},
		{UNITID:'1020000000',DWMC:'北大第一医院',_id:1020000002,_parent:1000000001,SJDM:'100000000',BBLX:'0',_is_leaf:true,_level:2,_lft:11,_rgt:20},
		{UNITID:'1020000000',DWMC:'北大第一医院',_id:1020000003,_parent:1000000001,SJDM:'100000000',BBLX:'0',_is_leaf:true,_level:2,_lft:21,_rgt:30},
		{UNITID:'1020000000',DWMC:'北大第一医院',_id:1020000004,_parent:1000000001,SJDM:'100000000',BBLX:'0',_is_leaf:true,_level:2,_lft:31,_rgt:40},
		{UNITID:'1160000009',DWMC:'中国疾病预防控制中心(CDC)京内',_id:1160000005,_parent:1000000001,SJDM:'100000000',BBLX:'9',_is_leaf:false,_level:2,_lft:41,_rgt:50},
		{UNITID:'1170000009',DWMC:'卫生部国际交流中心',_id:1170000007,_parent:1000000001,SJDM:'100000000',BBLX:'9',_is_leaf:true,_level:2,_lft:51,_rgt:99999998},
		{UNITID:'1160000000',DWMC:'中国疾病预防控制中心本部',_id:1160000001,_parent:1160000005,SJDM:'116000000',BBLX:'0',_is_leaf:true,_level:3,_lft:42,_rgt:49},
		{UNITID:'1010000000',DWMC:'医科院机关本部',_id:1010000003,_parent:1010000001,SJDM:'101000000',BBLX:'0',_is_leaf:true,_level:3,_lft:3,_rgt:5},
		{UNITID:'1010100000',DWMC:'医科院基础医学研究所',_id:1010100002,_parent:1010000001,SJDM:'101000000',BBLX:'0',_is_leaf:true,_level:3,_lft:6,_rgt:9}
	];
    //*******测试数据结束******/
    // add in some dummy descriptions and loaded flag
		for (var i = 0; i < data.length; i++) {
    	data[i].desc = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna.<br/><br/>Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit.';
    	data[i]._is_loaded = true;
		}
		
		var expander = new Ext.grid.RowExpander({
      tpl : new Ext.Template(
          '<p><b>Company:</b> </p><br>',
          '<p><b>Summary:</b> {DWMC}</p>'
      )
    });

    //测试列
    var re = [
		{name:'DWDM'},
    	{name: 'UNITID'},
    	{name:'DWMC'},
   		{name:'A1_0'},
   		{name:'B1_0'},
   		{name:'C1_0'},
   		{name:'D1_0'},
   		{name:'E1_0'},
   		{name:'F1_0'},
   		{name:'G1_0'},
   		{name:'H1_0'},
   		{name:'I1_0'},
   		{name:'J1_0'},
   		{name:'K1_0'},
   		{name:'L1_0'},
   		{name:'M1_0'},
   		{name:'N1_0'},
   		{name:'O1_0'},
   		{name: '_id', type: 'int'},
     	{name: '_level', type: 'int'},
     	{name: '_lft', type: 'int'},
     	{name: '_rgt', type: 'int'},
     	{name: '_is_leaf', type: 'bool'}
   	];
    
    // create the data store
    var record = Ext.data.Record.create(jsreader);
   	var level = '';
   	var lft = '';
   	var rgt = '';
   	var url = 'Taskaction_gridtreedata.action?taskid='+taskid+'&tableid='+tableid+'&tasktimeid='+tasktimeid+'&unitid='+unitid+'&level='+level;
    var store = new Ext.ux.maximgb.treegrid.NestedSetStore({
    	autoLoad : true,
    	url:'Taskaction_gridtreedata.action?taskid='+taskid+'&tableid='+tableid+'&tasktimeid='+tasktimeid+'&unitid='+unitid+'&level='+level,
		reader:new Ext.data.JsonReader({id: '_id',root: 'data',totalProperty: 'total',successProperty: 'success'}, record)
	//注释本地测试
//		reader: new Ext.data.JsonReader({id: '_id'}, record),
//			proxy: new Ext.data.MemoryProxy(data)
	});
	//需要加上 这样一个事件才行
	store.on('beforeexpandnode',function(st,rc){
     	
     	level = rc.get('_level');
     	lft = rc.get('_lft');
     	rgt = rc.get('_rgt');
     	url = 'Taskaction_gridtreedata.action?taskid='+taskid+'&tableid='+tableid+'&tasktimeid='+tasktimeid+'&unitid='+unitid+'&level='+level+'&l='+lft+'&r='+rgt;
   		store.proxy.conn.url = url
     });
     
     
    
    // create the Grid
    var grid = new Ext.ux.maximgb.treegrid.GridPanel({
      store: store,
      master_column_id : 'UNITNAME',
      columns: cm,
      stripeRows: true,
      //autoExpandColumn: 'UNITNAME',
      title: tabletitle+'数据一览',
      root_title: '具体单位', 
      plugins: expander,
      viewConfig : {
      	enableRowBody : true
      }
    });
    
    grid.on('onClick',function(e){
    
    	alert('a');
    });
    
    
    
    var vp = new Ext.Viewport({
    	layout : 'fit',
    	items : grid
    });
    grid.getSelectionModel().selectFirstRow();
	}
	
	/*这个方法由于文字太多了 在单元格里显示不下
	  Ext 默认显示为”aaaaa..“想设置一个 tip 让tip显示全部的内容*/
	function renderFriends(val, meta, rec, rowIdx, colIdx, ds) {
 		 return '<div ext:qtitle="' + val + '" ext:qtip="' + ' ' + '">' + val + '</div>';
	}
	// example of custom renderer function
  function change(val)
  {
    if (val > 0) {
      val = '<span style="color:green;">' + val + '</span>';
    } 
    else if(val < 0) {
			val = '<span style="color:red;">' + val + '</span>';
    }
    return val;
  }

  // example of custom renderer function
  function pctChange(val)
  {
    if (val > 0) {
      val = '<span style="color:green;">' + val + '%</span>';
    } 
    else if(val < 0) {
      val = '<span style="color:red;">' + val + '%</span>';
    }
    return val;
  }

	return {
		init : function()
		{
			createGrid();
		}
	}
}();

Ext.onReady(Controller.init);

相关推荐

    ext TreeGrid分页可编辑

    ### 关于Ext TreeGrid分页与可编辑功能的实现 #### 一、背景与目标 在Web应用开发中,特别是涉及到复杂数据展示的应用场景中,`Ext TreeGrid`是一种非常实用且灵活的数据展示组件,它结合了树形结构与表格的形式来...

    ext treegrid

    Ext TreeGrid是一款在Ext JS框架下开发的组件,它结合了Tree和Grid的优点,提供了一种既能展示层次结构数据又能进行表格样式的显示和操作的视图。在Ext JS库中,Tree通常用于展现层级关系的数据,而Grid则用于显示二...

    Ext.ux.tree.treegrid异步加载

    ### Ext.ux.tree.TreeGrid 异步加载知识点详解 #### 一、Ext.ux.tree.TreeGrid简介 在ExtJS框架中,`Ext.ux.tree.TreeGrid`组件是一种结合了树形结构与表格显示特性的控件,适用于展示具有层级关系的数据。通过...

    ext 可编辑treegrid组件

    在EXT框架中,TreeGrid是一个结合了树形结构和数据网格的组件,它允许用户同时展示层次化的数据和表格数据。"可编辑TreeGrid组件"则是EXT库的一个扩展,提供了在树形网格中直接编辑单元格的能力,极大地提升了用户在...

    很实用的treegrid

    TreeGrid是一种特殊的表格展示形式,它结合了树形结构和表格数据的优点,使得在单一的视图中可以同时展示层次关系和多列数据。在Web开发中,TreeGrid常用于组织和显示具有层级关系的数据,如目录结构、组织架构、...

    Ext 3.2的一个TreeGrid

    感谢 Ericzhen 远离颠倒梦想,蕴籍无上清凉 这里引用它的资源 仅作分享 http://www.cnblogs.com/Ericzhen/archive/2012/06/11/2545186.html

    Ext3_TreeGrid:Ext树状表格

    Ext3_TreeGrid是基于JavaScript库Ext JS 3.x版本的一个组件,它将传统的表格(Grid)与树形结构(Tree)结合在一起,提供了一种既能够展示层次数据,又可以进行表格操作的功能强大的控件。在Ext JS框架中,Tree和...

    EXT树表分页(SERVLET)

    1. **EXT TreeGrid组件**:EXT TreeGrid结合了Tree和Grid的优点,可以显示具有层级关系的数据,并支持排序、筛选和分页等功能。配置TreeGrid需要定义列模型(ColumnModel)、树模型(TreeModel)以及数据源(Store)...

    EXT Asp.net MVC TreeGrid可运行实例

    说明:treegrid中数据的关系: RoleType表: RoleTyptID RoleTypeName 1 系统管理 2 管理员 Role表: RoleID RoleTypeID RoleName RoleCode 1 1 系统管理员 AAA 2 2 数据库管理员 BBB 3 2 权限管理员 CCC...

    基于ext很不错的TreeGridEditor树表格

    这个“基于ext很不错的TreeGridEditor树表格”显然是一款基于ExtJS的扩展,用于创建具有树结构和表格功能的组件。 TreeGridEditor 是一个结合了树形视图和表格数据展示的组件,它允许用户以树状结构浏览数据,同时...

    treegrid.zip_treeGrid wpf_treegrid_treegrid wpf c#_wpf 树状表格_wpf树

    在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)中实现树形表格,即TreeGrid。TreeGrid是WPF中的一个高级控件,它结合了树视图(TreeView)和数据网格(DataGrid)的功能,使得我们可以展示...

    Extjs treeGrid 本地数据 例子

    在ExtJS中,TreeGrid是通过`Ext.tree.Panel`类实现的,它继承自`Ext.grid.Panel`,增加了树形结构的功能。 在本地数据的例子中,我们通常会用到`Ext.data.TreeStore`来存储和管理数据。TreeStore是ExtJS中的一个...

    Extjs4 Treegrid 使用心得分享(经验篇)

    Extjs4 Treegrid是基于Ext JS框架的一个模块,用于创建树形结构的数据网格。Ext JS是一个成熟的、基于JavaScript的前端框架,它提供了一套丰富的UI组件,用来创建丰富的交互式应用程序。Treegrid结合了树形视图和...

    ExtJs4.1 treegrid CRUD 读取、新增、修改、删除

    实现treegrid组件的(CRUD)读取、新增、修改、删除 //设置grid单元格处于编辑状态 selcell:function(arow,acol){ this.editingPlugin.startEditByPosition({row:arow,column:acol}); }, selcell2:function(node,...

    基于layui的树表格-treeGrid

    layui提供了一系列丰富的组件,其中“树表格”(TreeGrid)是结合了表格和树形结构的一种特殊展示形式,常用于数据层级关系的展示。本篇文章将深入探讨基于layui的树表格-treeGrid的实现原理、使用方法以及相关的...

    extjs4 treeGrid实例

    在ExtJS4中,TreeGrid主要由`Ext.tree.Panel`类定义,它扩展了`Ext.grid.Panel`,因此具备了表格的所有功能,同时也包含了树结构的特性。 创建一个TreeGrid的第一步是定义模型(Model)。模型定义了数据的字段及其...

    treegrid_barku4k_treegrid_jqueryajax_

    TreeGrid是一种将表格数据以树形结构展示的前端组件,常用于管理层次关系的数据,如组织结构、文件系统等。在本案例中,“treegrid_barku4k_treegrid_jqueryajax_”是一个基于jQuery的TreeGrid实现,主要用于个人...

    boostrapTable Treegrid树表格

    在本文中,我们将深入探讨BootstrapTable Treegrid的使用、功能特性以及如何在实际项目中应用。 BootstrapTable本身是一个轻量级的前端组件,它提供了一种灵活的方式来展示数据,并支持排序、搜索、分页等功能。而...

    treeGrid目录拖动到formPanel

    在`treeGrid`中实现拖放功能,需要集成`Ext.dd.DragSource`和`Ext.dd.DropTarget`类。`DragSource`负责处理拖动行为的开始和结束,而`DropTarget`定义了可以接受拖动元素的目标区域。在本例中,我们需要配置`...

    TreeGrid.js 表格树插件

    TreeGrid.js是一款强大的基于jQuery的表格树插件,它为数据展示提供了一种灵活且具有层次结构的方式。这款插件允许用户将数据以表格的形式展现,并且每行数据可以展开成一个子节点,形成树状结构,使得复杂的数据...

Global site tag (gtag.js) - Google Analytics