【问题标题】:Extjs Grid - How to add class name to tr in column CheckboxModelExtjs Grid - 如何在 CheckboxModel 列中将类名添加到 tr
【发布时间】:2013-07-19 05:24:56
【问题描述】:

我有一个网格面板和 CheckboxModel 列

在函数中

renderer:function(value,metaData,record,rowIndex,colIndex,store,view){
      if (record.data.check ==0) {
         metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
         return '<div class="' + Ext.baseCSSPrefix + 'grid-row-checker">&#160;</div>';   
      }else { 
         metaData.trCls = Ext.baseCSSPrefix + 'x-grid-row-selected'; // not working
         return '<div class="' + Ext.baseCSSPrefix + 'grid-row-checker">&#160;</div>';   
      }
}

如何将类名添加到 tr 以选中复选框。我尝试下面的代码但不工作

 metaData.trCls = Ext.baseCSSPrefix + 'x-grid-row-selected'; // not working

如何做到这一点,谢谢

编辑 这是我的问题 http://jsfiddle.net/wj9GM/ 的示例代码。怎么解决谢谢

【问题讨论】:

    标签: extjs checkbox grid extjs4.1


    【解决方案1】:
    Ext.onReady(function() {
    
          // Create a dummy store
        var store = new Ext.data.ArrayStore({
            fields: ['id', 'name', 'check'],
            data: [
               [1, 'profile 1', 1], 
               [2, 'profile 2', 1],
               [3, 'profile 3', 0]
            ]
        });
    
        var selModel = Ext.create('Ext.selection.CheckboxModel', {
            checkOnly: true,
            mode: 'MULTI'
        });
    
        var grid = new Ext.grid.GridPanel({
            width: 400,
            height: 200,
            store: store,
            loadMask: true,
            selModel: selModel,
            columns: [
                {header: 'Id', sortable: true, dataIndex: 'id' },
                {header: 'Name', sortable: true, dataIndex: 'name'}
            ],
            listeners: {
                'afterlayout': function(){
                    var records = this.getView().getRecords(this.getView().getNodes());
                    var result = new Array();
                    Ext.Array.each(records, function(record, index, records) {
                        if(record.get('check', 1)) {
                            result.push(record);
                        }
                    });
                    selModel.select(result); 
                }
            },
            renderTo: Ext.getBody()
        });
    });
    

    【讨论】:

    • 不知道怎么办?您可以更改我的代码jsfiddle.net/wj9GM 以使其正常工作吗?
    • 谢谢你,这行得通,但不是直接的,如果我的方法可以解决,我认为这很好:)
    猜你喜欢
    • 2011-03-19
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    相关资源
    最近更新 更多