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
Claire N MorascaSpainBernardo Dominic PROPOSAL
Octavia U DilliardCanadaElwin Sharvill UNQUALIFIED
Aika Y MaletRussiaIoni Bowcher RENEWAL
Mayumi K KuskoGermanyAsiya Javayant RENEWAL
Jones S GauchoJapanElwin Sharvill RENEWAL
Ashley F IturbideCanadaIvan Magalhaes RENEWAL
Mayumi T BologniaSpainStephen Shaw RENEWAL
Wickens T VocelkaArgentinaAnna Fali UNQUALIFIED
Julie T AmigonRussiaIoni Bowcher QUALIFIED
James C KuskoCanadaIoni Bowcher RENEWAL
Ashley M AlbaresCanadaAsiya Javayant NEW
Ricardo H FollerBrazilXuxue Feng QUALIFIED
Aika C SlusarskiRussiaOnyama Limba NEW
Jones C FerenczBrazilAmy Elsner QUALIFIED
Salvatore M RutaUnited KingdomStephen Shaw NEW
Salvatore R PoquetteJapanStephen Shaw UNQUALIFIED
Jefferson A CaldareraSpainElwin Sharvill UNQUALIFIED
Leja G BologniaRussiaIoni Bowcher NEGOTIATION
Munro B DoeSpainXuxue Feng UNQUALIFIED
Kadeem W DarakjySpainAmy Elsner QUALIFIED
Adams U AmigonFranceXuxue Feng QUALIFIED
Francesco N AmigonItalyElwin Sharvill QUALIFIED
Greenwood M RulapaughAustraliaAnna Fali NEW
Jeanfrancois U RutaIndiaBernardo Dominic PROPOSAL
Nicolas U AlbaresSpainAmy Elsner NEW
Deepesh Z BologniaBrazilOnyama Limba QUALIFIED
Aruna D MarrierAustraliaIoni Bowcher PROPOSAL
Cody B PoquetteCanadaAmy Elsner RENEWAL
Chavez Q SaylorsIndiaAsiya Javayant NEW
Ricardo H DarakjyCanadaAmy Elsner PROPOSAL
Stacey U InouyeAustraliaAmy Elsner PROPOSAL
Clifford P BowleyArgentinaElwin Sharvill RENEWAL
Jones U AlbaresUnited KingdomElwin Sharvill NEW
James J SergiUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues E AlbaresCanadaAsiya Javayant NEW
Salvatore C FollerCanadaElwin Sharvill NEGOTIATION
Rodrigues Q PerinSpainIvan Magalhaes RENEWAL
Arvin O CaudyUnited KingdomOnyama Limba NEW
Aika P VocelkaJapanAsiya Javayant NEW
Jefferson F MaletFranceOnyama Limba QUALIFIED
Ricardo W GauchoFranceElwin Sharvill RENEWAL
Morrow C TollnerSpainOnyama Limba RENEWAL
Claire U AlbaresGermanyAsiya Javayant QUALIFIED
Darci C BriddickUnited KingdomXuxue Feng QUALIFIED
Faith X RulapaughBrazilAsiya Javayant PROPOSAL
Antonio W RoysterUnited KingdomStephen Shaw NEGOTIATION
Greenwood D AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Antonio F SchemmerSpainIvan Magalhaes NEGOTIATION
Faith G SlusarskiRussiaAmy Elsner UNQUALIFIED
Smith T GillianFranceElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith J PaprockiJapanIvan Magalhaes NEGOTIATION
Costa Z RulapaughIndiaAnna Fali NEW
Ricardo M IturbideBrazilIoni Bowcher UNQUALIFIED
Claire V CaudyAustraliaAnna Fali RENEWAL
Rodrigues V DoeGermanyElwin Sharvill RENEWAL
Chavez K MaletIndiaStephen Shaw UNQUALIFIED
Wickens T RulapaughIndiaOnyama Limba PROPOSAL
Ashley Q StockhamCanadaAsiya Javayant QUALIFIED
Rodrigues E WieserIndiaElwin Sharvill PROPOSAL
Izzy D AmigonGermanyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues T PoquetteUnited Kingdom2025-04-29Morlong Associates UNQUALIFIED4Ioni Bowcher
1001Juan P GarufiArgentina2025-04-15Feltz Printing Service QUALIFIED40Ioni Bowcher
1002Maisha Q StockhamSpain2025-04-01Morlong Associates NEW9Ioni Bowcher
1003Jefferson A BologniaIndia2025-04-29Dorl, James J Esq RENEWAL75Stephen Shaw
1004Cody X GauchoIndia2025-04-13Feiner Bros NEW37Elwin Sharvill
1005Rodrigues C AmigonAustralia2025-04-09Rousseaux, Michael Esq RENEWAL32Stephen Shaw
1006Faith E MacleadFrance2025-04-25Feiner Bros PROPOSAL85Stephen Shaw
1007Jeanfrancois C WaycottItaly2025-04-27Rousseaux, Michael Esq PROPOSAL99Amy Elsner
1008Wickens E VocelkaFrance2025-04-10Chanay, Jeffrey A Esq RENEWAL54Ivan Magalhaes
1009Jennifer F PerinItaly2025-04-10Chanay, Jeffrey A Esq QUALIFIED34Asiya Javayant
1010Murillo G PerinAustralia2025-04-19Chapman, Ross E Esq UNQUALIFIED16Ioni Bowcher
1011Maria X RimFrance2025-04-13Buckley Miller Wright NEGOTIATION67Ioni Bowcher
1012Jefferson I MorascaItaly2025-04-03Rousseaux, Michael Esq RENEWAL82Stephen Shaw
1013Jennifer U SaylorsFrance2025-04-07Morlong Associates NEGOTIATION20Stephen Shaw
1014Adams S BowleyItaly2025-04-20Chapman, Ross E Esq QUALIFIED68Ivan Magalhaes
1015Jefferson G FigeroaUnited Kingdom2025-04-11Truhlar And Truhlar Attys RENEWAL70Anna Fali
1016Maria G RoysterJapan2025-04-07Benton, John B Jr QUALIFIED62Stephen Shaw
1017Ricardo H WhobreyGermany2025-04-01Rangoni Of Florence PROPOSAL53Ivan Magalhaes
1018Cody V DarakjyArgentina2025-04-28Rangoni Of Florence UNQUALIFIED0Onyama Limba
1019Arvin V GillianBrazil2025-04-23King, Christopher A Esq RENEWAL13Xuxue Feng
1020Ricardo F PoquetteJapan2025-04-21Chanay, Jeffrey A Esq NEGOTIATION48Bernardo Dominic
1021Francesco S StensethIndia2025-04-05Feltz Printing Service NEGOTIATION50Amy Elsner
1022Maisha I KuskoSpain2025-04-19Buckley Miller Wright NEW90Onyama Limba
1023Clifford V FerenczUnited Kingdom2025-04-29Benton, John B Jr QUALIFIED19Elwin Sharvill
1024Murillo O GillianJapan2025-04-08Feiner Bros QUALIFIED95Asiya Javayant
1025Stacey S CampainJapan2025-04-07Chanay, Jeffrey A Esq NEW37Asiya Javayant
1026Francesco X ButtAustralia2025-04-30Feltz Printing Service QUALIFIED96Stephen Shaw
1027Mayumi A MacleadAustralia2025-04-17Rangoni Of Florence PROPOSAL93Amy Elsner
1028Jefferson Z MacleadUnited Kingdom2025-04-29Chanay, Jeffrey A Esq NEGOTIATION52Ivan Magalhaes
1029Izzy E ShinkoArgentina2025-04-30Benton, John B Jr RENEWAL94Xuxue Feng
1030Rodrigues I KuskoBrazil2025-04-19Buckley Miller Wright NEW53Anna Fali
1031Ashley D NickaArgentina2025-04-15Chemel, James L Cpa PROPOSAL66Bernardo Dominic
1032James F StockhamBrazil2025-04-25Rangoni Of Florence NEGOTIATION38Bernardo Dominic
1033Misaki N MaletIndia2025-04-25Rangoni Of Florence NEGOTIATION60Bernardo Dominic
1034Chavez X KolmetzGermany2025-04-28Dorl, James J Esq QUALIFIED60Elwin Sharvill
1035Jeanfrancois C OldroydFrance2025-04-27Commercial Press QUALIFIED71Onyama Limba
1036Munro G GlickRussia2025-04-21King, Christopher A Esq NEW94Stephen Shaw
1037Leon X BriddickRussia2025-04-04Buckley Miller Wright UNQUALIFIED22Ivan Magalhaes
1038Sinclair G FlosiRussia2025-04-04Morlong Associates PROPOSAL81Xuxue Feng
1039Jones B CaldareraJapan2025-04-25Chapman, Ross E Esq NEW49Anna Fali
1040Aruna T MarrierIndia2025-04-29Printing Dimensions PROPOSAL60Onyama Limba
1041Aditya E FlosiItaly2025-04-08Feiner Bros RENEWAL84Ivan Magalhaes
1042Smith L WieserSpain2025-04-22King, Christopher A Esq PROPOSAL72Anna Fali
1043Isabel B StockhamArgentina2025-04-18Chemel, James L Cpa NEW96Stephen Shaw
1044Silvio A MacleadBrazil2025-04-12Rousseaux, Michael Esq UNQUALIFIED66Ioni Bowcher
1045Leon Q PaprockiBrazil2025-04-12Truhlar And Truhlar Attys UNQUALIFIED97Asiya Javayant
1046Murillo U WieserSpain2025-04-26Truhlar And Truhlar Attys NEW3Bernardo Dominic
1047David L NickaFrance2025-04-03King, Christopher A Esq RENEWAL2Xuxue Feng
1048Kaitlin Y WhobreyRussia2025-04-03Commercial Press PROPOSAL94Xuxue Feng
1049Silvio B WieserGermany2025-04-21Chemel, James L Cpa NEGOTIATION3Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Murillo A SaylorsRussiaOnyama Limba NEW
Jefferson E TollnerAustraliaBernardo Dominic QUALIFIED
Juan Y WaycottItalyAsiya Javayant NEGOTIATION
Faith W NickaSpainIoni Bowcher PROPOSAL
Faith S DilliardIndiaXuxue Feng PROPOSAL
Aruna R KolmetzArgentinaIoni Bowcher NEW
Claire S VocelkaArgentinaAnna Fali PROPOSAL
Mujtaba Q DarakjyItalyAsiya Javayant NEW
Aditya I TollnerItalyAsiya Javayant NEGOTIATION
Kaitlin C MorascaCanadaAnna Fali UNQUALIFIED
Mujtaba J SergiJapanIvan Magalhaes RENEWAL
James J RoysterGermanyAnna Fali UNQUALIFIED
Alejandro K VocelkaUnited KingdomXuxue Feng NEGOTIATION
Leja V NestleFranceIvan Magalhaes RENEWAL
Kadeem B WieserGermanyAsiya Javayant UNQUALIFIED
Murillo X WieserAustraliaAnna Fali NEGOTIATION
Maria L AlbaresUnited KingdomOnyama Limba QUALIFIED
Stacey J StockhamFranceAmy Elsner QUALIFIED
Mujtaba D FollerBrazilAsiya Javayant RENEWAL
Aika S MarrierFranceIvan Magalhaes NEW
Greenwood S CampainCanadaOnyama Limba NEW
Jefferson F ChuiGermanyAsiya Javayant PROPOSAL
Mujtaba G CaldareraJapanElwin Sharvill NEW
Morrow U GarufiAustraliaAmy Elsner NEW
Alejandro C GillianArgentinaXuxue Feng RENEWAL
Misaki I WaycottCanadaAmy Elsner NEGOTIATION
Kadeem P RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Emily Z StockhamIndiaIoni Bowcher NEGOTIATION
Octavia W DoeUnited KingdomXuxue Feng NEGOTIATION
Johnson I CaudyFranceStephen Shaw RENEWAL
Izzy L RulapaughJapanIoni Bowcher NEW
Isabel R DoeBrazilAsiya Javayant RENEWAL
Mujtaba P WhobreyUnited KingdomIoni Bowcher NEW
Kaitlin G BowleyItalyAsiya Javayant NEW
Munro C RutaFranceElwin Sharvill NEGOTIATION
Murillo P CampainCanadaXuxue Feng NEGOTIATION
Arvin N FollerItalyElwin Sharvill QUALIFIED
Kaitlin X RutaArgentinaElwin Sharvill NEW
Chavez C MaletIndiaAnna Fali QUALIFIED
Octavia X VocelkaFranceOnyama Limba UNQUALIFIED
Mayumi P PaprockiArgentinaXuxue Feng PROPOSAL
Chavez N BriddickFranceIoni Bowcher NEGOTIATION
Juan J TollnerCanadaOnyama Limba UNQUALIFIED
Misaki R CaldareraRussiaIvan Magalhaes NEGOTIATION
Izzy W IturbideFranceAsiya Javayant NEGOTIATION
Ivar R FlosiSpainElwin Sharvill PROPOSAL
Misaki P MorascaAustraliaAnna Fali QUALIFIED
Ivar T SaylorsGermanyBernardo Dominic NEW
Jennifer R ShinkoItalyStephen Shaw PROPOSAL
Misaki D KuskoUnited KingdomIoni Bowcher NEGOTIATION
Frozen Columns
Name
Jones W Royster
Misaki N Saylors
Aika N Shinko
Aika T Doe
Jefferson T Ruta
Ricardo H Gaucho
Maria U Dilliard
Octavia P Bowley
Alejandro Y Perin
Mujtaba A Stenseth
Jones O Stockham
Aika J Butt
Juan Q Royster
Julie N Malet
Ivar C Kusko
Munro H Wieser
Adams R Butt
Murillo D Bolognia
Aditya P Bowley
Tony O Rulapaugh
Aika I Foller
Cody Z Ostrosky
Morrow H Sergi
Claire X Rulapaugh
Rodrigues M Royster
Costa M Ruta
Silvio I Albares
Silvio A Gaucho
Mayumi T Morasca
Octavia D Caldarera
Ashley X Glick
Cody F Caldarera
Munro I Stenseth
Jones M Garufi
Kaitlin A Maclead
Kadeem R Nestle
Jennifer M Caudy
Francesco A Doe
Murillo L Ruta
Misaki S Bolognia
Maisha H Butt
Wickens C Chui
Jeanfrancois L Ruta
Clifford S Amigon
Clifford W Doe
Clifford K Butt
Munro I Briddick
Antonio M Flosi
Nicolas M Bowley
Munro H Gaucho
IdCountryDate
1000Spain2025-04-08
1001Russia2025-04-05
1002Germany2025-04-12
1003Japan2025-04-20
1004Spain2025-04-08
1005Spain2025-04-05
1006Japan2025-04-05
1007Russia2025-04-17
1008India2025-04-06
1009Russia2025-04-06
1010Russia2025-04-29
1011Argentina2025-04-05
1012Japan2025-04-25
1013France2025-04-15
1014Russia2025-04-01
1015Canada2025-04-03
1016Brazil2025-04-23
1017India2025-04-14
1018Australia2025-04-21
1019Canada2025-04-03
1020Italy2025-04-06
1021Italy2025-04-18
1022Brazil2025-04-02
1023United Kingdom2025-04-15
1024France2025-04-30
1025Germany2025-04-30
1026Germany2025-04-26
1027Japan2025-04-14
1028Australia2025-04-17
1029Brazil2025-04-27
1030Argentina2025-04-15
1031Brazil2025-04-15
1032Brazil2025-04-03
1033Russia2025-04-17
1034Spain2025-04-08
1035Spain2025-04-21
1036Australia2025-04-11
1037France2025-04-01
1038Russia2025-04-11
1039Australia2025-04-11
1040France2025-04-15
1041Canada2025-04-05
1042Canada2025-04-04
1043United Kingdom2025-04-12
1044India2025-04-02
1045Russia2025-04-29
1046Brazil2025-04-17
1047India2025-04-22
1048Spain2025-04-15
1049Argentina2025-04-17

On-Demand Data

NameIdCountryDate
Faith F Morasca1000Italy2025-04-05
Tony J Malet1001Japan2025-04-23
Aditya R Albares1002Japan2025-04-03
Jefferson U Foller1003Italy2025-04-05
Aditya B Kolmetz1004Germany2025-04-06
Clifford X Ruta1005Brazil2025-04-08
Faith J Ostrosky1006India2025-04-14
Aika X Rim1007Japan2025-04-29
Kaitlin H Poquette1008Australia2025-04-22
Jennifer G Whobrey1009United Kingdom2025-04-05
Kadeem Y Ruta1010France2025-04-11
David O Butt1011Argentina2025-04-04
Tony Z Nicka1012India2025-04-29
Greenwood W Bowley1013Canada2025-04-15
Salvatore Z Sergi1014Australia2025-04-26
Mayumi N Amigon1015Brazil2025-04-03
Wickens R Gaucho1016Spain2025-04-14
Darci U Tollner1017Italy2025-04-23
Aditya X Wieser1018Italy2025-04-11
Stacey E Nestle1019France2025-04-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel J FigeroaItalyIvan Magalhaes UNQUALIFIED
Sinclair C FerenczJapanAsiya Javayant NEW
Mayumi R SchemmerGermanyAmy Elsner UNQUALIFIED
Salvatore S MacleadRussiaBernardo Dominic UNQUALIFIED
Morrow J MaletItalyElwin Sharvill PROPOSAL
Izzy Q CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh M KolmetzGermanyOnyama Limba NEW
Misaki L BriddickUnited KingdomXuxue Feng NEGOTIATION
Smith Z SlusarskiCanadaElwin Sharvill NEGOTIATION
Nicolas X InouyeAustraliaBernardo Dominic QUALIFIED
Antonio H PerinItalyAmy Elsner RENEWAL
Misaki X MacleadRussiaAsiya Javayant NEW
Darci X MaletSpainAsiya Javayant NEW
Leon O CaldareraCanadaIoni Bowcher UNQUALIFIED
Kadeem N AlbaresBrazilIvan Magalhaes QUALIFIED
Morrow N SlusarskiSpainIoni Bowcher RENEWAL
Juan N RimUnited KingdomAsiya Javayant RENEWAL
Munro T StensethFranceStephen Shaw NEW
Deepesh J BriddickRussiaIvan Magalhaes UNQUALIFIED
Maisha L MarrierAustraliaAsiya Javayant NEW
Cody J WieserFranceIoni Bowcher NEW
Mujtaba R MorascaSpainIoni Bowcher RENEWAL
Antonio T StensethGermanyXuxue Feng NEGOTIATION
Chavez F TollnerBrazilIoni Bowcher QUALIFIED
Sinclair M OstroskyUnited KingdomStephen Shaw PROPOSAL
Izzy L WieserGermanyBernardo Dominic QUALIFIED
Ashley E NickaBrazilAnna Fali QUALIFIED
Maria U WieserItalyBernardo Dominic NEW
Aditya B MacleadAustraliaXuxue Feng RENEWAL
Emily X RutaSpainAmy Elsner PROPOSAL
Jeanfrancois W BologniaBrazilStephen Shaw PROPOSAL
Mayumi U MaletCanadaAnna Fali NEGOTIATION
Izzy L CampainUnited KingdomBernardo Dominic UNQUALIFIED
Arvin F FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Isabel M VocelkaItalyXuxue Feng UNQUALIFIED
Jeanfrancois A FlosiIndiaBernardo Dominic RENEWAL
Kaitlin C FigeroaAustraliaElwin Sharvill RENEWAL
Clifford M ChuiArgentinaIvan Magalhaes NEW
Kaitlin M WaycottCanadaXuxue Feng QUALIFIED
Antonio E MacleadItalyBernardo Dominic NEW

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