RxFPC:demo for RxDBGrid filter values

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7166 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2019-10-22 12:23:12 +00:00
parent b4c41e1073
commit 21c1589867
5 changed files with 160 additions and 54 deletions

View File

@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="11"/> <Version Value="12"/>
<General> <General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/> <Title Value="project1"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
<UseXPManifest Value="True"/> <UseXPManifest Value="True"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectSession> <ProjectSession>
<Version Value="11"/> <Version Value="12"/>
<BuildModes Active="Default"/> <BuildModes Active="Default"/>
<Units Count="22"> <Units Count="22">
<Unit0> <Unit0>
@ -20,7 +20,9 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
<CursorPos X="6" Y="27"/> <IsVisibleTab Value="True"/>
<TopLine Value="50"/>
<CursorPos X="9" Y="66"/>
<UsageCount Value="33"/> <UsageCount Value="33"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -180,10 +182,9 @@
<ComponentName Value="rxFilterByForm"/> <ComponentName Value="rxFilterByForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<TopLine Value="340"/> <TopLine Value="341"/>
<CursorPos Y="370"/> <CursorPos X="98" Y="350"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -192,123 +193,123 @@
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="245" Column="3" TopLine="245"/> <Caret Line="279" Column="20" TopLine="279"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="246" Column="3" TopLine="246"/> <Caret Line="105" Column="15" TopLine="87"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="245" Column="3" TopLine="245"/> <Caret Line="186" Column="3" TopLine="181"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="246" Column="3" TopLine="246"/> <Caret Line="105" Column="5" TopLine="87"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="245" Column="3" TopLine="245"/> <Caret Line="197" Column="17" TopLine="178"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="246" Column="3" TopLine="246"/> <Caret Line="198" TopLine="177"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="245" Column="3" TopLine="245"/> <Caret Line="384" Column="27" TopLine="363"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="246" Column="3" TopLine="246"/> <Caret Line="107" Column="14" TopLine="89"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="245" Column="3" TopLine="245"/> <Caret Line="235" Column="30" TopLine="217"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="246" Column="3" TopLine="246"/> <Caret Line="109" Column="15" TopLine="87"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="245" Column="3" TopLine="245"/> <Caret Line="105" Column="15" TopLine="87"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="256" Column="45" TopLine="246"/> <Caret Line="197" Column="33" TopLine="181"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="255" Column="45" TopLine="245"/> <Caret Line="109" Column="15" TopLine="87"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="279" Column="20" TopLine="279"/> <Caret Line="351" Column="11" TopLine="332"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="105" Column="15" TopLine="87"/> <Caret Line="354" Column="70" TopLine="337"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="186" Column="3" TopLine="181"/> <Caret Line="353" TopLine="337"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="../../../rxdb/rxfilterby.pas"/>
<Caret Line="105" Column="5" TopLine="87"/> <Caret Line="354" TopLine="337"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="197" Column="17" TopLine="178"/> <Caret Line="27" Column="6"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="198" TopLine="177"/> <Caret Line="28" Column="6"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="384" Column="27" TopLine="363"/> <Caret Line="29" Column="6"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="107" Column="14" TopLine="89"/> <Caret Line="31" Column="6"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="235" Column="30" TopLine="217"/> <Caret Line="49" Column="29" TopLine="39"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="109" Column="15" TopLine="87"/> <Caret Line="50" Column="29" TopLine="40"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="105" Column="15" TopLine="87"/> <Caret Line="52" Column="29" TopLine="42"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="197" Column="33" TopLine="181"/> <Caret Line="64" Column="3" TopLine="43"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="109" Column="15" TopLine="87"/> <Caret Line="69" Column="52" TopLine="43"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="351" Column="11" TopLine="332"/> <Caret Line="71" Column="52" TopLine="45"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="354" Column="70" TopLine="337"/> <Caret Line="72" Column="52" TopLine="46"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="353" TopLine="337"/> <Caret Line="82" Column="6" TopLine="56"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="../../../rxdb/rxfilterby.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="354" TopLine="337"/> <Caret Line="34" Column="15" TopLine="21"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
<RunParams> <RunParams>

View File

@ -7,10 +7,10 @@ object Form1: TForm1
ClientHeight = 444 ClientHeight = 444
ClientWidth = 702 ClientWidth = 702
OnCreate = FormCreate OnCreate = FormCreate
LCLVersion = '1.9.0.0' LCLVersion = '2.1.0.0'
object RxDBGrid1: TRxDBGrid object RxDBGrid1: TRxDBGrid
Left = 0 Left = 0
Height = 444 Height = 389
Top = 0 Top = 0
Width = 702 Width = 702
ColumnDefValues.BlobText = '(blob)' ColumnDefValues.BlobText = '(blob)'
@ -61,7 +61,7 @@ object Form1: TForm1
Filter.AllValue = '(All values)' Filter.AllValue = '(All values)'
Filter.EmptyFont.Style = [fsItalic] Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1 Filter.ItemIndex = -1
Filter.Style = rxfstDialog Filter.Style = rxfstBoth
Footers = <> Footers = <>
end end
item item
@ -165,6 +165,79 @@ object Form1: TForm1
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgHeaderPushedLook] Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgHeaderPushedLook]
TabOrder = 0 TabOrder = 0
end end
object Panel1: TPanel
Left = 0
Height = 50
Top = 394
Width = 702
Align = alBottom
ClientHeight = 50
ClientWidth = 702
TabOrder = 1
object Button1: TButton
Left = 8
Height = 33
Top = 0
Width = 85
AutoSize = True
Caption = 'CODE filter'
OnClick = Button1Click
TabOrder = 0
end
object Label1: TLabel
Left = 104
Height = 17
Top = 0
Width = 39
Caption = 'Label1'
ParentColor = False
end
object Label2: TLabel
Left = 408
Height = 17
Top = 0
Width = 40
Caption = 'Label2'
ParentColor = False
end
object Button2: TButton
Left = 312
Height = 33
Top = 0
Width = 87
AutoSize = True
Caption = 'NAME filter'
OnClick = Button2Click
TabOrder = 1
end
object Button3: TButton
Left = 168
Height = 33
Top = 0
Width = 79
AutoSize = True
Caption = 'ID_R filter'
OnClick = Button3Click
TabOrder = 2
end
object Label3: TLabel
Left = 256
Height = 17
Top = 0
Width = 41
Caption = 'Label3'
ParentColor = False
end
end
object Splitter1: TSplitter
Cursor = crVSplit
Left = 0
Height = 5
Top = 389
Width = 702
Align = alBottom
ResizeAnchor = akBottom
end
object rxData: TRxMemoryData object rxData: TRxMemoryData
FieldDefs = < FieldDefs = <
item item

View File

@ -6,20 +6,31 @@ interface
uses uses
Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, Forms, Controls, Graphics, Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, Forms, Controls, Graphics,
Dialogs, StdCtrls, db; Dialogs, StdCtrls, ExtCtrls, db;
type type
{ TForm1 } { TForm1 }
TForm1 = class(TForm) TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
dsData: TDataSource; dsData: TDataSource;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Panel1: TPanel;
rxDataID_R: TLongintField; rxDataID_R: TLongintField;
RxDBGrid1: TRxDBGrid; RxDBGrid1: TRxDBGrid;
rxData: TRxMemoryData; rxData: TRxMemoryData;
rxDataCODE: TLongintField; rxDataCODE: TLongintField;
rxDataID: TLongintField; rxDataID: TLongintField;
rxDataNAME: TStringField; rxDataNAME: TStringField;
Splitter1: TSplitter;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure rxDataAfterInsert(DataSet: TDataSet); procedure rxDataAfterInsert(DataSet: TDataSet);
private private
@ -49,6 +60,25 @@ begin
rxData.AppendRecord([null, null, 'Пустая строка']); rxData.AppendRecord([null, null, 'Пустая строка']);
end; end;
rxData.First; rxData.First;
Label1.Caption:='';
Label2.Caption:='';
Label3.Caption:='';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=RxDBGrid1.ColumnByFieldName('CODE').Filter.CurrentValues.Text;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Label2.Caption:=RxDBGrid1.ColumnByFieldName('NAME').Filter.CurrentValues.Text;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Label3.Caption:=RxDBGrid1.ColumnByFieldName('ID_R').Filter.CurrentValues.Text;
end; end;
procedure TForm1.rxDataAfterInsert(DataSet: TDataSet); procedure TForm1.rxDataAfterInsert(DataSet: TDataSet);