new property in TRxCollumn - DirectInput - allow select input values in RxDBGrid only from PickList

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1985 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75 2011-09-22 17:07:49 +00:00
parent 9a38af1143
commit 439af454af
7 changed files with 322 additions and 309 deletions

View File

@ -20,7 +20,7 @@
<MinorVersionNr Value="4"/>
<RevisionNr Value="1"/>
<BuildNr Value="1"/>
<StringTable FileDescription="Demo application from RXFPC library" LegalCopyright="Lagunov Aleksey, GPL 2" ProductName="Demo application from RXFPC library" ProductVersion="3.1.1.0"/>
<StringTable ProductName="Demo application from RXFPC library" LegalCopyright="Lagunov Aleksey, GPL 2" ProductVersion="3.1.1.0" FileDescription="Demo application from RXFPC library"/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
@ -51,20 +51,18 @@
</Item3>
<Item4>
<PackageName Value="rxnew"/>
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
<MinVersion Build="56" Major="1" Valid="True" Release="18"/>
</Item4>
</RequiredPackages>
<Units Count="65">
<Units Count="58">
<Unit0>
<Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="RxDBGridDemo"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="5" Y="17"/>
<CursorPos X="9" Y="16"/>
<UsageCount Value="54"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="rxdbgridmainunit.pas"/>
@ -72,10 +70,11 @@
<ComponentName Value="RxDBGridMainForm"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="87"/>
<CursorPos X="11" Y="9"/>
<TopLine Value="93"/>
<CursorPos X="3" Y="97"/>
<UsageCount Value="54"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -215,55 +214,55 @@
<UsageCount Value="8"/>
</Unit20>
<Unit21>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutdialog.pas"/>
<Filename Value="../../rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/>
<TopLine Value="10"/>
<CursorPos X="73" Y="30"/>
<UsageCount Value="9"/>
</Unit21>
<Unit22>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrx.pas"/>
<Filename Value="../../registerrx.pas"/>
<UnitName Value="registerrx"/>
<TopLine Value="174"/>
<CursorPos X="18" Y="201"/>
<UsageCount Value="9"/>
</Unit22>
<Unit23>
<Filename Value="/usr/local/share/lazarus/ideintf/idewindowintf.pas"/>
<Filename Value="../../../../ideintf/idewindowintf.pas"/>
<UnitName Value="IDEWindowIntf"/>
<TopLine Value="31"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="8"/>
</Unit23>
<Unit24>
<Filename Value="/usr/local/share/lazarus/lcl/extdlgs.pas"/>
<Filename Value="../../../../lcl/extdlgs.pas"/>
<UnitName Value="ExtDlgs"/>
<TopLine Value="105"/>
<CursorPos X="35" Y="122"/>
<UsageCount Value="8"/>
</Unit24>
<Unit25>
<Filename Value="/usr/local/share/lazarus/lcl/dialogs.pp"/>
<Filename Value="../../../../lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/>
<TopLine Value="62"/>
<CursorPos X="21" Y="79"/>
<UsageCount Value="8"/>
</Unit25>
<Unit26>
<Filename Value="/usr/local/share/lazarus/lcl/include/commondialog.inc"/>
<Filename Value="../../../../lcl/include/commondialog.inc"/>
<TopLine Value="80"/>
<CursorPos X="17" Y="84"/>
<UsageCount Value="8"/>
</Unit26>
<Unit27>
<Filename Value="/usr/local/share/lazarus/lcl/widgetset/wsdialogs.pp"/>
<Filename Value="../../../../lcl/widgetset/wsdialogs.pp"/>
<UnitName Value="WSDialogs"/>
<TopLine Value="132"/>
<CursorPos X="3" Y="136"/>
<UsageCount Value="8"/>
</Unit27>
<Unit28>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutformunit.pas"/>
<Filename Value="../../rxaboutformunit.pas"/>
<ComponentName Value="rxAboutFormForm"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="rxAboutFormUnit"/>
@ -272,47 +271,40 @@
<UsageCount Value="9"/>
</Unit28>
<Unit29>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxversinfo.pas"/>
<Filename Value="../../rxversinfo.pas"/>
<UnitName Value="RxVersInfo"/>
<TopLine Value="72"/>
<CursorPos X="49" Y="105"/>
<UsageCount Value="8"/>
</Unit29>
<Unit30>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="3150"/>
<CursorPos X="89" Y="3171"/>
<UsageCount Value="9"/>
</Unit30>
<Unit31>
<Filename Value="/usr/local/share/lazarus/lcl/buttonpanel.pas"/>
<Filename Value="../../../../lcl/buttonpanel.pas"/>
<UnitName Value="ButtonPanel"/>
<TopLine Value="11"/>
<CursorPos X="6" Y="15"/>
<UsageCount Value="9"/>
</Unit31>
<Unit32>
<Filename Value="/usr/local/share/lazarus/lcl/extctrls.pp"/>
</Unit30>
<Unit31>
<Filename Value="../../../../lcl/extctrls.pp"/>
<UnitName Value="ExtCtrls"/>
<TopLine Value="604"/>
<CursorPos X="15" Y="607"/>
<UsageCount Value="9"/>
</Unit32>
<Unit33>
<Filename Value="/usr/local/share/lazarus/lcl/include/customimage.inc"/>
</Unit31>
<Unit32>
<Filename Value="../../../../lcl/include/customimage.inc"/>
<TopLine Value="67"/>
<CursorPos X="3" Y="69"/>
<UsageCount Value="9"/>
</Unit33>
<Unit34>
</Unit32>
<Unit33>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="426"/>
<CursorPos X="17" Y="448"/>
<UsageCount Value="16"/>
</Unit34>
<Unit35>
</Unit33>
<Unit34>
<Filename Value="../../../../../smsprog/sms_send_deamon/smsSendGui/smssendaboutunit.pas"/>
<ComponentName Value="smsSendAboutForm"/>
<HasResources Value="True"/>
@ -321,22 +313,22 @@
<TopLine Value="28"/>
<CursorPos X="1" Y="57"/>
<UsageCount Value="9"/>
</Unit35>
<Unit36>
</Unit34>
<Unit35>
<Filename Value="../../../../../smsprog/sms_shared/smsabstarctconstunit.pas"/>
<UnitName Value="smsAbstarctConstUnit"/>
<TopLine Value="1"/>
<CursorPos X="42" Y="11"/>
<UsageCount Value="9"/>
</Unit36>
<Unit37>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxconst.pas"/>
</Unit35>
<Unit36>
<Filename Value="../../rxconst.pas"/>
<UnitName Value="rxconst"/>
<TopLine Value="34"/>
<CursorPos X="3" Y="51"/>
<UsageCount Value="9"/>
</Unit37>
<Unit38>
</Unit36>
<Unit37>
<Filename Value="../../../rxnet/demo/send_demo/smssendparamsunit.pas"/>
<ComponentName Value="smssendParamsForm"/>
<HasResources Value="True"/>
@ -345,8 +337,8 @@
<TopLine Value="49"/>
<CursorPos X="34" Y="60"/>
<UsageCount Value="9"/>
</Unit38>
<Unit39>
</Unit37>
<Unit38>
<Filename Value="../../../rxnet/demo/send_demo/smssenddemomainunit.pas"/>
<ComponentName Value="smsSendDemoMainForm"/>
<HasResources Value="True"/>
@ -355,74 +347,51 @@
<TopLine Value="41"/>
<CursorPos X="105" Y="29"/>
<UsageCount Value="9"/>
</Unit39>
<Unit40>
</Unit38>
<Unit39>
<Filename Value="../../../rxnet/demo/send_demo/send_demo.lpr"/>
<UnitName Value="send_demo"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="9"/>
</Unit40>
<Unit41>
</Unit39>
<Unit40>
<Filename Value="../../../../doceditor/lazdeopts.pp"/>
<UnitName Value="LazDEOpts"/>
<TopLine Value="43"/>
<CursorPos X="1" Y="56"/>
<UsageCount Value="9"/>
</Unit41>
<Unit42>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxfileutils.pas"/>
</Unit40>
<Unit41>
<Filename Value="../../rxfileutils.pas"/>
<UnitName Value="rxFileUtils"/>
<TopLine Value="18"/>
<CursorPos X="33" Y="42"/>
<UsageCount Value="9"/>
</Unit42>
<Unit43>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<WindowIndex Value="0"/>
<TopLine Value="3153"/>
<CursorPos X="18" Y="3171"/>
<UsageCount Value="14"/>
</Unit43>
<Unit44>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrxdb.pas"/>
</Unit41>
<Unit42>
<Filename Value="../../registerrxdb.pas"/>
<UnitName Value="RegisterRxDB"/>
<TopLine Value="2"/>
<CursorPos X="20" Y="17"/>
<UsageCount Value="9"/>
</Unit44>
<Unit45>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="2537"/>
<CursorPos X="3" Y="2542"/>
<UsageCount Value="17"/>
<Bookmarks Count="3">
<Item0 X="3" Y="2250" ID="3"/>
<Item1 X="13" Y="1203" ID="1"/>
<Item2 X="11" Y="1606" ID="2"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit45>
<Unit46>
<Filename Value="/usr/local/share/lazarus/ideintf/dbpropedits.pas"/>
</Unit42>
<Unit43>
<Filename Value="../../../../ideintf/dbpropedits.pas"/>
<UnitName Value="DBPropEdits"/>
<TopLine Value="13"/>
<CursorPos X="6" Y="19"/>
<UsageCount Value="9"/>
</Unit46>
<Unit47>
<Filename Value="/usr/local/share/lazarus/ideintf/propedits.pp"/>
</Unit43>
<Unit44>
<Filename Value="../../../../ideintf/propedits.pp"/>
<UnitName Value="PropEdits"/>
<TopLine Value="1"/>
<CursorPos X="6" Y="26"/>
<UsageCount Value="9"/>
</Unit47>
<Unit48>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid_findunit.pas"/>
</Unit44>
<Unit45>
<Filename Value="../../rxdbgrid_findunit.pas"/>
<ComponentName Value="rxDBGridFindForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
@ -430,42 +399,32 @@
<TopLine Value="78"/>
<CursorPos X="1" Y="94"/>
<UsageCount Value="9"/>
</Unit48>
<Unit49>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/>
<ComponentName Value="rxDBGridColumsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="rxdbgrid_columsunit"/>
<TopLine Value="1"/>
<CursorPos X="25" Y="1"/>
<UsageCount Value="9"/>
</Unit49>
<Unit50>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxtoolbar.pas"/>
</Unit45>
<Unit46>
<Filename Value="../../rxtoolbar.pas"/>
<UnitName Value="rxtoolbar"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="52" Y="26"/>
<UsageCount Value="11"/>
</Unit50>
<Unit51>
<Filename Value="/usr/local/share/lazarus/components/synedit/synedit.pp"/>
</Unit46>
<Unit47>
<Filename Value="../../../synedit/synedit.pp"/>
<UnitName Value="SynEdit"/>
<WindowIndex Value="0"/>
<TopLine Value="5699"/>
<CursorPos X="1" Y="5702"/>
<UsageCount Value="16"/>
</Unit51>
<Unit52>
<Filename Value="/usr/local/share/lazarus/components/synedit/syneditkeycmds.pp"/>
</Unit47>
<Unit48>
<Filename Value="../../../synedit/syneditkeycmds.pp"/>
<UnitName Value="SynEditKeyCmds"/>
<WindowIndex Value="0"/>
<TopLine Value="750"/>
<CursorPos X="3" Y="752"/>
<UsageCount Value="12"/>
</Unit52>
<Unit53>
</Unit48>
<Unit49>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classes.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="429"/>
@ -473,9 +432,9 @@
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit53>
<Unit54>
<Filename Value="/usr/local/share/lazarus/lcl/actnlist.pas"/>
</Unit49>
<Unit50>
<Filename Value="../../../../lcl/actnlist.pas"/>
<UnitName Value="ActnList"/>
<WindowIndex Value="0"/>
<TopLine Value="206"/>
@ -483,9 +442,9 @@
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit54>
<Unit55>
<Filename Value="/usr/local/share/lazarus/lcl/lclproc.pas"/>
</Unit50>
<Unit51>
<Filename Value="../../../../lcl/lclproc.pas"/>
<UnitName Value="LCLProc"/>
<WindowIndex Value="0"/>
<TopLine Value="1154"/>
@ -493,8 +452,8 @@
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit55>
<Unit56>
</Unit51>
<Unit52>
<Filename Value="rxdbgridmainunit.lfm"/>
<WindowIndex Value="0"/>
<TopLine Value="100"/>
@ -502,192 +461,59 @@
<SyntaxHighlighter Value="LFM"/>
<UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit56>
<Unit57>
<Filename Value="/usr/local/share/lazarus/components/rxnew/Demos/RxDBGrid/RxDBGridDemo.lpr"/>
<UnitName Value="RxDBGridDemo"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="15"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit57>
<Unit58>
</Unit52>
<Unit53>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="286"/>
<CursorPos X="1" Y="288"/>
<UsageCount Value="15"/>
</Unit58>
<Unit59>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<UnitName Value="Grids"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="3866"/>
<CursorPos X="1" Y="3891"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit59>
<Unit60>
</Unit53>
<Unit54>
<Filename Value="../../../../../../wine/1/1/rx.diff"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="9"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Diff"/>
</Unit60>
<Unit61>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxmemds.pas"/>
<UnitName Value="rxmemds"/>
<WindowIndex Value="0"/>
<TopLine Value="1088"/>
<CursorPos X="1" Y="1113"/>
<UsageCount Value="10"/>
</Unit61>
<Unit62>
</Unit54>
<Unit55>
<Filename Value="../../../../../../install/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<UnitName Value="db"/>
<WindowIndex Value="0"/>
<TopLine Value="541"/>
<CursorPos X="1" Y="569"/>
<UsageCount Value="10"/>
</Unit62>
<Unit63>
<Filename Value="/usr/local/share/lazarus/lcl/include/canvas.inc"/>
<EditorIndex Value="5"/>
</Unit55>
<Unit56>
<Filename Value="../../../../lcl/include/canvas.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1116"/>
<CursorPos X="1" Y="1132"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit63>
<Unit64>
</Unit56>
<Unit57>
<Filename Value="../../exsortsql.pas"/>
<UnitName Value="exsortsql"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<TopLine Value="69"/>
<CursorPos X="49" Y="3"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit64>
</Unit57>
</Units>
<JumpHistory Count="28" HistoryIndex="27">
<JumpHistory Count="3" HistoryIndex="2">
<Position1>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3141" Column="1" TopLine="3126"/>
</Position1>
<Position2>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3142" Column="1" TopLine="3126"/>
</Position2>
<Position3>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3354" Column="1" TopLine="3339"/>
</Position3>
<Position4>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3359" Column="1" TopLine="3339"/>
</Position4>
<Position5>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3378" Column="1" TopLine="3363"/>
</Position5>
<Position6>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3380" Column="1" TopLine="3363"/>
</Position6>
<Position7>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3381" Column="1" TopLine="3363"/>
</Position7>
<Position8>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3382" Column="1" TopLine="3363"/>
</Position8>
<Position9>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3388" Column="1" TopLine="3363"/>
</Position9>
<Position10>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3366" Column="1" TopLine="3360"/>
</Position10>
<Position11>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3866" Column="1" TopLine="3861"/>
</Position11>
<Position12>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3868" Column="1" TopLine="3861"/>
</Position12>
<Position13>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3869" Column="1" TopLine="3861"/>
</Position13>
<Position14>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3871" Column="1" TopLine="3861"/>
</Position14>
<Position15>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3873" Column="1" TopLine="3861"/>
</Position15>
<Position16>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3878" Column="1" TopLine="3861"/>
</Position16>
<Position17>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3880" Column="1" TopLine="3861"/>
</Position17>
<Position18>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3882" Column="1" TopLine="3861"/>
</Position18>
<Position19>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3884" Column="1" TopLine="3861"/>
</Position19>
<Position20>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3887" Column="1" TopLine="3862"/>
</Position20>
<Position21>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3888" Column="1" TopLine="3863"/>
</Position21>
<Position22>
<Filename Value="/usr/local/share/lazarus/lcl/include/canvas.inc"/>
<Caret Line="1131" Column="1" TopLine="1116"/>
</Position22>
<Position23>
<Filename Value="/usr/local/share/lazarus/lcl/include/canvas.inc"/>
<Caret Line="1132" Column="1" TopLine="1116"/>
</Position23>
<Position24>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3891" Column="1" TopLine="3866"/>
</Position24>
<Position25>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2046" Column="1" TopLine="2031"/>
</Position25>
<Position26>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="9" Column="11" TopLine="1"/>
</Position26>
<Position27>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="187" Column="49" TopLine="162"/>
</Position27>
<Position28>
<Filename Value="../../exsortsql.pas"/>
<Caret Line="3" Column="21" TopLine="1"/>
</Position28>
</Position1>
<Position2>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="88" Column="11" TopLine="70"/>
</Position2>
<Position3>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="96" Column="3" TopLine="92"/>
</Position3>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
@ -705,6 +531,10 @@
</SyntaxOptions>
</Parsing>
<Linking>
<Debugging>
<GenerateDebugInfo Value="True"/>
<DebugInfoType Value="dsAuto"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>

View File

@ -1,21 +1,21 @@
object RxDBGridMainForm: TRxDBGridMainForm
Left = 299
Height = 786
Top = 1
Width = 1012
Top = 6
Width = 1187
ActiveControl = Panel1
Caption = 'RxDBGrid Demo'
ClientHeight = 759
ClientWidth = 1012
ClientHeight = 761
ClientWidth = 1187
Menu = MainMenu1
OnCreate = FormCreate
ShowHint = True
LCLVersion = '0.9.31'
object RxDBGrid1: TRxDBGrid
Left = 0
Height = 695
Top = 64
Width = 1012
Height = 696
Top = 65
Width = 1187
TitleButtons = True
AutoSort = True
Columns = <
@ -141,6 +141,25 @@ object RxDBGridMainForm: TRxDBGridMainForm
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
ButtonStyle = cbsPickList
PickList.Strings = (
''
'Positive'
'Negative'
)
Title.Alignment = taCenter
Title.Caption = 'Rait'
Title.PrefixOption = poNone
Title.Orientation = toHorizontal
FieldName = 'RAIT'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
DirectInput = False
end>
KeyStrokes = <
item
@ -195,22 +214,22 @@ object RxDBGridMainForm: TRxDBGridMainForm
end
object Panel1: TPanel
Left = 0
Height = 64
Height = 65
Top = 0
Width = 1012
Width = 1187
Align = alTop
AutoSize = True
ClientHeight = 64
ClientWidth = 1012
ClientHeight = 65
ClientWidth = 1187
TabOrder = 1
object Label1: TLabel
AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 269
Left = 260
Height = 18
Top = 7
Width = 37
Width = 36
BorderSpacing.Around = 6
Caption = 'Mode'
ParentColor = False
@ -219,9 +238,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
Left = 7
Height = 27
Height = 29
Top = 7
Width = 86
Width = 84
Action = actCalcTotal
AutoSize = True
BorderSpacing.Around = 6
@ -231,10 +250,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 99
Height = 27
Left = 97
Height = 29
Top = 7
Width = 164
Width = 157
Action = actOptimizeColumnsWidthAll
AutoSize = True
BorderSpacing.Around = 6
@ -245,11 +264,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 498
Left = 489
Height = 22
Hint = 'Use filter line'
Top = 35
Width = 84
Width = 81
BorderSpacing.Left = 6
Caption = 'Use filter'
OnChange = CheckBox1Change
@ -259,8 +278,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 275
Height = 25
Left = 266
Height = 27
Top = 31
Width = 217
BorderSpacing.Around = 6
@ -279,11 +298,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 498
Left = 489
Height = 22
Hint = 'Auto fill column width'
Top = 7
Width = 133
Width = 129
BorderSpacing.Around = 6
Caption = 'Auto fill columns'
OnChange = CheckBox2Change
@ -293,10 +312,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 637
Left = 624
Height = 22
Top = 7
Width = 121
Width = 117
BorderSpacing.Around = 6
Caption = 'Show indicator'
Checked = True
@ -309,10 +328,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom
Left = 637
Left = 624
Height = 22
Top = 35
Width = 116
Width = 114
BorderSpacing.Around = 6
Caption = 'Show headers'
Checked = True
@ -359,6 +378,12 @@ object RxDBGridMainForm: TRxDBGridMainForm
DataType = ftInteger
Precision = 0
Size = 0
end
item
Name = 'RAIT'
DataType = ftString
Precision = 0
Size = 15
end>
OnFilterRecord = RxMemoryData1FilterRecordEx
OnFilterRecordEx = RxMemoryData1FilterRecordEx
@ -434,6 +459,17 @@ object RxDBGridMainForm: TRxDBGridMainForm
ReadOnly = False
Required = False
end
object RxMemoryData1RAIT: TStringField
DisplayWidth = 15
FieldKind = fkData
FieldName = 'RAIT'
Index = 6
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 15
end
end
object Datasource1: TDatasource
DataSet = RxMemoryData1

View File

@ -20,6 +20,7 @@ type
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
RxAboutDialog1: TRxAboutDialog;
RxMemoryData1RAIT: TStringField;
sysExit: TAction;
hlpAbout: TAction;
CheckBox2: TCheckBox;

View File

@ -66,6 +66,11 @@
добавлено новое свойство KeyStrokes
+ Добавлен новый компонент RxCurredit
+ Добавлен новый компонент- TRxViewsPanel
+ у компоненты TRxMemoryData убрана зависимость от модуля Forms
+ Улучшено отображение редактора полей типа TDateTime/TDate в RxDBGrid
+ У TRxCollumn компоненты TRxDBGrid для стиля cbsPickList добавлено свойство DirectInput.
Если оно установлено в false - значения поля можно выбрать только из выпадающего списка
22.05.2008 - версия 2.0.0.136 (svn revision 100)
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных

View File

@ -23,7 +23,7 @@ msgstr ""
#: rxconst.sbuttonalign
msgid "Button align"
msgstr "Alineación de Botones"
msgstr "Alineaci?n de Botones"
#: rxconst.sbuttonalign1
msgid "None"
@ -111,7 +111,7 @@ msgstr "Proximo Mes|"
#: rxconst.snextyear
msgid "Next Year|"
msgstr "Proximo Año|"
msgstr "Proximo A?o|"
#: rxconst.snotimplemented
msgid "Function not yet implemented"
@ -131,7 +131,7 @@ msgstr "Anterior Mes|"
#: rxconst.sprevyear
msgid "Previous Year|"
msgstr "Anterior Año|"
msgstr "Anterior A?o|"
#: rxconst.sqtwidgetset
msgid "QT widget set"

View File

@ -269,6 +269,7 @@ type
TRxColumn = class(TColumn)
private
FDirectInput: boolean;
FFooter: TRxColumnFooter;
FFilter: TRxColumnFilter;
FImageList: TImageList;
@ -294,6 +295,7 @@ type
property NotInKeyListIndex: integer read FNotInKeyListIndex
write SetNotInKeyListIndex default -1;
property Filter: TRxColumnFilter read FFilter write SetFilter;
property DirectInput : boolean read FDirectInput write FDirectInput default true;
end;
{ TRxDbGridColumns }
@ -690,6 +692,7 @@ type
procedure msg_SelectAll(var Msg: TGridMessage); message GM_SELECTALL;
public
constructor Create(Aowner : TComponent); override;
// procedure SetBounds(aLeft, aTop, aWidth, aHeight: integer); override;
procedure EditingDone; override;
end;
@ -791,6 +794,17 @@ end;
procedure TRxDBGridDateEditor.WndProc(var TheMessage: TLMessage);
begin
if FGrid<>nil then
case TheMessage.Msg of
LM_CLEAR,
LM_CUT,
LM_PASTE:
begin
if FGrid.EditorIsReadOnly then
exit;
end;
end;
if TheMessage.msg = LM_KILLFOCUS then
begin
if HWND(TheMessage.WParam) = HWND(Handle) then
@ -829,6 +843,12 @@ begin
SelectAll;
end;
constructor TRxDBGridDateEditor.Create(Aowner: TComponent);
begin
inherited Create(Aowner);
AutoSize := false;
end;
{procedure TRxDBGridDateEditor.SetBounds(aLeft, aTop, aWidth, aHeight: integer);
begin
BeginUpdateBounds;
@ -945,6 +965,7 @@ begin
inherited Create(AOwner);
FLDS := TDataSource.Create(nil);
LookupSource := FLDS;
AutoSize := false;
end;
destructor TRxDBGridLookupComboEditor.Destroy;
@ -983,7 +1004,7 @@ begin
CnvW := Max(DrawRect.Right - DrawRect.Left, 1);
W := (ACanvas.TextWidth(Text) div CnvW) + 1;
DrawRect.Top := ((ARect.Top + ARect.Bottom) div 2) - W * ACanvas.TextHeight('W') div 2;
DrawRect.Top := ((ARect.Top + ARect.Bottom) div 2) - W * ACanvas.TextHeight('Wg') div 2;
if DrawRect.Top < ARect.Top + 1 then
DrawRect.Top := ARect.Top + 1;
@ -2646,7 +2667,7 @@ end;
function TRxDBGrid.IsDefaultRowHeightStored: boolean;
begin
Result := DefaultRowHeight = Canvas.TextHeight('W');
Result := DefaultRowHeight = Canvas.TextHeight('Wg');
end;
procedure TRxDBGrid.VisualChange;
@ -2680,6 +2701,15 @@ begin
end;
end;
Result := inherited EditorByStyle(Style);
if (Style = cbsPickList) and (Result is TCustomComboBox) then
begin
if TRxColumn(SelectedColumn).DirectInput then
TCustomComboBox(Result).Style:=csDropDown
else
TCustomComboBox(Result).Style:=csDropDownList;
end;
end;
procedure TRxDBGrid.CalcStatTotals;
@ -3191,6 +3221,7 @@ begin
FNotInKeyListIndex := -1;
FFooter := TRxColumnFooter.Create(Self);
FFilter := TRxColumnFilter.Create(Self);
FDirectInput := true;
end;
destructor TRxColumn.Destroy;

View File

@ -37,7 +37,7 @@ unit rxmemds;
interface
uses SysUtils, Classes, Controls, DB, dbutils;
uses SysUtils, Classes, DB;
{ TRxMemoryData }
@ -234,7 +234,7 @@ type
implementation
uses Forms, rxdconst, dbconst, Variants;
uses CustApp, rxdconst, dbconst, Variants, math;
const
ftBlobTypes = [ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle,
@ -984,7 +984,8 @@ begin
OnFilterRecord(Self, Result);
{$ENDIF}
except
Application.HandleException(Self);
// Application.HandleException(Self);
CustomApplication.HandleException(Self);
end;
RestoreState(SaveState);
end
@ -1241,7 +1242,8 @@ end;
procedure TRxMemoryData.InternalHandleException;
begin
Application.HandleException(Self);
CustomApplication.HandleException(Self);
//Application.HandleException(Self);
end;
procedure TRxMemoryData.InternalInitFieldDefs;
@ -1282,6 +1284,84 @@ begin
Result := not Filtered;
end;
{ DataSet locate routines }
function DataSetLocateThrough(DataSet: TDataSet; const KeyFields: string;
const KeyValues: Variant; Options: TLocateOptions): Boolean;
var
FieldCount: Integer;
Fields: TList;
Bookmark: TBookmarkStr;
function CompareField(Field: TField; Value: Variant): Boolean;
var
S,S1: string;
begin
if Field.DataType = ftString then
begin
S := Field.AsString;
S1:=Value;
if (loPartialKey in Options) then
Delete(S, Length(S1) + 1, MaxInt);
if (loCaseInsensitive in Options) then
Result := AnsiCompareText(S, S1) = 0
else
Result := AnsiCompareStr(S, S1) = 0;
end
// else Result := false //(Field.Value = Value);
else Result := (Field.Value = Value);
end;
function CompareRecord: Boolean;
var
I: Integer;
begin
if FieldCount = 1 then
Result := CompareField(TField(Fields.First), KeyValues)
else begin
Result := True;
for I := 0 to FieldCount - 1 do
Result := Result and CompareField(TField(Fields[I]), KeyValues[I]);
end;
end;
begin
Result := False;
with DataSet do begin
CheckBrowseMode;
if BOF and EOF then Exit;
end;
Fields := TList.Create;
try
DataSet.GetFieldList(Fields, KeyFields);
FieldCount := Fields.Count;
Result := CompareRecord;
if Result then Exit;
DataSet.DisableControls;
try
Bookmark := DataSet.Bookmark;
try
with DataSet do begin
First;
while not EOF do begin
Result := CompareRecord;
if Result then Break;
Next;
end;
end;
finally
if not Result and DataSet.BookmarkValid(PChar(Bookmark)) then
DataSet.Bookmark := Bookmark;
end;
finally
DataSet.EnableControls;
end;
finally
Fields.Free;
end;
end;
function TRxMemoryData.Locate(const KeyFields: string;
const KeyValues: Variant; Options: TLocateOptions): Boolean;
begin
@ -1344,6 +1424,35 @@ begin
CheckDataTypes(FieldDefs);
CreateFields;
end;
procedure AssignRecord(Source, Dest: TDataSet; ByName: Boolean);
var
I: Integer;
F, FSrc: TField;
begin
// if not (Dest.State in dsEditModes) then DBError(SNotEditing);
if ByName then begin
for I := 0 to Source.FieldCount - 1 do begin
F := Dest.FindField(Source.Fields[I].FieldName);
if F <> nil then begin
if (F.DataType = Source.Fields[I].DataType) and
(F.DataSize = Source.Fields[I].DataSize) then
F.Assign(Source.Fields[I])
else F.AsString := Source.Fields[I].AsString;
end;
end;
end
else begin
for I := 0 to Min(Source.FieldDefs.Count - 1, Dest.FieldDefs.Count - 1) do
begin
F := Dest.FindField(Dest.FieldDefs[I].Name);
FSrc := Source.FindField(Source.FieldDefs[I].Name);
if (F <> nil) and (FSrc <> nil) then begin
if F.DataType = FSrc.DataType then F.Assign(FSrc)
else F.AsString := FSrc.AsString;
end;
end;
end;
end;
function TRxMemoryData.LoadFromDataSet(Source: TDataSet; ARecordCount: Integer;
Mode: TLoadMode): Integer;
@ -1614,7 +1723,8 @@ begin
try
FDataSet.DataEvent(deFieldChange, ptrint(FField));
except
Application.HandleException(Self);
CustomApplication.HandleException(Self);
// Application.HandleException(Self);
end;
end;