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
Alejandro J RulapaughCanadaIvan Magalhaes RENEWAL
Antonio O AlbaresFranceBernardo Dominic UNQUALIFIED
Antonio E AmigonUnited KingdomXuxue Feng PROPOSAL
Smith G BologniaAustraliaIoni Bowcher NEW
Salvatore K WhobreyCanadaAnna Fali NEW
Nicolas Q KolmetzIndiaAmy Elsner RENEWAL
Maisha Z SergiRussiaAmy Elsner QUALIFIED
Kaitlin J PaprockiArgentinaXuxue Feng QUALIFIED
Misaki O RutaIndiaXuxue Feng UNQUALIFIED
Jennifer H BologniaJapanStephen Shaw QUALIFIED
Emily O ButtBrazilAmy Elsner UNQUALIFIED
Ashley E VenereRussiaIvan Magalhaes PROPOSAL
Antonio Q GlickCanadaXuxue Feng NEGOTIATION
Costa M CaudyItalyAsiya Javayant NEGOTIATION
Aika P FerenczAustraliaXuxue Feng RENEWAL
Nicolas W MorascaFranceXuxue Feng NEGOTIATION
Leja Z KolmetzItalyBernardo Dominic QUALIFIED
Isabel T RutaAustraliaIvan Magalhaes UNQUALIFIED
Claire B GarufiFranceAsiya Javayant UNQUALIFIED
David V IturbideAustraliaIvan Magalhaes QUALIFIED
Sinclair R MorascaIndiaIoni Bowcher UNQUALIFIED
Maisha X ChuiAustraliaAsiya Javayant QUALIFIED
Jennifer A MarrierBrazilAmy Elsner NEGOTIATION
Sinclair O FollerRussiaIvan Magalhaes UNQUALIFIED
Clifford H CaudyBrazilStephen Shaw NEW
Kaitlin H AlbaresArgentinaElwin Sharvill NEW
Izzy I RoysterCanadaElwin Sharvill RENEWAL
Leon N PerinCanadaBernardo Dominic QUALIFIED
Ashley E TollnerIndiaAsiya Javayant PROPOSAL
Ashley Y StockhamRussiaAmy Elsner PROPOSAL
Juan S DilliardFranceIoni Bowcher UNQUALIFIED
Faith I FlosiGermanyOnyama Limba NEW
Francesco D DarakjyItalyIoni Bowcher UNQUALIFIED
Clifford D InouyeJapanXuxue Feng UNQUALIFIED
Cody X InouyeCanadaElwin Sharvill NEGOTIATION
Maisha K SaylorsJapanAnna Fali QUALIFIED
Antonio S RimIndiaXuxue Feng UNQUALIFIED
James N PoquetteItalyOnyama Limba PROPOSAL
Adams H RutaCanadaIoni Bowcher UNQUALIFIED
Chavez J SaylorsUnited KingdomIoni Bowcher RENEWAL
Misaki Q GlickUnited KingdomOnyama Limba UNQUALIFIED
Wickens L WaycottArgentinaBernardo Dominic UNQUALIFIED
Morrow D GauchoCanadaElwin Sharvill NEW
Aditya F VocelkaAustraliaIoni Bowcher NEW
Salvatore M WhobreyAustraliaXuxue Feng RENEWAL
Cody Q WaycottJapanAnna Fali NEW
Juan K NestleIndiaAnna Fali QUALIFIED
Ashley Q GlickSpainAnna Fali PROPOSAL
Aruna K CaldareraItalyXuxue Feng NEGOTIATION
Emily C MaletArgentinaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois V WhobreyBrazilXuxue Feng NEW
Silvio W WieserFranceXuxue Feng NEW
Aditya Z DarakjyIndiaAnna Fali UNQUALIFIED
Aika Y KolmetzUnited KingdomAnna Fali NEGOTIATION
Rodrigues F SergiUnited KingdomXuxue Feng PROPOSAL
Leon V TollnerAustraliaIvan Magalhaes UNQUALIFIED
Francesco B WaycottSpainOnyama Limba NEGOTIATION
Adams Z VocelkaArgentinaAmy Elsner PROPOSAL
Claire C TollnerSpainXuxue Feng UNQUALIFIED
Leja R VenereBrazilElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith I SlusarskiFrance2026-08-04Dorl, James J Esq QUALIFIED3Bernardo Dominic
1001Cody M WhobreyArgentina2026-08-13Commercial Press UNQUALIFIED80Anna Fali
1002Juan M AlbaresBrazil2026-08-13King, Christopher A Esq NEW49Xuxue Feng
1003Smith I ShinkoIndia2026-08-25Feltz Printing Service QUALIFIED69Onyama Limba
1004Deepesh O RulapaughGermany2026-09-01Printing Dimensions NEW5Onyama Limba
1005Maria C FlosiAustralia2026-08-21Chapman, Ross E Esq QUALIFIED43Onyama Limba
1006Alejandro J RulapaughRussia2026-08-31Benton, John B Jr QUALIFIED98Stephen Shaw
1007Antonio C RimJapan2026-08-26Printing Dimensions UNQUALIFIED96Xuxue Feng
1008Stacey R FollerUnited Kingdom2026-08-16Chanay, Jeffrey A Esq NEW30Ivan Magalhaes
1009Sinclair G DarakjyRussia2026-08-07Chemel, James L Cpa QUALIFIED72Stephen Shaw
1010Salvatore S MorascaRussia2026-09-01Chapman, Ross E Esq RENEWAL41Anna Fali
1011Morrow C FollerGermany2026-08-04Chapman, Ross E Esq PROPOSAL40Ivan Magalhaes
1012Maisha K WieserAustralia2026-08-24Benton, John B Jr NEGOTIATION15Anna Fali
1013Misaki H NickaBrazil2026-09-01Morlong Associates PROPOSAL70Stephen Shaw
1014Murillo W GarufiBrazil2026-08-11Feltz Printing Service QUALIFIED5Ivan Magalhaes
1015Maria I RoysterBrazil2026-08-09Chemel, James L Cpa QUALIFIED3Elwin Sharvill
1016Maria B SchemmerGermany2026-08-11Rousseaux, Michael Esq NEW18Xuxue Feng
1017Ashley A SergiAustralia2026-08-22Printing Dimensions QUALIFIED85Amy Elsner
1018Salvatore X TollnerItaly2026-08-30Rangoni Of Florence RENEWAL27Onyama Limba
1019Jeanfrancois M WieserBrazil2026-08-18Morlong Associates PROPOSAL93Asiya Javayant
1020Johnson H GlickRussia2026-08-24Chanay, Jeffrey A Esq NEW52Anna Fali
1021Francesco Q RoysterFrance2026-08-16Commercial Press UNQUALIFIED59Elwin Sharvill
1022Mujtaba W KuskoArgentina2026-08-07Feltz Printing Service NEW92Ioni Bowcher
1023Jennifer F FollerGermany2026-08-18Feiner Bros NEGOTIATION35Asiya Javayant
1024Misaki R ShinkoItaly2026-09-01Truhlar And Truhlar Attys UNQUALIFIED21Elwin Sharvill
1025Clifford W OldroydArgentina2026-09-01Truhlar And Truhlar Attys NEGOTIATION0Stephen Shaw
1026Juan C FigeroaBrazil2026-08-28Dorl, James J Esq PROPOSAL73Xuxue Feng
1027Leon A FollerUnited Kingdom2026-09-02Commercial Press UNQUALIFIED23Stephen Shaw
1028Johnson K WaycottFrance2026-08-04King, Christopher A Esq PROPOSAL84Ioni Bowcher
1029Murillo P DilliardItaly2026-08-25Morlong Associates NEW79Stephen Shaw
1030Maisha G MaletSpain2026-08-07King, Christopher A Esq QUALIFIED11Ivan Magalhaes
1031Murillo N GillianIndia2026-08-29Feiner Bros NEGOTIATION35Anna Fali
1032Isabel P CampainUnited Kingdom2026-08-21Printing Dimensions RENEWAL9Anna Fali
1033Sinclair P MorascaAustralia2026-08-16Buckley Miller Wright UNQUALIFIED46Asiya Javayant
1034Murillo Y DarakjyBrazil2026-08-20King, Christopher A Esq PROPOSAL76Amy Elsner
1035Kaitlin K StockhamFrance2026-08-06Rousseaux, Michael Esq NEW60Asiya Javayant
1036Maria I DoeUnited Kingdom2026-08-30Feiner Bros NEGOTIATION9Elwin Sharvill
1037Maisha J NestleGermany2026-08-28Commercial Press QUALIFIED6Ioni Bowcher
1038Leon F NickaItaly2026-08-26Rousseaux, Michael Esq NEGOTIATION49Elwin Sharvill
1039Costa X InouyeCanada2026-08-04Commercial Press NEW44Stephen Shaw
1040Cody M MorascaRussia2026-08-25Dorl, James J Esq PROPOSAL10Stephen Shaw
1041Ashley D DarakjyGermany2026-09-02Truhlar And Truhlar Attys NEGOTIATION47Asiya Javayant
1042Julie E DilliardJapan2026-09-02Chapman, Ross E Esq QUALIFIED97Onyama Limba
1043Johnson S DoeGermany2026-08-08Rousseaux, Michael Esq NEW47Amy Elsner
1044Leja B BriddickJapan2026-08-04Benton, John B Jr UNQUALIFIED38Anna Fali
1045Jeanfrancois K RulapaughBrazil2026-08-17Benton, John B Jr NEW48Ivan Magalhaes
1046Isabel G WieserItaly2026-08-17Feltz Printing Service RENEWAL22Amy Elsner
1047Silvio E SchemmerUnited Kingdom2026-08-25Rangoni Of Florence RENEWAL67Stephen Shaw
1048Nicolas S AlbaresItaly2026-08-21Printing Dimensions NEW35Anna Fali
1049Smith L BriddickIndia2026-08-14Feltz Printing Service RENEWAL66Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aditya R CaldareraGermanyXuxue Feng RENEWAL
Adams U AmigonCanadaIvan Magalhaes PROPOSAL
Ashley U SergiBrazilIvan Magalhaes PROPOSAL
Deepesh U NestleArgentinaIoni Bowcher UNQUALIFIED
Faith R OldroydArgentinaIvan Magalhaes NEW
Kaitlin C RutaFranceOnyama Limba RENEWAL
Claire Z TollnerCanadaBernardo Dominic QUALIFIED
Morrow Y FlosiRussiaStephen Shaw QUALIFIED
Adams W FerenczItalyElwin Sharvill RENEWAL
James E AlbaresIndiaXuxue Feng UNQUALIFIED
Mayumi S DarakjyJapanStephen Shaw UNQUALIFIED
Arvin X MarrierCanadaAnna Fali NEGOTIATION
Jones S MaletItalyIvan Magalhaes NEGOTIATION
Jefferson Q FigeroaIndiaAmy Elsner NEW
Deepesh C TollnerAustraliaIvan Magalhaes UNQUALIFIED
Stacey J GillianAustraliaStephen Shaw NEGOTIATION
Isabel S WhobreyJapanElwin Sharvill PROPOSAL
Maisha K MaletItalyElwin Sharvill PROPOSAL
Julie D IturbideJapanOnyama Limba NEW
Emily B FerenczCanadaStephen Shaw NEGOTIATION
Julie B ButtIndiaAsiya Javayant NEW
Ashley S MarrierItalyAmy Elsner UNQUALIFIED
Ashley B SergiBrazilStephen Shaw RENEWAL
David M PoquetteCanadaElwin Sharvill RENEWAL
Mujtaba G ButtFranceIoni Bowcher RENEWAL
Jennifer U CampainFranceAmy Elsner PROPOSAL
Morrow L FollerRussiaOnyama Limba PROPOSAL
Darci R FerenczJapanOnyama Limba QUALIFIED
Chavez H WhobreyArgentinaAnna Fali PROPOSAL
Chavez X PoquetteUnited KingdomOnyama Limba QUALIFIED
Aditya P CaudyBrazilBernardo Dominic UNQUALIFIED
Claire F FlosiAustraliaElwin Sharvill NEGOTIATION
Nicolas B PerinAustraliaXuxue Feng RENEWAL
Clifford R InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Smith O MaletIndiaOnyama Limba NEGOTIATION
Francesco B StensethRussiaAnna Fali QUALIFIED
Leja D CampainCanadaIoni Bowcher NEW
Chavez Z DarakjySpainIoni Bowcher RENEWAL
Salvatore N CaudyBrazilIoni Bowcher RENEWAL
Jeanfrancois E MacleadFranceAmy Elsner QUALIFIED
Leon R KolmetzAustraliaBernardo Dominic NEW
Greenwood L ButtGermanyAnna Fali UNQUALIFIED
Munro F KuskoBrazilIvan Magalhaes UNQUALIFIED
Adams R IturbideUnited KingdomStephen Shaw NEW
Leon E WhobreyAustraliaAsiya Javayant NEGOTIATION
Cody Q MarrierJapanAnna Fali NEW
James A RoysterUnited KingdomAnna Fali NEW
Mujtaba P WaycottItalyIoni Bowcher NEGOTIATION
Kaitlin A InouyeSpainIvan Magalhaes RENEWAL
Johnson R StockhamIndiaXuxue Feng NEW
Frozen Columns
Name
Nicolas R Gillian
James I Wieser
Deepesh G Dilliard
Morrow A Amigon
Octavia F Sergi
Rodrigues V Bowley
Juan C Wieser
Smith P Doe
Johnson O Sergi
Costa M Poquette
Clifford F Ferencz
Costa Z Inouye
Cody E Vocelka
Juan L Malet
Murillo H Maclead
Alejandro G Nicka
Cody B Schemmer
Ricardo D Kolmetz
Arvin J Chui
Aika N Rulapaugh
Kaitlin G Stenseth
Isabel U Doe
Antonio W Ruta
David Q Morasca
Nicolas U Malet
Jennifer D Stockham
Juan P Inouye
Juan G Waycott
Sinclair M Garufi
Silvio U Kusko
Misaki A Saylors
Morrow J Chui
Stacey U Schemmer
Silvio G Whobrey
Jeanfrancois K Nicka
Tony P Perin
Arvin X Ostrosky
Murillo P Slusarski
Sinclair L Stockham
David Z Garufi
Costa G Ostrosky
Ivar P Albares
Ashley N Albares
Alejandro E Vocelka
Greenwood L Dilliard
Silvio L Morasca
Ashley A Darakjy
Emily J Rim
James K Bolognia
Rodrigues X Morasca
IdCountryDate
1000Italy2026-08-13
1001Japan2026-08-10
1002Brazil2026-08-08
1003Germany2026-08-22
1004Canada2026-08-17
1005Russia2026-08-10
1006Japan2026-08-06
1007United Kingdom2026-08-08
1008India2026-08-06
1009India2026-08-18
1010India2026-08-26
1011Italy2026-08-13
1012United Kingdom2026-08-20
1013Argentina2026-08-25
1014Canada2026-08-16
1015Germany2026-08-11
1016India2026-08-28
1017Argentina2026-08-14
1018Spain2026-08-21
1019Spain2026-08-30
1020Italy2026-08-19
1021Brazil2026-08-10
1022Argentina2026-09-01
1023Canada2026-08-29
1024Russia2026-08-28
1025Japan2026-08-11
1026France2026-08-06
1027Italy2026-08-16
1028Canada2026-09-01
1029Argentina2026-08-28
1030France2026-08-14
1031Japan2026-09-02
1032Russia2026-08-12
1033Argentina2026-08-22
1034Argentina2026-08-08
1035Canada2026-08-26
1036India2026-08-14
1037Spain2026-09-01
1038Argentina2026-08-04
1039United Kingdom2026-08-16
1040Germany2026-08-15
1041India2026-08-19
1042France2026-08-21
1043Argentina2026-08-15
1044Brazil2026-09-02
1045Russia2026-08-29
1046United Kingdom2026-08-28
1047Italy2026-08-17
1048India2026-08-19
1049Russia2026-08-07

On-Demand Data

NameIdCountryDate
Deepesh F Paprocki1000Spain2026-09-02
Leja C Bowley1001Russia2026-09-01
Mayumi K Iturbide1002India2026-08-13
Aditya V Wieser1003France2026-08-27
Mayumi I Gaucho1004Russia2026-08-25
Ivar Z Waycott1005Italy2026-08-23
Murillo P Morasca1006Spain2026-08-21
Mujtaba A Perin1007France2026-08-17
Ricardo Q Vocelka1008Italy2026-08-29
Munro U Inouye1009United Kingdom2026-08-19
Sinclair Z Bowley1010Canada2026-08-07
Julie U Nestle1011Argentina2026-08-17
Stacey H Schemmer1012United Kingdom2026-08-18
Chavez X Malet1013Australia2026-08-04
Alejandro O Rulapaugh1014Spain2026-08-06
Murillo D Rim1015Russia2026-08-21
Mayumi C Doe1016Russia2026-08-18
Francesco L Ostrosky1017Russia2026-08-23
Mujtaba E Stockham1018Australia2026-09-02
Antonio A Wieser1019Australia2026-08-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Z BriddickCanadaIvan Magalhaes RENEWAL
David X DoeIndiaIoni Bowcher QUALIFIED
Johnson D GarufiBrazilAnna Fali UNQUALIFIED
Sinclair X FollerFranceIoni Bowcher NEGOTIATION
Darci B SchemmerIndiaAnna Fali NEGOTIATION
Sinclair Z ButtGermanyStephen Shaw RENEWAL
Greenwood X SergiIndiaOnyama Limba QUALIFIED
Sinclair R PoquetteFranceElwin Sharvill UNQUALIFIED
Maisha X GarufiItalyAmy Elsner QUALIFIED
Salvatore Y NestleJapanXuxue Feng UNQUALIFIED
Tony V ShinkoBrazilIoni Bowcher UNQUALIFIED
Clifford Z AmigonAustraliaOnyama Limba NEGOTIATION
Darci P ChuiItalyXuxue Feng PROPOSAL
Misaki U FollerRussiaBernardo Dominic NEW
Isabel I CaudyUnited KingdomOnyama Limba QUALIFIED
Silvio X IturbideCanadaXuxue Feng RENEWAL
Octavia C TollnerBrazilIvan Magalhaes QUALIFIED
Salvatore T RimCanadaOnyama Limba NEW
Aditya W MorascaAustraliaAnna Fali RENEWAL
Emily U TollnerItalyIvan Magalhaes UNQUALIFIED
Wickens A GarufiSpainStephen Shaw QUALIFIED
Nicolas Q StockhamSpainElwin Sharvill NEW
Morrow T GauchoIndiaElwin Sharvill NEW
Ivar S StockhamUnited KingdomAmy Elsner UNQUALIFIED
Deepesh G SergiSpainAnna Fali QUALIFIED
Kadeem K AlbaresIndiaAnna Fali NEW
Maisha S StockhamCanadaStephen Shaw QUALIFIED
Greenwood J DoeUnited KingdomAnna Fali NEW
Emily Z FerenczGermanyElwin Sharvill NEW
Rodrigues N MarrierIndiaIvan Magalhaes UNQUALIFIED
James Z MorascaSpainIoni Bowcher NEGOTIATION
Kadeem A MaletAustraliaAsiya Javayant NEW
Izzy I BologniaFranceIoni Bowcher NEGOTIATION
Aditya H ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Emily S MaletArgentinaElwin Sharvill NEW
Darci V VocelkaRussiaOnyama Limba NEGOTIATION
Emily R GauchoRussiaStephen Shaw QUALIFIED
Jefferson W CampainSpainIvan Magalhaes QUALIFIED
Aruna U CampainBrazilStephen Shaw QUALIFIED
Julie Y DilliardRussiaIvan Magalhaes RENEWAL

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