AutoFitTableColumns
頁面版面、表格
描述
量測帶樣式的表格儲存格內容,為每一欄配置寬度,正好填滿要求的表格寬度
語法
Delphi
Function TPDFlib.AutoFitTableColumns(TableID: Integer; TotalWidth, MinColumnWidth, MaxColumnWidth: Double): Integer;ActiveX
Function PDFlib::AutoFitTableColumns(TableID As Long, TotalWidth As Double, MinColumnWidth As Double, MaxColumnWidth As Double) As LongDLL
int DLAutoFitTableColumns(int InstanceID, int TableID, double TotalWidth, double MinColumnWidth, double MaxColumnWidth);參數
| TableID | CreateTable 傳回的控制代碼 |
|---|---|
| TotalWidth | 要分配到所有欄位的精確總寬度,以目前座標系統計 |
| MinColumnWidth | 套用到每一欄的正數硬性最小值 |
| MaxColumnWidth | 套用到每一欄的硬性最大值,且不得小於 MinColumnWidth |
傳回值
欄寬配置完成時傳回 1;表格不明、出現非有限值、邊界無效或總寬度不可行時傳回 0
備註
儲存格文字的量測使用與表格繪製相同的 HTML 字型、行內樣式、文字大小、顏色與水平內距
先由單欄儲存格定出偏好寬度,再由逐步變寬的合併儲存格跨越其欄位範圍加入約束
若偏好寬度超過 TotalWidth,各欄會按比例縮向 MinColumnWidth;剩餘寬度會分配給尚未達到 MaxColumnWidth 的欄位
被拒絕的呼叫具原子性,會保留所有既有欄寬
範例
TableID:= PDF.CreateTable(20, 3);
PDF.SetTableCellContent(TableID, 1, 1, 'Item');
PDF.SetTableCellContent(TableID, 1, 2, 'Description');
PDF.SetTableCellContent(TableID, 1, 3, 'Amount');
if PDF.AutoFitTableColumns(TableID, 495, 60, 300)= 1 then
PDF.DrawTableRows(TableID, 50, 780, 700, 1, 0);另見
CreateTable, SetTableColumnWidth, MergeTableCells, DrawTableRows