diff --git a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
index e66f266ba..404184be7 100644
--- a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
+++ b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
@@ -59,7 +59,7 @@
-
+
@@ -71,7 +71,7 @@
-
+
@@ -396,13 +396,13 @@
-
-
+
+
-
-
-
+
+
+
@@ -532,127 +532,123 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm
index 373b94b00..18393dabc 100644
--- a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm
+++ b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm
@@ -1,7 +1,7 @@
object RxDBGridMainForm: TRxDBGridMainForm
- Left = 295
+ Left = 325
Height = 786
- Top = 147
+ Top = 177
Width = 1012
ActiveControl = Panel1
Caption = 'RxDBGrid Demo'
@@ -180,9 +180,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
- Left = 271
+ Left = 272
Height = 18
- Top = 6
+ Top = 7
Width = 40
BorderSpacing.Around = 6
Caption = 'Mode'
@@ -191,9 +191,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
object Button1: TButton
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
- Left = 6
+ Left = 7
Height = 29
- Top = 6
+ Top = 7
Width = 87
Action = actCalcTotal
AutoSize = True
@@ -204,9 +204,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
- Left = 99
+ Left = 100
Height = 29
- Top = 6
+ Top = 7
Width = 166
Action = actOptimizeColumnsWidthAll
AutoSize = True
@@ -218,9 +218,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
- Left = 500
+ Left = 501
Height = 22
- Top = 34
+ Top = 35
Width = 86
BorderSpacing.Left = 6
Caption = 'Use filter'
@@ -231,9 +231,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
- Left = 277
+ Left = 278
Height = 31
- Top = 30
+ Top = 31
Width = 217
BorderSpacing.Around = 6
ItemHeight = 0
@@ -251,9 +251,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
- Left = 500
+ Left = 501
Height = 22
- Top = 6
+ Top = 7
Width = 138
BorderSpacing.Around = 6
Caption = 'Auto fill columns'
@@ -264,9 +264,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
- Left = 644
+ Left = 645
Height = 22
- Top = 6
+ Top = 7
Width = 125
BorderSpacing.Around = 6
Caption = 'Show indicator'
@@ -280,9 +280,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom
- Left = 644
+ Left = 645
Height = 22
- Top = 34
+ Top = 35
Width = 123
BorderSpacing.Around = 6
Caption = 'Show headers'
diff --git a/components/rx/rxdbgrid.pas b/components/rx/rxdbgrid.pas
index 7016a5022..c3d0313df 100644
--- a/components/rx/rxdbgrid.pas
+++ b/components/rx/rxdbgrid.pas
@@ -1120,7 +1120,7 @@ var
H, H1, W, H2:integer;
rxCol, rxColNext:TRxColumn;
rxTit, rxTitleNext:TRxColumnTitle;
- MLRec1:TMLCaptionItem;
+ MLRec1, P:TMLCaptionItem;
MLRec2:TMLCaptionItem;
tmpCanvas: TCanvas;
begin
@@ -1151,15 +1151,6 @@ begin
rxColNext:=TRxColumn(Columns[i+1]);
rxTitleNext:=TRxColumnTitle(rxColNext.Title);
end;
- { TODO -oalexs : Тут необходимо также обработать скрытые столбцы }
- {
- j:=i;
- while j < Columns.Count-1 then
- begin
- if
- inc(j);
- end;
- }
W:=Max(rxCol.Width-6, 1);
if rxTit.CaptionLinesCount > 0 then
@@ -1172,7 +1163,7 @@ begin
if Assigned(rxTitleNext) and (rxTitleNext.CaptionLinesCount>j) then
begin
- //make links to next column (and in the next column set linc to prior-current)
+ //make links to next column (and in the next column set link to prior-current)
MLRec2:=rxTitleNext.CaptionLine(j);
if MLRec1.Caption = MLRec2.Caption then
begin
@@ -1214,6 +1205,29 @@ begin
end;
end;
+ //Тут расчёт высоты заголовка каждой колонки - надо обработать слитые заголовки
+{ for i:=0 to Columns.Count-1 do
+ begin
+ rxCol:=TRxColumn(Columns[i]);
+ if Assigned(rxCol) and rxCol.Visible then
+ begin
+ for j:=0 to rxTit.CaptionLinesCount-1 do
+ begin
+ MLRec1:=rxTit.CaptionLine(j);
+ if not Assigned(MLRec1.Prior) then
+ begin
+ W:=MLRec1.Width;
+ P:=MLRec1.Next;
+ while Assigned(P) do
+ begin
+ Inc(W, P.Width);
+ P:=P.Next;
+ end;
+ end;
+ end;
+ end;
+ end;}
+
RowHeights[0] := DefaultRowHeight * ({FTitleLines+}H);
if rdgFilter in OptionsRx then