diff --git a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi index bdd755f49..7024a2bda 100644 --- a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi +++ b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi @@ -11,7 +11,7 @@ <Icon Value="0"/> <UseXPManifest Value="True"/> - <ActiveEditorIndexAtStart Value="0"/> + <ActiveEditorIndexAtStart Value="2"/> </General> <VersionInfo> <UseVersionInfo Value="True"/> @@ -34,27 +34,31 @@ <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> </local> </RunParams> - <RequiredPackages Count="3"> + <RequiredPackages Count="4"> <Item1> - <PackageName Value="FCL"/> + <PackageName Value="IDEIntf"/> <MinVersion Major="1" Valid="True"/> </Item1> <Item2> - <PackageName Value="LCL"/> + <PackageName Value="FCL"/> + <MinVersion Major="1" Valid="True"/> </Item2> <Item3> + <PackageName Value="LCL"/> + </Item3> + <Item4> <PackageName Value="rxnew"/> <MinVersion Major="1" Release="18" Build="56" Valid="True"/> - </Item3> + </Item4> </RequiredPackages> - <Units Count="15"> + <Units Count="21"> <Unit0> <Filename Value="RxDBGridDemo.lpr"/> <IsPartOfProject Value="True"/> <UnitName Value="RxDBGridDemo"/> <CursorPos X="3" Y="11"/> <TopLine Value="1"/> - <UsageCount Value="28"/> + <UsageCount Value="29"/> </Unit0> <Unit1> <Filename Value="rxdbgridmainunit.pas"/> @@ -62,10 +66,10 @@ <ComponentName Value="RxDBGridMainForm"/> <ResourceBaseClass Value="Form"/> <UnitName Value="RxDBGridMainUnit"/> - <CursorPos X="1" Y="98"/> - <TopLine Value="66"/> + <CursorPos X="39" Y="169"/> + <TopLine Value="168"/> <EditorIndex Value="0"/> - <UsageCount Value="28"/> + <UsageCount Value="29"/> <Loaded Value="True"/> </Unit1> <Unit2> @@ -93,12 +97,10 @@ <UnitName Value="rxdbgrid"/> <CursorPos X="1" Y="1740"/> <TopLine Value="1721"/> - <EditorIndex Value="1"/> <UsageCount Value="13"/> <Bookmarks Count="1"> <Item0 X="3" Y="1462" ID="1"/> </Bookmarks> - <Loaded Value="True"/> </Unit5> <Unit6> <Filename Value="../../../../lcl/lresources.pp"/> @@ -161,127 +163,177 @@ <UsageCount Value="10"/> <SyntaxHighlighter Value="None"/> </Unit14> + <Unit15> + <Filename Value="../../../../../../../../usr/local/share/lazarus/lcl/interfaces/gtk/gtkdevicecontext.inc"/> + <CursorPos X="1" Y="644"/> + <TopLine Value="626"/> + <UsageCount Value="10"/> + </Unit15> + <Unit16> + <Filename Value="../../../../../../../../usr/local/share/lazarus/lcl/interfaces/gtk2/gtk2winapi.inc"/> + <CursorPos X="1" Y="577"/> + <TopLine Value="559"/> + <UsageCount Value="10"/> + </Unit16> + <Unit17> + <Filename Value="../../../../../../../../usr/local/share/lazarus/lcl/grids.pas"/> + <UnitName Value="Grids"/> + <CursorPos X="1" Y="9709"/> + <TopLine Value="9691"/> + <UsageCount Value="10"/> + </Unit17> + <Unit18> + <Filename Value="../../../../../../../../usr/local/share/lazarus/lcl/dbgrids.pas"/> + <UnitName Value="DBGrids"/> + <CursorPos X="1" Y="3256"/> + <TopLine Value="3238"/> + <UsageCount Value="10"/> + </Unit18> + <Unit19> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <UnitName Value="rxdbgrid"/> + <CursorPos X="15" Y="294"/> + <TopLine Value="283"/> + <EditorIndex Value="2"/> + <UsageCount Value="10"/> + <Bookmarks Count="1"> + <Item0 X="32" Y="1711" ID="1"/> + </Bookmarks> + <Loaded Value="True"/> + </Unit19> + <Unit20> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> + <ComponentName Value="rxDBGridColumsForm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="rxdbgrid_columsunit"/> + <CursorPos X="46" Y="45"/> + <TopLine Value="26"/> + <EditorIndex Value="1"/> + <UsageCount Value="10"/> + <Loaded Value="True"/> + </Unit20> </Units> <JumpHistory Count="30" HistoryIndex="29"> <Position1> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1725" Column="1" TopLine="1706"/> + <Filename Value="rxdbgridmainunit.pas"/> + <Caret Line="127" Column="19" TopLine="125"/> </Position1> <Position2> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1727" Column="1" TopLine="1708"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="2672" Column="14" TopLine="2670"/> </Position2> <Position3> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1729" Column="1" TopLine="1710"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> + <Caret Line="27" Column="35" TopLine="14"/> </Position3> <Position4> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1730" Column="1" TopLine="1711"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> + <Caret Line="46" Column="45" TopLine="37"/> </Position4> <Position5> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1732" Column="1" TopLine="1713"/> + <Filename Value="rxdbgridmainunit.pas"/> + <Caret Line="127" Column="19" TopLine="125"/> </Position5> <Position6> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1735" Column="1" TopLine="1716"/> + <Filename Value="rxdbgridmainunit.pas"/> + <Caret Line="129" Column="19" TopLine="125"/> </Position6> <Position7> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1737" Column="1" TopLine="1718"/> + <Filename Value="rxdbgridmainunit.pas"/> + <Caret Line="128" Column="19" TopLine="125"/> </Position7> <Position8> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1740" Column="1" TopLine="1721"/> + <Filename Value="rxdbgridmainunit.pas"/> + <Caret Line="129" Column="19" TopLine="125"/> </Position8> <Position9> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1735" Column="1" TopLine="1725"/> + <Filename Value="rxdbgridmainunit.pas"/> + <Caret Line="131" Column="19" TopLine="125"/> </Position9> <Position10> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1749" Column="1" TopLine="1730"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> + <Caret Line="27" Column="1" TopLine="15"/> </Position10> <Position11> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1738" Column="43" TopLine="1738"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> + <Caret Line="46" Column="1" TopLine="17"/> </Position11> <Position12> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1760" Column="1" TopLine="1741"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> + <Caret Line="26" Column="35" TopLine="8"/> </Position12> <Position13> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1765" Column="1" TopLine="1746"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> + <Caret Line="129" Column="3" TopLine="101"/> </Position13> <Position14> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1738" Column="35" TopLine="1738"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="247" Column="16" TopLine="217"/> </Position14> <Position15> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1760" Column="1" TopLine="1741"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="860" Column="18" TopLine="842"/> </Position15> <Position16> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1765" Column="1" TopLine="1746"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="862" Column="18" TopLine="842"/> </Position16> <Position17> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1757" Column="1" TopLine="1738"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1588" Column="18" TopLine="1570"/> </Position17> <Position18> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1763" Column="1" TopLine="1744"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1590" Column="18" TopLine="1570"/> </Position18> <Position19> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1765" Column="1" TopLine="1746"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1594" Column="16" TopLine="1570"/> </Position19> <Position20> - <Filename Value="../../rxdbgrid.pas"/> - <Caret Line="1766" Column="1" TopLine="1747"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1711" Column="32" TopLine="1693"/> </Position20> <Position21> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="9" Column="12" TopLine="1"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1725" Column="16" TopLine="1693"/> </Position21> <Position22> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="25" Column="20" TopLine="1"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="2452" Column="18" TopLine="2434"/> </Position22> <Position23> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="48" Column="48" TopLine="11"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="2560" Column="18" TopLine="2542"/> </Position23> <Position24> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="164" Column="48" TopLine="135"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1" Column="1" TopLine="1"/> </Position24> <Position25> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="17" Column="19" TopLine="17"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="247" Column="16" TopLine="229"/> </Position25> <Position26> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="55" Column="58" TopLine="55"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="860" Column="18" TopLine="842"/> </Position26> <Position27> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="119" Column="31" TopLine="117"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="862" Column="18" TopLine="842"/> </Position27> <Position28> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="17" Column="26" TopLine="17"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1588" Column="18" TopLine="1570"/> </Position28> <Position29> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="18" Column="26" TopLine="17"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1590" Column="18" TopLine="1570"/> </Position29> <Position30> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="19" Column="26" TopLine="17"/> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> + <Caret Line="1594" Column="16" TopLine="1570"/> </Position30> </JumpHistory> </ProjectOptions> @@ -302,6 +354,16 @@ </Other> </CompilerOptions> <Debugging> + <BreakPoints Count="2"> + <Item1> + <Source Value="rxdbgridmainunit.pas"/> + <Line Value="162"/> + </Item1> + <Item2> + <Source Value="rxdbgridmainunit.pas"/> + <Line Value="159"/> + </Item2> + </BreakPoints> <Watches Count="1"> <Item1> <Expression Value="W"/> diff --git a/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc b/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc index dc280a109..773dd2c83 100644 --- a/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc +++ b/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc @@ -24,10 +24,4 @@ PRODUCTVERSION 3,1,1,0 } } -#define RT_MANIFEST 24 -#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 -#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2 -#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3 - -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "RxDBGridDemo.manifest" MAINICON ICON "RxDBGridDemo.ico" diff --git a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm index 142080b18..1d8f9b50e 100644 --- a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm +++ b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm @@ -99,7 +99,8 @@ object RxDBGridMainForm: TRxDBGridMainForm Filter.EmptyFont.Style = [fsItalic] Filter.ItemIndex = -1 end> - OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgFooterRows, rdgAllowQuickSearch] + PropertyStorage = XMLPropStorage1 + OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgFooterRows, rdgAllowQuickSearch, rdgAllowToolMenu] FooterColor = clYellow FooterRowCount = 1 OnFiltred = RxDBGrid1Filtred @@ -126,10 +127,10 @@ object RxDBGridMainForm: TRxDBGridMainForm ClientWidth = 969 TabOrder = 1 object Label1: TLabel - AnchorSideLeft.Control = CheckBox1 + AnchorSideLeft.Control = Button2 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - Left = 378 + Left = 287 Height = 18 Top = 6 Width = 40 @@ -165,14 +166,14 @@ object RxDBGridMainForm: TRxDBGridMainForm TabOrder = 1 end object CheckBox1: TCheckBox - AnchorSideLeft.Control = Button2 + AnchorSideLeft.Control = ComboBox1 AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = Button1 - AnchorSideTop.Side = asrCenter - Left = 287 - Height = 21 - Top = 14 - Width = 85 + AnchorSideTop.Control = CheckBox2 + AnchorSideTop.Side = asrBottom + Left = 516 + Height = 19 + Top = 31 + Width = 82 BorderSpacing.Left = 6 Caption = 'Use filter' OnChange = CheckBox1Change @@ -182,7 +183,7 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = Label1 AnchorSideTop.Control = Label1 AnchorSideTop.Side = asrBottom - Left = 384 + Left = 293 Height = 31 Top = 30 Width = 217 @@ -198,6 +199,21 @@ object RxDBGridMainForm: TRxDBGridMainForm TabOrder = 3 Text = 'Edit mode' end + object CheckBox2: TCheckBox + AnchorSideLeft.Control = ComboBox1 + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = Panel1 + Left = 516 + Height = 19 + Top = 6 + Width = 134 + BorderSpacing.Around = 6 + Caption = 'Auto fill columns' + Checked = True + OnChange = CheckBox2Change + State = cbChecked + TabOrder = 4 + end end object RxMemoryData1: TRxMemoryData AutoCalcFields = False @@ -415,4 +431,9 @@ object RxDBGridMainForm: TRxDBGridMainForm Size = 130 end end + object XMLPropStorage1: TXMLPropStorage + StoredValues = <> + left = 241 + top = 128 + end end diff --git a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs index c941bcdbb..aef92f909 100644 --- a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs +++ b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs @@ -39,101 +39,107 @@ LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[ +'Width'#3#163#0#9'FieldName'#6#12'DEVELOPER_ID'#17'Filter.Font.Style'#11#8'f' +'sItalic'#0#19'Filter.DropDownRows'#2#0#17'Filter.EmptyValue'#6#8'('#208#157 +#208#181#209#130')'#22'Filter.EmptyFont.Style'#11#8'fsItalic'#0#16'Filter.It' - +'emIndex'#2#255#0#0#9'OptionsRx'#11#19'rdgAllowColumnsForm'#18'rdgAllowDialo' - +'gFind'#13'rdgFooterRows'#19'rdgAllowQuickSearch'#0#11'FooterColor'#7#8'clYe' - +'llow'#14'FooterRowCount'#2#1#9'OnFiltred'#7#16'RxDBGrid1Filtred'#5'Align'#7 - +#8'alClient'#15'AutoFillColumns'#9#10'FocusColor'#7#5'clRed'#13'SelectedColo' - +'r'#7#11'clHighlight'#13'GridLineStyle'#7#7'psSolid'#10'DataSource'#7#11'Dat' - +'asource1'#7'Options'#11#9'dgEditing'#8'dgTitles'#11'dgIndicator'#14'dgColum' - +'nResize'#12'dgColumnMove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlwa' - +'ysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'#13'dgMultiselect'#18 - +'dgHeaderPushedLook'#0#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu1'#8'Tab' - +'Order'#2#0#10'TitleStyle'#7#8'tsNative'#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0 - +#6'Height'#2'C'#3'Top'#2#0#5'Width'#3#201#3#5'Align'#7#5'alTop'#8'AutoSize'#9 - +#12'ClientHeight'#2'C'#11'ClientWidth'#3#201#3#8'TabOrder'#2#1#0#6'TLabel'#6 - +'Label1'#22'AnchorSideLeft.Control'#7#9'CheckBox1'#19'AnchorSideLeft.Side'#7 - +#9'asrBottom'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#3'z'#1#6'Height' - +#2#18#3'Top'#2#6#5'Width'#2'('#20'BorderSpacing.Around'#2#6#7'Caption'#6#4'M' - +'ode'#11'ParentColor'#8#0#0#7'TButton'#7'Button1'#22'AnchorSideLeft.Control' - +#7#6'Panel1'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#2#6#6'Height'#2'%' - +#3'Top'#2#6#5'Width'#2'_'#6'Action'#7#12'actCalcTotal'#8'AutoSize'#9#20'Bord' - +'erSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#0#0#0 - +#7'TButton'#7'Button2'#22'AnchorSideLeft.Control'#7#7'Button1'#19'AnchorSide' - +'Left.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#2'k' - +#6'Height'#2'%'#3'Top'#2#6#5'Width'#3#174#0#6'Action'#7#26'actOptimizeColumn' - +'sWidthAll'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.Inne' - +'rBorder'#2#4#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLef' - +'t.Control'#7#7'Button2'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSid' - +'eTop.Control'#7#7'Button1'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3 - ,#31#1#6'Height'#2#21#3'Top'#2#14#5'Width'#2'U'#18'BorderSpacing.Left'#2#6#7 - +'Caption'#6#10'Use filter'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#2 - +#0#0#9'TComboBox'#9'ComboBox1'#22'AnchorSideLeft.Control'#7#6'Label1'#21'Anc' - +'horSideTop.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef' - +'t'#3#128#1#6'Height'#2#31#3'Top'#2#30#5'Width'#3#217#0#20'BorderSpacing.Aro' - +'und'#2#6#10'ItemHeight'#2#0#9'ItemIndex'#2#0#13'Items.Strings'#1#6#9'Edit m' - +'ode'#6#17'Quick search mode'#0#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7 - +#14'csDropDownList'#8'TabOrder'#2#3#4'Text'#6#9'Edit mode'#0#0#0#13'TRxMemor' - +'yData'#13'RxMemoryData1'#14'AutoCalcFields'#8#9'FieldDefs'#14#1#4'Name'#6#2 - +'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2#7#0#1#4'Name'#6 - +#4'NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#1#4 - +'Name'#6#5'PRICE'#8'DataType'#7#7'ftFloat'#9'Precision'#2#2#4'Size'#2#12#0#1 - +#4'Name'#6#9'Developer'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size' - +#3#150#0#0#1#4'Name'#6#12'Date_Present'#8'DataType'#7#6'ftDate'#9'Precision' - +#2#0#4'Size'#2#0#0#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9'ftInteger'#9 - +'Precision'#2#0#4'Size'#2#0#0#0#16'OnFilterRecordEx'#7#27'RxMemoryData1Filte' - +'rRecordEx'#4'left'#3#152#0#3'top'#3#8#1#0#13'TLongintField'#16'RxMemoryData' - +'1ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#2'ID'#5 - +'Index'#2#0#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWher' - +'e'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TStringField'#18'RxMemoryData1NAME1' - +#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#4'NAME'#5 - +'Index'#2#1#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWher' - +'e'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#11'TFloatField'#19'RxM' - +'emoryData1PRICE1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldNam' - +'e'#6#5'PRICE'#5'Index'#2#2#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUp' - +'date'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#13'DisplayFormat'#6#8'#,##' - +'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 - +'Precision'#2#2#0#0#12'TStringField'#23'RxMemoryData1Developer1'#12'DisplayW' - +'idth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#9'Developer'#5'Index' - +#2#3#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8 - +'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#10'TDateField'#26'RxMemoryDat' - +'a1Date_Present1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName' - +#6#12'Date_Present'#5'Index'#2#4#11'LookupCache'#8#13'ProviderFlags'#11#10'p' - +'fInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#13'TLongintField' - +#26'RxMemoryData1DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkDat' - +'a'#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#5#9'KeyFields'#6#12'DEVELOPER' - +'_ID'#11'LookupCache'#8#13'LookupDataSet'#7#13'RxMemoryData2'#15'LookupKeyFi' - +'elds'#6#12'DEVELOPER_ID'#17'LookupResultField'#6#14'DEVELOPER_NAME'#13'Prov' - +'iderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0 - +#0#11'TDatasource'#11'Datasource1'#7'DataSet'#7#13'RxMemoryData1'#4'left'#2 - +'x'#3'top'#3#8#1#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3 - +#197#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#20'actOptimizeWidthCol1'#7'On' - +'Click'#7#27'actOptimizeWidthCol1Execute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Ca' - +'ption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#12'actCalcTotal'#7 - +'OnClick'#7#19'actCalcTotalExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7 - +#26'actOptimizeColumnsWidthAll'#7'OnClick'#7'!actOptimizeColumnsWidthAllExec' - +'ute'#0#0#9'TMenuItem'#9'MenuItem5'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'Men' - +'uItem7'#6'Action'#7#17'showColumnsDialog'#7'OnClick'#7#24'showColumnsDialog' - +'Execute'#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#14'showFindDialog'#7'OnC' - +'lick'#7#21'showFindDialogExecute'#0#0#0#11'TActionList'#11'ActionList1'#4'l' - +'eft'#3#206#0#3'top'#3#197#0#0#7'TAction'#12'actCalcTotal'#7'Caption'#6#13'C' - +'alc total...'#9'OnExecute'#7#19'actCalcTotalExecute'#0#0#7'TAction'#26'actO' - +'ptimizeColumnsWidthAll'#7'Caption'#6#25'Optimize width for all...'#9'OnExec' - +'ute'#7'!actOptimizeColumnsWidthAllExecute'#0#0#7'TAction'#20'actOptimizeWid' - +'thCol1'#7'Caption'#6#17'Optimize width...'#9'OnExecute'#7#27'actOptimizeWid' - +'thCol1Execute'#0#0#7'TAction'#14'showFindDialog'#7'Caption'#6#19'Show find ' - +'dialog...'#9'OnExecute'#7#21'showFindDialogExecute'#0#0#7'TAction'#17'showC' - +'olumnsDialog'#7'Caption'#6#22'Show columns dialog...'#9'OnExecute'#7#24'sho' - +'wColumnsDialogExecute'#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'TRxMemoryData'#13'RxMemo' - +'ryData2'#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'DEVE' - +'LOPER_NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#0#4'Size'#3#130#0#0#0#4 - +'left'#3#240#0#3'top'#3#8#1#0#13'TLongintField'#26'RxMemoryData2DEVELOPER_ID' - ,'1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#12'DEVELOP' - +'ER_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'TStringField'#28'RxMemoryDa' - +'ta2DEVELOPER_NAME1'#12'DisplayWidth'#3#130#0#9'FieldKind'#7#6'fkData'#9'Fie' - +'ldName'#6#14'DEVELOPER_NAME'#5'Index'#2#1#11'LookupCache'#8#13'ProviderFlag' - +'s'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3 - +#130#0#0#0#0#0 + +'emIndex'#2#255#0#0#15'PropertyStorage'#7#15'XMLPropStorage1'#9'OptionsRx'#11 + +#19'rdgAllowColumnsForm'#18'rdgAllowDialogFind'#13'rdgFooterRows'#19'rdgAllo' + +'wQuickSearch'#16'rdgAllowToolMenu'#0#11'FooterColor'#7#8'clYellow'#14'Foote' + +'rRowCount'#2#1#9'OnFiltred'#7#16'RxDBGrid1Filtred'#5'Align'#7#8'alClient'#15 + +'AutoFillColumns'#9#10'FocusColor'#7#5'clRed'#13'SelectedColor'#7#11'clHighl' + +'ight'#13'GridLineStyle'#7#7'psSolid'#10'DataSource'#7#11'Datasource1'#7'Opt' + +'ions'#11#9'dgEditing'#8'dgTitles'#11'dgIndicator'#14'dgColumnResize'#12'dgC' + +'olumnMove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlwaysShowSelection' + +#15'dgConfirmDelete'#14'dgCancelOnExit'#13'dgMultiselect'#18'dgHeaderPushedL' + +'ook'#0#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#10'T' + +'itleStyle'#7#8'tsNative'#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'C' + +#3'Top'#2#0#5'Width'#3#201#3#5'Align'#7#5'alTop'#8'AutoSize'#9#12'ClientHeig' + +'ht'#2'C'#11'ClientWidth'#3#201#3#8'TabOrder'#2#1#0#6'TLabel'#6'Label1'#22'A' + +'nchorSideLeft.Control'#7#7'Button2'#19'AnchorSideLeft.Side'#7#9'asrBottom' + +#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#3#31#1#6'Height'#2#18#3'Top'#2 + +#6#5'Width'#2'('#20'BorderSpacing.Around'#2#6#7'Caption'#6#4'Mode'#11'Parent' + +'Color'#8#0#0#7'TButton'#7'Button1'#22'AnchorSideLeft.Control'#7#6'Panel1'#21 + +'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#2#6#6'Height'#2'%'#3'Top'#2#6#5 + +'Width'#2'_'#6'Action'#7#12'actCalcTotal'#8'AutoSize'#9#20'BorderSpacing.Aro' + +'und'#2#6#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#0#0#0#7'TButton'#7 + +'Button2'#22'AnchorSideLeft.Control'#7#7'Button1'#19'AnchorSideLeft.Side'#7#9 + +'asrBottom'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#2'k'#6'Height'#2'%' + +#3'Top'#2#6#5'Width'#3#174#0#6'Action'#7#26'actOptimizeColumnsWidthAll'#8'Au' + +'toSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#8 + +'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.Control'#7#9 + +'ComboBox1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control' + ,#7#9'CheckBox2'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#4#2#6'Height' + +#2#19#3'Top'#2#31#5'Width'#2'R'#18'BorderSpacing.Left'#2#6#7'Caption'#6#10'U' + +'se filter'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#2#0#0#9'TComboBo' + +'x'#9'ComboBox1'#22'AnchorSideLeft.Control'#7#6'Label1'#21'AnchorSideTop.Con' + +'trol'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3'%'#1#6'He' + +'ight'#2#31#3'Top'#2#30#5'Width'#3#217#0#20'BorderSpacing.Around'#2#6#10'Ite' + +'mHeight'#2#0#9'ItemIndex'#2#0#13'Items.Strings'#1#6#9'Edit mode'#6#17'Quick' + +' search mode'#0#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7#14'csDropDownL' + +'ist'#8'TabOrder'#2#3#4'Text'#6#9'Edit mode'#0#0#9'TCheckBox'#9'CheckBox2'#22 + +'AnchorSideLeft.Control'#7#9'ComboBox1'#19'AnchorSideLeft.Side'#7#9'asrBotto' + +'m'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#3#4#2#6'Height'#2#19#3'Top' + +#2#6#5'Width'#3#134#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Auto fill' + +' columns'#7'Checked'#9#8'OnChange'#7#15'CheckBox2Change'#5'State'#7#9'cbChe' + +'cked'#8'TabOrder'#2#4#0#0#0#13'TRxMemoryData'#13'RxMemoryData1'#14'AutoCalc' + +'Fields'#8#9'FieldDefs'#14#1#4'Name'#6#2'ID'#8'DataType'#7#9'ftInteger'#9'Pr' + +'ecision'#2#255#4'Size'#2#7#0#1#4'Name'#6#4'NAME'#8'DataType'#7#8'ftString'#9 + +'Precision'#2#255#4'Size'#3#150#0#0#1#4'Name'#6#5'PRICE'#8'DataType'#7#7'ftF' + +'loat'#9'Precision'#2#2#4'Size'#2#12#0#1#4'Name'#6#9'Developer'#8'DataType'#7 + +#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#1#4'Name'#6#12'Date_Presen' + +'t'#8'DataType'#7#6'ftDate'#9'Precision'#2#0#4'Size'#2#0#0#1#4'Name'#6#12'DE' + +'VELOPER_ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#0#4'Size'#2#0#0#0#16 + +'OnFilterRecordEx'#7#27'RxMemoryData1FilterRecordEx'#4'left'#3#152#0#3'top'#3 + +#8#1#0#13'TLongintField'#16'RxMemoryData1ID1'#12'DisplayWidth'#2#10#9'FieldK' + +'ind'#7#6'fkData'#9'FieldName'#6#2'ID'#5'Index'#2#0#11'LookupCache'#8#13'Pro' + +'viderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0 + +#12'TStringField'#18'RxMemoryData1NAME1'#12'DisplayWidth'#3#150#0#9'FieldKin' + +'d'#7#6'fkData'#9'FieldName'#6#4'NAME'#5'Index'#2#1#11'LookupCache'#8#13'Pro' + +'viderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4 + +'Size'#3#150#0#0#0#11'TFloatField'#19'RxMemoryData1PRICE1'#12'DisplayWidth'#2 + +#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#5'PRICE'#5'Index'#2#2#11'LookupC' + +'ache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8 + +'Required'#8#13'DisplayFormat'#6#8'#,##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'Precision'#2#2#0#0#12'TStringField'#23 + +'RxMemoryData1Developer1'#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fkData'#9 + +'FieldName'#6#9'Developer'#5'Index'#2#3#11'LookupCache'#8#13'ProviderFlags' + +#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0 + +#0#0#10'TDateField'#26'RxMemoryData1Date_Present1'#12'DisplayWidth'#2#10#9'F' + +'ieldKind'#7#6'fkData'#9'FieldName'#6#12'Date_Present'#5'Index'#2#4#11'Looku' + +'pCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8 + +'Required'#8#0#0#13'TLongintField'#26'RxMemoryData1DEVELOPER_ID1'#12'Display' + +'Width'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#12'DEVELOPER_ID'#5'Inde' + +'x'#2#5#9'KeyFields'#6#12'DEVELOPER_ID'#11'LookupCache'#8#13'LookupDataSet'#7 + +#13'RxMemoryData2'#15'LookupKeyFields'#6#12'DEVELOPER_ID'#17'LookupResultFie' + +'ld'#6#14'DEVELOPER_NAME'#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0 + +#8'ReadOnly'#8#8'Required'#8#0#0#0#11'TDatasource'#11'Datasource1'#7'DataSet' + +#7#13'RxMemoryData1'#4'left'#2'x'#3'top'#3#8#1#0#0#10'TPopupMenu'#10'PopupMe' + +'nu1'#4'left'#3#152#0#3'top'#3#197#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7 + +#20'actOptimizeWidthCol1'#7'OnClick'#7#27'actOptimizeWidthCol1Execute'#0#0#9 + +'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'A' + +'ction'#7#12'actCalcTotal'#7'OnClick'#7#19'actCalcTotalExecute'#0#0#9'TMenuI' + +'tem'#9'MenuItem3'#6'Action'#7#26'actOptimizeColumnsWidthAll'#7'OnClick'#7'!' + +'actOptimizeColumnsWidthAllExecute'#0#0#9'TMenuItem'#9'MenuItem5'#7'Caption' + +#6#1'-'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#17'showColumnsDialog'#7'On' + +'Click'#7#24'showColumnsDialogExecute'#0#0#9'TMenuItem'#9'MenuItem6'#6'Actio' + +'n'#7#14'showFindDialog'#7'OnClick'#7#21'showFindDialogExecute'#0#0#0#11'TAc' + +'tionList'#11'ActionList1'#4'left'#3#206#0#3'top'#3#197#0#0#7'TAction'#12'ac' + +'tCalcTotal'#7'Caption'#6#13'Calc total...'#9'OnExecute'#7#19'actCalcTotalEx' + +'ecute'#0#0#7'TAction'#26'actOptimizeColumnsWidthAll'#7'Caption'#6#25'Optimi' + +'ze width for all...'#9'OnExecute'#7'!actOptimizeColumnsWidthAllExecute'#0#0 + +#7'TAction'#20'actOptimizeWidthCol1'#7'Caption'#6#17'Optimize width...'#9'On' + +'Execute'#7#27'actOptimizeWidthCol1Execute'#0#0#7'TAction'#14'showFindDialog' + +#7'Caption'#6#19'Show find dialog...'#9'OnExecute'#7#21'showFindDialogExecut' + +'e'#0#0#7'TAction'#17'showColumnsDialog'#7'Caption'#6#22'Show columns dialog' + +'...'#9'OnExecute'#7#24'showColumnsDialogExecute'#0#0#0#11'TDatasource'#11'D' + ,'atasource2'#7'DataSet'#7#13'RxMemoryData2'#4'left'#3#207#0#3'top'#3#8#1#0#0 + +#13'TRxMemoryData'#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'Size'#3#130#0#0#0#4'left'#3#240#0#3'top'#3#8#1#0#13'TLongintField'#26 + +'RxMemoryData2DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9 + +'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#0#11'LookupCache'#8#13'ProviderFla' + +'gs'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TSt' + +'ringField'#28'RxMemoryData2DEVELOPER_NAME1'#12'DisplayWidth'#3#130#0#9'Fiel' + +'dKind'#7#6'fkData'#9'FieldName'#6#14'DEVELOPER_NAME'#5'Index'#2#1#11'Lookup' + +'Cache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8 + +'Required'#8#4'Size'#3#130#0#0#0#0#15'TXMLPropStorage'#15'XMLPropStorage1'#12 + +'StoredValues'#14#0#4'left'#3#241#0#3'top'#3#128#0#0#0#0 ]); diff --git a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.pas b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.pas index 7e9511793..8841f1f1e 100644 --- a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.pas +++ b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.pas @@ -6,7 +6,8 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxmemds, - DB, rxdbgrid, ExtCtrls, Buttons, Menus, ActnList, StdCtrls, DBGrids; + DB, rxdbgrid, ExtCtrls, Buttons, Menus, ActnList, StdCtrls, DBGrids, + XMLPropStorage, IDEWindowIntf; type @@ -14,6 +15,7 @@ type TRxDBGridMainForm = class(TForm) actCalcTotal: TAction; + CheckBox2: TCheckBox; MenuItem5: TMenuItem; MenuItem6: TMenuItem; MenuItem7: TMenuItem; @@ -46,10 +48,12 @@ type RxMemoryData2: TRxMemoryData; RxMemoryData2DEVELOPER_ID1: TLongintField; RxMemoryData2DEVELOPER_NAME1: TStringField; + XMLPropStorage1: TXMLPropStorage; procedure actCalcTotalExecute(Sender: TObject); procedure actOptimizeColumnsWidthAllExecute(Sender: TObject); procedure actOptimizeWidthCol1Execute(Sender: TObject); procedure CheckBox1Change(Sender: TObject); + procedure CheckBox2Change(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure FormCreate(Sender: TObject); procedure RxDBGrid1Filtred(Sender: TObject); @@ -95,7 +99,7 @@ begin RxMemoryData1.AppendRecord([14, 'Бух. комплекс "45-я Параллель"', 180, 'ООО "Boot"', EncodeDate(2007, 2, 1), 3]); RxMemoryData1.AppendRecord([15, 'Консультант+', 380, 'Консультант+', EncodeDate(2007, 2, 1), 3]); RxMemoryData1.AppendRecord([16, 'Гарант', 480, 'Гарант', EncodeDate(2007, 2, 1), 3]); - DoFillFilters; +// DoFillFilters; RxMemoryData1.First; RxDBGrid1.CalcStatTotals; //fix error in GotoBookmark end; @@ -181,6 +185,11 @@ begin RxMemoryData1.Filtered:=CheckBox1.Checked; end; +procedure TRxDBGridMainForm.CheckBox2Change(Sender: TObject); +begin + RxDBGrid1.AutoFillColumns:=CheckBox2.Checked; +end; + procedure TRxDBGridMainForm.ComboBox1Change(Sender: TObject); begin RxDBGrid1.ReadOnly:=ComboBox1.ItemIndex <> 0; diff --git a/components/rx/rxdbgrid_columsunit.lfm b/components/rx/rxdbgrid_columsunit.lfm index c15cce8f2..2be4e6d28 100644 --- a/components/rx/rxdbgrid_columsunit.lfm +++ b/components/rx/rxdbgrid_columsunit.lfm @@ -10,7 +10,7 @@ object rxDBGridColumsForm: TrxDBGridColumsForm OnCreate = FormCreate Position = poScreenCenter ShowHint = True - LCLVersion = '0.9.27' + LCLVersion = '0.9.29' object CheckListBox1: TCheckListBox AnchorSideLeft.Control = Owner AnchorSideTop.Control = Owner @@ -18,7 +18,7 @@ object rxDBGridColumsForm: TrxDBGridColumsForm AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = ButtonPanel1 Left = 6 - Height = 315 + Height = 317 Top = 6 Width = 436 Anchors = [akTop, akLeft, akRight, akBottom] @@ -29,8 +29,8 @@ object rxDBGridColumsForm: TrxDBGridColumsForm end object ButtonPanel1: TButtonPanel Left = 6 - Height = 42 - Top = 327 + Height = 40 + Top = 329 Width = 436 TabOrder = 1 ShowButtons = [pbOK, pbCancel, pbHelp] @@ -41,7 +41,7 @@ object rxDBGridColumsForm: TrxDBGridColumsForm AnchorSideBottom.Control = SpeedButton1 AnchorSideBottom.Side = asrBottom Left = 143 - Height = 34 + Height = 32 Top = 0 Width = 23 Anchors = [akTop, akLeft, akBottom] @@ -84,13 +84,14 @@ object rxDBGridColumsForm: TrxDBGridColumsForm 0000000000000000000000000000000000000000000000000000 } NumGlyphs = 0 + OnClick = SpeedButton2Click end object SpeedButton1: TSpeedButton AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = ButtonPanel1 AnchorSideBottom.Side = asrBottom Left = 114 - Height = 34 + Height = 32 Top = 0 Width = 23 Anchors = [akTop, akLeft, akBottom] @@ -133,6 +134,7 @@ object rxDBGridColumsForm: TrxDBGridColumsForm 0000000000000000000000000000000000000000000000000000 } NumGlyphs = 0 + OnClick = SpeedButton1Click end end end diff --git a/components/rx/rxdbgrid_columsunit.lrs b/components/rx/rxdbgrid_columsunit.lrs index 7149348bc..fa49aa533 100644 --- a/components/rx/rxdbgrid_columsunit.lrs +++ b/components/rx/rxdbgrid_columsunit.lrs @@ -1,23 +1,23 @@ -{ - , lazarus } +{ Это - файл ресурсов, автоматически созданный lazarus } LazarusResources.Add('TrxDBGridColumsForm','FORMDATA',[ 'TPF0'#19'TrxDBGridColumsForm'#18'rxDBGridColumsForm'#4'Left'#3#233#1#6'Heigh' +'t'#3'w'#1#3'Top'#3#248#0#5'Width'#3#192#1#13'ActiveControl'#7#13'CheckListB' +'ox1'#7'Caption'#6#11'Grid colums'#12'ClientHeight'#3'w'#1#11'ClientWidth'#3 +#192#1#8'OnCreate'#7#10'FormCreate'#8'Position'#7#14'poScreenCenter'#8'ShowH' - +'int'#9#10'LCLVersion'#6#6'0.9.27'#0#13'TCheckListBox'#13'CheckListBox1'#22 + +'int'#9#10'LCLVersion'#6#6'0.9.29'#0#13'TCheckListBox'#13'CheckListBox1'#22 +'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#23 +'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom' - +#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#2#6#6'Height'#3';'#1 + +#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#2#6#6'Height'#3'='#1 +#3'Top'#2#6#5'Width'#3#180#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'a' +'kBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#8'TabOrder'#2#0#8 +'TopIndex'#2#255#0#0#12'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height' - +#2'*'#3'Top'#3'G'#1#5'Width'#3#180#1#8'TabOrder'#2#1#11'ShowButtons'#11#4'pb' + +#2'('#3'Top'#3'I'#1#5'Width'#3#180#1#8'TabOrder'#2#1#11'ShowButtons'#11#4'pb' +'OK'#8'pbCancel'#6'pbHelp'#0#0#12'TSpeedButton'#12'SpeedButton2'#22'AnchorSi' +'deLeft.Control'#7#12'SpeedButton1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21 +'AnchorSideTop.Control'#7#12'SpeedButton1'#24'AnchorSideBottom.Control'#7#12 +'SpeedButton1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#143#0#6'He' - +'ight'#2'"'#3'Top'#2#0#5'Width'#2#23#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBo' + +'ight'#2' '#3'Top'#2#0#5'Width'#2#23#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBo' +'ttom'#0#18'BorderSpacing.Left'#2#6#5'Color'#7#9'clBtnFace'#10'Glyph.Data'#10 +':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0 +' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 @@ -50,42 +50,43 @@ LazarusResources.Add('TrxDBGridColumsForm','FORMDATA',[ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#9'NumGlyphs'#2#0#0 - +#0#12'TSpeedButton'#12'SpeedButton1'#19'AnchorSideLeft.Side'#7#9'asrBottom' - +#21'AnchorSideTop.Control'#7#12'ButtonPanel1'#21'AnchorSideBottom.Side'#7#9 - +'asrBottom'#4'Left'#2'r'#6'Height'#2'"'#3'Top'#2#0#5'Width'#2#23#7'Anchors' - +#11#5'akTop'#6'akLeft'#8'akBottom'#0#18'BorderSpacing.Left'#2#18#5'Color'#7#9 - +'clBtnFace'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0 - +'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#9'NumGlyphs'#2#0#7 + +'OnClick'#7#17'SpeedButton2Click'#0#0#12'TSpeedButton'#12'SpeedButton1'#19'A' + +'nchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#12'ButtonPan' + +'el1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2'r'#6'Height'#2' '#3 + +'Top'#2#0#5'Width'#2#23#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#18'Bo' + +'rderSpacing.Left'#2#18#5'Color'#7#9'clBtnFace'#10'Glyph.Data'#10':'#4#0#0'6' + +#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0 + +#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0 - +#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#128 - ,#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#128 - +#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#128 - +#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#0#255 - +#128#128#0#255#128#128#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#128#128#0 - +#255#128#128#0#255#128#128#0#255#128#128#0#255#128#128#0#255#128#128#0#255#0 - +#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + ,#0#0#0#0#0#0#255#128#128#0#255#128#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#255#128#128#0#255#128#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#255#128#128#0#255#128#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0 + +#0#255#0#0#0#255#128#128#0#255#128#128#0#255#128#128#0#255#0#0#0#255#0#0#0 + +#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#255#128#128#0#255#128#128#0#255#128#128#0#255#128#128#0#255#128#128#0#255 - +#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#128#128#0#255#128#128#0#255#0#0#0#255 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#128#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#128#128#0#255#128#128#0 + +#255#128#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0#255#128 + +#128#0#255#128#128#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#128#128#0 + +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#9'NumGlyphs'#2#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#9'NumGlyphs'#2#0#7'OnClick'#7#17 + +'SpeedButton1Click'#0#0#0#0 ]); diff --git a/components/rx/rxdbgrid_columsunit.pas b/components/rx/rxdbgrid_columsunit.pas index 3757e3ff3..5a25b76ed 100644 --- a/components/rx/rxdbgrid_columsunit.pas +++ b/components/rx/rxdbgrid_columsunit.pas @@ -18,10 +18,12 @@ type SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; procedure FormCreate(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton2Click(Sender: TObject); private FGrid:TRxDBGrid; procedure SetGrid(AGrid:TRxDBGrid); - procedure SetGridColumnsVisible; + procedure SetGridColumnsParams; public { public declarations } end; @@ -38,7 +40,10 @@ begin rxDBGridColumsForm:=TrxDBGridColumsForm.Create(Application); rxDBGridColumsForm.SetGrid(Grid); if rxDBGridColumsForm.ShowModal = mrOk then - rxDBGridColumsForm.SetGridColumnsVisible; + begin + if Assigned(Grid) then + rxDBGridColumsForm.SetGridColumnsParams; + end; rxDBGridColumsForm.Free; end; @@ -55,6 +60,42 @@ begin SpeedButton2.Hint:=sRxDbGridSelColHint2; end; +procedure TrxDBGridColumsForm.SpeedButton1Click(Sender: TObject); +var + S:string; + i:integer; +begin + if CheckListBox1.Items.Count > 1 then + begin + if CheckListBox1.ItemIndex>0 then + begin + i:=CheckListBox1.ItemIndex-1; + S:=CheckListBox1.Items[CheckListBox1.ItemIndex]; + CheckListBox1.Items[CheckListBox1.ItemIndex]:=CheckListBox1.Items[i]; + CheckListBox1.Items[i]:=S; + CheckListBox1.ItemIndex:=i; + end; + end; +end; + +procedure TrxDBGridColumsForm.SpeedButton2Click(Sender: TObject); +var + S:string; + i:integer; +begin + if CheckListBox1.Items.Count > 1 then + begin + if CheckListBox1.ItemIndex<CheckListBox1.Items.Count-1 then + begin + i:=CheckListBox1.ItemIndex+1; + S:=CheckListBox1.Items[CheckListBox1.ItemIndex]; + CheckListBox1.Items[CheckListBox1.ItemIndex]:=CheckListBox1.Items[i]; + CheckListBox1.Items[i]:=S; + CheckListBox1.ItemIndex:=i; + end; + end; +end; + procedure TrxDBGridColumsForm.SetGrid(AGrid: TRxDBGrid); var i:integer; @@ -72,14 +113,19 @@ begin end; end; -procedure TrxDBGridColumsForm.SetGridColumnsVisible; +procedure TrxDBGridColumsForm.SetGridColumnsParams; var i:integer; + Col:TRxColumn; begin - if Assigned(FGrid) then + for i:=0 to CheckListBox1.Items.Count-1 do begin - for i:=0 to CheckListBox1.Items.Count-1 do - FGrid.Columns[i].Visible:=CheckListBox1.Checked[i]; + Col:=FGrid.ColumnByCaption(CheckListBox1.Items[i]); + if Assigned(Col) then + begin + Col.Visible:=CheckListBox1.Checked[i]; + Col.Index:=i; + end end; end;