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
Isabel F GillianGermanyAmy Elsner PROPOSAL
Faith X VenereCanadaIvan Magalhaes RENEWAL
Costa J WieserIndiaOnyama Limba RENEWAL
Chavez K RoysterBrazilIvan Magalhaes NEW
Deepesh X RulapaughUnited KingdomBernardo Dominic QUALIFIED
Ivar P WaycottUnited KingdomStephen Shaw NEW
Alejandro Y DilliardRussiaAmy Elsner PROPOSAL
Juan I CaudyFranceBernardo Dominic QUALIFIED
Ivar D CampainSpainOnyama Limba NEGOTIATION
Mujtaba J WaycottUnited KingdomAsiya Javayant NEW
Claire L RutaUnited KingdomOnyama Limba QUALIFIED
Costa E VenereItalyStephen Shaw NEGOTIATION
Nicolas K RimBrazilXuxue Feng RENEWAL
Smith V CaldareraItalyAnna Fali QUALIFIED
Julie S GarufiItalyIoni Bowcher NEW
Emily S MacleadJapanOnyama Limba NEGOTIATION
Jefferson B IturbideJapanStephen Shaw PROPOSAL
Aruna U GauchoGermanyIvan Magalhaes NEGOTIATION
Silvio D WaycottArgentinaOnyama Limba PROPOSAL
Adams J OstroskyJapanIoni Bowcher NEW
Nicolas M SlusarskiItalyElwin Sharvill NEGOTIATION
Octavia C FollerJapanStephen Shaw PROPOSAL
Alejandro U CaudyRussiaBernardo Dominic NEW
Rodrigues R KuskoJapanOnyama Limba NEW
Isabel I MarrierBrazilElwin Sharvill UNQUALIFIED
Rodrigues V VenereGermanyAmy Elsner NEW
Silvio B MarrierFranceXuxue Feng PROPOSAL
Emily B OldroydFranceElwin Sharvill UNQUALIFIED
Leja G RoysterCanadaXuxue Feng UNQUALIFIED
Juan B SergiCanadaAnna Fali RENEWAL
Maria P RoysterItalyElwin Sharvill NEW
Smith Q KolmetzSpainXuxue Feng NEGOTIATION
Chavez E WieserItalyAsiya Javayant NEGOTIATION
Emily G ButtArgentinaIoni Bowcher RENEWAL
Cody N FerenczIndiaAmy Elsner NEGOTIATION
Kadeem U MorascaRussiaStephen Shaw QUALIFIED
Antonio B VenereAustraliaAsiya Javayant NEW
Ivar D BologniaJapanXuxue Feng QUALIFIED
Kadeem L OstroskyRussiaBernardo Dominic RENEWAL
Faith P FigeroaGermanyElwin Sharvill QUALIFIED
Morrow Q CampainSpainIoni Bowcher PROPOSAL
Claire L InouyeFranceOnyama Limba UNQUALIFIED
Adams I RoysterAustraliaBernardo Dominic NEW
Aruna N SaylorsBrazilElwin Sharvill QUALIFIED
Ashley U CaldareraIndiaIvan Magalhaes PROPOSAL
Sinclair Y KuskoRussiaAsiya Javayant PROPOSAL
Arvin B BologniaIndiaXuxue Feng NEGOTIATION
Sinclair P WieserFranceAnna Fali QUALIFIED
Adams D SaylorsArgentinaStephen Shaw NEGOTIATION
Izzy K RimArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro C VocelkaCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois D TollnerUnited KingdomXuxue Feng NEGOTIATION
Tony M GauchoItalyAnna Fali UNQUALIFIED
Salvatore Y GauchoRussiaBernardo Dominic NEGOTIATION
Clifford A CaldareraAustraliaBernardo Dominic NEGOTIATION
Jones X FigeroaRussiaXuxue Feng PROPOSAL
Sinclair A ChuiUnited KingdomStephen Shaw PROPOSAL
Ivar V ChuiRussiaBernardo Dominic PROPOSAL
Aditya I FigeroaJapanStephen Shaw UNQUALIFIED
Murillo Q BriddickGermanyAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson Y CaudyBrazil2026-07-26Chemel, James L Cpa NEW67Ivan Magalhaes
1001James U PaprockiArgentina2026-08-08Truhlar And Truhlar Attys RENEWAL90Elwin Sharvill
1002Misaki P RoysterCanada2026-07-20Chapman, Ross E Esq QUALIFIED2Amy Elsner
1003Ivar Z DoeGermany2026-08-01Feltz Printing Service UNQUALIFIED41Xuxue Feng
1004Aruna S NickaAustralia2026-08-09Morlong Associates NEGOTIATION0Anna Fali
1005Greenwood Z BriddickRussia2026-07-26King, Christopher A Esq NEGOTIATION6Xuxue Feng
1006Aruna J RoysterJapan2026-07-20Printing Dimensions PROPOSAL71Onyama Limba
1007Misaki Q GauchoAustralia2026-07-23Rousseaux, Michael Esq RENEWAL19Bernardo Dominic
1008Greenwood K PaprockiCanada2026-07-30Printing Dimensions PROPOSAL97Amy Elsner
1009Aika X FerenczUnited Kingdom2026-07-18King, Christopher A Esq NEGOTIATION12Ivan Magalhaes
1010Adams I OldroydArgentina2026-07-26Feiner Bros UNQUALIFIED25Onyama Limba
1011Arvin B MarrierIndia2026-08-02Printing Dimensions QUALIFIED27Elwin Sharvill
1012Adams L FollerRussia2026-07-25Truhlar And Truhlar Attys UNQUALIFIED37Stephen Shaw
1013Adams Z KuskoUnited Kingdom2026-08-04Truhlar And Truhlar Attys NEW46Xuxue Feng
1014Cody V NickaRussia2026-08-03Commercial Press PROPOSAL28Elwin Sharvill
1015Jennifer E KuskoJapan2026-07-22Truhlar And Truhlar Attys RENEWAL43Anna Fali
1016Antonio F SergiRussia2026-08-08Feltz Printing Service UNQUALIFIED7Anna Fali
1017Nicolas K NestleSpain2026-08-11Rangoni Of Florence PROPOSAL70Amy Elsner
1018Nicolas R VenereGermany2026-08-07Rangoni Of Florence NEW19Onyama Limba
1019Antonio M RoysterUnited Kingdom2026-07-21Morlong Associates NEW92Amy Elsner
1020Alejandro E InouyeRussia2026-08-12Chemel, James L Cpa QUALIFIED14Ivan Magalhaes
1021Leja P CaldareraSpain2026-07-18Morlong Associates UNQUALIFIED33Elwin Sharvill
1022Leja D CampainBrazil2026-08-05Rangoni Of Florence PROPOSAL90Elwin Sharvill
1023David O NickaGermany2026-07-25Chapman, Ross E Esq QUALIFIED4Bernardo Dominic
1024Clifford X MorascaFrance2026-07-28Chemel, James L Cpa UNQUALIFIED85Anna Fali
1025Salvatore X VenereArgentina2026-08-10Morlong Associates NEGOTIATION75Anna Fali
1026Arvin T KuskoAustralia2026-08-04Rousseaux, Michael Esq NEGOTIATION16Amy Elsner
1027Tony G MorascaBrazil2026-07-29Benton, John B Jr RENEWAL48Amy Elsner
1028Emily B RimUnited Kingdom2026-07-20Buckley Miller Wright NEW81Amy Elsner
1029Greenwood Z ButtIndia2026-08-11Commercial Press UNQUALIFIED25Elwin Sharvill
1030Jones M GillianItaly2026-08-09Feltz Printing Service QUALIFIED20Stephen Shaw
1031Francesco Z OstroskyGermany2026-08-11Feiner Bros RENEWAL97Elwin Sharvill
1032Chavez O OldroydAustralia2026-07-17Feltz Printing Service RENEWAL78Ivan Magalhaes
1033Clifford Z ButtAustralia2026-07-14Chapman, Ross E Esq PROPOSAL58Onyama Limba
1034Jefferson I MaletBrazil2026-07-20Rangoni Of Florence RENEWAL31Elwin Sharvill
1035Morrow M MacleadCanada2026-07-30Dorl, James J Esq QUALIFIED43Ioni Bowcher
1036Cody A TollnerArgentina2026-07-22King, Christopher A Esq NEW31Elwin Sharvill
1037Adams R GlickSpain2026-07-22Chemel, James L Cpa PROPOSAL77Amy Elsner
1038Ricardo L KuskoBrazil2026-08-09Chemel, James L Cpa PROPOSAL87Elwin Sharvill
1039Kaitlin H ShinkoFrance2026-08-05Morlong Associates NEW90Elwin Sharvill
1040Ricardo W OstroskyJapan2026-08-03Chanay, Jeffrey A Esq UNQUALIFIED71Anna Fali
1041Munro Z CampainCanada2026-08-05Dorl, James J Esq NEW93Elwin Sharvill
1042Jeanfrancois Y PaprockiArgentina2026-07-18Dorl, James J Esq RENEWAL3Onyama Limba
1043Jennifer L WhobreyJapan2026-07-23Chanay, Jeffrey A Esq PROPOSAL61Elwin Sharvill
1044Kaitlin V OstroskyFrance2026-08-06Rangoni Of Florence UNQUALIFIED3Asiya Javayant
1045Mujtaba D WaycottSpain2026-07-14Benton, John B Jr UNQUALIFIED33Elwin Sharvill
1046Chavez S FollerGermany2026-08-05King, Christopher A Esq NEGOTIATION32Elwin Sharvill
1047Sinclair F FigeroaBrazil2026-07-19King, Christopher A Esq NEW28Amy Elsner
1048Jeanfrancois N ChuiBrazil2026-08-04Dorl, James J Esq QUALIFIED96Anna Fali
1049Stacey R PaprockiArgentina2026-07-29Printing Dimensions UNQUALIFIED30Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro I CaldareraIndiaAsiya Javayant NEGOTIATION
Jennifer B CaldareraIndiaIvan Magalhaes QUALIFIED
Mayumi F GarufiSpainElwin Sharvill NEW
Clifford K DarakjyIndiaAmy Elsner RENEWAL
Silvio K GlickRussiaIvan Magalhaes RENEWAL
Maria H FlosiSpainElwin Sharvill PROPOSAL
Kadeem P SlusarskiGermanyAsiya Javayant QUALIFIED
Sinclair M PaprockiFranceAmy Elsner PROPOSAL
Nicolas B CampainFranceAmy Elsner RENEWAL
Jennifer E TollnerJapanAmy Elsner NEW
Antonio Q SaylorsIndiaIoni Bowcher PROPOSAL
Tony U GillianAustraliaAnna Fali UNQUALIFIED
Aruna U NickaJapanIvan Magalhaes UNQUALIFIED
Sinclair A ButtSpainAmy Elsner QUALIFIED
Silvio M FlosiSpainAmy Elsner RENEWAL
Isabel T DoeRussiaAmy Elsner NEGOTIATION
Mayumi V PerinFranceAnna Fali RENEWAL
Juan D AmigonJapanAsiya Javayant UNQUALIFIED
Julie T MaletItalyStephen Shaw RENEWAL
Adams X PoquetteSpainXuxue Feng RENEWAL
James L NestleFranceIoni Bowcher NEW
Emily W NestleJapanIvan Magalhaes RENEWAL
Deepesh G SergiItalyXuxue Feng QUALIFIED
Johnson M NickaAustraliaAsiya Javayant NEW
Silvio G SaylorsSpainStephen Shaw PROPOSAL
Silvio T KuskoRussiaAsiya Javayant NEW
David I RulapaughItalyIvan Magalhaes NEGOTIATION
Nicolas E DoeArgentinaStephen Shaw PROPOSAL
Clifford X AmigonJapanXuxue Feng UNQUALIFIED
Izzy V CaudySpainAmy Elsner RENEWAL
Aika J OstroskyUnited KingdomStephen Shaw NEW
Juan W CaldareraCanadaXuxue Feng UNQUALIFIED
Adams S BologniaAustraliaIvan Magalhaes NEGOTIATION
Misaki D CaldareraAustraliaOnyama Limba UNQUALIFIED
Alejandro A FigeroaBrazilOnyama Limba PROPOSAL
Salvatore C MaletRussiaXuxue Feng PROPOSAL
James S MaletItalyXuxue Feng QUALIFIED
Jefferson N DarakjyUnited KingdomAnna Fali NEW
Jones M MacleadBrazilAmy Elsner NEGOTIATION
David G GauchoAustraliaOnyama Limba PROPOSAL
Adams N VocelkaIndiaAmy Elsner QUALIFIED
Greenwood Q DoeIndiaOnyama Limba NEGOTIATION
Julie S InouyeArgentinaBernardo Dominic RENEWAL
Greenwood P ShinkoJapanOnyama Limba QUALIFIED
Ricardo M FlosiRussiaStephen Shaw NEGOTIATION
Mujtaba N StensethSpainIoni Bowcher NEGOTIATION
Wickens Q WhobreyItalyIoni Bowcher QUALIFIED
David Z SaylorsSpainAsiya Javayant NEGOTIATION
Francesco X StensethGermanyIoni Bowcher UNQUALIFIED
Izzy C ShinkoBrazilAnna Fali QUALIFIED
Frozen Columns
Name
Julie S Marrier
Jennifer R Kusko
Faith Z Bowley
Wickens G Kolmetz
Aika U Briddick
Emily W Nicka
Silvio N Shinko
Jefferson Y Malet
Faith S Garufi
Jeanfrancois N Albares
Jennifer N Albares
Leja Z Briddick
Aditya I Morasca
Misaki V Chui
Leon A Caldarera
Darci P Figeroa
Nicolas H Rulapaugh
Johnson Y Nicka
Aruna D Nestle
Mayumi S Gillian
Francesco R Perin
Kaitlin G Saylors
Munro J Darakjy
Aika Q Morasca
Mayumi Y Whobrey
Aruna I Doe
James H Chui
James T Garufi
Claire G Iturbide
Aika P Chui
Johnson I Inouye
Greenwood F Slusarski
Arvin P Oldroyd
Leon H Vocelka
Silvio X Saylors
Octavia O Malet
Cody Y Amigon
Darci Q Figeroa
Deepesh L Bowley
Kadeem C Chui
Faith S Marrier
Adams M Stenseth
Kadeem F Ostrosky
Deepesh H Vocelka
Mujtaba X Dilliard
Maisha H Amigon
Jefferson I Maclead
Salvatore J Paprocki
Juan P Poquette
Ricardo M Maclead
IdCountryDate
1000France2026-08-01
1001Russia2026-07-20
1002Argentina2026-08-08
1003Germany2026-08-08
1004Spain2026-07-28
1005Italy2026-08-10
1006Italy2026-07-18
1007United Kingdom2026-08-01
1008Brazil2026-08-02
1009Canada2026-08-07
1010Japan2026-07-20
1011Argentina2026-07-23
1012Canada2026-08-12
1013Spain2026-08-11
1014Japan2026-08-07
1015United Kingdom2026-07-30
1016France2026-07-15
1017Australia2026-07-16
1018United Kingdom2026-08-12
1019Italy2026-08-11
1020Argentina2026-08-10
1021Japan2026-07-15
1022Russia2026-08-12
1023Germany2026-07-16
1024United Kingdom2026-07-27
1025France2026-08-03
1026Germany2026-08-02
1027Australia2026-07-22
1028United Kingdom2026-07-22
1029India2026-08-03
1030Japan2026-07-16
1031Japan2026-07-19
1032Japan2026-07-27
1033Spain2026-07-14
1034Russia2026-08-06
1035Italy2026-07-22
1036Australia2026-07-27
1037Germany2026-08-08
1038France2026-08-08
1039Australia2026-07-15
1040Australia2026-07-30
1041India2026-07-29
1042France2026-07-28
1043Canada2026-07-22
1044Canada2026-07-31
1045Russia2026-07-21
1046Japan2026-08-10
1047Germany2026-08-01
1048Russia2026-08-11
1049India2026-07-24

On-Demand Data

NameIdCountryDate
Nicolas W Caudy1000Argentina2026-07-19
Juan S Ferencz1001United Kingdom2026-07-31
Antonio X Waycott1002Canada2026-07-25
Jefferson Q Glick1003Italy2026-07-20
Kaitlin V Amigon1004Argentina2026-07-31
James O Kolmetz1005Russia2026-08-12
Sinclair I Sergi1006Spain2026-08-10
Ricardo J Campain1007Australia2026-07-25
Claire G Ostrosky1008Argentina2026-08-06
Francesco T Nicka1009Canada2026-08-07
Smith C Ruta1010India2026-08-01
Clifford H Gaucho1011Germany2026-08-05
Antonio U Caldarera1012India2026-07-28
Julie W Gillian1013Brazil2026-07-20
Chavez Z Campain1014Australia2026-07-26
Johnson B Slusarski1015India2026-07-25
Stacey Z Marrier1016United Kingdom2026-07-27
Johnson R Caudy1017India2026-07-14
Jones C Amigon1018Argentina2026-07-31
Alejandro T Bolognia1019Canada2026-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja H KuskoIndiaAnna Fali QUALIFIED
Francesco W InouyeGermanyElwin Sharvill UNQUALIFIED
Nicolas C SaylorsAustraliaIvan Magalhaes NEW
Morrow W MaletSpainAsiya Javayant PROPOSAL
Juan D KolmetzBrazilAsiya Javayant RENEWAL
Isabel C PoquetteFranceAsiya Javayant RENEWAL
Maisha U GillianGermanyBernardo Dominic RENEWAL
Alejandro Z RutaIndiaIvan Magalhaes NEGOTIATION
Aika G CaldareraSpainOnyama Limba NEGOTIATION
Leja T FollerArgentinaXuxue Feng NEGOTIATION
Nicolas S CampainJapanBernardo Dominic UNQUALIFIED
Adams R VenereFranceOnyama Limba PROPOSAL
Mayumi T PoquetteBrazilAsiya Javayant RENEWAL
Leon F FollerUnited KingdomOnyama Limba NEW
Misaki C GlickUnited KingdomElwin Sharvill UNQUALIFIED
Misaki Y NestleSpainAmy Elsner UNQUALIFIED
Morrow F GillianIndiaStephen Shaw NEW
Clifford B MarrierRussiaIoni Bowcher UNQUALIFIED
Johnson T DoeAustraliaAnna Fali NEW
Adams N WaycottUnited KingdomAnna Fali PROPOSAL
Deepesh O GauchoItalyBernardo Dominic QUALIFIED
Emily N DarakjyUnited KingdomBernardo Dominic PROPOSAL
Claire I ButtItalyIoni Bowcher NEW
Julie Y SergiGermanyIoni Bowcher UNQUALIFIED
Octavia O BowleyCanadaAnna Fali QUALIFIED
Julie H FlosiUnited KingdomAnna Fali UNQUALIFIED
James B DoeCanadaAmy Elsner PROPOSAL
Rodrigues B WaycottArgentinaAnna Fali PROPOSAL
Kadeem G SlusarskiBrazilBernardo Dominic RENEWAL
Johnson W FlosiFranceIvan Magalhaes PROPOSAL
Ricardo L BologniaCanadaOnyama Limba PROPOSAL
Maria F BologniaItalyOnyama Limba NEW
Kadeem K OldroydJapanAmy Elsner UNQUALIFIED
Alejandro T RutaBrazilXuxue Feng UNQUALIFIED
Salvatore O DarakjyArgentinaOnyama Limba PROPOSAL
Johnson K IturbideCanadaAmy Elsner PROPOSAL
Aditya P OstroskyAustraliaOnyama Limba NEW
Maisha O StockhamCanadaAmy Elsner RENEWAL
David F CampainItalyStephen Shaw NEW
Rodrigues G DilliardCanadaAmy Elsner 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>