В скрипте отчета хочу узнать Dataset

Vasily GrechishnikovVasily Grechishnikov г. Воронеж
отредактировано February 2009 Раздел: FastReport 4.0
Задача:
В отчете есть несколько бэндов MasterData
Хочу в каждой строке иметь
индивидуальные настройки форматирования
количество знаков после запятой в одной из колонок.

Решение тривиальное
OnBeforePrint который меняет DisplayFormat в из поля
в датасете который выводит MasterData.

procedure
GuarantedQltValueOnBeforePrint(Sender: TfrxComponent);
begin

TfrxMemoView(Sender).DisplayFormat.FormatStr := '%2.' + Trim(IntToStr(<frdsGuarantedQlt."RoundDigits">)) + 'n';
end;


Но у меня к примеру три различных MasterData мне приходится писать
три обработчика отличающихся только ссылкой на разные датасеты.

Хочу их унифицировать.
Есть ли возможность из OnBeforePrint узнать на каком б\нде лежит View и далее из беэнда уточнить датасет и далее сказать
ему filedByName?

Комментарии

  • gpigpi
    отредактировано 08:56
    procedure Memo8OnBeforePrint(Sender: TfrxComponent);
    begin
        if TfrxMemoView(Sender).Parent<>nil then                                               
        ShowMessage(TfrxMemoView(Sender).Parent.Name);    
    end;
    
  • Vasily GrechishnikovVasily Grechishnikov г. Воронеж
    отредактировано 08:56
    gpi написал: »
    procedure Memo8OnBeforePrint(Sender: TfrxComponent);
    begin
        if TfrxMemoView(Sender).Parent<>nil then                                               
        ShowMessage(TfrxMemoView(Sender).Parent.Name);    
    end;
    

    Я хочу немного другого

    TfrxMemoView(Sender).DisplayFormat.FormatStr := '%2.' + Trim(IntToStr(<TfrxMemoView(Sender).Parent.DataSet."RoundDigits">)) + 'n';
  • gpigpi
    отредактировано 08:56
    procedure Memo8OnBeforePrint(Sender: TfrxComponent);
    begin
        if TfrxMemoView(Sender).Parent<>nil then
         if TfrxMemoView(Sender).Parent is TfrxMasterData then                                             
        ShowMessage(TfrxMasterData(TfrxMemoView(Sender).Parent).DataSet.Value('Cust No'));    
    end;
    

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

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