這將是一個簡單的問題,但屬性'selectable'設置爲'false',因此selectedItem始終爲null。Flex:當'selectable'設置爲'false'時Datagrid中的行索引
在每一行我都有3個按鈕。當我點擊一個按鈕時,我需要提取對應於點擊行的數據。
任何想法我該怎麼做?謝謝。
這將是一個簡單的問題,但屬性'selectable'設置爲'false',因此selectedItem始終爲null。Flex:當'selectable'設置爲'false'時Datagrid中的行索引
在每一行我都有3個按鈕。當我點擊一個按鈕時,我需要提取對應於點擊行的數據。
任何想法我該怎麼做?謝謝。
我假設你使用的是MX DataGrid,對嗎?
在您的itemRenderer中,引用listData屬性並將其轉換爲DataGridListData。
單擊按鈕時發送包含rowIndex的自定義事件。您應該能夠使用rowIndex從dataProvider中獲取選定的項目。
這是我的項目渲染
<?xml version="1.0" encoding="utf-8"?>
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
focusEnabled="true">
<fx:Script>
<![CDATA[
public var parentView:Object;
public static function getEditDeleteRenderer(view:Object):ClassFactory{
var editDeleteRenderer:ClassFactory = new ClassFactory(EditDeleteRenderer);
editDeleteRenderer.properties = { parentView:view };
return editDeleteRenderer;
}
function editItem():void{
parentView.editItem(data);
}
function deleteItem():void{
parentView.deleteItem(data);
}
]]>
</fx:Script>
<mx:HBox paddingLeft="5">
<mx:Image source="assets/edit.png" click="editItem()" />
<mx:Image source="assets/delete.png" click="deleteItem()" />
</mx:HBox>
</s:MXDataGridItemRenderer>
這是我如何使用它
<mx:DataGridColumn headerText="Activity" width="100" itemRenderer="{EditDeleteRenderer.getEditDeleteRenderer(this)}" />
public function editItem(foo:Foo){
// do edit operation
}
public function deleteItem(foo:Foo):void{
// do delete operation
}