Flex dataGrid使用ItemRenderer在datagridcolumn中添加按钮?

时间:2011-05-12 11:38:23

标签: flex actionscript flex3 flex4

我有这个代码。我想在data grird的第二列中添加Buttons。

<mx:DataGrid width="100%" height="95%" id="id_variableRefList" >
  <mx:columns>
    <mx:DataGridColumn id="id_name" dataField=""/>
    <mx:DataGridColumn id="id_strip" dataField="">
    </mx:DataGridColumn>
  </mx:columns>
</mx:DataGrid>

如何使用ItemRenderer在第二列中添加按钮?

1 个答案:

答案 0 :(得分:9)

有很多方法可以做到这一点。

您可以像inline itemRenderer这样使用:

<fx:Script>
  public function myButton_clickHandler(event:Event):void
  {
    Alert.show("My button was clicked!");
  }
</fx:Script>

<mx:DataGrid width="100%" height="95%" id="id_variableRefList" >
  <mx:columns>
    <mx:DataGridColumn id="id_name" dataField=""/>
    <mx:DataGridColumn id="id_strip" dataField="">
      <mx:itemRenderer>
       <fx:Component>
        <mx:VBox>
         <mx:Button label="My Button" click="outerDocument.myButton_clickHandler(event);" />
        </mx:VBox>
       </fx:Component>
      </mx:itemRenderer>
    </mx:DataGridColumn>
  </mx:columns>
</mx:DataGrid>

或者您可以创建DataGridColumn的{​​{3}}。

<mx:DataGrid width="100%" height="95%" id="id_variableRefList" >
  <mx:columns>
    <mx:DataGridColumn id="id_name" dataField=""/>
    <mx:DataGridColumn id="id_strip" dataField="" itemRenderer="MyCustomItemRenderer"/>
  </mx:columns>
</mx:DataGrid>

<强>更新 要获取所点击按钮的ID,您可以使用传递给currentTarget的{​​{1}} event属性。

eventListener