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