FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

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

CheckBoxList无法动态添加Item

[复制链接]
楼主
发表于 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-5-16 10:39 , Processed in 0.042993 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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