AutoFitTableColumns

Seitenlayout, Tabellen

Beschreibung

Misst formatierten Tabellenzelleninhalt und weist jeder Spalte eine Breite zu, die die angeforderte Tabellenbreite genau ausfüllt

Syntax

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

Parameter

TableIDVon CreateTable zurückgegebenes Handle
TotalWidthExakte Gesamtbreite, die im aktuellen Koordinatensystem auf alle Spalten verteilt wird
MinColumnWidthPositiver fester Mindestwert, der auf jede Spalte angewendet wird
MaxColumnWidthFeste Obergrenze, die auf jede Spalte angewendet wird und nicht kleiner als MinColumnWidth ist

Rückgabewerte

Gibt 1 zurück, wenn Breiten zugewiesen wurden, oder 0 bei einer unbekannten Tabelle, nicht endlichen Werten, ungültigen Grenzen oder einer nicht realisierbaren Gesamtbreite

Anmerkungen

Zelltext wird mit denselben HTML-Schriftarten, Inline-Stilen, Textgrößen, Farben und horizontalen Innenabständen wie beim Zeichnen der Tabelle gemessen

Einspaltige Zellen legen zuerst bevorzugte Breiten fest, gefolgt von schrittweise breiteren verbundenen Zellen, die Einschränkungen über ihre Spaltenbereiche hinzufügen

Wenn bevorzugte Breiten TotalWidth überschreiten, werden Spalten proportional in Richtung MinColumnWidth verkleinert; übrige Breite wird auf Spalten verteilt, die MaxColumnWidth noch nicht erreicht haben

Ein abgelehnter Aufruf ist atomar und bewahrt jede vorhandene Spaltenbreite

Beispiel

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

Siehe auch

CreateTable, SetTableColumnWidth, MergeTableCells, DrawTableRows