То, что я пытаюсь сделать, чтобы получить финансовые данные в моем Flex Datagrid, чтобы быть закодированным цветом - зеленый, если он положительный; красный если отрицательный. Это было бы довольно просто, если колонка, которую я хочу покрасить, была частью dataProvider. Вместо этого я вычисляю его на основе двух других столбцов, которые являются частью dataProvider. Это было бы довольно просто, потому что я мог просто рассчитать его снова в ItemRenderer, но другая часть вычисления основана на значении textBox. Итак, я думаю, что мне нужно сделать, это отправить значение textBox в пользовательский ItemRenderer, но поскольку это значение хранится в главном приложении MXML, я не знаю, как получить к нему доступ. Отправка его в качестве параметра кажется лучшим способом, но, возможно, там другой.
Вот текущий код для моего ItemRenderer:
package {
import mx.controls.Label;
import mx.controls.listClasses.*;
public class PriceLabel extends Label {
private const POSITIVE_COLOR:uint = 0x458B00 // Green
private const NEGATIVE_COLOR:uint = 0xFF0000; // Red
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
/* Set the font color based on the item price. */
setStyle("color", (data.AvailableFunding >= 0) ? NEGATIVE_COLOR : POSITIVE_COLOR);
}
}
(data.AvailableFunding не существует)
Знает ли кто-нибудь, как я мог бы это сделать?