RxFPC:start work on export RxDBGrid groups to spreadsheet

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5949 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2017-06-20 12:38:18 +00:00
parent 0f40ba6214
commit 552f841d18
15 changed files with 371 additions and 135 deletions

View File

@ -11,7 +11,7 @@
<WindowIndex Value="-1"/> <WindowIndex Value="-1"/>
<TopLine Value="-1"/> <TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/> <CursorPos X="-1" Y="-1"/>
<UsageCount Value="30"/> <UsageCount Value="31"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
@ -22,13 +22,13 @@
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
<TopLine Value="70"/> <TopLine Value="70"/>
<CursorPos X="60" Y="87"/> <CursorPos X="60" Y="87"/>
<UsageCount Value="30"/> <UsageCount Value="31"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<EditorIndex Value="6"/> <EditorIndex Value="5"/>
<TopLine Value="6312"/> <TopLine Value="6312"/>
<CursorPos Y="6333"/> <CursorPos Y="6333"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
@ -40,7 +40,7 @@
<Unit3> <Unit3>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<EditorIndex Value="10"/> <EditorIndex Value="9"/>
<TopLine Value="11692"/> <TopLine Value="11692"/>
<CursorPos Y="11717"/> <CursorPos Y="11717"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
@ -49,7 +49,7 @@
<Unit4> <Unit4>
<Filename Value="../../../../../lcl/dbgrids.pas"/> <Filename Value="../../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<EditorIndex Value="9"/> <EditorIndex Value="8"/>
<TopLine Value="475"/> <TopLine Value="475"/>
<CursorPos X="14" Y="491"/> <CursorPos X="14" Y="491"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
@ -71,7 +71,7 @@
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="../../../rxtools/rxutils.pas"/> <Filename Value="../../../rxtools/rxutils.pas"/>
<EditorIndex Value="7"/> <EditorIndex Value="6"/>
<TopLine Value="64"/> <TopLine Value="64"/>
<CursorPos X="2" Y="91"/> <CursorPos X="2" Y="91"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
@ -79,7 +79,7 @@
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="../../../rxtools/rxstrutils.pas"/> <Filename Value="../../../rxtools/rxstrutils.pas"/>
<EditorIndex Value="8"/> <EditorIndex Value="7"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit8> </Unit8>
@ -165,7 +165,8 @@
<Unit20> <Unit20>
<Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<UnitName Value="RxDBGridExportSpreadSheet"/> <UnitName Value="RxDBGridExportSpreadSheet"/>
<EditorIndex Value="4"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="3"/>
<TopLine Value="564"/> <TopLine Value="564"/>
<CursorPos X="44" Y="595"/> <CursorPos X="44" Y="595"/>
<UsageCount Value="13"/> <UsageCount Value="13"/>
@ -184,7 +185,7 @@
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="../../../rxtools/rxdconst.pas"/> <Filename Value="../../../rxtools/rxdconst.pas"/>
<EditorIndex Value="5"/> <EditorIndex Value="4"/>
<TopLine Value="172"/> <TopLine Value="172"/>
<CursorPos X="14" Y="190"/> <CursorPos X="14" Y="190"/>
<UsageCount Value="13"/> <UsageCount Value="13"/>
@ -194,19 +195,18 @@
<Filename Value="../../../rxdbgrid_print/rxdbgridprintgrid.pas"/> <Filename Value="../../../rxdbgrid_print/rxdbgridprintgrid.pas"/>
<UnitName Value="RxDBGridPrintGrid"/> <UnitName Value="RxDBGridPrintGrid"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="314"/> <TopLine Value="298"/>
<CursorPos X="82" Y="332"/> <CursorPos X="25" Y="301"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit23> </Unit23>
<Unit24> <Unit24>
<Filename Value="../../../../lazreport/source/lr_class.pas"/> <Filename Value="../../../../lazreport/source/lr_class.pas"/>
<UnitName Value="LR_Class"/> <UnitName Value="LR_Class"/>
<EditorIndex Value="3"/> <EditorIndex Value="-1"/>
<TopLine Value="11808"/> <TopLine Value="11808"/>
<CursorPos Y="11826"/> <CursorPos Y="11826"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit24> </Unit24>
<Unit25> <Unit25>
<Filename Value="../../../rxdbgrid_print/rxdbgridprintgrid_setupunit.pas"/> <Filename Value="../../../rxdbgrid_print/rxdbgridprintgrid_setupunit.pas"/>
@ -214,9 +214,8 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridPrintGrid_SetupUnit"/> <UnitName Value="RxDBGridPrintGrid_SetupUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<TopLine Value="69"/> <TopLine Value="67"/>
<CursorPos X="36" Y="87"/> <CursorPos X="36" Y="87"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>

View File

@ -21,16 +21,19 @@
<FormatVersion Value="1"/> <FormatVersion Value="1"/>
</local> </local>
</RunParams> </RunParams>
<RequiredPackages Count="3"> <RequiredPackages Count="4">
<Item1> <Item1>
<PackageName Value="FCL"/> <PackageName Value="rxdbgrid_export_spreadsheet"/>
</Item1> </Item1>
<Item2> <Item2>
<PackageName Value="rxnew"/> <PackageName Value="FCL"/>
</Item2> </Item2>
<Item3> <Item3>
<PackageName Value="LCL"/> <PackageName Value="rxnew"/>
</Item3> </Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="2"> <Units Count="2">
<Unit0> <Unit0>

View File

@ -7,13 +7,17 @@ uses
cthreads, cthreads,
{$ENDIF}{$ENDIF} {$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset Interfaces, // this includes the LCL widgetset
Forms, rxnew, Unit1 Forms,
rxnew,
sysutils,
Unit1
{ you can add units after this }; { you can add units after this };
{$R *.res} {$R *.res}
begin begin
RequireDerivedFormResource:=True; RequireDerivedFormResource:=True;
DefaultFormatSettings.ThousandSeparator:=' ';
Application.Initialize; Application.Initialize;
Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm1, Form1);
Application.Run; Application.Run;

View File

@ -3,15 +3,13 @@
<ProjectSession> <ProjectSession>
<Version Value="10"/> <Version Value="10"/>
<BuildModes Active="Default"/> <BuildModes Active="Default"/>
<Units Count="28"> <Units Count="33">
<Unit0> <Unit0>
<Filename Value="project1.lpr"/> <Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<WindowIndex Value="-1"/> <CursorPos X="47" Y="20"/>
<TopLine Value="-1"/> <UsageCount Value="38"/>
<CursorPos X="-1" Y="-1"/>
<UsageCount Value="31"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
@ -20,25 +18,23 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
<TopLine Value="42"/> <TopLine Value="47"/>
<CursorPos X="6" Y="56"/> <CursorPos X="33" Y="67"/>
<UsageCount Value="31"/> <UsageCount Value="38"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<IsVisibleTab Value="True"/> <EditorIndex Value="2"/>
<EditorIndex Value="1"/> <TopLine Value="475"/>
<TopLine Value="1503"/> <CursorPos X="3" Y="492"/>
<CursorPos X="5" Y="1512"/> <UsageCount Value="17"/>
<UsageCount Value="15"/> <Bookmarks Count="4">
<Bookmarks Count="5">
<Item0 X="3" Y="4357" ID="5"/> <Item0 X="3" Y="4357" ID="5"/>
<Item1 X="3" Y="5572" ID="3"/> <Item1 X="3" Y="5572" ID="3"/>
<Item2 X="5" Y="6159" ID="4"/> <Item2 X="5" Y="6159" ID="4"/>
<Item3 X="63" Y="4523" ID="1"/> <Item3 X="3" Y="6172" ID="2"/>
<Item4 X="3" Y="6172" ID="2"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit2> </Unit2>
@ -47,59 +43,59 @@
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="70"/> <TopLine Value="70"/>
<CursorPos X="30" Y="91"/> <CursorPos X="30" Y="91"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/lists.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/lists.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="316"/> <TopLine Value="316"/>
<CursorPos X="13" Y="328"/> <CursorPos X="13" Y="328"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/> <Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="1669"/> <TopLine Value="1669"/>
<CursorPos X="14" Y="1687"/> <CursorPos X="14" Y="1687"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/datasource.inc"/> <Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/datasource.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="212"/> <TopLine Value="212"/>
<CursorPos Y="218"/> <CursorPos Y="218"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/dataset.inc"/> <Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/dataset.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="1825"/> <TopLine Value="1825"/>
<CursorPos X="3" Y="1829"/> <CursorPos X="3" Y="1829"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="../../../rxdb/rxmemds.pas"/> <Filename Value="../../../rxdb/rxmemds.pas"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="1108"/> <TopLine Value="1108"/>
<CursorPos Y="1127"/> <CursorPos Y="1127"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<EditorIndex Value="3"/> <EditorIndex Value="4"/>
<TopLine Value="4273"/> <TopLine Value="4273"/>
<CursorPos Y="4298"/> <CursorPos Y="4298"/>
<UsageCount Value="13"/> <UsageCount Value="17"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="../../../../../lcl/dbgrids.pas"/> <Filename Value="../../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<EditorIndex Value="2"/> <EditorIndex Value="3"/>
<TopLine Value="3080"/> <TopLine Value="3080"/>
<CursorPos Y="3105"/> <CursorPos Y="3105"/>
<UsageCount Value="15"/> <UsageCount Value="19"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
@ -107,70 +103,70 @@
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="1009"/> <TopLine Value="1009"/>
<CursorPos Y="1029"/> <CursorPos Y="1029"/>
<UsageCount Value="11"/> <UsageCount Value="10"/>
</Unit11> </Unit11>
<Unit12> <Unit12>
<Filename Value="../../../../../lcl/include/wincontrol.inc"/> <Filename Value="../../../../../lcl/include/wincontrol.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="8038"/> <TopLine Value="8038"/>
<CursorPos Y="8066"/> <CursorPos Y="8066"/>
<UsageCount Value="11"/> <UsageCount Value="10"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
<Filename Value="../../../../../lcl/include/scrollingwincontrol.inc"/> <Filename Value="../../../../../lcl/include/scrollingwincontrol.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="76"/> <TopLine Value="76"/>
<CursorPos Y="95"/> <CursorPos Y="95"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/systemh.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/inc/systemh.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="338"/> <TopLine Value="338"/>
<CursorPos X="9" Y="357"/> <CursorPos X="9" Y="357"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit14> </Unit14>
<Unit15> <Unit15>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/stringl.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/stringl.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="1571"/> <TopLine Value="1571"/>
<CursorPos X="3" Y="1573"/> <CursorPos X="3" Y="1573"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit15> </Unit15>
<Unit16> <Unit16>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/sysutils/sysstrh.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/objpas/sysutils/sysstrh.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="73"/> <TopLine Value="73"/>
<CursorPos X="10" Y="92"/> <CursorPos X="10" Y="92"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit16> </Unit16>
<Unit17> <Unit17>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/sysutils/sysstr.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/objpas/sysutils/sysstr.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="551"/> <TopLine Value="551"/>
<CursorPos X="5" Y="553"/> <CursorPos X="5" Y="553"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit17> </Unit17>
<Unit18> <Unit18>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/ustringh.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/inc/ustringh.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="87"/> <TopLine Value="87"/>
<CursorPos X="5" Y="106"/> <CursorPos X="5" Y="106"/>
<UsageCount Value="9"/> <UsageCount Value="8"/>
</Unit18> </Unit18>
<Unit19> <Unit19>
<Filename Value="../../../../../lcl/include/canvas.inc"/> <Filename Value="../../../../../lcl/include/canvas.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="1579"/> <TopLine Value="1579"/>
<CursorPos Y="1600"/> <CursorPos Y="1600"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit19> </Unit19>
<Unit20> <Unit20>
<Filename Value="../../../../../lcl/include/winapi.inc"/> <Filename Value="../../../../../lcl/include/winapi.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="597"/> <TopLine Value="597"/>
<CursorPos Y="617"/> <CursorPos Y="617"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit20> </Unit20>
<Unit21> <Unit21>
<Filename Value="../../../../../lcl/widgetset/wsgrids.pp"/> <Filename Value="../../../../../lcl/widgetset/wsgrids.pp"/>
@ -178,7 +174,7 @@
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="35"/> <TopLine Value="35"/>
<CursorPos X="20" Y="53"/> <CursorPos X="20" Y="53"/>
<UsageCount Value="11"/> <UsageCount Value="10"/>
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="../../../../../lcl/interfaces/gtk2/gtk2wsgrids.pp"/> <Filename Value="../../../../../lcl/interfaces/gtk2/gtk2wsgrids.pp"/>
@ -186,7 +182,7 @@
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="31"/> <TopLine Value="31"/>
<CursorPos Y="66"/> <CursorPos Y="66"/>
<UsageCount Value="11"/> <UsageCount Value="10"/>
</Unit22> </Unit22>
<Unit23> <Unit23>
<Filename Value="../../../../../lcl/controls.pp"/> <Filename Value="../../../../../lcl/controls.pp"/>
@ -194,160 +190,210 @@
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="2277"/> <TopLine Value="2277"/>
<CursorPos X="3" Y="2298"/> <CursorPos X="3" Y="2298"/>
<UsageCount Value="11"/> <UsageCount Value="10"/>
</Unit23> </Unit23>
<Unit24> <Unit24>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/typshrdh.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/inc/typshrdh.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="127"/> <TopLine Value="127"/>
<CursorPos X="17" Y="153"/> <CursorPos X="17" Y="153"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit24> </Unit24>
<Unit25> <Unit25>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/typshrd.inc"/> <Filename Value="../../../../install/source/fpcsrc/rtl/inc/typshrd.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="300"/> <TopLine Value="300"/>
<CursorPos X="3" Y="302"/> <CursorPos X="3" Y="302"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit25> </Unit25>
<Unit26> <Unit26>
<Filename Value="../../../../../lcl/include/customcheckbox.inc"/> <Filename Value="../../../../../lcl/include/customcheckbox.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="114"/> <TopLine Value="114"/>
<CursorPos Y="134"/> <CursorPos Y="134"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit26> </Unit26>
<Unit27> <Unit27>
<Filename Value="../../../../../lcl/interfaces/gtk2/gtk2widgetset.inc"/> <Filename Value="../../../../../lcl/interfaces/gtk2/gtk2widgetset.inc"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="16"/> <TopLine Value="16"/>
<CursorPos Y="44"/> <CursorPos Y="44"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit27> </Unit27>
<Unit28>
<Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<UnitName Value="RxDBGridExportSpreadSheet"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="277"/>
<CursorPos X="58" Y="291"/>
<UsageCount Value="13"/>
<Bookmarks Count="1">
<Item0 Y="578" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit28>
<Unit29>
<Filename Value="../../../../../lcl/lcltype.pp"/>
<UnitName Value="LCLType"/>
<EditorIndex Value="-1"/>
<TopLine Value="1688"/>
<CursorPos X="3" Y="1705"/>
<UsageCount Value="10"/>
</Unit29>
<Unit30>
<Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet_paramsunit.pas"/>
<ComponentName Value="RxDBGridExportSpreadSheet_ParamsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridExportSpreadSheet_ParamsUnit"/>
<EditorIndex Value="-1"/>
<TopLine Value="60"/>
<CursorPos X="44" Y="91"/>
<UsageCount Value="10"/>
</Unit30>
<Unit31>
<Filename Value="../../../rxtools/rxdconst.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="173"/>
<CursorPos X="50" Y="191"/>
<UsageCount Value="10"/>
</Unit31>
<Unit32>
<Filename Value="../../../../fpspreadsheet/source/common/fpspreadsheet.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="6340"/>
<CursorPos Y="6358"/>
<UsageCount Value="10"/>
</Unit32>
</Units> </Units>
<JumpHistory Count="29" HistoryIndex="28"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4421" TopLine="4403"/> <Caret Line="1320" TopLine="1303"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4242" TopLine="4236"/> <Caret Line="1321" TopLine="1303"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4244" TopLine="4236"/> <Caret Line="1322" TopLine="1303"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4260" TopLine="4235"/> <Caret Line="1323" TopLine="1303"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4261" TopLine="4235"/> <Caret Line="783" Column="22" TopLine="768"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4262" TopLine="4235"/> <Caret Line="1322" Column="54" TopLine="1294"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4264" TopLine="4235"/> <Caret Line="1332" Column="53" TopLine="1304"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4265" TopLine="4235"/> <Caret Line="4435" Column="58" TopLine="4407"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4260" TopLine="4235"/> <Caret Line="4466" Column="58" TopLine="4438"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4261" TopLine="4235"/> <Caret Line="4576" Column="20" TopLine="4558"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4262" TopLine="4235"/> <Caret Line="766" Column="5" TopLine="751"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4264" TopLine="4235"/> <Caret Line="847" TopLine="819"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4265" TopLine="4235"/> <Caret Line="1323" Column="54" TopLine="1294"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4260" TopLine="4235"/> <Caret Line="1333" Column="53" TopLine="1304"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4268" TopLine="4238"/> <Caret Line="4436" Column="58" TopLine="4407"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4270" TopLine="4240"/> <Caret Line="4467" Column="58" TopLine="4438"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4291" TopLine="4273"/> <Caret Line="335" Column="21" TopLine="320"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4292" TopLine="4273"/> <Caret Line="66" Column="15" TopLine="51"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4293" TopLine="4273"/> <Caret Line="231" Column="13" TopLine="216"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4295" TopLine="4273"/> <Caret Line="66" Column="16" TopLine="45"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4296" TopLine="4273"/> <Caret Line="233" Column="30" TopLine="219"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4291" TopLine="4273"/> <Caret Line="235" Column="59" TopLine="217"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4298" TopLine="4273"/> <Caret Line="317" Column="7" TopLine="301"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="../../../../../lcl/dbgrids.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="3105" TopLine="3080"/> <Caret Line="316" Column="41" TopLine="295"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="4512" TopLine="4502"/> <Caret Line="85" Column="15" TopLine="69"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="1511" TopLine="1492"/> <Caret Line="675" Column="56" TopLine="656"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="unit1.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="56" Column="6" TopLine="42"/> <Caret Line="319" Column="22" TopLine="309"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="533" Column="14" TopLine="515"/> <Caret Line="85" Column="15" TopLine="69"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="519" Column="15" TopLine="516"/> <Caret Line="664" Column="26" TopLine="656"/>
</Position29> </Position29>
<Position30>
<Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<Caret Line="69" Column="14" TopLine="51"/>
</Position30>
</JumpHistory> </JumpHistory>
</ProjectSession> </ProjectSession>
<Debugging> <Debugging>
<Watches Count="1"> <Watches Count="1">
<Item1> <Item1>
<Expression Value="RNew"/> <Expression Value="H"/>
</Item1> </Item1>
</Watches> </Watches>
</Debugging> </Debugging>

View File

@ -211,6 +211,21 @@ object Form1: TForm1
State = cbChecked State = cbChecked
TabOrder = 3 TabOrder = 3
end end
object Button1: TButton
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 682
Height = 36
Top = 6
Width = 108
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Export to ODS'
OnClick = Button1Click
TabOrder = 4
end
object rxData: TRxMemoryData object rxData: TRxMemoryData
FieldDefs = < FieldDefs = <
item item
@ -294,4 +309,15 @@ object Form1: TForm1
Left = 392 Left = 392
Top = 16 Top = 16
end end
object RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet
RxDBGrid = RxDBGrid1
Caption = 'Экспорт в электронную таблицу'
ShowSetupForm = True
FileName = 'test.ods'
PageName = 'test'
Options = [ressExportTitle, ressExportColors, ressExportFooter, ressExportFormula, ressOverwriteExisting, ressExportSelectedRows, ressHideZeroValues, ressColSpanning]
OpenAfterExport = True
Left = 392
Top = 168
end
end end

View File

@ -5,14 +5,15 @@ unit Unit1;
interface interface
uses uses
Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, Forms, Controls, Graphics, Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, RxDBGridExportSpreadSheet,
Dialogs, StdCtrls, db; Forms, Controls, Graphics, Dialogs, StdCtrls, db;
type type
{ TForm1 } { TForm1 }
TForm1 = class(TForm) TForm1 = class(TForm)
Button1: TButton;
CheckBox1: TCheckBox; CheckBox1: TCheckBox;
CheckBox2: TCheckBox; CheckBox2: TCheckBox;
CheckBox3: TCheckBox; CheckBox3: TCheckBox;
@ -24,6 +25,8 @@ type
rxDataTEXT: TStringField; rxDataTEXT: TStringField;
RxDBGrid1: TRxDBGrid; RxDBGrid1: TRxDBGrid;
rxData: TRxMemoryData; rxData: TRxMemoryData;
RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet;
procedure Button1Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject); procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
private private
@ -75,5 +78,12 @@ begin
RxDBGrid1.ReadOnly:=CheckBox3.Checked; RxDBGrid1.ReadOnly:=CheckBox3.Checked;
end; end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RxDBGridExportSpreadSheet1.Options:=RxDBGridExportSpreadSheet1.Options + [ressExportGroupData];
RxDBGridExportSpreadSheet1.Execute;
end;
end. end.

View File

@ -133,6 +133,10 @@ msgstr "Exportar nombre de archivo"
msgid "Export footer formula" msgid "Export footer formula"
msgstr "Exportar fórmula de pie" msgstr "Exportar fórmula de pie"
#: rxdconst.sexportgroupdata
msgid "Export group data"
msgstr ""
#: rxdconst.sexporthidezerovalues #: rxdconst.sexporthidezerovalues
msgctxt "rxdconst.sexporthidezerovalues" msgctxt "rxdconst.sexporthidezerovalues"
msgid "Hide zero values" msgid "Hide zero values"

View File

@ -127,6 +127,10 @@ msgstr ""
msgid "Export footer formula" msgid "Export footer formula"
msgstr "" msgstr ""
#: rxdconst.sexportgroupdata
msgid "Export group data"
msgstr ""
#: rxdconst.sexporthidezerovalues #: rxdconst.sexporthidezerovalues
msgctxt "rxdconst.sexporthidezerovalues" msgctxt "rxdconst.sexporthidezerovalues"
msgid "Hide zero values" msgid "Hide zero values"

View File

@ -137,9 +137,11 @@ msgstr "Имя файла экспорта"
msgid "Export footer formula" msgid "Export footer formula"
msgstr "Экспортирововать формулы итоговой строки" msgstr "Экспортирововать формулы итоговой строки"
#: rxdconst.sexportgroupdata
msgid "Export group data"
msgstr "Экспорт данных группировки"
#: rxdconst.sexporthidezerovalues #: rxdconst.sexporthidezerovalues
#, fuzzy
msgctxt "rxdconst.sexporthidezerovalues"
msgid "Hide zero values" msgid "Hide zero values"
msgstr "Не отображать нулевые значения" msgstr "Не отображать нулевые значения"

View File

@ -138,6 +138,10 @@ msgstr "Експортувати назву файлу"
msgid "Export footer formula" msgid "Export footer formula"
msgstr "Експортувати підсумкову формулу" msgstr "Експортувати підсумкову формулу"
#: rxdconst.sexportgroupdata
msgid "Export group data"
msgstr ""
#: rxdconst.sexporthidezerovalues #: rxdconst.sexporthidezerovalues
#, fuzzy #, fuzzy
msgctxt "rxdconst.sexporthidezerovalues" msgctxt "rxdconst.sexporthidezerovalues"

View File

@ -522,7 +522,6 @@ type
procedure SetActive(AValue: boolean); procedure SetActive(AValue: boolean);
procedure SetColor(AValue: TColor); procedure SetColor(AValue: TColor);
protected protected
function FindGroupItem(ARecBookMark: TBookMark): TColumnGroupItem;
function AddGroupItem:TColumnGroupItem; function AddGroupItem:TColumnGroupItem;
procedure InitGroup; procedure InitGroup;
procedure DoneGroup; procedure DoneGroup;
@ -531,6 +530,7 @@ type
destructor Destroy; override; destructor Destroy; override;
procedure Clear; procedure Clear;
procedure UpdateValues; procedure UpdateValues;
function FindGroupItem(ARecBookMark: TBookMark): TColumnGroupItem;
property GroupFieldName:string read FGroupFieldName write FGroupFieldName; property GroupFieldName:string read FGroupFieldName write FGroupFieldName;
published published
property Active:boolean read FActive write SetActive; property Active:boolean read FActive write SetActive;
@ -780,7 +780,6 @@ type
FSaveOnDataSetScrolled: TDataSetScrolledEvent; FSaveOnDataSetScrolled: TDataSetScrolledEvent;
//Group data suppert //Group data suppert
FGroupItems:TColumnGroupItems; FGroupItems:TColumnGroupItems;
FGroupItemDrawCur:TColumnGroupItem;
procedure DoCreateJMenu; procedure DoCreateJMenu;
function GetColumns: TRxDbGridColumns; function GetColumns: TRxDbGridColumns;
@ -844,6 +843,7 @@ type
protected protected
FRxDbGridLookupComboEditor: TCustomControl; FRxDbGridLookupComboEditor: TCustomControl;
FRxDbGridDateEditor: TWinControl; FRxDbGridDateEditor: TWinControl;
FGroupItemDrawCur:TColumnGroupItem;
procedure CollumnSortListUpdate; procedure CollumnSortListUpdate;
procedure CollumnSortListClear; procedure CollumnSortListClear;

View File

@ -46,7 +46,8 @@ type
ressOverwriteExisting, ressOverwriteExisting,
ressExportSelectedRows, ressExportSelectedRows,
ressHideZeroValues, ressHideZeroValues,
ressColSpanning ressColSpanning,
ressExportGroupData
); );
TRxDBGridExportSpreadSheetOptions = set of TRxDBGridExportSpreadSheetOption; TRxDBGridExportSpreadSheetOptions = set of TRxDBGridExportSpreadSheetOption;
@ -65,6 +66,7 @@ type
procedure ExpCurRow(AFont: TFont); procedure ExpCurRow(AFont: TFont);
procedure ExpAllRow; procedure ExpAllRow;
procedure ExpSelectedRow; procedure ExpSelectedRow;
procedure ExpGrpLine(G: TColumnGroupItem);
protected protected
FDataSet:TDataSet; FDataSet:TDataSet;
FWorkbook: TsWorkbook; FWorkbook: TsWorkbook;
@ -106,6 +108,9 @@ end;
const const
ssAligns : array [TAlignment] of TsHorAlignment = (haLeft, haRight, haCenter); ssAligns : array [TAlignment] of TsHorAlignment = (haLeft, haRight, haCenter);
type
THackRxDBGrid = class(TRxDBGrid);
{ TRxDBGridExportSpeadSheet } { TRxDBGridExportSpeadSheet }
function TRxDBGridExportSpreadSheet.ColIndex(ACol: TRxColumn): integer; function TRxDBGridExportSpreadSheet.ColIndex(ACol: TRxColumn): integer;
@ -132,6 +137,7 @@ var
CT: TRxColumnTitle; CT: TRxColumnTitle;
S: String; S: String;
CC: TColor; CC: TColor;
G: TColumnGroupItem;
begin begin
FCurCol:=0; FCurCol:=0;
@ -220,6 +226,14 @@ begin
Inc(i); Inc(i);
end; end;
if RxDBGrid.GroupItems.Active and (ressExportGroupData in Options) then
begin
THackRxDBGrid(RxDBGrid).FGroupItemDrawCur:=RxDBGrid.GroupItems.FindGroupItem(RxDBGrid.DataSource.DataSet.Bookmark);
if Assigned(THackRxDBGrid(RxDBGrid).FGroupItemDrawCur) then
ExpGrpLine(THackRxDBGrid(RxDBGrid).FGroupItemDrawCur);
end;
end; end;
procedure TRxDBGridExportSpreadSheet.ExpAllRow; procedure TRxDBGridExportSpreadSheet.ExpAllRow;
@ -253,6 +267,98 @@ begin
F.Free; F.Free;
end; end;
procedure TRxDBGridExportSpreadSheet.ExpGrpLine(G: TColumnGroupItem);
var
C: TRxColumn;
procedure OutGroupCellProps;
{$IFDEF OLD_fpSPREADSHEET}
var
scColor : TsColor;
{$ENDIF}
var
FColor: TColor;
begin
if C.GroupParam.Color <> clNone then
FColor := C.GroupParam.Color
else
if RxDBGrid.GroupItems.Color <> clNone then
FColor := RxDBGrid.GroupItems.Color
else
FColor := clNone;
if (FColor <> clNone) and (ressExportColors in FOptions) then
begin
{$IFDEF OLD_fpSPREADSHEET}
if (C.GroupParam.Color and SYS_COLOR_BASE) = 0 then
begin
scColor:=FWorkbook.AddColorToPalette(C.GroupParam.Color);
FWorksheet.WriteBackgroundColor(FCurRow,FCurCol, scColor);}
end;
{$ELSE}
FWorksheet.WriteBackgroundColor(FCurRow, FCurCol, FColor);
{$ENDIF}
end;
FWorksheet.WriteBorders(FCurRow, FCurCol, [cbNorth, cbWest, cbEast, cbSouth]);
FWorksheet.WriteBorderColor(FCurRow, FCurCol, cbNorth, scColorBlack);
FWorksheet.WriteBorderColor(FCurRow, FCurCol, cbWest, scColorBlack);
FWorksheet.WriteBorderColor(FCurRow, FCurCol, cbEast, scColorBlack);
FWorksheet.WriteBorderColor(FCurRow, FCurCol, cbSouth, scColorBlack);
end;
procedure OutGroupCell(G: TColumnGroupItem);
var
D: Integer;
SF: String;
begin
if (C.GroupParam.ValueType <> fvtNon) then
begin
(* if (ressExportFormula in FOptions) and (Footer.ValueType in [fvtSum, fvtMax, fvtMin]) and (FFirstDataRow <= FLastDataRow) {and (Footer.DisplayFormat = '')} then
begin
D:=ColIndex(RxDBGrid.ColumnByFieldName(Footer.FieldName));
if D>=0 then
begin
case Footer.ValueType of
fvtSum:SF:='SUM';
fvtMax:SF:='MIN';
fvtMin:SF:='MAX';
else
SF:='Error!(';
end;
FWorksheet.WriteFormula(FCurRow, FCurCol,
Format('=%s(%s%d:%s%d)', [SF, GetColString(D), FFirstDataRow+1, GetColString(D), FLastDataRow+1]));
end
else
begin
FWorksheet.WriteNumber(FCurRow, FCurCol, Footer.NumericValue, nfFixed, 2);
end;
end
else *)
FWorksheet.WriteUTF8Text(FCurRow, FCurCol, C.GroupParam.DisplayText);
FWorksheet.WriteHorAlignment(FCurRow, FCurCol, ssAligns[C.GroupParam.Alignment]);
end;
end;
var
i: Integer;
begin
inc(FCurRow);
FCurCol:=0;
for i:=0 to FRxDBGrid.Columns.Count - 1 do
begin
C:=FRxDBGrid.Columns[i] as TRxColumn;
if C.Visible then
begin
OutGroupCellProps;
OutGroupCell(G);
inc(FCurCol);
end;
end;
end;
procedure TRxDBGridExportSpreadSheet.DoExportTitle; procedure TRxDBGridExportSpreadSheet.DoExportTitle;
var var
i, k : Integer; i, k : Integer;
@ -556,15 +662,24 @@ begin
F.FileNameEdit1.FileName:=FFileName; F.FileNameEdit1.FileName:=FFileName;
F.cbOpenAfterExport.Checked:=FOpenAfterExport; F.cbOpenAfterExport.Checked:=FOpenAfterExport;
F.cbExportColumnFooter.Checked:=ressExportFooter in FOptions; F.cbExportColumnFooter.Checked:=ressExportFooter in FOptions;
F.cbExportColumnFooter.Enabled:=RxDBGrid.FooterOptions.Active;
F.cbExportColumnHeader.Checked:=ressExportTitle in FOptions; F.cbExportColumnHeader.Checked:=ressExportTitle in FOptions;
F.cbExportCellColors.Checked:=ressExportColors in FOptions; F.cbExportCellColors.Checked:=ressExportColors in FOptions;
F.cbOverwriteExisting.Checked:=ressOverwriteExisting in FOptions; F.cbOverwriteExisting.Checked:=ressOverwriteExisting in FOptions;
F.cbExportFormula.Checked:=ressExportFormula in FOptions; F.cbExportFormula.Checked:=ressExportFormula in FOptions;
F.cbExportFormula.Enabled:=RxDBGrid.FooterOptions.Active;
F.cbExportSelectedRows.Checked:=ressExportSelectedRows in FOptions; F.cbExportSelectedRows.Checked:=ressExportSelectedRows in FOptions;
F.cbExportSelectedRows.Enabled:=(dgMultiselect in RxDBGrid.Options) and (RxDBGrid.SelectedRows.Count > 0); F.cbExportSelectedRows.Enabled:=(dgMultiselect in RxDBGrid.Options) and (RxDBGrid.SelectedRows.Count > 0);
F.cbHideZeroValues.Checked:=ressHideZeroValues in FOptions; F.cbHideZeroValues.Checked:=ressHideZeroValues in FOptions;
F.cbMergeCells.Checked:=ressColSpanning in FOptions; F.cbMergeCells.Checked:=ressColSpanning in FOptions;
F.cbExportGrpData.Checked:=ressExportGroupData in FOptions;
F.cbExportGrpData.Enabled:=RxDBGrid.GroupItems.Active;
F.edtPageName.Text:=FPageName; F.edtPageName.Text:=FPageName;
@ -593,6 +708,10 @@ begin
if F.cbMergeCells.Checked then if F.cbMergeCells.Checked then
FOptions:=FOptions + [ressColSpanning]; FOptions:=FOptions + [ressColSpanning];
if F.cbExportGrpData.Checked then
FOptions:=FOptions + [ressExportGroupData];
end; end;
F.Free; F.Free;
end; end;

View File

@ -1,10 +1,10 @@
object RxDBGridExportSpreadSheet_ParamsForm: TRxDBGridExportSpreadSheet_ParamsForm object RxDBGridExportSpreadSheet_ParamsForm: TRxDBGridExportSpreadSheet_ParamsForm
Left = 483 Left = 483
Height = 317 Height = 328
Top = 235 Top = 235
Width = 548 Width = 548
Caption = 'Export params' Caption = 'Export params'
ClientHeight = 317 ClientHeight = 328
ClientWidth = 548 ClientWidth = 548
OnCreate = FormCreate OnCreate = FormCreate
Position = poScreenCenter Position = poScreenCenter
@ -44,11 +44,11 @@ object RxDBGridExportSpreadSheet_ParamsForm: TRxDBGridExportSpreadSheet_ParamsFo
end end
object Label3: TLabel object Label3: TLabel
AnchorSideLeft.Control = Label4 AnchorSideLeft.Control = Label4
AnchorSideTop.Control = cbHideZeroValues AnchorSideTop.Control = cbExportGrpData
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 280 Left = 280
Height = 20 Height = 20
Top = 165 Top = 195
Width = 70 Width = 70
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Page name' Caption = 'Page name'
@ -63,7 +63,7 @@ object RxDBGridExportSpreadSheet_ParamsForm: TRxDBGridExportSpreadSheet_ParamsFo
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 286 Left = 286
Height = 37 Height = 37
Top = 191 Top = 221
Width = 256 Width = 256
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -96,7 +96,7 @@ object RxDBGridExportSpreadSheet_ParamsForm: TRxDBGridExportSpreadSheet_ParamsFo
object ButtonPanel1: TButtonPanel object ButtonPanel1: TButtonPanel
Left = 6 Left = 6
Height = 46 Height = 46
Top = 265 Top = 276
Width = 536 Width = 536
OKButton.Name = 'OKButton' OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True OKButton.DefaultCaption = True
@ -203,4 +203,16 @@ object RxDBGridExportSpreadSheet_ParamsForm: TRxDBGridExportSpreadSheet_ParamsFo
Caption = 'Merge cell''s' Caption = 'Merge cell''s'
TabOrder = 11 TabOrder = 11
end end
object cbExportGrpData: TCheckBox
AnchorSideLeft.Control = Label4
AnchorSideTop.Control = cbHideZeroValues
AnchorSideTop.Side = asrBottom
Left = 280
Height = 24
Top = 165
Width = 139
BorderSpacing.Around = 6
Caption = 'Export group data'
TabOrder = 12
end
end end

View File

@ -48,6 +48,7 @@ type
cbExportSelectedRows: TCheckBox; cbExportSelectedRows: TCheckBox;
cbExportFormula: TCheckBox; cbExportFormula: TCheckBox;
cbExportColumnFooter: TCheckBox; cbExportColumnFooter: TCheckBox;
cbExportGrpData: TCheckBox;
cbMergeCells: TCheckBox; cbMergeCells: TCheckBox;
cbOpenAfterExport: TCheckBox; cbOpenAfterExport: TCheckBox;
cbExportColumnHeader: TCheckBox; cbExportColumnHeader: TCheckBox;
@ -87,6 +88,7 @@ begin
cbExportSelectedRows.Caption:=sExportSelectedRows; cbExportSelectedRows.Caption:=sExportSelectedRows;
cbHideZeroValues.Caption:=sExportHideZeroValues; cbHideZeroValues.Caption:=sExportHideZeroValues;
cbMergeCells.Caption:=sMergeCells; cbMergeCells.Caption:=sMergeCells;
cbExportGrpData.Caption:=sExportGroupData;
end; end;
end. end.

View File

@ -188,6 +188,7 @@ resourcestring
sExportSelectedRows = 'Export only selected rows'; sExportSelectedRows = 'Export only selected rows';
sExportHideZeroValues = 'Hide zero values'; sExportHideZeroValues = 'Hide zero values';
sMergeCells = 'Merge cell''s'; sMergeCells = 'Merge cell''s';
sExportGroupData = 'Export group data';
sOverwriteExisting = 'Overwrite existing'; sOverwriteExisting = 'Overwrite existing';
sShowColumnHeaderOnAllPage = 'Show column header on all pages'; sShowColumnHeaderOnAllPage = 'Show column header on all pages';
sPageMargins = 'Page margins'; sPageMargins = 'Page margins';