İpucu

PrimeFaces DataTable ve Tablo Üzerinde Veri Güncelleme

PrimeFaces'de datatable ile veri tablo şeklinde gösterilebilir. Datatable'ın editable özelliği true yapılarak, tablo üzerinde verilerin değerleri değiştirilebilir. Aşağıda datatable sayfası gösterilmektedir:
<p:dataTable id="dt" var="_item" value="#{configurationBean.list}" editable="true">
   <p:ajax event="rowEdit" listener="#{configurationBean.onRowEdit}"/>
   <p:column headerText="Anahtar">
      #{_item.key}	       	
   </p:column>
	<p:column headerText="Değer">
     	<p:cellEditor>
	      	<f:facet name="output">
				<h:outputText value="#{_item.value}"/>
			</f:facet>
           	<f:facet name="input">
				<h:inputTextarea value="#{_item.value}" rows="10" cols="50"/>
			</f:facet>
       	</p:cellEditor>
   	</p:column> 		
	<p:column>
	   <p:rowEditor />
	</p:column>
</p:dataTable>
Yukarıdaki örnekte bir satırda iki sütun bulunmaktadır. Birinci sürun key alanıdır ve edit edilmemekte sadece gösterilmektedir. İkinci sütün ise value alanını ve edit edilecek alandır. Değer alanına bu nedenle bir p:cellEditor koyulmuştur. cellEditor içinde facet name'i output alanı veri gösterilirken , facet name'i input olan alan ise veri edit edilirken kullanılınır. Son sütunda ise rowEdit ile edit yapılmak için düğme koyulmaktadır.


Bean tarafı ise aşağıdaki gibidir:
@ManagedBean
@ViewScoped
public class ConfigurationBean implements Serializable{
	List<ConfigurationItem> list;	
	public List<ConfigurationItem> getList() throws DatabaseException{
		if(list==null){
			ConfigurationManager configurationManager=new ConfigurationManager(true);
			list=configurationManager.getConfigurationList();
		}
		return list;
	}
	public void onRowEdit(RowEditEvent event) throws DatabaseException {
		ConfigurationItem item=(ConfigurationItem)event.getObject();
		ConfigurationManager  configurationManager=new ConfigurationManager(true);
		configurationManager.update(item);
    }	
}
getList() methodu configurationitem'lardan oluşan bir listeyi döndürmektedir. ConfigurationItem key ve value değeri bulunan basit bir sınıftır. ConfigurationManager ise veritabanından veri çekmek için kullanılan bir sınıftır. onRowEdit methodu ise, tablo üzerinde bir satır düzenlenmesi tamamlandığında çağrılmaktadır. event.getObject() ile edit edilen veri alınmakta ve veritabanında update edilmektedir
zafer.teker , 23.11.2014

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir