GRID拖拽行的实例代码_javascript技巧
//创建第一个GRID
var firstGrid = new Ext.grid.GridPanel({
ddGroup : 'secondGridDdGroup',//这里是第二个GRID的ddGroup
store : firstGridStore,
enableDragDrop : true,//True表示启动对于GridPanel中选中行的拖动行为
……其他属性省略
});
//创建第二个GRID
var secondGrid = new Ext.grid.GridPanel({
ddGroup : 'firstGridDdGroup',//这里是第一个GRID的ddGroup
store : secondGridStore,
enableDragDrop : true,//True表示启动对于GridPanel中选中行的拖动行为
……其他属性省略
});
//创建第一个GRID的ddGroup
var firstGridDropTargetEl = firstGrid.getView().el.dom.childNodes[0].childNodes[1];
var firstGridDropTarget = new Ext.dd.DropTarget(firstGridDropTargetEl, {
ddGroup : 'firstGridDdGroup',//和第二个GRID的ddGroup相同
copy : true,
notifyDrop : function(ddSource, e, data){
function addRow(record, index, allItems) {
var foundItem = secondGridStore.find('name', record.data.name);
if (foundItem == -1) {
firstGridStore.add(record);
firstGridStore.sort('name', 'ASC');
ddSource.grid.store.remove(record);
}
}
Ext.each(ddSource.dragData.selections ,addRow);
return(true);
}
)};
//创建第二个GRID的ddGroup
var secondGridDropTargetEl = secondGrid.getView().el.dom.childNodes[0].childNodes[1];
var secondGridDropTarget = new Ext.dd.DropTarget(secondGridDropTargetEl,{
ddGroup : 'secondGridDdGroup',//和第一个GRID的ddGroup相同
copy : true,
notifyDrop : function(ddSource, e, data){
function addRow(record, index, allItems) {
var foundItem = secondGridStore.find('name', record.data.name);
if (foundItem == -1) {
secondGridStore.add(record);
secondGridStore.sort('name', 'ASC');
ddSource.grid.store.remove(record);
}
}
Ext.each(ddSource.dragData.selections ,addRow);
return(true);
}
});
推荐阅读
-
jQuery实现可收缩展开的级联菜单实例代码_javascript技巧
-
js 文本滚动效果的实例代码_javascript技巧
-
JS将表单导出成EXCEL的实例代码_javascript技巧
-
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)_javascript技巧
-
Javascript中3种实现继承的方法和代码实例_javascript技巧
-
Javascript实现动态菜单添加的实例代码_javascript技巧
-
js控制不同的时间段显示不同的css样式的实例代码_javascript技巧
-
js改变文章字体大小的实例代码_javascript技巧
-
利用js动态添加删除table行的示例代码_javascript技巧
-
JavaScript中调用函数的4种方式代码实例_javascript技巧