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 LongDLL
int DLAutoFitTableColumns(int InstanceID, int TableID, double TotalWidth, double MinColumnWidth, double MaxColumnWidth);Parameter
| TableID | Von CreateTable zurückgegebenes Handle |
|---|---|
| TotalWidth | Exakte Gesamtbreite, die im aktuellen Koordinatensystem auf alle Spalten verteilt wird |
| MinColumnWidth | Positiver fester Mindestwert, der auf jede Spalte angewendet wird |
| MaxColumnWidth | Feste 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