`

extjs4.0----Grid To Grid拖拽示例

    博客分类:
  • EXT
 
阅读更多
<script type="text/javascript">
	
	Ext.require([
	    'Ext.grid.*',
	    'Ext.data.*',
	    'Ext.dd.*'
	]);
	
	Ext.define('DataObject', {
	    extend: 'Ext.data.Model',
	    fields: ['name', 'column1', 'column2']
	});
	
	Ext.onReady(function(){
	
	    var myData = [
	        { name : "娜姐", column1 : "25", column2 : "3" },
	        { name : "船长", column1 : "24", column2 : "2" },
	        { name : "傻妞", column1 : "23", column2 : "3" },
	        { name : "阿呆", column1 : "25", column2 : "3" },
	        { name : "猫猫", column1 : "24", column2 : "3" }
	    ];
	
	    // create the data store
	    var firstGridStore = Ext.create('Ext.data.Store', {
	        model: 'DataObject',
	        data: myData
	    });
	
	
	    // Column Model shortcut array
	    var columns = [
	        {text: "姓名", flex: 1, sortable: true, dataIndex: 'name'},
	        {text: "年龄", width: 70, sortable: true, dataIndex: 'column1'},
	        {text: "水龄", width: 70, sortable: true, dataIndex: 'column2'}
	    ];
	
	    // declare the source Grid
	    var firstGrid = Ext.create('Ext.grid.Panel', {
	        multiSelect: true,
	        viewConfig: {
	            plugins: {
	                ptype: 'gridviewdragdrop',
	                dragGroup: 'firstGridDDGroup',
	                dropGroup: 'secondGridDDGroup'
	            },
	            listeners: {
	                drop: function(node, data, dropRec, dropPosition) {
	                    var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
	                    //Ext.example.msg("Drag from right to left", 'Dropped ' + data.records[0].get('name') + dropOn);
	                }
	            }
	        },
	        store            : firstGridStore,
	        columns          : columns,
	        stripeRows       : true,
	        title            : '待选',
	        margins          : '0 2 0 0'
	    });
	
	    var secondGridStore = Ext.create('Ext.data.Store', {
	        model: 'DataObject'
	    });
	
	    // create the destination Grid
	    var secondGrid = Ext.create('Ext.grid.Panel', {
	        viewConfig: {
	            plugins: {
	                ptype: 'gridviewdragdrop',
	                dragGroup: 'secondGridDDGroup',
	                dropGroup: 'firstGridDDGroup'
	            },
	            listeners: {
	                drop: function(node, data, dropRec, dropPosition) {
	                    var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
	                    //Ext.example.msg("Drag from left to right", 'Dropped ' + data.records[0].get('name') + dropOn);
	                }
	            }
	        },
	        store            : secondGridStore,
	        columns          : columns,
	        stripeRows       : true,
	        title            : '已选',
	        margins          : '0 0 0 3'
	    });
	
	    //Simple 'border layout' panel to house both grids
	    var displayPanel = Ext.create('Ext.Panel', {
	        width        : 650,
	        height       : 300,
	        layout       : {
	            type: 'hbox',
	            align: 'stretch',
	            padding: 5
	        },
	        renderTo: Ext.getBody(),
	        defaults     : { flex : 1 }, //auto stretch
	        items        : [
	            firstGrid,
	            secondGrid
	        ],
	        dockedItems: {
	            xtype: 'toolbar',
	            dock: 'bottom',
	            items: ['->', // Fill
	            {
	                text: '全选',
	                handler: function(){
	                    firstGridStore.removeAll();
	                    secondGridStore.loadData(myData);
	
	                }
	            },{
	                text: '取消',
	                handler: function(){
	                    firstGridStore.loadData(myData);
	                    secondGridStore.removeAll();
	                }
	            }]
	        }
	    });
	});

    </script>
  • 大小: 25.5 KB
分享到:
评论

相关推荐

    Extjs4.0视频教程和源代码,另附文档翻译

    ### Extjs4.0概述与Hello World程序 #### 第一讲: Extjs4.0概述与Hello World程序 - **Extjs4.0简介**:Extjs是一款基于JavaScript的前端框架,它提供了一系列丰富的UI组件,支持桌面级应用程序的开发。Extjs4.0...

    extjs4.0文档

    - **示例代码**:提供大量的示例代码,帮助开发者快速理解组件的使用方式。 - **API文档**:对Ext JS框架内所有类和方法的详细API文档。 除了官方文档,还有很多在线教程、视频课程和书籍可以参考学习,Ext JS社区...

    前端开发Extjs入门-tree

    在这个示例中,当用户在Tree或Grid上进行操作时,如点击节点,前端会向后台发送请求,后台根据请求内容查询数据库并返回数据,前端再根据返回的JSON数据更新视图状态。 6. **角色权限(rolePermission)**: 在...

    EXTJS-with-Data-grid:这是一个示例项目

    在本项目"EXTJS-with-Data-grid"中,我们主要关注的是如何利用 EXTJS 的 Data Grid 组件来创建功能丰富的数据展示和管理界面。Data Grid 是 EXTJS 中的核心组件之一,它能够高效地呈现大量数据,并提供了各种操作和...

    Ext.grid.GridPanel属性祥解

    `Ext.grid.GridPanel`是ExtJS中用于展示表格数据的核心组件之一。它提供了丰富的配置选项和方法来帮助开发者灵活地控制表格的表现形式及功能。对于初学者或者希望深入理解`GridPanel`特性的Web开发人员来说,掌握其...

    extjs editgrid示例代码

    在本示例代码中,我们将探讨如何利用ExtJS EditGrid创建一个可编辑的数据表格,包括其基本配置、列定义、事件处理以及数据操作。 1. **基本配置**:首先,我们需要引入ExtJS库,并创建一个新的EditGrid实例。这通常...

    Extjs学习教程

    ### Extjs学习教程知识点概述 #### 一、ExtJS简介 - **定义**: ExtJS是一个高级的JavaScript库,专门用于构建交互式Web应用程序。它利用AJAX技术来增强用户界面的功能性和美观度,使得Web应用能够像桌面应用一样...

    ExtJS介绍以及GridPanel

    最后,作为工具,ExtJS提供了丰富的文档、示例和API参考,方便开发者快速上手和解决问题。此外,社区也提供了大量的插件和扩展,进一步增强了ExtJS的功能和适用性。 总之,ExtJS是一个功能强大的JavaScript框架,...

    Extjs4实现两个GridPanel之间数据拖拽功能具体方法

    在ExtJS 4中实现两个GridPanel间的数据拖拽功能涉及到了ExtJS框架提供的丰富的组件和插件支持。拖拽功能让用户可以通过交互式地拖动界面元素来执行操作,如移动或复制数据项等。这里的主要知识点是使用ExtJS提供的...

    Extjs & Ext.net中的一些属性

    在深入探讨Extjs与Ext.net中的属性之前,我们先简要了解一下这两个框架。Extjs是一个用JavaScript编写的开源前端框架,用于构建复杂的企业级Web应用,而Ext.net则是Extjs的.NET版本,它为.NET开发者提供了与Extjs...

    Extjs学习带注释

    - **Grid 视图**:掌握 Grid 视图的配置和使用方法,包括滚动条和拖拽等交互特性。 #### 二十一、GridPanel 分页 - **JSON-LIB**:介绍 JSON-LIB 的作用,它常用于处理 JSON 数据。 - **分页工具栏**:了解如何在 ...

    ExtJS帮助文档

    解压下载的文件后,可以在`example`文件夹中找到许多示例代码,这些示例非常适合初学者进行学习和探索。 #### Element:Ext的核心 在ExtJS中,`Element`是一个非常重要的概念。它为DOM节点提供了一层封装,使得...

    extjs学习案例, 例子有 panel ,widow,tree,grid,form, store……

    它提供了一整套组件化的用户界面元素,包括Panel、Window、Tree、Grid、Form和Store等,这些都是ExtJS的核心组件。本文将详细讲解这些知识点,帮助无论是初学者还是有一定基础的学习者提升在ExtJS开发中的技能。 ...

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

    在这个压缩包中,包含了ExtJs 3.1的所有示例源代码,这对于初学者和有经验的开发者来说都是宝贵的资源。 1. **基本组件与布局** - **组件(Components)**:ExtJs中的组件包括按钮、面板、表单、树、网格等,它们...

    Extjs 表格

    ExtJS表格支持多种交互功能,如行选择、排序、分页、列拖动等。例如,通过`selModel`配置项可以启用行选择模式。 8. **在线可编辑表格** `在线可编辑表格.htm`可能是演示如何创建一个可编辑的表格的例子,用户...

    EXTJS源码分析与开发实例宝典-开发的效果图.rar

    EXTJS的核心特点包括数据绑定、布局管理、可拖拽功能、强大的表格和图表组件等。在《EXTJS源码分析与开发实例宝典》这本书中,读者可以深入理解EXTJS的内部机制,学习如何利用EXTJS进行高效开发。 标题"EXTJS源码...

Global site tag (gtag.js) - Google Analytics