根据后台传的数据动态生成grid的列和store的注意事项

来源:互联网 发布:spark大数据 编辑:程序博客网 时间:2024/05/22 14:59

1、不要在该grid的initComponent方法里去请求后台得到动态显示的列,因为callParent()方法会先于你的请求后台的代码执行,所以当调用父类方法的时候你的columns和store都还没创建好,这个时候会有错。

     应该在创建该grid的时候将该grid的方法放到请求后台参数的方法里,然后在initComponent里得到该请求返回的数据封装columns和store,这样保证在调用父类方法前就完成了columns和store的创建。

    例如创建的grid的类名叫做:Ext.app.wris.rain.RtuResultListPanel,我要在点击按钮的时候创建该grid。那么调用代码如下:

其中 rainController.searchTimeColumnRain是后台对应的方法,res是定义的一个全局变量。要是能有办法不定义全局变量就能在Ext.app.wris.rain.RtuResultListPanel的initComponent方法里调用就好了,还没想到。

 

2.封装columns和store的fields不要死拼字符串,应该这样写:

 columns 就是列模型的集合,col 是每个列