我使用setInterval每5秒輪詢一次RemoteObject,並將返回的結果(Array)作爲DataProvider輸入DataGrid。但每次發生這種情況時,所選行將在DataGrid刷新時取消選擇。所以我想在DataGrid更新時重新選擇這個項目。Flex 4:無法預先選擇DataGrid中的項目(Array)
到目前爲止,我已經嘗試捕捉選定行使用被稱爲前的RemoteObject:
private function refreshDataGrid(e:ResultEvent):void
{
var selectedRow:Object = myDataGrid.selectedItem;
myDataGrid.dataProvider = e.result as Array;
myDataGrid.selectedItem = selectedRow;
}
然而,這是行不通的。如果我選擇該行,然後執行「trace(myDataGrid.selectedItem)」,則控制檯中的結果爲空。
在另一個嘗試我想:
private function refreshDataGrid(e:ResultEvent):void
{
var selectedItem:* = myDataGrid.selectedItem.itemId;
myDataGrid.dataProvider = e.result as Array;
myDataGrid.selectedItem.itemId = selectedItem;
}
這也不起作用。
任何人都可以幫我做這個工作嗎?任何幫助將不勝感激。提前致謝。
這是最容易實現,效果很好。謝謝。 – Reado 2010-11-03 09:17:38