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
Arvin U GlickFranceAsiya Javayant RENEWAL
Octavia I GarufiSpainIvan Magalhaes QUALIFIED
Darci H AlbaresRussiaAsiya Javayant PROPOSAL
Misaki T NickaGermanyAnna Fali UNQUALIFIED
Nicolas D WieserJapanElwin Sharvill UNQUALIFIED
Aika H PaprockiIndiaXuxue Feng UNQUALIFIED
Maria N GauchoFranceAnna Fali NEGOTIATION
Murillo D AlbaresBrazilElwin Sharvill UNQUALIFIED
Adams K IturbideGermanyAmy Elsner NEGOTIATION
Clifford E DilliardIndiaAnna Fali UNQUALIFIED
Claire Q NestleIndiaBernardo Dominic PROPOSAL
Maria O GarufiBrazilIvan Magalhaes NEGOTIATION
Aika G CampainAustraliaXuxue Feng UNQUALIFIED
Mayumi X GillianGermanyAsiya Javayant QUALIFIED
Clifford R ButtFranceIvan Magalhaes RENEWAL
Adams Y FigeroaUnited KingdomAnna Fali NEGOTIATION
Silvio W KolmetzGermanyAmy Elsner NEGOTIATION
Julie R RoysterItalyAnna Fali UNQUALIFIED
Munro H WieserSpainAnna Fali QUALIFIED
Jeanfrancois C ButtRussiaOnyama Limba NEGOTIATION
Arvin U RulapaughFranceAmy Elsner QUALIFIED
Aruna W CampainRussiaAmy Elsner RENEWAL
Nicolas U MaletGermanyXuxue Feng RENEWAL
Smith M MaletJapanBernardo Dominic PROPOSAL
Maria G DilliardJapanAmy Elsner PROPOSAL
Clifford M NestleUnited KingdomStephen Shaw RENEWAL
Aruna Q GillianUnited KingdomXuxue Feng QUALIFIED
Julie L MaletBrazilBernardo Dominic QUALIFIED
Mujtaba W PerinArgentinaIvan Magalhaes UNQUALIFIED
Julie V FlosiArgentinaAsiya Javayant NEW
Stacey D StockhamSpainStephen Shaw QUALIFIED
Tony P AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin D WaycottUnited KingdomAsiya Javayant QUALIFIED
Deepesh I ChuiFranceOnyama Limba UNQUALIFIED
Morrow I SaylorsFranceIoni Bowcher NEGOTIATION
Morrow L WieserIndiaStephen Shaw NEGOTIATION
Kadeem P VenereCanadaStephen Shaw NEW
Antonio K FerenczGermanyOnyama Limba PROPOSAL
Misaki T CaudyRussiaIvan Magalhaes QUALIFIED
Faith I VocelkaUnited KingdomStephen Shaw QUALIFIED
Aditya P ChuiJapanAmy Elsner NEW
Izzy Q BriddickFranceXuxue Feng NEW
Ricardo F MarrierItalyAsiya Javayant UNQUALIFIED
Faith Z SaylorsArgentinaIoni Bowcher RENEWAL
Deepesh T GarufiRussiaAmy Elsner UNQUALIFIED
Jefferson F RulapaughGermanyElwin Sharvill PROPOSAL
Aika S DarakjyJapanXuxue Feng UNQUALIFIED
Mujtaba Q CampainFranceBernardo Dominic PROPOSAL
Jones T WaycottItalyXuxue Feng UNQUALIFIED
Faith L DilliardJapanOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith U GarufiArgentinaAnna Fali PROPOSAL
Smith C SchemmerJapanXuxue Feng UNQUALIFIED
Faith Y FigeroaArgentinaAmy Elsner RENEWAL
David W StensethItalyAnna Fali QUALIFIED
Silvio K AmigonArgentinaStephen Shaw NEGOTIATION
Aika N ShinkoItalyXuxue Feng QUALIFIED
Nicolas X FlosiArgentinaOnyama Limba NEGOTIATION
Leon Y SlusarskiFranceIoni Bowcher RENEWAL
Maisha U BriddickArgentinaAnna Fali NEGOTIATION
Wickens D StockhamCanadaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel F PoquetteGermany2025-06-05Feiner Bros UNQUALIFIED51Asiya Javayant
1001Rodrigues P GlickUnited Kingdom2025-06-05Feiner Bros QUALIFIED60Asiya Javayant
1002Jones P CaldareraFrance2025-06-04Rangoni Of Florence NEGOTIATION73Bernardo Dominic
1003Arvin S CaudyAustralia2025-05-26Benton, John B Jr RENEWAL13Amy Elsner
1004Jeanfrancois M GarufiSpain2025-06-02Chanay, Jeffrey A Esq PROPOSAL21Xuxue Feng
1005Faith U MaletIndia2025-05-21Printing Dimensions NEGOTIATION17Amy Elsner
1006Octavia O ChuiGermany2025-05-18Buckley Miller Wright UNQUALIFIED88Ioni Bowcher
1007Mayumi H MaletItaly2025-06-09Dorl, James J Esq NEGOTIATION28Onyama Limba
1008Francesco I SchemmerItaly2025-05-29Feiner Bros RENEWAL85Elwin Sharvill
1009Isabel P IturbideArgentina2025-06-16Rousseaux, Michael Esq RENEWAL51Asiya Javayant
1010Deepesh T SergiArgentina2025-05-29Dorl, James J Esq PROPOSAL15Ivan Magalhaes
1011Nicolas Q ButtIndia2025-06-08Buckley Miller Wright NEGOTIATION64Stephen Shaw
1012Deepesh C FlosiUnited Kingdom2025-06-10Feltz Printing Service NEW55Anna Fali
1013Deepesh M ChuiBrazil2025-06-01Feiner Bros RENEWAL21Bernardo Dominic
1014Jennifer Z KuskoAustralia2025-05-29King, Christopher A Esq RENEWAL13Stephen Shaw
1015Chavez H OstroskyCanada2025-06-13Buckley Miller Wright PROPOSAL59Elwin Sharvill
1016Sinclair S SlusarskiGermany2025-05-26Chanay, Jeffrey A Esq NEW1Bernardo Dominic
1017Maisha R StensethFrance2025-06-13Dorl, James J Esq QUALIFIED75Amy Elsner
1018Mayumi C WieserRussia2025-05-20Truhlar And Truhlar Attys QUALIFIED2Asiya Javayant
1019Jefferson N KolmetzRussia2025-06-06Chapman, Ross E Esq QUALIFIED62Elwin Sharvill
1020Isabel Z CaudyUnited Kingdom2025-05-20King, Christopher A Esq QUALIFIED46Elwin Sharvill
1021Jones T RimArgentina2025-06-03Rangoni Of Florence NEGOTIATION18Bernardo Dominic
1022Leon Y BologniaFrance2025-05-31Chemel, James L Cpa RENEWAL32Onyama Limba
1023Jennifer W StockhamCanada2025-05-18Truhlar And Truhlar Attys UNQUALIFIED35Bernardo Dominic
1024Emily M MorascaBrazil2025-06-11King, Christopher A Esq NEW95Stephen Shaw
1025Claire Q GarufiUnited Kingdom2025-05-30Feiner Bros NEGOTIATION10Ioni Bowcher
1026Aditya Z VenereRussia2025-06-14Rousseaux, Michael Esq NEW74Asiya Javayant
1027Antonio F MarrierBrazil2025-05-23King, Christopher A Esq RENEWAL85Anna Fali
1028Jennifer I MacleadFrance2025-05-21Benton, John B Jr UNQUALIFIED33Stephen Shaw
1029Costa G MaletGermany2025-06-01Feiner Bros NEGOTIATION8Xuxue Feng
1030Jefferson T MaletSpain2025-05-31Feltz Printing Service UNQUALIFIED69Amy Elsner
1031Leja T WieserRussia2025-06-03Chanay, Jeffrey A Esq PROPOSAL80Anna Fali
1032Darci P DarakjySpain2025-05-31Chemel, James L Cpa RENEWAL9Onyama Limba
1033Izzy I CampainArgentina2025-06-08Rangoni Of Florence RENEWAL56Stephen Shaw
1034Ivar O FigeroaUnited Kingdom2025-05-19Truhlar And Truhlar Attys NEGOTIATION13Bernardo Dominic
1035Kaitlin E KuskoItaly2025-05-19King, Christopher A Esq NEGOTIATION85Asiya Javayant
1036Smith G StockhamJapan2025-06-03Commercial Press PROPOSAL34Ivan Magalhaes
1037Jennifer B OstroskyFrance2025-05-22Commercial Press NEGOTIATION27Asiya Javayant
1038Ivar P StensethJapan2025-05-28Commercial Press RENEWAL41Asiya Javayant
1039Adams I FollerRussia2025-05-24Feiner Bros NEW34Stephen Shaw
1040Rodrigues W FlosiJapan2025-05-29Rousseaux, Michael Esq PROPOSAL51Bernardo Dominic
1041Misaki X NestleArgentina2025-05-24Morlong Associates QUALIFIED20Anna Fali
1042Chavez W SaylorsItaly2025-06-07Feltz Printing Service UNQUALIFIED47Xuxue Feng
1043Stacey W DoeFrance2025-05-20Rousseaux, Michael Esq UNQUALIFIED19Asiya Javayant
1044David J StockhamRussia2025-05-21Dorl, James J Esq NEGOTIATION1Asiya Javayant
1045Mayumi K RulapaughJapan2025-05-20Truhlar And Truhlar Attys QUALIFIED45Bernardo Dominic
1046Wickens Q InouyeUnited Kingdom2025-06-02King, Christopher A Esq NEW52Stephen Shaw
1047Faith K KolmetzBrazil2025-06-16Rangoni Of Florence NEW65Asiya Javayant
1048Munro M SchemmerArgentina2025-05-27Rousseaux, Michael Esq NEGOTIATION16Stephen Shaw
1049David P FollerCanada2025-06-11King, Christopher A Esq RENEWAL62Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Emily L AlbaresJapanAnna Fali PROPOSAL
Leja O DilliardGermanyIoni Bowcher NEGOTIATION
Wickens Z DarakjyAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois I OstroskyIndiaAsiya Javayant PROPOSAL
Cody B SergiCanadaOnyama Limba QUALIFIED
James U VocelkaRussiaElwin Sharvill RENEWAL
Cody M RulapaughJapanAsiya Javayant QUALIFIED
Johnson H WaycottJapanElwin Sharvill UNQUALIFIED
Juan Q CaudyJapanIvan Magalhaes PROPOSAL
Faith P WieserGermanyIoni Bowcher NEW
Aditya J WieserJapanIvan Magalhaes PROPOSAL
Stacey W CampainSpainAsiya Javayant NEGOTIATION
Claire S VocelkaArgentinaBernardo Dominic QUALIFIED
Cody E DilliardAustraliaBernardo Dominic UNQUALIFIED
Rodrigues A GlickCanadaOnyama Limba NEGOTIATION
Darci U DarakjyAustraliaBernardo Dominic QUALIFIED
Jennifer C DarakjySpainStephen Shaw UNQUALIFIED
Murillo T MacleadBrazilOnyama Limba NEGOTIATION
Aika N VocelkaBrazilOnyama Limba NEW
Ricardo N WieserSpainIvan Magalhaes UNQUALIFIED
Johnson T WieserGermanyStephen Shaw UNQUALIFIED
Alejandro K ShinkoArgentinaStephen Shaw NEGOTIATION
Tony A FollerItalyBernardo Dominic QUALIFIED
Jefferson F SchemmerBrazilElwin Sharvill NEGOTIATION
Cody H AmigonIndiaOnyama Limba NEGOTIATION
Jeanfrancois G PerinItalyIvan Magalhaes RENEWAL
Wickens H StockhamArgentinaBernardo Dominic NEGOTIATION
Jennifer I FlosiIndiaAmy Elsner RENEWAL
Faith K AlbaresRussiaOnyama Limba UNQUALIFIED
Antonio Z StensethAustraliaBernardo Dominic NEW
Mayumi T PerinRussiaStephen Shaw RENEWAL
Juan A IturbideFranceAsiya Javayant NEGOTIATION
Claire T BologniaArgentinaAnna Fali NEW
Nicolas D MarrierRussiaStephen Shaw PROPOSAL
Stacey U ChuiArgentinaElwin Sharvill NEW
Jones X InouyeAustraliaAmy Elsner NEGOTIATION
Nicolas V DarakjyCanadaXuxue Feng NEW
Antonio P SlusarskiJapanIvan Magalhaes RENEWAL
Leon Q WieserItalyOnyama Limba RENEWAL
Ricardo S KolmetzItalyIoni Bowcher UNQUALIFIED
Mujtaba R MaletGermanyBernardo Dominic PROPOSAL
Deepesh D FlosiItalyAmy Elsner RENEWAL
Francesco T KolmetzCanadaXuxue Feng NEW
Ricardo P GillianAustraliaXuxue Feng UNQUALIFIED
Antonio Y DoeAustraliaAnna Fali PROPOSAL
Costa H CaudyRussiaBernardo Dominic NEW
Adams B NestleBrazilAmy Elsner RENEWAL
Aika M WieserIndiaStephen Shaw QUALIFIED
Smith Q ChuiFranceStephen Shaw QUALIFIED
Deepesh Q CampainJapanElwin Sharvill NEGOTIATION
Frozen Columns
Name
Mayumi H Bowley
Alejandro A Waycott
Kaitlin B Venere
Antonio J Kusko
Faith Y Butt
Ricardo O Rulapaugh
Aditya J Malet
Kadeem X Oldroyd
Chavez B Vocelka
Kadeem K Royster
Julie R Dilliard
Antonio P Albares
Kadeem V Rim
Faith R Malet
Aruna U Briddick
Antonio Q Poquette
Jennifer I Inouye
David D Vocelka
Aditya J Ferencz
Munro H Inouye
Alejandro H Maclead
Isabel D Nestle
Aruna S Maclead
Smith Y Campain
Jennifer Z Oldroyd
Ricardo B Rim
Jones Z Ostrosky
Jennifer Z Slusarski
Johnson D Rim
Adams U Malet
Arvin F Caudy
Aditya Q Caldarera
Costa W Vocelka
Jones F Marrier
Greenwood M Doe
Adams Q Bowley
Maisha W Morasca
Isabel Q Maclead
Stacey B Malet
Mujtaba E Stenseth
Nicolas T Flosi
Francesco O Stenseth
Mujtaba C Malet
Leja D Waycott
Claire P Darakjy
Aditya Z Shinko
Ashley C Amigon
Silvio J Nestle
Smith X Shinko
Jeanfrancois D Stockham
IdCountryDate
1000Japan2025-05-18
1001France2025-06-05
1002Brazil2025-05-21
1003Italy2025-05-20
1004Japan2025-06-02
1005United Kingdom2025-06-11
1006Italy2025-05-27
1007United Kingdom2025-06-09
1008India2025-06-06
1009United Kingdom2025-05-22
1010Japan2025-05-31
1011France2025-05-28
1012Brazil2025-05-27
1013United Kingdom2025-06-08
1014France2025-05-26
1015Italy2025-05-20
1016Russia2025-05-22
1017Canada2025-05-20
1018Italy2025-06-01
1019United Kingdom2025-06-03
1020Canada2025-05-23
1021Canada2025-05-21
1022Germany2025-06-13
1023Spain2025-05-30
1024Japan2025-06-07
1025Australia2025-06-02
1026India2025-06-11
1027Russia2025-06-15
1028Brazil2025-06-01
1029Italy2025-05-24
1030India2025-06-10
1031Germany2025-06-01
1032Australia2025-05-19
1033Germany2025-05-22
1034France2025-06-13
1035Germany2025-06-05
1036Argentina2025-05-24
1037Russia2025-06-08
1038Brazil2025-05-20
1039France2025-06-01
1040India2025-05-29
1041Brazil2025-05-21
1042Spain2025-05-24
1043Spain2025-05-21
1044Italy2025-05-31
1045Japan2025-06-03
1046Russia2025-05-29
1047India2025-06-15
1048Brazil2025-06-05
1049Spain2025-05-23

On-Demand Data

NameIdCountryDate
Darci X Dilliard1000Spain2025-06-11
Leon Z Nicka1001Australia2025-05-27
Octavia Z Campain1002Canada2025-06-09
Misaki U Sergi1003Russia2025-05-26
Izzy W Malet1004United Kingdom2025-05-27
Salvatore N Garufi1005Japan2025-06-03
Izzy U Paprocki1006Canada2025-06-15
Isabel H Wieser1007France2025-05-21
Jefferson A Amigon1008United Kingdom2025-06-01
Arvin U Ruta1009Argentina2025-06-03
Tony R Gillian1010Brazil2025-05-30
Silvio M Perin1011Canada2025-06-15
Izzy R Kusko1012India2025-06-06
Silvio M Nicka1013Japan2025-05-20
Adams P Tollner1014Canada2025-05-30
Munro V Nicka1015Argentina2025-06-07
Munro W Stenseth1016Canada2025-05-29
Jennifer H Perin1017France2025-06-05
Costa Y Rulapaugh1018Canada2025-05-30
Costa B Darakjy1019Australia2025-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois I RoysterCanadaIvan Magalhaes QUALIFIED
Francesco Q InouyeRussiaIvan Magalhaes QUALIFIED
Chavez H NestleJapanXuxue Feng UNQUALIFIED
Mujtaba F BriddickRussiaBernardo Dominic PROPOSAL
Faith I DarakjyFranceIoni Bowcher NEGOTIATION
Francesco Q FlosiFranceAmy Elsner QUALIFIED
Ashley Z ChuiBrazilAsiya Javayant NEGOTIATION
Chavez X DilliardCanadaIoni Bowcher NEW
Antonio V ButtFranceIvan Magalhaes UNQUALIFIED
Mayumi C OldroydItalyAsiya Javayant PROPOSAL
David D BriddickUnited KingdomStephen Shaw NEGOTIATION
Aika F DarakjyBrazilXuxue Feng QUALIFIED
Maria O WieserIndiaBernardo Dominic RENEWAL
Murillo F RutaSpainStephen Shaw NEW
Aditya B FerenczAustraliaIoni Bowcher PROPOSAL
Johnson L FigeroaFranceOnyama Limba UNQUALIFIED
Emily Z BologniaIndiaElwin Sharvill NEW
Wickens B NestleJapanStephen Shaw UNQUALIFIED
Mayumi Q SaylorsAustraliaBernardo Dominic RENEWAL
Sinclair G DoeJapanAnna Fali PROPOSAL
Ivar A ChuiSpainElwin Sharvill QUALIFIED
Salvatore X StockhamAustraliaStephen Shaw RENEWAL
Arvin P FigeroaFranceXuxue Feng PROPOSAL
Julie N WieserIndiaAmy Elsner PROPOSAL
Ricardo D WaycottFranceBernardo Dominic NEW
Jefferson P WieserCanadaAsiya Javayant NEGOTIATION
Adams S TollnerArgentinaIoni Bowcher RENEWAL
Silvio H GlickRussiaBernardo Dominic QUALIFIED
Ashley P WieserBrazilStephen Shaw UNQUALIFIED
Costa X BriddickItalyBernardo Dominic NEGOTIATION
Sinclair M AlbaresFranceXuxue Feng UNQUALIFIED
Claire A SchemmerAustraliaStephen Shaw PROPOSAL
Greenwood M WaycottJapanIvan Magalhaes QUALIFIED
Ricardo Z FlosiAustraliaElwin Sharvill RENEWAL
Izzy B BowleyJapanStephen Shaw QUALIFIED
Sinclair J DarakjyBrazilAnna Fali NEW
Stacey E MaletItalyBernardo Dominic NEW
Jones I PoquetteUnited KingdomIvan Magalhaes RENEWAL
Mujtaba J RoysterArgentinaAnna Fali NEGOTIATION
Claire S RimBrazilOnyama Limba NEW

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