Показать сообщение отдельно
Старый 03.11.2009, 02:53
olevacho вне форума Посмотреть профиль Отправить личное сообщение для olevacho Найти все сообщения от olevacho
  № 1  
Ответить с цитированием
olevacho

Регистрация: Nov 2009
Сообщений: 11
По умолчанию Работа с отдельными ячейками DataGrid

Помогите пожалуйста а то уже целую неделю не могу решить задачу которая состоит в следующем: Нужно динамически рисовать таблицу где в каждой ячейке был бы radiobutton. Радиобатоны в строке должны принадлежать к одной группе (хотя сойдет даже и в одном столбце). То-есть в разных строках выбор пользователем должен делаться независимо. Перерыл много адобовской доки где написано что пользовательское переопределение содержимого ячеек делается с помощью написания пользовательского класса который должен инкапсулировать интерфейс ICellRenderer и наследовать UICOmponent с последующим присвоением класса свойству CellRenderer у DataGridColumn. http://www.adobe.com/devnet/flash/qu...pt3/#section14
Но этот путь заводит в тупик поскольку, невозможно одним пользовательским классом (например
Код AS3:
var dataCol:DataGridColumn = new DataGridColumn("data");
dataCol.cellRenderer = LoaderCellRenderer; var titleCol:DataGridColumn = new DataGridColumn("title");
titleCol.cellRenderer = LoaderCellRenderer;
) присвоить радиобатонам в разных ячейках одной строки разные например label поскольку елемент из масива или датапровайдера применяется один для всех ячеек одной строки. То-есть если мы добавляем в провайдер dp.addItem({data:"gr1", title:"choice1"}); то одни и те же значения свойств применяются и к ячейке из колонки data и к ячейке из колонки title.
Что касается применения разных класов для каждой колонки
Код AS3:
var dataCol:DataGridColumn = new DataGridColumn("data");
dataCol.cellRenderer = LoaderCellRenderer; var titleCol:DataGridColumn = new DataGridColumn("title");
titleCol.cellRenderer = LoaderCellRenderer2;
то это тоже не применимо по двух причинах:
-Во первых данные формируются динамически и я не могу знать наперед количества строк и столбцов
-во вторых если пользователь кликнет на определенном радиобатоне то обязательно выбранными станут остальные радиобатоны в той же строке в силу того, что Datagrid по щелчку выделяет целый item которому соответствует вся строка.
Как сделать так чтобы отдельно можно было присваивать значения каждой ячейке и соответственно щелчек приводил бы к выбору(selected) одной ячейки а не целой строки?