2011-07-19 15 views
1

我們有幾個報告使用Gnostice's eDocEngine將單獨的表格輸出到PDF中,如果數據正確地適合單元格,它們都可以正常工作。查找使用eDocEngine生成的表格的結尾

問題是,當數據包裝它改變行高,使表更大。這意味着當我們輸出下一個表時,它會重疊並且會丟棄報告輸出。目前,我們使用變通方法,例如測試字符串長度以查看是否將封裝或向下一個表添加常量,以便在頂級表增長一點的情況下添加一點空間。

我希望能夠做的是在致電EndTable獲取表格高度或底部之後,我可以相應地調整後續表格。

我們使用的德爾福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; 
相關問題