Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
PrimeFaces

Primefaces Subtable ile Custom Exporter Kullanımı

Paylaş

Primefaces  ile listemizi sıralı olarak göstermek için kullanılan yöntem datatable bileşinidir. Bu bileşen çok marifetli ve farklı kullanımlarını Primefaces Showcase sitesinden incelemek mümkün. Bu yazıda Primefaces Showcase’de de yer alan Datatable bölümünde olan Subtable bileşinine ve Subtable kullanarak bir çıktı almak istersek ne yapmak gerekir bunu anlatmaya çalışacağım.

Subtable bileşinini genellikle bir listenizin içerisinde bir liste var ve bunu bir üst listeye bağlı olarak listelemek istenildiğinde kullanılmaktadır. Örnek vermek gerekirse bir iller listeniz var bu iller listeniz içerisinde o ile bağlı yaşayan kişilerin listesi bulunmakta. Hem il ve o ile bağlı kişileri göstermek için çeşitli yollar olsa da en kullanılabilir ve pratik olanı Subtable’dir.

 

  <p:dataTable value="#{ilController.illistesi}" var="il" rowIndexVar="row" id="ilTable">
                   <p:columnGroup type="header">
                       <p:row>
                           <p:column headerText="İl Adı"/>
                           <p:column headerText="Adı"/>
                           <p:column headerText="Soyadı"/>
                       </p:row>
                   </p:columnGroup>
                   <p:subTable value="#{il.kisilistesi}" var="kisi" id="kisiTable">
                       <p:column style="text-align: center!important;">
                           <h:outputText value="#{il.adi}"/>
                       </p:column>
                       <p:column>
                           <h:outputText value="#{kisi.ad}"/>
                       </p:column>
                       <p:column>
                           <h:outputText value="#{kisi.soyad}"/>
                       </p:column>                              
                   </p:subTable>
               </p:dataTable>
           </p:column>
  </p:dataTable>
Subtable Primefaces Örnek
Subtable Primefaces Örnek

Subtable görünümü Datatable bileşeninden farksız ancak liste içerisindeki onlarca listeyi göstermemiz mümkün olmaktadır.

Subtable kullanımı yukarıdaki gibi gelelim asıl meselemize. Datatable’dan Pdf, Excel ya da CVS çıktı almak için yine Primefaces’in DataExporter bileşinini kullanarak işlemi tamamlamaktayız. Ancak burada bir sorun var! Primefaces 6.0.x sürümü ve öncesine kadar eğer Subtable bileşini kulanıyorsanız DataExporter’dan bir export işlemi gerçekleştiremiyorsunuz. Yani çalışmıyor!

Niye çalışmadığını bilmiyorum ancak bunun yine Primefaces tarafından bir çözümü yapılmış. PrimeFaces Extensions kullanarak ( İlgili Yazı : PrimeFaces Extensions Nedir? ) olurduğunuz Subtable’den export işlemi yapılabilmekte.

Kullanımı;

<p:commandLink id="xls" ajax="false">  
    <f:setPropertyActionListener value="false" target="#{exporterController.customExporter}" />  
    <pe:exporter type="xlsx" target="kisiTable" fileName="kisiListesi" subTable="true"  />  
</p:commandLink>

diyerek yukarıda oluşturduğumuz Subtable içerisindeki bilgileri excel olarak çıktı alabilmekteyiz. Bu işlemi yapmamıza rağmen bir sonuç elde edemiyorsanız sorun exporterController.customExporter classını bulamamasındandır. Ben bu sorunu yaşadım. Bu sorunu çözmek için kendim bu clası projeme eklemek zorunda kaldım.

/*
 * Copyright 2011-2015 PrimeFaces Extensions
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * $Id$
 */

package org.primefaces.extensions.showcase.controller;

import java.io.Serializable;

import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;

/**
 * ExporterController
 *
 * @author  Sudheer Jonna / last modified by $Author$
 * @version $Revision$
 * @since   1.0
 */
@ManagedBean
@ApplicationScoped
public class ExporterController implements Serializable {

	private static final long serialVersionUID = 20120316L;

	private Boolean customExporter;


	public ExporterController() {
             customExporter=false;
	}

    public Boolean getCustomExporter() {
        return customExporter;
    }

    public void setCustomExporter(Boolean customExporter) {
        this.customExporter = customExporter;
    }
}

Bu işlemleri yaparak subtable’dan export işlemini kolayca yapabilirsiniz.

 

Diğer Primefaces Yazıları

Tags:

primefacesprimefaces custom exporterprimefaces dersleriprimefaces subtable

Paylaş

Diğer Yazılar

Spring Dersleri
Previous

Spring Dersleri – Bean Scope Kullanımı

Spring Dersleri
Next

Spring Bean Yaşam Döngüsü – 1 InitializingBean – DisposableBean Nedir?

Next
Spring Dersleri
13 Eylül 2017

Spring Bean Yaşam Döngüsü – 1 InitializingBean – DisposableBean Nedir?

Previews
07 Temmuz 2017

Spring Dersleri – Bean Scope Kullanımı

Spring Dersleri

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

PrimeFaces Dersleri

Primefaces Calendar @ PostConstruct Anotasyonu Kullanarak Default Değer Vermek

blank

PrimeFaces EL Extensions ile Yetkilendirme İşlemi

blank

PrimeFaces Takvim’in Farklı Ülkelere Göre Dil Değişimi

blank

PrimeFaces Dersleri : KeyFilter Kullanımı

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Röportaj
Spring Data
Redis
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Tanıyalım
Veritabanı
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale