Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.02.2010, 19:21
alikSmehoff вне форума Посмотреть профиль Отправить личное сообщение для alikSmehoff Найти все сообщения от alikSmehoff
  № 1  
Ответить с цитированием
alikSmehoff
 
Аватар для alikSmehoff

Регистрация: Oct 2009
Сообщений: 47
По умолчанию Выравнивание текста по центру в DataGrid

Как можно выровнять текст по центру в колонках DataGrid'а ?

Старый 26.02.2010, 19:55
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
не уверен, что это оптимально/правильно, но работает
Код AS3:
dg.setStyle("cellRenderer", MyCellRenderer);
Код AS3:
public class MyCellRenderer extends CellRenderer
{
	override protected function drawLayout():void
	{
		textField.autoSize = TextFieldAutoSize.CENTER;
	}
}

Старый 26.02.2010, 22:29
alikSmehoff вне форума Посмотреть профиль Отправить личное сообщение для alikSmehoff Найти все сообщения от alikSmehoff
  № 3  
Ответить с цитированием
alikSmehoff
 
Аватар для alikSmehoff

Регистрация: Oct 2009
Сообщений: 47
Код AS3:
 public class CenterAlignCell extends CellRenderer implements ICellRenderer {
 
        private var tf:TextFormat;
 
        public function RightAlignCell() {
            tf = new TextFormat();
           	tf.align = TextFormatAlign.CENTER;
       }
 
        override protected function drawLayout():void {
            textField.width = this.width;
            textField.setTextFormat(tf);
            super.drawLayout();
        }
    }
Чтобы эту вещь использовать, нужно сделать что-то типа:
myDataGridColumn.cellRenderer = CenterAlignCell;
Приходится передавать класс, а можно ли как-нибудь сделать, чтобы можно было задавать параметр, который отвечает за выравнивание (слева, по центру)? А то как-то не хочется из-за одной строчки новый класс писать.

Старый 26.02.2010, 22:46
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вообще-то это нормальный, 'узаконенный' подход
но, если не хочется из-за одной строчки новый класс писать ( не вижу в этом никакого напряга), то пробуй дергать setStyle, но..

Старый 27.02.2010, 00:25
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от alikSmehoff Посмотреть сообщение
Код AS3:
public class extends CellRenderer implements ICellRenderer
А там случаем СellRenderer сам по себе не имплементит ICellRenderer? Я не силен во FlashComponents.

Гм. И это

Код AS3:
override protected function drawLayout():void {
            textField.width = this.width;
            textField.setTextFormat(tf);
            super.drawLayout();
}
А не переопределит ли Ваши потуги суперкласс, ведь super.drawLayout() Вы вызываете последним.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 27.02.2010 в 00:29.
Старый 27.02.2010, 15:25
alikSmehoff вне форума Посмотреть профиль Отправить личное сообщение для alikSmehoff Найти все сообщения от alikSmehoff
  № 6  
Ответить с цитированием
alikSmehoff
 
Аватар для alikSmehoff

Регистрация: Oct 2009
Сообщений: 47
Цитата:
А не переопределит ли Ваши потуги суперкласс
Не, не переопределяет. Работает как надо.
Цитата:
если не хочется из-за одной строчки новый класс писать ( не вижу в этом никакого напряга)
В данном случае конечно же не сложно, просто лучше бы было если б параметр можно было передавать.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:27.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.