TfrxCrossView

отредактировано 07:11 Раздел: FastReport 3.0
Требуется ручное заполнение данными Cross1

Комментарии

  • отредактировано 07:11
    Для заполнения объекта в Runtime используется метод AddValue
    См демку "Cross from non-DB data"
  • отредактировано 07:11
    не могу найти у себя эту демку...может напишешь пример?
  • отредактировано 07:11
    procedure Cross1OnBeforePrint(Sender: TfrxComponent);
    begin
    with Cross1 do
    begin
    AddValue(, [2001, 2], [1500]);
    AddValue(, [2001, 3], [1600]);
    AddValue(, [2002, 1], [1700]);

    AddValue(, [2002, 1], [2000]);

    AddValue(, [2001, 1], [4000]);
    AddValue(, [2001, 2], [4100]);
    end;
    end;
  • отредактировано 07:11
    vlad_galaxy написал:
    procedure Cross1OnBeforePrint(Sender: TfrxComponent);
    begin
    with Cross1 do
    begin
    AddValue(, [2001, 2], [1500]);
    AddValue(, [2001, 3], [1600]);
    AddValue(, [2002, 1], [1700]);

    AddValue(, [2002, 1], [2000]);

    AddValue(, [2001, 1], [4000]);
    AddValue(, [2001, 2], [4100]);
    end;
    end;
    Проблемы с синтаксисом
    AddValue(, , [1500]);
    AddValue(, , [1600]);
    Выдает ошибку
    Как присвоить строковое значение?
  • отредактировано 07:11
    Если писать так, то будет ошибка - индексы строк и столбцов должны быть одного типа.

    procedure Cross1OnBeforePrint(Sender: TfrxComponent);
    begin
    with Cross1 do
    begin
    AddValue(, [2001, 2], [1500]);
    AddValue(, [2001, 3], [1600]);
    AddValue(, , [1500]);
    AddValue(, , [1600]);
    end;
    end;
  • отредактировано 07:11
    AlexTZ написал:
    Если писать так, то будет ошибка - индексы строк и столбцов должны быть одного типа.
    Понятно. А если индексы столбцов и строк все-таки разных типов?
    Возможно ли такое?
  • отредактировано 07:11
    Индексы могут быть, конечно, разных типов, но значения внутри конкретного индекса - одного типа.
  • Igorek3Igorek3 спамер
    отредактировано 07:11
    AlexTZ написал:
    Индексы могут быть, конечно, разных типов, но значения внутри конкретного индекса - одного типа.
    Народ у меня проблема с ручным заполнением такая,
    если кто знает помогите пожалуйста:

    код проги(в скрипте):

    procedure Cross1OnBeforePrint(Sender: TfrxComponent);
    Var
    dsMC: TfrxDataSet;
    begin
    with Cross1 do
    begin
    dsMC := Report.GetDataSet('Soderjanie');
    dsMC.First;

    while not dsMC.Eof do
    begin
    AddValue([<Soderjanie."Краткое_наим_реквизита">],
    [<Soderjanie."Год">,Soderjanie."Полное_название">, 'Начислено'],
    [<Soderjanie."Сумма_начисления">]);
    dsMC.Next;
    end;

    end;
    end.

    !!! Свойство Report1 PrintIfEmpty = False

    Если посмотреть из дизайнера, то все нормально.
    Как только из Delphi 7.0
    frxReport1.LoadFromFile('c:\.........');
    frxReport1.PrepareReport;
    frx.Report1.ShowPrepareReport;
    то вызывается редактор, а самого отчета нет, хотя данные точно есть.

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

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