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
Smith I StensethItalyIoni Bowcher NEW
Alejandro P MorascaAustraliaOnyama Limba UNQUALIFIED
Isabel K DarakjyCanadaOnyama Limba NEGOTIATION
Munro A GillianGermanyElwin Sharvill UNQUALIFIED
Smith Y VocelkaIndiaIoni Bowcher PROPOSAL
Jones X RulapaughRussiaAnna Fali RENEWAL
Faith F ButtArgentinaAmy Elsner QUALIFIED
Izzy N IturbideFranceStephen Shaw RENEWAL
Munro Y BowleyJapanAsiya Javayant QUALIFIED
Francesco G BologniaFranceXuxue Feng QUALIFIED
Rodrigues M PerinBrazilAsiya Javayant NEGOTIATION
Smith N AlbaresJapanStephen Shaw QUALIFIED
Murillo M AmigonUnited KingdomElwin Sharvill UNQUALIFIED
Isabel G RutaIndiaIvan Magalhaes UNQUALIFIED
Julie L RimFranceBernardo Dominic PROPOSAL
Mayumi U WhobreyFranceIvan Magalhaes NEW
Isabel L FerenczArgentinaAmy Elsner PROPOSAL
James P InouyeCanadaAnna Fali UNQUALIFIED
Smith P RulapaughBrazilIvan Magalhaes UNQUALIFIED
Stacey U VocelkaFranceIvan Magalhaes RENEWAL
Julie K InouyeUnited KingdomAnna Fali QUALIFIED
Costa T FigeroaBrazilOnyama Limba NEGOTIATION
Morrow F BowleyGermanyIvan Magalhaes NEW
Aruna Y RutaItalyBernardo Dominic RENEWAL
Faith S TollnerItalyOnyama Limba QUALIFIED
Chavez R FollerJapanBernardo Dominic QUALIFIED
Greenwood V RoysterSpainAmy Elsner UNQUALIFIED
Ivar S SergiAustraliaIoni Bowcher QUALIFIED
Clifford P RutaFranceAmy Elsner RENEWAL
Aditya Y ChuiFranceStephen Shaw QUALIFIED
Smith H BologniaFranceStephen Shaw RENEWAL
Deepesh Y RutaUnited KingdomAnna Fali RENEWAL
Cody R CaudySpainIvan Magalhaes UNQUALIFIED
Salvatore V MorascaJapanAnna Fali RENEWAL
Aika I MorascaIndiaXuxue Feng RENEWAL
Aika G RoysterArgentinaXuxue Feng UNQUALIFIED
Clifford E DilliardGermanyOnyama Limba NEGOTIATION
Sinclair A SlusarskiCanadaIoni Bowcher QUALIFIED
Clifford N VenereGermanyStephen Shaw NEGOTIATION
Faith W GarufiItalyIoni Bowcher QUALIFIED
Darci C DarakjyBrazilAmy Elsner UNQUALIFIED
Adams G ButtAustraliaAmy Elsner RENEWAL
Alejandro B ButtUnited KingdomBernardo Dominic RENEWAL
Smith S VocelkaBrazilBernardo Dominic PROPOSAL
Tony U CampainFranceIoni Bowcher PROPOSAL
Francesco N FerenczUnited KingdomOnyama Limba UNQUALIFIED
Octavia U StensethGermanyBernardo Dominic PROPOSAL
Nicolas L OstroskyIndiaBernardo Dominic NEW
Jones M RulapaughAustraliaAsiya Javayant RENEWAL
Johnson Q AlbaresIndiaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony U FigeroaItalyBernardo Dominic RENEWAL
Adams O BologniaArgentinaIoni Bowcher NEW
Jennifer A WieserRussiaAmy Elsner UNQUALIFIED
Maisha H CaudyFranceBernardo Dominic RENEWAL
Jeanfrancois H PaprockiSpainAnna Fali UNQUALIFIED
Kadeem Q GauchoBrazilIoni Bowcher RENEWAL
Maria G SergiAustraliaAsiya Javayant QUALIFIED
Kaitlin M BologniaItalyXuxue Feng NEGOTIATION
Adams A NestleSpainOnyama Limba NEGOTIATION
Mayumi Z StensethJapanElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon A SaylorsRussia2024-06-21Feltz Printing Service QUALIFIED69Ivan Magalhaes
1001Clifford K MarrierSpain2024-06-01King, Christopher A Esq QUALIFIED20Bernardo Dominic
1002Leja C SergiCanada2024-06-13Benton, John B Jr PROPOSAL44Elwin Sharvill
1003Julie C NestleCanada2024-06-16Commercial Press NEGOTIATION72Xuxue Feng
1004Jones T CaldareraSpain2024-06-12Rangoni Of Florence QUALIFIED68Ioni Bowcher
1005Munro O CaudyCanada2024-06-12Truhlar And Truhlar Attys QUALIFIED71Ioni Bowcher
1006Octavia J FollerAustralia2024-05-28Chanay, Jeffrey A Esq NEGOTIATION40Elwin Sharvill
1007Izzy W BologniaGermany2024-06-21Dorl, James J Esq QUALIFIED29Asiya Javayant
1008Cody G VocelkaIndia2024-05-26Dorl, James J Esq NEGOTIATION71Stephen Shaw
1009Julie X StockhamSpain2024-06-08Chemel, James L Cpa NEW19Xuxue Feng
1010Maisha D OstroskyFrance2024-06-03Printing Dimensions NEW89Bernardo Dominic
1011David L KolmetzFrance2024-06-17Rousseaux, Michael Esq NEGOTIATION73Amy Elsner
1012Stacey Z VocelkaUnited Kingdom2024-05-30King, Christopher A Esq UNQUALIFIED76Onyama Limba
1013Smith R NickaJapan2024-06-15Dorl, James J Esq PROPOSAL68Stephen Shaw
1014Isabel Z SchemmerItaly2024-05-29Chapman, Ross E Esq QUALIFIED20Ioni Bowcher
1015Sinclair S RimRussia2024-06-15Benton, John B Jr NEGOTIATION6Onyama Limba
1016Misaki C SlusarskiItaly2024-06-12Morlong Associates RENEWAL37Amy Elsner
1017Kadeem G FollerBrazil2024-06-01Dorl, James J Esq QUALIFIED2Ivan Magalhaes
1018Aditya U CampainRussia2024-06-17Feltz Printing Service PROPOSAL69Elwin Sharvill
1019Salvatore V AmigonFrance2024-06-24Dorl, James J Esq PROPOSAL56Amy Elsner
1020Ivar Q SaylorsItaly2024-06-01Feiner Bros RENEWAL28Anna Fali
1021Isabel S BriddickCanada2024-06-04King, Christopher A Esq NEW71Elwin Sharvill
1022Juan K BowleyIndia2024-06-16King, Christopher A Esq RENEWAL55Onyama Limba
1023Arvin Q BowleySpain2024-06-14Chapman, Ross E Esq UNQUALIFIED26Anna Fali
1024Cody T GauchoArgentina2024-06-24Truhlar And Truhlar Attys QUALIFIED70Xuxue Feng
1025Aika R FollerGermany2024-06-23Rangoni Of Florence UNQUALIFIED40Xuxue Feng
1026Aruna W VocelkaCanada2024-06-19Chemel, James L Cpa PROPOSAL56Stephen Shaw
1027Ashley E SaylorsRussia2024-06-06Chemel, James L Cpa QUALIFIED41Xuxue Feng
1028Mayumi L RutaRussia2024-06-19Truhlar And Truhlar Attys NEGOTIATION5Ioni Bowcher
1029Maisha P RutaRussia2024-06-05Rousseaux, Michael Esq QUALIFIED67Ioni Bowcher
1030Aruna S MacleadIndia2024-06-21Printing Dimensions RENEWAL29Ivan Magalhaes
1031Aika X MaletIndia2024-06-01Dorl, James J Esq RENEWAL87Xuxue Feng
1032Ricardo V NestleUnited Kingdom2024-06-01Buckley Miller Wright UNQUALIFIED26Bernardo Dominic
1033Emily I PaprockiAustralia2024-06-24Commercial Press PROPOSAL59Anna Fali
1034Francesco W IturbideFrance2024-06-18Chemel, James L Cpa PROPOSAL88Asiya Javayant
1035Aruna Z SaylorsSpain2024-06-03King, Christopher A Esq NEGOTIATION95Ioni Bowcher
1036Mayumi D CampainArgentina2024-06-20Printing Dimensions UNQUALIFIED20Elwin Sharvill
1037Tony G DarakjyIndia2024-06-04Rangoni Of Florence NEW29Bernardo Dominic
1038Kaitlin W SlusarskiUnited Kingdom2024-06-21Rousseaux, Michael Esq NEW34Ioni Bowcher
1039Izzy E RoysterCanada2024-06-14Rousseaux, Michael Esq PROPOSAL16Ivan Magalhaes
1040Tony W FigeroaSpain2024-06-23Feltz Printing Service NEW63Xuxue Feng
1041Rodrigues A AlbaresItaly2024-06-13Chemel, James L Cpa RENEWAL84Anna Fali
1042Misaki D StockhamRussia2024-06-06Morlong Associates QUALIFIED18Stephen Shaw
1043Silvio Q CaldareraGermany2024-05-27Chemel, James L Cpa PROPOSAL16Asiya Javayant
1044Jefferson P OldroydAustralia2024-06-11Truhlar And Truhlar Attys RENEWAL45Anna Fali
1045Juan O DarakjyJapan2024-06-23Rangoni Of Florence UNQUALIFIED29Xuxue Feng
1046James I TollnerCanada2024-06-24Feltz Printing Service NEGOTIATION83Amy Elsner
1047Isabel R DoeItaly2024-05-28Rangoni Of Florence QUALIFIED44Anna Fali
1048Misaki D DarakjyGermany2024-06-04Truhlar And Truhlar Attys UNQUALIFIED88Anna Fali
1049Salvatore O FerenczCanada2024-06-20Chanay, Jeffrey A Esq QUALIFIED50Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha A TollnerSpainIoni Bowcher QUALIFIED
Aika V BowleyArgentinaIoni Bowcher NEGOTIATION
Adams X DoeItalyXuxue Feng QUALIFIED
Octavia O AmigonRussiaXuxue Feng UNQUALIFIED
Wickens F StockhamUnited KingdomAmy Elsner QUALIFIED
Morrow R MorascaFranceElwin Sharvill UNQUALIFIED
Antonio Y MacleadAustraliaIoni Bowcher NEW
Mujtaba O KuskoItalyAnna Fali QUALIFIED
Kadeem F WhobreyJapanIvan Magalhaes NEW
Maria E RutaItalyElwin Sharvill UNQUALIFIED
Jeanfrancois X SergiUnited KingdomBernardo Dominic NEW
Greenwood Q NestleItalyAsiya Javayant NEGOTIATION
Smith V DoeCanadaIoni Bowcher RENEWAL
Morrow F OstroskySpainIoni Bowcher NEGOTIATION
Alejandro I ChuiAustraliaXuxue Feng NEGOTIATION
Aika B DarakjyFranceAsiya Javayant UNQUALIFIED
Maisha I MarrierRussiaIvan Magalhaes PROPOSAL
Morrow B WhobreyFranceAmy Elsner NEW
Arvin J GarufiFranceBernardo Dominic UNQUALIFIED
Isabel B MaletAustraliaAmy Elsner RENEWAL
Kadeem B PaprockiCanadaXuxue Feng RENEWAL
Aditya K CampainBrazilElwin Sharvill NEGOTIATION
Smith O PerinSpainBernardo Dominic RENEWAL
Aika H ChuiUnited KingdomStephen Shaw UNQUALIFIED
Alejandro Q BowleyBrazilAmy Elsner QUALIFIED
Mayumi S AmigonBrazilAsiya Javayant NEW
James Y ButtJapanOnyama Limba NEW
Kadeem U MacleadItalyAmy Elsner NEW
Emily A WaycottItalyIvan Magalhaes RENEWAL
Emily N GillianBrazilStephen Shaw RENEWAL
Antonio W BowleyFranceIoni Bowcher PROPOSAL
Misaki A RutaBrazilOnyama Limba NEGOTIATION
Rodrigues J GarufiBrazilBernardo Dominic NEGOTIATION
Murillo V SergiRussiaAsiya Javayant RENEWAL
Jeanfrancois J InouyeCanadaStephen Shaw UNQUALIFIED
Smith B RimUnited KingdomOnyama Limba NEW
Isabel G IturbideItalyElwin Sharvill UNQUALIFIED
Munro Z AlbaresJapanBernardo Dominic RENEWAL
Smith X KuskoItalyElwin Sharvill QUALIFIED
Ricardo Q MaletRussiaOnyama Limba UNQUALIFIED
Izzy J ShinkoBrazilIvan Magalhaes RENEWAL
Chavez K ButtCanadaIoni Bowcher NEW
Francesco N RutaFranceStephen Shaw QUALIFIED
Kadeem I FigeroaArgentinaAnna Fali NEW
Leon V RutaBrazilIoni Bowcher PROPOSAL
Faith G MarrierFranceIvan Magalhaes PROPOSAL
Claire Z SaylorsArgentinaIoni Bowcher QUALIFIED
Izzy H CaldareraItalyStephen Shaw RENEWAL
Kadeem D BologniaItalyIoni Bowcher UNQUALIFIED
Kaitlin E FigeroaRussiaAnna Fali PROPOSAL
Frozen Columns
Name
Isabel Y Tollner
Darci E Caudy
Aruna D Stockham
Munro O Ruta
Julie J Briddick
Smith Y Venere
Smith L Saylors
Maria Z Bolognia
Octavia T Royster
Smith N Tollner
Claire D Waycott
Ivar G Kusko
Juan D Waycott
Maisha D Wieser
Faith E Vocelka
Kaitlin O Venere
Izzy T Malet
Morrow S Whobrey
Salvatore R Gaucho
Maisha G Campain
Sinclair H Dilliard
Jennifer V Nicka
Wickens C Morasca
Jefferson C Sergi
Maisha A Albares
Ivar K Ostrosky
Aditya V Dilliard
Faith J Gaucho
Stacey S Doe
Mayumi H Gaucho
Claire H Tollner
Clifford R Ruta
Salvatore Q Albares
Maisha M Ruta
Aruna N Maclead
Misaki Z Saylors
Munro R Gillian
Johnson I Wieser
Wickens K Gillian
Isabel D Garufi
Nicolas W Caudy
Silvio F Marrier
Julie O Gaucho
Tony H Bowley
Wickens A Kusko
Juan L Campain
Octavia E Waycott
Alejandro V Shinko
Faith L Kolmetz
Leja J Chui
IdCountryDate
1000France2024-06-08
1001Russia2024-06-22
1002United Kingdom2024-06-15
1003India2024-06-17
1004Russia2024-05-28
1005Germany2024-06-08
1006United Kingdom2024-06-14
1007Canada2024-06-05
1008France2024-06-19
1009Australia2024-06-04
1010Australia2024-06-03
1011France2024-06-08
1012Spain2024-06-21
1013Russia2024-06-11
1014France2024-06-08
1015India2024-06-16
1016Russia2024-06-13
1017Argentina2024-06-19
1018France2024-06-01
1019Italy2024-05-28
1020Germany2024-06-23
1021United Kingdom2024-06-11
1022Japan2024-06-02
1023Italy2024-06-06
1024Russia2024-06-12
1025Japan2024-06-14
1026United Kingdom2024-06-16
1027Japan2024-06-04
1028Canada2024-06-02
1029Argentina2024-06-02
1030United Kingdom2024-06-14
1031United Kingdom2024-06-06
1032Argentina2024-06-10
1033Argentina2024-06-06
1034Canada2024-06-18
1035Germany2024-06-05
1036India2024-05-30
1037Australia2024-06-14
1038Japan2024-06-13
1039India2024-06-04
1040Russia2024-06-23
1041Argentina2024-06-06
1042Argentina2024-06-19
1043Spain2024-06-18
1044Canada2024-05-31
1045Italy2024-06-14
1046India2024-05-29
1047Brazil2024-06-22
1048Italy2024-06-07
1049India2024-06-05

On-Demand Data

NameIdCountryDate
Silvio C Briddick1000India2024-06-15
Munro G Perin1001Brazil2024-06-22
Nicolas D Figeroa1002Argentina2024-06-02
Misaki R Albares1003Spain2024-06-10
Jefferson A Briddick1004Australia2024-06-24
Aditya V Perin1005Russia2024-06-15
Misaki R Schemmer1006India2024-05-31
Tony V Ferencz1007Brazil2024-06-05
Darci X Stenseth1008United Kingdom2024-06-21
Murillo S Darakjy1009Japan2024-06-21
Chavez N Figeroa1010Brazil2024-06-17
Aruna U Waycott1011Japan2024-06-09
Deepesh T Chui1012India2024-06-14
Clifford X Paprocki1013Germany2024-06-10
Isabel R Waycott1014Japan2024-06-11
Kaitlin E Caudy1015Argentina2024-06-23
Nicolas U Foller1016Australia2024-05-26
Julie V Gillian1017Argentina2024-06-21
Mujtaba B Sergi1018Italy2024-06-17
Smith M Bowley1019India2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair F OldroydRussiaOnyama Limba NEGOTIATION
Stacey I PaprockiJapanIoni Bowcher QUALIFIED
Jones M SergiAustraliaStephen Shaw NEW
Nicolas J FigeroaIndiaBernardo Dominic NEW
Deepesh H SaylorsFranceAnna Fali QUALIFIED
Silvio H BriddickIndiaAmy Elsner RENEWAL
Claire E DilliardArgentinaElwin Sharvill RENEWAL
Tony S MarrierUnited KingdomAmy Elsner UNQUALIFIED
Stacey J MarrierItalyIoni Bowcher NEW
Misaki Z CaldareraUnited KingdomElwin Sharvill NEW
Wickens J OldroydJapanElwin Sharvill NEGOTIATION
Kaitlin R ButtRussiaAsiya Javayant QUALIFIED
Nicolas J KolmetzUnited KingdomStephen Shaw NEGOTIATION
Jefferson W FigeroaFranceAnna Fali NEGOTIATION
Wickens X OldroydItalyIvan Magalhaes NEW
James C CaudyCanadaAsiya Javayant RENEWAL
Jeanfrancois H OldroydUnited KingdomXuxue Feng RENEWAL
Arvin A NickaFranceIoni Bowcher QUALIFIED
Kadeem H FerenczItalyElwin Sharvill PROPOSAL
Sinclair S NickaJapanIvan Magalhaes UNQUALIFIED
Francesco J MarrierIndiaOnyama Limba PROPOSAL
Claire O PoquetteJapanIoni Bowcher NEGOTIATION
Munro P MaletAustraliaOnyama Limba PROPOSAL
Claire B RimItalyXuxue Feng NEGOTIATION
Mayumi F VocelkaArgentinaStephen Shaw UNQUALIFIED
Silvio E KolmetzIndiaAnna Fali QUALIFIED
Isabel O WieserCanadaIoni Bowcher NEW
Jefferson I DilliardAustraliaBernardo Dominic PROPOSAL
Nicolas Y StensethGermanyIvan Magalhaes UNQUALIFIED
Chavez Y NestleUnited KingdomIvan Magalhaes RENEWAL
Julie Z KolmetzGermanyStephen Shaw UNQUALIFIED
Julie M RoysterIndiaBernardo Dominic NEW
Morrow T WhobreyItalyStephen Shaw PROPOSAL
Stacey E GlickGermanyElwin Sharvill RENEWAL
Murillo J SaylorsItalyAsiya Javayant PROPOSAL
Francesco C SlusarskiGermanyStephen Shaw NEW
Maisha S KolmetzGermanyIvan Magalhaes PROPOSAL
Salvatore Q PerinRussiaXuxue Feng UNQUALIFIED
Claire B PerinItalyIvan Magalhaes RENEWAL
Ivar U WaycottBrazilOnyama Limba QUALIFIED

<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>