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
Aruna Z KolmetzUnited KingdomAsiya Javayant QUALIFIED
David V AmigonCanadaIoni Bowcher PROPOSAL
Morrow K RulapaughBrazilOnyama Limba NEGOTIATION
David W FerenczIndiaStephen Shaw UNQUALIFIED
Maisha Z SergiCanadaAmy Elsner NEGOTIATION
Francesco K NestleArgentinaIvan Magalhaes PROPOSAL
Munro B RoysterAustraliaElwin Sharvill RENEWAL
Johnson W BologniaBrazilAmy Elsner PROPOSAL
Maria C SlusarskiItalyStephen Shaw UNQUALIFIED
Murillo G CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Claire X FigeroaAustraliaIoni Bowcher QUALIFIED
Sinclair U CaldareraGermanyAmy Elsner PROPOSAL
Munro D StensethJapanOnyama Limba UNQUALIFIED
Leja O FlosiArgentinaAsiya Javayant NEW
Rodrigues T FollerUnited KingdomXuxue Feng NEGOTIATION
Aditya I GauchoArgentinaIvan Magalhaes NEW
Jeanfrancois A ButtCanadaAmy Elsner QUALIFIED
Wickens I VocelkaRussiaBernardo Dominic PROPOSAL
Ivar Y FigeroaUnited KingdomAnna Fali NEGOTIATION
Adams N CaudyRussiaAmy Elsner NEW
Francesco N StockhamSpainElwin Sharvill PROPOSAL
Antonio Y StensethFranceOnyama Limba NEW
Cody V WieserAustraliaIvan Magalhaes UNQUALIFIED
Clifford M BowleyRussiaBernardo Dominic QUALIFIED
Aditya U GillianCanadaElwin Sharvill RENEWAL
Kadeem V GillianGermanyOnyama Limba NEW
Mujtaba P FigeroaJapanOnyama Limba UNQUALIFIED
James R BowleyItalyXuxue Feng NEGOTIATION
Jefferson G GlickItalyBernardo Dominic NEGOTIATION
Antonio E RulapaughAustraliaAsiya Javayant PROPOSAL
Jefferson E MorascaJapanBernardo Dominic NEW
Aditya M MarrierFranceBernardo Dominic NEGOTIATION
Faith S IturbideAustraliaIvan Magalhaes PROPOSAL
Ricardo F MorascaJapanElwin Sharvill UNQUALIFIED
Aruna T RutaSpainOnyama Limba NEW
Mayumi T GlickUnited KingdomElwin Sharvill PROPOSAL
Smith T KolmetzIndiaOnyama Limba QUALIFIED
Jones J FollerUnited KingdomIvan Magalhaes NEGOTIATION
James V OstroskyRussiaAnna Fali RENEWAL
Mujtaba S BriddickJapanIvan Magalhaes QUALIFIED
Jones N OldroydBrazilAsiya Javayant UNQUALIFIED
Rodrigues S VocelkaGermanyOnyama Limba QUALIFIED
Nicolas Q PoquetteArgentinaStephen Shaw RENEWAL
Deepesh C BowleyCanadaXuxue Feng NEW
Arvin N WaycottSpainIvan Magalhaes QUALIFIED
Chavez P BologniaUnited KingdomOnyama Limba NEGOTIATION
Emily J BowleyAustraliaIvan Magalhaes NEGOTIATION
Leon I DilliardUnited KingdomElwin Sharvill NEW
Nicolas L GauchoIndiaXuxue Feng RENEWAL
Tony K GauchoBrazilXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan Y SergiGermanyAnna Fali QUALIFIED
Emily D BriddickFranceElwin Sharvill NEGOTIATION
Morrow I CampainFranceOnyama Limba RENEWAL
Maisha R MaletArgentinaAnna Fali QUALIFIED
David C WaycottAustraliaXuxue Feng RENEWAL
James J RulapaughArgentinaBernardo Dominic UNQUALIFIED
Aditya J PoquetteGermanyStephen Shaw NEW
Murillo E IturbideIndiaAsiya Javayant NEW
Greenwood R SergiUnited KingdomAnna Fali NEGOTIATION
Greenwood G RutaSpainIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan T WaycottGermany2024-06-11Feiner Bros QUALIFIED20Onyama Limba
1001David D ChuiFrance2024-06-15Rousseaux, Michael Esq NEW18Ioni Bowcher
1002Costa T AlbaresIndia2024-06-13Feiner Bros NEGOTIATION62Ioni Bowcher
1003Kadeem U OstroskyUnited Kingdom2024-06-10Printing Dimensions PROPOSAL78Ioni Bowcher
1004Ivar M RutaJapan2024-06-12Morlong Associates RENEWAL16Bernardo Dominic
1005Johnson N RulapaughUnited Kingdom2024-05-29Benton, John B Jr RENEWAL9Asiya Javayant
1006Julie D SaylorsItaly2024-06-15Chapman, Ross E Esq QUALIFIED58Bernardo Dominic
1007Nicolas A FigeroaFrance2024-06-08Truhlar And Truhlar Attys RENEWAL97Ioni Bowcher
1008Salvatore A IturbideIndia2024-06-18Chapman, Ross E Esq PROPOSAL62Onyama Limba
1009Deepesh T AlbaresJapan2024-06-16Rousseaux, Michael Esq UNQUALIFIED44Anna Fali
1010Antonio S StockhamUnited Kingdom2024-06-06Chanay, Jeffrey A Esq PROPOSAL0Stephen Shaw
1011Leon U InouyeJapan2024-06-19Commercial Press QUALIFIED15Xuxue Feng
1012Arvin Q MaletSpain2024-06-14Morlong Associates PROPOSAL95Ivan Magalhaes
1013Munro C PaprockiBrazil2024-06-02Buckley Miller Wright NEW8Stephen Shaw
1014Julie Y RoysterCanada2024-06-10King, Christopher A Esq PROPOSAL63Bernardo Dominic
1015Emily K WhobreyBrazil2024-06-04Morlong Associates NEGOTIATION29Asiya Javayant
1016Jeanfrancois U MaletJapan2024-05-31Chemel, James L Cpa UNQUALIFIED14Bernardo Dominic
1017Alejandro L CampainBrazil2024-06-03Rangoni Of Florence PROPOSAL72Anna Fali
1018Ivar A NickaBrazil2024-06-13Chapman, Ross E Esq QUALIFIED90Bernardo Dominic
1019Mujtaba O GauchoJapan2024-05-26Dorl, James J Esq QUALIFIED90Bernardo Dominic
1020Salvatore J BowleyUnited Kingdom2024-06-14Chanay, Jeffrey A Esq PROPOSAL92Stephen Shaw
1021James G CaldareraCanada2024-06-12Chapman, Ross E Esq UNQUALIFIED38Ioni Bowcher
1022Aika E GillianCanada2024-06-18Commercial Press RENEWAL51Asiya Javayant
1023Alejandro Y CaldareraRussia2024-06-17Chapman, Ross E Esq RENEWAL83Stephen Shaw
1024Greenwood M GauchoSpain2024-06-14Commercial Press UNQUALIFIED86Xuxue Feng
1025Maria N StockhamFrance2024-06-16Rousseaux, Michael Esq NEW7Ivan Magalhaes
1026Kadeem H BowleyBrazil2024-06-10Chemel, James L Cpa NEW12Ivan Magalhaes
1027Juan J MorascaGermany2024-06-18Truhlar And Truhlar Attys QUALIFIED69Xuxue Feng
1028Leon R MacleadGermany2024-06-07Truhlar And Truhlar Attys QUALIFIED53Stephen Shaw
1029Alejandro F MarrierBrazil2024-06-09Rousseaux, Michael Esq NEW34Onyama Limba
1030Darci M DoeItaly2024-06-18Chemel, James L Cpa NEW76Stephen Shaw
1031Ivar Y StensethBrazil2024-06-06Chapman, Ross E Esq NEW1Ioni Bowcher
1032Murillo H FerenczCanada2024-05-30Commercial Press UNQUALIFIED87Anna Fali
1033Ricardo D StockhamArgentina2024-06-20Rousseaux, Michael Esq PROPOSAL47Amy Elsner
1034Octavia K OldroydAustralia2024-05-29Rousseaux, Michael Esq NEGOTIATION24Xuxue Feng
1035Jones A NestleRussia2024-05-24King, Christopher A Esq QUALIFIED43Onyama Limba
1036Silvio Q MaletCanada2024-05-25Morlong Associates NEW72Onyama Limba
1037Deepesh Z MaletGermany2024-05-27Buckley Miller Wright NEW47Xuxue Feng
1038Aika F KuskoSpain2024-05-30Chanay, Jeffrey A Esq PROPOSAL62Onyama Limba
1039Kaitlin I RutaSpain2024-05-30Chapman, Ross E Esq NEGOTIATION90Bernardo Dominic
1040David P ShinkoItaly2024-05-23Rousseaux, Michael Esq NEW50Onyama Limba
1041Darci V DarakjyIndia2024-06-17Chemel, James L Cpa QUALIFIED97Elwin Sharvill
1042Jefferson T ShinkoAustralia2024-05-25Chemel, James L Cpa NEGOTIATION47Xuxue Feng
1043Ivar D StensethFrance2024-06-04Buckley Miller Wright QUALIFIED17Amy Elsner
1044Munro R IturbideAustralia2024-06-16Dorl, James J Esq UNQUALIFIED74Asiya Javayant
1045Adams K MaletIndia2024-06-14Rangoni Of Florence NEGOTIATION46Ivan Magalhaes
1046Salvatore Q DilliardUnited Kingdom2024-05-29Morlong Associates NEW99Amy Elsner
1047Chavez U IturbideCanada2024-06-17Rousseaux, Michael Esq NEGOTIATION17Onyama Limba
1048Silvio F GarufiBrazil2024-06-11Rousseaux, Michael Esq QUALIFIED95Ivan Magalhaes
1049Tony V PoquetteRussia2024-06-21Dorl, James J Esq NEW6Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jennifer N CaldareraAustraliaAsiya Javayant NEW
Mayumi R FerenczSpainOnyama Limba NEGOTIATION
Tony E SaylorsItalyIoni Bowcher NEGOTIATION
Francesco U OstroskySpainOnyama Limba RENEWAL
Julie T GillianGermanyBernardo Dominic NEW
Johnson U GillianCanadaAnna Fali RENEWAL
Emily L VocelkaSpainStephen Shaw NEGOTIATION
Jones T DoeUnited KingdomElwin Sharvill NEW
Clifford W GauchoRussiaAsiya Javayant NEGOTIATION
Rodrigues X MacleadUnited KingdomElwin Sharvill PROPOSAL
Antonio Z CaudyGermanyXuxue Feng NEW
Jeanfrancois G GauchoBrazilIoni Bowcher PROPOSAL
Julie M MaletBrazilAsiya Javayant NEGOTIATION
Emily L FollerSpainBernardo Dominic QUALIFIED
Rodrigues L CaudyRussiaXuxue Feng UNQUALIFIED
Greenwood Z RutaBrazilIoni Bowcher UNQUALIFIED
Chavez Q RoysterAustraliaBernardo Dominic RENEWAL
Mujtaba N KolmetzSpainIvan Magalhaes QUALIFIED
Claire V DarakjyRussiaElwin Sharvill QUALIFIED
Wickens R FerenczArgentinaOnyama Limba RENEWAL
Sinclair C FigeroaJapanIvan Magalhaes UNQUALIFIED
Stacey W SaylorsItalyElwin Sharvill UNQUALIFIED
Izzy I GarufiCanadaElwin Sharvill NEW
Claire U AmigonAustraliaAmy Elsner QUALIFIED
Octavia T InouyeArgentinaOnyama Limba RENEWAL
Ricardo V WhobreyGermanyXuxue Feng PROPOSAL
Faith F VocelkaFranceIoni Bowcher UNQUALIFIED
Salvatore A ChuiSpainIvan Magalhaes QUALIFIED
Leja C OstroskyJapanElwin Sharvill RENEWAL
Johnson C NickaArgentinaBernardo Dominic RENEWAL
Kaitlin E RutaRussiaXuxue Feng UNQUALIFIED
Faith D FollerUnited KingdomBernardo Dominic PROPOSAL
Emily K WaycottJapanAsiya Javayant UNQUALIFIED
Faith M FerenczRussiaXuxue Feng QUALIFIED
Aika I OstroskyAustraliaXuxue Feng UNQUALIFIED
Julie B MorascaRussiaElwin Sharvill PROPOSAL
Ashley M KolmetzIndiaStephen Shaw NEGOTIATION
Costa B NestleIndiaElwin Sharvill QUALIFIED
Maisha Z BriddickJapanOnyama Limba RENEWAL
Antonio H SlusarskiGermanyAmy Elsner PROPOSAL
Antonio D PaprockiBrazilBernardo Dominic PROPOSAL
Chavez Z MaletGermanyOnyama Limba NEGOTIATION
Aika R IturbideCanadaAnna Fali UNQUALIFIED
Jefferson E FlosiCanadaStephen Shaw NEGOTIATION
Deepesh K RimUnited KingdomAsiya Javayant NEW
Jennifer L GlickIndiaIvan Magalhaes QUALIFIED
Murillo L BologniaArgentinaAsiya Javayant NEGOTIATION
James F RoysterIndiaStephen Shaw QUALIFIED
Deepesh U KuskoBrazilIoni Bowcher NEGOTIATION
Isabel O AmigonBrazilXuxue Feng PROPOSAL
Frozen Columns
Name
Juan B Saylors
Deepesh R Caldarera
Mujtaba X Whobrey
Johnson J Whobrey
Aruna I Marrier
Octavia M Sergi
Stacey F Perin
Adams K Saylors
Faith C Shinko
Johnson T Figeroa
Salvatore O Slusarski
Sinclair M Nicka
Julie D Iturbide
Leon X Perin
Ashley U Oldroyd
Murillo A Ferencz
Aditya P Paprocki
David Q Iturbide
Costa E Venere
Francesco A Malet
Jeanfrancois U Royster
Jeanfrancois T Stenseth
Leon G Figeroa
Francesco U Foller
Leon H Caudy
Maisha X Poquette
Jones F Stockham
Rodrigues D Ostrosky
Francesco I Foller
Julie X Maclead
Sinclair Z Inouye
Kadeem W Nicka
Francesco Z Kolmetz
Stacey W Kusko
Morrow B Saylors
Octavia N Rulapaugh
David R Caudy
Kadeem W Paprocki
Emily W Caudy
Maisha Y Rulapaugh
Nicolas S Caudy
Mujtaba R Ferencz
Leon F Morasca
Leja S Iturbide
Antonio E Nestle
Mujtaba E Inouye
Darci K Glick
Octavia Y Caudy
Wickens O Tollner
Alejandro I Figeroa
IdCountryDate
1000Australia2024-06-02
1001Spain2024-06-04
1002Australia2024-05-27
1003India2024-06-17
1004Russia2024-06-01
1005Russia2024-06-10
1006United Kingdom2024-06-08
1007Canada2024-06-16
1008Argentina2024-05-25
1009Argentina2024-06-13
1010Argentina2024-06-01
1011France2024-05-31
1012Japan2024-06-02
1013Brazil2024-06-16
1014Italy2024-06-02
1015Germany2024-06-08
1016Australia2024-05-24
1017India2024-06-18
1018India2024-06-10
1019Argentina2024-05-25
1020Australia2024-06-13
1021France2024-06-07
1022Brazil2024-05-30
1023Italy2024-06-07
1024Italy2024-06-12
1025Canada2024-05-24
1026United Kingdom2024-06-05
1027Argentina2024-06-20
1028Germany2024-06-03
1029Italy2024-05-27
1030France2024-06-14
1031Canada2024-06-20
1032Australia2024-06-17
1033United Kingdom2024-06-02
1034Germany2024-05-24
1035Italy2024-06-19
1036France2024-06-21
1037United Kingdom2024-05-24
1038Italy2024-05-30
1039India2024-06-18
1040Japan2024-05-23
1041Brazil2024-05-31
1042France2024-05-30
1043Germany2024-06-17
1044Argentina2024-06-16
1045Russia2024-06-02
1046United Kingdom2024-05-24
1047India2024-06-11
1048United Kingdom2024-06-03
1049India2024-06-07

On-Demand Data

NameIdCountryDate
Jefferson J Perin1000Brazil2024-06-08
Ashley R Bowley1001India2024-06-10
Jefferson F Slusarski1002India2024-05-28
Cody M Tollner1003Brazil2024-06-02
Salvatore I Rulapaugh1004Canada2024-05-30
Mayumi X Stenseth1005Russia2024-05-26
Jeanfrancois D Iturbide1006Japan2024-06-05
Wickens P Kolmetz1007India2024-05-28
Francesco F Whobrey1008Canada2024-05-25
Nicolas P Malet1009Italy2024-05-25
Adams H Royster1010India2024-06-01
Murillo Q Venere1011Argentina2024-06-15
Kaitlin B Wieser1012Russia2024-05-28
Aruna L Paprocki1013India2024-06-06
Stacey N Caldarera1014Canada2024-06-18
Adams V Morasca1015Russia2024-06-08
Aika N Stockham1016Germany2024-06-05
Aika C Nicka1017Australia2024-05-27
Nicolas G Briddick1018United Kingdom2024-06-16
Claire N Perin1019Italy2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore N RoysterGermanyOnyama Limba PROPOSAL
Smith A BologniaIndiaStephen Shaw UNQUALIFIED
Jeanfrancois U CaudyArgentinaXuxue Feng NEGOTIATION
David W VocelkaArgentinaAsiya Javayant QUALIFIED
Costa O RutaArgentinaAnna Fali QUALIFIED
Rodrigues D SlusarskiArgentinaElwin Sharvill NEW
Jones E IturbideRussiaOnyama Limba UNQUALIFIED
Aika F CaldareraSpainAnna Fali PROPOSAL
Leon H PaprockiCanadaIoni Bowcher PROPOSAL
Tony O BriddickAustraliaBernardo Dominic QUALIFIED
Octavia T FollerItalyXuxue Feng NEGOTIATION
Johnson X DarakjyArgentinaXuxue Feng NEGOTIATION
Munro A MaletJapanAmy Elsner PROPOSAL
Jennifer H WaycottCanadaXuxue Feng NEW
David B SergiIndiaElwin Sharvill UNQUALIFIED
Smith R MaletRussiaIvan Magalhaes QUALIFIED
Octavia X RimCanadaAsiya Javayant RENEWAL
Antonio K GauchoSpainStephen Shaw NEGOTIATION
Nicolas D CaudyUnited KingdomAsiya Javayant RENEWAL
Emily I GauchoFranceIoni Bowcher UNQUALIFIED
Leja K WhobreyItalyXuxue Feng QUALIFIED
Jennifer W ButtGermanyAnna Fali NEGOTIATION
Mayumi D MaletIndiaIoni Bowcher NEGOTIATION
Claire B NickaArgentinaBernardo Dominic RENEWAL
Maisha A StockhamAustraliaAnna Fali RENEWAL
Clifford I RoysterSpainAnna Fali RENEWAL
Juan P RoysterFranceBernardo Dominic UNQUALIFIED
Salvatore N CaudyUnited KingdomAsiya Javayant NEW
Darci G FollerUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues R PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Juan V DoeCanadaAnna Fali NEGOTIATION
Isabel B ButtSpainAmy Elsner PROPOSAL
Claire R KolmetzUnited KingdomBernardo Dominic NEW
Alejandro T CaldareraItalyOnyama Limba NEGOTIATION
Julie E ShinkoFranceXuxue Feng QUALIFIED
Aruna N DoeIndiaAmy Elsner QUALIFIED
Julie O IturbideBrazilOnyama Limba NEW
Octavia D GauchoRussiaAsiya Javayant UNQUALIFIED
Deepesh H DilliardIndiaAnna Fali NEW
Munro A VocelkaGermanyAmy Elsner 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>