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 TollnerRussiaBernardo Dominic NEGOTIATION
Maisha F GarufiAustraliaStephen Shaw UNQUALIFIED
Emily A RulapaughArgentinaOnyama Limba PROPOSAL
Tony M KolmetzUnited KingdomElwin Sharvill QUALIFIED
Misaki J SergiIndiaIvan Magalhaes PROPOSAL
Jennifer P StensethCanadaStephen Shaw NEGOTIATION
Arvin R CaldareraArgentinaBernardo Dominic RENEWAL
David M AlbaresRussiaAmy Elsner RENEWAL
Isabel N TollnerGermanyXuxue Feng UNQUALIFIED
Johnson J StensethJapanElwin Sharvill NEGOTIATION
Costa A MaletGermanyStephen Shaw QUALIFIED
Izzy Y InouyeFranceAmy Elsner QUALIFIED
Julie I StensethCanadaXuxue Feng PROPOSAL
Adams I MorascaJapanElwin Sharvill NEGOTIATION
Nicolas G RutaJapanAmy Elsner QUALIFIED
James N RulapaughBrazilIoni Bowcher NEGOTIATION
Claire O CaudySpainXuxue Feng NEGOTIATION
Adams I GlickGermanyStephen Shaw UNQUALIFIED
Aruna N GlickSpainAsiya Javayant NEGOTIATION
Smith T WhobreyIndiaOnyama Limba RENEWAL
Jeanfrancois M WaycottJapanAsiya Javayant QUALIFIED
Ashley O ChuiJapanIoni Bowcher UNQUALIFIED
Sinclair R RimCanadaStephen Shaw RENEWAL
Antonio R IturbideArgentinaOnyama Limba NEW
Antonio H PerinArgentinaBernardo Dominic NEW
Tony P MaletGermanyAmy Elsner PROPOSAL
Nicolas M ChuiCanadaBernardo Dominic PROPOSAL
Emily W CampainArgentinaIoni Bowcher UNQUALIFIED
Sinclair O InouyeRussiaBernardo Dominic QUALIFIED
Murillo V InouyeCanadaBernardo Dominic PROPOSAL
Faith R NestleItalyOnyama Limba RENEWAL
Greenwood J MaletAustraliaElwin Sharvill NEGOTIATION
Kadeem O PaprockiFranceBernardo Dominic QUALIFIED
Salvatore E MaletFranceXuxue Feng QUALIFIED
Jones M ShinkoIndiaAnna Fali PROPOSAL
Misaki N TollnerRussiaStephen Shaw NEGOTIATION
Isabel Z GarufiFranceXuxue Feng UNQUALIFIED
Costa L GarufiSpainXuxue Feng NEGOTIATION
Ivar L PaprockiFranceIvan Magalhaes NEW
Munro L GlickCanadaAnna Fali PROPOSAL
Mayumi Z OldroydCanadaIvan Magalhaes NEW
Morrow U DarakjyGermanyAnna Fali RENEWAL
Misaki T DoeJapanElwin Sharvill QUALIFIED
Misaki N CampainIndiaAnna Fali PROPOSAL
Nicolas E StockhamIndiaIoni Bowcher QUALIFIED
Jones G RutaGermanyAnna Fali NEW
Jefferson U FerenczAustraliaOnyama Limba NEGOTIATION
Ricardo B KolmetzUnited KingdomOnyama Limba PROPOSAL
Antonio N StockhamRussiaIoni Bowcher UNQUALIFIED
Smith B CampainCanadaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria L FigeroaGermanyIvan Magalhaes UNQUALIFIED
Murillo E NickaBrazilAnna Fali RENEWAL
Jeanfrancois X InouyeItalyStephen Shaw PROPOSAL
Francesco J GauchoGermanyBernardo Dominic RENEWAL
Sinclair M MaletJapanElwin Sharvill PROPOSAL
Juan P NickaAustraliaElwin Sharvill RENEWAL
Johnson T BologniaRussiaIvan Magalhaes NEGOTIATION
Jefferson I MorascaIndiaIoni Bowcher UNQUALIFIED
Kadeem W RulapaughIndiaAmy Elsner NEW
Claire E VocelkaGermanyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith Z ShinkoFrance2025-04-01Chapman, Ross E Esq RENEWAL89Anna Fali
1001Emily K CampainCanada2025-04-04Printing Dimensions PROPOSAL90Anna Fali
1002Chavez J BowleyItaly2025-04-30Chemel, James L Cpa RENEWAL6Onyama Limba
1003Smith J StockhamItaly2025-04-20Feiner Bros QUALIFIED52Anna Fali
1004Morrow F DilliardGermany2025-04-18Feltz Printing Service PROPOSAL40Elwin Sharvill
1005Ricardo A VenereBrazil2025-04-21Commercial Press NEW28Xuxue Feng
1006Silvio Q NickaArgentina2025-04-11Feltz Printing Service RENEWAL68Ivan Magalhaes
1007Octavia E AmigonCanada2025-04-19Dorl, James J Esq PROPOSAL47Ivan Magalhaes
1008Aditya G KolmetzIndia2025-04-13Morlong Associates RENEWAL95Asiya Javayant
1009Kadeem B DoeIndia2025-04-08Chapman, Ross E Esq QUALIFIED76Onyama Limba
1010Rodrigues R ChuiItaly2025-04-17Rousseaux, Michael Esq PROPOSAL66Asiya Javayant
1011Rodrigues A MaletCanada2025-04-29Feltz Printing Service NEW17Anna Fali
1012Clifford M SlusarskiFrance2025-04-02Feltz Printing Service NEW63Ioni Bowcher
1013Jeanfrancois J MaletArgentina2025-04-22Dorl, James J Esq NEW17Elwin Sharvill
1014Greenwood W CaldareraFrance2025-04-18Chapman, Ross E Esq NEGOTIATION21Stephen Shaw
1015Darci U FollerUnited Kingdom2025-04-15Feiner Bros NEW51Anna Fali
1016Aruna O NestleRussia2025-04-08Chapman, Ross E Esq NEW12Ioni Bowcher
1017Johnson P NickaSpain2025-04-26Chemel, James L Cpa PROPOSAL32Anna Fali
1018Rodrigues Q FollerAustralia2025-04-22Feltz Printing Service PROPOSAL76Stephen Shaw
1019Costa V FollerRussia2025-04-10Truhlar And Truhlar Attys NEW74Amy Elsner
1020Deepesh D NickaSpain2025-04-30Commercial Press NEGOTIATION61Stephen Shaw
1021Emily W NickaCanada2025-04-18Truhlar And Truhlar Attys NEGOTIATION60Onyama Limba
1022Juan N StensethRussia2025-04-09Chemel, James L Cpa UNQUALIFIED98Ivan Magalhaes
1023Deepesh A CampainCanada2025-04-25Dorl, James J Esq RENEWAL97Onyama Limba
1024Clifford J PoquetteBrazil2025-04-03Rousseaux, Michael Esq NEGOTIATION76Amy Elsner
1025Antonio B InouyeGermany2025-04-16Dorl, James J Esq PROPOSAL63Stephen Shaw
1026Maria Z StockhamRussia2025-04-01Feiner Bros NEW16Onyama Limba
1027Nicolas F FlosiCanada2025-04-15Benton, John B Jr PROPOSAL16Bernardo Dominic
1028Antonio D OstroskyJapan2025-04-21Truhlar And Truhlar Attys UNQUALIFIED50Stephen Shaw
1029Tony Z KolmetzFrance2025-04-15Benton, John B Jr PROPOSAL71Bernardo Dominic
1030David J MaletFrance2025-04-21Printing Dimensions NEW52Bernardo Dominic
1031Jennifer U VocelkaGermany2025-04-26Feiner Bros NEGOTIATION76Onyama Limba
1032Cody L RutaItaly2025-04-19Buckley Miller Wright NEGOTIATION9Amy Elsner
1033Salvatore J AlbaresIndia2025-04-10Buckley Miller Wright NEGOTIATION4Ioni Bowcher
1034Ivar A KuskoBrazil2025-04-16Printing Dimensions NEGOTIATION65Ioni Bowcher
1035David Z SlusarskiArgentina2025-04-06Chapman, Ross E Esq UNQUALIFIED33Asiya Javayant
1036Tony F VenereItaly2025-04-24Feltz Printing Service PROPOSAL15Elwin Sharvill
1037Rodrigues I OldroydAustralia2025-04-09King, Christopher A Esq QUALIFIED74Ivan Magalhaes
1038Octavia D MarrierJapan2025-04-30Chanay, Jeffrey A Esq QUALIFIED81Anna Fali
1039Claire Q FigeroaAustralia2025-04-01Buckley Miller Wright QUALIFIED60Elwin Sharvill
1040Leon G BowleyCanada2025-04-28Chapman, Ross E Esq NEGOTIATION95Anna Fali
1041Sinclair U DarakjyAustralia2025-04-15Rousseaux, Michael Esq RENEWAL52Ivan Magalhaes
1042Octavia J FerenczAustralia2025-04-29Benton, John B Jr NEGOTIATION69Ivan Magalhaes
1043Antonio Z FlosiAustralia2025-04-21Chemel, James L Cpa UNQUALIFIED74Ioni Bowcher
1044Juan L CaudyBrazil2025-04-26Benton, John B Jr UNQUALIFIED38Onyama Limba
1045Munro C GarufiGermany2025-04-17Chemel, James L Cpa QUALIFIED43Bernardo Dominic
1046Darci L NestleAustralia2025-04-20Chanay, Jeffrey A Esq PROPOSAL5Amy Elsner
1047Tony T ShinkoArgentina2025-04-05Rangoni Of Florence NEGOTIATION43Ivan Magalhaes
1048Smith Z OstroskyRussia2025-04-30Feltz Printing Service RENEWAL23Onyama Limba
1049Cody C SlusarskiIndia2025-04-10Feltz Printing Service QUALIFIED0Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika T KuskoSpainAsiya Javayant NEGOTIATION
Salvatore H FerenczRussiaStephen Shaw UNQUALIFIED
Ivar S FigeroaArgentinaXuxue Feng PROPOSAL
Mayumi O ButtAustraliaOnyama Limba NEGOTIATION
Murillo S PerinRussiaAnna Fali RENEWAL
Aditya O NestleItalyAmy Elsner RENEWAL
Aruna X NestleArgentinaElwin Sharvill QUALIFIED
James M GlickBrazilAmy Elsner RENEWAL
Darci R ButtItalyIvan Magalhaes NEGOTIATION
Antonio N CaldareraCanadaXuxue Feng UNQUALIFIED
Ashley F OldroydBrazilStephen Shaw QUALIFIED
Jennifer M CaudyItalyIvan Magalhaes NEW
Mujtaba O OldroydAustraliaAmy Elsner PROPOSAL
Cody J PaprockiSpainIoni Bowcher RENEWAL
Ricardo A RimRussiaIoni Bowcher NEW
Misaki D MarrierArgentinaXuxue Feng NEW
James V CampainAustraliaStephen Shaw UNQUALIFIED
Clifford Y GauchoArgentinaXuxue Feng QUALIFIED
Clifford W MaletCanadaAsiya Javayant QUALIFIED
Alejandro B MacleadAustraliaAmy Elsner QUALIFIED
Emily H MaletUnited KingdomAnna Fali RENEWAL
Juan B WieserFranceElwin Sharvill PROPOSAL
Jefferson N FlosiCanadaXuxue Feng QUALIFIED
Clifford H BowleyBrazilAnna Fali NEGOTIATION
Arvin J VocelkaAustraliaIoni Bowcher UNQUALIFIED
James E IturbideSpainAnna Fali QUALIFIED
Kaitlin G DilliardGermanyOnyama Limba NEW
Stacey Q FerenczArgentinaElwin Sharvill NEGOTIATION
Johnson N DilliardBrazilAsiya Javayant QUALIFIED
Smith T DoeGermanyAnna Fali PROPOSAL
Deepesh Z ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Leja P MaletAustraliaAmy Elsner NEGOTIATION
James U GlickArgentinaAsiya Javayant NEW
Leon J FerenczJapanIoni Bowcher PROPOSAL
Misaki M GarufiIndiaBernardo Dominic NEW
Leja F SergiSpainAnna Fali NEW
Aika I TollnerSpainIvan Magalhaes NEW
Leja Z PerinSpainIoni Bowcher RENEWAL
Nicolas E ButtCanadaAsiya Javayant NEW
Emily S FlosiCanadaAnna Fali QUALIFIED
Izzy L InouyeFranceIoni Bowcher NEGOTIATION
Greenwood B OstroskyItalyBernardo Dominic NEW
Antonio P WaycottIndiaAsiya Javayant NEW
Nicolas A NestleSpainAnna Fali PROPOSAL
Murillo V DoeJapanIvan Magalhaes UNQUALIFIED
Jennifer D DoeGermanyAmy Elsner QUALIFIED
Maria E CaudyCanadaAsiya Javayant NEW
Julie R CampainArgentinaXuxue Feng NEGOTIATION
Jeanfrancois E TollnerItalyBernardo Dominic NEW
Greenwood B WaycottAustraliaBernardo Dominic QUALIFIED
Frozen Columns
Name
Antonio B Kusko
Deepesh B Gaucho
Misaki Z Briddick
Chavez A Garufi
Greenwood Z Foller
Smith S Saylors
Leon D Gaucho
Arvin D Whobrey
Deepesh C Flosi
Isabel H Gaucho
Maisha G Figeroa
Juan D Nicka
Izzy T Saylors
Aruna L Schemmer
Wickens F Rulapaugh
Misaki D Malet
Izzy V Shinko
Munro Y Whobrey
Maisha H Dilliard
Adams R Slusarski
Jeanfrancois U Wieser
Emily X Gaucho
Salvatore C Paprocki
Stacey J Stenseth
Mujtaba J Malet
Misaki M Maclead
Ivar V Whobrey
Maria P Malet
Sinclair K Ruta
Leon V Briddick
Sinclair O Caudy
Silvio Z Saylors
Nicolas D Flosi
Kaitlin H Doe
Deepesh V Ferencz
Costa Z Shinko
Jennifer Y Inouye
Isabel Q Kolmetz
Clifford I Flosi
Jefferson Z Caudy
Misaki D Garufi
Octavia X Darakjy
Leja U Gaucho
Silvio J Perin
Greenwood G Figeroa
Alejandro I Ferencz
Aika E Sergi
Johnson E Butt
Stacey U Waycott
Kaitlin P Nicka
IdCountryDate
1000Canada2025-04-16
1001Italy2025-04-07
1002Russia2025-04-23
1003Canada2025-04-04
1004Japan2025-04-29
1005Italy2025-04-19
1006Brazil2025-04-02
1007Brazil2025-04-11
1008Germany2025-04-10
1009Argentina2025-04-10
1010France2025-04-02
1011Germany2025-04-03
1012Australia2025-04-04
1013Spain2025-04-06
1014Italy2025-04-05
1015Brazil2025-04-01
1016France2025-04-05
1017France2025-04-09
1018Italy2025-04-26
1019Germany2025-04-24
1020Spain2025-04-29
1021Japan2025-04-10
1022Canada2025-04-06
1023Argentina2025-04-26
1024Italy2025-04-20
1025Germany2025-04-09
1026Russia2025-04-05
1027Italy2025-04-29
1028India2025-04-17
1029Australia2025-04-30
1030Canada2025-04-03
1031Italy2025-04-04
1032Italy2025-04-05
1033India2025-04-27
1034United Kingdom2025-04-23
1035Australia2025-04-19
1036Canada2025-04-11
1037Argentina2025-04-12
1038United Kingdom2025-04-29
1039Brazil2025-04-09
1040Spain2025-04-17
1041Canada2025-04-22
1042United Kingdom2025-04-29
1043Japan2025-04-10
1044Italy2025-04-18
1045Brazil2025-04-19
1046Canada2025-04-13
1047Japan2025-04-08
1048France2025-04-22
1049United Kingdom2025-04-27

On-Demand Data

NameIdCountryDate
Juan E Rulapaugh1000Brazil2025-04-15
David Z Ostrosky1001Russia2025-04-10
Ivar L Ostrosky1002United Kingdom2025-04-02
Ivar O Tollner1003Australia2025-04-06
Salvatore M Ruta1004Germany2025-04-26
Rodrigues K Maclead1005Australia2025-04-18
Cody V Nestle1006Canada2025-04-04
Ashley X Marrier1007Argentina2025-04-09
Claire L Figeroa1008Russia2025-04-22
James N Gillian1009Australia2025-04-25
Leja X Nestle1010Spain2025-04-23
Aruna N Venere1011Russia2025-04-06
Costa M Bolognia1012France2025-04-19
Morrow K Ruta1013Canada2025-04-27
Adams F Caudy1014Italy2025-04-23
Jennifer N Malet1015Germany2025-04-22
Julie B Marrier1016Germany2025-04-25
Kadeem X Nestle1017Italy2025-04-26
Maria U Marrier1018Brazil2025-04-17
Emily C Venere1019Canada2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo O GlickGermanyBernardo Dominic UNQUALIFIED
Isabel W ShinkoUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois P GlickSpainIoni Bowcher NEW
Misaki T OstroskyJapanXuxue Feng NEGOTIATION
Smith Q GillianSpainAnna Fali NEW
Wickens B SlusarskiIndiaAnna Fali RENEWAL
Faith U GlickArgentinaBernardo Dominic UNQUALIFIED
Aditya M RimFranceAsiya Javayant RENEWAL
Murillo A BowleySpainStephen Shaw NEW
Julie M PerinBrazilStephen Shaw PROPOSAL
Emily G BologniaJapanAmy Elsner NEGOTIATION
Aruna F PerinItalyIvan Magalhaes NEGOTIATION
Chavez B SlusarskiArgentinaStephen Shaw QUALIFIED
Maria R ShinkoJapanXuxue Feng NEGOTIATION
Munro O FlosiIndiaAsiya Javayant UNQUALIFIED
Darci A StockhamArgentinaAmy Elsner NEGOTIATION
Aika B CaudyBrazilAmy Elsner NEGOTIATION
Antonio O IturbideIndiaStephen Shaw QUALIFIED
Octavia C FlosiRussiaOnyama Limba NEW
Greenwood Z FlosiAustraliaElwin Sharvill NEW
Alejandro K WieserArgentinaXuxue Feng RENEWAL
Chavez I NestleIndiaBernardo Dominic UNQUALIFIED
Ivar E GauchoUnited KingdomAmy Elsner NEW
Ivar E RoysterFranceAsiya Javayant PROPOSAL
Rodrigues S MarrierIndiaAmy Elsner NEW
Leon T VocelkaBrazilIvan Magalhaes UNQUALIFIED
Tony U AlbaresAustraliaOnyama Limba NEW
Isabel I WaycottGermanyStephen Shaw NEW
Julie E GauchoIndiaIvan Magalhaes RENEWAL
Wickens F GlickJapanOnyama Limba UNQUALIFIED
Cody A FigeroaSpainIvan Magalhaes NEGOTIATION
David H ChuiItalyAmy Elsner PROPOSAL
Faith E AlbaresAustraliaOnyama Limba NEGOTIATION
Adams B StockhamFranceIoni Bowcher PROPOSAL
Salvatore R PoquetteBrazilXuxue Feng NEW
Claire V AlbaresUnited KingdomXuxue Feng QUALIFIED
Mujtaba A BologniaAustraliaAnna Fali PROPOSAL
David C VenereCanadaAmy Elsner RENEWAL
Misaki H InouyeIndiaAnna Fali NEGOTIATION
Leja K TollnerRussiaXuxue Feng RENEWAL

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