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 V RoysterGermanyXuxue Feng QUALIFIED
Cody O OldroydAustraliaElwin Sharvill QUALIFIED
Leon N MorascaCanadaAnna Fali RENEWAL
Costa L CampainGermanyStephen Shaw NEW
Smith X KolmetzItalyXuxue Feng PROPOSAL
Clifford E MorascaUnited KingdomIoni Bowcher RENEWAL
Johnson S InouyeFranceIoni Bowcher NEGOTIATION
Alejandro K WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Munro L GillianBrazilIvan Magalhaes UNQUALIFIED
Juan V FigeroaCanadaIoni Bowcher RENEWAL
Jones F RutaBrazilIoni Bowcher QUALIFIED
Leon X RoysterUnited KingdomIoni Bowcher NEGOTIATION
Darci F PoquetteIndiaAsiya Javayant RENEWAL
Jeanfrancois B RoysterFranceStephen Shaw PROPOSAL
Rodrigues F DarakjyJapanBernardo Dominic UNQUALIFIED
Juan Y WaycottAustraliaXuxue Feng PROPOSAL
Silvio J BologniaSpainAsiya Javayant PROPOSAL
Alejandro Q OstroskyItalyElwin Sharvill PROPOSAL
Izzy V OstroskyBrazilStephen Shaw QUALIFIED
Mayumi F PaprockiSpainXuxue Feng QUALIFIED
Ricardo S DarakjySpainXuxue Feng NEW
James I RimArgentinaXuxue Feng NEGOTIATION
Maisha D DilliardSpainStephen Shaw QUALIFIED
Nicolas F OldroydRussiaXuxue Feng QUALIFIED
Munro L IturbideSpainStephen Shaw RENEWAL
Ivar K SlusarskiFranceIvan Magalhaes NEW
Leon R RoysterRussiaAmy Elsner NEGOTIATION
Jefferson Y GauchoJapanElwin Sharvill NEGOTIATION
Kaitlin T PaprockiIndiaIvan Magalhaes QUALIFIED
Julie L VenereFranceAmy Elsner NEGOTIATION
Aditya V IturbideJapanXuxue Feng PROPOSAL
Aditya F VocelkaJapanIoni Bowcher RENEWAL
Ashley F NestleUnited KingdomStephen Shaw UNQUALIFIED
Clifford T OldroydJapanBernardo Dominic UNQUALIFIED
Cody G CaldareraRussiaOnyama Limba UNQUALIFIED
Ashley Z CampainGermanyXuxue Feng RENEWAL
Claire M BowleyAustraliaAnna Fali RENEWAL
Claire E DoeSpainAsiya Javayant PROPOSAL
Jefferson Q PaprockiAustraliaIvan Magalhaes RENEWAL
Ivar S RimRussiaIoni Bowcher NEGOTIATION
Morrow B AlbaresFranceIoni Bowcher NEW
Arvin S NestleItalyBernardo Dominic NEW
Clifford W MacleadUnited KingdomAnna Fali PROPOSAL
Murillo T IturbideRussiaAsiya Javayant RENEWAL
Smith Q FerenczJapanStephen Shaw NEW
Adams Z BologniaGermanyXuxue Feng NEW
Julie K TollnerBrazilStephen Shaw UNQUALIFIED
Clifford I SergiRussiaOnyama Limba PROPOSAL
Aruna G VocelkaSpainStephen Shaw UNQUALIFIED
Jennifer A DarakjyBrazilElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel G StockhamAustraliaAnna Fali NEW
Aika J TollnerSpainOnyama Limba NEGOTIATION
Clifford D VenereIndiaBernardo Dominic UNQUALIFIED
Antonio P DoeSpainBernardo Dominic UNQUALIFIED
Jefferson W RoysterGermanyXuxue Feng NEW
Aruna V NestleCanadaIoni Bowcher PROPOSAL
Juan M KolmetzAustraliaAsiya Javayant PROPOSAL
Adams C KolmetzCanadaXuxue Feng QUALIFIED
Murillo F OstroskyCanadaIvan Magalhaes RENEWAL
Darci P PerinIndiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon S PaprockiSpain2025-04-28Chapman, Ross E Esq UNQUALIFIED65Ivan Magalhaes
1001Alejandro X GillianCanada2025-05-02Chanay, Jeffrey A Esq NEW3Ioni Bowcher
1002Isabel D CaldareraSpain2025-04-30Printing Dimensions PROPOSAL14Asiya Javayant
1003Izzy S OldroydItaly2025-04-27Dorl, James J Esq UNQUALIFIED38Amy Elsner
1004Isabel E WhobreyAustralia2025-05-05King, Christopher A Esq UNQUALIFIED25Anna Fali
1005Ivar R MorascaItaly2025-05-02Feiner Bros PROPOSAL98Stephen Shaw
1006Wickens D RoysterUnited Kingdom2025-05-10Buckley Miller Wright UNQUALIFIED94Onyama Limba
1007Jones S OldroydIndia2025-05-06Chanay, Jeffrey A Esq RENEWAL39Ivan Magalhaes
1008Clifford A CaldareraUnited Kingdom2025-05-08King, Christopher A Esq QUALIFIED1Anna Fali
1009Smith G BowleyItaly2025-05-09Rangoni Of Florence QUALIFIED2Anna Fali
1010Jones V WieserJapan2025-05-08Rangoni Of Florence RENEWAL82Ivan Magalhaes
1011Julie G RutaRussia2025-05-08Chanay, Jeffrey A Esq PROPOSAL35Asiya Javayant
1012Francesco I OldroydUnited Kingdom2025-05-06Morlong Associates PROPOSAL17Onyama Limba
1013Morrow F GillianIndia2025-04-16Commercial Press RENEWAL37Anna Fali
1014Rodrigues P GauchoJapan2025-05-04King, Christopher A Esq RENEWAL15Xuxue Feng
1015Murillo X GillianItaly2025-04-25King, Christopher A Esq RENEWAL9Anna Fali
1016Leon D MarrierIndia2025-04-13Rangoni Of Florence NEW99Bernardo Dominic
1017Leon A WhobreyItaly2025-04-18Chemel, James L Cpa UNQUALIFIED98Ioni Bowcher
1018Leja S FerenczSpain2025-05-09Feiner Bros QUALIFIED95Anna Fali
1019Nicolas Y RulapaughBrazil2025-04-23Rangoni Of Florence QUALIFIED61Ivan Magalhaes
1020Mayumi G TollnerFrance2025-04-21Rangoni Of Florence UNQUALIFIED25Stephen Shaw
1021Francesco W GarufiBrazil2025-04-19Chemel, James L Cpa RENEWAL51Anna Fali
1022Leon J GlickUnited Kingdom2025-05-10Morlong Associates NEW58Ivan Magalhaes
1023Chavez Y BologniaIndia2025-04-17Feiner Bros PROPOSAL72Ivan Magalhaes
1024Misaki N SaylorsBrazil2025-05-08Chemel, James L Cpa QUALIFIED98Elwin Sharvill
1025Claire C ChuiSpain2025-04-13Feiner Bros PROPOSAL78Anna Fali
1026Smith S PaprockiCanada2025-04-20Dorl, James J Esq NEGOTIATION67Amy Elsner
1027Clifford U AlbaresAustralia2025-04-22Dorl, James J Esq QUALIFIED18Ioni Bowcher
1028Salvatore J DilliardSpain2025-04-13Chapman, Ross E Esq NEW14Ivan Magalhaes
1029Izzy T DilliardRussia2025-04-23Dorl, James J Esq NEGOTIATION94Asiya Javayant
1030Jones V CaldareraItaly2025-04-18Feltz Printing Service RENEWAL1Anna Fali
1031Murillo L BologniaArgentina2025-04-14Chemel, James L Cpa PROPOSAL90Xuxue Feng
1032Kadeem H KolmetzItaly2025-04-16Chanay, Jeffrey A Esq RENEWAL31Asiya Javayant
1033Silvio N KuskoAustralia2025-05-09Buckley Miller Wright NEW95Xuxue Feng
1034Jennifer P StensethJapan2025-04-28Feltz Printing Service NEGOTIATION37Asiya Javayant
1035Wickens Z SergiAustralia2025-05-10Dorl, James J Esq QUALIFIED87Xuxue Feng
1036Antonio N PerinCanada2025-05-05Benton, John B Jr QUALIFIED3Stephen Shaw
1037Emily C DoeRussia2025-04-19Chanay, Jeffrey A Esq UNQUALIFIED9Asiya Javayant
1038Greenwood T StensethGermany2025-05-04Benton, John B Jr NEGOTIATION93Onyama Limba
1039Johnson Y RulapaughItaly2025-04-16Chemel, James L Cpa UNQUALIFIED47Onyama Limba
1040Cody W SaylorsArgentina2025-04-16Buckley Miller Wright PROPOSAL22Anna Fali
1041Murillo T CaudyBrazil2025-05-01King, Christopher A Esq QUALIFIED78Amy Elsner
1042Isabel O AlbaresSpain2025-04-13Feiner Bros NEGOTIATION86Ivan Magalhaes
1043Nicolas D WieserArgentina2025-04-27Buckley Miller Wright NEW93Onyama Limba
1044Aditya M PerinUnited Kingdom2025-04-27Printing Dimensions PROPOSAL13Stephen Shaw
1045Francesco E MacleadUnited Kingdom2025-05-01Dorl, James J Esq QUALIFIED71Bernardo Dominic
1046Salvatore N ChuiSpain2025-04-21Feiner Bros NEGOTIATION92Xuxue Feng
1047Sinclair L PaprockiBrazil2025-04-19Rangoni Of Florence PROPOSAL54Elwin Sharvill
1048Alejandro Z TollnerGermany2025-04-11Buckley Miller Wright NEGOTIATION85Asiya Javayant
1049Ivar J WhobreyBrazil2025-05-05Printing Dimensions RENEWAL90Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aditya B MorascaCanadaAnna Fali QUALIFIED
Tony F CaudyIndiaAsiya Javayant UNQUALIFIED
Juan U StensethFranceAsiya Javayant UNQUALIFIED
Emily W ChuiIndiaIvan Magalhaes QUALIFIED
Kadeem E GarufiBrazilXuxue Feng QUALIFIED
Sinclair M PoquetteUnited KingdomBernardo Dominic NEW
Darci N NickaGermanyStephen Shaw NEW
Silvio S GlickIndiaIvan Magalhaes NEGOTIATION
Darci C WhobreyArgentinaAmy Elsner PROPOSAL
Leon P KolmetzArgentinaOnyama Limba RENEWAL
Clifford H DilliardSpainOnyama Limba NEW
Alejandro V CaudyGermanyIvan Magalhaes NEGOTIATION
Morrow M VenereSpainIoni Bowcher PROPOSAL
Misaki G RimFranceXuxue Feng NEGOTIATION
Arvin Z SlusarskiCanadaBernardo Dominic NEW
Juan Q CaldareraJapanXuxue Feng UNQUALIFIED
Emily A KolmetzGermanyAsiya Javayant NEGOTIATION
Ashley F RutaBrazilIoni Bowcher UNQUALIFIED
Smith X StensethUnited KingdomIoni Bowcher PROPOSAL
Mujtaba M BologniaAustraliaAsiya Javayant NEGOTIATION
James R AmigonAustraliaIvan Magalhaes QUALIFIED
Cody C WhobreyFranceBernardo Dominic NEW
Aruna X ButtIndiaBernardo Dominic UNQUALIFIED
Kadeem J VenereGermanyBernardo Dominic NEGOTIATION
Juan S ShinkoRussiaStephen Shaw UNQUALIFIED
Francesco F RoysterItalyAmy Elsner UNQUALIFIED
Adams K PaprockiFranceAmy Elsner UNQUALIFIED
Stacey I PoquetteSpainAnna Fali UNQUALIFIED
Salvatore L StensethFranceXuxue Feng UNQUALIFIED
Leon H NickaIndiaXuxue Feng NEW
Greenwood O BologniaFranceAnna Fali QUALIFIED
Ashley U GlickUnited KingdomStephen Shaw NEGOTIATION
Darci Z CampainItalyStephen Shaw NEGOTIATION
Morrow P WieserAustraliaElwin Sharvill PROPOSAL
Arvin O AlbaresBrazilBernardo Dominic NEW
Leja B StockhamRussiaAnna Fali NEW
Claire F CaudyArgentinaAnna Fali NEGOTIATION
Murillo R KuskoCanadaOnyama Limba UNQUALIFIED
Isabel Q ShinkoSpainOnyama Limba NEGOTIATION
Leon G CaldareraCanadaStephen Shaw UNQUALIFIED
Jennifer W NestleIndiaAsiya Javayant QUALIFIED
Costa M CaldareraArgentinaIoni Bowcher NEW
Julie Y MorascaArgentinaIvan Magalhaes NEW
Ricardo P MacleadJapanAmy Elsner NEGOTIATION
Deepesh H InouyeAustraliaStephen Shaw QUALIFIED
Leja G BriddickFranceIoni Bowcher NEW
Smith X GauchoCanadaXuxue Feng NEGOTIATION
Greenwood V VenereFranceIoni Bowcher NEW
Jefferson J AmigonCanadaBernardo Dominic QUALIFIED
Emily V DoeJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Misaki R Gillian
Kaitlin U Briddick
Jeanfrancois W Maclead
Emily A Nestle
Silvio E Slusarski
Faith D Chui
Julie S Flosi
Nicolas L Morasca
Johnson L Butt
Adams A Kolmetz
Smith F Ostrosky
Alejandro K Rulapaugh
Emily Q Stockham
Emily K Shinko
Maisha I Royster
Mujtaba Z Flosi
Jennifer P Vocelka
Aditya Y Wieser
Salvatore N Caldarera
Octavia U Amigon
Mayumi E Nestle
Misaki O Marrier
Ivar W Schemmer
Silvio G Rulapaugh
Stacey M Caudy
Johnson L Inouye
David I Bowley
Izzy R Wieser
Juan W Maclead
Jennifer Y Iturbide
Claire S Stockham
Mujtaba D Nicka
Jones E Darakjy
Maisha S Chui
Mujtaba K Bolognia
Munro Y Rulapaugh
Antonio E Nestle
Alejandro K Chui
Jennifer X Butt
Cody K Inouye
Ashley U Gaucho
Jones V Albares
Aditya N Malet
Jeanfrancois C Gaucho
Murillo N Perin
Faith J Kolmetz
Antonio Z Glick
Isabel J Briddick
Ivar W Morasca
Julie T Caudy
IdCountryDate
1000Russia2025-05-02
1001Italy2025-05-05
1002Germany2025-04-30
1003Canada2025-04-15
1004Spain2025-04-21
1005India2025-04-12
1006Italy2025-04-13
1007United Kingdom2025-04-21
1008Argentina2025-04-12
1009Germany2025-04-14
1010United Kingdom2025-04-23
1011India2025-04-25
1012United Kingdom2025-05-01
1013Japan2025-04-26
1014Italy2025-04-13
1015Australia2025-04-23
1016Australia2025-04-21
1017India2025-04-28
1018Brazil2025-04-11
1019Argentina2025-05-07
1020Russia2025-04-24
1021Russia2025-04-26
1022Spain2025-05-05
1023Argentina2025-04-15
1024Spain2025-04-13
1025United Kingdom2025-05-02
1026France2025-04-25
1027Germany2025-05-05
1028Spain2025-05-04
1029India2025-05-10
1030Argentina2025-04-12
1031Spain2025-04-20
1032United Kingdom2025-04-21
1033Australia2025-04-25
1034Canada2025-04-25
1035Brazil2025-04-20
1036Japan2025-04-20
1037Russia2025-04-20
1038France2025-04-29
1039France2025-05-09
1040Canada2025-04-26
1041Russia2025-04-11
1042United Kingdom2025-04-14
1043United Kingdom2025-05-01
1044Brazil2025-05-02
1045Australia2025-04-25
1046India2025-04-22
1047Australia2025-05-09
1048Spain2025-04-23
1049Australia2025-05-10

On-Demand Data

NameIdCountryDate
Aruna C Darakjy1000Canada2025-04-14
David Y Oldroyd1001France2025-04-20
Aruna I Poquette1002Germany2025-04-28
Arvin X Bowley1003United Kingdom2025-05-08
Ricardo K Tollner1004India2025-04-29
Leon N Marrier1005Canada2025-04-23
Munro M Waycott1006India2025-05-05
Ashley Y Butt1007India2025-04-30
Tony T Rim1008Japan2025-04-15
Jones Z Nicka1009Italy2025-05-10
Maisha R Ruta1010Canada2025-04-12
Faith T Malet1011France2025-04-25
Morrow N Malet1012Argentina2025-04-25
Izzy X Flosi1013Germany2025-04-11
Alejandro K Caudy1014Russia2025-04-15
Greenwood H Tollner1015Japan2025-05-07
Mayumi G Malet1016Canada2025-04-13
Antonio A Chui1017Germany2025-04-26
Nicolas J Glick1018Australia2025-04-15
Mujtaba H Dilliard1019Spain2025-04-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois Y ChuiAustraliaIvan Magalhaes QUALIFIED
Faith N NestleItalyOnyama Limba NEW
Mujtaba N OldroydFranceElwin Sharvill PROPOSAL
David F FollerUnited KingdomIvan Magalhaes RENEWAL
Misaki P InouyeFranceAnna Fali QUALIFIED
Francesco U VenereAustraliaXuxue Feng UNQUALIFIED
Julie I ChuiBrazilBernardo Dominic PROPOSAL
Antonio P BowleyUnited KingdomAmy Elsner UNQUALIFIED
Chavez A SlusarskiJapanBernardo Dominic NEW
Aditya A SchemmerUnited KingdomElwin Sharvill QUALIFIED
Aruna Y DilliardAustraliaXuxue Feng QUALIFIED
Silvio D StensethFranceXuxue Feng RENEWAL
Mujtaba T ShinkoItalyOnyama Limba NEW
David D VenereSpainAnna Fali QUALIFIED
Smith N CaldareraRussiaAsiya Javayant QUALIFIED
Faith B WieserAustraliaAsiya Javayant RENEWAL
Mujtaba S FerenczBrazilIoni Bowcher PROPOSAL
Greenwood N StockhamIndiaStephen Shaw RENEWAL
Smith Y MorascaSpainIvan Magalhaes NEW
Jefferson L GlickSpainAmy Elsner UNQUALIFIED
Morrow Y BowleyBrazilAmy Elsner NEGOTIATION
Octavia R SaylorsAustraliaIoni Bowcher NEGOTIATION
Julie G BologniaJapanXuxue Feng PROPOSAL
Nicolas F KolmetzGermanyOnyama Limba NEGOTIATION
Munro K FollerCanadaAsiya Javayant QUALIFIED
James G GillianArgentinaOnyama Limba QUALIFIED
Kadeem Y ShinkoUnited KingdomElwin Sharvill RENEWAL
James Q MarrierIndiaBernardo Dominic NEGOTIATION
Salvatore B MaletCanadaAnna Fali NEGOTIATION
Morrow E NickaSpainAsiya Javayant QUALIFIED
Costa C RimArgentinaIvan Magalhaes NEW
Rodrigues W FigeroaSpainAsiya Javayant PROPOSAL
Antonio Q FerenczUnited KingdomIvan Magalhaes RENEWAL
Julie O AlbaresJapanAnna Fali NEW
Misaki K ButtJapanElwin Sharvill PROPOSAL
Maisha X FollerArgentinaAsiya Javayant RENEWAL
Antonio Z BowleyGermanyIvan Magalhaes NEGOTIATION
Faith F WieserJapanOnyama Limba RENEWAL
Salvatore O GauchoAustraliaAnna Fali PROPOSAL
Maria T MaletFranceElwin Sharvill 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>