Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Отчеты через Rave   Найти похожие ветки 

 
erusto   (2004-03-31 01:09) [0]

Осваиваю Rave. На форме таблица, в которой данные в ячейках
заносятся с помощью Edit-ов. Каким образом и какому компонету в готовом шаблоне Rave присвоить
значения Edit.Text? База данных не используется - прямой ввод на форме и далее на принтер.


 
Sun bittern ©   (2004-03-31 09:34) [1]

>> На форме таблица, в которой данные в ячейках
заносятся с помощью Edit-ов.

Предположим у тебя TStringGrid. Для этого тебе на форму нужно бросить: TRvProject; TRvSystem; TRvCustomConnection.

TRvCustomConnection - события
***
OnOpen
 RC := 0; // Глобальная переменная, считает сколько наборов данных (строк) занесено в TRvCustomConnection
 // Определяет максимум набора данных (строк) в TRvCustomConnection
 Connection.DataRows := StringGrid1.RowCount - 2;
***
OnGetCols
 // Определяем какие будут поля (какого типа)
 with Connection do
 begin
   WriteField("PosName", dtString, 30, "PosName", "");
   WriteField("Setting", dtString, 20, "Setting", "");
 end;
***
OnGetRow
 var
   I: Integer;
begin
 with Connection do
 begin
 // Порядок записи данных в поля должен строго соответсвовать
 // порядку в котором эти поля создавались
   if RC <= StringGrid1.RowCount - 2 then
     for I := 0 to StringGrid1.ColCount - 1 do
       WriteStrData("", StringGrid1.Cells[I, RC + 1]);
 end;
 Inc(RC);
end;


 
ekusto   (2004-04-01 00:14) [2]

Спасибо за ответ. Но немного не то.
У меня таблица, где ячейки - Edit-ы.
Мне просто надо назначить значение Text Edit-а
соответствующему полю в уже готовом шаблоне Rave,
как, к примеру, назначаются помещаемые в шаблон
данные с использованием полей базы данных.
Но моя прога не использует базы (набор данных).
А я не могу указать шаблону Rave где взять эти Edit-ы и
куда их сунуть (предвкушаю реакцию!).


 
Sun bittern ©   (2004-04-01 06:49) [3]

ekusto   (01.04.04 00:14) [2]

http://www.delphimaster.ru/cgi-bin/download.pl?look=1&id=1078393953&n=1

Небольшой кусманчик из моей программы (надеюсь я верно тебя понял, не будет работать спрашивай, но вроде все написал):

uses RvClass, RvCsStd;

var
 TmpRavePage: TRavePage;

TmpRavePage := RvProject1.ProjMan.ActiveReport.PageList.First;
 for I := 0 to TmpRavePage.ComponentCount - 1 do
 begin
   if TmpRavePage.Components[I] is TRaveText then
   begin
     ...
     if TRaveText(TmpRavePage.Components[I]).Tag = 1 then
       if H2 = 19 then TRaveText(TmpRavePage.Components[I]).Text := "Первая смена" else TRaveText(TmpRavePage.Components[I]).Text := "Вторая смена";
     ...
   end;
 end;
 RvProject1.ExecuteReport("ReportViolation");



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1079622694
Masha Streltsova
2004-03-18 18:11
2004.04.18
Picklist в DBGrid е


6-1077162696
Defunct
2004-02-19 06:51
2004.04.18
Глючит IdFTP


4-1076083261
TankMan
2004-02-06 19:01
2004.04.18
Как сделать дамп процесса из Delphi...


6-1077123088
diMAN
2004-02-18 19:51
2004.04.18
Обмен данными client - server


3-1079854753
wizzo
2004-03-21 10:39
2004.04.18
Перестало работать EXEC SP_EXECUTESQL @SQL