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
Aruna U CaudyAustraliaOnyama Limba NEW
Wickens Y WieserCanadaAnna Fali PROPOSAL
Leja M AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro D GlickArgentinaAsiya Javayant NEGOTIATION
Isabel U OldroydRussiaAnna Fali NEW
Deepesh A GlickAustraliaIvan Magalhaes PROPOSAL
Chavez Z WaycottCanadaElwin Sharvill PROPOSAL
Mujtaba E MaletBrazilAsiya Javayant NEW
Jeanfrancois S OstroskyIndiaBernardo Dominic QUALIFIED
Octavia M KolmetzFranceAnna Fali NEW
Leja G NickaGermanyIoni Bowcher PROPOSAL
Greenwood Z GarufiAustraliaXuxue Feng NEW
Julie E MaletGermanyAmy Elsner NEGOTIATION
Leja O PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Izzy P SlusarskiCanadaOnyama Limba QUALIFIED
Jefferson X MaletJapanXuxue Feng RENEWAL
Ricardo X FigeroaSpainAnna Fali UNQUALIFIED
Smith T PaprockiRussiaAsiya Javayant NEGOTIATION
James U MorascaAustraliaOnyama Limba NEGOTIATION
David U MacleadJapanOnyama Limba NEW
Misaki H RoysterBrazilOnyama Limba QUALIFIED
Darci I BriddickIndiaStephen Shaw NEGOTIATION
Isabel T MacleadBrazilIoni Bowcher QUALIFIED
Ashley Y OldroydUnited KingdomStephen Shaw NEGOTIATION
Emily G OldroydBrazilStephen Shaw NEW
Kaitlin E MorascaRussiaAsiya Javayant NEW
Deepesh B ShinkoItalyStephen Shaw RENEWAL
Silvio T ButtSpainStephen Shaw PROPOSAL
Kaitlin M DarakjyRussiaOnyama Limba RENEWAL
Mujtaba K FigeroaGermanyAmy Elsner QUALIFIED
Costa E PerinGermanyElwin Sharvill UNQUALIFIED
Misaki W WhobreyGermanyStephen Shaw PROPOSAL
Johnson A DilliardCanadaAnna Fali RENEWAL
Munro X FlosiBrazilElwin Sharvill RENEWAL
Arvin I SaylorsArgentinaStephen Shaw PROPOSAL
Costa P SchemmerSpainAnna Fali PROPOSAL
Julie L AmigonArgentinaIvan Magalhaes NEGOTIATION
Rodrigues I DilliardBrazilIoni Bowcher RENEWAL
Aruna D CampainFranceXuxue Feng QUALIFIED
Jeanfrancois C SlusarskiJapanAmy Elsner UNQUALIFIED
David E PoquetteBrazilIoni Bowcher NEGOTIATION
Mujtaba C CaldareraGermanyElwin Sharvill PROPOSAL
Francesco A VenereUnited KingdomAnna Fali NEGOTIATION
Alejandro B GillianGermanyIoni Bowcher PROPOSAL
Claire S BriddickCanadaAnna Fali NEGOTIATION
Maria C IturbideSpainOnyama Limba NEGOTIATION
Aika E GauchoJapanXuxue Feng QUALIFIED
Johnson R VenereGermanyXuxue Feng RENEWAL
Francesco C ButtGermanyAmy Elsner PROPOSAL
Aika C MorascaSpainBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Jones T GarufiArgentinaXuxue Feng PROPOSAL
Isabel W PerinUnited KingdomXuxue Feng RENEWAL
Chavez W KuskoIndiaIoni Bowcher RENEWAL
Faith P StockhamGermanyIvan Magalhaes PROPOSAL
Smith B RutaBrazilIvan Magalhaes QUALIFIED
Arvin X WhobreyJapanStephen Shaw UNQUALIFIED
Darci G CampainSpainXuxue Feng NEW
Jefferson B WieserCanadaIvan Magalhaes NEGOTIATION
Kaitlin X BriddickJapanElwin Sharvill NEW
Kadeem T MaletAustraliaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia I VocelkaSpain2025-06-11Feltz Printing Service PROPOSAL44Bernardo Dominic
1001Silvio U KuskoBrazil2025-06-12Feiner Bros RENEWAL64Asiya Javayant
1002Deepesh H ButtSpain2025-06-10Chanay, Jeffrey A Esq QUALIFIED86Ioni Bowcher
1003Isabel U StensethGermany2025-05-20Printing Dimensions NEGOTIATION86Bernardo Dominic
1004Murillo N AlbaresFrance2025-05-25Buckley Miller Wright PROPOSAL73Bernardo Dominic
1005Antonio D MarrierFrance2025-05-20Benton, John B Jr NEW82Anna Fali
1006Aika W IturbideGermany2025-05-28Printing Dimensions QUALIFIED67Bernardo Dominic
1007Greenwood Y WhobreyArgentina2025-05-16Rangoni Of Florence QUALIFIED99Stephen Shaw
1008Sinclair Q RimIndia2025-06-11Printing Dimensions UNQUALIFIED44Anna Fali
1009Maisha W WhobreyItaly2025-06-11Chapman, Ross E Esq UNQUALIFIED77Xuxue Feng
1010Morrow L VenereItaly2025-05-16Rangoni Of Florence QUALIFIED0Ioni Bowcher
1011Antonio Y SlusarskiCanada2025-05-21Dorl, James J Esq NEGOTIATION36Asiya Javayant
1012Claire W BriddickUnited Kingdom2025-05-28Chemel, James L Cpa PROPOSAL68Asiya Javayant
1013Silvio R RutaRussia2025-05-19Chemel, James L Cpa NEGOTIATION82Stephen Shaw
1014Adams U DarakjySpain2025-06-04King, Christopher A Esq UNQUALIFIED91Anna Fali
1015Ricardo H VocelkaBrazil2025-05-18Benton, John B Jr PROPOSAL17Amy Elsner
1016Johnson A PoquetteGermany2025-05-28Printing Dimensions QUALIFIED52Bernardo Dominic
1017Faith X SaylorsGermany2025-06-05Benton, John B Jr UNQUALIFIED66Ioni Bowcher
1018Ricardo N BowleyGermany2025-05-28Rousseaux, Michael Esq RENEWAL88Asiya Javayant
1019David Z DoeJapan2025-05-22Commercial Press UNQUALIFIED54Onyama Limba
1020Jeanfrancois R SaylorsUnited Kingdom2025-06-11Chemel, James L Cpa UNQUALIFIED67Anna Fali
1021Aditya P MaletAustralia2025-05-18Chapman, Ross E Esq RENEWAL83Elwin Sharvill
1022Alejandro D RoysterCanada2025-06-05Chapman, Ross E Esq UNQUALIFIED36Ivan Magalhaes
1023Alejandro L FlosiRussia2025-05-17Rousseaux, Michael Esq RENEWAL13Elwin Sharvill
1024Mayumi U SlusarskiBrazil2025-06-05Chanay, Jeffrey A Esq RENEWAL67Amy Elsner
1025David E PoquetteGermany2025-05-16Rousseaux, Michael Esq NEGOTIATION40Bernardo Dominic
1026Ivar W PoquetteJapan2025-05-26Chanay, Jeffrey A Esq PROPOSAL78Elwin Sharvill
1027Juan X SlusarskiUnited Kingdom2025-06-11King, Christopher A Esq NEW90Asiya Javayant
1028Francesco X PaprockiArgentina2025-05-21Feltz Printing Service RENEWAL41Anna Fali
1029Aika X OldroydRussia2025-05-31Rousseaux, Michael Esq UNQUALIFIED82Ivan Magalhaes
1030James K CaldareraAustralia2025-05-20Buckley Miller Wright QUALIFIED12Stephen Shaw
1031Maisha Z WaycottUnited Kingdom2025-05-23Chemel, James L Cpa RENEWAL51Elwin Sharvill
1032Maisha X CaudyItaly2025-05-26Morlong Associates UNQUALIFIED92Stephen Shaw
1033Arvin X RulapaughJapan2025-06-05Commercial Press QUALIFIED79Amy Elsner
1034Isabel E WhobreyBrazil2025-06-10Chapman, Ross E Esq NEW36Asiya Javayant
1035Faith L MacleadIndia2025-06-11Benton, John B Jr RENEWAL93Bernardo Dominic
1036Jeanfrancois K GlickRussia2025-06-09Feiner Bros NEGOTIATION24Stephen Shaw
1037Darci F PoquetteIndia2025-05-18Chemel, James L Cpa UNQUALIFIED49Amy Elsner
1038Juan P StockhamIndia2025-05-31Commercial Press NEGOTIATION72Onyama Limba
1039Jennifer I ShinkoSpain2025-05-16Benton, John B Jr PROPOSAL88Xuxue Feng
1040David L FlosiItaly2025-06-02Feltz Printing Service NEGOTIATION96Anna Fali
1041Mayumi Z WaycottFrance2025-05-29Dorl, James J Esq QUALIFIED45Asiya Javayant
1042Jefferson G AmigonCanada2025-06-08Benton, John B Jr UNQUALIFIED56Bernardo Dominic
1043Emily B StensethAustralia2025-06-02Feltz Printing Service RENEWAL91Asiya Javayant
1044Deepesh Y CaudyAustralia2025-06-06Rousseaux, Michael Esq QUALIFIED44Anna Fali
1045Tony M RulapaughIndia2025-05-16Feltz Printing Service RENEWAL68Elwin Sharvill
1046Ivar A BologniaAustralia2025-05-23King, Christopher A Esq NEGOTIATION42Stephen Shaw
1047Kaitlin A NickaRussia2025-06-04King, Christopher A Esq NEW8Elwin Sharvill
1048Salvatore W MacleadFrance2025-06-04Rousseaux, Michael Esq NEW71Xuxue Feng
1049Kaitlin U NestleGermany2025-05-29Chemel, James L Cpa PROPOSAL86Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Isabel R KolmetzArgentinaAnna Fali NEGOTIATION
Aditya D VocelkaArgentinaOnyama Limba PROPOSAL
Morrow M TollnerSpainIvan Magalhaes NEGOTIATION
Aruna T WieserUnited KingdomElwin Sharvill NEGOTIATION
Antonio P FerenczAustraliaStephen Shaw QUALIFIED
Chavez L RulapaughItalyAmy Elsner UNQUALIFIED
Darci N TollnerCanadaIoni Bowcher RENEWAL
Aika O SaylorsArgentinaElwin Sharvill UNQUALIFIED
Ricardo B GlickIndiaXuxue Feng NEW
Tony M MorascaIndiaElwin Sharvill PROPOSAL
Smith B SlusarskiBrazilXuxue Feng NEW
Silvio U BologniaSpainIoni Bowcher PROPOSAL
Octavia C WieserUnited KingdomIoni Bowcher RENEWAL
Salvatore M MarrierIndiaAmy Elsner PROPOSAL
Johnson A ButtArgentinaOnyama Limba PROPOSAL
Jennifer M MaletUnited KingdomIoni Bowcher PROPOSAL
Greenwood E InouyeUnited KingdomIvan Magalhaes PROPOSAL
Isabel S AmigonArgentinaAnna Fali NEW
Leja T WaycottFranceIvan Magalhaes NEW
Jones E AlbaresBrazilAsiya Javayant QUALIFIED
Juan R TollnerCanadaBernardo Dominic UNQUALIFIED
Salvatore B GarufiRussiaIvan Magalhaes NEGOTIATION
Antonio C SergiFranceAmy Elsner QUALIFIED
Claire Q DoeGermanyIoni Bowcher UNQUALIFIED
Munro N RoysterRussiaIvan Magalhaes NEGOTIATION
Aruna T RutaIndiaAmy Elsner QUALIFIED
Nicolas X VenereCanadaIvan Magalhaes UNQUALIFIED
Misaki J InouyeFranceIoni Bowcher QUALIFIED
Cody E TollnerBrazilAnna Fali PROPOSAL
Izzy U AlbaresJapanBernardo Dominic PROPOSAL
Francesco Q BriddickItalyAsiya Javayant RENEWAL
Ashley L SlusarskiCanadaStephen Shaw UNQUALIFIED
Claire Z RimItalyAmy Elsner QUALIFIED
Maisha P InouyeArgentinaAmy Elsner PROPOSAL
Jones Z RoysterItalyElwin Sharvill UNQUALIFIED
Juan A PoquetteItalyAnna Fali NEW
Faith C PoquetteItalyAmy Elsner NEW
Juan O PerinFranceAnna Fali UNQUALIFIED
Tony N FigeroaCanadaIoni Bowcher QUALIFIED
Leja Y CaldareraItalyStephen Shaw QUALIFIED
Arvin U MarrierItalyAsiya Javayant UNQUALIFIED
Aditya D WhobreyItalyStephen Shaw UNQUALIFIED
Misaki V PaprockiIndiaElwin Sharvill NEGOTIATION
Izzy T WaycottBrazilXuxue Feng UNQUALIFIED
Aika R VenereBrazilBernardo Dominic NEW
Mayumi W StensethGermanyXuxue Feng PROPOSAL
Nicolas A MaletJapanOnyama Limba UNQUALIFIED
Sinclair S WaycottFranceIoni Bowcher QUALIFIED
Tony W SaylorsItalyAnna Fali UNQUALIFIED
Isabel Q FollerIndiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Ashley B Stenseth
Claire U Perin
Julie S Gillian
Faith W Albares
Arvin Q Amigon
Izzy H Ostrosky
Mujtaba Z Morasca
Jennifer C Nestle
James F Caldarera
Alejandro V Iturbide
James E Bowley
Kadeem N Doe
David M Sergi
Faith A Malet
Maria H Iturbide
Emily H Briddick
Maria C Shinko
Maria D Kusko
Ashley O Ferencz
Emily V Inouye
Chavez W Foller
Aruna I Glick
Izzy T Albares
Cody Z Paprocki
Jennifer U Ferencz
Ashley Q Marrier
Ivar N Sergi
Aika K Darakjy
Arvin N Figeroa
Ricardo U Nestle
Misaki Z Glick
Mayumi M Vocelka
Leon J Morasca
Sinclair Z Sergi
Leja Y Amigon
Cody V Wieser
Greenwood I Tollner
Ashley D Whobrey
Jennifer F Paprocki
Aruna I Glick
Maria P Saylors
Jeanfrancois B Iturbide
Jefferson B Campain
Jeanfrancois S Malet
Octavia Y Chui
Kadeem I Marrier
Mayumi Y Morasca
Emily F Inouye
Murillo O Poquette
Wickens C Slusarski
IdCountryDate
1000Germany2025-05-17
1001Canada2025-05-17
1002France2025-06-02
1003France2025-06-13
1004India2025-06-14
1005Canada2025-06-01
1006Spain2025-05-19
1007Argentina2025-05-29
1008Spain2025-05-31
1009United Kingdom2025-05-28
1010Germany2025-06-02
1011Canada2025-06-07
1012Germany2025-05-19
1013France2025-05-27
1014France2025-06-10
1015Japan2025-06-03
1016Spain2025-06-09
1017Australia2025-06-07
1018Brazil2025-06-04
1019France2025-05-16
1020France2025-05-26
1021Germany2025-06-03
1022United Kingdom2025-05-29
1023France2025-06-08
1024United Kingdom2025-06-12
1025United Kingdom2025-05-16
1026Canada2025-05-19
1027Russia2025-06-11
1028Australia2025-06-11
1029United Kingdom2025-06-13
1030Australia2025-06-14
1031France2025-05-21
1032Canada2025-06-07
1033Russia2025-05-28
1034Japan2025-05-26
1035Spain2025-05-30
1036Germany2025-05-21
1037Germany2025-06-12
1038Japan2025-05-22
1039Australia2025-06-07
1040Australia2025-06-02
1041France2025-06-03
1042India2025-05-21
1043United Kingdom2025-06-04
1044Australia2025-06-01
1045Russia2025-05-17
1046Spain2025-05-24
1047France2025-05-16
1048India2025-05-23
1049Japan2025-05-20

On-Demand Data

NameIdCountryDate
Nicolas Y Amigon1000Canada2025-05-19
Ricardo L Flosi1001Italy2025-05-18
Kaitlin I Flosi1002Argentina2025-06-12
Maria D Iturbide1003France2025-05-30
Silvio Z Chui1004Japan2025-05-16
Tony T Paprocki1005Australia2025-06-11
Adams G Dilliard1006Spain2025-05-31
Maisha Z Ruta1007United Kingdom2025-06-14
Deepesh F Ruta1008India2025-05-22
Costa W Figeroa1009Japan2025-05-19
Clifford B Campain1010France2025-05-18
Tony U Gillian1011Australia2025-06-12
Stacey T Ostrosky1012Russia2025-05-21
Izzy A Marrier1013Australia2025-05-26
Aditya O Campain1014Australia2025-05-17
Wickens V Oldroyd1015Spain2025-06-06
Smith U Rulapaugh1016Italy2025-05-26
Salvatore O Flosi1017Argentina2025-05-23
Isabel X Iturbide1018Japan2025-06-02
Kaitlin O Albares1019Russia2025-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar D VocelkaGermanyAnna Fali PROPOSAL
Rodrigues S ChuiCanadaXuxue Feng NEW
Ricardo M GauchoArgentinaOnyama Limba UNQUALIFIED
Johnson F TollnerCanadaXuxue Feng PROPOSAL
Deepesh N InouyeCanadaAnna Fali QUALIFIED
Julie K OldroydGermanyElwin Sharvill RENEWAL
Nicolas U ButtAustraliaXuxue Feng PROPOSAL
Chavez P CaudyItalyStephen Shaw RENEWAL
Mujtaba R BowleyGermanyBernardo Dominic UNQUALIFIED
Aruna S CaldareraSpainXuxue Feng NEW
Stacey Q ShinkoGermanyIvan Magalhaes NEGOTIATION
Jennifer G ShinkoArgentinaXuxue Feng RENEWAL
Stacey H KolmetzIndiaXuxue Feng RENEWAL
Ricardo Z AmigonFranceXuxue Feng NEW
Kadeem V DarakjyItalyAmy Elsner NEGOTIATION
Misaki E FollerAustraliaAsiya Javayant RENEWAL
Ashley L StockhamUnited KingdomOnyama Limba QUALIFIED
Kaitlin Y ButtItalyBernardo Dominic RENEWAL
Leja B DarakjyFranceStephen Shaw QUALIFIED
Rodrigues F MarrierSpainIvan Magalhaes RENEWAL
Leja Q PerinFranceAnna Fali PROPOSAL
James K SchemmerBrazilIoni Bowcher NEGOTIATION
Aruna T MaletUnited KingdomStephen Shaw QUALIFIED
Juan X CaldareraAustraliaAmy Elsner NEW
Murillo D RutaIndiaAnna Fali NEGOTIATION
Wickens F MarrierCanadaStephen Shaw NEW
Claire V KuskoBrazilXuxue Feng NEW
Clifford N KolmetzIndiaBernardo Dominic RENEWAL
Aika Y PerinJapanXuxue Feng QUALIFIED
Aditya A VenereGermanyIvan Magalhaes PROPOSAL
Deepesh E VenereItalyAmy Elsner NEGOTIATION
Juan P IturbideFranceIoni Bowcher QUALIFIED
Jeanfrancois U RoysterAustraliaXuxue Feng QUALIFIED
Jefferson U GlickFranceBernardo Dominic NEGOTIATION
Aruna K GarufiAustraliaBernardo Dominic NEGOTIATION
Octavia X KolmetzGermanyAnna Fali RENEWAL
Darci J TollnerArgentinaAsiya Javayant NEW
Alejandro W PaprockiRussiaAmy Elsner RENEWAL
Clifford S ChuiIndiaStephen Shaw UNQUALIFIED
Jones F MaletCanadaOnyama Limba NEW

<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>