首页新闻招聘找找看知识库
  • 回复:5 浏览:5167 2008-12-10 22:26 来自 geniushuai
    我的grid已经存在,我需要在grid的刷新和换页时动态改变grid的列,我应该怎么做呢。
    网上的动态列的例子都是在grid生成前,动态生成列的,生成后列就固定了。怎样才能让grid的列在生成后还可以改变。
  • 殷良胜
    2008-12-11 08:15 殷良胜
    你的需求很新颖...
    我们都知道grid在渲染前是要依靠grid列的加载,然后才有grid的展现,也就是先有列才有grid。
    撇开Ext不谈
    即使是.net里面的gridView的展现也是需要预先指定列或者在sql语句里实现返回哪些列。
    而你
    需要的是根据列生成grid,然后再刷新grid以改变grid的展示,你的问题可以实现呀,那就是在刷新的时候重新绑定后台查询,再重新绑定列的加载,在此基础上再重新实现grid的展示。
    但是,
    你的意思的并不是这样.
    恕我孤陋寡闻,
    也许你需要好好想想你的问题了,
    希望不要陷进先有蛋后有鸡的逻辑里面而浪费时间。

    况且,
    你的grid在刷新的时候你需要怎么改变呢,
    是自己主观脑袋的改变然后grid就动态调整吗?你务必清楚一点,grid的展示是需要第一步和第二步的也许还有第三步,grid的展示是一步一步实现的,它需要有前提条件!
    grid是不能够先展示再生成前提条件的。

    我突然想到:
    呵呵,
    《九阴真经》也是能够倒着练习的,而且还惊世骇俗呢。
    所以呢,
    也但愿你能够根据你的想法走出一片新天地。

    上述如有冒犯你的地方还请你原谅哦。
    第1楼 回到顶楼
  • geniushuai
    2008-12-11 23:09 geniushuai
    呵呵.谢谢组长,我的问题是实际项目中遇到的.是我表达得不够清楚.我再解释一下:
    首先,我可以肯定的一点是grid的列可以在grid生成后改变的,使用grid的reconfigure方法就可以了.这一点我在http://space.cnblogs.com/group/topic/6916/
    的1楼已经有代码了.
    第二,我并不是想在生成grid后才生成列,而是想改变grid的列而已,当然grid生成前当然会有默认的列值.
    第三,请楼主看一下我http://space.cnblogs.com/group/topic/6916/的一楼的代码,那里的grid的列是可以改变的了.只是grid绑定的store无法再其load事件中改变自身的fields属性,照成的结果就是某些数据无法显示.
    例如,原本只有两列,分别是列一和列二,对应的store的fields也有两个元素.
    使用reconfigure方法,把grid修改为列一,列二,列三.但是store的fields值无法修改,结果就是列三的数据无法显示.
      我再次说一下我自己对这个问题的想法::grid的列是可以改变,使用reconfigure方法。但是其绑定的store的似乎fields是无法改变,因为使用reconfigure(store,col)后fields没变化.这就照成了列和fields对应不上。
    第2楼 回到顶楼
  • geniushuai
    2008-12-11 23:17 geniushuai
    @殷良胜
    组长帮我看看http://www.etphp.com/Temp/grid.htm
    这个可以动态改变列,但是这个无法实现我需要的分页和刷新的功能.
    第3楼 回到顶楼
  • 殷良胜
    2008-12-12 17:22 殷良胜
    这里不再回答了哦
    可以看这里
    也可以看这里

    第4楼 回到顶楼
  • qqmamiao
    2012-07-25 16:58 qqmamiao
    @geniushuai
    用动态生成的列,你不能用ext自带的分页
    第5楼 回到顶楼
登录后才能评论,请先登录注册