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
Antonio V MacleadGermanyOnyama Limba RENEWAL
Murillo K OldroydRussiaOnyama Limba NEGOTIATION
Wickens U SergiIndiaIvan Magalhaes PROPOSAL
Juan N GauchoGermanyOnyama Limba NEW
Izzy Y MarrierItalyIoni Bowcher PROPOSAL
Mujtaba A VenereCanadaIoni Bowcher UNQUALIFIED
Misaki X CaldareraArgentinaOnyama Limba RENEWAL
Cody J MacleadUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin O RutaSpainBernardo Dominic NEW
Aruna Y IturbideJapanAmy Elsner UNQUALIFIED
Cody X RimItalyOnyama Limba NEGOTIATION
Arvin J KolmetzJapanBernardo Dominic NEGOTIATION
Ricardo W SergiAustraliaAsiya Javayant QUALIFIED
Rodrigues Z OldroydUnited KingdomXuxue Feng PROPOSAL
Alejandro Q BologniaIndiaStephen Shaw NEGOTIATION
James U PoquetteJapanIvan Magalhaes NEW
Isabel Q StensethSpainOnyama Limba QUALIFIED
Alejandro M BologniaItalyOnyama Limba NEW
Salvatore Z RulapaughArgentinaIvan Magalhaes QUALIFIED
Silvio Z GillianSpainElwin Sharvill RENEWAL
Clifford U IturbideAustraliaIoni Bowcher PROPOSAL
Munro L WhobreyGermanyBernardo Dominic NEGOTIATION
Aruna D AmigonArgentinaStephen Shaw QUALIFIED
Alejandro Z FollerGermanyAsiya Javayant PROPOSAL
Sinclair F CaldareraJapanBernardo Dominic NEW
Aika O MaletGermanyOnyama Limba RENEWAL
Maisha P SergiJapanBernardo Dominic RENEWAL
Aika E DarakjyBrazilBernardo Dominic RENEWAL
Adams L StensethSpainAsiya Javayant NEW
Ashley O RutaFranceElwin Sharvill NEGOTIATION
Aditya W RutaItalyElwin Sharvill RENEWAL
Leja B AmigonBrazilAnna Fali NEW
Darci J MaletItalyBernardo Dominic UNQUALIFIED
Greenwood J ChuiCanadaAmy Elsner NEW
Faith D WhobreyGermanyElwin Sharvill NEW
Aika Y WhobreyIndiaBernardo Dominic QUALIFIED
Emily T PoquetteItalyAsiya Javayant QUALIFIED
Rodrigues D MarrierArgentinaIoni Bowcher NEGOTIATION
Munro P MaletItalyBernardo Dominic NEW
James G GauchoSpainElwin Sharvill PROPOSAL
Jennifer T FerenczRussiaAsiya Javayant RENEWAL
Nicolas L AlbaresUnited KingdomIoni Bowcher PROPOSAL
Mujtaba L MorascaUnited KingdomElwin Sharvill RENEWAL
Murillo U OldroydFranceElwin Sharvill UNQUALIFIED
Mayumi C FigeroaFranceAmy Elsner NEGOTIATION
Ashley V TollnerUnited KingdomAsiya Javayant NEW
Juan H GillianItalyXuxue Feng RENEWAL
Sinclair G MacleadItalyElwin Sharvill RENEWAL
Izzy R KolmetzGermanyXuxue Feng QUALIFIED
Costa P CaldareraSpainXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois I PoquetteFranceAsiya Javayant NEW
Misaki S FollerBrazilIoni Bowcher NEGOTIATION
Kaitlin E MaletJapanStephen Shaw NEW
Jennifer T DilliardItalyOnyama Limba PROPOSAL
Faith G TollnerSpainXuxue Feng RENEWAL
Rodrigues M MacleadItalyAmy Elsner NEW
Murillo I MaletIndiaAnna Fali NEGOTIATION
Aruna R BowleyItalyXuxue Feng RENEWAL
Tony P AmigonCanadaBernardo Dominic NEW
Morrow N TollnerBrazilBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith G WieserSpain2026-08-28Rousseaux, Michael Esq NEW65Onyama Limba
1001Ricardo V StockhamBrazil2026-08-19Feiner Bros QUALIFIED25Onyama Limba
1002Adams N MaletSpain2026-08-24Printing Dimensions NEW23Onyama Limba
1003Rodrigues K VocelkaJapan2026-09-01Morlong Associates QUALIFIED57Bernardo Dominic
1004Claire S CampainGermany2026-08-25Dorl, James J Esq PROPOSAL93Amy Elsner
1005Murillo L CaldareraJapan2026-08-03Chanay, Jeffrey A Esq QUALIFIED65Elwin Sharvill
1006Murillo A FlosiArgentina2026-08-15Chemel, James L Cpa NEW3Amy Elsner
1007Ricardo Y GarufiCanada2026-08-07Truhlar And Truhlar Attys NEW79Amy Elsner
1008Misaki J PoquetteArgentina2026-08-17Rangoni Of Florence UNQUALIFIED24Bernardo Dominic
1009Smith W KuskoItaly2026-08-22Benton, John B Jr QUALIFIED49Amy Elsner
1010Jennifer Q BriddickJapan2026-08-21King, Christopher A Esq NEW41Stephen Shaw
1011Jones G RoysterGermany2026-08-19Truhlar And Truhlar Attys NEW26Asiya Javayant
1012James V KolmetzAustralia2026-08-18Rousseaux, Michael Esq RENEWAL95Stephen Shaw
1013Darci D FerenczBrazil2026-09-01Buckley Miller Wright QUALIFIED55Elwin Sharvill
1014Smith S MarrierSpain2026-08-24Morlong Associates NEGOTIATION43Bernardo Dominic
1015Murillo D DarakjyAustralia2026-08-19Printing Dimensions QUALIFIED20Stephen Shaw
1016James C WhobreySpain2026-08-07Benton, John B Jr PROPOSAL69Amy Elsner
1017Ricardo K CaldareraSpain2026-08-28Chanay, Jeffrey A Esq RENEWAL40Elwin Sharvill
1018Claire G WhobreyArgentina2026-08-26Rangoni Of Florence PROPOSAL37Ivan Magalhaes
1019Jones W CaldareraItaly2026-08-26Chanay, Jeffrey A Esq NEGOTIATION34Onyama Limba
1020David L FerenczAustralia2026-08-21Chemel, James L Cpa NEW85Ivan Magalhaes
1021Misaki H GlickArgentina2026-08-15Printing Dimensions UNQUALIFIED76Xuxue Feng
1022Jones U StensethBrazil2026-08-13Benton, John B Jr NEW74Ioni Bowcher
1023Isabel C ButtJapan2026-08-25Benton, John B Jr UNQUALIFIED27Bernardo Dominic
1024Silvio Z IturbideJapan2026-08-14Commercial Press NEGOTIATION6Xuxue Feng
1025Ricardo Q TollnerSpain2026-08-22Buckley Miller Wright UNQUALIFIED79Stephen Shaw
1026Clifford H MaletGermany2026-08-16Chanay, Jeffrey A Esq QUALIFIED8Onyama Limba
1027Juan L BriddickItaly2026-08-18Rangoni Of Florence PROPOSAL45Anna Fali
1028Cody L FollerAustralia2026-09-01Rousseaux, Michael Esq RENEWAL37Asiya Javayant
1029Wickens U PaprockiAustralia2026-09-01King, Christopher A Esq UNQUALIFIED72Bernardo Dominic
1030Izzy L ShinkoAustralia2026-08-08Benton, John B Jr PROPOSAL5Elwin Sharvill
1031Rodrigues H CaudyIndia2026-09-01Buckley Miller Wright NEW6Onyama Limba
1032Francesco R RoysterUnited Kingdom2026-08-28Buckley Miller Wright NEW1Elwin Sharvill
1033Alejandro F FollerIndia2026-08-26King, Christopher A Esq QUALIFIED53Onyama Limba
1034Jefferson C GlickArgentina2026-08-06Truhlar And Truhlar Attys NEW51Bernardo Dominic
1035Wickens L InouyeJapan2026-08-30Feiner Bros NEW27Elwin Sharvill
1036Morrow M WaycottArgentina2026-08-22Morlong Associates RENEWAL15Ioni Bowcher
1037Claire L FlosiSpain2026-08-23Chemel, James L Cpa PROPOSAL58Elwin Sharvill
1038Jeanfrancois K MaletArgentina2026-08-13Feltz Printing Service NEGOTIATION84Asiya Javayant
1039Maisha D GillianRussia2026-08-09Rangoni Of Florence QUALIFIED63Amy Elsner
1040Costa R BowleyArgentina2026-08-28Dorl, James J Esq RENEWAL71Anna Fali
1041Antonio O FigeroaJapan2026-08-31King, Christopher A Esq PROPOSAL64Amy Elsner
1042Nicolas V GarufiFrance2026-08-21Rangoni Of Florence NEW93Stephen Shaw
1043Adams H PaprockiJapan2026-08-27Rousseaux, Michael Esq NEGOTIATION35Anna Fali
1044David A NestleRussia2026-08-29Dorl, James J Esq QUALIFIED10Ioni Bowcher
1045Julie J FlosiAustralia2026-08-27Dorl, James J Esq RENEWAL66Anna Fali
1046Morrow K RulapaughBrazil2026-08-10Buckley Miller Wright NEW89Elwin Sharvill
1047Ivar K CampainUnited Kingdom2026-08-05Commercial Press PROPOSAL30Asiya Javayant
1048Sinclair B RutaItaly2026-08-19Commercial Press NEW50Anna Fali
1049Antonio A DoeFrance2026-08-06Chapman, Ross E Esq RENEWAL57Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Deepesh I ButtIndiaStephen Shaw PROPOSAL
Kaitlin W ButtCanadaBernardo Dominic QUALIFIED
Aika T IturbideAustraliaIoni Bowcher QUALIFIED
Aruna V SchemmerJapanBernardo Dominic QUALIFIED
Jones B ButtUnited KingdomOnyama Limba RENEWAL
Wickens P FigeroaGermanyAsiya Javayant UNQUALIFIED
Morrow T FigeroaBrazilAsiya Javayant UNQUALIFIED
Ashley F InouyeBrazilIvan Magalhaes RENEWAL
Jennifer I CampainArgentinaIoni Bowcher UNQUALIFIED
Faith H VocelkaArgentinaAmy Elsner NEW
Nicolas C CaudyAustraliaBernardo Dominic UNQUALIFIED
Morrow H GillianArgentinaAnna Fali NEW
Jennifer W NestleAustraliaOnyama Limba PROPOSAL
Julie L BologniaUnited KingdomAnna Fali RENEWAL
Faith U BriddickRussiaBernardo Dominic UNQUALIFIED
Sinclair F NickaIndiaAnna Fali UNQUALIFIED
Morrow D BriddickJapanIvan Magalhaes NEW
Greenwood R SlusarskiCanadaBernardo Dominic NEGOTIATION
Munro X WhobreyCanadaStephen Shaw NEW
Ivar O FlosiJapanStephen Shaw NEGOTIATION
Antonio Q SchemmerSpainOnyama Limba PROPOSAL
Arvin J NickaIndiaAsiya Javayant RENEWAL
Kadeem X DarakjyFranceXuxue Feng RENEWAL
Rodrigues M AlbaresCanadaXuxue Feng UNQUALIFIED
Deepesh U InouyeSpainOnyama Limba NEGOTIATION
Izzy O ShinkoItalyAsiya Javayant NEGOTIATION
Octavia O CaudySpainBernardo Dominic PROPOSAL
Rodrigues E SlusarskiFranceAsiya Javayant NEGOTIATION
Juan Q SlusarskiGermanyAnna Fali NEW
Emily S StensethArgentinaAmy Elsner NEW
Morrow J DilliardAustraliaAmy Elsner NEGOTIATION
Morrow F GillianSpainStephen Shaw QUALIFIED
Chavez J PerinGermanyAsiya Javayant NEW
Kaitlin N PaprockiAustraliaOnyama Limba QUALIFIED
Johnson E DoeItalyStephen Shaw QUALIFIED
Ricardo B BologniaFranceElwin Sharvill PROPOSAL
Stacey M RulapaughItalyIvan Magalhaes PROPOSAL
Isabel N CaldareraAustraliaBernardo Dominic NEW
David Y CaldareraUnited KingdomBernardo Dominic RENEWAL
Chavez U GillianFranceXuxue Feng NEGOTIATION
Arvin H RutaJapanBernardo Dominic QUALIFIED
Isabel K MaletFranceAnna Fali PROPOSAL
Maria Q CampainJapanAmy Elsner NEGOTIATION
Adams V PerinSpainElwin Sharvill NEW
Antonio I NestleSpainAsiya Javayant PROPOSAL
Francesco J RimUnited KingdomAsiya Javayant PROPOSAL
Greenwood E FerenczAustraliaIvan Magalhaes QUALIFIED
Maria K NickaAustraliaOnyama Limba NEW
Silvio D DarakjyAustraliaElwin Sharvill QUALIFIED
Greenwood H ButtSpainBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Emily H Chui
Deepesh E Tollner
Alejandro Y Caudy
Deepesh Z Inouye
Greenwood G Oldroyd
Silvio A Venere
Faith T Bowley
James O Caldarera
Clifford N Garufi
Johnson Q Poquette
Maria I Nestle
Antonio N Gaucho
Mujtaba J Gaucho
Wickens D Dilliard
Nicolas F Whobrey
Rodrigues P Briddick
Ricardo T Wieser
Cody C Wieser
Munro S Flosi
Izzy R Shinko
Misaki M Rim
Julie P Albares
Salvatore E Saylors
Isabel D Flosi
Maria D Garufi
Maisha F Ostrosky
Chavez D Inouye
Kadeem A Slusarski
Aika F Saylors
Misaki Y Caldarera
Leon B Saylors
Murillo W Foller
Octavia B Glick
Francesco Z Inouye
Aditya S Kusko
Misaki L Maclead
Izzy C Dilliard
Claire O Malet
Ashley C Chui
Isabel O Ferencz
Aruna J Waycott
Jefferson V Perin
Aruna G Royster
Mayumi U Shinko
Clifford S Nicka
Nicolas T Royster
Maria O Kusko
Jefferson T Vocelka
Maria S Tollner
Tony Y Figeroa
IdCountryDate
1000Argentina2026-08-08
1001Russia2026-08-12
1002Canada2026-08-24
1003Canada2026-08-08
1004France2026-08-10
1005Japan2026-08-18
1006Brazil2026-08-05
1007Argentina2026-08-30
1008Argentina2026-08-22
1009Italy2026-08-26
1010United Kingdom2026-08-10
1011Spain2026-08-28
1012United Kingdom2026-08-10
1013Spain2026-08-05
1014Australia2026-08-07
1015India2026-08-14
1016India2026-08-29
1017Germany2026-08-15
1018Germany2026-08-30
1019Germany2026-08-26
1020Japan2026-08-24
1021Russia2026-08-08
1022Russia2026-08-21
1023Argentina2026-08-12
1024France2026-08-12
1025India2026-08-04
1026Germany2026-08-29
1027Argentina2026-08-07
1028Japan2026-08-15
1029Canada2026-09-01
1030Brazil2026-08-17
1031Japan2026-08-14
1032United Kingdom2026-08-31
1033India2026-08-29
1034Brazil2026-08-05
1035India2026-08-06
1036Germany2026-08-30
1037France2026-08-25
1038Germany2026-08-30
1039Argentina2026-08-20
1040Australia2026-08-23
1041Russia2026-08-22
1042United Kingdom2026-08-08
1043Brazil2026-08-15
1044Spain2026-08-18
1045Australia2026-08-09
1046Japan2026-08-16
1047Japan2026-08-16
1048India2026-08-25
1049Germany2026-08-21

On-Demand Data

NameIdCountryDate
Izzy N Ferencz1000Japan2026-09-01
Cody Z Garufi1001Australia2026-08-25
Antonio P Ruta1002Spain2026-08-08
Jones F Wieser1003Australia2026-08-26
Nicolas C Malet1004India2026-08-09
Alejandro R Inouye1005United Kingdom2026-08-07
Maisha W Briddick1006United Kingdom2026-08-13
Aruna C Venere1007Canada2026-08-12
Wickens Y Bolognia1008Australia2026-08-06
Ashley N Oldroyd1009Germany2026-08-19
Claire I Marrier1010France2026-08-20
Jefferson C Gaucho1011Spain2026-08-26
Leja U Whobrey1012Spain2026-08-21
Tony U Rulapaugh1013Italy2026-08-18
Ivar J Stockham1014Germany2026-08-31
Mujtaba P Caudy1015India2026-08-03
Smith O Whobrey1016India2026-08-18
Chavez T Tollner1017Russia2026-08-17
Sinclair A Nicka1018Brazil2026-08-15
Smith S Kusko1019Germany2026-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith K PaprockiItalyAnna Fali RENEWAL
Cody H BowleyItalyAsiya Javayant NEGOTIATION
Leja S BologniaItalyStephen Shaw NEGOTIATION
Izzy U GlickIndiaAsiya Javayant RENEWAL
Julie V MaletArgentinaXuxue Feng QUALIFIED
Mayumi C AlbaresFranceIvan Magalhaes QUALIFIED
Arvin G ChuiAustraliaStephen Shaw RENEWAL
Clifford H WieserAustraliaOnyama Limba NEW
Aika D DoeUnited KingdomOnyama Limba QUALIFIED
Tony L NestleArgentinaAnna Fali RENEWAL
Leon C VenereGermanyElwin Sharvill UNQUALIFIED
Deepesh D TollnerSpainIoni Bowcher RENEWAL
Leon B NickaJapanAnna Fali NEGOTIATION
Mayumi F BriddickRussiaAsiya Javayant NEW
Ricardo W AmigonIndiaIoni Bowcher QUALIFIED
Faith Y SchemmerSpainAsiya Javayant UNQUALIFIED
Jeanfrancois G OldroydJapanStephen Shaw UNQUALIFIED
Aditya K NickaGermanyStephen Shaw NEW
Darci L CampainBrazilAnna Fali NEGOTIATION
Salvatore N MaletUnited KingdomIoni Bowcher RENEWAL
Wickens Z CampainCanadaAnna Fali PROPOSAL
Rodrigues W DilliardFranceElwin Sharvill PROPOSAL
Jefferson B GarufiUnited KingdomBernardo Dominic PROPOSAL
Wickens M CaudyGermanyBernardo Dominic NEGOTIATION
Morrow J WieserFranceIoni Bowcher RENEWAL
Claire E RimBrazilAsiya Javayant NEGOTIATION
Julie W NickaItalyBernardo Dominic NEGOTIATION
Jeanfrancois U VocelkaSpainElwin Sharvill NEW
Jeanfrancois L ButtAustraliaAmy Elsner PROPOSAL
Murillo S BologniaIndiaIoni Bowcher PROPOSAL
Aika S GlickJapanElwin Sharvill QUALIFIED
Munro Y VocelkaIndiaAnna Fali QUALIFIED
Costa W SergiUnited KingdomOnyama Limba NEGOTIATION
Tony E SlusarskiIndiaAmy Elsner RENEWAL
Aika N ShinkoUnited KingdomXuxue Feng PROPOSAL
Nicolas R PaprockiGermanyStephen Shaw NEW
Arvin Y DoeBrazilAsiya Javayant QUALIFIED
Aika J PaprockiSpainIvan Magalhaes RENEWAL
Johnson E PoquetteGermanyXuxue Feng UNQUALIFIED
Jennifer C SaylorsIndiaAsiya Javayant QUALIFIED

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