|
Тема
|
Помощ за FreeReport
|
|
Автор | зaблyдeн (Нерегистриран) |
Публикувано | 25.11.03 21:37 |
|
Свалих си FreeReport 2.32 но нещо не мога да се оправя :( и моля за малко помощ. Значи имам един масив с 20 елемента integer и искам да ги покажа като таблица в report-a. Какво трябва да направя за да ги 'вкарам', да им направя Print Preview и накрая да ги отпечатам? Сигурно е лесно, но за пръв път се сблъсквам с Report generator и ми е като в мъгла. Мерси предварително, дано не ви затруднявам.
| |
|
Ами за FreeReport-а можеш да ползваш frUserDataset. Той има евенти OnCheckEOF, OnFirst и OnNext. С тяхна помощ можеш да направиш така, че масивът ти да изглежда точно като обикновен DataSet
После вече идва реда на самия репорт - може би ще искаш да си направиш някаква бланка или пък обикновена табличка... Най-простият начин е в дизайнера на репорта да си поставиш MasterDataBand, да го свържеш с твоя frUserDataSet и в него да си сложиш Memo за "фийлда" на твоята "табличка"...
Кажи после дали има нещо (не)ясно
| |
Тема
|
Откъде го свали?
[re: зaблyдeн]
|
|
Автор | Учeниka (Нерегистриран) |
Публикувано | 26.11.03 09:37 |
|
Пиши откъде свали FreeReport-a?
| |
|
Що не опиташ да го свалиш от тука?
| |
Тема
|
Re: Помощ за FreeReport
[re: andrew_nikoloff]
|
|
Автор | зaблyдeн (Нерегистриран) |
Публикувано | 26.11.03 12:34 |
|
Мерси, но още не съм се оправил.
Значи първия елемент на масива ми е IntArr[0]. Как да го "кажа" това на frUserDataSet.OnFirst евента?
После, сложих си някакъв текст в MasterData лента и с един бутон викам
frReport1.PrepareReport;
frReport1.ShowReport;
и нищо не става. Къде бъркам?
| |
|
Можеш да го симулираш така:
В мемото си пишеш някаква променлива (в квадратни скоби) - например [IntVal].
procedure TForm1.frReport1GetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName = 'IntVal' then
ParValue := a[idx];
end;
procedure TForm1.frUserDataset1CheckEOF(Sender: TObject; var Eof: Boolean);
begin
Eof := idx > 19;
end;
procedure TForm1.frUserDataset1First(Sender: TObject);
begin
idx := 0;
end;
procedure TForm1.frUserDataset1Next(Sender: TObject);
begin
Inc(idx);
end;
където a ти е Array[0..19], а idx ти е индекса (инициализирай го за всеки случай на 0 да кажен на OnCreate). Важно е също така на самия репорт да кажеш StoreInDFM := True;
| |
Тема
|
Re: Помощ за FreeReport
[re: andrew_nikoloff]
|
|
Автор | 3aблyдeн (Нерегистриран) |
Публикувано | 27.11.03 10:54 |
|
10x :)
Така вече тръгна и почнах да го загрявам. Жалко, че free версията не може да печата диаграми, но за момента не е толкова фатално.
| |
|
|
|
|