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
Mayumi I PerinCanadaIoni Bowcher PROPOSAL
Antonio L FerenczUnited KingdomOnyama Limba UNQUALIFIED
Aditya D MarrierRussiaAnna Fali UNQUALIFIED
Arvin R KuskoArgentinaBernardo Dominic QUALIFIED
Johnson B SchemmerCanadaIoni Bowcher RENEWAL
Clifford M StensethRussiaIoni Bowcher UNQUALIFIED
Jones U KuskoRussiaAnna Fali UNQUALIFIED
Nicolas X MacleadFranceElwin Sharvill UNQUALIFIED
Greenwood I NestleBrazilElwin Sharvill NEGOTIATION
Faith V CaldareraAustraliaAsiya Javayant RENEWAL
Ashley B DarakjyUnited KingdomAsiya Javayant QUALIFIED
Leon L PaprockiUnited KingdomIoni Bowcher RENEWAL
Chavez F FollerAustraliaAmy Elsner UNQUALIFIED
Chavez E NestleSpainAsiya Javayant QUALIFIED
Deepesh Z CaldareraCanadaAnna Fali UNQUALIFIED
Maria D VocelkaJapanOnyama Limba RENEWAL
Alejandro H CaldareraSpainStephen Shaw NEGOTIATION
Misaki X ChuiCanadaAmy Elsner NEGOTIATION
Rodrigues R KolmetzArgentinaIoni Bowcher NEW
Francesco Y DilliardArgentinaIoni Bowcher NEW
Morrow N MarrierArgentinaElwin Sharvill NEW
David V GauchoIndiaElwin Sharvill PROPOSAL
Ashley O KolmetzGermanyBernardo Dominic NEW
David Z SaylorsAustraliaOnyama Limba RENEWAL
Deepesh K WieserUnited KingdomAmy Elsner PROPOSAL
Claire S RulapaughSpainStephen Shaw NEW
David E CaudyJapanAnna Fali NEGOTIATION
Faith I AmigonIndiaIoni Bowcher RENEWAL
Maisha G TollnerRussiaAsiya Javayant NEW
Maisha N DilliardUnited KingdomOnyama Limba QUALIFIED
Smith X TollnerGermanyOnyama Limba NEW
Claire A FigeroaItalyIvan Magalhaes QUALIFIED
Smith U KolmetzItalyIvan Magalhaes UNQUALIFIED
Izzy O DoeSpainBernardo Dominic UNQUALIFIED
Tony H ChuiSpainStephen Shaw QUALIFIED
Aruna L BologniaRussiaAmy Elsner PROPOSAL
Kadeem W SlusarskiCanadaBernardo Dominic NEGOTIATION
Francesco Z MorascaIndiaStephen Shaw NEGOTIATION
Francesco Z CaldareraSpainXuxue Feng PROPOSAL
Kadeem Z CaudyArgentinaXuxue Feng NEW
Leja U AlbaresIndiaXuxue Feng NEW
Jennifer N KolmetzSpainBernardo Dominic PROPOSAL
Smith A PoquetteItalyOnyama Limba UNQUALIFIED
Stacey S CaldareraBrazilOnyama Limba NEW
Jeanfrancois R PoquetteBrazilOnyama Limba NEW
Mujtaba D PaprockiSpainOnyama Limba NEW
Ricardo E FlosiSpainAmy Elsner NEW
Aruna U FollerCanadaIoni Bowcher UNQUALIFIED
Darci V ButtGermanyAsiya Javayant UNQUALIFIED
Octavia V GarufiJapanIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba R MorascaIndiaIoni Bowcher UNQUALIFIED
Leja S BriddickBrazilBernardo Dominic PROPOSAL
Adams M CaudyIndiaAsiya Javayant NEW
Clifford R GillianCanadaIvan Magalhaes RENEWAL
Isabel E RutaCanadaOnyama Limba NEGOTIATION
Clifford D BologniaSpainIoni Bowcher QUALIFIED
Maria D DarakjyCanadaIvan Magalhaes NEGOTIATION
Leja S PaprockiFranceAnna Fali NEW
Tony V ShinkoArgentinaXuxue Feng PROPOSAL
Mujtaba T PaprockiCanadaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily K WieserUnited Kingdom2024-06-04Buckley Miller Wright NEW38Anna Fali
1001Kadeem E AmigonArgentina2024-06-11Rousseaux, Michael Esq PROPOSAL91Onyama Limba
1002Aditya T ButtItaly2024-06-18Dorl, James J Esq QUALIFIED65Amy Elsner
1003Ricardo U GlickAustralia2024-06-01Buckley Miller Wright PROPOSAL49Asiya Javayant
1004Jeanfrancois R AlbaresJapan2024-06-23Printing Dimensions UNQUALIFIED44Elwin Sharvill
1005Misaki E InouyeCanada2024-06-17Feltz Printing Service NEW84Amy Elsner
1006Darci R ShinkoItaly2024-06-22Chemel, James L Cpa PROPOSAL40Elwin Sharvill
1007Izzy E TollnerRussia2024-06-05Commercial Press UNQUALIFIED3Amy Elsner
1008Nicolas R StensethItaly2024-06-21Feiner Bros NEGOTIATION79Ioni Bowcher
1009Izzy X RimCanada2024-05-29Dorl, James J Esq QUALIFIED61Bernardo Dominic
1010Juan T CaldareraArgentina2024-06-02Morlong Associates PROPOSAL81Ioni Bowcher
1011Nicolas R CaldareraSpain2024-06-16Rousseaux, Michael Esq NEGOTIATION56Elwin Sharvill
1012Aruna V BowleyBrazil2024-05-28Chapman, Ross E Esq NEW5Stephen Shaw
1013Salvatore Q DilliardBrazil2024-05-28Chemel, James L Cpa NEGOTIATION85Ivan Magalhaes
1014Morrow C FlosiGermany2024-06-16Commercial Press QUALIFIED74Ioni Bowcher
1015Smith H PaprockiAustralia2024-06-14Morlong Associates RENEWAL45Amy Elsner
1016Salvatore K GillianArgentina2024-06-04Morlong Associates NEW77Amy Elsner
1017Salvatore O SlusarskiCanada2024-06-22Dorl, James J Esq NEW90Ivan Magalhaes
1018Aditya T FerenczUnited Kingdom2024-06-23Feltz Printing Service UNQUALIFIED53Bernardo Dominic
1019Izzy X MaletArgentina2024-06-17Buckley Miller Wright NEW31Asiya Javayant
1020Jeanfrancois T VocelkaGermany2024-06-02Feiner Bros QUALIFIED93Bernardo Dominic
1021Wickens C RoysterJapan2024-06-18Rangoni Of Florence PROPOSAL53Bernardo Dominic
1022Mujtaba M GauchoItaly2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED57Amy Elsner
1023Antonio B BowleyCanada2024-06-08Chapman, Ross E Esq UNQUALIFIED12Stephen Shaw
1024Faith E ButtFrance2024-06-10Chapman, Ross E Esq RENEWAL45Ivan Magalhaes
1025Adams A AlbaresUnited Kingdom2024-05-29Chemel, James L Cpa UNQUALIFIED96Onyama Limba
1026Darci T SaylorsBrazil2024-06-18Dorl, James J Esq NEGOTIATION2Stephen Shaw
1027Juan E MaletAustralia2024-06-09Chapman, Ross E Esq QUALIFIED99Amy Elsner
1028Tony T CaldareraCanada2024-06-24Chanay, Jeffrey A Esq RENEWAL72Elwin Sharvill
1029Clifford F GillianRussia2024-06-14Chemel, James L Cpa QUALIFIED96Bernardo Dominic
1030Adams P FigeroaArgentina2024-06-11Buckley Miller Wright UNQUALIFIED64Anna Fali
1031Jeanfrancois F OldroydUnited Kingdom2024-06-05Commercial Press RENEWAL7Ioni Bowcher
1032Greenwood B OldroydAustralia2024-06-02Commercial Press RENEWAL21Bernardo Dominic
1033Maria T ShinkoGermany2024-06-15Buckley Miller Wright PROPOSAL55Stephen Shaw
1034Jennifer J FigeroaIndia2024-06-12Benton, John B Jr QUALIFIED76Asiya Javayant
1035David A ButtCanada2024-05-27Morlong Associates NEGOTIATION90Stephen Shaw
1036Silvio K SergiFrance2024-06-13Feiner Bros PROPOSAL55Stephen Shaw
1037Octavia C RulapaughJapan2024-06-02Feiner Bros UNQUALIFIED3Bernardo Dominic
1038Juan M MaletGermany2024-06-18Chapman, Ross E Esq QUALIFIED72Onyama Limba
1039Silvio U RoysterCanada2024-05-27Chanay, Jeffrey A Esq PROPOSAL85Bernardo Dominic
1040Nicolas G OstroskySpain2024-06-07Feltz Printing Service UNQUALIFIED25Onyama Limba
1041Maisha F PerinRussia2024-06-18Benton, John B Jr PROPOSAL88Elwin Sharvill
1042Greenwood Y TollnerArgentina2024-05-26Chapman, Ross E Esq PROPOSAL57Elwin Sharvill
1043Clifford V CaudyGermany2024-06-06Feiner Bros NEGOTIATION49Anna Fali
1044Sinclair K SaylorsArgentina2024-06-17Chapman, Ross E Esq RENEWAL85Onyama Limba
1045Claire M CaldareraGermany2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED9Anna Fali
1046Deepesh I MaletItaly2024-06-10King, Christopher A Esq QUALIFIED28Ioni Bowcher
1047Juan T DarakjyArgentina2024-06-18King, Christopher A Esq PROPOSAL57Anna Fali
1048Juan M DilliardGermany2024-06-23Feiner Bros RENEWAL22Anna Fali
1049Claire R MorascaIndia2024-06-20Feiner Bros UNQUALIFIED28Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony D WieserFranceXuxue Feng RENEWAL
Salvatore R IturbideFranceOnyama Limba RENEWAL
Jefferson S AlbaresItalyStephen Shaw NEW
Julie R MaletIndiaAmy Elsner NEGOTIATION
Costa W SaylorsItalyAnna Fali RENEWAL
Alejandro P MacleadJapanIvan Magalhaes UNQUALIFIED
Deepesh Z BriddickCanadaBernardo Dominic NEGOTIATION
Juan D CampainJapanAsiya Javayant NEW
Stacey P KolmetzItalyIoni Bowcher NEGOTIATION
Tony Q GlickIndiaXuxue Feng NEW
Leon V WieserArgentinaAsiya Javayant QUALIFIED
Julie T FollerBrazilXuxue Feng PROPOSAL
Costa O KuskoArgentinaAnna Fali PROPOSAL
Ashley W FerenczItalyOnyama Limba NEGOTIATION
Ivar Q RoysterAustraliaAnna Fali QUALIFIED
Jennifer Q WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Aditya F VocelkaJapanXuxue Feng NEW
Misaki C SchemmerFranceOnyama Limba RENEWAL
Silvio V SchemmerArgentinaXuxue Feng NEGOTIATION
Mayumi A StockhamBrazilElwin Sharvill PROPOSAL
Ashley A MaletUnited KingdomAmy Elsner QUALIFIED
Francesco U FollerItalyStephen Shaw UNQUALIFIED
Ricardo W NestleRussiaAmy Elsner PROPOSAL
Nicolas M WaycottGermanyXuxue Feng NEGOTIATION
Tony R ButtSpainElwin Sharvill NEGOTIATION
Antonio Y RimArgentinaIvan Magalhaes PROPOSAL
Adams A FollerFranceStephen Shaw QUALIFIED
Tony N WieserItalyIvan Magalhaes RENEWAL
Chavez L DarakjyCanadaXuxue Feng NEW
Izzy U FlosiBrazilXuxue Feng PROPOSAL
Emily Z FerenczFranceBernardo Dominic NEGOTIATION
Stacey Y ChuiArgentinaElwin Sharvill RENEWAL
Octavia F RimArgentinaElwin Sharvill RENEWAL
Deepesh E MaletCanadaStephen Shaw NEGOTIATION
Nicolas U NestleItalyAmy Elsner NEGOTIATION
Aruna M GillianCanadaIoni Bowcher RENEWAL
Faith D FollerFranceXuxue Feng UNQUALIFIED
Octavia P BologniaJapanXuxue Feng QUALIFIED
Chavez Z FlosiJapanAsiya Javayant RENEWAL
Alejandro A GauchoAustraliaAsiya Javayant RENEWAL
Octavia J BowleyRussiaOnyama Limba UNQUALIFIED
Deepesh S CaldareraSpainStephen Shaw NEGOTIATION
Wickens M VocelkaIndiaAsiya Javayant RENEWAL
Clifford D DarakjySpainIvan Magalhaes RENEWAL
Claire B RimUnited KingdomAnna Fali NEGOTIATION
Octavia R WaycottAustraliaXuxue Feng NEGOTIATION
Ricardo D WaycottAustraliaBernardo Dominic NEGOTIATION
Arvin Y IturbideFranceElwin Sharvill PROPOSAL
Mayumi F PoquetteCanadaOnyama Limba RENEWAL
Jones G MarrierCanadaBernardo Dominic RENEWAL
Frozen Columns
Name
Johnson I Kusko
Aika R Waycott
Deepesh W Rim
Octavia T Inouye
Maisha C Poquette
Kadeem R Campain
Emily Z Vocelka
Mayumi B Gillian
Morrow L Briddick
Cody J Caudy
Sinclair Z Doe
Chavez W Iturbide
Kadeem X Dilliard
Deepesh G Stockham
Costa G Glick
Rodrigues W Iturbide
Jones U Ferencz
James M Nestle
Kaitlin R Perin
Munro G Gillian
Maria T Royster
Salvatore B Butt
Emily F Royster
Munro C Ruta
Darci K Whobrey
Salvatore Q Kolmetz
Claire K Gillian
Antonio A Nicka
Salvatore X Kusko
Leon W Malet
Leon K Paprocki
Deepesh H Paprocki
Maisha T Darakjy
Ricardo K Wieser
Nicolas T Campain
Izzy W Ruta
Kaitlin X Ferencz
Maria T Caldarera
Francesco M Waycott
Juan L Oldroyd
David G Nestle
Wickens S Kolmetz
Costa J Ferencz
Sinclair T Caudy
Alejandro T Vocelka
Francesco A Gillian
Cody U Albares
Johnson T Sergi
Mayumi X Waycott
Arvin L Saylors
IdCountryDate
1000Russia2024-06-01
1001India2024-06-24
1002India2024-06-19
1003Argentina2024-06-02
1004Germany2024-05-28
1005Australia2024-06-24
1006Japan2024-06-13
1007Russia2024-06-09
1008India2024-06-07
1009Italy2024-06-06
1010Italy2024-06-18
1011France2024-06-24
1012Germany2024-05-28
1013Italy2024-06-05
1014Brazil2024-06-06
1015Germany2024-06-04
1016Russia2024-06-20
1017Germany2024-06-07
1018Germany2024-06-08
1019Brazil2024-06-13
1020France2024-06-09
1021United Kingdom2024-06-14
1022Italy2024-06-04
1023Australia2024-06-11
1024Australia2024-06-18
1025Italy2024-06-06
1026Germany2024-06-11
1027United Kingdom2024-06-04
1028United Kingdom2024-05-26
1029India2024-06-07
1030Spain2024-05-29
1031Japan2024-06-19
1032Argentina2024-06-08
1033Japan2024-06-07
1034Japan2024-06-22
1035United Kingdom2024-05-26
1036India2024-06-07
1037United Kingdom2024-06-19
1038Canada2024-06-06
1039Canada2024-06-18
1040India2024-05-27
1041Spain2024-06-06
1042Russia2024-05-26
1043Canada2024-05-26
1044France2024-05-29
1045Germany2024-06-01
1046Japan2024-06-24
1047Brazil2024-05-26
1048Canada2024-06-08
1049Russia2024-06-14

On-Demand Data

NameIdCountryDate
Greenwood I Ostrosky1000Germany2024-06-01
Munro H Rulapaugh1001Germany2024-06-09
Leon M Ruta1002France2024-06-12
Rodrigues E Stockham1003Italy2024-05-31
Mayumi B Sergi1004Italy2024-06-10
Deepesh P Amigon1005Argentina2024-06-12
Chavez Y Slusarski1006Canada2024-06-08
Greenwood T Inouye1007United Kingdom2024-06-01
Chavez Y Ruta1008Spain2024-05-27
Leja R Amigon1009Germany2024-06-20
Rodrigues Z Kusko1010Spain2024-06-21
Rodrigues N Malet1011France2024-06-18
Aika U Garufi1012India2024-06-11
Clifford H Paprocki1013Italy2024-06-14
Faith W Malet1014Australia2024-06-06
Claire W Amigon1015Spain2024-06-24
Faith G Whobrey1016India2024-06-23
Faith O Ruta1017Argentina2024-06-10
Aditya Q Malet1018Japan2024-06-11
Clifford T Iturbide1019Russia2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci F PerinIndiaStephen Shaw UNQUALIFIED
Izzy D RulapaughAustraliaBernardo Dominic NEW
Faith D NickaSpainIoni Bowcher QUALIFIED
Tony A DilliardBrazilBernardo Dominic UNQUALIFIED
Silvio X DarakjyFranceAsiya Javayant RENEWAL
Chavez N TollnerGermanyXuxue Feng PROPOSAL
Alejandro J AmigonSpainStephen Shaw NEW
Alejandro Z WaycottBrazilXuxue Feng NEW
Ricardo D FerenczFranceAmy Elsner NEGOTIATION
Munro S RimBrazilBernardo Dominic RENEWAL
Aruna N MaletCanadaStephen Shaw NEW
Jeanfrancois R GauchoGermanyElwin Sharvill RENEWAL
Wickens V AlbaresBrazilIoni Bowcher PROPOSAL
Kaitlin U NestleJapanAmy Elsner QUALIFIED
Emily W StockhamUnited KingdomAnna Fali NEW
Aruna K IturbideItalyStephen Shaw PROPOSAL
Murillo K FlosiCanadaAmy Elsner RENEWAL
Salvatore T WaycottUnited KingdomStephen Shaw NEW
Greenwood H GillianSpainIoni Bowcher NEW
Ricardo J VocelkaIndiaXuxue Feng RENEWAL
Adams C MarrierCanadaOnyama Limba RENEWAL
Julie D SchemmerAustraliaOnyama Limba UNQUALIFIED
Greenwood I MaletItalyAsiya Javayant PROPOSAL
Ivar R PaprockiBrazilIoni Bowcher UNQUALIFIED
Costa C TollnerGermanyElwin Sharvill PROPOSAL
Claire O SlusarskiSpainBernardo Dominic UNQUALIFIED
Jennifer C GlickIndiaAsiya Javayant NEGOTIATION
Chavez E DilliardGermanyElwin Sharvill QUALIFIED
Clifford R MaletUnited KingdomAmy Elsner PROPOSAL
Emily T WhobreyArgentinaAsiya Javayant QUALIFIED
Faith X FlosiIndiaElwin Sharvill NEW
Francesco J ButtSpainElwin Sharvill NEW
Jefferson U MaletJapanAsiya Javayant PROPOSAL
Mayumi O DilliardSpainAsiya Javayant NEW
Alejandro G BologniaFranceElwin Sharvill NEW
Munro H NickaJapanElwin Sharvill PROPOSAL
Ricardo K BologniaFranceAmy Elsner NEW
Jennifer X NestleCanadaAmy Elsner PROPOSAL
Aditya M VenereJapanStephen Shaw UNQUALIFIED
Wickens W OstroskySpainXuxue Feng 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>