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
Munro W PaprockiIndiaIvan Magalhaes NEW
Silvio D ChuiUnited KingdomBernardo Dominic RENEWAL
Rodrigues J WieserFranceAnna Fali NEW
Jennifer H SchemmerBrazilBernardo Dominic NEW
Mujtaba S RoysterArgentinaElwin Sharvill PROPOSAL
Arvin F StockhamRussiaIoni Bowcher PROPOSAL
Jones D KuskoGermanyBernardo Dominic NEW
Alejandro J ButtAustraliaBernardo Dominic NEGOTIATION
Izzy S CaudyJapanStephen Shaw QUALIFIED
Nicolas G SaylorsFranceStephen Shaw NEW
Jones W PerinArgentinaAnna Fali NEW
Cody V FlosiSpainOnyama Limba UNQUALIFIED
Ashley R FigeroaBrazilXuxue Feng NEGOTIATION
Aditya I ButtCanadaBernardo Dominic NEGOTIATION
Mujtaba I TollnerArgentinaAnna Fali QUALIFIED
Ricardo K WhobreyItalyAmy Elsner NEGOTIATION
Salvatore F RoysterCanadaAmy Elsner NEGOTIATION
Darci F ShinkoArgentinaIvan Magalhaes NEW
David G InouyeItalyAsiya Javayant RENEWAL
Julie Q ChuiItalyIvan Magalhaes RENEWAL
Emily Y NickaIndiaAmy Elsner NEW
Antonio L FollerSpainStephen Shaw NEW
Francesco J VenereArgentinaAsiya Javayant NEW
Antonio C FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro L MaletAustraliaStephen Shaw NEW
Nicolas G NickaArgentinaAsiya Javayant QUALIFIED
Mayumi G FlosiFranceElwin Sharvill PROPOSAL
Jeanfrancois I CaudyGermanyElwin Sharvill QUALIFIED
Sinclair Y GlickGermanyBernardo Dominic UNQUALIFIED
Antonio F InouyeBrazilIvan Magalhaes NEGOTIATION
Mayumi E RimArgentinaAnna Fali RENEWAL
Aruna I RutaJapanAsiya Javayant RENEWAL
Mujtaba H RulapaughGermanyOnyama Limba NEW
Aditya N GillianJapanBernardo Dominic UNQUALIFIED
Mayumi Q SchemmerGermanyStephen Shaw NEW
Costa E InouyeAustraliaAmy Elsner RENEWAL
Clifford N OstroskyFranceAsiya Javayant NEGOTIATION
Johnson O ShinkoArgentinaIoni Bowcher NEW
Juan K GillianUnited KingdomIoni Bowcher PROPOSAL
Jennifer A SaylorsIndiaBernardo Dominic NEGOTIATION
Izzy E CampainAustraliaOnyama Limba NEGOTIATION
Wickens B BowleyRussiaAnna Fali NEGOTIATION
Tony Y MaletRussiaAsiya Javayant UNQUALIFIED
Johnson R VocelkaGermanyOnyama Limba NEGOTIATION
Julie Y InouyeIndiaAmy Elsner UNQUALIFIED
Ivar Y NestleRussiaOnyama Limba QUALIFIED
Juan M PaprockiGermanyAmy Elsner UNQUALIFIED
Munro A KuskoItalyAsiya Javayant QUALIFIED
Adams E MaletBrazilAmy Elsner RENEWAL
Johnson V CaldareraAustraliaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Costa U PoquetteAustraliaElwin Sharvill PROPOSAL
Mujtaba T RulapaughCanadaElwin Sharvill UNQUALIFIED
Emily G VocelkaUnited KingdomBernardo Dominic PROPOSAL
Smith G ShinkoUnited KingdomBernardo Dominic QUALIFIED
Leja D DilliardBrazilOnyama Limba UNQUALIFIED
Sinclair R MarrierJapanOnyama Limba PROPOSAL
Faith S AlbaresAustraliaXuxue Feng NEGOTIATION
Julie G FerenczUnited KingdomIvan Magalhaes NEW
Darci G FlosiAustraliaStephen Shaw NEGOTIATION
Octavia H RutaFranceXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Z SergiArgentina2026-07-21King, Christopher A Esq NEGOTIATION22Onyama Limba
1001Tony F FollerSpain2026-07-31Printing Dimensions NEW88Asiya Javayant
1002Octavia X SchemmerSpain2026-07-15Chemel, James L Cpa RENEWAL52Bernardo Dominic
1003Sinclair Z ShinkoArgentina2026-07-24Benton, John B Jr QUALIFIED80Asiya Javayant
1004Mujtaba X FollerFrance2026-07-18Chanay, Jeffrey A Esq NEGOTIATION34Asiya Javayant
1005Clifford V KolmetzJapan2026-07-30Chapman, Ross E Esq UNQUALIFIED82Xuxue Feng
1006Aruna A GauchoGermany2026-07-10King, Christopher A Esq UNQUALIFIED92Asiya Javayant
1007Cody A OldroydAustralia2026-07-10Feiner Bros NEGOTIATION2Bernardo Dominic
1008Silvio D SaylorsAustralia2026-08-07Commercial Press RENEWAL99Onyama Limba
1009Mujtaba R TollnerIndia2026-07-29Truhlar And Truhlar Attys NEGOTIATION79Xuxue Feng
1010Jefferson Z AlbaresCanada2026-07-14Chemel, James L Cpa PROPOSAL22Stephen Shaw
1011Clifford F FlosiSpain2026-07-29King, Christopher A Esq NEGOTIATION2Amy Elsner
1012Aditya U VocelkaCanada2026-07-11Benton, John B Jr PROPOSAL53Elwin Sharvill
1013Ricardo U SlusarskiArgentina2026-07-12Rangoni Of Florence RENEWAL1Amy Elsner
1014Sinclair C FigeroaUnited Kingdom2026-07-30Chapman, Ross E Esq PROPOSAL78Amy Elsner
1015Cody U AlbaresRussia2026-07-16Feiner Bros PROPOSAL46Stephen Shaw
1016Ricardo U VocelkaJapan2026-07-23Feltz Printing Service QUALIFIED16Anna Fali
1017Misaki P IturbideArgentina2026-07-10Rangoni Of Florence RENEWAL57Bernardo Dominic
1018Leon F FigeroaItaly2026-07-23Chemel, James L Cpa NEW35Ioni Bowcher
1019Maria I DarakjyAustralia2026-07-21Feltz Printing Service PROPOSAL84Stephen Shaw
1020Leja Q FlosiBrazil2026-07-13Chemel, James L Cpa QUALIFIED84Ioni Bowcher
1021Jones A ButtAustralia2026-08-02Morlong Associates PROPOSAL22Ioni Bowcher
1022Leon D MacleadFrance2026-07-22Feiner Bros NEW3Stephen Shaw
1023Aruna L SlusarskiRussia2026-07-24King, Christopher A Esq QUALIFIED8Amy Elsner
1024Silvio I NickaJapan2026-08-04Chapman, Ross E Esq NEW7Ivan Magalhaes
1025Johnson R RulapaughAustralia2026-07-12Buckley Miller Wright NEGOTIATION91Ivan Magalhaes
1026Wickens A WaycottCanada2026-07-17Rousseaux, Michael Esq QUALIFIED51Stephen Shaw
1027Antonio E DoeRussia2026-07-17Rangoni Of Florence QUALIFIED87Elwin Sharvill
1028Jennifer D WaycottAustralia2026-07-29Buckley Miller Wright UNQUALIFIED7Bernardo Dominic
1029Mayumi B OldroydBrazil2026-07-09Printing Dimensions NEGOTIATION46Anna Fali
1030Ricardo V DarakjyRussia2026-07-31King, Christopher A Esq NEGOTIATION56Elwin Sharvill
1031Wickens O WieserAustralia2026-07-10Chemel, James L Cpa PROPOSAL4Ivan Magalhaes
1032Antonio V VocelkaAustralia2026-08-04Rangoni Of Florence QUALIFIED12Xuxue Feng
1033Julie E PaprockiCanada2026-08-02King, Christopher A Esq RENEWAL42Onyama Limba
1034Rodrigues U TollnerUnited Kingdom2026-08-07Truhlar And Truhlar Attys QUALIFIED78Ioni Bowcher
1035Octavia K SchemmerArgentina2026-07-28Benton, John B Jr NEW73Ioni Bowcher
1036Leon S PaprockiUnited Kingdom2026-07-18King, Christopher A Esq QUALIFIED68Amy Elsner
1037Aditya Q RutaCanada2026-07-20Chapman, Ross E Esq RENEWAL25Elwin Sharvill
1038Misaki F BologniaJapan2026-07-14Feiner Bros PROPOSAL98Asiya Javayant
1039Adams R GauchoIndia2026-07-10Rangoni Of Florence RENEWAL11Xuxue Feng
1040Aika H ChuiRussia2026-07-14Commercial Press UNQUALIFIED70Anna Fali
1041Leja V IturbideJapan2026-07-30Truhlar And Truhlar Attys QUALIFIED24Elwin Sharvill
1042James O ChuiAustralia2026-08-07Morlong Associates NEGOTIATION21Onyama Limba
1043Antonio S BologniaRussia2026-07-15Printing Dimensions NEW58Amy Elsner
1044Francesco T BowleySpain2026-08-01King, Christopher A Esq RENEWAL4Onyama Limba
1045Munro Q FigeroaIndia2026-07-13Feltz Printing Service NEGOTIATION31Bernardo Dominic
1046Smith K DarakjyUnited Kingdom2026-07-29Printing Dimensions NEGOTIATION85Amy Elsner
1047Clifford O GarufiArgentina2026-08-06Rangoni Of Florence PROPOSAL60Onyama Limba
1048Clifford J StockhamAustralia2026-07-10King, Christopher A Esq UNQUALIFIED75Onyama Limba
1049Francesco M VenereJapan2026-07-26Feltz Printing Service RENEWAL63Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aditya E BowleyUnited KingdomXuxue Feng NEGOTIATION
Silvio Z SlusarskiSpainStephen Shaw PROPOSAL
Stacey Q PerinItalyAmy Elsner UNQUALIFIED
Ashley E PaprockiBrazilElwin Sharvill NEGOTIATION
Octavia I ShinkoItalyAsiya Javayant UNQUALIFIED
Arvin O RoysterRussiaStephen Shaw PROPOSAL
Munro V SaylorsItalyBernardo Dominic RENEWAL
Tony Q MorascaFranceOnyama Limba NEW
Maisha K DilliardItalyAsiya Javayant NEGOTIATION
Mayumi H SlusarskiBrazilXuxue Feng QUALIFIED
Ashley N NickaItalyBernardo Dominic NEW
Leon D DarakjyAustraliaIvan Magalhaes NEW
Emily W SaylorsFranceElwin Sharvill UNQUALIFIED
Claire H KolmetzFranceAmy Elsner NEW
Munro V FigeroaFranceXuxue Feng PROPOSAL
Mayumi I BriddickItalyOnyama Limba QUALIFIED
Rodrigues K MacleadFranceElwin Sharvill NEGOTIATION
Adams H CaldareraIndiaAnna Fali UNQUALIFIED
Jennifer P PaprockiAustraliaElwin Sharvill RENEWAL
Leja U KuskoFranceIoni Bowcher QUALIFIED
Francesco C StensethIndiaOnyama Limba NEGOTIATION
Francesco J WieserIndiaIvan Magalhaes QUALIFIED
Clifford P OstroskyFranceAnna Fali PROPOSAL
Francesco Q OstroskySpainOnyama Limba NEW
Costa Z AmigonFranceAsiya Javayant QUALIFIED
Murillo D StockhamArgentinaOnyama Limba RENEWAL
Silvio R RimArgentinaXuxue Feng NEW
Aditya Q VenereCanadaBernardo Dominic QUALIFIED
David A InouyeBrazilOnyama Limba RENEWAL
Leon K CampainIndiaBernardo Dominic NEW
Nicolas X StensethIndiaAmy Elsner QUALIFIED
Antonio V GillianRussiaAmy Elsner RENEWAL
Julie S RulapaughGermanyElwin Sharvill QUALIFIED
Mujtaba V GillianRussiaIoni Bowcher PROPOSAL
Octavia T FollerUnited KingdomElwin Sharvill NEGOTIATION
Silvio V FollerCanadaElwin Sharvill RENEWAL
Maria R StensethIndiaAnna Fali PROPOSAL
Costa K GillianBrazilIoni Bowcher UNQUALIFIED
Leon T InouyeUnited KingdomElwin Sharvill NEGOTIATION
Julie B DilliardSpainBernardo Dominic NEW
Ashley Z GillianFranceIvan Magalhaes UNQUALIFIED
Alejandro C NickaIndiaAmy Elsner NEGOTIATION
Aditya A GillianIndiaAnna Fali RENEWAL
Mujtaba E FerenczBrazilElwin Sharvill RENEWAL
Clifford T WaycottItalyAsiya Javayant NEW
Kaitlin M ShinkoGermanyElwin Sharvill NEGOTIATION
Aditya I BologniaFranceIvan Magalhaes QUALIFIED
Alejandro X GlickRussiaOnyama Limba QUALIFIED
Faith P NestleGermanyIvan Magalhaes PROPOSAL
Deepesh F FerenczItalyElwin Sharvill PROPOSAL
Frozen Columns
Name
Julie S Glick
Mayumi D Malet
Morrow F Darakjy
Aditya G Malet
Juan F Ostrosky
Maria L Oldroyd
Ricardo M Poquette
Murillo X Chui
Maisha K Inouye
Antonio H Royster
Mayumi S Marrier
Arvin B Waycott
Faith M Royster
Adams H Maclead
Clifford I Garufi
Ricardo T Slusarski
Aika E Iturbide
Jennifer B Waycott
Tony B Malet
Aika G Royster
Francesco L Garufi
Francesco B Shinko
Darci G Stockham
James B Glick
Maria K Kusko
Kaitlin S Chui
Francesco D Iturbide
Kaitlin R Bowley
Emily R Amigon
Aika O Kolmetz
James Z Dilliard
David H Foller
Murillo J Ruta
Julie P Stenseth
Ricardo O Waycott
Faith M Maclead
Maisha O Waycott
Silvio A Poquette
Juan H Poquette
Aditya K Gaucho
Morrow S Gaucho
Aditya O Schemmer
Aika J Amigon
Aditya U Foller
Kaitlin H Gillian
Greenwood I Kolmetz
Jefferson Q Dilliard
Costa U Gaucho
Maria A Butt
Misaki N Marrier
IdCountryDate
1000Argentina2026-07-18
1001United Kingdom2026-07-27
1002Brazil2026-07-09
1003Russia2026-07-27
1004Italy2026-08-01
1005Argentina2026-07-13
1006Australia2026-07-26
1007United Kingdom2026-08-04
1008India2026-07-28
1009Germany2026-07-22
1010Brazil2026-07-20
1011Spain2026-07-12
1012United Kingdom2026-07-15
1013Russia2026-07-23
1014Australia2026-07-13
1015Japan2026-07-31
1016Canada2026-07-30
1017Canada2026-08-07
1018Australia2026-07-28
1019United Kingdom2026-07-09
1020Japan2026-07-26
1021Spain2026-08-06
1022United Kingdom2026-07-09
1023Japan2026-07-30
1024Canada2026-08-01
1025Germany2026-07-18
1026Japan2026-07-23
1027India2026-07-14
1028Brazil2026-07-25
1029India2026-07-10
1030Argentina2026-07-23
1031Spain2026-08-07
1032Russia2026-07-19
1033India2026-08-05
1034Brazil2026-07-24
1035Italy2026-07-15
1036France2026-07-27
1037Russia2026-07-15
1038Argentina2026-08-02
1039Germany2026-07-24
1040United Kingdom2026-07-18
1041Italy2026-08-01
1042India2026-07-14
1043Russia2026-08-05
1044Russia2026-07-31
1045Brazil2026-08-05
1046Argentina2026-07-12
1047Brazil2026-07-18
1048India2026-08-03
1049Canada2026-08-03

On-Demand Data

NameIdCountryDate
Izzy Y Shinko1000Argentina2026-07-09
Alejandro L Whobrey1001France2026-07-14
Rodrigues B Butt1002Australia2026-08-02
Aika S Nicka1003Russia2026-07-23
Deepesh N Inouye1004Spain2026-08-07
James R Rim1005Japan2026-08-06
Tony E Figeroa1006Russia2026-07-30
David E Nestle1007Japan2026-07-13
Smith X Sergi1008India2026-07-28
Murillo A Chui1009Japan2026-07-20
Kaitlin Q Garufi1010Germany2026-07-17
James N Flosi1011Brazil2026-07-17
Nicolas K Whobrey1012United Kingdom2026-07-20
Smith S Wieser1013India2026-07-31
Rodrigues Q Doe1014Brazil2026-07-26
Mayumi S Perin1015Germany2026-07-25
Julie L Butt1016Germany2026-08-03
Misaki D Kusko1017Spain2026-08-05
Izzy O Whobrey1018Japan2026-07-16
Jefferson S Bowley1019Russia2026-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa D MorascaCanadaStephen Shaw PROPOSAL
Juan F RutaSpainBernardo Dominic UNQUALIFIED
Maria O DoeSpainBernardo Dominic NEW
Alejandro P CaudyGermanyAsiya Javayant NEW
Jeanfrancois W BowleyJapanIvan Magalhaes QUALIFIED
Tony D StockhamItalyOnyama Limba PROPOSAL
Maria Y DilliardRussiaStephen Shaw QUALIFIED
Munro O FlosiUnited KingdomStephen Shaw NEGOTIATION
Greenwood D SergiIndiaAsiya Javayant NEGOTIATION
Ivar N MorascaGermanyAmy Elsner PROPOSAL
David Q MarrierSpainBernardo Dominic NEGOTIATION
David U FerenczBrazilElwin Sharvill PROPOSAL
Izzy B RimFranceAsiya Javayant RENEWAL
Isabel A PaprockiItalyOnyama Limba UNQUALIFIED
Ricardo E OstroskySpainOnyama Limba UNQUALIFIED
Jefferson H VenereGermanyAsiya Javayant NEW
Emily K DarakjySpainIoni Bowcher NEW
Antonio X MaletIndiaXuxue Feng QUALIFIED
Jeanfrancois Y GlickIndiaAnna Fali NEW
Clifford J DilliardFranceAsiya Javayant PROPOSAL
Nicolas J StockhamIndiaAmy Elsner QUALIFIED
Deepesh B SaylorsJapanAmy Elsner UNQUALIFIED
Francesco V TollnerCanadaStephen Shaw QUALIFIED
Claire D VocelkaAustraliaBernardo Dominic NEGOTIATION
Jones X IturbideGermanyXuxue Feng QUALIFIED
Alejandro I GillianArgentinaOnyama Limba NEW
Deepesh R CampainUnited KingdomIvan Magalhaes RENEWAL
Ashley E ShinkoBrazilStephen Shaw PROPOSAL
Munro O DarakjySpainElwin Sharvill NEW
Munro S KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Claire N ShinkoCanadaIoni Bowcher RENEWAL
Clifford P OstroskySpainElwin Sharvill RENEWAL
Munro Y VocelkaItalyOnyama Limba RENEWAL
Leon A StensethSpainAnna Fali NEGOTIATION
Darci B KuskoIndiaElwin Sharvill NEW
Francesco L FigeroaBrazilIvan Magalhaes NEGOTIATION
James Y RulapaughRussiaBernardo Dominic NEGOTIATION
Chavez K MacleadGermanyAnna Fali RENEWAL
Jennifer F DilliardSpainAnna Fali UNQUALIFIED
Clifford H PaprockiCanadaElwin Sharvill PROPOSAL

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