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
Julie C FerenczCanadaAsiya Javayant RENEWAL
Claire D BowleyCanadaIoni Bowcher QUALIFIED
Salvatore B WhobreyFranceStephen Shaw UNQUALIFIED
Greenwood F RimGermanyBernardo Dominic NEW
Greenwood U PaprockiJapanAmy Elsner PROPOSAL
Jeanfrancois S AmigonFranceAnna Fali RENEWAL
Leon M RulapaughItalyElwin Sharvill QUALIFIED
Leon V CampainGermanyElwin Sharvill UNQUALIFIED
Aditya L DarakjyBrazilAsiya Javayant UNQUALIFIED
Kaitlin V FigeroaIndiaOnyama Limba RENEWAL
Wickens R SaylorsItalyBernardo Dominic NEW
Jones F FigeroaCanadaOnyama Limba NEW
Johnson U SergiIndiaAnna Fali NEGOTIATION
Francesco N SergiGermanyXuxue Feng NEW
Stacey W FerenczBrazilAmy Elsner NEW
Nicolas L PoquetteItalyAnna Fali UNQUALIFIED
Maisha Q GlickCanadaAsiya Javayant NEGOTIATION
Salvatore H CaldareraArgentinaStephen Shaw NEW
Ashley A BologniaAustraliaElwin Sharvill QUALIFIED
Ivar Q VenereArgentinaXuxue Feng RENEWAL
Claire V AlbaresIndiaAmy Elsner UNQUALIFIED
Francesco M RulapaughSpainIoni Bowcher QUALIFIED
Johnson Z SaylorsRussiaBernardo Dominic UNQUALIFIED
Rodrigues K OldroydSpainAnna Fali NEW
Ashley E MacleadRussiaOnyama Limba NEW
Johnson S BowleyGermanyAsiya Javayant NEW
Jones N WieserRussiaXuxue Feng NEW
Francesco U KolmetzFranceAnna Fali NEW
Juan W FerenczRussiaAmy Elsner RENEWAL
Rodrigues E CampainJapanOnyama Limba NEW
Tony V RimRussiaIoni Bowcher RENEWAL
Octavia R FerenczCanadaBernardo Dominic PROPOSAL
Ricardo M RulapaughUnited KingdomOnyama Limba PROPOSAL
Jones T PerinSpainAsiya Javayant QUALIFIED
Jefferson U VocelkaBrazilXuxue Feng RENEWAL
Mayumi C KuskoBrazilXuxue Feng QUALIFIED
Aditya T GlickUnited KingdomAsiya Javayant QUALIFIED
Mujtaba M ChuiIndiaAmy Elsner QUALIFIED
Nicolas G SchemmerAustraliaBernardo Dominic NEGOTIATION
Wickens H MaletArgentinaXuxue Feng NEGOTIATION
Emily Y AlbaresJapanIoni Bowcher NEW
Greenwood S CaudyBrazilElwin Sharvill RENEWAL
Jeanfrancois I DoeIndiaOnyama Limba PROPOSAL
Nicolas M ShinkoGermanyAnna Fali QUALIFIED
Wickens V BologniaArgentinaElwin Sharvill UNQUALIFIED
Aruna N AmigonCanadaBernardo Dominic NEGOTIATION
Sinclair B BowleyUnited KingdomIoni Bowcher NEGOTIATION
Murillo H AlbaresBrazilStephen Shaw NEGOTIATION
Greenwood L NestleUnited KingdomOnyama Limba NEGOTIATION
Leja B AlbaresIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David R MarrierUnited KingdomAsiya Javayant RENEWAL
Mayumi G SlusarskiAustraliaOnyama Limba NEW
Johnson B RutaGermanyStephen Shaw PROPOSAL
Smith P DarakjyItalyOnyama Limba NEGOTIATION
Leon J GillianItalyIvan Magalhaes RENEWAL
Leon C GlickUnited KingdomElwin Sharvill UNQUALIFIED
Aruna P MacleadItalyXuxue Feng NEW
Darci W RimItalyIoni Bowcher UNQUALIFIED
Greenwood Y MarrierCanadaAnna Fali QUALIFIED
Johnson Y RutaItalyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues S MacleadFrance2024-06-02Dorl, James J Esq PROPOSAL98Onyama Limba
1001Julie I DilliardRussia2024-06-09Feltz Printing Service NEGOTIATION71Anna Fali
1002Aika X DoeJapan2024-06-16Feiner Bros NEW53Elwin Sharvill
1003Tony T ChuiUnited Kingdom2024-06-03Benton, John B Jr RENEWAL84Ivan Magalhaes
1004Aruna I PaprockiAustralia2024-06-04Chemel, James L Cpa NEGOTIATION73Elwin Sharvill
1005Leon P WhobreyGermany2024-06-08Rousseaux, Michael Esq NEGOTIATION66Xuxue Feng
1006Ivar L CaudyAustralia2024-06-19Commercial Press PROPOSAL72Ioni Bowcher
1007Kadeem S GillianArgentina2024-05-24Buckley Miller Wright RENEWAL77Ioni Bowcher
1008Mayumi F FerenczBrazil2024-06-15Benton, John B Jr QUALIFIED52Anna Fali
1009Kaitlin A WhobreyArgentina2024-05-24Printing Dimensions PROPOSAL69Stephen Shaw
1010Cody S WieserSpain2024-06-11Chemel, James L Cpa NEW11Stephen Shaw
1011Kadeem R BriddickRussia2024-06-13Chemel, James L Cpa QUALIFIED21Bernardo Dominic
1012Juan L ShinkoAustralia2024-06-11Feltz Printing Service RENEWAL10Asiya Javayant
1013Jefferson A TollnerFrance2024-06-17Benton, John B Jr QUALIFIED72Xuxue Feng
1014Clifford A VocelkaRussia2024-06-13Morlong Associates NEGOTIATION67Bernardo Dominic
1015Misaki I MarrierItaly2024-06-08Morlong Associates NEW75Ioni Bowcher
1016Isabel W GarufiIndia2024-06-11Rousseaux, Michael Esq PROPOSAL13Ivan Magalhaes
1017Clifford T WhobreyBrazil2024-06-05King, Christopher A Esq NEGOTIATION60Onyama Limba
1018Greenwood K FerenczJapan2024-05-30Rangoni Of Florence QUALIFIED50Asiya Javayant
1019Ricardo S MacleadRussia2024-05-28Commercial Press RENEWAL82Bernardo Dominic
1020James O NickaFrance2024-06-05Chemel, James L Cpa QUALIFIED7Onyama Limba
1021Salvatore E FigeroaIndia2024-06-19Truhlar And Truhlar Attys NEW80Xuxue Feng
1022Darci W NickaUnited Kingdom2024-06-17Truhlar And Truhlar Attys PROPOSAL53Ivan Magalhaes
1023Clifford U OldroydItaly2024-06-04Chapman, Ross E Esq NEGOTIATION69Xuxue Feng
1024Ricardo C StockhamUnited Kingdom2024-05-31Rangoni Of Florence RENEWAL74Ioni Bowcher
1025Salvatore D ButtBrazil2024-05-27King, Christopher A Esq PROPOSAL31Bernardo Dominic
1026Sinclair D RutaAustralia2024-05-25Printing Dimensions UNQUALIFIED77Ivan Magalhaes
1027Misaki V WieserJapan2024-06-06Commercial Press UNQUALIFIED2Ivan Magalhaes
1028Sinclair I SchemmerGermany2024-05-30Rousseaux, Michael Esq NEW93Xuxue Feng
1029Maisha Z DilliardFrance2024-05-28King, Christopher A Esq QUALIFIED34Ioni Bowcher
1030Nicolas E OldroydItaly2024-06-02Chapman, Ross E Esq PROPOSAL40Xuxue Feng
1031Antonio G DarakjyArgentina2024-06-16Benton, John B Jr NEGOTIATION99Anna Fali
1032Faith P AlbaresFrance2024-05-28Chemel, James L Cpa NEGOTIATION44Onyama Limba
1033Maria O StensethIndia2024-06-06Truhlar And Truhlar Attys UNQUALIFIED25Ivan Magalhaes
1034Claire V ShinkoBrazil2024-06-02Rangoni Of Florence QUALIFIED29Asiya Javayant
1035Misaki H SaylorsIndia2024-06-21Dorl, James J Esq UNQUALIFIED0Amy Elsner
1036Maisha Y InouyeItaly2024-06-03Feltz Printing Service UNQUALIFIED14Stephen Shaw
1037James T WaycottRussia2024-06-10Rangoni Of Florence UNQUALIFIED76Ioni Bowcher
1038Isabel F InouyeFrance2024-05-29Printing Dimensions QUALIFIED55Xuxue Feng
1039Jeanfrancois Y WieserSpain2024-06-10Commercial Press UNQUALIFIED55Ivan Magalhaes
1040Silvio Y GillianIndia2024-05-26Benton, John B Jr NEGOTIATION73Asiya Javayant
1041Smith B GarufiIndia2024-06-04Morlong Associates QUALIFIED69Elwin Sharvill
1042Emily T GarufiArgentina2024-06-11Printing Dimensions NEW2Elwin Sharvill
1043Ricardo G GillianUnited Kingdom2024-06-14Rangoni Of Florence RENEWAL62Xuxue Feng
1044Emily T DilliardCanada2024-06-17Feiner Bros RENEWAL51Ivan Magalhaes
1045Greenwood F RimGermany2024-05-25Chanay, Jeffrey A Esq NEW10Elwin Sharvill
1046Antonio D TollnerRussia2024-06-03King, Christopher A Esq NEW49Onyama Limba
1047Arvin N SergiItaly2024-06-01Printing Dimensions NEW95Ioni Bowcher
1048Ashley V NestleArgentina2024-05-30Feiner Bros UNQUALIFIED31Asiya Javayant
1049Maisha D MacleadItaly2024-06-02Chemel, James L Cpa NEW12Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Johnson H SergiBrazilElwin Sharvill NEGOTIATION
Antonio P CampainArgentinaIvan Magalhaes NEW
Darci O MacleadAustraliaAsiya Javayant RENEWAL
Rodrigues I MaletItalyIvan Magalhaes QUALIFIED
David Q RimItalyAnna Fali UNQUALIFIED
Darci B RulapaughArgentinaXuxue Feng QUALIFIED
Deepesh O GarufiCanadaIvan Magalhaes UNQUALIFIED
Mujtaba C WhobreyRussiaIvan Magalhaes QUALIFIED
Mujtaba G StockhamGermanyElwin Sharvill NEW
Leon R KolmetzSpainAsiya Javayant QUALIFIED
Leon N FollerSpainAnna Fali NEGOTIATION
Alejandro Z VenereIndiaAsiya Javayant PROPOSAL
Leon P RoysterBrazilAsiya Javayant UNQUALIFIED
Aruna W WieserJapanAmy Elsner PROPOSAL
Cody K CampainBrazilAnna Fali NEGOTIATION
Jeanfrancois A MaletIndiaAsiya Javayant NEGOTIATION
Greenwood M DoeCanadaBernardo Dominic RENEWAL
Claire K NestleJapanIvan Magalhaes NEGOTIATION
Salvatore K ShinkoCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois P CampainItalyElwin Sharvill NEW
Kaitlin U SaylorsSpainIoni Bowcher RENEWAL
Darci T OldroydRussiaIoni Bowcher QUALIFIED
Stacey L MaletItalyBernardo Dominic QUALIFIED
Claire O VocelkaSpainIoni Bowcher QUALIFIED
Nicolas G KolmetzBrazilIvan Magalhaes NEGOTIATION
Izzy P TollnerRussiaAnna Fali QUALIFIED
Munro B GauchoGermanyElwin Sharvill QUALIFIED
Aditya N FigeroaSpainXuxue Feng PROPOSAL
Clifford A GlickCanadaStephen Shaw PROPOSAL
James O VocelkaFranceXuxue Feng PROPOSAL
Ricardo Z ChuiSpainAnna Fali NEGOTIATION
Maria G VenereGermanyIoni Bowcher NEW
Cody G VenereUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois N StensethArgentinaAmy Elsner NEGOTIATION
Jeanfrancois P CaudyArgentinaOnyama Limba RENEWAL
Aika W KuskoSpainXuxue Feng NEW
Izzy O CaudyGermanyIoni Bowcher NEGOTIATION
Johnson H BriddickSpainIvan Magalhaes QUALIFIED
James S FigeroaSpainAmy Elsner UNQUALIFIED
Rodrigues C GarufiJapanIvan Magalhaes QUALIFIED
Kadeem P SergiGermanyXuxue Feng QUALIFIED
Darci V AmigonJapanOnyama Limba UNQUALIFIED
Francesco P CaldareraJapanOnyama Limba NEGOTIATION
Salvatore X MorascaSpainAmy Elsner UNQUALIFIED
Francesco U AlbaresRussiaElwin Sharvill PROPOSAL
Francesco P MaletIndiaIvan Magalhaes PROPOSAL
Emily C InouyeAustraliaAsiya Javayant NEW
Alejandro O WieserGermanyElwin Sharvill NEGOTIATION
David X NickaJapanAmy Elsner NEGOTIATION
Nicolas P VocelkaRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Octavia Q Bolognia
Alejandro U Ostrosky
Jones A Gaucho
Mujtaba I Briddick
Jefferson E Paprocki
Misaki V Foller
Octavia N Campain
Morrow A Shinko
Jennifer X Poquette
Jones Z Nicka
Rodrigues X Malet
Johnson K Foller
Sinclair X Maclead
Aditya Z Morasca
Clifford Z Ferencz
Isabel G Garufi
Deepesh B Figeroa
Ricardo F Whobrey
Johnson A Nicka
Chavez Y Whobrey
James Z Vocelka
Faith G Gaucho
Faith X Rulapaugh
Leon C Venere
Jefferson O Dilliard
Adams A Nicka
Clifford D Kusko
Silvio B Shinko
Arvin Q Schemmer
Salvatore W Kolmetz
Leja S Gaucho
Jennifer R Caudy
Adams R Inouye
Kadeem U Ferencz
Clifford N Shinko
Mayumi T Caldarera
Leon W Whobrey
Murillo Y Glick
Adams S Briddick
Rodrigues R Inouye
Kadeem E Campain
Maria P Rim
Julie W Flosi
Jefferson A Kolmetz
Morrow O Figeroa
Jennifer T Paprocki
Arvin V Ostrosky
Silvio O Briddick
Wickens P Rulapaugh
Wickens A Chui
IdCountryDate
1000Brazil2024-06-02
1001Japan2024-06-08
1002Russia2024-05-29
1003Russia2024-05-30
1004Russia2024-05-24
1005Japan2024-06-19
1006Argentina2024-06-15
1007United Kingdom2024-06-04
1008Russia2024-05-26
1009United Kingdom2024-06-17
1010France2024-05-30
1011Germany2024-06-21
1012Australia2024-05-30
1013Brazil2024-06-11
1014Argentina2024-05-28
1015Russia2024-06-17
1016Canada2024-05-25
1017India2024-05-25
1018Germany2024-06-06
1019Germany2024-06-04
1020France2024-05-30
1021India2024-06-18
1022United Kingdom2024-06-05
1023Italy2024-06-22
1024Argentina2024-06-19
1025France2024-06-03
1026Russia2024-05-31
1027Australia2024-06-20
1028Italy2024-06-07
1029Australia2024-05-31
1030Argentina2024-05-28
1031Spain2024-06-03
1032Japan2024-05-25
1033Spain2024-06-20
1034Spain2024-06-20
1035United Kingdom2024-06-22
1036Italy2024-05-29
1037Germany2024-06-15
1038Canada2024-06-17
1039Russia2024-06-08
1040Spain2024-06-11
1041Argentina2024-06-09
1042Germany2024-06-17
1043Germany2024-06-16
1044Brazil2024-06-22
1045Argentina2024-05-27
1046Japan2024-06-04
1047Japan2024-05-25
1048Australia2024-06-07
1049Italy2024-05-29

On-Demand Data

NameIdCountryDate
Adams R Perin1000Russia2024-05-25
Leon K Stenseth1001Italy2024-06-15
Jennifer X Butt1002France2024-06-05
Jefferson X Doe1003Argentina2024-06-04
Juan T Wieser1004Japan2024-05-31
Julie H Oldroyd1005France2024-06-15
Aditya D Iturbide1006United Kingdom2024-06-18
Cody Q Venere1007Italy2024-06-01
Salvatore T Albares1008Italy2024-06-17
Isabel U Wieser1009Spain2024-06-18
Ricardo T Darakjy1010Japan2024-06-04
Costa D Poquette1011United Kingdom2024-06-09
Leja Q Doe1012France2024-06-07
Aruna C Inouye1013Canada2024-05-26
Tony X Chui1014Germany2024-06-18
Izzy A Bolognia1015Spain2024-06-21
Deepesh B Royster1016Japan2024-06-19
Silvio D Caudy1017France2024-06-02
Johnson N Perin1018Brazil2024-06-11
Jeanfrancois D Sergi1019United Kingdom2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David B CampainUnited KingdomXuxue Feng UNQUALIFIED
David Z AlbaresFranceIoni Bowcher UNQUALIFIED
Darci Y StensethBrazilAsiya Javayant QUALIFIED
Adams A InouyeCanadaStephen Shaw NEGOTIATION
Francesco H TollnerBrazilElwin Sharvill RENEWAL
Kaitlin Q RulapaughGermanyAmy Elsner UNQUALIFIED
Maisha B PaprockiArgentinaIvan Magalhaes NEGOTIATION
Kadeem H GarufiUnited KingdomXuxue Feng NEGOTIATION
Emily I WieserGermanyAnna Fali NEW
Ivar C ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Julie J SaylorsSpainIoni Bowcher UNQUALIFIED
Claire T WieserFranceElwin Sharvill UNQUALIFIED
Alejandro V SlusarskiSpainXuxue Feng UNQUALIFIED
Julie Z SaylorsCanadaIvan Magalhaes RENEWAL
Smith T FigeroaGermanyAmy Elsner QUALIFIED
Wickens J VocelkaJapanIvan Magalhaes NEGOTIATION
Munro R BowleyBrazilAsiya Javayant RENEWAL
Greenwood P MorascaBrazilElwin Sharvill PROPOSAL
Izzy U SaylorsIndiaXuxue Feng RENEWAL
Mujtaba U GauchoBrazilIoni Bowcher PROPOSAL
Maria Q WaycottCanadaIvan Magalhaes UNQUALIFIED
Ashley I DarakjyBrazilBernardo Dominic QUALIFIED
James Q RutaItalyIvan Magalhaes PROPOSAL
Faith K GlickBrazilIvan Magalhaes PROPOSAL
Greenwood H MarrierFranceAnna Fali NEW
Ivar H StockhamUnited KingdomAmy Elsner RENEWAL
Ivar B GlickArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois A FollerRussiaAmy Elsner NEGOTIATION
Ricardo M PaprockiAustraliaAmy Elsner QUALIFIED
Morrow D IturbideJapanIoni Bowcher NEGOTIATION
Jones Z SergiSpainBernardo Dominic NEGOTIATION
Kadeem B FollerJapanAmy Elsner PROPOSAL
Silvio C AmigonArgentinaXuxue Feng QUALIFIED
Claire V RutaJapanAnna Fali QUALIFIED
Julie P KolmetzCanadaAsiya Javayant UNQUALIFIED
Deepesh B MaletSpainIvan Magalhaes QUALIFIED
Tony Y SchemmerGermanyElwin Sharvill PROPOSAL
Leja B MaletUnited KingdomAmy Elsner NEW
Emily I FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro L KolmetzGermanyAnna Fali 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>