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
Isabel N WhobreyIndiaAnna Fali PROPOSAL
Leon T SergiGermanyAmy Elsner NEW
Alejandro X AlbaresIndiaXuxue Feng NEGOTIATION
Aika J OstroskyCanadaIvan Magalhaes UNQUALIFIED
Munro E InouyeSpainIvan Magalhaes NEGOTIATION
Mayumi X TollnerFranceIvan Magalhaes NEW
Izzy M GlickArgentinaOnyama Limba QUALIFIED
Jefferson T FlosiCanadaOnyama Limba RENEWAL
Cody B OldroydArgentinaElwin Sharvill RENEWAL
Leon C WaycottRussiaOnyama Limba NEW
Izzy A GauchoItalyOnyama Limba PROPOSAL
Emily V MaletGermanyAsiya Javayant UNQUALIFIED
Aika B GillianArgentinaAmy Elsner UNQUALIFIED
Greenwood N GlickAustraliaStephen Shaw QUALIFIED
Isabel A DilliardArgentinaIvan Magalhaes UNQUALIFIED
Jefferson C CaudyUnited KingdomStephen Shaw NEGOTIATION
Aika L PerinItalyBernardo Dominic RENEWAL
Julie U PoquetteRussiaElwin Sharvill UNQUALIFIED
Izzy F BowleyGermanyBernardo Dominic UNQUALIFIED
Munro K ButtCanadaStephen Shaw NEW
Francesco N BologniaRussiaElwin Sharvill NEW
Francesco R RoysterCanadaAnna Fali QUALIFIED
Maisha V StockhamFranceElwin Sharvill QUALIFIED
Deepesh R MarrierUnited KingdomAnna Fali UNQUALIFIED
Aditya I DarakjyItalyBernardo Dominic PROPOSAL
Jones C MacleadIndiaBernardo Dominic QUALIFIED
Maria W RimSpainAmy Elsner UNQUALIFIED
Stacey Y IturbideAustraliaAmy Elsner UNQUALIFIED
Aditya T KuskoBrazilElwin Sharvill UNQUALIFIED
James P NestleSpainIoni Bowcher RENEWAL
Leja X SaylorsSpainXuxue Feng QUALIFIED
Ivar O CaldareraUnited KingdomStephen Shaw RENEWAL
Tony Z CampainArgentinaStephen Shaw NEGOTIATION
Emily S InouyeCanadaBernardo Dominic QUALIFIED
Leja L ShinkoGermanyAmy Elsner QUALIFIED
Wickens K GillianGermanyIvan Magalhaes PROPOSAL
Kadeem J ShinkoRussiaBernardo Dominic NEW
Kadeem X AmigonFranceAsiya Javayant UNQUALIFIED
Deepesh Z OstroskyAustraliaIoni Bowcher UNQUALIFIED
Francesco D WieserIndiaAsiya Javayant QUALIFIED
Misaki M GlickCanadaIoni Bowcher NEW
Aika F FlosiFranceIoni Bowcher NEGOTIATION
Maisha R ShinkoItalyAsiya Javayant RENEWAL
Leon R RutaUnited KingdomOnyama Limba NEGOTIATION
Arvin T ShinkoGermanyXuxue Feng PROPOSAL
Aika H RoysterUnited KingdomStephen Shaw UNQUALIFIED
Sinclair Y KolmetzJapanAmy Elsner NEW
Aditya J PaprockiRussiaIvan Magalhaes NEGOTIATION
Aditya O SergiRussiaAmy Elsner NEGOTIATION
Morrow A PoquetteCanadaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer D DilliardSpainXuxue Feng PROPOSAL
Misaki A VenereJapanElwin Sharvill RENEWAL
Jennifer E StensethSpainIvan Magalhaes PROPOSAL
Nicolas T KuskoArgentinaAnna Fali NEW
Rodrigues R WieserAustraliaBernardo Dominic NEGOTIATION
Deepesh R DarakjyGermanyIvan Magalhaes RENEWAL
Silvio O RoysterGermanyAsiya Javayant RENEWAL
Alejandro Y KolmetzItalyAsiya Javayant PROPOSAL
Rodrigues S OstroskyItalyIvan Magalhaes NEGOTIATION
Mujtaba R GlickGermanyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo J DoeSpain2024-06-02Rousseaux, Michael Esq NEW28Xuxue Feng
1001Silvio G ShinkoSpain2024-05-20Printing Dimensions NEW64Bernardo Dominic
1002Emily C DilliardItaly2024-05-28Chapman, Ross E Esq NEW57Amy Elsner
1003Costa E ChuiCanada2024-06-04Dorl, James J Esq UNQUALIFIED73Asiya Javayant
1004Tony K BowleyUnited Kingdom2024-06-09Morlong Associates QUALIFIED47Ioni Bowcher
1005Chavez N FerenczBrazil2024-05-31Truhlar And Truhlar Attys PROPOSAL35Asiya Javayant
1006Juan V CampainUnited Kingdom2024-06-05Printing Dimensions RENEWAL49Asiya Javayant
1007Kaitlin G RulapaughAustralia2024-05-30Benton, John B Jr PROPOSAL95Bernardo Dominic
1008Johnson D PoquetteItaly2024-06-04Buckley Miller Wright RENEWAL52Elwin Sharvill
1009Nicolas P MorascaGermany2024-06-16Printing Dimensions UNQUALIFIED5Asiya Javayant
1010Jeanfrancois F BowleyUnited Kingdom2024-05-24Benton, John B Jr RENEWAL31Xuxue Feng
1011Antonio J VenereItaly2024-05-26Feiner Bros UNQUALIFIED9Ioni Bowcher
1012Alejandro H RoysterUnited Kingdom2024-05-25Feiner Bros PROPOSAL76Stephen Shaw
1013Ricardo N SlusarskiRussia2024-05-29Commercial Press UNQUALIFIED26Stephen Shaw
1014Tony G VenereRussia2024-06-05Chapman, Ross E Esq NEGOTIATION10Bernardo Dominic
1015Misaki A DilliardCanada2024-06-08Buckley Miller Wright RENEWAL87Elwin Sharvill
1016Murillo T BowleyFrance2024-05-24Chemel, James L Cpa NEW76Elwin Sharvill
1017Jeanfrancois J AlbaresArgentina2024-05-29Rousseaux, Michael Esq UNQUALIFIED32Bernardo Dominic
1018Francesco C RimArgentina2024-05-25Chanay, Jeffrey A Esq QUALIFIED4Xuxue Feng
1019Silvio U FerenczSpain2024-06-06Chapman, Ross E Esq RENEWAL43Anna Fali
1020Salvatore Z FerenczJapan2024-05-29Chapman, Ross E Esq UNQUALIFIED83Xuxue Feng
1021Johnson E CaudyItaly2024-05-26Commercial Press PROPOSAL94Elwin Sharvill
1022Claire M CampainCanada2024-06-09Buckley Miller Wright RENEWAL85Anna Fali
1023Misaki Y AmigonJapan2024-06-14Benton, John B Jr PROPOSAL56Ioni Bowcher
1024Antonio A AmigonUnited Kingdom2024-06-13Feiner Bros PROPOSAL58Xuxue Feng
1025Jefferson I AlbaresIndia2024-06-15Feltz Printing Service UNQUALIFIED76Stephen Shaw
1026Kadeem F FigeroaCanada2024-06-03Printing Dimensions NEW19Ivan Magalhaes
1027Aruna J KolmetzJapan2024-06-14Commercial Press QUALIFIED24Ioni Bowcher
1028Mujtaba W SergiRussia2024-05-23King, Christopher A Esq QUALIFIED21Ivan Magalhaes
1029Darci U WhobreyAustralia2024-05-30Commercial Press NEW46Ivan Magalhaes
1030Kaitlin Z BologniaFrance2024-06-03Chanay, Jeffrey A Esq NEW7Ioni Bowcher
1031Jefferson Q PoquetteIndia2024-05-18Commercial Press NEW28Asiya Javayant
1032Izzy E GauchoJapan2024-05-24Chapman, Ross E Esq UNQUALIFIED35Ioni Bowcher
1033Chavez K PerinItaly2024-06-15Truhlar And Truhlar Attys NEGOTIATION60Anna Fali
1034James J ButtUnited Kingdom2024-06-11Feiner Bros UNQUALIFIED59Ivan Magalhaes
1035Jeanfrancois Y MarrierSpain2024-06-13Dorl, James J Esq UNQUALIFIED62Anna Fali
1036Claire R InouyeBrazil2024-06-13Benton, John B Jr QUALIFIED77Ioni Bowcher
1037Aditya E BowleyGermany2024-05-23King, Christopher A Esq NEGOTIATION76Stephen Shaw
1038Chavez P WieserIndia2024-06-04Morlong Associates PROPOSAL38Ioni Bowcher
1039Isabel W NickaCanada2024-06-12Truhlar And Truhlar Attys NEW13Onyama Limba
1040Jennifer P BologniaRussia2024-06-04King, Christopher A Esq UNQUALIFIED43Asiya Javayant
1041Aruna X RimJapan2024-05-27Dorl, James J Esq NEW31Ioni Bowcher
1042Aruna H KuskoCanada2024-06-09Chapman, Ross E Esq NEW98Xuxue Feng
1043Faith B RutaJapan2024-05-26Chanay, Jeffrey A Esq RENEWAL66Elwin Sharvill
1044Arvin U BologniaBrazil2024-06-11Dorl, James J Esq NEGOTIATION30Elwin Sharvill
1045Adams Y MaletArgentina2024-06-04Printing Dimensions NEW10Asiya Javayant
1046Claire B IturbideArgentina2024-05-22Truhlar And Truhlar Attys NEW86Onyama Limba
1047Ricardo Q DilliardRussia2024-06-07Rangoni Of Florence UNQUALIFIED88Asiya Javayant
1048Wickens A FlosiCanada2024-05-18Chanay, Jeffrey A Esq NEGOTIATION52Asiya Javayant
1049Silvio U ChuiItaly2024-05-22Dorl, James J Esq NEGOTIATION31Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Clifford Y GarufiIndiaIvan Magalhaes PROPOSAL
Jefferson D GlickSpainOnyama Limba PROPOSAL
Aika I ButtBrazilIoni Bowcher UNQUALIFIED
Murillo R SlusarskiIndiaAmy Elsner NEW
Ricardo Z StensethUnited KingdomAnna Fali RENEWAL
Ivar O SlusarskiUnited KingdomElwin Sharvill QUALIFIED
Misaki T RimSpainOnyama Limba PROPOSAL
Adams G PerinGermanyStephen Shaw RENEWAL
Emily X BriddickSpainBernardo Dominic PROPOSAL
James K StensethIndiaAmy Elsner NEW
Emily X OstroskyItalyOnyama Limba UNQUALIFIED
Izzy V FerenczRussiaIoni Bowcher QUALIFIED
Munro F MarrierBrazilBernardo Dominic PROPOSAL
Greenwood Z IturbideItalyAnna Fali QUALIFIED
Aditya A ShinkoSpainAnna Fali NEGOTIATION
Antonio D CaldareraRussiaAnna Fali UNQUALIFIED
Adams E RimItalyElwin Sharvill QUALIFIED
Claire Y BowleyAustraliaIvan Magalhaes NEW
Misaki O PaprockiFranceIoni Bowcher PROPOSAL
Munro J WhobreyItalyAmy Elsner PROPOSAL
Tony G MaletArgentinaXuxue Feng RENEWAL
Francesco A ChuiGermanyIvan Magalhaes RENEWAL
Arvin B FerenczAustraliaBernardo Dominic RENEWAL
Kadeem S MaletFranceXuxue Feng NEGOTIATION
Jennifer Y TollnerRussiaBernardo Dominic PROPOSAL
Tony I BriddickRussiaOnyama Limba NEW
Ricardo F BologniaArgentinaBernardo Dominic PROPOSAL
Aika E GauchoIndiaAsiya Javayant RENEWAL
Darci Y VenereUnited KingdomElwin Sharvill NEGOTIATION
Sinclair M IturbideItalyAnna Fali QUALIFIED
Smith J IturbideRussiaAsiya Javayant RENEWAL
Francesco C GlickArgentinaIoni Bowcher PROPOSAL
Mayumi X WieserFranceBernardo Dominic NEW
Salvatore M CampainCanadaIoni Bowcher RENEWAL
Rodrigues L PaprockiAustraliaOnyama Limba QUALIFIED
James L DarakjyCanadaXuxue Feng RENEWAL
Leon S AmigonArgentinaStephen Shaw RENEWAL
Murillo G StockhamIndiaOnyama Limba PROPOSAL
Kadeem P TollnerSpainAmy Elsner PROPOSAL
Kaitlin K VocelkaIndiaAsiya Javayant QUALIFIED
Rodrigues K FlosiCanadaAnna Fali QUALIFIED
Ricardo U SlusarskiRussiaIvan Magalhaes QUALIFIED
Adams P CampainArgentinaOnyama Limba PROPOSAL
Ricardo C OstroskySpainBernardo Dominic QUALIFIED
Salvatore M MaletFranceAmy Elsner NEW
Mujtaba Z BologniaBrazilOnyama Limba PROPOSAL
Misaki W NestleUnited KingdomAsiya Javayant NEW
Aditya Y RoysterRussiaBernardo Dominic NEW
Adams W OstroskyArgentinaIvan Magalhaes RENEWAL
Ricardo R GauchoBrazilXuxue Feng PROPOSAL
Frozen Columns
Name
Jeanfrancois G Oldroyd
Darci N Briddick
Aruna V Wieser
Mayumi G Bolognia
Antonio D Dilliard
Ashley F Doe
Misaki N Bolognia
Ricardo X Chui
Costa X Whobrey
Adams C Poquette
Johnson A Malet
Kadeem H Inouye
Cody J Iturbide
Jefferson S Rulapaugh
Ashley J Figeroa
Murillo T Darakjy
Wickens E Kolmetz
Wickens O Stockham
Leja A Figeroa
Claire G Bolognia
Mujtaba A Poquette
Aika Q Stockham
Juan Z Stenseth
Aditya Z Ruta
Leja J Briddick
Juan J Ostrosky
Leja N Kolmetz
Aruna G Saylors
Adams C Ostrosky
Maisha B Inouye
Leon N Morasca
Murillo W Tollner
Greenwood H Flosi
Morrow D Saylors
Salvatore G Slusarski
Darci C Bolognia
Aruna Q Amigon
Kadeem T Ferencz
Darci Y Malet
Smith P Foller
Izzy Z Marrier
Costa Y Darakjy
Aika R Shinko
Aditya A Glick
Salvatore S Slusarski
Leon B Figeroa
Emily K Perin
Maisha N Foller
Leon C Campain
Maria H Venere
IdCountryDate
1000Russia2024-06-10
1001Germany2024-05-27
1002Argentina2024-06-16
1003Canada2024-06-16
1004France2024-05-21
1005Japan2024-05-31
1006Germany2024-05-24
1007India2024-05-24
1008Germany2024-05-20
1009Italy2024-06-05
1010France2024-06-01
1011France2024-05-18
1012Spain2024-05-29
1013Italy2024-05-20
1014Russia2024-06-06
1015Russia2024-06-13
1016Argentina2024-05-22
1017United Kingdom2024-05-28
1018France2024-05-27
1019Brazil2024-05-18
1020Brazil2024-05-27
1021Canada2024-06-13
1022Argentina2024-05-31
1023Russia2024-05-19
1024Italy2024-05-22
1025Germany2024-06-10
1026Germany2024-05-23
1027Canada2024-06-09
1028Germany2024-06-05
1029Germany2024-05-23
1030Brazil2024-06-05
1031India2024-06-06
1032Argentina2024-05-27
1033France2024-05-28
1034Italy2024-05-27
1035Spain2024-05-22
1036Russia2024-06-01
1037Japan2024-06-14
1038France2024-06-09
1039Argentina2024-05-26
1040Brazil2024-06-01
1041Russia2024-06-15
1042Canada2024-05-24
1043India2024-06-08
1044Germany2024-06-09
1045Spain2024-05-30
1046Spain2024-06-09
1047Italy2024-06-11
1048Germany2024-05-26
1049Brazil2024-06-12

On-Demand Data

NameIdCountryDate
Emily G Chui1000India2024-06-09
Rodrigues V Royster1001Argentina2024-06-11
Kaitlin C Ferencz1002Australia2024-05-26
Aditya Q Rim1003Japan2024-06-03
Costa V Whobrey1004Japan2024-06-16
Nicolas X Wieser1005Canada2024-05-29
Isabel F Rulapaugh1006United Kingdom2024-06-06
Nicolas A Chui1007Japan2024-05-25
Juan L Stockham1008Japan2024-05-22
Aruna P Perin1009Germany2024-05-28
Costa O Butt1010United Kingdom2024-06-02
Aika M Gillian1011Japan2024-06-04
Faith K Malet1012Japan2024-05-26
Octavia D Briddick1013Germany2024-06-10
Mayumi Z Saylors1014Brazil2024-06-05
Faith W Caldarera1015Japan2024-06-14
Maisha X Gillian1016Russia2024-05-26
Misaki J Darakjy1017Italy2024-05-26
Kaitlin M Iturbide1018Japan2024-05-26
Darci S Dilliard1019Spain2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley F StensethRussiaXuxue Feng NEW
Tony J ShinkoFranceIoni Bowcher NEGOTIATION
Kadeem A RimIndiaOnyama Limba NEW
Nicolas L RutaJapanAnna Fali QUALIFIED
Izzy U RulapaughJapanOnyama Limba UNQUALIFIED
Emily G ButtItalyAsiya Javayant QUALIFIED
Adams Q MarrierFranceIvan Magalhaes UNQUALIFIED
Kadeem O KuskoRussiaOnyama Limba PROPOSAL
Darci X FlosiIndiaStephen Shaw UNQUALIFIED
Francesco H RimGermanyAmy Elsner NEGOTIATION
Leja Q IturbideRussiaXuxue Feng RENEWAL
Deepesh A SchemmerGermanyAmy Elsner NEW
Greenwood C RoysterJapanAmy Elsner RENEWAL
Johnson K NickaJapanAnna Fali UNQUALIFIED
Nicolas N WaycottBrazilOnyama Limba NEW
Silvio L FollerAustraliaElwin Sharvill RENEWAL
Francesco V VocelkaCanadaAmy Elsner PROPOSAL
Stacey A VenereGermanyXuxue Feng UNQUALIFIED
Jones Q SlusarskiGermanyStephen Shaw QUALIFIED
Ivar P SaylorsCanadaIoni Bowcher UNQUALIFIED
Claire B WaycottCanadaIvan Magalhaes PROPOSAL
Juan T AmigonItalyStephen Shaw QUALIFIED
Misaki R ShinkoItalyXuxue Feng UNQUALIFIED
Deepesh Z FerenczJapanIvan Magalhaes RENEWAL
Julie V SchemmerFranceIoni Bowcher RENEWAL
Alejandro C CaudyArgentinaIoni Bowcher QUALIFIED
Emily I OldroydBrazilOnyama Limba PROPOSAL
David G SlusarskiArgentinaStephen Shaw NEW
Jones M FerenczGermanyAmy Elsner NEW
Leja T MorascaAustraliaAsiya Javayant UNQUALIFIED
Jefferson G VocelkaArgentinaAsiya Javayant NEGOTIATION
Izzy O MaletUnited KingdomXuxue Feng PROPOSAL
Isabel F StensethRussiaStephen Shaw RENEWAL
Aika T MarrierArgentinaElwin Sharvill NEGOTIATION
Sinclair Y RoysterCanadaAnna Fali UNQUALIFIED
Octavia U FlosiArgentinaAmy Elsner UNQUALIFIED
Leja Y WhobreyBrazilAnna Fali NEW
Adams O MarrierJapanBernardo Dominic UNQUALIFIED
Costa X VocelkaIndiaAnna Fali RENEWAL
Aika J OldroydGermanyOnyama 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>