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
Wickens S ChuiAustraliaAmy Elsner NEW
Aika R DilliardBrazilStephen Shaw RENEWAL
Adams L AlbaresItalyXuxue Feng UNQUALIFIED
Murillo Y ButtGermanyIvan Magalhaes NEW
Izzy N RutaCanadaOnyama Limba UNQUALIFIED
Darci H IturbideArgentinaIvan Magalhaes RENEWAL
Stacey I MaletAustraliaAnna Fali UNQUALIFIED
Smith F NickaJapanXuxue Feng PROPOSAL
Chavez I MacleadFranceStephen Shaw NEW
David E IturbideRussiaAnna Fali NEW
Ricardo D StensethAustraliaAnna Fali UNQUALIFIED
Wickens H BowleyArgentinaIoni Bowcher PROPOSAL
Kadeem X DilliardSpainBernardo Dominic QUALIFIED
Izzy O DilliardRussiaAmy Elsner NEGOTIATION
Alejandro V NestleUnited KingdomOnyama Limba UNQUALIFIED
Munro N GarufiIndiaXuxue Feng RENEWAL
Ricardo A StockhamSpainAmy Elsner UNQUALIFIED
Emily R SchemmerJapanBernardo Dominic QUALIFIED
Murillo J SaylorsUnited KingdomOnyama Limba UNQUALIFIED
Adams J VenereJapanIoni Bowcher NEGOTIATION
Morrow H NickaCanadaStephen Shaw PROPOSAL
Cody Q MaletBrazilIvan Magalhaes QUALIFIED
Ashley G GlickUnited KingdomStephen Shaw PROPOSAL
Leon K TollnerIndiaStephen Shaw NEGOTIATION
Leja V ButtBrazilOnyama Limba RENEWAL
Clifford A StensethUnited KingdomElwin Sharvill QUALIFIED
Izzy U DoeAustraliaAnna Fali RENEWAL
Rodrigues S BriddickAustraliaAsiya Javayant NEW
Leon W ChuiSpainOnyama Limba QUALIFIED
Tony D AlbaresJapanAnna Fali NEGOTIATION
Kaitlin A DilliardAustraliaStephen Shaw PROPOSAL
Alejandro A RimBrazilIoni Bowcher NEW
Claire X WhobreyFranceIoni Bowcher QUALIFIED
Ashley Y SergiBrazilXuxue Feng PROPOSAL
Kaitlin P MaletAustraliaElwin Sharvill PROPOSAL
Juan D DilliardArgentinaOnyama Limba QUALIFIED
Aika L IturbideFranceXuxue Feng QUALIFIED
Rodrigues Q VocelkaJapanIoni Bowcher RENEWAL
Salvatore Q RoysterArgentinaBernardo Dominic QUALIFIED
Kaitlin M BowleyCanadaAmy Elsner RENEWAL
Claire F RimUnited KingdomXuxue Feng UNQUALIFIED
Alejandro S CampainSpainAmy Elsner NEGOTIATION
James R DoeUnited KingdomIvan Magalhaes NEW
Isabel K AmigonBrazilOnyama Limba PROPOSAL
Leon A CaudyIndiaStephen Shaw RENEWAL
Juan X FollerAustraliaXuxue Feng NEGOTIATION
Rodrigues H DilliardBrazilOnyama Limba NEW
David U BowleyBrazilIoni Bowcher PROPOSAL
Stacey U KolmetzArgentinaElwin Sharvill PROPOSAL
Wickens L WieserJapanAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily N RulapaughGermanyOnyama Limba NEW
Rodrigues Y RulapaughCanadaAmy Elsner NEW
Jones F VenereUnited KingdomAsiya Javayant QUALIFIED
Rodrigues C WaycottGermanyIvan Magalhaes UNQUALIFIED
Silvio Y GauchoBrazilIvan Magalhaes NEGOTIATION
Isabel C WhobreyFranceIoni Bowcher NEW
Alejandro V DilliardRussiaXuxue Feng UNQUALIFIED
Ivar S MaletGermanyIoni Bowcher UNQUALIFIED
Emily H NickaJapanIoni Bowcher RENEWAL
Clifford F OldroydFranceElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba V StockhamSpain2024-06-09Truhlar And Truhlar Attys PROPOSAL87Stephen Shaw
1001Nicolas F KolmetzIndia2024-05-21Commercial Press NEGOTIATION80Onyama Limba
1002Tony L ChuiRussia2024-06-03Truhlar And Truhlar Attys NEW39Amy Elsner
1003Tony V SergiIndia2024-06-08Morlong Associates RENEWAL64Stephen Shaw
1004Alejandro R SergiJapan2024-06-07Feltz Printing Service UNQUALIFIED94Elwin Sharvill
1005Julie B ChuiJapan2024-05-24Morlong Associates NEGOTIATION20Ioni Bowcher
1006Leon T GarufiUnited Kingdom2024-05-19Chemel, James L Cpa NEW41Ioni Bowcher
1007David I TollnerJapan2024-06-10Chanay, Jeffrey A Esq PROPOSAL35Asiya Javayant
1008Octavia X SchemmerAustralia2024-05-15Rangoni Of Florence NEGOTIATION60Onyama Limba
1009Aika W GarufiItaly2024-05-22Feltz Printing Service UNQUALIFIED21Elwin Sharvill
1010Ricardo X StockhamFrance2024-05-18Rousseaux, Michael Esq QUALIFIED2Xuxue Feng
1011Aruna V SergiGermany2024-05-28Feltz Printing Service PROPOSAL29Amy Elsner
1012Izzy X CaldareraUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEGOTIATION53Amy Elsner
1013Darci T SchemmerAustralia2024-05-21Benton, John B Jr RENEWAL1Stephen Shaw
1014Alejandro P KolmetzIndia2024-05-16Rangoni Of Florence UNQUALIFIED35Xuxue Feng
1015Juan N OstroskyIndia2024-05-18Chanay, Jeffrey A Esq RENEWAL12Elwin Sharvill
1016Salvatore X PerinItaly2024-06-01Truhlar And Truhlar Attys QUALIFIED87Elwin Sharvill
1017Emily T WieserItaly2024-05-26Chapman, Ross E Esq RENEWAL24Ioni Bowcher
1018Clifford B StensethAustralia2024-06-06Dorl, James J Esq PROPOSAL32Xuxue Feng
1019Maisha B TollnerSpain2024-05-26Chemel, James L Cpa UNQUALIFIED71Ivan Magalhaes
1020Stacey P SlusarskiRussia2024-06-01Truhlar And Truhlar Attys NEGOTIATION7Ioni Bowcher
1021Jones J KolmetzJapan2024-06-04Benton, John B Jr QUALIFIED86Elwin Sharvill
1022Maria L OstroskyRussia2024-05-19Chanay, Jeffrey A Esq NEW60Onyama Limba
1023Jones L WhobreyCanada2024-05-18Rousseaux, Michael Esq PROPOSAL11Xuxue Feng
1024James D MaletIndia2024-06-01Commercial Press UNQUALIFIED27Asiya Javayant
1025Emily P DarakjyAustralia2024-05-27King, Christopher A Esq NEGOTIATION55Xuxue Feng
1026Francesco L KolmetzArgentina2024-05-17Benton, John B Jr NEW38Ivan Magalhaes
1027Aika S RutaGermany2024-05-19Feiner Bros PROPOSAL54Xuxue Feng
1028Costa R WaycottUnited Kingdom2024-06-09Dorl, James J Esq QUALIFIED65Xuxue Feng
1029Juan R WaycottAustralia2024-06-02King, Christopher A Esq RENEWAL62Ivan Magalhaes
1030Isabel Z MaletFrance2024-06-13Morlong Associates NEGOTIATION56Elwin Sharvill
1031Salvatore Q BriddickFrance2024-05-23Feltz Printing Service RENEWAL48Stephen Shaw
1032Claire H MarrierFrance2024-05-31Rangoni Of Florence NEGOTIATION15Anna Fali
1033Nicolas K AlbaresFrance2024-06-12Benton, John B Jr NEW11Asiya Javayant
1034Deepesh F WhobreyItaly2024-06-08Feiner Bros RENEWAL47Elwin Sharvill
1035Smith Y MarrierFrance2024-05-16Feiner Bros QUALIFIED77Amy Elsner
1036Darci H CaldareraGermany2024-06-10Feltz Printing Service PROPOSAL10Elwin Sharvill
1037Julie D FlosiBrazil2024-06-06Feiner Bros NEGOTIATION82Onyama Limba
1038Faith F WaycottUnited Kingdom2024-05-22Printing Dimensions NEGOTIATION24Anna Fali
1039Stacey R PaprockiIndia2024-05-17Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1040Salvatore P RoysterArgentina2024-06-13Feltz Printing Service NEGOTIATION88Bernardo Dominic
1041Leja T RoysterBrazil2024-05-31Feltz Printing Service QUALIFIED45Stephen Shaw
1042Sinclair B SlusarskiItaly2024-06-01Chapman, Ross E Esq QUALIFIED11Elwin Sharvill
1043Claire R DoeRussia2024-05-27Chanay, Jeffrey A Esq NEW87Anna Fali
1044Tony R NickaJapan2024-06-05Benton, John B Jr RENEWAL87Xuxue Feng
1045Maria C SergiAustralia2024-06-06Chemel, James L Cpa NEGOTIATION29Ioni Bowcher
1046Leon S DilliardBrazil2024-05-15Chapman, Ross E Esq RENEWAL28Ivan Magalhaes
1047Jennifer J StensethIndia2024-05-31Benton, John B Jr RENEWAL27Onyama Limba
1048Jennifer C SlusarskiAustralia2024-06-03Feltz Printing Service QUALIFIED61Ivan Magalhaes
1049Tony D TollnerUnited Kingdom2024-05-24Rousseaux, Michael Esq RENEWAL20Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Nicolas O RimCanadaAsiya Javayant NEW
Claire O SaylorsCanadaAnna Fali RENEWAL
Kadeem L SaylorsRussiaXuxue Feng PROPOSAL
Nicolas O CaldareraItalyIvan Magalhaes QUALIFIED
Morrow F ShinkoFranceElwin Sharvill QUALIFIED
Darci P FigeroaItalyElwin Sharvill NEGOTIATION
Tony K WieserFranceAnna Fali QUALIFIED
James H GarufiFranceStephen Shaw NEGOTIATION
Claire E PaprockiSpainElwin Sharvill NEGOTIATION
Aika N SaylorsIndiaBernardo Dominic RENEWAL
Alejandro N BowleyAustraliaXuxue Feng NEW
Silvio B StensethGermanyBernardo Dominic RENEWAL
Misaki P NestleRussiaAnna Fali UNQUALIFIED
Rodrigues E GlickFranceIoni Bowcher NEW
Costa Q MarrierItalyBernardo Dominic NEW
Murillo S ShinkoAustraliaIoni Bowcher UNQUALIFIED
Cody Q FerenczItalyIvan Magalhaes PROPOSAL
Cody F KolmetzCanadaAmy Elsner NEGOTIATION
Sinclair Z KolmetzGermanyAmy Elsner QUALIFIED
David M SlusarskiItalyAsiya Javayant RENEWAL
Emily J AmigonArgentinaElwin Sharvill NEGOTIATION
Leja Y WieserRussiaAnna Fali QUALIFIED
Jeanfrancois T PerinFranceElwin Sharvill UNQUALIFIED
Aditya V AlbaresAustraliaIoni Bowcher QUALIFIED
Emily J BriddickFranceAsiya Javayant NEW
Johnson T OstroskyGermanyAsiya Javayant NEW
Aika F ChuiCanadaIoni Bowcher PROPOSAL
Francesco C BriddickFranceAmy Elsner RENEWAL
Claire Y TollnerAustraliaOnyama Limba NEGOTIATION
Alejandro C KuskoArgentinaIoni Bowcher NEW
Wickens K VenereFranceIoni Bowcher NEW
Silvio Q SchemmerIndiaAsiya Javayant QUALIFIED
Murillo O RutaBrazilBernardo Dominic UNQUALIFIED
Cody A NickaIndiaStephen Shaw QUALIFIED
Tony A BologniaCanadaIvan Magalhaes RENEWAL
Morrow J StensethCanadaBernardo Dominic UNQUALIFIED
Ricardo Z BriddickRussiaIoni Bowcher PROPOSAL
Adams C NestleAustraliaOnyama Limba NEGOTIATION
Tony U KolmetzGermanyBernardo Dominic NEW
Jefferson S BriddickGermanyXuxue Feng QUALIFIED
Arvin N AlbaresIndiaAnna Fali PROPOSAL
Octavia A FollerGermanyBernardo Dominic RENEWAL
Costa X MorascaFranceElwin Sharvill RENEWAL
Adams D WieserCanadaIoni Bowcher NEW
Aditya W VenereRussiaIoni Bowcher RENEWAL
Smith I VocelkaUnited KingdomBernardo Dominic QUALIFIED
Adams H PaprockiRussiaAnna Fali RENEWAL
Ricardo N CaudyIndiaBernardo Dominic UNQUALIFIED
Greenwood W MaletSpainElwin Sharvill RENEWAL
Rodrigues P WhobreySpainOnyama Limba NEW
Frozen Columns
Name
Deepesh D Rulapaugh
Wickens S Vocelka
Kadeem B Nestle
James U Poquette
Sinclair U Morasca
Jefferson Y Kusko
Mayumi O Rim
Misaki H Doe
Greenwood S Shinko
Salvatore S Darakjy
Deepesh X Stockham
Leja K Ferencz
Alejandro Y Rim
Rodrigues S Foller
David U Butt
Mujtaba N Malet
Sinclair B Oldroyd
Faith F Ostrosky
Stacey M Marrier
Aruna C Inouye
Alejandro I Sergi
Chavez E Gaucho
Antonio Y Malet
Jefferson M Bowley
Leon O Dilliard
Isabel S Wieser
David N Maclead
Mujtaba M Venere
James O Waycott
Juan B Dilliard
Munro Y Caldarera
Ivar B Ostrosky
Sinclair I Figeroa
Stacey E Iturbide
Maisha B Amigon
Smith W Sergi
Aditya Z Waycott
Jennifer E Kolmetz
Tony Y Stockham
Deepesh X Waycott
Jefferson U Darakjy
Sinclair H Venere
Misaki V Figeroa
Aruna B Flosi
Deepesh B Tollner
Julie L Whobrey
Jones F Wieser
Aditya H Nicka
Darci W Whobrey
Smith I Malet
IdCountryDate
1000Japan2024-05-31
1001Japan2024-06-03
1002Australia2024-05-29
1003Italy2024-05-31
1004Germany2024-05-25
1005Japan2024-06-11
1006Spain2024-05-22
1007Germany2024-06-10
1008Italy2024-05-30
1009Russia2024-06-11
1010France2024-06-03
1011India2024-05-24
1012Canada2024-05-24
1013Spain2024-05-28
1014Spain2024-05-30
1015United Kingdom2024-05-25
1016Argentina2024-06-02
1017Canada2024-05-15
1018Japan2024-05-30
1019France2024-05-23
1020France2024-05-27
1021India2024-05-26
1022United Kingdom2024-06-09
1023Argentina2024-06-01
1024Germany2024-05-28
1025Australia2024-05-26
1026Italy2024-06-04
1027Canada2024-06-01
1028India2024-05-23
1029Argentina2024-05-18
1030Brazil2024-06-01
1031Brazil2024-06-05
1032Canada2024-05-23
1033India2024-05-26
1034Italy2024-05-21
1035France2024-05-21
1036India2024-05-24
1037Spain2024-05-28
1038India2024-06-07
1039France2024-06-03
1040United Kingdom2024-05-21
1041Germany2024-05-20
1042Argentina2024-06-06
1043Australia2024-05-24
1044France2024-05-28
1045Spain2024-05-19
1046Argentina2024-06-10
1047Italy2024-06-13
1048Spain2024-05-21
1049Spain2024-05-15

On-Demand Data

NameIdCountryDate
Emily G Darakjy1000Australia2024-05-23
Leja L Malet1001France2024-05-30
Mayumi T Gillian1002Argentina2024-06-03
Jeanfrancois N Poquette1003Canada2024-06-10
Maisha Y Amigon1004Argentina2024-06-09
Kadeem C Amigon1005United Kingdom2024-06-06
Salvatore W Figeroa1006India2024-05-22
Leja O Venere1007United Kingdom2024-06-05
Arvin Y Caudy1008Argentina2024-06-10
Adams T Schemmer1009Canada2024-05-27
Sinclair Y Tollner1010Italy2024-05-16
Cody L Ostrosky1011Germany2024-06-07
Rodrigues Q Perin1012France2024-05-22
Alejandro H Figeroa1013Spain2024-05-27
Antonio A Rulapaugh1014Italy2024-06-07
Faith X Flosi1015Germany2024-05-16
Kaitlin T Stenseth1016Spain2024-06-10
Greenwood U Amigon1017Canada2024-05-22
Francesco M Slusarski1018India2024-06-04
Cody R Doe1019Argentina2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony Y SchemmerArgentinaXuxue Feng NEGOTIATION
Jeanfrancois H OldroydFranceXuxue Feng QUALIFIED
Sinclair O AmigonCanadaBernardo Dominic PROPOSAL
Salvatore A GlickJapanIvan Magalhaes NEW
Jeanfrancois W DoeBrazilIvan Magalhaes NEGOTIATION
Clifford B PoquetteIndiaXuxue Feng PROPOSAL
Salvatore Y RulapaughUnited KingdomOnyama Limba NEW
Isabel F BowleySpainIvan Magalhaes RENEWAL
Nicolas N DilliardArgentinaAmy Elsner RENEWAL
Aruna J SchemmerItalyAmy Elsner NEW
Mayumi L MorascaArgentinaIoni Bowcher RENEWAL
Mayumi J FerenczGermanyAsiya Javayant RENEWAL
Greenwood J AmigonCanadaAsiya Javayant NEW
Munro F MorascaUnited KingdomAsiya Javayant PROPOSAL
Jefferson N OldroydBrazilOnyama Limba NEW
Mayumi Y MaletAustraliaXuxue Feng NEGOTIATION
Costa Z MaletFranceIvan Magalhaes QUALIFIED
Costa K ChuiAustraliaXuxue Feng NEGOTIATION
Leja X PerinJapanIvan Magalhaes NEW
Costa B ChuiUnited KingdomStephen Shaw NEW
Arvin W CaldareraUnited KingdomStephen Shaw QUALIFIED
Wickens Q FerenczCanadaElwin Sharvill NEGOTIATION
Smith V TollnerUnited KingdomOnyama Limba NEGOTIATION
Antonio C PaprockiRussiaAnna Fali RENEWAL
Silvio S KuskoRussiaIvan Magalhaes PROPOSAL
Aditya W MacleadJapanIvan Magalhaes UNQUALIFIED
Arvin N NestleJapanXuxue Feng PROPOSAL
Ashley S MorascaRussiaElwin Sharvill RENEWAL
Nicolas B StensethUnited KingdomBernardo Dominic NEW
Leja N SlusarskiBrazilBernardo Dominic NEGOTIATION
Wickens U IturbideItalyOnyama Limba QUALIFIED
Kaitlin P KolmetzItalyElwin Sharvill NEGOTIATION
Salvatore B OldroydIndiaAsiya Javayant RENEWAL
Isabel W GarufiBrazilAmy Elsner NEGOTIATION
Antonio K DilliardFranceIvan Magalhaes QUALIFIED
Nicolas V CaldareraBrazilIoni Bowcher NEW
Leon A TollnerSpainOnyama Limba PROPOSAL
David P ShinkoItalyIoni Bowcher NEGOTIATION
Emily C GauchoBrazilIoni Bowcher RENEWAL
Aika Q WaycottFranceXuxue Feng 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>