Extjs Grid - 如何在 CheckboxModel 列中将类名添加到 tr

Posted

技术标签:

【中文标题】Extjs Grid - 如何在 CheckboxModel 列中将类名添加到 tr【英文标题】:Extjs Grid - How to add class name to tr in column CheckboxModel 【发布时间】: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/ 的示例代码。怎么解决谢谢

【问题讨论】:

【参考方案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 以使其正常工作吗? 谢谢你,这行得通,但不是直接的,如果我的方法可以解决,我认为这很好:)

以上是关于Extjs Grid - 如何在 CheckboxModel 列中将类名添加到 tr的主要内容,如果未能解决你的问题,请参考以下文章

Extjs怎么给Grid增加一个CheckBox列

Extjs中取消表头checkbox复选框选中状态

Extjs中取消表头checkbox复选框选中状态

Extjs中取消表头checkbox复选框选中状态

Extjs4.1 Grid-如何在 itemdblclick 函数中获取 cellIndex

如何在 ExtJS 5 中为 Grid 组件构建高级过滤器面板