Extjs 4 - 结合两个网格列

标签 extjs extjs4

我有一个数据存储和一个网格。我正在尝试声明一个名为 FullName 的新列,它将结合两个数据索引。在花了一些时间研究这个问题后,我明白它可能是渲染器(网格级别),也可能是数据存储中的自定义列(映射?)。

有人可以提供实现此类列的代码示例吗?

// XML
<person>
    <first_name>John</first_name>
    <last_name>Smith</last_name>
</person> 

// Store
Ext.create('Ext.data.Store', {
    autoLoad: true,
    storeId: 'TestStore',
    fields: ['first_name', 'last_name'],
    data: parsed_xml_object,
    proxy: {
        type: 'memory',
        reader: {
            type: 'xml',
            record: 'person'
        }
    }
});

// Grid
TestGrid = Ext.create('Ext.grid.Panel', {
    title: 'Test',
    store: Ext.data.StoreManager.lookup('TestStore'),
    columns: [
        { header: 'First Name', dataIndex: 'first_name' },
        { header: 'Last Name Name', dataIndex: 'last_name' },
     ],
    height: 200,
    autowidth: true
});

最佳答案

使用自定义渲染器:

{
   header: "Name",
   dataIndex: 'last_name',
   renderer: function(value, element, record) {
       return record.data['last_name'] + ', ' + record.data['first_name'];
   }
}

关于Extjs 4 - 结合两个网格列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6987827/

相关文章:

javascript - Sencha Ext.define 使用与要求

javascript - 将函数定义为成员而不执行它

javascript - 在 EXTjs 4 中显示包含 'partial'/'nested' 小部件的 View

javascript - ExtJS:使用 gridpanel 过滤器标题忽略/重置我添加的商店过滤器

javascript - ExtJS 循环模板

extjs - 在 Extjs4.1 中,如何在一个商店同步之前添加额外的参数?

css - 里面有元素的最后一个 child

Extjs 6 - 现代工具包 ui-mixins 构建错误

javascript - 将 Ext.grid.Panel 分配给 Ext.tab.Panel 时出错

javascript - 是否可以使用 extjs 4 上传没有表单的文件?