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
Ashley R IturbideSpainXuxue Feng PROPOSAL
Alejandro K MarrierJapanIvan Magalhaes NEW
Costa T SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Morrow Z AlbaresCanadaStephen Shaw NEW
Ricardo U DoeIndiaStephen Shaw NEW
Maria H NickaCanadaBernardo Dominic UNQUALIFIED
Leja J PaprockiSpainBernardo Dominic NEGOTIATION
Munro D IturbideUnited KingdomIvan Magalhaes NEW
Maisha Y RimIndiaIvan Magalhaes RENEWAL
Francesco E MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Maria E GillianCanadaOnyama Limba RENEWAL
Morrow A TollnerAustraliaXuxue Feng NEW
Julie O FollerAustraliaXuxue Feng NEGOTIATION
Aditya P MacleadGermanyAsiya Javayant NEW
Arvin C PaprockiSpainAmy Elsner NEW
Nicolas F SchemmerRussiaXuxue Feng RENEWAL
Mujtaba E RimJapanOnyama Limba PROPOSAL
Antonio L KuskoGermanyStephen Shaw UNQUALIFIED
Smith D MaletArgentinaIoni Bowcher UNQUALIFIED
David O DarakjyFranceStephen Shaw UNQUALIFIED
Juan N MarrierSpainIvan Magalhaes UNQUALIFIED
Munro C NickaSpainAsiya Javayant QUALIFIED
Ashley K RoysterRussiaIoni Bowcher PROPOSAL
Jefferson H OldroydSpainIvan Magalhaes UNQUALIFIED
Mujtaba I InouyeItalyAsiya Javayant PROPOSAL
Aruna M MacleadIndiaAmy Elsner UNQUALIFIED
Stacey N SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Kaitlin A MorascaAustraliaElwin Sharvill PROPOSAL
Wickens A ChuiRussiaXuxue Feng NEGOTIATION
Juan A MarrierIndiaAsiya Javayant RENEWAL
Claire A KuskoSpainIoni Bowcher UNQUALIFIED
Silvio K MaletItalyXuxue Feng NEW
Misaki O PerinAustraliaOnyama Limba NEGOTIATION
Aruna S AmigonSpainBernardo Dominic QUALIFIED
Faith Z CaldareraUnited KingdomBernardo Dominic QUALIFIED
Jennifer G RimSpainIoni Bowcher NEW
Kaitlin O FerenczBrazilStephen Shaw UNQUALIFIED
Greenwood I WhobreyItalyBernardo Dominic NEW
Johnson K MarrierGermanyIvan Magalhaes UNQUALIFIED
Murillo V ShinkoCanadaElwin Sharvill QUALIFIED
Leja E SlusarskiFranceStephen Shaw RENEWAL
Ricardo W FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Cody R IturbideJapanXuxue Feng NEW
Arvin W BowleyIndiaOnyama Limba UNQUALIFIED
Nicolas A StockhamGermanyAsiya Javayant RENEWAL
Adams S MarrierSpainAmy Elsner RENEWAL
Jennifer N FerenczRussiaBernardo Dominic UNQUALIFIED
Adams I RutaIndiaOnyama Limba UNQUALIFIED
Jefferson S NickaFranceAsiya Javayant RENEWAL
Antonio Z ChuiUnited KingdomIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha M ChuiItalyElwin Sharvill NEGOTIATION
Munro R VocelkaItalyElwin Sharvill RENEWAL
Claire U IturbideJapanIoni Bowcher PROPOSAL
Ivar W NestleUnited KingdomIoni Bowcher RENEWAL
Isabel V ChuiGermanyIoni Bowcher RENEWAL
Misaki O WhobreyBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois P ShinkoRussiaElwin Sharvill UNQUALIFIED
Julie H StensethRussiaAsiya Javayant RENEWAL
Adams X KuskoUnited KingdomElwin Sharvill NEGOTIATION
Izzy O RutaIndiaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith N WaycottBrazil2024-06-05Feiner Bros UNQUALIFIED30Ioni Bowcher
1001Kadeem D ChuiUnited Kingdom2024-06-05Feiner Bros UNQUALIFIED10Ioni Bowcher
1002Silvio N CaudyRussia2024-06-12Buckley Miller Wright RENEWAL33Stephen Shaw
1003Faith P DoeFrance2024-06-21Feiner Bros QUALIFIED23Xuxue Feng
1004Jefferson E RoysterCanada2024-05-27Feltz Printing Service PROPOSAL84Xuxue Feng
1005Salvatore D DarakjyFrance2024-06-06Feiner Bros QUALIFIED98Stephen Shaw
1006Wickens Z PaprockiArgentina2024-05-28Rousseaux, Michael Esq NEGOTIATION6Stephen Shaw
1007Claire Z MaletFrance2024-05-29King, Christopher A Esq NEGOTIATION73Bernardo Dominic
1008Alejandro J KuskoGermany2024-05-28Feltz Printing Service PROPOSAL28Elwin Sharvill
1009Murillo A PaprockiAustralia2024-06-18Rousseaux, Michael Esq NEW54Amy Elsner
1010Cody W VocelkaRussia2024-06-17Chanay, Jeffrey A Esq QUALIFIED92Ivan Magalhaes
1011James K InouyeCanada2024-06-02Feltz Printing Service UNQUALIFIED15Bernardo Dominic
1012Emily C AlbaresIndia2024-05-23Chapman, Ross E Esq UNQUALIFIED66Xuxue Feng
1013Greenwood S FerenczRussia2024-06-08Morlong Associates UNQUALIFIED89Asiya Javayant
1014Jennifer Z CaldareraArgentina2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED42Bernardo Dominic
1015Aruna Z NickaFrance2024-06-20Chemel, James L Cpa UNQUALIFIED96Xuxue Feng
1016Leon Q InouyeJapan2024-06-02Rangoni Of Florence NEW20Ioni Bowcher
1017Johnson T RutaIndia2024-05-23Dorl, James J Esq QUALIFIED42Onyama Limba
1018Rodrigues V VenereIndia2024-05-31Commercial Press PROPOSAL23Onyama Limba
1019Maria O KolmetzBrazil2024-05-25Commercial Press QUALIFIED63Onyama Limba
1020Aruna B DarakjyIndia2024-06-09Feiner Bros PROPOSAL12Elwin Sharvill
1021Stacey A GlickGermany2024-06-12Commercial Press RENEWAL79Amy Elsner
1022Jefferson Z PoquetteGermany2024-06-08Printing Dimensions QUALIFIED31Bernardo Dominic
1023Mayumi U RimFrance2024-06-15King, Christopher A Esq QUALIFIED54Elwin Sharvill
1024Munro P ChuiRussia2024-05-30Chemel, James L Cpa UNQUALIFIED15Ioni Bowcher
1025Deepesh S DoeSpain2024-06-04Commercial Press UNQUALIFIED63Amy Elsner
1026Chavez J GlickItaly2024-06-19Rousseaux, Michael Esq QUALIFIED29Anna Fali
1027Isabel Z StensethItaly2024-06-16Feiner Bros NEGOTIATION77Anna Fali
1028Chavez C FollerArgentina2024-05-23Morlong Associates UNQUALIFIED90Ioni Bowcher
1029Arvin W OstroskyItaly2024-06-16King, Christopher A Esq NEGOTIATION15Anna Fali
1030Maisha V RimRussia2024-06-12Dorl, James J Esq PROPOSAL93Ioni Bowcher
1031Aditya G WaycottUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEGOTIATION90Ioni Bowcher
1032Tony K PaprockiFrance2024-06-13Feltz Printing Service UNQUALIFIED26Xuxue Feng
1033Aika J CaudyArgentina2024-05-25Rousseaux, Michael Esq PROPOSAL86Amy Elsner
1034Octavia P AlbaresAustralia2024-05-23Feiner Bros NEW30Stephen Shaw
1035Mujtaba I BowleyItaly2024-06-12Dorl, James J Esq RENEWAL39Stephen Shaw
1036Wickens O SaylorsIndia2024-06-16Rangoni Of Florence NEGOTIATION1Anna Fali
1037Cody R WhobreyUnited Kingdom2024-06-05Benton, John B Jr NEW70Xuxue Feng
1038Leja Z SchemmerGermany2024-06-06Feiner Bros NEW79Ivan Magalhaes
1039Nicolas T PoquetteAustralia2024-06-13Chanay, Jeffrey A Esq NEW79Xuxue Feng
1040Greenwood Z IturbideCanada2024-06-11Truhlar And Truhlar Attys PROPOSAL39Onyama Limba
1041Antonio Z RulapaughCanada2024-05-24Printing Dimensions PROPOSAL44Onyama Limba
1042Alejandro C MaletCanada2024-05-30Commercial Press QUALIFIED86Ioni Bowcher
1043Chavez W MaletItaly2024-06-04Chapman, Ross E Esq NEW94Anna Fali
1044Maria H KolmetzArgentina2024-06-10Truhlar And Truhlar Attys RENEWAL15Xuxue Feng
1045Ivar S RulapaughCanada2024-05-30Chemel, James L Cpa PROPOSAL96Ioni Bowcher
1046Silvio X OldroydFrance2024-05-27Dorl, James J Esq RENEWAL24Ivan Magalhaes
1047Aditya O VocelkaFrance2024-06-10Truhlar And Truhlar Attys PROPOSAL81Asiya Javayant
1048Alejandro L WieserBrazil2024-05-24Rousseaux, Michael Esq QUALIFIED32Ivan Magalhaes
1049Maisha K FlosiArgentina2024-06-14Chanay, Jeffrey A Esq RENEWAL83Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David W RimItalyXuxue Feng RENEWAL
Mayumi M GarufiSpainAmy Elsner PROPOSAL
Wickens S NickaItalyElwin Sharvill NEW
Smith R RulapaughArgentinaIvan Magalhaes NEW
Claire U WhobreyGermanyBernardo Dominic UNQUALIFIED
Maria I ButtBrazilBernardo Dominic NEW
Morrow X SergiAustraliaStephen Shaw QUALIFIED
Murillo M ShinkoArgentinaBernardo Dominic NEGOTIATION
Juan Q MaletJapanElwin Sharvill QUALIFIED
Deepesh F WaycottAustraliaBernardo Dominic PROPOSAL
Rodrigues Z DoeJapanElwin Sharvill RENEWAL
Jones Y GarufiArgentinaAmy Elsner RENEWAL
Tony H AlbaresIndiaStephen Shaw NEW
Emily D RimIndiaAnna Fali QUALIFIED
Nicolas G SlusarskiIndiaElwin Sharvill NEGOTIATION
Adams H OstroskyAustraliaAsiya Javayant NEGOTIATION
Aika Q PoquetteBrazilBernardo Dominic PROPOSAL
Jennifer U TollnerCanadaElwin Sharvill PROPOSAL
Darci X RimCanadaBernardo Dominic RENEWAL
Murillo X VenereJapanAnna Fali PROPOSAL
Octavia W MarrierItalyElwin Sharvill PROPOSAL
Jones P AlbaresUnited KingdomElwin Sharvill NEW
Aruna Z FerenczFranceOnyama Limba QUALIFIED
Smith T DoeBrazilAnna Fali NEGOTIATION
Emily C FollerFranceIvan Magalhaes NEGOTIATION
Izzy Q SergiArgentinaIoni Bowcher UNQUALIFIED
Juan S VenereIndiaOnyama Limba UNQUALIFIED
Darci C MacleadRussiaElwin Sharvill RENEWAL
Costa V CampainArgentinaIvan Magalhaes PROPOSAL
Izzy T OldroydArgentinaIoni Bowcher QUALIFIED
Nicolas S ChuiRussiaAmy Elsner RENEWAL
Cody J GillianArgentinaIoni Bowcher NEW
Aruna P WieserIndiaElwin Sharvill UNQUALIFIED
Adams U WaycottSpainIvan Magalhaes NEGOTIATION
Sinclair S SergiCanadaAsiya Javayant NEW
Cody Z MorascaIndiaIoni Bowcher QUALIFIED
Julie F VocelkaIndiaAnna Fali RENEWAL
Isabel H InouyeAustraliaAnna Fali PROPOSAL
Aika V StockhamFranceOnyama Limba PROPOSAL
Faith Z BriddickSpainAmy Elsner UNQUALIFIED
Ashley D FlosiGermanyElwin Sharvill PROPOSAL
Alejandro H OstroskyJapanOnyama Limba RENEWAL
Leon J AmigonSpainAmy Elsner NEGOTIATION
Sinclair Q IturbideItalyAsiya Javayant UNQUALIFIED
Leon F MacleadJapanXuxue Feng PROPOSAL
Rodrigues X SchemmerIndiaIoni Bowcher PROPOSAL
Jennifer A FerenczSpainIvan Magalhaes NEGOTIATION
Johnson I PoquetteGermanyXuxue Feng PROPOSAL
David B RoysterAustraliaAnna Fali RENEWAL
Isabel C SlusarskiBrazilIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Isabel J Campain
Izzy D Kusko
Arvin E Marrier
Ivar O Rim
Juan L Stockham
Ricardo N Saylors
Aruna Q Rulapaugh
Aruna H Nicka
Izzy T Ferencz
Chavez S Darakjy
Claire D Caldarera
Clifford M Stockham
Aditya N Bolognia
Rodrigues J Slusarski
Chavez C Briddick
Tony R Whobrey
Aruna B Oldroyd
Deepesh B Ruta
Morrow B Garufi
Salvatore H Poquette
Mayumi J Sergi
Juan M Briddick
Leon F Stenseth
James H Wieser
Antonio E Garufi
Francesco L Inouye
Smith K Nestle
David E Ruta
Chavez V Flosi
Stacey B Stenseth
Tony T Bolognia
Stacey F Perin
Deepesh P Ferencz
Isabel Y Royster
Mayumi N Garufi
Leon I Figeroa
Kadeem E Gaucho
Alejandro P Nicka
Kadeem C Caldarera
Aruna S Ferencz
Jefferson X Briddick
Maria E Ruta
Alejandro H Royster
Julie V Marrier
Costa H Stenseth
David Q Kolmetz
Adams O Slusarski
Faith V Marrier
Jones P Bowley
Arvin K Nestle
IdCountryDate
1000Spain2024-06-02
1001Italy2024-06-02
1002Canada2024-06-19
1003Germany2024-06-18
1004United Kingdom2024-06-16
1005Australia2024-05-24
1006Argentina2024-06-10
1007Russia2024-06-18
1008Russia2024-06-08
1009Germany2024-06-06
1010India2024-06-01
1011Japan2024-05-23
1012Italy2024-06-11
1013France2024-06-02
1014Germany2024-06-06
1015France2024-06-20
1016United Kingdom2024-06-17
1017Canada2024-06-17
1018Canada2024-05-27
1019Australia2024-05-25
1020Canada2024-06-14
1021Japan2024-06-07
1022Brazil2024-06-12
1023Australia2024-06-11
1024Germany2024-06-13
1025Australia2024-06-21
1026Spain2024-06-12
1027Spain2024-06-10
1028Argentina2024-06-02
1029Germany2024-06-01
1030Italy2024-06-06
1031Argentina2024-05-27
1032Canada2024-06-15
1033Brazil2024-06-12
1034Spain2024-05-25
1035Brazil2024-05-30
1036United Kingdom2024-06-07
1037United Kingdom2024-06-20
1038India2024-06-01
1039Russia2024-06-18
1040India2024-05-24
1041Spain2024-06-21
1042United Kingdom2024-06-07
1043Italy2024-05-30
1044Spain2024-06-21
1045Italy2024-06-01
1046Russia2024-06-08
1047Australia2024-06-10
1048Germany2024-06-15
1049Argentina2024-06-14

On-Demand Data

NameIdCountryDate
Leon V Morasca1000India2024-05-23
Francesco A Chui1001Spain2024-05-28
Maisha A Foller1002France2024-05-23
Octavia L Rim1003United Kingdom2024-06-19
Leon B Kusko1004Spain2024-05-30
Claire N Nestle1005Spain2024-05-29
Ricardo O Maclead1006Spain2024-06-03
Leon R Kolmetz1007Australia2024-06-11
Maria U Nicka1008India2024-06-06
Claire W Iturbide1009Australia2024-06-07
Claire O Kusko1010Russia2024-06-01
Costa U Royster1011Japan2024-06-07
Mayumi S Caldarera1012Germany2024-06-15
Claire P Whobrey1013France2024-06-05
Murillo O Figeroa1014United Kingdom2024-06-04
Cody H Iturbide1015Japan2024-06-14
Deepesh E Nicka1016Russia2024-06-05
Clifford Q Nicka1017Brazil2024-05-26
Aruna W Dilliard1018Canada2024-06-10
Juan X Vocelka1019Russia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David W WhobreyFranceIoni Bowcher PROPOSAL
Sinclair M VocelkaItalyOnyama Limba RENEWAL
Johnson I PoquetteGermanyOnyama Limba UNQUALIFIED
Izzy A StockhamRussiaElwin Sharvill QUALIFIED
Izzy B RimRussiaXuxue Feng QUALIFIED
Misaki P PerinGermanyAsiya Javayant UNQUALIFIED
Tony Q MacleadCanadaStephen Shaw QUALIFIED
Leon Y NestleSpainBernardo Dominic RENEWAL
Johnson R FigeroaUnited KingdomOnyama Limba QUALIFIED
Nicolas A GauchoGermanyXuxue Feng NEW
Aruna R SaylorsItalyAsiya Javayant QUALIFIED
Clifford D AlbaresCanadaBernardo Dominic UNQUALIFIED
Kadeem I OldroydJapanOnyama Limba PROPOSAL
Aditya B GlickFranceAmy Elsner NEGOTIATION
Mujtaba S FlosiBrazilIvan Magalhaes RENEWAL
Leja J StockhamUnited KingdomIvan Magalhaes RENEWAL
Kadeem O AlbaresUnited KingdomXuxue Feng NEGOTIATION
Deepesh Q PoquetteItalyIoni Bowcher NEW
Jennifer I SaylorsBrazilBernardo Dominic RENEWAL
Aditya A KolmetzJapanElwin Sharvill QUALIFIED
Rodrigues E SchemmerArgentinaElwin Sharvill QUALIFIED
Juan P SlusarskiCanadaStephen Shaw NEGOTIATION
Stacey C StockhamArgentinaStephen Shaw UNQUALIFIED
James Q VocelkaCanadaAsiya Javayant PROPOSAL
Chavez O MacleadGermanyAnna Fali RENEWAL
Maria S FlosiRussiaStephen Shaw RENEWAL
Leon T FerenczIndiaIvan Magalhaes RENEWAL
James U SchemmerArgentinaXuxue Feng PROPOSAL
Antonio M DilliardBrazilOnyama Limba RENEWAL
Murillo S CampainArgentinaAnna Fali RENEWAL
Kaitlin S PoquetteGermanyElwin Sharvill RENEWAL
Julie T FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Tony O KuskoFranceElwin Sharvill PROPOSAL
Jennifer Y DoeGermanyOnyama Limba NEW
Kadeem U BriddickBrazilStephen Shaw NEGOTIATION
Leon C NickaAustraliaAsiya Javayant NEGOTIATION
Aruna P DoeCanadaBernardo Dominic NEW
Johnson N PaprockiAustraliaAmy Elsner PROPOSAL
Jennifer Y CaudyIndiaAnna Fali UNQUALIFIED
Chavez T StensethArgentinaAnna Fali NEGOTIATION

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