JSF Ders29 - Data Tables ( Veri Tabloları )


   Data Tables ( Veri Tabloları) Html tabloları oluşturmak için kulllanılır. Array, List, Collection, ResultSet, Result, DataModelden oluşturulabilir.


<h:dataTable var="degisken" value="#{sinifIsmi.ornekDizi}"  border="…">
    <h:column>#{degisken.ozellik1}</h:column>
    <h:column>#{degisken.ozellik2}</h:column>

</h:dataTable>


dataTableda her kolon column ile belirtilir. Ayrıca her kolona bir başlık oluşturulabilir. Kolona başlık facet tagıyla oluşturulur.


<h:column>
     <f:facet name="header">Kolon Basligi</f:facet>
      #{degisken.ozellik1}
</h:column>


dataTableda genel bir tablo başlığı oluşturulabilir.Tablo başlığı caption tagıyla oluşturulur.


<h:dataTable var="degisken" value="#{sinifIsmi.ornekDizi}"  border="…">
    <f:facet name="caption">Tablo Basligi </f:facet>
    <h:column>#{degisken.ozellik1}</h:column>
    <h:column>#{degisken.ozellik2}</h:column>

</h:dataTable>


dataTableda  tablonun altında bir tablo alti yazi oluşturulabilir.Tablo alti yazi footer tagıyla oluşturulur.


<h:dataTable var="degisken" value="#{sinifIsmi.ornekDizi}"  border="…">
    <f:facet name="footer">Tablo alti yazi </f:facet>
    <h:column>#{degisken.ozellik1}</h:column>
    <h:column>#{degisken.ozellik2}</h:column>

</h:dataTable>

Ayrıca stil için birçok tag bulunur. Bunlar :

  • styleClass         : Tablo için genel stil dosyası tanımlamak için kullanılır.
  • captionClass    : Tablo başlığı için stil dosyası tanımlamak için kullanılır.
  • headerClass     : Tablo headerı için stil dosyası tanımlamak için kullanılır.
  • footerClass       : Tablo footerı için stil dosyası tanımlamak için kullanılır.
  • rowClasses       : Tablo satırları için stil dosyası tanımlamak için kullanılır.
  • columnClasses : Tablo kolonları için stil dosyası tanımlamak için kullanılır.


Kisi.java
package test;

import javax.faces.bean.ManagedBean;

@ManagedBean
public class Kisi {

 private String ad;
 private int maas;
 private Kisi[] kisiler;

 public Kisi() {
  kisiler = new Kisi[2];
  kisiler[0] = new Kisi("enes", 3500);
  kisiler[1] = new Kisi("cetin", 4500);
 }

 public Kisi(String ad, int maas) {
  this.ad = ad;
  this.maas = maas;
 }

 public String getAd() {
  return ad;
 }

 public void setAd(String ad) {
  this.ad = ad;
 }

 public int getMaas() {
  return maas;
 }

 public void setMaas(int maas) {
  this.maas = maas;
 }

 public Kisi[] getKisiler() {
  return kisiler;
 }

 public void setKisiler(Kisi[] kisiler) {
  this.kisiler = kisiler;
 }

}

index.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:ui="http://java.sun.com/jsf/facelets"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:h="http://java.sun.com/jsf/html">

<h:head>
 <h:outputStylesheet library="css" name="stil.css" />
</h:head>
<h:body>

 <h:dataTable var="kisi" value="#{kisi.kisiler}" border="10" 
 styleClass="tablo" captionClass="tabloBaslik" headerClass="bas" footerClass="ayak"
 rowClasses="satir1,satir2" columnClasses="kolon1,kolon2">
  <f:facet name="caption">Kisiler</f:facet>
  <h:column>
   <f:facet name="header">Ad</f:facet>
  #{kisi.ad}
  <f:facet name="footer">..</f:facet>
  </h:column>
  <h:column>
   <f:facet name="header">Maas</f:facet>
  #{kisi.maas}
  <f:facet name="footer">..</f:facet>
  </h:column>
 </h:dataTable>


</h:body>
</html>

stil.css
@CHARSET "UTF-8";

.tablo{
 font-weight:bold;
 border:5px dotted blue;
 font-size:16px;
 padding:10px;
}

.tabloBaslik{
 font-size:36px;
}

.bas{
 font-size:26px;
}

.ayak{
 font-size:6px;
}


.satir1{
 background-color:gray;
 padding:10px;
}
.satir2{
 background-color:white;
 padding:10px;
}

.kolon1{
 color:red;
 padding:10px;
}

.kolon2{
 color:blue;
 padding:10px;
}


JSF Data Tables


Yorumlar

Bu blogdaki popüler yayınlar

Java SE Ders24 - Composition (Kompozisyon)

Spring Ders20 - Aspect Oriented Programming - AspectJ Annotation Style

JSF Ders30 - Page Template (Sayfa Şablonu)