root/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java @ 13:96e711f3ef48

Revision 13:96e711f3ef48, 2.0 KB (checked in by František Kučera <franta-hg@…>, 15 years ago)

Už to „něco“ dělá – zobrazujeme ukázková data.

Line 
1package cz.frantovo.sql.vyuka.dto;
2
3import cz.frantovo.sql.vyuka.Html;
4import java.util.ArrayList;
5import java.util.Collection;
6
7/**
8 * Tabulka, která je výsledkem SQL dotazu.
9 * @author fiki
10 */
11public class Tabulka implements HtmlObjekt {
12
13    private String[] zahlavi;
14    private Collection<Object[]> hodnoty = new ArrayList<Object[]>();
15
16    public String getHtml() {
17
18        if (getZahlavi() == null || getHodnoty() == null || getZahlavi().length < 1) {
19            return "<p>Chybná tabulka</p>";
20        } else {
21
22            StringBuffer html = new StringBuffer();
23
24            html.append("<table>");
25
26
27            html.append("<thead title=\"Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.\">");
28            html.append("<tr>");
29            for (String z : getZahlavi()) {
30                html.append("<td>" + Html.escapuj(z) + "</td>");
31            }
32            html.append("</tr>");
33            html.append("</thead>");
34
35
36            html.append("<tbody>");
37            for (Object[] hh : getHodnoty()) {
38                html.append("<tr>");
39                for (Object h : hh) {
40                    html.append(formatujBunku(h));
41                }
42                html.append("</tr>");
43            }
44            html.append("</tbody>");
45
46            html.append("</table>");
47
48
49            return html.toString();
50        }
51    }
52
53    private String formatujBunku(Object o) {
54        /** TODO: podporovat i jiné typy */
55        if (o instanceof Integer) {
56            return "<td class=\"cislo\">" + Html.escapuj(String.valueOf(o)) + "</td>";
57        } else {
58            return "<td>" + Html.escapuj(String.valueOf(o)) + "</td>";
59        }
60    }
61
62    public String[] getZahlavi() {
63        return zahlavi;
64    }
65
66    public void setZahlavi(String[] zahlavi) {
67        this.zahlavi = zahlavi;
68    }
69
70    public Collection<Object[]> getHodnoty() {
71        return hodnoty;
72    }
73
74    public void setHodnoty(Collection<Object[]> hodnoty) {
75        this.hodnoty = hodnoty;
76    }
77}
Note: See TracBrowser for help on using the browser.