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
Kadeem Q KuskoRussiaAnna Fali PROPOSAL
Deepesh U GillianJapanAsiya Javayant UNQUALIFIED
Claire B CaldareraGermanyAnna Fali NEGOTIATION
Claire B RimItalyOnyama Limba NEW
Cody G AlbaresGermanyAnna Fali RENEWAL
Sinclair P IturbideGermanyXuxue Feng NEGOTIATION
Isabel R GarufiUnited KingdomAmy Elsner NEW
Jennifer I FerenczAustraliaAsiya Javayant RENEWAL
Leon T InouyeIndiaElwin Sharvill NEW
Claire G DoeSpainAnna Fali QUALIFIED
Maria Z WieserGermanyOnyama Limba NEGOTIATION
Silvio W RimSpainElwin Sharvill QUALIFIED
Darci O RutaIndiaBernardo Dominic NEGOTIATION
Juan Z RulapaughJapanOnyama Limba RENEWAL
Mayumi U MaletJapanAnna Fali PROPOSAL
Darci O IturbideAustraliaOnyama Limba NEW
Deepesh E VocelkaGermanyOnyama Limba RENEWAL
Claire O FollerAustraliaAsiya Javayant NEGOTIATION
Octavia T FigeroaIndiaAmy Elsner NEW
Tony G PoquetteItalyAmy Elsner RENEWAL
Rodrigues U VocelkaGermanyAmy Elsner UNQUALIFIED
Alejandro B TollnerAustraliaIoni Bowcher QUALIFIED
James J KuskoArgentinaStephen Shaw NEW
Kaitlin X FigeroaArgentinaXuxue Feng RENEWAL
Izzy T SlusarskiSpainOnyama Limba UNQUALIFIED
Salvatore D PaprockiGermanyAmy Elsner NEW
Maria I PaprockiAustraliaStephen Shaw RENEWAL
Emily O FollerJapanAnna Fali NEGOTIATION
Aika X GillianGermanyAsiya Javayant PROPOSAL
Ashley A StensethJapanElwin Sharvill UNQUALIFIED
Greenwood N BriddickJapanXuxue Feng UNQUALIFIED
Alejandro D WhobreyCanadaElwin Sharvill UNQUALIFIED
Jefferson K CaldareraCanadaIvan Magalhaes NEGOTIATION
Wickens I WieserJapanStephen Shaw RENEWAL
Cody F OldroydJapanAsiya Javayant NEGOTIATION
Aditya I PerinGermanyAmy Elsner UNQUALIFIED
Smith I SergiBrazilBernardo Dominic NEW
Aika X SlusarskiIndiaElwin Sharvill NEW
Johnson G MorascaArgentinaIvan Magalhaes NEGOTIATION
Costa L NickaGermanyIoni Bowcher NEGOTIATION
Silvio C BriddickGermanyElwin Sharvill RENEWAL
Cody L AmigonUnited KingdomAsiya Javayant RENEWAL
Salvatore H FigeroaRussiaElwin Sharvill NEW
James Z WhobreyCanadaAnna Fali NEW
Misaki I OstroskyRussiaAsiya Javayant NEGOTIATION
Greenwood U FlosiGermanyAsiya Javayant RENEWAL
Kaitlin X MaletArgentinaAnna Fali NEGOTIATION
Maria J SchemmerAustraliaAmy Elsner QUALIFIED
Ivar F FerenczItalyAnna Fali NEW
Aika G MarrierGermanyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois B VenereFranceAsiya Javayant UNQUALIFIED
Mayumi E NickaSpainIoni Bowcher PROPOSAL
Maisha O BowleyItalyStephen Shaw UNQUALIFIED
Murillo Q KuskoItalyAsiya Javayant NEW
Mujtaba V MacleadItalyXuxue Feng QUALIFIED
Murillo S ShinkoArgentinaStephen Shaw NEGOTIATION
Juan K FerenczIndiaXuxue Feng PROPOSAL
Morrow Z VenereFranceAmy Elsner UNQUALIFIED
Izzy R PaprockiCanadaIoni Bowcher UNQUALIFIED
Jones R RoysterRussiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy A StockhamRussia2024-05-29Rangoni Of Florence PROPOSAL87Onyama Limba
1001Emily G KuskoSpain2024-05-24Morlong Associates PROPOSAL72Amy Elsner
1002Julie X BriddickBrazil2024-06-05Benton, John B Jr PROPOSAL25Stephen Shaw
1003Stacey A WhobreySpain2024-06-14Morlong Associates NEGOTIATION93Stephen Shaw
1004Chavez V MorascaArgentina2024-06-06Dorl, James J Esq RENEWAL66Amy Elsner
1005Ivar P BowleyGermany2024-05-30Buckley Miller Wright RENEWAL86Stephen Shaw
1006Sinclair V SaylorsJapan2024-06-13Printing Dimensions QUALIFIED61Bernardo Dominic
1007Johnson X DilliardRussia2024-06-09Morlong Associates RENEWAL3Elwin Sharvill
1008Mujtaba E BowleyJapan2024-06-16Rangoni Of Florence NEW59Ioni Bowcher
1009Izzy S NestleBrazil2024-05-29Chemel, James L Cpa RENEWAL73Asiya Javayant
1010Smith I BriddickArgentina2024-06-12Feiner Bros NEGOTIATION70Stephen Shaw
1011Deepesh S SlusarskiAustralia2024-05-29Printing Dimensions NEGOTIATION93Elwin Sharvill
1012Greenwood M BriddickIndia2024-06-07Morlong Associates PROPOSAL3Ivan Magalhaes
1013James C SaylorsItaly2024-06-13King, Christopher A Esq PROPOSAL51Bernardo Dominic
1014Izzy C CampainIndia2024-06-03Dorl, James J Esq NEGOTIATION69Onyama Limba
1015Juan A BowleyArgentina2024-05-30Chanay, Jeffrey A Esq NEGOTIATION70Ivan Magalhaes
1016Octavia J WhobreySpain2024-06-21Feltz Printing Service RENEWAL21Onyama Limba
1017Juan G BologniaCanada2024-05-29Chapman, Ross E Esq NEGOTIATION99Amy Elsner
1018Adams N TollnerGermany2024-06-09Chemel, James L Cpa NEW29Amy Elsner
1019Maria N StensethIndia2024-05-29Dorl, James J Esq RENEWAL95Ioni Bowcher
1020Darci I GarufiBrazil2024-06-11Chapman, Ross E Esq NEGOTIATION86Xuxue Feng
1021Darci U WaycottJapan2024-05-28Benton, John B Jr RENEWAL94Xuxue Feng
1022Smith A WaycottRussia2024-06-01Chemel, James L Cpa QUALIFIED88Anna Fali
1023Mayumi F KolmetzSpain2024-06-21Feltz Printing Service UNQUALIFIED60Elwin Sharvill
1024Murillo F AmigonUnited Kingdom2024-06-02Chapman, Ross E Esq PROPOSAL84Xuxue Feng
1025Johnson P MacleadJapan2024-06-01Truhlar And Truhlar Attys RENEWAL50Amy Elsner
1026Greenwood P SlusarskiItaly2024-05-25Commercial Press QUALIFIED27Elwin Sharvill
1027Isabel K GlickJapan2024-06-17King, Christopher A Esq UNQUALIFIED68Elwin Sharvill
1028Antonio L ChuiJapan2024-06-19Morlong Associates UNQUALIFIED82Anna Fali
1029Aruna N SchemmerArgentina2024-06-08Feltz Printing Service UNQUALIFIED4Anna Fali
1030Maisha P WhobreyAustralia2024-05-30Morlong Associates RENEWAL33Amy Elsner
1031Morrow O SlusarskiItaly2024-06-21Benton, John B Jr PROPOSAL77Onyama Limba
1032Ricardo M RulapaughFrance2024-05-29Truhlar And Truhlar Attys RENEWAL67Elwin Sharvill
1033Octavia D FollerUnited Kingdom2024-06-13Rousseaux, Michael Esq NEGOTIATION40Bernardo Dominic
1034Ivar T RutaItaly2024-06-13Feiner Bros QUALIFIED83Bernardo Dominic
1035Mayumi C SlusarskiRussia2024-06-14Truhlar And Truhlar Attys UNQUALIFIED46Amy Elsner
1036Salvatore G KuskoGermany2024-06-13Truhlar And Truhlar Attys UNQUALIFIED47Amy Elsner
1037Claire G CampainSpain2024-06-01Chapman, Ross E Esq PROPOSAL21Asiya Javayant
1038Mayumi E InouyeArgentina2024-06-13Feltz Printing Service NEW72Asiya Javayant
1039Wickens T PerinGermany2024-06-10Feltz Printing Service QUALIFIED60Amy Elsner
1040Wickens J VenereGermany2024-05-29King, Christopher A Esq RENEWAL75Xuxue Feng
1041Nicolas M AlbaresUnited Kingdom2024-06-07Chapman, Ross E Esq NEW33Anna Fali
1042Aruna Y RulapaughArgentina2024-05-29Printing Dimensions RENEWAL53Asiya Javayant
1043Aika Y GlickBrazil2024-06-21Commercial Press NEGOTIATION48Bernardo Dominic
1044Ricardo F ChuiGermany2024-06-20Rangoni Of Florence RENEWAL78Ioni Bowcher
1045Antonio S CaldareraGermany2024-06-01Commercial Press QUALIFIED11Xuxue Feng
1046Alejandro G AmigonArgentina2024-06-21Rangoni Of Florence NEGOTIATION6Onyama Limba
1047Mujtaba J ShinkoSpain2024-06-16Morlong Associates NEW72Stephen Shaw
1048Rodrigues T RutaAustralia2024-06-13Truhlar And Truhlar Attys RENEWAL53Elwin Sharvill
1049Jeanfrancois C ButtSpain2024-06-14Benton, John B Jr QUALIFIED31Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Johnson R FollerAustraliaIvan Magalhaes NEGOTIATION
Darci M BologniaCanadaStephen Shaw PROPOSAL
Claire E DoeGermanyXuxue Feng NEGOTIATION
Juan Y CampainFranceAnna Fali RENEWAL
Claire J DoeJapanStephen Shaw PROPOSAL
Leja P KolmetzCanadaElwin Sharvill NEW
Tony U NestleUnited KingdomIoni Bowcher NEW
Aditya B OstroskyBrazilIoni Bowcher QUALIFIED
Alejandro A DilliardJapanAmy Elsner PROPOSAL
Kadeem C CaldareraCanadaStephen Shaw RENEWAL
Julie Z RoysterAustraliaAsiya Javayant PROPOSAL
Misaki E GlickJapanElwin Sharvill RENEWAL
Kaitlin I TollnerSpainStephen Shaw PROPOSAL
Alejandro A BriddickBrazilOnyama Limba QUALIFIED
Mayumi I FerenczArgentinaAmy Elsner NEW
Kaitlin D BriddickSpainAmy Elsner QUALIFIED
Mayumi J ChuiSpainXuxue Feng NEW
Maisha G SergiItalyXuxue Feng QUALIFIED
Kaitlin Z GauchoJapanXuxue Feng UNQUALIFIED
Morrow G AlbaresBrazilAsiya Javayant RENEWAL
Rodrigues U RutaSpainIoni Bowcher RENEWAL
Jefferson W CampainArgentinaOnyama Limba RENEWAL
Jones N SchemmerSpainAsiya Javayant RENEWAL
Jefferson C NestleJapanXuxue Feng RENEWAL
Rodrigues Q NestleBrazilElwin Sharvill UNQUALIFIED
Deepesh O GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba W DilliardBrazilStephen Shaw PROPOSAL
Emily C GillianRussiaOnyama Limba NEGOTIATION
David Q ShinkoAustraliaAsiya Javayant RENEWAL
Johnson V CampainArgentinaAsiya Javayant PROPOSAL
Tony W AmigonUnited KingdomAnna Fali QUALIFIED
Leon N CaudyFranceAmy Elsner RENEWAL
Leja H SchemmerArgentinaElwin Sharvill QUALIFIED
Stacey Q CaudySpainOnyama Limba PROPOSAL
Ivar S ChuiCanadaBernardo Dominic NEGOTIATION
Mujtaba E BologniaCanadaXuxue Feng NEGOTIATION
Costa Z GauchoGermanyOnyama Limba RENEWAL
Emily P GauchoBrazilStephen Shaw RENEWAL
Greenwood O FerenczSpainIoni Bowcher NEGOTIATION
Kaitlin X WhobreyJapanOnyama Limba NEGOTIATION
Julie E MacleadRussiaBernardo Dominic NEW
Ricardo Y FollerJapanAmy Elsner UNQUALIFIED
Octavia K AmigonRussiaOnyama Limba UNQUALIFIED
Mujtaba R InouyeJapanAsiya Javayant NEGOTIATION
Sinclair E PaprockiSpainXuxue Feng QUALIFIED
Costa T InouyeIndiaXuxue Feng RENEWAL
Stacey H OstroskyArgentinaIoni Bowcher RENEWAL
Izzy I DarakjyCanadaBernardo Dominic NEGOTIATION
Munro S MarrierGermanyAnna Fali QUALIFIED
Johnson L SergiItalyIoni Bowcher NEW
Frozen Columns
Name
Darci C Rim
Jefferson U Royster
Munro D Ostrosky
Maisha O Venere
Ashley E Gaucho
Alejandro U Foller
Darci P Morasca
Wickens J Gaucho
Chavez C Tollner
Rodrigues R Malet
Alejandro O Amigon
Izzy H Campain
Aditya Q Darakjy
Chavez D Amigon
Aika Y Gaucho
Greenwood Q Glick
Arvin B Perin
Faith F Albares
Jones Y Dilliard
Kadeem W Malet
Darci U Malet
Nicolas S Doe
Chavez Y Oldroyd
Ashley H Marrier
Isabel Q Ostrosky
Kaitlin F Malet
Arvin K Venere
Octavia U Oldroyd
Rodrigues U Royster
Aruna I Marrier
Izzy J Whobrey
Morrow Z Gillian
Emily V Shinko
Claire C Flosi
Isabel F Marrier
Faith X Flosi
Sinclair F Oldroyd
Ricardo U Stockham
Clifford E Schemmer
Rodrigues U Foller
Greenwood O Stockham
Juan I Darakjy
Greenwood T Inouye
Alejandro W Doe
Darci C Ostrosky
Stacey I Waycott
Clifford K Rulapaugh
Leja Q Albares
Ricardo V Maclead
Clifford W Gillian
IdCountryDate
1000Argentina2024-05-30
1001Brazil2024-06-01
1002Italy2024-06-15
1003India2024-06-21
1004Brazil2024-06-08
1005Australia2024-06-11
1006Canada2024-06-09
1007Japan2024-06-02
1008Brazil2024-06-17
1009Canada2024-06-09
1010Germany2024-06-20
1011Canada2024-06-08
1012Argentina2024-06-05
1013Brazil2024-06-22
1014Italy2024-06-22
1015Canada2024-06-14
1016Germany2024-06-12
1017Russia2024-06-12
1018Germany2024-06-15
1019Brazil2024-06-06
1020Brazil2024-06-01
1021United Kingdom2024-06-19
1022Australia2024-05-27
1023Canada2024-06-19
1024United Kingdom2024-06-10
1025Japan2024-06-13
1026France2024-06-11
1027Spain2024-06-12
1028Spain2024-06-10
1029United Kingdom2024-06-19
1030Russia2024-06-06
1031Argentina2024-06-05
1032India2024-06-15
1033France2024-06-16
1034Spain2024-05-30
1035Australia2024-05-25
1036Germany2024-05-29
1037Brazil2024-05-24
1038Brazil2024-06-20
1039Spain2024-06-19
1040Argentina2024-06-02
1041Argentina2024-05-24
1042Russia2024-05-24
1043France2024-06-08
1044Japan2024-06-05
1045United Kingdom2024-06-11
1046Argentina2024-06-04
1047United Kingdom2024-05-24
1048France2024-05-27
1049Japan2024-06-04

On-Demand Data

NameIdCountryDate
Ashley Y Shinko1000India2024-06-21
Faith H Ruta1001Germany2024-06-13
Deepesh V Doe1002Germany2024-05-29
Julie B Vocelka1003Germany2024-05-25
Rodrigues N Rulapaugh1004Brazil2024-05-31
Jeanfrancois G Nestle1005United Kingdom2024-06-02
Aditya D Ferencz1006Australia2024-06-14
Adams Q Flosi1007France2024-06-20
Emily Q Figeroa1008Germany2024-06-07
Salvatore Q Doe1009France2024-06-22
Mujtaba R Doe1010Spain2024-06-09
Kaitlin J Caldarera1011France2024-06-09
Izzy K Malet1012Argentina2024-06-16
Jennifer C Maclead1013Brazil2024-06-01
Adams W Schemmer1014India2024-06-20
Cody W Marrier1015Italy2024-06-20
Greenwood O Malet1016Germany2024-05-24
Costa M Iturbide1017Brazil2024-06-13
Morrow R Wieser1018Russia2024-06-01
Wickens A Tollner1019Australia2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha U StensethRussiaIoni Bowcher RENEWAL
Arvin S KuskoBrazilAsiya Javayant PROPOSAL
Kaitlin C InouyeJapanBernardo Dominic NEW
Chavez X KolmetzJapanElwin Sharvill QUALIFIED
Salvatore B CaudyGermanyIvan Magalhaes NEW
Emily F IturbideUnited KingdomElwin Sharvill QUALIFIED
Kadeem E FerenczCanadaAmy Elsner UNQUALIFIED
Octavia D BologniaIndiaXuxue Feng RENEWAL
Jennifer A SchemmerArgentinaAsiya Javayant RENEWAL
Jones M MaletSpainStephen Shaw PROPOSAL
Cody B GillianBrazilBernardo Dominic UNQUALIFIED
Misaki D SlusarskiCanadaOnyama Limba RENEWAL
Ashley G KuskoAustraliaAsiya Javayant RENEWAL
Munro V BriddickRussiaElwin Sharvill PROPOSAL
Kadeem B BologniaBrazilIoni Bowcher NEGOTIATION
Misaki W MarrierArgentinaAsiya Javayant UNQUALIFIED
Izzy O MorascaAustraliaElwin Sharvill NEGOTIATION
Costa J CaudyJapanAnna Fali NEGOTIATION
Deepesh H CaudyArgentinaAmy Elsner QUALIFIED
Cody P InouyeBrazilAnna Fali NEW
Ashley G GarufiRussiaOnyama Limba NEW
Kadeem G GarufiJapanXuxue Feng UNQUALIFIED
David R MaletFranceBernardo Dominic UNQUALIFIED
Jeanfrancois K BowleyIndiaAnna Fali RENEWAL
Nicolas W ButtCanadaOnyama Limba RENEWAL
James U RoysterRussiaStephen Shaw NEW
Johnson C CaudyFranceAsiya Javayant UNQUALIFIED
Mujtaba Q BowleyBrazilStephen Shaw NEW
Maria F VenereFranceBernardo Dominic PROPOSAL
Costa T RoysterGermanyOnyama Limba NEGOTIATION
Isabel N FollerAustraliaAnna Fali QUALIFIED
Wickens L ButtItalyAnna Fali UNQUALIFIED
Jefferson Q AlbaresGermanyElwin Sharvill RENEWAL
David N InouyeUnited KingdomStephen Shaw NEGOTIATION
Emily T VocelkaJapanAnna Fali NEW
Jeanfrancois C SaylorsIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois B RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Misaki M MarrierCanadaAnna Fali NEW
Ivar H DoeItalyOnyama Limba NEW
Wickens N InouyeUnited KingdomIvan Magalhaes UNQUALIFIED

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