flex中使dataGrid每行都有button

使dataGrid中每行都有button,且在点击button时知道点击的是哪行的button。

代码如下:

<mx:DataGrid id="dg" editable="true" color="0x323232" width="100%" height="450" rowCount="32" rowHeight="40" dataProvider="{dataIndicator}">
            <mx:columns>
                <mx:DataGridColumn dataField="indexIndicator" width="50" headerText="序号" textAlign="center" editable="false"/> 
                <mx:DataGridColumn dataField="INDICATOR_VALUE" headerText="指标值" editable="true"/>  
                <mx:DataGridColumn editable="false" width="120" itemRenderer="">
                    <mx:itemRenderer>
                        <fx:Component>
                            <mx:HBox width="100" horizontalAlign="center" verticalAlign="top">                                
                                <mx:Button label="保    存" width="80" click="outerDocument.button1_clickHandler(event)">
                                    
                                    <fx:Script>
                                        <![CDATA[
                                            protected function button1_clickHandler(event:MouseEvent):void
                                            {
                                                // TODO Auto-generated method stub
                                                
                                                
                                            }
                                        ]]>
                                    </fx:Script>
                                    
                                </mx:Button>                                
                            </mx:HBox>
                        </fx:Component>
                    </mx:itemRenderer>
                </mx:DataGridColumn>
            </mx:columns>
        </mx:DataGrid>

自动生成的button的click方法没有在原页面上,所以无法调用dataGrid中selectedIndex,所以需要引用outerDocument.的方法,这样就能访问到外面的方法,此时可以删掉<mx:Button>中间的<fx:Script>,直接调用外面的方法了,外面的方法一定要定义为public类型,否则还会报错.

 

posted on 2014-12-30 15:08  LotusGu  阅读(587)  评论(0编辑  收藏  举报

导航