Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизОтчеты через 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c