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
Aika D PaprockiAustraliaAnna Fali RENEWAL
Salvatore B GlickIndiaAmy Elsner RENEWAL
Ashley C FigeroaItalyXuxue Feng PROPOSAL
Julie R GlickSpainElwin Sharvill NEW
Tony K SchemmerGermanyBernardo Dominic PROPOSAL
Stacey D InouyeFranceElwin Sharvill PROPOSAL
Isabel J FigeroaUnited KingdomBernardo Dominic PROPOSAL
Jefferson D FerenczIndiaIvan Magalhaes QUALIFIED
Clifford U BowleyBrazilStephen Shaw PROPOSAL
Isabel S NickaAustraliaIvan Magalhaes NEGOTIATION
Francesco C WhobreyGermanyAnna Fali PROPOSAL
Maisha M VocelkaCanadaOnyama Limba UNQUALIFIED
Juan Q RulapaughSpainStephen Shaw NEW
Emily L NestleCanadaAmy Elsner RENEWAL
Faith W FerenczFranceIoni Bowcher RENEWAL
Aika F MaletArgentinaOnyama Limba RENEWAL
Costa W GlickRussiaBernardo Dominic PROPOSAL
Silvio Y BologniaCanadaAsiya Javayant PROPOSAL
Greenwood P OstroskyItalyElwin Sharvill NEGOTIATION
Morrow O SlusarskiItalyBernardo Dominic QUALIFIED
Jennifer W AmigonGermanyBernardo Dominic NEGOTIATION
Juan F BologniaFranceAnna Fali QUALIFIED
Leon K MorascaItalyOnyama Limba QUALIFIED
Munro O SergiUnited KingdomIoni Bowcher NEW
Ivar D OldroydJapanIoni Bowcher PROPOSAL
Juan F RulapaughAustraliaAsiya Javayant PROPOSAL
Kadeem E FerenczItalyElwin Sharvill NEW
Stacey Z NestleArgentinaStephen Shaw PROPOSAL
Julie D GauchoItalyStephen Shaw NEW
Izzy Y DilliardCanadaIvan Magalhaes NEGOTIATION
Wickens B GauchoSpainOnyama Limba RENEWAL
Costa R GauchoSpainElwin Sharvill PROPOSAL
Jennifer I InouyeCanadaBernardo Dominic UNQUALIFIED
Aditya K FigeroaCanadaBernardo Dominic NEGOTIATION
Mujtaba R KuskoUnited KingdomIvan Magalhaes RENEWAL
Wickens U DarakjyFranceStephen Shaw RENEWAL
Emily E DarakjyUnited KingdomXuxue Feng NEGOTIATION
Ivar F BologniaBrazilElwin Sharvill RENEWAL
Octavia K SlusarskiJapanIoni Bowcher QUALIFIED
Nicolas X PerinGermanyAnna Fali QUALIFIED
Maria X RulapaughBrazilXuxue Feng RENEWAL
Morrow D WaycottItalyAnna Fali PROPOSAL
Rodrigues X OldroydGermanyIoni Bowcher UNQUALIFIED
Juan L RoysterSpainAsiya Javayant PROPOSAL
Leja N ChuiAustraliaIoni Bowcher RENEWAL
Rodrigues B SergiIndiaAnna Fali UNQUALIFIED
Faith Y CaudyAustraliaXuxue Feng RENEWAL
Munro T InouyeAustraliaIoni Bowcher RENEWAL
Ricardo I SaylorsFranceAmy Elsner NEW
Wickens Y GillianArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco B RutaJapanIvan Magalhaes QUALIFIED
Ricardo F SlusarskiFranceStephen Shaw QUALIFIED
Cody G RoysterGermanyIvan Magalhaes NEW
Claire K PaprockiAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois G GillianArgentinaIoni Bowcher NEGOTIATION
Adams Q NestleItalyElwin Sharvill UNQUALIFIED
Misaki P GillianSpainIvan Magalhaes RENEWAL
Kaitlin C StensethAustraliaXuxue Feng NEGOTIATION
Faith B GarufiUnited KingdomBernardo Dominic NEGOTIATION
Mayumi A VenereIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar X MaletArgentina2024-06-09King, Christopher A Esq UNQUALIFIED48Asiya Javayant
1001Juan N StockhamArgentina2024-06-07Dorl, James J Esq QUALIFIED99Anna Fali
1002Johnson Y ChuiCanada2024-05-26Printing Dimensions QUALIFIED65Asiya Javayant
1003Izzy G RutaUnited Kingdom2024-06-02Dorl, James J Esq NEGOTIATION29Ivan Magalhaes
1004Clifford R FlosiIndia2024-06-10Printing Dimensions UNQUALIFIED82Anna Fali
1005Aruna C MaletJapan2024-05-23Dorl, James J Esq QUALIFIED96Anna Fali
1006Leon K CaldareraJapan2024-05-24Rousseaux, Michael Esq NEW27Stephen Shaw
1007Faith P RutaFrance2024-06-01Chemel, James L Cpa RENEWAL64Asiya Javayant
1008Misaki W GarufiUnited Kingdom2024-06-11Dorl, James J Esq NEGOTIATION39Onyama Limba
1009Jefferson H AlbaresRussia2024-06-16Buckley Miller Wright PROPOSAL81Ioni Bowcher
1010Johnson N GlickAustralia2024-06-16Buckley Miller Wright UNQUALIFIED84Onyama Limba
1011James V BowleyCanada2024-06-08Feltz Printing Service NEW49Stephen Shaw
1012Kadeem B ShinkoRussia2024-06-02Commercial Press UNQUALIFIED20Stephen Shaw
1013David Z NickaSpain2024-06-06Chapman, Ross E Esq NEW56Anna Fali
1014Salvatore Y WaycottJapan2024-06-01Chemel, James L Cpa UNQUALIFIED16Xuxue Feng
1015Aika F RimUnited Kingdom2024-05-31Chapman, Ross E Esq NEGOTIATION99Xuxue Feng
1016Kadeem M TollnerIndia2024-06-02King, Christopher A Esq RENEWAL35Asiya Javayant
1017Smith M IturbideGermany2024-06-14Truhlar And Truhlar Attys PROPOSAL66Bernardo Dominic
1018Misaki C VocelkaIndia2024-06-19King, Christopher A Esq QUALIFIED95Asiya Javayant
1019Ivar M IturbideFrance2024-05-31Feiner Bros NEW88Onyama Limba
1020Aruna S PaprockiCanada2024-05-27Chemel, James L Cpa RENEWAL67Anna Fali
1021Jennifer W BriddickAustralia2024-06-08Commercial Press RENEWAL77Amy Elsner
1022Arvin W MacleadIndia2024-06-15Buckley Miller Wright UNQUALIFIED35Bernardo Dominic
1023Wickens X DarakjyArgentina2024-06-16Truhlar And Truhlar Attys NEW92Onyama Limba
1024Wickens U SaylorsItaly2024-05-29Printing Dimensions QUALIFIED75Bernardo Dominic
1025Arvin R FigeroaFrance2024-06-03Buckley Miller Wright RENEWAL24Amy Elsner
1026Ashley D AmigonCanada2024-06-06Feiner Bros PROPOSAL28Ioni Bowcher
1027Ricardo L StockhamCanada2024-06-06Buckley Miller Wright QUALIFIED96Anna Fali
1028Maria S FlosiAustralia2024-05-29King, Christopher A Esq UNQUALIFIED83Xuxue Feng
1029Jefferson L SchemmerUnited Kingdom2024-06-04Feiner Bros NEW4Anna Fali
1030Izzy O PaprockiArgentina2024-06-13Rousseaux, Michael Esq RENEWAL81Onyama Limba
1031Ashley D ShinkoUnited Kingdom2024-06-12Feiner Bros QUALIFIED43Asiya Javayant
1032Antonio T PaprockiFrance2024-06-07Morlong Associates PROPOSAL30Amy Elsner
1033Costa S FlosiRussia2024-06-05Printing Dimensions NEW39Asiya Javayant
1034Wickens W RimRussia2024-06-17Rousseaux, Michael Esq RENEWAL35Bernardo Dominic
1035Cody I CampainAustralia2024-06-06Morlong Associates QUALIFIED69Amy Elsner
1036Mayumi F PaprockiGermany2024-06-03Morlong Associates RENEWAL7Elwin Sharvill
1037Tony E FerenczGermany2024-06-06Feltz Printing Service NEGOTIATION42Amy Elsner
1038Maria P WaycottSpain2024-06-20Feiner Bros NEW51Asiya Javayant
1039Antonio F GillianIndia2024-06-14King, Christopher A Esq RENEWAL80Onyama Limba
1040Jennifer Q GlickItaly2024-06-09Benton, John B Jr QUALIFIED10Asiya Javayant
1041Julie B DoeRussia2024-05-28Feiner Bros NEW67Anna Fali
1042Arvin F BowleyItaly2024-06-16Rousseaux, Michael Esq NEGOTIATION64Onyama Limba
1043Murillo E RoysterBrazil2024-05-30Chapman, Ross E Esq PROPOSAL34Bernardo Dominic
1044Aruna W GarufiAustralia2024-05-24King, Christopher A Esq NEGOTIATION74Ivan Magalhaes
1045Tony K WaycottSpain2024-06-11Morlong Associates RENEWAL38Elwin Sharvill
1046Ricardo T SlusarskiItaly2024-05-24Printing Dimensions NEW39Asiya Javayant
1047Morrow W BologniaCanada2024-06-14Buckley Miller Wright RENEWAL36Bernardo Dominic
1048Claire C CaldareraBrazil2024-06-21Truhlar And Truhlar Attys RENEWAL73Bernardo Dominic
1049Jefferson T GarufiFrance2024-06-06Commercial Press PROPOSAL98Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Sinclair E PerinAustraliaAnna Fali RENEWAL
Jones B DarakjyBrazilOnyama Limba UNQUALIFIED
Mujtaba S SlusarskiBrazilAnna Fali QUALIFIED
Leon S CaldareraUnited KingdomElwin Sharvill RENEWAL
Darci H SergiUnited KingdomElwin Sharvill PROPOSAL
Munro V CaldareraGermanyBernardo Dominic QUALIFIED
Alejandro V IturbideAustraliaIoni Bowcher RENEWAL
Aditya E PerinUnited KingdomElwin Sharvill UNQUALIFIED
Darci H RimItalyOnyama Limba PROPOSAL
Aika K PaprockiFranceXuxue Feng NEGOTIATION
Francesco G InouyeRussiaBernardo Dominic NEGOTIATION
Deepesh K NickaArgentinaStephen Shaw NEGOTIATION
Antonio P RulapaughSpainIvan Magalhaes PROPOSAL
Adams X KuskoCanadaIvan Magalhaes PROPOSAL
Kaitlin E MarrierUnited KingdomStephen Shaw UNQUALIFIED
Alejandro U WhobreyGermanyIoni Bowcher UNQUALIFIED
Clifford V GlickArgentinaIoni Bowcher QUALIFIED
Leja T SlusarskiBrazilIoni Bowcher PROPOSAL
Claire N DoeGermanyIoni Bowcher RENEWAL
Greenwood Y OstroskyFranceAmy Elsner QUALIFIED
Costa B SergiRussiaStephen Shaw QUALIFIED
Arvin P TollnerCanadaIvan Magalhaes PROPOSAL
Isabel Y BologniaGermanyElwin Sharvill NEW
Adams J FollerArgentinaIvan Magalhaes NEW
Misaki N BowleyItalyAnna Fali RENEWAL
Emily B StensethAustraliaIoni Bowcher QUALIFIED
Murillo Z GarufiCanadaOnyama Limba QUALIFIED
Greenwood X FerenczItalyStephen Shaw NEGOTIATION
David H GauchoBrazilIvan Magalhaes QUALIFIED
Jeanfrancois R MorascaJapanOnyama Limba UNQUALIFIED
Deepesh I IturbideAustraliaXuxue Feng RENEWAL
Sinclair X FigeroaIndiaAnna Fali UNQUALIFIED
Kadeem Y RoysterArgentinaAnna Fali NEW
Stacey E GillianSpainAmy Elsner RENEWAL
Morrow D ButtUnited KingdomOnyama Limba UNQUALIFIED
Francesco T WhobreyBrazilAmy Elsner PROPOSAL
Ashley M MaletAustraliaElwin Sharvill PROPOSAL
Deepesh T StensethFranceElwin Sharvill UNQUALIFIED
Julie F DarakjyGermanyStephen Shaw PROPOSAL
Morrow R MarrierArgentinaIvan Magalhaes NEW
Morrow Q MaletItalyOnyama Limba NEW
Aruna I WieserSpainIvan Magalhaes RENEWAL
Leja V BriddickGermanyXuxue Feng QUALIFIED
Jeanfrancois V RimGermanyAnna Fali NEGOTIATION
Kadeem L FigeroaArgentinaIoni Bowcher QUALIFIED
Emily A OstroskyItalyStephen Shaw QUALIFIED
Clifford S NickaGermanyAnna Fali PROPOSAL
Francesco U GillianArgentinaOnyama Limba RENEWAL
Antonio E RoysterCanadaOnyama Limba RENEWAL
Costa W BowleyArgentinaIvan Magalhaes RENEWAL
Frozen Columns
Name
Alejandro U Ferencz
Leja A Kusko
Morrow A Foller
Jefferson C Rulapaugh
Claire U Oldroyd
Deepesh U Gillian
Darci V Ostrosky
Chavez Y Nestle
Francesco T Nestle
Octavia T Nestle
Leja M Albares
Johnson V Stockham
Jennifer A Malet
Mujtaba K Marrier
Alejandro G Maclead
Aditya O Figeroa
David C Dilliard
Julie Q Whobrey
Faith K Figeroa
Salvatore K Rim
Jeanfrancois S Saylors
Antonio E Garufi
Darci E Garufi
Johnson K Morasca
Julie R Poquette
Francesco A Bowley
Maisha O Kusko
Rodrigues C Ruta
Misaki K Saylors
Clifford H Gaucho
Munro E Schemmer
Jeanfrancois S Bowley
Mujtaba P Gillian
Juan V Bowley
Jefferson K Oldroyd
Alejandro Q Maclead
Chavez O Nicka
Leon P Rulapaugh
Ivar F Waycott
Ricardo K Stenseth
Adams Z Garufi
Deepesh Z Slusarski
Arvin E Doe
Ricardo D Doe
Jennifer W Gaucho
Cody J Stenseth
Mayumi T Rulapaugh
Smith H Stenseth
David V Poquette
Misaki T Royster
IdCountryDate
1000Germany2024-05-26
1001Russia2024-05-30
1002Argentina2024-06-11
1003Argentina2024-06-06
1004Brazil2024-06-06
1005Italy2024-06-02
1006Argentina2024-06-07
1007Germany2024-06-08
1008Russia2024-06-06
1009Canada2024-06-17
1010Russia2024-06-12
1011Italy2024-06-19
1012Japan2024-05-24
1013Spain2024-06-04
1014Brazil2024-06-05
1015Japan2024-05-29
1016Brazil2024-05-24
1017United Kingdom2024-05-26
1018United Kingdom2024-05-26
1019Germany2024-06-13
1020Canada2024-05-24
1021India2024-06-02
1022India2024-06-14
1023Australia2024-05-26
1024United Kingdom2024-06-18
1025Germany2024-06-18
1026Germany2024-05-31
1027Canada2024-06-04
1028Canada2024-06-14
1029Australia2024-06-15
1030Germany2024-06-08
1031Spain2024-06-06
1032Australia2024-06-07
1033Italy2024-05-29
1034Italy2024-06-04
1035Brazil2024-05-23
1036Canada2024-05-25
1037Argentina2024-06-15
1038Japan2024-06-07
1039Australia2024-05-23
1040Argentina2024-06-06
1041Spain2024-06-14
1042Australia2024-05-29
1043Japan2024-06-09
1044Spain2024-06-07
1045Australia2024-06-18
1046Spain2024-06-06
1047Brazil2024-06-20
1048France2024-06-15
1049Italy2024-06-15

On-Demand Data

NameIdCountryDate
Darci G Poquette1000France2024-06-11
Leja O Kusko1001Russia2024-06-02
Johnson E Caldarera1002Australia2024-05-30
Kaitlin Z Royster1003France2024-06-18
Silvio Y Foller1004Germany2024-06-08
Claire S Venere1005Germany2024-06-20
Johnson S Tollner1006Argentina2024-05-28
Ashley F Whobrey1007Australia2024-06-04
Aditya Q Vocelka1008Canada2024-06-21
Julie S Gaucho1009Australia2024-06-20
Chavez U Campain1010Spain2024-06-17
Aruna E Nicka1011Argentina2024-06-16
Chavez Y Garufi1012India2024-06-18
David G Vocelka1013Germany2024-05-31
Clifford H Oldroyd1014Argentina2024-06-10
Salvatore B Figeroa1015Japan2024-05-25
Aika P Perin1016Brazil2024-06-16
Murillo H Shinko1017Russia2024-06-19
Isabel J Kolmetz1018Germany2024-06-06
Cody B Ruta1019Italy2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair N PerinJapanOnyama Limba PROPOSAL
Mayumi X OldroydArgentinaElwin Sharvill QUALIFIED
Leja N RulapaughCanadaAmy Elsner PROPOSAL
Silvio D DarakjyCanadaAmy Elsner NEGOTIATION
Jeanfrancois J VenereItalyStephen Shaw UNQUALIFIED
Wickens N KuskoIndiaXuxue Feng QUALIFIED
Leon Q PerinArgentinaIoni Bowcher RENEWAL
Aika Y KolmetzRussiaAnna Fali NEGOTIATION
Julie D RutaSpainAsiya Javayant UNQUALIFIED
Adams T FollerArgentinaAnna Fali QUALIFIED
Izzy M GarufiCanadaAsiya Javayant RENEWAL
Antonio Z AmigonGermanyBernardo Dominic NEGOTIATION
Costa H SergiGermanyStephen Shaw PROPOSAL
Misaki T ShinkoRussiaIvan Magalhaes NEW
Faith A StensethAustraliaAnna Fali QUALIFIED
Silvio P VenereGermanyIvan Magalhaes NEGOTIATION
Mayumi F CaudyIndiaAnna Fali QUALIFIED
Kadeem H DoeCanadaBernardo Dominic RENEWAL
Costa A OstroskySpainIvan Magalhaes NEW
Leon D AmigonUnited KingdomStephen Shaw RENEWAL
Johnson E GauchoCanadaIvan Magalhaes UNQUALIFIED
Claire J GarufiItalyIvan Magalhaes PROPOSAL
Tony V PoquetteAustraliaAsiya Javayant QUALIFIED
Chavez E ChuiBrazilAsiya Javayant QUALIFIED
Smith X SchemmerAustraliaStephen Shaw UNQUALIFIED
Clifford R MarrierUnited KingdomXuxue Feng RENEWAL
Greenwood P InouyeItalyElwin Sharvill NEGOTIATION
Smith D SchemmerArgentinaAnna Fali PROPOSAL
Julie N FerenczIndiaElwin Sharvill NEGOTIATION
Aika G RutaSpainIoni Bowcher NEGOTIATION
Mayumi K PerinGermanyIoni Bowcher NEW
Murillo U RimUnited KingdomAnna Fali UNQUALIFIED
Adams B PoquetteJapanAnna Fali RENEWAL
Aruna N CampainFranceBernardo Dominic PROPOSAL
Antonio G MorascaFranceOnyama Limba RENEWAL
Tony W DoeCanadaAsiya Javayant RENEWAL
Rodrigues M SaylorsJapanAnna Fali NEGOTIATION
Murillo W InouyeUnited KingdomElwin Sharvill RENEWAL
Nicolas D OldroydGermanyIvan Magalhaes QUALIFIED
Octavia M RimFranceAnna Fali 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>