Flex: как данные передаются из DataGridColumn.itemToLabel в DataGrid.itemRenderer.set (данные)?

У меня есть DataGrid, dataProvider которого представляет собой массив массивов int (каждый с разной длиной). Поскольку каждая строка имеет переменный размер (и я хочу отображать все данные), я решил расширить DataGridColumn и перезаписать функцию itemToLabel, чтобы можно было отображать данные. Проблема в том, что мне также нужно по-разному отображать данные в зависимости от значения int.

Я считаю, что единственное решение - написать itemRenderer, но единственный ввод, который получает функция itemRenderer.set (data), - это весь массив int. Я считаю, что мне нужна либо точная строка, возвращаемая itemToLabel, либо индекс столбца ячейки, для которой предназначен itemRenderer (чтобы в основном выполнить тот же синтаксический анализ, который я реализовал в itemToLabel).

Я использую Flex 3.4. Спасибо за вашу помощь.


person deux11    schedule 04.12.2009    source источник


Ответы (1)


http://flexgeek.wordpress.com/2007/05/30/tutorial-using-same-itemrenderer-for-multiple-columns/.

Из статьи

«... мы должны реализовать интерфейс IDropInListItemRenderer, который имеет два метода.

public function get listData():BaseListData
{
  return _listData;
}
public function set listData(value:BaseListData):void
{
  _listData = DataGridListData(value);
  invalidateProperties();
}

Объект _listData содержит свойство columnIndex, которое сообщает вам, к какому столбцу принадлежит itemRenderer. "

person deux11    schedule 04.12.2009