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
Stacey G RutaFranceIvan Magalhaes NEGOTIATION
Ivar J BologniaAustraliaIoni Bowcher NEGOTIATION
Faith E OstroskyIndiaAmy Elsner PROPOSAL
Mayumi Z SaylorsBrazilIoni Bowcher RENEWAL
Rodrigues D MarrierSpainAsiya Javayant NEGOTIATION
Tony J RulapaughArgentinaAmy Elsner NEW
David K MorascaBrazilAsiya Javayant PROPOSAL
Tony D AmigonJapanAnna Fali PROPOSAL
Kadeem D ButtUnited KingdomAmy Elsner NEGOTIATION
Johnson T WaycottAustraliaAnna Fali RENEWAL
Mayumi B RulapaughItalyAnna Fali NEGOTIATION
Ricardo F SlusarskiSpainIvan Magalhaes RENEWAL
Jeanfrancois T DilliardRussiaBernardo Dominic QUALIFIED
Costa N MacleadUnited KingdomIvan Magalhaes PROPOSAL
Julie E RutaRussiaAsiya Javayant RENEWAL
Julie K StensethRussiaXuxue Feng NEGOTIATION
Aditya Z RutaArgentinaStephen Shaw QUALIFIED
Ashley O CaldareraUnited KingdomOnyama Limba RENEWAL
Costa R CampainRussiaElwin Sharvill NEW
Izzy U ButtBrazilStephen Shaw RENEWAL
Wickens M MarrierItalyElwin Sharvill NEGOTIATION
Aika A CaudyUnited KingdomOnyama Limba UNQUALIFIED
Cody Q BologniaJapanAnna Fali RENEWAL
Arvin G MaletRussiaIvan Magalhaes PROPOSAL
Jennifer T KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Maria J InouyeJapanAmy Elsner PROPOSAL
Costa A RutaItalyElwin Sharvill RENEWAL
Misaki Y NestleAustraliaBernardo Dominic RENEWAL
Johnson R FollerGermanyAsiya Javayant QUALIFIED
Aruna H GarufiItalyBernardo Dominic UNQUALIFIED
Isabel J FlosiArgentinaAmy Elsner PROPOSAL
Arvin R GauchoArgentinaStephen Shaw NEW
Aika U GarufiBrazilAsiya Javayant PROPOSAL
Smith T FlosiSpainIoni Bowcher NEW
Aruna U CampainBrazilAmy Elsner RENEWAL
Tony A NickaSpainOnyama Limba UNQUALIFIED
Arvin D DarakjyFranceBernardo Dominic QUALIFIED
Morrow O MacleadJapanElwin Sharvill PROPOSAL
Smith C KolmetzArgentinaIoni Bowcher PROPOSAL
Mujtaba Q OldroydIndiaStephen Shaw PROPOSAL
Adams F GillianCanadaOnyama Limba UNQUALIFIED
Deepesh W PoquetteItalyBernardo Dominic NEGOTIATION
Jeanfrancois X RoysterGermanyXuxue Feng NEGOTIATION
Silvio S ChuiGermanyXuxue Feng RENEWAL
Isabel A RutaIndiaAsiya Javayant PROPOSAL
Ashley Y SlusarskiSpainIvan Magalhaes NEW
Maisha U MacleadArgentinaBernardo Dominic NEGOTIATION
Cody V NestleSpainAmy Elsner NEGOTIATION
Murillo L FigeroaFranceAnna Fali RENEWAL
Jones B PoquetteIndiaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon A MorascaFranceAmy Elsner RENEWAL
Maisha C FlosiGermanyXuxue Feng NEW
Aditya C TollnerJapanAnna Fali NEGOTIATION
Misaki X InouyeRussiaAmy Elsner NEW
Tony H ChuiUnited KingdomIoni Bowcher QUALIFIED
Aruna B KuskoUnited KingdomBernardo Dominic NEW
Jennifer T DarakjyIndiaIoni Bowcher QUALIFIED
Morrow V KolmetzRussiaBernardo Dominic PROPOSAL
Greenwood Y PoquetteRussiaStephen Shaw PROPOSAL
Alejandro C OstroskyFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan H SaylorsSpain2025-04-06Chanay, Jeffrey A Esq NEW45Bernardo Dominic
1001Smith G ShinkoGermany2025-04-03Printing Dimensions RENEWAL87Anna Fali
1002Jennifer Q FigeroaCanada2025-04-24Chapman, Ross E Esq RENEWAL2Anna Fali
1003Mujtaba Y VenereArgentina2025-04-04Printing Dimensions UNQUALIFIED82Stephen Shaw
1004Johnson L MarrierArgentina2025-04-18Rousseaux, Michael Esq NEGOTIATION7Amy Elsner
1005Sinclair M ButtJapan2025-04-29Chapman, Ross E Esq RENEWAL78Elwin Sharvill
1006Aika B DoeUnited Kingdom2025-04-23Rousseaux, Michael Esq RENEWAL65Onyama Limba
1007Costa Y MorascaItaly2025-04-24Rangoni Of Florence QUALIFIED96Stephen Shaw
1008Jeanfrancois C StockhamCanada2025-04-07Rousseaux, Michael Esq UNQUALIFIED61Stephen Shaw
1009Aditya B TollnerSpain2025-04-12Truhlar And Truhlar Attys NEGOTIATION62Elwin Sharvill
1010Antonio X MacleadFrance2025-04-09Commercial Press NEW71Stephen Shaw
1011Aruna D DoeJapan2025-04-22Dorl, James J Esq PROPOSAL80Onyama Limba
1012Juan Q MaletGermany2025-04-11Truhlar And Truhlar Attys UNQUALIFIED88Stephen Shaw
1013Salvatore N RulapaughBrazil2025-04-07Dorl, James J Esq UNQUALIFIED92Bernardo Dominic
1014Morrow O PerinBrazil2025-04-13Rousseaux, Michael Esq QUALIFIED59Asiya Javayant
1015Misaki Y BriddickRussia2025-04-26King, Christopher A Esq RENEWAL89Ivan Magalhaes
1016Arvin E BologniaRussia2025-04-22Morlong Associates RENEWAL99Onyama Limba
1017Octavia Z MorascaSpain2025-04-29Chapman, Ross E Esq RENEWAL60Elwin Sharvill
1018Arvin U RulapaughArgentina2025-04-19Feltz Printing Service QUALIFIED64Elwin Sharvill
1019Jeanfrancois Z MaletGermany2025-04-12Rangoni Of Florence UNQUALIFIED28Stephen Shaw
1020Ivar A BologniaUnited Kingdom2025-04-06Rousseaux, Michael Esq NEW30Bernardo Dominic
1021Leja Q DarakjyIndia2025-04-12Chanay, Jeffrey A Esq NEGOTIATION29Amy Elsner
1022Silvio N KuskoCanada2025-04-18Rangoni Of Florence NEW48Elwin Sharvill
1023Nicolas H PaprockiJapan2025-04-05Dorl, James J Esq NEW39Bernardo Dominic
1024Juan M MarrierRussia2025-04-25Morlong Associates RENEWAL42Xuxue Feng
1025Arvin Y GlickArgentina2025-04-08King, Christopher A Esq UNQUALIFIED51Bernardo Dominic
1026Arvin M ShinkoJapan2025-04-14Chapman, Ross E Esq PROPOSAL11Bernardo Dominic
1027Clifford X RutaFrance2025-04-02Chapman, Ross E Esq NEGOTIATION28Onyama Limba
1028Jennifer L BowleyIndia2025-04-19Chapman, Ross E Esq NEGOTIATION23Bernardo Dominic
1029Aruna I GarufiJapan2025-04-11Commercial Press UNQUALIFIED13Elwin Sharvill
1030Ricardo U CaldareraUnited Kingdom2025-04-29Feltz Printing Service PROPOSAL93Anna Fali
1031Adams T WieserCanada2025-04-19Buckley Miller Wright RENEWAL4Bernardo Dominic
1032Costa U RutaArgentina2025-04-25Truhlar And Truhlar Attys NEGOTIATION83Anna Fali
1033Silvio L CampainBrazil2025-04-24Truhlar And Truhlar Attys NEW33Onyama Limba
1034Ivar O DilliardAustralia2025-04-27Feiner Bros PROPOSAL23Elwin Sharvill
1035Deepesh V FlosiSpain2025-04-12Chemel, James L Cpa NEGOTIATION25Elwin Sharvill
1036Salvatore L PerinArgentina2025-04-01Rangoni Of Florence NEW4Onyama Limba
1037Sinclair J GarufiRussia2025-04-20Benton, John B Jr QUALIFIED66Ioni Bowcher
1038Ashley H GarufiArgentina2025-04-09Chapman, Ross E Esq NEW19Amy Elsner
1039Ricardo E FigeroaUnited Kingdom2025-04-15King, Christopher A Esq RENEWAL35Amy Elsner
1040Smith M FollerCanada2025-04-06Chanay, Jeffrey A Esq NEW92Ivan Magalhaes
1041Alejandro Z OldroydSpain2025-04-10Chemel, James L Cpa RENEWAL48Elwin Sharvill
1042Darci H StensethItaly2025-04-21Morlong Associates UNQUALIFIED67Anna Fali
1043Chavez Y KuskoSpain2025-04-16Feiner Bros PROPOSAL29Onyama Limba
1044Smith A VenereSpain2025-04-28Chemel, James L Cpa RENEWAL29Amy Elsner
1045Kadeem Z FigeroaAustralia2025-04-26Benton, John B Jr RENEWAL41Elwin Sharvill
1046Ricardo L VocelkaRussia2025-04-28King, Christopher A Esq RENEWAL89Stephen Shaw
1047Ivar B IturbideCanada2025-04-09King, Christopher A Esq NEGOTIATION73Bernardo Dominic
1048Misaki W FerenczSpain2025-04-22Feiner Bros RENEWAL88Asiya Javayant
1049Maria Q CaldareraFrance2025-04-25Truhlar And Truhlar Attys PROPOSAL21Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maisha E OldroydBrazilIoni Bowcher QUALIFIED
Julie P DoeFranceBernardo Dominic NEGOTIATION
Kaitlin T FlosiAustraliaAnna Fali NEW
Deepesh P WhobreyGermanyAsiya Javayant UNQUALIFIED
Silvio O NestleCanadaBernardo Dominic RENEWAL
Greenwood D RoysterFranceOnyama Limba QUALIFIED
David Z StockhamIndiaAsiya Javayant RENEWAL
Chavez V NestleArgentinaXuxue Feng QUALIFIED
Octavia D PaprockiBrazilOnyama Limba PROPOSAL
Darci S CaldareraCanadaAnna Fali NEGOTIATION
Emily S PerinFranceAmy Elsner UNQUALIFIED
Ashley C NestleGermanyAmy Elsner PROPOSAL
Rodrigues O RimSpainAnna Fali NEGOTIATION
Munro D DilliardSpainBernardo Dominic NEW
David C DilliardAustraliaIoni Bowcher RENEWAL
Jones C OldroydGermanyElwin Sharvill RENEWAL
Izzy V WieserUnited KingdomBernardo Dominic RENEWAL
Arvin W FerenczAustraliaAmy Elsner NEGOTIATION
Mayumi K ButtJapanOnyama Limba UNQUALIFIED
Chavez J OstroskyArgentinaOnyama Limba UNQUALIFIED
Claire W AlbaresRussiaStephen Shaw RENEWAL
David Q WaycottJapanElwin Sharvill PROPOSAL
Misaki E NickaArgentinaBernardo Dominic RENEWAL
Stacey L StensethJapanBernardo Dominic RENEWAL
Ivar U VocelkaJapanAnna Fali QUALIFIED
Aditya S MorascaAustraliaIvan Magalhaes QUALIFIED
Faith D RulapaughSpainStephen Shaw NEW
Kadeem G DarakjyIndiaElwin Sharvill NEGOTIATION
Costa L CaudyCanadaIoni Bowcher QUALIFIED
Isabel C DoeSpainStephen Shaw NEW
Chavez S ButtSpainAnna Fali PROPOSAL
Ivar A AlbaresItalyIoni Bowcher RENEWAL
Mujtaba U PaprockiJapanAsiya Javayant RENEWAL
Sinclair T OstroskyIndiaAnna Fali NEW
Aditya C DarakjyAustraliaStephen Shaw UNQUALIFIED
Sinclair M VocelkaItalyBernardo Dominic UNQUALIFIED
Arvin F VocelkaIndiaIvan Magalhaes RENEWAL
Deepesh U StensethJapanAsiya Javayant RENEWAL
Maisha P DoeArgentinaIoni Bowcher NEGOTIATION
Jennifer V MaletCanadaStephen Shaw RENEWAL
Cody N GillianJapanIvan Magalhaes RENEWAL
Mujtaba Y DarakjyIndiaIvan Magalhaes NEW
Johnson C PerinBrazilElwin Sharvill UNQUALIFIED
Jennifer O BowleyArgentinaOnyama Limba UNQUALIFIED
Darci S BowleyRussiaOnyama Limba RENEWAL
Aika Z ChuiFranceBernardo Dominic RENEWAL
Maria T DarakjyUnited KingdomIoni Bowcher RENEWAL
Nicolas F CaldareraItalyStephen Shaw RENEWAL
Ashley M CampainArgentinaXuxue Feng NEGOTIATION
Aika B PoquetteCanadaXuxue Feng RENEWAL
Frozen Columns
Name
Julie W Figeroa
Jennifer K Malet
Costa I Malet
Mujtaba J Gaucho
Chavez Q Paprocki
Kadeem N Iturbide
Munro E Foller
Maisha T Doe
Smith B Doe
Emily M Chui
Kaitlin K Kolmetz
Rodrigues W Vocelka
Adams D Paprocki
Murillo Q Dilliard
Ricardo S Sergi
Aditya K Inouye
Izzy J Slusarski
Claire V Ostrosky
Johnson D Morasca
Izzy V Darakjy
Claire Y Rulapaugh
Darci A Figeroa
Ivar Y Marrier
Greenwood B Darakjy
Munro I Doe
Maria H Paprocki
Mayumi U Vocelka
Leon T Malet
Aruna L Inouye
Clifford J Vocelka
Faith W Waycott
Wickens K Inouye
Nicolas N Briddick
Mujtaba F Chui
Rodrigues Z Shinko
Kadeem G Stenseth
Deepesh V Chui
Misaki P Bolognia
Darci F Sergi
Silvio I Kolmetz
Izzy R Flosi
Maisha B Waycott
Chavez O Dilliard
Aika X Slusarski
Leja Z Amigon
Jennifer I Malet
Jones L Morasca
David F Stenseth
Antonio G Wieser
Chavez T Morasca
IdCountryDate
1000United Kingdom2025-04-13
1001Argentina2025-04-06
1002Japan2025-04-02
1003Spain2025-04-21
1004Argentina2025-04-05
1005United Kingdom2025-04-09
1006Spain2025-04-25
1007Germany2025-04-12
1008Argentina2025-04-12
1009Spain2025-04-10
1010Italy2025-04-09
1011Germany2025-04-02
1012Australia2025-04-20
1013India2025-04-10
1014Spain2025-04-03
1015Canada2025-04-19
1016Russia2025-04-13
1017Argentina2025-04-18
1018France2025-03-31
1019Italy2025-04-01
1020Canada2025-04-15
1021Japan2025-04-25
1022Japan2025-04-16
1023Brazil2025-04-07
1024Russia2025-04-19
1025Canada2025-04-19
1026India2025-04-22
1027Canada2025-04-20
1028France2025-04-08
1029Argentina2025-04-05
1030Spain2025-04-24
1031India2025-04-04
1032Brazil2025-04-25
1033Italy2025-04-18
1034Russia2025-04-27
1035Argentina2025-04-25
1036Italy2025-04-20
1037France2025-04-05
1038France2025-04-22
1039Brazil2025-04-09
1040Canada2025-04-01
1041Canada2025-04-01
1042Australia2025-04-25
1043India2025-04-26
1044India2025-04-16
1045Canada2025-03-31
1046France2025-04-27
1047Australia2025-04-18
1048India2025-04-07
1049Brazil2025-04-21

On-Demand Data

NameIdCountryDate
Rodrigues U Waycott1000Russia2025-04-06
Jeanfrancois W Venere1001Italy2025-04-25
Greenwood R Figeroa1002Russia2025-04-26
Julie D Malet1003Japan2025-04-11
Maisha F Kolmetz1004India2025-04-09
Faith D Nestle1005Russia2025-04-29
Aruna H Figeroa1006France2025-04-23
Aruna Z Albares1007Japan2025-04-21
Ashley K Tollner1008Russia2025-04-07
Morrow E Morasca1009Brazil2025-04-05
Kaitlin X Figeroa1010United Kingdom2025-04-04
Kaitlin T Gillian1011Brazil2025-04-11
Salvatore U Maclead1012Argentina2025-04-25
Maisha U Iturbide1013India2025-04-21
Wickens Q Briddick1014Germany2025-04-24
Tony K Chui1015Australia2025-04-24
Jennifer G Stenseth1016Japan2025-04-20
Octavia W Venere1017Canada2025-04-09
Johnson T Caldarera1018Italy2025-03-31
Costa U Perin1019Australia2025-03-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford N GillianGermanyBernardo Dominic UNQUALIFIED
Stacey X SaylorsJapanBernardo Dominic NEW
Alejandro Q StensethCanadaOnyama Limba UNQUALIFIED
Aditya R SaylorsAustraliaOnyama Limba NEW
Juan R PoquetteIndiaIoni Bowcher QUALIFIED
Alejandro X FlosiCanadaStephen Shaw NEW
Claire A StockhamIndiaAsiya Javayant NEGOTIATION
Darci H KuskoRussiaOnyama Limba PROPOSAL
James J StockhamArgentinaAsiya Javayant NEGOTIATION
Octavia P MacleadJapanXuxue Feng NEGOTIATION
Arvin L RulapaughAustraliaAsiya Javayant NEW
Chavez M FlosiCanadaElwin Sharvill NEGOTIATION
Cody R OldroydArgentinaAnna Fali NEW
Maria O PaprockiBrazilStephen Shaw NEW
Morrow O FigeroaCanadaIoni Bowcher PROPOSAL
Silvio P BologniaGermanyElwin Sharvill RENEWAL
Maria E RimItalyStephen Shaw NEW
Ricardo P VenereCanadaIoni Bowcher UNQUALIFIED
Tony P KolmetzFranceAsiya Javayant RENEWAL
James W AlbaresAustraliaBernardo Dominic RENEWAL
Smith L WaycottCanadaAmy Elsner QUALIFIED
Jefferson B PoquetteIndiaAsiya Javayant NEGOTIATION
Jeanfrancois X FlosiFranceElwin Sharvill UNQUALIFIED
Claire L BologniaBrazilAnna Fali RENEWAL
Cody O CaudyArgentinaAsiya Javayant RENEWAL
James B BowleyRussiaBernardo Dominic NEW
Aika O MaletJapanBernardo Dominic RENEWAL
Jennifer U WieserGermanyAsiya Javayant NEGOTIATION
Arvin B AmigonSpainAmy Elsner NEW
Adams B MaletRussiaIvan Magalhaes QUALIFIED
Munro U RimArgentinaXuxue Feng NEGOTIATION
Aditya C MaletArgentinaBernardo Dominic NEGOTIATION
Francesco D NestleGermanyStephen Shaw NEGOTIATION
Alejandro L FerenczFranceIoni Bowcher NEGOTIATION
Aditya S RulapaughSpainAnna Fali NEW
Antonio M InouyeArgentinaAsiya Javayant PROPOSAL
Izzy S StockhamBrazilBernardo Dominic NEGOTIATION
Juan Z PerinAustraliaIoni Bowcher PROPOSAL
Octavia R WhobreyGermanyAnna Fali NEW
Sinclair Z WaycottRussiaAmy Elsner PROPOSAL

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