ExtJs 3.4:在网格行选择上启用一个按钮

时间:2014-01-20 12:51:13

标签: javascript button extjs grid

我有一个Ext网格面板如下。

var plannedGrid = new Ext.grid.GridPanel({
store : plannedGridStore,
cm : new Ext.grid.ColumnModel([ selectModel, {
    sortable : true,
    header : "Drop/Pick Loc",
    dataIndex : 'locationName',
    width : 170,
    renderer : function(value, metaData, record, rowIndex,
            colIndex, store) {
        var refColor = record.data.tourTypeColor;
        //console.log(record);
        metaData.attr = 'style="background-color:' + refColor + ';"';
        return record.get('locationName');
    }
}, {
    xtype : 'actioncolumn',
    header : "GPS",
    items : [ {
        icon : 'images/gps.jpg',
        tooltop : 'Get GPS',
        handler : function(grid, rowIndex, colIndex) {
            var rec = grid.getStore().getAt(rowIndex);
            alert("Edit " + rec.get('locationName'));
        }
    } ]
}, {
    header : "EST.Un/Load Time",
    sortable : true,
    dataIndex : 'estimatedTime',
    width : 100
}, {
    header : "",
    sortable : true,
    dataIndex : 'colorCode',
    width : 30
} ]),

sm : selectModel,
//width : 435,
height : 400,
//autoHeight : true,
autoWidth : true,
frame : true,
iconCls : 'icon-grid'/*,
listener : {
    selectionchange : function() {
        Ext.getCmp('btnHold').enable();
    }
}*/

//renderTo : document.body
});

此网格面板的数据来自另一个网格。此外,按钮组中还有一个按钮,如下所示。

{
                    text : 'Hold Drop/Pick',
                    id : 'btnHold',
                    iconCls : 'add',
                    width : 120,
                    // textAlign: 'center',
                    //style : 'margin:5px',
                    style : {
                        textAlign: 'center',
                        margin : '5px'
                    },
                    disabled : true
                }

此按钮已停用。我想要的是,当用户点击网格面板的一行时,我需要启用此按钮。

我正在使用ExtJs 3.4。

我该怎么做?

亲切的问候

1 个答案:

答案 0 :(得分:1)

使用' rowclick'监听器(用于网格):

listeners: {
    rowclick: function(grid, idx){
        Ext.getCmp('btnHold').enable();
    }
}

P.S。当你使用' id'时非常糟糕。组件中的参数。尝试删除它并使用其他组件访问按钮。抱歉,我的英文,伙计们!