如何在beforecheckchange事件中获取当前行数据

时间:2013-04-22 15:37:00

标签: extjs4.1

我有一个带有几列的网格,ajax商店等等...... 以及自定义复选框列:

{
        xtype: 'checkcolumn',
        dataIndex:'checkData',
        header: 'Column with checkbox',                                
        listeners:{
            beforecheckchange:function(mthis,rowIndex,checked,eOpts){
                //here I'd like to check something like this:
                //if(currentRowData.OtherColumn == 1){
                //    return true;
                //}else{
                //    return false;
                //}                     
            }
        },
        editor: {                    
            xtype: 'checkbox',
            cls: 'x-grid-checkheader-editor'
        }
    }

如何在此事件中获取当前行数据? 我试过了:     grid.getSelectionModel()。getSelection() 但它未定义......

3 个答案:

答案 0 :(得分:0)

我想你可能会把它与CheckBoxModel选择器混淆: http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.selection.CheckboxModel

答案 1 :(得分:0)

我不得不使用这种结构:

rowData = gridStore.getAt(rowIndex).getData();

OR

rowData = gridStore.getAt(rowIndex).data;

(什么是最好的变体?)

答案 2 :(得分:0)

尝试:

beforecheckchange : function(mthis,rowIndex,checked,eOpts){
var rec = your_grid.getStore().getAt(rowIndex);
if(rec.get('OtherColumn') == 1){
    return true;
}else{
    return false;
}                     
}