rx corx component: updated to version 1.1.4.93

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@246 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
vsnijders 2007-08-28 21:55:23 +00:00
parent a670b3cc11
commit fdc71696d7
19 changed files with 365 additions and 358 deletions

View File

@ -47,7 +47,7 @@
<CursorPos X="3" Y="11"/>
<TopLine Value="1"/>
<EditorIndex Value="2"/>
<UsageCount Value="21"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
@ -56,10 +56,10 @@
<IsPartOfProject Value="True"/>
<ResourceFilename Value="rxdbgridmainunit.lrs"/>
<UnitName Value="RxDBGridMainUnit"/>
<CursorPos X="20" Y="34"/>
<TopLine Value="14"/>
<CursorPos X="78" Y="70"/>
<TopLine Value="37"/>
<EditorIndex Value="0"/>
<UsageCount Value="21"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
@ -88,7 +88,7 @@
<CursorPos X="13" Y="626"/>
<TopLine Value="608"/>
<EditorIndex Value="3"/>
<UsageCount Value="11"/>
<UsageCount Value="12"/>
<Bookmarks Count="1">
<Item0 X="3" Y="1444" ID="1"/>
</Bookmarks>
@ -114,127 +114,51 @@
<CursorPos X="14" Y="455"/>
<TopLine Value="437"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit8>
</Units>
<JumpHistory Count="29" HistoryIndex="28">
<JumpHistory Count="10" HistoryIndex="9">
<Position1>
<Filename Value="RxDBGridDemo.lpr"/>
<Caret Line="5" Column="37" TopLine="1"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="34" Column="20" TopLine="14"/>
</Position1>
<Position2>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="30" Column="40" TopLine="9"/>
<Caret Line="62" Column="5" TopLine="19"/>
</Position2>
<Position3>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="29" Column="7" TopLine="9"/>
<Caret Line="36" Column="49" TopLine="35"/>
</Position3>
<Position4>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="17" Column="20" TopLine="9"/>
<Caret Line="35" Column="48" TopLine="34"/>
</Position4>
<Position5>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="22" Column="5" TopLine="9"/>
<Caret Line="39" Column="9" TopLine="37"/>
</Position5>
<Position6>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="48" Column="1" TopLine="19"/>
<Caret Line="79" Column="10" TopLine="55"/>
</Position6>
<Position7>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="23" Column="45" TopLine="16"/>
<Caret Line="53" Column="30" TopLine="49"/>
</Position7>
<Position8>
<Filename Value="..\..\rxdbgrid.pas"/>
<Caret Line="945" Column="14" TopLine="917"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="32" Column="37" TopLine="31"/>
</Position8>
<Position9>
<Filename Value="..\..\rxdbgrid.pas"/>
<Caret Line="625" Column="14" TopLine="612"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="33" Column="38" TopLine="31"/>
</Position9>
<Position10>
<Filename Value="..\..\rxdbgrid.pas"/>
<Caret Line="326" Column="23" TopLine="308"/>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="34" Column="38" TopLine="31"/>
</Position10>
<Position11>
<Filename Value="..\..\rxdbgrid.pas"/>
<Caret Line="326" Column="23" TopLine="308"/>
</Position11>
<Position12>
<Filename Value="..\..\rxdbgrid.pas"/>
<Caret Line="626" Column="53" TopLine="607"/>
</Position12>
<Position13>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="41" Column="5" TopLine="27"/>
</Position13>
<Position14>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="20" Column="28" TopLine="9"/>
</Position14>
<Position15>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="27" Column="47" TopLine="13"/>
</Position15>
<Position16>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="53" Column="21" TopLine="35"/>
</Position16>
<Position17>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="45" Column="44" TopLine="35"/>
</Position17>
<Position18>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="16" Column="30" TopLine="9"/>
</Position18>
<Position19>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="27" Column="5" TopLine="26"/>
</Position19>
<Position20>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="49" Column="4" TopLine="38"/>
</Position20>
<Position21>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="27" Column="1" TopLine="9"/>
</Position21>
<Position22>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="62" Column="1" TopLine="32"/>
</Position22>
<Position23>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="28" Column="48" TopLine="28"/>
</Position23>
<Position24>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="57" Column="1" TopLine="39"/>
</Position24>
<Position25>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="30" Column="60" TopLine="29"/>
</Position25>
<Position26>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="56" Column="1" TopLine="41"/>
</Position26>
<Position27>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="32" Column="1" TopLine="14"/>
</Position27>
<Position28>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="24" Column="26" TopLine="14"/>
</Position28>
<Position29>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="25" Column="26" TopLine="14"/>
</Position29>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
@ -258,7 +182,7 @@
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="2">
<BreakPoints Count="3">
<Item1>
<Source Value="..\..\rxlookup.pas"/>
<Line Value="1013"/>
@ -267,6 +191,10 @@
<Source Value="..\..\rxpopupunit.pas"/>
<Line Value="267"/>
</Item2>
<Item3>
<Source Value="rxdbgridmainunit.pas"/>
<Line Value="51"/>
</Item3>
</BreakPoints>
<Watches Count="1">
<Item1>

View File

@ -2,18 +2,18 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 353
Height = 582
Top = 161
Width = 652
HorzScrollBar.Page = 651
Width = 827
HorzScrollBar.Page = 826
VertScrollBar.Page = 581
ActiveControl = RxDBGrid1
Caption = 'RxDBGrid Demo (ver 2) ...'
ClientHeight = 582
ClientWidth = 652
ClientWidth = 827
OnCreate = FormCreate
object RxDBGrid1: TRxDBGrid
Height = 532
Top = 50
Width = 652
Width = 827
Columns = <
item
Title.Alignment = taCenter
@ -22,6 +22,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Footer.Alignment = taRightJustify
Footer.DisplayFormat = 'Count: %d'
Footer.ValueType = fvtCount
Filter.Color = clLime
Filter.ItemIndex = -1
end
item
@ -29,6 +30,14 @@ object RxDBGridMainForm: TRxDBGridMainForm
Title.Caption = 'Software Name'
Width = 450
FieldName = 'NAME'
Filter.Color = clLime
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Width = 150
FieldName = 'Developer'
Filter.Color = clLime
Filter.ItemIndex = -1
end
item
@ -41,11 +50,13 @@ object RxDBGridMainForm: TRxDBGridMainForm
Footer.DisplayFormat = '#,##0.00'
Footer.FieldName = 'PRICE'
Footer.ValueType = fvtSum
Filter.Color = clLime
Filter.ItemIndex = -1
end>
OptionsRx = [rdgFooterRows]
FooterColor = clYellow
FooterRowCount = 1
OnFiltred = RxDBGrid1Filtred
Align = alClient
FocusColor = clRed
SelectedColor = clHighlight
@ -61,10 +72,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
end
object Panel1: TPanel
Height = 50
Width = 652
Width = 827
Align = alTop
ClientHeight = 50
ClientWidth = 652
ClientWidth = 827
TabOrder = 1
object Button1: TButton
Left = 8
@ -84,9 +95,18 @@ object RxDBGridMainForm: TRxDBGridMainForm
BorderSpacing.InnerBorder = 4
TabOrder = 1
end
object CheckBox1: TCheckBox
Left = 241
Height = 13
Top = 8
Width = 61
Caption = 'Use filter'
OnChange = CheckBox1Change
TabOrder = 2
UseOnChange = True
end
end
object RxMemoryData1: TRxMemoryData
Active = True
FieldDefs = <
item
Name = 'ID'
@ -105,9 +125,45 @@ object RxDBGridMainForm: TRxDBGridMainForm
DataType = ftFloat
Precision = 2
Size = 12
end
item
Name = 'Developer'
DataType = ftString
Precision = -1
Size = 150
end>
left = 152
OnFilterRecordEx = RxMemoryData1FilterRecordEx
left = 144
top = 264
object RxMemoryData1ID1: TLongintField
AlignMent = taRightJustify
DisplayWidth = 10
FieldName = 'ID'
ProviderFlags = [pfInUpdate, pfInWhere]
end
object RxMemoryData1NAME1: TStringField
DisplayWidth = 150
FieldName = 'NAME'
Index = 1
ProviderFlags = [pfInUpdate, pfInWhere]
Size = 150
end
object RxMemoryData1PRICE1: TFloatField
AlignMent = taRightJustify
DisplayWidth = 10
FieldName = 'PRICE'
Index = 2
ProviderFlags = [pfInUpdate, pfInWhere]
DisplayFormat = '#,##0.00'
Precision = 2
end
object RxMemoryData1Developer1: TStringField
DisplayWidth = 150
FieldName = 'Developer'
Index = 3
ProviderFlags = [pfInUpdate, pfInWhere]
Size = 150
end
end
object Datasource1: TDatasource
DataSet = RxMemoryData1

View File

@ -2,51 +2,68 @@
LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
'TPF0'#17'TRxDBGridMainForm'#16'RxDBGridMainForm'#4'Left'#3'a'#1#6'Height'#3
+'F'#2#3'Top'#3#161#0#5'Width'#3#140#2#18'HorzScrollBar.Page'#3#139#2#18'Vert'
+'ScrollBar.Page'#3'E'#2#13'ActiveControl'#7#9'RxDBGrid1'#7'Caption'#6#26'RxD'
+'BGrid Demo (ver 2) ...'#12'ClientHeight'#3'F'#2#11'ClientWidth'#3#140#2#8
+'OnCreate'#7#10'FormCreate'#0#9'TRxDBGrid'#9'RxDBGrid1'#6'Height'#3#20#2#3'T'
+'op'#2'2'#5'Width'#3#140#2#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'
+#13'Title.Caption'#6#4'Code'#9'FieldName'#6#2'ID'#16'Footer.Alignment'#7#14
+'taRightJustify'#20'Footer.DisplayFormat'#6#9'Count: %d'#16'Footer.ValueType'
+#7#8'fvtCount'#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCent'
+'er'#13'Title.Caption'#6#13'Software Name'#5'Width'#3#194#1#9'FieldName'#6#4
+'NAME'#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#13'T'
+'itle.Caption'#6#4'Cost'#5'Width'#2'Z'#9'FieldName'#6#5'PRICE'#13'DisplayFor'
+'mat'#6#8'#,##0.00'#16'Footer.Alignment'#7#14'taRightJustify'#20'Footer.Disp'
+'layFormat'#6#8'#,##0.00'#16'Footer.FieldName'#6#5'PRICE'#16'Footer.ValueTyp'
+'e'#7#6'fvtSum'#16'Filter.ItemIndex'#2#255#0#0#9'OptionsRx'#11#13'rdgFooterR'
+'ows'#0#11'FooterColor'#7#8'clYellow'#14'FooterRowCount'#2#1#5'Align'#7#8'al'
+'Client'#10'FocusColor'#7#5'clRed'#13'SelectedColor'#7#11'clHighlight'#10'Da'
+'taSource'#7#11'Datasource1'#10'FixedColor'#7#9'clBtnFace'#7'Options'#11#9'd'
+'gEditing'#8'dgTitles'#11'dgIndicator'#14'dgColumnResize'#12'dgColumnMove'#10
+'dgColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlwaysShowSelection'#15'dgConfirm'
+'Delete'#14'dgCancelOnExit'#13'dgMultiselect'#0#12'OptionsExtra'#11#14'dgeAu'
+'toColumns'#17'dgeCheckboxColumn'#0#11'ParentColor'#8#9'PopupMenu'#7#10'Popu'
+'pMenu1'#10'Scrollbars'#7#6'ssBoth'#8'TabOrder'#2#0#7'TabStop'#9#0#0#6'TPane'
+'l'#6'Panel1'#6'Height'#2'2'#5'Width'#3#140#2#5'Align'#7#5'alTop'#12'ClientH'
+'eight'#2'2'#11'ClientWidth'#3#140#2#8'TabOrder'#2#1#0#7'TButton'#7'Button1'
+#4'Left'#2#8#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#6'Action'#7#12'actCalcT'
+'otal'#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#0#0#0#7'TButton'#7'Bu'
+'tton2'#4'Left'#2'X'#6'Height'#2#25#3'Top'#2#8#5'Width'#3#136#0#6'Action'#7
+#26'actOptimizeColumnsWidthAll'#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'
+#2#1#0#0#0#13'TRxMemoryData'#13'RxMemoryData1'#6'Active'#9#9'FieldDefs'#14#1
+#4'Name'#6#2'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2#7#0
+#1#4'Name'#6#4'NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3
+#150#0#0#1#4'Name'#6#5'PRICE'#8'DataType'#7#7'ftFloat'#9'Precision'#2#2#4'Si'
+'ze'#2#12#0#0#4'left'#3#152#0#3'top'#3#8#1#0#0#11'TDatasource'#11'Datasource'
+'1'#7'DataSet'#7#13'RxMemoryData1'#4'left'#2'x'#3'top'#3#8#1#0#0#10'TPopupMe'
+'nu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3#197#0#0#9'TMenuItem'#9'MenuItem'
+'1'#6'Action'#7#20'actOptimizeWidthCol1'#7'OnClick'#7#27'actOptimizeWidthCol'
+'1Execute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9
+'MenuItem4'#6'Action'#7#12'actCalcTotal'#7'OnClick'#7#19'actCalcTotalExecute'
+#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#26'actOptimizeColumnsWidthAll'#7
+'OnClick'#7'!actOptimizeColumnsWidthAllExecute'#0#0#0#11'TActionList'#11'Act'
+'ionList1'#4'left'#3#206#0#3'top'#3#197#0#0#7'TAction'#12'actCalcTotal'#7'Ca'
+'ption'#6#13'Calc total...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#19'actCa'
+'lcTotalExecute'#0#0#7'TAction'#26'actOptimizeColumnsWidthAll'#7'Caption'#6
+#25'Optimize width for all...'#18'DisableIfNoHandler'#9#9'OnExecute'#7'!actO'
+'ptimizeColumnsWidthAllExecute'#0#0#7'TAction'#20'actOptimizeWidthCol1'#7'Ca'
+'ption'#6#17'Optimize width...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#27'a'
+'ctOptimizeWidthCol1Execute'#0#0#0#0
+'F'#2#3'Top'#3#161#0#5'Width'#3';'#3#18'HorzScrollBar.Page'#3':'#3#18'VertSc'
+'rollBar.Page'#3'E'#2#13'ActiveControl'#7#9'RxDBGrid1'#7'Caption'#6#26'RxDBG'
+'rid Demo (ver 2) ...'#12'ClientHeight'#3'F'#2#11'ClientWidth'#3';'#3#8'OnC'
+'reate'#7#10'FormCreate'#0#9'TRxDBGrid'#9'RxDBGrid1'#6'Height'#3#20#2#3'Top'
+#2'2'#5'Width'#3';'#3#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#13'T'
+'itle.Caption'#6#4'Code'#9'FieldName'#6#2'ID'#16'Footer.Alignment'#7#14'taRi'
+'ghtJustify'#20'Footer.DisplayFormat'#6#9'Count: %d'#16'Footer.ValueType'#7#8
+'fvtCount'#12'Filter.Color'#7#6'clLime'#16'Filter.ItemIndex'#2#255#0#1#15'Ti'
+'tle.Alignment'#7#8'taCenter'#13'Title.Caption'#6#13'Software Name'#5'Width'
+#3#194#1#9'FieldName'#6#4'NAME'#12'Filter.Color'#7#6'clLime'#16'Filter.ItemI'
+'ndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#5'Width'#3#150#0#9'FieldN'
+'ame'#6#9'Developer'#12'Filter.Color'#7#6'clLime'#16'Filter.ItemIndex'#2#255
+#0#1#15'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6#4'Cost'#5'Width'#2
+'Z'#9'FieldName'#6#5'PRICE'#13'DisplayFormat'#6#8'#,##0.00'#16'Footer.Alignm'
+'ent'#7#14'taRightJustify'#20'Footer.DisplayFormat'#6#8'#,##0.00'#16'Footer.'
+'FieldName'#6#5'PRICE'#16'Footer.ValueType'#7#6'fvtSum'#12'Filter.Color'#7#6
+'clLime'#16'Filter.ItemIndex'#2#255#0#0#9'OptionsRx'#11#13'rdgFooterRows'#0
+#11'FooterColor'#7#8'clYellow'#14'FooterRowCount'#2#1#9'OnFiltred'#7#16'RxDB'
+'Grid1Filtred'#5'Align'#7#8'alClient'#10'FocusColor'#7#5'clRed'#13'SelectedC'
+'olor'#7#11'clHighlight'#10'DataSource'#7#11'Datasource1'#10'FixedColor'#7#9
+'clBtnFace'#7'Options'#11#9'dgEditing'#8'dgTitles'#11'dgIndicator'#14'dgColu'
+'mnResize'#12'dgColumnMove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlw'
+'aysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'#13'dgMultiselect'#0
+#12'OptionsExtra'#11#14'dgeAutoColumns'#17'dgeCheckboxColumn'#0#11'ParentCol'
+'or'#8#9'PopupMenu'#7#10'PopupMenu1'#10'Scrollbars'#7#6'ssBoth'#8'TabOrder'#2
+#0#7'TabStop'#9#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#5'Width'#3';'#3#5'Ali'
+'gn'#7#5'alTop'#12'ClientHeight'#2'2'#11'ClientWidth'#3';'#3#8'TabOrder'#2#1
+#0#7'TButton'#7'Button1'#4'Left'#2#8#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'
+#6'Action'#7#12'actCalcTotal'#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2
+#0#0#0#7'TButton'#7'Button2'#4'Left'#2'X'#6'Height'#2#25#3'Top'#2#8#5'Width'
+#3#136#0#6'Action'#7#26'actOptimizeColumnsWidthAll'#25'BorderSpacing.InnerBo'
+'rder'#2#4#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#4'Left'#3#241#0#6'H'
+'eight'#2#13#3'Top'#2#8#5'Width'#2'='#7'Caption'#6#10'Use filter'#8'OnChange'
+#7#15'CheckBox1Change'#8'TabOrder'#2#2#11'UseOnChange'#9#0#0#0#13'TRxMemoryD'
+'ata'#13'RxMemoryData1'#9'FieldDefs'#14#1#4'Name'#6#2'ID'#8'DataType'#7#9'ft'
+'Integer'#9'Precision'#2#255#4'Size'#2#7#0#1#4'Name'#6#4'NAME'#8'DataType'#7
+#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#1#4'Name'#6#5'PRICE'#8'Dat'
+'aType'#7#7'ftFloat'#9'Precision'#2#2#4'Size'#2#12#0#1#4'Name'#6#9'Developer'
+#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#0#16'OnFilte'
+'rRecordEx'#7#27'RxMemoryData1FilterRecordEx'#4'left'#3#144#0#3'top'#3#8#1#0
+#13'TLongintField'#16'RxMemoryData1ID1'#9'AlignMent'#7#14'taRightJustify'#12
+'DisplayWidth'#2#10#9'FieldName'#6#2'ID'#13'ProviderFlags'#11#10'pfInUpdate'
+#9'pfInWhere'#0#0#0#12'TStringField'#18'RxMemoryData1NAME1'#12'DisplayWidth'
+#3#150#0#9'FieldName'#6#4'NAME'#5'Index'#2#1#13'ProviderFlags'#11#10'pfInUpd'
+'ate'#9'pfInWhere'#0#4'Size'#3#150#0#0#0#11'TFloatField'#19'RxMemoryData1PRI'
+'CE1'#9'AlignMent'#7#14'taRightJustify'#12'DisplayWidth'#2#10#9'FieldName'#6
+#5'PRICE'#5'Index'#2#2#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#13
+'DisplayFormat'#6#8'#,##0.00'#9'Precision'#2#2#0#0#12'TStringField'#23'RxMem'
+'oryData1Developer1'#12'DisplayWidth'#3#150#0#9'FieldName'#6#9'Developer'#5
+'Index'#2#3#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Size'#3#150
+#0#0#0#0#11'TDatasource'#11'Datasource1'#7'DataSet'#7#13'RxMemoryData1'#4'le'
+'ft'#2'x'#3'top'#3#8#1#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#152#0#3't'
+'op'#3#197#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#20'actOptimizeWidthCol1'
+#7'OnClick'#7#27'actOptimizeWidthCol1Execute'#0#0#9'TMenuItem'#9'MenuItem2'#7
+'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#12'actCalcTotal'#7
+'OnClick'#7#19'actCalcTotalExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7
+#26'actOptimizeColumnsWidthAll'#7'OnClick'#7'!actOptimizeColumnsWidthAllExec'
+'ute'#0#0#0#11'TActionList'#11'ActionList1'#4'left'#3#206#0#3'top'#3#197#0#0
+#7'TAction'#12'actCalcTotal'#7'Caption'#6#13'Calc total...'#18'DisableIfNoHa'
+'ndler'#9#9'OnExecute'#7#19'actCalcTotalExecute'#0#0#7'TAction'#26'actOptimi'
+'zeColumnsWidthAll'#7'Caption'#6#25'Optimize width for all...'#18'DisableIfN'
+'oHandler'#9#9'OnExecute'#7'!actOptimizeColumnsWidthAllExecute'#0#0#7'TActio'
+'n'#20'actOptimizeWidthCol1'#7'Caption'#6#17'Optimize width...'#18'DisableIf'
,'NoHandler'#9#9'OnExecute'#7#27'actOptimizeWidthCol1Execute'#0#0#0#0
]);

View File

@ -6,7 +6,7 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxmemds,
DB, rxdbgrid, ExtCtrls, Buttons, Menus, ActnList;
DB, rxdbgrid, ExtCtrls, Buttons, Menus, ActnList, StdCtrls;
type
@ -19,6 +19,7 @@ type
ActionList1: TActionList;
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
Datasource1: TDatasource;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
@ -28,12 +29,20 @@ type
PopupMenu1: TPopupMenu;
RxDBGrid1: TRxDBGrid;
RxMemoryData1: TRxMemoryData;
RxMemoryData1Developer1: TStringField;
RxMemoryData1ID1: TLongintField;
RxMemoryData1NAME1: TStringField;
RxMemoryData1PRICE1: TFloatField;
procedure actCalcTotalExecute(Sender: TObject);
procedure actOptimizeColumnsWidthAllExecute(Sender: TObject);
procedure actOptimizeWidthCol1Execute(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RxDBGrid1Filtred(Sender: TObject);
procedure RxMemoryData1FilterRecordEx(DataSet: TDataSet; var Accept: Boolean
);
private
{ private declarations }
procedure DoFillFilters;
public
{ public declarations }
end;
@ -48,13 +57,62 @@ implementation
procedure TRxDBGridMainForm.FormCreate(Sender: TObject);
begin
RxMemoryData1.Open;
RxMemoryData1.AppendRecord([1, 'Lazarus 0.9.23', 0]);
RxMemoryData1.AppendRecord([2, 'Delphi 7.0 Prof', 990]);
RxMemoryData1.AppendRecord([3, 'Open Office 2.2.0', 0]);
RxMemoryData1.AppendRecord([4, 'Microsof Office', 150]);
RxMemoryData1.AppendRecord([1, 'Lazarus 0.9.23', 0, 'Open source']);
RxMemoryData1.AppendRecord([2, 'Delphi 7.0 Prof', 990, 'Borland']);
RxMemoryData1.AppendRecord([3, 'Open Office 2.2.0', 0, 'Open source']);
RxMemoryData1.AppendRecord([4, 'Microsoft Office', 150, 'Microsoft']);
RxMemoryData1.AppendRecord([5, 'Microsoft Windows 95', 50, 'Microsoft']);
RxMemoryData1.AppendRecord([6, 'Microsoft Windows 98', 90, 'Microsoft']);
RxMemoryData1.AppendRecord([7, 'Microsoft Windows ME', 90, 'Microsoft']);
RxMemoryData1.AppendRecord([8, 'Microsoft Windows NT 4.0', 250, 'Microsoft']);
RxMemoryData1.AppendRecord([9, 'Microsoft Windows 2000', 150, 'Microsoft']);
RxMemoryData1.AppendRecord([10, 'Microsoft Windows XP', 130, 'Microsoft']);
RxMemoryData1.AppendRecord([11, 'Microsoft Windows Vista', 180, 'Microsoft']);
DoFillFilters;
RxMemoryData1.First;
RxDBGrid1.CalcStatTotals; //fix error in GotoBookmark
end;
procedure TRxDBGridMainForm.RxDBGrid1Filtred(Sender: TObject);
begin
RxMemoryData1.First;
end;
procedure TRxDBGridMainForm.RxMemoryData1FilterRecordEx(DataSet: TDataSet;
var Accept: Boolean);
var
i:integer;
begin
Accept:=true;
for i:=0 to RxDBGrid1.Columns.Count-1 do
begin
with TRxColumn(RxDBGrid1.Columns[i]) do
if (Filter.Value<>'') and (Filter.Value<>Field.AsString) then
begin
Accept:=false;
exit;
end;
end;
end;
procedure TRxDBGridMainForm.DoFillFilters;
var
C:TRxColumn;
i:integer;
begin
RxMemoryData1.First;
while not RxMemoryData1.EOF do
begin
for i:=0 to RxDBGrid1.Columns.Count-1 do
begin
C:=TRxColumn(RxDBGrid1.Columns[i]);
if C.Filter.ValueList.IndexOf(C.Field.AsString)<0 then
C.Filter.ValueList.Add(C.Field.AsString);
end;
RxMemoryData1.Next;
end;
end;
procedure TRxDBGridMainForm.actCalcTotalExecute(Sender: TObject);
begin
RxDBGrid1.CalcStatTotals; //fix error in GotoBookmark
@ -70,6 +128,15 @@ begin
TRxColumn(RxDBGrid1.SelectedColumn).OptimizeWidth;
end;
procedure TRxDBGridMainForm.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.Checked then
RxDBGrid1.OptionsRx:=RxDBGrid1.OptionsRx + [rdgFilter]
else
RxDBGrid1.OptionsRx:=RxDBGrid1.OptionsRx - [rdgFilter];
RxMemoryData1.Filtered:=CheckBox1.Checked;
end;
initialization
{$I rxdbgridmainunit.lrs}

Binary file not shown.

View File

@ -1,3 +1,13 @@
12.08.2007 - version 1.1.4.93
+ in TRxDBComboBox publishe any property
+ in TRxDBLookupCombo add event OnGetGridCellProps
+ in rx.inc new define
RXDBGRID_OPTIONS_WO_CANCEL_ON_EXIT
- in RxDBGrid fix error lose focuse after close filte list
+ in demo for RxDBGrid add demos ¤for visual filtring data
+ add new component - TAutoPanel ( Dmitry V. Bolshakov) -
doc ifn folder auto_panel_doc
+ in property OptionsRX add new flag - rdgMrOkOnDblClik
25.06.2007 - version 1.1.3.86
- fix error in TRxMemoryData.SortOnFields
+ add sorting in RxDBGrid for TRxMemoryData

View File

@ -1,3 +1,18 @@
12.08.2007 - версия 1.1.4.93
+ В TRxDBComboBox опубликованы недостающие поля
+ В TRxDBLookupCombo добавлено обработчик OnGetGridCellProps
- позволяет задавать при отрисовке фон в выпадающем списке
+ В rx.inc ввёл новую дерективу компиляции
RXDBGRID_OPTIONS_WO_CANCEL_ON_EXIT
если она определени - то в свойстве TRxDbGrid.Options выключается флаг
dgCancelOnExit (см. пункт 5 из readmy.txt)
- В RxDBGrid исправлена ошибка потери фокуса после закрытия списка фильтра
+ В примере на RxDBGrid добавлен промер на визуальную фильтрацию данных
+ Добавлен компонент TAutoPanel (автор Dmitry V. Bolshakov) -
документация в папке auto_panel_doc
+ В свойстве OptionsRX добавлен новый флаг - rdgMrOkOnDblClik
при его установке при двойном нажатии на RxDbGrid форме, которой принадлежит
RxDbGrid присиваивается ModalResult:=mrOk;
25.06.2007 - версия 1.1.3.86
- Исправлена ошибка в методе TRxMemoryData.SortOnFields
+ Добавлена поддержка сортировок из RxDBGrid на TRxMemoryData

View File

@ -1,184 +0,0 @@
12.01.2006 - версия 1.0.12.38
+ в RxDbGrid в заголовке колонки добавлено свойство Orientation - отвечает за
направление отрисовки текста в заголовке столбца
+ добавлена демка для демонстрацииотрисовки текста вертикально (под углом 90
градусов)
21.12.2005
+ в RxDbGrid добавлено свойство AllowedOperation - для запрета выплнения некоторых
операций
+ в RxDbGrid доработан обработчик события OnGetCellProps
+ в TRxMemoryData введено свойство OnFilterRecordEx - временно, пока в TDataSet
не реализуют работу свойства OnFilterRecord
16.12.2005 - версия 1.0.11.35
+ доработано поведение TToolbarButton для коректной работы
в последних сборках Lazarus
+ исправлен регистр в названиях некоторых модулей
+ пробная сборка под Linux
27.11.2005 - версия 1.0.11.34
- TToolPanel - исправлена ошибка сохранения свойств панели при
редактировании её в runtime
22.10.2005 - версия 1.0.10.33
+ TRxLabel - перенесён компонент
+ TSecretPanel - перенесён компонент
- TRxMemoryData - внесён код, обходящий ошибку востановления свойства FieldDefs
в модуле DB - работает вроде теперь всё правильно
+ TRxLoginDialog - начат перенесён
- TRxDBComboBox - небольшой багфикс
15.10.2005 - версия 1.0.9.30
+ TRxCustomDBLookupCombo - Улучшена отрисовка
(старый стиль отрисовки будет при включённом Flat)
+ TRxCustomDBLookupCombo - При нажатии клавишы ESC поле очищается (метод DataField.Clear)
- TRxCustomDBLookupCombo - Исправлена ошибка отрисовки пустого значения DataField в режиме
DisplayAllFields - отображается значение свойства EmptyValue
- TRxCustomDBLookupCombo - Исправлена ошибка открытия списка допустимых значений при
пустом DataField (список стоял на последней записи)
- TRxCustomDBLookupCombo - исправлен расчёт высоты выпадающего списка в зависимости
от значения свойства DropDownCount
- TRxCustomDBLookupCombo - исправлен выбор значения в выпадающем спсике нажатием
клавишы Enter
+ TRxMemoryData - Введён код для обхода глюка Lazarus с не корректным созданием полей
по данным FieldDefs, которые были созданы в Design-time
+ TRxMemoryData - реализован редактор компоненты - копия струтктуры из другого
DataSet-а
+ TRxDBGrid - подключен редактор свойства FieldName у колонки
+ TRxDBGrid - реализована возможность подстановки значений для отображения
через свойства KeyList и PickList (аналогично TRxDBComboBox)
10.10.2005
- Исправлена ошибка при рисовании изображения в RxDbGrid из ImageList,
также операция немного ускорена
- исправлена ошибка при изменении ширины колонки (деление на 0)
+ начата работа над сохранением состояния колонок RxDbGrid через FormStorage
- Небольшой багофикс при работе с изображениями в TToolPanel
+ Добавил компонент TPageManager
+ Написал новый компонент TRxAppIcon - это для тех кто не хочет возиться с
ресурсами - в момент запуска приложению будет сопоставлена указанная иконка.
т.к. она хранится не в стандартном виндовом ресурсе - поэтому проводник
будет показывать на приложении обычную иконку - но в момент запуска
появится указанная. Работает только под Windows - если кто знает как это
делается в других системах - допишите.
Когда в лазаре доделают нормальную работу с иконками - компоненту надо
переписать - а может лазарь научится создавать стандартный ресурс виндовый
для программы - тогда в этой компоненте надобность вобще отпадёт
08.10.2005
+ Окно настройки теперь вегда сверху
+ Для более тонкой настройки отображения кнопок добави в опциях тулбара
два дополнительных флага - tpGlyphPopup, tpCaptionPopup
- небольшие багофиксы
+ реализована работа с изображениями в RxDbGrid через ImageList (см. readmy.txt)
+ Добавлен компонент TRXXPManifest - работает только под Windows -
поддержка XP манифеста
05.10.2005
+ убрал свойстов Flat, TransparentBtn
+ Добавил свойство Options, включающее tpFlatBtns, tpTransparentBtns
+ Добавил включение окна настройки подвойному клику на панели
правой кнопкой мышки с зажатым Ctrl
- исправл баг множественного открытия окна настройки панели
+ у TToolbarItem добавил свойство Tag
04.10.2005
+ в TToolPanel пофиксил баг не верного начального размера кнопки
+ Добавлена возможность прорисовки кнопок в стиле WindowsXP
+ При в стиле Flat и WindowsXP при наведении курсора на кнопку
она приподнимается для лучшего визуализации
- т.к. TImageList.Draw не умеет рисовать запроещённое состояние
изоражения при задисабливании Action не дисаблится картинка
также из-за этого нет возможности сделать изображение с тенью
- вылазиет баг в лазаре если в дизайнере удалить напрямую с панели
кнопку (не через Items) - ещё не знаю как в лазаре в дизайнере
для некоторых элементов запретить удаление
+ Добавил демку для TToolPanel
03.10.2005
+ перевёл все имена файлов к нижнему регистру
+ в TToolPanel пофиксил некторые баги
+ работает окно настройки панели
+ Поддерживается DropDownMenu в стиле полного нажатия кнопки
+ скрытие не нужных кнопок (настройка в run-time)
02.10.2005 (beta)
+ Начата реализация (полностью своя) TToolPanel - аналог RxToolbar
по функциональности похоже на стандартный ToolBar - точно
также работает через Actions (для добавления кнопок использовать метод Items)
полностью моя перерисовка кнопок - нормальный внешний вид.
работает:
+ кустомизация расположения кнопок и внешнего вида в run-time
+ сохранение во внешний конфигурационный файл через propstorage
будут реализованы:
- DropDownMenu - в зависимости от стиля кнопки либо выпадает
при нажатии на кнопку, либо будет отдельнная облясть кнопки (суб.кнопка) для
вызова меню
- скрытие ненужных кнопок (настройка в run-time)
- стили отображения (сейчас стандарт Win9x, Flat) - добавляю как в WinXP
- мастер создания панели в DesignTime в лазаре
змеченые глюки
- не всегда коректно востанавливается при ширина кнопок
принимаю заявки на функциональность и ошибки
30.10.2005
+ перенёс
+ перенёс RxDice, RxSwith, TRxDBComboBox
+ Разбил на 2 закладки - RX и RX DBAware
- исправил баг с начальным размером у TRxDBLookupCombo
28.10.2005
+ практически работает Currency edit (не проверил под линухом)
- из-за ошибки в функиции FormatFloat из FCL нельзя использовать в строке
форматирования одинарные или двойные кавычки - повесится
19.10.2005
+ TRxMemoryData - работает почти полностью - нет поддержки blob - надо разбирать
+ начал перенос Currency edit
+ правил ошибки
- ещё не всё проверил в линуксе - теоретически должно собраться и работать
05.10.2005
+ Добавлен TRxDBGrid - написан по "мотивам оригинального, ещё есть что переносить
самое главное, почему его начал переносить - захотелось сделать сортировку
наборов данных как в DBGridEh из EhLib. Я вышел с предложением на
Jesus Reyes (автор DBGrid-а о добавлении функциональности) - он сказал, что нефиг
превращать стандартный компонент в новогоднюю ёлку. Поэтому стал сам доделывать
наследника.
Сейчас работает многострочные заголовки, подерживается нажатие на заголовок
как на кнопку с опциональным отображением символа сортировки (соответсвующее событие)
также добавил механизм автосортировки см. файл exSortFB.pas - тут наиболее лаконично
всё. Кратко - для необходимых типов источноков данных
пишется обёртка (наследник от TExDBGridSortEngine) который умеет в этом
источнике данных переупорядочивать записи. Мой TFBDataSet (работаю с FireBird)
умеет сам в локальном кэше сортировать запис - поэтому там всё просто.
exsortmds.pas - этот модуль для сортировки данных в стандартном MemDS
немного кривовато написано - практически нет механизмов добраться до внутреннего
буфера данных (кстати в MemDS есть баг позиционирования курсора на 1-ю запись)
- TRxMemoryData - вроде всё скомпилировалось практически без правки - но чтото при
добавлении записи - ошибка (подозреваю не совместимость DataSet-а из дельфей и Лазаря)
надо разобраться. Стандартный MemDS ограничен - нет блоб и прочего.
31.09.2005
+ Add component TFolderLister - это моя разработка - на основе неё добавлю
ещё компонент для построения меню, содержащее отчёты для LazReport-a
(аналог у меня в дельфях моей также разработки)
07.01.2005
i'm port next RX components:
TDBDateEdit - не даёт вводить значения руками - наследство от оригинального
TDateEdit
TRxDBCalcEdit
TRXLookupEdit,
TRxDBLookupCombo - тут баг - при кидании на форму не коректно устанавливаются
размеры, приходится руками ресайзить - когда нить доделаю - или кто сможет -
помогайте.
and next modules:
DateUtil.pas
DbUtils.pas
rxdconst.pas
RXStrutils.pas
VCLUtils.pas
жду замечаний и предложений
Лагунов Алексей (alexs)
ALEXS75-на-YANDEX-точка-RU

View File

@ -35,4 +35,17 @@
4. Для нормальной работы используйте последнюю версию Lazarus
сборкой не ниже 0.9.19 (10151) - появилась в SVN 01.11.2006
5. Вопросы задавать мылом или на форуме FreePascal.ru (предпочтительней)
5. Замечание о RXDBGRID_OPTIONS_WO_CANCEL_ON_EXIT и флаге dgCancelOnExit в
TRxDbGrid.Options
в случае использования следующей схемы под линуксом:
В форму ложим список TRxDbGrid с открытым набором данных и отдельную кнопку (TSpeedButton) на
добавление новой записи в набор данных с вызовом другой модальной формы для редактирования
добовляемых значение
при открытии формы редактирования набор данных, связанный с TRxDbGrid переходит в состояние
редактирования
это поведени наблюдается только по Linux
объяснение заключается в том что при потере фокуса TDbGrid и его наследниеи вызывают
метод Cancel
6. Вопросы задавать мылом или на форуме FreePascal.ru (предпочтительней)

View File

@ -1,2 +1,2 @@
del rx.lrs
C:\lazarus\tools\lazres.exe rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm
C:\lazarus\tools\lazres.exe rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm

View File

@ -12,7 +12,8 @@ procedure Register;
implementation
uses PropEdits, dbdateedit, rxlookup, folderlister, rxdbgrid, rxmemds, duallist,
curredit, rxswitch, rxdice, rxdbcomb, rxtoolbar, rxxpman, PageMngr, RxAppIcon,
Dialogs, ComponentEditors, seldsfrm, DBPropEdits, DB, rxctrls, RxLogin, RxCustomChartPanel;
Dialogs, ComponentEditors, seldsfrm, DBPropEdits, DB, rxctrls, RxLogin,
RxCustomChartPanel, AutoPanel;
type
@ -209,6 +210,10 @@ begin
RegisterComponents('RX',[TRxChart]);
end;
procedure RegisterAutoPanel;
begin
RegisterComponents('RX',[TAutoPanel]);
end;
procedure Register;
begin
@ -231,6 +236,8 @@ begin
RegisterUnit('rxdbgrid', @RegisterRxDbGrid);
RegisterUnit('rxmemds', @RegisterRxMemDS);
RegisterUnit('rxdbcomb', @RegisterRxDBComb);
RegisterUnit('AutoPanel', @RegisterAutoPanel);
//Component Editors
RegisterComponentEditor(TRxAppIcon, TRxAppIconEditor);

View File

@ -5,3 +5,4 @@
{$DEFINE HASVARIANT}
{.$DEFINE ENABLE_Child_Defs}
{$DEFINE NEW_STYLE_TITLE_ALIGNMENT_RXDBGRID}
{$DEFINE RXDBGRID_OPTIONS_WO_CANCEL_ON_EXIT}

View File

@ -267,3 +267,21 @@ LazarusResources.Add('TRXLABEL','XPM',[
+'........................",'#10'"........................",'#10'"...........'
+'.............",'#10'"........................"};'#10
]);
LazarusResources.Add('tautopanel','XPM',[
'/* XPM */'#10'static char *tautopanel_xpm[] = {'#10'/* width height num_colo'
+'rs chars_per_pixel */'#10'" 24 24 8 1",'#10'/* colo'
+'rs */'#10'"` c #808000",'#10'". c #808080",'#10'"# c #ffffff",'#10'"a c #ff'
+'0000",'#10'"b c #000000",'#10'"c c #000000",'#10'"d c #000000",'#10'"e c #0'
+'00000",'#10'/* pixels */'#10'"````````````````````````",'#10'"`````````````'
+'```````````",'#10'"``...................```",'#10'"``.#################`#``'
+'",'#10'"``.#````````````````.#``",'#10'"``.#````````````````.#``",'#10'"``.'
+'#````````````````.#``",'#10'"``.#aa``````````````.#``",'#10'"``.a``a```````'
+'a`````.#``",'#10'"``.a``a```````a`````.#``",'#10'"``.a``a`a``a`aaa```aa#``"'
+','#10'"``.aaaa`a``a``a```a`.a``",'#10'"``.a``a`a``a``a```a`.a``",'#10'"``.a'
+'``a`a``a``a```a`.a``",'#10'"``.a``a`a``a``a```a`.a``",'#10'"``.a``a``aaa``a'
+'a```aa#``",'#10'"``.#````````````````.#``",'#10'"``.#````````````````.#``",'
+#10'"``.#````````````````.#``",'#10'"``.#````````````````.#``",'#10'"``.`...'
+'..............#``",'#10'"```###################``",'#10'"``````````````````'
+'``````",'#10'"````````````````````````"'#10'};'#10
]);

View File

@ -83,6 +83,10 @@ type
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Anchors;
property ArrowKeysTraverseList;
property AutoDropDown;
property BorderSpacing;
property Style; { must be published before Items }
property Color;
property Ctl3D;
@ -94,11 +98,12 @@ type
property Enabled;
property EnableValues: Boolean read FEnableValues write SetEnableValues;
property Font;
property Anchors;
property Constraints;
property DragKind;
property ItemHeight;
property Items;
property ItemWidth;
property MaxLength default -1;
property ParentColor;
property ParentCtl3D;
property ParentFont;

View File

@ -11,11 +11,14 @@ uses
type
TSortMarker = (smNone, smDown, smUp);
TGetBtnParamsEvent = procedure (Sender: TObject; Field: TField;
AFont: TFont; var Background: TColor; var SortMarker: TSortMarker;
IsDown: Boolean) of object;
TGetCellPropsEvent = procedure (Sender: TObject; Field: TField;
AFont: TFont; var Background: TColor) of object;
TRxDBGridAllowedOperation = (aoInsert, aoUpdate, aoDelete, aoAppend);
TRxDBGridAllowedOperations = set of TRxDBGridAllowedOperation;
@ -30,7 +33,8 @@ type
rdgFooterRows,
rdgXORColSizing,
rdgFilter,
rdgMultiTitleLines
rdgMultiTitleLines,
rdgMrOkOnDblClik
);
TOptionsRx = set of TOptionRx;
@ -274,6 +278,7 @@ type
procedure FFilterListEditorOnChange(Sender: TObject);
procedure FFilterListEditorOnCloseUp(Sender: TObject);
procedure InternalOptimizeColumnsWidth(AColList:TList);
function IsDefaultRowHeightStored:boolean;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
@ -330,7 +335,7 @@ type
property Constraints;
property DataSource;
property DefaultDrawing;
property DefaultRowHeight default 18;
property DefaultRowHeight stored IsDefaultRowHeightStored default 18 ;
//property DragCursor;
//property DragKind;
//property DragMode;
@ -1269,7 +1274,17 @@ begin
inherited MouseDown(Button, Shift, X, Y);
end
else
begin
if rdgMrOkOnDblClik in FOptionsRx then
begin
if (Cell.Y > 0) and (Cell.X >= ord(dgIndicator in Options)) and (ssDouble in Shift) then
begin
if Owner is TCustomForm then
TCustomForm(Owner).ModalResult:=mrOk;
end;
end;
inherited MouseDown(Button, Shift, X, Y);
end;
end;
procedure TRxDBGrid.MouseUp(Button: TMouseButton; Shift: TShiftState; X,
@ -1466,6 +1481,7 @@ procedure TRxDBGrid.FFilterListEditorOnCloseUp(Sender: TObject);
begin
FFilterListEditor.Hide;
FFilterListEditor.Changed;
SetFocus;
end;
procedure TRxDBGrid.InternalOptimizeColumnsWidth(AColList: TList);
@ -1510,6 +1526,11 @@ begin
FreeMem(WA, SizeOf(Integer) * AColList.Count);
end;
function TRxDBGrid.IsDefaultRowHeightStored: boolean;
begin
Result:=DefaultRowHeight = Canvas.TextHeight('W');
end;
procedure TRxDBGrid.CalcStatTotals;
var
P:TBookmark;
@ -1593,7 +1614,10 @@ end;
constructor TRxDBGrid.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{$IFDEF RXDBGRID_OPTIONS_WO_CANCEL_ON_EXIT}
Options:=Options - [dgCancelOnExit];
{$ENDIF}
FMarkerUp := TBitmap.Create;
FMarkerUp.Handle := CreatePixmapIndirect(@IMGMarkerUp[0],
GetSysColor(COLOR_BTNFACE));
@ -2099,9 +2123,9 @@ end;
initialization
ExDBGridSortEngineList:=TStringList.Create;
ExDBGridSortEngineList.Sorted:=true;
finalization
while (ExDBGridSortEngineList.Count>0) do begin
while (ExDBGridSortEngineList.Count>0) do
begin
ExDBGridSortEngineList.Objects[0].Free;
ExDBGridSortEngineList.Delete(0);
end;

View File

@ -144,6 +144,7 @@ type
function GetFlat: Boolean;
function GetGlyph: TBitmap;
function GetNumGlyphs: Integer;
function GetOnGetGridCellProps: TGetCellPropsEvent;
function GetPopupVisible: boolean;
procedure SetButtonNeedsFocus(const AValue: Boolean);
procedure SetButtonWidth(const AValue: Integer);
@ -161,6 +162,7 @@ type
procedure SetLookupField(const AValue: string);
procedure SetLookupSource(const AValue: TDataSource);
procedure SetNumGlyphs(const AValue: Integer);
procedure SetOnGetGridCellProps(const AValue: TGetCellPropsEvent);
procedure SetPopUpFormOptions(const AValue: TPopUpFormOptions);
procedure SetReadOnly(const AValue: boolean);
function StoreEmpty: boolean;
@ -220,6 +222,8 @@ type
property LookupDisplayIndex: Integer read FLookupDisplayIndex write SetLookupDisplayIndex default 0;
property LookupField: string read FLookupField write SetLookupField;
property LookupSource: TDataSource read GetLookupSource write SetLookupSource;
property OnGetGridCellProps: TGetCellPropsEvent read GetOnGetGridCellProps
write SetOnGetGridCellProps;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
@ -267,6 +271,7 @@ type
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
property OnGetGridCellProps;
property ParentColor;
property ParentCtl3D;
property ParentFont;
@ -296,7 +301,7 @@ uses VCLUtils, Math;
function CreateArrowBitmap:TBitmap;
begin
Result:=Graphics.TBitmap.Create;
Result.LoadFromLazarusResource('btn_downarrow');
Result.LoadFromLazarusResource('rxbtn_downarrow');
end;
{ TCustomDBLookupEdit }
@ -604,6 +609,11 @@ begin
else Result:=0;
end;
function TRxCustomDBLookupCombo.GetOnGetGridCellProps: TGetCellPropsEvent;
begin
Result:=FPopUpFormOptions.OnGetCellProps;
end;
function TRxCustomDBLookupCombo.GetPopupVisible: boolean;
begin
Result:=Assigned(FRxPopUpForm);
@ -735,6 +745,12 @@ begin
FButton.NumGlyphs:=AValue;
end;
procedure TRxCustomDBLookupCombo.SetOnGetGridCellProps(
const AValue: TGetCellPropsEvent);
begin
FPopUpFormOptions.OnGetCellProps:=AValue;
end;
procedure TRxCustomDBLookupCombo.SetPopUpFormOptions(
const AValue: TPopUpFormOptions);
begin
@ -1323,4 +1339,10 @@ begin
FDataControl.LookupDataSetChanged;
end;
initialization
LazarusResources.Add('rxbtn_downarrow','XPM',[
'/* XPM */'#13#10'static char * btn_downarrow_xpm[] = {'#13#10'"5 3 2 1",'#13
+#10'" '#9'c None",'#13#10'".'#9'c #000000",'#13#10'".....",'#13#10'" ... ",'
+#13#10'" . "};'#13#10
]);
end.

View File

@ -23,8 +23,8 @@ translate to Lazarus by alexs in 2005 - 2007
"/>
<License Value="free ware
"/>
<Version Major="1" Minor="1" Release="3" Build="86"/>
<Files Count="37">
<Version Major="1" Minor="1" Release="4" Build="93"/>
<Files Count="38">
<Item1>
<Filename Value="rxlookup.pas"/>
<UnitName Value="rxlookup"/>
@ -174,6 +174,10 @@ translate to Lazarus by alexs in 2005 - 2007
<Filename Value="rxsortmemds.pas"/>
<UnitName Value="rxsortmemds"/>
</Item37>
<Item38>
<Filename Value="autopanel.pas"/>
<UnitName Value="AutoPanel"/>
</Item38>
</Files>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="4">

View File

@ -1,5 +1,5 @@
{ This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package.
{ Этот файл был автоматически создан Lazarus. Не редактировать!
Исходный код используется только для компиляции и установки пакета.
}
unit rxnew;
@ -12,7 +12,7 @@ uses
duallist, boxprocs, tooledit, rxswitch, rxdice, rxdbcomb, rxtoolbar,
rxtbrsetup, fduallst, rxxpman, pagemngr, rxappicon, seldsfrm, rxctrls,
rxlogin, rxdbgrid_findunit, rxdbgrid_columsunit, rxpopupunit,
rxcustomchartpanel, rxsortmemds, LazarusPackageIntf;
rxcustomchartpanel, rxsortmemds, AutoPanel, LazarusPackageIntf;
implementation

View File

@ -117,6 +117,7 @@ type
FColumns: TPopUpFormColumns;
FDropDownCount: integer;
FDropDownWidth: integer;
FOnGetCellProps: TGetCellPropsEvent;
FOptions: TPopUpGridOptions;
FShowTitles: boolean;
FTitleButtons: boolean;
@ -144,6 +145,8 @@ type
property ShowTitles:boolean read FShowTitles write SetShowTitles default false;
property TitleButtons:boolean read FTitleButtons write SetTitleButtons default false;
property TitleStyle:TTitleStyle read FTitleStyle write SetTitleStyle default tsLazarus;
property OnGetCellProps: TGetCellPropsEvent read FOnGetCellProps
write FOnGetCellProps;
end;
{ TPopUpForm }
@ -466,6 +469,7 @@ begin
FGrid.TitleButtons:=FPopUpFormOptions.TitleButtons;
FGrid.TitleStyle:=FPopUpFormOptions.TitleStyle;
FGrid.BorderStyle:=FPopUpFormOptions.BorderStyle;
FGrid.OnGetCellProps:=FPopUpFormOptions.OnGetCellProps;
end;
{ TPopUpFormOptions }