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
Tony X CaldareraBrazilXuxue Feng NEW
Tony U DoeFranceAmy Elsner NEGOTIATION
Julie G AmigonItalyAnna Fali NEW
Smith U SlusarskiRussiaIoni Bowcher QUALIFIED
Claire K OstroskyCanadaOnyama Limba RENEWAL
Francesco E FerenczArgentinaIoni Bowcher NEW
Misaki I SergiCanadaAmy Elsner PROPOSAL
Octavia I RutaBrazilBernardo Dominic QUALIFIED
Sinclair X FigeroaAustraliaBernardo Dominic QUALIFIED
Munro J GlickAustraliaBernardo Dominic PROPOSAL
Darci M RoysterIndiaOnyama Limba NEW
Leon M RutaUnited KingdomOnyama Limba NEGOTIATION
Mujtaba M BowleyFranceAmy Elsner RENEWAL
Jeanfrancois Z BowleyRussiaOnyama Limba NEGOTIATION
Jefferson J CaldareraItalyStephen Shaw UNQUALIFIED
Tony H WieserFranceStephen Shaw UNQUALIFIED
Aika O FigeroaUnited KingdomAsiya Javayant QUALIFIED
James N DarakjyArgentinaElwin Sharvill NEGOTIATION
Claire C InouyeFranceStephen Shaw NEW
Maisha J FollerAustraliaIvan Magalhaes RENEWAL
Julie Q MarrierCanadaAmy Elsner NEW
Alejandro P MarrierUnited KingdomXuxue Feng NEW
Silvio Y WhobreySpainIoni Bowcher RENEWAL
Stacey Z WieserBrazilBernardo Dominic NEW
Greenwood M RutaUnited KingdomIoni Bowcher NEW
Aruna L MarrierCanadaAsiya Javayant QUALIFIED
David K OldroydBrazilAsiya Javayant UNQUALIFIED
Claire J PerinArgentinaOnyama Limba PROPOSAL
Octavia W VenereUnited KingdomXuxue Feng UNQUALIFIED
Julie E GillianGermanyAnna Fali UNQUALIFIED
Ashley V FerenczUnited KingdomIvan Magalhaes QUALIFIED
David C FigeroaGermanyAsiya Javayant NEGOTIATION
Leon K RimAustraliaOnyama Limba NEW
Antonio D MaletJapanOnyama Limba UNQUALIFIED
Jones E FigeroaIndiaAsiya Javayant RENEWAL
Ricardo X NickaFranceBernardo Dominic RENEWAL
Cody Y IturbideFranceOnyama Limba QUALIFIED
Maisha A CaudyGermanyXuxue Feng RENEWAL
Nicolas G GarufiItalyAnna Fali QUALIFIED
Leja T SchemmerAustraliaElwin Sharvill NEW
Julie Y SaylorsItalyBernardo Dominic QUALIFIED
Sinclair T WaycottSpainOnyama Limba NEGOTIATION
Johnson M CampainAustraliaIoni Bowcher PROPOSAL
Chavez O VocelkaRussiaAmy Elsner NEGOTIATION
Ivar E MorascaUnited KingdomXuxue Feng UNQUALIFIED
Alejandro O SchemmerBrazilStephen Shaw PROPOSAL
Cody U WieserGermanyIvan Magalhaes QUALIFIED
Alejandro V FerenczUnited KingdomAmy Elsner UNQUALIFIED
Antonio Z RimIndiaIoni Bowcher QUALIFIED
David N FlosiSpainStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba S PerinUnited KingdomBernardo Dominic NEGOTIATION
Maisha Q RimRussiaIoni Bowcher QUALIFIED
Silvio R FlosiIndiaIoni Bowcher PROPOSAL
Arvin U OstroskyArgentinaAnna Fali UNQUALIFIED
James V BowleySpainAnna Fali QUALIFIED
Ivar P FollerArgentinaIoni Bowcher QUALIFIED
Ashley T FlosiBrazilBernardo Dominic PROPOSAL
Deepesh T MacleadIndiaAmy Elsner NEGOTIATION
Isabel B VocelkaCanadaElwin Sharvill NEW
Jeanfrancois C WaycottCanadaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson J SchemmerJapan2025-04-08Rousseaux, Michael Esq NEGOTIATION5Anna Fali
1001Greenwood R FerenczIndia2025-04-01Chemel, James L Cpa PROPOSAL19Asiya Javayant
1002Claire G WaycottFrance2025-04-16Morlong Associates PROPOSAL50Asiya Javayant
1003Aditya D WaycottGermany2025-04-03King, Christopher A Esq NEGOTIATION19Ioni Bowcher
1004Aruna L DarakjyCanada2025-04-23Truhlar And Truhlar Attys QUALIFIED46Asiya Javayant
1005Tony K InouyeBrazil2025-04-28Benton, John B Jr NEGOTIATION43Elwin Sharvill
1006Jones K PerinJapan2025-04-19Dorl, James J Esq QUALIFIED92Asiya Javayant
1007Ivar G DoeIndia2025-04-14Printing Dimensions PROPOSAL95Amy Elsner
1008Tony T BriddickUnited Kingdom2025-04-01Rousseaux, Michael Esq RENEWAL8Xuxue Feng
1009Stacey N CaudyFrance2025-04-20Rangoni Of Florence NEW16Bernardo Dominic
1010Costa H AlbaresIndia2025-03-31Morlong Associates NEW19Bernardo Dominic
1011Leja P FerenczItaly2025-04-01Buckley Miller Wright QUALIFIED69Xuxue Feng
1012Rodrigues L AmigonJapan2025-04-19Chemel, James L Cpa UNQUALIFIED53Amy Elsner
1013Leon N RulapaughAustralia2025-04-24King, Christopher A Esq NEW71Ioni Bowcher
1014Ivar S ShinkoAustralia2025-04-10Truhlar And Truhlar Attys PROPOSAL89Anna Fali
1015Faith W NickaAustralia2025-04-29Truhlar And Truhlar Attys NEW72Anna Fali
1016Leja E MaletGermany2025-04-08Benton, John B Jr QUALIFIED98Asiya Javayant
1017Francesco Y DarakjyFrance2025-04-26Morlong Associates NEGOTIATION95Ivan Magalhaes
1018Maria D ChuiAustralia2025-04-22Morlong Associates RENEWAL15Asiya Javayant
1019Clifford A FerenczBrazil2025-04-15King, Christopher A Esq NEW16Ioni Bowcher
1020Mayumi N SlusarskiRussia2025-04-22Dorl, James J Esq NEGOTIATION93Asiya Javayant
1021Chavez B SlusarskiJapan2025-04-13Printing Dimensions QUALIFIED35Bernardo Dominic
1022Faith Q GillianItaly2025-04-12Benton, John B Jr RENEWAL97Elwin Sharvill
1023Aditya E NickaItaly2025-04-14Chapman, Ross E Esq RENEWAL87Ivan Magalhaes
1024Munro Z SchemmerIndia2025-04-21Rangoni Of Florence NEW47Amy Elsner
1025Izzy M NickaItaly2025-04-17Dorl, James J Esq UNQUALIFIED4Stephen Shaw
1026James J VocelkaCanada2025-04-05Truhlar And Truhlar Attys PROPOSAL54Stephen Shaw
1027James J ShinkoItaly2025-04-01Benton, John B Jr UNQUALIFIED25Asiya Javayant
1028Cody L StensethSpain2025-04-26Commercial Press NEW73Bernardo Dominic
1029Maisha Z WieserIndia2025-04-13King, Christopher A Esq NEW24Onyama Limba
1030Izzy G AlbaresArgentina2025-04-29Morlong Associates NEGOTIATION57Bernardo Dominic
1031Misaki U StensethJapan2025-04-14Buckley Miller Wright UNQUALIFIED53Amy Elsner
1032Faith N PerinArgentina2025-04-23Chanay, Jeffrey A Esq UNQUALIFIED71Ioni Bowcher
1033Jeanfrancois R SergiArgentina2025-04-19Chemel, James L Cpa RENEWAL62Ioni Bowcher
1034Sinclair K RimGermany2025-03-31Printing Dimensions NEGOTIATION20Bernardo Dominic
1035Costa G RutaIndia2025-04-07Rangoni Of Florence QUALIFIED35Ivan Magalhaes
1036Cody N BriddickItaly2025-04-04Rangoni Of Florence PROPOSAL95Stephen Shaw
1037Aruna B AlbaresUnited Kingdom2025-04-25Truhlar And Truhlar Attys NEW89Asiya Javayant
1038Cody I ShinkoItaly2025-04-23Dorl, James J Esq QUALIFIED67Amy Elsner
1039Rodrigues V StensethIndia2025-04-25Benton, John B Jr RENEWAL21Stephen Shaw
1040Aditya T InouyeSpain2025-04-20Chemel, James L Cpa NEGOTIATION89Stephen Shaw
1041Darci E MarrierAustralia2025-04-08Rangoni Of Florence QUALIFIED3Asiya Javayant
1042Maria N SlusarskiUnited Kingdom2025-04-11Chapman, Ross E Esq UNQUALIFIED33Onyama Limba
1043Aditya H BowleyGermany2025-04-17Rangoni Of Florence QUALIFIED82Xuxue Feng
1044David H StockhamCanada2025-04-05Rousseaux, Michael Esq QUALIFIED24Bernardo Dominic
1045Leon F IturbideGermany2025-04-25Morlong Associates NEW66Elwin Sharvill
1046Ashley Q ButtIndia2025-04-29Truhlar And Truhlar Attys RENEWAL17Xuxue Feng
1047Silvio S FlosiIndia2025-04-27Commercial Press NEGOTIATION77Amy Elsner
1048Kaitlin M MacleadIndia2025-04-06Chemel, James L Cpa UNQUALIFIED43Onyama Limba
1049Juan F GauchoSpain2025-04-12Chanay, Jeffrey A Esq NEGOTIATION35Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Izzy Q DilliardJapanBernardo Dominic QUALIFIED
Kadeem H FlosiFranceOnyama Limba RENEWAL
Aruna P KolmetzRussiaAnna Fali RENEWAL
Sinclair J BriddickItalyBernardo Dominic UNQUALIFIED
Greenwood S FerenczRussiaBernardo Dominic NEGOTIATION
Silvio R PoquetteGermanyIoni Bowcher RENEWAL
Wickens H MorascaUnited KingdomAmy Elsner NEGOTIATION
Nicolas O DilliardJapanIvan Magalhaes NEW
Octavia U DilliardBrazilAsiya Javayant NEGOTIATION
Clifford Y ButtAustraliaAsiya Javayant NEGOTIATION
Adams S SchemmerBrazilAmy Elsner NEGOTIATION
Kaitlin I DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Salvatore F NestleBrazilAnna Fali NEW
Ivar M FlosiItalyAnna Fali UNQUALIFIED
Ricardo K InouyeRussiaStephen Shaw UNQUALIFIED
Antonio S RutaJapanIvan Magalhaes QUALIFIED
Adams X GauchoAustraliaStephen Shaw PROPOSAL
Misaki S MaletArgentinaElwin Sharvill UNQUALIFIED
Leja O BologniaAustraliaIvan Magalhaes QUALIFIED
Clifford B StensethGermanyAnna Fali NEGOTIATION
Maisha W RutaIndiaAsiya Javayant RENEWAL
Faith E DarakjyBrazilStephen Shaw NEW
Nicolas V GlickBrazilIoni Bowcher PROPOSAL
James X WhobreySpainElwin Sharvill RENEWAL
Kaitlin B RulapaughFranceIoni Bowcher UNQUALIFIED
Emily E GlickFranceIoni Bowcher NEGOTIATION
Octavia A SlusarskiIndiaAsiya Javayant PROPOSAL
Juan K MacleadSpainIvan Magalhaes UNQUALIFIED
Salvatore G OldroydJapanIvan Magalhaes NEW
Aditya E FollerBrazilIoni Bowcher NEW
Maria K FerenczArgentinaElwin Sharvill QUALIFIED
Jennifer C OstroskyBrazilIvan Magalhaes UNQUALIFIED
Antonio B MarrierAustraliaStephen Shaw UNQUALIFIED
Smith P DarakjyBrazilXuxue Feng NEGOTIATION
Emily L ChuiRussiaAsiya Javayant PROPOSAL
Aika M RulapaughAustraliaElwin Sharvill UNQUALIFIED
Salvatore Z BowleyGermanyIoni Bowcher QUALIFIED
Wickens H RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Smith J MaletGermanyOnyama Limba NEW
Murillo Q KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Emily N MorascaRussiaBernardo Dominic UNQUALIFIED
Aruna B SaylorsArgentinaIvan Magalhaes QUALIFIED
Alejandro B BriddickRussiaAnna Fali NEW
Clifford I AmigonRussiaIvan Magalhaes NEGOTIATION
Izzy J WieserCanadaAmy Elsner RENEWAL
James E BriddickCanadaIoni Bowcher UNQUALIFIED
Arvin M GillianItalyIoni Bowcher UNQUALIFIED
Stacey G BowleyGermanyOnyama Limba NEGOTIATION
Deepesh W RutaRussiaStephen Shaw PROPOSAL
Smith N FigeroaArgentinaAsiya Javayant NEW
Frozen Columns
Name
Morrow N Foller
Greenwood X Inouye
Rodrigues P Ruta
Smith U Albares
Alejandro M Saylors
Morrow R Stockham
Salvatore T Schemmer
Maria H Briddick
Arvin Q Foller
Alejandro R Inouye
Costa J Gillian
Murillo L Sergi
Chavez B Stenseth
Chavez M Rulapaugh
Octavia V Schemmer
Isabel V Whobrey
Emily V Caldarera
Clifford H Saylors
Aditya U Slusarski
Leja G Gillian
Francesco B Campain
Chavez S Slusarski
Alejandro M Vocelka
Darci W Oldroyd
Nicolas J Whobrey
Ricardo V Gaucho
Claire M Gaucho
Murillo B Garufi
Maria E Campain
Francesco X Bolognia
Kadeem C Dilliard
Johnson N Doe
Mayumi C Maclead
Adams Y Inouye
Octavia X Ferencz
Mujtaba Q Doe
Claire B Stockham
Aditya B Shinko
Tony W Iturbide
Ivar E Venere
Chavez L Morasca
Nicolas D Venere
Ricardo R Marrier
Johnson I Waycott
Morrow V Rim
Salvatore H Waycott
Adams M Rim
Ashley Y Kusko
Aditya S Stockham
Faith W Chui
IdCountryDate
1000Japan2025-04-03
1001Brazil2025-04-24
1002France2025-04-27
1003Spain2025-04-06
1004France2025-04-08
1005Spain2025-04-16
1006Germany2025-04-11
1007Australia2025-04-23
1008Argentina2025-04-21
1009Argentina2025-04-08
1010Germany2025-04-02
1011Canada2025-04-18
1012Brazil2025-04-14
1013Russia2025-04-19
1014Italy2025-04-24
1015Spain2025-04-03
1016France2025-04-04
1017Japan2025-04-02
1018Germany2025-04-18
1019Italy2025-04-15
1020Spain2025-04-02
1021Argentina2025-04-06
1022Germany2025-04-28
1023France2025-04-04
1024Spain2025-03-31
1025Spain2025-04-23
1026Italy2025-04-22
1027Australia2025-04-03
1028Japan2025-04-20
1029France2025-04-29
1030Brazil2025-03-31
1031Germany2025-04-05
1032Russia2025-04-04
1033India2025-04-02
1034Canada2025-04-22
1035Brazil2025-04-25
1036Spain2025-03-31
1037Argentina2025-04-14
1038United Kingdom2025-04-11
1039France2025-04-22
1040France2025-04-05
1041Brazil2025-04-27
1042Germany2025-04-21
1043India2025-04-26
1044Japan2025-03-31
1045Brazil2025-04-29
1046Argentina2025-04-13
1047Brazil2025-04-28
1048France2025-04-20
1049India2025-04-25

On-Demand Data

NameIdCountryDate
Wickens J Albares1000Russia2025-04-04
Faith Y Royster1001Argentina2025-04-11
Cody M Ferencz1002Brazil2025-04-24
Aika B Butt1003Argentina2025-04-12
David Z Foller1004United Kingdom2025-04-22
Clifford X Oldroyd1005Japan2025-04-18
Leja L Gillian1006Spain2025-04-11
Emily M Morasca1007Spain2025-04-27
Aruna K Morasca1008Russia2025-04-11
Juan X Inouye1009Italy2025-04-19
Leon S Nicka1010Spain2025-04-18
Johnson Y Darakjy1011Japan2025-04-17
Silvio Y Briddick1012Australia2025-04-21
Morrow K Morasca1013Russia2025-04-02
Misaki C Inouye1014France2025-04-04
Morrow G Glick1015United Kingdom2025-04-02
Francesco U Iturbide1016Spain2025-04-03
Silvio A Morasca1017Japan2025-04-09
Isabel Z Poquette1018Argentina2025-04-03
Jennifer F Briddick1019Japan2025-04-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro S OstroskySpainIvan Magalhaes RENEWAL
Juan K SergiSpainAmy Elsner NEGOTIATION
Kaitlin S GauchoBrazilAsiya Javayant NEW
Tony O AlbaresJapanAmy Elsner NEW
Deepesh O NickaCanadaAmy Elsner NEGOTIATION
Misaki O AmigonSpainAnna Fali NEW
Antonio L MaletGermanyStephen Shaw PROPOSAL
Kadeem R StockhamAustraliaStephen Shaw PROPOSAL
Ashley A SergiJapanAsiya Javayant RENEWAL
Adams V GauchoItalyOnyama Limba NEW
Salvatore I ShinkoSpainXuxue Feng NEW
Kaitlin K ShinkoBrazilAsiya Javayant UNQUALIFIED
Isabel L StensethBrazilOnyama Limba QUALIFIED
Munro D OldroydRussiaXuxue Feng PROPOSAL
Leon Z PerinUnited KingdomStephen Shaw NEW
Emily K SaylorsGermanyStephen Shaw QUALIFIED
Francesco I SlusarskiFranceAsiya Javayant QUALIFIED
Costa T MarrierItalyAsiya Javayant PROPOSAL
Jones E KolmetzIndiaElwin Sharvill NEW
Faith H VenereJapanElwin Sharvill QUALIFIED
Costa P RoysterArgentinaAsiya Javayant PROPOSAL
Silvio V CaldareraUnited KingdomOnyama Limba PROPOSAL
Mayumi T OldroydUnited KingdomAmy Elsner PROPOSAL
Ashley Z StensethGermanyElwin Sharvill QUALIFIED
Jones K StensethGermanyStephen Shaw NEW
Jennifer K FollerFranceStephen Shaw NEGOTIATION
Leja A KolmetzIndiaAmy Elsner NEW
Kadeem G FigeroaJapanAmy Elsner PROPOSAL
Alejandro Y AlbaresUnited KingdomAsiya Javayant QUALIFIED
Misaki J SergiRussiaIoni Bowcher NEW
Nicolas M WaycottArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois I MaletCanadaIvan Magalhaes PROPOSAL
Mayumi X TollnerArgentinaAsiya Javayant QUALIFIED
Aruna I BowleyRussiaElwin Sharvill UNQUALIFIED
Julie O MaletSpainXuxue Feng NEW
Mujtaba I SchemmerJapanStephen Shaw QUALIFIED
Rodrigues I SergiArgentinaElwin Sharvill RENEWAL
Morrow H DilliardJapanElwin Sharvill NEGOTIATION
Mayumi Z SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois Y BologniaAustraliaOnyama Limba RENEWAL

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