首頁 > web前端 > js教程 > Extjs3.x gridPanel行資料上下移動實例程式碼

Extjs3.x gridPanel行資料上下移動實例程式碼

零下一度
發布: 2018-05-11 14:07:41
原創
1440 人瀏覽過

Ext3.x也是剛用,不熟練。閒暇記錄記錄,方便下次查閱,也希望能幫助同僚。直接槓碼!

rowUp : function() {//上移
var records =  this.gridPanel.getSelectionModel().getSelections();//得到选中所有行
for(var i in records)//遍历所选的所有行
{
var record = records[i];//每行的数据(记录此数据)
var index = this.gridPanel.getStore().indexOf(record);//数据所在位置
if(0>=index)
{
return;//不可移动
}
var data = record.data; 
var NewRecord = new Ext.data.Record({ //记录数据,remove&和insert方法是记录数组(我他妈不知道啥玩意)
itemName:data.itemName, //这里面的参数取gridPanel列表中record的定义
itemIndex:data.itemIndex,
maxScore:data.maxScore,
minScore:data.minScore,
itemType:data.itemType
            }); 
this.gridPanel.getStore().removeAt(index);//删除当前所选行数据
this.gridPanel.getStore().insert(index-1,NewRecord);//将记录数据插入到所删除数据位置的上一位置
this.gridPanel.getView().refresh();
this.gridPanel.getSelectionModel().selectRow(index-1,index-1);
}
},
 
rpwDown : function() {//下移
var records =  this.gridPanel.getSelectionModel().getSelections();//得到选中所有行
var num = this.gridPanel.getStore().getCount();
for(var i in records)//遍历所选的所有行
{
var record = records[i];//每行的数据(记录此数据)
var index = this.gridPanel.getStore().indexOf(record);//数据所在位置
if(this.gridPanel.getStore().getCount()-1<=index||0>index)
{
return;//不可移动
}
var data = record.data; 
var NewRecord = new Ext.data.Record({ 
itemName:data.itemName,
itemIndex:data.itemIndex,
maxScore:data.maxScore,
minScore:data.minScore,
itemType:data.itemType
            }); 
this.gridPanel.getStore().removeAt(index);//删除当前所选行数据
this.gridPanel.getStore().insert(index+1,NewRecord);//将记录数据插入到所删除数据位置的下一位置
this.gridPanel.getView().refresh();//刷新(不知道刷的啥)
this.gridPanel.getSelectionModel().selectRow(index+1,index+1);
 
}
//this.gridPanel.getStore().reload();
},
登入後複製

兩函數丟事件調就行了。用起來還行,會有bug(用用就知道,目前不知道咋解決),多選資料上下移也行。

以上是Extjs3.x gridPanel行資料上下移動實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板