FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 8873|回复: 9
打印 上一主题 下一主题

CheckBoxList无法动态添加Item

[复制链接]
跳转到指定楼层
楼主
发表于 2012-3-14 14:44:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在EXTASPNET控件的使用过程中,发现CHECKBOXLIST有个缺陷,就是页面POSTBACK后即使往CHECKBOXLIST的ITEMS中加入一个新项,页面中也不会显示出来,比如有一个DROPDOWNLIST,当触发了On_SelectedIndexChange事件后去修改CHECKBOXLIST中的ITEMS,实际上是后台的ITEMS已经插入了,但界面仍未有任何变化。希望作者能关注此缺陷。
沙发
发表于 2012-4-24 11:53:17 | 只看该作者
我也遇到了这个问题,期待大家的解决!
板凳
发表于 2012-4-24 16:31:39 | 只看该作者
建议大家按论坛规定的提问模板来吧,最好还是贴图,这样方便高手解答
地板
发表于 2012-7-15 12:16:11 | 只看该作者
遇到!!!!!!!!!!!!!!11
5#
发表于 2012-7-20 02:19:11 | 只看该作者
我也遇到了,帮你顶一下
6#
发表于 2012-7-20 14:23:52 | 只看该作者
的确有这个问题,我们现在是用Grid显示的,可以把GridHeader隐藏,可以实现类似的功能。
7#
发表于 2012-8-6 16:00:55 | 只看该作者
我也遇到这个问题了,有解决方案了吗
8#
发表于 2012-8-9 03:11:31 | 只看该作者
我也遇到 同求~~
9#
发表于 2012-8-9 03:57:30 来自手机 | 只看该作者
这是个bug,应该会在下版本中解决
10#
发表于 2012-8-17 04:44:23 | 只看该作者
已经修正: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 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-23 02:27 , Processed in 0.046234 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表