flex:如何刷新(重新初始化)列表

时间:2009-10-06 08:06:12

标签: flex

我是一名尝试Flex的Java开发人员。

所以我的新问题是这样的:

我在Flex中有一个列表组件,由Java中的对象填充(通过绑定dataprovider)。 我已将拖放支持放在列表中。 一切都是好的。 但我希望有一个重置函数来重新初始化列表,即将拖放的元素返回到列表中。

我在重置按钮的事件处理程序上尝试了几件事,但无法重新初始化列表数据。例如:

public function resetList():void {
        trace("reset")
        listsrc.dataProvider = srv.getTerritories.lastResult
    }

“重置”已经过调试,但列表上没有变化。

感谢;

3 个答案:

答案 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();

通过这种方式,您无需在从服务器请求数据之前实例化控件。