NAME
Quiq::Html::Table::Simple - HTML-Tabelle
BASE CLASS
DESCRIPTION
Die Klasse dient der Generierung von HTML-Tabellen mit einer freien Struktur, wie Formulartabellen. Die Definition erfolgt zeilenweise wie in HTML, wobei die tr
- und td
-Information durch Listen angegeben werden.
Der Wert des Objekt-Attributs rows
, das den Inhalt der Tabelle definiert, hat den Aufbau:
[[@keyValTr,[@keyValTd,$content],...],...]
^^ ^ ^ ^
|| | | weitere Zeilen
|| | weitere Kolumnen
|| erste Kolumne
|erste Zeile mit Attributen @keyValTr
Array der Zeilen
Die Listen @keyValTr
und @KeyValTd
definieren die Attribute der tr
- bzw. td
-Tags. Besteht @keyValTr
aus einer ungeraden Anzahl an Elementen, wird das erste Element $val
als Klassenname interpretiert und zu class=>$val
expandiert.
ATTRIBUTES
- border => $n (Default: undef)
-
border
-Attribut der Tabelle. - cellpadding => $n (Default: undef)
-
cellpadding
-Attribut der Tabelle. - cellspacing => $n (Default: 0)
-
cellspacing
-Attribut der Tabelle. - class => $class (Default: undef)
-
class
-Attribut der Tabelle. - data => \@keyVal (Default: [])
-
data-*
Attribute der Tabelle. - id => $id (Default: undef)
-
Id der Tabelle.
- rows => \@rows (Default: [])
-
Liste der Zeilen (und Kolumnen).
- style => $cssCode (Default: undef)
-
style
-Attribut der Tabelle. - width => $width (Default: undef)
-
width
-Attribut der Tabelle.
EXAMPLE
Klasse:
$html = Quiq::Html::Table::Simple->html($h,
class => 'my-table',
border => 1,
rows => [
['my-title',['A'],[colspan=>2,'B']],
[[rowspan=>2,'a1'],['de'],['Text1_de']],
[['en'],['Text1_en']],
[[rowspan=>2,'a2'],['de'],['Text2_de']],
[['en'],['Text2_en']],
],
);
tr-Angabe
'my-title'
ist äquivalent zuclass=>'my-title'
mit -tag=>'th' wird aus einer beliebigen Zelle eine Head-Zelle gemacht.
Aussehen:
+--+-----------+
|A |B |
+--+--+--------+
| |de|Text1_de|
|a1+--+--------+
| |en|Text1_en|
+--+--+--------+
| |de|Text2_de|
|a2+--+--------+
| |en|Text2_wn|
+--+--+--------+
HTML:
<table class="my-table" border="1" cellspacing="0">
<tr class="my-title">
<td>A</td>
<td colspan="2">B</td>
</tr>
<tr>
<td rowspan="2">a1</td>
<td>de</td>
<td>Text1_de</td>
</tr>
<tr>
<td>en</td>
<td>Text1_en</td>
</tr>
<tr>
<td rowspan="2">a2</td>
<td>de</td>
<td>Text2_de</td>
</tr>
<tr>
<td>en</td>
<td>Text2_en</td>
</tr>
</table>
METHODS
Konstruktor
new() - Instantiiere Objekt
Synopsis
$e = $class->new(@keyVal);
Description
Instantiiere ein Tabellen-Objekt und liefere eine Referenz auf dieses Objekt zurück.
Objektmethoden
html() - Generiere HTML
Synopsis
$html = $e->html($h);
$html = $class->html($h,@keyVal);
Description
Generiere den HTML-Code des Tabellen-Objekts und liefere diesen zurück. Als Klassenmethode gerufen, wird das Objekt intern erzeugt und mit den Attributen @keyVal instantiiert.
VERSION
1.220
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2024 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.