2010-05-04 29 views
0

我是RIA,Flex的新手。 目前我使用的是Flex 3. 我的工作有些困難。 我有三個列表和一個按鈕。 視達於前兩個列表中選定的項目,點擊按鈕後,我要在DISPLY任何list.can細節項目的任何一個可以幫助我 在此先感謝flex3中的列表控件

在第一個列表中IAM顯示員工 的名字第二個列表顯示經理名稱 然後,如果我選擇一個員工姓名和一個經理人姓名,然後單擊按鈕後,相應的員工和經理的細節應該排除在第三個列表中。 這是我的工作 目前iam無法發佈我的代碼 問題是初始化細節列表並動態更改它。

+0

你可否再詳述一下。你想在第三個列表中顯示什麼細節?你的數據提供者怎麼組織的?發佈代碼。 – Amarghosh 2010-05-04 08:25:18

+0

plese再次編輯我的問題 – Madhu 2010-05-04 08:48:52

回答

0

這聽起來像你的第三個「列表」根本不會成爲一個列表,它將成爲某種數據網格,或者是每個員工和經理共享的公共數據的鍵/值對形式。

假設您的員工和經理名單是從數據庫填充的,並且您獲得的數據比每個數據對象的名稱更多。你需要做的是添加一個事件監聽器,它監聽前兩個列表中的每個列表中的更改事件。然後你有一個事件處理程序來處理結果。以下只是串接所有的數據從每個selectedItem(我們想象的列表1和列表2),並把它變成一個ArrayCollection,然後將其指定爲數據提供程序爲DataGrid名爲DG:

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中。

這是一樣有幫助,因爲我可以說一般,在沒有具體的描述和要求。

+0

非常感謝您的answer.it效果不錯 – Madhu 2010-05-05 03:08:52

+0

好的,那麼如果這回答您的問題,通常點擊複選標記接受答案,或至少upvote它。這提高了您的接受比例,並使人們更有可能想在未來回答您的問題。 – Robusto 2010-05-05 12:24:56