Выбор строки для выбора CheckBox в Datagrid - PullRequest
0 голосов
/ 05 января 2010

У меня есть сетка данных с 5 столбцами. Первый столбец имеет флажки, а остальные четыре столбца содержат данные из dataProvider.

У меня есть два вопроса: Во-первых: я хочу, чтобы строка выбиралась, когда я нажимал на флажок или если я нажимал на несколько флажков, каждая строка должна оставаться выделенной в таблице данных, для которой установлен флажок.

Второе: если выбрана строка или несколько строк, должен быть установлен соответствующий флажок.

Мой код указан ниже:

<mx:DataGrid id="dg_trashContent" allowMultipleSelection="true"
                     verticalGridLines="true"
                     dataProvider="{trashDataProvider}"                      
                     width="100%"                        
                     height="100%"
                     fontFamily="Arial">    
    <mx:columns>
        <mx:DataGridColumn id="col0"
                            textAlign="left"
                            sortable="false"
                            headerText="Name"
                            headerStyleName="datagridHeader"
                            dataField="name">
                    <mx:itemRenderer>
                        <mx:Component>
                            <mx:VBox horizontalAlign="center">
                                <mx:Script source="base.as"/>
                                <mx:Script>
                                    <![CDATA[
                                        import mx.controls.Alert;                                           
                                        public function selectRow():void{

                                        }                                           
                                    ]]>
                                </mx:Script>
                                <mx:CheckBox id="rowCheckBox" click="selectRow();"/>
                            </mx:VBox>
                        </mx:Component>
                    </mx:itemRenderer>
        </mx:DataGridColumn>
        <mx:DataGridColumn id="col1"
                            textAlign="left"
                            sortable="false"
                            headerText="Name"
                            headerStyleName="datagridHeader"
                            dataField="name"/>
        <mx:DataGridColumn id="col2"
                            textAlign="left"
                            sortable="false"
                            headerText="Original Location"
                            headerStyleName="datagridHeader"
                            dataField="absoluteTag"/>                                           
        <mx:DataGridColumn id="col4"
                            textAlign="left"
                            sortable="false"
                            headerText="Date Deleted"
                            headerStyleName="datagridHeader"
                            dataField="date"/>
        <mx:DataGridColumn id="col5"
                            textAlign="right"
                            sortable="false"
                            headerText="Size (mb)"
                            headerStyleName="datagridHeader"
                            dataField="size"/>
    </mx:columns>
</mx:DataGrid>          

Я пытался выяснить, как мне это сделать с некоторого времени. Но не смог получить никакого решения. Может кто-нибудь, пожалуйста, помогите мне.

С уважением Зеешан

Ответы [ 2 ]

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

вам нужно написать собственный рендерер элементов для флажка, а также изменить код DataGrid, расширив его и переопределив некоторые методы, такие как selectItem ()

см .: http://cookbooks.adobe.com/post_Datagrid_headerRenderer_checkbox_to_select_checkbo-7262.html

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

Я бы попробовал 2 вещи (если вы их не пробовали):

  1. Убедитесь, что флаг "выбираемый" установлен в true
  2. При установке флажка - добавить этот элемент в массив dataIrids selectedItems

Надеюсь, это поможет.

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