ExtJS中DragDrop插件的一些使用实例

DragDrop这个插件为GridView提供了拖放功能,另外一个插件TreeViewDragDrop为TreeView提供拖拽功能,这里主要是对DragDrop插件的使用做一些说明。

使用这个插件源于目前在做的一个项目:需求方要求新增一个可以在页面上通过拖拽对数据进行排序的功能,因之前数据需要用户手动输入一个序号来完成数据的排序。

目前官方文档中对该插件的使用,有在两个列表页之间拖拽数据和对列表页某一单元格中的数据的拖拽的实例。没有在同一列表页中拖拽一行数据的实例。

直接代码:

Ext.onReady(function(){

Ext.create(‘Ext.data.Store‘,{

storeId : ‘simpsonsStore‘,

fields : [‘num‘,‘name‘],

data : [[1,‘张三‘],[2,‘李四‘],[3,‘王五‘],[4,‘赵六‘]],

proxy : {

type : ‘memory‘,

reader : ‘array‘

}

});

var gridpanel = Ext.create(‘Ext.grid.Panel‘,{

id : ‘gridpanel‘,

store : ‘simpsonsStore‘,

forceFit : true,

columns : [{

width : 40,

dataIndex : ‘num‘,

header : ‘序号‘

},{

header : ‘姓名‘,

dataIndex : ‘name‘,

renderer : function(value,meta,record){

return value;

}

}],

viewConfig : {

plugins : {

ptype : ‘gridviewdragdrop‘,

dragText :‘拖拽完成排序‘

}

},

heigth : 200,

width : 400,

renderTo : Ext.getBody()

});

gridpanel.getView().on(‘drop‘, function(){

var store = gridpanel.store;

for(var i = 0; i<store.totalCount; ){

store.getAt(i).set("num", ++i);

}

});

});

注:代码参考网上示例修改

图片1

图片2

图片3

当然,完成拖拽排序后,将这些修改过的数据保存到数据库中就可以了

时间: 2024-10-13 00:52:28

ExtJS中DragDrop插件的一些使用实例的相关文章

Extjs中FieldSet的收缩和展开实例

Extjs中FieldSet的收缩和展开实例: FieldSet表单控件属于Ext.form.FieldSet的类,继承自:Ext.Panel,表示对某一组字段的标准容器,其中最主要的一个功能就是收缩和展开收缩与展开demo: items: [ id:'check_email_hacklog_send', xtype: 'fieldset', height:'auto', checkboxToggle: true, checkboxName: 'enable_email_hacklog_send

php中的插件机制原理和实例

PHP中的插件机制原理和实例 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了PHP中的插件机制原理和实例,文中例子主要借鉴了网上一些网友的方式做了稍微的改造,需要的朋友可以参考下 PHP项目中很多用到插件的地方,更尤其是基础程序写成之后很多功能由第三方完善开发的时候,更能用到插件机制,现在说一下插件的实现.特点是无论你是否激活,都不影响主程序的运行,即使是删除也不会影响. 从一个插件安装到运行过程的角度来说,主要是三个步骤: 1.插件安装(把插件信息收集进行采集和记忆的

ExtJS中RowEditing插件的一些使用问题及解决方法

RowEditing为grid进行行级别编辑时使用的插件,与CellEditing插件不同,编辑完一行数据,即需要保存数据. 对于RowEditing的使用官方文档中有详细的例子,本文主要解决该插件在使用中出现的一些问题及解决方式. 问题1: 新增数据或者编辑数据时,进入编辑状态后,如果编辑表单数据有效性为false时(isValid),保存(update)按钮为灰色不可用状态,即使改变数据使表单数据有效时,该按钮仍为不可用. 而官方实例中的代码中,为避免出现按钮不可用,采用新增数据直接赋值的方

文件上传插件Uploadify在Struts2中的应用,完整详细实例

->最近由于项目需要使用到一个上传插件,在网上发现uploadify挺不错,所以决定使用它,但是官网文档和例子是php的,而项目是SSI框架的,所以自己对uploadify在struts2中的使用进行了一番研究,最终实现了.发现网上关于这方面的资料很少,而且有的一两篇例子还不大全,网友提问质疑很多,所以,下面我特将我的代码公布: --------------------------------------------------------------------- 步骤一: 到官网上下载upl

extjs中apply和applyIf的用法

本文导读:extjs中apply及applyIf方法都是用于把一个对象中的属性复制到另外一个对象的属性中,相当于属性拷贝.不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有,而源对象中有的属性. apply 方法的签名 apply( Object obj, Object config, Object defaults ) : Object 参数说明 第一个参数是要复制的目标对象:第二个参数是复制的源对象:第三个参数是默认源对象,第三个参数是可选的,意味着如果第三个参

Qt5的插件机制(1)--Qt 框架中的插件加载机制概述

概述 Qt的源码中通过 Q<pluginType>Factory.Q<pluginType>Plugin 和 Q<pluginType> 这三个类实现了Qt的插件加载机制, 这个机制可用于加载特定种类的插件.比如通过 QPlatformIntegrationFactory\QPlatformIntegrationPlugin\QPlatformIntegration 三个类可以实现平台类QPA插件(PlatformIntegration)的加载,通过QPlatformI

extjs中form表单提交成功、失败的响应信息

类Ext.form.Action.Submit 处理表单Form数据和返回的response对象的类. 该类的实例仅在表单Form{@link Ext.form.BasicForm#submit 提交}的时候创建. 返回的数据包必须包含一个 boolean 类型的success属性,还有可选地,一个含有无效字段的错误信息的属性 A response packet may contain: ·        success property : Boolean - required. ·     

Hadoop3 在eclipse中访问hadoop并运行WordCount实例

前言:       毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环境跑起来,然后在能用的基础上在多想想为什么.       通过这三个礼拜(基本上就是周六周日,其他时间都在加班啊T T)的探索,我目前主要完成的是: 1.在Linux环境中伪分布式部署hadoop(SSH免登陆),运行WordCount实例成功. http://www.cnblogs.com/Pur

开发extjs常用的插件

Spket是目前支持Ext 2.0最为出色的IDE. 它采用.jsb project file 文件并将继承于基类和所有文档的内容嵌入到生成代码提示的Script doc中.注:不支持配置项的代码提示. 一.Spket Eclipse插件与IDE Spket提供了Eclipse插件和独立的IDE环境来支持ExtJs开发,下载地址:http://spket.com/download.html,在下载页面找到如下图所示的地方. Plugin是将Spket直接配置为Eclipse插件进行使用,而Spk