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
Isabel Z GillianUnited KingdomXuxue Feng NEW
Rodrigues U ChuiJapanStephen Shaw QUALIFIED
Jones F NickaSpainAmy Elsner NEGOTIATION
Octavia S GlickItalyElwin Sharvill QUALIFIED
Smith D BriddickJapanStephen Shaw RENEWAL
Faith S VocelkaFranceAnna Fali NEW
Salvatore D BowleySpainElwin Sharvill PROPOSAL
Stacey I SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Francesco B FerenczAustraliaIoni Bowcher RENEWAL
Mujtaba D GarufiGermanyStephen Shaw PROPOSAL
Cody S DarakjyIndiaXuxue Feng NEW
Misaki O StensethBrazilAnna Fali PROPOSAL
Jennifer T WieserJapanBernardo Dominic RENEWAL
Ricardo E OldroydRussiaIoni Bowcher RENEWAL
Jeanfrancois N OldroydAustraliaXuxue Feng NEW
Sinclair Q CaldareraRussiaXuxue Feng RENEWAL
Kaitlin Q CaldareraSpainIoni Bowcher NEGOTIATION
Aruna B MorascaCanadaElwin Sharvill NEGOTIATION
Jeanfrancois N BriddickRussiaIoni Bowcher UNQUALIFIED
Alejandro W CaldareraGermanyXuxue Feng QUALIFIED
Izzy M AlbaresFranceAnna Fali NEW
Cody O ChuiUnited KingdomIoni Bowcher NEGOTIATION
Isabel K NestleSpainAnna Fali NEW
Alejandro S MaletRussiaBernardo Dominic NEGOTIATION
Mujtaba Y FigeroaAustraliaXuxue Feng RENEWAL
Misaki B MarrierAustraliaElwin Sharvill QUALIFIED
Adams S DarakjyArgentinaBernardo Dominic NEGOTIATION
Izzy D InouyeItalyAsiya Javayant UNQUALIFIED
Jennifer Q OldroydArgentinaElwin Sharvill NEGOTIATION
Wickens B AlbaresAustraliaAmy Elsner RENEWAL
Adams J RulapaughFranceIvan Magalhaes RENEWAL
Claire D BologniaArgentinaElwin Sharvill RENEWAL
Jones O NestleBrazilAnna Fali RENEWAL
Salvatore X RutaCanadaOnyama Limba NEW
James R AmigonFranceStephen Shaw NEW
Isabel H GillianRussiaIoni Bowcher NEW
Chavez X MaletSpainElwin Sharvill UNQUALIFIED
Cody K DoeCanadaXuxue Feng RENEWAL
Octavia J ButtRussiaAnna Fali RENEWAL
Kaitlin T NestleArgentinaXuxue Feng NEGOTIATION
Isabel Y DoeItalyOnyama Limba NEW
Sinclair M WhobreyIndiaIvan Magalhaes UNQUALIFIED
Jennifer W ButtBrazilElwin Sharvill NEGOTIATION
Julie L AlbaresJapanAmy Elsner PROPOSAL
Salvatore B SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Emily U BriddickCanadaElwin Sharvill RENEWAL
Clifford D KuskoGermanyAnna Fali RENEWAL
Ricardo O DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Emily J PoquetteIndiaBernardo Dominic PROPOSAL
Mujtaba G MaletFranceAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois G FerenczGermanyAsiya Javayant UNQUALIFIED
Wickens J WaycottArgentinaOnyama Limba RENEWAL
Aditya J WieserAustraliaIoni Bowcher UNQUALIFIED
Emily J MacleadArgentinaAsiya Javayant PROPOSAL
Clifford H BologniaItalyAmy Elsner RENEWAL
Aditya N FlosiBrazilElwin Sharvill RENEWAL
Aditya I DilliardGermanyAsiya Javayant QUALIFIED
Francesco H SergiGermanyAsiya Javayant UNQUALIFIED
Octavia C MacleadAustraliaStephen Shaw UNQUALIFIED
Octavia I CaldareraArgentinaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley B SchemmerGermany2024-06-17Chapman, Ross E Esq QUALIFIED50Stephen Shaw
1001Jeanfrancois N FollerUnited Kingdom2024-06-15Rousseaux, Michael Esq UNQUALIFIED56Asiya Javayant
1002Tony K AmigonCanada2024-06-14Commercial Press RENEWAL42Elwin Sharvill
1003Costa D MaletFrance2024-06-20Buckley Miller Wright NEGOTIATION76Elwin Sharvill
1004Smith K AmigonRussia2024-06-07Chemel, James L Cpa RENEWAL23Anna Fali
1005Stacey T DoeRussia2024-06-01Morlong Associates RENEWAL76Onyama Limba
1006Antonio U ChuiSpain2024-06-02Morlong Associates RENEWAL88Stephen Shaw
1007Mayumi X MorascaBrazil2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED85Anna Fali
1008Kaitlin M GillianRussia2024-06-24Chemel, James L Cpa NEW77Xuxue Feng
1009Alejandro M SergiIndia2024-06-04King, Christopher A Esq UNQUALIFIED79Xuxue Feng
1010Johnson T PoquetteUnited Kingdom2024-06-21Printing Dimensions PROPOSAL92Stephen Shaw
1011Greenwood S BriddickFrance2024-06-10Chapman, Ross E Esq NEGOTIATION42Ivan Magalhaes
1012Isabel Y ChuiAustralia2024-06-05Printing Dimensions RENEWAL97Stephen Shaw
1013Greenwood M KolmetzUnited Kingdom2024-05-28Benton, John B Jr QUALIFIED82Elwin Sharvill
1014Octavia D AmigonCanada2024-06-22Chapman, Ross E Esq PROPOSAL7Elwin Sharvill
1015James F OldroydFrance2024-06-05Feiner Bros RENEWAL14Bernardo Dominic
1016Cody A BologniaItaly2024-06-16Morlong Associates QUALIFIED25Stephen Shaw
1017Costa X VenereFrance2024-06-16Chanay, Jeffrey A Esq NEGOTIATION27Ioni Bowcher
1018Munro I AlbaresAustralia2024-06-22Rousseaux, Michael Esq PROPOSAL96Amy Elsner
1019Jefferson R TollnerSpain2024-06-21Dorl, James J Esq NEGOTIATION77Anna Fali
1020James T MorascaGermany2024-05-29Feiner Bros NEW72Elwin Sharvill
1021Jennifer T BriddickRussia2024-06-24Buckley Miller Wright PROPOSAL79Anna Fali
1022Wickens U InouyeFrance2024-06-08Morlong Associates RENEWAL19Bernardo Dominic
1023Kadeem U CampainBrazil2024-06-10Printing Dimensions PROPOSAL57Stephen Shaw
1024Jones K WaycottSpain2024-06-24Printing Dimensions NEGOTIATION98Stephen Shaw
1025David U BowleyUnited Kingdom2024-06-23Rangoni Of Florence NEW84Elwin Sharvill
1026Mujtaba Z FollerRussia2024-06-22Feiner Bros QUALIFIED63Ivan Magalhaes
1027Juan V FerenczIndia2024-05-27Chapman, Ross E Esq UNQUALIFIED62Stephen Shaw
1028Greenwood H PaprockiCanada2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED87Ivan Magalhaes
1029Faith F GauchoArgentina2024-05-28Rangoni Of Florence RENEWAL79Onyama Limba
1030Ricardo O BologniaJapan2024-06-10Commercial Press UNQUALIFIED67Elwin Sharvill
1031Murillo Y RulapaughGermany2024-06-09Dorl, James J Esq NEW43Ioni Bowcher
1032Nicolas F GillianCanada2024-06-18Buckley Miller Wright PROPOSAL3Xuxue Feng
1033Murillo M VocelkaGermany2024-06-19Buckley Miller Wright UNQUALIFIED1Xuxue Feng
1034Morrow T VenereFrance2024-06-19Dorl, James J Esq RENEWAL40Amy Elsner
1035Misaki Z GarufiIndia2024-06-02Chemel, James L Cpa PROPOSAL30Xuxue Feng
1036Wickens X GauchoFrance2024-05-27Chemel, James L Cpa PROPOSAL22Bernardo Dominic
1037Aditya S GillianArgentina2024-06-24Chemel, James L Cpa QUALIFIED91Bernardo Dominic
1038David D WieserUnited Kingdom2024-06-18Dorl, James J Esq PROPOSAL79Amy Elsner
1039Clifford Y OstroskyCanada2024-06-09Feiner Bros RENEWAL14Onyama Limba
1040Silvio N FlosiCanada2024-06-02Morlong Associates NEW15Ioni Bowcher
1041Stacey O FollerIndia2024-05-29Feiner Bros NEW32Amy Elsner
1042Stacey C SlusarskiJapan2024-06-03Commercial Press RENEWAL33Stephen Shaw
1043Francesco T StensethIndia2024-06-09Dorl, James J Esq QUALIFIED31Asiya Javayant
1044Leja U MaletIndia2024-05-26Rousseaux, Michael Esq QUALIFIED56Stephen Shaw
1045Clifford B NestleRussia2024-06-14Rousseaux, Michael Esq UNQUALIFIED74Onyama Limba
1046Sinclair B ShinkoItaly2024-06-24Chanay, Jeffrey A Esq PROPOSAL93Stephen Shaw
1047Maisha L GillianAustralia2024-05-31Morlong Associates NEW90Onyama Limba
1048Ivar E SaylorsRussia2024-05-26King, Christopher A Esq UNQUALIFIED39Stephen Shaw
1049Faith R FigeroaSpain2024-06-08Feltz Printing Service RENEWAL65Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily Y WieserUnited KingdomAmy Elsner PROPOSAL
Kaitlin G SchemmerBrazilIoni Bowcher QUALIFIED
Misaki O WieserGermanyAmy Elsner NEW
Isabel P ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya K GarufiAustraliaAmy Elsner PROPOSAL
Deepesh J WieserBrazilOnyama Limba NEW
Clifford V SaylorsItalyAsiya Javayant RENEWAL
Stacey X WhobreyJapanAmy Elsner NEW
Juan U AlbaresFranceOnyama Limba NEW
Jefferson N GauchoFranceBernardo Dominic PROPOSAL
Morrow S WieserAustraliaAnna Fali UNQUALIFIED
Rodrigues O BologniaUnited KingdomStephen Shaw NEGOTIATION
Aruna A SlusarskiGermanyBernardo Dominic RENEWAL
Smith N VocelkaCanadaIoni Bowcher UNQUALIFIED
Mujtaba A GlickArgentinaIoni Bowcher NEGOTIATION
Murillo H KolmetzArgentinaBernardo Dominic NEW
Ricardo M AmigonJapanIvan Magalhaes QUALIFIED
Deepesh J MarrierArgentinaBernardo Dominic NEW
Izzy O PoquetteGermanyXuxue Feng NEGOTIATION
Emily R CaudyJapanOnyama Limba UNQUALIFIED
Silvio R GarufiIndiaStephen Shaw RENEWAL
Tony V BowleyItalyXuxue Feng PROPOSAL
Maria J KuskoFranceElwin Sharvill PROPOSAL
Cody X DilliardFranceXuxue Feng NEGOTIATION
Ricardo F AlbaresSpainXuxue Feng NEGOTIATION
Johnson Z CaudyUnited KingdomIoni Bowcher RENEWAL
Izzy A MorascaAustraliaAnna Fali QUALIFIED
Adams U AmigonRussiaOnyama Limba PROPOSAL
Ashley R StockhamSpainBernardo Dominic PROPOSAL
Johnson J DarakjyArgentinaAsiya Javayant PROPOSAL
Morrow J RimIndiaStephen Shaw UNQUALIFIED
Jefferson S FigeroaItalyBernardo Dominic PROPOSAL
Faith T RulapaughCanadaBernardo Dominic NEW
Munro Z RutaFranceIoni Bowcher PROPOSAL
Alejandro X GauchoSpainAmy Elsner PROPOSAL
Murillo J FerenczArgentinaOnyama Limba NEGOTIATION
Claire D AlbaresArgentinaAsiya Javayant UNQUALIFIED
Greenwood O SaylorsAustraliaOnyama Limba RENEWAL
Arvin Y BowleyFranceAmy Elsner NEGOTIATION
Leon Q AmigonRussiaAnna Fali NEW
Stacey L OstroskyArgentinaIvan Magalhaes QUALIFIED
James S GlickSpainAsiya Javayant NEGOTIATION
Izzy V SlusarskiGermanyAnna Fali UNQUALIFIED
Smith G WieserGermanyAmy Elsner RENEWAL
Adams X DarakjyFranceXuxue Feng QUALIFIED
Cody U AmigonUnited KingdomAsiya Javayant NEW
Kaitlin R BologniaJapanOnyama Limba NEW
Aruna T StockhamIndiaStephen Shaw NEGOTIATION
Ivar T InouyeJapanAsiya Javayant NEW
Stacey J FollerSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Izzy M Rim
Aditya U Schemmer
Adams O Rim
Octavia B Kolmetz
Misaki E Bowley
Kaitlin B Bolognia
Greenwood K Schemmer
Darci P Malet
Ricardo G Shinko
Tony G Ruta
Stacey M Nestle
Juan N Morasca
Jones D Stockham
Aika V Flosi
Johnson Q Foller
Costa B Schemmer
Tony W Ruta
Clifford R Waycott
Sinclair L Malet
Chavez N Schemmer
Mujtaba T Kusko
Nicolas D Glick
Morrow K Briddick
Mujtaba L Whobrey
Emily L Dilliard
Isabel A Chui
Ivar O Gaucho
Cody Y Albares
Izzy N Campain
Cody L Vocelka
Ricardo J Caudy
Kadeem F Kolmetz
Antonio N Whobrey
Aditya D Kolmetz
Maria N Shinko
Emily G Stenseth
Wickens N Wieser
Julie U Doe
Ashley W Gaucho
Tony B Doe
Jefferson C Marrier
Kadeem F Rulapaugh
Nicolas D Venere
Jones L Dilliard
Mayumi S Briddick
James P Darakjy
David E Sergi
Julie J Sergi
Rodrigues P Venere
Francesco T Darakjy
IdCountryDate
1000Germany2024-06-02
1001Argentina2024-06-02
1002India2024-06-14
1003Japan2024-05-26
1004Australia2024-06-17
1005Russia2024-06-02
1006France2024-06-06
1007Canada2024-05-28
1008Russia2024-06-07
1009Italy2024-05-30
1010Italy2024-06-19
1011Russia2024-06-07
1012Italy2024-06-14
1013Brazil2024-06-19
1014Italy2024-06-13
1015France2024-06-05
1016Spain2024-06-06
1017Russia2024-06-23
1018Spain2024-06-15
1019France2024-06-01
1020Japan2024-06-19
1021Canada2024-05-26
1022India2024-06-09
1023Russia2024-06-03
1024Italy2024-06-01
1025Germany2024-05-27
1026Australia2024-06-08
1027Russia2024-06-03
1028Australia2024-06-18
1029United Kingdom2024-06-21
1030Spain2024-06-15
1031France2024-06-03
1032Argentina2024-06-06
1033Japan2024-05-31
1034Germany2024-06-24
1035Japan2024-05-27
1036Germany2024-05-28
1037France2024-06-14
1038France2024-06-14
1039United Kingdom2024-06-11
1040Germany2024-06-22
1041Australia2024-06-01
1042Brazil2024-05-28
1043Japan2024-06-06
1044Canada2024-05-31
1045United Kingdom2024-06-15
1046India2024-06-04
1047Italy2024-06-11
1048Brazil2024-06-22
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Kadeem D Vocelka1000United Kingdom2024-06-23
Julie I Chui1001United Kingdom2024-06-14
Chavez J Darakjy1002Brazil2024-06-05
Ricardo M Perin1003Spain2024-06-20
Costa J Campain1004India2024-05-26
Mayumi W Bowley1005Japan2024-05-29
Julie M Marrier1006India2024-06-13
Emily W Figeroa1007France2024-06-19
Morrow U Ruta1008Japan2024-05-31
David R Stenseth1009Australia2024-06-15
Tony G Oldroyd1010India2024-06-10
Mujtaba Y Rulapaugh1011Brazil2024-06-06
Costa C Vocelka1012United Kingdom2024-06-08
Antonio P Glick1013Canada2024-06-11
Emily D Albares1014Australia2024-06-02
Ricardo W Amigon1015Australia2024-06-18
Juan J Oldroyd1016Canada2024-06-15
Jones W Caldarera1017Japan2024-06-02
Cody C Maclead1018Australia2024-05-28
Aruna Y Bowley1019Argentina2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy H DoeCanadaAmy Elsner QUALIFIED
Stacey F KolmetzCanadaAsiya Javayant QUALIFIED
Aditya S AlbaresArgentinaAsiya Javayant RENEWAL
Arvin O GauchoUnited KingdomOnyama Limba UNQUALIFIED
James I DarakjyItalyIvan Magalhaes QUALIFIED
Deepesh G BologniaJapanXuxue Feng QUALIFIED
Rodrigues B BologniaJapanAnna Fali PROPOSAL
Francesco Z FlosiBrazilElwin Sharvill PROPOSAL
Morrow C WieserJapanAmy Elsner QUALIFIED
Greenwood A RoysterJapanStephen Shaw RENEWAL
Jennifer M DarakjyBrazilElwin Sharvill QUALIFIED
Faith I SergiItalyOnyama Limba QUALIFIED
Kaitlin D InouyeFranceBernardo Dominic NEW
Izzy F SergiFranceIoni Bowcher NEW
Cody P GarufiItalyAmy Elsner NEGOTIATION
Murillo L AlbaresAustraliaOnyama Limba QUALIFIED
Faith N OldroydArgentinaAsiya Javayant NEGOTIATION
Adams B SlusarskiSpainAmy Elsner RENEWAL
Maisha I CaudyIndiaAmy Elsner NEGOTIATION
Emily T BowleyJapanIoni Bowcher UNQUALIFIED
Smith J KolmetzCanadaBernardo Dominic PROPOSAL
Morrow L GarufiCanadaElwin Sharvill UNQUALIFIED
Aruna U ButtItalyIoni Bowcher NEW
Jennifer B PaprockiGermanyAnna Fali QUALIFIED
Rodrigues Q MaletItalyBernardo Dominic PROPOSAL
Claire D BowleyCanadaElwin Sharvill NEW
Julie P SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Francesco B PerinFranceIvan Magalhaes NEGOTIATION
Antonio C AlbaresUnited KingdomAnna Fali UNQUALIFIED
Smith Z GarufiRussiaAnna Fali RENEWAL
Aika Q FigeroaRussiaIvan Magalhaes RENEWAL
Smith Y WaycottArgentinaElwin Sharvill UNQUALIFIED
Maisha T InouyeBrazilBernardo Dominic NEW
Chavez Y RimBrazilOnyama Limba RENEWAL
Alejandro Z BriddickBrazilBernardo Dominic RENEWAL
Ashley K RulapaughItalyAsiya Javayant QUALIFIED
Ricardo N GillianUnited KingdomStephen Shaw PROPOSAL
Misaki D NickaJapanIoni Bowcher NEGOTIATION
Kaitlin A MaletAustraliaXuxue Feng RENEWAL
Claire D AmigonIndiaIoni Bowcher 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>