FineUI 官方论坛

标题: CheckBoxList无法动态添加Item [打印本页]

作者: 落叶飞尘    时间: 2012-3-14 14:44
标题: CheckBoxList无法动态添加Item
在EXTASPNET控件的使用过程中,发现CHECKBOXLIST有个缺陷,就是页面POSTBACK后即使往CHECKBOXLIST的ITEMS中加入一个新项,页面中也不会显示出来,比如有一个DROPDOWNLIST,当触发了On_SelectedIndexChange事件后去修改CHECKBOXLIST中的ITEMS,实际上是后台的ITEMS已经插入了,但界面仍未有任何变化。希望作者能关注此缺陷。

作者: 第一滴冰雨    时间: 2012-4-24 11:53
我也遇到了这个问题,期待大家的解决!
作者: 幻之达    时间: 2012-4-24 16:31
建议大家按论坛规定的提问模板来吧,最好还是贴图,这样方便高手解答
作者: e先生    时间: 2012-7-15 12:16
遇到!!!!!!!!!!!!!!11
作者: SharkLockChen    时间: 2012-7-20 02:19
我也遇到了,帮你顶一下
作者: 松松工作室    时间: 2012-7-20 14:23
的确有这个问题,我们现在是用Grid显示的,可以把GridHeader隐藏,可以实现类似的功能。
作者: Smile每一天    时间: 2012-8-6 16:00
我也遇到这个问题了,有解决方案了吗
作者: 破风    时间: 2012-8-9 03:11
我也遇到 同求~~

作者: support    时间: 2012-8-9 03:57
这是个bug,应该会在下版本中解决
作者: sanshi    时间: 2012-8-17 04:44
已经修正:81050

-修正CheckBoxList和RadioButtonList无法在回发中更新的BUG(破风、吉吉﹑落叶飞尘)。

只所以存在这个BUG并很长时间没有FIX,是因为extjs没有提供复选框列表渲染后更新的接口,所以搜遍整个互联网,有很多提问怎么更新复选框列表的,却没有完美的答案。

作者也是苦思良久,做了各种尝试,最终独辟蹊径:既然extjs没有提供渲染后更新的接口,那就回发后如果数据更新就重新渲染得了。感兴趣的网友可以下载源代码学习。

关键代码:
  1. x_reloadData: function (name, isradiogroup) {
  2.             var container = this.ownerCt;
  3.             var newConfig = Ext.apply(this.initialConfig, {
  4.                 "x_state": this.x_state,
  5.                 "items": X.util.resolveCheckBoxGroup(name, this.x_state, null)
  6.             });

  7.             if (container) {
  8.                 var originalIndex = container.items.indexOf(this);
  9.                 container.remove(this, true);

  10.                 if (isradiogroup) {
  11.                     container.insert(originalIndex, new Ext.form.RadioGroup(newConfig));
  12.                 } else {
  13.                     container.insert(originalIndex, new Ext.form.CheckboxGroup(newConfig));
  14.                 }
  15.                 container.doLayout();
  16.             } else {
  17.                 this.destroy();
  18.                 if (isradiogroup) {
  19.                     new Ext.form.RadioGroup(newConfig);
  20.                 } else {
  21.                     new Ext.form.CheckboxGroup(newConfig);
  22.                 }

  23.             }
  24.         }
复制代码







欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4