在大型项目中部署ExtJs Grid的最佳方法

时间:2011-07-18 06:17:57

标签: deployment extjs grid

已经有一段时间了,我一直在评估ExtJs Grid。到目前为止,我非常喜欢控件和API。关于在生产环境中部署ExtJs Grid,我有一些真正的疑问。他们在这里:

如何将ExtJs Grid部署到大型项目中?假设我有一个庞大的项目,其中包含100多个网格。在这种情况下,我该如何处理这些网格?

  1. 我是否必须为每个网格维护单独的JavaScript文件?这意味着,如果我有100个网格,我是否需要维护100个JS文件?
  2. 我是否必须维护一个包装器JS文件,根据我传递给方法的参数,它可以创建我的所有100个网格?
  3. 哪一个更好?或者有更好的方法吗?有人可以提供一些关于在大型项目中部署ExtJs Grid的信息吗?

    任何帮助将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:0)

你能解释一下你的项目吗? 100个网格或100个型号/数据存储?

我将创建一个包含模型/源/网格列定义的数据库,并通过使用json映射数据来动态构建ext网格。一旦你创建了一个在其中有ajax请求的beforeRender监听器,然后在你创建或填充模型/源/网格定义并完成的ajax的成功例程中,这是非常简单的。

你可以看到这种技术(非网格),例如......

var areaEast = Ext.create('Ext.Panel', {
    region: 'east',
    collapsible: true,
    split: true,
    width: 200,
    title: 'east',
    items: [ ],
    layout:'accordion',
    autoScroll: true,
    listeners : {
        beforeRender : function() {

            Ext.Ajax.request({
                url: './js/tabs.pl',
                disableCaching: false,
                success: function(response){
                    var text = Ext.decode(response.responseText);

                    Ext.each( text.rows, function(row, index) {
                        areaEast.add( row );
                    });
                },
            });

        },
    },
});

...和下​​面的一些json一样会产生几个ext项目[] ......

Content-Type: application/json

{"rows":[{"html":"str_0.720264353647025","iconCls":"ico_home","title":"tab_1","xtype":"panel"},
 {"html":"str_0.967244391419577","iconCls":"ico_gear","title":"tab_2","xtype":"panel"},
 {"html":"str_0.713014552355148","iconCls":"ico_home","title":"tab_3","xtype":"panel"},
 {"html":"str_0.0254531761575763","iconCls":"ico_gear","title":"tab_4","xtype":"panel"}]}