簡體   English   中英

Flex:以編程方式選擇某行 - selectedItem為null

[英]Flex:programmatically selecting some row - selectedItem is null

在我的應用程序中,我有一個綁定到RemoteObject的數據網格。 datagrid具有包含詳細信息的相應表單。 當用戶單擊datagrid中的行時,表單將填充DataGrid的selectedItem中的值。

我想在應用程序加載時以編程方式在我的DataGrid中選擇一些行。

為了做到這一點,我必須調用validateNow()和scrollToIndex()

例如。

dg.selectedIndex = i; dg.validateNow();
dg.scrollToIndex(ⅰ);

我將此代碼放在Applications creationComplete處理程序中。

這一切都很有效 - 所需的行突出顯示並選中,selectedIndex為i。 問題是我無法訪問數據以填充詳細信息表單。 當我嘗試檢索dg.SelectedItem屬性時 - 它為null。

如何在加載時以編程方式選擇網格中的某些行並訪問行數據?

謝謝

采用

dg.invalidateList();
dg.callLater(setRows, [1]);

function selRows(indices:Array):void {
  dg.selectedIndices = indices;
  dg.validateNow();
  dg.scrollToRow(indices[0]);
}

基本上,如果您要更改DG數據並在同一流程中選擇項目,您的選擇將被ListBase方法覆蓋,您必須在當前GUI更新后設置您需要使用callLater方法的選擇。

datagrid的選定項目只是指向dataProvider中的項目。 如果您知道要在數據網格中選擇哪個項目,只需在源數據中使用該項目來完成表單的初始填充。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM