![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 04.05.08]
Регистрация: May 2008
Адрес: Czech, Prague
Сообщений: 65
|
Привет друзья.
Нужна помощь. ![]() Есть у меня XML объект который я скормил DataGrid'u Нужно добавить в DataGrid в каждую строку CheckBox. Потом нужно получить все значения выделенных CheckBox'ов (id - элемент в XML) Пример XML'я:
![]() |
|
|||||
|
[+1 04.05.08]
Регистрация: May 2008
Адрес: Czech, Prague
Сообщений: 65
|
Цитата:
Вот зачем это делать? А тут вообще не пойму логики: И зачем тут добавили поле которого нет в изначальной структуре данных? dataField="online" Каша в голове. Обязательно ли добавлять элемент в мой XML:Цитата:
|
|
|||||
|
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
Вообще, с хмл могут возникнуть сложности поскольку большинство методов по работе с хмл создают новый XML или XmlList, т.е. изменение его не повлечёт изменение начального, сразу не могу понять что и как должно быть, и это собственно не самое благодарное занятие
![]() это для задания начальных значей в общем-то, т.е. в данном примере это не обязательно, но если какой-то online будет на старте true, то это задание всё исправит. При клике мы изменяем содержимое, само чекБокс поле забиндино на это содержимое см. выше Цитата:
Если я правильно понял вопрос, то этот столбец добавлен просто для показаетльных выступлений. Цитата:
, во всяком случае я бы не работал с ним.Добавлено через 14 минут Или собственно вот так: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.controls.CheckBox; [Bindable] private var _xml:XMLList = new XMLList('<msg><id>1</id><date>10.11.2009</date><subject>I lost my Password</subject><message>Hi there. I lost my pass dude. Need help</message></msg><msg><id>2</id><date>11.11.2009</date><subject>I dit that</subject><message>Admin, call me pls.</message></msg>'); private var _arr:Array; private function init():void { _arr = new Array(_xml.length); gridMsg.addEventListener('CheckBoxChanged',change); } private function change(e:Event):void { _arr[(e.target as CheckBox).data.id] = (e.target as CheckBox).selected; trace (_arr); } ]]> </mx:Script> <mx:DataGrid id="gridMsg" dataProvider="{_xml}"> <mx:columns> <mx:DataGridColumn> <mx:itemRenderer> <mx:Component> <mx:CheckBox click="onClick(event)"> <mx:Script> <![CDATA[ private function onClick(e:MouseEvent):void { var ev:Event = new Event('CheckBoxChanged',true,false); (this as EventDispatcher).dispatchEvent(ev); } ]]> </mx:Script> </mx:CheckBox> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> <mx:DataGridColumn dataField="date" headerText="Date"/> <mx:DataGridColumn dataField="subject" headerText="Subject"/> </mx:columns> </mx:DataGrid> </mx:Application> Последний раз редактировалось r_r_f_r; 05.02.2009 в 16:04. |
|
|||||
|
[+1 04.05.08]
Регистрация: May 2008
Адрес: Czech, Prague
Сообщений: 65
|
Спасибо что объяснил. ![]() Всё понятно стало. Хехеххе, сделал, работает.
![]() Когда нужно будет получить выделенные элементы, я просто пробегу по XML объекту и соберу урожай. ![]() Дело в том что мне удобно работать с XML. У меня есть Server Side. Мне функции на Jave возвращают уже готовый объект и я его тупо отдаю гриду. Использую GlassFish + BlazeDS Оборачиваю всё в xml используя org.w3c.Document etc... Всё очень просто и удобно. Добавлено через 23 минуты Забыл сказать. Добавил в XML элемент: Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:19. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|