Тема: header at DataGrid
Показать сообщение отдельно
Старый 11.04.2007, 00:30
OracleN вне форума Посмотреть профиль Отправить личное сообщение для OracleN Найти все сообщения от OracleN
  № 10  
Ответить с цитированием
OracleN
 
Аватар для OracleN

Регистрация: Mar 2007
Адрес: Беларусь, др. Дрычин
Сообщений: 200
Отправить сообщение для OracleN с помощью ICQ
Цитата:
Сообщение от __etc
Ну вот хак:

Код:
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'});
changeDrawHeaderBGHandler = function (grid) {
     grid.drawHeaderBG = function() {
          var mc = this.header_mc;
          mc.clear();
          var o = this.__viewMetrics;
          var tot = Math.max(this.totalWidth, this.displayWidth+3);
          mc.moveTo(o.left, o.top);
          var matrix:Object = {matrixType:"box", x:0, y:0, w:tot, h:this.__headerHeight+1, r:Math.PI/2};
          var colors:Array = [0xFFCC00, 0xFF0000, 0xffffff];
          var ratios:Array = [0, 60, 255];
          var alphas:Array = [100, 100, 100];
          mc.beginGradientFill("linear", colors, alphas, ratios, matrix);
          mc.lineStyle(0, 0x000000, 0);
          mc.lineTo(tot, o.top);
          mc.lineTo(tot, this.__headerHeight+1);
          mc.lineStyle(0, 0x000000, 100);
          mc.lineTo(o.left, this.__headerHeight+1);
          mc.lineStyle(0, 0x000000, 0);
          mc.endFill();
     };
};
changeDrawHeaderBGHandler(my_dg);
my_dg.redraw();
В внутри функции можно задать нужные цвета и вообще переписать отрисовку фона у хедера
my_dg — DataGrid.
Гениально, даже очень гениально. Спасибо большое.