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
Cody N RutaAustraliaXuxue Feng PROPOSAL
Costa Z MaletSpainBernardo Dominic QUALIFIED
David Q KuskoCanadaIoni Bowcher QUALIFIED
Isabel G SlusarskiIndiaOnyama Limba UNQUALIFIED
Ivar B BologniaJapanIvan Magalhaes PROPOSAL
Silvio I GauchoGermanyIvan Magalhaes NEW
Darci Q WieserAustraliaBernardo Dominic PROPOSAL
Misaki E ShinkoFranceAmy Elsner QUALIFIED
Munro D SergiJapanElwin Sharvill PROPOSAL
Faith G CaudyUnited KingdomAsiya Javayant RENEWAL
Octavia P NickaRussiaStephen Shaw UNQUALIFIED
Misaki R KolmetzRussiaElwin Sharvill PROPOSAL
Antonio W DilliardIndiaOnyama Limba QUALIFIED
Sinclair L CaldareraJapanOnyama Limba NEGOTIATION
Wickens X RutaArgentinaStephen Shaw NEGOTIATION
Ricardo Q MaletCanadaAnna Fali NEW
Mujtaba U ChuiUnited KingdomIvan Magalhaes NEW
Leja S AlbaresAustraliaIvan Magalhaes PROPOSAL
Claire M DilliardFranceOnyama Limba UNQUALIFIED
Juan Y DarakjyFranceBernardo Dominic RENEWAL
Jeanfrancois N WieserGermanyIvan Magalhaes NEW
Leon J CaudyAustraliaIvan Magalhaes PROPOSAL
Leon N CaldareraFranceElwin Sharvill PROPOSAL
Deepesh E CampainIndiaIoni Bowcher PROPOSAL
Tony L DoeFranceElwin Sharvill NEW
Adams C GauchoBrazilXuxue Feng RENEWAL
Jeanfrancois I FollerAustraliaAsiya Javayant NEGOTIATION
Aditya S VenereGermanyAsiya Javayant RENEWAL
Izzy Y FollerJapanStephen Shaw UNQUALIFIED
Leja G NestleUnited KingdomElwin Sharvill QUALIFIED
Cody U RulapaughItalyStephen Shaw NEW
Greenwood Z VocelkaFranceStephen Shaw PROPOSAL
Juan E AlbaresRussiaIoni Bowcher RENEWAL
Jones M StensethFranceAmy Elsner QUALIFIED
Mayumi I InouyeSpainAsiya Javayant NEW
Arvin O CampainArgentinaStephen Shaw NEGOTIATION
Adams M GillianBrazilStephen Shaw QUALIFIED
Deepesh O CaudyIndiaIoni Bowcher QUALIFIED
Deepesh P AmigonItalyAnna Fali NEW
Greenwood M GarufiAustraliaAmy Elsner NEW
Stacey W InouyeIndiaAnna Fali UNQUALIFIED
Wickens L WhobreyJapanAsiya Javayant PROPOSAL
Ashley F KolmetzIndiaXuxue Feng QUALIFIED
Julie P GauchoGermanyAmy Elsner RENEWAL
Mujtaba J SaylorsAustraliaElwin Sharvill NEGOTIATION
Jennifer C DilliardCanadaIvan Magalhaes RENEWAL
Francesco L InouyeGermanyStephen Shaw RENEWAL
Jeanfrancois L FlosiRussiaOnyama Limba NEW
Aruna M StockhamCanadaXuxue Feng NEGOTIATION
Isabel U CampainGermanyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones Y ChuiRussiaOnyama Limba UNQUALIFIED
Alejandro H GillianSpainAsiya Javayant QUALIFIED
Nicolas A GarufiFranceStephen Shaw PROPOSAL
Chavez I FollerRussiaOnyama Limba UNQUALIFIED
Leja O RutaCanadaBernardo Dominic NEW
Nicolas Y DilliardSpainAmy Elsner NEW
Stacey D RoysterIndiaIoni Bowcher UNQUALIFIED
Cody M AlbaresSpainAsiya Javayant QUALIFIED
Aika N WieserUnited KingdomXuxue Feng PROPOSAL
Greenwood U GarufiArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh M ShinkoArgentina2024-04-27Rousseaux, Michael Esq UNQUALIFIED60Ioni Bowcher
1001Chavez C AlbaresRussia2024-05-17Chanay, Jeffrey A Esq RENEWAL81Bernardo Dominic
1002Kadeem Z PoquetteFrance2024-04-26Printing Dimensions NEGOTIATION81Amy Elsner
1003Jennifer U OstroskyJapan2024-04-26Dorl, James J Esq PROPOSAL91Amy Elsner
1004Kaitlin S InouyeRussia2024-04-26Rousseaux, Michael Esq RENEWAL80Ioni Bowcher
1005Faith B GlickFrance2024-05-21Benton, John B Jr PROPOSAL93Xuxue Feng
1006Misaki B FerenczArgentina2024-05-22Chapman, Ross E Esq QUALIFIED45Xuxue Feng
1007Alejandro H ChuiFrance2024-05-12Dorl, James J Esq PROPOSAL4Anna Fali
1008Morrow R StockhamArgentina2024-05-19King, Christopher A Esq RENEWAL50Ioni Bowcher
1009Clifford T FerenczBrazil2024-05-14Feltz Printing Service QUALIFIED97Anna Fali
1010Juan M SchemmerSpain2024-05-24Feiner Bros QUALIFIED32Bernardo Dominic
1011Arvin D DoeAustralia2024-05-10Chanay, Jeffrey A Esq QUALIFIED42Ivan Magalhaes
1012Mayumi B DilliardCanada2024-04-28Rousseaux, Michael Esq NEGOTIATION99Xuxue Feng
1013Chavez N NestleUnited Kingdom2024-05-12Truhlar And Truhlar Attys NEGOTIATION19Xuxue Feng
1014Tony I RimRussia2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED84Onyama Limba
1015Salvatore N IturbideAustralia2024-05-15Printing Dimensions UNQUALIFIED54Xuxue Feng
1016Jones N MaletFrance2024-05-10Truhlar And Truhlar Attys QUALIFIED96Stephen Shaw
1017Ashley E MarrierGermany2024-05-12Truhlar And Truhlar Attys PROPOSAL18Amy Elsner
1018Misaki D SaylorsJapan2024-05-19Chanay, Jeffrey A Esq UNQUALIFIED41Stephen Shaw
1019Francesco Z GauchoItaly2024-05-21Morlong Associates RENEWAL98Amy Elsner
1020Leja L SlusarskiSpain2024-04-27Rangoni Of Florence NEGOTIATION92Onyama Limba
1021Jennifer Q FerenczJapan2024-05-09Printing Dimensions NEW53Ioni Bowcher
1022Mujtaba A AlbaresArgentina2024-05-03Chapman, Ross E Esq NEW51Ioni Bowcher
1023Claire U MorascaBrazil2024-05-06Benton, John B Jr QUALIFIED75Anna Fali
1024Kaitlin V FigeroaArgentina2024-05-21Printing Dimensions PROPOSAL44Xuxue Feng
1025Arvin G MarrierBrazil2024-05-09Feltz Printing Service RENEWAL26Stephen Shaw
1026Julie L VocelkaSpain2024-05-07Morlong Associates NEW6Asiya Javayant
1027Clifford I DoeFrance2024-05-10Chapman, Ross E Esq NEGOTIATION63Asiya Javayant
1028Maria Y GarufiItaly2024-04-29Chanay, Jeffrey A Esq RENEWAL26Bernardo Dominic
1029Jeanfrancois H InouyeFrance2024-04-30Truhlar And Truhlar Attys PROPOSAL99Stephen Shaw
1030Misaki P RimSpain2024-05-24Chanay, Jeffrey A Esq PROPOSAL70Elwin Sharvill
1031Leon O RutaIndia2024-05-07Chanay, Jeffrey A Esq NEW13Xuxue Feng
1032Maria I RimFrance2024-05-14Printing Dimensions QUALIFIED4Ioni Bowcher
1033Darci W MaletBrazil2024-05-10Feiner Bros PROPOSAL33Stephen Shaw
1034Aditya A BowleyBrazil2024-05-18Chanay, Jeffrey A Esq UNQUALIFIED89Onyama Limba
1035Mujtaba U BowleyJapan2024-05-10Chanay, Jeffrey A Esq NEGOTIATION96Stephen Shaw
1036Arvin P WhobreyJapan2024-05-12Chapman, Ross E Esq NEGOTIATION3Onyama Limba
1037Mujtaba A CampainGermany2024-05-12Feltz Printing Service PROPOSAL85Elwin Sharvill
1038Nicolas D ButtUnited Kingdom2024-04-30King, Christopher A Esq PROPOSAL96Xuxue Feng
1039Greenwood F WieserGermany2024-05-14Buckley Miller Wright NEGOTIATION60Elwin Sharvill
1040Jennifer Q MorascaRussia2024-05-21Morlong Associates QUALIFIED74Stephen Shaw
1041Izzy S CaldareraGermany2024-05-23Printing Dimensions NEGOTIATION1Xuxue Feng
1042Ricardo I StockhamRussia2024-05-23Commercial Press QUALIFIED32Stephen Shaw
1043Aika E SergiItaly2024-05-10Printing Dimensions RENEWAL56Stephen Shaw
1044James N NestleBrazil2024-05-01Rangoni Of Florence QUALIFIED98Ioni Bowcher
1045Morrow S CampainGermany2024-05-17Chemel, James L Cpa NEGOTIATION21Asiya Javayant
1046Alejandro S SergiAustralia2024-05-11Chapman, Ross E Esq NEW23Ivan Magalhaes
1047Stacey N NestleJapan2024-05-13Chemel, James L Cpa QUALIFIED24Ioni Bowcher
1048Faith R NickaRussia2024-05-19Feltz Printing Service PROPOSAL1Asiya Javayant
1049Maisha G IturbideJapan2024-05-05King, Christopher A Esq RENEWAL44Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie G SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi D ChuiBrazilOnyama Limba NEW
Stacey W WaycottUnited KingdomStephen Shaw RENEWAL
Stacey J KolmetzRussiaXuxue Feng RENEWAL
Misaki P IturbideAustraliaAmy Elsner RENEWAL
Jennifer S AlbaresUnited KingdomAsiya Javayant PROPOSAL
Juan M ShinkoBrazilAnna Fali NEGOTIATION
Kaitlin Y GarufiCanadaStephen Shaw UNQUALIFIED
Julie C TollnerAustraliaIoni Bowcher NEGOTIATION
Aika I DilliardAustraliaElwin Sharvill PROPOSAL
Claire S FigeroaRussiaOnyama Limba NEW
Aruna Z GlickArgentinaBernardo Dominic NEGOTIATION
Smith P RutaFranceAmy Elsner NEGOTIATION
Rodrigues P CaldareraIndiaIvan Magalhaes QUALIFIED
Antonio Q MorascaFranceStephen Shaw NEGOTIATION
Aruna U RoysterBrazilIvan Magalhaes NEW
Costa A DilliardRussiaIoni Bowcher NEW
Faith I GlickUnited KingdomStephen Shaw QUALIFIED
Jefferson H FerenczGermanyAmy Elsner UNQUALIFIED
Antonio R GauchoArgentinaAsiya Javayant NEGOTIATION
Jones U BowleyJapanIvan Magalhaes RENEWAL
Kaitlin Z AmigonIndiaElwin Sharvill NEGOTIATION
Smith R RutaArgentinaBernardo Dominic UNQUALIFIED
Darci Q KuskoSpainBernardo Dominic RENEWAL
Aruna Z WaycottUnited KingdomAsiya Javayant NEGOTIATION
Wickens H GillianGermanyAsiya Javayant UNQUALIFIED
Misaki P ButtAustraliaIvan Magalhaes PROPOSAL
Johnson E StockhamFranceStephen Shaw PROPOSAL
Isabel P VenereJapanIvan Magalhaes UNQUALIFIED
Faith X AmigonRussiaStephen Shaw QUALIFIED
Smith U CampainJapanIoni Bowcher RENEWAL
Costa K GlickArgentinaAmy Elsner NEW
Cody I FollerJapanOnyama Limba QUALIFIED
David J PoquetteGermanyAnna Fali NEGOTIATION
Stacey C MarrierCanadaIvan Magalhaes NEW
Tony B StensethCanadaBernardo Dominic RENEWAL
Mujtaba B DoeFranceBernardo Dominic UNQUALIFIED
Julie E NickaCanadaIoni Bowcher UNQUALIFIED
Wickens V RoysterSpainIvan Magalhaes RENEWAL
James P FerenczGermanyAnna Fali NEGOTIATION
Leja T MacleadBrazilStephen Shaw NEGOTIATION
Kaitlin I FollerRussiaAmy Elsner NEW
James C RutaBrazilOnyama Limba PROPOSAL
Rodrigues E ChuiUnited KingdomXuxue Feng QUALIFIED
Jefferson V BologniaFranceIvan Magalhaes NEW
Clifford F NestleCanadaAsiya Javayant QUALIFIED
Octavia X GillianCanadaAnna Fali PROPOSAL
Faith M MaletUnited KingdomBernardo Dominic NEW
Misaki W NickaCanadaAnna Fali UNQUALIFIED
Johnson D FerenczGermanyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Silvio W Butt
Nicolas E Waycott
Arvin Z Flosi
Ivar K Waycott
Emily N Campain
Greenwood F Gillian
Jennifer Z Ferencz
Cody T Royster
Mayumi C Flosi
Cody P Gillian
Smith M Doe
Izzy O Caldarera
Aditya K Albares
Julie T Wieser
Faith B Kolmetz
Silvio J Marrier
Mayumi R Rim
Aditya U Albares
David S Schemmer
Cody E Stockham
Misaki R Caldarera
Jefferson X Caudy
Izzy D Venere
Clifford J Stockham
Deepesh V Saylors
Johnson P Shinko
Jennifer S Ferencz
Maisha X Malet
Rodrigues A Nicka
Chavez Q Bolognia
Maria F Campain
Mujtaba A Vocelka
Izzy H Rim
Kaitlin A Perin
Ricardo V Ostrosky
David K Royster
Leon T Wieser
Kaitlin F Butt
Morrow W Wieser
Jeanfrancois O Schemmer
David Y Iturbide
Francesco C Oldroyd
Leon V Malet
Octavia U Schemmer
Nicolas X Perin
Antonio G Bowley
Cody B Garufi
Leja V Butt
Aditya H Caudy
Octavia S Campain
IdCountryDate
1000Germany2024-05-22
1001United Kingdom2024-04-30
1002France2024-05-05
1003Argentina2024-05-01
1004Russia2024-04-29
1005Australia2024-04-27
1006Argentina2024-04-29
1007Argentina2024-05-10
1008India2024-05-18
1009Australia2024-05-23
1010Italy2024-04-27
1011Germany2024-04-27
1012Australia2024-05-02
1013Germany2024-05-05
1014Australia2024-05-17
1015Australia2024-05-19
1016Argentina2024-05-10
1017Spain2024-05-23
1018United Kingdom2024-05-02
1019Australia2024-05-12
1020Canada2024-05-13
1021Germany2024-05-04
1022Spain2024-05-03
1023Australia2024-04-28
1024United Kingdom2024-04-28
1025Spain2024-04-25
1026Brazil2024-05-19
1027Canada2024-05-12
1028India2024-05-19
1029United Kingdom2024-05-18
1030India2024-05-08
1031India2024-05-01
1032Argentina2024-05-15
1033Brazil2024-05-17
1034Canada2024-05-07
1035Brazil2024-05-09
1036Germany2024-04-26
1037Italy2024-05-18
1038India2024-05-18
1039Canada2024-05-01
1040United Kingdom2024-05-09
1041Brazil2024-05-24
1042France2024-05-08
1043Brazil2024-05-16
1044Russia2024-05-22
1045Australia2024-04-28
1046Argentina2024-05-16
1047United Kingdom2024-05-19
1048France2024-05-23
1049France2024-04-30

On-Demand Data

NameIdCountryDate
Cody A Caudy1000Australia2024-05-16
Emily B Foller1001Australia2024-05-14
David Z Flosi1002Japan2024-05-23
Aditya D Stenseth1003Spain2024-04-26
Greenwood C Malet1004Japan2024-05-14
Salvatore N Dilliard1005Germany2024-05-04
Leon Z Waycott1006Argentina2024-05-08
Ivar V Amigon1007India2024-04-29
Darci F Wieser1008Canada2024-05-04
Octavia D Bowley1009Canada2024-04-29
Deepesh U Butt1010Russia2024-05-09
Munro U Oldroyd1011Spain2024-05-11
Munro C Royster1012Canada2024-05-08
Aruna D Ferencz1013Brazil2024-04-26
Julie Y Foller1014Canada2024-05-23
Kadeem S Malet1015Japan2024-05-13
Rodrigues N Whobrey1016Brazil2024-05-03
Faith V Vocelka1017France2024-04-27
Jefferson D Gillian1018Germany2024-05-02
Kadeem W Glick1019Germany2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford L CaudyUnited KingdomAnna Fali RENEWAL
Ricardo E MaletItalyOnyama Limba NEGOTIATION
Maisha J GlickAustraliaIvan Magalhaes RENEWAL
Ashley R RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Cody C GlickUnited KingdomAmy Elsner PROPOSAL
Salvatore M BowleyBrazilAmy Elsner NEGOTIATION
David G MarrierCanadaAmy Elsner NEW
Juan O InouyeCanadaBernardo Dominic RENEWAL
Emily J BologniaItalyBernardo Dominic RENEWAL
Leja L BowleyAustraliaBernardo Dominic UNQUALIFIED
Arvin U GarufiCanadaAsiya Javayant UNQUALIFIED
Aditya D SchemmerSpainAsiya Javayant UNQUALIFIED
Ricardo F WhobreyArgentinaAmy Elsner PROPOSAL
Maria N DoeGermanyIvan Magalhaes UNQUALIFIED
Maisha R GarufiSpainOnyama Limba RENEWAL
Greenwood L ButtUnited KingdomAnna Fali RENEWAL
Smith A RoysterUnited KingdomBernardo Dominic NEW
Rodrigues C MaletSpainAmy Elsner UNQUALIFIED
James C CaldareraJapanIoni Bowcher PROPOSAL
Kadeem D GlickRussiaXuxue Feng UNQUALIFIED
Maisha U RimBrazilOnyama Limba UNQUALIFIED
Claire M SchemmerSpainOnyama Limba NEW
Leon G StensethCanadaAsiya Javayant NEW
Clifford B TollnerArgentinaAsiya Javayant NEGOTIATION
Munro Y KuskoCanadaAsiya Javayant QUALIFIED
Ivar E WieserJapanAsiya Javayant NEW
Claire E InouyeJapanAmy Elsner RENEWAL
Jennifer A RulapaughAustraliaStephen Shaw NEGOTIATION
Silvio J PoquetteItalyOnyama Limba NEGOTIATION
Costa C WaycottUnited KingdomXuxue Feng QUALIFIED
Cody L FlosiRussiaIoni Bowcher UNQUALIFIED
Francesco Y BologniaSpainXuxue Feng NEGOTIATION
Maisha C DilliardIndiaBernardo Dominic RENEWAL
Wickens A CampainJapanIoni Bowcher NEGOTIATION
Alejandro T NestleItalyIvan Magalhaes NEGOTIATION
Ivar U WieserAustraliaAsiya Javayant QUALIFIED
Darci P OldroydArgentinaIoni Bowcher RENEWAL
Antonio W BriddickBrazilBernardo Dominic NEGOTIATION
Jones Y IturbideGermanyAmy Elsner PROPOSAL
Costa D FollerBrazilOnyama Limba UNQUALIFIED

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