2011-07-19 18 views
1

Gnostice's eDocEngineを使用して別のテーブルをPDFに出力するいくつかのレポートがあります。eDocEngineを使用して作成されたテーブルの末尾を確認

問題は、データをラップすると行の高さが変更され、テーブルが大きくなります。つまり、次の表を出力すると、レポート出力が重複して破棄されます。現時点では、ストリングの長さをテストして、次のテーブルに定数を追加するかどうかを調べるなどの回避策を使用して、トップテーブルが少し大きくなる場合に少しスペースを追加します。

私ができることをしたいのは、EndTableを呼び出す後に、テーブルの高さまたは底を取得して、それに応じて後続のテーブルを調整できるようにすることです。私たちは、Delphi 2007を使用している

、eDocEngine 2.5

答えて

0
Type TExposeProtectedeDocEngine = Class (TgtCustomDocumentEngine) 
    public 
     function GetTableBottom: Double; 
     function GetTableTop: Double; 
     Function GetTableHeight: Double; 
End; 

{ TExposeProtectedeDocEngine } 

function TExposeProtectedeDocEngine.GetTableTop: Double; 
begin 
    if Assigned(FTableItem) then 
    begin 
     Result := FTableItem.Y; 
    end 
    else 
     Result := 0; 
end; 

function TExposeProtectedeDocEngine.GetTableHeight: Double; 
var 
    i: Integer; 
begin 
    Result := 0; 
    if Assigned(FTableItem) then 
    begin 
     for i := 0 to FTableItem.RowHeights.Count - 1 do 
      Result := Result + Int64(FTableItem.RowHeights[i]); 
    end; 
end; 

function TExposeProtectedeDocEngine.GetTableBottom: Double; 
begin 
    Result := GetTableHeight + GetTableTop; 
end; 

function GetPreviousTableBottom(Engine : TgtCustomDocumentEngine): Double; 
begin 
    Result := TExposeProtectedeDocEngine(Engine).GetTableBottom; 
end; 
関連する問題