`
leoizumi
  • 浏览: 93916 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Extjs 中的GridPanel学习例子三(拖放)

阅读更多

/**
 * 第一个表格拖放例子
 */
Ext.onReady(function(){

	var cm = new Ext.grid.ColumnModel([
	  {header:'编号',dataIndex:'id'},
	  {header:'名称',dataIndex:'name'},
	  {header:'描述',dataIndex:'descn'}
	]);
	
	
	var data=[
	  ['1','name1','descn1'],
	  ['2','name1','descn2'],
	  ['3','name1','descn3'],
	  ['4','name1','descn4'],
	  ['5','name1','descn5']
	];
	
	var store = new Ext.data.Store({
	  proxy:new Ext.data.MemoryProxy(data),
	  reader:new Ext.data.ArrayReader({},[
	    {name:'id'},
	    {name:'name'},
	    {name:'descn'}
	  ])
	});
	
	store.load();
	
	var grid = new Ext.grid.GridPanel({
	  renderTo:'myid',
	  store:store,
	  cm:cm,
	  width:450,
	  height:130,
	  enableDragDrop:true,//单纯使用这个熟悉的话,只是起到拖动的功能,不能拖放
	  viewConfig:{ forceFit:true }
	});
	
	var rz = new Ext.Resizable(grid.getEl(),{
	  
		wrap:true,
		minHeight:100,//限制改变的最小高度
		pinned:true,//若为true,则拖动的区域则为一直在表格的下方.效果可以自己尝试
		handles:'s'//s就是south的意思
	});
	
	rz.on('resize',grid.syncSize(),grid);
	
	//拖放的功能
	var ddrow = new Ext.dd.DropTarget(grid.container,{
	   ddGroup:'GridDD',//分组名称,API是这样解释的:如果一个组被定义好了,那么组内的对象只与相同的组的对象进行交互
	                    //于是生出的表格,里面的数据,只能在Grid里进行拖放
	   copy:false,
	   notifyDrop:function(dd,e,data){
	   
	   	  var rows = data.selections;//选择的行
	   	  var index = dd.getDragData(e).rowIndex;
	   	  if(typeof(index)=="undefined"){
	   	     return;
	   	  }
	   	  
	   	  for(var i = 0;i<rows.length;i++){
	   	     var rowData = rows[i];
	   	     if(!this.copy){
	   	        store.remove(rowData);//拖得时候.假如放的动作完成,完成从数组删除
	   	      }
	   	      store.insert(index,rowData);
	   	  }
	   
	   },
	   	notifyOut:function(dd,e,data){//当然这个界限范围也是在GridD这个组内!
            alert("越界了");
	   	}
	   
	});
	
});
 
分享到:
评论

相关推荐

    ExtJs3.1目前所有例子源代码

    这个压缩包中的源代码实例涵盖了以上所有知识点,通过查看和学习这些示例,开发者可以深入理解ExtJs 3.1的功能,并快速上手实践。对于任何想要掌握ExtJs的人来说,这是一份不可多得的学习材料。

    EXTJSEXT实例GridPanel.

    EXTJS是一个基于JavaScript的用户界面库,用于构建富客户端应用。...通过学习和实践这个例子,开发者可以快速掌握EXTJS中数据展示的核心技术。配合EXT提供的图片资源,可以帮助理解GridPanel在实际应用中的视觉效果。

    掏钱学extjs完全版

    - 组件详解:逐个解析EXTJS中的重要组件,如GridPanel、TreePanel、TabPanel等。 - 数据绑定和存储:讲解如何使用Store、Model和Proxy实现数据管理。 - 布局和样式:深入学习EXTJS的布局机制和CSS样式应用。 - 实战...

    老师整理的extjs学习笔记

    ### ExtJS 学习笔记概览 #### 一、ExtJS 入门 **1.1 ExtJS 构成及如何引用** ExtJS 是一款基于 JavaScript 的开源框架,专为 Web 应用程序的前端界面设计。其核心优势在于提供了一套丰富的 UI 组件和强大的数据...

    extjs 2.2(oozie需要的)

    在这个例子中,"extjs 2.2(oozie需要的)" 指出 ExtJS 2.2 是 Oozie 的一部分,可能用于构建其用户界面或者提供某些功能。将 `ext-2.2.zip` 解压到 `/opt/cloudera/parcels/CDH/lib/oozie/libext` 目录下,意味着这个...

    Ext经典例子整合 快速上手必看

    这些示例涵盖了EXTJS开发中常用的基本组件,通过学习和实践这些例子,开发者可以快速理解和掌握EXTJS的工作原理,进而构建出功能丰富的Web应用程序。在实际开发中,还需要了解EXTJS的MVC架构、Store与Model的数据...

    G4Studio_V3.0 Ext非常详细的例子

    除了以上主要部分,G4Studio_V3.0还包含了布局管理、拖放功能、工具栏、菜单等其他ExtJS组件的实例。这些例子有助于你全面理解和掌握ExtJS的各个角落。 总结,G4Studio_V3.0是一个深度覆盖ExtJS技术的资源宝库,...

    用钱买的ext电子书.rar

    数据网格(GridPanel)是EXTJS中的一个强大功能,书里应该会详细阐述如何设置列、排序、分页以及处理行级别的操作。 EXTJS还提供了丰富的API文档,书中可能会结合这些API讲解如何创建和定制组件。例如,如何使用...

    深入浅出Ext JS(第2版) 随书光盘提供的书中实例

    2. **数据绑定**:Ext JS支持与服务器端的数据进行双向绑定,实例中会展示如何使用Store、Model和Proxy来处理数据,以及GridPanel如何动态显示和编辑数据。 3. **表格和表单**:演示了如何创建复杂的表格系统,包括...

Global site tag (gtag.js) - Google Analytics