git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1240 8e941d3f-bd1b-0410-a28a-d453659cc2b4

This commit is contained in:
alexs75
2010-06-29 16:38:27 +00:00
parent 68477cc125
commit 0a7ffce366
3 changed files with 103 additions and 93 deletions

View File

@ -59,7 +59,7 @@
<UnitName Value="RxDBGridDemo"/> <UnitName Value="RxDBGridDemo"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="5" Y="17"/> <CursorPos X="5" Y="17"/>
<UsageCount Value="44"/> <UsageCount Value="45"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
@ -71,7 +71,7 @@
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="148"/> <TopLine Value="148"/>
<CursorPos X="15" Y="157"/> <CursorPos X="15" Y="157"/>
<UsageCount Value="44"/> <UsageCount Value="45"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
@ -396,13 +396,13 @@
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="78"/> <TopLine Value="1216"/>
<CursorPos X="21" Y="113"/> <CursorPos X="10" Y="1238"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Bookmarks Count="3"> <Bookmarks Count="3">
<Item0 X="3" Y="3550" ID="2"/> <Item0 X="3" Y="2222" ID="3"/>
<Item1 X="3" Y="2199" ID="3"/> <Item1 X="18" Y="1234" ID="1"/>
<Item2 X="3" Y="2774" ID="1"/> <Item2 X="3" Y="1518" ID="2"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit45> </Unit45>
@ -532,127 +532,123 @@
<DefaultSyntaxHighlighter Value="Text"/> <DefaultSyntaxHighlighter Value="Text"/>
</Unit58> </Unit58>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="29" HistoryIndex="28">
<Position1> <Position1>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="373" Column="15" TopLine="355"/> <Caret Line="441" Column="32" TopLine="418"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="477" Column="74" TopLine="464"/> <Caret Line="2769" Column="21" TopLine="2769"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="1045" Column="19" TopLine="1038"/> <Caret Line="1" Column="1" TopLine="1"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="477" Column="76" TopLine="463"/> <Caret Line="441" Column="22" TopLine="423"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2839" Column="19" TopLine="2814"/> <Caret Line="2769" Column="28" TopLine="2751"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="441" Column="32" TopLine="418"/> <Caret Line="2772" Column="13" TopLine="2754"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2769" Column="21" TopLine="2769"/> <Caret Line="229" Column="15" TopLine="211"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="3543" Column="4" TopLine="3538"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/>
<Caret Line="441" Column="22" TopLine="423"/> <Caret Line="50" Column="20" TopLine="42"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2769" Column="28" TopLine="2751"/> <Caret Line="124" Column="55" TopLine="103"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2772" Column="13" TopLine="2754"/> <Caret Line="2774" Column="3" TopLine="2756"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="229" Column="15" TopLine="211"/> <Caret Line="3571" Column="37" TopLine="3553"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3543" Column="4" TopLine="3538"/> <Caret Line="3552" Column="85" TopLine="3549"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="50" Column="20" TopLine="42"/> <Caret Line="132" Column="74" TopLine="100"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="124" Column="55" TopLine="103"/> <Caret Line="134" Column="74" TopLine="102"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2774" Column="3" TopLine="2756"/> <Caret Line="570" Column="16" TopLine="538"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3571" Column="37" TopLine="3553"/>
</Position17>
<Position18>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3552" Column="85" TopLine="3549"/>
</Position18>
<Position19>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="132" Column="74" TopLine="100"/>
</Position19>
<Position20>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="134" Column="74" TopLine="102"/>
</Position20>
<Position21>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="570" Column="16" TopLine="538"/>
</Position21>
<Position22>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="457" Column="84" TopLine="439"/> <Caret Line="457" Column="84" TopLine="439"/>
</Position22> </Position17>
<Position23> <Position18>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="561" Column="26" TopLine="543"/> <Caret Line="561" Column="26" TopLine="543"/>
</Position23> </Position18>
<Position24> <Position19>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="1773" Column="27" TopLine="1757"/> <Caret Line="1773" Column="27" TopLine="1757"/>
</Position24> </Position19>
<Position25> <Position20>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="1" Column="1" TopLine="1"/>
</Position25> </Position20>
<Position26> <Position21>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="413" Column="26" TopLine="395"/> <Caret Line="413" Column="26" TopLine="395"/>
</Position26> </Position21>
<Position27> <Position22>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="152" Column="1" TopLine="150"/> <Caret Line="152" Column="1" TopLine="150"/>
</Position27> </Position22>
<Position28> <Position23>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="151" Column="1" TopLine="149"/> <Caret Line="151" Column="1" TopLine="149"/>
</Position28> </Position23>
<Position29> <Position24>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="157" Column="15" TopLine="148"/> <Caret Line="157" Column="15" TopLine="148"/>
</Position29> </Position24>
<Position30> <Position25>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="480" Column="36" TopLine="474"/> <Caret Line="480" Column="36" TopLine="474"/>
</Position30> </Position25>
<Position26>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3073" Column="33" TopLine="3041"/>
</Position26>
<Position27>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="1233" Column="21" TopLine="1212"/>
</Position27>
<Position28>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="1144" Column="108" TopLine="1118"/>
</Position28>
<Position29>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="1234" Column="18" TopLine="1219"/>
</Position29>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -1,7 +1,7 @@
object RxDBGridMainForm: TRxDBGridMainForm object RxDBGridMainForm: TRxDBGridMainForm
Left = 295 Left = 325
Height = 786 Height = 786
Top = 147 Top = 177
Width = 1012 Width = 1012
ActiveControl = Panel1 ActiveControl = Panel1
Caption = 'RxDBGrid Demo' Caption = 'RxDBGrid Demo'
@ -180,9 +180,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button2 AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 271 Left = 272
Height = 18 Height = 18
Top = 6 Top = 7
Width = 40 Width = 40
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Mode' Caption = 'Mode'
@ -191,9 +191,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
object Button1: TButton object Button1: TButton
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 6 Left = 7
Height = 29 Height = 29
Top = 6 Top = 7
Width = 87 Width = 87
Action = actCalcTotal Action = actCalcTotal
AutoSize = True AutoSize = True
@ -204,9 +204,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1 AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 99 Left = 100
Height = 29 Height = 29
Top = 6 Top = 7
Width = 166 Width = 166
Action = actOptimizeColumnsWidthAll Action = actOptimizeColumnsWidthAll
AutoSize = True AutoSize = True
@ -218,9 +218,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2 AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 500 Left = 501
Height = 22 Height = 22
Top = 34 Top = 35
Width = 86 Width = 86
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'Use filter' Caption = 'Use filter'
@ -231,9 +231,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1 AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1 AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 277 Left = 278
Height = 31 Height = 31
Top = 30 Top = 31
Width = 217 Width = 217
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 0
@ -251,9 +251,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1 AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 500 Left = 501
Height = 22 Height = 22
Top = 6 Top = 7
Width = 138 Width = 138
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Auto fill columns' Caption = 'Auto fill columns'
@ -264,9 +264,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2 AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 644 Left = 645
Height = 22 Height = 22
Top = 6 Top = 7
Width = 125 Width = 125
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show indicator' Caption = 'Show indicator'
@ -280,9 +280,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3 AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 644 Left = 645
Height = 22 Height = 22
Top = 34 Top = 35
Width = 123 Width = 123
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show headers' Caption = 'Show headers'

View File

@ -1120,7 +1120,7 @@ var
H, H1, W, H2:integer; H, H1, W, H2:integer;
rxCol, rxColNext:TRxColumn; rxCol, rxColNext:TRxColumn;
rxTit, rxTitleNext:TRxColumnTitle; rxTit, rxTitleNext:TRxColumnTitle;
MLRec1:TMLCaptionItem; MLRec1, P:TMLCaptionItem;
MLRec2:TMLCaptionItem; MLRec2:TMLCaptionItem;
tmpCanvas: TCanvas; tmpCanvas: TCanvas;
begin begin
@ -1151,15 +1151,6 @@ begin
rxColNext:=TRxColumn(Columns[i+1]); rxColNext:=TRxColumn(Columns[i+1]);
rxTitleNext:=TRxColumnTitle(rxColNext.Title); rxTitleNext:=TRxColumnTitle(rxColNext.Title);
end; end;
{ TODO -oalexs : Тут необходимо также обработать скрытые столбцы }
{
j:=i;
while j < Columns.Count-1 then
begin
if
inc(j);
end;
}
W:=Max(rxCol.Width-6, 1); W:=Max(rxCol.Width-6, 1);
if rxTit.CaptionLinesCount > 0 then if rxTit.CaptionLinesCount > 0 then
@ -1172,7 +1163,7 @@ begin
if Assigned(rxTitleNext) and (rxTitleNext.CaptionLinesCount>j) then if Assigned(rxTitleNext) and (rxTitleNext.CaptionLinesCount>j) then
begin 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); MLRec2:=rxTitleNext.CaptionLine(j);
if MLRec1.Caption = MLRec2.Caption then if MLRec1.Caption = MLRec2.Caption then
begin begin
@ -1214,6 +1205,29 @@ begin
end; end;
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); RowHeights[0] := DefaultRowHeight * ({FTitleLines+}H);
if rdgFilter in OptionsRx then if rdgFilter in OptionsRx then