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
Jeanfrancois B WhobreyGermanyIvan Magalhaes RENEWAL
Smith N GillianUnited KingdomStephen Shaw QUALIFIED
Ashley O BowleyCanadaBernardo Dominic PROPOSAL
Aditya X WhobreyCanadaAsiya Javayant UNQUALIFIED
Ashley G RoysterCanadaXuxue Feng NEW
Misaki C PoquetteIndiaOnyama Limba QUALIFIED
Sinclair P ChuiArgentinaXuxue Feng RENEWAL
Aruna G KolmetzSpainBernardo Dominic QUALIFIED
Aruna Z CaudyItalyOnyama Limba RENEWAL
Ashley W PerinBrazilBernardo Dominic RENEWAL
Sinclair X FollerUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem T WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Izzy L KuskoItalyStephen Shaw PROPOSAL
Leja P DilliardJapanAnna Fali UNQUALIFIED
Adams T NestleFranceAnna Fali QUALIFIED
Aika I GillianIndiaIvan Magalhaes UNQUALIFIED
Nicolas S KolmetzCanadaAnna Fali NEW
Smith M IturbideJapanXuxue Feng NEGOTIATION
Mujtaba V RoysterSpainIoni Bowcher NEW
Ivar M ButtCanadaElwin Sharvill NEGOTIATION
Julie I SchemmerUnited KingdomElwin Sharvill QUALIFIED
Johnson D GillianArgentinaOnyama Limba RENEWAL
Greenwood L BowleyAustraliaAsiya Javayant UNQUALIFIED
Jeanfrancois B ChuiRussiaIvan Magalhaes NEGOTIATION
Alejandro H FerenczRussiaIvan Magalhaes QUALIFIED
Morrow P DarakjyUnited KingdomAnna Fali RENEWAL
Aditya L MacleadGermanyAsiya Javayant PROPOSAL
Mayumi C IturbideSpainAmy Elsner QUALIFIED
Chavez S KolmetzUnited KingdomXuxue Feng NEGOTIATION
Rodrigues G MorascaCanadaStephen Shaw UNQUALIFIED
Nicolas T PerinSpainAmy Elsner PROPOSAL
Antonio C GauchoIndiaAsiya Javayant QUALIFIED
Juan Y MaletBrazilStephen Shaw PROPOSAL
Cody S RimSpainAsiya Javayant NEW
Chavez K DilliardIndiaStephen Shaw PROPOSAL
Ashley V RimFranceAnna Fali UNQUALIFIED
Silvio Y FerenczRussiaIoni Bowcher QUALIFIED
Mayumi I AmigonJapanAmy Elsner UNQUALIFIED
Jeanfrancois M TollnerGermanyXuxue Feng PROPOSAL
Isabel G GlickArgentinaOnyama Limba QUALIFIED
Jennifer J GarufiCanadaElwin Sharvill QUALIFIED
Juan V SlusarskiCanadaAnna Fali UNQUALIFIED
Smith C RutaItalyAnna Fali PROPOSAL
Mayumi W IturbideItalyOnyama Limba NEGOTIATION
Darci Q SlusarskiArgentinaStephen Shaw UNQUALIFIED
Kaitlin S FigeroaJapanElwin Sharvill UNQUALIFIED
Rodrigues L SergiSpainAnna Fali PROPOSAL
Costa B MacleadBrazilXuxue Feng PROPOSAL
Morrow J CaudySpainElwin Sharvill NEGOTIATION
Maisha E CaldareraItalyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Adams I FerenczCanadaIoni Bowcher QUALIFIED
Julie N VenereIndiaIvan Magalhaes QUALIFIED
Aditya S GarufiFranceStephen Shaw QUALIFIED
David W BriddickAustraliaIoni Bowcher RENEWAL
Isabel M DoeJapanIvan Magalhaes PROPOSAL
Isabel M RimRussiaXuxue Feng UNQUALIFIED
Morrow F DoeArgentinaOnyama Limba UNQUALIFIED
Rodrigues X WaycottIndiaAmy Elsner NEW
Maria N RimGermanyIoni Bowcher UNQUALIFIED
Aditya I StensethCanadaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon R KolmetzAustralia2024-06-15Commercial Press NEW9Elwin Sharvill
1001Nicolas E VenereRussia2024-06-19Printing Dimensions NEGOTIATION14Asiya Javayant
1002Julie J NickaBrazil2024-06-06Chapman, Ross E Esq QUALIFIED85Asiya Javayant
1003Chavez E FlosiFrance2024-06-10Chanay, Jeffrey A Esq RENEWAL60Onyama Limba
1004Nicolas V PaprockiGermany2024-06-08Truhlar And Truhlar Attys NEW74Ioni Bowcher
1005Tony V FlosiCanada2024-06-13Printing Dimensions QUALIFIED33Ivan Magalhaes
1006Jones O MarrierSpain2024-06-21Chapman, Ross E Esq PROPOSAL68Asiya Javayant
1007Claire Q BowleyArgentina2024-05-25King, Christopher A Esq UNQUALIFIED44Asiya Javayant
1008Isabel Y MorascaUnited Kingdom2024-06-20Chanay, Jeffrey A Esq QUALIFIED45Elwin Sharvill
1009Nicolas N MaletSpain2024-05-27Truhlar And Truhlar Attys PROPOSAL12Bernardo Dominic
1010Cody B MaletFrance2024-06-11Truhlar And Truhlar Attys UNQUALIFIED49Bernardo Dominic
1011Darci S GarufiJapan2024-06-17Chemel, James L Cpa PROPOSAL9Stephen Shaw
1012Isabel R RulapaughUnited Kingdom2024-05-26Chanay, Jeffrey A Esq QUALIFIED65Elwin Sharvill
1013Munro Q TollnerCanada2024-06-16Rousseaux, Michael Esq NEW17Anna Fali
1014Munro P SchemmerUnited Kingdom2024-06-03Rangoni Of Florence NEW13Ioni Bowcher
1015Munro O DarakjyItaly2024-06-03Feiner Bros UNQUALIFIED87Ioni Bowcher
1016Smith X MorascaCanada2024-06-22King, Christopher A Esq NEW73Bernardo Dominic
1017Isabel A OldroydAustralia2024-06-13Buckley Miller Wright NEGOTIATION48Ivan Magalhaes
1018Adams J VocelkaArgentina2024-06-01Benton, John B Jr QUALIFIED86Elwin Sharvill
1019Chavez V NestleGermany2024-05-27Chapman, Ross E Esq PROPOSAL31Bernardo Dominic
1020Salvatore K DilliardIndia2024-06-11Benton, John B Jr NEW68Bernardo Dominic
1021Smith F NickaFrance2024-06-12Buckley Miller Wright NEW60Anna Fali
1022Silvio L SergiBrazil2024-05-26Chemel, James L Cpa QUALIFIED92Xuxue Feng
1023Johnson W GillianIndia2024-06-03Chapman, Ross E Esq QUALIFIED72Xuxue Feng
1024Jennifer O DarakjyCanada2024-06-07Benton, John B Jr RENEWAL67Bernardo Dominic
1025Greenwood W RimRussia2024-05-29Dorl, James J Esq RENEWAL39Anna Fali
1026James M GauchoCanada2024-06-20Printing Dimensions UNQUALIFIED69Ioni Bowcher
1027Sinclair R SchemmerArgentina2024-06-22Chapman, Ross E Esq QUALIFIED64Bernardo Dominic
1028Julie D KuskoRussia2024-06-08Feltz Printing Service UNQUALIFIED85Amy Elsner
1029Francesco A CampainAustralia2024-06-22Chanay, Jeffrey A Esq NEW78Onyama Limba
1030Julie K PerinRussia2024-06-16Chanay, Jeffrey A Esq QUALIFIED55Onyama Limba
1031Emily X CaldareraSpain2024-05-26Benton, John B Jr QUALIFIED7Stephen Shaw
1032Aruna D ShinkoAustralia2024-06-01Chanay, Jeffrey A Esq NEGOTIATION59Ivan Magalhaes
1033Kaitlin E PoquetteCanada2024-06-06Truhlar And Truhlar Attys RENEWAL74Elwin Sharvill
1034Juan A InouyeArgentina2024-06-14Feiner Bros QUALIFIED92Bernardo Dominic
1035Jeanfrancois C SlusarskiBrazil2024-06-08Benton, John B Jr PROPOSAL58Anna Fali
1036Kaitlin F StockhamRussia2024-05-25Chapman, Ross E Esq QUALIFIED88Anna Fali
1037Rodrigues V AlbaresSpain2024-06-02King, Christopher A Esq PROPOSAL39Asiya Javayant
1038Maisha P FigeroaItaly2024-06-08Chemel, James L Cpa PROPOSAL21Onyama Limba
1039Johnson O CampainUnited Kingdom2024-05-31Rangoni Of Florence NEW55Stephen Shaw
1040Darci L PaprockiSpain2024-05-27Rousseaux, Michael Esq NEW95Bernardo Dominic
1041Mujtaba B PerinCanada2024-06-22Chemel, James L Cpa NEGOTIATION60Amy Elsner
1042Stacey L CaudyJapan2024-06-15Feiner Bros RENEWAL68Ivan Magalhaes
1043Kaitlin K VocelkaRussia2024-06-13King, Christopher A Esq UNQUALIFIED92Xuxue Feng
1044Jeanfrancois S GarufiAustralia2024-06-22Chemel, James L Cpa UNQUALIFIED21Bernardo Dominic
1045Leja B MorascaFrance2024-05-26Buckley Miller Wright QUALIFIED82Ivan Magalhaes
1046Maria B BowleyBrazil2024-06-09Chemel, James L Cpa RENEWAL24Ivan Magalhaes
1047Smith B PaprockiIndia2024-06-12Benton, John B Jr NEW58Onyama Limba
1048Murillo X StensethJapan2024-06-11Truhlar And Truhlar Attys UNQUALIFIED18Anna Fali
1049David Q RimBrazil2024-05-30Printing Dimensions QUALIFIED35Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Murillo B IturbideItalyAmy Elsner PROPOSAL
Ashley E FigeroaUnited KingdomAnna Fali UNQUALIFIED
Aika T SergiArgentinaOnyama Limba NEW
Claire E BologniaUnited KingdomXuxue Feng RENEWAL
Ricardo P RulapaughItalyIoni Bowcher NEGOTIATION
Sinclair D PerinCanadaBernardo Dominic QUALIFIED
Juan H MacleadCanadaAmy Elsner PROPOSAL
Octavia V SergiAustraliaAsiya Javayant NEW
Maisha N CaldareraFranceAsiya Javayant UNQUALIFIED
Rodrigues X GillianJapanElwin Sharvill PROPOSAL
Maria N BowleyItalyAsiya Javayant NEGOTIATION
Cody O DilliardJapanXuxue Feng NEW
Francesco Y SergiIndiaAmy Elsner NEGOTIATION
Jones H OldroydUnited KingdomElwin Sharvill NEW
Izzy T GlickBrazilAnna Fali PROPOSAL
Aika U MaletUnited KingdomXuxue Feng NEGOTIATION
Tony J GauchoItalyOnyama Limba NEW
Murillo L AlbaresBrazilIvan Magalhaes NEGOTIATION
Emily G PoquetteItalyAsiya Javayant RENEWAL
Misaki K DarakjyGermanyAmy Elsner NEW
Ashley K ButtItalyAmy Elsner UNQUALIFIED
Jones S BologniaRussiaOnyama Limba QUALIFIED
Izzy F GarufiItalyXuxue Feng UNQUALIFIED
Ivar N SlusarskiRussiaElwin Sharvill QUALIFIED
Leja V ButtGermanyBernardo Dominic RENEWAL
Leon W ShinkoSpainStephen Shaw PROPOSAL
Faith J VenereUnited KingdomBernardo Dominic NEGOTIATION
Ashley F AlbaresArgentinaBernardo Dominic UNQUALIFIED
Sinclair V StockhamItalyAsiya Javayant NEW
Kadeem E RutaArgentinaIvan Magalhaes RENEWAL
Chavez D SergiFranceAsiya Javayant QUALIFIED
Francesco K DilliardArgentinaElwin Sharvill UNQUALIFIED
Aika I PoquetteJapanIoni Bowcher UNQUALIFIED
Maisha J GillianCanadaBernardo Dominic PROPOSAL
Darci K BologniaArgentinaElwin Sharvill UNQUALIFIED
Antonio X TollnerAustraliaXuxue Feng UNQUALIFIED
Kadeem K RimJapanAsiya Javayant PROPOSAL
Adams R GlickFranceAnna Fali NEGOTIATION
Deepesh N TollnerJapanElwin Sharvill UNQUALIFIED
Wickens E ButtAustraliaAnna Fali NEGOTIATION
Kadeem B DarakjyAustraliaIoni Bowcher NEW
Rodrigues L RutaUnited KingdomAmy Elsner NEGOTIATION
Octavia W ShinkoCanadaStephen Shaw NEW
Maisha Z DoeGermanyIvan Magalhaes PROPOSAL
Wickens R RimFranceOnyama Limba QUALIFIED
Aditya L RulapaughCanadaBernardo Dominic UNQUALIFIED
Juan Q OstroskySpainElwin Sharvill NEGOTIATION
Faith S OstroskySpainIvan Magalhaes PROPOSAL
Salvatore K MaletUnited KingdomIoni Bowcher QUALIFIED
Kadeem V CampainJapanAsiya Javayant NEW
Frozen Columns
Name
Juan T Stenseth
James W Dilliard
Johnson P Paprocki
Aruna R Ruta
Mujtaba B Paprocki
Izzy D Paprocki
Wickens J Kolmetz
Julie Q Campain
David E Vocelka
Munro T Caudy
Ashley W Foller
Aika Q Ruta
Alejandro O Briddick
Maisha W Chui
Ivar B Malet
Jeanfrancois H Paprocki
Ricardo J Maclead
Emily A Inouye
Jeanfrancois W Waycott
Cody N Campain
Chavez V Whobrey
Maisha U Kolmetz
Adams V Rim
Kadeem Q Kusko
Silvio I Morasca
Mayumi D Wieser
Julie G Amigon
Jennifer F Garufi
Mujtaba W Nicka
Ricardo C Darakjy
Arvin D Saylors
Maria D Oldroyd
Greenwood D Malet
Maria G Paprocki
Faith F Inouye
Antonio W Flosi
Julie S Waycott
Mujtaba Q Morasca
Alejandro F Foller
Juan H Butt
Julie Z Saylors
Misaki Z Dilliard
Arvin G Royster
Maisha Z Gillian
Leon A Dilliard
Murillo T Whobrey
Izzy B Slusarski
Salvatore F Maclead
Leon E Ferencz
Kadeem N Stenseth
IdCountryDate
1000France2024-06-15
1001Japan2024-06-05
1002Italy2024-06-19
1003Australia2024-06-18
1004Japan2024-05-26
1005Spain2024-06-18
1006France2024-06-05
1007United Kingdom2024-05-28
1008Germany2024-06-04
1009France2024-06-06
1010Canada2024-06-10
1011United Kingdom2024-06-02
1012United Kingdom2024-06-07
1013India2024-05-30
1014Brazil2024-06-06
1015Spain2024-05-26
1016India2024-06-06
1017Argentina2024-06-08
1018Brazil2024-06-03
1019Italy2024-06-06
1020Argentina2024-06-15
1021Canada2024-05-31
1022Australia2024-05-29
1023Germany2024-06-13
1024Australia2024-05-24
1025France2024-05-25
1026Spain2024-05-26
1027Australia2024-06-05
1028Brazil2024-06-01
1029Germany2024-06-14
1030Argentina2024-05-26
1031India2024-06-05
1032Spain2024-06-14
1033France2024-06-16
1034Germany2024-05-24
1035France2024-06-22
1036Argentina2024-06-06
1037India2024-06-07
1038France2024-06-21
1039Germany2024-06-20
1040Japan2024-06-18
1041India2024-06-16
1042Brazil2024-06-14
1043Canada2024-05-27
1044India2024-06-17
1045Argentina2024-05-26
1046Australia2024-06-09
1047Argentina2024-06-10
1048Japan2024-06-08
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Murillo U Tollner1000Japan2024-05-25
Silvio K Inouye1001Russia2024-06-03
Faith V Foller1002Brazil2024-06-01
Isabel T Glick1003France2024-05-28
Ivar N Paprocki1004France2024-05-25
Costa E Schemmer1005Germany2024-06-13
Munro J Garufi1006Canada2024-06-18
Arvin D Bowley1007Australia2024-06-08
Adams J Stockham1008France2024-06-15
Claire M Tollner1009United Kingdom2024-06-13
David R Gillian1010Argentina2024-05-26
Murillo I Stockham1011France2024-06-08
Mujtaba D Nestle1012Spain2024-06-20
Juan V Nicka1013United Kingdom2024-05-26
Murillo D Saylors1014Italy2024-06-20
Sinclair F Royster1015Russia2024-06-08
Nicolas D Ostrosky1016Germany2024-05-27
Salvatore Q Wieser1017Brazil2024-05-24
Claire U Flosi1018United Kingdom2024-06-05
Adams H Dilliard1019Spain2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Q BologniaBrazilStephen Shaw QUALIFIED
Leja B PoquetteSpainOnyama Limba RENEWAL
Clifford T StockhamBrazilStephen Shaw QUALIFIED
Sinclair X VenereUnited KingdomOnyama Limba NEW
Cody R InouyeIndiaBernardo Dominic QUALIFIED
Jeanfrancois D PoquetteRussiaOnyama Limba QUALIFIED
Murillo R DilliardGermanyElwin Sharvill UNQUALIFIED
Murillo I AlbaresRussiaOnyama Limba UNQUALIFIED
Salvatore G MorascaCanadaBernardo Dominic NEGOTIATION
Chavez I WaycottIndiaXuxue Feng NEW
Jefferson N GarufiUnited KingdomXuxue Feng RENEWAL
James C ShinkoCanadaBernardo Dominic UNQUALIFIED
Izzy S SergiAustraliaAmy Elsner PROPOSAL
Maisha U ShinkoRussiaOnyama Limba NEGOTIATION
Jennifer U RutaItalyElwin Sharvill RENEWAL
Octavia P KuskoAustraliaAmy Elsner RENEWAL
Nicolas M PerinIndiaStephen Shaw PROPOSAL
Misaki H SergiRussiaOnyama Limba QUALIFIED
Wickens A KolmetzGermanyAmy Elsner NEW
Isabel Q FerenczJapanIvan Magalhaes NEGOTIATION
Alejandro X OldroydIndiaIoni Bowcher RENEWAL
Rodrigues B MarrierRussiaOnyama Limba QUALIFIED
Mayumi Y RoysterAustraliaBernardo Dominic NEW
Maria U OstroskySpainIvan Magalhaes NEGOTIATION
Jennifer B BowleyBrazilIoni Bowcher QUALIFIED
Murillo H FollerAustraliaAsiya Javayant QUALIFIED
Adams I MorascaArgentinaOnyama Limba RENEWAL
Maisha D InouyeUnited KingdomAnna Fali PROPOSAL
Clifford V InouyeArgentinaElwin Sharvill RENEWAL
Leja S InouyeArgentinaIvan Magalhaes RENEWAL
Isabel Y WieserItalyBernardo Dominic NEW
Jennifer O CaldareraJapanElwin Sharvill NEGOTIATION
Nicolas H GauchoIndiaElwin Sharvill NEW
Clifford H MacleadCanadaOnyama Limba PROPOSAL
Izzy N FollerBrazilAmy Elsner NEGOTIATION
Mujtaba A RoysterJapanAnna Fali PROPOSAL
David L OstroskyBrazilElwin Sharvill QUALIFIED
Salvatore N RutaRussiaAmy Elsner NEGOTIATION
Emily X CaudyJapanAsiya Javayant NEW
Juan E CampainCanadaXuxue Feng 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>