ComboBox下拉列表不自動更新的奇怪問題

天弈isai 2010-08-19 11:09:34
ComboBox的內容是更加条件从DB取出来的值,初期表示的时候没有问题,在不查看下拉列表内容的情况下改变查询条件去检索数据,然后设给ComboBox,这时候没有任何问题,列表值都更新成最新的了。而在查看一次列表内容后,改变条件去检索DB取得数据设给ComboBox后,再次查看列表的内容,发现列表显示内容没有更新,还是旧的,但是选择一项后,Text上表示的内容是最新的,而这时候再次查看列表的值,发现已经更新成最新的了。取得DB数据后的相应方法如下。


public function onSearchByLotNameHandler(e:ExternalEvent):void
{
trace("onSearchByLotNameHandler");
var data:XML = XML(e.responseResult);
var cArray:Array = new Array();
cArray.push("");
var maxWidthC:Number = infoSearchView.infoSearchBlockA.comboBox_Circuit.width;
for each(var cXml:XML in XML(data.child("C")[0]).children()) {
if (maxWidthC < String(cXml).length * 8) {
maxWidthC = String(cXml).length * 8;
}
cArray.push(cXml.toString());
}
var cAC:ArrayCollection = new ArrayCollection(cArray);
infoSearchView.infoSearchBlockA.comboBox_Circuit.dataProvider = cAC;
infoSearchView.infoSearchBlockA.comboBox_Circuit.dropdownWidth = maxWidthC;
}

哪位遇到过类似问题,或者知道可能原因,希望不吝赐教。
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天弈isai 2010-08-19
  • 打赏
  • 举报
回复
通过Debug发现,ComboBox的dataProvider虽然被更新了,但是ComboBox.dropdown的dataProvider并没有被更新,原因不清楚。
在infoSearchView.infoSearchBlockA.comboBox_Circuit.dataProvider = cAC;的后面加一条
infoSearchView.infoSearchBlockA.comboBox_Circuit.dropdown.dataProvider = cAC;
问题就解决了。
天弈isai 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lieri111 的回复:]
每次从新加载数据了吗?还有在change的时候,是否没有改变数据
[/Quote]
问题里面的代码就是数据加载的地方。
从画面效果来看的话,数据是加载了,只是第一次打开dropdown的时候显示的内容是旧的,而改变一下选择的项目,再次打开dropdown的时候,显示内容就是正确的了。
passself 2010-08-19
  • 打赏
  • 举报
回复
每次从新加载数据了吗?还有在change的时候,是否没有改变数据
天弈isai 2010-08-19
  • 打赏
  • 举报
回复
没人了解情况么?还是看不明白我的问题啊?

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧