Flex datagrid列禁用并启用

时间:2011-12-02 07:51:03

标签: flex actionscript flex3 flex-datagrid

在我的flex应用程序中使用带有以下列的数据网格

<mx:DataGrid x="10" y="265" width="1205" dataProvider="{vendors}"  editable="true" lockedColumnCount="4"   horizontalScrollPolicy="on">
                        <mx:DataGridColumn headerText="Select" editable="false" textAlign="center" >
                        <mx:itemRenderer >
                            <mx:Component>

                                <mx:CheckBox click="data.select = !data.select"  change="outerDocument.addDetail(data)"  selected="{data.select}" > 
                                </mx:CheckBox>
                            </mx:Component>
                        </mx:itemRenderer>
                    </mx:DataGridColumn>

                    <mx:DataGridColumn headerText="One" dataField="one" color="black" editable="false" width="125" />
                    <mx:DataGridColumn headerText="Two" dataField="two" color="black" editable="false" width="125"/>
                    <mx:DataGridColumn headerText="Three" dataField="three" color="black" editable="false"/>
                    </mx:DataGird>

现在我想在获取数据时禁用复选框列。如果用户选择datagrid中的任何字段进行编辑,数据将填入数据网格中。应该启用该选定行的复选框...其他行复选框应该被禁用..

我希望此信息足以满足此要求

关于这个的任何想法?提前谢谢你...

1 个答案:

答案 0 :(得分:0)

我完全不了解你的问题,但试图回答它。

<mx:DataGrid x="10" y="265" width="1205" dataProvider="{vendors}"  editable="true" lockedColumnCount="4"   horizontalScrollPolicy="on" id="dgGrid">
                    <mx:DataGridColumn headerText="Select" editable="false" textAlign="center" >
                    <mx:itemRenderer >
                        <mx:Component>

                            <mx:CheckBox click="data.select = !data.select"  change="outerDocument.addDetail(data)"  selected="{data.select}"
enabled="{outerDocument.dgGrid.selectedIndex==outerDocument.vendors.getItemIndex(data)}> 
                            </mx:CheckBox>
                        </mx:Component>
                    </mx:itemRenderer>
                </mx:DataGridColumn>

                <mx:DataGridColumn headerText="One" dataField="one" color="black" editable="false" width="125" />
                <mx:DataGridColumn headerText="Two" dataField="two" color="black" editable="false" width="125"/>
                <mx:DataGridColumn headerText="Three" dataField="three" color="black" editable="false"/>
                </mx:DataGird>

这将起作用如果你的网格数据提供者是一个声明为public的arrayCollection。