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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.02.2012, 18:46
uzver3254 вне форума Посмотреть профиль Отправить личное сообщение для uzver3254 Найти все сообщения от uzver3254
  № 1  
Ответить с цитированием
uzver3254
[+1 27.12.11]
 
Аватар для uzver3254

Регистрация: Mar 2011
Адрес: 60;40
Сообщений: 24
По умолчанию Как сделать multiline в header стандартного DataGrid?

Возникла необходимость использовать стандартный компонент DataGrid. Воспользовался кодом из примера со спецификацией этого компонента, но не нашел там в описании как сделать текст заголовка многострочным (в одну строку заголовок не вмещается, а столбцов там много и они узкие)
Добавление стандартного символа "\n" хоть и разрывает строку, но вторая её часть становится невидимой, и это не зависимо от высоты header'а таблицы.
В свойствах элемента ни каких параметров намекающих на мультилайн нет.
Помогите, пожалуйста, дельным советом кроме "использовать стандартные компоненты не труъ"

Добавлено через 3 часа 14 минут
Ну ладно, вопрос слишком сложный, ни кто не знает. Может тогда хоть подскажите как в ячейку хэдэра рисунок импортировать?
__________________
Я - морская улиточка.

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вариант для иконки в хедере
Код AS3:
var dg:DataGrid = new DataGrid();
var col:DataGridColumn = dg.addColumn("column1");
col.headerRenderer = MyHeaderRenderer;
addChild(dg);
Код AS3:
public class MyHeaderRenderer extends HeaderRenderer 
{
	public function MyHeaderRenderer() 
	{
		// битмап для примера
		var img:Bitmap = new Bitmap(new BitmapData(16, 16, false, 0xFF8000));
		addChild(img);
		icon = img;
	}
}
возможно, что порывшись в HeaderRenderer, удастся и высоту настроить с помощью костылей каких, но как-то не очевидно все, мутные они, ну их нафик

Старый 04.02.2012, 02:16
uzver3254 вне форума Посмотреть профиль Отправить личное сообщение для uzver3254 Найти все сообщения от uzver3254
  № 3  
Ответить с цитированием
uzver3254
[+1 27.12.11]
 
Аватар для uzver3254

Регистрация: Mar 2011
Адрес: 60;40
Сообщений: 24
A если добавлять не битмэп а мувиклип из библиотеки, как это делать? (да-да, чёртов нуб))
__________________
Я - морская улиточка.


Последний раз редактировалось uzver3254; 04.02.2012 в 11:55.
Старый 04.02.2012, 12:28
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код AS3:
var img:MovieClip = new Symbol1();//Symbol1 класс библиотечного мувика
icon = img;
addChild(img);

Старый 04.02.2012, 23:38
uzver3254 вне форума Посмотреть профиль Отправить личное сообщение для uzver3254 Найти все сообщения от uzver3254
  № 5  
Ответить с цитированием
uzver3254
[+1 27.12.11]
 
Аватар для uzver3254

Регистрация: Mar 2011
Адрес: 60;40
Сообщений: 24
а если мне надо во все 7 ячеек заголовка добавить разные картинки но не хочется под это 7 одинаковых классов писать, то почему он не переваривает конструкцию типа
Код AS3:
package
{
	import fl.controls.dataGridClasses.HeaderRenderer;
	import flash.display.*;
	import flash.text.*;
 
	/**
	 * ...
	 * @author ...
	 */
	public class MyHeaderRenderer extends HeaderRenderer 
	{
 
		public function MyHeaderRenderer()
		{
			super();
 
		}
 
		public function addPic(noCol:uint):void
		{
			var img:MovieClip;
			switch (noCol)
			{
			case 1 :
			img = new zag1();
			icon = img;
			addChild(img);
			break;
			case 2 :
			img = new zag2();
			icon = img;
			addChild(img);
			break;
			case 3 :
			img = new zag3();
			icon = img;
			addChild(img);
			break;
			case 4 :
			img = new zag4();
			icon = img;
			addChild(img);
			break;
			case 5 :
			img = new zag5();
			icon = img;
			addChild(img);
			case 6 :
			img = new zag6();
			icon = img;
			addChild(img);
			case 7 :
			img = new zag7();
			icon = img;
			addChild(img);
			break;
			}
		}
	}
}
ругается на
Код:
TypeError: Error #1006: addPic не является функцией.
при вызове
Код AS3:
c1.headerRenderer = MyHeaderRenderer;
c1.headerRenderer.addPic(1);
__________________
Я - морская улиточка.

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

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

если это чем-то поможет, то у меня вот так получилось расставить иконки
Код AS3:
var dg:DataGrid = new DataGrid();
dg.setSize(300, 100);
dg.addItem( { first:1, second:2, third:3 } );
dg.setStyle("headerRenderer", MyHeaderRenderer);
addChild(dg);
Код AS3:
public class MyHeaderRenderer extends HeaderRenderer
{
 
	public function MyHeaderRenderer()
	{
 
		// здесь _column не определена еще, поэтому делаем все в следующем такте
		addEventListener(Event.ENTER_FRAME, this_enterFrame);
	}
 
	private function this_enterFrame(e:Event):void
	{
		removeEventListener(Event.ENTER_FRAME, this_enterFrame);
		// массив классов иконок в библиотеке
		var icons:Array = [zag1, zag2, zag3];
		var iconClass:Class = icons[_column] as Class;
		if (iconClass)
		{
			icon = new iconClass();
			addChild(icon);
			invalidate();
		}
	}
}
зы. ну и какой смысл по каждому пустяку заниматься такими шаманством
хотя, возможно, я чего-то не догоняю и все делается просто и изящно..

Старый 05.02.2012, 01:17
uzver3254 вне форума Посмотреть профиль Отправить личное сообщение для uzver3254 Найти все сообщения от uzver3254
  № 7  
Ответить с цитированием
uzver3254
[+1 27.12.11]
 
Аватар для uzver3254

Регистрация: Mar 2011
Адрес: 60;40
Сообщений: 24
Цитата:
Сообщение от silin Посмотреть сообщение
ну и какой смысл по каждому пустяку заниматься такими шаманством
Если речь о том почему так адобе захотели - не знаю. Это правда не рационально выглядит. Можно же было иконку сделать элементом стандартных свойств компонента.

А ели о том, зачем я этим всем заморачиваюсь и Вас тревожу: надо сделать универсальную оболочку для лабораторных работ одному вузу, чтоб профессоры могли редактировать все элементы отчёта, как они привыкли делать это в ворде, а тут ни индексов, ни переносов в таблицах нельзя, попробуй это 60-70летним мужам от электроэнергетики объясни... Пусть хоть мувиклипы zag1 zag2 вставляют какие им надо - всё мне меньше напряга.
__________________
Я - морская улиточка.


Последний раз редактировалось uzver3254; 05.02.2012 в 01:39.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
datagrid , DataGridColumn
Опции темы
Опции просмотра

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

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


 


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


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