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
Jennifer P BowleyJapanAmy Elsner PROPOSAL
Smith Q MarrierSpainAsiya Javayant PROPOSAL
Kadeem K PerinSpainBernardo Dominic RENEWAL
Leon R ShinkoItalyXuxue Feng RENEWAL
Costa P IturbideCanadaAnna Fali RENEWAL
Faith V GillianRussiaIvan Magalhaes RENEWAL
Julie Z RutaAustraliaIvan Magalhaes PROPOSAL
Leja T RulapaughCanadaBernardo Dominic NEGOTIATION
Nicolas S MaletGermanyAmy Elsner PROPOSAL
Jennifer T BologniaJapanAmy Elsner NEGOTIATION
Salvatore I MacleadCanadaAnna Fali NEW
Emily M AmigonGermanyIvan Magalhaes QUALIFIED
David Q FollerCanadaXuxue Feng NEW
Leja R TollnerSpainAnna Fali QUALIFIED
Leon J MarrierItalyAmy Elsner PROPOSAL
James T MarrierIndiaElwin Sharvill NEW
Jennifer S NestleFranceStephen Shaw PROPOSAL
Rodrigues E BologniaItalyXuxue Feng PROPOSAL
Maisha O MorascaJapanAmy Elsner PROPOSAL
Octavia O MaletIndiaXuxue Feng RENEWAL
Alejandro F ChuiSpainStephen Shaw QUALIFIED
Aruna X GillianUnited KingdomAmy Elsner NEGOTIATION
Kaitlin Y OstroskyIndiaOnyama Limba UNQUALIFIED
Deepesh Y AlbaresBrazilAsiya Javayant NEW
Ivar N StockhamArgentinaBernardo Dominic QUALIFIED
Arvin R GillianCanadaAmy Elsner QUALIFIED
Francesco F SergiArgentinaElwin Sharvill NEW
Morrow L FerenczArgentinaStephen Shaw NEW
Jones F GlickSpainXuxue Feng PROPOSAL
Octavia O BologniaFranceIoni Bowcher QUALIFIED
Juan I WieserIndiaBernardo Dominic NEGOTIATION
Claire H RimArgentinaElwin Sharvill NEW
Silvio Z CaudyAustraliaElwin Sharvill RENEWAL
Misaki H RutaSpainIvan Magalhaes NEW
Leja L SergiIndiaXuxue Feng NEGOTIATION
Aruna T FigeroaGermanyBernardo Dominic NEGOTIATION
Leja B WhobreyArgentinaIvan Magalhaes PROPOSAL
Ricardo G OldroydRussiaElwin Sharvill NEGOTIATION
Wickens K WaycottBrazilBernardo Dominic NEW
Adams Q DilliardItalyAmy Elsner RENEWAL
Darci I KuskoUnited KingdomXuxue Feng RENEWAL
Johnson W ButtArgentinaOnyama Limba PROPOSAL
Antonio V RoysterGermanyStephen Shaw UNQUALIFIED
Maria H MacleadBrazilBernardo Dominic RENEWAL
Maisha P IturbideBrazilAsiya Javayant PROPOSAL
David U VenereArgentinaBernardo Dominic NEGOTIATION
James C MaletJapanStephen Shaw UNQUALIFIED
Tony V RimGermanyIoni Bowcher NEW
Aditya P AlbaresUnited KingdomOnyama Limba RENEWAL
Leja S RoysterBrazilIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James S TollnerCanadaAnna Fali NEW
Silvio K MorascaItalyElwin Sharvill NEGOTIATION
Jennifer T SaylorsArgentinaAnna Fali RENEWAL
Octavia H GauchoBrazilStephen Shaw RENEWAL
Kadeem N MaletIndiaAnna Fali NEW
Adams Y ChuiSpainAsiya Javayant PROPOSAL
Munro E RoysterBrazilStephen Shaw RENEWAL
Salvatore D KolmetzIndiaBernardo Dominic PROPOSAL
Wickens A SergiJapanAnna Fali RENEWAL
Jefferson F CampainRussiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo V PoquetteSpain2025-06-02Benton, John B Jr PROPOSAL93Elwin Sharvill
1001Arvin T WhobreyUnited Kingdom2025-05-18Dorl, James J Esq NEW91Bernardo Dominic
1002Arvin N MaletArgentina2025-05-20Benton, John B Jr RENEWAL55Asiya Javayant
1003Antonio I DarakjyArgentina2025-06-09Chapman, Ross E Esq QUALIFIED25Asiya Javayant
1004Darci K StensethFrance2025-05-21Rangoni Of Florence NEGOTIATION29Asiya Javayant
1005Kadeem T SaylorsCanada2025-06-07Feiner Bros QUALIFIED96Amy Elsner
1006Maisha O DilliardUnited Kingdom2025-05-20Chemel, James L Cpa NEW28Onyama Limba
1007David A DoeJapan2025-05-26Chapman, Ross E Esq RENEWAL39Onyama Limba
1008Rodrigues G MaletSpain2025-06-16Rangoni Of Florence UNQUALIFIED89Elwin Sharvill
1009Aditya G DarakjyIndia2025-06-01Feiner Bros NEW26Anna Fali
1010Maisha P KolmetzArgentina2025-05-20Buckley Miller Wright RENEWAL17Anna Fali
1011Costa P MaletCanada2025-05-21Commercial Press QUALIFIED54Bernardo Dominic
1012Johnson M VenereCanada2025-06-04Printing Dimensions NEW58Elwin Sharvill
1013Salvatore R ChuiCanada2025-05-26Commercial Press NEW50Ioni Bowcher
1014Wickens K PaprockiGermany2025-05-21Chanay, Jeffrey A Esq NEGOTIATION68Amy Elsner
1015Claire H KuskoItaly2025-05-19Morlong Associates NEGOTIATION10Amy Elsner
1016Jennifer I CampainRussia2025-05-31Chemel, James L Cpa PROPOSAL75Ioni Bowcher
1017Isabel L KolmetzCanada2025-05-19Buckley Miller Wright UNQUALIFIED12Ioni Bowcher
1018Kaitlin E MarrierFrance2025-05-30Benton, John B Jr RENEWAL80Xuxue Feng
1019Maria E BowleyIndia2025-06-13King, Christopher A Esq PROPOSAL43Stephen Shaw
1020Arvin A KolmetzRussia2025-05-22Printing Dimensions RENEWAL61Stephen Shaw
1021Greenwood B StockhamFrance2025-05-29Morlong Associates RENEWAL2Ioni Bowcher
1022Chavez I DoeAustralia2025-06-10Rangoni Of Florence PROPOSAL41Elwin Sharvill
1023Darci L GlickJapan2025-05-26Rangoni Of Florence UNQUALIFIED68Onyama Limba
1024Cody G RimFrance2025-05-19Feltz Printing Service RENEWAL32Elwin Sharvill
1025Morrow R AmigonFrance2025-06-08Rangoni Of Florence NEW70Xuxue Feng
1026Munro G RimBrazil2025-06-11Morlong Associates NEW78Amy Elsner
1027Smith N OstroskyGermany2025-05-21Feiner Bros QUALIFIED16Ioni Bowcher
1028Silvio Y SlusarskiFrance2025-06-12Buckley Miller Wright RENEWAL96Xuxue Feng
1029Salvatore F FollerCanada2025-06-16Dorl, James J Esq QUALIFIED69Ivan Magalhaes
1030Salvatore S DilliardRussia2025-05-28Dorl, James J Esq UNQUALIFIED73Anna Fali
1031Kaitlin X FerenczUnited Kingdom2025-05-21King, Christopher A Esq NEW81Bernardo Dominic
1032Antonio J FerenczUnited Kingdom2025-05-27Chemel, James L Cpa QUALIFIED68Amy Elsner
1033Julie K AlbaresJapan2025-06-07King, Christopher A Esq NEGOTIATION73Xuxue Feng
1034Aika U ShinkoUnited Kingdom2025-06-11Morlong Associates NEW7Amy Elsner
1035Greenwood L NickaArgentina2025-06-09Feltz Printing Service QUALIFIED39Elwin Sharvill
1036Kadeem F BologniaUnited Kingdom2025-06-10Buckley Miller Wright NEW19Asiya Javayant
1037James X GauchoCanada2025-05-27Feiner Bros PROPOSAL80Amy Elsner
1038Chavez B OstroskyIndia2025-05-27Benton, John B Jr NEGOTIATION48Bernardo Dominic
1039Mujtaba X RimSpain2025-06-09Rousseaux, Michael Esq NEW94Onyama Limba
1040Tony J KuskoArgentina2025-06-08Feltz Printing Service UNQUALIFIED72Xuxue Feng
1041Darci R CampainUnited Kingdom2025-05-27Morlong Associates NEW41Onyama Limba
1042Tony E CampainArgentina2025-05-18Truhlar And Truhlar Attys UNQUALIFIED51Amy Elsner
1043Morrow S StockhamCanada2025-06-06Chanay, Jeffrey A Esq PROPOSAL44Amy Elsner
1044Arvin J ChuiItaly2025-05-23Rousseaux, Michael Esq PROPOSAL32Stephen Shaw
1045Adams P MorascaRussia2025-05-27Dorl, James J Esq NEGOTIATION64Bernardo Dominic
1046Arvin Y PaprockiRussia2025-05-18King, Christopher A Esq NEGOTIATION15Ioni Bowcher
1047Adams U BowleyJapan2025-06-01Chemel, James L Cpa NEW37Elwin Sharvill
1048Munro T CampainGermany2025-06-07Feltz Printing Service UNQUALIFIED18Anna Fali
1049Greenwood C OstroskyItaly2025-06-04Chanay, Jeffrey A Esq UNQUALIFIED74Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Faith U RoysterRussiaXuxue Feng QUALIFIED
Morrow X WaycottCanadaAmy Elsner RENEWAL
Morrow R BowleyGermanyBernardo Dominic NEW
Misaki I FerenczRussiaAsiya Javayant PROPOSAL
Greenwood S PerinCanadaAmy Elsner RENEWAL
Sinclair J StensethIndiaStephen Shaw QUALIFIED
Leon I MarrierSpainIoni Bowcher PROPOSAL
Nicolas Y DarakjyRussiaIvan Magalhaes UNQUALIFIED
Silvio I ShinkoItalyAnna Fali NEGOTIATION
Ivar T RulapaughFranceAsiya Javayant QUALIFIED
Adams V SlusarskiJapanAnna Fali UNQUALIFIED
Antonio O KuskoArgentinaElwin Sharvill RENEWAL
Jones Y FigeroaBrazilXuxue Feng RENEWAL
Aditya N MarrierGermanyOnyama Limba NEGOTIATION
Jeanfrancois X CaudyIndiaIoni Bowcher NEW
Wickens M NestleJapanAnna Fali NEW
Jefferson H KuskoRussiaIvan Magalhaes RENEWAL
Jefferson F BologniaRussiaXuxue Feng PROPOSAL
Aika Y InouyeItalyAnna Fali NEW
Rodrigues K CaudyUnited KingdomAsiya Javayant QUALIFIED
Smith L ChuiFranceAnna Fali UNQUALIFIED
Rodrigues V BologniaIndiaBernardo Dominic NEW
Julie K WaycottArgentinaAmy Elsner NEW
Greenwood K BowleySpainBernardo Dominic PROPOSAL
Stacey T FerenczUnited KingdomIoni Bowcher NEGOTIATION
James O RulapaughCanadaElwin Sharvill QUALIFIED
James J ChuiUnited KingdomAsiya Javayant QUALIFIED
Isabel Q SaylorsArgentinaAsiya Javayant NEW
Chavez K RimCanadaBernardo Dominic RENEWAL
Cody T RutaFranceIoni Bowcher QUALIFIED
Ivar Q InouyeItalyAsiya Javayant NEGOTIATION
Jeanfrancois V VocelkaAustraliaBernardo Dominic QUALIFIED
Julie B PerinUnited KingdomStephen Shaw NEGOTIATION
James Q MorascaCanadaIvan Magalhaes UNQUALIFIED
Claire I TollnerSpainXuxue Feng NEGOTIATION
James L GlickBrazilXuxue Feng QUALIFIED
Aruna T ShinkoCanadaStephen Shaw UNQUALIFIED
Antonio T AlbaresFranceIvan Magalhaes PROPOSAL
Rodrigues J PaprockiJapanOnyama Limba NEW
Izzy G RutaSpainXuxue Feng NEW
Arvin N GlickGermanyElwin Sharvill NEW
Izzy W BowleyBrazilElwin Sharvill QUALIFIED
Leja K NestleCanadaXuxue Feng PROPOSAL
Faith Z MacleadItalyAmy Elsner UNQUALIFIED
Murillo R RimJapanIvan Magalhaes QUALIFIED
Tony D OldroydUnited KingdomAnna Fali NEGOTIATION
James S WieserGermanyAnna Fali QUALIFIED
Jones U RutaAustraliaAsiya Javayant NEW
Ivar I FerenczCanadaAsiya Javayant UNQUALIFIED
Wickens Q CaldareraIndiaAnna Fali UNQUALIFIED
Frozen Columns
Name
Juan P Inouye
Murillo O Schemmer
Costa A Bowley
Mayumi W Caudy
Kaitlin G Campain
Salvatore A Nicka
Rodrigues Q Garufi
Johnson C Kusko
Ricardo H Nestle
Morrow O Stenseth
Aika K Nestle
Mujtaba R Whobrey
Stacey T Slusarski
Ricardo I Morasca
Mayumi J Poquette
Misaki L Dilliard
Misaki I Slusarski
Emily F Darakjy
Julie B Saylors
Darci H Poquette
Ivar M Poquette
Misaki L Malet
Claire V Ferencz
Sinclair Q Oldroyd
Cody O Wieser
Isabel G Bolognia
Arvin E Poquette
Stacey Y Vocelka
Mujtaba A Morasca
Isabel R Oldroyd
Sinclair C Butt
Tony J Bolognia
Aruna H Briddick
Leja H Malet
Octavia R Inouye
Emily Z Vocelka
Emily C Darakjy
Mayumi J Malet
Sinclair Z Rim
Wickens G Schemmer
Adams L Figeroa
Francesco D Whobrey
Jennifer F Amigon
Jones V Ferencz
Claire E Wieser
Kadeem Q Vocelka
Sinclair Z Dilliard
Maisha H Rulapaugh
Murillo V Poquette
Claire Q Inouye
IdCountryDate
1000Japan2025-05-27
1001Japan2025-06-07
1002Argentina2025-05-23
1003Spain2025-05-22
1004Italy2025-06-07
1005Brazil2025-05-25
1006Argentina2025-05-21
1007France2025-06-05
1008Germany2025-06-11
1009Australia2025-06-07
1010Canada2025-05-21
1011Germany2025-05-23
1012Spain2025-05-18
1013Australia2025-06-07
1014Brazil2025-05-20
1015France2025-06-16
1016Russia2025-05-23
1017Argentina2025-06-10
1018Germany2025-06-10
1019Canada2025-05-28
1020Canada2025-06-09
1021Canada2025-06-09
1022Italy2025-05-22
1023India2025-05-20
1024Japan2025-05-29
1025France2025-05-29
1026Japan2025-05-28
1027Italy2025-05-31
1028Spain2025-05-31
1029France2025-05-22
1030Argentina2025-06-07
1031United Kingdom2025-05-28
1032Australia2025-06-12
1033France2025-05-23
1034Argentina2025-05-27
1035India2025-06-07
1036India2025-06-07
1037Germany2025-05-25
1038Brazil2025-06-12
1039Canada2025-06-12
1040Japan2025-05-19
1041Spain2025-05-28
1042Brazil2025-06-03
1043Australia2025-05-18
1044Russia2025-05-19
1045Canada2025-05-31
1046Japan2025-05-28
1047Japan2025-05-25
1048Argentina2025-05-22
1049India2025-05-18

On-Demand Data

NameIdCountryDate
Chavez F Amigon1000Japan2025-06-08
Aditya J Maclead1001France2025-06-07
Tony A Waycott1002Japan2025-05-24
Tony X Slusarski1003Russia2025-06-15
Misaki G Schemmer1004Australia2025-06-01
Claire U Ostrosky1005Canada2025-06-15
Mujtaba Q Paprocki1006Australia2025-05-26
Silvio Q Ostrosky1007Russia2025-06-14
Costa X Rim1008Japan2025-05-19
Aika A Butt1009Australia2025-06-09
Kaitlin I Nestle1010Canada2025-06-01
Jefferson F Morasca1011Japan2025-06-14
Ricardo M Royster1012Russia2025-05-25
Sinclair M Marrier1013Japan2025-05-31
David N Malet1014Canada2025-06-03
Ivar T Garufi1015Japan2025-06-05
Tony S Perin1016Brazil2025-05-27
Ivar M Kusko1017Spain2025-06-04
Isabel E Saylors1018Germany2025-05-21
Misaki W Iturbide1019India2025-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia U BowleyBrazilIoni Bowcher UNQUALIFIED
Smith V GarufiUnited KingdomIoni Bowcher RENEWAL
Munro N DilliardSpainOnyama Limba PROPOSAL
James B PoquetteRussiaBernardo Dominic QUALIFIED
Murillo H ChuiFranceIvan Magalhaes QUALIFIED
Juan P GlickJapanElwin Sharvill QUALIFIED
Kaitlin A CaudyRussiaXuxue Feng NEGOTIATION
Murillo W RutaIndiaOnyama Limba PROPOSAL
Costa W FerenczSpainXuxue Feng PROPOSAL
Aruna Q FigeroaIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois G WhobreySpainAmy Elsner PROPOSAL
Aruna G ChuiCanadaOnyama Limba UNQUALIFIED
Julie Z WaycottSpainAmy Elsner UNQUALIFIED
Adams K GarufiAustraliaElwin Sharvill NEGOTIATION
Misaki E MorascaAustraliaAmy Elsner NEGOTIATION
Isabel N GillianUnited KingdomIvan Magalhaes PROPOSAL
Izzy S SchemmerArgentinaAnna Fali PROPOSAL
Leon S FerenczFranceAnna Fali UNQUALIFIED
James U InouyeFranceBernardo Dominic NEGOTIATION
Arvin J AmigonGermanyAnna Fali QUALIFIED
Nicolas B WaycottGermanyIvan Magalhaes NEW
Darci C VocelkaFranceOnyama Limba UNQUALIFIED
Jefferson M AmigonArgentinaStephen Shaw PROPOSAL
Leon R BriddickAustraliaStephen Shaw RENEWAL
Adams Y MaletSpainAmy Elsner UNQUALIFIED
Wickens G SchemmerItalyIoni Bowcher PROPOSAL
Alejandro U CaldareraAustraliaIvan Magalhaes NEGOTIATION
Francesco A CaldareraJapanStephen Shaw RENEWAL
Aruna A ShinkoSpainIvan Magalhaes QUALIFIED
Isabel I MaletCanadaStephen Shaw RENEWAL
Munro G NickaGermanyStephen Shaw NEGOTIATION
Tony Z FlosiBrazilAmy Elsner UNQUALIFIED
Kaitlin T NestleAustraliaOnyama Limba QUALIFIED
Juan E CaldareraFranceStephen Shaw RENEWAL
Emily X MarrierSpainAsiya Javayant NEW
Tony Y SlusarskiArgentinaElwin Sharvill NEW
Aditya O NickaUnited KingdomAmy Elsner NEW
Sinclair Y VocelkaBrazilBernardo Dominic RENEWAL
Ivar B ButtUnited KingdomStephen Shaw NEW
Nicolas S PerinRussiaOnyama Limba NEGOTIATION

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