печать многоколоночного отчета с выбором записей
подскажите пожалуйста как правильно выполнить печать многоколоночного
отчета "Ценники" с фильтрацией записей пользователем перед печатью
Page1.Colums установлен 4
Диалог с Listom работает нормально, но печать выполняется на 1 странице
с выходом за пределы листа и в одной колонке
procedure Page1OnManualBuild(Sender: TfrxComponent);
var
DataSet: TfrxDataSet;
Colum : Integer;
begin
DataSet := qRACHOD;
DataSet.First;
Colum := 1;
while not DataSet.Eof do
begin
<Условие отбора>
Engine.CurColumn := Colum;
Engine.ShowBand(MasterBand);
DataSet.Next;
Colum := Colum+1;
if Colum > 4 then Colum := 1;
end;
end;
отчета "Ценники" с фильтрацией записей пользователем перед печатью
Page1.Colums установлен 4
Диалог с Listom работает нормально, но печать выполняется на 1 странице
с выходом за пределы листа и в одной колонке
procedure Page1OnManualBuild(Sender: TfrxComponent);
var
DataSet: TfrxDataSet;
Colum : Integer;
begin
DataSet := qRACHOD;
DataSet.First;
Colum := 1;
while not DataSet.Eof do
begin
<Условие отбора>
Engine.CurColumn := Colum;
Engine.ShowBand(MasterBand);
DataSet.Next;
Colum := Colum+1;
if Colum > 4 then Colum := 1;
end;
end;
Комментарии
необходимый товар из диалога в самом отчете
запись меток в запрос недомустима READONLY
вычисляемых полей в встроенном датасет нет
procedure Page1OnManualBuild(Sender: TfrxComponent);
var
DataSet : TfrxDataSet;
Colum,NumRow,Sel_Line : Integer;
begin
DataSet := qRACHOD;
DataSet.First;
Colum := 0;
NumRow := 0;
Sel_Line := 0;
while not DataSet.Eof do
begin
if List.Checked[Sel_Line] then begin
Engine.CurX := Colum*MasterBand.ColumnWidth;
Engine.CurY := NumRow*MasterBand.Height;
Engine.ShowBand(MasterBand);
Colum := Colum+1;
if Colum >= MasterBand.Columns then begin
Colum := 0;
NumRow := NumRow + 1;
end;
if (NumRow+1)*MasterBand.Height >= Engine.PageHeight then begin
Engine.NewPage;
Colum := 0;
NumRow := 0;
end;
end;
DataSet.Next;
Sel_Line := Sel_Line+1;
end;
end;