Гибкий:Как передаются данные из DataGridColumn.itemToLabel в DataGrid.ItemRenderer.set (данные)?

StackOverflow https://stackoverflow.com/questions/1844308

Вопрос

У меня есть 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 ."

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top