ExtJs中获得当前选中行号(Grid中多选或者是单选)及Grid的反选(取消选中行)
多选,如何获得每行的行号:
function getlineNum(){
var sm=titleGird.getSelectionModel(); // 获得grid的SelectionModel
if(sm.getSelected()){
var recs=sm.getSelections(); // 把所有选中项放入数组
var linenum; // 行号
for(var i=0;i<recs.length;i++){
linenum=titleStore.indexOfId(recs[i].get("titleId")); //当前每行的ID获得当前行号
alert(linenum);
}
}else{
Ext.Msg.getDialog().setWidth(500);
Ext.MessageBox.alert("提示", "未选中记录...");
}
}
单选,如果是单行选择就非常简单了(比如双击或者单击事件):
var linenum=titleGird.getSelectionModel().lastActive;
注意:
行号其实是每行的索引,从0开始的!
行号有什么用处呢,举个简单的例子,如果获得了行号就可以反选了,比如当前选中第三行,但是它不符合传值要求,就可以取消选中它:
var linenum=titleGird.getSelectionModel().lastActive;
titleGird.getSelectionModel().deselectRow(linenum);