THPDFTable Table Layout and Rendering
THPDFTable on v2.429.0-versiossa esitelty kevyt taulukkoasettelu- ja renderöintimoottori, jonka HPDFTable-yksikkö tarjoaa käyttöön
Ennen v2.429.0-versiota tuottajien oli piirrettävä solut käsin Rectangle- ja TextOut-kutsuilla kiinteillä sarakkeiden X-koordinaateilla ja hallittava rivikorkeudet, seepraraitaus ja sivunvaihdot itse; THPDFTable ajaa olemassa olevia THPDFPage-piirtoprimitiivejä, joten taulukot renderöityvät mitatuilla rivikorkeuksilla, yhdistetyillä soluilla ja automaattisella sivunvaihdon jatkuvuudella
Unit
HPDFTable
Käyttöesimerkki
uses
HPDFTable;
var
Tbl: THPDFTable;
Row: THPDFTableRow;
begin
Tbl:= THPDFTable.Create(HPDF);
try
Tbl.AddColumn(80); Tbl.AddColumn(200); Tbl.AddColumn(120);
Tbl.SetBounds(50, 60);
Row:= Tbl.AddRow; Row.IsHeader:= True;
Row.Cells[0].Text:= 'No';
Row.Cells[1].Text:= 'Description';
Row:= Tbl.AddRow;
Row.Cells[0].ColSpan:= 2; // merged cell across columns 0..1
Row.Cells[0].Text:= 'merged header';
Tbl.Render;
finally
Tbl.Free;
end;
end;
THPDFTable
THPDFTable omistaa sarakkeiden asettelun, rivikokoelman ja renderöintikierroksen; se piirtää THotPDF-komponentin kautta, joka annetaan THPDFTable.Create-kutsulle, ja käyttää vain julkisia THPDFPage- ja THotPDF-jäseniä
Methods
| Method | Description |
|---|---|
THPDFTable.Create(ADoc: THotPDF) | Luo taulukon, joka on sidottu sivut, fontit ja kuvat toimittavaan asiakirjaan |
THPDFTable.Destroy | Vapauttaa taulukon yhdessä kaikkien sen omistamien rivien ja solujen kanssa |
THPDFTable.AddColumn(Width: Single): Integer | Lisää annetun levyisen sarakkeen nykyisissä sivuyksiköissä ja palauttaa sen indeksin |
THPDFTable.AddRow: THPDFTableRow | Lisää rivin, jonka koko sopii nykyiseen sarakemäärään, ja palauttaa sen |
THPDFTable.SetBounds(AX, AY: Single) | Sijoittaa taulukon alkupisteen nykyiselle sivulle |
THPDFTable.Render | Mittaa rivikorkeudet, piirtää taustat, reunukset ja solujen sisällöt ja jatkaa uusille sivuille niin kauan kuin rivejä on jäljellä |
Properties
| Property | Description |
|---|---|
THPDFTable.Doc: THotPDF | Sidottu asiakirja, joka annettiin konstruktorille |
THPDFTable.ColCount: Integer | THPDFTable.AddColumn-kutsuilla lisättyjen sarakkeiden määrä |
THPDFTable.RowCount: Integer | THPDFTable.AddRow-kutsuilla lisättyjen rivien määrä |
THPDFTable.Rows[Index: Integer]: THPDFTableRow | Pääsy riviin indeksin perusteella |
THPDFTable.X: Single ja THPDFTable.Y: Single | Taulukon alkupiste sivulla nykyisissä sivuyksiköissä |
THPDFTable.HeaderBgColor: TColor | Otsikkorivien taakse maalattava taustaväri |
THPDFTable.AlternatingBg: TColor | Seepraraitausta antava taustaväri vuorotteleville ei-otsikkoriveille |
THPDFTable.BorderColor: TColor ja THPDFTable.BorderWidth: Single | Solujen reunojen viivan väri ja leveys |
THPDFTable.DefaultFontName: AnsiString, THPDFTable.DefaultFontSize: Single, THPDFTable.DefaultAlign: THPDFCellAlign | Varafontti ja tasaus soluille, jotka eivät ylikirjoita niitä |
THPDFTable.Padding: Single | Sisäinen väli solun reunuksen ja sen sisällön välillä |
THPDFTable.BottomMargin: Single | Sivun alareunaan varattu tila ennen kuin renderöintikierros vaihtaa uudelle sivulle |
THPDFTable.RepeatHeader: Boolean | Kun tosi, otsikkopalkki toistetaan jokaisen jatkosivun yläreunassa |
THPDFTable.TotalHeightRendered: Single | Viimeisen renderöintikierroksen kuluttama kokonaiskorkeus kaikilla sivuilla |
THPDFTableRow
THPDFTableRow kantaa yhden taulukkorivin solut sekä rivitason liput, joita käytetään mittauksen ja renderöinnin yhteydessä
| Member | Description |
|---|---|
THPDFTableRow.Create(InitialColCount: Integer) | Luo rivin esitäytettynä annetulla solumäärällä |
THPDFTableRow.Destroy | Vapauttaa rivin ja sen solut |
THPDFTableRow.AddCell: THPDFTableCell | Lisää yhden solun ja palauttaa sen |
THPDFTableRow.EnsureCells(Count: Integer): Integer | Kasvattaa rivin vähintään annettuun solumäärään ja palauttaa uuden määrän |
THPDFTableRow.Cells[Index: Integer]: THPDFTableCell | Oletustaulukko-ominaisuus, joka avaa solun indeksin perusteella |
THPDFTableRow.Count: Integer | Rivin tällä hetkellä sisältämien solujen määrä |
THPDFTableRow.IsHeader: Boolean | Merkitsee rivin otsikkoriviksi, joka maalataan THPDFTable.HeaderBgColor-värillä ja toistetaan, kun THPDFTable.RepeatHeader on käytössä |
THPDFTableRow.MinHeight: Single | Mitattuun rivikorkeuteen sovellettava alaraja |
THPDFTableCell
THPDFTableCell kantaa solun sisällön ja solukohtaiset ylikirjoitukset taulukon oletusarvojen päälle
| Property | Description |
|---|---|
THPDFTableCell.Text: WideString | Solun teksti; renderöidään THPDFPage.TextOutHTML-kutsun kautta, kun THPDFTableCell.IsHTML on tosi, jolloin lihavoinnin, värin, linkkien ja ala-/yläindeksin sisäinen merkintäkieli huomioidaan |
THPDFTableCell.Align: THPDFCellAlign ja THPDFTableCell.VAlign: THPDFCellVAlign | Sisällön vaaka- ja pystytasaus solun sisällä |
THPDFTableCell.ColSpan: Integer ja THPDFTableCell.RowSpan: Integer | Vaaka- ja pystysuuntainen yhdistysmäärä, kumpikin oletuksena 1 |
THPDFTableCell.BgColor: TColor ja THPDFTableCell.HasBgColor: Boolean | Solukohtainen taustavärin ylikirjoitus ja sen olemassaololippu |
THPDFTableCell.TextColor: TColor ja THPDFTableCell.HasTextColor: Boolean | Solukohtainen tekstivärin ylikirjoitus ja sen olemassaololippu |
THPDFTableCell.FontName: AnsiString, THPDFTableCell.FontSize: Single, THPDFTableCell.FontStyle: TFontStyles, THPDFTableCell.HasFont: Boolean | Solukohtainen fontin ylikirjoitus ja sen olemassaololippu |
THPDFTableCell.WordWrap: Boolean | Rivittää pitkän tekstin mitatuille riveille solun sisällä, käytössä oletuksena |
THPDFTableCell.ImageIndex: Integer | Kun arvo on nolla tai suurempi, solu näyttää tekstin sijaan kyseisellä indeksillä THotPDF.AddImage-kutsulla rekisteröidyn kuvan, oletus -1 |
THPDFTableCell.ImageAspect: Single | Kuvasolun näyttökuvasuhde; kuva skaalataan solun leveyteen ja sen korkeus johdetaan tästä suhteesta, oletus 1.0 |
THPDFTableCell.IsHTML: Boolean | Ohjaa THPDFTableCell.Text-tekstin THPDFPage.TextOutHTML-kutsun kautta, jolloin sisäinen merkintäkieli renderöidään |
Tasausenumit
THPDFCellAlign = (caLeft, caCenter, caRight) valitsee solun vaakatasauksen ja THPDFCellVAlign = (cvaTop, cvaMiddle, cvaBottom) solun pystytasauksen
Asettelu ja sivunvaihtokäyttäytyminen
Rivikorkeudet mitataan solujen sisällöstä huomioiden rivitys ja THPDFTableRow.MinHeight, yhdistävät solut sijoitetaan sisäiselle hilalle, joten THPDFTableCell.ColSpan ja THPDFTableCell.RowSpan yhdistävät oikein rivien yli, ja renderöintikierros vaihtaa uudelle sivulle, kun seuraava rivi ei mahdu THPDFTable.BottomMargin-rajan yläpuolelle
Kun THPDFTable.RepeatHeader on tosi, otsikkopalkki toistetaan jokaisen jatkosivun yläreunassa ennen lisärivien piirtämistä
v2.432.0-versiossa esitellyt kuvasolut viittaavat indeksillä THotPDF.AddImage-kutsulla rekisteröityyn kuvaan, skaalautuvat solun leveyteen ja johtavat korkeutensa THPDFTableCell.ImageAspect-arvosta, joten kuva säilyttää lähteen kuvasuhteensa