1.extjs gridpanel 操作行 得到选中行的列
01 var model = grid.getSelectionModel();
02 model.selectAll();//选择所有行
03 model.selectFirstRow();//选择第一行
04 model.selectLastRow([flag]);//选择最后一行,flag为正的话保持当前已经选中的行数,不填则默认false
05 model.selectNext();//选择下一行
06 model.selectPrevious();//选择上一行
07 model.selectRange(tartRow,ndRow, [Boolean keepExisting] );//选择范围间的行
08 model.selectRow(row);//选择某一行
09 model.selectRows(rows);//选择指定一些行,传递数组如[1,3,5],则分别选择1,3,5行
10 model.clearSelections();//清空所有选择
11 model.deselectRange( startRow, endRow );//取消从startrow到endrow的记录的选择状态
12 model.deselectRow(row);//取消指定行的记录
13
14 grid.getSelected().id //得到选中的行的标识
15
16 var getSelect=function (grid, col) { //获取选中grid的列
17 var st="";
18 for (var i = 0; i < grid.getSelectionModel().getSelections().length; i++) {
19 st+=grid.getSelectionModel().getSelections()[i].get("'"+col+"'")+",";
20 }
21 }
2.Ext4.1 grid 多选(可无checkbox)
在Ext4.1中的grid默认只能实现单选的。
如果你想要你的grid有多选功能,需要给grid增加selModel
如果你使用了Ext.create(‘Ext.selection.CheckboxModel’)–>selModel:Ext.create(‘Ext.selection.CheckboxModel’,{mode:”SIMPLE”})
部分代码:
1 this.grid= new Ext.grid.GridPanel({
2 title : 'users',
3 store : this.userStore,
4 columns : [ {
5 header : "用户ID",
6 sortable : true,
7 dataIndex : 'userId'
8 }, {
9 header : "用户名称",
10 sortable : true,
11 dataIndex : 'userName'
12 } ],
13 stripeRows : true,
14 manageHeight:true,
15 height:this.height-114,
16 selModel:Ext.create('Ext.selection.CheckboxModel',{mode:"SIMPLE"}),
界面效果:
但是这种方式会出现复选框,
如果不想有复选框是需要把selModel换成Ext.create(‘Ext.selection.RowModel’,{mode:”SIMPLE”})就ok了
如图:
获得选中的数据用var records = this.grid.getSelectionModel().getSelection();就可以了