我用DBGridEh显示页脚合计,我想固定页脚的行高,当别的行高调高调低的时候,它能保持不变,要不很难看,有办法解决么?
cxgrid的页脚能设置不变的

解决方案 »

  1.   

    跟踪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;