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
Misaki E MorascaGermanyXuxue Feng QUALIFIED
Salvatore G StockhamArgentinaIoni Bowcher NEW
Mayumi A DarakjyIndiaIvan Magalhaes NEW
Murillo M NickaIndiaIvan Magalhaes PROPOSAL
Kadeem J OldroydGermanyAmy Elsner QUALIFIED
Salvatore G DoeItalyElwin Sharvill UNQUALIFIED
Emily P DilliardFranceAmy Elsner QUALIFIED
James B GarufiCanadaAmy Elsner NEW
Leja Q NickaRussiaElwin Sharvill NEGOTIATION
Tony P WhobreyUnited KingdomOnyama Limba QUALIFIED
Murillo B SaylorsItalyAnna Fali UNQUALIFIED
Jefferson Z WaycottFranceBernardo Dominic QUALIFIED
Munro T KolmetzFranceStephen Shaw NEW
Octavia P CaudyCanadaBernardo Dominic UNQUALIFIED
Emily K DoeJapanOnyama Limba NEGOTIATION
Faith K IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Leon A WieserItalyElwin Sharvill NEW
Chavez Y FigeroaSpainStephen Shaw PROPOSAL
Clifford W SergiAustraliaAsiya Javayant NEW
Maisha P SaylorsArgentinaAsiya Javayant NEW
Kadeem B DilliardSpainBernardo Dominic PROPOSAL
Kadeem P OstroskyAustraliaXuxue Feng RENEWAL
Mayumi D NestleJapanAnna Fali UNQUALIFIED
Emily H IturbideRussiaAmy Elsner QUALIFIED
David E MaletRussiaAsiya Javayant NEW
Juan E WhobreyItalyXuxue Feng UNQUALIFIED
James O SlusarskiUnited KingdomAsiya Javayant RENEWAL
Silvio B StockhamBrazilBernardo Dominic NEW
Costa C MaletFranceStephen Shaw NEW
Chavez T GarufiArgentinaElwin Sharvill NEW
Arvin L CaudyAustraliaAmy Elsner RENEWAL
Adams E FollerRussiaXuxue Feng PROPOSAL
Jefferson O StockhamCanadaElwin Sharvill QUALIFIED
Greenwood V DoeItalyStephen Shaw PROPOSAL
Silvio L AmigonIndiaXuxue Feng PROPOSAL
Rodrigues O RimBrazilAsiya Javayant NEW
Jones R StensethGermanyAnna Fali NEW
Cody S SlusarskiJapanOnyama Limba NEGOTIATION
Jennifer M GillianFranceOnyama Limba RENEWAL
Silvio W BriddickIndiaStephen Shaw RENEWAL
Emily I KuskoItalyElwin Sharvill UNQUALIFIED
Silvio V MaletItalyBernardo Dominic UNQUALIFIED
David M VenereGermanyOnyama Limba UNQUALIFIED
Greenwood I CaudyUnited KingdomBernardo Dominic PROPOSAL
Ricardo Q ShinkoGermanyXuxue Feng UNQUALIFIED
Faith Q SchemmerFranceAsiya Javayant NEW
Jennifer N KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Octavia Q RimCanadaAsiya Javayant NEW
Mujtaba E DoeAustraliaAsiya Javayant NEGOTIATION
Silvio U AlbaresArgentinaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Isabel N StockhamItalyIvan Magalhaes NEGOTIATION
Mujtaba C WhobreyJapanBernardo Dominic QUALIFIED
Chavez V PerinBrazilAmy Elsner PROPOSAL
Aruna P GarufiSpainStephen Shaw UNQUALIFIED
Leon K RutaSpainElwin Sharvill UNQUALIFIED
Jefferson I OldroydBrazilAsiya Javayant PROPOSAL
Leja O TollnerCanadaAsiya Javayant PROPOSAL
Chavez Q PoquetteAustraliaAnna Fali NEGOTIATION
James L NestleJapanIvan Magalhaes PROPOSAL
Julie N RoysterGermanyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin W IturbideCanada2025-04-23Feiner Bros RENEWAL83Asiya Javayant
1001Costa C OldroydUnited Kingdom2025-04-19Truhlar And Truhlar Attys UNQUALIFIED64Xuxue Feng
1002Alejandro C MaletFrance2025-05-02Printing Dimensions RENEWAL17Asiya Javayant
1003Sinclair Y KolmetzIndia2025-04-30Rangoni Of Florence UNQUALIFIED5Stephen Shaw
1004Adams Y KuskoJapan2025-05-01Buckley Miller Wright NEW48Xuxue Feng
1005Rodrigues V BologniaItaly2025-04-24Buckley Miller Wright PROPOSAL25Ioni Bowcher
1006Tony I FlosiIndia2025-04-11Truhlar And Truhlar Attys QUALIFIED76Elwin Sharvill
1007Julie H PoquetteJapan2025-04-19Feltz Printing Service UNQUALIFIED35Asiya Javayant
1008Morrow T GlickItaly2025-05-05Morlong Associates RENEWAL75Xuxue Feng
1009Misaki E OstroskyJapan2025-04-21Chanay, Jeffrey A Esq PROPOSAL96Stephen Shaw
1010Aruna T SergiSpain2025-04-17King, Christopher A Esq PROPOSAL50Asiya Javayant
1011Costa F SergiBrazil2025-04-16Morlong Associates UNQUALIFIED40Bernardo Dominic
1012Darci Z RutaIndia2025-04-16Morlong Associates PROPOSAL17Onyama Limba
1013Salvatore C CaudyArgentina2025-04-25Commercial Press NEGOTIATION11Asiya Javayant
1014Kaitlin Z GlickJapan2025-04-15Chanay, Jeffrey A Esq UNQUALIFIED87Xuxue Feng
1015Maisha D VocelkaRussia2025-04-30Buckley Miller Wright QUALIFIED36Xuxue Feng
1016Francesco P RimAustralia2025-04-13Feltz Printing Service QUALIFIED87Asiya Javayant
1017Deepesh I FigeroaRussia2025-05-02Chanay, Jeffrey A Esq NEGOTIATION66Stephen Shaw
1018Isabel R ShinkoUnited Kingdom2025-04-29Feiner Bros RENEWAL4Amy Elsner
1019Misaki S MacleadSpain2025-04-16Commercial Press PROPOSAL44Ivan Magalhaes
1020Kadeem P GlickSpain2025-04-12Feltz Printing Service UNQUALIFIED94Ioni Bowcher
1021Clifford D CaudyRussia2025-04-23Dorl, James J Esq QUALIFIED59Ivan Magalhaes
1022Kadeem I RutaItaly2025-04-23Chemel, James L Cpa QUALIFIED53Elwin Sharvill
1023Adams K MaletBrazil2025-04-09Chemel, James L Cpa UNQUALIFIED65Xuxue Feng
1024Jennifer J GillianArgentina2025-05-05Truhlar And Truhlar Attys PROPOSAL60Xuxue Feng
1025Costa Z FlosiGermany2025-04-13Feltz Printing Service NEGOTIATION49Amy Elsner
1026Leon I ChuiJapan2025-04-23Rousseaux, Michael Esq RENEWAL59Bernardo Dominic
1027Nicolas U StockhamItaly2025-04-20Feltz Printing Service UNQUALIFIED8Elwin Sharvill
1028Aika J OldroydIndia2025-04-20Rousseaux, Michael Esq PROPOSAL70Ioni Bowcher
1029Antonio P OldroydBrazil2025-05-02Morlong Associates NEGOTIATION99Xuxue Feng
1030Jefferson C SlusarskiUnited Kingdom2025-04-16Feiner Bros RENEWAL42Ioni Bowcher
1031Izzy R BowleyFrance2025-04-26Commercial Press PROPOSAL93Bernardo Dominic
1032Murillo B SchemmerSpain2025-04-15Feiner Bros NEGOTIATION97Ioni Bowcher
1033Maria O BologniaBrazil2025-04-25Feltz Printing Service NEGOTIATION50Bernardo Dominic
1034Johnson B WaycottGermany2025-04-15Morlong Associates RENEWAL3Stephen Shaw
1035Sinclair O GauchoBrazil2025-04-14Rousseaux, Michael Esq QUALIFIED96Onyama Limba
1036Rodrigues F WhobreyBrazil2025-04-11Buckley Miller Wright UNQUALIFIED57Asiya Javayant
1037Ashley F PoquetteItaly2025-05-08Commercial Press PROPOSAL63Asiya Javayant
1038Jeanfrancois I RutaRussia2025-04-20Chapman, Ross E Esq NEGOTIATION53Anna Fali
1039Octavia J WhobreyIndia2025-04-22Chanay, Jeffrey A Esq RENEWAL30Xuxue Feng
1040Arvin C MacleadArgentina2025-04-10Morlong Associates PROPOSAL14Ivan Magalhaes
1041Ricardo U CaudyGermany2025-05-01Commercial Press NEW48Ivan Magalhaes
1042Silvio M ChuiGermany2025-04-29Chanay, Jeffrey A Esq NEGOTIATION49Stephen Shaw
1043Kaitlin S StockhamBrazil2025-04-09Morlong Associates NEGOTIATION63Onyama Limba
1044Greenwood A BowleyJapan2025-04-12Truhlar And Truhlar Attys UNQUALIFIED37Elwin Sharvill
1045Silvio H BriddickArgentina2025-04-21Morlong Associates RENEWAL28Stephen Shaw
1046Jones Q KuskoJapan2025-04-18Chemel, James L Cpa NEGOTIATION99Asiya Javayant
1047Arvin Z MacleadGermany2025-05-03Chanay, Jeffrey A Esq NEW89Onyama Limba
1048Johnson N PaprockiRussia2025-05-05King, Christopher A Esq UNQUALIFIED5Ioni Bowcher
1049Jefferson I MaletFrance2025-04-18Feltz Printing Service NEGOTIATION28Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones N OstroskyRussiaOnyama Limba NEGOTIATION
Smith J GillianGermanyBernardo Dominic RENEWAL
Ivar L MaletSpainElwin Sharvill UNQUALIFIED
Salvatore N KolmetzCanadaBernardo Dominic UNQUALIFIED
Misaki Z StensethBrazilXuxue Feng NEGOTIATION
Octavia K MaletJapanOnyama Limba RENEWAL
Silvio J WieserFranceAmy Elsner NEW
Aditya T FigeroaArgentinaIvan Magalhaes NEW
Clifford G NestleJapanAmy Elsner NEGOTIATION
Deepesh E MaletBrazilAsiya Javayant UNQUALIFIED
Isabel H CaldareraRussiaAsiya Javayant QUALIFIED
Morrow L MorascaGermanyXuxue Feng NEW
Ashley H DoeArgentinaAsiya Javayant QUALIFIED
Juan G FollerAustraliaBernardo Dominic NEW
Isabel F PerinFranceStephen Shaw PROPOSAL
Murillo D DoeCanadaIoni Bowcher NEW
Izzy M MaletIndiaOnyama Limba QUALIFIED
Ashley N StensethUnited KingdomOnyama Limba NEGOTIATION
David Z AlbaresItalyOnyama Limba QUALIFIED
Aika Q DilliardJapanAmy Elsner NEGOTIATION
Stacey L AlbaresGermanyXuxue Feng UNQUALIFIED
Greenwood W PaprockiGermanyAmy Elsner QUALIFIED
Rodrigues Y ShinkoArgentinaXuxue Feng NEW
Sinclair E WieserItalyStephen Shaw NEW
Tony U PoquetteArgentinaStephen Shaw QUALIFIED
Costa Y VenereSpainIvan Magalhaes NEGOTIATION
Faith Q DarakjyCanadaAsiya Javayant PROPOSAL
Jeanfrancois C BowleyAustraliaBernardo Dominic RENEWAL
Maria N OldroydFranceIvan Magalhaes RENEWAL
Johnson X GlickSpainAsiya Javayant PROPOSAL
Isabel C GauchoItalyStephen Shaw RENEWAL
Smith P RutaUnited KingdomIoni Bowcher NEW
James A StockhamAustraliaIoni Bowcher QUALIFIED
Munro U FigeroaCanadaOnyama Limba QUALIFIED
Chavez P MacleadAustraliaXuxue Feng QUALIFIED
Clifford O DilliardFranceAmy Elsner NEGOTIATION
Salvatore W FlosiItalyAnna Fali QUALIFIED
Mujtaba Q GarufiAustraliaOnyama Limba NEGOTIATION
Smith H DarakjyIndiaBernardo Dominic PROPOSAL
Ivar H MorascaIndiaBernardo Dominic NEGOTIATION
Misaki S PerinCanadaAmy Elsner PROPOSAL
Sinclair X CampainCanadaStephen Shaw NEW
Ashley R SergiSpainElwin Sharvill NEW
Mujtaba W MacleadIndiaIoni Bowcher RENEWAL
Jones X BriddickBrazilBernardo Dominic UNQUALIFIED
Maria H MarrierAustraliaOnyama Limba RENEWAL
Stacey J TollnerCanadaAmy Elsner NEGOTIATION
Antonio A DoeJapanBernardo Dominic PROPOSAL
Ivar E MarrierCanadaOnyama Limba UNQUALIFIED
Isabel B FigeroaGermanyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Clifford W Kolmetz
Silvio U Bowley
Octavia Z Foller
Cody U Shinko
Darci V Doe
Darci G Albares
Johnson C Perin
Izzy S Ruta
Rodrigues X Amigon
Tony A Rulapaugh
Rodrigues B Schemmer
Darci M Rulapaugh
Maisha U Iturbide
Adams V Ostrosky
Ashley D Tollner
Alejandro O Foller
Sinclair X Malet
Cody S Oldroyd
Morrow Z Saylors
Murillo D Tollner
Johnson F Marrier
Deepesh Q Doe
Juan N Wieser
Jefferson F Glick
Octavia P Garufi
Tony I Glick
Silvio O Oldroyd
Isabel C Garufi
Murillo R Poquette
Darci J Glick
Leja S Rulapaugh
Alejandro Z Kusko
Emily K Stenseth
Nicolas K Poquette
James F Doe
Leon C Glick
Chavez I Nicka
Maisha G Ruta
Leja U Nicka
Greenwood S Briddick
Clifford U Amigon
David Q Bolognia
Misaki R Whobrey
Jones Q Foller
Jennifer F Butt
Faith G Malet
Leon N Vocelka
Isabel S Caudy
Alejandro Z Morasca
Aika L Butt
IdCountryDate
1000France2025-04-18
1001United Kingdom2025-04-30
1002India2025-04-18
1003Japan2025-05-04
1004Germany2025-04-29
1005France2025-04-25
1006Argentina2025-04-10
1007Brazil2025-04-26
1008India2025-04-15
1009Australia2025-04-14
1010Germany2025-04-20
1011Germany2025-05-02
1012Brazil2025-04-10
1013United Kingdom2025-05-01
1014Argentina2025-05-01
1015Argentina2025-04-13
1016Italy2025-04-29
1017Argentina2025-04-10
1018Germany2025-04-24
1019India2025-04-28
1020Argentina2025-05-01
1021Spain2025-04-14
1022Germany2025-05-04
1023France2025-05-03
1024Australia2025-05-02
1025United Kingdom2025-04-10
1026India2025-04-27
1027Canada2025-05-08
1028Argentina2025-05-05
1029Australia2025-04-11
1030United Kingdom2025-05-04
1031United Kingdom2025-04-20
1032United Kingdom2025-04-12
1033Australia2025-04-29
1034Germany2025-05-03
1035Brazil2025-04-28
1036Germany2025-05-07
1037Germany2025-04-30
1038France2025-04-12
1039Spain2025-04-27
1040Russia2025-05-04
1041Argentina2025-04-29
1042Canada2025-04-11
1043Russia2025-04-15
1044Spain2025-04-17
1045Spain2025-04-30
1046Canada2025-04-12
1047Italy2025-04-16
1048Germany2025-05-07
1049Spain2025-04-20

On-Demand Data

NameIdCountryDate
Ricardo R Marrier1000Australia2025-04-29
Deepesh U Vocelka1001Australia2025-04-17
Jefferson M Shinko1002India2025-04-17
Aditya P Gillian1003Germany2025-04-14
Jones Y Glick1004Brazil2025-04-12
Emily I Morasca1005Spain2025-04-14
Adams F Briddick1006Germany2025-05-05
Izzy M Slusarski1007United Kingdom2025-04-10
David T Iturbide1008Germany2025-04-12
Misaki J Poquette1009Spain2025-04-29
Leon K Shinko1010Brazil2025-05-03
Aika C Sergi1011Argentina2025-04-19
Adams A Amigon1012Argentina2025-04-13
Octavia N Chui1013Canada2025-05-07
Jones F Foller1014Japan2025-04-29
Chavez S Chui1015Italy2025-04-24
Aditya P Schemmer1016France2025-05-05
Deepesh T Rim1017Germany2025-05-02
Emily Q Dilliard1018Argentina2025-04-14
Julie O Figeroa1019Canada2025-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith D OldroydJapanIvan Magalhaes RENEWAL
Aditya S BologniaItalyBernardo Dominic RENEWAL
Izzy H SergiSpainAmy Elsner RENEWAL
Smith B InouyeJapanBernardo Dominic NEGOTIATION
Kadeem J KolmetzCanadaAnna Fali PROPOSAL
Aruna Q WaycottArgentinaAnna Fali QUALIFIED
Adams C GauchoBrazilXuxue Feng PROPOSAL
Maria D RimRussiaOnyama Limba PROPOSAL
Faith N CampainIndiaIoni Bowcher UNQUALIFIED
Ivar F ChuiGermanyAmy Elsner NEW
Julie B FlosiRussiaElwin Sharvill UNQUALIFIED
Morrow M BologniaFranceAmy Elsner NEGOTIATION
Jeanfrancois P RulapaughGermanyOnyama Limba UNQUALIFIED
Ricardo M NestleUnited KingdomElwin Sharvill UNQUALIFIED
Ashley C CaudyItalyIvan Magalhaes QUALIFIED
Tony T SergiFranceAnna Fali UNQUALIFIED
Emily O WieserIndiaAmy Elsner NEGOTIATION
Jennifer L MacleadIndiaOnyama Limba NEGOTIATION
Ricardo U SlusarskiGermanyOnyama Limba UNQUALIFIED
Faith D PaprockiBrazilOnyama Limba NEW
Cody B PaprockiRussiaStephen Shaw NEGOTIATION
Maria N RimCanadaIvan Magalhaes UNQUALIFIED
Morrow N MacleadSpainElwin Sharvill UNQUALIFIED
Aika U FigeroaSpainElwin Sharvill QUALIFIED
Ivar E StockhamArgentinaAmy Elsner NEW
Kaitlin D CaldareraSpainIoni Bowcher NEGOTIATION
Mujtaba B FlosiAustraliaIoni Bowcher NEGOTIATION
Aruna H StensethJapanXuxue Feng UNQUALIFIED
Izzy V DarakjyFranceOnyama Limba NEW
Tony B DilliardIndiaIoni Bowcher PROPOSAL
Kaitlin U PaprockiFranceIoni Bowcher NEW
Jefferson U DilliardRussiaAsiya Javayant RENEWAL
Darci V ShinkoItalyIvan Magalhaes NEGOTIATION
Ricardo P ShinkoJapanAmy Elsner PROPOSAL
Antonio B DilliardUnited KingdomAnna Fali NEW
Leon T ButtRussiaIvan Magalhaes NEW
Rodrigues Q OldroydUnited KingdomAsiya Javayant RENEWAL
Maisha M KolmetzFranceElwin Sharvill NEGOTIATION
Silvio Q AmigonBrazilXuxue Feng UNQUALIFIED
Chavez H AlbaresAustraliaElwin Sharvill NEGOTIATION

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