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 J StensethAustraliaIvan Magalhaes NEGOTIATION
Julie A IturbideSpainIvan Magalhaes NEW
Octavia T CaudyGermanyXuxue Feng QUALIFIED
Ashley C ChuiFranceAmy Elsner PROPOSAL
Kaitlin O WhobreyIndiaIoni Bowcher RENEWAL
Salvatore B RimBrazilAnna Fali NEGOTIATION
Adams W SergiJapanIoni Bowcher RENEWAL
Morrow Z SchemmerArgentinaIoni Bowcher NEW
Antonio E DarakjyFranceOnyama Limba PROPOSAL
Adams E InouyeAustraliaStephen Shaw RENEWAL
David A FigeroaRussiaAnna Fali PROPOSAL
Greenwood H ShinkoFranceElwin Sharvill QUALIFIED
Izzy C RutaUnited KingdomIoni Bowcher QUALIFIED
Jones Z PoquetteSpainOnyama Limba RENEWAL
Julie H DilliardSpainBernardo Dominic NEGOTIATION
Arvin J BologniaCanadaBernardo Dominic PROPOSAL
Greenwood A AmigonFranceAnna Fali PROPOSAL
Kaitlin G WieserIndiaXuxue Feng NEW
Kaitlin J CampainArgentinaOnyama Limba NEGOTIATION
Ashley Q OldroydCanadaBernardo Dominic NEW
Sinclair K ChuiRussiaStephen Shaw NEW
Costa D CaudyRussiaBernardo Dominic PROPOSAL
Alejandro Z InouyeGermanyAmy Elsner PROPOSAL
Leja F IturbideRussiaIvan Magalhaes RENEWAL
Jones X MaletSpainAsiya Javayant PROPOSAL
Jones B StensethItalyAnna Fali PROPOSAL
Greenwood T DilliardRussiaOnyama Limba NEGOTIATION
Tony S FlosiItalyElwin Sharvill NEGOTIATION
Maria G CaudyJapanAnna Fali RENEWAL
Antonio O AlbaresItalyStephen Shaw RENEWAL
Mayumi Y ButtRussiaXuxue Feng UNQUALIFIED
Leon V StockhamIndiaAmy Elsner UNQUALIFIED
Chavez C FollerItalyAsiya Javayant UNQUALIFIED
Maria B OstroskyJapanBernardo Dominic NEGOTIATION
Jennifer L PaprockiIndiaElwin Sharvill NEGOTIATION
Rodrigues B ButtSpainIvan Magalhaes RENEWAL
Faith T MaletAustraliaIoni Bowcher PROPOSAL
Costa Y NickaBrazilAnna Fali PROPOSAL
Ricardo N GarufiGermanyAsiya Javayant PROPOSAL
Adams R OldroydArgentinaAnna Fali NEW
Clifford F WieserFranceAnna Fali UNQUALIFIED
Ivar I BologniaFranceAsiya Javayant RENEWAL
Silvio X NestleSpainOnyama Limba UNQUALIFIED
Leja Q KuskoSpainAnna Fali PROPOSAL
Jeanfrancois T MaletJapanStephen Shaw UNQUALIFIED
Darci O VocelkaRussiaBernardo Dominic PROPOSAL
Mujtaba O RimRussiaOnyama Limba UNQUALIFIED
Costa D IturbideJapanOnyama Limba NEW
Jeanfrancois E CaldareraFranceAsiya Javayant RENEWAL
Nicolas V AlbaresGermanyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika L KuskoAustraliaXuxue Feng PROPOSAL
Isabel K MorascaIndiaOnyama Limba NEW
Greenwood H CaudyFranceXuxue Feng RENEWAL
Kadeem I ShinkoAustraliaXuxue Feng UNQUALIFIED
Wickens M SergiItalyIvan Magalhaes QUALIFIED
Francesco J FigeroaFranceOnyama Limba RENEWAL
Jones E MaletIndiaXuxue Feng UNQUALIFIED
Ricardo B GauchoGermanyStephen Shaw PROPOSAL
Juan U OldroydRussiaIoni Bowcher PROPOSAL
Leja R IturbideCanadaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith Z StensethItaly2025-05-30Feltz Printing Service RENEWAL20Xuxue Feng
1001Deepesh G RimRussia2025-05-31Chapman, Ross E Esq RENEWAL30Bernardo Dominic
1002Mujtaba K NickaAustralia2025-06-04Buckley Miller Wright NEGOTIATION62Xuxue Feng
1003Sinclair I SaylorsIndia2025-06-10Chemel, James L Cpa NEW78Amy Elsner
1004Faith A IturbideGermany2025-06-16Truhlar And Truhlar Attys PROPOSAL53Xuxue Feng
1005Jennifer M SchemmerArgentina2025-06-01Truhlar And Truhlar Attys UNQUALIFIED65Stephen Shaw
1006David L GauchoRussia2025-05-23Truhlar And Truhlar Attys QUALIFIED36Stephen Shaw
1007Mayumi R KuskoCanada2025-05-19Commercial Press NEGOTIATION98Anna Fali
1008Misaki L RimSpain2025-05-29Morlong Associates QUALIFIED67Asiya Javayant
1009Faith U BologniaCanada2025-05-21Rousseaux, Michael Esq QUALIFIED41Amy Elsner
1010Jennifer I WieserBrazil2025-05-25Truhlar And Truhlar Attys QUALIFIED35Anna Fali
1011Kadeem W DarakjyItaly2025-05-25Rousseaux, Michael Esq NEGOTIATION90Ioni Bowcher
1012Salvatore M SergiGermany2025-05-21Chanay, Jeffrey A Esq PROPOSAL23Bernardo Dominic
1013Ashley H FollerRussia2025-06-09Feltz Printing Service NEW59Amy Elsner
1014James Y MaletAustralia2025-05-30Chanay, Jeffrey A Esq NEW53Asiya Javayant
1015Adams M GarufiSpain2025-06-11Printing Dimensions UNQUALIFIED50Ioni Bowcher
1016Leon Y MaletArgentina2025-06-01Chanay, Jeffrey A Esq NEGOTIATION53Ivan Magalhaes
1017Tony V PerinArgentina2025-06-07Printing Dimensions UNQUALIFIED0Ivan Magalhaes
1018Octavia I SergiArgentina2025-05-19King, Christopher A Esq UNQUALIFIED95Stephen Shaw
1019Maisha L RimJapan2025-06-11Dorl, James J Esq UNQUALIFIED55Elwin Sharvill
1020Jefferson P FerenczJapan2025-06-07Buckley Miller Wright NEGOTIATION53Stephen Shaw
1021Kaitlin Z SergiUnited Kingdom2025-06-14Rangoni Of Florence NEGOTIATION75Anna Fali
1022Francesco R InouyeBrazil2025-05-20Commercial Press RENEWAL82Bernardo Dominic
1023Ivar Q SergiGermany2025-05-24Rousseaux, Michael Esq PROPOSAL65Stephen Shaw
1024Jeanfrancois S AlbaresRussia2025-05-28Chanay, Jeffrey A Esq QUALIFIED86Onyama Limba
1025Costa T CaudyArgentina2025-05-22Benton, John B Jr NEW90Stephen Shaw
1026Morrow C RimRussia2025-06-09Morlong Associates PROPOSAL7Anna Fali
1027Francesco M CampainSpain2025-06-04Printing Dimensions NEW16Xuxue Feng
1028Sinclair K SlusarskiSpain2025-06-08Feiner Bros RENEWAL22Ioni Bowcher
1029Mujtaba X WieserAustralia2025-06-10Morlong Associates PROPOSAL52Asiya Javayant
1030James M BowleyItaly2025-05-23Morlong Associates RENEWAL47Ivan Magalhaes
1031David P DoeSpain2025-05-31Chanay, Jeffrey A Esq UNQUALIFIED50Amy Elsner
1032Emily E IturbideBrazil2025-06-10Chemel, James L Cpa NEW40Asiya Javayant
1033Ashley L MaletAustralia2025-06-08Benton, John B Jr NEW36Anna Fali
1034Mayumi H BologniaGermany2025-06-07Feiner Bros PROPOSAL23Xuxue Feng
1035Leja A MacleadIndia2025-06-09Morlong Associates NEGOTIATION83Ioni Bowcher
1036Jeanfrancois O GillianJapan2025-05-30Feltz Printing Service PROPOSAL10Anna Fali
1037Maria U ButtFrance2025-06-11Truhlar And Truhlar Attys RENEWAL28Amy Elsner
1038Francesco I GauchoFrance2025-05-26Rangoni Of Florence QUALIFIED96Elwin Sharvill
1039Cody U MacleadRussia2025-06-08Chapman, Ross E Esq NEW20Asiya Javayant
1040Kadeem X RutaJapan2025-05-25King, Christopher A Esq NEGOTIATION82Stephen Shaw
1041Clifford S GauchoJapan2025-06-03Buckley Miller Wright PROPOSAL58Bernardo Dominic
1042Juan P VenereCanada2025-06-15Morlong Associates PROPOSAL0Ioni Bowcher
1043Salvatore L VocelkaAustralia2025-06-06Printing Dimensions NEGOTIATION91Xuxue Feng
1044Ashley X WaycottCanada2025-05-31Benton, John B Jr QUALIFIED63Bernardo Dominic
1045Darci A FollerUnited Kingdom2025-05-21Chanay, Jeffrey A Esq UNQUALIFIED18Anna Fali
1046Maisha C FlosiAustralia2025-05-22Dorl, James J Esq RENEWAL13Ivan Magalhaes
1047Salvatore H RoysterArgentina2025-05-27Chanay, Jeffrey A Esq QUALIFIED51Onyama Limba
1048Rodrigues C SaylorsUnited Kingdom2025-05-28Chanay, Jeffrey A Esq PROPOSAL97Elwin Sharvill
1049Aruna Z BologniaAustralia2025-06-13Rousseaux, Michael Esq PROPOSAL20Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa D ChuiUnited KingdomBernardo Dominic RENEWAL
Tony P AmigonAustraliaAmy Elsner UNQUALIFIED
Morrow G MarrierArgentinaIoni Bowcher NEW
Tony E VocelkaSpainXuxue Feng RENEWAL
David S AlbaresRussiaAnna Fali NEGOTIATION
Chavez N FlosiArgentinaIvan Magalhaes RENEWAL
Jefferson D MaletBrazilXuxue Feng UNQUALIFIED
Adams R GarufiAustraliaIvan Magalhaes UNQUALIFIED
Juan H MaletBrazilAmy Elsner RENEWAL
Ashley R KuskoFranceXuxue Feng RENEWAL
David C KuskoUnited KingdomStephen Shaw QUALIFIED
Morrow E MaletBrazilXuxue Feng NEW
Tony I WieserSpainIoni Bowcher QUALIFIED
Wickens H StockhamUnited KingdomStephen Shaw UNQUALIFIED
Murillo D WieserBrazilOnyama Limba NEW
Izzy A GlickBrazilIvan Magalhaes UNQUALIFIED
Francesco P BriddickUnited KingdomBernardo Dominic NEW
James F CaldareraUnited KingdomOnyama Limba QUALIFIED
David L TollnerCanadaElwin Sharvill PROPOSAL
Murillo X OldroydBrazilXuxue Feng NEW
Mujtaba N FerenczCanadaBernardo Dominic RENEWAL
Aika H TollnerUnited KingdomIoni Bowcher NEGOTIATION
Silvio A OldroydGermanyXuxue Feng PROPOSAL
James P FerenczBrazilAnna Fali UNQUALIFIED
Ivar Q VenereFranceElwin Sharvill NEGOTIATION
Aruna E MaletIndiaStephen Shaw UNQUALIFIED
Costa Z CaudyAustraliaIvan Magalhaes RENEWAL
Chavez V NickaAustraliaXuxue Feng PROPOSAL
Jones D ChuiAustraliaOnyama Limba UNQUALIFIED
Nicolas M KuskoItalyOnyama Limba QUALIFIED
Octavia Y GillianIndiaXuxue Feng QUALIFIED
Munro E RulapaughSpainElwin Sharvill PROPOSAL
Darci W WhobreyItalyElwin Sharvill RENEWAL
Arvin I CaldareraFranceAmy Elsner PROPOSAL
Mujtaba N CaudyRussiaIoni Bowcher NEGOTIATION
Emily S RulapaughArgentinaIoni Bowcher QUALIFIED
Octavia N MaletBrazilAmy Elsner RENEWAL
Julie Z TollnerArgentinaAmy Elsner NEW
Maisha O VocelkaSpainBernardo Dominic UNQUALIFIED
Izzy Q KolmetzUnited KingdomIoni Bowcher PROPOSAL
Costa J PaprockiBrazilAmy Elsner UNQUALIFIED
Julie Z AlbaresAustraliaAsiya Javayant NEW
Leja M InouyeGermanyXuxue Feng QUALIFIED
Greenwood J RimIndiaXuxue Feng NEW
Clifford F KuskoUnited KingdomStephen Shaw UNQUALIFIED
Cody Q WieserFranceAsiya Javayant UNQUALIFIED
Julie P MarrierGermanyXuxue Feng QUALIFIED
Murillo Q PoquetteFranceOnyama Limba NEGOTIATION
Aika T SchemmerRussiaAsiya Javayant RENEWAL
Kadeem L MaletIndiaStephen Shaw NEW
Frozen Columns
Name
Deepesh F Darakjy
Morrow J Stockham
David Q Gaucho
Tony L Saylors
David M Dilliard
Tony B Saylors
Aika S Stockham
Ashley M Poquette
Johnson T Chui
Claire V Caudy
Maria X Campain
Salvatore Z Garufi
Greenwood U Flosi
Silvio N Royster
Jennifer U Flosi
Costa G Stockham
Sinclair U Ferencz
Ivar L Doe
Mujtaba Y Venere
Stacey V Dilliard
Leja J Bolognia
Antonio F Doe
Murillo U Glick
Adams N Caudy
Salvatore H Bolognia
Aika C Doe
Mujtaba R Wieser
Clifford L Bowley
Costa D Stockham
Isabel H Inouye
Morrow B Briddick
Jefferson J Bowley
Smith R Nestle
Jennifer Y Glick
Morrow O Foller
Octavia M Rim
Octavia H Venere
Nicolas O Slusarski
Stacey M Iturbide
Kadeem O Waycott
Claire D Campain
Ricardo E Doe
Murillo P Flosi
Ivar B Bowley
Aika I Schemmer
Costa W Glick
Ivar A Gaucho
Smith W Wieser
Mayumi I Campain
Ashley L Whobrey
IdCountryDate
1000Argentina2025-05-23
1001Germany2025-05-18
1002Brazil2025-05-31
1003Canada2025-06-07
1004India2025-06-12
1005Italy2025-06-09
1006India2025-05-26
1007Japan2025-06-12
1008Germany2025-05-20
1009India2025-06-04
1010Germany2025-06-10
1011Brazil2025-05-26
1012United Kingdom2025-06-05
1013India2025-06-02
1014France2025-06-15
1015Italy2025-06-06
1016Germany2025-06-16
1017Russia2025-06-12
1018Argentina2025-05-21
1019Argentina2025-05-20
1020India2025-06-14
1021Canada2025-06-06
1022Germany2025-06-02
1023Canada2025-06-07
1024Russia2025-06-02
1025Spain2025-05-26
1026Canada2025-05-23
1027Brazil2025-05-28
1028Spain2025-06-01
1029Spain2025-06-03
1030France2025-05-28
1031Russia2025-05-23
1032India2025-05-22
1033France2025-05-22
1034Canada2025-06-12
1035Germany2025-05-28
1036India2025-05-20
1037Canada2025-06-01
1038Spain2025-05-26
1039Argentina2025-05-21
1040Australia2025-05-29
1041Russia2025-05-28
1042Italy2025-06-09
1043Argentina2025-06-15
1044United Kingdom2025-05-27
1045Spain2025-06-14
1046India2025-06-13
1047Canada2025-05-19
1048Spain2025-05-18
1049Canada2025-05-20

On-Demand Data

NameIdCountryDate
Sinclair Z Chui1000Germany2025-06-16
Mujtaba W Wieser1001Argentina2025-06-05
Juan S Bowley1002Australia2025-05-31
Francesco Q Vocelka1003France2025-06-11
Leja F Marrier1004Germany2025-06-02
Clifford D Perin1005Germany2025-05-18
Emily J Kusko1006France2025-05-23
Adams I Stockham1007Japan2025-06-06
Maisha F Whobrey1008France2025-06-12
James B Albares1009France2025-05-26
Isabel V Rulapaugh1010Argentina2025-06-14
Faith U Poquette1011India2025-06-11
Isabel W Caldarera1012United Kingdom2025-06-14
Cody Q Glick1013Spain2025-05-31
Munro S Vocelka1014Germany2025-05-24
Jeanfrancois Y Gaucho1015United Kingdom2025-06-10
Jennifer V Ruta1016Australia2025-06-11
Jeanfrancois Q Ostrosky1017Spain2025-06-06
David W Royster1018Argentina2025-05-27
Ashley B Briddick1019Australia2025-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James P NestleBrazilOnyama Limba UNQUALIFIED
Mujtaba U AmigonFranceStephen Shaw NEW
Julie I WieserFranceIoni Bowcher NEGOTIATION
Munro A MorascaIndiaAmy Elsner RENEWAL
Octavia W PaprockiJapanStephen Shaw PROPOSAL
Deepesh X VocelkaCanadaAmy Elsner PROPOSAL
Kaitlin X MaletCanadaElwin Sharvill RENEWAL
Aditya U AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens J GlickAustraliaOnyama Limba QUALIFIED
Darci E WaycottUnited KingdomIvan Magalhaes NEGOTIATION
David V WieserSpainIoni Bowcher PROPOSAL
Arvin G GlickAustraliaBernardo Dominic NEGOTIATION
Jefferson K OldroydRussiaStephen Shaw UNQUALIFIED
Izzy A RutaBrazilOnyama Limba RENEWAL
Arvin P FigeroaIndiaElwin Sharvill RENEWAL
Jeanfrancois F BriddickCanadaStephen Shaw RENEWAL
Nicolas L DoeArgentinaAmy Elsner UNQUALIFIED
Tony U StensethUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues A GlickArgentinaElwin Sharvill RENEWAL
Octavia Y ButtItalyOnyama Limba PROPOSAL
Aruna Y WhobreyJapanOnyama Limba RENEWAL
Tony Z SchemmerBrazilAmy Elsner UNQUALIFIED
Aditya T TollnerFranceXuxue Feng PROPOSAL
Antonio A GillianIndiaIvan Magalhaes UNQUALIFIED
Darci T RimAustraliaBernardo Dominic NEW
Julie E WhobreyCanadaAmy Elsner RENEWAL
Leon W MaletSpainAmy Elsner UNQUALIFIED
Claire X MorascaJapanAnna Fali NEW
Morrow M BologniaArgentinaAsiya Javayant NEW
Francesco F CaldareraArgentinaIvan Magalhaes RENEWAL
Maisha R ChuiArgentinaAmy Elsner QUALIFIED
Aditya T ShinkoArgentinaAsiya Javayant NEW
Kaitlin G RulapaughBrazilElwin Sharvill UNQUALIFIED
Ricardo Y WhobreySpainAnna Fali RENEWAL
Misaki T FollerArgentinaOnyama Limba UNQUALIFIED
Morrow O FollerCanadaBernardo Dominic NEGOTIATION
Octavia L VenereJapanAnna Fali PROPOSAL
Deepesh W MorascaBrazilOnyama Limba UNQUALIFIED
Leja Q BriddickSpainXuxue Feng PROPOSAL
Jeanfrancois B OldroydBrazilAmy Elsner 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>