Гибкий:Как передаются данные из DataGridColumn.itemToLabel в DataGrid.ItemRenderer.set (данные)?
-
12-09-2019 - |
Вопрос
У меня есть DataGrid, dataProvider которого представляет собой массив массивов int (каждый с разной длиной).Поскольку каждая строка имеет переменный размер (и я хочу отобразить все данные), я решил расширьте DataGridColumn и перезапишите функцию itemToLabel, чтобы иметь возможность отображать данные.Проблема в том, что мне также нужно отображать данные по-разному в зависимости от значения int.
Я считаю, что единственным решением является написание ItemRenderer , но единственный входной сигнал, который получает функция ItemRenderer.set(data), - это весь массив int.Я полагаю, что мне нужна либо точная строка, возвращаемая itemToLabel, либо индекс столбца ячейки, для которой предназначен ItemRenderer (по сути, для выполнения того же синтаксического анализа, который я реализовал в itemToLabel).
Я использую Flex 3.4.Спасибо за вашу помощь.
Решение
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 ."