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
Rodrigues X CaldareraJapanIvan Magalhaes PROPOSAL
David F KolmetzFranceIvan Magalhaes PROPOSAL
Mujtaba W GlickCanadaIoni Bowcher RENEWAL
Jennifer N FlosiFranceAnna Fali NEW
Ricardo N DarakjyIndiaAmy Elsner QUALIFIED
Claire L ChuiRussiaIvan Magalhaes RENEWAL
Leon D IturbideGermanyStephen Shaw NEW
Julie O MorascaItalyOnyama Limba NEW
Darci S FlosiFranceIoni Bowcher NEW
Emily Y SaylorsRussiaXuxue Feng NEGOTIATION
Maisha C VocelkaItalyStephen Shaw QUALIFIED
Claire U PoquetteArgentinaAmy Elsner RENEWAL
Johnson N KuskoGermanyOnyama Limba NEW
Jennifer G BowleyGermanyAnna Fali RENEWAL
Leon P KuskoBrazilAmy Elsner PROPOSAL
Francesco T RutaArgentinaStephen Shaw PROPOSAL
Johnson U KolmetzItalyBernardo Dominic PROPOSAL
Maria I BowleyFranceIoni Bowcher NEGOTIATION
Misaki Y RulapaughItalyStephen Shaw PROPOSAL
Aditya A SlusarskiBrazilAsiya Javayant UNQUALIFIED
Juan O KuskoSpainIvan Magalhaes RENEWAL
Arvin B RoysterUnited KingdomXuxue Feng PROPOSAL
Ashley G FigeroaGermanyIvan Magalhaes UNQUALIFIED
Jefferson S MaletArgentinaIvan Magalhaes NEGOTIATION
Julie R AmigonRussiaElwin Sharvill NEGOTIATION
Mayumi G MacleadCanadaXuxue Feng NEGOTIATION
Deepesh D ShinkoIndiaOnyama Limba NEGOTIATION
Alejandro X MaletItalyIoni Bowcher PROPOSAL
Leon B SaylorsBrazilIoni Bowcher RENEWAL
Costa T SaylorsJapanIvan Magalhaes UNQUALIFIED
David T RoysterSpainElwin Sharvill UNQUALIFIED
Jennifer K SaylorsFranceAmy Elsner PROPOSAL
Jeanfrancois Z RoysterCanadaIvan Magalhaes RENEWAL
James U RimRussiaElwin Sharvill QUALIFIED
Aditya N NestleGermanyIoni Bowcher PROPOSAL
David S KuskoSpainXuxue Feng PROPOSAL
Alejandro A RulapaughFranceAnna Fali UNQUALIFIED
Octavia L FigeroaItalyAsiya Javayant RENEWAL
Ashley U AlbaresBrazilBernardo Dominic UNQUALIFIED
Greenwood M OldroydAustraliaAsiya Javayant UNQUALIFIED
Chavez L KolmetzAustraliaAmy Elsner QUALIFIED
Isabel N PoquetteUnited KingdomBernardo Dominic PROPOSAL
Wickens B KuskoAustraliaAmy Elsner RENEWAL
Darci R ButtAustraliaAmy Elsner PROPOSAL
Izzy Y CampainRussiaElwin Sharvill NEGOTIATION
Nicolas B OldroydAustraliaIvan Magalhaes NEW
Mayumi U CampainCanadaAsiya Javayant PROPOSAL
Adams O DilliardIndiaIvan Magalhaes QUALIFIED
Emily W OstroskyAustraliaOnyama Limba NEGOTIATION
Faith E AlbaresSpainAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois E PaprockiJapanAsiya Javayant RENEWAL
Aika W MaletUnited KingdomAnna Fali NEGOTIATION
Ashley G KolmetzItalyBernardo Dominic NEGOTIATION
Octavia W SaylorsAustraliaAnna Fali NEW
Nicolas U ButtItalyXuxue Feng PROPOSAL
Juan T ButtRussiaIvan Magalhaes UNQUALIFIED
Octavia P VenereSpainStephen Shaw NEGOTIATION
Maria H MarrierIndiaElwin Sharvill UNQUALIFIED
Greenwood Q SaylorsUnited KingdomAmy Elsner QUALIFIED
Antonio O VenereJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel H DoeAustralia2025-04-24Morlong Associates QUALIFIED74Stephen Shaw
1001Mujtaba B WhobreyFrance2025-04-21Benton, John B Jr RENEWAL41Amy Elsner
1002Arvin D VenereIndia2025-04-06Chemel, James L Cpa QUALIFIED18Asiya Javayant
1003Izzy D AlbaresAustralia2025-04-20Chanay, Jeffrey A Esq RENEWAL2Asiya Javayant
1004Misaki J KuskoRussia2025-04-23Chanay, Jeffrey A Esq UNQUALIFIED23Ivan Magalhaes
1005Aika Q BowleyFrance2025-04-11Benton, John B Jr NEGOTIATION89Ioni Bowcher
1006Francesco V BologniaGermany2025-04-05Rousseaux, Michael Esq PROPOSAL39Onyama Limba
1007Maria A MorascaAustralia2025-04-23Feltz Printing Service UNQUALIFIED70Asiya Javayant
1008Ashley G TollnerSpain2025-04-25Rangoni Of Florence UNQUALIFIED17Bernardo Dominic
1009Silvio T OstroskyBrazil2025-04-04King, Christopher A Esq RENEWAL83Amy Elsner
1010Misaki S ButtArgentina2025-04-10Rangoni Of Florence PROPOSAL76Ioni Bowcher
1011Leon B IturbideArgentina2025-04-16Truhlar And Truhlar Attys RENEWAL43Anna Fali
1012Mujtaba E VenereArgentina2025-03-31Commercial Press QUALIFIED76Amy Elsner
1013Julie N RutaArgentina2025-04-25Commercial Press PROPOSAL34Anna Fali
1014Maisha W MarrierIndia2025-04-28Dorl, James J Esq RENEWAL78Anna Fali
1015Jefferson U CaudyGermany2025-04-10Buckley Miller Wright UNQUALIFIED62Ivan Magalhaes
1016Arvin T RulapaughUnited Kingdom2025-04-06Printing Dimensions UNQUALIFIED24Asiya Javayant
1017Jeanfrancois C SaylorsCanada2025-04-27Benton, John B Jr PROPOSAL38Ivan Magalhaes
1018Wickens J VocelkaGermany2025-04-19Feltz Printing Service RENEWAL35Amy Elsner
1019Johnson S MaletCanada2025-04-21Chemel, James L Cpa NEGOTIATION15Amy Elsner
1020Aika H SaylorsGermany2025-04-25Feltz Printing Service RENEWAL65Elwin Sharvill
1021Silvio E MarrierCanada2025-04-04Truhlar And Truhlar Attys NEW94Bernardo Dominic
1022Salvatore O AmigonFrance2025-04-10Chanay, Jeffrey A Esq NEW21Ioni Bowcher
1023Misaki R StensethUnited Kingdom2025-04-15Chanay, Jeffrey A Esq NEGOTIATION52Anna Fali
1024Isabel S ButtUnited Kingdom2025-04-24Commercial Press NEGOTIATION11Amy Elsner
1025Chavez Z GillianFrance2025-04-24Morlong Associates NEGOTIATION81Elwin Sharvill
1026Cody E GauchoRussia2025-04-18Printing Dimensions NEGOTIATION93Anna Fali
1027Emily V RulapaughBrazil2025-04-02Commercial Press UNQUALIFIED0Amy Elsner
1028Ricardo Y MaletAustralia2025-04-09Feltz Printing Service NEGOTIATION29Xuxue Feng
1029Misaki A StensethUnited Kingdom2025-04-07Feiner Bros NEW54Anna Fali
1030Claire I GillianAustralia2025-04-17Chapman, Ross E Esq NEW81Asiya Javayant
1031Mujtaba E CaudyFrance2025-04-28Printing Dimensions UNQUALIFIED94Ivan Magalhaes
1032Jones Q AmigonArgentina2025-04-01Feiner Bros PROPOSAL92Ivan Magalhaes
1033Juan H DoeIndia2025-04-27Dorl, James J Esq UNQUALIFIED83Elwin Sharvill
1034Ashley P SergiArgentina2025-04-14Buckley Miller Wright NEW17Elwin Sharvill
1035Aditya X SaylorsAustralia2025-03-31Benton, John B Jr NEW5Asiya Javayant
1036Stacey O FollerArgentina2025-04-05Chemel, James L Cpa PROPOSAL92Anna Fali
1037Smith Q SlusarskiIndia2025-04-15Dorl, James J Esq UNQUALIFIED68Elwin Sharvill
1038Jefferson Y NickaIndia2025-04-04Chapman, Ross E Esq UNQUALIFIED86Ivan Magalhaes
1039Kaitlin D MaletJapan2025-04-12Benton, John B Jr NEW65Stephen Shaw
1040Antonio L MaletUnited Kingdom2025-04-19Chanay, Jeffrey A Esq PROPOSAL77Elwin Sharvill
1041Jefferson B WhobreyItaly2025-04-01Dorl, James J Esq UNQUALIFIED92Ivan Magalhaes
1042Stacey F FollerBrazil2025-04-03Benton, John B Jr NEGOTIATION94Xuxue Feng
1043Jennifer T WaycottSpain2025-04-26Chanay, Jeffrey A Esq QUALIFIED97Ioni Bowcher
1044Mujtaba R GauchoCanada2025-04-11Chapman, Ross E Esq PROPOSAL30Amy Elsner
1045Kadeem Y RimGermany2025-04-26Benton, John B Jr PROPOSAL7Ioni Bowcher
1046Smith H BriddickSpain2025-04-27King, Christopher A Esq UNQUALIFIED17Stephen Shaw
1047Greenwood Y SaylorsIndia2025-04-14Chanay, Jeffrey A Esq QUALIFIED37Elwin Sharvill
1048Aruna R RulapaughCanada2025-04-07Feiner Bros PROPOSAL79Onyama Limba
1049Smith R DilliardCanada2025-03-31Feltz Printing Service NEW39Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Octavia C MorascaCanadaAmy Elsner RENEWAL
Ivar V DilliardRussiaElwin Sharvill UNQUALIFIED
Kadeem Y NickaGermanyAmy Elsner NEGOTIATION
Juan U TollnerBrazilIoni Bowcher QUALIFIED
James M CampainGermanyStephen Shaw RENEWAL
Maisha Q RulapaughFranceIvan Magalhaes NEGOTIATION
Jennifer M VocelkaFranceStephen Shaw PROPOSAL
Julie Q AlbaresArgentinaXuxue Feng UNQUALIFIED
Sinclair W AlbaresCanadaOnyama Limba NEGOTIATION
Jones Z RutaGermanyAmy Elsner UNQUALIFIED
Misaki F RoysterFranceElwin Sharvill RENEWAL
Antonio I SlusarskiSpainAsiya Javayant QUALIFIED
Salvatore P ChuiFranceBernardo Dominic UNQUALIFIED
Maisha U PerinIndiaStephen Shaw RENEWAL
Jeanfrancois K PoquetteItalyIvan Magalhaes NEW
Murillo W RimArgentinaAmy Elsner RENEWAL
Emily U RoysterAustraliaElwin Sharvill PROPOSAL
Isabel U MorascaCanadaBernardo Dominic QUALIFIED
Antonio W WieserJapanAmy Elsner PROPOSAL
Rodrigues S WieserCanadaOnyama Limba PROPOSAL
Chavez I SchemmerRussiaXuxue Feng QUALIFIED
Leon R RulapaughAustraliaIoni Bowcher RENEWAL
Smith T PerinArgentinaAsiya Javayant RENEWAL
Emily R SchemmerIndiaAmy Elsner NEGOTIATION
Ivar Y TollnerGermanyAmy Elsner UNQUALIFIED
Ivar B AlbaresJapanBernardo Dominic NEW
Leon Z FlosiIndiaElwin Sharvill PROPOSAL
Mujtaba N CaudyJapanAnna Fali NEW
Cody H DilliardCanadaAsiya Javayant PROPOSAL
Francesco P MacleadArgentinaXuxue Feng RENEWAL
Deepesh M VenereAustraliaBernardo Dominic QUALIFIED
Mayumi I SaylorsSpainAsiya Javayant QUALIFIED
Leon P AlbaresGermanyIvan Magalhaes NEGOTIATION
Mayumi T TollnerSpainIvan Magalhaes RENEWAL
Julie X IturbideAustraliaAsiya Javayant UNQUALIFIED
Francesco C CampainJapanOnyama Limba UNQUALIFIED
Clifford C MarrierGermanyBernardo Dominic QUALIFIED
Francesco Y SchemmerArgentinaAnna Fali QUALIFIED
Kadeem A CaudyAustraliaAmy Elsner RENEWAL
Aika Q IturbideFranceElwin Sharvill NEW
Cody O GillianAustraliaElwin Sharvill QUALIFIED
Deepesh P TollnerCanadaIoni Bowcher PROPOSAL
Octavia X NickaSpainAmy Elsner NEW
Claire S BologniaIndiaOnyama Limba RENEWAL
Octavia I PerinIndiaIvan Magalhaes NEGOTIATION
Juan Z WhobreyIndiaBernardo Dominic PROPOSAL
Arvin X PaprockiUnited KingdomElwin Sharvill QUALIFIED
Julie N RulapaughIndiaIoni Bowcher QUALIFIED
Ricardo X VocelkaArgentinaStephen Shaw RENEWAL
Johnson O AlbaresUnited KingdomAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Sinclair U Sergi
Chavez H Whobrey
David R Caudy
Jeanfrancois I Butt
Greenwood O Foller
Aditya E Chui
Adams F Foller
Maisha G Caudy
Alejandro Q Nestle
Faith X Garufi
Johnson P Venere
Sinclair Q Bowley
Tony O Perin
Juan D Gaucho
Salvatore V Gaucho
Jones C Nicka
Octavia S Ostrosky
Stacey V Sergi
Nicolas O Tollner
Ricardo S Butt
Leja I Morasca
Greenwood E Briddick
Mujtaba E Rulapaugh
Silvio S Oldroyd
Costa H Butt
Leja N Saylors
Kadeem J Briddick
Jeanfrancois W Stenseth
Arvin T Flosi
Adams K Bolognia
Mayumi S Paprocki
Adams Z Saylors
Tony M Marrier
Costa G Iturbide
Adams N Waycott
Morrow O Ostrosky
Mujtaba O Rulapaugh
Ivar S Venere
Aditya T Ferencz
Maisha J Venere
Juan R Kusko
Nicolas A Nicka
Maisha D Gillian
Adams C Nestle
Darci B Waycott
Mujtaba V Nicka
Wickens D Venere
Francesco Q Oldroyd
Sinclair N Amigon
Arvin C Campain
IdCountryDate
1000Australia2025-04-01
1001Canada2025-04-24
1002Argentina2025-04-14
1003France2025-04-27
1004Spain2025-04-03
1005Brazil2025-04-06
1006Italy2025-04-14
1007Germany2025-04-04
1008United Kingdom2025-04-13
1009India2025-04-01
1010Brazil2025-04-23
1011Argentina2025-04-12
1012Germany2025-04-13
1013Argentina2025-04-22
1014Italy2025-04-26
1015India2025-04-22
1016United Kingdom2025-04-15
1017India2025-04-10
1018Japan2025-04-21
1019United Kingdom2025-04-24
1020Argentina2025-04-29
1021Italy2025-03-31
1022Japan2025-04-11
1023Germany2025-04-07
1024Germany2025-04-21
1025France2025-04-21
1026Japan2025-04-25
1027Russia2025-04-24
1028United Kingdom2025-04-17
1029France2025-04-24
1030Germany2025-04-20
1031Spain2025-04-13
1032Japan2025-04-28
1033Russia2025-04-02
1034France2025-04-04
1035Italy2025-04-17
1036Spain2025-04-10
1037Brazil2025-04-20
1038France2025-04-27
1039Russia2025-04-13
1040Germany2025-04-06
1041Brazil2025-04-14
1042Japan2025-04-28
1043Brazil2025-04-22
1044Spain2025-04-01
1045United Kingdom2025-04-09
1046France2025-04-29
1047Canada2025-04-12
1048Italy2025-04-25
1049France2025-04-01

On-Demand Data

NameIdCountryDate
Jones D Royster1000Australia2025-04-07
Murillo N Maclead1001Canada2025-04-07
Jones J Venere1002Japan2025-04-29
David I Ruta1003Italy2025-04-25
Emily Y Slusarski1004Germany2025-04-10
Maria T Stockham1005Japan2025-04-14
Adams J Maclead1006Canada2025-04-29
Mujtaba J Dilliard1007Brazil2025-04-23
Jennifer L Schemmer1008Spain2025-04-07
Claire Z Malet1009Canada2025-04-15
Emily I Ferencz1010Italy2025-04-09
Leon A Poquette1011United Kingdom2025-04-10
Octavia E Doe1012Germany2025-04-26
Maisha B Oldroyd1013Italy2025-04-02
Darci L Chui1014Argentina2025-04-14
Claire Q Tollner1015Argentina2025-04-08
Sinclair Q Malet1016Germany2025-04-08
Wickens J Butt1017Canada2025-04-26
Stacey D Darakjy1018United Kingdom2025-03-31
Maisha K Glick1019Germany2025-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie R PaprockiRussiaAnna Fali PROPOSAL
Rodrigues E ShinkoUnited KingdomBernardo Dominic NEW
Leon P OstroskyRussiaAmy Elsner NEW
Leon Q SlusarskiSpainBernardo Dominic NEGOTIATION
Leon K DoeJapanIoni Bowcher UNQUALIFIED
Francesco O DarakjyUnited KingdomIoni Bowcher PROPOSAL
Aruna J OstroskyGermanyIvan Magalhaes PROPOSAL
Jefferson I GillianUnited KingdomElwin Sharvill NEW
Stacey E KolmetzRussiaAsiya Javayant QUALIFIED
Wickens J InouyeRussiaBernardo Dominic UNQUALIFIED
Murillo E BowleyFranceIoni Bowcher RENEWAL
Murillo S OstroskyIndiaIoni Bowcher NEGOTIATION
Wickens F SlusarskiArgentinaAsiya Javayant NEW
Smith Q MaletIndiaElwin Sharvill QUALIFIED
Silvio D PerinRussiaAnna Fali NEW
Juan L ShinkoSpainOnyama Limba QUALIFIED
Darci Q GillianBrazilIoni Bowcher PROPOSAL
Izzy S MaletGermanyOnyama Limba UNQUALIFIED
Morrow T SlusarskiIndiaBernardo Dominic NEW
Kadeem V FigeroaGermanyAnna Fali UNQUALIFIED
Clifford O GillianAustraliaOnyama Limba NEW
Darci O CaldareraAustraliaXuxue Feng PROPOSAL
Emily D OldroydArgentinaIoni Bowcher RENEWAL
Francesco N WieserArgentinaBernardo Dominic QUALIFIED
Isabel N DoeRussiaStephen Shaw RENEWAL
Jennifer I GarufiArgentinaIoni Bowcher UNQUALIFIED
Johnson X NickaGermanyOnyama Limba PROPOSAL
Antonio H NestleSpainStephen Shaw NEW
Johnson K StockhamArgentinaStephen Shaw QUALIFIED
Kadeem B DoeGermanyAsiya Javayant UNQUALIFIED
Izzy Y StensethAustraliaAnna Fali NEW
Costa D RoysterArgentinaElwin Sharvill QUALIFIED
Leon G OstroskyItalyAnna Fali NEW
Wickens V AlbaresBrazilAmy Elsner PROPOSAL
Greenwood U SergiIndiaIoni Bowcher RENEWAL
Rodrigues U MaletBrazilStephen Shaw NEGOTIATION
Kaitlin G BriddickFranceXuxue Feng RENEWAL
Kadeem U SergiArgentinaElwin Sharvill NEGOTIATION
Mujtaba A RutaJapanAnna Fali NEGOTIATION
Ivar P IturbideSpainElwin Sharvill 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>