Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько stringgrid в fastreport 
:(
    Опции темы
makavelithad
Дата 6.6.2010, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 11.12.2009

Репутация: нет
Всего: нет



Мне нужно в FastReport создать отчёт с несколькими таблицами, составленными соответственно из значений stringgrid. Из демки я взял код, с ним получается заполнить все таблицы одинаковыми значениями. Вот код того, что я пытаюсь сделать. Он заполняет одну ячейку значениями двух таблиц

Код

unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Series, TeEngine, ExtCtrls, TeeProcs, Chart, Grids, frxClass,
  StdCtrls, frxCross;

type
  TForm8 = class(TForm)
    ScrollBox1: TScrollBox;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Chart1: TChart;
    Series1: TLineSeries;
    Chart2: TChart;
    Series2: TBarSeries;
    StringGrid3: TStringGrid;
    StringGrid4: TStringGrid;
    StringGrid5: TStringGrid;
    StringGrid6: TStringGrid;
    Chart3: TChart;
    Series3: TLineSeries;
    frxReport1: TfrxReport;
    Button1: TButton;
    frxCrossObject1: TfrxCrossObject;
    frxCrossObject2: TfrxCrossObject;
    frxCrossObject3: TfrxCrossObject;
    frxCrossObject4: TfrxCrossObject;
    frxCrossObject5: TfrxCrossObject;
    frxCrossObject6: TfrxCrossObject;
    procedure frxReport1BeforePrint(x1: TfrxReportComponent);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form8: TForm8;

implementation

{$R *.dfm}

procedure TForm8.frxReport1BeforePrint(x1: TfrxReportComponent);
var
  Cross1, cross2: TfrxCrossView;
  i, j: Integer;
begin
  if x1 is TfrxCrossView then
  begin
    Cross1 := TfrxCrossView(x1);
    for i := 1 to stringgrid1.RowCount do
      for j := 1 to stringgrid1.ColCount do
        Cross1.AddValue([j], [i], [StringGrid1.Cells[i - 1, j - 1]]);
   end;
    if x1 is TfrxCrossView then
  begin
    Cross2 := TfrxCrossView(x1);
    for i := 1 to stringgrid2.RowCount do
      for j := 1 to stringgrid2.ColCount do
        Cross2.AddValue([j], [i], [StringGrid2.Cells[i - 1, j - 1]]);
   end;
end;

procedure TForm8.Button1Click(Sender: TObject);
begin
frxReport1.ShowReport;
end;

end.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.