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
Sinclair H BologniaIndiaAsiya Javayant RENEWAL
Jefferson K NickaJapanXuxue Feng NEW
Alejandro H MaletGermanyIvan Magalhaes QUALIFIED
Leon B CaudyCanadaIvan Magalhaes QUALIFIED
Aika V RoysterSpainIoni Bowcher RENEWAL
Misaki G IturbideCanadaXuxue Feng UNQUALIFIED
Kaitlin A GauchoJapanAsiya Javayant NEW
Rodrigues X OstroskyJapanBernardo Dominic PROPOSAL
Costa J VenereItalyAnna Fali NEW
Arvin G PerinArgentinaAnna Fali QUALIFIED
Kaitlin R AmigonGermanyXuxue Feng RENEWAL
Murillo H StockhamFranceIoni Bowcher PROPOSAL
Chavez G GillianIndiaElwin Sharvill NEGOTIATION
Isabel S PaprockiIndiaIvan Magalhaes RENEWAL
Jefferson J MarrierIndiaXuxue Feng UNQUALIFIED
Arvin I MorascaFranceXuxue Feng RENEWAL
Claire M DoeUnited KingdomOnyama Limba QUALIFIED
Aika K BologniaJapanIvan Magalhaes PROPOSAL
Misaki H WaycottFranceXuxue Feng NEW
Juan H RutaSpainElwin Sharvill NEW
Smith Z RulapaughCanadaOnyama Limba NEW
Greenwood M WaycottCanadaIoni Bowcher PROPOSAL
Alejandro F StockhamAustraliaOnyama Limba NEGOTIATION
Mujtaba A FigeroaSpainStephen Shaw RENEWAL
Ricardo Q InouyeJapanAnna Fali PROPOSAL
Greenwood U SergiJapanIvan Magalhaes QUALIFIED
David P VocelkaAustraliaAmy Elsner NEGOTIATION
James J MacleadJapanIvan Magalhaes NEGOTIATION
Murillo P StensethBrazilBernardo Dominic QUALIFIED
Jennifer B KuskoCanadaIoni Bowcher PROPOSAL
Julie R AlbaresJapanBernardo Dominic NEGOTIATION
Maria Y WaycottJapanOnyama Limba QUALIFIED
Francesco Y GauchoRussiaBernardo Dominic UNQUALIFIED
Cody S ShinkoAustraliaXuxue Feng UNQUALIFIED
Adams S SaylorsSpainIvan Magalhaes RENEWAL
Deepesh Z OldroydJapanAmy Elsner QUALIFIED
Antonio F DoeSpainStephen Shaw NEGOTIATION
Rodrigues X BriddickJapanIoni Bowcher RENEWAL
Kadeem Z CaldareraItalyStephen Shaw PROPOSAL
Munro T WaycottAustraliaAsiya Javayant NEW
Jennifer M PoquetteJapanAmy Elsner QUALIFIED
Darci E CaldareraItalyXuxue Feng PROPOSAL
Stacey W FollerCanadaXuxue Feng NEW
Clifford F FollerJapanElwin Sharvill NEW
Rodrigues M StensethBrazilStephen Shaw PROPOSAL
Darci O RoysterRussiaAmy Elsner NEGOTIATION
David B SergiSpainStephen Shaw UNQUALIFIED
Francesco B WhobreyFranceIvan Magalhaes PROPOSAL
Adams F NickaCanadaStephen Shaw NEW
Faith E SergiItalyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio A StensethRussiaAsiya Javayant QUALIFIED
Morrow E WaycottRussiaIoni Bowcher RENEWAL
Jennifer W GauchoSpainAsiya Javayant NEW
Chavez Y SchemmerBrazilElwin Sharvill NEW
Misaki J WaycottRussiaOnyama Limba QUALIFIED
David C MaletItalyElwin Sharvill NEGOTIATION
Isabel P InouyeBrazilAnna Fali NEW
Aika A VocelkaFranceIoni Bowcher PROPOSAL
Mujtaba S BowleyGermanyOnyama Limba UNQUALIFIED
Leja X GarufiArgentinaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones D IturbideFrance2024-06-16Feltz Printing Service PROPOSAL61Bernardo Dominic
1001Kaitlin X SergiItaly2024-06-18Commercial Press UNQUALIFIED90Ivan Magalhaes
1002Jones W FigeroaCanada2024-06-01King, Christopher A Esq RENEWAL16Ioni Bowcher
1003Wickens S GillianGermany2024-05-26Buckley Miller Wright NEW12Bernardo Dominic
1004Aika F WieserArgentina2024-05-26Commercial Press QUALIFIED40Stephen Shaw
1005Stacey O DilliardSpain2024-06-21Buckley Miller Wright UNQUALIFIED27Amy Elsner
1006Sinclair L DarakjyJapan2024-06-15Truhlar And Truhlar Attys UNQUALIFIED32Anna Fali
1007Kadeem T RutaGermany2024-06-21Rousseaux, Michael Esq NEGOTIATION93Ivan Magalhaes
1008Mujtaba L AmigonSpain2024-06-20Rangoni Of Florence UNQUALIFIED28Bernardo Dominic
1009Alejandro Q FollerAustralia2024-06-22Feltz Printing Service NEW27Bernardo Dominic
1010Munro R CampainUnited Kingdom2024-05-30Chanay, Jeffrey A Esq NEGOTIATION97Stephen Shaw
1011Costa C VenereJapan2024-06-17Benton, John B Jr PROPOSAL37Onyama Limba
1012Leja L IturbideRussia2024-05-28Rousseaux, Michael Esq QUALIFIED51Amy Elsner
1013Julie U BowleyUnited Kingdom2024-06-10Printing Dimensions NEGOTIATION89Onyama Limba
1014James P ChuiAustralia2024-06-09Benton, John B Jr PROPOSAL87Amy Elsner
1015Aruna C KuskoArgentina2024-06-03Chapman, Ross E Esq UNQUALIFIED11Ioni Bowcher
1016Misaki H KuskoCanada2024-05-27Truhlar And Truhlar Attys UNQUALIFIED89Amy Elsner
1017Julie F OstroskyCanada2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED33Xuxue Feng
1018Jennifer Y ButtSpain2024-06-18Rousseaux, Michael Esq NEW94Anna Fali
1019Maria X IturbideGermany2024-06-21Dorl, James J Esq NEW62Amy Elsner
1020James R GillianGermany2024-06-23Chapman, Ross E Esq NEW32Amy Elsner
1021Aruna L WaycottCanada2024-06-04Chanay, Jeffrey A Esq PROPOSAL57Asiya Javayant
1022Kadeem W IturbideSpain2024-05-28Buckley Miller Wright PROPOSAL52Elwin Sharvill
1023Morrow Y BriddickItaly2024-06-19Dorl, James J Esq QUALIFIED43Onyama Limba
1024Leon U GillianArgentina2024-06-13Benton, John B Jr NEGOTIATION59Stephen Shaw
1025Nicolas B AmigonItaly2024-06-07Morlong Associates NEGOTIATION80Elwin Sharvill
1026Arvin Q WhobreyCanada2024-06-10Rangoni Of Florence UNQUALIFIED0Ioni Bowcher
1027Leon O MaletRussia2024-06-11Commercial Press QUALIFIED86Stephen Shaw
1028Ashley K DarakjyFrance2024-05-30Benton, John B Jr QUALIFIED44Bernardo Dominic
1029Cody H GarufiAustralia2024-05-28Rousseaux, Michael Esq NEW42Anna Fali
1030Isabel Z RulapaughItaly2024-06-24Feltz Printing Service NEGOTIATION71Ivan Magalhaes
1031Tony B DarakjyIndia2024-06-19Commercial Press NEW15Amy Elsner
1032Clifford H CampainAustralia2024-06-16Benton, John B Jr PROPOSAL3Amy Elsner
1033Arvin T CaudyJapan2024-06-24Chemel, James L Cpa NEGOTIATION14Ioni Bowcher
1034Nicolas W GillianSpain2024-06-03Rangoni Of Florence PROPOSAL1Bernardo Dominic
1035Leon Q CaldareraSpain2024-06-23Truhlar And Truhlar Attys NEW96Asiya Javayant
1036Sinclair A ButtAustralia2024-05-26Commercial Press QUALIFIED32Asiya Javayant
1037Greenwood B AlbaresBrazil2024-06-14King, Christopher A Esq PROPOSAL0Onyama Limba
1038Chavez T SaylorsFrance2024-06-04Commercial Press NEW6Ivan Magalhaes
1039Rodrigues X CampainBrazil2024-06-08King, Christopher A Esq NEW66Anna Fali
1040Leon K FigeroaAustralia2024-06-07Feltz Printing Service QUALIFIED14Onyama Limba
1041Arvin T SergiUnited Kingdom2024-06-08Feiner Bros RENEWAL28Ivan Magalhaes
1042Izzy T SaylorsAustralia2024-06-08Rangoni Of Florence NEW85Anna Fali
1043Munro R CaldareraRussia2024-06-24Chemel, James L Cpa QUALIFIED8Anna Fali
1044Arvin S BologniaRussia2024-06-16Commercial Press QUALIFIED99Amy Elsner
1045Mujtaba V CaldareraUnited Kingdom2024-06-16Commercial Press NEGOTIATION74Ioni Bowcher
1046Alejandro Z DarakjyBrazil2024-06-16Dorl, James J Esq QUALIFIED17Ioni Bowcher
1047Juan G WhobreyCanada2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED96Stephen Shaw
1048Maria Y IturbideArgentina2024-06-24Dorl, James J Esq PROPOSAL63Elwin Sharvill
1049Aruna S RulapaughAustralia2024-06-02Feltz Printing Service RENEWAL0Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leon R BriddickFranceXuxue Feng NEGOTIATION
Leon A GauchoAustraliaIvan Magalhaes UNQUALIFIED
Emily H KolmetzRussiaAnna Fali UNQUALIFIED
Mujtaba W FlosiRussiaIvan Magalhaes PROPOSAL
Munro X RutaAustraliaStephen Shaw RENEWAL
Adams M ShinkoArgentinaAmy Elsner PROPOSAL
Aika F WieserSpainXuxue Feng NEW
Smith H CaudyIndiaAnna Fali NEGOTIATION
Nicolas K WhobreyBrazilAnna Fali PROPOSAL
Misaki B ButtBrazilIoni Bowcher PROPOSAL
David F SchemmerRussiaXuxue Feng QUALIFIED
Emily A MorascaGermanyStephen Shaw PROPOSAL
Arvin G CaudyFranceElwin Sharvill UNQUALIFIED
Adams N MacleadJapanIoni Bowcher PROPOSAL
Clifford F OstroskyUnited KingdomAsiya Javayant PROPOSAL
Claire Q RulapaughArgentinaAmy Elsner NEGOTIATION
Maisha G OstroskyBrazilAsiya Javayant PROPOSAL
Antonio I AlbaresItalyAsiya Javayant NEW
Ashley W FlosiGermanyIvan Magalhaes UNQUALIFIED
Leja T AmigonItalyOnyama Limba PROPOSAL
Salvatore F FollerJapanIvan Magalhaes UNQUALIFIED
Mujtaba E GillianItalyXuxue Feng NEW
Rodrigues P GauchoArgentinaStephen Shaw NEGOTIATION
Cody G SergiFranceAmy Elsner PROPOSAL
Jennifer S VocelkaJapanBernardo Dominic RENEWAL
Leon H AmigonGermanyAnna Fali NEW
Sinclair R SchemmerArgentinaAmy Elsner UNQUALIFIED
Darci W PoquetteItalyOnyama Limba QUALIFIED
Juan V IturbideJapanBernardo Dominic RENEWAL
Adams L SergiCanadaXuxue Feng RENEWAL
Deepesh T MarrierSpainBernardo Dominic NEGOTIATION
Kaitlin R BriddickArgentinaAsiya Javayant UNQUALIFIED
Francesco W WhobreySpainIvan Magalhaes QUALIFIED
Rodrigues H SaylorsItalyXuxue Feng QUALIFIED
Claire A MacleadCanadaAmy Elsner PROPOSAL
Tony R WieserArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin A MaletRussiaAsiya Javayant PROPOSAL
Smith Q PerinJapanStephen Shaw QUALIFIED
Maria F RimJapanBernardo Dominic PROPOSAL
Costa G BowleyRussiaElwin Sharvill NEGOTIATION
Misaki O CaldareraAustraliaElwin Sharvill UNQUALIFIED
Chavez K GarufiCanadaAmy Elsner QUALIFIED
Faith N ButtJapanBernardo Dominic NEW
Jefferson F KolmetzAustraliaAnna Fali RENEWAL
Mujtaba H FigeroaAustraliaElwin Sharvill RENEWAL
Faith P MorascaRussiaIoni Bowcher PROPOSAL
Misaki N ShinkoUnited KingdomIvan Magalhaes NEW
Nicolas U AmigonIndiaIvan Magalhaes NEGOTIATION
Greenwood C RutaSpainAmy Elsner UNQUALIFIED
Mujtaba A BowleyRussiaBernardo Dominic NEW
Frozen Columns
Name
Sinclair H Stenseth
Jennifer N Figeroa
Wickens D Figeroa
Johnson O Maclead
David W Slusarski
Sinclair Y Oldroyd
Mayumi J Caudy
Francesco Y Marrier
Claire I Paprocki
Aika V Saylors
Tony R Saylors
Jeanfrancois N Butt
Nicolas L Ostrosky
Salvatore I Nestle
Kadeem Z Malet
Emily X Gaucho
Jennifer Y Morasca
Stacey O Butt
Faith F Inouye
Jennifer W Nestle
Antonio J Dilliard
Jefferson R Campain
Morrow H Royster
Ricardo A Poquette
Maria A Butt
Stacey S Doe
Johnson M Rim
Wickens B Kusko
Wickens Q Marrier
Claire C Caldarera
Antonio S Tollner
Jennifer F Saylors
Salvatore H Bowley
Mujtaba Y Rulapaugh
Costa V Malet
Faith T Ostrosky
Isabel Z Caudy
Morrow V Ostrosky
Jefferson P Gaucho
Maisha X Chui
Darci X Doe
Emily W Briddick
Stacey O Morasca
Rodrigues P Caldarera
Julie T Butt
Isabel H Sergi
Aika J Tollner
Emily A Gillian
Arvin D Rulapaugh
Leon E Schemmer
IdCountryDate
1000Russia2024-06-03
1001Germany2024-06-05
1002Canada2024-06-08
1003Australia2024-06-16
1004Brazil2024-06-10
1005Spain2024-06-11
1006India2024-06-09
1007India2024-05-30
1008Brazil2024-06-01
1009Argentina2024-06-07
1010Canada2024-06-08
1011Australia2024-06-24
1012Canada2024-06-23
1013Brazil2024-06-12
1014Italy2024-06-04
1015Australia2024-06-03
1016Russia2024-05-26
1017Spain2024-06-21
1018Russia2024-06-14
1019Italy2024-06-22
1020United Kingdom2024-06-14
1021Japan2024-06-19
1022India2024-06-06
1023Italy2024-06-21
1024Australia2024-06-10
1025Argentina2024-06-05
1026Italy2024-06-13
1027Japan2024-06-04
1028Germany2024-06-20
1029Brazil2024-06-15
1030Spain2024-05-30
1031Canada2024-06-06
1032Spain2024-06-24
1033France2024-05-28
1034Russia2024-06-24
1035Australia2024-06-24
1036United Kingdom2024-06-01
1037Argentina2024-06-06
1038Canada2024-06-15
1039Spain2024-06-12
1040Brazil2024-05-31
1041Japan2024-06-07
1042Russia2024-06-24
1043United Kingdom2024-06-06
1044Canada2024-06-22
1045Spain2024-06-04
1046Italy2024-06-11
1047France2024-06-01
1048Brazil2024-06-24
1049Brazil2024-06-24

On-Demand Data

NameIdCountryDate
Chavez N Perin1000Argentina2024-06-18
Misaki D Slusarski1001Germany2024-06-24
Wickens J Nestle1002Russia2024-06-01
Juan P Gillian1003Spain2024-05-28
Wickens O Caudy1004Russia2024-05-31
Antonio S Slusarski1005Japan2024-06-17
Francesco X Campain1006Australia2024-06-04
Ricardo O Foller1007Canada2024-06-07
Munro B Darakjy1008Japan2024-06-01
Julie D Kusko1009Japan2024-06-10
Darci E Waycott1010Canada2024-06-23
Costa F Doe1011India2024-06-23
Jennifer E Vocelka1012France2024-06-06
Kaitlin F Gillian1013Brazil2024-06-02
Francesco J Malet1014France2024-06-04
Sinclair D Chui1015Germany2024-06-05
Antonio H Campain1016Canada2024-05-27
Aika V Butt1017United Kingdom2024-06-12
Julie E Flosi1018France2024-06-23
Wickens W Tollner1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley E DoeGermanyOnyama Limba NEGOTIATION
Smith K SaylorsGermanyAmy Elsner NEGOTIATION
Stacey B MorascaGermanyAnna Fali NEGOTIATION
Izzy T KolmetzCanadaAsiya Javayant PROPOSAL
Francesco F PoquetteJapanAmy Elsner PROPOSAL
Ashley W KolmetzBrazilAmy Elsner RENEWAL
Nicolas R BologniaFranceAsiya Javayant RENEWAL
Salvatore F VocelkaFranceBernardo Dominic UNQUALIFIED
Emily J PerinAustraliaBernardo Dominic QUALIFIED
Wickens X IturbideIndiaIoni Bowcher RENEWAL
Ricardo T SchemmerFranceXuxue Feng PROPOSAL
Silvio C RulapaughIndiaStephen Shaw PROPOSAL
Morrow W MarrierGermanyAmy Elsner UNQUALIFIED
Izzy S StockhamFranceAnna Fali NEGOTIATION
Kaitlin Y FerenczIndiaXuxue Feng RENEWAL
Claire N PoquetteRussiaXuxue Feng NEGOTIATION
Adams J ChuiUnited KingdomAsiya Javayant QUALIFIED
Jeanfrancois H BriddickItalyIvan Magalhaes UNQUALIFIED
Isabel M SlusarskiIndiaOnyama Limba UNQUALIFIED
James Y MaletItalyXuxue Feng RENEWAL
Aika B CaudyCanadaAmy Elsner UNQUALIFIED
Misaki S GlickGermanyAnna Fali UNQUALIFIED
Morrow D OldroydArgentinaBernardo Dominic QUALIFIED
Juan Z NestleSpainStephen Shaw UNQUALIFIED
Adams U VocelkaAustraliaAsiya Javayant RENEWAL
Silvio F InouyeSpainAnna Fali PROPOSAL
Emily I ChuiIndiaXuxue Feng PROPOSAL
Tony O RutaSpainBernardo Dominic UNQUALIFIED
Leja R KolmetzJapanXuxue Feng NEGOTIATION
Emily T SlusarskiCanadaAsiya Javayant PROPOSAL
Morrow N OldroydItalyStephen Shaw QUALIFIED
Smith N FerenczRussiaIoni Bowcher PROPOSAL
Kadeem X PaprockiUnited KingdomStephen Shaw NEW
Stacey Y OldroydItalyOnyama Limba NEW
Aika T SchemmerIndiaStephen Shaw QUALIFIED
Leon V BriddickGermanyAsiya Javayant UNQUALIFIED
Jones N MarrierJapanAnna Fali NEW
Stacey K MaletGermanyAmy Elsner NEW
Jeanfrancois F MaletCanadaAnna Fali PROPOSAL
Aditya E BowleySpainBernardo Dominic 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>