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

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

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

Регистрация: Jun 2000
Адрес: Мурманск
Сообщений: 202
Отправить сообщение для Prey с помощью ICQ
По умолчанию DataGrid: толщина hGridLines

Как изменить толщину hGridLines и vGridLines соответсвенно в компоненте DataGrid,

Как я понял нормальными методами никак. Пытался применить хак по аналогии как делал уважаемый __etc, когда было необходимо добиться сплошной заливки хеадера в таблице (http://flasher.ru/forum/showthread.php?t=93501), функцию отрисовки в классе датагрид нашел, но что то ничего не получилось

Помогите, плииз..
__________________
Жизнь сложна, но к счастью коротка.
www.proud.ru

Старый 12.04.2007, 17:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Отрисовка линий идет в методе drawColumns. Там толщина линии стоит 0. Можно, конечно, опять написать хак, если надо

Старый 12.04.2007, 18:53
Prey вне форума Посмотреть профиль Отправить личное сообщение для Prey Посетить домашнюю страницу Prey Найти все сообщения от Prey
  № 3  
Ответить с цитированием
Prey
 
Аватар для Prey

Регистрация: Jun 2000
Адрес: Мурманск
Сообщений: 202
Отправить сообщение для Prey с помощью ICQ
Дада! очень надо.
пытался сам (нашел эту функцию), делал по аналогии с отрисовкой сплошным цветом хеадера, но че то ваще перестало таблицу отрисовывать (нахимичил наверное не там где надо ).

Буду очень признателен!
__________________
Жизнь сложна, но к счастью коротка.
www.proud.ru

Старый 12.04.2007, 19:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Код:
my_dg.columnNames = ['a', 'b'];
my_dg.addItem({a:'aaa', b:'bbb'});
my_dg.addItem({a:'aaa', b:'bbb'});
my_dg.addItem({a:'aaa', b:'bbb'});
changeDrawColumnsHandler = function (grid) {
	grid.drawColumns = function() {
		var hLineHeight = 4; // тощина гор. линии
		var vLineWidth = 2; // толщиа верт. линии
		delete this.invDrawCols;
		var lines = this.lines_mc=this.listContent.createEmptyMovieClip("lines_mc", this.LINEDEPTH);
		var x = 0.75;
		var oldX = 1;
		var tmpHeight = this.height-1;
		var lineCol = this.getStyle("vGridLineColor");
		var len = this.columns.length;
		this.placeSortArrow();
		for (var i = 0; i<len; i++) {
			var col = this.columns[i];
			var prop = (this.enabled) ? "backgroundColor" : "backgroundDisabledColor";
			var bgCol = col.getStyle(prop);
			x += col.__width;
			lines.moveTo(oldX, 1);
			lines.lineStyle(0, lineCol, 0);
			var tmpX = Math.floor(x);
			lines.lineTo(tmpX, 1);
			if (i<this.columns.length-1 && this.getStyle("vGridLines")) {
				lines.lineStyle(vLineWidth, lineCol, 100);
			}
			lines.lineTo(tmpX, height);
			lines.lineStyle(vLineWidth, lineCol, 0);
			lines.lineTo(oldX, height);
			lines.lineTo(oldX, 1);
			if (this.__showHeaders) {
				var cell = this.headerCells[i];
				cell._x = oldX+2;
				cell.hO._x = oldX;
				cell.setSize(col.__width-5, Math.min(this.__headerHeight, cell.getPreferredHeight()));
				cell.hO._width = col.__width-2;
				cell.hO._height = this.__headerHeight;
				cell._y = (this.__headerHeight-cell._height)/2;
				this.header_mc["sep"+i]._x = x-2;
				this.listContent.disableHeader._width = this.totalWidth;
			}
			for (var j = 0; j<this.__rowCount; j++) {
				if (i == 0) {
					this.rows[j].colBG.clear();
				}
				var w:Number = col.__width;
				this.rows[j].drawCell(i, oldX, w, bgCol);
			}
			oldX = x;
		}
		if (this.getStyle("hGridLines")) {
			this.lines_mc.lineStyle(2, this.getStyle("hGridLineColor"));
			for (var i = 1; i<this.__rowCount; i++) {
				this.lines_mc.moveTo(hLineHeight, this.rows[i]._y);
				this.lines_mc.lineTo(this.totalWidth, this.rows[i]._y);
			}
		}
	};
};
changeDrawColumnsHandler(my_dg);
my_dg.setStyle('hGridLines', true);
my_dg.setStyle('hGridLineColor', 0xFF0000);
my_dg.setStyle('vGridLineColor', 0x0000FF);
my_dg.redraw();
Как-то так. Мог накосячить.

Старый 12.04.2007, 19:29
Prey вне форума Посмотреть профиль Отправить личное сообщение для Prey Посетить домашнюю страницу Prey Найти все сообщения от Prey
  № 5  
Ответить с цитированием
Prey
 
Аватар для Prey

Регистрация: Jun 2000
Адрес: Мурманск
Сообщений: 202
Отправить сообщение для Prey с помощью ICQ
Спасибо! все работает, тока там немного подправил (с горизонтальными линиями был косячок).

Теперь осталось отыскать где "прячутся" вертикальные линии в хеадере (там на них хак не повлял)

Спасибо!
__________________
Жизнь сложна, но к счастью коротка.
www.proud.ru

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

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

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


 


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


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