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
Jefferson W MaletRussiaAsiya Javayant UNQUALIFIED
Salvatore K VenereGermanyOnyama Limba NEGOTIATION
Maria R NestleFranceOnyama Limba QUALIFIED
Jones M KolmetzUnited KingdomAsiya Javayant PROPOSAL
Juan O RutaCanadaAsiya Javayant PROPOSAL
Jones O MarrierSpainStephen Shaw UNQUALIFIED
Smith J BologniaRussiaAsiya Javayant PROPOSAL
Francesco P SaylorsIndiaXuxue Feng RENEWAL
Darci R MaletJapanAsiya Javayant RENEWAL
Murillo M OstroskyFranceAnna Fali NEW
Isabel L StensethRussiaElwin Sharvill PROPOSAL
Faith B WieserRussiaElwin Sharvill PROPOSAL
Ricardo B FollerJapanAnna Fali RENEWAL
Maisha K NestleGermanyXuxue Feng PROPOSAL
Stacey T SergiIndiaElwin Sharvill NEGOTIATION
Cody S KolmetzSpainAnna Fali PROPOSAL
Ricardo D RutaSpainIvan Magalhaes PROPOSAL
Costa X WhobreyIndiaIvan Magalhaes PROPOSAL
Alejandro F CaldareraUnited KingdomIoni Bowcher QUALIFIED
Kaitlin H PoquetteFranceAnna Fali NEW
Costa Q MaletAustraliaElwin Sharvill UNQUALIFIED
Faith H OstroskyIndiaIoni Bowcher UNQUALIFIED
Maisha Z OstroskyAustraliaIvan Magalhaes NEW
Wickens I BriddickCanadaElwin Sharvill QUALIFIED
Aditya M ShinkoJapanOnyama Limba QUALIFIED
Salvatore D SlusarskiAustraliaOnyama Limba UNQUALIFIED
Deepesh X InouyeAustraliaAsiya Javayant NEW
Izzy B MacleadFranceAmy Elsner NEW
Maria E ButtJapanAnna Fali PROPOSAL
Leja Y WhobreyIndiaIoni Bowcher QUALIFIED
Maisha U GarufiArgentinaElwin Sharvill NEGOTIATION
Leon P CaldareraBrazilIvan Magalhaes NEGOTIATION
Cody C NickaFranceOnyama Limba UNQUALIFIED
Deepesh W RimCanadaIvan Magalhaes NEW
Emily N FollerFranceIvan Magalhaes UNQUALIFIED
Claire C NickaBrazilXuxue Feng QUALIFIED
Izzy B RulapaughGermanyAnna Fali RENEWAL
Darci V AmigonBrazilOnyama Limba NEGOTIATION
Greenwood P IturbideCanadaElwin Sharvill UNQUALIFIED
Isabel A RoysterIndiaStephen Shaw NEW
Aruna J PaprockiJapanAmy Elsner NEGOTIATION
Ricardo A KuskoFranceAsiya Javayant QUALIFIED
Silvio B DarakjyIndiaElwin Sharvill UNQUALIFIED
Izzy X WaycottUnited KingdomAmy Elsner UNQUALIFIED
Faith Q RimIndiaBernardo Dominic UNQUALIFIED
Alejandro M MacleadBrazilAmy Elsner NEGOTIATION
Claire M SaylorsSpainXuxue Feng RENEWAL
Greenwood P KolmetzAustraliaBernardo Dominic RENEWAL
Jennifer T SlusarskiFranceOnyama Limba PROPOSAL
Greenwood A FlosiRussiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith Y DarakjySpainBernardo Dominic QUALIFIED
Smith U RulapaughIndiaIvan Magalhaes UNQUALIFIED
Darci X WhobreySpainAnna Fali QUALIFIED
Aika L PaprockiFranceStephen Shaw RENEWAL
Antonio N MaletSpainStephen Shaw NEW
Aditya N AmigonJapanStephen Shaw NEGOTIATION
Leon J DilliardAustraliaIoni Bowcher UNQUALIFIED
Smith H NickaUnited KingdomAmy Elsner UNQUALIFIED
Costa M MaletUnited KingdomStephen Shaw PROPOSAL
Julie L CaldareraJapanIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon G SchemmerRussia2024-06-08Rousseaux, Michael Esq QUALIFIED96Onyama Limba
1001Isabel C GillianArgentina2024-06-13Morlong Associates UNQUALIFIED30Bernardo Dominic
1002Greenwood D RulapaughIndia2024-05-15Feiner Bros QUALIFIED67Amy Elsner
1003Mujtaba L BriddickUnited Kingdom2024-05-29Rousseaux, Michael Esq RENEWAL1Anna Fali
1004Aruna Y TollnerFrance2024-05-30Rangoni Of Florence NEW72Ioni Bowcher
1005Emily S PaprockiBrazil2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED44Onyama Limba
1006Ivar Q GarufiGermany2024-06-02Rousseaux, Michael Esq QUALIFIED40Amy Elsner
1007Silvio E FollerGermany2024-05-30Buckley Miller Wright UNQUALIFIED21Amy Elsner
1008Costa J WaycottGermany2024-05-24Dorl, James J Esq RENEWAL37Anna Fali
1009Silvio Z SergiUnited Kingdom2024-05-29Morlong Associates UNQUALIFIED94Anna Fali
1010Izzy G RutaRussia2024-05-22Benton, John B Jr NEW78Amy Elsner
1011Francesco E PoquetteArgentina2024-05-25Printing Dimensions NEGOTIATION92Amy Elsner
1012Mayumi U RoysterCanada2024-06-11Chanay, Jeffrey A Esq RENEWAL75Onyama Limba
1013Maria A BowleyArgentina2024-05-15Feiner Bros QUALIFIED28Ivan Magalhaes
1014Octavia I FollerAustralia2024-05-23Chapman, Ross E Esq NEGOTIATION60Stephen Shaw
1015Ivar A ButtUnited Kingdom2024-05-30Buckley Miller Wright NEGOTIATION29Ioni Bowcher
1016Silvio Q StensethItaly2024-05-30Truhlar And Truhlar Attys NEW33Elwin Sharvill
1017David Y ShinkoUnited Kingdom2024-05-20King, Christopher A Esq NEGOTIATION32Onyama Limba
1018Kadeem W GarufiFrance2024-05-16Chanay, Jeffrey A Esq PROPOSAL96Asiya Javayant
1019Murillo M DilliardCanada2024-06-03Chemel, James L Cpa QUALIFIED33Bernardo Dominic
1020Faith X GauchoUnited Kingdom2024-06-04Truhlar And Truhlar Attys RENEWAL85Xuxue Feng
1021Maria Y SlusarskiRussia2024-06-05Feltz Printing Service PROPOSAL34Amy Elsner
1022Wickens E OstroskyGermany2024-06-10Rangoni Of Florence NEGOTIATION37Bernardo Dominic
1023David P PoquetteUnited Kingdom2024-05-22Benton, John B Jr NEW63Amy Elsner
1024James Z FlosiItaly2024-05-15Benton, John B Jr RENEWAL53Onyama Limba
1025Morrow C NestleGermany2024-06-07King, Christopher A Esq PROPOSAL56Xuxue Feng
1026Adams X OstroskyIndia2024-05-15King, Christopher A Esq QUALIFIED31Stephen Shaw
1027Smith Z WaycottItaly2024-05-26Chemel, James L Cpa NEW71Amy Elsner
1028Isabel L MarrierIndia2024-06-04Printing Dimensions PROPOSAL58Elwin Sharvill
1029Ivar D IturbideCanada2024-06-09Morlong Associates QUALIFIED24Onyama Limba
1030Jeanfrancois J NestleAustralia2024-06-07Buckley Miller Wright NEGOTIATION99Elwin Sharvill
1031Jeanfrancois S RutaUnited Kingdom2024-06-03Feiner Bros UNQUALIFIED65Xuxue Feng
1032Mayumi J KuskoUnited Kingdom2024-06-01Benton, John B Jr RENEWAL53Ioni Bowcher
1033Maria R GauchoCanada2024-05-25Dorl, James J Esq RENEWAL2Stephen Shaw
1034Clifford U TollnerBrazil2024-05-18Printing Dimensions NEW65Amy Elsner
1035Julie W FigeroaArgentina2024-05-29Morlong Associates PROPOSAL88Amy Elsner
1036Alejandro F VocelkaCanada2024-05-23Printing Dimensions UNQUALIFIED70Ioni Bowcher
1037Smith M MaletUnited Kingdom2024-05-23Feltz Printing Service QUALIFIED99Amy Elsner
1038Mujtaba X RimSpain2024-05-15Chemel, James L Cpa RENEWAL74Amy Elsner
1039Alejandro Z GillianAustralia2024-05-16Dorl, James J Esq NEGOTIATION51Ioni Bowcher
1040Smith V CaldareraUnited Kingdom2024-06-08Dorl, James J Esq RENEWAL43Stephen Shaw
1041Emily G ShinkoJapan2024-05-22Chemel, James L Cpa RENEWAL97Amy Elsner
1042Darci R InouyeGermany2024-05-21Chemel, James L Cpa QUALIFIED21Stephen Shaw
1043Antonio S KuskoArgentina2024-05-16Chapman, Ross E Esq UNQUALIFIED21Stephen Shaw
1044Aruna O PaprockiArgentina2024-06-07Dorl, James J Esq UNQUALIFIED53Ivan Magalhaes
1045Greenwood E SchemmerSpain2024-06-07Benton, John B Jr PROPOSAL58Onyama Limba
1046Johnson V BriddickAustralia2024-05-31Feiner Bros QUALIFIED69Onyama Limba
1047Ivar W AmigonUnited Kingdom2024-05-21King, Christopher A Esq UNQUALIFIED32Amy Elsner
1048Morrow H CaudyAustralia2024-05-29Dorl, James J Esq NEGOTIATION12Ioni Bowcher
1049Leja W InouyeIndia2024-05-25Feltz Printing Service RENEWAL80Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha J DarakjyGermanyXuxue Feng UNQUALIFIED
Izzy C ButtArgentinaStephen Shaw UNQUALIFIED
Aruna B PerinFranceOnyama Limba NEW
Kadeem I MaletArgentinaOnyama Limba NEGOTIATION
Octavia E MaletRussiaAnna Fali UNQUALIFIED
Faith T KuskoRussiaAmy Elsner UNQUALIFIED
Francesco G RulapaughRussiaElwin Sharvill PROPOSAL
Claire U BowleyCanadaAsiya Javayant QUALIFIED
Tony Q KolmetzSpainXuxue Feng NEW
Kadeem I SergiGermanyAnna Fali UNQUALIFIED
Jefferson F FerenczIndiaIvan Magalhaes NEW
Leja Z IturbideIndiaAsiya Javayant NEGOTIATION
Kadeem L CaudyGermanyOnyama Limba NEW
Morrow O PaprockiJapanAnna Fali RENEWAL
Maria R PaprockiIndiaIoni Bowcher PROPOSAL
Arvin Z CampainCanadaBernardo Dominic NEW
Wickens L VocelkaArgentinaAsiya Javayant NEGOTIATION
James Q DarakjyRussiaBernardo Dominic QUALIFIED
Aruna O MaletBrazilAnna Fali PROPOSAL
Darci C PerinIndiaAmy Elsner PROPOSAL
Wickens I DilliardArgentinaIvan Magalhaes QUALIFIED
Morrow F SaylorsArgentinaElwin Sharvill PROPOSAL
Ivar B RulapaughJapanElwin Sharvill NEGOTIATION
Johnson T GarufiJapanAmy Elsner UNQUALIFIED
Kaitlin Y SergiFranceStephen Shaw UNQUALIFIED
Octavia X FerenczIndiaXuxue Feng RENEWAL
Kadeem V DarakjyJapanBernardo Dominic NEGOTIATION
Mujtaba Y WieserItalyIoni Bowcher PROPOSAL
Sinclair R AmigonFranceAmy Elsner NEGOTIATION
Leon H RoysterFranceXuxue Feng RENEWAL
Maria N StensethBrazilStephen Shaw QUALIFIED
Isabel K SlusarskiAustraliaAnna Fali QUALIFIED
Ivar Q VenereBrazilIoni Bowcher UNQUALIFIED
Mujtaba A CampainRussiaAnna Fali PROPOSAL
Clifford B GauchoAustraliaBernardo Dominic NEW
Francesco C InouyeSpainAmy Elsner RENEWAL
Julie T OstroskySpainOnyama Limba QUALIFIED
Kaitlin H VocelkaGermanyOnyama Limba RENEWAL
Kaitlin M KolmetzBrazilIvan Magalhaes QUALIFIED
Johnson N StensethIndiaAmy Elsner NEW
Ashley Q GauchoAustraliaElwin Sharvill NEW
Ivar H VenereUnited KingdomIvan Magalhaes NEW
Stacey W KolmetzArgentinaAsiya Javayant NEGOTIATION
Silvio O RoysterGermanyIvan Magalhaes NEGOTIATION
Jennifer A NestleAustraliaOnyama Limba NEW
Jeanfrancois C IturbideJapanXuxue Feng QUALIFIED
Tony N KolmetzBrazilStephen Shaw UNQUALIFIED
Octavia R RoysterSpainOnyama Limba NEGOTIATION
Kadeem W BologniaUnited KingdomXuxue Feng NEW
Clifford S RulapaughSpainIoni Bowcher NEW
Frozen Columns
Name
Greenwood U Whobrey
Clifford P Albares
Munro E Albares
Costa W Inouye
Chavez L Marrier
Mayumi S Dilliard
Sinclair B Oldroyd
Leja C Dilliard
Faith U Campain
Jones W Marrier
Murillo V Ostrosky
Stacey L Caldarera
Izzy P Maclead
Deepesh N Butt
Ashley W Tollner
Tony X Figeroa
Sinclair R Ferencz
Isabel Z Garufi
Kaitlin C Schemmer
Ricardo B Stenseth
Juan R Kusko
Juan O Slusarski
Misaki K Oldroyd
Isabel Y Marrier
Julie W Poquette
Aditya N Iturbide
Aditya G Glick
Maisha B Butt
Morrow Q Butt
Clifford A Briddick
Salvatore V Perin
Aruna V Darakjy
Rodrigues O Maclead
Munro S Tollner
Mayumi Q Rulapaugh
Jennifer A Albares
Silvio B Figeroa
Chavez F Wieser
Izzy G Butt
Antonio G Caudy
Aika U Darakjy
Faith V Oldroyd
Darci X Paprocki
Izzy R Rulapaugh
Maisha C Stenseth
Maisha A Waycott
Sinclair C Doe
Julie R Inouye
Cody Q Amigon
Izzy E Paprocki
IdCountryDate
1000India2024-05-19
1001India2024-05-29
1002United Kingdom2024-06-01
1003United Kingdom2024-06-01
1004India2024-06-04
1005Russia2024-05-16
1006Argentina2024-05-24
1007Argentina2024-06-01
1008Germany2024-06-13
1009Italy2024-05-21
1010France2024-05-26
1011Argentina2024-05-17
1012Argentina2024-06-03
1013Argentina2024-05-31
1014Russia2024-05-29
1015Germany2024-05-16
1016India2024-05-16
1017Russia2024-05-31
1018India2024-05-31
1019Australia2024-05-31
1020Argentina2024-05-27
1021Japan2024-05-27
1022Australia2024-06-08
1023Germany2024-05-17
1024Australia2024-05-20
1025Brazil2024-06-11
1026Italy2024-05-15
1027Spain2024-05-26
1028India2024-05-24
1029Brazil2024-06-11
1030France2024-05-16
1031Italy2024-05-15
1032Argentina2024-06-05
1033Italy2024-05-24
1034Japan2024-06-13
1035Germany2024-06-13
1036Italy2024-05-21
1037Brazil2024-05-22
1038Japan2024-05-18
1039France2024-06-02
1040Italy2024-05-15
1041Germany2024-05-15
1042Spain2024-06-05
1043Germany2024-06-12
1044Canada2024-06-05
1045India2024-05-31
1046Italy2024-05-30
1047Spain2024-06-03
1048Germany2024-06-11
1049United Kingdom2024-06-01

On-Demand Data

NameIdCountryDate
Leon F Shinko1000India2024-06-11
Kadeem B Briddick1001Canada2024-06-06
Smith E Perin1002Australia2024-05-30
Costa B Royster1003France2024-06-13
Misaki S Gillian1004Japan2024-06-02
Sinclair O Marrier1005Japan2024-05-16
Stacey L Sergi1006Germany2024-06-06
Nicolas G Marrier1007Japan2024-06-08
Aika C Morasca1008Argentina2024-06-09
Darci J Dilliard1009Argentina2024-05-23
Rodrigues D Flosi1010Russia2024-06-05
Juan Y Whobrey1011Germany2024-06-11
Jones J Malet1012France2024-06-07
Aika G Amigon1013Russia2024-06-01
Costa S Gaucho1014Argentina2024-05-24
Maisha W Poquette1015Argentina2024-05-27
Octavia Y Marrier1016France2024-05-28
Kadeem W Ferencz1017Japan2024-05-31
Clifford Y Rulapaugh1018Japan2024-05-17
Munro W Kusko1019Argentina2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan B WieserFranceIoni Bowcher RENEWAL
Kadeem N StensethItalyBernardo Dominic UNQUALIFIED
Rodrigues P GillianUnited KingdomElwin Sharvill RENEWAL
Aditya D SlusarskiBrazilAsiya Javayant PROPOSAL
Adams M MarrierArgentinaElwin Sharvill RENEWAL
Leja S FerenczRussiaAnna Fali QUALIFIED
Aruna T CaudyArgentinaIvan Magalhaes UNQUALIFIED
Francesco V MacleadUnited KingdomOnyama Limba QUALIFIED
Munro Q WieserFranceStephen Shaw NEGOTIATION
Greenwood A BriddickFranceIvan Magalhaes NEW
Smith W PoquetteSpainAnna Fali RENEWAL
Kaitlin S RutaCanadaAsiya Javayant QUALIFIED
Stacey G CampainUnited KingdomXuxue Feng NEW
Jefferson D FollerJapanStephen Shaw QUALIFIED
Rodrigues K NickaArgentinaStephen Shaw PROPOSAL
Murillo E FigeroaRussiaXuxue Feng RENEWAL
Arvin D WhobreyArgentinaAnna Fali QUALIFIED
Sinclair G SlusarskiAustraliaBernardo Dominic NEGOTIATION
Claire N VenereUnited KingdomIoni Bowcher NEGOTIATION
Octavia L StensethSpainIvan Magalhaes UNQUALIFIED
Smith H NickaUnited KingdomIvan Magalhaes RENEWAL
Wickens B FigeroaAustraliaElwin Sharvill PROPOSAL
Jennifer K SergiArgentinaStephen Shaw RENEWAL
Adams R BowleyCanadaIoni Bowcher PROPOSAL
Isabel M DilliardRussiaXuxue Feng UNQUALIFIED
Emily S ShinkoRussiaAnna Fali PROPOSAL
Aruna G CaudyUnited KingdomXuxue Feng RENEWAL
Mayumi J VenereAustraliaIoni Bowcher NEW
Arvin V CaldareraArgentinaAmy Elsner QUALIFIED
Morrow X RulapaughArgentinaOnyama Limba PROPOSAL
Alejandro K AlbaresIndiaBernardo Dominic QUALIFIED
Mayumi O FigeroaAustraliaElwin Sharvill QUALIFIED
Leja D NestleSpainStephen Shaw NEW
Darci T KolmetzIndiaAnna Fali QUALIFIED
Stacey U CampainSpainStephen Shaw UNQUALIFIED
Leon Q IturbideRussiaXuxue Feng UNQUALIFIED
Kadeem K RutaAustraliaAsiya Javayant RENEWAL
Arvin O StensethJapanElwin Sharvill RENEWAL
Stacey Q FlosiFranceBernardo Dominic QUALIFIED
Costa L DarakjyCanadaXuxue 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>