我尝试将字段值设置为数组类型的值,但网格无法显示该行。我的测试代码如下所示:
Ext.onReady(function()
{
new Ext.grid.property.Grid(
{
customRenderers:{Test:function(v)
{
return Ext.Array.sum(v);
}},
source:{Test:[1,2,3]},
renderTo:Ext.getBody()
});
});
但如果字段值是其他类型,则显示该行。
Ext.onReady(function()
{
new Ext.grid.property.Grid(
{
customRenderers:{Test:function(v)
{
return Ext.Array.sum(v);
}},
source:{Test:6},
renderTo:Ext.getBody()
});
});
prroperty网格自定义可以渲染数组值吗?
提前感谢您的帮助!
答案 0 :(得分:0)
你可以提前在一个函数中执行它:
Ext.onReady(function()
{
new Ext.grid.property.Grid(
{
customRenderers:{Test:function(v)
{
return Ext.Array.sum(v);
}},
source: sumArraysInObject({Test:[1,2,3]}),
renderTo:Ext.getBody()
});
});
function sumArraysInObject(obj) {
for (var key in obj) {
if (obj.hasOwnProperty(key) && Object.prototype.toString.call(obj[key]) === "[object Array]") {
var sum = 0;
for (var i = 0, l = obj[key].length; i < l; i++) {
sum = sum + obj[key][i];
}
obj[key] = sum;
}
}
return obj;
}