RxDBGrid - fix edit buttons

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2738 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2013-05-16 17:57:58 +00:00
parent 9a9db1d08a
commit bcbeed383b
3 changed files with 145 additions and 165 deletions

View File

@@ -54,7 +54,7 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/> <MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item4> </Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="88"> <Units Count="89">
<Unit0> <Unit0>
<Filename Value="RxDBGridDemo.lpr"/> <Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@@ -62,7 +62,7 @@
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="9" Y="16"/> <CursorPos X="9" Y="16"/>
<UsageCount Value="89"/> <UsageCount Value="93"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
@@ -75,7 +75,7 @@
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="12" Y="9"/> <CursorPos X="12" Y="9"/>
<UsageCount Value="89"/> <UsageCount Value="93"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
@@ -105,12 +105,12 @@
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="3900"/> <TopLine Value="875"/>
<CursorPos X="1" Y="3921"/> <CursorPos X="1" Y="904"/>
<UsageCount Value="13"/> <UsageCount Value="15"/>
<Bookmarks Count="2"> <Bookmarks Count="2">
<Item0 X="3" Y="1230" ID="2"/> <Item0 X="1" Y="4269" ID="1"/>
<Item1 X="1" Y="3831" ID="1"/> <Item1 X="1" Y="2499" ID="2"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit5> </Unit5>
@@ -501,17 +501,20 @@
<Filename Value="../../../../lcl/dbgrids.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="443"/> <TopLine Value="3118"/>
<CursorPos X="14" Y="463"/> <CursorPos X="27" Y="3151"/>
<UsageCount Value="18"/> <UsageCount Value="18"/>
</Unit58> </Unit58>
<Unit59> <Unit59>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="2558"/> <TopLine Value="7528"/>
<CursorPos X="1" Y="2580"/> <CursorPos X="35" Y="7562"/>
<UsageCount Value="21"/> <UsageCount Value="21"/>
<Bookmarks Count="1">
<Item0 X="23" Y="7562" ID="3"/>
</Bookmarks>
</Unit59> </Unit59>
<Unit60> <Unit60>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/> <Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
@@ -659,8 +662,8 @@
<Filename Value="../../../../lcl/controls.pp"/> <Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/> <UnitName Value="Controls"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1843"/> <TopLine Value="2126"/>
<CursorPos X="15" Y="1865"/> <CursorPos X="15" Y="2146"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
</Unit78> </Unit78>
<Unit79> <Unit79>
@@ -689,8 +692,8 @@
<Unit82> <Unit82>
<Filename Value="../../../../lcl/include/wincontrol.inc"/> <Filename Value="../../../../lcl/include/wincontrol.inc"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="7674"/> <TopLine Value="7862"/>
<CursorPos X="1" Y="7696"/> <CursorPos X="3" Y="7901"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
</Unit82> </Unit82>
<Unit83> <Unit83>
@@ -704,8 +707,8 @@
<Unit84> <Unit84>
<Filename Value="../../../../lcl/include/control.inc"/> <Filename Value="../../../../lcl/include/control.inc"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="5414"/> <TopLine Value="3955"/>
<CursorPos X="1" Y="5435"/> <CursorPos X="1" Y="3977"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit84> </Unit84>
<Unit85> <Unit85>
@@ -730,128 +733,99 @@
<CursorPos X="1" Y="670"/> <CursorPos X="1" Y="670"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit87> </Unit87>
<Unit88>
<Filename Value="../../../../lcl/include/winapi.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="596"/>
<CursorPos X="1" Y="618"/>
<UsageCount Value="10"/>
</Unit88>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="21" HistoryIndex="20">
<Position1> <Position1>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2861" Column="22" TopLine="2826"/> <Caret Line="2498" Column="1" TopLine="2494"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2862" Column="34" TopLine="2827"/> <Caret Line="4234" Column="1" TopLine="4213"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2886" Column="16" TopLine="2851"/> <Caret Line="2536" Column="1" TopLine="2495"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2891" Column="34" TopLine="2858"/> <Caret Line="4266" Column="1" TopLine="4250"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2892" Column="59" TopLine="2858"/> <Caret Line="2496" Column="21" TopLine="2477"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="2903" Column="18" TopLine="2869"/> <Caret Line="1812" Column="20" TopLine="1806"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3327" Column="13" TopLine="3293"/> <Caret Line="4272" Column="1" TopLine="4251"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3378" Column="34" TopLine="3344"/> <Caret Line="2530" Column="32" TopLine="2501"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3380" Column="36" TopLine="3346"/> <Caret Line="4271" Column="1" TopLine="4250"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3791" Column="30" TopLine="3756"/> <Caret Line="140" Column="1" TopLine="140"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3888" Column="29" TopLine="3847"/> <Caret Line="618" Column="22" TopLine="586"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3935" Column="29" TopLine="3899"/> <Caret Line="3616" Column="28" TopLine="3581"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="3783" Column="3" TopLine="3778"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="472" Column="20" TopLine="438"/> <Caret Line="515" Column="24" TopLine="496"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3893" Column="3" TopLine="3886"/> <Caret Line="3797" Column="38" TopLine="3763"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3830" Column="31" TopLine="3807"/> <Caret Line="4436" Column="22" TopLine="4403"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="882" Column="6" TopLine="861"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3091" Column="79" TopLine="3055"/> <Caret Line="1285" Column="1" TopLine="1250"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3830" Column="48" TopLine="3796"/> <Caret Line="898" Column="5" TopLine="861"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3918" Column="24" TopLine="3881"/> <Caret Line="1286" Column="3" TopLine="1284"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3931" Column="80" TopLine="3897"/> <Caret Line="1283" Column="22" TopLine="1283"/>
</Position21> </Position21>
<Position22>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position22>
<Position23>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3089" Column="79" TopLine="3055"/>
</Position23>
<Position24>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3830" Column="48" TopLine="3796"/>
</Position24>
<Position25>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3915" Column="24" TopLine="3881"/>
</Position25>
<Position26>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3933" Column="1" TopLine="3904"/>
</Position26>
<Position27>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position27>
<Position28>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3089" Column="79" TopLine="3055"/>
</Position28>
<Position29>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3831" Column="18" TopLine="3796"/>
</Position29>
<Position30>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3829" Column="31" TopLine="3808"/>
</Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@@ -1,11 +1,11 @@
object RxDBGridMainForm: TRxDBGridMainForm object RxDBGridMainForm: TRxDBGridMainForm
Left = 144 Left = 306
Height = 721 Height = 721
Top = 149 Top = 142
Width = 1187 Width = 1187
ActiveControl = Panel1 ActiveControl = Panel1
Caption = 'RxDBGrid Demo' Caption = 'RxDBGrid Demo'
ClientHeight = 702 ClientHeight = 698
ClientWidth = 1187 ClientWidth = 1187
Menu = MainMenu1 Menu = MainMenu1
OnCreate = FormCreate OnCreate = FormCreate
@@ -13,8 +13,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
LCLVersion = '1.1' LCLVersion = '1.1'
object RxDBGrid1: TRxDBGrid object RxDBGrid1: TRxDBGrid
Left = 0 Left = 0
Height = 648 Height = 634
Top = 54 Top = 64
Width = 1187 Width = 1187
TitleButtons = True TitleButtons = True
AutoSort = True AutoSort = True
@@ -268,22 +268,22 @@ object RxDBGridMainForm: TRxDBGridMainForm
end end
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 54 Height = 64
Top = 0 Top = 0
Width = 1187 Width = 1187
Align = alTop Align = alTop
AutoSize = True AutoSize = True
ClientHeight = 54 ClientHeight = 64
ClientWidth = 1187 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 = 240 Left = 245
Height = 13 Height = 15
Top = 7 Top = 7
Width = 26 Width = 34
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Mode' Caption = 'Mode'
ParentColor = False ParentColor = False
@@ -292,9 +292,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 7 Left = 7
Height = 23 Height = 27
Top = 7 Top = 7
Width = 83 Width = 77
Action = actCalcTotal Action = actCalcTotal
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@@ -304,10 +304,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1 AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 96 Left = 90
Height = 23 Height = 27
Top = 7 Top = 7
Width = 138 Width = 149
Action = actOptimizeColumnsWidthAll Action = actOptimizeColumnsWidthAll
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@@ -318,11 +318,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2 AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 469 Left = 474
Height = 17 Height = 22
Hint = 'Use filter line' Hint = 'Use filter line'
Top = 30 Top = 35
Width = 63 Width = 78
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'Use filter' Caption = 'Use filter'
OnChange = CheckBox1Change OnChange = CheckBox1Change
@@ -332,12 +332,12 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1 AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1 AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 246 Left = 251
Height = 21 Height = 25
Top = 26 Top = 28
Width = 217 Width = 217
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 13 ItemHeight = 0
ItemIndex = 0 ItemIndex = 0
Items.Strings = ( Items.Strings = (
'Edit mode' 'Edit mode'
@@ -352,11 +352,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1 AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 469 Left = 474
Height = 17 Height = 22
Hint = 'Auto fill column width' Hint = 'Auto fill column width'
Top = 7 Top = 7
Width = 97 Width = 122
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Auto fill columns' Caption = 'Auto fill columns'
OnChange = CheckBox2Change OnChange = CheckBox2Change
@@ -366,10 +366,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2 AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 572 Left = 602
Height = 17 Height = 22
Top = 7 Top = 7
Width = 90 Width = 113
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show indicator' Caption = 'Show indicator'
Checked = True Checked = True
@@ -382,10 +382,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3 AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 572 Left = 602
Height = 17 Height = 22
Top = 30 Top = 35
Width = 88 Width = 111
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show headers' Caption = 'Show headers'
Checked = True Checked = True
@@ -397,10 +397,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox3 AnchorSideLeft.Control = CheckBox3
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 668 Left = 721
Height = 17 Height = 22
Top = 7 Top = 7
Width = 73 Width = 90
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Word wrap' Caption = 'Word wrap'
OnChange = CheckBox5Change OnChange = CheckBox5Change
@@ -553,29 +553,24 @@ object RxDBGridMainForm: TRxDBGridMainForm
top = 197 top = 197
object MenuItem1: TMenuItem object MenuItem1: TMenuItem
Action = actOptimizeWidthCol1 Action = actOptimizeWidthCol1
OnClick = actOptimizeWidthCol1Execute
end end
object MenuItem2: TMenuItem object MenuItem2: TMenuItem
Caption = '-' Caption = '-'
end end
object MenuItem4: TMenuItem object MenuItem4: TMenuItem
Action = actCalcTotal Action = actCalcTotal
OnClick = actCalcTotalExecute
end end
object MenuItem3: TMenuItem object MenuItem3: TMenuItem
Action = actOptimizeColumnsWidthAll Action = actOptimizeColumnsWidthAll
OnClick = actOptimizeColumnsWidthAllExecute
end end
object MenuItem5: TMenuItem object MenuItem5: TMenuItem
Caption = '-' Caption = '-'
end end
object MenuItem7: TMenuItem object MenuItem7: TMenuItem
Action = showColumnsDialog Action = showColumnsDialog
OnClick = showColumnsDialogExecute
end end
object MenuItem6: TMenuItem object MenuItem6: TMenuItem
Action = showFindDialog Action = showFindDialog
OnClick = showFindDialogExecute
end end
end end
object ActionList1: TActionList object ActionList1: TActionList
@@ -772,14 +767,12 @@ object RxDBGridMainForm: TRxDBGridMainForm
Caption = 'System' Caption = 'System'
object MenuItem11: TMenuItem object MenuItem11: TMenuItem
Action = sysExit Action = sysExit
OnClick = sysExitExecute
end end
end end
object MenuItem9: TMenuItem object MenuItem9: TMenuItem
Caption = 'Help' Caption = 'Help'
object MenuItem10: TMenuItem object MenuItem10: TMenuItem
Action = hlpAbout Action = hlpAbout
OnClick = hlpAboutExecute
end end
end end
end end

View File

@@ -575,12 +575,14 @@ type
procedure DoClearInvalidTitle; procedure DoClearInvalidTitle;
procedure DoDrawInvalidTitle; procedure DoDrawInvalidTitle;
procedure DoSetColEdtBtn;
protected protected
procedure CollumnSortListUpdate; procedure CollumnSortListUpdate;
procedure CollumnSortListClear; procedure CollumnSortListClear;
procedure CollumnSortListApply; procedure CollumnSortListApply;
function DatalinkActive: boolean; function DatalinkActive: boolean;
procedure AdjustEditorBounds(NewCol,NewRow:Integer); override;
procedure LinkActive(Value: Boolean); override; procedure LinkActive(Value: Boolean); override;
procedure DefaultDrawCellA(aCol, aRow: integer; aRect: TRect; procedure DefaultDrawCellA(aCol, aRow: integer; aRect: TRect;
@@ -1278,15 +1280,13 @@ begin
UpdateMask; UpdateMask;
end; end;
{ {
procedure TRxDBGridDateEditor.SetBounds(aLeft, aTop, aWidth, aHeight: integer); procedure TRxDBGridDateEditor.SetBounds(aLeft, aTop, aWidth, aHeight: integer);
begin begin
BeginUpdateBounds;
Dec(aWidth, 25); //ButtonWidth); Dec(aWidth, 25); //ButtonWidth);
inherited SetBounds(aLeft, aTop, aWidth, aHeight); inherited SetBounds(aLeft, aTop, aWidth, aHeight);
EndUpdateBounds; end; }
end;
}
procedure TRxDBGridDateEditor.EditingDone; procedure TRxDBGridDateEditor.EditingDone;
begin begin
@@ -1802,6 +1802,15 @@ begin
DataSource.DataSet.Active; DataSource.DataSet.Active;
end; end;
procedure TRxDBGrid.AdjustEditorBounds(NewCol, NewRow: Integer);
begin
inherited AdjustEditorBounds(NewCol, NewRow);
if EditorMode then
begin
DoSetColEdtBtn;
end;
end;
procedure TRxDBGrid.TrackButton(X, Y: integer); procedure TRxDBGrid.TrackButton(X, Y: integer);
var var
Cell: TGridCoord; Cell: TGridCoord;
@@ -2482,6 +2491,50 @@ begin
end; end;
end; end;
procedure TRxDBGrid.DoSetColEdtBtn;
var
R:TRxColumn;
i, w:integer;
begin
R:=SelectedColumn as TRxColumn;
if Assigned(Editor) and Assigned(R) then
begin
W:=0;
for i:=0 to R.EditButtons.Count-1 do
begin
if R.EditButtons[i].Visible then
W:=W+R.EditButtons[i].Width;
end;
if W>0 then
begin
if Editor.Name = 'ButtonEditor' then
begin
Editor.Left:=Editor.Left - W;
W:=Editor.Width + Editor.Left;
end
else
begin
Editor.Width:=Editor.Width - W;
W:=Editor.Width + Editor.Left;
end;
for i:=0 to R.EditButtons.Count-1 do
if R.EditButtons[i].Visible then
begin
R.EditButtons[i].FButton.Parent:=Self;
R.EditButtons[i].FButton.Left:=W;
R.EditButtons[i].FButton.Top:=Editor.Top;
R.EditButtons[i].FButton.Height:=Editor.Height;
R.EditButtons[i].FButton.Visible:=true;
W:=W+R.EditButtons[i].FButton.Width;
end;
end;
end;
end;
procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: integer; aRect: TRect; procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: integer; aRect: TRect;
aState: TGridDrawState); aState: TGridDrawState);
@@ -4210,49 +4263,9 @@ begin
end; end;
procedure TRxDBGrid.DoEditorShow; procedure TRxDBGrid.DoEditorShow;
var
R:TRxColumn;
i, w:integer;
begin begin
inherited DoEditorShow; inherited DoEditorShow;
DoSetColEdtBtn;
R:=SelectedColumn as TRxColumn;
if Assigned(Editor) and Assigned(R) then
begin
W:=0;
for i:=0 to R.EditButtons.Count-1 do
begin
if R.EditButtons[i].Visible then
W:=W+R.EditButtons[i].Width;
end;
if W>0 then
begin
if Editor.Name = 'ButtonEditor' then
begin
Editor.Left:=Editor.Left - W;
W:=Editor.Width + Editor.Left;
end
else
begin
Editor.Width:=Editor.Width - W;
W:=Editor.Width + Editor.Left;
end;
for i:=0 to R.EditButtons.Count-1 do
if R.EditButtons[i].Visible then
begin
R.EditButtons[i].FButton.Parent:=Self;
R.EditButtons[i].FButton.Left:=W;
R.EditButtons[i].FButton.Top:=Editor.Top;
R.EditButtons[i].FButton.Height:=Editor.Height;
R.EditButtons[i].FButton.Visible:=true;
W:=W+R.EditButtons[i].FButton.Width;
end;
end;
end;
end; end;
procedure TRxDBGrid.GetOnCreateLookup; procedure TRxDBGrid.GetOnCreateLookup;