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
Johnson J SlusarskiIndiaAmy Elsner NEW
Chavez F ShinkoUnited KingdomIoni Bowcher NEW
David H WaycottFranceXuxue Feng RENEWAL
Misaki U VocelkaArgentinaAnna Fali NEGOTIATION
Mujtaba B AmigonBrazilAnna Fali PROPOSAL
Antonio A KuskoSpainIvan Magalhaes RENEWAL
Octavia M VocelkaRussiaAnna Fali QUALIFIED
Murillo Y BologniaItalyAnna Fali NEW
Julie B FollerFranceAmy Elsner QUALIFIED
Clifford H RulapaughBrazilAmy Elsner UNQUALIFIED
Kadeem Z GauchoAustraliaElwin Sharvill PROPOSAL
Deepesh F ChuiBrazilElwin Sharvill UNQUALIFIED
Stacey D StensethIndiaStephen Shaw QUALIFIED
Jones A RimItalyIoni Bowcher NEGOTIATION
Rodrigues J TollnerFranceStephen Shaw RENEWAL
Aika B GauchoCanadaIvan Magalhaes UNQUALIFIED
Mayumi I GauchoAustraliaStephen Shaw RENEWAL
Julie F VocelkaSpainOnyama Limba UNQUALIFIED
Aika N CaudyArgentinaIvan Magalhaes NEW
Smith K AmigonIndiaAnna Fali NEGOTIATION
Maria O PerinItalyStephen Shaw QUALIFIED
Arvin Y SchemmerUnited KingdomAmy Elsner RENEWAL
Murillo Y DilliardFranceIvan Magalhaes NEGOTIATION
Alejandro K VocelkaRussiaAmy Elsner PROPOSAL
Izzy I MacleadGermanyIoni Bowcher UNQUALIFIED
Mayumi J GarufiGermanyBernardo Dominic UNQUALIFIED
Murillo P BologniaIndiaIvan Magalhaes NEGOTIATION
Juan G OstroskyGermanyStephen Shaw PROPOSAL
Misaki O SergiItalyIvan Magalhaes QUALIFIED
Juan L DilliardCanadaIvan Magalhaes RENEWAL
Darci B FerenczJapanIoni Bowcher UNQUALIFIED
Faith Y RutaFranceBernardo Dominic UNQUALIFIED
Jones A NickaFranceAnna Fali NEW
Leja M MorascaCanadaIoni Bowcher UNQUALIFIED
Ricardo I BologniaItalyOnyama Limba NEW
Rodrigues X TollnerJapanBernardo Dominic UNQUALIFIED
Smith N FollerRussiaAnna Fali NEGOTIATION
Ivar O BriddickSpainXuxue Feng NEGOTIATION
Rodrigues W MaletRussiaIoni Bowcher RENEWAL
Johnson Z BologniaIndiaStephen Shaw NEGOTIATION
Emily W SlusarskiAustraliaIoni Bowcher RENEWAL
Claire P GillianRussiaAnna Fali PROPOSAL
Julie K OstroskyBrazilElwin Sharvill RENEWAL
Leja A OldroydArgentinaOnyama Limba RENEWAL
Julie E GlickIndiaIvan Magalhaes NEW
Octavia C RulapaughCanadaAmy Elsner NEGOTIATION
Jefferson U RutaJapanAsiya Javayant UNQUALIFIED
James O NestleSpainBernardo Dominic PROPOSAL
Aika B IturbideAustraliaXuxue Feng UNQUALIFIED
Ashley A FollerBrazilIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie O ButtCanadaStephen Shaw PROPOSAL
Chavez V PerinRussiaElwin Sharvill QUALIFIED
Maria E WieserArgentinaAmy Elsner UNQUALIFIED
Arvin B OstroskyItalyStephen Shaw UNQUALIFIED
Juan D ChuiUnited KingdomIvan Magalhaes QUALIFIED
Aruna M BriddickSpainStephen Shaw UNQUALIFIED
Mujtaba B SlusarskiBrazilIoni Bowcher NEW
Kaitlin E OldroydRussiaAnna Fali PROPOSAL
Rodrigues Z MorascaArgentinaBernardo Dominic UNQUALIFIED
Salvatore X MacleadRussiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens K FollerBrazil2024-06-14Benton, John B Jr UNQUALIFIED69Onyama Limba
1001Rodrigues G GarufiItaly2024-06-21Benton, John B Jr NEGOTIATION78Ivan Magalhaes
1002Costa P TollnerRussia2024-06-11Morlong Associates NEW90Asiya Javayant
1003Deepesh J FerenczAustralia2024-06-03Feltz Printing Service UNQUALIFIED93Amy Elsner
1004Jones A RoysterRussia2024-06-06Feiner Bros NEW37Anna Fali
1005Kaitlin X GarufiArgentina2024-06-20Truhlar And Truhlar Attys QUALIFIED10Anna Fali
1006Maisha H StensethArgentina2024-06-01Chanay, Jeffrey A Esq QUALIFIED95Stephen Shaw
1007Jennifer R FigeroaGermany2024-06-11Benton, John B Jr NEW77Stephen Shaw
1008Salvatore R WaycottJapan2024-06-23Feltz Printing Service NEW52Ivan Magalhaes
1009Munro H RimJapan2024-06-08Rousseaux, Michael Esq NEGOTIATION92Bernardo Dominic
1010Jefferson M BologniaAustralia2024-05-27Commercial Press NEW62Amy Elsner
1011Jones S SaylorsGermany2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED45Asiya Javayant
1012David H MorascaJapan2024-06-13Chemel, James L Cpa RENEWAL29Ivan Magalhaes
1013Claire U BowleyIndia2024-06-01Feltz Printing Service QUALIFIED77Stephen Shaw
1014Salvatore D KolmetzGermany2024-06-15Chanay, Jeffrey A Esq PROPOSAL22Anna Fali
1015Silvio K OstroskyRussia2024-06-14Dorl, James J Esq RENEWAL5Xuxue Feng
1016Jefferson A VenereFrance2024-06-20Rangoni Of Florence UNQUALIFIED63Onyama Limba
1017Julie P PoquetteCanada2024-06-03Rousseaux, Michael Esq NEW46Elwin Sharvill
1018Misaki V RimIndia2024-06-14Chapman, Ross E Esq QUALIFIED59Ioni Bowcher
1019David X AmigonArgentina2024-06-09Printing Dimensions UNQUALIFIED18Elwin Sharvill
1020Deepesh F WaycottRussia2024-06-01Feltz Printing Service RENEWAL0Ioni Bowcher
1021Aika H DarakjyRussia2024-05-29Benton, John B Jr RENEWAL90Ioni Bowcher
1022Juan E FlosiIndia2024-06-12Chanay, Jeffrey A Esq QUALIFIED84Asiya Javayant
1023Clifford K PerinFrance2024-05-27Benton, John B Jr RENEWAL87Stephen Shaw
1024Isabel G PerinRussia2024-06-18Benton, John B Jr RENEWAL26Ioni Bowcher
1025Francesco F GarufiRussia2024-06-08Chapman, Ross E Esq NEGOTIATION59Xuxue Feng
1026Jones F DoeGermany2024-06-17King, Christopher A Esq NEW64Onyama Limba
1027Maria E AmigonJapan2024-06-07Truhlar And Truhlar Attys RENEWAL84Stephen Shaw
1028James Y DarakjyUnited Kingdom2024-05-26Printing Dimensions QUALIFIED19Amy Elsner
1029Salvatore H CaudyBrazil2024-06-23Feiner Bros PROPOSAL86Ioni Bowcher
1030Sinclair R BologniaCanada2024-06-13Rangoni Of Florence QUALIFIED85Xuxue Feng
1031Deepesh Z WaycottJapan2024-05-26Printing Dimensions PROPOSAL52Bernardo Dominic
1032Jones J KolmetzSpain2024-05-29Rousseaux, Michael Esq UNQUALIFIED96Bernardo Dominic
1033Stacey A BologniaCanada2024-06-05Feltz Printing Service NEGOTIATION60Anna Fali
1034Claire N CampainUnited Kingdom2024-06-13Chemel, James L Cpa NEW87Anna Fali
1035Maria A SergiCanada2024-06-14Dorl, James J Esq PROPOSAL89Ioni Bowcher
1036Deepesh C GarufiArgentina2024-06-16Truhlar And Truhlar Attys RENEWAL54Stephen Shaw
1037David G FollerFrance2024-06-22Commercial Press NEW72Ioni Bowcher
1038Chavez W AmigonArgentina2024-06-19Morlong Associates QUALIFIED8Xuxue Feng
1039Jefferson R KolmetzItaly2024-06-24King, Christopher A Esq QUALIFIED9Stephen Shaw
1040Murillo Y RulapaughUnited Kingdom2024-06-23Rousseaux, Michael Esq PROPOSAL90Onyama Limba
1041Misaki B BowleyBrazil2024-06-09Chapman, Ross E Esq PROPOSAL95Amy Elsner
1042Stacey M MarrierAustralia2024-06-09Rangoni Of Florence QUALIFIED94Amy Elsner
1043Darci M IturbideGermany2024-06-23Benton, John B Jr RENEWAL2Onyama Limba
1044Ricardo I AlbaresIndia2024-06-10Morlong Associates RENEWAL32Ivan Magalhaes
1045Alejandro W WhobreyCanada2024-06-11Truhlar And Truhlar Attys NEGOTIATION82Bernardo Dominic
1046Cody H CampainAustralia2024-06-18Dorl, James J Esq UNQUALIFIED91Ioni Bowcher
1047Maisha L NestleGermany2024-06-24Chanay, Jeffrey A Esq NEGOTIATION87Xuxue Feng
1048Jennifer I RoysterRussia2024-05-30Morlong Associates NEW16Ioni Bowcher
1049David I CampainRussia2024-06-06King, Christopher A Esq NEGOTIATION86Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leon C AlbaresAustraliaAmy Elsner NEGOTIATION
Munro A BowleyAustraliaElwin Sharvill QUALIFIED
Jeanfrancois F WaycottSpainXuxue Feng NEGOTIATION
Morrow D FerenczUnited KingdomBernardo Dominic QUALIFIED
Chavez V CampainUnited KingdomBernardo Dominic PROPOSAL
Ricardo G PaprockiUnited KingdomAmy Elsner RENEWAL
Juan S SergiSpainStephen Shaw PROPOSAL
Nicolas M CampainIndiaElwin Sharvill UNQUALIFIED
Clifford D AlbaresItalyAnna Fali NEW
Ricardo F StockhamUnited KingdomAnna Fali NEGOTIATION
Julie O SergiFranceStephen Shaw NEW
Arvin U GlickItalyStephen Shaw NEW
Tony L IturbideArgentinaOnyama Limba RENEWAL
Silvio E InouyeSpainAnna Fali PROPOSAL
Mujtaba V OldroydCanadaAnna Fali UNQUALIFIED
Morrow B CaldareraItalyOnyama Limba UNQUALIFIED
Aika O RutaGermanyStephen Shaw QUALIFIED
Maria B IturbideIndiaAmy Elsner NEGOTIATION
Maria B RulapaughArgentinaIvan Magalhaes RENEWAL
Jeanfrancois O MarrierRussiaElwin Sharvill NEGOTIATION
Mujtaba V KuskoCanadaElwin Sharvill NEW
Aditya L ShinkoBrazilXuxue Feng NEGOTIATION
Emily G BowleyJapanOnyama Limba PROPOSAL
David N SergiGermanyElwin Sharvill QUALIFIED
Octavia G KuskoUnited KingdomAmy Elsner UNQUALIFIED
Kadeem J BriddickArgentinaBernardo Dominic QUALIFIED
Adams P SlusarskiGermanyXuxue Feng UNQUALIFIED
Clifford C RimIndiaOnyama Limba PROPOSAL
Ashley Q CaldareraItalyOnyama Limba NEW
Darci V WaycottAustraliaIvan Magalhaes QUALIFIED
Antonio A InouyeFranceStephen Shaw NEW
Deepesh A BowleyGermanyXuxue Feng NEGOTIATION
Aditya Z FlosiAustraliaStephen Shaw NEGOTIATION
Nicolas C KuskoAustraliaAsiya Javayant UNQUALIFIED
Clifford Y MacleadBrazilStephen Shaw PROPOSAL
Misaki V PoquetteSpainBernardo Dominic UNQUALIFIED
Jeanfrancois L CaldareraArgentinaAnna Fali QUALIFIED
Cody N SchemmerIndiaAsiya Javayant PROPOSAL
Johnson C SchemmerItalyAmy Elsner NEGOTIATION
Aika L MaletArgentinaBernardo Dominic UNQUALIFIED
Mujtaba Y AlbaresArgentinaOnyama Limba UNQUALIFIED
Ivar C StensethCanadaXuxue Feng NEGOTIATION
Julie D SlusarskiSpainAnna Fali UNQUALIFIED
Mayumi C WaycottRussiaIoni Bowcher QUALIFIED
Maisha L StockhamBrazilStephen Shaw NEGOTIATION
Jefferson Z DoeIndiaIvan Magalhaes NEW
Maria B MacleadGermanyIoni Bowcher UNQUALIFIED
Faith K BriddickBrazilAsiya Javayant NEW
Maria F FerenczAustraliaIvan Magalhaes NEW
Rodrigues I CampainBrazilStephen Shaw QUALIFIED
Frozen Columns
Name
Kaitlin V Paprocki
Aruna J Caldarera
Mayumi B Wieser
Ashley E Glick
Aditya F Nestle
Leja U Kusko
Kaitlin O Foller
Murillo U Campain
Jones J Butt
Johnson S Ostrosky
Antonio X Rulapaugh
Smith J Slusarski
Greenwood L Inouye
Ricardo B Albares
Jeanfrancois I Whobrey
Munro R Shinko
Jennifer C Shinko
Munro V Foller
Nicolas F Darakjy
Kaitlin V Sergi
Faith N Bowley
Izzy D Slusarski
Claire Z Malet
Jennifer Y Royster
Ashley K Oldroyd
Cody P Dilliard
Maisha B Amigon
Maria S Sergi
Stacey A Gillian
Octavia D Poquette
Sinclair K Marrier
Aditya V Gillian
Misaki A Garufi
Murillo Z Stockham
Kaitlin X Oldroyd
Costa B Nicka
Aditya B Caldarera
Jeanfrancois X Slusarski
Aruna M Ostrosky
David Y Dilliard
Leja V Chui
Greenwood H Shinko
Aruna X Poquette
Arvin B Iturbide
Jennifer B Albares
Leon B Iturbide
Leon O Marrier
Darci I Gillian
Sinclair W Gillian
Salvatore W Wieser
IdCountryDate
1000Australia2024-06-09
1001Canada2024-06-10
1002Russia2024-06-17
1003Argentina2024-05-26
1004India2024-06-13
1005Germany2024-06-19
1006Italy2024-06-03
1007Japan2024-06-02
1008Australia2024-06-19
1009Russia2024-06-20
1010United Kingdom2024-05-31
1011Japan2024-06-24
1012Spain2024-06-16
1013Italy2024-05-31
1014India2024-05-28
1015Argentina2024-06-13
1016Spain2024-05-30
1017Brazil2024-06-20
1018Argentina2024-05-26
1019Argentina2024-06-15
1020United Kingdom2024-06-09
1021United Kingdom2024-06-01
1022Argentina2024-06-05
1023France2024-06-12
1024France2024-06-01
1025India2024-05-28
1026Germany2024-05-30
1027Italy2024-06-23
1028Spain2024-06-13
1029Japan2024-06-03
1030Italy2024-06-12
1031Spain2024-06-13
1032Japan2024-05-31
1033Canada2024-06-20
1034Russia2024-06-16
1035Australia2024-06-12
1036Spain2024-06-22
1037Japan2024-06-10
1038Germany2024-06-18
1039Germany2024-05-27
1040Australia2024-06-19
1041Spain2024-06-13
1042Italy2024-06-05
1043Italy2024-05-26
1044Canada2024-06-19
1045Spain2024-06-05
1046Italy2024-06-22
1047United Kingdom2024-05-29
1048India2024-06-20
1049Japan2024-06-12

On-Demand Data

NameIdCountryDate
Misaki S Inouye1000India2024-06-17
Adams G Ruta1001Japan2024-05-26
Maisha K Malet1002Italy2024-06-09
Ricardo K Stenseth1003Canada2024-06-12
Costa Q Figeroa1004Germany2024-06-06
Izzy H Ostrosky1005India2024-06-23
Chavez D Saylors1006Canada2024-06-02
Adams G Waycott1007France2024-06-07
Darci E Flosi1008Italy2024-06-03
Alejandro T Marrier1009India2024-06-11
David P Whobrey1010Russia2024-06-13
Morrow C Wieser1011Brazil2024-06-24
Salvatore C Perin1012India2024-06-24
Cody U Caldarera1013Italy2024-05-30
Maria Z Darakjy1014India2024-05-28
Kadeem U Glick1015Spain2024-06-02
Leon Y Marrier1016Japan2024-06-15
Aruna J Inouye1017Australia2024-06-09
Johnson D Doe1018Italy2024-06-05
Cody L Maclead1019Brazil2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia D VenereFranceIvan Magalhaes NEW
Wickens R OstroskyBrazilElwin Sharvill NEW
Octavia M MaletCanadaAnna Fali UNQUALIFIED
Greenwood F RoysterUnited KingdomElwin Sharvill NEW
Silvio P MaletAustraliaAmy Elsner RENEWAL
Costa H StockhamGermanyElwin Sharvill QUALIFIED
Darci F WhobreySpainAnna Fali UNQUALIFIED
Octavia P DilliardFranceAsiya Javayant UNQUALIFIED
Aditya V ButtRussiaAmy Elsner NEGOTIATION
Isabel B StockhamJapanXuxue Feng PROPOSAL
Nicolas E VenereAustraliaIvan Magalhaes NEW
Aditya P NickaItalyOnyama Limba NEGOTIATION
Salvatore L GlickGermanyXuxue Feng RENEWAL
Faith I WieserIndiaBernardo Dominic PROPOSAL
Jones I AlbaresArgentinaElwin Sharvill NEW
Leja C SlusarskiAustraliaBernardo Dominic UNQUALIFIED
Murillo P CaldareraJapanElwin Sharvill RENEWAL
Clifford W VocelkaBrazilOnyama Limba UNQUALIFIED
Aditya L VenereArgentinaAsiya Javayant NEGOTIATION
Ricardo Q RulapaughArgentinaAmy Elsner PROPOSAL
Antonio F IturbideAustraliaAnna Fali PROPOSAL
Faith Y BologniaJapanAmy Elsner UNQUALIFIED
Nicolas M OstroskyAustraliaStephen Shaw NEW
Arvin E NestleGermanyElwin Sharvill NEGOTIATION
Mayumi E MaletUnited KingdomAnna Fali PROPOSAL
Antonio X FollerSpainElwin Sharvill QUALIFIED
Morrow T GillianRussiaStephen Shaw UNQUALIFIED
David B MorascaIndiaStephen Shaw QUALIFIED
Octavia U PaprockiAustraliaElwin Sharvill PROPOSAL
Leon A WhobreyArgentinaStephen Shaw RENEWAL
Ivar V BowleySpainStephen Shaw NEGOTIATION
Aruna Y NestleGermanyElwin Sharvill RENEWAL
Alejandro X SergiArgentinaStephen Shaw NEGOTIATION
Cody O GillianRussiaElwin Sharvill PROPOSAL
Leon L WaycottUnited KingdomAnna Fali RENEWAL
Kadeem W GillianIndiaAsiya Javayant UNQUALIFIED
Antonio U BowleyRussiaAnna Fali NEW
Misaki S ShinkoRussiaBernardo Dominic QUALIFIED
Emily T FerenczJapanXuxue Feng PROPOSAL
Leon R NickaRussiaXuxue Feng 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>