关于ExtJS的grid store加载的问题,grid改变列之后,用grid.reconfigure追加列,只加载新追加列的数据 150
3个回答
展开全部
一个grid只能对应一个store。
用grid.reconfigure的话,也是把之前的store换成现在的store
grid刷新数据的话,是刷整个store,不会单刷某一列
如果使用grid.reconfigure换掉store,那么是需要重新更新store的数据的
而你想保留原有的,只是把新加的列的数据刷出来,其实可以这样
1.把store里record中的数组定义出去
2.把columnmodel里的数组也定义出去
3.先用以上两个数组,建立record、store、column、grid等等,然后读数据,为第一次的grid数据
4.这时需要追加列,只需要将刚才的两个数组继续追加,然后再建立新的record、store、column然后用grid.reconfigure更新grid,这时在更新数据,其数据就会跟第一次的一样且多了新加的列的数据(当然前提是你后台传的数据里也同样多了该列所对应的数据信息)
用grid.reconfigure的话,也是把之前的store换成现在的store
grid刷新数据的话,是刷整个store,不会单刷某一列
如果使用grid.reconfigure换掉store,那么是需要重新更新store的数据的
而你想保留原有的,只是把新加的列的数据刷出来,其实可以这样
1.把store里record中的数组定义出去
2.把columnmodel里的数组也定义出去
3.先用以上两个数组,建立record、store、column、grid等等,然后读数据,为第一次的grid数据
4.这时需要追加列,只需要将刚才的两个数组继续追加,然后再建立新的record、store、column然后用grid.reconfigure更新grid,这时在更新数据,其数据就会跟第一次的一样且多了新加的列的数据(当然前提是你后台传的数据里也同样多了该列所对应的数据信息)
展开全部
楼上说的对, 对这种列变化的需求只要确保你的store里有你所需所有列的数据即可
grid.reconfigure(newColumns,grid.getStore())
grid.reconfigure(newColumns,grid.getStore())
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不明白为什么这么做啊 直接grid.reconfigure(columnModel,store)
不就可以吗
不就可以吗
追问
直接这样就会把原来加载的数据擦除掉了!说白了就是grid的列改变后重新加载store加载,列改变前加载一下store,两个store
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询