Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

QReports   Найти похожие ветки 

 
_xroot   (2005-11-07 11:37) [0]

Необходимо вывести на принт отчет в виде таблицы то есть:
1 колонка - Имена
2 колонка - Фамиилии
3 колонка - Прибыль
...
N колонка - ....

Но проблема в том, 4то изначально неизвестно какие будут колонки и их кол-во
Как с помощью QReport это релизовать


 
gvv   (2005-11-07 11:59) [1]

http://www.sources.ru/delphi/delphi_printing_content_dbgrid.shtml


 
mr.il ©   (2005-11-07 13:07) [2]

Создаешь  в excele шаблон.
Потом в коде пишешь типа:

var
 XL_2 : Variant;
 _Rov : Integer;
 _SW, _SS : Currency;
begin with DM_Zakaz do begin
 IBQ_ZakazData.DisableControls;
 IBQ_ZakazData.AutoCalcFields := False;

 XL_2 := CreateOleObject("Excel.Application");
 XL_2.Workbooks.Add(_Environment.Path_Rep+"ZakazBlank.XLT");

 XL_2.Range["A1"].Value := "Бланк-заказ № "+IntToStr(IBQ_Zakaz["ZAKAZ_ID"]);
 XL_2.Range["A4"].Value := "Дата составления: "+DateToStr(IBQ_Zakaz["Date_Doc"]);
 XL_2.Range["A5"].Value := "Поставщик: "+_NotNullStr(IBQ_ZakazZakazName.Value);
 IBQ_ZakazData.First; _Rov := 8; _SW := 0; _SS := 0;
 while not IBQ_ZakazData.Eof do begin
     XL_2.Range["B"+IntToStr(_Rov)].Value := _NotNullStr(IBQ_ZakazData["PROD_NAME"]);
     XL_2.Range["C"+IntToStr(_Rov)].Value := CurrToStr(IBQ_ZakazData["Quant_Z"]);
     XL_2.Range["D"+IntToStr(_Rov)].Value := _Quant2Bags(_NotNullCurr(IBQ_ZakazData["Quant_Z"]), _NotNullCurr(IBQ_ZakazData["CPB"]));
     XL_2.Range["E"+IntToStr(_Rov)].Value := _NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["W"]);
     _SW := _SW+(_NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["W"]));
     XL_2.Range["F"+IntToStr(_Rov)].Value := _NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["Cost_Z"]);
     _SS := _SS+(_NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["Cost_Z"]));
     Inc(_Rov);
   end;
   IBQ_ZakazData.Next;
 end;
 XL_2.Range["E"+IntToStr(_Rov)].Value := _SW;
 XL_2.Range["F"+IntToStr(_Rov)].Value := _SS;
 XL_2.Run("myAutoFill"); // это запуск макроса в шаблоне
 XL_2.Visible:=True;

 IBQ_ZakazData.AutoCalcFields := True;
 IBQ_ZakazData.EnableControls;
end; end;

и ни какого QReporta.

в D7  и выше в юсес надо вставить ComObj


 
mr.il ©   (2005-11-07 13:09) [3]

В плане колонок, там лего определять динамически, в какую писать.


 
Anatoly Podgoretsky ©   (2005-11-07 13:45) [4]

На моем сайте есть документация.



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
14-1132867755
TStas
2005-11-25 00:29
2005.12.25
МП


14-1133376530
Fay
2005-11-30 21:48
2005.12.25
Прикольная прога для просмотра PDF. Сегодня нашёл.


2-1134145546
FormJonh
2005-12-09 19:25
2005.12.25
Запуск процедуры в другом unit^е


2-1133679694
Lizz
2005-12-04 10:01
2005.12.25
Работа с TreeView


3-1131211822
Дмитрий Молчанов
2005-11-05 20:30
2005.12.25
Как прикруть индексы к существующему DBF файлу