Печать выброных записей из БД

АндрейАндрей г.Москва
отредактировано 21:24 Раздел: FastReport 2.xx VCL
Люди добрые подскажите как мне программно переключить свойство ReportType в rtMultiple так как есть условие если пользователь выбрал больше 1 записи то их и недо напечатать а если не чего не выбрал то печатать активную запись подскажите ПЛИЗ как это реализовать можно ;)

Комментарии

  • отредактировано 21:24
  • АндрейАндрей г.Москва
    отредактировано 21:24
    Да все понятно скажите по подробнее какие события и у каких компонентов обрабатывать что бы все работало как вы написали
  • отредактировано 21:24
    Все просто:
    Компонент frRepDBGrid и событие OnPrintRow
    с учетом исправлений исходников описанных в http://66.227.63.207/ru/forum/index.php?showtopic=137
  • АндрейАндрей г.Москва
    отредактировано 21:24
    Все понятно только после исправлений что то не получается или одна запись печатается или все пришли на andmsk@mail.ru свои FR_PTabl.pas и его .dcu
    плиз а то может я что то делаю не так? (исправлял согласно примера)
  • отредактировано 21:24
    Вот последняя версия


    procedure TfrmPrnGrid.frRepDBGridPrintRow(var IsPrint: Boolean);
    begin
    IsPrint:=True;
    if ((dgMultiSelect in DBGrid.Options) or (dgRowSelect in DBGrid.Options)) then
    begin
    IsPrint:=False;
    if DBGrid.SelectedRows.CurrentRowSelected then IsPrint:=True;
    end;
    end;

    Когда опции DBGrid dgMultiSelect = True и dgRowSelect = True
    печатаются только выбранные строки в противном случае печатается весь грид.
  • АндрейАндрей г.Москва
    отредактировано 21:24
    Все равно печатает или одну или все независимо от того сколько я выбрал
    а в frReport ReportType чему равно должно быть пришли мне пример конкретный я посмотрю и разберусь а то что то косяк какой то заодно и FR_PTabl.pas и его dcu с изменениями может я что то сделал
  • АндрейАндрей г.Москва
    отредактировано 21:24
    Костя все работает СПАСИБО ;)
    только Grid то мне надо печатать редко а в основном надо еще печатать репортом выбранные записи подскажи если знаешь как это зделать что бы мой репорт печатал отчет из тех записей которые выброны? ;)
  • отредактировано 21:24
    2 Андрей:
    Ну сформируй ты набор данных только по выделенным записям - в чём траблема то ?
    OnFilterRecord у своего датасета сделай обработчик, который будет выдавать только те записи, которые у тебя выделены в гриде.
  • АндрейАндрей г.Москва
    отредактировано 21:24
    не понял поподробнее Vano подскажи что где прописать что то я не понял ;)
  • отредактировано 21:24
    Что ты не понял ?

    Если ты не знаешь как фильтровать записи у своего датасета через OnFilterReport, то тебе наверное нужно писать в другую конференцию ;) )

    procedure DataSetFilterRecord(DataSet: TDataSet;
    var Accept: Boolean);
    begin
    if ЗАПИСЬ_ВЫДЕЛЕНА_В_ГРИДЕ then
    Accept:=True
    else
    Accept:=False;
    end;

    У датасета нужно ещё включить Filtered:=True;


  • АндрейАндрей г.Москва
    отредактировано 21:24
    Да конечно может быть только я так уже пробовал ни чего нового у мня не получилось.
    VANO Подскажи что дажно быть включино в frReport ReportType у меня он =rtMultiple
    я что то не догоняю почему он выводит или все строки или одну взависимости от ReportType что мне сделать я уже голову сломал борясь с этим подскажи буть другом.
    Заранее СПАСИБО!!!
  • отредактировано 21:24
    2 Андрей:

    Читаем хелп по FR:

    Declaration
    property ReportType: TfrReportType;

    Description
    Report type. Can be set to rtMultiple or rtSimple (default). Multiple report uses Dataset property to build report for each record in this dataset.

    Ну и что тебе здесь не ясно то ?

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

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