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
Munro N OstroskyArgentinaAsiya Javayant NEW
Maria Y SlusarskiJapanAmy Elsner QUALIFIED
Aruna S BologniaUnited KingdomStephen Shaw NEGOTIATION
Mayumi Z ShinkoJapanXuxue Feng QUALIFIED
Jennifer I GarufiItalyIvan Magalhaes PROPOSAL
Jones T OldroydSpainXuxue Feng NEW
Juan R CaudySpainElwin Sharvill UNQUALIFIED
Leja U GlickAustraliaIoni Bowcher NEW
Misaki Y RoysterCanadaAmy Elsner NEW
Salvatore C RutaUnited KingdomAmy Elsner QUALIFIED
Aika S ButtUnited KingdomBernardo Dominic QUALIFIED
Leon U MaletFranceXuxue Feng RENEWAL
Francesco C OstroskyJapanIvan Magalhaes UNQUALIFIED
Kaitlin E DarakjyUnited KingdomOnyama Limba NEW
Mujtaba Y ChuiAustraliaIvan Magalhaes PROPOSAL
Izzy P MarrierSpainOnyama Limba QUALIFIED
Mayumi B OldroydAustraliaAnna Fali QUALIFIED
Ivar D NestleRussiaStephen Shaw PROPOSAL
Stacey Z BowleyFranceOnyama Limba UNQUALIFIED
Nicolas G SchemmerCanadaAmy Elsner RENEWAL
Costa A BriddickRussiaAsiya Javayant QUALIFIED
Morrow D WaycottFranceElwin Sharvill NEGOTIATION
Arvin Z StockhamArgentinaIoni Bowcher QUALIFIED
Francesco B DilliardRussiaBernardo Dominic NEW
Jefferson B AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Clifford V NickaRussiaAmy Elsner NEW
Leja F MorascaUnited KingdomIvan Magalhaes PROPOSAL
Salvatore L RimGermanyElwin Sharvill UNQUALIFIED
Rodrigues X IturbideArgentinaElwin Sharvill NEW
Munro J RoysterGermanyOnyama Limba QUALIFIED
Ricardo J PerinIndiaOnyama Limba UNQUALIFIED
Aika U CaudyArgentinaBernardo Dominic NEW
Ivar F BologniaAustraliaAmy Elsner NEGOTIATION
Jennifer G NickaAustraliaAmy Elsner NEW
Costa B InouyeBrazilOnyama Limba UNQUALIFIED
Aditya S NickaBrazilOnyama Limba NEW
Sinclair H MorascaItalyStephen Shaw RENEWAL
James L WhobreyIndiaAmy Elsner PROPOSAL
Silvio O OstroskyCanadaAsiya Javayant UNQUALIFIED
Izzy K RimSpainXuxue Feng NEGOTIATION
Rodrigues A RulapaughCanadaIoni Bowcher NEGOTIATION
Ivar X WieserBrazilAsiya Javayant PROPOSAL
Juan F StockhamJapanStephen Shaw PROPOSAL
Nicolas P SergiCanadaAnna Fali QUALIFIED
Ivar B FerenczUnited KingdomBernardo Dominic NEGOTIATION
Wickens Q WhobreyAustraliaIoni Bowcher PROPOSAL
Stacey L VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Maisha Q SergiJapanAsiya Javayant RENEWAL
Darci T GarufiGermanyOnyama Limba NEGOTIATION
Wickens L SaylorsArgentinaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jones Y CaudyArgentinaOnyama Limba RENEWAL
Johnson A RutaItalyAnna Fali UNQUALIFIED
Leja Y PaprockiIndiaAsiya Javayant NEW
Ashley I MorascaItalyBernardo Dominic UNQUALIFIED
Julie N BriddickItalyIvan Magalhaes PROPOSAL
Morrow X GlickFranceStephen Shaw QUALIFIED
Darci T WieserItalyElwin Sharvill NEGOTIATION
Nicolas B MaletAustraliaAsiya Javayant PROPOSAL
Stacey F MacleadRussiaAnna Fali RENEWAL
Kadeem S VocelkaIndiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha V PoquetteSpain2025-04-01Rousseaux, Michael Esq NEGOTIATION39Onyama Limba
1001Adams A PaprockiUnited Kingdom2025-04-10Chemel, James L Cpa NEGOTIATION30Amy Elsner
1002Kadeem S MaletItaly2025-04-04Feiner Bros QUALIFIED26Elwin Sharvill
1003Francesco J FerenczSpain2025-04-22Chanay, Jeffrey A Esq PROPOSAL76Ivan Magalhaes
1004Isabel S BriddickFrance2025-04-27Buckley Miller Wright NEW35Ivan Magalhaes
1005Juan Z ChuiItaly2025-04-08Benton, John B Jr NEW43Elwin Sharvill
1006Jefferson S BriddickIndia2025-04-18Feltz Printing Service NEW23Onyama Limba
1007Kadeem N AmigonJapan2025-04-26Morlong Associates RENEWAL17Amy Elsner
1008Mujtaba A AmigonJapan2025-04-02King, Christopher A Esq RENEWAL42Xuxue Feng
1009Munro P RimUnited Kingdom2025-04-12Rousseaux, Michael Esq PROPOSAL24Stephen Shaw
1010Ivar S StensethFrance2025-04-20Rousseaux, Michael Esq PROPOSAL42Ivan Magalhaes
1011Sinclair W PaprockiRussia2025-04-22Rousseaux, Michael Esq RENEWAL6Onyama Limba
1012Maria P WhobreySpain2025-04-30Commercial Press QUALIFIED66Anna Fali
1013Antonio G GillianGermany2025-04-28King, Christopher A Esq RENEWAL31Anna Fali
1014Tony N IturbideAustralia2025-04-19Dorl, James J Esq QUALIFIED11Anna Fali
1015Adams A MarrierGermany2025-04-17Truhlar And Truhlar Attys NEGOTIATION42Ioni Bowcher
1016Izzy Z WaycottCanada2025-04-10Commercial Press PROPOSAL33Asiya Javayant
1017Ivar D MorascaCanada2025-04-24King, Christopher A Esq NEGOTIATION12Xuxue Feng
1018Wickens S DilliardAustralia2025-04-05Feltz Printing Service NEGOTIATION10Xuxue Feng
1019Smith Q IturbideRussia2025-04-20Feltz Printing Service QUALIFIED78Ioni Bowcher
1020Murillo A DilliardJapan2025-04-01Feltz Printing Service PROPOSAL19Anna Fali
1021Isabel A WieserJapan2025-04-14Dorl, James J Esq NEW62Elwin Sharvill
1022Johnson W RulapaughGermany2025-04-15Commercial Press RENEWAL13Ioni Bowcher
1023Munro V FollerSpain2025-04-18Truhlar And Truhlar Attys PROPOSAL46Xuxue Feng
1024James S CaudyFrance2025-04-29Rangoni Of Florence QUALIFIED78Onyama Limba
1025Salvatore L ButtIndia2025-04-02Benton, John B Jr NEGOTIATION10Elwin Sharvill
1026Cody W InouyeIndia2025-04-21Feiner Bros UNQUALIFIED86Asiya Javayant
1027Johnson S MaletItaly2025-04-07Chemel, James L Cpa QUALIFIED89Ioni Bowcher
1028David M MarrierArgentina2025-04-26Rousseaux, Michael Esq NEW84Xuxue Feng
1029Greenwood K OldroydGermany2025-04-09Printing Dimensions NEW40Ivan Magalhaes
1030Ricardo E RoysterCanada2025-04-30Chapman, Ross E Esq NEGOTIATION83Anna Fali
1031Alejandro T GarufiAustralia2025-04-09Rousseaux, Michael Esq QUALIFIED29Bernardo Dominic
1032Morrow L MacleadItaly2025-04-18Truhlar And Truhlar Attys PROPOSAL26Amy Elsner
1033Jennifer Z VenereIndia2025-04-06Morlong Associates PROPOSAL3Bernardo Dominic
1034Morrow P VocelkaArgentina2025-04-24Morlong Associates NEW60Amy Elsner
1035Chavez F StockhamArgentina2025-04-29Morlong Associates RENEWAL79Elwin Sharvill
1036Johnson I CaldareraJapan2025-04-24Chapman, Ross E Esq NEGOTIATION22Elwin Sharvill
1037Clifford V OldroydUnited Kingdom2025-04-17Benton, John B Jr RENEWAL11Onyama Limba
1038Faith F PaprockiItaly2025-04-29Rangoni Of Florence PROPOSAL51Ivan Magalhaes
1039Johnson Q RimArgentina2025-04-18Morlong Associates UNQUALIFIED24Amy Elsner
1040Emily D PoquetteSpain2025-04-10Chemel, James L Cpa NEGOTIATION34Anna Fali
1041James L MorascaIndia2025-04-23Dorl, James J Esq NEW31Amy Elsner
1042Jeanfrancois N FlosiCanada2025-04-06Commercial Press QUALIFIED15Stephen Shaw
1043Jefferson S GillianIndia2025-04-30Chanay, Jeffrey A Esq RENEWAL8Amy Elsner
1044Salvatore L SergiArgentina2025-04-06Chapman, Ross E Esq NEW84Ivan Magalhaes
1045Cody H KolmetzItaly2025-04-18Rangoni Of Florence QUALIFIED9Anna Fali
1046Emily C ChuiAustralia2025-04-16Dorl, James J Esq PROPOSAL10Amy Elsner
1047Arvin S AmigonArgentina2025-04-27Chemel, James L Cpa QUALIFIED67Ioni Bowcher
1048Deepesh B BriddickFrance2025-04-24Truhlar And Truhlar Attys NEGOTIATION14Amy Elsner
1049Ashley P KolmetzBrazil2025-04-13Truhlar And Truhlar Attys NEGOTIATION13Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Munro F MacleadUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois Y DilliardRussiaIoni Bowcher NEGOTIATION
Stacey E GillianRussiaBernardo Dominic PROPOSAL
Munro Y StensethArgentinaIvan Magalhaes RENEWAL
Johnson O SaylorsAustraliaElwin Sharvill RENEWAL
Johnson H FlosiItalyStephen Shaw NEW
Jeanfrancois U FerenczCanadaAmy Elsner NEW
Mujtaba O GlickCanadaIoni Bowcher RENEWAL
Julie C VenereFranceAmy Elsner RENEWAL
Leon K ShinkoGermanyOnyama Limba UNQUALIFIED
Darci Q MacleadItalyAsiya Javayant RENEWAL
Aditya E VocelkaItalyElwin Sharvill UNQUALIFIED
Clifford F MarrierArgentinaIvan Magalhaes PROPOSAL
Julie P VocelkaItalyOnyama Limba UNQUALIFIED
Juan E RoysterIndiaElwin Sharvill RENEWAL
Greenwood J AlbaresItalyAmy Elsner QUALIFIED
Darci Z MarrierBrazilStephen Shaw UNQUALIFIED
Jeanfrancois Y AlbaresBrazilOnyama Limba QUALIFIED
Nicolas A FlosiIndiaXuxue Feng NEW
Isabel Y TollnerArgentinaAmy Elsner UNQUALIFIED
David M SchemmerUnited KingdomAnna Fali PROPOSAL
Deepesh V GarufiGermanyOnyama Limba UNQUALIFIED
Leon G MaletFranceAmy Elsner QUALIFIED
Wickens M InouyeGermanyAnna Fali NEGOTIATION
Chavez Q TollnerJapanOnyama Limba UNQUALIFIED
Jennifer L RoysterArgentinaOnyama Limba UNQUALIFIED
Clifford K RoysterFranceIoni Bowcher UNQUALIFIED
Jefferson J BowleyGermanyBernardo Dominic PROPOSAL
Maisha E ChuiCanadaOnyama Limba NEGOTIATION
Morrow M RoysterCanadaOnyama Limba QUALIFIED
Nicolas O MaletBrazilIoni Bowcher PROPOSAL
Darci E WieserFranceElwin Sharvill NEGOTIATION
Adams F PaprockiIndiaOnyama Limba UNQUALIFIED
Salvatore J BologniaJapanAmy Elsner PROPOSAL
Jones H PerinGermanyAsiya Javayant PROPOSAL
Leon H AlbaresJapanOnyama Limba UNQUALIFIED
Isabel E PoquetteGermanyIoni Bowcher NEW
Jefferson D GauchoCanadaStephen Shaw UNQUALIFIED
Wickens A GarufiUnited KingdomAmy Elsner QUALIFIED
Francesco I NickaRussiaAsiya Javayant RENEWAL
Chavez Y RutaIndiaIoni Bowcher NEW
Jefferson O FigeroaUnited KingdomAnna Fali UNQUALIFIED
Wickens H ChuiRussiaElwin Sharvill PROPOSAL
Jones R GillianRussiaXuxue Feng NEW
Greenwood M MacleadSpainBernardo Dominic NEW
Izzy C SaylorsUnited KingdomAmy Elsner NEW
Leja F MorascaCanadaElwin Sharvill NEW
Kadeem U WaycottArgentinaAmy Elsner RENEWAL
Ashley Z MaletItalyAnna Fali QUALIFIED
Darci V NickaItalyAmy Elsner RENEWAL
Frozen Columns
Name
Clifford L Paprocki
Francesco D Royster
Costa G Nicka
Aruna V Garufi
Misaki Q Ferencz
Silvio I Gaucho
Alejandro K Darakjy
Juan T Gillian
Munro Q Garufi
Mayumi E Iturbide
Silvio B Iturbide
Tony E Dilliard
Misaki T Nestle
Cody K Briddick
Octavia A Iturbide
Wickens A Schemmer
Morrow G Maclead
Jefferson M Briddick
Leja C Tollner
Nicolas J Venere
Silvio K Figeroa
Leon W Morasca
Tony N Bowley
Antonio G Bowley
Aditya L Caudy
Emily Y Iturbide
James Q Malet
Chavez T Stockham
Stacey Q Waycott
Julie O Gaucho
James X Morasca
Costa K Perin
Isabel K Oldroyd
Emily C Ostrosky
Isabel O Ferencz
Jeanfrancois J Whobrey
Sinclair T Bowley
Izzy K Whobrey
Morrow T Amigon
Izzy D Ferencz
Maria B Nicka
Ricardo X Nestle
Aditya T Ferencz
Rodrigues W Slusarski
Kaitlin K Stockham
Francesco C Schemmer
Deepesh I Malet
Tony R Slusarski
Adams F Malet
Johnson Q Schemmer
IdCountryDate
1000United Kingdom2025-04-29
1001United Kingdom2025-04-15
1002Italy2025-04-05
1003Brazil2025-04-11
1004Argentina2025-04-17
1005India2025-04-06
1006Italy2025-04-09
1007Spain2025-04-18
1008Japan2025-04-30
1009Germany2025-04-09
1010Italy2025-04-22
1011Germany2025-04-09
1012France2025-04-28
1013Spain2025-04-28
1014Spain2025-04-20
1015Spain2025-04-18
1016Argentina2025-04-28
1017United Kingdom2025-04-09
1018Germany2025-04-04
1019Italy2025-04-14
1020France2025-04-14
1021India2025-04-24
1022France2025-04-04
1023India2025-04-28
1024Canada2025-04-22
1025Spain2025-04-05
1026Germany2025-04-12
1027Russia2025-04-26
1028Australia2025-04-09
1029United Kingdom2025-04-22
1030Spain2025-04-30
1031Brazil2025-04-13
1032Brazil2025-04-29
1033United Kingdom2025-04-24
1034Brazil2025-04-02
1035Argentina2025-04-22
1036Italy2025-04-12
1037Italy2025-04-17
1038Germany2025-04-03
1039Russia2025-04-27
1040Argentina2025-04-20
1041India2025-04-16
1042United Kingdom2025-04-16
1043Italy2025-04-04
1044Argentina2025-04-20
1045Spain2025-04-13
1046Argentina2025-04-01
1047India2025-04-21
1048France2025-04-19
1049United Kingdom2025-04-10

On-Demand Data

NameIdCountryDate
Silvio T Marrier1000Australia2025-04-10
Maisha E Maclead1001Italy2025-04-06
Kaitlin I Shinko1002Australia2025-04-12
Rodrigues E Nestle1003Germany2025-04-20
Stacey I Bolognia1004Argentina2025-04-24
Ashley I Iturbide1005United Kingdom2025-04-12
Kaitlin M Rim1006Italy2025-04-25
Julie Y Shinko1007Canada2025-04-26
Francesco K Briddick1008Spain2025-04-12
Octavia I Flosi1009United Kingdom2025-04-17
Claire Y Marrier1010Spain2025-04-06
Jennifer C Bowley1011Italy2025-04-11
Octavia R Caudy1012Brazil2025-04-01
Aditya X Stenseth1013India2025-04-18
Juan L Figeroa1014Argentina2025-04-09
Ivar K Wieser1015Russia2025-04-29
Wickens J Ostrosky1016United Kingdom2025-04-10
Wickens F Stenseth1017Spain2025-04-09
Faith U Malet1018Brazil2025-04-09
Silvio X Garufi1019Germany2025-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro G ShinkoIndiaIvan Magalhaes NEW
Aika F GarufiCanadaAmy Elsner UNQUALIFIED
Aditya Z CampainUnited KingdomXuxue Feng NEGOTIATION
Misaki U TollnerBrazilAnna Fali UNQUALIFIED
Jones F VenereSpainXuxue Feng PROPOSAL
Emily P TollnerRussiaIoni Bowcher UNQUALIFIED
Mayumi S KolmetzJapanBernardo Dominic QUALIFIED
Maria W WaycottJapanAsiya Javayant UNQUALIFIED
Stacey G SergiRussiaElwin Sharvill RENEWAL
Jones K OldroydJapanIvan Magalhaes RENEWAL
Emily K SaylorsGermanyBernardo Dominic UNQUALIFIED
Ashley Z SlusarskiCanadaOnyama Limba PROPOSAL
Johnson Y MorascaAustraliaXuxue Feng RENEWAL
Ricardo Y FigeroaIndiaBernardo Dominic NEW
Emily V SlusarskiCanadaElwin Sharvill RENEWAL
Smith Z SergiAustraliaIoni Bowcher PROPOSAL
Adams W WaycottGermanyBernardo Dominic RENEWAL
Chavez T VenereItalyStephen Shaw UNQUALIFIED
Julie W CaldareraJapanAsiya Javayant NEGOTIATION
Aika C ShinkoArgentinaAsiya Javayant NEW
Cody V RimRussiaAnna Fali NEGOTIATION
Morrow O DilliardIndiaAsiya Javayant UNQUALIFIED
Claire B MarrierCanadaAmy Elsner NEW
Deepesh I FollerSpainIvan Magalhaes RENEWAL
Jeanfrancois L SergiArgentinaAmy Elsner RENEWAL
Smith T StensethAustraliaIvan Magalhaes RENEWAL
Wickens H KuskoBrazilElwin Sharvill QUALIFIED
Jennifer U RimJapanAnna Fali UNQUALIFIED
Deepesh O SlusarskiRussiaOnyama Limba QUALIFIED
Smith V FollerItalyElwin Sharvill UNQUALIFIED
Johnson P BologniaArgentinaAmy Elsner RENEWAL
Nicolas M TollnerCanadaIoni Bowcher RENEWAL
Nicolas C InouyeGermanyAsiya Javayant QUALIFIED
Greenwood X SaylorsArgentinaIvan Magalhaes NEGOTIATION
Greenwood C SlusarskiSpainStephen Shaw PROPOSAL
Greenwood B BologniaSpainAnna Fali UNQUALIFIED
Nicolas M SaylorsGermanyElwin Sharvill NEW
Cody Q SergiCanadaAsiya Javayant NEGOTIATION
Leja S VocelkaJapanIvan Magalhaes NEW
Smith U NestleGermanyElwin Sharvill QUALIFIED

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