Rumah > hujung hadapan web > tutorial js > Extjs3.x gridPanel行数据上下移动实例代码

Extjs3.x gridPanel行数据上下移动实例代码

零下一度
Lepaskan: 2018-05-11 14:07:41
asal
1479 orang telah melayarinya

Ext3.x也是刚用,不熟练。闲暇记录记录,方便下次查阅,也希望能帮助到同僚。直接杠代码!

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

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

},

Salin selepas log masuk

两函数丢事件调就行了。用起来还行,会有bug(用用就知道,目前不知道咋解决),多选数据上下移也行。

Atas ialah kandungan terperinci Extjs3.x gridPanel行数据上下移动实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan