extjs 如何在网格中隐藏/显示特定单元格

tpgth1q7  于 2023-06-05  发布在  其他
关注(0)|答案(1)|浏览(448)

我使用渲染器功能如下,并希望隐藏/显示特定的checkcolumn单元格取决于变量record.data.hidden在我的gridview。

{
   xtype: 'checkcolumn',
   renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
       /*
       if (record.data.hidden === true) {
           // checkbox hidden
       } else {
           // checkbox shown
       }
       */
    },
    itemId: 'mycheck',
    bind: {
        text: '{warranty}'
    }
}

我该怎么做?

g52tjvyc

g52tjvyc1#

您可以使用传递给renderer函数的metaData对cell元素应用样式,请参阅此处的文档。
一个简单的方法是根据您的条件设置display CSS属性。这将应用于Ext JS为单元格创建的HTML <td>元素。
试试这个:

{
   xtype: 'checkcolumn',
   renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
       if (record.data.hidden === true) {
           metaData.tdStyle = 'display: none;';
       } else {
           metaData.tdStyle = 'display: table-cell;';
       }
    },
    itemId: 'mycheck',
    bind: {
        text: '{warranty}'
    }
}

(我不确定正确的语法,也许你不需要在nonetable-cell之后使用分号,也许你必须在某些地方使用引号。试试看。)
但是你创建了一个CSS样式并使用了tdCls,也许还有tdAttr,但我不确定最新的。

相关问题