Форум: "Базы";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c