печать многоколоночного отчета с выбором записей

отредактировано 01:57 Раздел: FastReport 3.0
подскажите пожалуйста как правильно выполнить печать многоколоночного
отчета "Ценники" с фильтрацией записей пользователем перед печатью

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;

Комментарии

  • отредактировано 01:57
    Попробуй вначале отфильтровать данные в DataSet'e (DataSet.Filter) , а потом уже печатать.
  • отредактировано 01:57
    Фильтрация данных невозможна, потому что пользователь выбирает
    необходимый товар из диалога в самом отчете

    запись меток в запрос недомустима READONLY
    вычисляемых полей в встроенном датасет нет
  • отредактировано 01:57
    Все работает в таком виде:

    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;

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.