在Extjs中的渲染器函数中如何获取其他列的值?

7

我想在一个列的渲染器函数中获取同一行中另一列的值。我尝试了一种方法,但它没有起作用。这是我的代码:

columns: [
            {id:'id',header: 'ID', width: 30, sortable: true, dataIndex: 'category_id'},

            {header: 'current_level', width: 100, sortable: true, dataIndex: 'current_level'},
            {header: 'complete_code', width: 100, sortable: true, dataIndex: 'complete_code'},
            {header: 'parent_id', width: 100, sortable: true, dataIndex: 'parent_id'},
            {header: 'parent_name', width: 100, sortable: true, dataIndex: 'parent_name'},
            {
                header: 'has_standards', width: 100, sortable: true, dataIndex: 'has_standards',
                renderer: function(val, meta, record, rowIndex) {
                    if (val == 'Yes') {
                        console.log(record.data.category_id);
                    }
                }
            }
        ],

您好,我想在“has_standards”列的渲染器函数中,在同一行中获取“category_id”。但是我的方法是错误的。您能告诉我如何实现吗?


record.data.category_id是正确的。有什么问题吗?是否出现了错误? val == 'Yes' 是正确的吗?你能发布更多的代码吗? - Shlomo
2个回答

14
你想使用 record.get('category_id'),例如:
           renderer: function(val, meta, record, rowIndex) {
                if (val === 'Yes') {
                    console.log(record.get('category_id'));
                }else{
                    console.log('Value is not "Yes"');
                }
            }

0
我正在使用Ext JS 6(Sencha),希望在网格列中显示一张图片,根据同一网格中另一列的值是否为特定值。我按照SW4的解决方案进行了一些微小的更改,以适应我所使用的Ext JS版本,并且它非常有效。谢谢。
Ext.define('ViewLL.view.main.List', {
extend: 'Ext.grid.Panel',
xtype: 'list',

requires: ['App.store.Datastore'],

store:  {type: 'datastore'},

columns: [
        { text: 'Market',
          renderer: function(value, metaData, record, rowIndex) {
           var value = record.get('location');
           if (value == NYC) {
           return '<img src="resources/images/bigApple.jpg"/>';
           }
           else {
           return null;
           }
          }
       },
       { text: 'City', dataIndex: 'location' }
        ]

当城市列具有记录且其值为NYC时,此代码将在网格列中显示图像文件。对于所有其他记录,它将显示一个空单元格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接