AutoFitTableColumns

Pagina-indeling, tabellen

Beschrijving

Meet opgemaakte tabelcel-inhoud en wijst elke kolom een breedte toe die de gevraagde tabelbreedte exact vult

Syntaxis

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

Parameters

TableIDHandle geretourneerd door CreateTable
TotalWidthExacte totale breedte die over alle kolommen in het huidige coördinatensysteem wordt verdeeld
MinColumnWidthPositieve harde minimum die op elke kolom wordt toegepast
MaxColumnWidthHard maximum dat op elke kolom wordt toegepast en niet kleiner is dan MinColumnWidth

Retourwaarden

Geeft 1 terug wanneer breedtes zijn toegewezen, of 0 bij een onbekende tabel, niet-eindige waarden, ongeldige grenzen of een onuitvoerbare totale breedte

Opmerkingen

Celtekst wordt gemeten met dezelfde HTML-fonts, inline stijlen, tekstgroottes, kleuren en horizontale opvulling die het tabeltekenen gebruikt

Cellen met één kolom leggen eerst voorkeursbreedtes vast, gevolgd door steeds bredere samengevoegde cellen die beperkingen toevoegen over hun kolomspannen

Als voorkeursbreedtes TotalWidth overschrijden, krimpen kolommen evenredig richting MinColumnWidth; overtollige breedte wordt verdeeld over kolommen die MaxColumnWidth nog niet hebben bereikt

Een geweigerde aanroep is atomair en behoudt elke bestaande kolombreedte

Voorbeeld

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

Zie ook

CreateTable, SetTableColumnWidth, MergeTableCells, DrawTableRows