Deployment 在大型项目中部署ExtJs网格的最佳方法
很长一段时间以来,我一直在评估ExtJs网格。到目前为止还不错,我喜欢这个控件和API。对于在生产环境中部署ExtJs网格,我有一些真正的疑问。他们说: 如何将ExtJs网格部署到大型项目中?假设我有一个巨大的项目,其中包含100多个网格。在这种情况下,如何处理这些网格Deployment 在大型项目中部署ExtJs网格的最佳方法,deployment,extjs,grid,Deployment,Extjs,Grid,很长一段时间以来,我一直在评估ExtJs网格。到目前为止还不错,我喜欢这个控件和API。对于在生产环境中部署ExtJs网格,我有一些真正的疑问。他们说: 如何将ExtJs网格部署到大型项目中?假设我有一个巨大的项目,其中包含100多个网格。在这种情况下,如何处理这些网格 我是否必须为每个网格维护单独的JavaScript文件?这意味着,如果我有100个网格,我需要维护100个JS文件吗 我是否必须维护一个包装器JS文件,它可以根据我传递给方法的其他参数创建我的所有100个网格 哪一个更好?还是有
谢谢 你能解释一下你的项目吗?100个网格还是100个模型/数据存储 我将使用model/source/grid列定义创建一个数据库,并通过使用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 items[]
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"}]}
谢谢你的回复。我想的是在服务器中为每个网格保留一个XML格式的模板;在网格的PreRender事件中,它将通过Ajax拉到客户端。此xml文件将包含列结构的详细信息和其他详细信息(如果有)。正如您所说,在PreRender中的Ajax成功事件中,我将解析这些XML以创建网格的结构/模型;它稍后会向数据库发送一个Ajax调用,以加载XML/JSON格式的数据。怎么样?听起来很酷?还是有更好的方法?谢谢好吧,json/xml真的是一个选择你的毒药情况。我有一个显示“报告”树的cgi。每个报表都是数据库表中的一个定义,就像您描述的网格(如果有)、列、数据源、标题、图表类型(如果有)、轴设置等。这些都用于形成页面,就像您使用上述技术描述的一样。然后让我尝试使用JSON/XML和PreRender事件。谢谢你的建议:)干杯!