Heim  >  Artikel  >  Web-Frontend  >  Extjs3.x GridPanel-Zeilendaten, die sich nach oben und unten bewegen, Beispielcode

Extjs3.x GridPanel-Zeilendaten, die sich nach oben und unten bewegen, Beispielcode

零下一度
零下一度Original
2018-05-11 14:07:411389Durchsuche

Ich bin neu bei Ext3.x und kenne mich damit nicht aus. Ich werde es in meiner Freizeit aufzeichnen, damit ich es beim nächsten Mal leichter nachschlagen kann, und hoffe, dass es meinen Kollegen helfen kann. Leg dich einfach mit dem Code an!

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();
},

Fügen Sie einfach den Ereignisaufruf in die beiden Funktionen ein. Es funktioniert gut, aber es wird Fehler geben (Sie werden es wissen, nachdem Sie es verwendet haben, aber ich weiß jetzt nicht, wie ich es lösen soll), und das Verschieben der Mehrfachauswahldaten nach oben oder unten ist in Ordnung.

Das obige ist der detaillierte Inhalt vonExtjs3.x GridPanel-Zeilendaten, die sich nach oben und unten bewegen, Beispielcode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn