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
Morrow O InouyeFranceIoni Bowcher NEW
Cody H KolmetzRussiaOnyama Limba RENEWAL
Izzy O RimRussiaIvan Magalhaes UNQUALIFIED
Adams W RimCanadaAnna Fali UNQUALIFIED
Ricardo M VenereGermanyStephen Shaw UNQUALIFIED
Arvin J SergiIndiaStephen Shaw NEW
Ashley F PaprockiItalyStephen Shaw NEW
Stacey B CaudyBrazilAnna Fali PROPOSAL
Arvin Y CampainItalyAsiya Javayant RENEWAL
Ashley D RoysterFranceIvan Magalhaes PROPOSAL
Mayumi J OstroskyBrazilAsiya Javayant QUALIFIED
Francesco F GarufiAustraliaAnna Fali NEW
Salvatore K VenereBrazilBernardo Dominic PROPOSAL
Clifford D RutaRussiaElwin Sharvill PROPOSAL
Darci Z KolmetzSpainOnyama Limba NEGOTIATION
Smith O BologniaSpainBernardo Dominic RENEWAL
Morrow I NickaItalyIvan Magalhaes UNQUALIFIED
Maisha Q BowleyAustraliaAnna Fali RENEWAL
James Y RulapaughArgentinaIoni Bowcher PROPOSAL
Darci S BriddickRussiaOnyama Limba PROPOSAL
Julie J NestleBrazilAsiya Javayant NEGOTIATION
Jones A FlosiBrazilElwin Sharvill NEGOTIATION
Maria T CaldareraCanadaIoni Bowcher PROPOSAL
Silvio L IturbideAustraliaElwin Sharvill NEW
Francesco D MacleadCanadaElwin Sharvill PROPOSAL
Julie H NickaIndiaStephen Shaw PROPOSAL
Darci T BologniaItalyIvan Magalhaes QUALIFIED
Arvin S ChuiAustraliaElwin Sharvill QUALIFIED
Alejandro D NickaAustraliaIoni Bowcher RENEWAL
Izzy E GillianItalyElwin Sharvill QUALIFIED
Leon I StockhamItalyIvan Magalhaes PROPOSAL
Claire M TollnerSpainAmy Elsner NEGOTIATION
Izzy P GarufiIndiaIvan Magalhaes NEGOTIATION
Morrow W RutaCanadaIvan Magalhaes NEW
Morrow P RulapaughJapanElwin Sharvill QUALIFIED
Morrow L PaprockiFranceStephen Shaw NEGOTIATION
Johnson A WieserItalyOnyama Limba PROPOSAL
Jefferson V BriddickItalyAsiya Javayant UNQUALIFIED
Aika Y BriddickJapanAsiya Javayant NEW
Ivar B GarufiIndiaXuxue Feng PROPOSAL
Ashley U FerenczFranceAnna Fali RENEWAL
Kadeem O PerinSpainOnyama Limba NEW
Nicolas Z NickaJapanStephen Shaw QUALIFIED
Johnson Q MacleadGermanyAmy Elsner NEGOTIATION
Jefferson X CaudyFranceIoni Bowcher NEW
Murillo J OstroskyAustraliaAmy Elsner UNQUALIFIED
Antonio D OstroskyUnited KingdomAnna Fali RENEWAL
Deepesh M AlbaresAustraliaStephen Shaw RENEWAL
Juan B DilliardAustraliaStephen Shaw RENEWAL
Salvatore R BologniaCanadaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams Z MaletJapanOnyama Limba RENEWAL
Isabel K ChuiBrazilOnyama Limba QUALIFIED
Sinclair Q MorascaJapanAsiya Javayant UNQUALIFIED
Claire Y StockhamItalyOnyama Limba RENEWAL
Izzy C StockhamItalyOnyama Limba QUALIFIED
Johnson W FlosiItalyOnyama Limba RENEWAL
Chavez J SchemmerAustraliaAmy Elsner NEW
Rodrigues R TollnerGermanyBernardo Dominic UNQUALIFIED
Morrow G SlusarskiIndiaAsiya Javayant NEGOTIATION
Kadeem C OstroskyBrazilXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha X RulapaughSpain2024-05-16Commercial Press QUALIFIED32Amy Elsner
1001Morrow G NickaSpain2024-05-19Chanay, Jeffrey A Esq UNQUALIFIED17Xuxue Feng
1002Costa N StockhamGermany2024-05-22King, Christopher A Esq RENEWAL95Ioni Bowcher
1003Stacey J OstroskyIndia2024-05-03King, Christopher A Esq UNQUALIFIED23Asiya Javayant
1004Arvin Y GlickAustralia2024-05-06Morlong Associates RENEWAL62Xuxue Feng
1005Ivar R BologniaUnited Kingdom2024-05-26Commercial Press RENEWAL19Amy Elsner
1006Leja Y SlusarskiSpain2024-05-12Morlong Associates PROPOSAL94Amy Elsner
1007Mujtaba K IturbideIndia2024-05-22Commercial Press UNQUALIFIED92Elwin Sharvill
1008Leon A FlosiBrazil2024-04-28Commercial Press RENEWAL17Amy Elsner
1009Darci G MarrierRussia2024-04-28Chanay, Jeffrey A Esq RENEWAL29Elwin Sharvill
1010Francesco P GillianRussia2024-05-03Rangoni Of Florence NEGOTIATION98Asiya Javayant
1011Jefferson O FerenczSpain2024-05-23Chapman, Ross E Esq NEW92Anna Fali
1012Deepesh N FollerGermany2024-05-15Buckley Miller Wright QUALIFIED37Onyama Limba
1013Claire Z VocelkaRussia2024-05-22Rangoni Of Florence NEW5Onyama Limba
1014Johnson G VenereIndia2024-05-23Chapman, Ross E Esq UNQUALIFIED72Xuxue Feng
1015Darci Z FigeroaJapan2024-05-14King, Christopher A Esq QUALIFIED83Elwin Sharvill
1016Aruna H GauchoItaly2024-04-27Printing Dimensions RENEWAL79Ioni Bowcher
1017Jones L MaletSpain2024-05-26Feltz Printing Service PROPOSAL88Ioni Bowcher
1018Jennifer C BologniaUnited Kingdom2024-05-26Commercial Press NEGOTIATION16Ioni Bowcher
1019Jennifer W DoeJapan2024-05-09Chapman, Ross E Esq UNQUALIFIED20Ioni Bowcher
1020Antonio R NestleFrance2024-05-03Benton, John B Jr UNQUALIFIED47Onyama Limba
1021Chavez X FigeroaIndia2024-05-08Feltz Printing Service PROPOSAL21Onyama Limba
1022Faith O SlusarskiCanada2024-05-18Dorl, James J Esq UNQUALIFIED42Amy Elsner
1023Julie Q SergiSpain2024-05-17Feiner Bros QUALIFIED14Bernardo Dominic
1024Salvatore D MarrierSpain2024-05-22Morlong Associates NEGOTIATION55Ivan Magalhaes
1025Chavez V SlusarskiSpain2024-04-29Feiner Bros PROPOSAL36Asiya Javayant
1026Salvatore H MaletJapan2024-05-06Dorl, James J Esq NEW12Amy Elsner
1027Juan T DarakjyItaly2024-05-04King, Christopher A Esq RENEWAL0Elwin Sharvill
1028Ricardo J InouyeGermany2024-05-01Feltz Printing Service QUALIFIED64Ioni Bowcher
1029Aruna S PaprockiAustralia2024-05-15Chanay, Jeffrey A Esq RENEWAL26Onyama Limba
1030Ricardo T RimItaly2024-05-07King, Christopher A Esq PROPOSAL11Xuxue Feng
1031Ricardo S WhobreyJapan2024-05-13Commercial Press UNQUALIFIED32Elwin Sharvill
1032Francesco A MorascaUnited Kingdom2024-05-12Morlong Associates QUALIFIED40Ivan Magalhaes
1033David G RimItaly2024-05-21Truhlar And Truhlar Attys NEGOTIATION4Anna Fali
1034Aika N ShinkoUnited Kingdom2024-05-09Rousseaux, Michael Esq RENEWAL72Onyama Limba
1035Aika M DarakjyIndia2024-05-12Chemel, James L Cpa NEW79Bernardo Dominic
1036Munro Q NestleJapan2024-05-15Feltz Printing Service UNQUALIFIED82Asiya Javayant
1037Jeanfrancois V AmigonJapan2024-05-06King, Christopher A Esq UNQUALIFIED75Bernardo Dominic
1038Misaki U WhobreyAustralia2024-05-17Chanay, Jeffrey A Esq RENEWAL2Xuxue Feng
1039Silvio V MarrierFrance2024-04-27Chapman, Ross E Esq NEW0Xuxue Feng
1040Alejandro R MaletSpain2024-05-09Benton, John B Jr RENEWAL3Ioni Bowcher
1041Claire I RoysterBrazil2024-05-21Rousseaux, Michael Esq UNQUALIFIED38Bernardo Dominic
1042Isabel P GauchoCanada2024-05-12Rangoni Of Florence RENEWAL22Onyama Limba
1043Deepesh T PerinItaly2024-05-24King, Christopher A Esq PROPOSAL78Onyama Limba
1044Antonio O VocelkaRussia2024-05-06Dorl, James J Esq NEGOTIATION12Amy Elsner
1045Sinclair J WaycottItaly2024-04-29Rousseaux, Michael Esq PROPOSAL67Asiya Javayant
1046Maria O ButtRussia2024-05-03Rousseaux, Michael Esq UNQUALIFIED80Ioni Bowcher
1047Ricardo W FerenczJapan2024-05-14Commercial Press NEGOTIATION45Asiya Javayant
1048Tony R SergiItaly2024-05-24Rousseaux, Michael Esq RENEWAL94Ivan Magalhaes
1049James X BriddickIndia2024-05-23Feiner Bros QUALIFIED20Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Izzy S InouyeItalyElwin Sharvill NEW
Chavez Z ChuiFranceAnna Fali QUALIFIED
Chavez K BriddickArgentinaElwin Sharvill PROPOSAL
Greenwood J NickaGermanyXuxue Feng PROPOSAL
Adams C IturbideIndiaXuxue Feng PROPOSAL
Johnson L SlusarskiAustraliaStephen Shaw NEW
Izzy F PaprockiGermanyAnna Fali NEGOTIATION
Leja H GillianBrazilOnyama Limba QUALIFIED
Cody U RoysterGermanyOnyama Limba NEGOTIATION
Leja S MorascaFranceIvan Magalhaes PROPOSAL
Maisha G KuskoSpainIoni Bowcher NEGOTIATION
Misaki Q MaletFranceElwin Sharvill NEW
Aruna U SlusarskiGermanyStephen Shaw QUALIFIED
Faith D KuskoItalyIvan Magalhaes UNQUALIFIED
Munro N DarakjyRussiaBernardo Dominic UNQUALIFIED
Faith T IturbideSpainIvan Magalhaes UNQUALIFIED
Tony B BriddickAustraliaIoni Bowcher QUALIFIED
Aruna T AlbaresAustraliaStephen Shaw NEGOTIATION
Mujtaba A DoeFranceAsiya Javayant RENEWAL
Greenwood E PerinBrazilBernardo Dominic NEGOTIATION
Jones O CaudySpainElwin Sharvill RENEWAL
James S RimAustraliaIvan Magalhaes UNQUALIFIED
Kadeem Q DoeItalyIvan Magalhaes NEW
Arvin I RoysterCanadaAmy Elsner UNQUALIFIED
Morrow V NestleRussiaIoni Bowcher NEGOTIATION
Isabel E DarakjyFranceAsiya Javayant UNQUALIFIED
Emily Z AmigonIndiaAsiya Javayant PROPOSAL
Izzy A FollerFranceBernardo Dominic PROPOSAL
Darci F PerinBrazilAmy Elsner RENEWAL
Julie U KuskoFranceXuxue Feng QUALIFIED
Rodrigues A VenereSpainBernardo Dominic PROPOSAL
Isabel K FlosiUnited KingdomAmy Elsner RENEWAL
Greenwood X FollerItalyAnna Fali UNQUALIFIED
Kaitlin E RimBrazilStephen Shaw RENEWAL
Jennifer X DarakjyFranceXuxue Feng NEW
Silvio X BriddickAustraliaBernardo Dominic NEW
Stacey B WhobreyRussiaBernardo Dominic RENEWAL
Aika W DoeArgentinaAnna Fali RENEWAL
Aruna I AlbaresBrazilAnna Fali RENEWAL
Ivar V PerinBrazilBernardo Dominic QUALIFIED
Jones O ShinkoArgentinaIoni Bowcher NEW
Jefferson J CaudyArgentinaXuxue Feng NEGOTIATION
Aika N ChuiAustraliaAmy Elsner RENEWAL
Claire Z PerinUnited KingdomIvan Magalhaes NEW
Mayumi M GauchoArgentinaIvan Magalhaes NEW
Ashley V MarrierJapanOnyama Limba NEW
Costa V OstroskySpainIoni Bowcher UNQUALIFIED
Deepesh Q IturbideGermanyStephen Shaw UNQUALIFIED
Aditya Z GillianSpainAnna Fali NEW
Costa T RutaItalyIvan Magalhaes NEW
Frozen Columns
Name
Chavez N Rim
Kadeem B Malet
Jones R Maclead
Isabel H Rulapaugh
Leja H Amigon
Munro I Malet
Leon M Iturbide
Kadeem D Royster
Costa Z Chui
Deepesh C Stenseth
Isabel X Ruta
Ricardo R Shinko
Francesco C Briddick
Mujtaba N Briddick
Adams G Doe
Clifford Y Figeroa
Stacey D Flosi
Mujtaba B Glick
Alejandro G Maclead
Aditya A Caldarera
Ivar E Flosi
David T Butt
Smith S Inouye
Chavez N Paprocki
Smith B Oldroyd
Adams R Ostrosky
Maria V Rim
Claire R Briddick
Leon N Perin
Antonio Z Maclead
James J Poquette
Sinclair N Saylors
Izzy I Stockham
Mayumi O Vocelka
Nicolas W Marrier
Isabel X Royster
Wickens A Kolmetz
Aika I Maclead
Munro U Sergi
Mujtaba R Albares
Faith R Figeroa
Deepesh Q Caudy
Misaki Y Kusko
Kaitlin T Oldroyd
Kadeem Q Malet
Mayumi S Tollner
Costa X Waycott
Wickens S Royster
Deepesh D Ferencz
Wickens H Malet
IdCountryDate
1000Spain2024-05-26
1001India2024-05-09
1002Brazil2024-05-02
1003United Kingdom2024-05-04
1004Australia2024-05-26
1005Brazil2024-05-12
1006India2024-05-04
1007India2024-04-27
1008India2024-04-29
1009Australia2024-05-14
1010Spain2024-05-20
1011Italy2024-05-03
1012Argentina2024-05-06
1013Australia2024-05-21
1014United Kingdom2024-05-02
1015Canada2024-05-15
1016Spain2024-05-05
1017Australia2024-05-24
1018Spain2024-05-14
1019Japan2024-05-13
1020Italy2024-05-21
1021France2024-05-23
1022India2024-05-10
1023Japan2024-05-07
1024Russia2024-04-30
1025United Kingdom2024-05-20
1026Russia2024-05-11
1027Germany2024-05-15
1028Japan2024-05-02
1029Italy2024-05-09
1030Australia2024-05-23
1031Italy2024-05-12
1032Italy2024-05-03
1033Australia2024-05-17
1034Australia2024-05-24
1035France2024-05-15
1036Brazil2024-05-13
1037Canada2024-05-16
1038Spain2024-05-26
1039United Kingdom2024-05-26
1040Spain2024-05-12
1041Argentina2024-05-04
1042Brazil2024-05-09
1043Germany2024-04-30
1044Germany2024-05-19
1045Spain2024-05-23
1046India2024-05-07
1047Japan2024-05-02
1048India2024-05-17
1049India2024-05-09

On-Demand Data

NameIdCountryDate
Jennifer P Figeroa1000Germany2024-05-24
Emily I Ostrosky1001United Kingdom2024-05-01
Stacey N Perin1002France2024-05-05
Costa V Saylors1003Russia2024-05-13
Costa L Briddick1004India2024-05-16
Arvin U Albares1005Canada2024-05-02
Mayumi Q Briddick1006Argentina2024-05-23
Claire P Perin1007Italy2024-05-23
Deepesh C Poquette1008Canada2024-04-30
Sinclair X Gillian1009Spain2024-05-25
Maria W Poquette1010Italy2024-05-01
Leja O Chui1011Japan2024-05-17
Murillo N Amigon1012Canada2024-05-09
Kadeem N Saylors1013Japan2024-05-22
Ricardo H Stenseth1014Germany2024-05-03
Adams E Campain1015Canada2024-05-19
Aruna Q Sergi1016United Kingdom2024-05-15
Julie V Malet1017Germany2024-05-17
Adams Y Albares1018Germany2024-05-25
Maisha Z Campain1019Brazil2024-05-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez V VenereCanadaOnyama Limba NEW
Aruna S GlickBrazilIoni Bowcher PROPOSAL
Smith W CampainJapanIoni Bowcher RENEWAL
Leon L PaprockiUnited KingdomStephen Shaw NEW
Silvio I CaudyFranceOnyama Limba QUALIFIED
Misaki G SlusarskiCanadaAnna Fali UNQUALIFIED
Kadeem N MaletCanadaIvan Magalhaes RENEWAL
Maria N SlusarskiBrazilIvan Magalhaes PROPOSAL
Misaki D GauchoJapanXuxue Feng QUALIFIED
Jones P DarakjyAustraliaOnyama Limba QUALIFIED
Izzy A CaudyRussiaIoni Bowcher PROPOSAL
Munro U GillianArgentinaIoni Bowcher NEGOTIATION
Francesco H GlickItalyIoni Bowcher NEW
Jefferson Z SaylorsBrazilAnna Fali NEGOTIATION
Costa L VocelkaBrazilAmy Elsner RENEWAL
Tony O ShinkoSpainAmy Elsner NEW
Jones J TollnerJapanAsiya Javayant UNQUALIFIED
Antonio R MorascaItalyElwin Sharvill RENEWAL
Smith A RimFranceStephen Shaw UNQUALIFIED
Cody K SaylorsAustraliaIvan Magalhaes RENEWAL
Jennifer P MaletBrazilOnyama Limba RENEWAL
Emily C BologniaCanadaAmy Elsner UNQUALIFIED
Stacey V BriddickArgentinaIoni Bowcher NEGOTIATION
Maisha T AmigonGermanyAnna Fali QUALIFIED
Nicolas K SlusarskiJapanAmy Elsner PROPOSAL
Munro E MorascaItalyIoni Bowcher UNQUALIFIED
James K MacleadRussiaStephen Shaw UNQUALIFIED
Julie D PaprockiIndiaBernardo Dominic NEW
Aika R CaldareraFranceIvan Magalhaes RENEWAL
Emily B PaprockiArgentinaAmy Elsner UNQUALIFIED
Mujtaba C BologniaAustraliaAmy Elsner UNQUALIFIED
Clifford S RimFranceAsiya Javayant PROPOSAL
Maria S DarakjyArgentinaElwin Sharvill NEGOTIATION
Emily O ShinkoUnited KingdomElwin Sharvill NEW
Kaitlin U OldroydCanadaStephen Shaw RENEWAL
Julie J StensethFranceAsiya Javayant QUALIFIED
Julie A RutaSpainAsiya Javayant NEGOTIATION
James U IturbideGermanyIoni Bowcher QUALIFIED
Munro G FlosiSpainIvan Magalhaes NEGOTIATION
Salvatore F RulapaughArgentinaStephen Shaw NEGOTIATION

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