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
Isabel K GarufiCanadaStephen Shaw NEW
Salvatore Q SergiArgentinaAmy Elsner QUALIFIED
Jefferson M AmigonItalyStephen Shaw NEW
Greenwood U PaprockiArgentinaIoni Bowcher NEW
Misaki U SergiAustraliaXuxue Feng NEW
Ivar R GlickItalyIoni Bowcher QUALIFIED
Tony T StockhamItalyAnna Fali NEGOTIATION
Clifford H BologniaIndiaIvan Magalhaes QUALIFIED
Izzy P BriddickFranceIoni Bowcher NEW
Jennifer X NickaJapanIvan Magalhaes PROPOSAL
Arvin I CampainJapanAmy Elsner NEW
Juan J NestleJapanAsiya Javayant PROPOSAL
Leon E MacleadCanadaAmy Elsner PROPOSAL
Octavia R DilliardFranceBernardo Dominic UNQUALIFIED
Munro X OstroskyUnited KingdomXuxue Feng NEW
Arvin S SlusarskiBrazilAmy Elsner RENEWAL
Leja Q FerenczCanadaAmy Elsner QUALIFIED
David F AmigonCanadaBernardo Dominic NEW
Morrow H PaprockiAustraliaAnna Fali QUALIFIED
Tony D DoeAustraliaBernardo Dominic QUALIFIED
Juan S AmigonItalyBernardo Dominic QUALIFIED
Jeanfrancois E GlickIndiaXuxue Feng NEGOTIATION
Kaitlin V OldroydArgentinaElwin Sharvill RENEWAL
Deepesh V AmigonAustraliaBernardo Dominic NEW
Leja K InouyeItalyAmy Elsner UNQUALIFIED
Morrow F KolmetzBrazilAsiya Javayant PROPOSAL
Aruna M BologniaJapanAnna Fali PROPOSAL
Murillo E PaprockiRussiaElwin Sharvill UNQUALIFIED
Tony T AmigonJapanBernardo Dominic NEW
Chavez B GarufiUnited KingdomBernardo Dominic PROPOSAL
Adams V ButtRussiaStephen Shaw QUALIFIED
Maria F GarufiArgentinaXuxue Feng PROPOSAL
Mayumi Q RulapaughCanadaElwin Sharvill UNQUALIFIED
Alejandro F OstroskySpainStephen Shaw PROPOSAL
Maisha X RutaAustraliaOnyama Limba QUALIFIED
Ricardo U AlbaresGermanyElwin Sharvill QUALIFIED
Darci R TollnerCanadaElwin Sharvill NEW
James X SergiJapanAmy Elsner PROPOSAL
Emily O FigeroaJapanElwin Sharvill NEW
Francesco X FlosiGermanyAsiya Javayant PROPOSAL
Silvio V DilliardAustraliaBernardo Dominic RENEWAL
Darci I BowleyJapanOnyama Limba UNQUALIFIED
Leja C TollnerAustraliaOnyama Limba UNQUALIFIED
Salvatore M FerenczItalyIvan Magalhaes NEW
Antonio Z FigeroaBrazilIvan Magalhaes RENEWAL
Aruna P CaldareraCanadaAnna Fali NEGOTIATION
Ricardo J SergiJapanIoni Bowcher RENEWAL
Greenwood K FollerJapanBernardo Dominic QUALIFIED
Claire K FollerItalyOnyama Limba NEGOTIATION
Smith N MaletBrazilIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Francesco D NickaGermanyAsiya Javayant NEGOTIATION
Tony U TollnerCanadaAnna Fali NEGOTIATION
Salvatore T MacleadRussiaAmy Elsner RENEWAL
Maria I SchemmerAustraliaAmy Elsner PROPOSAL
Ivar V InouyeArgentinaStephen Shaw UNQUALIFIED
Maria D InouyeJapanAnna Fali UNQUALIFIED
Leon R GillianIndiaIoni Bowcher UNQUALIFIED
Adams O GarufiRussiaAmy Elsner UNQUALIFIED
Faith J OstroskyRussiaAnna Fali NEW
Morrow U VocelkaFranceAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony C SlusarskiGermany2024-05-16Chemel, James L Cpa RENEWAL27Xuxue Feng
1001Nicolas V KolmetzFrance2024-06-03Commercial Press NEGOTIATION44Xuxue Feng
1002Tony T AmigonSpain2024-05-14Truhlar And Truhlar Attys UNQUALIFIED96Stephen Shaw
1003James V GlickItaly2024-06-04Rousseaux, Michael Esq RENEWAL56Onyama Limba
1004James U TollnerIndia2024-06-10Chemel, James L Cpa PROPOSAL49Ivan Magalhaes
1005Leon R VocelkaBrazil2024-05-29Morlong Associates PROPOSAL11Elwin Sharvill
1006David D PoquetteArgentina2024-05-23Commercial Press UNQUALIFIED41Onyama Limba
1007Aruna D WaycottArgentina2024-05-25Morlong Associates PROPOSAL61Ivan Magalhaes
1008Leon G ButtCanada2024-06-06Printing Dimensions NEW35Bernardo Dominic
1009Arvin S CaudyUnited Kingdom2024-05-19Dorl, James J Esq PROPOSAL11Anna Fali
1010Aika S WieserFrance2024-06-12Chanay, Jeffrey A Esq QUALIFIED92Ioni Bowcher
1011Cody W FollerRussia2024-06-01Commercial Press NEGOTIATION94Elwin Sharvill
1012Francesco R ChuiJapan2024-06-11Rousseaux, Michael Esq QUALIFIED89Asiya Javayant
1013Claire O MaletFrance2024-06-12Dorl, James J Esq RENEWAL72Ioni Bowcher
1014Leja P StockhamIndia2024-05-14Truhlar And Truhlar Attys RENEWAL79Onyama Limba
1015Aika S CaldareraCanada2024-05-23Chemel, James L Cpa QUALIFIED81Ioni Bowcher
1016Tony M VenereAustralia2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED7Amy Elsner
1017Nicolas H SchemmerArgentina2024-05-25Commercial Press UNQUALIFIED76Anna Fali
1018Nicolas G AlbaresAustralia2024-05-26Rousseaux, Michael Esq NEW26Onyama Limba
1019Claire M IturbideGermany2024-05-29Dorl, James J Esq RENEWAL46Bernardo Dominic
1020Tony N BowleyGermany2024-05-20Chanay, Jeffrey A Esq NEGOTIATION15Anna Fali
1021Aruna D OstroskyRussia2024-06-09King, Christopher A Esq QUALIFIED56Xuxue Feng
1022Munro A VocelkaGermany2024-06-09Benton, John B Jr NEGOTIATION78Anna Fali
1023Chavez H RulapaughAustralia2024-06-12Truhlar And Truhlar Attys QUALIFIED62Stephen Shaw
1024Jones N AlbaresRussia2024-05-14Benton, John B Jr QUALIFIED30Amy Elsner
1025Emily U MaletSpain2024-05-19Feiner Bros NEW32Ioni Bowcher
1026Ricardo Z FerenczCanada2024-06-07Chemel, James L Cpa UNQUALIFIED63Onyama Limba
1027Izzy R VocelkaCanada2024-05-25Morlong Associates RENEWAL87Amy Elsner
1028Jeanfrancois A FlosiUnited Kingdom2024-06-12Rousseaux, Michael Esq NEGOTIATION66Bernardo Dominic
1029Stacey D TollnerUnited Kingdom2024-05-18Feiner Bros RENEWAL25Onyama Limba
1030Isabel I RutaSpain2024-06-01Chapman, Ross E Esq QUALIFIED26Bernardo Dominic
1031Stacey Q AlbaresJapan2024-05-14Benton, John B Jr UNQUALIFIED59Stephen Shaw
1032Nicolas N DilliardIndia2024-05-31Truhlar And Truhlar Attys RENEWAL19Elwin Sharvill
1033Misaki O PaprockiGermany2024-05-15Rousseaux, Michael Esq NEW8Anna Fali
1034Misaki E BowleyFrance2024-06-12Benton, John B Jr QUALIFIED24Onyama Limba
1035Murillo L VocelkaFrance2024-06-10Chapman, Ross E Esq UNQUALIFIED51Bernardo Dominic
1036James A InouyeSpain2024-06-01King, Christopher A Esq NEGOTIATION41Amy Elsner
1037Maisha I IturbideFrance2024-06-02Truhlar And Truhlar Attys PROPOSAL94Elwin Sharvill
1038Sinclair D AlbaresRussia2024-06-10Feltz Printing Service RENEWAL9Ioni Bowcher
1039Faith W DarakjyBrazil2024-05-14Dorl, James J Esq NEW54Elwin Sharvill
1040Clifford W MacleadItaly2024-06-11Dorl, James J Esq UNQUALIFIED66Amy Elsner
1041Juan R AlbaresUnited Kingdom2024-06-07Benton, John B Jr NEGOTIATION62Xuxue Feng
1042Maria G PaprockiArgentina2024-05-23Feltz Printing Service QUALIFIED41Onyama Limba
1043Aditya E StockhamArgentina2024-05-31King, Christopher A Esq PROPOSAL57Onyama Limba
1044Mayumi E PerinIndia2024-06-07Commercial Press NEGOTIATION23Stephen Shaw
1045Arvin E RulapaughRussia2024-06-05Truhlar And Truhlar Attys NEW83Asiya Javayant
1046Sinclair A ShinkoSpain2024-05-22Feltz Printing Service PROPOSAL35Stephen Shaw
1047Aika A RoysterGermany2024-05-29Dorl, James J Esq PROPOSAL84Anna Fali
1048Arvin A CaudyFrance2024-05-21Feltz Printing Service RENEWAL15Anna Fali
1049Antonio G VenereItaly2024-05-19Benton, John B Jr UNQUALIFIED65Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan T StockhamItalyIoni Bowcher PROPOSAL
Leja H MaletGermanyElwin Sharvill NEW
Leja F BriddickIndiaIvan Magalhaes PROPOSAL
Tony K MaletArgentinaOnyama Limba UNQUALIFIED
Clifford M ShinkoCanadaIvan Magalhaes NEW
Johnson U MorascaGermanyOnyama Limba NEW
Munro I PoquetteBrazilOnyama Limba PROPOSAL
Francesco F SchemmerSpainAmy Elsner RENEWAL
Cody C WaycottRussiaAsiya Javayant NEGOTIATION
Adams O RoysterBrazilAmy Elsner NEGOTIATION
Costa H StockhamCanadaOnyama Limba NEW
Rodrigues G FlosiSpainXuxue Feng RENEWAL
Arvin T RimGermanyXuxue Feng QUALIFIED
Jones T SaylorsArgentinaElwin Sharvill NEGOTIATION
Alejandro X KuskoArgentinaAsiya Javayant UNQUALIFIED
Rodrigues U VocelkaSpainXuxue Feng NEW
Aika A InouyeJapanIvan Magalhaes RENEWAL
Jennifer M KolmetzArgentinaIoni Bowcher QUALIFIED
Adams J SlusarskiSpainAmy Elsner RENEWAL
Kaitlin D CampainIndiaStephen Shaw NEGOTIATION
Jefferson V CaudyGermanyIvan Magalhaes UNQUALIFIED
Ivar D DoeCanadaStephen Shaw PROPOSAL
Munro V OldroydGermanyAmy Elsner NEGOTIATION
Francesco R PerinArgentinaIvan Magalhaes QUALIFIED
Rodrigues K RoysterFranceAsiya Javayant UNQUALIFIED
Jefferson N NestleUnited KingdomElwin Sharvill RENEWAL
Wickens N BriddickCanadaBernardo Dominic NEW
Sinclair M CaudyRussiaAsiya Javayant UNQUALIFIED
Salvatore N GarufiUnited KingdomOnyama Limba RENEWAL
Aruna C VocelkaBrazilAsiya Javayant NEW
Clifford O MorascaCanadaBernardo Dominic NEGOTIATION
Misaki A GillianFranceAnna Fali NEGOTIATION
Rodrigues J PaprockiSpainIoni Bowcher NEW
Claire X SergiBrazilAnna Fali RENEWAL
Cody A OstroskyItalyElwin Sharvill PROPOSAL
Mayumi D InouyeRussiaElwin Sharvill NEGOTIATION
Leja J FerenczBrazilAsiya Javayant PROPOSAL
Emily M DilliardGermanyAsiya Javayant QUALIFIED
Clifford T SergiUnited KingdomIvan Magalhaes QUALIFIED
Arvin D RulapaughUnited KingdomOnyama Limba QUALIFIED
Juan B RoysterUnited KingdomOnyama Limba RENEWAL
Smith T FigeroaGermanyIvan Magalhaes NEW
Adams S AmigonGermanyElwin Sharvill QUALIFIED
Octavia E SergiGermanyBernardo Dominic NEGOTIATION
Jones J KolmetzCanadaElwin Sharvill QUALIFIED
Claire N FigeroaIndiaOnyama Limba PROPOSAL
Alejandro X ChuiIndiaAmy Elsner PROPOSAL
Jeanfrancois Y GauchoCanadaXuxue Feng NEGOTIATION
Jefferson U VocelkaJapanAsiya Javayant UNQUALIFIED
Jones D WhobreyAustraliaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Sinclair C Kolmetz
Leja W Briddick
Maria N Oldroyd
Jones T Ruta
Aruna T Bolognia
Jones Y Slusarski
Jefferson C Poquette
Cody Q Oldroyd
Leja Z Glick
David J Briddick
Clifford C Marrier
Leja D Venere
Jones Z Marrier
Jeanfrancois R Stockham
Silvio V Shinko
Ashley U Darakjy
Darci F Kusko
Aika Y Foller
Claire L Royster
Ashley S Bowley
Francesco A Gillian
Salvatore F Garufi
Kaitlin F Malet
Misaki U Marrier
Jennifer L Gillian
Alejandro P Morasca
Izzy U Ferencz
Cody W Rim
Isabel Z Bolognia
James P Garufi
Francesco U Schemmer
Maisha Z Gaucho
Silvio Q Kusko
Ricardo P Oldroyd
Misaki D Gillian
Aika V Chui
David A Shinko
Isabel M Maclead
Greenwood Z Marrier
Mujtaba C Figeroa
Julie C Dilliard
Darci W Stockham
Wickens K Nestle
Ivar C Foller
Tony M Bowley
Maisha H Campain
Faith D Tollner
James W Kolmetz
Jones J Rim
James T Garufi
IdCountryDate
1000India2024-05-27
1001Italy2024-06-06
1002France2024-05-17
1003France2024-05-15
1004Russia2024-06-06
1005Canada2024-06-08
1006Russia2024-05-26
1007Canada2024-05-25
1008Japan2024-05-30
1009Brazil2024-05-17
1010Germany2024-06-07
1011Japan2024-06-03
1012Spain2024-05-24
1013Russia2024-05-24
1014Spain2024-05-18
1015United Kingdom2024-05-27
1016Germany2024-06-08
1017Spain2024-05-25
1018Japan2024-05-14
1019Australia2024-05-26
1020Australia2024-05-21
1021Italy2024-06-04
1022Argentina2024-06-02
1023Germany2024-06-03
1024India2024-05-24
1025Australia2024-06-07
1026Japan2024-05-28
1027Russia2024-05-20
1028France2024-05-15
1029Germany2024-05-31
1030Germany2024-06-06
1031Russia2024-06-05
1032Canada2024-06-11
1033United Kingdom2024-06-05
1034Argentina2024-05-19
1035United Kingdom2024-06-05
1036Spain2024-06-05
1037India2024-06-04
1038Argentina2024-06-07
1039Canada2024-05-19
1040Russia2024-06-11
1041Japan2024-05-23
1042Italy2024-06-09
1043Italy2024-05-16
1044Canada2024-05-30
1045Canada2024-05-27
1046Russia2024-06-11
1047France2024-05-16
1048Australia2024-06-12
1049Italy2024-05-15

On-Demand Data

NameIdCountryDate
Ashley H Waycott1000Italy2024-05-25
Maria S Paprocki1001India2024-05-27
Stacey C Kusko1002Argentina2024-06-05
Emily Y Wieser1003Germany2024-05-14
Ashley C Ferencz1004Canada2024-05-31
Jennifer B Bowley1005Germany2024-05-31
David P Royster1006Australia2024-06-03
Emily M Iturbide1007Argentina2024-05-21
Isabel X Oldroyd1008Argentina2024-06-12
Mujtaba O Stenseth1009Russia2024-06-01
Antonio K Wieser1010Russia2024-05-24
Mujtaba L Tollner1011Spain2024-05-21
Darci M Albares1012Argentina2024-05-17
Faith N Saylors1013Australia2024-05-22
Johnson D Ruta1014Canada2024-06-10
Ricardo M Morasca1015Japan2024-05-17
Mayumi I Caudy1016Japan2024-05-19
Costa D Nestle1017Russia2024-06-07
Munro E Bolognia1018Brazil2024-06-07
Juan I Figeroa1019Italy2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa B GarufiCanadaAmy Elsner NEW
Maria K ChuiSpainIvan Magalhaes NEW
David X AmigonGermanyElwin Sharvill NEGOTIATION
Darci T CampainJapanXuxue Feng RENEWAL
Misaki T OldroydUnited KingdomXuxue Feng QUALIFIED
Jefferson G GillianRussiaStephen Shaw QUALIFIED
James V AlbaresAustraliaAnna Fali RENEWAL
Morrow H MaletGermanyStephen Shaw PROPOSAL
Alejandro J PoquetteAustraliaIoni Bowcher QUALIFIED
Isabel N RoysterIndiaElwin Sharvill PROPOSAL
Greenwood Z DarakjySpainIvan Magalhaes QUALIFIED
Cody X MorascaRussiaIoni Bowcher NEGOTIATION
Leon W VocelkaCanadaAmy Elsner RENEWAL
Wickens X WaycottItalyElwin Sharvill PROPOSAL
Costa X MorascaUnited KingdomAsiya Javayant NEGOTIATION
Alejandro L MacleadUnited KingdomXuxue Feng NEW
Aika H MaletArgentinaIvan Magalhaes UNQUALIFIED
Isabel R BriddickIndiaIvan Magalhaes NEGOTIATION
Aruna W MacleadGermanyIvan Magalhaes QUALIFIED
Morrow H PerinItalyAsiya Javayant NEW
James W FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Morrow N RimArgentinaIvan Magalhaes NEGOTIATION
Mujtaba N VenereJapanOnyama Limba RENEWAL
Jennifer Y FollerItalyBernardo Dominic UNQUALIFIED
Rodrigues D DoeJapanBernardo Dominic PROPOSAL
Chavez K GarufiFranceAsiya Javayant NEGOTIATION
Julie T FerenczCanadaStephen Shaw PROPOSAL
James D DilliardArgentinaOnyama Limba RENEWAL
Jones C MarrierJapanOnyama Limba NEW
Maria O DarakjyUnited KingdomElwin Sharvill QUALIFIED
Sinclair L SlusarskiUnited KingdomAmy Elsner NEW
Wickens W MarrierUnited KingdomStephen Shaw PROPOSAL
Tony W ButtCanadaStephen Shaw PROPOSAL
Ricardo C BriddickIndiaAsiya Javayant UNQUALIFIED
Sinclair F ButtIndiaElwin Sharvill PROPOSAL
Adams M CaudyUnited KingdomXuxue Feng NEW
David Y NestleJapanIvan Magalhaes PROPOSAL
Julie H InouyeAustraliaIvan Magalhaes UNQUALIFIED
Chavez Y TollnerBrazilBernardo Dominic QUALIFIED
Tony U WaycottArgentinaAmy Elsner 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>