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
Salvatore T SergiGermanyStephen Shaw NEW
Chavez X DilliardUnited KingdomAsiya Javayant NEGOTIATION
Aditya A CampainCanadaXuxue Feng PROPOSAL
Sinclair Q RutaAustraliaAsiya Javayant QUALIFIED
James V KuskoRussiaElwin Sharvill PROPOSAL
Claire X GauchoAustraliaStephen Shaw RENEWAL
Salvatore F SaylorsSpainXuxue Feng NEGOTIATION
Stacey J AlbaresSpainAmy Elsner QUALIFIED
Julie H PaprockiGermanyOnyama Limba PROPOSAL
Mayumi M NestleItalyElwin Sharvill UNQUALIFIED
Aditya R StensethArgentinaStephen Shaw QUALIFIED
Salvatore L VenereRussiaAsiya Javayant NEGOTIATION
Leon I TollnerFranceXuxue Feng UNQUALIFIED
Nicolas W BologniaAustraliaIvan Magalhaes RENEWAL
Smith H DoeBrazilXuxue Feng PROPOSAL
Leja G GlickAustraliaAsiya Javayant QUALIFIED
Ashley X FerenczArgentinaOnyama Limba NEW
Murillo I FlosiBrazilOnyama Limba QUALIFIED
Jones R DilliardCanadaIoni Bowcher QUALIFIED
Morrow K ShinkoUnited KingdomAsiya Javayant RENEWAL
Salvatore Z VenereRussiaBernardo Dominic QUALIFIED
Rodrigues L CaldareraAustraliaIvan Magalhaes RENEWAL
Silvio A RoysterSpainStephen Shaw UNQUALIFIED
Nicolas D BowleyRussiaIoni Bowcher PROPOSAL
Darci E IturbideBrazilIvan Magalhaes PROPOSAL
Faith R OldroydGermanyAmy Elsner QUALIFIED
Stacey D NestleSpainIvan Magalhaes RENEWAL
Kadeem C CampainJapanIvan Magalhaes UNQUALIFIED
Isabel C StensethJapanAsiya Javayant PROPOSAL
Arvin B PoquetteAustraliaOnyama Limba NEGOTIATION
Chavez A RoysterSpainOnyama Limba UNQUALIFIED
Adams I WieserRussiaStephen Shaw PROPOSAL
Arvin O CampainItalyBernardo Dominic QUALIFIED
Wickens T StensethRussiaStephen Shaw PROPOSAL
Rodrigues I StockhamSpainBernardo Dominic NEW
Ricardo T DoeJapanAsiya Javayant RENEWAL
Nicolas N FlosiGermanyOnyama Limba QUALIFIED
Kaitlin W FigeroaIndiaAmy Elsner NEGOTIATION
Cody C AmigonJapanAmy Elsner RENEWAL
Chavez L PerinItalyAmy Elsner NEGOTIATION
Faith B DilliardArgentinaIoni Bowcher NEW
Aditya R DarakjyRussiaXuxue Feng NEGOTIATION
Murillo O InouyeUnited KingdomIvan Magalhaes NEW
Salvatore O NickaCanadaAsiya Javayant RENEWAL
Francesco W KuskoCanadaXuxue Feng UNQUALIFIED
Aruna F RulapaughBrazilStephen Shaw RENEWAL
Jennifer Y BriddickIndiaElwin Sharvill NEGOTIATION
Juan K PoquetteBrazilAnna Fali PROPOSAL
Isabel L BowleyFranceXuxue Feng RENEWAL
Maria F NickaCanadaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson S PerinUnited KingdomElwin Sharvill NEGOTIATION
Silvio H DilliardUnited KingdomElwin Sharvill PROPOSAL
Izzy S GlickCanadaAmy Elsner PROPOSAL
Juan I VocelkaFranceXuxue Feng NEGOTIATION
Maria N KuskoJapanAmy Elsner NEW
Ivar L StockhamGermanyStephen Shaw NEW
Tony O CaldareraGermanyAnna Fali RENEWAL
Aika L MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore J DilliardIndiaIoni Bowcher RENEWAL
Chavez A GlickItalyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James R CampainAustralia2024-05-26Printing Dimensions NEGOTIATION11Onyama Limba
1001Johnson O VenereBrazil2024-05-10Chapman, Ross E Esq PROPOSAL69Stephen Shaw
1002Francesco Z NestleJapan2024-05-08Feiner Bros PROPOSAL31Bernardo Dominic
1003Cody N SlusarskiItaly2024-05-14Feiner Bros UNQUALIFIED26Ioni Bowcher
1004Rodrigues T RimUnited Kingdom2024-05-07Dorl, James J Esq RENEWAL35Anna Fali
1005Francesco H WaycottIndia2024-04-29Chanay, Jeffrey A Esq PROPOSAL89Amy Elsner
1006Jones M StockhamGermany2024-05-26Commercial Press RENEWAL51Asiya Javayant
1007Misaki U SergiJapan2024-05-26Chemel, James L Cpa UNQUALIFIED25Ioni Bowcher
1008Ivar Y DilliardUnited Kingdom2024-05-20Rangoni Of Florence NEW98Asiya Javayant
1009Stacey W DilliardUnited Kingdom2024-04-30Chanay, Jeffrey A Esq PROPOSAL3Anna Fali
1010Emily D PaprockiArgentina2024-04-30Chanay, Jeffrey A Esq NEGOTIATION67Elwin Sharvill
1011Octavia I ChuiJapan2024-04-30Commercial Press NEW74Amy Elsner
1012Chavez I MarrierUnited Kingdom2024-05-03Dorl, James J Esq NEW74Anna Fali
1013Izzy B SergiBrazil2024-05-05Rangoni Of Florence RENEWAL58Asiya Javayant
1014Murillo Q FigeroaUnited Kingdom2024-05-08Truhlar And Truhlar Attys PROPOSAL44Asiya Javayant
1015Ricardo J StockhamJapan2024-05-05King, Christopher A Esq UNQUALIFIED17Anna Fali
1016Smith T BologniaItaly2024-05-01Chanay, Jeffrey A Esq NEGOTIATION76Anna Fali
1017Maria A CaudyArgentina2024-05-22Feiner Bros RENEWAL43Onyama Limba
1018Adams Q DarakjyIndia2024-05-21Feiner Bros NEW88Bernardo Dominic
1019Jefferson W GauchoFrance2024-05-18Feiner Bros RENEWAL40Elwin Sharvill
1020Leja X VocelkaAustralia2024-04-29Chapman, Ross E Esq NEGOTIATION48Anna Fali
1021Ivar Y MarrierAustralia2024-05-14Morlong Associates PROPOSAL49Stephen Shaw
1022Claire T ButtItaly2024-05-09King, Christopher A Esq NEGOTIATION17Anna Fali
1023Misaki P WaycottArgentina2024-05-09Rousseaux, Michael Esq QUALIFIED36Elwin Sharvill
1024Salvatore R StockhamSpain2024-05-15King, Christopher A Esq NEGOTIATION67Asiya Javayant
1025James Q GlickCanada2024-05-14Commercial Press PROPOSAL56Ivan Magalhaes
1026Aditya K RutaBrazil2024-05-14Buckley Miller Wright QUALIFIED98Xuxue Feng
1027Deepesh N IturbideRussia2024-05-20Benton, John B Jr RENEWAL12Elwin Sharvill
1028Octavia P CaudyJapan2024-05-16Morlong Associates UNQUALIFIED2Xuxue Feng
1029Aika M BologniaSpain2024-05-04Printing Dimensions PROPOSAL53Amy Elsner
1030Greenwood A PaprockiIndia2024-05-19Rangoni Of Florence RENEWAL9Amy Elsner
1031David W PaprockiAustralia2024-05-23Benton, John B Jr NEW0Xuxue Feng
1032Aruna X FerenczBrazil2024-05-25Feltz Printing Service RENEWAL85Onyama Limba
1033Maisha F OstroskyArgentina2024-04-28King, Christopher A Esq UNQUALIFIED41Anna Fali
1034Izzy B MorascaUnited Kingdom2024-05-06Buckley Miller Wright QUALIFIED3Onyama Limba
1035Wickens Z WhobreyRussia2024-05-07Feiner Bros UNQUALIFIED87Amy Elsner
1036Mayumi D DarakjyCanada2024-05-16Buckley Miller Wright RENEWAL92Elwin Sharvill
1037Silvio C GillianRussia2024-05-23Dorl, James J Esq UNQUALIFIED10Xuxue Feng
1038Aditya F CaldareraUnited Kingdom2024-04-30Benton, John B Jr QUALIFIED55Ivan Magalhaes
1039Jennifer Z FollerArgentina2024-05-21Feiner Bros PROPOSAL89Onyama Limba
1040Aditya Y VocelkaGermany2024-05-25Chanay, Jeffrey A Esq NEGOTIATION89Ioni Bowcher
1041Leja D FigeroaAustralia2024-05-18Chanay, Jeffrey A Esq QUALIFIED57Bernardo Dominic
1042Kaitlin E KuskoCanada2024-05-20Printing Dimensions QUALIFIED5Xuxue Feng
1043Murillo K GarufiBrazil2024-05-14Commercial Press UNQUALIFIED23Anna Fali
1044Murillo X KolmetzCanada2024-05-02Morlong Associates QUALIFIED36Bernardo Dominic
1045Clifford E CaldareraAustralia2024-05-15Chemel, James L Cpa NEW15Elwin Sharvill
1046Francesco C ButtArgentina2024-05-01Buckley Miller Wright RENEWAL87Elwin Sharvill
1047Maria U PerinBrazil2024-05-08Dorl, James J Esq NEW68Onyama Limba
1048Antonio U RimSpain2024-05-04Truhlar And Truhlar Attys QUALIFIED21Onyama Limba
1049Juan E PaprockiJapan2024-05-20Rangoni Of Florence QUALIFIED48Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leja Q DilliardGermanyAsiya Javayant NEW
Ashley S NestleFranceStephen Shaw QUALIFIED
Francesco U GauchoFranceBernardo Dominic UNQUALIFIED
Maisha S MaletJapanElwin Sharvill NEGOTIATION
Kadeem H MaletGermanyAnna Fali NEGOTIATION
Isabel X GlickCanadaBernardo Dominic UNQUALIFIED
Smith P FlosiArgentinaOnyama Limba PROPOSAL
Cody Z WhobreyUnited KingdomOnyama Limba RENEWAL
Aruna W RoysterIndiaAnna Fali QUALIFIED
Emily T FlosiItalyOnyama Limba RENEWAL
Emily C ChuiIndiaAsiya Javayant RENEWAL
Jennifer R NestleGermanyAmy Elsner PROPOSAL
Jefferson J TollnerFranceOnyama Limba QUALIFIED
Leja S DilliardAustraliaIoni Bowcher NEW
Chavez P NickaCanadaAmy Elsner UNQUALIFIED
Aika X GillianArgentinaIoni Bowcher NEW
Morrow T GlickArgentinaAnna Fali RENEWAL
Munro U RimBrazilAnna Fali NEGOTIATION
Nicolas W FlosiBrazilElwin Sharvill UNQUALIFIED
Francesco L StensethIndiaAnna Fali UNQUALIFIED
Silvio W RutaItalyIvan Magalhaes UNQUALIFIED
Silvio K StensethItalyBernardo Dominic NEW
Chavez W CampainSpainBernardo Dominic NEW
Salvatore D OldroydRussiaBernardo Dominic NEGOTIATION
Alejandro S MorascaGermanyAsiya Javayant NEW
Mayumi E MaletIndiaAmy Elsner NEGOTIATION
Salvatore T DarakjySpainAmy Elsner QUALIFIED
Deepesh X MorascaJapanAnna Fali NEW
Greenwood K PaprockiArgentinaElwin Sharvill UNQUALIFIED
David T DarakjyCanadaOnyama Limba QUALIFIED
Kaitlin O MarrierJapanAmy Elsner QUALIFIED
Murillo N FlosiSpainXuxue Feng RENEWAL
Johnson P CaldareraArgentinaAmy Elsner PROPOSAL
Jeanfrancois I AlbaresGermanyBernardo Dominic NEW
Ashley D OstroskyFranceOnyama Limba UNQUALIFIED
Leja G AmigonBrazilAmy Elsner UNQUALIFIED
Antonio L SlusarskiArgentinaAnna Fali QUALIFIED
Faith S DarakjyRussiaXuxue Feng UNQUALIFIED
Ashley A PoquetteItalyXuxue Feng RENEWAL
Aruna G CaudyItalyOnyama Limba NEGOTIATION
Adams J PaprockiSpainElwin Sharvill NEW
Leon A CampainBrazilBernardo Dominic RENEWAL
Costa V ButtItalyIoni Bowcher PROPOSAL
Sinclair B GillianCanadaIoni Bowcher RENEWAL
Mujtaba U PoquetteCanadaAmy Elsner UNQUALIFIED
Tony V GlickRussiaIoni Bowcher RENEWAL
Emily Q RimCanadaStephen Shaw RENEWAL
Cody J DarakjyArgentinaAnna Fali RENEWAL
Smith L CaudyIndiaAsiya Javayant NEW
Sinclair H RulapaughSpainElwin Sharvill NEW
Frozen Columns
Name
Jefferson V Sergi
Cody H Amigon
Nicolas C Albares
Misaki X Saylors
David X Campain
Cody Q Malet
Jennifer Z Garufi
Smith B Marrier
Isabel V Sergi
Darci H Venere
Aditya P Rim
Francesco H Ferencz
Tony M Ostrosky
Maria P Morasca
Mujtaba T Marrier
Clifford W Briddick
Antonio A Ruta
Ashley G Ostrosky
Jefferson Y Marrier
Aika K Foller
Sinclair P Schemmer
Morrow N Rim
Octavia S Rulapaugh
Tony O Tollner
Izzy Q Poquette
Julie U Wieser
Costa M Ostrosky
Johnson M Royster
Munro M Marrier
Costa Y Kolmetz
Johnson W Slusarski
Clifford Q Stockham
Nicolas T Wieser
Stacey Q Kolmetz
James Q Poquette
Ivar J Morasca
Misaki E Dilliard
Isabel B Stockham
Wickens P Flosi
Rodrigues M Darakjy
Francesco T Stockham
Chavez O Inouye
Mujtaba Y Gaucho
Jones B Waycott
Silvio F Rulapaugh
Julie H Nestle
Misaki B Campain
Murillo I Caldarera
Smith J Albares
Johnson J Tollner
IdCountryDate
1000Spain2024-05-13
1001Canada2024-05-04
1002Germany2024-05-22
1003Germany2024-05-11
1004Russia2024-05-05
1005Italy2024-05-08
1006France2024-05-10
1007United Kingdom2024-05-03
1008France2024-05-08
1009Germany2024-05-25
1010Italy2024-05-24
1011Italy2024-05-27
1012Japan2024-05-22
1013Spain2024-05-10
1014Spain2024-04-30
1015Spain2024-05-14
1016United Kingdom2024-05-21
1017Italy2024-05-17
1018Italy2024-05-13
1019Italy2024-05-12
1020Russia2024-05-20
1021India2024-05-13
1022Brazil2024-05-02
1023Germany2024-05-23
1024France2024-05-22
1025France2024-05-01
1026France2024-05-24
1027Italy2024-05-19
1028United Kingdom2024-04-29
1029Russia2024-05-27
1030Germany2024-05-04
1031Japan2024-05-01
1032Italy2024-05-10
1033France2024-05-12
1034India2024-05-09
1035Russia2024-05-06
1036Japan2024-05-12
1037Canada2024-04-30
1038Argentina2024-05-17
1039Australia2024-05-08
1040Spain2024-05-12
1041Australia2024-05-21
1042Argentina2024-05-23
1043Germany2024-05-22
1044Italy2024-05-09
1045Argentina2024-04-30
1046Russia2024-05-16
1047Brazil2024-05-22
1048Italy2024-05-22
1049India2024-05-16

On-Demand Data

NameIdCountryDate
Izzy U Royster1000Russia2024-05-03
Mujtaba K Figeroa1001Canada2024-05-18
Octavia L Rulapaugh1002India2024-04-29
Murillo H Nestle1003India2024-05-20
Munro H Slusarski1004United Kingdom2024-05-02
Faith P Venere1005Brazil2024-05-09
Antonio K Schemmer1006Australia2024-05-05
Darci F Morasca1007France2024-05-23
Salvatore E Schemmer1008United Kingdom2024-05-22
Morrow M Gillian1009Argentina2024-05-09
Chavez S Dilliard1010Australia2024-05-25
Deepesh L Iturbide1011Russia2024-05-24
Octavia K Flosi1012Germany2024-05-26
Misaki D Malet1013Australia2024-05-13
Misaki J Garufi1014France2024-05-09
Tony A Malet1015India2024-05-05
Claire S Kusko1016United Kingdom2024-05-10
Isabel Z Ferencz1017Spain2024-05-26
Cody Y Wieser1018Spain2024-05-04
Izzy V Saylors1019France2024-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues F KolmetzItalyAmy Elsner QUALIFIED
Isabel X RutaUnited KingdomAsiya Javayant PROPOSAL
Jefferson T StensethJapanIoni Bowcher QUALIFIED
Francesco G MarrierSpainIvan Magalhaes PROPOSAL
Izzy O DilliardItalyAnna Fali NEGOTIATION
Octavia P InouyeSpainXuxue Feng RENEWAL
Smith B WieserCanadaAmy Elsner UNQUALIFIED
Emily B SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Darci X FlosiFranceStephen Shaw QUALIFIED
Sinclair Q DilliardAustraliaOnyama Limba PROPOSAL
Maria K OstroskyJapanOnyama Limba RENEWAL
Jeanfrancois N IturbideItalyIoni Bowcher NEGOTIATION
Adams Q PoquetteAustraliaStephen Shaw NEW
Darci M ButtFranceAsiya Javayant NEW
Mujtaba Z MarrierAustraliaStephen Shaw RENEWAL
Aruna W KuskoUnited KingdomStephen Shaw NEGOTIATION
Aruna B MacleadArgentinaAnna Fali NEW
Juan J RoysterJapanAnna Fali NEGOTIATION
Cody V TollnerFranceIvan Magalhaes PROPOSAL
Leja B PoquetteIndiaStephen Shaw QUALIFIED
Aditya B WhobreySpainOnyama Limba RENEWAL
Kadeem Y NickaSpainStephen Shaw RENEWAL
Isabel C RutaSpainAnna Fali RENEWAL
Isabel Z InouyeIndiaBernardo Dominic NEW
Johnson E RutaIndiaOnyama Limba PROPOSAL
Mujtaba P BowleyIndiaAmy Elsner NEGOTIATION
Misaki O StensethRussiaAmy Elsner NEGOTIATION
Mayumi M BriddickBrazilAnna Fali NEGOTIATION
Darci J BriddickIndiaAmy Elsner NEW
Octavia F CampainJapanIvan Magalhaes RENEWAL
Isabel E NestleItalyAsiya Javayant UNQUALIFIED
Mujtaba E StensethBrazilStephen Shaw QUALIFIED
Mujtaba B MarrierIndiaIvan Magalhaes UNQUALIFIED
Ricardo C FerenczCanadaOnyama Limba PROPOSAL
Sinclair B BowleyGermanyBernardo Dominic NEW
Murillo A WieserCanadaElwin Sharvill NEGOTIATION
Jefferson C BologniaAustraliaStephen Shaw UNQUALIFIED
Izzy G SchemmerItalyAmy Elsner UNQUALIFIED
Salvatore F StockhamIndiaIvan Magalhaes NEGOTIATION
Wickens S WhobreyGermanyXuxue 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>