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 C MaletItalyIvan Magalhaes QUALIFIED
Izzy J DilliardItalyIvan Magalhaes NEGOTIATION
Cody R SaylorsFranceIoni Bowcher RENEWAL
Costa U SlusarskiAustraliaBernardo Dominic NEW
Leja Y SchemmerItalyElwin Sharvill UNQUALIFIED
Nicolas P MorascaFranceStephen Shaw QUALIFIED
Octavia S RutaCanadaElwin Sharvill PROPOSAL
Ashley Z RutaAustraliaIvan Magalhaes NEW
Clifford F StockhamJapanBernardo Dominic NEGOTIATION
Sinclair S StockhamFranceAnna Fali RENEWAL
Tony B ButtFranceBernardo Dominic RENEWAL
Arvin X WhobreyIndiaIoni Bowcher NEGOTIATION
Misaki Y DarakjySpainXuxue Feng QUALIFIED
Rodrigues M OstroskyIndiaAnna Fali QUALIFIED
Wickens G StockhamItalyIvan Magalhaes RENEWAL
Mayumi L CampainCanadaBernardo Dominic QUALIFIED
Wickens C MaletJapanXuxue Feng RENEWAL
Jeanfrancois D OldroydItalyOnyama Limba QUALIFIED
Misaki T SergiRussiaIvan Magalhaes RENEWAL
Faith V RoysterFranceAmy Elsner NEW
Maisha G FerenczAustraliaIvan Magalhaes PROPOSAL
Cody U CampainIndiaBernardo Dominic UNQUALIFIED
Jones K BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Murillo N VenereJapanOnyama Limba RENEWAL
Munro O MacleadSpainElwin Sharvill NEW
Izzy M ChuiRussiaAmy Elsner UNQUALIFIED
Morrow T PerinBrazilElwin Sharvill QUALIFIED
Misaki S NickaFranceIvan Magalhaes NEW
Clifford T BriddickGermanyAnna Fali RENEWAL
James Y MaletJapanXuxue Feng NEW
Kaitlin F VocelkaUnited KingdomAmy Elsner NEW
Wickens S FerenczGermanyIoni Bowcher PROPOSAL
Kaitlin U GlickCanadaOnyama Limba NEW
Jeanfrancois Y StockhamJapanAnna Fali UNQUALIFIED
Emily K VocelkaBrazilAmy Elsner NEW
Sinclair T RoysterSpainXuxue Feng RENEWAL
James Q SergiFranceStephen Shaw RENEWAL
Smith P SergiJapanIoni Bowcher RENEWAL
Silvio R CaldareraIndiaOnyama Limba UNQUALIFIED
Smith Y KolmetzUnited KingdomElwin Sharvill RENEWAL
Maria A SergiJapanElwin Sharvill NEW
Claire Y OstroskyBrazilAnna Fali NEGOTIATION
Nicolas L AmigonRussiaElwin Sharvill UNQUALIFIED
Tony S SergiItalyStephen Shaw PROPOSAL
Nicolas W GauchoArgentinaElwin Sharvill RENEWAL
Chavez G RulapaughFranceAsiya Javayant PROPOSAL
Aditya P WhobreyArgentinaElwin Sharvill NEGOTIATION
Munro C PoquetteAustraliaOnyama Limba NEGOTIATION
Maria V TollnerIndiaStephen Shaw QUALIFIED
Tony Y GillianGermanyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David P AmigonArgentinaAsiya Javayant RENEWAL
Alejandro B FerenczArgentinaAnna Fali RENEWAL
Claire W MorascaUnited KingdomIvan Magalhaes QUALIFIED
Emily S VocelkaBrazilAsiya Javayant RENEWAL
Kaitlin Q GarufiSpainAsiya Javayant UNQUALIFIED
Isabel L MaletBrazilAnna Fali UNQUALIFIED
Kaitlin B AmigonItalyAsiya Javayant NEGOTIATION
Costa M NestleJapanBernardo Dominic NEW
Leon R RutaRussiaOnyama Limba NEGOTIATION
Julie P WaycottFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya U BowleyArgentina2024-05-30Printing Dimensions NEW7Onyama Limba
1001Silvio H ButtIndia2024-06-13Rousseaux, Michael Esq PROPOSAL80Onyama Limba
1002David I PerinBrazil2024-06-01Benton, John B Jr UNQUALIFIED86Elwin Sharvill
1003Kadeem P MarrierRussia2024-06-08Printing Dimensions RENEWAL94Bernardo Dominic
1004David C RimAustralia2024-06-07Rangoni Of Florence PROPOSAL83Onyama Limba
1005Emily N VenereIndia2024-05-23King, Christopher A Esq QUALIFIED56Amy Elsner
1006James D BowleyGermany2024-06-06Chapman, Ross E Esq QUALIFIED84Onyama Limba
1007Sinclair R CaldareraGermany2024-06-04Chapman, Ross E Esq PROPOSAL64Onyama Limba
1008Jennifer K DilliardJapan2024-05-23Chanay, Jeffrey A Esq QUALIFIED97Stephen Shaw
1009Stacey B StockhamJapan2024-06-06Truhlar And Truhlar Attys RENEWAL80Elwin Sharvill
1010James X WieserArgentina2024-06-15King, Christopher A Esq QUALIFIED94Ivan Magalhaes
1011David C CampainUnited Kingdom2024-05-27Printing Dimensions RENEWAL89Anna Fali
1012Ivar I AlbaresItaly2024-06-11Truhlar And Truhlar Attys PROPOSAL80Ivan Magalhaes
1013Salvatore Q RulapaughSpain2024-06-16Feltz Printing Service NEW71Stephen Shaw
1014Greenwood K OldroydSpain2024-05-24Printing Dimensions UNQUALIFIED31Asiya Javayant
1015Izzy V FerenczArgentina2024-06-16King, Christopher A Esq RENEWAL98Xuxue Feng
1016Adams K WhobreyItaly2024-05-25Feltz Printing Service PROPOSAL66Amy Elsner
1017Nicolas Y GlickGermany2024-06-17Benton, John B Jr NEGOTIATION34Stephen Shaw
1018Ashley R TollnerIndia2024-06-03Truhlar And Truhlar Attys QUALIFIED52Onyama Limba
1019Arvin Y NestleItaly2024-05-24Printing Dimensions NEGOTIATION94Onyama Limba
1020Faith M GlickArgentina2024-06-19Buckley Miller Wright UNQUALIFIED26Ivan Magalhaes
1021Stacey O IturbideBrazil2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED78Onyama Limba
1022Alejandro A MarrierGermany2024-05-24Feiner Bros QUALIFIED44Anna Fali
1023Izzy L GillianArgentina2024-06-10Rousseaux, Michael Esq NEW16Amy Elsner
1024Aika P FerenczBrazil2024-05-30Rangoni Of Florence RENEWAL3Bernardo Dominic
1025Isabel T RimIndia2024-06-08Morlong Associates NEGOTIATION30Onyama Limba
1026Ashley Q MaletAustralia2024-06-10Dorl, James J Esq UNQUALIFIED72Bernardo Dominic
1027Alejandro F OstroskyRussia2024-05-29Rousseaux, Michael Esq NEGOTIATION91Anna Fali
1028Johnson Z MarrierAustralia2024-06-04Buckley Miller Wright PROPOSAL4Elwin Sharvill
1029David F RoysterUnited Kingdom2024-05-28Rangoni Of Florence UNQUALIFIED75Bernardo Dominic
1030Stacey R MaletIndia2024-05-31Rangoni Of Florence RENEWAL35Bernardo Dominic
1031Aika T WieserBrazil2024-06-17Benton, John B Jr RENEWAL96Ioni Bowcher
1032Jennifer L KuskoItaly2024-06-20Chanay, Jeffrey A Esq NEW87Xuxue Feng
1033Darci W MarrierRussia2024-05-23Dorl, James J Esq PROPOSAL11Stephen Shaw
1034Mujtaba B SergiGermany2024-06-04Benton, John B Jr RENEWAL68Ioni Bowcher
1035Mayumi N BologniaRussia2024-06-14Feiner Bros NEGOTIATION36Xuxue Feng
1036Aditya R MorascaCanada2024-06-09Morlong Associates RENEWAL58Anna Fali
1037Juan Y VenereIndia2024-06-17Chanay, Jeffrey A Esq QUALIFIED61Asiya Javayant
1038Maisha C WhobreyBrazil2024-05-31Benton, John B Jr NEGOTIATION96Amy Elsner
1039Johnson V StensethSpain2024-06-03Chapman, Ross E Esq PROPOSAL4Ivan Magalhaes
1040Antonio S RutaIndia2024-06-09Commercial Press PROPOSAL74Amy Elsner
1041Julie G ButtAustralia2024-06-17Buckley Miller Wright NEGOTIATION53Stephen Shaw
1042Izzy I InouyeJapan2024-06-01Truhlar And Truhlar Attys UNQUALIFIED98Ioni Bowcher
1043Aruna V SergiItaly2024-06-14Benton, John B Jr UNQUALIFIED83Amy Elsner
1044Darci D RoysterItaly2024-06-04Truhlar And Truhlar Attys NEGOTIATION83Bernardo Dominic
1045Jones Z RimJapan2024-06-08Feiner Bros RENEWAL6Elwin Sharvill
1046David B SchemmerArgentina2024-05-30Buckley Miller Wright PROPOSAL43Ioni Bowcher
1047Aditya S ButtBrazil2024-06-13Benton, John B Jr RENEWAL62Ivan Magalhaes
1048Silvio W ChuiSpain2024-05-24Benton, John B Jr UNQUALIFIED5Amy Elsner
1049Adams N AmigonRussia2024-06-02Morlong Associates NEW35Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Z RulapaughRussiaElwin Sharvill UNQUALIFIED
Izzy D PaprockiRussiaAmy Elsner NEW
Ashley O DarakjyFranceAnna Fali NEW
Juan J ChuiItalyXuxue Feng NEGOTIATION
Murillo X SaylorsArgentinaOnyama Limba QUALIFIED
Nicolas Z CampainFranceAmy Elsner RENEWAL
Cody R VenereRussiaXuxue Feng RENEWAL
Darci G WhobreyBrazilIvan Magalhaes NEGOTIATION
Clifford Y BologniaUnited KingdomAnna Fali RENEWAL
Misaki W FlosiUnited KingdomStephen Shaw RENEWAL
Rodrigues K AlbaresBrazilOnyama Limba NEGOTIATION
Leja L DoeFranceBernardo Dominic NEGOTIATION
Darci A MaletBrazilStephen Shaw RENEWAL
Deepesh E SlusarskiIndiaIoni Bowcher NEGOTIATION
James Z KuskoIndiaAsiya Javayant QUALIFIED
Nicolas F MaletAustraliaOnyama Limba PROPOSAL
Deepesh F FlosiRussiaIoni Bowcher RENEWAL
Sinclair M WaycottUnited KingdomOnyama Limba NEGOTIATION
Rodrigues C MarrierArgentinaBernardo Dominic PROPOSAL
Mujtaba O AmigonSpainXuxue Feng NEGOTIATION
Cody J SchemmerGermanyIoni Bowcher NEW
Costa W DilliardItalyBernardo Dominic NEW
Leja P GillianSpainAsiya Javayant QUALIFIED
Stacey S AlbaresRussiaAsiya Javayant QUALIFIED
Octavia G PaprockiRussiaAnna Fali RENEWAL
Maria C KuskoJapanAsiya Javayant NEGOTIATION
Arvin Q InouyeIndiaElwin Sharvill QUALIFIED
Emily S BriddickItalyElwin Sharvill NEGOTIATION
Maisha Y GauchoArgentinaStephen Shaw PROPOSAL
Alejandro W MorascaArgentinaStephen Shaw NEW
Francesco R KuskoItalyAmy Elsner NEGOTIATION
Murillo T BologniaItalyAmy Elsner PROPOSAL
Antonio F PerinIndiaIoni Bowcher PROPOSAL
Francesco W CampainCanadaStephen Shaw QUALIFIED
Johnson V DarakjyItalyIoni Bowcher PROPOSAL
Munro D GarufiIndiaAnna Fali NEW
Adams B RoysterUnited KingdomIvan Magalhaes RENEWAL
Tony T InouyeUnited KingdomElwin Sharvill RENEWAL
Morrow S CaudyItalyStephen Shaw UNQUALIFIED
Octavia V BologniaCanadaStephen Shaw RENEWAL
Cody V CaudyBrazilIoni Bowcher RENEWAL
Aruna W NestleIndiaBernardo Dominic UNQUALIFIED
Antonio M TollnerCanadaElwin Sharvill PROPOSAL
Francesco Q StockhamJapanElwin Sharvill NEGOTIATION
Rodrigues V PerinArgentinaBernardo Dominic NEW
Wickens E GlickBrazilOnyama Limba QUALIFIED
Morrow Q CampainAustraliaAmy Elsner RENEWAL
Kadeem C StensethBrazilAmy Elsner NEGOTIATION
Aruna V KuskoCanadaAmy Elsner NEW
Greenwood K FigeroaArgentinaStephen Shaw QUALIFIED
Frozen Columns
Name
Jefferson J Royster
Julie V Whobrey
Deepesh U Perin
Octavia R Doe
Jefferson X Albares
Alejandro V Perin
Alejandro Z Slusarski
James T Ferencz
Ashley C Stenseth
Emily Y Albares
Mujtaba P Iturbide
Munro V Saylors
Arvin F Flosi
Julie W Nicka
Izzy N Gillian
Maisha E Saylors
Kaitlin E Maclead
Jeanfrancois H Oldroyd
Kadeem Z Shinko
Chavez G Caldarera
Murillo N Butt
Aruna Q Perin
Jennifer X Caudy
Mujtaba D Briddick
Nicolas O Whobrey
Arvin B Sergi
Salvatore D Briddick
Maisha M Rim
Mayumi Z Doe
Aruna J Waycott
Izzy G Tollner
Smith L Royster
Jennifer X Oldroyd
Salvatore S Doe
Juan X Malet
Greenwood V Briddick
Ivar A Briddick
Jefferson E Caudy
Maisha U Sergi
Ashley Y Shinko
Isabel A Poquette
Murillo G Morasca
Octavia A Paprocki
Aruna O Bowley
Murillo P Inouye
Jefferson D Amigon
Wickens Y Morasca
Jefferson C Wieser
Izzy K Caldarera
Aruna V Garufi
IdCountryDate
1000Germany2024-05-24
1001Argentina2024-06-05
1002Russia2024-06-02
1003Germany2024-05-30
1004Japan2024-05-30
1005Italy2024-06-15
1006Australia2024-06-11
1007Brazil2024-06-19
1008France2024-06-13
1009Spain2024-06-03
1010Australia2024-06-18
1011France2024-06-17
1012France2024-06-21
1013Germany2024-05-29
1014Russia2024-06-09
1015Russia2024-05-25
1016Spain2024-05-29
1017Australia2024-05-27
1018United Kingdom2024-05-28
1019Australia2024-06-15
1020Japan2024-05-29
1021Japan2024-06-06
1022Brazil2024-06-04
1023Japan2024-05-27
1024Japan2024-05-27
1025Argentina2024-05-23
1026India2024-06-14
1027Spain2024-05-23
1028Italy2024-06-04
1029Canada2024-06-01
1030Italy2024-06-09
1031India2024-05-27
1032United Kingdom2024-05-28
1033France2024-06-03
1034Japan2024-05-24
1035Spain2024-06-12
1036India2024-05-23
1037Germany2024-06-03
1038India2024-06-15
1039Russia2024-06-16
1040Australia2024-06-15
1041Argentina2024-06-15
1042France2024-06-03
1043Russia2024-06-09
1044Canada2024-06-07
1045United Kingdom2024-06-16
1046Italy2024-06-13
1047Spain2024-06-07
1048France2024-06-19
1049Spain2024-06-05

On-Demand Data

NameIdCountryDate
Morrow C Glick1000Japan2024-06-08
Chavez J Gillian1001Italy2024-06-07
Aruna Q Paprocki1002France2024-06-17
Isabel X Chui1003Germany2024-06-03
Murillo X Bowley1004Spain2024-06-14
Faith H Royster1005Australia2024-06-18
Jeanfrancois L Iturbide1006India2024-06-13
Alejandro F Nestle1007Japan2024-05-25
Izzy Z Poquette1008India2024-06-11
James J Stockham1009Canada2024-06-13
Murillo C Wieser1010India2024-05-30
Izzy F Foller1011Brazil2024-06-18
Ricardo O Figeroa1012France2024-06-21
Darci T Gaucho1013Argentina2024-06-10
Stacey J Stockham1014France2024-06-16
Munro Y Malet1015Germany2024-06-01
Murillo X Waycott1016Australia2024-05-26
Costa A Whobrey1017Russia2024-06-09
Costa R Chui1018Argentina2024-06-17
Alejandro E Marrier1019Brazil2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith B CaudyUnited KingdomBernardo Dominic RENEWAL
Clifford V NestleBrazilOnyama Limba UNQUALIFIED
Silvio K MarrierArgentinaStephen Shaw QUALIFIED
Antonio W WieserAustraliaElwin Sharvill NEGOTIATION
Juan C OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Claire N ButtUnited KingdomIvan Magalhaes QUALIFIED
Tony K MarrierJapanOnyama Limba NEGOTIATION
Ashley F FigeroaIndiaAsiya Javayant NEW
Morrow Q SergiRussiaOnyama Limba NEW
Francesco I VenereIndiaBernardo Dominic NEW
Greenwood Q VocelkaIndiaIoni Bowcher NEGOTIATION
Costa H CaldareraUnited KingdomIoni Bowcher NEW
Jeanfrancois A ShinkoFranceBernardo Dominic QUALIFIED
Mujtaba Z AlbaresSpainElwin Sharvill NEW
Jeanfrancois L DarakjyBrazilXuxue Feng UNQUALIFIED
Misaki N PoquetteGermanyAmy Elsner UNQUALIFIED
Ricardo F WhobreyIndiaBernardo Dominic RENEWAL
Juan R WieserUnited KingdomAmy Elsner QUALIFIED
Aditya S NestleSpainAmy Elsner NEW
Morrow P SchemmerIndiaElwin Sharvill QUALIFIED
Arvin S WaycottFranceAmy Elsner RENEWAL
Salvatore G WhobreyIndiaAsiya Javayant PROPOSAL
Misaki G SlusarskiAustraliaAmy Elsner NEW
Octavia O PoquetteBrazilOnyama Limba NEGOTIATION
Murillo M WhobreyGermanyBernardo Dominic PROPOSAL
Ivar K ShinkoBrazilAmy Elsner PROPOSAL
Maria C ChuiArgentinaAsiya Javayant NEW
Aika Z SaylorsItalyOnyama Limba RENEWAL
Darci U StockhamIndiaAsiya Javayant RENEWAL
David E RulapaughGermanyStephen Shaw PROPOSAL
Sinclair V DoeArgentinaIvan Magalhaes RENEWAL
Ashley Y PerinFranceElwin Sharvill NEGOTIATION
Jennifer T SergiItalyAsiya Javayant PROPOSAL
Ashley Z SchemmerBrazilAnna Fali UNQUALIFIED
Sinclair H PerinAustraliaOnyama Limba RENEWAL
Arvin S InouyeCanadaAnna Fali NEGOTIATION
Isabel U BologniaRussiaXuxue Feng RENEWAL
Murillo Q SchemmerJapanAsiya Javayant RENEWAL
Emily C WhobreyArgentinaIvan Magalhaes QUALIFIED
Kaitlin P CaldareraIndiaAnna Fali 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>