var GridPanelMain = new Ext.grid.GridPanel({
id : 'sortCriteriaListGrid',
renderTo : 'sortCriteriaList',
width : document.body.clientWidth,
height: document.body.clientHeight - TableHeader_1.getComputedHeight(),
autoScroll: true,
loadMask : {msg:"数据加载中...."},
sm : SelectionModelMain,
store : StoreMain,
//拖动排序需要配置 enableDragDrop 属性 和 dropConfig属性
enableDragDrop: true,
dropConfig: {
appendOnly:true
},
ddGroup: "GridDD",
cm : new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
SelectionModelMain,
{header:"排序规则Id", width:80, dataIndex:"sortCriteriaId",hidden:true},
{header:"规则名称", width:100, dataIndex:"sortCriteriaName",sortable:true,renderer:sortCriteriaNameReanderer},
{header:"规则类型", width:80, dataIndex:"sortCriteriaType",sortable:true,renderer:sortCriteriaTypeRenderer},
{header:"是否自定义序列", width:80, dataIndex:"isCustomize",sortable:true,renderer:isCustomizeRenderer},
{header:"录入人名字", width:80, dataIndex:"enterPersonName",hidden:true},
{header:"录入人账户", width:80, dataIndex:"enterPersonId",hidden:true},
{header:"录入员工编号", width:80, dataIndex:"enterEmployeeId",hidden:true},
{header:"录入部门编号", width:80, dataIndex:"enterOrgId",hidden:true},
{header:"录入部门名称", width:80, dataIndex:"enterOrgName",hidden:true},
{header:"录入时间", width:80, dataIndex:"enterDate",hidden:true},
{header:"备注", width:80, dataIndex:"remark",hidden:true}
])
});
//拖动排序必须的代码
var drogAndDrap = new Ext.dd.DropTarget(GridPanelMain.container, {
ddGroup : 'GridDD',
copy : false,
notifyDrop : function(dd, e, data) {
var rows = data.selections;
var index = dd.getDragData(e).rowIndex;
if (typeof(index) == "undefined") {
return;
}
//确定正序还是倒序
var mark = true;
gridIndex = StoreMain.indexOf(rows[0]);
if(index<gridIndex) mark = false;
for(i = 0; i < rows.length; i++) {
var rowData;
if(mark){
rowData = rows[i];
}else{
rowData = rows[rows.length-i-1];
}
if(!this.copy)
StoreMain.remove(rowData);
StoreMain.insert(index, rowData);
}
var sm = Ext.getCmp('sortCriteriaListGrid').getSelectionModel();
sm.clearSelections();
GridPanelMain.getView().refresh();//刷新序号
//拖动结束后的处理逻辑
updateIndex();
}
});