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.225
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2025 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.