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