flex3中的列表控件

时间:2010-05-04 08:15:15

标签: flex

我是RIA,Flex的新手。 目前我正在使用Flex 3。 我的工作有些困难。 我有三个列表和一个按钮。 取决于前两个列表中选定的项目,单击按钮后我必须显示详细信息列表中的项目。任何人都可以帮助我 提前谢谢

在第一个列表中显示员工姓名 显示管理员名称的第二个列表 然后,如果我选择一个员工姓名和一个经理姓名然后点击按钮后相应的员工和经理详细信息应该在第三个列表中被取消。 这是我的工作 目前我无法发布我的代码 问题在于初始化详细信息列表并动态更改它。

1 个答案:

答案 0 :(得分:0)

听起来你的第三个“列表”根本不是一个列表,它将是某种类型的DataGrid,或者是每个员工和经理共享的公共数据的键/值对形式。< / p>

据推测,您的员工和经理列表是从数据库中填充的,并且您获得的数据多于每个数据对象的名称。您需要做的是添加一个事件侦听器,它侦听前两个列表中每个列表中的change事件。然后你有一个事件处理程序,它对结果做了一些事情。以下只是连接每个selectedItem的所有数据(对于我们想象的list1和list2)并将其放入ArrayCollection,然后将其指定为DataGrid名为dg的dataProvider:

private function changeHandler(event:DataGridEvent) : void {
  var list1Item:Object = list1.selectedItem;
  var list2Item:Object = list2.selectedItem;

  var ac:ArrayCollection = new ArrayCollection();

  for (prop in list1Item) {
    ac.addItem({prop:list1Item[prop]});
  }
  for (prop in list2Item) {
    ac.addItem({prop:list2Item[prop]});
  }
  dg.dataProvider = ac;
}

这显然是你将如何做到这一点,但它就是一个例子。您更有可能拥有某些您想要展示的属性,这些属性将添加到dg dataProvider中。

在没有具体描述和要求的情况下,这一点对我的说法很有帮助。