2012-08-14 52 views
0

有沒有辦法確保所選項目在Spark DataGrid中可見?確保Spark DataGrid項目可見

。我有一個數組網格綁定到數組集合。我遠程接收了一個服務,該服務給了我一個集合中的對象的ID(字符串)。只使用字符串循環查找與字符串匹配的項目。我通過它的ID找到對象。現在我有要在數據網格中選擇的對象。我可以設置

dataGrid.selectedItem = object; 

現在我需要確保它是可見的。我沒有行或列索引。

更新
使用下面的答案我已經使用此功能稱讚它:

/** 
    * Ensures the item is visible (for spark data grid) 
    **/ 
    public function ensureItemIsVisibleInSparkDataGrid(datagrid:spark.components.DataGrid, item:Object):void { 
     var list:IList = datagrid.dataProvider; 
     var length:int = list.length; 
     var itemFound:Boolean; 
     var object:Object; 
     var index:int; 

     for (var i:int;i<length;i++) { 
      object = list.getItemAt(i); 

      if (object==item) { 
       itemFound = true; 
       index = i; 
       break; 
      } 
     } 

     if (itemFound) { 
      datagrid.ensureCellIsVisible(index); 
     } 
    } 

回答

1

是的,這就是所謂的ensureCellIsVisible()。您需要知道該項目的行和列。爲了使這個工作,你需要聽取selectionChange事件,然後計算當前選擇的項目的行和列。

+0

我看到了這種方法,但像你說的,你必須確定我不知道該怎麼做的行和列。我只有該項目(以前選擇)。我沒有選定的索引。 – 2012-08-15 09:06:57

+0

您沒有[selectedCell](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/DataGrid.html#selectedCell)? – NoobsArePeople2 2012-08-15 16:00:21

+0

我不知道selectedCell存在!看起來不錯 – 2012-08-15 18:55:14