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"/> <MinorVersionNr Value="4"/>
<RevisionNr Value="1"/> <RevisionNr Value="1"/>
<BuildNr 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> </VersionInfo>
<BuildModes Count="1"> <BuildModes Count="1">
<Item1 Name="default" Default="True"/> <Item1 Name="default" Default="True"/>
@@ -51,20 +51,18 @@
</Item3> </Item3>
<Item4> <Item4>
<PackageName Value="rxnew"/> <PackageName Value="rxnew"/>
<MinVersion Major="1" Release="18" Build="56" Valid="True"/> <MinVersion Build="56" Major="1" Valid="True" Release="18"/>
</Item4> </Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="65"> <Units Count="58">
<Unit0> <Unit0>
<Filename Value="RxDBGridDemo.lpr"/> <Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="RxDBGridDemo"/> <UnitName Value="RxDBGridDemo"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="5" Y="17"/> <CursorPos X="9" Y="16"/>
<UsageCount Value="54"/> <UsageCount Value="54"/>
<Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
@@ -72,10 +70,11 @@
<ComponentName Value="RxDBGridMainForm"/> <ComponentName Value="RxDBGridMainForm"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/> <UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="87"/> <TopLine Value="93"/>
<CursorPos X="11" Y="9"/> <CursorPos X="3" Y="97"/>
<UsageCount Value="54"/> <UsageCount Value="54"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@@ -215,55 +214,55 @@
<UsageCount Value="8"/> <UsageCount Value="8"/>
</Unit20> </Unit20>
<Unit21> <Unit21>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutdialog.pas"/> <Filename Value="../../rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/> <UnitName Value="RxAboutDialog"/>
<TopLine Value="10"/> <TopLine Value="10"/>
<CursorPos X="73" Y="30"/> <CursorPos X="73" Y="30"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrx.pas"/> <Filename Value="../../registerrx.pas"/>
<UnitName Value="registerrx"/> <UnitName Value="registerrx"/>
<TopLine Value="174"/> <TopLine Value="174"/>
<CursorPos X="18" Y="201"/> <CursorPos X="18" Y="201"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit22> </Unit22>
<Unit23> <Unit23>
<Filename Value="/usr/local/share/lazarus/ideintf/idewindowintf.pas"/> <Filename Value="../../../../ideintf/idewindowintf.pas"/>
<UnitName Value="IDEWindowIntf"/> <UnitName Value="IDEWindowIntf"/>
<TopLine Value="31"/> <TopLine Value="31"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<UsageCount Value="8"/> <UsageCount Value="8"/>
</Unit23> </Unit23>
<Unit24> <Unit24>
<Filename Value="/usr/local/share/lazarus/lcl/extdlgs.pas"/> <Filename Value="../../../../lcl/extdlgs.pas"/>
<UnitName Value="ExtDlgs"/> <UnitName Value="ExtDlgs"/>
<TopLine Value="105"/> <TopLine Value="105"/>
<CursorPos X="35" Y="122"/> <CursorPos X="35" Y="122"/>
<UsageCount Value="8"/> <UsageCount Value="8"/>
</Unit24> </Unit24>
<Unit25> <Unit25>
<Filename Value="/usr/local/share/lazarus/lcl/dialogs.pp"/> <Filename Value="../../../../lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/> <UnitName Value="Dialogs"/>
<TopLine Value="62"/> <TopLine Value="62"/>
<CursorPos X="21" Y="79"/> <CursorPos X="21" Y="79"/>
<UsageCount Value="8"/> <UsageCount Value="8"/>
</Unit25> </Unit25>
<Unit26> <Unit26>
<Filename Value="/usr/local/share/lazarus/lcl/include/commondialog.inc"/> <Filename Value="../../../../lcl/include/commondialog.inc"/>
<TopLine Value="80"/> <TopLine Value="80"/>
<CursorPos X="17" Y="84"/> <CursorPos X="17" Y="84"/>
<UsageCount Value="8"/> <UsageCount Value="8"/>
</Unit26> </Unit26>
<Unit27> <Unit27>
<Filename Value="/usr/local/share/lazarus/lcl/widgetset/wsdialogs.pp"/> <Filename Value="../../../../lcl/widgetset/wsdialogs.pp"/>
<UnitName Value="WSDialogs"/> <UnitName Value="WSDialogs"/>
<TopLine Value="132"/> <TopLine Value="132"/>
<CursorPos X="3" Y="136"/> <CursorPos X="3" Y="136"/>
<UsageCount Value="8"/> <UsageCount Value="8"/>
</Unit27> </Unit27>
<Unit28> <Unit28>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutformunit.pas"/> <Filename Value="../../rxaboutformunit.pas"/>
<ComponentName Value="rxAboutFormForm"/> <ComponentName Value="rxAboutFormForm"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="rxAboutFormUnit"/> <UnitName Value="rxAboutFormUnit"/>
@@ -272,47 +271,40 @@
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit28> </Unit28>
<Unit29> <Unit29>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxversinfo.pas"/> <Filename Value="../../rxversinfo.pas"/>
<UnitName Value="RxVersInfo"/> <UnitName Value="RxVersInfo"/>
<TopLine Value="72"/> <TopLine Value="72"/>
<CursorPos X="49" Y="105"/> <CursorPos X="49" Y="105"/>
<UsageCount Value="8"/> <UsageCount Value="8"/>
</Unit29> </Unit29>
<Unit30> <Unit30>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/> <Filename Value="../../../../lcl/buttonpanel.pas"/>
<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"/>
<UnitName Value="ButtonPanel"/> <UnitName Value="ButtonPanel"/>
<TopLine Value="11"/> <TopLine Value="11"/>
<CursorPos X="6" Y="15"/> <CursorPos X="6" Y="15"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit31> </Unit30>
<Unit32> <Unit31>
<Filename Value="/usr/local/share/lazarus/lcl/extctrls.pp"/> <Filename Value="../../../../lcl/extctrls.pp"/>
<UnitName Value="ExtCtrls"/> <UnitName Value="ExtCtrls"/>
<TopLine Value="604"/> <TopLine Value="604"/>
<CursorPos X="15" Y="607"/> <CursorPos X="15" Y="607"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit32> </Unit31>
<Unit33> <Unit32>
<Filename Value="/usr/local/share/lazarus/lcl/include/customimage.inc"/> <Filename Value="../../../../lcl/include/customimage.inc"/>
<TopLine Value="67"/> <TopLine Value="67"/>
<CursorPos X="3" Y="69"/> <CursorPos X="3" Y="69"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit33> </Unit32>
<Unit34> <Unit33>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/> <Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="426"/> <TopLine Value="426"/>
<CursorPos X="17" Y="448"/> <CursorPos X="17" Y="448"/>
<UsageCount Value="16"/> <UsageCount Value="16"/>
</Unit34> </Unit33>
<Unit35> <Unit34>
<Filename Value="../../../../../smsprog/sms_send_deamon/smsSendGui/smssendaboutunit.pas"/> <Filename Value="../../../../../smsprog/sms_send_deamon/smsSendGui/smssendaboutunit.pas"/>
<ComponentName Value="smsSendAboutForm"/> <ComponentName Value="smsSendAboutForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
@@ -321,22 +313,22 @@
<TopLine Value="28"/> <TopLine Value="28"/>
<CursorPos X="1" Y="57"/> <CursorPos X="1" Y="57"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit35> </Unit34>
<Unit36> <Unit35>
<Filename Value="../../../../../smsprog/sms_shared/smsabstarctconstunit.pas"/> <Filename Value="../../../../../smsprog/sms_shared/smsabstarctconstunit.pas"/>
<UnitName Value="smsAbstarctConstUnit"/> <UnitName Value="smsAbstarctConstUnit"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="42" Y="11"/> <CursorPos X="42" Y="11"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit36> </Unit35>
<Unit37> <Unit36>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxconst.pas"/> <Filename Value="../../rxconst.pas"/>
<UnitName Value="rxconst"/> <UnitName Value="rxconst"/>
<TopLine Value="34"/> <TopLine Value="34"/>
<CursorPos X="3" Y="51"/> <CursorPos X="3" Y="51"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit37> </Unit36>
<Unit38> <Unit37>
<Filename Value="../../../rxnet/demo/send_demo/smssendparamsunit.pas"/> <Filename Value="../../../rxnet/demo/send_demo/smssendparamsunit.pas"/>
<ComponentName Value="smssendParamsForm"/> <ComponentName Value="smssendParamsForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
@@ -345,8 +337,8 @@
<TopLine Value="49"/> <TopLine Value="49"/>
<CursorPos X="34" Y="60"/> <CursorPos X="34" Y="60"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit38> </Unit37>
<Unit39> <Unit38>
<Filename Value="../../../rxnet/demo/send_demo/smssenddemomainunit.pas"/> <Filename Value="../../../rxnet/demo/send_demo/smssenddemomainunit.pas"/>
<ComponentName Value="smsSendDemoMainForm"/> <ComponentName Value="smsSendDemoMainForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
@@ -355,74 +347,51 @@
<TopLine Value="41"/> <TopLine Value="41"/>
<CursorPos X="105" Y="29"/> <CursorPos X="105" Y="29"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit39> </Unit38>
<Unit40> <Unit39>
<Filename Value="../../../rxnet/demo/send_demo/send_demo.lpr"/> <Filename Value="../../../rxnet/demo/send_demo/send_demo.lpr"/>
<UnitName Value="send_demo"/> <UnitName Value="send_demo"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit40> </Unit39>
<Unit41> <Unit40>
<Filename Value="../../../../doceditor/lazdeopts.pp"/> <Filename Value="../../../../doceditor/lazdeopts.pp"/>
<UnitName Value="LazDEOpts"/> <UnitName Value="LazDEOpts"/>
<TopLine Value="43"/> <TopLine Value="43"/>
<CursorPos X="1" Y="56"/> <CursorPos X="1" Y="56"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit41> </Unit40>
<Unit42> <Unit41>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxfileutils.pas"/> <Filename Value="../../rxfileutils.pas"/>
<UnitName Value="rxFileUtils"/> <UnitName Value="rxFileUtils"/>
<TopLine Value="18"/> <TopLine Value="18"/>
<CursorPos X="33" Y="42"/> <CursorPos X="33" Y="42"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit42> </Unit41>
<Unit43> <Unit42>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="../../registerrxdb.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"/>
<UnitName Value="RegisterRxDB"/> <UnitName Value="RegisterRxDB"/>
<TopLine Value="2"/> <TopLine Value="2"/>
<CursorPos X="20" Y="17"/> <CursorPos X="20" Y="17"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit44> </Unit42>
<Unit45> <Unit43>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="../../../../ideintf/dbpropedits.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"/>
<UnitName Value="DBPropEdits"/> <UnitName Value="DBPropEdits"/>
<TopLine Value="13"/> <TopLine Value="13"/>
<CursorPos X="6" Y="19"/> <CursorPos X="6" Y="19"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit46> </Unit43>
<Unit47> <Unit44>
<Filename Value="/usr/local/share/lazarus/ideintf/propedits.pp"/> <Filename Value="../../../../ideintf/propedits.pp"/>
<UnitName Value="PropEdits"/> <UnitName Value="PropEdits"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="6" Y="26"/> <CursorPos X="6" Y="26"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit47> </Unit44>
<Unit48> <Unit45>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid_findunit.pas"/> <Filename Value="../../rxdbgrid_findunit.pas"/>
<ComponentName Value="rxDBGridFindForm"/> <ComponentName Value="rxDBGridFindForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
@@ -430,42 +399,32 @@
<TopLine Value="78"/> <TopLine Value="78"/>
<CursorPos X="1" Y="94"/> <CursorPos X="1" Y="94"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit48> </Unit45>
<Unit49> <Unit46>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> <Filename Value="../../rxtoolbar.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"/>
<UnitName Value="rxtoolbar"/> <UnitName Value="rxtoolbar"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="52" Y="26"/> <CursorPos X="52" Y="26"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
</Unit50> </Unit46>
<Unit51> <Unit47>
<Filename Value="/usr/local/share/lazarus/components/synedit/synedit.pp"/> <Filename Value="../../../synedit/synedit.pp"/>
<UnitName Value="SynEdit"/> <UnitName Value="SynEdit"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="5699"/> <TopLine Value="5699"/>
<CursorPos X="1" Y="5702"/> <CursorPos X="1" Y="5702"/>
<UsageCount Value="16"/> <UsageCount Value="16"/>
</Unit51> </Unit47>
<Unit52> <Unit48>
<Filename Value="/usr/local/share/lazarus/components/synedit/syneditkeycmds.pp"/> <Filename Value="../../../synedit/syneditkeycmds.pp"/>
<UnitName Value="SynEditKeyCmds"/> <UnitName Value="SynEditKeyCmds"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="750"/> <TopLine Value="750"/>
<CursorPos X="3" Y="752"/> <CursorPos X="3" Y="752"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
</Unit52> </Unit48>
<Unit53> <Unit49>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classes.inc"/> <Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classes.inc"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="429"/> <TopLine Value="429"/>
@@ -473,9 +432,9 @@
<SyntaxHighlighter Value="FreePascal"/> <SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/> <DefaultSyntaxHighlighter Value="Text"/>
</Unit53> </Unit49>
<Unit54> <Unit50>
<Filename Value="/usr/local/share/lazarus/lcl/actnlist.pas"/> <Filename Value="../../../../lcl/actnlist.pas"/>
<UnitName Value="ActnList"/> <UnitName Value="ActnList"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="206"/> <TopLine Value="206"/>
@@ -483,9 +442,9 @@
<SyntaxHighlighter Value="FreePascal"/> <SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/> <DefaultSyntaxHighlighter Value="Text"/>
</Unit54> </Unit50>
<Unit55> <Unit51>
<Filename Value="/usr/local/share/lazarus/lcl/lclproc.pas"/> <Filename Value="../../../../lcl/lclproc.pas"/>
<UnitName Value="LCLProc"/> <UnitName Value="LCLProc"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1154"/> <TopLine Value="1154"/>
@@ -493,8 +452,8 @@
<SyntaxHighlighter Value="FreePascal"/> <SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/> <DefaultSyntaxHighlighter Value="Text"/>
</Unit55> </Unit51>
<Unit56> <Unit52>
<Filename Value="rxdbgridmainunit.lfm"/> <Filename Value="rxdbgridmainunit.lfm"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="100"/> <TopLine Value="100"/>
@@ -502,192 +461,59 @@
<SyntaxHighlighter Value="LFM"/> <SyntaxHighlighter Value="LFM"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
<DefaultSyntaxHighlighter Value="Text"/> <DefaultSyntaxHighlighter Value="Text"/>
</Unit56> </Unit52>
<Unit57> <Unit53>
<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>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/> <Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="286"/> <TopLine Value="286"/>
<CursorPos X="1" Y="288"/> <CursorPos X="1" Y="288"/>
<UsageCount Value="15"/> <UsageCount Value="15"/>
</Unit58> </Unit53>
<Unit59> <Unit54>
<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>
<Filename Value="../../../../../../wine/1/1/rx.diff"/> <Filename Value="../../../../../../wine/1/1/rx.diff"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="1" Y="9"/> <CursorPos X="1" Y="9"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Diff"/> <DefaultSyntaxHighlighter Value="Diff"/>
</Unit60> </Unit54>
<Unit61> <Unit55>
<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>
<Filename Value="../../../../../../install/fpcsrc/packages/fcl-db/src/base/db.pas"/> <Filename Value="../../../../../../install/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<UnitName Value="db"/> <UnitName Value="db"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="541"/> <TopLine Value="541"/>
<CursorPos X="1" Y="569"/> <CursorPos X="1" Y="569"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit62> </Unit55>
<Unit63> <Unit56>
<Filename Value="/usr/local/share/lazarus/lcl/include/canvas.inc"/> <Filename Value="../../../../lcl/include/canvas.inc"/>
<EditorIndex Value="5"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1116"/> <TopLine Value="1116"/>
<CursorPos X="1" Y="1132"/> <CursorPos X="1" Y="1132"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/> </Unit56>
</Unit63> <Unit57>
<Unit64>
<Filename Value="../../exsortsql.pas"/> <Filename Value="../../exsortsql.pas"/>
<UnitName Value="exsortsql"/> <UnitName Value="exsortsql"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="69"/>
<CursorPos X="49" Y="3"/> <CursorPos X="49" Y="3"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/> </Unit57>
</Unit64>
</Units> </Units>
<JumpHistory Count="28" HistoryIndex="27"> <JumpHistory Count="3" HistoryIndex="2">
<Position1> <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"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="9" Column="11" TopLine="1"/> <Caret Line="9" Column="11" TopLine="1"/>
</Position26> </Position1>
<Position27> <Position2>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="187" Column="49" TopLine="162"/> <Caret Line="88" Column="11" TopLine="70"/>
</Position27> </Position2>
<Position28> <Position3>
<Filename Value="../../exsortsql.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="3" Column="21" TopLine="1"/> <Caret Line="96" Column="3" TopLine="92"/>
</Position28> </Position3>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
@@ -705,6 +531,10 @@
</SyntaxOptions> </SyntaxOptions>
</Parsing> </Parsing>
<Linking> <Linking>
<Debugging>
<GenerateDebugInfo Value="True"/>
<DebugInfoType Value="dsAuto"/>
</Debugging>
<Options> <Options>
<Win32> <Win32>
<GraphicApplication Value="True"/> <GraphicApplication Value="True"/>

View File

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

View File

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

View File

@@ -66,6 +66,11 @@
добавлено новое свойство KeyStrokes добавлено новое свойство KeyStrokes
+ Добавлен новый компонент RxCurredit + Добавлен новый компонент RxCurredit
+ Добавлен новый компонент- TRxViewsPanel + Добавлен новый компонент- TRxViewsPanel
+ у компоненты TRxMemoryData убрана зависимость от модуля Forms
+ Улучшено отображение редактора полей типа TDateTime/TDate в RxDBGrid
+ У TRxCollumn компоненты TRxDBGrid для стиля cbsPickList добавлено свойство DirectInput.
Если оно установлено в false - значения поля можно выбрать только из выпадающего списка
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 ускорена отрисовка данных

View File

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

View File

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

View File

@@ -37,7 +37,7 @@ unit rxmemds;
interface interface
uses SysUtils, Classes, Controls, DB, dbutils; uses SysUtils, Classes, DB;
{ TRxMemoryData } { TRxMemoryData }
@@ -234,7 +234,7 @@ type
implementation implementation
uses Forms, rxdconst, dbconst, Variants; uses CustApp, rxdconst, dbconst, Variants, math;
const const
ftBlobTypes = [ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftBlobTypes = [ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle,
@@ -984,7 +984,8 @@ begin
OnFilterRecord(Self, Result); OnFilterRecord(Self, Result);
{$ENDIF} {$ENDIF}
except except
Application.HandleException(Self); // Application.HandleException(Self);
CustomApplication.HandleException(Self);
end; end;
RestoreState(SaveState); RestoreState(SaveState);
end end
@@ -1241,7 +1242,8 @@ end;
procedure TRxMemoryData.InternalHandleException; procedure TRxMemoryData.InternalHandleException;
begin begin
Application.HandleException(Self); CustomApplication.HandleException(Self);
//Application.HandleException(Self);
end; end;
procedure TRxMemoryData.InternalInitFieldDefs; procedure TRxMemoryData.InternalInitFieldDefs;
@@ -1282,6 +1284,84 @@ begin
Result := not Filtered; Result := not Filtered;
end; 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; function TRxMemoryData.Locate(const KeyFields: string;
const KeyValues: Variant; Options: TLocateOptions): Boolean; const KeyValues: Variant; Options: TLocateOptions): Boolean;
begin begin
@@ -1344,6 +1424,35 @@ begin
CheckDataTypes(FieldDefs); CheckDataTypes(FieldDefs);
CreateFields; CreateFields;
end; 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; function TRxMemoryData.LoadFromDataSet(Source: TDataSet; ARecordCount: Integer;
Mode: TLoadMode): Integer; Mode: TLoadMode): Integer;
@@ -1614,7 +1723,8 @@ begin
try try
FDataSet.DataEvent(deFieldChange, ptrint(FField)); FDataSet.DataEvent(deFieldChange, ptrint(FField));
except except
Application.HandleException(Self); CustomApplication.HandleException(Self);
// Application.HandleException(Self);
end; end;
end; end;