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
Jennifer K MarrierJapanStephen Shaw NEGOTIATION
Costa K AmigonFranceElwin Sharvill PROPOSAL
Aruna W PaprockiBrazilOnyama Limba RENEWAL
Maria O RoysterSpainIoni Bowcher QUALIFIED
Munro S DoeJapanAmy Elsner PROPOSAL
Misaki Z WieserRussiaOnyama Limba UNQUALIFIED
Kaitlin A AlbaresAustraliaXuxue Feng QUALIFIED
Kaitlin V DilliardArgentinaAnna Fali RENEWAL
Alejandro T DarakjyFranceXuxue Feng RENEWAL
Arvin J MarrierGermanyIvan Magalhaes UNQUALIFIED
Arvin F SlusarskiGermanyIvan Magalhaes RENEWAL
Octavia A GlickUnited KingdomOnyama Limba NEW
Claire L BologniaArgentinaStephen Shaw QUALIFIED
Maria Q AlbaresFranceIvan Magalhaes QUALIFIED
Emily Y ShinkoIndiaAnna Fali NEW
Maria R CaudyItalyAsiya Javayant PROPOSAL
Izzy K ButtFranceAsiya Javayant UNQUALIFIED
Mayumi L KolmetzRussiaIvan Magalhaes UNQUALIFIED
Juan Y CaldareraCanadaStephen Shaw UNQUALIFIED
Aika X ButtItalyAmy Elsner QUALIFIED
Kadeem F VocelkaFranceOnyama Limba UNQUALIFIED
Johnson I TollnerFranceAnna Fali NEGOTIATION
Claire B ChuiIndiaIoni Bowcher RENEWAL
Morrow Z VocelkaAustraliaAsiya Javayant NEW
Clifford M DarakjyJapanOnyama Limba PROPOSAL
Clifford T DarakjyJapanXuxue Feng NEGOTIATION
Deepesh W WhobreySpainAsiya Javayant RENEWAL
Darci T DoeBrazilStephen Shaw RENEWAL
Leja A StensethArgentinaAmy Elsner PROPOSAL
Silvio Z SaylorsSpainStephen Shaw NEGOTIATION
Maisha T RoysterGermanyStephen Shaw UNQUALIFIED
Maria D AlbaresGermanyAmy Elsner QUALIFIED
Aditya Z AmigonUnited KingdomAmy Elsner NEW
Stacey X RulapaughArgentinaBernardo Dominic NEW
Ivar G GillianArgentinaAsiya Javayant QUALIFIED
Octavia U DarakjyUnited KingdomXuxue Feng RENEWAL
James M PaprockiItalyAnna Fali UNQUALIFIED
Murillo M SergiItalyAmy Elsner RENEWAL
Mujtaba Z AlbaresUnited KingdomAsiya Javayant NEW
Ricardo Q SergiSpainAmy Elsner RENEWAL
James S PoquetteCanadaAsiya Javayant NEW
Arvin C SlusarskiRussiaAsiya Javayant RENEWAL
Antonio K DoeArgentinaAmy Elsner RENEWAL
Wickens H GlickItalyAsiya Javayant UNQUALIFIED
Julie F InouyeRussiaIvan Magalhaes UNQUALIFIED
Jennifer D SergiIndiaXuxue Feng NEW
Emily Z RutaGermanyIvan Magalhaes NEW
Misaki B FigeroaBrazilBernardo Dominic RENEWAL
Maria Z MaletCanadaElwin Sharvill QUALIFIED
David W VocelkaSpainElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem D SlusarskiCanadaIoni Bowcher UNQUALIFIED
Stacey T KuskoFranceElwin Sharvill QUALIFIED
Smith C IturbideBrazilAnna Fali NEGOTIATION
Clifford Q WieserArgentinaIvan Magalhaes NEW
Clifford I PoquetteRussiaXuxue Feng NEGOTIATION
Costa X AmigonAustraliaIoni Bowcher UNQUALIFIED
Johnson Q InouyeIndiaElwin Sharvill UNQUALIFIED
Smith E FlosiCanadaIoni Bowcher QUALIFIED
Rodrigues P SaylorsSpainStephen Shaw RENEWAL
Aika L RutaBrazilElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna H FigeroaBrazil2024-06-06Feiner Bros NEGOTIATION10Amy Elsner
1001Jeanfrancois V CampainIndia2024-06-12Rangoni Of Florence UNQUALIFIED76Anna Fali
1002Aruna U OstroskyUnited Kingdom2024-06-19Rousseaux, Michael Esq UNQUALIFIED48Elwin Sharvill
1003Rodrigues G FlosiJapan2024-06-02Feltz Printing Service NEW67Onyama Limba
1004Jefferson U MorascaSpain2024-06-05Truhlar And Truhlar Attys QUALIFIED1Xuxue Feng
1005Jeanfrancois G PerinGermany2024-06-24Benton, John B Jr NEGOTIATION67Anna Fali
1006Johnson E SchemmerItaly2024-06-21Benton, John B Jr PROPOSAL97Anna Fali
1007Mujtaba M IturbideArgentina2024-06-04Dorl, James J Esq RENEWAL96Anna Fali
1008Greenwood Y CaldareraIndia2024-06-06Printing Dimensions NEGOTIATION67Ivan Magalhaes
1009Jeanfrancois V RimJapan2024-06-10Commercial Press NEW82Onyama Limba
1010Claire K ChuiRussia2024-06-04Chapman, Ross E Esq PROPOSAL81Amy Elsner
1011Arvin W AmigonItaly2024-06-20Feltz Printing Service NEW54Anna Fali
1012Costa C CaudyGermany2024-06-08Morlong Associates NEGOTIATION99Xuxue Feng
1013Morrow X GauchoIndia2024-06-01Dorl, James J Esq UNQUALIFIED65Elwin Sharvill
1014Rodrigues B CaldareraJapan2024-06-20Buckley Miller Wright PROPOSAL21Amy Elsner
1015Isabel W DarakjyItaly2024-06-22Chapman, Ross E Esq UNQUALIFIED79Amy Elsner
1016Darci J IturbideFrance2024-06-24King, Christopher A Esq NEGOTIATION24Onyama Limba
1017Emily U PerinItaly2024-06-22Commercial Press NEGOTIATION42Xuxue Feng
1018Antonio K RimGermany2024-06-17Rousseaux, Michael Esq NEGOTIATION53Asiya Javayant
1019Maisha T CaudyUnited Kingdom2024-06-13Chemel, James L Cpa RENEWAL78Elwin Sharvill
1020Ivar Y NickaJapan2024-06-04Morlong Associates PROPOSAL90Asiya Javayant
1021Nicolas C RulapaughAustralia2024-06-10Buckley Miller Wright PROPOSAL93Xuxue Feng
1022Jefferson I MorascaBrazil2024-06-09Truhlar And Truhlar Attys PROPOSAL37Ioni Bowcher
1023Kadeem P OstroskyArgentina2024-05-27Morlong Associates NEW19Asiya Javayant
1024Leja A RimGermany2024-06-10Chapman, Ross E Esq NEGOTIATION94Stephen Shaw
1025Aruna Z NestleItaly2024-05-29Rangoni Of Florence PROPOSAL82Bernardo Dominic
1026Cody G AlbaresUnited Kingdom2024-06-19King, Christopher A Esq RENEWAL68Bernardo Dominic
1027Aditya X FigeroaJapan2024-05-27Chanay, Jeffrey A Esq PROPOSAL34Stephen Shaw
1028Greenwood E AlbaresItaly2024-06-08Morlong Associates PROPOSAL22Onyama Limba
1029Jones M SlusarskiRussia2024-06-07Commercial Press PROPOSAL90Stephen Shaw
1030Smith G NestleBrazil2024-06-21Truhlar And Truhlar Attys NEW23Amy Elsner
1031Julie F SergiArgentina2024-06-18Chanay, Jeffrey A Esq PROPOSAL85Anna Fali
1032Stacey F MaletSpain2024-06-20Benton, John B Jr QUALIFIED85Elwin Sharvill
1033Murillo F PaprockiArgentina2024-06-22Dorl, James J Esq PROPOSAL87Asiya Javayant
1034Nicolas V BologniaUnited Kingdom2024-05-30Chemel, James L Cpa QUALIFIED43Ivan Magalhaes
1035Darci I GauchoSpain2024-05-29Chapman, Ross E Esq RENEWAL32Ioni Bowcher
1036Antonio T RutaFrance2024-05-31Commercial Press NEGOTIATION76Stephen Shaw
1037Deepesh L PerinItaly2024-06-11Chapman, Ross E Esq RENEWAL55Ioni Bowcher
1038Maria L CaudyBrazil2024-06-10Commercial Press PROPOSAL33Elwin Sharvill
1039Jefferson T SaylorsSpain2024-06-03Morlong Associates NEGOTIATION51Elwin Sharvill
1040Rodrigues K BriddickIndia2024-06-18Buckley Miller Wright NEGOTIATION92Anna Fali
1041Chavez A BowleyIndia2024-06-23Rousseaux, Michael Esq QUALIFIED17Amy Elsner
1042Wickens F MacleadFrance2024-06-02Chapman, Ross E Esq QUALIFIED81Xuxue Feng
1043Kadeem U IturbideSpain2024-06-10Truhlar And Truhlar Attys UNQUALIFIED40Elwin Sharvill
1044Francesco C InouyeSpain2024-06-17Printing Dimensions UNQUALIFIED50Elwin Sharvill
1045Kadeem T InouyeJapan2024-06-06Feiner Bros PROPOSAL33Bernardo Dominic
1046Alejandro G WhobreyCanada2024-06-17Chapman, Ross E Esq UNQUALIFIED94Stephen Shaw
1047Ashley T TollnerJapan2024-06-07Dorl, James J Esq RENEWAL98Stephen Shaw
1048Tony A CampainBrazil2024-06-10Chemel, James L Cpa NEW79Stephen Shaw
1049Ashley U AmigonBrazil2024-06-12Morlong Associates NEW40Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Cody Z SergiGermanyXuxue Feng PROPOSAL
Maria A FerenczGermanyIvan Magalhaes UNQUALIFIED
Darci L SaylorsFranceAnna Fali PROPOSAL
Leon D ButtUnited KingdomBernardo Dominic NEW
Emily C IturbideJapanOnyama Limba RENEWAL
Octavia I AlbaresFranceIoni Bowcher UNQUALIFIED
Adams A DoeAustraliaAnna Fali NEGOTIATION
Nicolas J SlusarskiItalyStephen Shaw NEGOTIATION
Alejandro T WieserIndiaStephen Shaw NEGOTIATION
Murillo X PerinAustraliaBernardo Dominic UNQUALIFIED
Sinclair C DoeRussiaBernardo Dominic NEW
Silvio K AlbaresUnited KingdomAmy Elsner NEGOTIATION
Misaki C MaletJapanOnyama Limba NEW
Alejandro W SchemmerArgentinaOnyama Limba NEGOTIATION
Smith L MaletBrazilAsiya Javayant NEW
Munro W KuskoBrazilIoni Bowcher NEGOTIATION
Antonio A FerenczJapanOnyama Limba UNQUALIFIED
Antonio Y NestleArgentinaIvan Magalhaes NEW
Izzy M KuskoRussiaXuxue Feng NEW
Rodrigues C AlbaresJapanElwin Sharvill UNQUALIFIED
Salvatore T SchemmerFranceBernardo Dominic RENEWAL
Kadeem X NickaArgentinaStephen Shaw NEW
James L DilliardCanadaIoni Bowcher UNQUALIFIED
Rodrigues V MarrierFranceIvan Magalhaes NEW
Darci W OstroskyCanadaAnna Fali UNQUALIFIED
Clifford K CampainUnited KingdomIvan Magalhaes RENEWAL
Francesco A KolmetzGermanyBernardo Dominic NEW
Isabel B StensethArgentinaIoni Bowcher QUALIFIED
Julie C SergiItalyStephen Shaw QUALIFIED
Jennifer W DarakjyIndiaXuxue Feng QUALIFIED
Antonio C OstroskyJapanAsiya Javayant UNQUALIFIED
Murillo H SergiCanadaAmy Elsner UNQUALIFIED
Ricardo A TollnerArgentinaAmy Elsner RENEWAL
David T FigeroaBrazilBernardo Dominic NEW
Salvatore Q OldroydUnited KingdomOnyama Limba QUALIFIED
Munro T StensethCanadaIvan Magalhaes QUALIFIED
Mujtaba V ButtAustraliaOnyama Limba RENEWAL
Aditya F RimUnited KingdomIvan Magalhaes QUALIFIED
Isabel P PoquetteItalyStephen Shaw QUALIFIED
Kaitlin S CaudyRussiaBernardo Dominic NEW
Nicolas O VenereBrazilOnyama Limba NEGOTIATION
Chavez F BowleyUnited KingdomElwin Sharvill QUALIFIED
Kaitlin U BowleyItalyStephen Shaw NEW
Wickens X AlbaresAustraliaAnna Fali NEGOTIATION
Deepesh X BowleyBrazilXuxue Feng NEGOTIATION
Leja I AmigonJapanIvan Magalhaes QUALIFIED
Claire N RulapaughJapanAmy Elsner QUALIFIED
Sinclair X DilliardAustraliaIvan Magalhaes RENEWAL
Ivar W OstroskyFranceIoni Bowcher NEW
Salvatore X FerenczItalyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Cody B Slusarski
Murillo X Nicka
Smith G Chui
Julie W Inouye
Arvin X Oldroyd
Costa Y Venere
Alejandro X Nestle
Leon P Butt
Cody V Kolmetz
Wickens K Royster
Greenwood G Flosi
Kadeem D Vocelka
Julie Z Malet
Jennifer F Campain
Julie U Dilliard
Jones A Tollner
Ashley S Albares
Ricardo V Poquette
Maria F Maclead
Ricardo S Amigon
Faith Q Royster
Emily B Dilliard
Kaitlin A Kusko
Jones E Morasca
Emily D Dilliard
Wickens J Chui
Smith R Malet
Darci C Doe
Clifford L Ostrosky
Rodrigues I Poquette
Munro V Iturbide
Emily H Ferencz
Leja H Foller
Adams A Morasca
Julie K Flosi
Salvatore K Foller
Maisha Q Garufi
Juan Q Stockham
Costa D Paprocki
Costa X Rulapaugh
Ivar F Bolognia
Alejandro C Stockham
Jennifer Q Malet
Kaitlin J Whobrey
Emily Y Sergi
Murillo F Maclead
Wickens Q Malet
Kaitlin B Inouye
Maisha U Saylors
Chavez R Poquette
IdCountryDate
1000Spain2024-06-01
1001France2024-06-21
1002Germany2024-05-31
1003Germany2024-06-09
1004Germany2024-06-06
1005Argentina2024-05-31
1006Brazil2024-06-02
1007Canada2024-06-23
1008Brazil2024-06-01
1009Japan2024-06-06
1010France2024-06-22
1011Australia2024-06-11
1012Germany2024-06-07
1013Germany2024-06-16
1014Germany2024-06-15
1015Japan2024-06-09
1016Italy2024-06-17
1017India2024-06-03
1018Canada2024-05-29
1019Japan2024-06-22
1020Italy2024-06-02
1021Brazil2024-06-03
1022Canada2024-05-30
1023Canada2024-06-17
1024Canada2024-05-30
1025Italy2024-06-15
1026France2024-06-19
1027Brazil2024-05-30
1028Germany2024-05-30
1029Canada2024-05-29
1030Italy2024-06-13
1031Russia2024-06-23
1032Spain2024-06-24
1033Germany2024-06-05
1034Argentina2024-06-10
1035France2024-06-03
1036Germany2024-06-18
1037Italy2024-06-05
1038Italy2024-06-03
1039United Kingdom2024-06-04
1040Germany2024-06-06
1041Canada2024-05-28
1042Australia2024-06-03
1043Germany2024-06-09
1044Italy2024-06-15
1045Australia2024-06-15
1046Germany2024-06-13
1047Brazil2024-05-27
1048Russia2024-06-06
1049United Kingdom2024-06-01

On-Demand Data

NameIdCountryDate
Darci K Malet1000Italy2024-06-03
Misaki Q Poquette1001Argentina2024-06-14
Juan K Waycott1002Italy2024-06-16
Adams X Waycott1003Russia2024-06-01
Aruna I Morasca1004France2024-06-20
James E Perin1005Japan2024-06-07
Antonio M Foller1006Japan2024-06-15
Ashley S Poquette1007Brazil2024-06-10
Costa V Shinko1008Russia2024-06-22
Maria R Saylors1009Japan2024-06-18
Mujtaba D Garufi1010Russia2024-06-21
Wickens Z Glick1011India2024-06-09
Leon D Foller1012India2024-06-21
Morrow Z Maclead1013Argentina2024-06-21
Leon J Caudy1014Japan2024-06-17
Deepesh R Doe1015Germany2024-05-29
Morrow T Schemmer1016Canada2024-06-20
Morrow I Kusko1017Brazil2024-06-03
Smith N Caldarera1018Spain2024-06-24
Jennifer T Oldroyd1019Italy2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody N FollerAustraliaStephen Shaw NEW
Claire X GauchoArgentinaStephen Shaw QUALIFIED
Isabel C OstroskySpainAmy Elsner QUALIFIED
Greenwood S VocelkaArgentinaIoni Bowcher UNQUALIFIED
Kadeem C FlosiRussiaIvan Magalhaes PROPOSAL
Mujtaba H SaylorsArgentinaElwin Sharvill UNQUALIFIED
Rodrigues E SlusarskiRussiaOnyama Limba QUALIFIED
Octavia B AmigonUnited KingdomAmy Elsner PROPOSAL
Emily L StockhamJapanAmy Elsner PROPOSAL
Leja Y MacleadSpainOnyama Limba UNQUALIFIED
Jefferson L TollnerAustraliaAmy Elsner NEW
Aditya Q ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Arvin O NestleItalyOnyama Limba RENEWAL
Julie T FlosiItalyAnna Fali QUALIFIED
Morrow W PaprockiArgentinaOnyama Limba NEGOTIATION
Antonio H CaudyRussiaOnyama Limba UNQUALIFIED
Maria Y DarakjyAustraliaOnyama Limba NEGOTIATION
Antonio Z PoquetteUnited KingdomAmy Elsner NEGOTIATION
Juan E ChuiJapanAnna Fali UNQUALIFIED
Clifford U MaletArgentinaIvan Magalhaes QUALIFIED
Maisha C GauchoAustraliaAnna Fali RENEWAL
Leja S FlosiIndiaAmy Elsner NEGOTIATION
Mujtaba M CampainBrazilStephen Shaw NEW
Juan R RoysterIndiaBernardo Dominic PROPOSAL
Silvio K MaletJapanBernardo Dominic RENEWAL
Chavez C InouyeAustraliaIoni Bowcher NEGOTIATION
Maisha O WhobreyRussiaIoni Bowcher PROPOSAL
David F RutaArgentinaElwin Sharvill RENEWAL
Johnson U MarrierGermanyIoni Bowcher NEW
Chavez Z GillianAustraliaIvan Magalhaes QUALIFIED
Arvin X MorascaItalyElwin Sharvill RENEWAL
Jefferson E OstroskyFranceAnna Fali PROPOSAL
Julie Y GillianSpainXuxue Feng QUALIFIED
David O NestleSpainAnna Fali RENEWAL
Ashley G GlickIndiaOnyama Limba QUALIFIED
Juan X DoeCanadaBernardo Dominic NEGOTIATION
Maisha B FigeroaBrazilElwin Sharvill QUALIFIED
Kadeem L OstroskyArgentinaXuxue Feng QUALIFIED
Faith T RoysterCanadaIvan Magalhaes UNQUALIFIED
Jones F RoysterRussiaElwin Sharvill RENEWAL

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