Ext.onReady(function(){
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
var myData = [
['1','1','1'],
['2','2','2'],
['3','3','3'],
['4','4','4'],
['5','5','5']
];
var store = new Ext.data.ArrayStore({
fields: [
{name: 'a'},
{name: 'b'},
{name: 'c'},
]
});
store.loadData(myData);
var grid = new Ext.grid.GridPanel({
store: store,
enableDragDrop: true,
dropConfig: {appendOnly:false},
ddGroup: "GridDD",
columns: [
{id:'a',header: 'a', width: 100, dataIndex: 'a'},
{header: 'b', width: 100, dataIndex: 'b'},
{header: 'b', width: 100, dataIndex: 'c'}
],
height: 1000,
width: 300
});
grid.render('grid');//页面有一个div的id是“grid”
alert(grid.getView().mainBody);
var ddrow = new Ext.dd.DropTarget(grid.getView().mainBody, {
ddGroup: 'GridDD',
copy:false,
notifyDrop : function(dd, e, data) {
var sm = grid.getSelectionModel();
var rows = sm.getSelections();
var cindex = dd.getDragData(e).rowIndex;
if (cindex == undefined || cindex < 0){
e.cancel=true;
return;
}
for (i = 0; i < rows.length; i++) {
rowData = store.getById(rows[i].id);
if (!this.copy) {
store.remove(store.getById(rows[i].id));
store.insert(cindex, rowData);
}
}
}
});
});
html页面有个div id为grid 同时将ext-all.css、ext-base.js、ext-all.js还有这个文件导入
//项目中具体应用
projectGrid.on('releteToLayer', function(id,projectName){
var authLayerToProjectSettingWindow = new Ext.ux.agsupport.AuthLayerToProjectSettingWindow({id:'authLayerToProjectSettingWindow', title:projectName,userId:userId,projectId:id});
authLayerToProjectSettingWindow.show();
// 数据加载提示
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"数据加载中,请稍候..."});
myMask.show();
function hideMask(){
myMask.hide();
}
setTimeout(hideMask, 1200);
//综合专题中的“图层”拖拽排序
new Ext.dd.DropTarget(Ext.getCmp("projectAuthLayerGrid").el, {
ddGroup: 'GridDD',
copy : false,
notifyDrop : function(dd, e, data) {
var rows = Ext.getCmp("projectAuthLayerGrid").getSelectionModel().getSelections();
var index = dd.getDragData(e).rowIndex;
if (index == undefined || index < 0){
e.cancel=true;
return;
}
for (i = 0; i < rows.length; i++) {
if (!this.copy) {
Ext.getCmp("projectAuthLayerGrid").getStore().remove(rows[i]);
Ext.getCmp("projectAuthLayerGrid").getStore().insert(index, rows[i]);
}
}
}
});
});
分享到:
相关推荐
在"ExtJS5学习之Grid与Grid之间的数据拖拽"这个主题中,我们将深入探讨如何实现这种交互功能,以及背后的机制和重要知识点。 首先,我们要了解ExtJS的Grid组件。Grid是一种可配置的表格视图,它可以显示大量的结构...
"Grid2Grid拖拽"功能是指在两个ExtJS Grid之间通过鼠标拖放操作来移动或复制行数据。这种功能在数据管理、比较和操作场景中非常实用。 在实现"Extjs Grid2Grid拖拽"时,主要涉及以下几个关键知识点: 1. **ExtJS ...
对于GridPanel中拖动选中行排序的实现,网上有不少ExtJs实现的例子,但是没有找到使用Ext.net实现的,正好最近有个需求要使用,干脆来写一个。 DEMO功能说明: 1、拖动GridPanel选中行到新位置排序。 2、在拖动结束...
Extjs 中想改变grid 行高,如果只是简单的设置了height的值是可以实现grid 的行高,但是如果使用了插件:rowexpander ,最出现新的问题。 感兴趣的朋友可以试试的。 此文档可以解决你的烦恼,为了找到资源下载,...
在实际开发中,可能还会结合其他组件和配置,比如Ext.grid.plugin.DragDrop来实现更为复杂的拖拽逻辑。例如,可能需要加入排序功能,此时会使用到拖拽排序插件,或者在拖拽过程中会有动画效果,那么需要使用拖拽动画...
ExtJS Grid支持拖放功能,用户可以调整列顺序,或者将数据行拖动到不同的组或位置。 11. **组合列(Grouping Columns)** 数据可以按需分组,显示折叠/展开的层次结构,方便用户查看和操作数据。 12. **树形Grid...
用户可以从excel中选中要导入的数据,直接拖拽到grid中
在"ExtJS4官方指南翻译:DragandDrop拖放/Grid组件/Tree组件/容器与布局"中,我们将会探讨以下几个核心概念: 1. **Drag and Drop(拖放)**: ExtJS4提供了完善的拖放支持,允许用户通过鼠标操作在界面上移动元素...
EXTJS4中的网格可以配合各种插件,如行编辑、列拖动、导出Excel等,以满足不同需求。数据与网格通过store进行绑定,可以通过proxy设置数据源,如Ajax或内存数据。 表单(Form)组件是EXTJS用于收集和展示用户输入的...
Extjs Portal 拖拽并保存 多个实例,直接运行。
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,推拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件...
3. 创建列模型(ColumnModel):定义GridPanel的列,包括列的标题、数据字段绑定、宽度等,例如`Ext.grid.ColumnModel`。 4. 实例化GridPanel:配置GridPanel的各种属性,如高度、宽度、是否可拖动列等,然后将...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件...
- **与其他组件交互**:Grid之间以及与Tree组件之间的拖拽操作也是EXTJS的一大亮点。 2. **EXTJS Grid Panel的实现** - **ColumnModel**:定义了Grid的列结构,是构建Grid的基础。例如,创建一个包含编号、名称和...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格...
在本文中,我们将深入探讨如何使用ExtJS框架实现拖拽功能,特别是在树形视图(Tree)和表格视图(Grid)之间的交互。ExtJS是一个强大的JavaScript库,它提供了丰富的用户界面组件,包括可拖拽的元素,这使得在Web...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里...
标题中的“Extjs 合并单元格”指的是在Ext JS框架下实现表格(Grid)中单元格的合并功能。Ext JS是一个强大的JavaScript库,专用于构建富客户端Web应用,其核心组件之一就是数据网格(Data Grid),用于展示大量结构...