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
Maisha C OstroskyArgentinaAsiya Javayant PROPOSAL
Leja N FerenczGermanyStephen Shaw UNQUALIFIED
Mujtaba C BologniaIndiaXuxue Feng RENEWAL
Maria T VocelkaItalyAnna Fali PROPOSAL
Antonio D InouyeJapanBernardo Dominic NEGOTIATION
Sinclair R MacleadArgentinaBernardo Dominic QUALIFIED
James V RimIndiaIvan Magalhaes QUALIFIED
Antonio K RoysterIndiaIvan Magalhaes NEW
Morrow K AlbaresCanadaOnyama Limba NEW
Emily B ButtGermanyAnna Fali NEW
Stacey E AmigonCanadaXuxue Feng QUALIFIED
Murillo O SchemmerGermanyStephen Shaw NEGOTIATION
Adams C GauchoSpainStephen Shaw QUALIFIED
Greenwood O BriddickJapanAmy Elsner NEW
Isabel T IturbideCanadaXuxue Feng RENEWAL
Greenwood F DilliardBrazilOnyama Limba QUALIFIED
Izzy O WaycottIndiaBernardo Dominic NEW
Jennifer X StockhamRussiaOnyama Limba UNQUALIFIED
Tony F BriddickArgentinaAmy Elsner PROPOSAL
Stacey F GauchoItalyXuxue Feng UNQUALIFIED
Arvin F RimCanadaXuxue Feng UNQUALIFIED
Aditya P RoysterSpainStephen Shaw UNQUALIFIED
Sinclair W CaudyBrazilElwin Sharvill NEGOTIATION
Aika L CaldareraUnited KingdomIvan Magalhaes RENEWAL
Misaki S RulapaughItalyElwin Sharvill UNQUALIFIED
Jefferson K CaudyJapanStephen Shaw QUALIFIED
Izzy S RutaUnited KingdomIvan Magalhaes QUALIFIED
Jefferson O WhobreyItalyAsiya Javayant NEW
Jeanfrancois M RulapaughFranceAnna Fali UNQUALIFIED
Wickens G NestleAustraliaElwin Sharvill NEW
Costa D ShinkoBrazilIoni Bowcher QUALIFIED
Clifford H SergiUnited KingdomElwin Sharvill NEGOTIATION
James K WaycottBrazilStephen Shaw NEW
Kadeem J WieserCanadaIoni Bowcher PROPOSAL
Ivar C NickaUnited KingdomIoni Bowcher RENEWAL
Greenwood E InouyeSpainIoni Bowcher RENEWAL
Deepesh U RutaIndiaOnyama Limba QUALIFIED
Smith H MorascaSpainAmy Elsner UNQUALIFIED
Cody R MaletUnited KingdomXuxue Feng NEW
Murillo L SaylorsGermanyStephen Shaw NEGOTIATION
Salvatore U CaudyItalyAsiya Javayant PROPOSAL
Claire O SchemmerArgentinaIvan Magalhaes NEGOTIATION
Morrow Z WaycottUnited KingdomElwin Sharvill NEGOTIATION
Mayumi U FlosiIndiaXuxue Feng UNQUALIFIED
Aika A CaudySpainStephen Shaw RENEWAL
Ricardo U SchemmerUnited KingdomAnna Fali NEW
Arvin C ShinkoFranceIoni Bowcher NEW
Jefferson V SergiBrazilAmy Elsner NEGOTIATION
Munro C SaylorsBrazilAnna Fali RENEWAL
Alejandro B FollerRussiaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba E StensethCanadaAsiya Javayant NEW
Aruna V GillianJapanOnyama Limba UNQUALIFIED
Mujtaba A AlbaresUnited KingdomIoni Bowcher QUALIFIED
Maria X PoquetteIndiaOnyama Limba NEW
Munro J InouyeItalyStephen Shaw PROPOSAL
Rodrigues Q ButtAustraliaIoni Bowcher RENEWAL
Deepesh P MorascaItalyXuxue Feng NEW
Juan E TollnerUnited KingdomOnyama Limba RENEWAL
Munro M KolmetzJapanIoni Bowcher QUALIFIED
Aika K NestleFranceElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford F GauchoIndia2024-06-02Feiner Bros PROPOSAL95Amy Elsner
1001Morrow M NestleJapan2024-06-01King, Christopher A Esq UNQUALIFIED36Amy Elsner
1002Jones Q DilliardJapan2024-05-24Printing Dimensions NEW29Asiya Javayant
1003Antonio S FlosiAustralia2024-06-13Benton, John B Jr RENEWAL31Bernardo Dominic
1004Leja X MacleadJapan2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED40Elwin Sharvill
1005Francesco K VenereGermany2024-06-17Chemel, James L Cpa PROPOSAL34Anna Fali
1006Silvio C NestleRussia2024-06-11Chanay, Jeffrey A Esq NEGOTIATION86Bernardo Dominic
1007Costa Z FerenczIndia2024-06-05King, Christopher A Esq NEGOTIATION8Ivan Magalhaes
1008Smith E MaletItaly2024-06-06Chemel, James L Cpa RENEWAL16Onyama Limba
1009Morrow Z StockhamAustralia2024-05-27Dorl, James J Esq RENEWAL32Stephen Shaw
1010Mayumi Y WhobreyGermany2024-05-27Rangoni Of Florence PROPOSAL36Elwin Sharvill
1011Ricardo T GarufiIndia2024-05-28Buckley Miller Wright QUALIFIED42Ioni Bowcher
1012Costa M CaldareraIndia2024-06-08Chapman, Ross E Esq NEW34Ioni Bowcher
1013Nicolas W ChuiRussia2024-06-14Chemel, James L Cpa NEW86Amy Elsner
1014Wickens J MaletArgentina2024-06-06Commercial Press NEGOTIATION24Onyama Limba
1015Arvin V PerinBrazil2024-05-22Dorl, James J Esq RENEWAL80Ioni Bowcher
1016Jennifer H SlusarskiFrance2024-06-19Morlong Associates PROPOSAL44Ivan Magalhaes
1017Darci B RimFrance2024-06-20Chapman, Ross E Esq PROPOSAL80Ioni Bowcher
1018Misaki O FollerRussia2024-06-06Feiner Bros UNQUALIFIED58Anna Fali
1019Cody X PerinGermany2024-06-04Chemel, James L Cpa UNQUALIFIED10Xuxue Feng
1020Stacey L WhobreySpain2024-05-22Printing Dimensions QUALIFIED72Onyama Limba
1021Julie N GarufiSpain2024-06-15Rousseaux, Michael Esq RENEWAL35Amy Elsner
1022Kadeem U PaprockiAustralia2024-06-19Chemel, James L Cpa NEW31Stephen Shaw
1023Emily K FerenczCanada2024-06-16Chemel, James L Cpa RENEWAL68Ioni Bowcher
1024Mayumi G RimUnited Kingdom2024-06-18Commercial Press PROPOSAL31Elwin Sharvill
1025Maisha U CaldareraArgentina2024-06-03Benton, John B Jr QUALIFIED56Onyama Limba
1026Ivar A RutaCanada2024-06-13Chanay, Jeffrey A Esq NEGOTIATION46Stephen Shaw
1027Morrow H WaycottAustralia2024-06-18Benton, John B Jr NEGOTIATION14Bernardo Dominic
1028Jones Q GlickItaly2024-06-11Truhlar And Truhlar Attys NEGOTIATION40Onyama Limba
1029Silvio L GarufiItaly2024-06-03Benton, John B Jr UNQUALIFIED18Ioni Bowcher
1030Sinclair Z AlbaresGermany2024-05-22Morlong Associates PROPOSAL59Amy Elsner
1031Alejandro C CampainJapan2024-06-18Morlong Associates UNQUALIFIED44Onyama Limba
1032Deepesh F PaprockiSpain2024-06-20Dorl, James J Esq NEW25Elwin Sharvill
1033Costa L GauchoAustralia2024-06-14Rangoni Of Florence QUALIFIED3Ioni Bowcher
1034Rodrigues A GlickItaly2024-06-05Truhlar And Truhlar Attys NEGOTIATION80Ivan Magalhaes
1035Maria A WieserItaly2024-06-12Chemel, James L Cpa PROPOSAL77Elwin Sharvill
1036Aruna I AlbaresUnited Kingdom2024-06-03Printing Dimensions UNQUALIFIED78Onyama Limba
1037Kadeem H GillianUnited Kingdom2024-06-05Rangoni Of Florence NEGOTIATION53Amy Elsner
1038Rodrigues K BologniaBrazil2024-06-04Rousseaux, Michael Esq NEGOTIATION63Xuxue Feng
1039Adams X MaletAustralia2024-06-15Buckley Miller Wright PROPOSAL52Anna Fali
1040Munro F MaletFrance2024-05-23Dorl, James J Esq PROPOSAL77Xuxue Feng
1041Clifford F ChuiArgentina2024-05-22Truhlar And Truhlar Attys NEW80Asiya Javayant
1042Octavia U NickaUnited Kingdom2024-05-28Chanay, Jeffrey A Esq NEW66Stephen Shaw
1043Izzy F CaudyIndia2024-06-13Chemel, James L Cpa NEGOTIATION54Stephen Shaw
1044Kaitlin P ChuiSpain2024-06-14Truhlar And Truhlar Attys UNQUALIFIED2Ivan Magalhaes
1045David Z SergiArgentina2024-05-30Feiner Bros QUALIFIED45Ioni Bowcher
1046Greenwood N AmigonAustralia2024-06-14Buckley Miller Wright QUALIFIED91Ioni Bowcher
1047Ivar C CampainRussia2024-05-28Buckley Miller Wright UNQUALIFIED37Xuxue Feng
1048Antonio A DoeFrance2024-06-02Rangoni Of Florence PROPOSAL90Bernardo Dominic
1049Adams Y FigeroaGermany2024-06-07Truhlar And Truhlar Attys NEW55Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy N FerenczArgentinaAmy Elsner NEW
Salvatore K NestleArgentinaAnna Fali QUALIFIED
Mayumi B WhobreyArgentinaBernardo Dominic UNQUALIFIED
Isabel W AmigonBrazilAnna Fali NEW
Chavez L RimRussiaBernardo Dominic RENEWAL
Juan L RutaBrazilBernardo Dominic NEW
Mujtaba F MacleadBrazilXuxue Feng RENEWAL
Claire X WieserItalyXuxue Feng QUALIFIED
Murillo H GauchoJapanStephen Shaw NEW
Mayumi S MorascaBrazilIvan Magalhaes PROPOSAL
Mujtaba X RimArgentinaIoni Bowcher NEW
Octavia N OldroydArgentinaIvan Magalhaes NEGOTIATION
Juan E PoquetteAustraliaXuxue Feng PROPOSAL
Alejandro Z AmigonRussiaStephen Shaw PROPOSAL
Izzy V KuskoBrazilAmy Elsner QUALIFIED
Costa J NickaIndiaXuxue Feng NEGOTIATION
Wickens W DilliardAustraliaAnna Fali NEGOTIATION
Murillo L GarufiGermanyAsiya Javayant UNQUALIFIED
Salvatore B MacleadFranceIvan Magalhaes UNQUALIFIED
Leja Q MorascaAustraliaStephen Shaw UNQUALIFIED
Maria D NestleCanadaAmy Elsner PROPOSAL
Claire Z SlusarskiCanadaAmy Elsner QUALIFIED
Maria R RutaAustraliaElwin Sharvill NEW
Adams O CampainJapanAsiya Javayant UNQUALIFIED
Jefferson R OstroskyAustraliaXuxue Feng PROPOSAL
James E OldroydArgentinaIoni Bowcher NEGOTIATION
Nicolas R FigeroaGermanyIoni Bowcher NEW
Sinclair N SergiUnited KingdomElwin Sharvill PROPOSAL
Jones R SaylorsUnited KingdomOnyama Limba NEGOTIATION
Aika L NickaJapanXuxue Feng QUALIFIED
Ashley S CaudyCanadaOnyama Limba UNQUALIFIED
Costa Q BologniaCanadaElwin Sharvill NEW
Leon Y RimRussiaXuxue Feng NEGOTIATION
Rodrigues I SaylorsBrazilIoni Bowcher NEW
Salvatore Z StensethJapanIoni Bowcher QUALIFIED
Chavez O IturbideFranceElwin Sharvill NEGOTIATION
Kadeem V WaycottSpainOnyama Limba QUALIFIED
Claire K MaletBrazilIvan Magalhaes NEGOTIATION
Deepesh O SchemmerGermanyBernardo Dominic QUALIFIED
Aika T CaldareraJapanBernardo Dominic RENEWAL
Alejandro W DoeGermanyBernardo Dominic PROPOSAL
Jennifer A KuskoAustraliaXuxue Feng PROPOSAL
Rodrigues Q NestleRussiaAnna Fali NEW
Rodrigues Q StockhamJapanAsiya Javayant NEGOTIATION
Antonio B OldroydCanadaElwin Sharvill NEGOTIATION
Clifford W StockhamIndiaElwin Sharvill NEW
Munro X DilliardBrazilOnyama Limba NEW
Juan C OstroskyGermanyIvan Magalhaes RENEWAL
Ashley F ShinkoGermanyIoni Bowcher QUALIFIED
James L GlickBrazilXuxue Feng UNQUALIFIED
Frozen Columns
Name
Maisha A Waycott
Juan J Vocelka
Chavez T Albares
Ricardo T Iturbide
Chavez Z Marrier
Adams F Vocelka
Murillo H Venere
Aditya P Campain
Francesco P Tollner
Smith K Morasca
Isabel A Slusarski
Maria A Doe
Mujtaba U Albares
Julie Z Foller
Antonio D Waycott
Francesco R Flosi
Mujtaba D Rulapaugh
Antonio R Caudy
Mayumi P Briddick
Leon V Waycott
Maisha P Gillian
Salvatore L Tollner
Isabel T Malet
Aditya Q Gillian
Wickens E Vocelka
Wickens V Briddick
Cody O Bowley
Kaitlin P Saylors
Rodrigues W Venere
Maisha M Bolognia
Silvio J Oldroyd
Chavez I Kusko
Ashley T Venere
Aditya A Perin
Octavia K Nestle
Jones N Wieser
Cody F Oldroyd
Octavia P Nestle
Rodrigues S Bolognia
Costa A Stenseth
Aruna G Dilliard
Alejandro V Marrier
Morrow G Paprocki
Aika D Gaucho
Maisha L Campain
Rodrigues M Oldroyd
Jones E Iturbide
Silvio H Tollner
Misaki V Iturbide
Maria G Rim
IdCountryDate
1000Spain2024-05-24
1001Argentina2024-06-02
1002Italy2024-06-16
1003Germany2024-06-15
1004Brazil2024-06-02
1005Russia2024-06-04
1006Brazil2024-06-10
1007India2024-05-29
1008France2024-05-30
1009Italy2024-06-08
1010France2024-06-02
1011Russia2024-06-19
1012Canada2024-06-18
1013Argentina2024-06-15
1014India2024-06-18
1015Argentina2024-06-10
1016United Kingdom2024-05-22
1017Australia2024-06-20
1018Germany2024-05-30
1019Canada2024-05-26
1020Spain2024-06-16
1021Japan2024-05-29
1022Italy2024-06-05
1023Germany2024-05-25
1024India2024-06-17
1025Italy2024-05-31
1026United Kingdom2024-05-25
1027Japan2024-05-24
1028Spain2024-06-11
1029Italy2024-06-08
1030Germany2024-06-09
1031India2024-05-24
1032Australia2024-05-22
1033Japan2024-06-20
1034Russia2024-05-26
1035Russia2024-06-01
1036Australia2024-06-03
1037Canada2024-06-08
1038Canada2024-06-03
1039Russia2024-06-19
1040Japan2024-05-30
1041Germany2024-05-22
1042Japan2024-05-26
1043India2024-06-01
1044Italy2024-06-13
1045United Kingdom2024-06-18
1046Brazil2024-06-16
1047India2024-06-19
1048Spain2024-06-10
1049Italy2024-05-28

On-Demand Data

NameIdCountryDate
Jeanfrancois O Iturbide1000Italy2024-06-02
Mayumi H Perin1001Russia2024-06-05
Faith P Rulapaugh1002France2024-05-22
Wickens O Ruta1003Canada2024-05-30
Kaitlin I Royster1004Italy2024-06-16
Leja P Foller1005Brazil2024-06-14
Aditya W Darakjy1006Russia2024-06-11
Juan M Figeroa1007Germany2024-06-07
Julie F Waycott1008Brazil2024-06-19
Maria T Gillian1009Japan2024-06-10
Deepesh C Stockham1010Canada2024-06-12
Arvin P Tollner1011Argentina2024-06-07
Murillo F Whobrey1012Russia2024-05-22
Stacey A Saylors1013India2024-05-27
Costa T Schemmer1014Australia2024-06-14
Darci D Malet1015Japan2024-05-31
Jeanfrancois A Bolognia1016Brazil2024-05-31
Ricardo M Ruta1017France2024-06-01
Maisha H Tollner1018Brazil2024-05-23
Maisha L Tollner1019Germany2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford Z BowleyBrazilIvan Magalhaes NEGOTIATION
Kaitlin D SlusarskiJapanAmy Elsner NEW
Isabel Z NickaIndiaIvan Magalhaes RENEWAL
Ashley M StensethArgentinaIoni Bowcher NEGOTIATION
Octavia W VenereFranceXuxue Feng PROPOSAL
Isabel Z GauchoGermanyElwin Sharvill QUALIFIED
Leon W MarrierArgentinaStephen Shaw NEW
Smith F FlosiItalyElwin Sharvill NEGOTIATION
Arvin T VenereUnited KingdomXuxue Feng RENEWAL
Emily G DarakjyFranceBernardo Dominic QUALIFIED
Juan H FlosiSpainStephen Shaw PROPOSAL
Kaitlin G WieserUnited KingdomElwin Sharvill RENEWAL
Rodrigues N WaycottGermanyXuxue Feng RENEWAL
Rodrigues Q DilliardFranceAsiya Javayant RENEWAL
Morrow U CaldareraItalyBernardo Dominic NEGOTIATION
Faith D IturbideGermanyBernardo Dominic QUALIFIED
Ashley Z SlusarskiIndiaIvan Magalhaes PROPOSAL
Octavia H NestleRussiaBernardo Dominic RENEWAL
Faith C VocelkaRussiaOnyama Limba RENEWAL
Juan U MaletSpainIvan Magalhaes NEGOTIATION
Silvio F AmigonRussiaIvan Magalhaes RENEWAL
Arvin D GillianAustraliaIoni Bowcher RENEWAL
Julie X DilliardGermanyAsiya Javayant NEGOTIATION
Francesco B FigeroaGermanyStephen Shaw NEW
Jones A OldroydUnited KingdomElwin Sharvill RENEWAL
Aditya D NestleUnited KingdomStephen Shaw PROPOSAL
Stacey U AmigonRussiaOnyama Limba UNQUALIFIED
Antonio P DoeUnited KingdomOnyama Limba NEW
Claire D StockhamRussiaOnyama Limba PROPOSAL
Greenwood E OstroskyFranceXuxue Feng NEW
Jennifer W GlickSpainOnyama Limba NEW
Silvio B InouyeArgentinaIoni Bowcher NEGOTIATION
Leja M CaldareraRussiaAsiya Javayant NEW
Misaki F WhobreyRussiaAsiya Javayant NEGOTIATION
Aruna M DarakjyFranceIvan Magalhaes NEGOTIATION
Ashley L MacleadArgentinaIvan Magalhaes PROPOSAL
Sinclair U WieserSpainAmy Elsner RENEWAL
Alejandro G PerinItalyXuxue Feng UNQUALIFIED
Emily N OstroskyCanadaAnna Fali NEW
Mujtaba A BologniaRussiaXuxue Feng 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>