Extjs3.x 为GridPanel 排序 行拖拽 行数据上移 行数据下移
需要实现gridPanel行数据排序,思路是:删除选中行的数据,在移动行插入新数据,形成移动的假象。
//GridPanel已渲染后才执行这段var ddrow = new Ext.dd.DropTarget(grid.getEl(), { ddGroup: 'gridDD',copy : false, notifyDrop : function(dd, e, data){//选择行 var rows = grid.getSelectionModel().getSelections();//选择行数 var count = rows.length;//拖动到几行 var dropIndex = dd.getDragData(e).rowIndex; var array=[]; for(var i=0;i<count;i++){ var index = dropIndex+i; array.push(index); } grid.getStore().remove(grid.getStore().getById(data.selections[0].Id)); grid.getStore().insert(dropIndex,data.selections); grid.getSelectionModel().selectRows(array); grid.getView().refresh(); } });