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
Aditya R FigeroaFranceAnna Fali UNQUALIFIED
Kadeem B FollerSpainAmy Elsner UNQUALIFIED
Stacey P OstroskyUnited KingdomAnna Fali NEW
Silvio Z GauchoArgentinaStephen Shaw NEGOTIATION
Aika X CaudyArgentinaStephen Shaw UNQUALIFIED
Kadeem D MorascaGermanyElwin Sharvill UNQUALIFIED
Ivar T FollerBrazilIvan Magalhaes NEGOTIATION
Aika T VocelkaAustraliaAsiya Javayant NEW
Silvio E MaletUnited KingdomXuxue Feng NEGOTIATION
Tony N DoeGermanyAnna Fali RENEWAL
James W SchemmerCanadaIoni Bowcher PROPOSAL
Nicolas V VenereUnited KingdomXuxue Feng QUALIFIED
Francesco V WieserGermanyElwin Sharvill UNQUALIFIED
Salvatore X PaprockiBrazilAsiya Javayant NEW
Greenwood V VocelkaArgentinaElwin Sharvill NEW
Claire K MarrierSpainXuxue Feng RENEWAL
Stacey M StensethSpainAmy Elsner UNQUALIFIED
Leon Y VenereGermanyIoni Bowcher QUALIFIED
Aika Y RulapaughJapanXuxue Feng NEW
Juan Q TollnerArgentinaAsiya Javayant RENEWAL
Chavez Z IturbideGermanyElwin Sharvill NEGOTIATION
Mayumi M ChuiBrazilXuxue Feng QUALIFIED
Arvin J ShinkoSpainIvan Magalhaes PROPOSAL
Silvio H GillianIndiaAmy Elsner NEW
Chavez Z InouyeJapanBernardo Dominic NEGOTIATION
Stacey T SergiRussiaXuxue Feng RENEWAL
Mayumi Q WaycottItalyIoni Bowcher PROPOSAL
Greenwood M FigeroaGermanyElwin Sharvill PROPOSAL
Juan S NickaFranceStephen Shaw NEW
Aditya B SergiCanadaAsiya Javayant PROPOSAL
Leon B ButtItalyAmy Elsner UNQUALIFIED
Claire N MaletFranceAnna Fali NEW
Leja U MarrierSpainStephen Shaw NEGOTIATION
Leon W VenereSpainIvan Magalhaes NEW
Isabel B MacleadItalyOnyama Limba PROPOSAL
Ricardo X CaldareraJapanAnna Fali PROPOSAL
Chavez I OstroskyGermanyIvan Magalhaes NEGOTIATION
Julie X CaldareraJapanAsiya Javayant RENEWAL
Misaki M WieserBrazilXuxue Feng PROPOSAL
Jennifer C PaprockiRussiaXuxue Feng UNQUALIFIED
Aditya K CaudyRussiaElwin Sharvill RENEWAL
Adams B ShinkoJapanOnyama Limba NEW
Costa N DarakjyItalyIoni Bowcher NEW
Jefferson O RulapaughItalyXuxue Feng PROPOSAL
James X GillianJapanBernardo Dominic UNQUALIFIED
Maria B CaldareraCanadaStephen Shaw UNQUALIFIED
Rodrigues O MacleadSpainOnyama Limba RENEWAL
Nicolas Y KuskoArgentinaAmy Elsner RENEWAL
Leja I VocelkaSpainOnyama Limba NEGOTIATION
Juan U RutaItalyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo R ButtAustraliaStephen Shaw NEGOTIATION
Kaitlin W RulapaughGermanyElwin Sharvill QUALIFIED
Greenwood G VocelkaBrazilBernardo Dominic NEW
Nicolas F SaylorsArgentinaAsiya Javayant QUALIFIED
Maria S DoeCanadaOnyama Limba NEW
Deepesh T MacleadUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore V MaletCanadaAsiya Javayant QUALIFIED
Darci F AlbaresItalyBernardo Dominic PROPOSAL
Maria T CampainBrazilOnyama Limba RENEWAL
Wickens H MaletIndiaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer J ChuiFrance2024-06-05Buckley Miller Wright NEGOTIATION90Ivan Magalhaes
1001Jones E RutaRussia2024-05-27Rangoni Of Florence RENEWAL24Ioni Bowcher
1002Isabel J GillianAustralia2024-06-09Feltz Printing Service RENEWAL57Ioni Bowcher
1003Izzy X StensethBrazil2024-06-10King, Christopher A Esq NEW94Anna Fali
1004Claire I SchemmerBrazil2024-06-05Buckley Miller Wright QUALIFIED83Ivan Magalhaes
1005Clifford U RutaIndia2024-05-23Chanay, Jeffrey A Esq PROPOSAL70Elwin Sharvill
1006Aika O FollerFrance2024-05-23Feltz Printing Service QUALIFIED86Ioni Bowcher
1007Aruna V SergiAustralia2024-05-25Chapman, Ross E Esq UNQUALIFIED30Xuxue Feng
1008Costa X WhobreyIndia2024-05-24King, Christopher A Esq RENEWAL89Xuxue Feng
1009Wickens K MorascaItaly2024-06-06Benton, John B Jr RENEWAL31Xuxue Feng
1010James J PerinFrance2024-06-19Chapman, Ross E Esq NEW6Ivan Magalhaes
1011Smith R RulapaughIndia2024-06-14Buckley Miller Wright QUALIFIED4Xuxue Feng
1012Ricardo R WhobreySpain2024-06-03Chemel, James L Cpa NEGOTIATION8Onyama Limba
1013Sinclair Z BologniaBrazil2024-05-31Benton, John B Jr NEGOTIATION69Anna Fali
1014Jefferson J VocelkaAustralia2024-06-07Morlong Associates RENEWAL47Asiya Javayant
1015Clifford O ShinkoIndia2024-05-31King, Christopher A Esq UNQUALIFIED18Ivan Magalhaes
1016Izzy T DilliardBrazil2024-06-06Feiner Bros QUALIFIED6Stephen Shaw
1017Aditya N FigeroaSpain2024-06-09Buckley Miller Wright NEGOTIATION58Asiya Javayant
1018Wickens L WhobreySpain2024-06-03Chemel, James L Cpa UNQUALIFIED93Asiya Javayant
1019Morrow Z WhobreyGermany2024-06-11Chanay, Jeffrey A Esq NEW97Ivan Magalhaes
1020Smith S MorascaAustralia2024-06-01Chapman, Ross E Esq QUALIFIED49Xuxue Feng
1021Arvin Z BologniaFrance2024-06-18Feltz Printing Service UNQUALIFIED24Bernardo Dominic
1022Jones V FigeroaArgentina2024-05-24King, Christopher A Esq NEGOTIATION31Ivan Magalhaes
1023Aditya D RimBrazil2024-05-23Chapman, Ross E Esq UNQUALIFIED89Ioni Bowcher
1024Munro P BowleyCanada2024-05-28Buckley Miller Wright QUALIFIED29Amy Elsner
1025Maria H MaletCanada2024-06-20Rousseaux, Michael Esq UNQUALIFIED92Anna Fali
1026Kaitlin M PaprockiBrazil2024-05-24Feiner Bros UNQUALIFIED68Anna Fali
1027Jefferson R WaycottRussia2024-06-14Chanay, Jeffrey A Esq RENEWAL31Asiya Javayant
1028Salvatore V StockhamFrance2024-06-12Chapman, Ross E Esq PROPOSAL10Elwin Sharvill
1029Arvin E NestleCanada2024-06-17King, Christopher A Esq NEGOTIATION80Asiya Javayant
1030Stacey I AmigonBrazil2024-06-10Chapman, Ross E Esq RENEWAL12Asiya Javayant
1031Tony H GlickJapan2024-06-07Rousseaux, Michael Esq NEW49Ioni Bowcher
1032Sinclair V CaudySpain2024-05-29Chapman, Ross E Esq UNQUALIFIED34Asiya Javayant
1033Ivar X PoquetteAustralia2024-06-13Benton, John B Jr QUALIFIED36Ivan Magalhaes
1034Clifford D OldroydAustralia2024-06-03Rousseaux, Michael Esq NEGOTIATION42Anna Fali
1035Izzy B VenereCanada2024-05-26Buckley Miller Wright NEGOTIATION32Bernardo Dominic
1036Octavia O GauchoItaly2024-06-15Truhlar And Truhlar Attys QUALIFIED61Onyama Limba
1037Deepesh T FigeroaJapan2024-05-28Buckley Miller Wright PROPOSAL53Anna Fali
1038Aika M BowleyIndia2024-06-09Dorl, James J Esq PROPOSAL17Amy Elsner
1039Deepesh S FigeroaItaly2024-05-25Benton, John B Jr PROPOSAL85Asiya Javayant
1040Aditya X BologniaRussia2024-06-11Morlong Associates UNQUALIFIED51Anna Fali
1041Costa F ShinkoBrazil2024-06-13Feltz Printing Service RENEWAL64Asiya Javayant
1042Murillo I WhobreyBrazil2024-06-18Commercial Press PROPOSAL88Ioni Bowcher
1043Maria N PerinUnited Kingdom2024-06-11Commercial Press NEW4Anna Fali
1044Kaitlin Y MorascaFrance2024-05-26Commercial Press PROPOSAL61Ivan Magalhaes
1045Octavia R AlbaresFrance2024-05-25Truhlar And Truhlar Attys QUALIFIED14Ioni Bowcher
1046Chavez I BriddickBrazil2024-06-10Rousseaux, Michael Esq NEGOTIATION17Ioni Bowcher
1047Maisha N MaletRussia2024-06-20Feltz Printing Service UNQUALIFIED64Amy Elsner
1048James F GarufiSpain2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED99Anna Fali
1049Francesco T KuskoFrance2024-06-14Dorl, James J Esq QUALIFIED23Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Misaki B SaylorsJapanAnna Fali NEGOTIATION
Aditya T KolmetzCanadaIoni Bowcher UNQUALIFIED
Morrow D MacleadArgentinaElwin Sharvill UNQUALIFIED
Emily M MaletArgentinaAmy Elsner PROPOSAL
Julie E SchemmerIndiaAmy Elsner QUALIFIED
Mujtaba W KuskoAustraliaXuxue Feng NEW
Silvio V VocelkaFranceStephen Shaw PROPOSAL
Isabel C ChuiAustraliaAsiya Javayant UNQUALIFIED
Cody G RulapaughItalyIvan Magalhaes RENEWAL
Smith U ShinkoArgentinaAsiya Javayant RENEWAL
Mujtaba U IturbideGermanyOnyama Limba QUALIFIED
Alejandro I OstroskyArgentinaAnna Fali PROPOSAL
Misaki F ChuiArgentinaOnyama Limba NEW
Emily X BriddickArgentinaElwin Sharvill NEGOTIATION
Murillo O VocelkaIndiaXuxue Feng NEGOTIATION
Faith C VenereItalyIoni Bowcher QUALIFIED
Rodrigues G RoysterCanadaAnna Fali NEW
Silvio Y CaldareraGermanyOnyama Limba NEW
Aditya E PerinFranceOnyama Limba NEGOTIATION
Stacey C SergiRussiaIvan Magalhaes NEW
Misaki C StensethBrazilXuxue Feng RENEWAL
Leon D MaletArgentinaIoni Bowcher QUALIFIED
Jefferson K BologniaItalyAnna Fali NEW
Munro N IturbideSpainIoni Bowcher RENEWAL
Morrow Q InouyeIndiaElwin Sharvill NEW
Leja U DarakjyRussiaIvan Magalhaes QUALIFIED
Arvin D FollerBrazilBernardo Dominic NEGOTIATION
Claire U MaletBrazilStephen Shaw QUALIFIED
Izzy O CaudyBrazilStephen Shaw QUALIFIED
Mayumi R SchemmerArgentinaElwin Sharvill UNQUALIFIED
Maria T FerenczJapanStephen Shaw NEGOTIATION
Deepesh H MarrierIndiaStephen Shaw RENEWAL
Claire S BowleyItalyOnyama Limba NEW
Misaki L GauchoItalyElwin Sharvill QUALIFIED
Kadeem A MacleadIndiaOnyama Limba QUALIFIED
James S PoquetteBrazilAnna Fali UNQUALIFIED
Maria J OldroydJapanOnyama Limba RENEWAL
Silvio B NestleIndiaElwin Sharvill RENEWAL
Antonio K GarufiCanadaOnyama Limba PROPOSAL
Leja P KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Stacey E StockhamBrazilXuxue Feng RENEWAL
Emily F VocelkaGermanyElwin Sharvill PROPOSAL
Salvatore R SaylorsRussiaAnna Fali NEGOTIATION
James M MorascaJapanXuxue Feng RENEWAL
Morrow I WaycottIndiaXuxue Feng NEGOTIATION
Murillo D GauchoBrazilXuxue Feng RENEWAL
Arvin O WieserIndiaIvan Magalhaes QUALIFIED
Isabel I OstroskyRussiaXuxue Feng RENEWAL
Kadeem V NestleArgentinaBernardo Dominic UNQUALIFIED
Sinclair A NickaIndiaStephen Shaw QUALIFIED
Frozen Columns
Name
Sinclair V Gillian
Aruna B Ferencz
Darci F Slusarski
Ashley P Darakjy
Clifford B Gillian
Silvio C Dilliard
Aditya S Schemmer
Isabel L Kolmetz
David L Ostrosky
Sinclair W Malet
Salvatore U Maclead
Juan L Malet
Darci T Ostrosky
Chavez H Tollner
Aruna R Inouye
Ivar S Paprocki
Faith U Vocelka
James L Maclead
Salvatore E Kusko
Jefferson I Ostrosky
Leon W Doe
Sinclair E Ruta
Kadeem B Rim
Jeanfrancois C Kusko
Octavia Q Gaucho
Arvin F Marrier
Greenwood K Poquette
Jennifer E Darakjy
Leja F Nestle
Antonio P Garufi
Leon Y Shinko
Chavez Q Waycott
Leja N Iturbide
Alejandro F Inouye
Clifford O Marrier
Maria P Venere
Mujtaba Y Flosi
Costa Y Iturbide
Faith E Albares
Rodrigues F Stockham
Ricardo J Dilliard
Sinclair F Caudy
Johnson H Albares
Salvatore Q Ostrosky
Maisha W Paprocki
Jones C Butt
Chavez H Bowley
Nicolas V Iturbide
Kadeem M Kusko
Francesco F Dilliard
IdCountryDate
1000Spain2024-06-16
1001Australia2024-06-06
1002United Kingdom2024-06-03
1003Russia2024-06-16
1004India2024-06-21
1005Australia2024-06-05
1006Spain2024-06-08
1007Russia2024-06-01
1008Japan2024-06-17
1009United Kingdom2024-05-30
1010France2024-06-01
1011Canada2024-05-31
1012United Kingdom2024-06-12
1013Argentina2024-06-09
1014Canada2024-06-11
1015United Kingdom2024-05-27
1016Russia2024-06-09
1017Spain2024-05-31
1018United Kingdom2024-06-08
1019India2024-06-06
1020Canada2024-06-20
1021Canada2024-06-02
1022Russia2024-05-25
1023Canada2024-05-24
1024Australia2024-06-11
1025Australia2024-06-10
1026Germany2024-06-09
1027Brazil2024-06-05
1028Italy2024-06-08
1029Germany2024-06-21
1030Japan2024-05-26
1031Italy2024-06-12
1032Canada2024-06-03
1033Australia2024-06-06
1034Italy2024-06-09
1035Russia2024-05-26
1036Brazil2024-06-15
1037Argentina2024-06-19
1038Argentina2024-05-26
1039Australia2024-06-08
1040Argentina2024-06-13
1041Brazil2024-05-24
1042Argentina2024-06-16
1043Spain2024-06-09
1044Russia2024-05-29
1045Canada2024-05-26
1046France2024-06-11
1047Japan2024-05-27
1048France2024-06-08
1049France2024-05-24

On-Demand Data

NameIdCountryDate
Adams D Flosi1000Canada2024-05-25
Claire S Bolognia1001Spain2024-05-23
Misaki P Amigon1002Canada2024-06-08
Greenwood C Ferencz1003Japan2024-06-10
Kaitlin J Nestle1004Russia2024-06-10
Isabel S Saylors1005Germany2024-06-21
Deepesh L Butt1006Canada2024-05-23
Tony X Bolognia1007Canada2024-06-04
Nicolas O Morasca1008Russia2024-06-16
Mayumi N Wieser1009Italy2024-06-05
Ivar J Amigon1010Canada2024-06-07
Juan O Nestle1011Australia2024-05-25
Morrow T Figeroa1012Argentina2024-06-02
Mujtaba W Rulapaugh1013India2024-05-25
Kadeem P Slusarski1014France2024-06-12
Munro Y Foller1015France2024-06-20
Kaitlin Z Gaucho1016Brazil2024-05-26
Sinclair L Darakjy1017Australia2024-06-10
Adams N Dilliard1018India2024-06-07
Alejandro Z Morasca1019Japan2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco C RimGermanyAsiya Javayant UNQUALIFIED
Jefferson Y TollnerAustraliaIoni Bowcher NEW
Leon L FlosiCanadaAnna Fali RENEWAL
Ricardo N AmigonSpainIoni Bowcher PROPOSAL
Aika D VenereGermanyAmy Elsner RENEWAL
Kaitlin D MorascaSpainXuxue Feng NEW
Izzy O CaldareraAustraliaAnna Fali UNQUALIFIED
Jefferson K VocelkaJapanElwin Sharvill UNQUALIFIED
Aditya O BologniaFranceIoni Bowcher NEGOTIATION
Izzy D ButtCanadaOnyama Limba NEGOTIATION
Costa W KuskoIndiaAnna Fali RENEWAL
Ashley D CaudyFranceBernardo Dominic RENEWAL
Ashley L GlickBrazilXuxue Feng QUALIFIED
Ivar J MacleadJapanStephen Shaw UNQUALIFIED
Nicolas O MacleadAustraliaStephen Shaw PROPOSAL
Morrow D PoquetteCanadaElwin Sharvill NEW
Darci M RutaUnited KingdomAnna Fali RENEWAL
Darci L DilliardJapanBernardo Dominic NEW
Chavez I KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
James V MaletIndiaElwin Sharvill UNQUALIFIED
Salvatore H CaudyGermanyAnna Fali NEGOTIATION
Smith S StensethAustraliaIvan Magalhaes RENEWAL
Costa Z TollnerGermanyAsiya Javayant PROPOSAL
Juan R OldroydItalyStephen Shaw NEGOTIATION
Arvin A RulapaughAustraliaIoni Bowcher RENEWAL
Isabel F IturbideUnited KingdomAnna Fali QUALIFIED
Rodrigues S MaletRussiaElwin Sharvill QUALIFIED
Tony B RoysterSpainXuxue Feng RENEWAL
Aika R ChuiJapanAmy Elsner NEW
Alejandro Y ChuiBrazilAnna Fali NEGOTIATION
Johnson M MacleadBrazilIoni Bowcher UNQUALIFIED
Ivar I MorascaGermanyOnyama Limba NEW
Morrow C StensethGermanyOnyama Limba NEW
Aika W FerenczBrazilIvan Magalhaes NEGOTIATION
Julie X VenereJapanBernardo Dominic UNQUALIFIED
Adams Q StockhamCanadaIvan Magalhaes NEGOTIATION
Johnson P ButtIndiaBernardo Dominic UNQUALIFIED
Darci E MacleadBrazilXuxue Feng PROPOSAL
Murillo Q BriddickFranceIoni Bowcher NEW
Aika L BologniaCanadaXuxue Feng 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>