如何找出动态创建的复选框是在flex中的数据网格组件中选择/取消选择?

时间:2009-07-01 13:47:05

标签: php flex air flash

我在数据网格上创建动态复选框如何找出选择/取消选择哪个复选框以及选择/取消选择哪个复选框联系人?因为我们无法为每个复选框设置动态ID

<mx:DataGrid x="7" y="3" width="347" height="337" dataProvider="{#####}" variableRowHeight="true">
    <mx:columns>
        <mx:DataGridColumn headerText="S.No" dataField="match_id" width="50"/>
        <mx:DataGridColumn headerText="Home" dataField="home_team" width="100"/>
        <mx:DataGridColumn headerText="Away" dataField="away_team" width="100"/>
        <mx:DataGridColumn headerText="1" >
            <mx:itemRenderer>
                <mx:Component>
            <mx:HBox verticalAlign="middle" paddingLeft="2">
                        <mx:CheckBox>
                        </mx:CheckBox>
                    </mx:HBox>
        </mx:Component>
    </mx:itemRenderer>
        </mx:DataGridColumn>
    <mx:DataGridColumn headerText="*" >
            <mx:itemRenderer>
                <mx:Component>
        <mx:HBox verticalAlign="middle" paddingLeft="2">
                        <mx:CheckBox>
                        </mx:CheckBox>
                    </mx:HBox>
        </mx:Component>
            </mx:itemRenderer>
        </mx:DataGridColumn>
        <mx:DataGridColumn headerText="2">
            <mx:itemRenderer>
                <mx:Component>
                    <mx:HBox verticalAlign="middle" paddingLeft="2">
                        <mx:CheckBox>
                        </mx:CheckBox>
                    </mx:HBox>
                </mx:Component>
            </mx:itemRenderer>
        </mx:DataGridColumn>
    </mx:columns>
</mx:DataGrid>

1 个答案:

答案 0 :(得分:0)

如果你为itemRenderer创建一个组件而不是按照它们在上面表示的方式添加它们会使事情变得更加清晰。然后,如果该组件实现了IDropInListItemRender接口,那么您将能够从DataGrid(here is a great article on the subject)上的组件中侦听事件。由于itemRenderer基于DataGrid的dataProvider中的数据,因此您可以在自己监听的自定义事件中访问该信息。

itemRenderer组件中的

<mx:Checkbox id="myCheckbox" change="this.list.dispatchEvent(new CustomEvent(CustomeEvent.TYPE, myCheckbox.selected, this.data)) />

或其他影响。