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
Antonio C NestleItalyAsiya Javayant NEGOTIATION
Greenwood X StockhamCanadaBernardo Dominic NEW
Sinclair G VenereRussiaOnyama Limba QUALIFIED
Clifford V WhobreyRussiaAmy Elsner UNQUALIFIED
Emily B NestleCanadaXuxue Feng QUALIFIED
Tony V GarufiIndiaAmy Elsner NEW
Emily V RutaBrazilBernardo Dominic QUALIFIED
Julie C GarufiRussiaStephen Shaw RENEWAL
Kaitlin F OstroskySpainBernardo Dominic UNQUALIFIED
Claire R RutaBrazilAmy Elsner PROPOSAL
Darci G MacleadFranceStephen Shaw NEGOTIATION
Kadeem D StensethIndiaIoni Bowcher NEW
Emily G CaldareraGermanyAsiya Javayant QUALIFIED
Faith M TollnerGermanyBernardo Dominic NEGOTIATION
Emily R MarrierCanadaBernardo Dominic QUALIFIED
Jennifer T PoquetteFranceAsiya Javayant NEGOTIATION
Arvin X RimBrazilOnyama Limba RENEWAL
Misaki I RutaUnited KingdomElwin Sharvill NEGOTIATION
Murillo G ShinkoAustraliaStephen Shaw NEW
Alejandro A MacleadGermanyAsiya Javayant QUALIFIED
Stacey Q DarakjyArgentinaAnna Fali NEW
Arvin S IturbideBrazilIvan Magalhaes PROPOSAL
Rodrigues B IturbideItalyOnyama Limba NEW
Clifford A NickaUnited KingdomElwin Sharvill RENEWAL
Emily M RulapaughIndiaBernardo Dominic RENEWAL
James B SchemmerUnited KingdomAnna Fali QUALIFIED
Francesco S FigeroaIndiaOnyama Limba NEW
Antonio L NestleRussiaAsiya Javayant QUALIFIED
Leon M WhobreyGermanyStephen Shaw NEW
Mujtaba S MacleadIndiaIvan Magalhaes QUALIFIED
Darci E NestleAustraliaBernardo Dominic NEGOTIATION
Faith K CampainSpainIvan Magalhaes RENEWAL
Tony I PaprockiSpainStephen Shaw PROPOSAL
Stacey D WhobreyItalyXuxue Feng NEGOTIATION
Aditya G OldroydUnited KingdomAmy Elsner NEGOTIATION
Octavia O ChuiSpainAmy Elsner UNQUALIFIED
Aditya F ChuiFranceStephen Shaw QUALIFIED
Jeanfrancois Q PaprockiSpainStephen Shaw NEGOTIATION
Claire G RulapaughGermanyAnna Fali QUALIFIED
Jones X DoeFranceXuxue Feng UNQUALIFIED
Antonio U MaletCanadaElwin Sharvill NEW
Jeanfrancois N MarrierArgentinaOnyama Limba RENEWAL
Antonio S RulapaughGermanyAmy Elsner NEGOTIATION
Antonio J StockhamFranceXuxue Feng RENEWAL
Kadeem C GlickGermanyIoni Bowcher RENEWAL
Murillo C RoysterAustraliaIoni Bowcher NEW
Faith U RulapaughSpainOnyama Limba RENEWAL
Faith O SchemmerRussiaOnyama Limba PROPOSAL
Darci T KolmetzCanadaAnna Fali QUALIFIED
Aika I GillianCanadaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leon B MorascaUnited KingdomAmy Elsner PROPOSAL
Julie H FerenczItalyAnna Fali NEW
Alejandro Q GarufiRussiaAnna Fali UNQUALIFIED
Misaki M BriddickJapanStephen Shaw PROPOSAL
Tony G DoeAustraliaXuxue Feng NEW
Kaitlin X SchemmerCanadaAmy Elsner PROPOSAL
Francesco W FerenczIndiaIvan Magalhaes NEW
Adams W FerenczFranceOnyama Limba UNQUALIFIED
Isabel F InouyeSpainXuxue Feng QUALIFIED
Cody E CaudySpainElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi E PerinGermany2024-06-24Chemel, James L Cpa NEW39Ioni Bowcher
1001Misaki D OstroskyFrance2024-05-28Chemel, James L Cpa NEW0Ivan Magalhaes
1002David M WhobreyJapan2024-06-16Truhlar And Truhlar Attys UNQUALIFIED2Stephen Shaw
1003Murillo B ShinkoGermany2024-06-22Morlong Associates QUALIFIED56Ivan Magalhaes
1004Morrow W WhobreyJapan2024-05-26Commercial Press NEGOTIATION8Asiya Javayant
1005Cody V TollnerUnited Kingdom2024-06-02Commercial Press PROPOSAL75Elwin Sharvill
1006Octavia L SlusarskiJapan2024-06-22Rousseaux, Michael Esq PROPOSAL10Ioni Bowcher
1007Ivar J WhobreyArgentina2024-06-13Chemel, James L Cpa QUALIFIED64Ioni Bowcher
1008Maisha O FigeroaItaly2024-06-03Feiner Bros PROPOSAL89Asiya Javayant
1009Jones H RulapaughAustralia2024-06-10Feiner Bros NEW70Bernardo Dominic
1010Rodrigues H NickaArgentina2024-06-05Buckley Miller Wright QUALIFIED29Anna Fali
1011Wickens N BologniaGermany2024-06-01Printing Dimensions NEGOTIATION51Asiya Javayant
1012David T GlickGermany2024-05-29Dorl, James J Esq NEGOTIATION15Elwin Sharvill
1013Johnson J FollerCanada2024-06-18Truhlar And Truhlar Attys RENEWAL27Bernardo Dominic
1014Ricardo D StensethBrazil2024-06-04Printing Dimensions QUALIFIED41Bernardo Dominic
1015Aditya P BologniaFrance2024-06-07Morlong Associates NEGOTIATION37Ivan Magalhaes
1016Ivar W GlickArgentina2024-06-06Chapman, Ross E Esq NEGOTIATION20Stephen Shaw
1017Faith F ButtSpain2024-06-18Rangoni Of Florence NEW15Ioni Bowcher
1018Ashley F NickaIndia2024-06-10Buckley Miller Wright QUALIFIED44Ivan Magalhaes
1019Ivar L DarakjyGermany2024-06-16Chapman, Ross E Esq PROPOSAL36Onyama Limba
1020Julie P AlbaresCanada2024-06-12Commercial Press QUALIFIED47Stephen Shaw
1021Izzy H FerenczArgentina2024-06-20King, Christopher A Esq RENEWAL63Bernardo Dominic
1022Smith Y AlbaresGermany2024-06-19Rousseaux, Michael Esq NEW66Xuxue Feng
1023Morrow M StensethUnited Kingdom2024-05-29Feiner Bros NEGOTIATION4Xuxue Feng
1024James S NickaAustralia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED97Bernardo Dominic
1025Darci G NickaGermany2024-06-11King, Christopher A Esq RENEWAL40Ioni Bowcher
1026Aditya Z WhobreyCanada2024-06-12Printing Dimensions NEGOTIATION54Anna Fali
1027Leja Y BriddickGermany2024-06-20Truhlar And Truhlar Attys NEGOTIATION75Anna Fali
1028Aruna H CampainIndia2024-06-01Morlong Associates QUALIFIED36Amy Elsner
1029Rodrigues Z RulapaughJapan2024-06-08Benton, John B Jr QUALIFIED31Anna Fali
1030Cody J CaudyRussia2024-06-05Benton, John B Jr RENEWAL72Onyama Limba
1031Jefferson K MarrierCanada2024-06-03Buckley Miller Wright UNQUALIFIED27Elwin Sharvill
1032Aditya X RoysterIndia2024-06-09Commercial Press NEW83Ivan Magalhaes
1033Leon E MaletBrazil2024-06-05Benton, John B Jr PROPOSAL82Xuxue Feng
1034Darci D CaudyArgentina2024-06-12King, Christopher A Esq RENEWAL58Ioni Bowcher
1035Silvio A TollnerIndia2024-06-02Benton, John B Jr RENEWAL51Elwin Sharvill
1036Costa M MaletIndia2024-06-18Printing Dimensions NEW99Elwin Sharvill
1037Chavez E OldroydFrance2024-06-21Truhlar And Truhlar Attys RENEWAL36Onyama Limba
1038Ivar P DilliardJapan2024-06-21Chanay, Jeffrey A Esq PROPOSAL86Ivan Magalhaes
1039Francesco O MacleadFrance2024-06-10Dorl, James J Esq QUALIFIED94Asiya Javayant
1040Smith J WhobreyFrance2024-06-06Benton, John B Jr RENEWAL21Stephen Shaw
1041Munro E FollerSpain2024-06-22Rousseaux, Michael Esq PROPOSAL97Ivan Magalhaes
1042Kadeem K DoeJapan2024-06-14Feltz Printing Service NEGOTIATION18Stephen Shaw
1043Munro K MaletFrance2024-06-23Feltz Printing Service NEW9Ioni Bowcher
1044Sinclair Y GauchoIndia2024-05-26Feltz Printing Service QUALIFIED10Ioni Bowcher
1045Silvio U DilliardGermany2024-06-10Morlong Associates NEGOTIATION94Xuxue Feng
1046Leja N VocelkaArgentina2024-06-17Rangoni Of Florence NEGOTIATION90Elwin Sharvill
1047Leja C MacleadJapan2024-06-16Buckley Miller Wright NEGOTIATION66Elwin Sharvill
1048Antonio K ShinkoJapan2024-05-26Commercial Press NEGOTIATION48Stephen Shaw
1049Darci B PerinSpain2024-06-17Chapman, Ross E Esq RENEWAL58Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ricardo P BowleyJapanIvan Magalhaes QUALIFIED
Greenwood U FlosiBrazilAmy Elsner UNQUALIFIED
Kaitlin Z MacleadUnited KingdomIoni Bowcher UNQUALIFIED
Francesco X StensethRussiaAmy Elsner RENEWAL
Misaki L ShinkoArgentinaAsiya Javayant PROPOSAL
Johnson L PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Arvin A MacleadJapanBernardo Dominic UNQUALIFIED
Leon J AlbaresArgentinaAnna Fali NEW
Jefferson B OstroskyJapanAnna Fali NEW
Deepesh L NickaCanadaXuxue Feng RENEWAL
Munro S StensethFranceStephen Shaw RENEWAL
Arvin K DarakjyIndiaIoni Bowcher NEW
Francesco M ShinkoGermanyOnyama Limba PROPOSAL
Mayumi D CaldareraJapanOnyama Limba UNQUALIFIED
Tony R MarrierAustraliaAsiya Javayant PROPOSAL
Aruna K GlickIndiaStephen Shaw QUALIFIED
Mayumi P NickaUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba Q AmigonRussiaAsiya Javayant UNQUALIFIED
Munro O DilliardGermanyIoni Bowcher RENEWAL
Ricardo Z NestleGermanyStephen Shaw NEW
James O SergiAustraliaElwin Sharvill PROPOSAL
Ashley K IturbideFranceXuxue Feng UNQUALIFIED
Morrow W NickaCanadaAnna Fali QUALIFIED
Leon C StockhamRussiaAsiya Javayant RENEWAL
Morrow R BologniaGermanyOnyama Limba UNQUALIFIED
Kadeem R WhobreyBrazilAsiya Javayant NEGOTIATION
Ricardo W VocelkaIndiaAnna Fali RENEWAL
Ricardo B OldroydCanadaBernardo Dominic NEGOTIATION
Izzy I GillianAustraliaIvan Magalhaes PROPOSAL
Murillo X FigeroaIndiaStephen Shaw QUALIFIED
Juan Z BologniaItalyStephen Shaw QUALIFIED
Tony X SaylorsFranceOnyama Limba RENEWAL
Aruna Z MorascaGermanyXuxue Feng PROPOSAL
Darci X MarrierAustraliaAnna Fali QUALIFIED
Claire D SergiFranceStephen Shaw PROPOSAL
Emily D OldroydCanadaElwin Sharvill NEW
Munro U GauchoBrazilXuxue Feng NEGOTIATION
Costa A FlosiCanadaAmy Elsner NEGOTIATION
Julie X CaudyJapanAsiya Javayant RENEWAL
James W GillianAustraliaBernardo Dominic PROPOSAL
Aruna M AlbaresBrazilAsiya Javayant QUALIFIED
Munro T SchemmerFranceAsiya Javayant NEGOTIATION
Deepesh N PerinItalyElwin Sharvill NEGOTIATION
Costa B GillianBrazilBernardo Dominic NEW
Jennifer Y CaudyCanadaElwin Sharvill NEW
Stacey C PerinFranceBernardo Dominic PROPOSAL
Ricardo P VocelkaAustraliaAnna Fali NEW
Ivar Z VenereUnited KingdomXuxue Feng PROPOSAL
Arvin O AmigonRussiaIoni Bowcher NEW
Kaitlin J VocelkaAustraliaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Isabel C Shinko
Morrow B Stockham
Claire T Figeroa
Murillo A Albares
Jones F Stockham
Antonio V Briddick
Maria O Gillian
Antonio W Rim
Maria D Ferencz
Johnson F Marrier
Misaki R Glick
Ashley T Malet
James J Darakjy
Jefferson R Caldarera
Kadeem P Chui
Arvin J Amigon
Emily B Doe
Kadeem I Foller
Mujtaba J Perin
Deepesh Z Bolognia
Silvio X Morasca
Deepesh D Paprocki
Emily Z Waycott
Ivar Y Briddick
Mayumi H Stockham
Ashley X Tollner
Silvio G Ferencz
Silvio J Caudy
Isabel F Venere
Johnson S Gaucho
Leja E Ostrosky
Izzy Q Bowley
Deepesh S Glick
Jones C Malet
Antonio N Nicka
Alejandro F Caldarera
Maisha N Whobrey
David Y Ferencz
Jones O Flosi
Emily C Gaucho
Octavia R Tollner
Mujtaba X Gillian
Costa J Ruta
Leon I Ruta
Jones J Kusko
Octavia A Caldarera
Leon J Kusko
Silvio T Wieser
Claire E Maclead
Aruna Z Amigon
IdCountryDate
1000Canada2024-06-02
1001France2024-06-08
1002Italy2024-06-17
1003Spain2024-06-05
1004Canada2024-06-04
1005United Kingdom2024-06-02
1006Spain2024-06-09
1007Japan2024-06-13
1008France2024-06-11
1009Russia2024-06-13
1010Australia2024-06-21
1011Brazil2024-06-24
1012Australia2024-06-13
1013India2024-06-18
1014Germany2024-06-03
1015Canada2024-05-26
1016Italy2024-05-29
1017Australia2024-06-20
1018Italy2024-06-16
1019Japan2024-06-12
1020France2024-06-23
1021Canada2024-05-28
1022Argentina2024-06-23
1023Spain2024-06-13
1024Argentina2024-06-04
1025Russia2024-06-15
1026Brazil2024-05-31
1027Canada2024-06-05
1028Canada2024-06-16
1029India2024-06-15
1030France2024-06-16
1031Canada2024-06-16
1032Japan2024-06-11
1033Russia2024-06-07
1034Australia2024-06-17
1035Brazil2024-05-27
1036Canada2024-06-11
1037Germany2024-06-16
1038Spain2024-05-27
1039Germany2024-06-17
1040Australia2024-05-29
1041Brazil2024-06-13
1042Germany2024-05-27
1043Japan2024-06-04
1044Italy2024-05-26
1045Germany2024-06-24
1046France2024-06-05
1047Germany2024-05-27
1048Argentina2024-06-20
1049Russia2024-06-02

On-Demand Data

NameIdCountryDate
Kadeem J Wieser1000Brazil2024-06-18
Isabel K Caudy1001Italy2024-05-26
Jones R Caldarera1002Argentina2024-06-07
Leja Y Rim1003Canada2024-06-04
Maria H Saylors1004United Kingdom2024-06-24
Francesco F Amigon1005France2024-06-02
Ashley J Malet1006Germany2024-06-06
Leja V Dilliard1007Brazil2024-06-15
Misaki B Albares1008Germany2024-06-16
Darci U Campain1009Spain2024-06-16
Ashley D Glick1010Germany2024-06-13
Rodrigues G Amigon1011Brazil2024-06-20
Isabel W Malet1012Argentina2024-06-15
Octavia L Malet1013Canada2024-06-02
Cody U Perin1014Japan2024-06-23
Maisha L Kolmetz1015Germany2024-06-05
Johnson L Ostrosky1016Brazil2024-06-15
Aruna U Chui1017Australia2024-06-21
Octavia C Kolmetz1018France2024-06-21
Izzy S Darakjy1019United Kingdom2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X StensethArgentinaAmy Elsner UNQUALIFIED
Deepesh P SlusarskiAustraliaAmy Elsner UNQUALIFIED
David J CaldareraSpainAsiya Javayant UNQUALIFIED
Maria D WaycottJapanAsiya Javayant NEW
Darci A BriddickAustraliaElwin Sharvill NEW
Juan A NestleAustraliaOnyama Limba RENEWAL
Adams M RimJapanStephen Shaw PROPOSAL
Cody S VenereArgentinaOnyama Limba QUALIFIED
Munro F FollerCanadaIvan Magalhaes RENEWAL
Chavez K GarufiBrazilStephen Shaw QUALIFIED
Antonio Z CampainUnited KingdomAsiya Javayant NEW
Adams K PoquetteRussiaAsiya Javayant PROPOSAL
Darci T FerenczRussiaAnna Fali RENEWAL
David A KuskoIndiaAnna Fali UNQUALIFIED
Tony X MorascaItalyAmy Elsner NEW
Chavez B BriddickItalyIoni Bowcher NEGOTIATION
Greenwood N InouyeGermanyStephen Shaw UNQUALIFIED
Murillo Y WaycottFranceBernardo Dominic QUALIFIED
Izzy J DarakjyArgentinaIoni Bowcher QUALIFIED
Isabel V FigeroaJapanAnna Fali PROPOSAL
Juan V StockhamItalyXuxue Feng UNQUALIFIED
Costa O WieserCanadaElwin Sharvill PROPOSAL
Misaki Q BologniaItalyOnyama Limba NEGOTIATION
Costa R WhobreySpainIvan Magalhaes NEGOTIATION
Clifford H DarakjyAustraliaAsiya Javayant QUALIFIED
Octavia L FerenczSpainBernardo Dominic RENEWAL
Costa F GillianItalyAsiya Javayant NEGOTIATION
Salvatore Y VenereBrazilAnna Fali RENEWAL
Nicolas D BologniaCanadaElwin Sharvill QUALIFIED
Arvin E WhobreyRussiaIvan Magalhaes UNQUALIFIED
Johnson I SergiAustraliaIoni Bowcher QUALIFIED
Deepesh L PerinAustraliaOnyama Limba UNQUALIFIED
Chavez P PoquetteAustraliaIoni Bowcher NEGOTIATION
Smith K StockhamSpainStephen Shaw QUALIFIED
Kaitlin T MaletFranceOnyama Limba UNQUALIFIED
Deepesh B KuskoSpainStephen Shaw PROPOSAL
Tony D GlickBrazilStephen Shaw UNQUALIFIED
Claire S RoysterFranceIvan Magalhaes QUALIFIED
Kaitlin C SchemmerUnited KingdomXuxue Feng RENEWAL
Alejandro S ShinkoFranceOnyama Limba 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>