Показать сообщение отдельно
Старый 22.11.2010, 11:07
nikitos1980 вне форума Посмотреть профиль Отправить личное сообщение для nikitos1980 Найти все сообщения от nikitos1980
  № 1  
Ответить с цитированием
nikitos1980

Регистрация: Apr 2010
Сообщений: 23
По умолчанию Работа с DataGrid: изменение фона и размера строк, настройка стилей

Добрый день
Работаю с объектом DataGrid. В настоящее время необходимо выводить строки таким образом, чтобы высота каждой из них соответствовала высоте текстового поля в ней, то есть варьировалась для каждой строки в отдельности, а также, чтобы при наведении мыши фон заливался градиентом.

Лазил по форуму, нашел много информации, но толком ничего не помогло. Изменение размеров с помощью CellRenderer приводит к тому, что ячейка увеличивается по высоте, но строка остается прежнего размера:
Код AS3:
public class MultilineCell extends CellRenderer
	{
		function MultilineCell()
		{
			textField.wordWrap = true;
			textField.multiline = true;
			textField.autoSize = TextFieldAutoSize.LEFT;
 
		}
 
 
		override protected function drawLayout() : void
		{
			textField.width = this.width;
			super.drawLayout();
		}
 
 
		override public function get height() : Number 
		{
			return textField.height;
		}
 
 
		override public function set listData(value:ListData) : void
		{
			super.listData = value;
			setSize(width, textField.height);
			invalidate(InvalidationType.DATA);
			invalidate(InvalidationType.SIZE);
		}
	}
Создал собственный класс, производный от DataGrid и попытался переопределить методы
Код AS3:
override protected function drawColumnBackground(s:Sprite, columnIndex:int, color:uint, column:DataGridColumn) : void
{
	super.drawColumnBackground(s, columnIndex, color, column);
}
так вообще получаю ошибку компиляции.

Подскажите пожалуйста, как можно решить данные задачи?