数组作为网格中一个项目的属性

时间:2013-12-24 12:01:02

标签: javascript arrays extjs sencha-architect

我有一个连接到模型的商店。模型实例的一个属性是数组。我已将类型属性设置为“auto”。我已将此商店连接到网格,这是我遇到麻烦的地方。我应该如何更改设置以显示网格内的所有数组实例。这可能吗? 现在我只看到[object:Object]。请看截图:

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以在要为其显示数组值的列的网格列配置中定义自己的renderer

例如,此渲染器显示以逗号分隔的数组中的所有项目:

columns: [
    {
        ...
        renderer: function(value){
           return value.join(', ');
        }
        ...
    }
]

答案 1 :(得分:2)

只需在该列上添加一个渲染器字段,并在该值上添加.toString()方法。例如:

Ext.create('Ext.grid.Panel', {
    ...
    columns: [
        {
            text: 'Title',  
            dataIndex: 'somearrayrecord'
            renderer: function(value) {
               return value.toString();
            }
        },
    ],
    ...
});

这将使用javascript的array.toString()方法,该方法将打印出数组中的值。