|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Banned
Регистрация: Sep 2006
Сообщений: 17
|
Как понять, какие CheckBox выделены?!
Есть список операторов, которые в DataGrid'е. Все поля, кроме первого, заполняются данными из XML, полученного от сервиса.
В первом столбце - CheckBox. Выбираем операторов с помощью CheckBox и после (например) нажатия какой-нибудь кнопки, необходимо получить массив операторов, которые выбраны. Я догадываюсь, как делать, если обрабатывать каждое выделение. А можно ли получить сразу весь массив?! <mx:DataGrid id="dg" bottom="40" left="10" right="10" top="66"> <mx:columns> <mx:DataGridColumn headerText=" " dataField="isSelect" editable="true" rendererIsEditor="true" itemRenderer="mx.controls.CheckBox" editorDataField="selected" width="1"/> <mx:DataGridColumn headerText="УК" dataField="uk" width="10"/> <mx:DataGridColumn headerText="Л/С" dataField="paccount" width="10"/> <mx:DataGridColumn headerText="КРС" dataField="krs" width="10"/> <mx:DataGridColumn headerText="Оператор" dataField="name_op" width="30"/> <mx:DataGridColumn headerText="Уров. присоед" dataField="link_level" width="10"/> </mx:columns> </mx:DataGrid> |
|
|||||
При изменении нажатии checkBox'a меняется значение в dataProvider'e (если itemRenderer написан правильно). При нажатии кнопку, все выделенные элементы легко получить с помощью примерно такой выборки (примерный код):
|
|
|||||
Banned
Регистрация: Sep 2006
Сообщений: 17
|
На самом деле, не получается, потому что (как я уже писал), все колонки кроме первой заполняются из полученного XML. В XML'е я получаю информацию об операторах.
И, вытаскивая dataProvider, я получаю тот же самый XML, который задавал на входе и столбца isSelect там нет. Последний раз редактировалось kirillmana; 10.08.2007 в 10:49. |
|
|||||
Banned
Регистрация: Sep 2006
Сообщений: 17
|
Все, как вариант можно при получении XML делать
Sneg, там только единственно не dataProvider.(@isSelect == "true"), а dataProvider.(isSelect == "true") - это же элемент, а не атрибут Последний раз редактировалось kirillmana; 10.08.2007 в 12:16. |
|
|||||
Формат dataProvider'a входящих данных ты не дал - потому и предположил что это атрибут
|
|
|||||
Banned
Регистрация: Sep 2006
Сообщений: 17
|
Только сейчас побочный глюк, не понятно от чего...
<mx:DataGrid id="dg" bottom="40" left="10" right="10" top="66" editable="true"> <mx:columns> <mx:DataGridColumn headerText=" " dataField="isSelect" editable="true" rendererIsEditor="true" itemRenderer="mx.controls.CheckBox" editorDataField="selected" width="1"/> <mx:DataGridColumn headerText="УК" dataField="uk" width="10" editable="false"/> <mx:DataGridColumn headerText="Л/С" dataField="paccount" width="10" editable="false"/> </mx:columns> </mx:DataGrid> var dataPr:XMLList = (dg.dataProvider as XMLListCollection).source; var selectedItems:XMLList = dataPr.(isSelect=="true"); var item:XML; for each (item in selectedItems){ trace(item.uk); } Но самое интересное, что trace выдает все те строки, которые я как бы выделел, но не видно, что они выделены. Последний раз редактировалось kirillmana; 10.08.2007 в 12:25. |
|
|||||
Не видно - потомучто возможно ты в itemRenderer'e не переписал метод
почитай в хелпе - там есть подобный пример. |
|
|||||
kirillmana почему ты отказываешься пользоваться поиском? или ты думаешь что при средней гениальности флешеров ты самый гениальный и только ты придумал использовать чекбоксы в айтем рендерах?
Лично я давал тут пример http://www.flasher.ru/forum/showthread.php?t=91950 чтобы его найти я потратил 5 кликов мыши и 8 нажатий на кнопоки клавиатуры (ввод слова comboBox) + я могу найти легким движением руки еще несколько примеров применения комбобокса в айтем рендерах в интернете. ты уже неделю паришься с этими рендерами, неужели тяжело потратить целый день на изучение, а потом за 5 минут долететь?
__________________
33 коровы |
Часовой пояс GMT +4, время: 15:11. |
|
« Предыдущая тема | Следующая тема » |
|
|