日期:2014-05-16  浏览次数:20802 次

Extjs girp panel 行选中问题:
Extjs 中如果你选中一行,点另外一行,触发个监听,输出个提示框,如果点OK。就到另外一行,如果NO就停在当前这行。。。。关键就是怎么让他停在当前行。。。见下面代码。。。谢谢
//监听:
   listeners: {
               'cellclick' : {
fn : this.CheckUnsave,
scope : this
}}
//方法:
CheckUnsave:function (){
   
Ext.Msg.confirm("提示","你已经修改内容,是否放弃修改",function(btn,row){
           if(btn=='ok'){
           return true;
           }else{
      "停在当前行怎么写。谢谢大侠帮帮忙"
           }
           });
    },

------解决方案--------------------
用全局变量保存上一次选中的行

function (grid,td,cellIndex,record,tr,rowIndex){
                if(window.rowIndex==rowIndex)return//点击同一行忽略
else if(window.rowIndex==undefined ){//未选中过行或者

window.rowIndex=rowIndex///////用全局变量保存第一次选中的行
return false
}
                Ext.Msg.confirm("提示","你已经修改内容,是否放弃修改",function(btn,row){
           if(btn=='yes'){
window.rowIndex=rowIndex//放弃则保存当前航id
           return true;
           }else{//还原上一次选中的行
     grid.getSelectionModel().select(window.rowIndex)
           }
           });
    }

------解决方案--------------------
'cellclick':function(grid,rowIndex,columnIndex,e ){ }  
你定要个变量保存上次的index , no的场合grid.getSelectionModel().select(index