Flex: как данные передаются из DataGridColumn.itemToLabel в DataGrid.itemRenderer.set (data)? - PullRequest
0 голосов
/ 04 декабря 2009

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

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

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

1 Ответ

0 голосов
/ 04 декабря 2009

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. "

...