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
Jeanfrancois M BowleySpainAsiya Javayant NEW
Clifford A WhobreyGermanyStephen Shaw PROPOSAL
Jones H ChuiUnited KingdomOnyama Limba UNQUALIFIED
Isabel D BriddickRussiaBernardo Dominic QUALIFIED
Emily H MaletFranceStephen Shaw NEGOTIATION
Jones O SchemmerUnited KingdomOnyama Limba NEGOTIATION
Adams N FlosiSpainIoni Bowcher QUALIFIED
Leon K KuskoUnited KingdomBernardo Dominic NEW
Julie L RoysterBrazilIoni Bowcher UNQUALIFIED
Rodrigues G StockhamAustraliaAsiya Javayant UNQUALIFIED
Ricardo Y NickaAustraliaBernardo Dominic NEGOTIATION
Kaitlin X FerenczBrazilAmy Elsner UNQUALIFIED
Nicolas H FigeroaGermanyIvan Magalhaes QUALIFIED
Arvin O WhobreySpainIoni Bowcher NEW
Emily J BriddickAustraliaAmy Elsner QUALIFIED
Deepesh Z StensethRussiaAnna Fali PROPOSAL
Antonio Q NestleGermanyBernardo Dominic NEGOTIATION
Adams V FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Aika V SlusarskiRussiaAnna Fali RENEWAL
Aditya W ShinkoRussiaOnyama Limba NEW
Darci Y KolmetzCanadaIoni Bowcher NEW
Misaki U CaudyRussiaStephen Shaw RENEWAL
Clifford S MaletArgentinaIoni Bowcher QUALIFIED
Aruna D CampainSpainStephen Shaw NEW
David T BologniaFranceIvan Magalhaes PROPOSAL
Aruna Y VocelkaAustraliaOnyama Limba QUALIFIED
Silvio M CaldareraAustraliaAnna Fali NEGOTIATION
Mayumi R VenereAustraliaOnyama Limba QUALIFIED
Johnson C MarrierGermanyAmy Elsner UNQUALIFIED
Salvatore U GlickSpainElwin Sharvill PROPOSAL
Maisha B RimSpainAsiya Javayant NEW
David L MarrierJapanOnyama Limba RENEWAL
Isabel A FollerItalyXuxue Feng UNQUALIFIED
Mujtaba X WhobreyAustraliaAnna Fali QUALIFIED
Chavez A CaudySpainIvan Magalhaes NEW
Rodrigues T OldroydIndiaBernardo Dominic NEW
Juan Z KolmetzAustraliaBernardo Dominic NEW
Octavia N FerenczUnited KingdomAnna Fali QUALIFIED
Leon G NickaJapanBernardo Dominic UNQUALIFIED
Morrow W InouyeItalyAsiya Javayant UNQUALIFIED
Julie L RulapaughBrazilBernardo Dominic QUALIFIED
Leja C PerinItalyOnyama Limba UNQUALIFIED
Alejandro U NestleCanadaIvan Magalhaes NEW
Morrow M StensethBrazilElwin Sharvill PROPOSAL
Wickens M RulapaughRussiaAsiya Javayant PROPOSAL
Murillo P GarufiCanadaAsiya Javayant QUALIFIED
Johnson Z CaudyFranceStephen Shaw UNQUALIFIED
Misaki W SchemmerArgentinaIvan Magalhaes RENEWAL
Mayumi E FollerBrazilAmy Elsner QUALIFIED
Ivar V CampainUnited KingdomIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jennifer L BriddickGermanyAsiya Javayant PROPOSAL
David N RoysterItalyXuxue Feng RENEWAL
Alejandro Z ButtArgentinaIvan Magalhaes QUALIFIED
Arvin P BriddickIndiaIoni Bowcher RENEWAL
Juan K CaldareraUnited KingdomIvan Magalhaes RENEWAL
Nicolas M WaycottJapanBernardo Dominic UNQUALIFIED
Isabel M KolmetzCanadaAsiya Javayant UNQUALIFIED
Nicolas E NestleJapanAnna Fali NEW
Ivar T SlusarskiFranceAmy Elsner QUALIFIED
Ricardo H SaylorsRussiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David D InouyeItaly2024-06-07King, Christopher A Esq NEW77Elwin Sharvill
1001Jennifer Y NickaGermany2024-06-10Chemel, James L Cpa QUALIFIED17Elwin Sharvill
1002Deepesh R ButtUnited Kingdom2024-05-28Printing Dimensions RENEWAL48Ivan Magalhaes
1003Cody C RimGermany2024-05-26Rousseaux, Michael Esq UNQUALIFIED90Elwin Sharvill
1004Adams X PaprockiArgentina2024-06-10Buckley Miller Wright PROPOSAL27Onyama Limba
1005Mujtaba R WaycottGermany2024-06-15King, Christopher A Esq RENEWAL42Stephen Shaw
1006Aditya T WhobreyItaly2024-05-26Rousseaux, Michael Esq PROPOSAL87Anna Fali
1007Cody L StockhamAustralia2024-06-18Feltz Printing Service NEW73Stephen Shaw
1008Maisha N GarufiJapan2024-06-10Chapman, Ross E Esq NEW53Stephen Shaw
1009Alejandro C DoeFrance2024-06-21Printing Dimensions NEW7Onyama Limba
1010Izzy X GauchoFrance2024-06-05Feltz Printing Service QUALIFIED85Ivan Magalhaes
1011Darci C AlbaresGermany2024-05-30Rousseaux, Michael Esq PROPOSAL26Anna Fali
1012Murillo R StockhamUnited Kingdom2024-06-19Rangoni Of Florence PROPOSAL2Stephen Shaw
1013Leon Z MacleadArgentina2024-06-05Feiner Bros PROPOSAL95Onyama Limba
1014Francesco Q PerinGermany2024-05-31Rangoni Of Florence QUALIFIED64Onyama Limba
1015Octavia N PoquetteBrazil2024-06-08Buckley Miller Wright NEW12Xuxue Feng
1016Darci L MarrierCanada2024-06-19Feltz Printing Service QUALIFIED88Elwin Sharvill
1017Faith X PaprockiJapan2024-06-19Morlong Associates PROPOSAL84Ioni Bowcher
1018Leja A CampainGermany2024-06-04Dorl, James J Esq UNQUALIFIED41Amy Elsner
1019Clifford C OldroydAustralia2024-06-10Chemel, James L Cpa NEGOTIATION55Asiya Javayant
1020Costa K MacleadFrance2024-06-05Dorl, James J Esq UNQUALIFIED82Stephen Shaw
1021Clifford J SergiCanada2024-06-19Chapman, Ross E Esq QUALIFIED48Stephen Shaw
1022Juan Z IturbideCanada2024-05-26Chapman, Ross E Esq UNQUALIFIED22Anna Fali
1023Maria W MaletFrance2024-06-02Dorl, James J Esq PROPOSAL61Elwin Sharvill
1024Rodrigues U PerinGermany2024-05-27Dorl, James J Esq RENEWAL11Elwin Sharvill
1025Jennifer R MacleadSpain2024-05-27King, Christopher A Esq UNQUALIFIED72Ioni Bowcher
1026Ashley M MacleadCanada2024-06-18Dorl, James J Esq UNQUALIFIED20Ivan Magalhaes
1027Alejandro Q AmigonJapan2024-06-02Dorl, James J Esq RENEWAL51Stephen Shaw
1028Antonio K MorascaArgentina2024-05-27Chemel, James L Cpa RENEWAL97Asiya Javayant
1029Adams S RimJapan2024-06-21Feiner Bros QUALIFIED1Ivan Magalhaes
1030Kaitlin K GauchoCanada2024-06-05Dorl, James J Esq PROPOSAL35Bernardo Dominic
1031Isabel M DilliardFrance2024-06-12Printing Dimensions NEGOTIATION99Amy Elsner
1032Chavez Z MorascaRussia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED68Anna Fali
1033James G ButtFrance2024-05-29Morlong Associates NEW56Ivan Magalhaes
1034Wickens H PoquetteGermany2024-06-08Chapman, Ross E Esq NEW39Ioni Bowcher
1035Murillo N TollnerIndia2024-06-03Morlong Associates PROPOSAL61Elwin Sharvill
1036Leon F FlosiIndia2024-06-19Rangoni Of Florence PROPOSAL62Ioni Bowcher
1037Aditya B VocelkaCanada2024-06-12Printing Dimensions QUALIFIED55Xuxue Feng
1038Kadeem T RoysterArgentina2024-06-14Printing Dimensions NEW10Onyama Limba
1039Juan S KolmetzRussia2024-06-20Benton, John B Jr PROPOSAL12Ioni Bowcher
1040Mayumi A PoquetteGermany2024-05-24Chapman, Ross E Esq QUALIFIED12Asiya Javayant
1041Francesco M NickaArgentina2024-05-26Buckley Miller Wright RENEWAL43Anna Fali
1042Aditya C StensethGermany2024-05-30Benton, John B Jr PROPOSAL45Asiya Javayant
1043Antonio P MacleadAustralia2024-06-10Chanay, Jeffrey A Esq QUALIFIED13Onyama Limba
1044Mujtaba C CaudyGermany2024-05-25Morlong Associates RENEWAL24Ivan Magalhaes
1045Misaki M WhobreyFrance2024-05-24King, Christopher A Esq NEGOTIATION17Xuxue Feng
1046Cody N OldroydRussia2024-05-24Feltz Printing Service PROPOSAL9Elwin Sharvill
1047Leon G DarakjyGermany2024-05-30Morlong Associates QUALIFIED16Asiya Javayant
1048Maria E KuskoArgentina2024-05-26Printing Dimensions UNQUALIFIED13Anna Fali
1049Rodrigues S BologniaFrance2024-06-02Chemel, James L Cpa RENEWAL79Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Faith Z CampainBrazilIvan Magalhaes RENEWAL
Jefferson X RutaBrazilIvan Magalhaes UNQUALIFIED
Antonio H AmigonRussiaStephen Shaw NEW
Tony T DarakjyItalyIoni Bowcher UNQUALIFIED
Julie B AmigonJapanBernardo Dominic PROPOSAL
Claire O PaprockiFranceAmy Elsner QUALIFIED
Mayumi N OstroskyJapanIoni Bowcher NEGOTIATION
Ivar X SergiSpainIoni Bowcher NEGOTIATION
Cody C CaldareraJapanAsiya Javayant QUALIFIED
Jefferson K RimSpainBernardo Dominic NEGOTIATION
Sinclair A IturbideGermanyStephen Shaw NEGOTIATION
James Y WaycottArgentinaXuxue Feng PROPOSAL
Maria X AlbaresJapanAmy Elsner RENEWAL
Octavia O GauchoUnited KingdomAsiya Javayant RENEWAL
Aruna U FlosiFranceElwin Sharvill QUALIFIED
Francesco Z DilliardBrazilElwin Sharvill QUALIFIED
Stacey L IturbideBrazilOnyama Limba QUALIFIED
Murillo V StensethArgentinaStephen Shaw PROPOSAL
Costa B OstroskyIndiaIoni Bowcher NEW
Johnson N SaylorsCanadaStephen Shaw NEW
Faith F ChuiCanadaXuxue Feng NEW
Clifford Q NestleFranceStephen Shaw NEGOTIATION
Leja I KuskoIndiaAsiya Javayant PROPOSAL
Octavia I ChuiAustraliaBernardo Dominic RENEWAL
Murillo W WhobreyAustraliaAsiya Javayant RENEWAL
Faith E ChuiIndiaAmy Elsner NEGOTIATION
Ivar E KuskoBrazilAsiya Javayant NEGOTIATION
Nicolas U DoeItalyAmy Elsner RENEWAL
David A MorascaItalyStephen Shaw NEGOTIATION
Stacey T OstroskyJapanIoni Bowcher QUALIFIED
Morrow W StockhamItalyStephen Shaw RENEWAL
Costa B SlusarskiItalyXuxue Feng PROPOSAL
Faith R BriddickBrazilBernardo Dominic PROPOSAL
Ivar Y FollerJapanElwin Sharvill NEGOTIATION
Rodrigues H RulapaughAustraliaAmy Elsner NEGOTIATION
Costa Q ShinkoBrazilOnyama Limba RENEWAL
Murillo P ButtArgentinaBernardo Dominic PROPOSAL
Cody L CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Octavia C CaldareraJapanXuxue Feng UNQUALIFIED
Silvio L CaudyAustraliaAsiya Javayant NEW
Wickens S SergiJapanXuxue Feng PROPOSAL
Aditya Z SaylorsIndiaStephen Shaw NEW
Maisha D ChuiJapanIvan Magalhaes QUALIFIED
Aditya J VocelkaGermanyStephen Shaw NEGOTIATION
Wickens E GillianBrazilIvan Magalhaes NEGOTIATION
Adams D PerinArgentinaBernardo Dominic NEW
Leon A MaletArgentinaIoni Bowcher RENEWAL
Jennifer L AmigonSpainOnyama Limba NEGOTIATION
Aditya F FerenczArgentinaAnna Fali NEW
Izzy F AmigonItalyBernardo Dominic PROPOSAL
Frozen Columns
Name
Kadeem M Gaucho
Chavez X Ruta
Isabel G Shinko
Juan F Briddick
Izzy V Glick
Smith V Stenseth
Julie L Bolognia
Antonio G Wieser
James S Ruta
Antonio V Whobrey
Aditya V Stockham
Tony V Bowley
Jeanfrancois U Waycott
Silvio A Nicka
Ivar O Marrier
Salvatore A Chui
Aika Y Ostrosky
Greenwood N Amigon
Jennifer C Briddick
Francesco D Venere
Jones M Flosi
Aditya J Chui
Maisha D Saylors
Ivar S Kusko
Ricardo E Garufi
Smith X Rim
Kadeem A Venere
Nicolas B Rim
Johnson Q Ruta
Francesco L Tollner
Juan G Garufi
Julie Z Albares
Aditya I Flosi
Chavez I Schemmer
Adams G Foller
Stacey I Royster
Chavez I Venere
Cody V Nestle
Cody W Marrier
Julie O Rulapaugh
Maisha X Dilliard
Antonio K Marrier
Aditya D Oldroyd
Ivar C Garufi
Arvin T Morasca
Francesco E Nicka
Isabel P Darakjy
Mujtaba M Saylors
David M Maclead
Arvin Y Kolmetz
IdCountryDate
1000Brazil2024-06-13
1001Brazil2024-05-23
1002Spain2024-06-15
1003Argentina2024-06-10
1004France2024-06-12
1005Spain2024-06-19
1006Japan2024-06-16
1007Germany2024-06-05
1008Australia2024-05-27
1009India2024-06-14
1010Japan2024-06-19
1011Japan2024-05-28
1012United Kingdom2024-06-19
1013Brazil2024-06-21
1014Japan2024-05-24
1015Japan2024-05-30
1016Canada2024-06-08
1017Japan2024-06-04
1018Brazil2024-06-12
1019Argentina2024-06-03
1020Brazil2024-06-19
1021Brazil2024-06-13
1022Germany2024-05-23
1023Italy2024-06-08
1024France2024-06-17
1025France2024-05-26
1026Germany2024-05-26
1027France2024-06-09
1028United Kingdom2024-05-28
1029Argentina2024-06-13
1030Canada2024-06-12
1031Japan2024-05-27
1032Spain2024-06-17
1033Italy2024-05-23
1034United Kingdom2024-06-17
1035France2024-06-18
1036France2024-06-05
1037Italy2024-06-04
1038Germany2024-06-12
1039United Kingdom2024-06-02
1040Argentina2024-06-05
1041France2024-05-30
1042Brazil2024-06-07
1043Argentina2024-05-28
1044India2024-06-20
1045Russia2024-05-25
1046France2024-06-08
1047Australia2024-05-29
1048India2024-05-26
1049Spain2024-06-02

On-Demand Data

NameIdCountryDate
Mayumi J Kolmetz1000Japan2024-05-30
Isabel O Caldarera1001Canada2024-05-26
Jones E Venere1002Brazil2024-05-31
Jefferson Z Stenseth1003France2024-06-13
Ashley B Stenseth1004Russia2024-06-15
Smith I Stenseth1005Italy2024-06-21
Silvio M Stenseth1006Italy2024-06-17
Izzy X Caudy1007Canada2024-06-04
Jennifer S Waycott1008Germany2024-06-05
Leja B Gillian1009Canada2024-06-19
Leon U Vocelka1010United Kingdom2024-06-18
Mujtaba P Doe1011Argentina2024-06-07
Ashley K Schemmer1012Spain2024-06-04
Octavia T Vocelka1013Italy2024-06-18
Kadeem N Sergi1014Australia2024-05-26
Johnson K Ferencz1015France2024-06-15
Misaki L Campain1016Australia2024-06-20
Juan Z Ruta1017France2024-06-13
Isabel Q Glick1018Brazil2024-06-07
Emily I Figeroa1019Italy2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem O GarufiFranceAsiya Javayant QUALIFIED
Misaki Q TollnerAustraliaAmy Elsner QUALIFIED
Kadeem C SergiGermanyAsiya Javayant NEW
Cody S MorascaGermanyElwin Sharvill UNQUALIFIED
Johnson X StockhamBrazilXuxue Feng NEW
Leja P CaldareraCanadaAmy Elsner NEGOTIATION
Smith T ChuiCanadaOnyama Limba PROPOSAL
Murillo V KolmetzCanadaAmy Elsner NEW
Clifford G ButtJapanIvan Magalhaes NEW
Greenwood J RimGermanyStephen Shaw QUALIFIED
Claire B SergiIndiaElwin Sharvill NEGOTIATION
Jones T GarufiSpainAmy Elsner UNQUALIFIED
Mayumi Z VenereItalyXuxue Feng QUALIFIED
Leon R GillianItalyIvan Magalhaes QUALIFIED
Kaitlin B BriddickGermanyAmy Elsner NEGOTIATION
Silvio T IturbideArgentinaAsiya Javayant NEGOTIATION
Cody W PerinCanadaAmy Elsner NEW
David P WaycottRussiaAsiya Javayant QUALIFIED
Jennifer M KolmetzArgentinaAnna Fali PROPOSAL
Adams N NickaCanadaXuxue Feng QUALIFIED
Jennifer K MaletUnited KingdomStephen Shaw PROPOSAL
Morrow Z DoeGermanyAnna Fali NEW
Adams A InouyeArgentinaIvan Magalhaes QUALIFIED
Maisha Y CampainGermanyStephen Shaw QUALIFIED
Smith U SergiArgentinaBernardo Dominic NEGOTIATION
Leon U NickaIndiaStephen Shaw QUALIFIED
Aika D OstroskyBrazilElwin Sharvill UNQUALIFIED
Ricardo C OstroskyCanadaStephen Shaw PROPOSAL
Octavia P AmigonSpainOnyama Limba QUALIFIED
Adams A SaylorsSpainIoni Bowcher NEGOTIATION
Aditya S FigeroaCanadaAnna Fali NEW
Greenwood W GauchoArgentinaAsiya Javayant PROPOSAL
Salvatore D WieserRussiaXuxue Feng QUALIFIED
Julie C VocelkaGermanyBernardo Dominic NEGOTIATION
Kadeem S MacleadIndiaOnyama Limba PROPOSAL
Mujtaba B KuskoCanadaIoni Bowcher PROPOSAL
Kaitlin H StockhamItalyAsiya Javayant QUALIFIED
Aruna N GarufiAustraliaStephen Shaw NEGOTIATION
Jefferson P SchemmerRussiaAmy Elsner QUALIFIED
Izzy J RoysterCanadaBernardo Dominic UNQUALIFIED

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