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
Silvio F NickaGermanyAsiya Javayant RENEWAL
Darci Y DilliardAustraliaIoni Bowcher UNQUALIFIED
Kaitlin L DoeGermanyAsiya Javayant NEW
Maria Z ShinkoItalyAsiya Javayant QUALIFIED
Murillo V GarufiIndiaBernardo Dominic UNQUALIFIED
Morrow O RimRussiaOnyama Limba PROPOSAL
Misaki R SaylorsJapanBernardo Dominic NEGOTIATION
Antonio D NickaIndiaOnyama Limba RENEWAL
Antonio L PaprockiRussiaAnna Fali QUALIFIED
Costa V FollerJapanElwin Sharvill QUALIFIED
Greenwood D SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Chavez V GauchoRussiaIoni Bowcher QUALIFIED
Jeanfrancois V GlickGermanyAnna Fali NEGOTIATION
Kadeem I CaudyGermanyStephen Shaw QUALIFIED
Costa F RoysterArgentinaAnna Fali NEGOTIATION
Faith V VenereRussiaBernardo Dominic NEW
Salvatore W FlosiAustraliaElwin Sharvill NEGOTIATION
Salvatore P StensethIndiaElwin Sharvill QUALIFIED
Maria F MaletGermanyIvan Magalhaes NEW
Ashley J MarrierArgentinaBernardo Dominic PROPOSAL
Ricardo Y NestleRussiaElwin Sharvill NEW
Julie B StensethFranceAmy Elsner PROPOSAL
Mujtaba D AmigonArgentinaXuxue Feng RENEWAL
Alejandro M FerenczFranceElwin Sharvill PROPOSAL
Arvin B IturbideRussiaIvan Magalhaes RENEWAL
Kaitlin W MaletFranceIoni Bowcher QUALIFIED
Aruna P KolmetzCanadaAnna Fali PROPOSAL
Mayumi Q IturbideAustraliaOnyama Limba UNQUALIFIED
Costa E WhobreyIndiaAsiya Javayant QUALIFIED
Johnson O StockhamAustraliaIoni Bowcher UNQUALIFIED
Kaitlin E ChuiArgentinaIoni Bowcher NEGOTIATION
Kaitlin L CampainBrazilStephen Shaw NEW
Salvatore W VenereFranceElwin Sharvill RENEWAL
Faith A OldroydCanadaAsiya Javayant QUALIFIED
Francesco B PaprockiGermanyAsiya Javayant PROPOSAL
Leon R SchemmerJapanIoni Bowcher NEGOTIATION
Sinclair K IturbideRussiaIvan Magalhaes RENEWAL
Clifford R OldroydJapanOnyama Limba RENEWAL
Salvatore I SergiGermanyIvan Magalhaes NEGOTIATION
Arvin M AmigonJapanIoni Bowcher NEW
Sinclair N FlosiArgentinaAmy Elsner PROPOSAL
Mujtaba A RutaArgentinaXuxue Feng NEW
Wickens V InouyeSpainElwin Sharvill RENEWAL
Jones J MaletRussiaIoni Bowcher RENEWAL
Kaitlin G AmigonSpainAnna Fali NEW
Juan N CaudyRussiaStephen Shaw QUALIFIED
Leon F IturbideAustraliaAsiya Javayant RENEWAL
Greenwood B BologniaJapanAmy Elsner NEGOTIATION
Aika I MarrierFranceBernardo Dominic NEGOTIATION
Murillo U WhobreyAustraliaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa Y FollerJapanIoni Bowcher NEW
Jefferson D GillianRussiaXuxue Feng RENEWAL
Leon T BowleyUnited KingdomOnyama Limba NEW
Tony U TollnerRussiaOnyama Limba NEW
Jones A StockhamCanadaStephen Shaw RENEWAL
Aditya X SlusarskiFranceStephen Shaw NEGOTIATION
James T CampainJapanXuxue Feng NEGOTIATION
Ivar Z ButtArgentinaElwin Sharvill NEW
Jones R RimIndiaXuxue Feng NEW
Mujtaba K FollerGermanyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson X PerinCanada2026-07-03Chemel, James L Cpa NEGOTIATION82Ivan Magalhaes
1001Aditya F CaldareraGermany2026-07-21Commercial Press QUALIFIED37Ivan Magalhaes
1002Jones Q AmigonBrazil2026-07-26Truhlar And Truhlar Attys UNQUALIFIED8Xuxue Feng
1003Smith J BologniaIndia2026-07-24Morlong Associates NEW75Asiya Javayant
1004Julie Y IturbideCanada2026-07-09Truhlar And Truhlar Attys RENEWAL97Anna Fali
1005Cody L MarrierArgentina2026-07-21King, Christopher A Esq QUALIFIED39Ioni Bowcher
1006David M CaldareraArgentina2026-07-16Buckley Miller Wright NEGOTIATION47Ioni Bowcher
1007Aika P FlosiBrazil2026-07-10Buckley Miller Wright PROPOSAL54Stephen Shaw
1008Darci B FerenczRussia2026-07-02King, Christopher A Esq UNQUALIFIED38Ioni Bowcher
1009Claire P KolmetzAustralia2026-07-04Commercial Press PROPOSAL99Amy Elsner
1010Izzy C FerenczItaly2026-07-01Rousseaux, Michael Esq RENEWAL19Ivan Magalhaes
1011Rodrigues Z TollnerRussia2026-07-23Buckley Miller Wright RENEWAL8Ivan Magalhaes
1012Cody A ShinkoFrance2026-07-27Printing Dimensions PROPOSAL21Xuxue Feng
1013Morrow L MaletArgentina2026-07-05Truhlar And Truhlar Attys PROPOSAL93Anna Fali
1014Deepesh I CampainIndia2026-07-19Dorl, James J Esq UNQUALIFIED42Ivan Magalhaes
1015Claire T KolmetzAustralia2026-07-13Rangoni Of Florence PROPOSAL1Asiya Javayant
1016Alejandro H NickaBrazil2026-07-02Truhlar And Truhlar Attys NEW51Onyama Limba
1017Emily Z CampainCanada2026-07-24Truhlar And Truhlar Attys NEW66Xuxue Feng
1018Deepesh E DoeIndia2026-07-21Chapman, Ross E Esq QUALIFIED6Ivan Magalhaes
1019Ivar Z GlickGermany2026-07-03Chapman, Ross E Esq UNQUALIFIED57Onyama Limba
1020Maria N CampainAustralia2026-07-03Rangoni Of Florence NEW27Bernardo Dominic
1021Octavia D MarrierRussia2026-07-06King, Christopher A Esq NEW87Onyama Limba
1022Adams R PoquetteGermany2026-07-15King, Christopher A Esq UNQUALIFIED10Onyama Limba
1023Deepesh P ButtArgentina2026-07-25Rangoni Of Florence QUALIFIED97Ioni Bowcher
1024Ricardo B NickaSpain2026-07-04Commercial Press NEGOTIATION17Xuxue Feng
1025Leja P WieserGermany2026-07-15Benton, John B Jr QUALIFIED44Elwin Sharvill
1026Mayumi R WhobreyAustralia2026-07-16Benton, John B Jr RENEWAL91Anna Fali
1027Murillo M InouyeGermany2026-06-29Buckley Miller Wright QUALIFIED94Elwin Sharvill
1028Kaitlin P GillianRussia2026-07-09Feiner Bros UNQUALIFIED55Ioni Bowcher
1029Isabel T GauchoUnited Kingdom2026-07-14Dorl, James J Esq QUALIFIED30Elwin Sharvill
1030Aditya R VocelkaSpain2026-07-11Morlong Associates NEGOTIATION91Bernardo Dominic
1031Munro P RoysterRussia2026-07-20Chemel, James L Cpa QUALIFIED94Ivan Magalhaes
1032Chavez C SaylorsAustralia2026-07-11Rousseaux, Michael Esq UNQUALIFIED64Amy Elsner
1033Octavia B ShinkoRussia2026-07-19Benton, John B Jr NEW90Asiya Javayant
1034Leja H FigeroaUnited Kingdom2026-07-02Feiner Bros PROPOSAL25Onyama Limba
1035Julie O VenereGermany2026-06-28Chanay, Jeffrey A Esq RENEWAL28Onyama Limba
1036Mujtaba V GarufiSpain2026-07-07Rousseaux, Michael Esq UNQUALIFIED61Amy Elsner
1037Julie V GillianFrance2026-07-01Chemel, James L Cpa UNQUALIFIED49Ioni Bowcher
1038Aditya M OstroskyAustralia2026-07-13Dorl, James J Esq RENEWAL81Asiya Javayant
1039Jennifer K RutaUnited Kingdom2026-07-26Truhlar And Truhlar Attys NEGOTIATION40Ioni Bowcher
1040Clifford H DoeJapan2026-07-24King, Christopher A Esq NEW72Bernardo Dominic
1041Antonio S CaldareraItaly2026-07-16Feltz Printing Service NEGOTIATION15Xuxue Feng
1042Emily O StensethItaly2026-07-14Dorl, James J Esq RENEWAL53Ivan Magalhaes
1043Leja P DarakjyRussia2026-07-12Rangoni Of Florence QUALIFIED41Stephen Shaw
1044David R WaycottSpain2026-07-10Feltz Printing Service PROPOSAL18Onyama Limba
1045Nicolas A InouyeCanada2026-07-13Chanay, Jeffrey A Esq UNQUALIFIED93Anna Fali
1046Jones R BologniaItaly2026-07-08Rangoni Of Florence QUALIFIED75Asiya Javayant
1047Mujtaba M FigeroaSpain2026-07-17Chanay, Jeffrey A Esq PROPOSAL0Bernardo Dominic
1048Ivar A MorascaUnited Kingdom2026-06-28Printing Dimensions NEGOTIATION54Ivan Magalhaes
1049Emily V MorascaCanada2026-07-04Printing Dimensions RENEWAL23Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja I GarufiJapanElwin Sharvill QUALIFIED
Wickens Z SlusarskiBrazilBernardo Dominic NEGOTIATION
Kadeem B GauchoAustraliaAsiya Javayant RENEWAL
Chavez E CampainJapanElwin Sharvill NEGOTIATION
Aika X CaldareraItalyAsiya Javayant UNQUALIFIED
Jefferson N RimArgentinaIvan Magalhaes QUALIFIED
Francesco K GillianAustraliaIvan Magalhaes QUALIFIED
Maria K BriddickUnited KingdomElwin Sharvill RENEWAL
Misaki W RoysterFranceAnna Fali QUALIFIED
Leja R VenereAustraliaStephen Shaw RENEWAL
Clifford D GillianAustraliaIvan Magalhaes QUALIFIED
James X OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Isabel W FerenczItalyAmy Elsner NEW
Octavia R DilliardArgentinaIoni Bowcher QUALIFIED
Jefferson C BowleySpainElwin Sharvill QUALIFIED
Adams W WhobreyBrazilElwin Sharvill NEGOTIATION
Smith W FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Octavia F ShinkoBrazilOnyama Limba NEW
Mayumi G WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Kadeem J FigeroaArgentinaAnna Fali UNQUALIFIED
Smith L StockhamCanadaAmy Elsner QUALIFIED
Greenwood F CaudyIndiaAnna Fali UNQUALIFIED
Mujtaba P VenereFranceElwin Sharvill NEW
Salvatore I StockhamSpainAmy Elsner NEW
Adams T GlickIndiaAsiya Javayant RENEWAL
Chavez D RutaGermanyAmy Elsner UNQUALIFIED
Kaitlin S GarufiSpainIvan Magalhaes NEGOTIATION
Leon J IturbideIndiaBernardo Dominic RENEWAL
Izzy U GlickJapanAnna Fali NEW
Rodrigues U VocelkaIndiaBernardo Dominic NEGOTIATION
Claire I FollerCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois R OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Aruna X IturbideItalyElwin Sharvill RENEWAL
Murillo K PerinArgentinaElwin Sharvill NEGOTIATION
Costa V KuskoSpainIoni Bowcher UNQUALIFIED
Johnson Z BriddickFranceIoni Bowcher PROPOSAL
Claire B VocelkaBrazilBernardo Dominic PROPOSAL
Adams I GarufiGermanyIvan Magalhaes PROPOSAL
Mujtaba P PerinUnited KingdomElwin Sharvill RENEWAL
Wickens R DoeFranceStephen Shaw RENEWAL
Sinclair Y ShinkoJapanXuxue Feng UNQUALIFIED
Octavia C NestleGermanyXuxue Feng NEW
Chavez S SchemmerArgentinaAsiya Javayant QUALIFIED
Deepesh A SaylorsFranceElwin Sharvill RENEWAL
Leja N BriddickBrazilAmy Elsner NEW
Murillo R WieserSpainXuxue Feng QUALIFIED
Cody W SlusarskiGermanyIoni Bowcher PROPOSAL
Arvin L MorascaFranceElwin Sharvill NEGOTIATION
David P MacleadGermanyStephen Shaw NEW
Silvio N RulapaughUnited KingdomAmy Elsner PROPOSAL
Frozen Columns
Name
Kaitlin U Malet
Ricardo U Vocelka
Morrow U Garufi
Johnson P Campain
Jefferson D Garufi
Sinclair D Poquette
Murillo C Vocelka
Ivar P Campain
Maria U Malet
Faith I Morasca
Aika S Inouye
Nicolas R Glick
Ivar H Slusarski
Silvio F Schemmer
Leja O Stenseth
Aditya U Maclead
Silvio J Butt
Chavez I Poquette
Jones A Kolmetz
Wickens J Bolognia
Leon B Caldarera
Ashley A Poquette
Adams C Paprocki
Johnson S Ferencz
Ivar S Sergi
Stacey M Doe
Leja W Marrier
Francesco L Ferencz
Antonio D Foller
Juan D Sergi
Salvatore F Ruta
Octavia V Caldarera
Mujtaba O Marrier
David F Perin
Isabel G Maclead
Ricardo V Saylors
Alejandro B Shinko
Juan J Malet
Wickens V Venere
Jefferson F Albares
Julie Y Malet
Ricardo T Rulapaugh
Jeanfrancois S Ferencz
Aditya K Waycott
Isabel G Bolognia
Kaitlin A Dilliard
James M Slusarski
Misaki M Briddick
Chavez L Tollner
Leon J Gillian
IdCountryDate
1000Germany2026-07-26
1001Germany2026-07-23
1002Australia2026-07-26
1003France2026-07-02
1004Russia2026-07-10
1005France2026-07-05
1006Germany2026-07-09
1007Germany2026-07-18
1008Canada2026-07-01
1009Brazil2026-07-05
1010Russia2026-07-14
1011Russia2026-07-16
1012Australia2026-07-15
1013Spain2026-07-03
1014Spain2026-07-01
1015United Kingdom2026-06-28
1016Brazil2026-07-04
1017Australia2026-07-22
1018Russia2026-07-24
1019Italy2026-07-21
1020France2026-07-19
1021Brazil2026-07-09
1022Argentina2026-07-13
1023Australia2026-07-13
1024Canada2026-07-07
1025Brazil2026-07-07
1026United Kingdom2026-07-24
1027Spain2026-07-24
1028United Kingdom2026-07-13
1029Italy2026-07-18
1030Japan2026-06-28
1031Russia2026-07-25
1032France2026-07-21
1033Italy2026-07-27
1034Japan2026-07-18
1035Canada2026-07-08
1036Russia2026-07-08
1037Japan2026-06-30
1038Spain2026-07-15
1039Canada2026-07-03
1040Argentina2026-07-18
1041Argentina2026-07-14
1042Spain2026-07-03
1043France2026-07-10
1044Russia2026-07-14
1045Brazil2026-07-02
1046Italy2026-07-14
1047France2026-07-17
1048Germany2026-07-09
1049Argentina2026-07-09

On-Demand Data

NameIdCountryDate
Ashley N Bolognia1000Argentina2026-07-06
Johnson O Caldarera1001France2026-07-14
Stacey J Ostrosky1002India2026-06-29
Nicolas E Flosi1003Canada2026-07-12
Aruna H Tollner1004Japan2026-07-05
Jefferson U Foller1005Germany2026-07-24
Silvio G Nicka1006Argentina2026-06-30
Ashley J Royster1007Canada2026-07-20
James W Malet1008Argentina2026-07-10
Emily A Garufi1009Canada2026-07-10
Tony E Malet1010Brazil2026-07-26
Rodrigues O Rim1011Germany2026-07-09
Julie K Bowley1012Japan2026-07-09
Morrow F Iturbide1013Italy2026-07-09
Jeanfrancois X Bolognia1014Germany2026-07-06
Juan E Dilliard1015Argentina2026-07-22
Jeanfrancois E Malet1016Japan2026-07-01
Tony V Ruta1017France2026-07-05
Chavez N Ferencz1018France2026-07-10
Stacey F Butt1019United Kingdom2026-07-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio K StensethBrazilElwin Sharvill NEW
Johnson V PerinRussiaStephen Shaw QUALIFIED
Tony F GarufiUnited KingdomAnna Fali NEGOTIATION
Darci Z GauchoCanadaXuxue Feng QUALIFIED
Claire E GillianAustraliaStephen Shaw RENEWAL
Adams N BriddickSpainBernardo Dominic NEGOTIATION
Jeanfrancois G AlbaresBrazilOnyama Limba NEGOTIATION
Leon N FigeroaCanadaAsiya Javayant UNQUALIFIED
Ricardo W InouyeIndiaStephen Shaw UNQUALIFIED
Leja O DilliardFranceBernardo Dominic RENEWAL
Stacey I StockhamArgentinaOnyama Limba UNQUALIFIED
Johnson J InouyeRussiaStephen Shaw NEGOTIATION
Johnson A TollnerAustraliaAmy Elsner QUALIFIED
Morrow P StockhamFranceAmy Elsner UNQUALIFIED
Arvin B StockhamJapanOnyama Limba RENEWAL
Maria T KolmetzBrazilAsiya Javayant NEGOTIATION
Ricardo S KolmetzUnited KingdomStephen Shaw NEW
Claire B FerenczItalyStephen Shaw PROPOSAL
Antonio H StensethBrazilIvan Magalhaes UNQUALIFIED
Adams E ShinkoCanadaIvan Magalhaes NEW
Kaitlin N AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Cody F MaletArgentinaStephen Shaw NEGOTIATION
Clifford V MorascaFranceAnna Fali NEW
Jeanfrancois Y StockhamIndiaAmy Elsner NEW
Chavez F SergiJapanOnyama Limba NEGOTIATION
Misaki Y GauchoJapanAsiya Javayant QUALIFIED
Jeanfrancois D WhobreyBrazilAsiya Javayant RENEWAL
Emily B CaudyBrazilAmy Elsner NEGOTIATION
Murillo E RutaItalyXuxue Feng NEGOTIATION
Adams N WieserJapanOnyama Limba NEGOTIATION
Smith C KolmetzFranceAsiya Javayant UNQUALIFIED
Mujtaba N FerenczAustraliaIvan Magalhaes PROPOSAL
Ricardo G ButtRussiaAsiya Javayant RENEWAL
Maisha F PaprockiCanadaBernardo Dominic UNQUALIFIED
Mujtaba G DoeUnited KingdomAmy Elsner NEGOTIATION
James G PaprockiJapanAnna Fali PROPOSAL
Ashley X FerenczJapanXuxue Feng RENEWAL
Cody M GillianFranceAmy Elsner PROPOSAL
Greenwood R VocelkaAustraliaAmy Elsner NEGOTIATION
Nicolas X SaylorsCanadaStephen Shaw RENEWAL

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