Belajar Java Web - Cara Menambahkan Paginator di DataTable - Java Community

Belajar Java Web - Cara Menambahkan Paginator di DataTable

Paginator merupakan fitur yang sangat penting pada DataTable, paginator berfungsi untuk membatasi jumlah baris atau row yang akan ditampilkan pada halaman pertama sebuah DataTable. Pada contoh dibawah ini, saya membuat sebuah DataTable dengan jumlah baris per-halamannya 10 baris.

Cara-Membuat-DataTable-Basic-di-Primefaces

Dependencies

pom.xml
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>11.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>

Entity Class

CODE
package com.community.belajarjavaee.entities;

import lombok.*;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class DaftarBarang implements Serializable {
    private long idBarang;
    private String kodebarang;
    private String namabarang;
    private String register;
    private int jumlah;
    private double hargabarang;
}

Service

Interface DaftarBarangService berisi method untuk mengambil data DaftarBarang.

CODE
package com.community.belajarjavaee.services;

import com.community.belajarjavaee.entities.DaftarBarang;

import java.util.List;

public interface DaftarBarangService {
    public List<DaftarBarang> getListDaftarBarang();
}
  

Class DaftarBarangServiceImpl merupakan implements dari DaftarBarangService, yang saya gunakan untuk mengambil data List<DaftarBarang>.

CODE
package com.community.belajarjavaee.services;

import com.community.belajarjavaee.entities.DaftarBarang;

import java.util.ArrayList;
import java.util.List;

public class DaftarBarangServiceImpl implements DaftarBarangService{
    @Override
    public List<DaftarBarang> getListDaftarBarang() {
        List<DaftarBarang> list = new ArrayList<>();
        list.add(new DaftarBarang(1, "1.3.2.02.02.01", "Laptop", "0001", 5, 7530000));
        list.add(new DaftarBarang(1, "1.3.2.02.02.02", "PC Komputer", "0006", 3, 4530000));
        list.add(new DaftarBarang(1, "1.3.2.02.02.03", "Notebook", "0010", 10, 3500000));
        list.add(new DaftarBarang(1, "1.3.5.02.03.01", "Buku (Belajar Java Bagi Pemula)", "0020", 20, 95000));
        return list;
    }
}
  

Controller

DaftarBarangMBean merupakan Class yang digunakan untuk melakukan pengambilan data ke Service dan mengirimkannya ke Halaman XHTML.

CODE
package com.community.belajarjavaee.controller;

import com.community.belajarjavaee.entities.DaftarBarang;
import com.community.belajarjavaee.services.DaftarBarangService;
import com.community.belajarjavaee.services.DaftarBarangServiceImpl;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import java.io.Serializable;
import java.util.List;

@ManagedBean
@ViewScoped
public class DaftarBarangMBean implements Serializable {

    private DaftarBarangService service;
    private List<DaftarBarang> listBarang;

    @PostConstruct
    void init() {
        service = new DaftarBarangServiceImpl();
        listBarang = service.getListDaftarBarang();
    }

    public List<DaftarBarang> getListBarang() {
        return listBarang;
    }

    public void setListBarang(List<DaftarBarang> listBarang) {
        this.listBarang = listBarang;
    }
}

Halaman Daftar Barang

Halaman Daftar Barang yang menampilkan data dalam bentuk tabel.

CODE
<?xml version="1.0" encoding="UTF-8"?>
<!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:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
        <meta name="apple-mobile-web-app-capable" content="yes" />
    </f:facet>
    <title>Belajar Java EE</title>
</h:head>

<h:body>
    <h2>Daftar Barang</h2>
    <p:dataTable var="barang" value="#{daftarBarangMBean.listBarang}"
                 rows="10" paginator="true" paginatorPosition="bottom"
                 paginatorTemplate="{CurrentPageReport} {FirstPageLink}
                {PreviousPageLink} {PageLinks} {NextPageLink}
                {LastPageLink} {RowsPerPageDropdown}"
                 rowsPerPageTemplate="10,15,20">
        <p:column headerText="Kode Barang">
            <h:outputText value="#{barang.kodebarang}" />
        </p:column>

        <p:column headerText="Nama Barang">
            <h:outputText value="#{barang.namabarang}" />
        </p:column>

        <p:column headerText="No. Register">
            <h:outputText value="#{barang.register}" />
        </p:column>

        <p:column headerText="Jumlah">
            <h:outputText value="#{barang.jumlah}" />
        </p:column>

        <p:column headerText="Harga">
            <h:outputText value="#{barang.hargabarang}" />
        </p:column>
    </p:dataTable>
</h:body>

</html>

Sekian tutorial cara menambahkan paginator di DataTable Primefaces, semoga bermanfaat.

Subscribe to receive free email updates:

0 Response to "Belajar Java Web - Cara Menambahkan Paginator di DataTable"

Posting Komentar