Ошибка - при попытке установить флажок, когда в сетке данных выбрана строка - PullRequest
0 голосов
/ 06 января 2010

Я хочу, чтобы мой флажок - который находится в сетке данных, был выбран, когда выбрана строка сетки данных. И для этого я написал следующий код:

<mx:DataGrid id="dg_trashContent" allowMultipleSelection="true"
                         verticalGridLines="true"
                         dataProvider="{trashDataProvider}"                      
                         width="100%"                        
                         height="240"
                         fontFamily="Arial" y="23"
                         selectable="true"> 
        <mx:columns>
            <mx:DataGridColumn id="col0"
                                textAlign="left"
                                sortable="false"
                                headerText=""
                                headerStyleName="datagridHeader"
                                dataField="name"
                                width="20">
                        <mx:itemRenderer> 
                                <mx:Component> 
                                        <mx:VBox paddingLeft="5"> 
                                                <mx:CheckBox  selected="{data.isRowSelected}" 
                                                            click="outerDocument.updateSelectedRowFlag(event);" 
                                                            change="{this.selected = data.isRowselected; }"/> 
                                        </mx:VBox> 
                                </mx:Component> 
                        </mx:itemRenderer> 
                </mx:DataGridColumn> 
            <mx:DataGridColumn id="col1"
                                textAlign="left"
                                sortable="true"
                                headerText="Name"
                                headerStyleName="datagridHeader"
                                dataField="name"/>

Но я получаю сообщение об ошибке для свойства selected, которое я использовал в своем checkBox. ошибка говорит: Доступ возможно неопределенного свойства, выбранного через ссылку со статическим типом TrashContainer_inlineComponent1.

Не могли бы вы посмотреть, что я здесь делаю не так.

С уважением Zeeshan

1 Ответ

0 голосов
/ 06 января 2010

Вы можете использовать этот рендерер

<mx:DataGridColumn id="col0" 
                            textAlign="left" 
                            sortable="false" 
                            headerText="" 
                            dataField="key" 
                            width="20"> 
                    <mx:itemRenderer>  
                            <mx:Component>  

                                    <mx:VBox paddingLeft="5">  
                                    <mx:Script>
                                        <![CDATA[
                                            import mx.controls.DataGrid;

                                            override public function set data(value:Object):void
                                            {
                                                super.data = value;
                                                ckb.selected = data.isRowSelected;

                                                if(data.isRowSelected)
                                                    (parent.parent as DataGrid).selectedItem = data;
                                            }
                                        ]]>
                                    </mx:Script>
                                            <mx:CheckBox id="ckb" />
                                    </mx:VBox>  
                            </mx:Component>  
                    </mx:itemRenderer>  
            </mx:DataGridColumn>  

где isRowSelected является частью объекта данных в коллекции.

Я надеюсь, что это может быть полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...