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 @ 2017-01-18 14:37  toyzhou  阅读(2947)  评论(0编辑  收藏  举报