2

我有一个网格,它有很多几乎相同的列,它们的名称相同,但最后的数字不同。它们使用相同的渲染器函数,但参数值不同,等等……

这些列定义相对较长(5-10 行)。有没有办法生成它们抛出一个循环或什么?这将使我的代码更好,更紧凑。

提前致谢!

4

1 回答 1

2

是的你可以。您还可以在服务器上生成列配置。

在这里你可以看到如何做到这一点:

Ext.define('mynamespace.Grid', {
    extend: 'Ext.grid.Panel'

    // ... your grid configuration 

    initComponent: function() {

       var cm = [];

       Ext.each(columnsArray, function(rec) {
           var col = {
               text: rec.name,
               dataIndex: rec.dataIndex
               // ... renderer and so on
           };

           cm.push(col);
       }, this);

       this.columns = {
           items: cm
       };

       this.callParent(arguments);
    }
});
于 2013-04-27T20:48:49.027 回答