2013-08-17 55 views
0

嗨我想通過rowindex當我點擊一行中的按鈕,數據值返回正確的信息,但rowIndex什麼也沒有返回。flex返回datagrid組件中按鈕的索引

<mx:AdvancedDataGridColumn headerText="EDIT" showDataTips="false" editable="true"> 
    <mx:itemRenderer> 
     <fx:Component> 
      <mx:HBox horizontalAlign="center" verticalAlign="middle"> 
     <s:Button label="Edit" id="editGeo" click="{outerDocument.onClick(data, rowIndex)}"/> 
     </mx:HBox> 
    </fx:Component> 
    </mx:itemRenderer> 
</mx:AdvancedDataGridColumn> 

謝謝!

回答

0

我很驚訝你提供的代碼不會引發錯誤。您需要訪問listDatarowIndex。 listData應該是AdvancedDataGridListData類的一個實例。

<s:Button label="Edit" id="editGeo" click="{outerDocument.onClick(data, listData.rowIndex)}"/> 

由於HBox中沒有一個listData屬性,您可能需要實現它自己的在傳遞數據這樣的事情應該足夠了。

[Bindable] 
public var listData:BaseListData; 

它已經一段時間以來,我一直深入MX組件,所以我的記憶在最後一部分有點生疏。

0

除了第一個答案,當你的datagrid具有垂直滾動條時,儘量不要使用listData.rowIndex,因爲rowIndex只顯示當前可見行的索引。

嘗試使用datagrid的DataProvider中的當前對象索引。