AutoFitTableColumns

Disposition des pages, tableaux

Description

Mesure le contenu stylé des cellules du tableau et affecte à chaque colonne une largeur remplissant exactement la largeur demandée du tableau

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

Paramètres

TableIDDescripteur renvoyé par CreateTable
TotalWidthLargeur totale exacte à répartir entre toutes les colonnes dans le système de coordonnées actuel
MinColumnWidthMinimum strict positif appliqué à chaque colonne
MaxColumnWidthMaximum strict appliqué à chaque colonne et au moins égal à MinColumnWidth

Valeurs de retour

Renvoie 1 lorsque les largeurs sont attribuées, ou 0 si la table est inconnue, si des valeurs ne sont pas finies, si les limites sont non valides ou si la largeur totale est irréalisable

Remarques

Le texte des cellules est mesuré avec les mêmes polices HTML, styles incorporés, tailles de texte, couleurs et marges intérieures horizontales que le dessin du tableau

Les cellules à une colonne établissent d'abord les largeurs préférées, puis les cellules fusionnées progressivement plus larges ajoutent des contraintes sur leurs colonnes

Si les largeurs préférées dépassent TotalWidth, les colonnes se réduisent proportionnellement vers MinColumnWidth ; la largeur restante est répartie entre les colonnes qui n’ont pas atteint MaxColumnWidth

Un appel rejeté est atomique et conserve toutes les largeurs de colonnes existantes

Exemple

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

Voir aussi

CreateTable, SetTableColumnWidth, MergeTableCells, DrawTableRows