Работа с пользовательским набором данных

отредактировано 20:49 Раздел: FastReport 4.0
Добрый день! Такая вот задача: клиентские приложения загружают данные из БД, и уже на стороне клиента работают с ними, считайте что локально. И отчет нужно строить исходя из этого. Т.е. использовать только переменные и массивы, которые храняться в программе. Они бывают, как понимаете, 2-х видов: единичные значения, и массивы записей. Как лучше всего в этом случае передавать эти данные в построитель отчетов? Я что то мудрил с переменными - но там почему то (не исключено, конечно, что из-зи кривых моих рук :) ) все работает через раз. Я смотрел примеры работы с массивами и таблицами. Тоже не очень. Самое непонятное - как передвать несколько наборов данных через компонент TfrxUserDataSet (ведь очень часто на клиенте размещено несколько таблиц)?

Комментарии

  • отредактировано 20:49
    В документации примеры есть по работе с пользовательским набором.
    Выводите, что угодно. Я вот, например, ветки дерева так вывожу:
    procedure TOnDutyMainForm.frxUserDataSet1First(Sender: TObject);
    begin
    Rec_nomer := 0;
    end;
    
    procedure TOnDutyMainForm.frxUserDataSet1Next(Sender: TObject);
    begin
    Inc(Rec_nomer);
    end;
    
    procedure TOnDutyMainForm.frxUserDataSet1Prior(Sender: TObject);
    begin
    Dec(Rec_nomer);
    end;
    
    procedure TOnDutyMainForm.frxUserDataSet1CheckEOF(Sender: TObject;  var Eof: Boolean);
    begin
      Eof := Rec_nomer >= dxTreeListDays.Count;
    end;
    
    procedure TOnDutyMainForm.frxUserDataSet1GetValue(const VarName: String;  var Value: Variant);
    begin
    if      VarName = 'Theme'
         then    Value := dxTreeListDays.Items[Rec_nomer].VALUES[dxTreeListDaysColumnName.Index]
    else if VarName = 'Date_begin'
         then    Value := dxTreeListDays.Items[Rec_nomer].VALUES[dxTreeListDaysColumnDate.Index]
         else if VarName = 'This_time'
         then    Value := 0;
    end;
    

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

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