You've already forked lazarus-ccr
quick find in rxdbgrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@897 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -11,13 +11,13 @@
|
|||||||
<Title Value="RxDBGrid demo"/>
|
<Title Value="RxDBGrid demo"/>
|
||||||
<Icon Value="0"/>
|
<Icon Value="0"/>
|
||||||
<UseXPManifest Value="True"/>
|
<UseXPManifest Value="True"/>
|
||||||
<ActiveEditorIndexAtStart Value="0"/>
|
<ActiveEditorIndexAtStart Value="1"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<UseVersionInfo Value="True"/>
|
<UseVersionInfo Value="True"/>
|
||||||
<CurrentVersionNr Value="3"/>
|
<CurrentVersionNr Value="3"/>
|
||||||
<CurrentMajorRevNr Value="1"/>
|
<CurrentMajorRevNr Value="1"/>
|
||||||
<CurrentMinorRevNr Value="1"/>
|
<CurrentMinorRevNr Value="2"/>
|
||||||
<ProjectVersion Value="3.1.1.0"/>
|
<ProjectVersion Value="3.1.1.0"/>
|
||||||
<FileDescription Value="Demo application from RXFPC library"/>
|
<FileDescription Value="Demo application from RXFPC library"/>
|
||||||
<LegalCopyright Value="Lagunov Aleksey, GPL 2"/>
|
<LegalCopyright Value="Lagunov Aleksey, GPL 2"/>
|
||||||
@ -47,14 +47,14 @@
|
|||||||
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
|
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
|
||||||
</Item3>
|
</Item3>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units Count="14">
|
<Units Count="15">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="RxDBGridDemo.lpr"/>
|
<Filename Value="RxDBGridDemo.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="RxDBGridDemo"/>
|
<UnitName Value="RxDBGridDemo"/>
|
||||||
<CursorPos X="3" Y="11"/>
|
<CursorPos X="3" Y="11"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<UsageCount Value="26"/>
|
<UsageCount Value="27"/>
|
||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="rxdbgridmainunit.pas"/>
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
@ -62,10 +62,10 @@
|
|||||||
<ComponentName Value="RxDBGridMainForm"/>
|
<ComponentName Value="RxDBGridMainForm"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="RxDBGridMainUnit"/>
|
<UnitName Value="RxDBGridMainUnit"/>
|
||||||
<CursorPos X="26" Y="118"/>
|
<CursorPos X="26" Y="19"/>
|
||||||
<TopLine Value="77"/>
|
<TopLine Value="17"/>
|
||||||
<EditorIndex Value="0"/>
|
<EditorIndex Value="0"/>
|
||||||
<UsageCount Value="26"/>
|
<UsageCount Value="27"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
<Unit2>
|
<Unit2>
|
||||||
@ -91,12 +91,14 @@
|
|||||||
<Unit5>
|
<Unit5>
|
||||||
<Filename Value="../../rxdbgrid.pas"/>
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
<UnitName Value="rxdbgrid"/>
|
<UnitName Value="rxdbgrid"/>
|
||||||
<CursorPos X="6" Y="467"/>
|
<CursorPos X="1" Y="1740"/>
|
||||||
<TopLine Value="462"/>
|
<TopLine Value="1721"/>
|
||||||
|
<EditorIndex Value="1"/>
|
||||||
<UsageCount Value="12"/>
|
<UsageCount Value="12"/>
|
||||||
<Bookmarks Count="1">
|
<Bookmarks Count="1">
|
||||||
<Item0 X="3" Y="1446" ID="1"/>
|
<Item0 X="3" Y="1462" ID="1"/>
|
||||||
</Bookmarks>
|
</Bookmarks>
|
||||||
|
<Loaded Value="True"/>
|
||||||
</Unit5>
|
</Unit5>
|
||||||
<Unit6>
|
<Unit6>
|
||||||
<Filename Value="../../../../lcl/lresources.pp"/>
|
<Filename Value="../../../../lcl/lresources.pp"/>
|
||||||
@ -152,12 +154,137 @@
|
|||||||
<TopLine Value="1779"/>
|
<TopLine Value="1779"/>
|
||||||
<UsageCount Value="10"/>
|
<UsageCount Value="10"/>
|
||||||
</Unit13>
|
</Unit13>
|
||||||
|
<Unit14>
|
||||||
|
<Filename Value="../../../../../../../../home/alexs/install/2/rxdbgrid.diff"/>
|
||||||
|
<CursorPos X="1" Y="21"/>
|
||||||
|
<TopLine Value="1"/>
|
||||||
|
<EditorIndex Value="2"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
<SyntaxHighlighter Value="None"/>
|
||||||
|
</Unit14>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="1" HistoryIndex="0">
|
<JumpHistory Count="30" HistoryIndex="29">
|
||||||
<Position1>
|
<Position1>
|
||||||
<Filename Value="rxdbgridmainunit.pas"/>
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
<Caret Line="31" Column="22" TopLine="11"/>
|
<Caret Line="1725" Column="1" TopLine="1706"/>
|
||||||
</Position1>
|
</Position1>
|
||||||
|
<Position2>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1727" Column="1" TopLine="1708"/>
|
||||||
|
</Position2>
|
||||||
|
<Position3>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1729" Column="1" TopLine="1710"/>
|
||||||
|
</Position3>
|
||||||
|
<Position4>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1730" Column="1" TopLine="1711"/>
|
||||||
|
</Position4>
|
||||||
|
<Position5>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1732" Column="1" TopLine="1713"/>
|
||||||
|
</Position5>
|
||||||
|
<Position6>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1735" Column="1" TopLine="1716"/>
|
||||||
|
</Position6>
|
||||||
|
<Position7>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1737" Column="1" TopLine="1718"/>
|
||||||
|
</Position7>
|
||||||
|
<Position8>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1740" Column="1" TopLine="1721"/>
|
||||||
|
</Position8>
|
||||||
|
<Position9>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1735" Column="1" TopLine="1725"/>
|
||||||
|
</Position9>
|
||||||
|
<Position10>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1749" Column="1" TopLine="1730"/>
|
||||||
|
</Position10>
|
||||||
|
<Position11>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1738" Column="43" TopLine="1738"/>
|
||||||
|
</Position11>
|
||||||
|
<Position12>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1760" Column="1" TopLine="1741"/>
|
||||||
|
</Position12>
|
||||||
|
<Position13>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1765" Column="1" TopLine="1746"/>
|
||||||
|
</Position13>
|
||||||
|
<Position14>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1738" Column="35" TopLine="1738"/>
|
||||||
|
</Position14>
|
||||||
|
<Position15>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1760" Column="1" TopLine="1741"/>
|
||||||
|
</Position15>
|
||||||
|
<Position16>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1765" Column="1" TopLine="1746"/>
|
||||||
|
</Position16>
|
||||||
|
<Position17>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1757" Column="1" TopLine="1738"/>
|
||||||
|
</Position17>
|
||||||
|
<Position18>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1763" Column="1" TopLine="1744"/>
|
||||||
|
</Position18>
|
||||||
|
<Position19>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1765" Column="1" TopLine="1746"/>
|
||||||
|
</Position19>
|
||||||
|
<Position20>
|
||||||
|
<Filename Value="../../rxdbgrid.pas"/>
|
||||||
|
<Caret Line="1766" Column="1" TopLine="1747"/>
|
||||||
|
</Position20>
|
||||||
|
<Position21>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="9" Column="12" TopLine="1"/>
|
||||||
|
</Position21>
|
||||||
|
<Position22>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="25" Column="20" TopLine="1"/>
|
||||||
|
</Position22>
|
||||||
|
<Position23>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="48" Column="48" TopLine="11"/>
|
||||||
|
</Position23>
|
||||||
|
<Position24>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="164" Column="48" TopLine="135"/>
|
||||||
|
</Position24>
|
||||||
|
<Position25>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="17" Column="19" TopLine="17"/>
|
||||||
|
</Position25>
|
||||||
|
<Position26>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="55" Column="58" TopLine="55"/>
|
||||||
|
</Position26>
|
||||||
|
<Position27>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="119" Column="31" TopLine="117"/>
|
||||||
|
</Position27>
|
||||||
|
<Position28>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="17" Column="26" TopLine="17"/>
|
||||||
|
</Position28>
|
||||||
|
<Position29>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="18" Column="26" TopLine="17"/>
|
||||||
|
</Position29>
|
||||||
|
<Position30>
|
||||||
|
<Filename Value="rxdbgridmainunit.pas"/>
|
||||||
|
<Caret Line="19" Column="26" TopLine="17"/>
|
||||||
|
</Position30>
|
||||||
</JumpHistory>
|
</JumpHistory>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 3,1,1,0
|
FILEVERSION 3,1,2,0
|
||||||
PRODUCTVERSION 3,1,1,0
|
PRODUCTVERSION 3,1,1,0
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
@ -9,7 +9,7 @@ PRODUCTVERSION 3,1,1,0
|
|||||||
VALUE "Comments", "\000"
|
VALUE "Comments", "\000"
|
||||||
VALUE "CompanyName", "\000"
|
VALUE "CompanyName", "\000"
|
||||||
VALUE "FileDescription", "Demo application from RXFPC library\000"
|
VALUE "FileDescription", "Demo application from RXFPC library\000"
|
||||||
VALUE "FileVersion", "3.1.1.0\000"
|
VALUE "FileVersion", "3.1.2.0\000"
|
||||||
VALUE "InternalName", "\000"
|
VALUE "InternalName", "\000"
|
||||||
VALUE "LegalCopyright", "Lagunov Aleksey, GPL 2\000"
|
VALUE "LegalCopyright", "Lagunov Aleksey, GPL 2\000"
|
||||||
VALUE "LegalTrademarks", "\000"
|
VALUE "LegalTrademarks", "\000"
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
object RxDBGridMainForm: TRxDBGridMainForm
|
object RxDBGridMainForm: TRxDBGridMainForm
|
||||||
Left = 263
|
Left = 263
|
||||||
Height = 582
|
Height = 609
|
||||||
Top = 219
|
Top = 219
|
||||||
Width = 969
|
Width = 969
|
||||||
ActiveControl = Panel1
|
ActiveControl = Panel1
|
||||||
Caption = 'RxDBGrid Demo (ver 3) ...'
|
Caption = 'RxDBGrid Demo (ver 3) ...'
|
||||||
ClientHeight = 582
|
ClientHeight = 609
|
||||||
ClientWidth = 969
|
ClientWidth = 969
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
LCLVersion = '0.9.27'
|
LCLVersion = '0.9.27'
|
||||||
object RxDBGrid1: TRxDBGrid
|
object RxDBGrid1: TRxDBGrid
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 533
|
Height = 542
|
||||||
Top = 49
|
Top = 67
|
||||||
Width = 969
|
Width = 969
|
||||||
TitleButtons = True
|
TitleButtons = True
|
||||||
AutoSort = True
|
AutoSort = True
|
||||||
@ -80,7 +80,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
|||||||
Filter.DropDownRows = 0
|
Filter.DropDownRows = 0
|
||||||
Filter.ItemIndex = -1
|
Filter.ItemIndex = -1
|
||||||
end>
|
end>
|
||||||
OptionsRx = [rdgFooterRows]
|
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgFooterRows, rdgAllowQuickSearch]
|
||||||
FooterColor = clYellow
|
FooterColor = clYellow
|
||||||
FooterRowCount = 1
|
FooterRowCount = 1
|
||||||
OnFiltred = RxDBGrid1Filtred
|
OnFiltred = RxDBGrid1Filtred
|
||||||
@ -97,14 +97,26 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
|||||||
end
|
end
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 49
|
Height = 67
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 969
|
Width = 969
|
||||||
Align = alTop
|
Align = alTop
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
ClientHeight = 49
|
ClientHeight = 67
|
||||||
ClientWidth = 969
|
ClientWidth = 969
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
|
object Label1: TLabel
|
||||||
|
AnchorSideLeft.Control = CheckBox1
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = Panel1
|
||||||
|
Left = 361
|
||||||
|
Height = 18
|
||||||
|
Top = 6
|
||||||
|
Width = 36
|
||||||
|
BorderSpacing.Around = 6
|
||||||
|
Caption = 'Mode'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
AnchorSideLeft.Control = Panel1
|
AnchorSideLeft.Control = Panel1
|
||||||
AnchorSideTop.Control = Panel1
|
AnchorSideTop.Control = Panel1
|
||||||
@ -146,6 +158,26 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
|||||||
OnChange = CheckBox1Change
|
OnChange = CheckBox1Change
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
end
|
end
|
||||||
|
object ComboBox1: TComboBox
|
||||||
|
AnchorSideLeft.Control = Label1
|
||||||
|
AnchorSideTop.Control = Label1
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 367
|
||||||
|
Height = 31
|
||||||
|
Top = 30
|
||||||
|
Width = 217
|
||||||
|
BorderSpacing.Around = 6
|
||||||
|
ItemHeight = 0
|
||||||
|
ItemIndex = 0
|
||||||
|
Items.Strings = (
|
||||||
|
'Edit mode'
|
||||||
|
'Quick search mode'
|
||||||
|
)
|
||||||
|
OnChange = ComboBox1Change
|
||||||
|
Style = csDropDownList
|
||||||
|
TabOrder = 3
|
||||||
|
Text = 'Edit mode'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object RxMemoryData1: TRxMemoryData
|
object RxMemoryData1: TRxMemoryData
|
||||||
AutoCalcFields = False
|
AutoCalcFields = False
|
||||||
@ -283,6 +315,17 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
|||||||
Action = actOptimizeColumnsWidthAll
|
Action = actOptimizeColumnsWidthAll
|
||||||
OnClick = actOptimizeColumnsWidthAllExecute
|
OnClick = actOptimizeColumnsWidthAllExecute
|
||||||
end
|
end
|
||||||
|
object MenuItem5: TMenuItem
|
||||||
|
Caption = '-'
|
||||||
|
end
|
||||||
|
object MenuItem7: TMenuItem
|
||||||
|
Action = showColumnsDialog
|
||||||
|
OnClick = showColumnsDialogExecute
|
||||||
|
end
|
||||||
|
object MenuItem6: TMenuItem
|
||||||
|
Action = showFindDialog
|
||||||
|
OnClick = showFindDialogExecute
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object ActionList1: TActionList
|
object ActionList1: TActionList
|
||||||
left = 206
|
left = 206
|
||||||
@ -299,6 +342,14 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
|||||||
Caption = 'Optimize width...'
|
Caption = 'Optimize width...'
|
||||||
OnExecute = actOptimizeWidthCol1Execute
|
OnExecute = actOptimizeWidthCol1Execute
|
||||||
end
|
end
|
||||||
|
object showFindDialog: TAction
|
||||||
|
Caption = 'Show find dialog...'
|
||||||
|
OnExecute = showFindDialogExecute
|
||||||
|
end
|
||||||
|
object showColumnsDialog: TAction
|
||||||
|
Caption = 'Show columns dialog...'
|
||||||
|
OnExecute = showColumnsDialogExecute
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object Datasource2: TDatasource
|
object Datasource2: TDatasource
|
||||||
DataSet = RxMemoryData2
|
DataSet = RxMemoryData2
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ ��� - ���� ��������, ������������� ��������� lazarus }
|
{ ��� - ���� ��������, ������������� ��������� lazarus }
|
||||||
|
|
||||||
LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
|
LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
|
||||||
'TPF0'#17'TRxDBGridMainForm'#16'RxDBGridMainForm'#4'Left'#3#7#1#6'Height'#3'F'
|
'TPF0'#17'TRxDBGridMainForm'#16'RxDBGridMainForm'#4'Left'#3#7#1#6'Height'#3'a'
|
||||||
+#2#3'Top'#3#219#0#5'Width'#3#201#3#13'ActiveControl'#7#6'Panel1'#7'Caption'#6
|
+#2#3'Top'#3#219#0#5'Width'#3#201#3#13'ActiveControl'#7#6'Panel1'#7'Caption'#6
|
||||||
+#26'RxDBGrid Demo (ver 3) ...'#12'ClientHeight'#3'F'#2#11'ClientWidth'#3#201
|
+#26'RxDBGrid Demo (ver 3) ...'#12'ClientHeight'#3'a'#2#11'ClientWidth'#3#201
|
||||||
+#3#8'OnCreate'#7#10'FormCreate'#10'LCLVersion'#6#6'0.9.27'#0#9'TRxDBGrid'#9
|
+#3#8'OnCreate'#7#10'FormCreate'#10'LCLVersion'#6#6'0.9.27'#0#9'TRxDBGrid'#9
|
||||||
+'RxDBGrid1'#4'Left'#2#0#6'Height'#3#21#2#3'Top'#2'1'#5'Width'#3#201#3#12'Tit'
|
+'RxDBGrid1'#4'Left'#2#0#6'Height'#3#30#2#3'Top'#2'C'#5'Width'#3#201#3#12'Tit'
|
||||||
+'leButtons'#9#8'AutoSort'#9#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'
|
+'leButtons'#9#8'AutoSort'#9#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'
|
||||||
+#13'Title.Caption'#6#4'Code'#17'Title.Orientation'#7#12'toHorizontal'#9'Fiel'
|
+#13'Title.Caption'#6#4'Code'#17'Title.Orientation'#7#12'toHorizontal'#9'Fiel'
|
||||||
+'dName'#6#2'ID'#16'Footer.Alignment'#7#14'taRightJustify'#20'Footer.DisplayF'
|
+'dName'#6#2'ID'#16'Footer.Alignment'#7#14'taRightJustify'#20'Footer.DisplayF'
|
||||||
@ -28,83 +28,100 @@ LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
|
|||||||
+'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#17'Title.Orie'
|
+'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#17'Title.Orie'
|
||||||
+'ntation'#7#12'toHorizontal'#5'Width'#3#150#0#9'FieldName'#6#12'DEVELOPER_ID'
|
+'ntation'#7#12'toHorizontal'#5'Width'#3#150#0#9'FieldName'#6#12'DEVELOPER_ID'
|
||||||
+#19'Filter.DropDownRows'#2#0#16'Filter.ItemIndex'#2#255#0#0#9'OptionsRx'#11
|
+#19'Filter.DropDownRows'#2#0#16'Filter.ItemIndex'#2#255#0#0#9'OptionsRx'#11
|
||||||
+#13'rdgFooterRows'#0#11'FooterColor'#7#8'clYellow'#14'FooterRowCount'#2#1#9
|
+#19'rdgAllowColumnsForm'#18'rdgAllowDialogFind'#13'rdgFooterRows'#19'rdgAllo'
|
||||||
+'OnFiltred'#7#16'RxDBGrid1Filtred'#5'Align'#7#8'alClient'#10'FocusColor'#7#5
|
+'wQuickSearch'#0#11'FooterColor'#7#8'clYellow'#14'FooterRowCount'#2#1#9'OnFi'
|
||||||
+'clRed'#13'SelectedColor'#7#11'clHighlight'#13'GridLineStyle'#7#7'psSolid'#10
|
+'ltred'#7#16'RxDBGrid1Filtred'#5'Align'#7#8'alClient'#10'FocusColor'#7#5'clR'
|
||||||
+'DataSource'#7#11'Datasource1'#7'Options'#11#9'dgEditing'#8'dgTitles'#11'dgI'
|
+'ed'#13'SelectedColor'#7#11'clHighlight'#13'GridLineStyle'#7#7'psSolid'#10'D'
|
||||||
+'ndicator'#14'dgColumnResize'#12'dgColumnMove'#10'dgColLines'#10'dgRowLines'
|
+'ataSource'#7#11'Datasource1'#7'Options'#11#9'dgEditing'#8'dgTitles'#11'dgIn'
|
||||||
+#6'dgTabs'#21'dgAlwaysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'
|
+'dicator'#14'dgColumnResize'#12'dgColumnMove'#10'dgColLines'#10'dgRowLines'#6
|
||||||
+#13'dgMultiselect'#18'dgHeaderPushedLook'#0#11'ParentColor'#8#9'PopupMenu'#7
|
+'dgTabs'#21'dgAlwaysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'#13
|
||||||
+#10'PopupMenu1'#8'TabOrder'#2#0#10'TitleStyle'#7#8'tsNative'#0#0#6'TPanel'#6
|
+'dgMultiselect'#18'dgHeaderPushedLook'#0#11'ParentColor'#8#9'PopupMenu'#7#10
|
||||||
+'Panel1'#4'Left'#2#0#6'Height'#2'1'#3'Top'#2#0#5'Width'#3#201#3#5'Align'#7#5
|
+'PopupMenu1'#8'TabOrder'#2#0#10'TitleStyle'#7#8'tsNative'#0#0#6'TPanel'#6'Pa'
|
||||||
+'alTop'#8'AutoSize'#9#12'ClientHeight'#2'1'#11'ClientWidth'#3#201#3#8'TabOrd'
|
+'nel1'#4'Left'#2#0#6'Height'#2'C'#3'Top'#2#0#5'Width'#3#201#3#5'Align'#7#5'a'
|
||||||
+'er'#2#1#0#7'TButton'#7'Button1'#22'AnchorSideLeft.Control'#7#6'Panel1'#21'A'
|
+'lTop'#8'AutoSize'#9#12'ClientHeight'#2'C'#11'ClientWidth'#3#201#3#8'TabOrde'
|
||||||
+'nchorSideTop.Control'#7#6'Panel1'#4'Left'#2#6#6'Height'#2'%'#3'Top'#2#6#5'W'
|
+'r'#2#1#0#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'#7#9'CheckBox1'#19'A'
|
||||||
+'idth'#2'\'#6'Action'#7#12'actCalcTotal'#8'AutoSize'#9#20'BorderSpacing.Arou'
|
+'nchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#6'Panel1'#4
|
||||||
+'nd'#2#6#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#0#0#0#7'TButton'#7
|
+'Left'#3'i'#1#6'Height'#2#18#3'Top'#2#6#5'Width'#2'$'#20'BorderSpacing.Aroun'
|
||||||
+'Button2'#22'AnchorSideLeft.Control'#7#7'Button1'#19'AnchorSideLeft.Side'#7#9
|
+'d'#2#6#7'Caption'#6#4'Mode'#11'ParentColor'#8#0#0#7'TButton'#7'Button1'#22
|
||||||
+'asrBottom'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#2'h'#6'Height'#2'%'
|
+'AnchorSideLeft.Control'#7#6'Panel1'#21'AnchorSideTop.Control'#7#6'Panel1'#4
|
||||||
+#3'Top'#2#6#5'Width'#3#165#0#6'Action'#7#26'actOptimizeColumnsWidthAll'#8'Au'
|
+'Left'#2#6#6'Height'#2'%'#3'Top'#2#6#5'Width'#2'\'#6'Action'#7#12'actCalcTot'
|
||||||
+'toSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#8
|
+'al'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'
|
||||||
+'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.Control'#7#7
|
+#2#4#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#22'AnchorSideLeft.Control'#7#7
|
||||||
+'Button2'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7
|
+'Button1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7
|
||||||
+#7'Button1'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#19#1#6'Height'#2
|
+#6'Panel1'#4'Left'#2'h'#6'Height'#2'%'#3'Top'#2#6#5'Width'#3#165#0#6'Action'
|
||||||
+#21#3'Top'#2#14#5'Width'#2'P'#18'BorderSpacing.Left'#2#6#7'Caption'#6#10'Use'
|
+#7#26'actOptimizeColumnsWidthAll'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6
|
||||||
+' filter'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#2#0#0#0#13'TRxMemo'
|
+#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckB'
|
||||||
+'ryData'#13'RxMemoryData1'#14'AutoCalcFields'#8#9'FieldDefs'#14#1#4'Name'#6#2
|
+'ox1'#22'AnchorSideLeft.Control'#7#7'Button2'#19'AnchorSideLeft.Side'#7#9'as'
|
||||||
+'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2#7#0#1#4'Name'#6
|
+'rBottom'#21'AnchorSideTop.Control'#7#7'Button1'#18'AnchorSideTop.Side'#7#9
|
||||||
+#4'NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#1#4
|
+'asrCenter'#4'Left'#3#19#1#6'Height'#2#21#3'Top'#2#14#5'Width'#2'P'#18'Borde'
|
||||||
+'Name'#6#5'PRICE'#8'DataType'#7#7'ftFloat'#9'Precision'#2#2#4'Size'#2#12#0#1
|
+'rSpacing.Left'#2#6#7'Caption'#6#10'Use filter'#8'OnChange'#7#15'CheckBox1Ch'
|
||||||
+#4'Name'#6#9'Developer'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'
|
+'ange'#8'TabOrder'#2#2#0#0#9'TComboBox'#9'ComboBox1'#22'AnchorSideLeft.Contr'
|
||||||
+#3#150#0#0#1#4'Name'#6#12'Date_Present'#8'DataType'#7#6'ftDate'#9'Precision'
|
+'ol'#7#6'Label1'#21'AnchorSideTop.Control'#7#6'Label1'#18'AnchorSideTop.Side'
|
||||||
+#2#0#4'Size'#2#0#0#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9'ftInteger'#9
|
+#7#9'asrBottom'#4'Left'#3'o'#1#6'Height'#2#31#3'Top'#2#30#5'Width'#3#217#0#20
|
||||||
+'Precision'#2#0#4'Size'#2#0#0#0#16'OnFilterRecordEx'#7#27'RxMemoryData1Filte'
|
+'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#9'ItemIndex'#2#0#13'Items.Stri'
|
||||||
+'rRecordEx'#4'left'#3#152#0#3'top'#3#8#1#0#13'TLongintField'#16'RxMemoryData'
|
+'ngs'#1#6#9'Edit mode'#6#17'Quick search mode'#0#8'OnChange'#7#15'ComboBox1C'
|
||||||
+'1ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#2'ID'#5
|
+'hange'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#3#4'Text'#6#9'Edit mode'
|
||||||
+'Index'#2#0#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWher'
|
+#0#0#0#13'TRxMemoryData'#13'RxMemoryData1'#14'AutoCalcFields'#8#9'FieldDefs'
|
||||||
+'e'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TStringField'#18'RxMemoryData1NAME1'
|
+#14#1#4'Name'#6#2'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2
|
||||||
+#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#4'NAME'#5
|
+#7#0#1#4'Name'#6#4'NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'
|
||||||
+'Index'#2#1#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWher'
|
+#3#150#0#0#1#4'Name'#6#5'PRICE'#8'DataType'#7#7'ftFloat'#9'Precision'#2#2#4
|
||||||
,'e'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#11'TFloatField'#19'RxM'
|
,'Size'#2#12#0#1#4'Name'#6#9'Developer'#8'DataType'#7#8'ftString'#9'Precision'
|
||||||
+'emoryData1PRICE1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldNam'
|
+#2#255#4'Size'#3#150#0#0#1#4'Name'#6#12'Date_Present'#8'DataType'#7#6'ftDate'
|
||||||
+'e'#6#5'PRICE'#5'Index'#2#2#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUp'
|
+#9'Precision'#2#0#4'Size'#2#0#0#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9
|
||||||
+'date'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#13'DisplayFormat'#6#8'#,##'
|
+'ftInteger'#9'Precision'#2#0#4'Size'#2#0#0#0#16'OnFilterRecordEx'#7#27'RxMem'
|
||||||
+'0.00'#8'MaxValue'#5#0#0#0#0#0#0#0#0#0#0#8'MinValue'#5#0#0#0#0#0#0#0#0#0#0#9
|
+'oryData1FilterRecordEx'#4'left'#3#152#0#3'top'#3#8#1#0#13'TLongintField'#16
|
||||||
+'Precision'#2#2#0#0#12'TStringField'#23'RxMemoryData1Developer1'#12'DisplayW'
|
+'RxMemoryData1ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldNam'
|
||||||
+'idth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#9'Developer'#5'Index'
|
+'e'#6#2'ID'#5'Index'#2#0#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdat'
|
||||||
+#2#3#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8
|
+'e'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TStringField'#18'RxMem'
|
||||||
+'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#10'TDateField'#26'RxMemoryDat'
|
+'oryData1NAME1'#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldNam'
|
||||||
+'a1Date_Present1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'
|
+'e'#6#4'NAME'#5'Index'#2#1#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpd'
|
||||||
+#6#12'Date_Present'#5'Index'#2#4#11'LookupCache'#8#13'ProviderFlags'#11#10'p'
|
+'ate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#11'TFlo'
|
||||||
+'fInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#13'TLongintField'
|
+'atField'#19'RxMemoryData1PRICE1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkD'
|
||||||
+#26'RxMemoryData1DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkDat'
|
+'ata'#9'FieldName'#6#5'PRICE'#5'Index'#2#2#11'LookupCache'#8#13'ProviderFlag'
|
||||||
+'a'#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#5#9'KeyFields'#6#12'DEVELOPER'
|
+'s'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#13'DisplayF'
|
||||||
+'_ID'#11'LookupCache'#8#13'LookupDataSet'#7#13'RxMemoryData2'#15'LookupKeyFi'
|
+'ormat'#6#8'#,##0.00'#8'MaxValue'#5#0#0#0#0#0#0#0#0#0#0#8'MinValue'#5#0#0#0#0
|
||||||
+'elds'#6#12'DEVELOPER_ID'#17'LookupResultField'#6#14'DEVELOPER_NAME'#13'Prov'
|
+#0#0#0#0#0#0#9'Precision'#2#2#0#0#12'TStringField'#23'RxMemoryData1Developer'
|
||||||
+'iderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0
|
+'1'#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#9'Devel'
|
||||||
+#0#11'TDatasource'#11'Datasource1'#7'DataSet'#7#13'RxMemoryData1'#4'left'#2
|
+'oper'#5'Index'#2#3#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9
|
||||||
+'x'#3'top'#3#8#1#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3
|
+'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#10'TDateField'
|
||||||
+#197#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#20'actOptimizeWidthCol1'#7'On'
|
+#26'RxMemoryData1Date_Present1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkDat'
|
||||||
+'Click'#7#27'actOptimizeWidthCol1Execute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Ca'
|
+'a'#9'FieldName'#6#12'Date_Present'#5'Index'#2#4#11'LookupCache'#8#13'Provid'
|
||||||
+'ption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#12'actCalcTotal'#7
|
+'erFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#13
|
||||||
+'OnClick'#7#19'actCalcTotalExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7
|
+'TLongintField'#26'RxMemoryData1DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'Field'
|
||||||
+#26'actOptimizeColumnsWidthAll'#7'OnClick'#7'!actOptimizeColumnsWidthAllExec'
|
+'Kind'#7#6'fkData'#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#5#9'KeyFields'
|
||||||
+'ute'#0#0#0#11'TActionList'#11'ActionList1'#4'left'#3#206#0#3'top'#3#197#0#0
|
+#6#12'DEVELOPER_ID'#11'LookupCache'#8#13'LookupDataSet'#7#13'RxMemoryData2'
|
||||||
+#7'TAction'#12'actCalcTotal'#7'Caption'#6#13'Calc total...'#9'OnExecute'#7#19
|
+#15'LookupKeyFields'#6#12'DEVELOPER_ID'#17'LookupResultField'#6#14'DEVELOPER'
|
||||||
+'actCalcTotalExecute'#0#0#7'TAction'#26'actOptimizeColumnsWidthAll'#7'Captio'
|
+'_NAME'#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'R'
|
||||||
+'n'#6#25'Optimize width for all...'#9'OnExecute'#7'!actOptimizeColumnsWidthA'
|
+'equired'#8#0#0#0#11'TDatasource'#11'Datasource1'#7'DataSet'#7#13'RxMemoryDa'
|
||||||
+'llExecute'#0#0#7'TAction'#20'actOptimizeWidthCol1'#7'Caption'#6#17'Optimize'
|
+'ta1'#4'left'#2'x'#3'top'#3#8#1#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3
|
||||||
+' width...'#9'OnExecute'#7#27'actOptimizeWidthCol1Execute'#0#0#0#11'TDatasou'
|
+#152#0#3'top'#3#197#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#20'actOptimize'
|
||||||
+'rce'#11'Datasource2'#7'DataSet'#7#13'RxMemoryData2'#4'left'#3#207#0#3'top'#3
|
+'WidthCol1'#7'OnClick'#7#27'actOptimizeWidthCol1Execute'#0#0#9'TMenuItem'#9
|
||||||
+#8#1#0#0#13'TRxMemoryData'#13'RxMemoryData2'#14'AutoCalcFields'#8#9'FieldDef'
|
+'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#12'a'
|
||||||
+'s'#14#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2
|
+'ctCalcTotal'#7'OnClick'#7#19'actCalcTotalExecute'#0#0#9'TMenuItem'#9'MenuIt'
|
||||||
+#0#4'Size'#2#0#0#1#4'Name'#6#14'DEVELOPER_NAME'#8'DataType'#7#8'ftString'#9
|
+'em3'#6'Action'#7#26'actOptimizeColumnsWidthAll'#7'OnClick'#7'!actOptimizeCo'
|
||||||
+'Precision'#2#0#4'Size'#3#130#0#0#0#4'left'#3#240#0#3'top'#3#8#1#0#13'TLongi'
|
+'lumnsWidthAllExecute'#0#0#9'TMenuItem'#9'MenuItem5'#7'Caption'#6#1'-'#0#0#9
|
||||||
+'ntField'#26'RxMemoryData2DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7
|
+'TMenuItem'#9'MenuItem7'#6'Action'#7#17'showColumnsDialog'#7'OnClick'#7#24's'
|
||||||
+#6'fkData'#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#0#11'LookupCache'#8#13
|
+'howColumnsDialogExecute'#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#14'showF'
|
||||||
+'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8
|
+'indDialog'#7'OnClick'#7#21'showFindDialogExecute'#0#0#0#11'TActionList'#11
|
||||||
+#0#0#12'TStringField'#28'RxMemoryData2DEVELOPER_NAME1'#12'DisplayWidth'#3#130
|
+'ActionList1'#4'left'#3#206#0#3'top'#3#197#0#0#7'TAction'#12'actCalcTotal'#7
|
||||||
+#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#14'DEVELOPER_NAME'#5'Index'#2#1#11
|
+'Caption'#6#13'Calc total...'#9'OnExecute'#7#19'actCalcTotalExecute'#0#0#7'T'
|
||||||
+'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnl'
|
+'Action'#26'actOptimizeColumnsWidthAll'#7'Caption'#6#25'Optimize width for a'
|
||||||
+'y'#8#8'Required'#8#4'Size'#3#130#0#0#0#0#0
|
+'ll...'#9'OnExecute'#7'!actOptimizeColumnsWidthAllExecute'#0#0#7'TAction'#20
|
||||||
|
+'actOptimizeWidthCol1'#7'Caption'#6#17'Optimize width...'#9'OnExecute'#7#27
|
||||||
|
+'actOptimizeWidthCol1Execute'#0#0#7'TAction'#14'showFindDialog'#7'Caption'#6
|
||||||
|
+#19'Show find dialog...'#9'OnExecute'#7#21'showFindDialogExecute'#0#0#7'TAct'
|
||||||
|
+'ion'#17'showColumnsDialog'#7'Caption'#6#22'Show columns dialog...'#9'OnExec'
|
||||||
|
+'ute'#7#24'showColumnsDialogExecute'#0#0#0#11'TDatasource'#11'Datasource2'#7
|
||||||
|
+'DataSet'#7#13'RxMemoryData2'#4'left'#3#207#0#3'top'#3#8#1#0#0#13'TRxMemoryD'
|
||||||
|
+'ata'#13'RxMemoryData2'#14'AutoCalcFields'#8#9'FieldDefs'#14#1#4'Name'#6#12
|
||||||
|
+'DEVELOPER_ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#0#4'Size'#2#0#0#1#4
|
||||||
|
+'Name'#6#14'DEVELOPER_NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#0#4'Siz'
|
||||||
|
+'e'#3#130#0#0#0#4'left'#3#240#0#3'top'#3#8#1#0#13'TLongintField'#26'RxMemory'
|
||||||
|
+'Data2DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldN'
|
||||||
|
+'ame'#6#12'DEVELOPER_ID'#5'Index'#2#0#11'LookupCache'#8#13'ProviderFlags'#11
|
||||||
|
+#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TStringFie'
|
||||||
|
+'ld'#28'RxMemoryData2DEVELOPER_NAME1'#12'DisplayWidth'#3#130#0#9'FieldKind'#7
|
||||||
|
+#6'fkData'#9'FieldName'#6#14'DEVELOPER_NAME'#5'Index'#2#1#11'LookupCache'#8
|
||||||
|
+#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'
|
||||||
|
+#8#4'Size'#3#130#0#0#0#0#0
|
||||||
]);
|
]);
|
||||||
|
@ -14,14 +14,21 @@ type
|
|||||||
|
|
||||||
TRxDBGridMainForm = class(TForm)
|
TRxDBGridMainForm = class(TForm)
|
||||||
actCalcTotal: TAction;
|
actCalcTotal: TAction;
|
||||||
|
MenuItem5: TMenuItem;
|
||||||
|
MenuItem6: TMenuItem;
|
||||||
|
MenuItem7: TMenuItem;
|
||||||
|
showColumnsDialog: TAction;
|
||||||
|
showFindDialog: TAction;
|
||||||
actOptimizeWidthCol1: TAction;
|
actOptimizeWidthCol1: TAction;
|
||||||
actOptimizeColumnsWidthAll: TAction;
|
actOptimizeColumnsWidthAll: TAction;
|
||||||
ActionList1: TActionList;
|
ActionList1: TActionList;
|
||||||
Button1: TButton;
|
Button1: TButton;
|
||||||
Button2: TButton;
|
Button2: TButton;
|
||||||
CheckBox1: TCheckBox;
|
CheckBox1: TCheckBox;
|
||||||
|
ComboBox1: TComboBox;
|
||||||
Datasource1: TDatasource;
|
Datasource1: TDatasource;
|
||||||
Datasource2: TDatasource;
|
Datasource2: TDatasource;
|
||||||
|
Label1: TLabel;
|
||||||
MenuItem1: TMenuItem;
|
MenuItem1: TMenuItem;
|
||||||
MenuItem2: TMenuItem;
|
MenuItem2: TMenuItem;
|
||||||
MenuItem3: TMenuItem;
|
MenuItem3: TMenuItem;
|
||||||
@ -43,10 +50,13 @@ type
|
|||||||
procedure actOptimizeColumnsWidthAllExecute(Sender: TObject);
|
procedure actOptimizeColumnsWidthAllExecute(Sender: TObject);
|
||||||
procedure actOptimizeWidthCol1Execute(Sender: TObject);
|
procedure actOptimizeWidthCol1Execute(Sender: TObject);
|
||||||
procedure CheckBox1Change(Sender: TObject);
|
procedure CheckBox1Change(Sender: TObject);
|
||||||
|
procedure ComboBox1Change(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure RxDBGrid1Filtred(Sender: TObject);
|
procedure RxDBGrid1Filtred(Sender: TObject);
|
||||||
procedure RxMemoryData1FilterRecordEx(DataSet: TDataSet; var Accept: Boolean
|
procedure RxMemoryData1FilterRecordEx(DataSet: TDataSet; var Accept: Boolean
|
||||||
);
|
);
|
||||||
|
procedure showColumnsDialogExecute(Sender: TObject);
|
||||||
|
procedure showFindDialogExecute(Sender: TObject);
|
||||||
private
|
private
|
||||||
procedure DoFillFilters;
|
procedure DoFillFilters;
|
||||||
public
|
public
|
||||||
@ -107,6 +117,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TRxDBGridMainForm.showColumnsDialogExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
RxDBGrid1.ShowColumnsDialog;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TRxDBGridMainForm.showFindDialogExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
RxDBGrid1.ShowFindDialog;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TRxDBGridMainForm.DoFillFilters;
|
procedure TRxDBGridMainForm.DoFillFilters;
|
||||||
var
|
var
|
||||||
C:TRxColumn;
|
C:TRxColumn;
|
||||||
@ -156,6 +176,11 @@ begin
|
|||||||
RxMemoryData1.Filtered:=CheckBox1.Checked;
|
RxMemoryData1.Filtered:=CheckBox1.Checked;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TRxDBGridMainForm.ComboBox1Change(Sender: TObject);
|
||||||
|
begin
|
||||||
|
RxDBGrid1.ReadOnly:=ComboBox1.ItemIndex <> 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
{$I rxdbgridmainunit.lrs}
|
{$I rxdbgridmainunit.lrs}
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
- fix sort order in TRxMemDataSet
|
- fix sort order in TRxMemDataSet
|
||||||
- fix draw buttons in ToolPanel with use system themes
|
- fix draw buttons in ToolPanel with use system themes
|
||||||
- fix error in TRxDBComboBox
|
- fix error in TRxDBComboBox
|
||||||
|
+ New mode - Quick search data in grid (code from with minor fix)
|
||||||
|
|
||||||
22.05.2008 - version 2.0.0.136 (svn revision 100)
|
22.05.2008 - version 2.0.0.136 (svn revision 100)
|
||||||
+ In TRxCustomDBLookupCombo add check for CircularDataLink
|
+ In TRxCustomDBLookupCombo add check for CircularDataLink
|
||||||
+ in TRxCustomDBLookupCombo accelerated drawing data
|
+ in TRxCustomDBLookupCombo accelerated drawing data
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
+ Реализована возможность объединения ячеек в заголовке таблицы
|
+ Реализована возможность объединения ячеек в заголовке таблицы
|
||||||
(смотрите в демке на RxDBGrid)
|
(смотрите в демке на RxDBGrid)
|
||||||
- Исправлена ошибка установки значения для TRxDBComboBox
|
- Исправлена ошибка установки значения для TRxDBComboBox
|
||||||
|
+ Реализовн режим быстрого поиска (код от Алексея Козлова с небольшими доработками) - подробнее смотри пункт 6 в файле readmy.txt
|
||||||
|
|
||||||
22.05.2008 - версия 2.0.0.136 (svn revision 100)
|
22.05.2008 - версия 2.0.0.136 (svn revision 100)
|
||||||
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
|
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
|
||||||
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных
|
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных
|
||||||
|
@ -3,4 +3,8 @@
|
|||||||
HOME и END не позиционируют в начало/конец списка
|
HOME и END не позиционируют в начало/конец списка
|
||||||
A. Для отображения списка используется объект TRxDBGrid
|
A. Для отображения списка используется объект TRxDBGrid
|
||||||
(прямой наследник TDBGrid) - в нём для позиционирования в
|
(прямой наследник TDBGrid) - в нём для позиционирования в
|
||||||
начало/конец списка клавиши Ctrl+Home/Ctrl+End
|
начало/конец списка клавиши Ctrl+Home/Ctrl+End
|
||||||
|
|
||||||
|
2. В RxDBGrid режим быстрого поиска работает при RxDBGrid.ReadOnly = true
|
||||||
|
подробнее смотри пункт 6 в файле readmy.txt
|
||||||
|
|
||||||
|
@ -48,4 +48,18 @@
|
|||||||
объяснение заключается в том что при потере фокуса TDbGrid и его наследниеи вызывают
|
объяснение заключается в том что при потере фокуса TDbGrid и его наследниеи вызывают
|
||||||
метод Cancel
|
метод Cancel
|
||||||
|
|
||||||
6. Вопросы задавать мылом или на форуме FreePascal.ru (предпочтительней)
|
6.
|
||||||
|
Новшество: Добавлен в RxDBGrid UTF8-быстрый поиск.
|
||||||
|
Включается опцией rdgAllowQuickUTF8Search (добавил её в rxoptions, это нормально? или было
|
||||||
|
лучше включить в состав других опций?)
|
||||||
|
Управляется свойством QuickUTF8Search
|
||||||
|
Не реагирует на список "управляющих" клавиш однобайтовых: CBadQuickUTF8SearchSymbols
|
||||||
|
По управляющим однобайтовым клавишам сбрасывает подстроку поиска: CCancelQuickUTF8SearchKeys
|
||||||
|
Для обработки событий поиска добавлен тип TRxQuickUTF8SearchNotifyEvent
|
||||||
|
Перед началом попытки поиска вызывает событие BeforeQuickUTF8Search, в качестве AValue
|
||||||
|
передаётся подстрока-кандидат на поиск, если её сбросить в текущее значение QuickUTF8Search
|
||||||
|
поиск производится не будет
|
||||||
|
После успешного завершения поиска вызывается событие AfterQuickUTF8Search, куда передаётся в
|
||||||
|
качестве AValue предыдущая подстрока поиска. Последнее событие удобно использовать для
|
||||||
|
отображения где ни будь на общей форме текущий подстроки поиска.
|
||||||
|
7. Вопросы задавать мылом или на форуме FreePascal.ru (предпочтительней)
|
||||||
|
@ -2,11 +2,4 @@
|
|||||||
в TPageManager необходимо обработать ситуация прямого изменения
|
в TPageManager необходимо обработать ситуация прямого изменения
|
||||||
закладки в PageControl-е
|
закладки в PageControl-е
|
||||||
|
|
||||||
2. В RxDBGrid
|
|
||||||
- планирую сделать объеденение заголовков в один групирующий:
|
|
||||||
|-----------------|
|
|
||||||
| |
|
|
||||||
|-----------------|
|
|
||||||
| | |
|
|
||||||
|-----------------|
|
|
||||||
|
|
||||||
|
@ -6,10 +6,16 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, LResources, LCLType, LCLIntf, Forms, Controls,
|
Classes, SysUtils, LResources, LCLType, LCLIntf, Forms, Controls,
|
||||||
Graphics, Dialogs, Grids, DBGrids, DB, PropertyStorage, vclutils, LMessages,
|
Graphics, Dialogs, Grids, dbutils, DBGrids, DB, PropertyStorage, vclutils,
|
||||||
types, StdCtrls;
|
LMessages, types, StdCtrls;
|
||||||
|
|
||||||
|
const
|
||||||
|
CBadQuickSearchSymbols = [VK_UNKNOWN..VK_HELP]+[VK_LWIN..VK_SLEEP]+[VK_NUMLOCK..VK_SCROLL]+[VK_LSHIFT..VK_OEM_102]+[VK_PROCESSKEY]+[VK_ATTN..VK_UNDEFINED];
|
||||||
|
CCancelQuickSearchKeys = [VK_ESCAPE,VK_CANCEL,VK_DELETE,VK_INSERT,VK_DOWN,VK_UP,VK_NEXT,VK_PRIOR,VK_TAB,VK_RETURN,VK_HOME,VK_END,VK_SPACE,VK_MULTIPLY];
|
||||||
|
|
||||||
type
|
type
|
||||||
|
TRxQuickSearchNotifyEvent = procedure(Sender: TObject; Field : TField; var AValue : string) of object;
|
||||||
|
|
||||||
TSortMarker = (smNone, smDown, smUp);
|
TSortMarker = (smNone, smDown, smUp);
|
||||||
|
|
||||||
TGetBtnParamsEvent = procedure (Sender: TObject; Field: TField;
|
TGetBtnParamsEvent = procedure (Sender: TObject; Field: TField;
|
||||||
@ -34,7 +40,8 @@ type
|
|||||||
rdgXORColSizing,
|
rdgXORColSizing,
|
||||||
rdgFilter,
|
rdgFilter,
|
||||||
rdgMultiTitleLines,
|
rdgMultiTitleLines,
|
||||||
rdgMrOkOnDblClik
|
rdgMrOkOnDblClik,
|
||||||
|
rdgAllowQuickSearch
|
||||||
);
|
);
|
||||||
|
|
||||||
TOptionsRx = set of TOptionRx;
|
TOptionsRx = set of TOptionRx;
|
||||||
@ -241,6 +248,10 @@ type
|
|||||||
FRxDbGridLookupComboEditor:TCustomControl;
|
FRxDbGridLookupComboEditor:TCustomControl;
|
||||||
FRxDbGridDateEditor:TWinControl;
|
FRxDbGridDateEditor:TWinControl;
|
||||||
|
|
||||||
|
FAfterQuickSearch : TRxQuickSearchNotifyEvent;
|
||||||
|
FBeforeQuickSearch : TRxQuickSearchNotifyEvent;
|
||||||
|
FQuickUTF8Search : String;
|
||||||
|
|
||||||
function GetColumns: TRxDbGridColumns;
|
function GetColumns: TRxDbGridColumns;
|
||||||
function GetPropertyStorage: TCustomPropertyStorage;
|
function GetPropertyStorage: TCustomPropertyStorage;
|
||||||
function GetTitleButtons: boolean;
|
function GetTitleButtons: boolean;
|
||||||
@ -282,6 +293,7 @@ type
|
|||||||
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
|
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
|
||||||
X, Y: Integer); override;
|
X, Y: Integer); override;
|
||||||
procedure KeyDown(var Key : Word; Shift : TShiftState); override;
|
procedure KeyDown(var Key : Word; Shift : TShiftState); override;
|
||||||
|
procedure UTF8KeyPress(var UTF8Key: TUTF8Char); override;
|
||||||
function CreateColumns: TGridColumns; override;
|
function CreateColumns: TGridColumns; override;
|
||||||
procedure DrawCellBitmap(RxColumn:TRxColumn; aRect: TRect; aState: TGridDrawState; AImageIndex:integer); virtual;
|
procedure DrawCellBitmap(RxColumn:TRxColumn; aRect: TRect; aState: TGridDrawState; AImageIndex:integer); virtual;
|
||||||
procedure SetEditText(ACol, ARow: Longint; const Value: string); override;
|
procedure SetEditText(ACol, ARow: Longint; const Value: string); override;
|
||||||
@ -297,6 +309,7 @@ type
|
|||||||
procedure InternalOptimizeColumnsWidth(AColList:TList);
|
procedure InternalOptimizeColumnsWidth(AColList:TList);
|
||||||
function IsDefaultRowHeightStored:boolean;
|
function IsDefaultRowHeightStored:boolean;
|
||||||
procedure VisualChange; override;
|
procedure VisualChange; override;
|
||||||
|
procedure SetQuickUTF8Search(AValue : String);
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -317,7 +330,10 @@ type
|
|||||||
procedure OptimizeColumnsWidth(AColList:String);
|
procedure OptimizeColumnsWidth(AColList:String);
|
||||||
procedure OptimizeColumnsWidthAll;
|
procedure OptimizeColumnsWidthAll;
|
||||||
procedure UpdateTitleHight;
|
procedure UpdateTitleHight;
|
||||||
|
property QuickUTF8Search:String read FQuickUTF8Search write SetQuickUTF8Search;
|
||||||
published
|
published
|
||||||
|
property AfterQuickSearch: TRxQuickSearchNotifyEvent read FAfterQuickSearch write FAfterQuickSearch;
|
||||||
|
property BeforeQuickSearch: TRxQuickSearchNotifyEvent read FBeforeQuickSearch write FBeforeQuickSearch;
|
||||||
property OnGetBtnParams: TGetBtnParamsEvent read FOnGetBtnParams write FOnGetBtnParams;
|
property OnGetBtnParams: TGetBtnParamsEvent read FOnGetBtnParams write FOnGetBtnParams;
|
||||||
property TitleButtons: boolean read GetTitleButtons write SetTitleButtons;
|
property TitleButtons: boolean read GetTitleButtons write SetTitleButtons;
|
||||||
property AutoSort:boolean read FAutoSort write SetAutoSort;
|
property AutoSort:boolean read FAutoSort write SetAutoSort;
|
||||||
@ -1698,14 +1714,73 @@ begin
|
|||||||
inherited MouseUp(Button, Shift, X, Y);
|
inherited MouseUp(Button, Shift, X, Y);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TRxDBGrid.SetQuickUTF8Search(AValue : String);
|
||||||
|
var
|
||||||
|
ClearSearchValue : Boolean;
|
||||||
|
OldSearchString : String;
|
||||||
|
begin
|
||||||
|
if ( rdgAllowQuickSearch in OptionsRx ) then
|
||||||
|
begin
|
||||||
|
OldSearchString := Self.FQuickUTF8Search;
|
||||||
|
if (OldSearchString <> AValue ) and Assigned(Self.FBeforeQuickSearch) then
|
||||||
|
Self.FBeforeQuickSearch(Self, SelectedField, AValue);
|
||||||
|
if OldSearchString <> AValue then
|
||||||
|
begin
|
||||||
|
ClearSearchValue := True;
|
||||||
|
if ( Length(AValue) > 0 ) and ( Self.DatalinkActive ) then
|
||||||
|
begin
|
||||||
|
if (DataSource.DataSet.State = dsBrowse) and (not (DataSource.DataSet.EOF and DataSource.DataSet.BOF)) then
|
||||||
|
begin
|
||||||
|
//1.Вызываем процедурку поиска...
|
||||||
|
if DataSetLocateThrough(Self.DataSource.DataSet, Self.SelectedField.FieldName,AValue,[loPartialKey,loCaseInsensitive]) then
|
||||||
|
Self.FQuickUTF8Search := AValue;
|
||||||
|
ClearSearchValue := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if ClearSearchValue then
|
||||||
|
begin
|
||||||
|
Self.FQuickUTF8Search := '';
|
||||||
|
end;
|
||||||
|
if (OldSearchString <> Self.FQuickUTF8Search ) and Assigned(Self.FAfterQuickSearch) then
|
||||||
|
Self.FAfterQuickSearch(Self, SelectedField, OldSearchString);
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
//TODO: сделать отображение ищущейся буквы/строки.
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TRxDBGrid.UTF8KeyPress(var UTF8Key: TUTF8Char);
|
||||||
|
var
|
||||||
|
CheckUp : Boolean;
|
||||||
|
begin
|
||||||
|
inherited UTF8KeyPress(UTF8Key);
|
||||||
|
if ReadOnly then
|
||||||
|
begin
|
||||||
|
//0. Проверяем что это кнопка значащая, увеличиваем "строку поиска"
|
||||||
|
if Length(UTF8Key) = 1 then
|
||||||
|
begin
|
||||||
|
//DebugLn('Ord Of Key:',IntToStr(Ord(UTF8Key[1])));
|
||||||
|
CheckUp := not ( Ord(UTF8Key[1]) in CBadQuickSearchSymbols )
|
||||||
|
end
|
||||||
|
else
|
||||||
|
CheckUp := True;
|
||||||
|
// DebugLn('RxDBGrid.UTF8KeyPress check',IfThen(CheckUp,'True','False'),'INIT UTF8Key= ',UTF8Key,' Selected Field: ', Self.SelectedField.FieldName);
|
||||||
|
if CheckUp then
|
||||||
|
QuickUTF8Search := QuickUTF8Search + Trim(UTF8Key);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TRxDBGrid.KeyDown(var Key: Word; Shift: TShiftState);
|
procedure TRxDBGrid.KeyDown(var Key: Word; Shift: TShiftState);
|
||||||
var
|
var
|
||||||
FTmpReadOnly:boolean;
|
FTmpReadOnly:boolean;
|
||||||
begin
|
begin
|
||||||
|
//DebugLn('RxDBGrid.KeyDown ',Name,' INIT Key= ',IntToStr(Key));
|
||||||
|
if (Key in CCancelQuickSearchKeys) then
|
||||||
|
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
|
||||||
case Key of
|
case Key of
|
||||||
ord('F'):begin
|
ord('F'):begin
|
||||||
if (ssCtrl in Shift) and (rdgAllowDialogFind in OptionsRx) then
|
if (ssCtrl in Shift) and (rdgAllowDialogFind in OptionsRx) then
|
||||||
begin
|
begin
|
||||||
|
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
|
||||||
ShowFindDialog;
|
ShowFindDialog;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
@ -1713,6 +1788,7 @@ begin
|
|||||||
ord('W'):begin
|
ord('W'):begin
|
||||||
if (ssCtrl in Shift) and (rdgAllowColumnsForm in OptionsRx) then
|
if (ssCtrl in Shift) and (rdgAllowColumnsForm in OptionsRx) then
|
||||||
begin
|
begin
|
||||||
|
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
|
||||||
ShowColumnsDialog;
|
ShowColumnsDialog;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
Reference in New Issue
Block a user