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

我有这个代码.我想在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在第二列中添加按钮?

解决方法

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

您可以像这样使用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的custom component and set the itemRenderer property.

<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,可以使用传递给eventListener的事件的currentTarget属性.

public function myButton_clickHandler(event:Event):void
  {
    Alert.show("Button " + Button(event.currentTarget).id + " was clicked!");
  }

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...