我是一名尝试Flex的Java开发人员。
所以我的新问题是这样的:
我在Flex中有一个列表组件,由Java中的对象填充(通过绑定dataprovider)。 我已将拖放支持放在列表中。 一切都是好的。 但我希望有一个重置函数来重新初始化列表,即将拖放的元素返回到列表中。
我在重置按钮的事件处理程序上尝试了几件事,但无法重新初始化列表数据。例如:
public function resetList():void {
trace("reset")
listsrc.dataProvider = srv.getTerritories.lastResult
}
“重置”已经过调试,但列表上没有变化。
感谢;
答案 0 :(得分:0)
尝试listsrc.invalidateList();
答案 1 :(得分:0)
我找到了。实际上它很简单。我只是说:
public function resetList():void {
trace("reset")
srv.getTerritories.send()
}
因为已经绑定了;数据提供者的任何变化都会直接反映到列表中。
答案 2 :(得分:0)
另一种方法是将控件绑定到可绑定的arrayCollection。
[Bindable]
var listDP:Array;
在mxml代码中
listsrc.dataProvider = listDP;
无论何时从服务器获取,都要在actionScript中
listDP = srv.getTerritories.send();
通过这种方式,您无需在从服务器请求数据之前实例化控件。