RxFPC:add new property in RxDBGrid.Collumn.Footer - Color

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5745 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2017-02-10 07:05:15 +00:00
parent 6583f2dc83
commit 3a01999407
19 changed files with 427 additions and 74 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="9"/> <Version Value="10"/>
<General> <General>
<Flags> <Flags>
<LRSInOutputDirectory Value="False"/> <LRSInOutputDirectory Value="False"/>
@ -55,13 +55,13 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/> <MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item5> </Item5>
</RequiredPackages> </RequiredPackages>
<Units Count="48"> <Units Count="53">
<Unit0> <Unit0>
<Filename Value="RxDBGridDemo.lpr"/> <Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<CursorPos X="47" Y="18"/> <CursorPos X="47" Y="18"/>
<UsageCount Value="117"/> <UsageCount Value="118"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
@ -70,11 +70,11 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/> <UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/> <TopLine Value="190"/>
<TopLine Value="152"/> <CursorPos X="27" Y="212"/>
<CursorPos X="33" Y="171"/> <UsageCount Value="118"/>
<UsageCount Value="117"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
@ -405,8 +405,173 @@
<CursorPos X="6" Y="56"/> <CursorPos X="6" Y="56"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit47> </Unit47>
<Unit48>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="270"/>
<CursorPos X="16" Y="238"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit48>
<Unit49>
<Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/>
<EditorIndex Value="2"/>
<TopLine Value="5347"/>
<CursorPos X="132" Y="5371"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit49>
<Unit50>
<Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="4"/>
<TopLine Value="2284"/>
<CursorPos X="15" Y="2303"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit50>
<Unit51>
<Filename Value="../../../../lcl/include/customcontrol.inc"/>
<EditorIndex Value="5"/>
<TopLine Value="64"/>
<CursorPos X="3" Y="73"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit51>
<Unit52>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<EditorIndex Value="3"/>
<TopLine Value="2689"/>
<CursorPos Y="2708"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit52>
</Units> </Units>
<JumpHistory HistoryIndex="-1"/> <JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4778" TopLine="4758"/>
</Position1>
<Position2>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4780" TopLine="4758"/>
</Position2>
<Position3>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4781" TopLine="4758"/>
</Position3>
<Position4>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4784" TopLine="4766"/>
</Position4>
<Position5>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4785" TopLine="4766"/>
</Position5>
<Position6>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4790" TopLine="4766"/>
</Position6>
<Position7>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4795" TopLine="4766"/>
</Position7>
<Position8>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4800" TopLine="4770"/>
</Position8>
<Position9>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4805" TopLine="4775"/>
</Position9>
<Position10>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4806" TopLine="4776"/>
</Position10>
<Position11>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4809" TopLine="4779"/>
</Position11>
<Position12>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4810" TopLine="4780"/>
</Position12>
<Position13>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4813" TopLine="4783"/>
</Position13>
<Position14>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4823" TopLine="4805"/>
</Position14>
<Position15>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3177" TopLine="3158"/>
</Position15>
<Position16>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="5215" Column="3" TopLine="5213"/>
</Position16>
<Position17>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3178" TopLine="3159"/>
</Position17>
<Position18>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="5366" TopLine="5347"/>
</Position18>
<Position19>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="5811" TopLine="5786"/>
</Position19>
<Position20>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4064" Column="25" TopLine="4050"/>
</Position20>
<Position21>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4079" Column="13" TopLine="4058"/>
</Position21>
<Position22>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4673" TopLine="4654"/>
</Position22>
<Position23>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="291" Column="19" TopLine="272"/>
</Position23>
<Position24>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="308" Column="38" TopLine="289"/>
</Position24>
<Position25>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="346" Column="28" TopLine="327"/>
</Position25>
<Position26>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="1147" Column="48" TopLine="1129"/>
</Position26>
<Position27>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="1149" Column="3" TopLine="1147"/>
</Position27>
<Position28>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="9" Column="7"/>
</Position28>
<Position29>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="209" Column="8" TopLine="206"/>
</Position29>
<Position30>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4078" Column="35" TopLine="4059"/>
</Position30>
</JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
@ -430,4 +595,15 @@
</Options> </Options>
</Linking> </Linking>
</CompilerOptions> </CompilerOptions>
<Debugging>
<BreakPoints Count="1">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxdb/rxdbgrid.pas"/>
<Line Value="4093"/>
</Item1>
</BreakPoints>
</Debugging>
</CONFIG> </CONFIG>

View File

@ -1,12 +1,12 @@
object RxDBGridMainForm: TRxDBGridMainForm object RxDBGridMainForm: TRxDBGridMainForm
Left = 287 Left = 279
Height = 732 Height = 732
Top = 137 Top = 137
Width = 1151 Width = 1159
ActiveControl = Panel1 ActiveControl = Panel1
Caption = 'RxDBGrid Demo' Caption = 'RxDBGrid Demo'
ClientHeight = 704 ClientHeight = 704
ClientWidth = 1151 ClientWidth = 1159
Menu = MainMenu1 Menu = MainMenu1
OnCreate = FormCreate OnCreate = FormCreate
SessionProperties = 'RxDBGridExportSpreadSheet1.FileName;RxDBGridExportSpreadSheet1.OpenAfterExport;RxDBGridExportSpreadSheet1.Options;RxDBGridExportSpreadSheet1.PageName;RxDBGridPrint1.Options;RxDBGridPrint1.Orientation;RxDBGridPrint1.PageMargin;RxDBGridPrint1.ReportTitle;RxDBGridPrint1.ShowColumnHeaderOnAllPage' SessionProperties = 'RxDBGridExportSpreadSheet1.FileName;RxDBGridExportSpreadSheet1.OpenAfterExport;RxDBGridExportSpreadSheet1.Options;RxDBGridExportSpreadSheet1.PageName;RxDBGridPrint1.Options;RxDBGridPrint1.Orientation;RxDBGridPrint1.PageMargin;RxDBGridPrint1.ReportTitle;RxDBGridPrint1.ShowColumnHeaderOnAllPage'
@ -16,7 +16,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 0 Left = 0
Height = 627 Height = 627
Top = 77 Top = 77
Width = 1151 Width = 1159
ColumnDefValues.BlobText = '(примечание)' ColumnDefValues.BlobText = '(примечание)'
TitleButtons = True TitleButtons = True
AutoSort = True AutoSort = True
@ -98,6 +98,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Footer.Font.Height = -15 Footer.Font.Height = -15
Footer.Font.Name = 'Liberation Mono' Footer.Font.Name = 'Liberation Mono'
Footer.Font.Style = [fsBold, fsItalic] Footer.Font.Style = [fsBold, fsItalic]
Footer.Color = clBlue
Footers = <> Footers = <>
Options = [coCustomizeVisible, coCustomizeWidth, coDisableDialogFind] Options = [coCustomizeVisible, coCustomizeWidth, coDisableDialogFind]
end end
@ -433,6 +434,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
FooterOptions.Color = clYellow FooterOptions.Color = clYellow
FooterOptions.RowCount = 2 FooterOptions.RowCount = 2
FooterOptions.DrawFullLine = True FooterOptions.DrawFullLine = True
SearchOptions.QuickSearchOptions = [loCaseInsensitive, loPartialKey]
SearchOptions.FromStart = False
Version = 1 Version = 1
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgHighlightFocusCol, rdgHighlightFocusRow, rdgDblClickOptimizeColWidth, rdgFooterRows, rdgXORColSizing, rdgMultiTitleLines, rdgAllowQuickSearch, rdgAllowQuickFilter, rdgAllowFilterForm, rdgAllowSortForm, rdgAllowToolMenu] OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgHighlightFocusCol, rdgHighlightFocusRow, rdgDblClickOptimizeColWidth, rdgFooterRows, rdgXORColSizing, rdgMultiTitleLines, rdgAllowQuickSearch, rdgAllowQuickFilter, rdgAllowFilterForm, rdgAllowSortForm, rdgAllowToolMenu]
FooterColor = clYellow FooterColor = clYellow
@ -457,17 +460,17 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 0 Left = 0
Height = 77 Height = 77
Top = 0 Top = 0
Width = 1151 Width = 1159
Align = alTop Align = alTop
AutoSize = True AutoSize = True
ClientHeight = 77 ClientHeight = 77
ClientWidth = 1151 ClientWidth = 1159
TabOrder = 1 TabOrder = 1
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Button2 AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 274 Left = 272
Height = 20 Height = 20
Top = 7 Top = 7
Width = 36 Width = 36
@ -481,7 +484,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 7 Left = 7
Height = 36 Height = 36
Top = 7 Top = 7
Width = 89 Width = 88
Action = actCalcTotal Action = actCalcTotal
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -491,10 +494,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1 AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 102 Left = 101
Height = 36 Height = 36
Top = 7 Top = 7
Width = 166 Width = 165
Action = actOptimizeColumnsWidthAll Action = actOptimizeColumnsWidthAll
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -505,7 +508,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2 AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 503 Left = 501
Height = 24 Height = 24
Hint = 'Use filter line' Hint = 'Use filter line'
Top = 37 Top = 37
@ -519,7 +522,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1 AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1 AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 280 Left = 278
Height = 32 Height = 32
Top = 33 Top = 33
Width = 217 Width = 217
@ -539,7 +542,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1 AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 503 Left = 501
Height = 24 Height = 24
Hint = 'Auto fill column width' Hint = 'Auto fill column width'
Top = 7 Top = 7
@ -553,10 +556,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2 AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 643 Left = 641
Height = 24 Height = 24
Top = 7 Top = 7
Width = 121 Width = 120
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show indicator' Caption = 'Show indicator'
Checked = True Checked = True
@ -569,10 +572,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3 AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 643 Left = 641
Height = 24 Height = 24
Top = 37 Top = 37
Width = 118 Width = 117
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show headers' Caption = 'Show headers'
Checked = True Checked = True
@ -584,10 +587,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox3 AnchorSideLeft.Control = CheckBox3
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 770 Left = 767
Height = 24 Height = 24
Top = 7 Top = 7
Width = 97 Width = 96
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Word wrap' Caption = 'Word wrap'
OnChange = CheckBox5Change OnChange = CheckBox5Change
@ -597,7 +600,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox5 AnchorSideLeft.Control = CheckBox5
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 873 Left = 869
Height = 20 Height = 20
Top = 7 Top = 7
Width = 32 Width = 32
@ -609,12 +612,13 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label2 AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2 AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 879 Left = 875
Height = 37 Height = 37
Top = 33 Top = 33
Width = 129 Width = 129
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ButtonWidth = 23 ButtonWidth = 23
DialogTitle = 'Select a Date'
MaxLength = 10 MaxLength = 10
NumGlyphs = 2 NumGlyphs = 2
PasswordChar = #0 PasswordChar = #0
@ -670,8 +674,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
Size = 15 Size = 15
end> end>
PacketRecords = 0 PacketRecords = 0
left = 152 Left = 152
top = 264 Top = 264
object RxMemoryData1ID1: TLongintField object RxMemoryData1ID1: TLongintField
DisplayWidth = 10 DisplayWidth = 10
FieldKind = fkData FieldKind = fkData
@ -756,12 +760,12 @@ object RxDBGridMainForm: TRxDBGridMainForm
end end
object Datasource1: TDataSource object Datasource1: TDataSource
DataSet = RxMemoryData1 DataSet = RxMemoryData1
left = 120 Left = 120
top = 264 Top = 264
end end
object PopupMenu1: TPopupMenu object PopupMenu1: TPopupMenu
left = 152 Left = 152
top = 197 Top = 197
object MenuItem1: TMenuItem object MenuItem1: TMenuItem
Action = actOptimizeWidthCol1 Action = actOptimizeWidthCol1
end end
@ -785,8 +789,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
end end
end end
object ActionList1: TActionList object ActionList1: TActionList
left = 312 Left = 312
top = 185 Top = 185
object actCalcTotal: TAction object actCalcTotal: TAction
Caption = 'Calc total...' Caption = 'Calc total...'
OnExecute = actCalcTotalExecute OnExecute = actCalcTotalExecute
@ -820,8 +824,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
end end
object Datasource2: TDataSource object Datasource2: TDataSource
DataSet = RxMemoryData2 DataSet = RxMemoryData2
left = 288 Left = 288
top = 368 Top = 368
end end
object RxMemoryData2: TRxMemoryData object RxMemoryData2: TRxMemoryData
AutoCalcFields = False AutoCalcFields = False
@ -836,8 +840,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
Size = 130 Size = 130
end> end>
PacketRecords = 0 PacketRecords = 0
left = 329 Left = 329
top = 368 Top = 368
object RxMemoryData2DEVELOPER_ID1: TLongintField object RxMemoryData2DEVELOPER_ID1: TLongintField
DisplayWidth = 10 DisplayWidth = 10
FieldKind = fkData FieldKind = fkData
@ -861,8 +865,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
end end
end end
object ImageList1: TImageList object ImageList1: TImageList
left = 152 Left = 152
top = 348 Top = 348
Bitmap = { Bitmap = {
4C6903000000100000001000000000FF0000000000FF000000FF00FF000000FF 4C6903000000100000001000000000FF0000000000FF000000FF00FF000000FF
0000000000FF000000FF00FF000000FF0000000000FF000000FF00FF000000FF 0000000000FF000000FF00FF000000FF0000000000FF000000FF00FF000000FF
@ -964,8 +968,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
} }
end end
object MainMenu1: TMainMenu object MainMenu1: TMainMenu
left = 271 Left = 271
top = 185 Top = 185
object MenuItem8: TMenuItem object MenuItem8: TMenuItem
Caption = 'System' Caption = 'System'
object MenuItem11: TMenuItem object MenuItem11: TMenuItem
@ -1512,14 +1516,14 @@ object RxDBGridMainForm: TRxDBGridMainForm
050505050505050505050505050505050505C3C3BFF84F17C91A5A01F4000000 050505050505050505050505050505050505C3C3BFF84F17C91A5A01F4000000
0049454E44AE426082 0049454E44AE426082
} }
left = 856 Left = 856
top = 48 Top = 48
end end
object RxIniPropStorage1: TRxIniPropStorage object RxIniPropStorage1: TRxIniPropStorage
StoredValues = <> StoredValues = <>
SeparateFiles = False SeparateFiles = False
left = 464 Left = 464
top = 192 Top = 192
end end
object RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet object RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet
RxDBGrid = RxDBGrid1 RxDBGrid = RxDBGrid1
@ -1528,8 +1532,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
FileName = 'RxDBGridDemo.ods' FileName = 'RxDBGridDemo.ods'
PageName = 'RxDBGrid demo' PageName = 'RxDBGrid demo'
Options = [ressExportTitle, ressExportColors, ressExportFooter, ressOverwriteExisting] Options = [ressExportTitle, ressExportColors, ressExportFooter, ressOverwriteExisting]
left = 504 Left = 504
top = 270 Top = 270
end end
object RxDBGridPrint1: TRxDBGridPrint object RxDBGridPrint1: TRxDBGridPrint
RxDBGrid = RxDBGrid1 RxDBGrid = RxDBGrid1
@ -1539,14 +1543,14 @@ object RxDBGridMainForm: TRxDBGridMainForm
ShowProgress = True ShowProgress = True
ReportTitle = 'RxDBGrid demo' ReportTitle = 'RxDBGrid demo'
ModifyPrepared = True ModifyPrepared = True
left = 548 Left = 548
top = 269 Top = 269
end end
object RxDBGridFooterTools1: TRxDBGridFooterTools object RxDBGridFooterTools1: TRxDBGridFooterTools
RxDBGrid = RxDBGrid1 RxDBGrid = RxDBGrid1
Caption = 'Totals row' Caption = 'Totals row'
left = 591 Left = 591
top = 270 Top = 270
end end
object RxDBGridExportPDF1: TRxDBGridExportPDF object RxDBGridExportPDF1: TRxDBGridExportPDF
RxDBGrid = RxDBGrid1 RxDBGrid = RxDBGrid1
@ -1559,7 +1563,12 @@ object RxDBGridMainForm: TRxDBGridMainForm
OpenAfterExport = True OpenAfterExport = True
AuthorPdf = 'Lagunov A.A.' AuthorPdf = 'Lagunov A.A.'
ProducerPdf = 'RxDBGrid demo program' ProducerPdf = 'RxDBGrid demo program'
left = 640 Left = 640
top = 270 Top = 270
end
object Timer1: TTimer
OnTimer = Timer1Timer
Left = 897
Top = 164
end end
end end

View File

@ -70,6 +70,7 @@ type
RxMemoryData2: TRxMemoryData; RxMemoryData2: TRxMemoryData;
RxMemoryData2DEVELOPER_ID1: TLongintField; RxMemoryData2DEVELOPER_ID1: TLongintField;
RxMemoryData2DEVELOPER_NAME1: TStringField; RxMemoryData2DEVELOPER_NAME1: TStringField;
Timer1: TTimer;
procedure actCalcTotalExecute(Sender: TObject); procedure actCalcTotalExecute(Sender: TObject);
procedure actOptimizeColumnsWidthAllExecute(Sender: TObject); procedure actOptimizeColumnsWidthAllExecute(Sender: TObject);
procedure actOptimizeWidthCol1Execute(Sender: TObject); procedure actOptimizeWidthCol1Execute(Sender: TObject);
@ -90,6 +91,7 @@ type
procedure showColumnsDialogExecute(Sender: TObject); procedure showColumnsDialogExecute(Sender: TObject);
procedure showFindDialogExecute(Sender: TObject); procedure showFindDialogExecute(Sender: TObject);
procedure sysExitExecute(Sender: TObject); procedure sysExitExecute(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TRxColumnEditButtons0Click(Sender: TObject); procedure TRxColumnEditButtons0Click(Sender: TObject);
procedure TRxColumnEditButtons1Click(Sender: TObject); procedure TRxColumnEditButtons1Click(Sender: TObject);
procedure TRxColumnEditButtons2Click(Sender: TObject); procedure TRxColumnEditButtons2Click(Sender: TObject);
@ -201,6 +203,17 @@ begin
Close; Close;
end; end;
procedure TRxDBGridMainForm.Timer1Timer(Sender: TObject);
var
R: TRxColumn;
begin
R:=RxDBGrid1.ColumnByFieldName('Developer');
if R.Footer.Color = clBlue then
R.Footer.Color:=clNone
else
R.Footer.Color:=clBlue;
end;
procedure TRxDBGridMainForm.TRxColumnEditButtons0Click(Sender: TObject); procedure TRxDBGridMainForm.TRxColumnEditButtons0Click(Sender: TObject);
begin begin
ShowMessage('Click first button'); ShowMessage('Click first button');

View File

@ -1,6 +1,6 @@
{ lrRxControls unit { lrRxControls unit
Copyright (C) 2005-2016 Lagunov Aleksey alexs@yandex.ru and Lazarus team Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru and Lazarus team
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it

View File

@ -1,3 +1,34 @@
{ register_rxctrl unit
Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru and Lazarus team
original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version with the following modification:
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,and
to copy and distribute the resulting executable under terms of your choice,
provided that you also meet, for each linked independent module, the terms
and conditions of the license of that module. An independent module is a
module which is not derived from or based on this library. If you modify
this library, you may extend this exception to your version of the library,
but you are not obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit register_rxctrl; unit register_rxctrl;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}

View File

@ -1,6 +1,6 @@
{ rxceEditLookupFields unit { rxceEditLookupFields unit
Copyright (C) 2005-2010 Lagunov Aleksey alexs@yandex.ru and Lazarus team Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru and Lazarus team
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it

View File

@ -173,6 +173,11 @@
</element><element name="TRxDBGrid.SelectAllRows"><short>Метод выделяет помечает все строки грида</short> </element><element name="TRxDBGrid.SelectAllRows"><short>Метод выделяет помечает все строки грида</short>
</element><element name="TRxDBGrid.DeSelectAllRows"><short>Метод снимает пометку со всех строк грида</short> </element><element name="TRxDBGrid.DeSelectAllRows"><short>Метод снимает пометку со всех строк грида</short>
</element> </element>
<element name="TRxColumnFooterItem.Color"><short>Цвет ячейки итоговой строки</short><descr>Цвет ячейки итоговой строки
Если значение равно clNone, то используется цвет итоговой строки из настроек RxDBGrid.FooterOptions.Color</descr>
</element><element name="TRxDBGridFooterOptions.DrawFullLine"><short>Рисовать линии сетки RxDBGrid полностью</short><descr>Рисовать линии сетки RxDBGrid полностью
В противнгом случае в область между данными и итогом не будут отображаться линии колонок</descr>
</element>
</module> </module>
</package> </package>
</fpdoc-descriptions> </fpdoc-descriptions>

View File

@ -1,6 +1,6 @@
{ RxDBGrid sort engine module for FBDataSet { RxDBGrid sort engine module for FBDataSet
Copyright (C) 2009 Lagunov Aleksey alexs75@hotbox.ru Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by under the terms of the GNU Library General Public License as published by

View File

@ -1,3 +1,33 @@
{ RxSortFBDataSet unit
Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru
original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version with the following modification:
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,and
to copy and distribute the resulting executable under terms of your choice,
provided that you also meet, for each linked independent module, the terms
and conditions of the license of that module. An independent module is a
module which is not derived from or based on this library. If you modify
this library, you may extend this exception to your version of the library,
but you are not obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit RxSortFBDataSet; unit RxSortFBDataSet;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}

View File

@ -1,6 +1,6 @@
{ exsortzeos unit { exsortzeos unit
Copyright (C) 2005-2015 Lagunov Aleksey alexs@yandex.ru and Lazarus team Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ RxSortZeos unit { RxSortZeos unit
Copyright (C) 2005-2015 Lagunov Aleksey alexs@yandex.ru and Lazarus team Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru and Lazarus team
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it

View File

@ -1,3 +1,34 @@
{ RXHistory unit
Copyright (C) 2005-2017 Lagunov Aleksey alexs75@yandex.ru and Lazarus team
original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version with the following modification:
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,and
to copy and distribute the resulting executable under terms of your choice,
provided that you also meet, for each linked independent module, the terms
and conditions of the license of that module. An independent module is a
module which is not derived from or based on this library. If you modify
this library, you may extend this exception to your version of the library,
but you are not obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit RXHistory; unit RXHistory;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}

View File

@ -1,3 +1,34 @@
{ exsortmds unit
Copyright (C) 2005-2017 Lagunov Aleksey alexs75@yandex.ru and Lazarus team
original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version with the following modification:
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,and
to copy and distribute the resulting executable under terms of your choice,
provided that you also meet, for each linked independent module, the terms
and conditions of the license of that module. An independent module is a
module which is not derived from or based on this library. If you modify
this library, you may extend this exception to your version of the library,
but you are not obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit exsortmds; unit exsortmds;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}

View File

@ -288,6 +288,7 @@ type
{ TRxColumnFooterItem } { TRxColumnFooterItem }
TRxColumnFooterItem = class(TCollectionItem) TRxColumnFooterItem = class(TCollectionItem)
private private
FColor: TColor;
FIsDefaultFont: boolean; FIsDefaultFont: boolean;
FLayout: TTextLayout; FLayout: TTextLayout;
FOwner: TRxColumn; FOwner: TRxColumn;
@ -304,6 +305,7 @@ type
function GetFont: TFont; function GetFont: TFont;
function IsFontStored: Boolean; function IsFontStored: Boolean;
procedure SetAlignment(AValue: TAlignment); procedure SetAlignment(AValue: TAlignment);
procedure SetColor(AValue: TColor);
procedure SetDisplayFormat(AValue: string); procedure SetDisplayFormat(AValue: string);
procedure SetFieldName(AValue: string); procedure SetFieldName(AValue: string);
procedure SetFont(AValue: TFont); procedure SetFont(AValue: TFont);
@ -341,6 +343,7 @@ type
property Value: string read FValue write SetValue; property Value: string read FValue write SetValue;
property ValueType: TFooterValueType read FValueType write SetValueType default fvtNon; property ValueType: TFooterValueType read FValueType write SetValueType default fvtNon;
property Font: TFont read GetFont write SetFont stored IsFontStored; property Font: TFont read GetFont write SetFont stored IsFontStored;
property Color : TColor read FColor write SetColor stored IsFontStored default clNone;
end; end;
{ TRxColumnFooterItems } { TRxColumnFooterItems }
@ -1141,6 +1144,13 @@ begin
FOwner.ColumnChanged; FOwner.ColumnChanged;
end; end;
procedure TRxColumnFooterItem.SetColor(AValue: TColor);
begin
if FColor=AValue then Exit;
FColor:=AValue;
FOwner.ColumnChanged;
end;
procedure TRxColumnFooterItem.SetDisplayFormat(AValue: string); procedure TRxColumnFooterItem.SetDisplayFormat(AValue: string);
begin begin
if FDisplayFormat=AValue then Exit; if FDisplayFormat=AValue then Exit;
@ -1494,6 +1504,7 @@ begin
FTestValue := 0; FTestValue := 0;
FLayout := tlCenter; FLayout := tlCenter;
FColor:=clNone;
FFont := TFont.Create; FFont := TFont.Create;
FillDefaultFont; FillDefaultFont;
@ -3999,9 +4010,6 @@ begin
Canvas.Brush.Color := Color; Canvas.Brush.Color := Color;
Canvas.FillRect(FooterRect); Canvas.FillRect(FooterRect);
// WriteLn(Format('FooterRect.Left=%d, FooterRect.Top=%d, FooterRect.Right=%d, FooterRect.Bottom=%d', [FooterRect.Left, FooterRect.Top, FooterRect.Right, FooterRect.Bottom]));
R.Top := TotalYOffs; R.Top := TotalYOffs;
R.Bottom := TotalYOffs + DefaultRowHeight * FFooterOptions.RowCount; R.Bottom := TotalYOffs + DefaultRowHeight * FFooterOptions.RowCount;
@ -4030,8 +4038,8 @@ begin
for i := GCache.VisibleGrid.Left to GCache.VisibleGrid.Right do for i := GCache.VisibleGrid.Left to GCache.VisibleGrid.Right do
begin begin
ColRowToOffset(True, True, i, R.Left, R.Right); ColRowToOffset(True, True, i, R.Left, R.Right);
Canvas.FillRect(R); // Canvas.FillRect(R);
DrawCellGrid(i, 0, R, []); // DrawCellGrid(i, 0, R, []);
if FFooterOptions.FDrawFullLine then if FFooterOptions.FDrawFullLine then
begin begin
@ -4064,12 +4072,21 @@ begin
else else
Canvas.Font:=Font; Canvas.Font:=Font;
if not Assigned(OnRxColumnFooterDraw) then begin if FItem.Color <> clNone then
Canvas.Brush.Color:=FItem.Color
else
Canvas.Brush.Color:=FFooterOptions.FColor;
if not Assigned(OnRxColumnFooterDraw) then
begin
Canvas.FillRect(R);
DrawCellGrid(i, 0, R, []);
DrawCellText(i, 0, R, [], FItem.DisplayText); DrawCellText(i, 0, R, [], FItem.DisplayText);
end end
else else
begin begin
if not Assigned(ABrush)then ABrush := TBrush.Create; if not Assigned(ABrush)then
ABrush := TBrush.Create;
ABrush.Assign(Canvas.Brush);//Backup Brush info ABrush.Assign(Canvas.Brush);//Backup Brush info
AText := FItem.DisplayText; AText := FItem.DisplayText;
OnRxColumnFooterDraw(Self, Canvas.Brush, Canvas.Font, R, C, AText); OnRxColumnFooterDraw(Self, Canvas.Brush, Canvas.Font, R, C, AText);
@ -4078,7 +4095,17 @@ begin
DrawCellText(i, 0, R, [], AText); DrawCellText(i, 0, R, [], AText);
Canvas.Brush.Assign(ABrush);//Restore Brush info Canvas.Brush.Assign(ABrush);//Restore Brush info
end; end;
end
else
begin
Canvas.FillRect(R);
DrawCellGrid(i, 0, R, []);
end; end;
end
else
begin
Canvas.FillRect(R);
DrawCellGrid(i, 0, R, []);
end;//Assigned(C) end;//Assigned(C)
end; end;

View File

@ -1,6 +1,6 @@
{ RxDBGridExportSpreadSheet unit { RxDBGridExportSpreadSheet unit
Copyright (C) 2005-2016 Lagunov Aleksey alexs@yandex.ru Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ RxDBGridExportSpreadSheet_ParamsUnit unit { RxDBGridExportSpreadSheet_ParamsUnit unit
Copyright (C) 2005-2013 Lagunov Aleksey alexs@yandex.ru Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ RxDBGridPrintGrid unit { RxDBGridPrintGrid unit
Copyright (C) 2005-2014 Lagunov Aleksey alexs@yandex.ru and Lazarus team Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ RxDBGridPrintGrid unit { RxDBGridPrintGrid unit
Copyright (C) 2005-2014 Lagunov Aleksey alexs@yandex.ru and Lazarus team Copyright (C) 2005-2017 Lagunov Aleksey alexs@yandex.ru and Lazarus team
original conception from rx library for Delphi (c) original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it