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

posted @ 2010-10-06 10:58  Jamie  阅读(4900)  评论(0编辑  收藏  举报