Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Как динамически запрещать/разрешать отображать ячейку в DataGrid? (http://www.flasher.ru/forum/showthread.php?t=118073)

shami 13.11.2008 20:18

Как динамически запрещать/разрешать отображать ячейку в DataGrid?
 
Есть DataGrid из 3-х колонок, в первой чекбоксы, во второй названия продуктов, в 3-ьей количество продуктов. Нужно в зависимости от состояния чексбокса отображать или не отображать количество продуктов(точнее редактировать, но нужно и не отображать, тоже).
Кто-нибудь подскажите, как это сделать.

librio 14.11.2008 16:58

Можно. Используй ItemRenderer для 3-ей колонки. Прячь/показывай данные в ячейки в зависимости от значения флага в строке. Сам флаг меняй по selected чек-бокса.

shami 14.11.2008 17:19

Код:

        <mx:DataGrid id="tipServiceProvidersManager"
                                        dataProvider="{serviceProvidersForTips}"
                                        rowCount="{serviceProvidersForTips.length>0?serviceProvidersForTips.length:1}"
                    itemEditEnd="dispatchEvent(event)" editable="false"
                    selectable="false"  x="10" y="40">
                   
                <mx:columns>
                        <mx:DataGridColumn dataField="checked">
                                <mx:itemRenderer>
                                        <mx:Component>
                                                <mx:CheckBox selected="{data.checked}"/>
                                        </mx:Component>                                       
                                </mx:itemRenderer>                                       
                        </mx:DataGridColumn>
                        <mx:DataGridColumn dataField="name"/>
                        <mx:DataGridColumn dataField="amount">
                                <mx:itemRenderer>
                                        <mx:Component>
                                                <mx:TextInput text="{data.amount}" editable="{data.checked}"/>
                                        </mx:Component>
                                </mx:itemRenderer>
                        </mx:DataGridColumn>

Такая конструкция, работает только в момент загрузки. То есть та переменная в которой поле для чексбокса изначально создает с False, то ее поле amount, редактировать и недьзя, но изменение чексбокса никак не влияет на работу программы


Часовой пояс GMT +4, время: 03:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.