关于Extjs Grid的选择问题
1.【可选择行的Grid】
selModel: {
selType: 'checkboxmodel'
},
这样就会成为可选择的grid
【问题】:selModel与selType是什么关系?直接selModel: 'checkboxmodel'行不行?
2.【获取选中的行】
var grid = btn.up('test_test02Grid');
var rows = grid.getSelectionModel().getSelection();
但是注意这里的rows[0]指的是第一个选中的行,而不是选中行的最上面一行。
var minIndex = grid.getStore().indexOf(rows[0]);
// var minIndex = 0;
for (var i = 0; i < rows.length; i++) {
var ind = grid.getStore().indexOf(rows[i]);
alert(ind);
minIndex = ind < minIndex ? ind : minIndex;
}
可以这样获得最上面一行的序号。
然后这样取得store里面的record
Ext.create('TMS.Test.Test02Window', {
record: grid.getStore().data.getAt(minIndex),
rowIndex: minIndex,
edit: true,
grid: grid,
title: 'EditWindow'
}).show();
当然环境只是少量数据不用翻页。
【单选模式】
selModel: {
//selType: 'checkboxmodel',
singleSelect: true
},
或者:
selModel: {
mode:'SINGLE' //或者’MULTI‘,’SIMPLE‘
},
【其他资源】
(1)grid.getStore().getRange(0,store.getCount());//得到grid所有的行
(2)grid.getSelectionModel().getSelections()//得到选择所有行
(3)grid.selModel.selections.items;//得到选择所有行
(4)grid.getSelectionModel().getSelected();//得到选择行的第一行