![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 11
|
Помогите пожалуйста а то уже целую неделю не могу решить задачу которая состоит в следующем: Нужно динамически рисовать таблицу где в каждой ячейке был бы radiobutton. Радиобатоны в строке должны принадлежать к одной группе (хотя сойдет даже и в одном столбце). То-есть в разных строках выбор пользователем должен делаться независимо. Перерыл много адобовской доки где написано что пользовательское переопределение содержимого ячеек делается с помощью написания пользовательского класса который должен инкапсулировать интерфейс ICellRenderer и наследовать UICOmponent с последующим присвоением класса свойству CellRenderer у DataGridColumn. http://www.adobe.com/devnet/flash/qu...pt3/#section14
Но этот путь заводит в тупик поскольку, невозможно одним пользовательским классом (например var dataCol:DataGridColumn = new DataGridColumn("data"); dataCol.cellRenderer = LoaderCellRenderer; var titleCol:DataGridColumn = new DataGridColumn("title"); titleCol.cellRenderer = LoaderCellRenderer; Что касается применения разных класов для каждой колонки var dataCol:DataGridColumn = new DataGridColumn("data"); dataCol.cellRenderer = LoaderCellRenderer; var titleCol:DataGridColumn = new DataGridColumn("title"); titleCol.cellRenderer = LoaderCellRenderer2; -Во первых данные формируются динамически и я не могу знать наперед количества строк и столбцов -во вторых если пользователь кликнет на определенном радиобатоне то обязательно выбранными станут остальные радиобатоны в той же строке в силу того, что Datagrid по щелчку выделяет целый item которому соответствует вся строка. Как сделать так чтобы отдельно можно было присваивать значения каждой ячейке и соответственно щелчек приводил бы к выбору(selected) одной ячейки а не целой строки? |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 7
|
Если еще не поздно, то решение вашей проблемы в переопределении set метода параметра selected у LoaderCellRenderer. Так как при нажатии на строку этот параметр у всех ячеек этой строки становится true; А так как ваша ячейка скорей всего унаследована от радиобатона, то соответственно и ему устанавливается true.
Пример такой override public function get selected():Boolean { return _selected; } override public function set selected(value:Boolean):void{} вешаем слушателя на нажатие мыши: Таким образом у меня все заработало. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|