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
Darci D AmigonFranceXuxue Feng RENEWAL
Faith D SlusarskiJapanIoni Bowcher QUALIFIED
Rodrigues K RutaJapanElwin Sharvill RENEWAL
Rodrigues T RutaFranceAsiya Javayant NEW
Jeanfrancois T IturbideIndiaAnna Fali PROPOSAL
Aruna B RoysterUnited KingdomXuxue Feng NEGOTIATION
Misaki N InouyeCanadaBernardo Dominic QUALIFIED
Jones O SlusarskiSpainAnna Fali NEGOTIATION
Kaitlin J ShinkoRussiaBernardo Dominic QUALIFIED
Aruna X SergiArgentinaAmy Elsner PROPOSAL
Murillo I IturbideCanadaBernardo Dominic UNQUALIFIED
Emily J SlusarskiIndiaBernardo Dominic PROPOSAL
Tony A NickaSpainBernardo Dominic NEW
Juan N FlosiIndiaStephen Shaw RENEWAL
Izzy U BologniaItalyAsiya Javayant QUALIFIED
Izzy C FigeroaArgentinaIoni Bowcher UNQUALIFIED
Antonio U RulapaughRussiaIvan Magalhaes QUALIFIED
Munro G PaprockiSpainIvan Magalhaes RENEWAL
Jeanfrancois I VenereFranceAnna Fali UNQUALIFIED
Rodrigues A DilliardBrazilStephen Shaw PROPOSAL
Adams O SergiItalyAmy Elsner PROPOSAL
Isabel T MorascaFranceIoni Bowcher NEW
Darci L StockhamSpainStephen Shaw RENEWAL
Ricardo S CaudyAustraliaAmy Elsner NEGOTIATION
Francesco K ButtUnited KingdomElwin Sharvill UNQUALIFIED
Leja P CampainCanadaAnna Fali RENEWAL
Jennifer F NickaBrazilAmy Elsner QUALIFIED
Antonio W FollerJapanOnyama Limba QUALIFIED
Leon G SchemmerCanadaAmy Elsner RENEWAL
Maria H WieserAustraliaAnna Fali PROPOSAL
Morrow M KuskoGermanyIvan Magalhaes PROPOSAL
Julie X MaletBrazilXuxue Feng PROPOSAL
Johnson P MacleadAustraliaAsiya Javayant UNQUALIFIED
Aruna A RoysterCanadaIoni Bowcher NEGOTIATION
Aditya G MaletGermanyIvan Magalhaes NEW
Misaki M GarufiUnited KingdomOnyama Limba NEGOTIATION
Chavez E TollnerCanadaIoni Bowcher RENEWAL
Sinclair R FlosiItalyOnyama Limba PROPOSAL
Mujtaba Z PerinGermanyXuxue Feng NEW
Chavez O CaudyRussiaIvan Magalhaes PROPOSAL
Chavez R MaletAustraliaStephen Shaw NEW
Johnson I PerinCanadaOnyama Limba NEW
Maria I InouyeRussiaAnna Fali RENEWAL
Darci L DarakjyArgentinaOnyama Limba RENEWAL
Munro Q KuskoUnited KingdomAsiya Javayant QUALIFIED
Leja X FerenczAustraliaAmy Elsner QUALIFIED
Julie L WieserItalyAnna Fali PROPOSAL
Maria G BologniaFranceOnyama Limba NEW
Antonio Y CampainRussiaIvan Magalhaes NEGOTIATION
Claire M FigeroaRussiaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez A GarufiUnited KingdomAnna Fali QUALIFIED
Ricardo M CaldareraBrazilAnna Fali NEGOTIATION
Silvio K DilliardJapanAnna Fali NEW
Alejandro F SlusarskiItalyBernardo Dominic NEW
Octavia O FigeroaCanadaOnyama Limba UNQUALIFIED
Costa J FollerArgentinaStephen Shaw RENEWAL
Francesco U FollerCanadaElwin Sharvill QUALIFIED
Munro Y ButtCanadaIvan Magalhaes RENEWAL
Cody D FigeroaFranceElwin Sharvill NEGOTIATION
Adams U StensethSpainElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith D CaudyJapan2025-06-13Chanay, Jeffrey A Esq NEW63Ivan Magalhaes
1001Clifford J InouyeArgentina2025-05-25Truhlar And Truhlar Attys UNQUALIFIED25Anna Fali
1002Smith O MaletBrazil2025-05-20Rousseaux, Michael Esq QUALIFIED89Ioni Bowcher
1003Chavez T CaldareraGermany2025-06-09Buckley Miller Wright UNQUALIFIED90Ivan Magalhaes
1004Greenwood N KuskoAustralia2025-06-10Chapman, Ross E Esq UNQUALIFIED88Anna Fali
1005Alejandro R TollnerJapan2025-05-18Chapman, Ross E Esq PROPOSAL8Stephen Shaw
1006Nicolas Y PoquetteIndia2025-05-31Chapman, Ross E Esq UNQUALIFIED16Ivan Magalhaes
1007Maisha S FerenczArgentina2025-06-02Morlong Associates RENEWAL67Xuxue Feng
1008Mayumi J SergiItaly2025-05-27Rousseaux, Michael Esq NEW72Stephen Shaw
1009Maria T InouyeCanada2025-06-03Printing Dimensions PROPOSAL88Onyama Limba
1010Izzy N TollnerJapan2025-05-28Dorl, James J Esq NEGOTIATION66Ioni Bowcher
1011Aruna P CaldareraRussia2025-05-18Printing Dimensions NEW47Onyama Limba
1012Claire I DarakjyAustralia2025-06-05Chemel, James L Cpa NEW77Ivan Magalhaes
1013Cody Z MacleadItaly2025-05-25Rangoni Of Florence UNQUALIFIED86Bernardo Dominic
1014Juan R FerenczUnited Kingdom2025-05-22Morlong Associates RENEWAL43Stephen Shaw
1015Maisha L MaletIndia2025-05-18Benton, John B Jr NEW47Anna Fali
1016Morrow M CampainAustralia2025-05-25Printing Dimensions PROPOSAL90Ioni Bowcher
1017Arvin N OstroskyItaly2025-06-03Morlong Associates PROPOSAL15Asiya Javayant
1018Isabel G RimGermany2025-05-26Dorl, James J Esq NEW88Onyama Limba
1019Izzy P ChuiCanada2025-06-09Chanay, Jeffrey A Esq PROPOSAL90Stephen Shaw
1020Mujtaba R MorascaCanada2025-05-23Commercial Press UNQUALIFIED57Ivan Magalhaes
1021Emily Z CaudySpain2025-06-12Buckley Miller Wright QUALIFIED74Asiya Javayant
1022Silvio Z SergiSpain2025-05-18Chapman, Ross E Esq PROPOSAL78Asiya Javayant
1023Ricardo H MacleadGermany2025-06-13Morlong Associates UNQUALIFIED71Onyama Limba
1024Misaki J DarakjyIndia2025-05-18Chapman, Ross E Esq PROPOSAL13Xuxue Feng
1025Aika S TollnerIndia2025-05-24Commercial Press UNQUALIFIED66Elwin Sharvill
1026Antonio B GillianAustralia2025-06-11Morlong Associates PROPOSAL31Amy Elsner
1027Claire U BologniaIndia2025-05-25Commercial Press QUALIFIED19Onyama Limba
1028James Q SergiArgentina2025-05-29Chanay, Jeffrey A Esq RENEWAL34Bernardo Dominic
1029Maisha I FollerItaly2025-06-02Truhlar And Truhlar Attys UNQUALIFIED97Amy Elsner
1030Deepesh D StockhamSpain2025-06-04Feltz Printing Service QUALIFIED94Stephen Shaw
1031Jones C WaycottFrance2025-06-13Feltz Printing Service PROPOSAL17Anna Fali
1032Chavez W RutaRussia2025-05-21Truhlar And Truhlar Attys RENEWAL0Stephen Shaw
1033Leja N DoeBrazil2025-06-07Rousseaux, Michael Esq RENEWAL0Asiya Javayant
1034Izzy R OstroskyArgentina2025-06-13Truhlar And Truhlar Attys NEGOTIATION35Ioni Bowcher
1035Jefferson E NickaArgentina2025-05-23King, Christopher A Esq NEW19Anna Fali
1036Emily I AmigonFrance2025-05-30Commercial Press UNQUALIFIED93Stephen Shaw
1037Claire N GarufiArgentina2025-06-05Commercial Press NEGOTIATION16Asiya Javayant
1038Emily F AlbaresSpain2025-05-30Morlong Associates PROPOSAL75Xuxue Feng
1039Aika Q FlosiCanada2025-05-26King, Christopher A Esq NEW44Amy Elsner
1040Faith G PoquetteArgentina2025-06-15Dorl, James J Esq UNQUALIFIED60Bernardo Dominic
1041Mayumi V SchemmerItaly2025-06-13Rousseaux, Michael Esq RENEWAL78Onyama Limba
1042Greenwood V NestleAustralia2025-05-20Chapman, Ross E Esq NEGOTIATION0Elwin Sharvill
1043Nicolas D InouyeBrazil2025-06-09King, Christopher A Esq PROPOSAL67Anna Fali
1044Maria K StensethIndia2025-05-23Chemel, James L Cpa PROPOSAL38Ivan Magalhaes
1045Stacey I ButtRussia2025-05-17Truhlar And Truhlar Attys RENEWAL40Ioni Bowcher
1046Deepesh L RulapaughBrazil2025-06-12Rousseaux, Michael Esq NEW20Anna Fali
1047Stacey E PerinItaly2025-06-06Feltz Printing Service UNQUALIFIED58Xuxue Feng
1048Rodrigues B SlusarskiRussia2025-05-17Feltz Printing Service RENEWAL21Onyama Limba
1049Jefferson M RulapaughRussia2025-06-13Truhlar And Truhlar Attys QUALIFIED13Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Faith B PerinAustraliaXuxue Feng NEGOTIATION
Wickens A DilliardAustraliaBernardo Dominic RENEWAL
Francesco A StensethCanadaOnyama Limba UNQUALIFIED
Mayumi O MarrierArgentinaAnna Fali NEGOTIATION
Faith W BologniaJapanAsiya Javayant NEGOTIATION
Isabel B KolmetzRussiaIoni Bowcher RENEWAL
Kadeem S MaletRussiaIvan Magalhaes QUALIFIED
Octavia F AmigonAustraliaAsiya Javayant UNQUALIFIED
Costa X NestleIndiaAnna Fali PROPOSAL
Clifford M KuskoGermanyAnna Fali QUALIFIED
Juan O RulapaughJapanAnna Fali RENEWAL
Mujtaba S CaudyRussiaAmy Elsner UNQUALIFIED
Cody M AlbaresArgentinaXuxue Feng UNQUALIFIED
Antonio I WhobreyJapanBernardo Dominic UNQUALIFIED
Chavez B BriddickCanadaAmy Elsner RENEWAL
Nicolas Z ButtRussiaIvan Magalhaes NEW
Murillo V GauchoJapanXuxue Feng RENEWAL
Mujtaba X AlbaresJapanOnyama Limba RENEWAL
James U AmigonFranceAnna Fali NEW
Deepesh Z FlosiIndiaStephen Shaw NEGOTIATION
Mujtaba P DarakjyGermanyXuxue Feng QUALIFIED
Wickens F FlosiCanadaXuxue Feng RENEWAL
David R GillianSpainIvan Magalhaes NEW
Costa C GarufiCanadaXuxue Feng NEGOTIATION
Leja A SchemmerUnited KingdomElwin Sharvill QUALIFIED
Deepesh C PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois C CaudyGermanyIvan Magalhaes PROPOSAL
Greenwood U WhobreyIndiaElwin Sharvill PROPOSAL
Sinclair F RoysterGermanyAnna Fali NEGOTIATION
Wickens L WaycottArgentinaAmy Elsner NEW
Misaki C PoquetteFranceOnyama Limba UNQUALIFIED
Juan I SlusarskiSpainAmy Elsner NEW
Mayumi W KuskoIndiaStephen Shaw QUALIFIED
David M IturbideCanadaBernardo Dominic QUALIFIED
Faith I CaudySpainAmy Elsner NEGOTIATION
Deepesh I BologniaBrazilIvan Magalhaes NEW
Jeanfrancois I MaletIndiaAsiya Javayant NEGOTIATION
Leja Y VenereUnited KingdomIoni Bowcher UNQUALIFIED
Isabel N ButtUnited KingdomIoni Bowcher PROPOSAL
Maria M AlbaresBrazilIvan Magalhaes NEW
Cody L VocelkaGermanyStephen Shaw PROPOSAL
Jeanfrancois C SergiFranceStephen Shaw RENEWAL
Izzy W RulapaughJapanStephen Shaw NEW
Arvin F KuskoItalyIvan Magalhaes NEGOTIATION
Deepesh Z GauchoIndiaElwin Sharvill PROPOSAL
Arvin A PaprockiBrazilAsiya Javayant NEGOTIATION
Arvin S WhobreyArgentinaIvan Magalhaes QUALIFIED
Jefferson Q GarufiItalyElwin Sharvill PROPOSAL
Maisha G RutaItalyXuxue Feng QUALIFIED
Salvatore G SchemmerAustraliaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Johnson O Gillian
Cody N Ferencz
Cody I Ostrosky
Morrow R Glick
Deepesh R Venere
Cody O Rulapaugh
Mayumi J Rim
Ashley H Royster
Adams G Garufi
Ivar D Rulapaugh
Antonio F Kolmetz
James X Dilliard
Sinclair Y Tollner
Maisha J Ostrosky
Cody H Butt
Jeanfrancois N Morasca
Mujtaba F Marrier
Leon F Poquette
Jefferson V Bowley
Ashley P Nicka
Aika S Venere
Deepesh P Sergi
Leja U Venere
Munro K Briddick
Aditya Z Schemmer
Leon V Oldroyd
Claire V Perin
Claire N Royster
Leja N Caldarera
Ivar Z Glick
Rodrigues V Stockham
Leon J Morasca
Misaki I Albares
Salvatore F Bolognia
Greenwood Z Wieser
Emily T Perin
Johnson L Marrier
Jefferson P Campain
Julie P Butt
Rodrigues H Malet
Leja D Morasca
Aika D Malet
Murillo F Kusko
Costa A Maclead
Ashley E Poquette
Ricardo M Briddick
Ivar I Morasca
Maria H Malet
Claire C Sergi
Jennifer F Caudy
IdCountryDate
1000Brazil2025-06-07
1001Canada2025-06-06
1002India2025-06-05
1003Australia2025-06-06
1004Spain2025-06-04
1005Argentina2025-05-27
1006Japan2025-05-25
1007India2025-06-04
1008France2025-06-09
1009France2025-05-17
1010France2025-05-22
1011United Kingdom2025-05-31
1012Italy2025-05-27
1013Argentina2025-05-23
1014Germany2025-06-07
1015India2025-06-03
1016France2025-05-26
1017Brazil2025-05-21
1018Argentina2025-06-12
1019Australia2025-05-29
1020Spain2025-05-26
1021Australia2025-05-31
1022Canada2025-05-20
1023Italy2025-05-27
1024United Kingdom2025-05-27
1025India2025-06-07
1026Russia2025-05-29
1027Brazil2025-06-11
1028Spain2025-05-31
1029Australia2025-06-07
1030Italy2025-06-14
1031Australia2025-06-05
1032Argentina2025-06-07
1033Australia2025-05-26
1034Germany2025-05-29
1035United Kingdom2025-05-29
1036France2025-06-01
1037Russia2025-06-02
1038Spain2025-06-01
1039Australia2025-05-23
1040Australia2025-05-20
1041France2025-06-06
1042India2025-06-14
1043India2025-06-07
1044Canada2025-05-27
1045Italy2025-06-06
1046Australia2025-06-05
1047Germany2025-06-02
1048Canada2025-05-19
1049Germany2025-06-06

On-Demand Data

NameIdCountryDate
Nicolas A Foller1000Italy2025-06-14
Claire Y Stockham1001Germany2025-06-03
Izzy V Gillian1002Australia2025-06-11
Smith X Kusko1003Spain2025-06-02
Tony T Inouye1004United Kingdom2025-05-25
Isabel O Shinko1005Russia2025-06-12
James E Vocelka1006Germany2025-06-01
Ivar K Oldroyd1007Brazil2025-05-31
Chavez X Maclead1008Japan2025-06-02
Jeanfrancois C Inouye1009United Kingdom2025-06-04
Leja W Paprocki1010Australia2025-06-01
Aruna T Ruta1011France2025-05-25
Silvio R Caudy1012Australia2025-05-29
Murillo I Doe1013India2025-06-07
Silvio O Gaucho1014India2025-06-13
Isabel M Bolognia1015Italy2025-06-03
Silvio K Albares1016Japan2025-05-17
Silvio N Nicka1017Germany2025-06-12
Julie Y Stenseth1018Russia2025-06-09
Kaitlin I Foller1019United Kingdom2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Y DilliardGermanyBernardo Dominic NEW
Aruna O RimFranceBernardo Dominic NEW
Murillo O FlosiRussiaAnna Fali NEGOTIATION
Morrow W DilliardItalyAsiya Javayant RENEWAL
Greenwood M MorascaBrazilIvan Magalhaes PROPOSAL
Faith Y GarufiIndiaAsiya Javayant UNQUALIFIED
Maisha L CampainSpainBernardo Dominic NEGOTIATION
Francesco U VocelkaJapanAnna Fali QUALIFIED
Costa R TollnerRussiaAnna Fali RENEWAL
Emily O AmigonItalyOnyama Limba NEGOTIATION
Julie S FerenczFranceOnyama Limba RENEWAL
Jefferson W FlosiArgentinaIoni Bowcher RENEWAL
Leja K RimAustraliaElwin Sharvill PROPOSAL
Antonio E TollnerBrazilIvan Magalhaes PROPOSAL
Aditya G MaletAustraliaAnna Fali NEGOTIATION
Nicolas S WhobreyAustraliaAnna Fali PROPOSAL
Kaitlin T GlickSpainIvan Magalhaes NEW
Johnson E GauchoSpainAmy Elsner PROPOSAL
Isabel G RutaSpainBernardo Dominic RENEWAL
Adams J StockhamItalyElwin Sharvill NEW
Aditya N DarakjyFranceAnna Fali RENEWAL
Maisha Q PaprockiGermanyAsiya Javayant PROPOSAL
Wickens M FlosiSpainElwin Sharvill NEW
Jones Z WieserRussiaAnna Fali QUALIFIED
Ricardo O SaylorsAustraliaAsiya Javayant PROPOSAL
Emily D BowleyBrazilBernardo Dominic NEGOTIATION
Greenwood B PoquetteRussiaBernardo Dominic NEW
Izzy X StensethFranceAnna Fali PROPOSAL
Greenwood C NickaJapanElwin Sharvill RENEWAL
David K KuskoUnited KingdomIvan Magalhaes QUALIFIED
Maisha S FollerRussiaStephen Shaw QUALIFIED
Salvatore O InouyeCanadaOnyama Limba NEW
Johnson O CaudyIndiaIoni Bowcher NEW
Kadeem W StockhamItalyIoni Bowcher RENEWAL
Arvin W BowleyFranceBernardo Dominic RENEWAL
Jennifer M NestleFranceOnyama Limba UNQUALIFIED
Arvin Y ChuiFranceOnyama Limba PROPOSAL
Aika N ButtItalyAmy Elsner QUALIFIED
Costa N DoeItalyIoni Bowcher RENEWAL
Clifford G BriddickUnited KingdomElwin Sharvill 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>