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 A DilliardJapanIoni Bowcher PROPOSAL
Stacey K KuskoJapanElwin Sharvill UNQUALIFIED
Maisha D GauchoBrazilAnna Fali PROPOSAL
Greenwood Q StensethAustraliaBernardo Dominic NEW
Wickens Y RulapaughBrazilIoni Bowcher UNQUALIFIED
Antonio L RulapaughGermanyXuxue Feng UNQUALIFIED
Munro U GlickGermanyIoni Bowcher QUALIFIED
Cody P IturbideSpainOnyama Limba QUALIFIED
James Y NestleBrazilBernardo Dominic PROPOSAL
Clifford A DilliardIndiaOnyama Limba PROPOSAL
Izzy T SchemmerArgentinaXuxue Feng PROPOSAL
Isabel K FollerGermanyAmy Elsner PROPOSAL
Faith W DilliardAustraliaIoni Bowcher NEW
Misaki X CampainFranceXuxue Feng NEW
Kadeem O MaletArgentinaXuxue Feng NEW
Salvatore U StockhamBrazilIoni Bowcher NEGOTIATION
Maria I MaletAustraliaAmy Elsner UNQUALIFIED
Faith E OldroydFranceIoni Bowcher PROPOSAL
Stacey W SchemmerAustraliaStephen Shaw NEGOTIATION
Rodrigues C RulapaughJapanOnyama Limba RENEWAL
Rodrigues Z GauchoRussiaStephen Shaw PROPOSAL
Aika Z CaudyJapanXuxue Feng QUALIFIED
Francesco R SlusarskiIndiaElwin Sharvill RENEWAL
Sinclair Z BowleyRussiaXuxue Feng PROPOSAL
Adams U MaletRussiaBernardo Dominic NEGOTIATION
Kaitlin R MaletSpainAnna Fali PROPOSAL
Francesco B SlusarskiRussiaElwin Sharvill NEW
Chavez Q GillianIndiaIoni Bowcher NEGOTIATION
Smith N GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Octavia P GlickFranceIvan Magalhaes UNQUALIFIED
Jefferson W SaylorsArgentinaAmy Elsner UNQUALIFIED
Tony B CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Antonio U NestleIndiaAnna Fali QUALIFIED
Kaitlin O KolmetzGermanyStephen Shaw QUALIFIED
Arvin A OldroydJapanIoni Bowcher NEW
Jones Z InouyeAustraliaBernardo Dominic UNQUALIFIED
Nicolas U PaprockiUnited KingdomAmy Elsner NEW
David N MorascaAustraliaOnyama Limba UNQUALIFIED
Antonio A NickaBrazilAnna Fali QUALIFIED
Munro L WhobreyJapanXuxue Feng UNQUALIFIED
Izzy I FigeroaJapanIvan Magalhaes NEW
Johnson T WaycottRussiaAmy Elsner NEGOTIATION
Francesco O InouyeJapanAmy Elsner RENEWAL
Costa H AlbaresArgentinaOnyama Limba PROPOSAL
Ashley V PaprockiItalyIvan Magalhaes UNQUALIFIED
Cody L WhobreyCanadaIoni Bowcher QUALIFIED
Misaki Y NickaAustraliaAsiya Javayant UNQUALIFIED
Costa N AlbaresArgentinaAmy Elsner NEGOTIATION
Rodrigues F RulapaughAustraliaStephen Shaw UNQUALIFIED
Jones H VenereSpainAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford X WhobreyFranceOnyama Limba PROPOSAL
Morrow L SaylorsCanadaOnyama Limba QUALIFIED
Sinclair W WhobreyIndiaIvan Magalhaes UNQUALIFIED
Tony G BologniaSpainAnna Fali UNQUALIFIED
Alejandro D FerenczRussiaAnna Fali UNQUALIFIED
Adams T OldroydGermanyElwin Sharvill UNQUALIFIED
Antonio M KuskoFranceAnna Fali NEW
Emily I MacleadItalyElwin Sharvill NEW
Izzy U PoquetteItalyAnna Fali RENEWAL
Greenwood X PerinSpainAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem D MacleadAustralia2025-06-12Buckley Miller Wright UNQUALIFIED13Elwin Sharvill
1001Antonio W GauchoArgentina2025-06-07Rousseaux, Michael Esq RENEWAL14Ioni Bowcher
1002Chavez L StensethIndia2025-06-07Commercial Press RENEWAL44Stephen Shaw
1003Aika K WaycottFrance2025-05-28Chanay, Jeffrey A Esq RENEWAL58Xuxue Feng
1004Izzy V RutaBrazil2025-05-24Chemel, James L Cpa QUALIFIED0Xuxue Feng
1005Jones Y MorascaRussia2025-06-03Chemel, James L Cpa NEW77Amy Elsner
1006Julie H FigeroaIndia2025-06-03Feltz Printing Service RENEWAL81Ioni Bowcher
1007Darci H OldroydRussia2025-05-25Commercial Press NEGOTIATION73Asiya Javayant
1008Maisha P SaylorsJapan2025-06-11Chapman, Ross E Esq NEW11Ioni Bowcher
1009Murillo A CampainIndia2025-06-13Feltz Printing Service RENEWAL63Stephen Shaw
1010Aditya H MorascaFrance2025-06-03Chemel, James L Cpa PROPOSAL89Onyama Limba
1011Ivar R InouyeIndia2025-05-21Rousseaux, Michael Esq PROPOSAL49Ivan Magalhaes
1012Maisha X PaprockiRussia2025-06-05Benton, John B Jr UNQUALIFIED13Ivan Magalhaes
1013Kadeem C RimCanada2025-05-23Commercial Press PROPOSAL39Bernardo Dominic
1014Wickens F CampainBrazil2025-05-27Benton, John B Jr NEGOTIATION62Xuxue Feng
1015Kadeem Y MorascaUnited Kingdom2025-05-22King, Christopher A Esq PROPOSAL59Anna Fali
1016Juan K BriddickArgentina2025-05-25Rousseaux, Michael Esq PROPOSAL1Bernardo Dominic
1017Costa E SchemmerRussia2025-06-04Benton, John B Jr UNQUALIFIED43Onyama Limba
1018Leon F OldroydAustralia2025-06-12Chemel, James L Cpa PROPOSAL67Elwin Sharvill
1019Antonio X SergiRussia2025-06-13Feiner Bros NEW75Asiya Javayant
1020Maria O InouyeFrance2025-06-10Commercial Press NEGOTIATION31Bernardo Dominic
1021Kadeem G KuskoBrazil2025-06-05Commercial Press QUALIFIED60Ioni Bowcher
1022Kadeem N InouyeFrance2025-06-02Morlong Associates NEGOTIATION40Anna Fali
1023Jones B VenereCanada2025-05-20Printing Dimensions NEW67Bernardo Dominic
1024Misaki A VenereRussia2025-05-20Chapman, Ross E Esq NEGOTIATION52Anna Fali
1025Francesco S BowleyBrazil2025-06-01Truhlar And Truhlar Attys UNQUALIFIED43Bernardo Dominic
1026Maisha B MorascaCanada2025-05-22Chapman, Ross E Esq PROPOSAL81Stephen Shaw
1027Sinclair H StensethGermany2025-05-25Commercial Press NEW9Amy Elsner
1028Smith B MorascaFrance2025-05-26Buckley Miller Wright PROPOSAL16Onyama Limba
1029Murillo H GillianFrance2025-06-09Rangoni Of Florence RENEWAL42Ioni Bowcher
1030Silvio X FlosiRussia2025-05-22Chapman, Ross E Esq PROPOSAL71Stephen Shaw
1031Nicolas X IturbideItaly2025-06-16Buckley Miller Wright PROPOSAL96Bernardo Dominic
1032Darci Z ShinkoJapan2025-06-10Rangoni Of Florence PROPOSAL66Amy Elsner
1033Juan J RutaUnited Kingdom2025-05-20Rousseaux, Michael Esq UNQUALIFIED35Asiya Javayant
1034Clifford T ChuiIndia2025-06-03Feltz Printing Service NEW88Elwin Sharvill
1035Cody Q InouyeSpain2025-05-20Rangoni Of Florence NEW73Asiya Javayant
1036Aruna N SergiArgentina2025-05-30Printing Dimensions NEW96Onyama Limba
1037Aruna Q IturbideCanada2025-05-31Benton, John B Jr NEGOTIATION28Ioni Bowcher
1038Jefferson M PaprockiAustralia2025-06-01Chemel, James L Cpa RENEWAL33Xuxue Feng
1039Nicolas A RutaRussia2025-06-16Printing Dimensions NEW73Xuxue Feng
1040Maria S GlickSpain2025-06-15Feltz Printing Service PROPOSAL42Ivan Magalhaes
1041Costa T ChuiItaly2025-05-30Truhlar And Truhlar Attys QUALIFIED40Xuxue Feng
1042Maria P BologniaSpain2025-06-10Chanay, Jeffrey A Esq NEW28Elwin Sharvill
1043Mayumi Q DilliardSpain2025-06-01Printing Dimensions PROPOSAL76Onyama Limba
1044Julie O MorascaGermany2025-06-06Buckley Miller Wright UNQUALIFIED87Amy Elsner
1045Maria U MaletCanada2025-06-16Chemel, James L Cpa RENEWAL34Asiya Javayant
1046Isabel L WhobreyUnited Kingdom2025-05-31Morlong Associates NEGOTIATION83Asiya Javayant
1047Darci X WieserUnited Kingdom2025-05-23King, Christopher A Esq QUALIFIED88Ioni Bowcher
1048David S CaldareraUnited Kingdom2025-05-28Commercial Press NEW86Anna Fali
1049Ashley G MorascaBrazil2025-06-06Dorl, James J Esq NEW24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Johnson T SergiBrazilStephen Shaw RENEWAL
Julie W OldroydJapanBernardo Dominic RENEWAL
Juan R SergiUnited KingdomStephen Shaw NEW
Sinclair M SlusarskiJapanOnyama Limba PROPOSAL
Wickens M VenereGermanyAmy Elsner RENEWAL
David L FlosiBrazilElwin Sharvill RENEWAL
Kaitlin V FerenczFranceXuxue Feng NEW
Leon T MarrierFranceBernardo Dominic NEW
Cody B ButtGermanyStephen Shaw RENEWAL
Chavez V RimArgentinaIvan Magalhaes UNQUALIFIED
Alejandro R SaylorsIndiaIoni Bowcher RENEWAL
Julie J MarrierAustraliaIoni Bowcher NEGOTIATION
Aruna J FerenczItalyAmy Elsner NEW
Emily Y FigeroaAustraliaAsiya Javayant NEW
Francesco A ShinkoBrazilAmy Elsner NEGOTIATION
Silvio E DarakjyUnited KingdomAnna Fali PROPOSAL
Greenwood D PaprockiArgentinaIoni Bowcher QUALIFIED
Adams N DoeFranceElwin Sharvill NEGOTIATION
Aditya N GillianGermanyBernardo Dominic NEW
Murillo G PerinFranceAsiya Javayant UNQUALIFIED
Tony J OstroskyGermanyAnna Fali UNQUALIFIED
Darci K MaletGermanyIvan Magalhaes UNQUALIFIED
Smith S MarrierJapanStephen Shaw NEGOTIATION
James U GillianGermanyBernardo Dominic RENEWAL
Chavez J VenereGermanyElwin Sharvill QUALIFIED
Ricardo C AlbaresItalyOnyama Limba NEW
Antonio W NestleItalyAnna Fali PROPOSAL
Faith S AmigonSpainIvan Magalhaes PROPOSAL
Tony D WieserJapanBernardo Dominic NEGOTIATION
Ashley C RimArgentinaXuxue Feng RENEWAL
Nicolas H DarakjyFranceAnna Fali PROPOSAL
Johnson H StockhamArgentinaStephen Shaw QUALIFIED
Julie Z WaycottFranceAsiya Javayant NEW
Silvio F RimJapanAnna Fali NEW
Clifford O OldroydCanadaIoni Bowcher NEW
Adams P ChuiCanadaIoni Bowcher RENEWAL
Costa E WaycottJapanElwin Sharvill PROPOSAL
Murillo W MacleadIndiaBernardo Dominic UNQUALIFIED
Salvatore O PerinUnited KingdomAnna Fali PROPOSAL
Kadeem H NestleArgentinaBernardo Dominic NEW
Kaitlin T DoeItalyElwin Sharvill NEW
Rodrigues N SaylorsArgentinaOnyama Limba PROPOSAL
Alejandro M WieserFranceAnna Fali NEGOTIATION
Kadeem Y WaycottRussiaIvan Magalhaes QUALIFIED
Chavez O RimArgentinaAnna Fali NEGOTIATION
Deepesh Z RulapaughAustraliaAnna Fali NEW
Francesco B ChuiBrazilBernardo Dominic NEW
Leon W WaycottJapanAnna Fali RENEWAL
Darci X FlosiItalyOnyama Limba PROPOSAL
Mujtaba X SergiSpainBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Deepesh P Sergi
Claire S Foller
Maisha F Bolognia
Sinclair W Kusko
Emily A Malet
Aika G Amigon
Nicolas V Glick
Maisha U Vocelka
Rodrigues I Perin
Faith G Briddick
Ricardo Y Glick
Alejandro M Wieser
Stacey H Ferencz
Wickens G Perin
Mayumi G Waycott
Juan K Butt
James D Shinko
James L Saylors
Leja R Poquette
Chavez I Whobrey
Jefferson E Shinko
Johnson I Royster
Jefferson X Oldroyd
Stacey W Malet
Leon L Slusarski
Smith F Stenseth
Alejandro N Oldroyd
Jeanfrancois N Paprocki
Juan G Whobrey
Mujtaba W Nestle
Claire E Caudy
Izzy Z Wieser
Jeanfrancois F Darakjy
Darci N Darakjy
Murillo O Flosi
Aika R Flosi
Arvin H Gaucho
Silvio C Ferencz
Ashley G Rim
Tony Z Shinko
Juan Q Gaucho
Misaki D Butt
Stacey K Albares
Aditya E Flosi
Aditya J Campain
Claire H Ruta
Costa R Schemmer
Claire S Slusarski
Aditya O Albares
Morrow K Bolognia
IdCountryDate
1000Russia2025-06-10
1001Germany2025-06-12
1002Germany2025-05-29
1003Germany2025-06-13
1004Russia2025-05-27
1005Argentina2025-06-03
1006India2025-06-01
1007Brazil2025-05-27
1008Canada2025-05-19
1009Brazil2025-06-12
1010Spain2025-05-28
1011United Kingdom2025-06-16
1012Argentina2025-06-15
1013Italy2025-06-04
1014Australia2025-06-05
1015Spain2025-06-12
1016Brazil2025-05-18
1017Italy2025-06-15
1018India2025-05-28
1019France2025-06-03
1020Germany2025-06-11
1021Russia2025-05-19
1022Argentina2025-05-31
1023India2025-05-28
1024France2025-06-01
1025Italy2025-06-02
1026Spain2025-06-05
1027Australia2025-06-13
1028India2025-06-05
1029Australia2025-05-30
1030Italy2025-05-22
1031Russia2025-06-11
1032Brazil2025-05-23
1033Canada2025-05-23
1034Spain2025-06-15
1035India2025-06-14
1036Argentina2025-06-10
1037Japan2025-06-12
1038Germany2025-06-13
1039Argentina2025-05-31
1040Japan2025-05-18
1041Australia2025-05-19
1042Australia2025-06-11
1043Brazil2025-06-16
1044United Kingdom2025-06-06
1045Australia2025-06-08
1046Argentina2025-05-29
1047Spain2025-06-06
1048Argentina2025-06-03
1049Russia2025-05-23

On-Demand Data

NameIdCountryDate
Chavez T Nestle1000Japan2025-06-13
Izzy V Briddick1001France2025-06-06
Silvio S Venere1002Argentina2025-05-22
Ricardo J Perin1003Australia2025-05-18
Kaitlin H Amigon1004Italy2025-05-25
Darci A Glick1005Canada2025-05-28
Costa H Dilliard1006Argentina2025-06-14
Julie I Gillian1007Argentina2025-05-27
Deepesh E Oldroyd1008Argentina2025-05-31
Nicolas T Caudy1009Russia2025-05-18
Jeanfrancois I Kolmetz1010Japan2025-05-23
Emily Z Rulapaugh1011Russia2025-06-09
Maria W Malet1012Australia2025-06-07
Juan R Flosi1013Australia2025-05-30
Jefferson W Foller1014Germany2025-06-09
Maisha R Dilliard1015Australia2025-05-30
Salvatore Q Stenseth1016Italy2025-06-16
Jefferson D Bolognia1017United Kingdom2025-06-07
Arvin S Whobrey1018France2025-06-10
Darci E Ostrosky1019Argentina2025-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya L RulapaughRussiaBernardo Dominic RENEWAL
Ricardo G StockhamFranceIvan Magalhaes RENEWAL
Cody S DarakjySpainElwin Sharvill NEGOTIATION
Claire N FlosiJapanXuxue Feng RENEWAL
Arvin I RutaItalyStephen Shaw UNQUALIFIED
Claire U CaudyJapanXuxue Feng QUALIFIED
Costa W ButtCanadaBernardo Dominic QUALIFIED
Jeanfrancois L BriddickArgentinaIoni Bowcher PROPOSAL
Johnson Z CampainUnited KingdomXuxue Feng RENEWAL
James H GlickRussiaAsiya Javayant NEW
Ashley B RimCanadaElwin Sharvill NEW
Aika L MarrierUnited KingdomAmy Elsner PROPOSAL
Aruna N SlusarskiFranceElwin Sharvill NEW
Greenwood U RoysterBrazilOnyama Limba RENEWAL
Wickens H VocelkaFranceStephen Shaw NEW
Wickens P GauchoRussiaStephen Shaw PROPOSAL
Octavia K RulapaughIndiaIvan Magalhaes UNQUALIFIED
Leon C RutaBrazilIvan Magalhaes RENEWAL
Jennifer F SchemmerSpainIvan Magalhaes PROPOSAL
James U WieserJapanStephen Shaw RENEWAL
Ashley E CaudyFranceOnyama Limba UNQUALIFIED
Ricardo T CampainUnited KingdomIoni Bowcher NEW
Claire C FlosiJapanBernardo Dominic RENEWAL
Wickens O MorascaIndiaXuxue Feng NEGOTIATION
Aruna E IturbideRussiaAnna Fali RENEWAL
James V VenereBrazilIvan Magalhaes UNQUALIFIED
James J VenereGermanyStephen Shaw NEGOTIATION
Costa R CaldareraIndiaElwin Sharvill UNQUALIFIED
Murillo B NickaFranceStephen Shaw QUALIFIED
Munro Q GlickUnited KingdomElwin Sharvill QUALIFIED
Nicolas M ShinkoSpainAsiya Javayant PROPOSAL
Arvin R ChuiFranceBernardo Dominic UNQUALIFIED
Salvatore S KolmetzAustraliaIvan Magalhaes NEW
Jeanfrancois D TollnerArgentinaAnna Fali QUALIFIED
Kaitlin J RoysterSpainElwin Sharvill RENEWAL
Octavia Q FollerItalyXuxue Feng RENEWAL
David I WhobreyFranceAmy Elsner UNQUALIFIED
Aditya F SlusarskiJapanOnyama Limba UNQUALIFIED
Julie T DarakjyAustraliaAsiya Javayant UNQUALIFIED
Leja Q FlosiSpainBernardo Dominic 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>