extjs4 如何根据grid创建store,model等组件

xjqzr1987 2014-05-04 05:46:00
在开发中每次都要写store,model,开发效率比较低。请问有没有比较好的方法,省去store,model等代码的编写。
根据grid的情况去创建store?比如:我重写了grid,
Ext.extend(Ext.grid.GridPanel, {
gridColumns:null,//grid的列
url:""//url,根据该url生成store
});
我知道grid的显示的列,以及需要请求的url地址,怎么去生成store和model。需要extjs4.x,求解
...全文
159 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
googny 2014-05-05
  • 打赏
  • 举报
回复
你好 : 首先:columns 和store里的fields不完全相同也可以(columns里的dataIndex 只需要是fields的子集即可) ========= 要么在前台直接配置store和columns , 楼主觉得太麻烦, 那就放在后台来组fields和columns,前台通过url请求到,然后再配置到grid里面, 这样前台只需要做一个gridpanel,store的“架子”即可。(将请求过来的东西配置上去就可以了) 当然也得根据你提供的url返回的是啥,前后台的协议是啥。 写在后面的话:如果你的表结构很复杂,例如合并表头的啥的,后台组织store稍微有点麻烦,可以指定一个前后台的转换协议(效率略低,如果有必要的话,可以这么做)。 如果按照第二种做的话,注意每次清空grid的store 。
  • 打赏
  • 举报
回复
用ext的ajax先请求你的url得到columns,然后在创建grid 不过没什么意思。。多增加服务器负担。。
xjqzr1987 2014-05-05
  • 打赏
  • 举报
回复
已实现,可以结贴了。 思路:重写grid, BasicGrid = Ext.extend(Ext.grid.GridPanel, { columns : null,//列,需要重新传入 // 获取数据的URL url : '', }) 然后是将传入的columns 进行封装,可以生成model,根据url,采用store的代理方式,可以创建store. 最后把store赋值给grid。完成

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧