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
Darci I GarufiCanadaStephen Shaw PROPOSAL
Sinclair W SlusarskiAustraliaOnyama Limba UNQUALIFIED
Kaitlin G SergiIndiaBernardo Dominic NEGOTIATION
Nicolas Z FollerJapanAnna Fali RENEWAL
Clifford R TollnerSpainBernardo Dominic NEGOTIATION
Morrow A MorascaIndiaAnna Fali RENEWAL
Leja V FerenczUnited KingdomXuxue Feng PROPOSAL
Deepesh J VocelkaGermanyXuxue Feng UNQUALIFIED
Aruna Q RutaGermanyXuxue Feng PROPOSAL
Leon I AmigonFranceAnna Fali QUALIFIED
Alejandro C ButtArgentinaIvan Magalhaes NEGOTIATION
Julie C MaletItalyOnyama Limba NEW
Emily H IturbideIndiaStephen Shaw PROPOSAL
Clifford G ShinkoRussiaElwin Sharvill NEW
Murillo R WieserAustraliaBernardo Dominic PROPOSAL
Wickens M GauchoSpainOnyama Limba PROPOSAL
Murillo I MaletRussiaAmy Elsner NEGOTIATION
Faith Q DoeAustraliaAnna Fali QUALIFIED
Izzy U PaprockiItalyIvan Magalhaes NEGOTIATION
Johnson U DoeUnited KingdomXuxue Feng UNQUALIFIED
David T NickaIndiaAmy Elsner UNQUALIFIED
Johnson R RulapaughJapanIoni Bowcher PROPOSAL
Greenwood X PoquetteCanadaIvan Magalhaes QUALIFIED
Leja O MaletGermanyIoni Bowcher NEW
Costa E GarufiItalyAsiya Javayant NEW
Greenwood B KuskoIndiaAmy Elsner PROPOSAL
Claire Z CampainJapanIvan Magalhaes NEW
Ricardo B CaldareraIndiaAmy Elsner NEW
Costa M WaycottCanadaBernardo Dominic QUALIFIED
Nicolas W NickaIndiaAsiya Javayant NEW
Aditya A WieserGermanyStephen Shaw NEW
James F MarrierIndiaIoni Bowcher QUALIFIED
Claire K NickaItalyElwin Sharvill UNQUALIFIED
James P ShinkoSpainAsiya Javayant RENEWAL
Silvio G ChuiBrazilXuxue Feng PROPOSAL
Murillo H StockhamFranceElwin Sharvill UNQUALIFIED
Ricardo P BologniaSpainIoni Bowcher NEW
Rodrigues Q RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Sinclair F RulapaughRussiaElwin Sharvill NEGOTIATION
Stacey A CaudyCanadaAnna Fali QUALIFIED
Stacey R WhobreyCanadaBernardo Dominic PROPOSAL
Adams N BowleyAustraliaElwin Sharvill NEW
David J OldroydJapanAmy Elsner QUALIFIED
Mujtaba H StensethIndiaBernardo Dominic PROPOSAL
Cody S SaylorsGermanyOnyama Limba QUALIFIED
Ivar F SchemmerGermanyAnna Fali NEW
Rodrigues P PaprockiRussiaIoni Bowcher RENEWAL
Julie K RimItalyAsiya Javayant NEGOTIATION
Sinclair H DilliardAustraliaBernardo Dominic RENEWAL
Jefferson O CaldareraIndiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna B ChuiItalyElwin Sharvill RENEWAL
Faith Z GlickFranceElwin Sharvill UNQUALIFIED
Aika F AlbaresIndiaIvan Magalhaes UNQUALIFIED
Aika X DarakjyArgentinaIvan Magalhaes RENEWAL
James R BologniaItalyAsiya Javayant PROPOSAL
Izzy H NickaCanadaXuxue Feng NEGOTIATION
Johnson I FlosiBrazilAmy Elsner PROPOSAL
Mayumi V GlickFranceAmy Elsner RENEWAL
Kaitlin T CaudyArgentinaBernardo Dominic NEGOTIATION
Maria V BologniaSpainAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja H IturbideIndia2026-06-21Truhlar And Truhlar Attys PROPOSAL20Asiya Javayant
1001Stacey A StensethAustralia2026-06-15Feltz Printing Service QUALIFIED39Ivan Magalhaes
1002Salvatore Y WhobreyArgentina2026-06-18Feltz Printing Service UNQUALIFIED67Asiya Javayant
1003Tony S NickaAustralia2026-06-14King, Christopher A Esq NEGOTIATION7Ioni Bowcher
1004Aditya W FlosiAustralia2026-06-13Buckley Miller Wright RENEWAL68Asiya Javayant
1005Cody R DoeJapan2026-06-30Chemel, James L Cpa PROPOSAL87Asiya Javayant
1006Mayumi F PerinArgentina2026-07-03Feltz Printing Service PROPOSAL2Ioni Bowcher
1007Aruna M FigeroaJapan2026-06-15Truhlar And Truhlar Attys UNQUALIFIED48Ioni Bowcher
1008Francesco J BowleyUnited Kingdom2026-07-06Morlong Associates NEW65Onyama Limba
1009Morrow M SlusarskiArgentina2026-07-03Rousseaux, Michael Esq UNQUALIFIED48Bernardo Dominic
1010Nicolas Q WhobreyUnited Kingdom2026-07-02Truhlar And Truhlar Attys UNQUALIFIED56Asiya Javayant
1011Jones Y RulapaughCanada2026-06-14Benton, John B Jr QUALIFIED28Xuxue Feng
1012Mujtaba V DilliardFrance2026-06-23Chapman, Ross E Esq PROPOSAL96Stephen Shaw
1013Leja R IturbideJapan2026-06-25Benton, John B Jr NEW25Bernardo Dominic
1014Antonio U GlickSpain2026-06-29King, Christopher A Esq PROPOSAL73Amy Elsner
1015Izzy Z RulapaughUnited Kingdom2026-06-27Commercial Press UNQUALIFIED27Asiya Javayant
1016Stacey C CampainIndia2026-06-17Feltz Printing Service RENEWAL17Ivan Magalhaes
1017Wickens L ButtArgentina2026-07-05Chapman, Ross E Esq NEGOTIATION41Bernardo Dominic
1018Wickens E CampainCanada2026-06-25Feiner Bros NEW10Onyama Limba
1019Jennifer M ShinkoJapan2026-07-03Chemel, James L Cpa NEGOTIATION24Elwin Sharvill
1020Misaki C FerenczUnited Kingdom2026-06-22Chanay, Jeffrey A Esq NEW60Ivan Magalhaes
1021Mujtaba B CampainBrazil2026-07-02Benton, John B Jr NEW93Xuxue Feng
1022Maisha W BriddickJapan2026-07-04Truhlar And Truhlar Attys UNQUALIFIED74Onyama Limba
1023Deepesh Y FollerFrance2026-06-30Buckley Miller Wright QUALIFIED53Asiya Javayant
1024Jones A FollerArgentina2026-06-11King, Christopher A Esq UNQUALIFIED31Anna Fali
1025David B FerenczGermany2026-06-27Printing Dimensions PROPOSAL4Anna Fali
1026Munro P AmigonFrance2026-06-25Commercial Press NEGOTIATION42Stephen Shaw
1027James H NestleAustralia2026-06-20Chemel, James L Cpa NEW70Xuxue Feng
1028James X FollerJapan2026-06-15Dorl, James J Esq QUALIFIED70Onyama Limba
1029Jones U PoquetteArgentina2026-07-01Commercial Press PROPOSAL0Ivan Magalhaes
1030Alejandro F PaprockiSpain2026-06-25Benton, John B Jr QUALIFIED39Elwin Sharvill
1031Greenwood K RutaItaly2026-07-05Feltz Printing Service PROPOSAL96Anna Fali
1032James I IturbideSpain2026-07-03Rangoni Of Florence RENEWAL63Ivan Magalhaes
1033Wickens Z NickaFrance2026-07-03Chemel, James L Cpa NEW11Stephen Shaw
1034Octavia O KuskoJapan2026-06-18Commercial Press NEGOTIATION54Ivan Magalhaes
1035Salvatore Y ShinkoSpain2026-06-22Feltz Printing Service RENEWAL23Ivan Magalhaes
1036Antonio T CaldareraUnited Kingdom2026-06-27Printing Dimensions UNQUALIFIED13Elwin Sharvill
1037Aika E PoquetteItaly2026-06-19Printing Dimensions NEGOTIATION14Onyama Limba
1038Salvatore B BowleyAustralia2026-06-09Chapman, Ross E Esq PROPOSAL15Bernardo Dominic
1039Chavez V GauchoFrance2026-06-29Commercial Press UNQUALIFIED49Stephen Shaw
1040Faith C StockhamFrance2026-06-16Morlong Associates PROPOSAL39Amy Elsner
1041Antonio K BriddickUnited Kingdom2026-06-15Rangoni Of Florence RENEWAL22Ivan Magalhaes
1042Chavez A BriddickAustralia2026-06-24Rangoni Of Florence NEGOTIATION84Amy Elsner
1043Salvatore G KuskoBrazil2026-06-30Truhlar And Truhlar Attys RENEWAL91Amy Elsner
1044Maria E WhobreyBrazil2026-06-16Truhlar And Truhlar Attys UNQUALIFIED90Ioni Bowcher
1045Deepesh O SergiCanada2026-06-22Rangoni Of Florence NEGOTIATION39Elwin Sharvill
1046Aruna T RulapaughFrance2026-06-09Truhlar And Truhlar Attys UNQUALIFIED86Bernardo Dominic
1047Silvio O IturbideJapan2026-06-20Benton, John B Jr PROPOSAL75Anna Fali
1048Aika K WaycottBrazil2026-07-06Buckley Miller Wright QUALIFIED47Elwin Sharvill
1049Maria M IturbideSpain2026-06-26Truhlar And Truhlar Attys QUALIFIED53Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson N WhobreyCanadaElwin Sharvill RENEWAL
Greenwood K IturbideCanadaXuxue Feng NEW
Adams J NickaSpainBernardo Dominic NEW
Emily C RimJapanOnyama Limba NEGOTIATION
Aruna H SaylorsGermanyAmy Elsner PROPOSAL
Stacey F CampainAustraliaIoni Bowcher NEGOTIATION
Julie B CaldareraFranceBernardo Dominic NEGOTIATION
Greenwood N DilliardItalyAmy Elsner NEGOTIATION
Aika B RutaAustraliaIoni Bowcher UNQUALIFIED
Alejandro T MaletAustraliaAnna Fali PROPOSAL
Emily B StensethRussiaStephen Shaw NEW
Kadeem M GauchoBrazilAsiya Javayant RENEWAL
Leja N WaycottAustraliaIvan Magalhaes PROPOSAL
David I FerenczArgentinaAnna Fali RENEWAL
Wickens R MarrierRussiaOnyama Limba UNQUALIFIED
Jennifer Z SergiBrazilIvan Magalhaes PROPOSAL
Francesco O BriddickGermanyAsiya Javayant UNQUALIFIED
Chavez B VocelkaFranceIvan Magalhaes UNQUALIFIED
Aika E NickaArgentinaAmy Elsner UNQUALIFIED
Jones X SlusarskiCanadaAsiya Javayant RENEWAL
Smith B MacleadIndiaAmy Elsner UNQUALIFIED
Aruna Q RoysterArgentinaBernardo Dominic RENEWAL
Maria H IturbideBrazilAnna Fali RENEWAL
Tony S FollerRussiaOnyama Limba NEGOTIATION
Jones Y AlbaresAustraliaAmy Elsner NEGOTIATION
Faith R PaprockiJapanIoni Bowcher RENEWAL
Clifford K RulapaughBrazilStephen Shaw RENEWAL
Costa S FlosiJapanAmy Elsner NEGOTIATION
Ivar I StockhamIndiaElwin Sharvill RENEWAL
Greenwood T RoysterCanadaElwin Sharvill NEGOTIATION
Arvin B VenereJapanAmy Elsner PROPOSAL
Francesco Q FlosiBrazilAsiya Javayant RENEWAL
Morrow P RutaItalyElwin Sharvill NEGOTIATION
Leon Y ButtGermanyIoni Bowcher PROPOSAL
Nicolas K SergiJapanAnna Fali NEGOTIATION
Izzy N MaletCanadaBernardo Dominic NEGOTIATION
David N SchemmerBrazilIoni Bowcher NEW
Isabel H BowleyUnited KingdomAsiya Javayant RENEWAL
Emily G InouyeJapanElwin Sharvill RENEWAL
Ashley D NickaFranceElwin Sharvill NEGOTIATION
Smith S BriddickFranceElwin Sharvill NEW
Faith L DarakjyJapanIvan Magalhaes RENEWAL
Clifford K TollnerItalyIvan Magalhaes RENEWAL
Rodrigues R MaletFranceElwin Sharvill RENEWAL
Darci X CaldareraJapanIoni Bowcher PROPOSAL
Wickens A CaldareraAustraliaIoni Bowcher QUALIFIED
Ivar J DoeItalyBernardo Dominic PROPOSAL
Darci S DoeBrazilOnyama Limba QUALIFIED
Kaitlin P KuskoRussiaIoni Bowcher PROPOSAL
Clifford T MacleadIndiaAnna Fali PROPOSAL
Frozen Columns
Name
Johnson Y Iturbide
Jones L Rim
Aika X Whobrey
Munro N Waycott
Francesco M Royster
Mujtaba K Bolognia
Murillo U Sergi
Wickens P Stenseth
Julie X Kusko
Silvio V Morasca
Kaitlin W Whobrey
Cody N Chui
Deepesh J Vocelka
Aruna P Stockham
Claire A Marrier
Juan A Caldarera
Leon S Wieser
Greenwood F Malet
Deepesh E Perin
Tony U Butt
Ashley K Stenseth
Claire B Butt
Greenwood I Kolmetz
Greenwood X Stenseth
Mayumi H Waycott
Rodrigues P Oldroyd
Tony M Marrier
Aditya E Rim
Aika B Royster
Rodrigues P Amigon
Claire T Inouye
Costa J Morasca
Ivar D Whobrey
Nicolas I Briddick
Faith W Perin
Jennifer H Morasca
Chavez L Whobrey
Jones J Slusarski
Octavia A Caldarera
Ricardo K Ostrosky
Aika A Rim
Ashley Z Garufi
Tony P Rim
Tony G Campain
Rodrigues W Marrier
Jefferson P Ruta
Kaitlin K Maclead
Aruna S Nestle
Juan J Sergi
Murillo P Vocelka
IdCountryDate
1000Italy2026-06-20
1001Australia2026-06-12
1002Brazil2026-06-27
1003Japan2026-06-14
1004Canada2026-06-28
1005Japan2026-07-06
1006Japan2026-06-18
1007Canada2026-06-27
1008Germany2026-07-02
1009Brazil2026-07-07
1010United Kingdom2026-06-11
1011Brazil2026-07-07
1012Canada2026-07-06
1013Argentina2026-06-09
1014Spain2026-06-30
1015Spain2026-06-30
1016Japan2026-06-19
1017United Kingdom2026-06-22
1018Australia2026-07-04
1019Japan2026-06-20
1020Canada2026-06-09
1021France2026-06-09
1022France2026-07-05
1023Russia2026-06-28
1024United Kingdom2026-07-01
1025United Kingdom2026-07-02
1026Russia2026-07-02
1027Italy2026-06-22
1028Canada2026-06-11
1029Italy2026-06-09
1030Germany2026-07-02
1031India2026-07-03
1032Australia2026-06-23
1033Russia2026-06-26
1034Argentina2026-06-19
1035United Kingdom2026-07-05
1036France2026-06-12
1037India2026-06-10
1038India2026-07-05
1039Canada2026-06-11
1040United Kingdom2026-06-18
1041Russia2026-06-14
1042Spain2026-07-07
1043Italy2026-06-18
1044Japan2026-07-02
1045France2026-06-26
1046India2026-06-18
1047Canada2026-07-07
1048Spain2026-06-20
1049United Kingdom2026-06-13

On-Demand Data

NameIdCountryDate
Maisha A Dilliard1000Spain2026-06-19
James C Poquette1001Canada2026-06-29
Isabel E Whobrey1002Japan2026-06-24
Cody P Figeroa1003Canada2026-06-10
Murillo J Tollner1004Brazil2026-06-13
James J Ruta1005Brazil2026-06-08
Emily U Venere1006Italy2026-07-04
Costa O Royster1007United Kingdom2026-06-24
Silvio B Garufi1008Brazil2026-06-11
Kadeem Z Waycott1009Russia2026-07-03
Leon Y Rim1010United Kingdom2026-06-29
Adams L Garufi1011Japan2026-07-05
Leon P Poquette1012Brazil2026-06-14
Misaki E Royster1013Argentina2026-06-25
Leon H Stockham1014France2026-06-11
Mayumi M Shinko1015India2026-07-02
Ivar B Stockham1016France2026-06-16
Claire B Darakjy1017Australia2026-06-10
David C Whobrey1018Spain2026-07-05
Mujtaba P Glick1019Germany2026-07-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika M SlusarskiBrazilElwin Sharvill NEGOTIATION
Darci L MorascaSpainAnna Fali RENEWAL
Maria V MaletAustraliaIvan Magalhaes RENEWAL
Izzy P PaprockiRussiaAmy Elsner RENEWAL
Juan Q KolmetzItalyStephen Shaw NEW
Emily Y MarrierSpainOnyama Limba UNQUALIFIED
David X OldroydItalyBernardo Dominic QUALIFIED
Wickens D NestleUnited KingdomAnna Fali RENEWAL
Aika Q AmigonSpainStephen Shaw QUALIFIED
Ricardo W PerinCanadaBernardo Dominic QUALIFIED
Emily F CaldareraItalyElwin Sharvill PROPOSAL
Leja H GlickIndiaAsiya Javayant NEGOTIATION
Aruna V IturbideGermanyBernardo Dominic PROPOSAL
Stacey U StockhamRussiaBernardo Dominic QUALIFIED
Juan T MacleadGermanyBernardo Dominic RENEWAL
Ricardo I StockhamBrazilElwin Sharvill RENEWAL
Maisha M VocelkaCanadaBernardo Dominic QUALIFIED
Sinclair R PerinAustraliaIvan Magalhaes QUALIFIED
Silvio Z AlbaresCanadaXuxue Feng PROPOSAL
Emily W GauchoAustraliaStephen Shaw RENEWAL
Maisha M GlickUnited KingdomAnna Fali QUALIFIED
Tony W DoeAustraliaAmy Elsner PROPOSAL
Claire R FlosiBrazilAsiya Javayant NEW
Alejandro U ButtItalyBernardo Dominic QUALIFIED
Juan X RimRussiaAmy Elsner QUALIFIED
Jones S InouyeRussiaAnna Fali PROPOSAL
Chavez K KolmetzAustraliaIvan Magalhaes QUALIFIED
Aruna D GlickArgentinaAsiya Javayant UNQUALIFIED
Antonio Y ShinkoAustraliaAsiya Javayant RENEWAL
Aruna W TollnerItalyOnyama Limba NEW
Murillo B AmigonIndiaStephen Shaw NEW
Murillo V MaletItalyAnna Fali NEGOTIATION
Jones R CaldareraItalyElwin Sharvill PROPOSAL
Ivar A NickaUnited KingdomIvan Magalhaes NEW
James W DoeJapanIoni Bowcher UNQUALIFIED
Kadeem Y MorascaFranceOnyama Limba QUALIFIED
Francesco C StensethJapanAsiya Javayant UNQUALIFIED
Juan W InouyeJapanAmy Elsner RENEWAL
Kadeem H WieserItalyAsiya Javayant NEGOTIATION
James Q SlusarskiJapanOnyama Limba 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>