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"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<Version Value="10"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
@ -55,13 +55,13 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item5>
</RequiredPackages>
<Units Count="48">
<Units Count="53">
<Unit0>
<Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos X="47" Y="18"/>
<UsageCount Value="117"/>
<UsageCount Value="118"/>
</Unit0>
<Unit1>
<Filename Value="rxdbgridmainunit.pas"/>
@ -70,11 +70,11 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/>
<TopLine Value="152"/>
<CursorPos X="33" Y="171"/>
<UsageCount Value="117"/>
<TopLine Value="190"/>
<CursorPos X="27" Y="212"/>
<UsageCount Value="118"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../rxdbgrid.pas"/>
@ -405,8 +405,173 @@
<CursorPos X="6" Y="56"/>
<UsageCount Value="10"/>
</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>
<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>
<CompilerOptions>
<Version Value="11"/>
@ -430,4 +595,15 @@
</Options>
</Linking>
</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>

View File

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

View File

@ -70,6 +70,7 @@ type
RxMemoryData2: TRxMemoryData;
RxMemoryData2DEVELOPER_ID1: TLongintField;
RxMemoryData2DEVELOPER_NAME1: TStringField;
Timer1: TTimer;
procedure actCalcTotalExecute(Sender: TObject);
procedure actOptimizeColumnsWidthAllExecute(Sender: TObject);
procedure actOptimizeWidthCol1Execute(Sender: TObject);
@ -90,6 +91,7 @@ type
procedure showColumnsDialogExecute(Sender: TObject);
procedure showFindDialogExecute(Sender: TObject);
procedure sysExitExecute(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TRxColumnEditButtons0Click(Sender: TObject);
procedure TRxColumnEditButtons1Click(Sender: TObject);
procedure TRxColumnEditButtons2Click(Sender: TObject);
@ -201,6 +203,17 @@ begin
Close;
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);
begin
ShowMessage('Click first button');

View File

@ -1,6 +1,6 @@
{ 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)
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;
{$mode objfpc}{$H+}

View File

@ -1,6 +1,6 @@
{ 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)
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.DeSelectAllRows"><short>Метод снимает пометку со всех строк грида</short>
</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>
</package>
</fpdoc-descriptions>

View File

@ -1,6 +1,6 @@
{ 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
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;
{$mode objfpc}{$H+}

View File

@ -1,6 +1,6 @@
{ 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)
This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ 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)
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;
{$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;
{$mode objfpc}{$H+}

View File

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

View File

@ -1,6 +1,6 @@
{ 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)
This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ 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)
This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ 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)
This library is free software; you can redistribute it and/or modify it

View File

@ -1,6 +1,6 @@
{ 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)
This library is free software; you can redistribute it and/or modify it