加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex3 – Flex 3.5.0;在dataprovider更改时更新ComboBox显示列表

发布时间:2020-12-15 02:10:09 所属栏目:百科 来源:网络整理
导读:我有两个相关的ComboBoxes(大陆和国家).当大陆ComboBox发生变化时,我从某个URL请求 XML.当我收到该 XML时,我更改了国家ComboBox的DataProvider,如下所示: public function displayCountryArray( items:XMLList ):void { this.resellersCountryLoader.alpha
我有两个相关的ComboBoxes(大陆和国家).当大陆ComboBox发生变化时,我从某个URL请求 XML.当我收到该 XML时,我更改了国家ComboBox的DataProvider,如下所示:
public function displayCountryArray( items:XMLList ):void
        {
            this.resellersCountryLoader.alpha = 0;
            this.resellersCountry.dataProvider = items;
            this.resellersCountry.dispatchEvent( new ListEvent( ListEvent.CHANGE ) );
        }

我调度ListEvent.CHANGE因为我用它来改变另一个ComboBox所以请忽略它(和第一行).

所以,我的问题是:我从第一大洲选择“ASIA”,然后组合框DATA更新(我可以看到,因为第一个ITEM是一个标签为’23个国家’的项目).我点击组合然后我可以看到国家.

现在,我选择“非洲”,第一个项目显示,ComboBox关闭,然后当我点击它时,这些国家仍然是来自亚洲的国家.无论如何,如果我单击列表中的项目,那么列表正确更新,并且它具有正确的信息(正如我所说它影响其他ComboBoxes).所以唯一的问题是显示列表没有得到更新.

在这个功能中,我尝试了这些方法

>将XMLList转换为XMLCollection甚至是ArrayCollection
>添加this.resellersCountry.invalidateDisplayList();
>触发DATA_CHANGE和UPDATE_COMPLETE等事件
我知道他们没有多大意义,但我有点绝望.

请注意,当我使用3.0.0 SDK时,这没有发生.

对不起,如果我是愚蠢的,但是弹性事件正在扼杀我.

解决方法

设置comboBox’下拉列表的数据提供者似乎可以解决此问题.
this.resellersCountry.dataProvider = items;
this.resellersCountry.dropdown.dataProvider = items;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读