Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.08.2012, 17:27
novachok novachok вне форума
Прохожий
 
Регистрация: 02.08.2012
Сообщения: 5
Репутация: 10
По умолчанию Отчёт с ДБгрида

У меня есть ДБГРИД. Первые 7 столбцов неизменны, остальные (вывод годов в названии столбцов) могут меняться пользователем! Как при помощи RaveReport каждый раз подставлять новые поля или их удалять?

На даный момент динамически в пустой отчёт создаю подключение к данным, розполагаю все надписи и вывод данных с базы.

Код:
TmpRaveReport := RvProjectRTR.ProjMan.ActiveReport;
  // Создание TRaveDataView обеспечивающий работу с источником данных
  TmpDataView := TRaveDataView.create(RvProjectRTR.ProjMan);
  RvProjectRTR.ProjMan.DataObjectList.Add(TmpDataView);
  with TmpDataView do
  begin
    Name := NewDataView;
    Parent := RvProjectRTR.ProjMan;
    DataCon.Connection := RvDataSetConnectionRTR;
    ConnectionName := TmpDataView.DataCon.Connection.Name;
  end;

  // Создание TRaveRegion на котром будут расположены компоненты
  // для работы с источником данных
  TmpRaveRegion := TRaveRegion.create(TmpRaveReport.FirstPage);
  with TmpRaveRegion do
  begin
    Name := 'NewRaveRegion'; // параметры всего региона
    Parent := TmpRaveReport.FirstPage;
    Left := SetPointInPercent(TmpRaveReport.FirstPage.PageWidth, 1);
    Top := SetPointInPercent(TmpRaveReport.FirstPage.PageHeight, 5);
    Width := SetPointInPercent(TmpRaveReport.FirstPage.PageWidth, 100);
    Height := SetPointInPercent(TmpRaveReport.FirstPage.PageHeight, 97);
  end;
// ********* 1 регион для заголовка ***************************************
  TmpRaveBand1 := TRaveBand.create(TmpRaveRegion);
  with TmpRaveBand1 do
  begin
    Name := 'NewDataBand1';
    Parent := TmpRaveRegion;
    Left := SetPointInPercent(TmpRaveRegion.Width, 1);
    Top := SetPointInPercent(1, 1);
    Width := SetPointInPercent(TmpRaveRegion.Width, 160);
    Height := SetPointInPercent(1.3, 0);
  end;
// ********* 2 регион для назв столбцов ***********************************
  TmpRaveBand2 := TRaveBand.create(TmpRaveRegion);
  with TmpRaveBand2 do
  begin
    Name := 'NewDataBand2';
    Parent := TmpRaveRegion;
    Left := SetPointInPercent(TmpRaveRegion.Width, 1);
    Top := SetPointInPercent(0, 0);
    Width := SetPointInPercent(TmpRaveRegion.Width, 160);
    Height := SetPointInPercent(0.233, 1);
  end;
  // ********* 3 регион *****************************************************
  // Создание TRaveDataBand для размещения елементов оформления отчета на нем
  TmpRaveDataBand := TRaveDataBand.create(TmpRaveRegion);
  with TmpRaveDataBand do
  begin
    Name := 'NewDataBand';
    Parent := TmpRaveRegion;
    Left := SetPointInPercent(TmpRaveRegion.Width, 1);
    Top := SetPointInPercent( 0, 2);
    Width := SetPointInPercent(TmpRaveRegion.Width, 160);
    Height := SetPointInPercent(TmpRaveRegion.Height, 3);
    DataView := TmpDataView;
  end;

lmikle: пользуемся тегами!!!

НО! когда при переходе на новую страницу данные выводятся не с начала страницы а с того места где и на первой страницы!!!!

Может я неверно чёто делаю? Подскажите!!!

Последний раз редактировалось lmikle, 08.08.2012 в 19:07.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025