mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 05:59:30 +02:00
LazReport, Child bands impleementation by Gabor Boros with changes, issue #26996
git-svn-id: trunk@46838 -
This commit is contained in:
parent
3497257130
commit
735b4ac629
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -2224,6 +2224,12 @@ components/lazreport/images/package_images.bat svneol=native#text/x-msdos-progra
|
|||||||
components/lazreport/license-lazreport.txt svneol=native#text/plain
|
components/lazreport/license-lazreport.txt svneol=native#text/plain
|
||||||
components/lazreport/license-rus.txt svneol=native#text/plain
|
components/lazreport/license-rus.txt svneol=native#text/plain
|
||||||
components/lazreport/license.txt svneol=native#text/plain
|
components/lazreport/license.txt svneol=native#text/plain
|
||||||
|
components/lazreport/samples/ChildBand_Example/ChildBand_Example.ico -text
|
||||||
|
components/lazreport/samples/ChildBand_Example/ChildBand_Example.lpi svneol=native#text/plain
|
||||||
|
components/lazreport/samples/ChildBand_Example/ChildBand_Example.lpr svneol=native#text/pascal
|
||||||
|
components/lazreport/samples/ChildBand_Example/ChildBand_Example.res -text
|
||||||
|
components/lazreport/samples/ChildBand_Example/unit1.lfm svneol=native#text/plain
|
||||||
|
components/lazreport/samples/ChildBand_Example/unit1.pas svneol=native#text/pascal
|
||||||
components/lazreport/samples/Demo_CrossTab/demo_cross.lrf svneol=LF#text/xml eol=lf
|
components/lazreport/samples/Demo_CrossTab/demo_cross.lrf svneol=LF#text/xml eol=lf
|
||||||
components/lazreport/samples/Demo_CrossTab/project1.ico -text
|
components/lazreport/samples/Demo_CrossTab/project1.ico -text
|
||||||
components/lazreport/samples/Demo_CrossTab/project1.lpi svneol=native#text/plain
|
components/lazreport/samples/Demo_CrossTab/project1.lpi svneol=native#text/plain
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 134 KiB |
@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CONFIG>
|
||||||
|
<ProjectOptions>
|
||||||
|
<Version Value="9"/>
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<General>
|
||||||
|
<SessionStorage Value="InProjectDir"/>
|
||||||
|
<MainUnit Value="0"/>
|
||||||
|
<Title Value="ChildBand_Example"/>
|
||||||
|
<ResourceType Value="res"/>
|
||||||
|
<UseXPManifest Value="True"/>
|
||||||
|
<Icon Value="0"/>
|
||||||
|
</General>
|
||||||
|
<i18n>
|
||||||
|
<EnableI18N LFM="False"/>
|
||||||
|
</i18n>
|
||||||
|
<VersionInfo>
|
||||||
|
<StringTable ProductVersion=""/>
|
||||||
|
</VersionInfo>
|
||||||
|
<BuildModes Count="1">
|
||||||
|
<Item1 Name="Default" Default="True"/>
|
||||||
|
</BuildModes>
|
||||||
|
<PublishOptions>
|
||||||
|
<Version Value="2"/>
|
||||||
|
</PublishOptions>
|
||||||
|
<RunParams>
|
||||||
|
<local>
|
||||||
|
<FormatVersion Value="1"/>
|
||||||
|
</local>
|
||||||
|
</RunParams>
|
||||||
|
<RequiredPackages Count="3">
|
||||||
|
<Item1>
|
||||||
|
<PackageName Value="FCL"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<PackageName Value="lazreport"/>
|
||||||
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<PackageName Value="LCL"/>
|
||||||
|
</Item3>
|
||||||
|
</RequiredPackages>
|
||||||
|
<Units Count="2">
|
||||||
|
<Unit0>
|
||||||
|
<Filename Value="ChildBand_Example.lpr"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
</Unit0>
|
||||||
|
<Unit1>
|
||||||
|
<Filename Value="unit1.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<ComponentName Value="Form1"/>
|
||||||
|
<HasResources Value="True"/>
|
||||||
|
<ResourceBaseClass Value="Form"/>
|
||||||
|
<UnitName Value="Unit1"/>
|
||||||
|
</Unit1>
|
||||||
|
</Units>
|
||||||
|
</ProjectOptions>
|
||||||
|
<CompilerOptions>
|
||||||
|
<Version Value="11"/>
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<Target>
|
||||||
|
<Filename Value="ChildBand_Example"/>
|
||||||
|
</Target>
|
||||||
|
<SearchPaths>
|
||||||
|
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||||
|
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||||
|
</SearchPaths>
|
||||||
|
<Linking>
|
||||||
|
<Options>
|
||||||
|
<Win32>
|
||||||
|
<GraphicApplication Value="True"/>
|
||||||
|
</Win32>
|
||||||
|
</Options>
|
||||||
|
</Linking>
|
||||||
|
</CompilerOptions>
|
||||||
|
<Debugging>
|
||||||
|
<Exceptions Count="3">
|
||||||
|
<Item1>
|
||||||
|
<Name Value="EAbort"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<Name Value="ECodetoolError"/>
|
||||||
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<Name Value="EFOpenError"/>
|
||||||
|
</Item3>
|
||||||
|
</Exceptions>
|
||||||
|
</Debugging>
|
||||||
|
</CONFIG>
|
@ -0,0 +1,21 @@
|
|||||||
|
program ChildBand_Example;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
uses
|
||||||
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||||
|
cthreads,
|
||||||
|
{$ENDIF}{$ENDIF}
|
||||||
|
Interfaces, // this includes the LCL widgetset
|
||||||
|
Forms, Unit1
|
||||||
|
{ you can add units after this };
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
RequireDerivedFormResource := True;
|
||||||
|
Application.Initialize;
|
||||||
|
Application.CreateForm(TForm1, Form1);
|
||||||
|
Application.Run;
|
||||||
|
end.
|
||||||
|
|
Binary file not shown.
68
components/lazreport/samples/ChildBand_Example/unit1.lfm
Normal file
68
components/lazreport/samples/ChildBand_Example/unit1.lfm
Normal file
File diff suppressed because one or more lines are too long
73
components/lazreport/samples/ChildBand_Example/unit1.pas
Normal file
73
components/lazreport/samples/ChildBand_Example/unit1.pas
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
unit Unit1;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils, FileUtil, LR_Class, LR_DBSet, Forms, Controls, Graphics,
|
||||||
|
Dialogs, StdCtrls, BufDataset, db;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TForm1 }
|
||||||
|
|
||||||
|
TForm1 = class(TForm)
|
||||||
|
BufDataset1: TBufDataset;
|
||||||
|
Button1: TButton;
|
||||||
|
CheckBox1: TCheckBox;
|
||||||
|
CheckBox2: TCheckBox;
|
||||||
|
frDBDataSet1: TfrDBDataSet;
|
||||||
|
frReport1: TfrReport;
|
||||||
|
procedure Button1Click(Sender: TObject);
|
||||||
|
procedure CheckBox1Change(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure frReport1BeginBand(Band: TfrBand);
|
||||||
|
private
|
||||||
|
{ private declarations }
|
||||||
|
public
|
||||||
|
{ public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
Form1: TForm1;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.lfm}
|
||||||
|
|
||||||
|
{ TForm1 }
|
||||||
|
|
||||||
|
procedure TForm1.FormCreate(Sender: TObject);
|
||||||
|
var
|
||||||
|
i:Integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
BufDataset1.CreateDataset;
|
||||||
|
for i:=1 to 10 do
|
||||||
|
begin
|
||||||
|
BufDataset1.AppendRecord([i]);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.frReport1BeginBand(Band: TfrBand);
|
||||||
|
begin
|
||||||
|
if CheckBox1.Checked and (Band.Name='Child1') then
|
||||||
|
begin
|
||||||
|
Band.Visible:=((BufDataset1.FieldByName('FIELD1').Value mod 2)=0);
|
||||||
|
Band.PrintChildIfNotVisible:=CheckBox2.Checked;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.Button1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
frReport1.ShowReport;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.CheckBox1Change(Sender: TObject);
|
||||||
|
begin
|
||||||
|
CheckBox2.Visible:=CheckBox1.Checked;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
@ -87,6 +87,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Křížení patičky"
|
msgstr "Křížení patičky"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Není"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Není"
|
msgstr "Není"
|
||||||
|
|
||||||
@ -2232,6 +2242,10 @@ msgstr "Měřítko"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "Celá stránka"
|
msgstr "Celá stránka"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
|
@ -96,6 +96,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Kreuz-Footer"
|
msgstr "Kreuz-Footer"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Keiner"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Keiner"
|
msgstr "Keiner"
|
||||||
|
|
||||||
@ -2224,6 +2234,10 @@ msgstr "Maßstab"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Ganze &Seite"
|
msgstr "&Ganze &Seite"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
msgid "Selected printer is not valid"
|
msgid "Selected printer is not valid"
|
||||||
|
@ -89,6 +89,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Pie de datos cruzados"
|
msgstr "Pie de datos cruzados"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Ninguno"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Ninguno"
|
msgstr "Ninguno"
|
||||||
|
|
||||||
@ -2214,6 +2224,10 @@ msgstr "Escala"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Toda la página"
|
msgstr "&Toda la página"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
msgid "Selected printer is not valid"
|
msgid "Selected printer is not valid"
|
||||||
|
@ -95,6 +95,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Pied de page tableau"
|
msgstr "Pied de page tableau"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Aucun"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Aucun"
|
msgstr "Aucun"
|
||||||
|
|
||||||
@ -2245,6 +2255,10 @@ msgstr "Échelle"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Page entière"
|
msgstr "&Page entière"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
|
@ -88,6 +88,16 @@ msgid "Cross footer"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Nincs"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Nincs"
|
msgstr "Nincs"
|
||||||
|
|
||||||
@ -2198,6 +2208,10 @@ msgstr "Átméretezés"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "Teljes oldal"
|
msgstr "Teljes oldal"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
msgid "Selected printer is not valid"
|
msgid "Selected printer is not valid"
|
||||||
msgstr "A kiválasztott nyomtató érvénytelen"
|
msgstr "A kiválasztott nyomtató érvénytelen"
|
||||||
|
@ -86,6 +86,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Footer silang"
|
msgstr "Footer silang"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Tidak ada"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Tidak ada"
|
msgstr "Tidak ada"
|
||||||
|
|
||||||
@ -2234,6 +2244,10 @@ msgstr "Skala"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Seluruh halaman"
|
msgstr "&Seluruh halaman"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
|
@ -90,6 +90,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Pedice incrodiato"
|
msgstr "Pedice incrodiato"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Nessuno"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Nessuno"
|
msgstr "Nessuno"
|
||||||
|
|
||||||
@ -2196,6 +2206,10 @@ msgstr "Scala"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Intera pagina"
|
msgstr "&Intera pagina"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
msgid "Selected printer is not valid"
|
msgid "Selected printer is not valid"
|
||||||
msgstr "La stampante selezionata non è valida."
|
msgstr "La stampante selezionata non è valida."
|
||||||
@ -2544,3 +2558,4 @@ msgstr "a capo parole"
|
|||||||
#: lr_const.syes
|
#: lr_const.syes
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "&Sì"
|
msgstr "&Sì"
|
||||||
|
|
||||||
|
@ -88,6 +88,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Kryžmės poraštės"
|
msgstr "Kryžmės poraštės"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Joks"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Joks"
|
msgstr "Joks"
|
||||||
|
|
||||||
@ -2222,6 +2232,10 @@ msgstr "Mastelis"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Visas lapas"
|
msgstr "&Visas lapas"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
|
@ -89,6 +89,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Stopka krzyżowa"
|
msgstr "Stopka krzyżowa"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Żaden"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Żaden"
|
msgstr "Żaden"
|
||||||
|
|
||||||
@ -2237,6 +2247,10 @@ msgstr "Skaluj"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Cała strona"
|
msgstr "&Cała strona"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
|
@ -81,6 +81,12 @@ msgid "Cross footer"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2187,6 +2193,10 @@ msgstr ""
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
msgid "Selected printer is not valid"
|
msgid "Selected printer is not valid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -87,6 +87,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Rodapé Ref.Cruz."
|
msgstr "Rodapé Ref.Cruz."
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Nenhum"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Nenhum"
|
msgstr "Nenhum"
|
||||||
|
|
||||||
@ -2221,6 +2231,10 @@ msgstr "Escala"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "Página &inteira"
|
msgstr "Página &inteira"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
|
@ -86,6 +86,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Cross-примечание"
|
msgstr "Cross-примечание"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Нет"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Нет"
|
msgstr "Нет"
|
||||||
|
|
||||||
@ -2218,6 +2228,10 @@ msgstr "Масштаб"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "&Вся страница"
|
msgstr "&Вся страница"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
msgid "Selected printer is not valid"
|
msgid "Selected printer is not valid"
|
||||||
|
@ -89,6 +89,16 @@ msgid "Cross footer"
|
|||||||
msgstr "Перехресний нижній колонтитул"
|
msgstr "Перехресний нижній колонтитул"
|
||||||
|
|
||||||
#: lr_const.sband22
|
#: lr_const.sband22
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband22"
|
||||||
|
msgid "Child"
|
||||||
|
msgstr "Немає"
|
||||||
|
|
||||||
|
#: lr_const.sband23
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "None"
|
||||||
|
msgctxt "lr_const.sband23"
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Немає"
|
msgstr "Немає"
|
||||||
|
|
||||||
@ -2223,6 +2233,10 @@ msgstr "Масштаб"
|
|||||||
msgid "&Whole page"
|
msgid "&Whole page"
|
||||||
msgstr "Сторінка &повністю"
|
msgstr "Сторінка &повністю"
|
||||||
|
|
||||||
|
#: lr_const.sprintchildifnotvisible
|
||||||
|
msgid "Print child if not visible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lr_const.sprintererror
|
#: lr_const.sprintererror
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "Printer selected is not valid"
|
#| msgid "Printer selected is not valid"
|
||||||
|
@ -71,7 +71,7 @@ var
|
|||||||
First: Boolean;
|
First: Boolean;
|
||||||
begin
|
begin
|
||||||
First := True;
|
First := True;
|
||||||
for bt := btReportTitle to btCrossFooter do
|
for bt := btReportTitle to btChild do
|
||||||
begin
|
begin
|
||||||
b := TRadioButton.Create(GB1);
|
b := TRadioButton.Create(GB1);
|
||||||
b.Parent := GB1;
|
b.Parent := GB1;
|
||||||
@ -80,7 +80,7 @@ begin
|
|||||||
b.Caption := frBandNames[Bt];
|
b.Caption := frBandNames[Bt];
|
||||||
b.OnClick := @bClick;
|
b.OnClick := @bClick;
|
||||||
b.Enabled := (bt in [btMasterHeader..btSubDetailFooter,
|
b.Enabled := (bt in [btMasterHeader..btSubDetailFooter,
|
||||||
btGroupHeader, btGroupFooter]) or not frCheckBand(bt);
|
btGroupHeader, btGroupFooter, btChild]) or not frCheckBand(bt);
|
||||||
if b.Enabled and First then
|
if b.Enabled and First then
|
||||||
begin
|
begin
|
||||||
b.Checked := True;
|
b.Checked := True;
|
||||||
|
@ -37,6 +37,7 @@ const
|
|||||||
flBandOnFirstPage = $10;
|
flBandOnFirstPage = $10;
|
||||||
flBandOnLastPage = $20;
|
flBandOnLastPage = $20;
|
||||||
flBandRepeatHeader = $40;
|
flBandRepeatHeader = $40;
|
||||||
|
flBandPrintChildIfNotVisible = $80;
|
||||||
|
|
||||||
flPictCenter = 2;
|
flPictCenter = 2;
|
||||||
flPictRatio = 4;
|
flPictRatio = 4;
|
||||||
@ -67,7 +68,7 @@ type
|
|||||||
btSubDetailHeader, btSubDetailData, btSubDetailFooter,
|
btSubDetailHeader, btSubDetailData, btSubDetailFooter,
|
||||||
btOverlay, btColumnHeader, btColumnFooter,
|
btOverlay, btColumnHeader, btColumnFooter,
|
||||||
btGroupHeader, btGroupFooter,
|
btGroupHeader, btGroupFooter,
|
||||||
btCrossHeader, btCrossData, btCrossFooter, btNone);
|
btCrossHeader, btCrossData, btCrossFooter, btChild, btNone);
|
||||||
TfrBandTypes = set of TfrBandType;
|
TfrBandTypes = set of TfrBandType;
|
||||||
TfrDataSetPosition = (psLocal, psGlobal);
|
TfrDataSetPosition = (psLocal, psGlobal);
|
||||||
TfrValueType = (vtNotAssigned, vtDBField, vtOther, vtFRVar);
|
TfrValueType = (vtNotAssigned, vtDBField, vtOther, vtFRVar);
|
||||||
@ -535,6 +536,7 @@ type
|
|||||||
fDataSetStr : String;
|
fDataSetStr : String;
|
||||||
fBandType : TfrBandType;
|
fBandType : TfrBandType;
|
||||||
fCondition : String;
|
fCondition : String;
|
||||||
|
fChild : String;
|
||||||
|
|
||||||
procedure P1Click(Sender: TObject);
|
procedure P1Click(Sender: TObject);
|
||||||
procedure P2Click(Sender: TObject);
|
procedure P2Click(Sender: TObject);
|
||||||
@ -542,6 +544,7 @@ type
|
|||||||
procedure P4Click(Sender: TObject);
|
procedure P4Click(Sender: TObject);
|
||||||
procedure P5Click(Sender: TObject);
|
procedure P5Click(Sender: TObject);
|
||||||
procedure P6Click(Sender: TObject);
|
procedure P6Click(Sender: TObject);
|
||||||
|
procedure P7Click(Sender: TObject);
|
||||||
function GetTitleRect: TRect;
|
function GetTitleRect: TRect;
|
||||||
function TitleSize: Integer;
|
function TitleSize: Integer;
|
||||||
procedure CalcTitleSize;
|
procedure CalcTitleSize;
|
||||||
@ -569,6 +572,7 @@ type
|
|||||||
published
|
published
|
||||||
property DataSet: String read fDataSetStr write fDataSetStr;
|
property DataSet: String read fDataSetStr write fDataSetStr;
|
||||||
property GroupCondition: String read fCondition write fCondition;
|
property GroupCondition: String read fCondition write fCondition;
|
||||||
|
property Child: String read fChild write fChild;
|
||||||
|
|
||||||
property BandType: TfrBandType read fBandType write fBandType;
|
property BandType: TfrBandType read fBandType write fBandType;
|
||||||
|
|
||||||
@ -693,6 +697,7 @@ type
|
|||||||
Positions: Array[TfrDatasetPosition] of Integer;
|
Positions: Array[TfrDatasetPosition] of Integer;
|
||||||
LastGroupValue: Variant;
|
LastGroupValue: Variant;
|
||||||
HeaderBand, FooterBand, LastBand: TfrBand;
|
HeaderBand, FooterBand, LastBand: TfrBand;
|
||||||
|
ChildBand: TfrBand;
|
||||||
Values: TStringList;
|
Values: TStringList;
|
||||||
Count: Integer;
|
Count: Integer;
|
||||||
DisableInit: Boolean;
|
DisableInit: Boolean;
|
||||||
@ -725,6 +730,7 @@ type
|
|||||||
|
|
||||||
Typ: TfrBandType;
|
Typ: TfrBandType;
|
||||||
PrintIfSubsetEmpty, NewPageAfter, Stretched, PageBreak: Boolean;
|
PrintIfSubsetEmpty, NewPageAfter, Stretched, PageBreak: Boolean;
|
||||||
|
PrintChildIfNotVisible: Boolean;
|
||||||
Objects: TFpList;
|
Objects: TFpList;
|
||||||
DataSet: TfrDataSet;
|
DataSet: TfrDataSet;
|
||||||
IsVirtualDS: Boolean;
|
IsVirtualDS: Boolean;
|
||||||
@ -1416,11 +1422,12 @@ function FindObjectProps(AObjStr:string; out frObj:TfrObject; out PropName:strin
|
|||||||
|
|
||||||
const
|
const
|
||||||
lrTemplatePath = 'LazReportTemplate/';
|
lrTemplatePath = 'LazReportTemplate/';
|
||||||
frCurrentVersion = 27;
|
frCurrentVersion = 28;
|
||||||
// version 2.5: lazreport: added to binary stream ParentBandType variable
|
// version 2.5: lazreport: added to binary stream ParentBandType variable
|
||||||
// on TfrView, used to extend export facilities
|
// on TfrView, used to extend export facilities
|
||||||
// version 2.6: lazreport: added to binary stream Tag property on TfrView
|
// version 2.6: lazreport: added to binary stream Tag property on TfrView
|
||||||
// version 2.7: lazreport: added to binary stream FOnClick, FOnMouseEnter, FOnMouseLeave, FCursor property on TfrMemoView
|
// version 2.7: lazreport: added to binary stream FOnClick, FOnMouseEnter, FOnMouseLeave, FCursor property on TfrMemoView
|
||||||
|
// version 2.8. lazreport: added support for child bands
|
||||||
|
|
||||||
frSpecCount = 9;
|
frSpecCount = 9;
|
||||||
frSpecFuncs: Array[0..frSpecCount - 1] of String = ('PAGE#', '',
|
frSpecFuncs: Array[0..frSpecCount - 1] of String = ('PAGE#', '',
|
||||||
@ -1740,7 +1747,8 @@ begin
|
|||||||
frBandNames[btCrossHeader] := sBand19;
|
frBandNames[btCrossHeader] := sBand19;
|
||||||
frBandNames[btCrossData] := sBand20;
|
frBandNames[btCrossData] := sBand20;
|
||||||
frBandNames[btCrossFooter] := sBand21;
|
frBandNames[btCrossFooter] := sBand21;
|
||||||
frBandNames[btNone] := sBand22;
|
frBandNames[btChild] := sBand22;
|
||||||
|
frBandNames[btNone] := sBand23;
|
||||||
|
|
||||||
frSpecArr[0] := sVar1;
|
frSpecArr[0] := sVar1;
|
||||||
frSpecArr[1] := sVar2;
|
frSpecArr[1] := sVar2;
|
||||||
@ -4844,6 +4852,7 @@ begin
|
|||||||
BandType := TFrBandView(Source).BandType;
|
BandType := TFrBandView(Source).BandType;
|
||||||
DataSet := TFrBandView(Source).DataSet;
|
DataSet := TFrBandView(Source).DataSet;
|
||||||
GroupCondition:=TFrBandView(Source).GroupCondition;
|
GroupCondition:=TFrBandView(Source).GroupCondition;
|
||||||
|
Child := TFrBandView(Source).Child;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4854,8 +4863,12 @@ begin
|
|||||||
With Stream do
|
With Stream do
|
||||||
if frVersion>23 then begin
|
if frVersion>23 then begin
|
||||||
Read(fBandType,SizeOf(BandType));
|
Read(fBandType,SizeOf(BandType));
|
||||||
|
if (frVersion<28) and (fBandType=btChild) then
|
||||||
|
fBandType := btNone; // btNone and btChild were swapped in version 29
|
||||||
fCondition :=ReadString(Stream);
|
fCondition :=ReadString(Stream);
|
||||||
fDataSetStr:=ReadString(Stream);
|
fDataSetStr:=ReadString(Stream);
|
||||||
|
if frVersion>=28 then
|
||||||
|
fChild :=ReadString(Stream);
|
||||||
end else
|
end else
|
||||||
begin
|
begin
|
||||||
if StreamMode=smDesigning then begin
|
if StreamMode=smDesigning then begin
|
||||||
@ -4872,6 +4885,7 @@ begin
|
|||||||
RestoreProperty('BandType',XML.GetValue(Path+'BandType/Value','')); // todo chk
|
RestoreProperty('BandType',XML.GetValue(Path+'BandType/Value','')); // todo chk
|
||||||
FCondition := XML.GetValue(Path+'Condition/Value', ''); // todo chk
|
FCondition := XML.GetValue(Path+'Condition/Value', ''); // todo chk
|
||||||
FDatasetStr := XML.GetValue(Path+'DatasetStr/Value', ''); // todo chk
|
FDatasetStr := XML.GetValue(Path+'DatasetStr/Value', ''); // todo chk
|
||||||
|
FChild := XML.GetValue(Path+'Child/Value', '');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrBandView.SaveToStream(Stream: TStream);
|
procedure TfrBandView.SaveToStream(Stream: TStream);
|
||||||
@ -4883,6 +4897,7 @@ begin
|
|||||||
Write(fBandType,SizeOf(fBandType));
|
Write(fBandType,SizeOf(fBandType));
|
||||||
frWriteString(Stream, fCondition);
|
frWriteString(Stream, fCondition);
|
||||||
frWriteString(Stream, fDataSetStr);
|
frWriteString(Stream, fDataSetStr);
|
||||||
|
frWriteString(Stream, fChild);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4892,6 +4907,7 @@ begin
|
|||||||
XML.SetValue(Path+'BandType/Value', GetSaveProperty('BandType')); //Ord(FBandType)); // todo: use symbolic values
|
XML.SetValue(Path+'BandType/Value', GetSaveProperty('BandType')); //Ord(FBandType)); // todo: use symbolic values
|
||||||
XML.SetValue(Path+'Condition/Value', FCondition);
|
XML.SetValue(Path+'Condition/Value', FCondition);
|
||||||
XML.SetValue(Path+'DatasetStr/Value', FDatasetStr);
|
XML.SetValue(Path+'DatasetStr/Value', FDatasetStr);
|
||||||
|
XML.SetValue(Path+'Child/Value', FChild);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrBandView.Draw(aCanvas: TCanvas);
|
procedure TfrBandView.Draw(aCanvas: TCanvas);
|
||||||
@ -5033,7 +5049,7 @@ var
|
|||||||
m: TMenuItem;
|
m: TMenuItem;
|
||||||
begin
|
begin
|
||||||
if BandType in [btReportTitle, btReportSummary, btPageHeader, btCrossHeader,
|
if BandType in [btReportTitle, btReportSummary, btPageHeader, btCrossHeader,
|
||||||
btMasterHeader..btSubDetailFooter, btGroupHeader, btGroupFooter] then
|
btMasterHeader..btSubDetailFooter, btGroupHeader, btGroupFooter, btChild] then
|
||||||
inherited DefinePopupMenu(Popup);
|
inherited DefinePopupMenu(Popup);
|
||||||
|
|
||||||
if BandType in [btReportTitle, btReportSummary, btMasterData, btDetailData,
|
if BandType in [btReportTitle, btReportSummary, btMasterData, btDetailData,
|
||||||
@ -5093,6 +5109,15 @@ begin
|
|||||||
m.Checked := (Flags and flBandRepeatHeader) <> 0;
|
m.Checked := (Flags and flBandRepeatHeader) <> 0;
|
||||||
Popup.Items.Add(m);
|
Popup.Items.Add(m);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
if BandType <> btPageFooter then
|
||||||
|
begin
|
||||||
|
m := TMenuItem.Create(Popup);
|
||||||
|
m.Caption := sPrintChildIfNotVisible;
|
||||||
|
m.OnClick := @P7Click;
|
||||||
|
m.Checked := (Flags and flBandPrintChildIfNotVisible) <> 0;
|
||||||
|
Popup.Items.Add(m);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrBandView.P1Click(Sender: TObject);
|
procedure TfrBandView.P1Click(Sender: TObject);
|
||||||
@ -5181,6 +5206,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrBandView.P7Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
frDesigner.BeforeChange;
|
||||||
|
with Sender as TMenuItem do
|
||||||
|
begin
|
||||||
|
Checked := not Checked;
|
||||||
|
Flags := (Flags and not flBandPrintChildIfNotVisible) + Word(Checked) * flBandPrintChildIfNotVisible;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TfrBandView.GetTitleRect: TRect;
|
function TfrBandView.GetTitleRect: TRect;
|
||||||
begin
|
begin
|
||||||
if BandType in [btCrossHeader..btCrossFooter] then
|
if BandType in [btCrossHeader..btCrossFooter] then
|
||||||
@ -6921,6 +6956,8 @@ begin
|
|||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
DoDraw;
|
DoDraw;
|
||||||
|
if (ChildBand <> nil) then
|
||||||
|
ChildBand.Draw;
|
||||||
if not (Typ in [btMasterData, btDetailData, btSubDetailData, btGroupHeader]) and
|
if not (Typ in [btMasterData, btDetailData, btSubDetailData, btGroupHeader]) and
|
||||||
NewPageAfter then
|
NewPageAfter then
|
||||||
Parent.NewPage;
|
Parent.NewPage;
|
||||||
@ -6931,9 +6968,13 @@ begin
|
|||||||
// if band is not visible, just performing aggregate calculations
|
// if band is not visible, just performing aggregate calculations
|
||||||
// relative to it
|
// relative to it
|
||||||
else
|
else
|
||||||
|
begin
|
||||||
|
if (ChildBand <> nil) and PrintChildIfNotVisible then
|
||||||
|
ChildBand.Draw;
|
||||||
if Typ in [btMasterData, btDetailData, btSubDetailData] then
|
if Typ in [btMasterData, btDetailData, btSubDetailData] then
|
||||||
Parent.DoAggregate([btPageFooter, btMasterFooter, btDetailFooter,
|
Parent.DoAggregate([btPageFooter, btMasterFooter, btDetailFooter,
|
||||||
btSubDetailFooter, btGroupFooter, btReportSummary]);
|
btSubDetailFooter, btGroupFooter, btReportSummary]);
|
||||||
|
end;
|
||||||
|
|
||||||
// check if multiple pagefooters (in cross-tab report) - resets last of them
|
// check if multiple pagefooters (in cross-tab report) - resets last of them
|
||||||
if not DisableInit then
|
if not DisableInit then
|
||||||
@ -7335,7 +7376,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
for b := btReportTitle to btGroupFooter do // fill other bands
|
for b := btReportTitle to btChild do // fill other bands
|
||||||
|
if not (b in [btCrossHeader..btCrossFooter]) then
|
||||||
begin
|
begin
|
||||||
FirstBand := True;
|
FirstBand := True;
|
||||||
Bnd := Bands[b];
|
Bnd := Bands[b];
|
||||||
@ -7370,6 +7412,7 @@ begin
|
|||||||
InitDataSet(TfrBandView(Bt).DataSet);
|
InitDataSet(TfrBandView(Bt).DataSet);
|
||||||
Stretched := (Flags and flStretched) <> 0;
|
Stretched := (Flags and flStretched) <> 0;
|
||||||
PrintIfSubsetEmpty := (Flags and flBandPrintIfSubsetEmpty) <> 0;
|
PrintIfSubsetEmpty := (Flags and flBandPrintIfSubsetEmpty) <> 0;
|
||||||
|
PrintChildIfNotVisible := (Flags and flBandPrintChildIfNotVisible) <> 0;
|
||||||
if Skip then
|
if Skip then
|
||||||
begin
|
begin
|
||||||
NewPageAfter := False;
|
NewPageAfter := False;
|
||||||
@ -7527,6 +7570,26 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
for b := btReportTitle to btChild do
|
||||||
|
begin
|
||||||
|
Bnd := Bands[b];
|
||||||
|
while Bnd <> nil do
|
||||||
|
begin
|
||||||
|
if Bnd.View <> nil then
|
||||||
|
begin
|
||||||
|
s := TfrBandView(Bnd.View).Child;
|
||||||
|
|
||||||
|
for i := 0 to RTObjects.Count - 1 do
|
||||||
|
begin
|
||||||
|
bt :=TfrView(RTObjects[i]);
|
||||||
|
if (bt.Typ = gtBand) and (TfrBandView(bt).BandType=btChild) and (bt.Name=s) then
|
||||||
|
Bnd.ChildBand:=bt.Parent;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Bnd := Bnd.Next;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
if ColCount = 0 then ColCount := 1;
|
if ColCount = 0 then ColCount := 1;
|
||||||
ColWidth := (RightMargin - LeftMargin) div ColCount;
|
ColWidth := (RightMargin - LeftMargin) div ColCount;
|
||||||
end;
|
end;
|
||||||
|
@ -186,7 +186,8 @@ resourcestring
|
|||||||
sBand19 = 'Cross header';
|
sBand19 = 'Cross header';
|
||||||
sBand20 = 'Cross data';
|
sBand20 = 'Cross data';
|
||||||
sBand21 = 'Cross footer';
|
sBand21 = 'Cross footer';
|
||||||
sBand22 = 'None';
|
sBand22 = 'Child';
|
||||||
|
sBand23 = 'None';
|
||||||
|
|
||||||
sVar1 = 'Page#';
|
sVar1 = 'Page#';
|
||||||
sVar2 = 'Expression';
|
sVar2 = 'Expression';
|
||||||
@ -223,6 +224,7 @@ resourcestring
|
|||||||
sNotAssigned = '[None]';
|
sNotAssigned = '[None]';
|
||||||
sFormNewPage = 'Force new page';
|
sFormNewPage = 'Force new page';
|
||||||
sPrintIfSubsetEmpty = 'Print if detail empty';
|
sPrintIfSubsetEmpty = 'Print if detail empty';
|
||||||
|
sPrintChildIfNotVisible = 'Print child if not visible';
|
||||||
sBreaked = 'Breaked';
|
sBreaked = 'Breaked';
|
||||||
sPictureCenter = 'Center picture';
|
sPictureCenter = 'Center picture';
|
||||||
sKeepAspectRatio = 'Keep aspect ratio';
|
sKeepAspectRatio = 'Keep aspect ratio';
|
||||||
|
Loading…
Reference in New Issue
Block a user