AutoFitTableColumns

Rozvržení stránek, tabulky

Popis

Změří stylovaný obsah buněk tabulky a přiřadí každému sloupci šířku, která přesně zaplní požadovanou šířku tabulky

Syntaxe

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 Long

DLL

int DLAutoFitTableColumns(int InstanceID, int TableID, double TotalWidth, double MinColumnWidth, double MaxColumnWidth);

Parametry

TableIDPopisovač vrácený funkcí CreateTable
TotalWidthPřesná celková šířka k rozdělení mezi všechny sloupce v aktuální soustavě souřadnic
MinColumnWidthPozitivní pevné minimum aplikované na každý sloupec
MaxColumnWidthTvrdé maximum aplikované na každý sloupec a ne menší než MinColumnWidth

Návratové hodnoty

Vrací 1, když jsou přiřazeny šířky, nebo 0 pro neznámou tabulku, nefinitní hodnoty, neplatné meze nebo nerealizovatelnou celkovou šířku

Poznámky

Text buňky se měří stejnými HTML fonty, inline styly, velikostmi textu, barvami a vodorovným odsazením, jaké používá kreslení tabulek

Jednosloupcové buňky nejprve stanoví preferované šířky, následují postupně širší sloučené buňky, které přidávají omezení napříč svými sloupcovými rozpětími

Když preferované šířky přesáhnou TotalWidth, sloupce se proporcionalně smrsknou směrem k MinColumnWidth; volná šířka se rozdělí mezi sloupce, které nedosáhly MaxColumnWidth

Odmítnuté volání je atomické a zachovává každou stávající šířku sloupce

Příklad

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);

Viz také

CreateTable, SetTableColumnWidth, MergeTableCells, DrawTableRows