Главная страница
    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.45 MB
Время: 0.033 c
14-1079877087
panov
2004-03-21 16:51
2004.04.18
Срочно нужна помощь!


14-1079906051
konstantinov
2004-03-22 00:54
2004.04.18
Посмотрите код. Не слишко ли коряво?


14-1079972900
Обитатель
2004-03-22 19:28
2004.04.18
Что с моей виндой-2000 ?


7-1076339244
Seldon
2004-02-09 18:07
2004.04.18
Иконки дисков


1-1080554509
СержК
2004-03-29 14:01
2004.04.18
Синхронизация системного времени





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский