跟踪DBGridEh.pas到第13538行(4.2版本) 可以看到: 这一段代码是用来改变行高的,如果将红色部分用iif(FooterRowCount = 0,RowCount+1,0)代替可以到达调整单行的目的。procedure TCustomDBGridEh.RowHeightsChanged; var I, ThisHasChanged, Def: Integer; begin if (FDefaultRowChanged = True) then begin FDefaultRowChanged := False; ThisHasChanged := -1; Def := DefaultRowHeight; for I := Ord(dgTitles in Options) to RowCount-1 do if RowHeights[I] <> Def then begin ThisHasChanged := I; Break; end; if ThisHasChanged <> -1 then begin FRowLines := 0; SetRowHeight(RowHeights[ThisHasChanged]); UpdateScrollBar; end; end; inherited; end;
可以看到:
这一段代码是用来改变行高的,如果将红色部分用iif(FooterRowCount = 0,RowCount+1,0)代替可以到达调整单行的目的。procedure TCustomDBGridEh.RowHeightsChanged;
var
I, ThisHasChanged, Def: Integer;
begin
if (FDefaultRowChanged = True) then
begin
FDefaultRowChanged := False;
ThisHasChanged := -1;
Def := DefaultRowHeight;
for I := Ord(dgTitles in Options) to RowCount-1 do
if RowHeights[I] <> Def then
begin
ThisHasChanged := I;
Break;
end;
if ThisHasChanged <> -1 then
begin
FRowLines := 0;
SetRowHeight(RowHeights[ThisHasChanged]);
UpdateScrollBar;
end;
end;
inherited;
end;