Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在复选框上启用和禁用(可编辑)列_Apache Flex_Checkbox_Itemrenderer - Fatal编程技术网

Apache flex 在复选框上启用和禁用(可编辑)列

Apache flex 在复选框上启用和禁用(可编辑)列,apache-flex,checkbox,itemrenderer,Apache Flex,Checkbox,Itemrenderer,我在AdvancedDataGrid中有3列,第一列包含复选框,另外两列包含文本框,所有这些都在datagrid列的单独ItemRenders中 如果选中复选框,则特定行中的后续文本框应可编辑,如果未选中复选框,则文本框不应可编辑此代码将起作用 <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"

我在AdvancedDataGrid中有3列,第一列包含复选框,另外两列包含文本框,所有这些都在datagrid列的单独ItemRenders中

如果选中复选框,则特定行中的后续文本框应可编辑,如果未选中复选框,则文本框不应可编辑

此代码将起作用

 <?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       width="100%" height="100%" creationComplete="maximize()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            [Bindable]
            public var arrayColl:ArrayCollection = new ArrayCollection([
                {sno:1, fname: 'ABC 1', lname: 'DEF 1'},
                {sno:2, fname: 'ABC 2', lname: 'DEF 2'},
                {sno:3, fname: 'ABC 3', lname: 'DEF 3'},
                {sno:4, fname: 'ABC 4', lname: 'DEF 4'}
            ]);
        ]]>
    </fx:Script>
    <s:VGroup width="100%" height="100%" verticalAlign="middle" horizontalAlign="center">

        <mx:AdvancedDataGrid id="advancedDataGrid" width="50%" height="50%" dataProvider="{arrayColl}">
            <mx:columns>
                <mx:AdvancedDataGridColumn dataField="" headerText="" width="50">
                    <mx:itemRenderer>
                        <fx:Component>
                            <s:MXAdvancedDataGridItemRenderer>

                                <fx:Script>
                                    <![CDATA[
                                        protected function chkEdit_changeHandler(event:Event):void
                                        {
                                            data.isEditable = chkEdit.selected;
                                            outerDocument.arrayColl.refresh();
                                        }
                                    ]]>
                                </fx:Script>

                                <s:CheckBox id="chkEdit" selected="false" change="chkEdit_changeHandler(event)"
                                            verticalCenter="0" horizontalCenter="0"/>
                            </s:MXAdvancedDataGridItemRenderer>
                        </fx:Component>
                    </mx:itemRenderer>
                </mx:AdvancedDataGridColumn>

                <mx:AdvancedDataGridColumn dataField="fname" headerText="First Name">
                    <mx:itemRenderer>
                        <fx:Component>
                            <s:MXAdvancedDataGridItemRenderer>

                                <fx:Script>
                                    <![CDATA[
                                        import spark.events.TextOperationEvent;
                                        override public function set data(value:Object):void {
                                            super.data = value;

                                            if (data != null) {
                                                txtFName.editable = data.isEditable;
                                            }
                                        }

                                        protected function txtFName_changeHandler(event:TextOperationEvent):void
                                        {
                                            data.fname = event.currentTarget.text;
                                        }

                                    ]]>
                                </fx:Script>

                                <s:TextInput id="txtFName" text="{listData.label}" editable="false" verticalCenter="0" horizontalCenter="0"
                                             change="txtFName_changeHandler(event)"/>
                            </s:MXAdvancedDataGridItemRenderer>
                        </fx:Component>
                    </mx:itemRenderer>
                </mx:AdvancedDataGridColumn>

                <mx:AdvancedDataGridColumn dataField="lname" headerText="Last Name">
                    <mx:itemRenderer>
                        <fx:Component>
                            <s:MXAdvancedDataGridItemRenderer>

                                <fx:Script>
                                    <![CDATA[
                                        import spark.events.TextOperationEvent;
                                        override public function set data(value:Object):void {
                                            super.data = value;

                                            if (data != null) {
                                                txtLName.editable = data.isEditable;
                                            }
                                        }

                                        protected function txtLName_changeHandler(event:TextOperationEvent):void
                                        {
                                            data.lname = event.currentTarget.text;                                          
                                        }

                                    ]]>
                                </fx:Script>

                                <s:TextInput id="txtLName" text="{listData.label}" editable="false" verticalCenter="0" horizontalCenter="0"
                                             change="txtLName_changeHandler(event)"/>
                            </s:MXAdvancedDataGridItemRenderer>
                        </fx:Component>
                    </mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
            </mx:columns>
        </mx:AdvancedDataGrid>
    </s:VGroup>

</s:WindowedApplication>

请不要发布。删除其中一个并编辑问题,包括您迄今为止尝试的代码。不管怎样,我稍后会发布答案。