Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Octavia Q VenereJapanBernardo Dominic NEW
Jones Q GauchoIndiaIoni Bowcher QUALIFIED
Deepesh H ChuiCanadaOnyama Limba QUALIFIED
Wickens E RutaRussiaBernardo Dominic UNQUALIFIED
Wickens W RutaCanadaOnyama Limba NEGOTIATION
Salvatore T SergiIndiaAsiya Javayant NEGOTIATION
Costa U AmigonCanadaIvan Magalhaes RENEWAL
Cody Z GillianIndiaOnyama Limba NEGOTIATION
Aditya T GlickArgentinaAmy Elsner QUALIFIED
Greenwood N WhobreyItalyAmy Elsner NEW
Leon M BriddickSpainElwin Sharvill NEGOTIATION
Tony D NickaUnited KingdomAmy Elsner NEW
Juan A PerinItalyIoni Bowcher RENEWAL
Mujtaba Q IturbideIndiaIvan Magalhaes RENEWAL
Silvio D AmigonGermanyAmy Elsner RENEWAL
Alejandro H KolmetzUnited KingdomAnna Fali PROPOSAL
Alejandro C SaylorsUnited KingdomAsiya Javayant QUALIFIED
Julie T StensethFranceAsiya Javayant NEGOTIATION
Silvio L TollnerArgentinaStephen Shaw RENEWAL
Juan L DarakjyRussiaXuxue Feng RENEWAL
Isabel G MaletItalyElwin Sharvill NEW
Jones R MaletArgentinaOnyama Limba QUALIFIED
Deepesh X SaylorsArgentinaBernardo Dominic PROPOSAL
Juan F FerenczAustraliaStephen Shaw NEW
Chavez Q KolmetzIndiaStephen Shaw NEGOTIATION
Claire I FerenczFranceAnna Fali RENEWAL
Tony P WaycottGermanyAsiya Javayant QUALIFIED
Nicolas O GillianItalyElwin Sharvill NEGOTIATION
Faith D ChuiJapanAsiya Javayant NEGOTIATION
Chavez P MaletSpainAnna Fali PROPOSAL
Chavez A RutaUnited KingdomIvan Magalhaes NEGOTIATION
Darci R GauchoItalyXuxue Feng UNQUALIFIED
Maria K GlickGermanyAnna Fali NEW
Aruna S GillianItalyBernardo Dominic NEGOTIATION
Arvin V KuskoIndiaStephen Shaw NEW
Mujtaba R KuskoBrazilAsiya Javayant NEW
Maisha R DoeUnited KingdomBernardo Dominic NEGOTIATION
Julie Y InouyeGermanyAsiya Javayant PROPOSAL
Salvatore K IturbideItalyAmy Elsner QUALIFIED
Johnson U SergiCanadaElwin Sharvill NEW
Claire Q StensethCanadaXuxue Feng PROPOSAL
Tony V PoquetteRussiaIoni Bowcher NEW
Morrow Y CampainAustraliaAmy Elsner RENEWAL
Mujtaba G VocelkaSpainXuxue Feng RENEWAL
Adams I MorascaBrazilStephen Shaw UNQUALIFIED
Adams C PoquetteGermanyOnyama Limba PROPOSAL
Kadeem A DarakjyRussiaIvan Magalhaes NEGOTIATION
Kaitlin Q WhobreyCanadaBernardo Dominic NEGOTIATION
Antonio M StensethCanadaElwin Sharvill NEGOTIATION
James R WaycottAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones U ButtJapanElwin Sharvill QUALIFIED
Murillo S PaprockiRussiaIvan Magalhaes NEW
Silvio Z RulapaughItalyStephen Shaw PROPOSAL
Izzy G GarufiBrazilAnna Fali RENEWAL
Mayumi G NickaIndiaStephen Shaw NEW
Greenwood V WieserUnited KingdomElwin Sharvill PROPOSAL
Rodrigues A GlickItalyBernardo Dominic NEGOTIATION
James G ShinkoIndiaBernardo Dominic NEGOTIATION
Aika G TollnerFranceXuxue Feng QUALIFIED
Chavez C SaylorsItalyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens S BriddickJapan2026-06-28Feiner Bros PROPOSAL69Amy Elsner
1001Juan D RoysterFrance2026-07-21Morlong Associates QUALIFIED85Onyama Limba
1002Nicolas Y AlbaresRussia2026-07-07Buckley Miller Wright UNQUALIFIED83Asiya Javayant
1003Juan M MarrierBrazil2026-07-23Chapman, Ross E Esq QUALIFIED76Ivan Magalhaes
1004Stacey P CampainAustralia2026-06-25Chanay, Jeffrey A Esq NEGOTIATION91Anna Fali
1005Alejandro F RoysterItaly2026-07-13Rousseaux, Michael Esq UNQUALIFIED61Amy Elsner
1006Izzy C DilliardAustralia2026-07-19Chemel, James L Cpa QUALIFIED71Bernardo Dominic
1007James Z GauchoFrance2026-07-02King, Christopher A Esq RENEWAL14Bernardo Dominic
1008Aruna Q MacleadRussia2026-07-11Rangoni Of Florence NEW70Anna Fali
1009Stacey R GlickUnited Kingdom2026-07-21Chapman, Ross E Esq UNQUALIFIED39Ioni Bowcher
1010Darci D ShinkoBrazil2026-06-28Morlong Associates RENEWAL95Bernardo Dominic
1011Nicolas W ButtUnited Kingdom2026-07-15King, Christopher A Esq RENEWAL30Asiya Javayant
1012Silvio B PoquetteBrazil2026-07-08Printing Dimensions NEGOTIATION64Anna Fali
1013Mayumi G WaycottItaly2026-07-16Commercial Press RENEWAL78Stephen Shaw
1014Murillo O TollnerItaly2026-07-10Feltz Printing Service QUALIFIED16Asiya Javayant
1015Aika B AlbaresFrance2026-07-22Truhlar And Truhlar Attys NEGOTIATION3Bernardo Dominic
1016Johnson L RimGermany2026-07-24Commercial Press UNQUALIFIED1Ivan Magalhaes
1017Claire D WhobreySpain2026-07-22Morlong Associates UNQUALIFIED65Amy Elsner
1018Wickens R DoeIndia2026-06-25Feltz Printing Service PROPOSAL22Elwin Sharvill
1019Julie P PerinJapan2026-07-08Rousseaux, Michael Esq PROPOSAL30Xuxue Feng
1020Rodrigues Q OldroydFrance2026-07-19Printing Dimensions RENEWAL81Onyama Limba
1021Murillo T MaletBrazil2026-07-20Chapman, Ross E Esq UNQUALIFIED41Ioni Bowcher
1022Smith C WaycottAustralia2026-07-01Feiner Bros QUALIFIED62Amy Elsner
1023Adams Z OldroydJapan2026-07-07Chapman, Ross E Esq PROPOSAL89Xuxue Feng
1024Cody I WhobreyJapan2026-07-12Dorl, James J Esq NEGOTIATION3Amy Elsner
1025Kadeem A VenereJapan2026-06-29Chapman, Ross E Esq QUALIFIED89Anna Fali
1026Leja P WaycottRussia2026-07-11Chapman, Ross E Esq UNQUALIFIED23Stephen Shaw
1027Isabel H MorascaRussia2026-07-05Printing Dimensions QUALIFIED98Ioni Bowcher
1028Emily M RutaCanada2026-07-17Rangoni Of Florence RENEWAL18Ioni Bowcher
1029Ricardo W FerenczGermany2026-07-24Rangoni Of Florence PROPOSAL48Anna Fali
1030Ivar U FerenczBrazil2026-07-24Dorl, James J Esq QUALIFIED6Stephen Shaw
1031Nicolas F BriddickItaly2026-07-21Truhlar And Truhlar Attys PROPOSAL26Elwin Sharvill
1032Jefferson X GarufiBrazil2026-07-05Rousseaux, Michael Esq UNQUALIFIED28Anna Fali
1033Leja F PoquetteSpain2026-07-21Commercial Press NEGOTIATION64Onyama Limba
1034Kadeem M StensethIndia2026-07-10Commercial Press UNQUALIFIED94Elwin Sharvill
1035Emily L TollnerSpain2026-06-25King, Christopher A Esq PROPOSAL62Stephen Shaw
1036Ashley K KolmetzUnited Kingdom2026-07-04Benton, John B Jr NEGOTIATION69Onyama Limba
1037David E CaudyFrance2026-07-13Commercial Press NEW64Xuxue Feng
1038Johnson U VenereFrance2026-07-18Printing Dimensions UNQUALIFIED33Amy Elsner
1039Jeanfrancois T StockhamGermany2026-07-13Feltz Printing Service QUALIFIED21Asiya Javayant
1040Morrow N OldroydFrance2026-07-08Feltz Printing Service RENEWAL15Xuxue Feng
1041Costa Y AlbaresGermany2026-07-15Buckley Miller Wright NEGOTIATION12Ivan Magalhaes
1042Jones W FlosiFrance2026-07-10Rousseaux, Michael Esq RENEWAL26Elwin Sharvill
1043Stacey T MaletJapan2026-07-18Rousseaux, Michael Esq PROPOSAL99Ioni Bowcher
1044Claire F KuskoGermany2026-06-25Printing Dimensions RENEWAL0Elwin Sharvill
1045Julie Y RutaAustralia2026-07-17Chemel, James L Cpa PROPOSAL3Asiya Javayant
1046Adams P AlbaresIndia2026-06-28King, Christopher A Esq QUALIFIED7Asiya Javayant
1047James A OldroydCanada2026-06-26Buckley Miller Wright PROPOSAL47Bernardo Dominic
1048Greenwood P RulapaughRussia2026-07-09Chemel, James L Cpa RENEWAL87Anna Fali
1049Silvio Y SergiSpain2026-07-16King, Christopher A Esq UNQUALIFIED88Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna E RoysterArgentinaAnna Fali RENEWAL
Ivar P WaycottJapanOnyama Limba RENEWAL
Kadeem N RoysterArgentinaAnna Fali RENEWAL
Wickens R IturbideIndiaAmy Elsner UNQUALIFIED
Stacey X ShinkoAustraliaAsiya Javayant UNQUALIFIED
Emily Y ButtAustraliaIoni Bowcher NEW
Francesco U SlusarskiArgentinaIoni Bowcher RENEWAL
Emily O SergiBrazilAmy Elsner RENEWAL
Mujtaba I InouyeArgentinaStephen Shaw NEW
Francesco O MacleadSpainAnna Fali PROPOSAL
Clifford Z MarrierArgentinaOnyama Limba QUALIFIED
Silvio I GauchoItalyElwin Sharvill PROPOSAL
Julie S CampainJapanAnna Fali NEW
Arvin Z WieserRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois T PerinFranceBernardo Dominic NEW
Alejandro J WhobreyItalyIoni Bowcher PROPOSAL
Octavia L CaudyItalyBernardo Dominic PROPOSAL
Ashley F GarufiAustraliaIvan Magalhaes QUALIFIED
Clifford L FlosiIndiaIoni Bowcher NEGOTIATION
Ricardo L DoeRussiaAsiya Javayant QUALIFIED
Ricardo U PerinSpainXuxue Feng NEGOTIATION
Rodrigues Q StockhamUnited KingdomBernardo Dominic NEGOTIATION
Leja U BriddickRussiaStephen Shaw UNQUALIFIED
Wickens N PaprockiRussiaIvan Magalhaes QUALIFIED
Julie U OldroydCanadaAsiya Javayant PROPOSAL
Adams M DarakjyIndiaBernardo Dominic RENEWAL
James J InouyeRussiaAmy Elsner NEW
Aditya P SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Aditya Z SchemmerCanadaStephen Shaw RENEWAL
Izzy T FlosiItalyAnna Fali UNQUALIFIED
Claire Z ButtArgentinaAsiya Javayant NEW
Misaki R CaldareraItalyAnna Fali NEGOTIATION
Sinclair C CampainJapanAnna Fali NEGOTIATION
Clifford M StockhamSpainAnna Fali UNQUALIFIED
Leja J RulapaughBrazilStephen Shaw PROPOSAL
Munro C CampainIndiaAsiya Javayant QUALIFIED
James W DarakjySpainAnna Fali NEW
Mayumi B VocelkaRussiaAmy Elsner NEGOTIATION
Leja I OldroydCanadaStephen Shaw QUALIFIED
Arvin A CampainJapanBernardo Dominic PROPOSAL
Jones M RoysterIndiaStephen Shaw NEW
Rodrigues I MorascaIndiaElwin Sharvill NEGOTIATION
Octavia Z MaletIndiaIoni Bowcher UNQUALIFIED
Faith T SergiJapanElwin Sharvill RENEWAL
Nicolas K MorascaAustraliaOnyama Limba NEGOTIATION
Salvatore V OldroydAustraliaBernardo Dominic PROPOSAL
Aika G SlusarskiIndiaElwin Sharvill QUALIFIED
Munro L ChuiSpainAsiya Javayant NEW
Ivar K ButtBrazilXuxue Feng RENEWAL
Jefferson P MorascaFranceAnna Fali PROPOSAL
Frozen Columns
Name
Salvatore V Kusko
Ashley E Rim
Jefferson J Slusarski
Kadeem Y Chui
Greenwood Y Garufi
Antonio V Doe
Alejandro A Royster
Claire I Maclead
Isabel Y Rulapaugh
Jefferson L Maclead
Juan D Dilliard
Clifford V Royster
Stacey I Stockham
Maisha G Stockham
Aditya N Chui
Johnson G Ruta
Jeanfrancois D Nestle
Kaitlin D Albares
Isabel M Chui
Leon L Rim
Leon A Bowley
Deepesh M Rulapaugh
Stacey K Amigon
Octavia L Iturbide
David O Caldarera
Costa S Venere
Silvio P Stenseth
Octavia K Stockham
Stacey S Amigon
Francesco U Rim
Johnson O Caudy
Juan C Saylors
Wickens J Doe
David O Wieser
Silvio F Kolmetz
Adams M Gillian
Wickens G Chui
Murillo X Morasca
Munro C Slusarski
Chavez Y Malet
Octavia Q Malet
Leon D Caldarera
Jeanfrancois A Paprocki
Morrow Z Saylors
Isabel G Nicka
Kadeem U Kusko
Misaki L Figeroa
Mujtaba R Inouye
Clifford C Nicka
Julie O Doe
IdCountryDate
1000Japan2026-07-20
1001Spain2026-06-27
1002Spain2026-07-05
1003Australia2026-07-09
1004Spain2026-07-24
1005Brazil2026-07-18
1006Germany2026-06-25
1007Canada2026-07-09
1008United Kingdom2026-07-04
1009Russia2026-06-29
1010Russia2026-06-28
1011Japan2026-07-10
1012France2026-07-19
1013Russia2026-06-26
1014United Kingdom2026-07-20
1015Spain2026-07-21
1016Spain2026-07-11
1017Brazil2026-07-16
1018India2026-07-14
1019Canada2026-06-27
1020Japan2026-06-28
1021Italy2026-07-24
1022Canada2026-06-27
1023Canada2026-07-14
1024Argentina2026-07-19
1025Spain2026-07-17
1026Italy2026-07-14
1027United Kingdom2026-07-23
1028France2026-07-09
1029Russia2026-07-06
1030Brazil2026-07-19
1031Australia2026-07-07
1032Italy2026-07-07
1033Argentina2026-07-15
1034France2026-07-07
1035United Kingdom2026-07-06
1036Italy2026-06-25
1037Japan2026-07-10
1038Russia2026-07-20
1039Japan2026-07-21
1040Argentina2026-06-30
1041France2026-07-05
1042Brazil2026-07-18
1043United Kingdom2026-07-13
1044Brazil2026-07-05
1045Canada2026-06-30
1046Italy2026-07-18
1047France2026-07-05
1048Japan2026-07-06
1049Argentina2026-07-23

On-Demand Data

NameIdCountryDate
Aruna F Ferencz1000India2026-07-17
Leja H Wieser1001Italy2026-07-11
Silvio R Ruta1002Argentina2026-07-19
Smith E Ruta1003Argentina2026-07-15
Murillo U Albares1004France2026-06-26
Tony C Saylors1005Spain2026-06-25
Maisha P Caldarera1006Japan2026-07-15
Leon L Morasca1007United Kingdom2026-07-15
Aruna G Caldarera1008Australia2026-06-29
Isabel G Poquette1009Germany2026-07-18
Kadeem Z Tollner1010Germany2026-07-04
Arvin N Dilliard1011Russia2026-07-09
Stacey Z Gaucho1012Australia2026-07-18
Antonio F Flosi1013Russia2026-07-03
Johnson D Butt1014India2026-07-14
Mayumi X Gillian1015Argentina2026-06-29
Maisha A Morasca1016India2026-07-02
Faith Q Briddick1017Argentina2026-07-19
Leon I Chui1018Germany2026-06-29
Jones O Saylors1019India2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria R FigeroaGermanyAnna Fali UNQUALIFIED
Wickens M BologniaUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois D BologniaItalyStephen Shaw PROPOSAL
Alejandro B PoquetteJapanElwin Sharvill QUALIFIED
Greenwood T CaudyGermanyElwin Sharvill NEGOTIATION
Octavia A RimAustraliaXuxue Feng PROPOSAL
Faith D PerinArgentinaElwin Sharvill UNQUALIFIED
David D CaldareraRussiaIoni Bowcher QUALIFIED
Aruna Y GarufiBrazilBernardo Dominic NEGOTIATION
Morrow Z ButtArgentinaAsiya Javayant RENEWAL
Misaki D VocelkaGermanyIoni Bowcher RENEWAL
Nicolas I MaletCanadaBernardo Dominic PROPOSAL
Jefferson P BriddickJapanAmy Elsner NEGOTIATION
Adams A OldroydRussiaAmy Elsner UNQUALIFIED
Arvin N PoquetteBrazilXuxue Feng RENEWAL
Leja D DarakjySpainBernardo Dominic PROPOSAL
Smith Z GillianArgentinaIoni Bowcher UNQUALIFIED
Rodrigues I InouyeUnited KingdomXuxue Feng RENEWAL
Alejandro S MacleadArgentinaOnyama Limba NEGOTIATION
Jefferson D MarrierIndiaBernardo Dominic RENEWAL
Salvatore A BriddickAustraliaAmy Elsner UNQUALIFIED
Misaki S GarufiSpainAsiya Javayant NEGOTIATION
Greenwood R DilliardBrazilOnyama Limba NEGOTIATION
Aruna F KuskoGermanyAmy Elsner UNQUALIFIED
Arvin A BowleyArgentinaElwin Sharvill RENEWAL
Antonio U IturbideRussiaAnna Fali UNQUALIFIED
Jennifer I RulapaughGermanyAsiya Javayant PROPOSAL
Maisha O MacleadRussiaIoni Bowcher QUALIFIED
Silvio O KuskoFranceAmy Elsner UNQUALIFIED
Silvio K DarakjyArgentinaAmy Elsner QUALIFIED
Johnson J WieserArgentinaElwin Sharvill QUALIFIED
Ivar P AlbaresArgentinaElwin Sharvill RENEWAL
Julie B AlbaresArgentinaElwin Sharvill NEW
Johnson O AlbaresAustraliaAsiya Javayant NEGOTIATION
Johnson D BologniaAustraliaAsiya Javayant PROPOSAL
Morrow J GlickItalyElwin Sharvill QUALIFIED
Chavez Y MaletUnited KingdomBernardo Dominic UNQUALIFIED
Johnson H WieserGermanyElwin Sharvill RENEWAL
Chavez T AmigonGermanyStephen Shaw UNQUALIFIED
Jefferson A WhobreyCanadaIoni Bowcher UNQUALIFIED

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>