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
Morrow E KolmetzItalyBernardo Dominic NEGOTIATION
Jeanfrancois R CaudyAustraliaXuxue Feng PROPOSAL
Munro T ShinkoRussiaStephen Shaw RENEWAL
Octavia V OstroskyJapanElwin Sharvill NEW
Stacey R FigeroaArgentinaAnna Fali RENEWAL
Alejandro D ShinkoRussiaXuxue Feng RENEWAL
Clifford J SaylorsFranceAmy Elsner RENEWAL
Emily Z GlickArgentinaAsiya Javayant PROPOSAL
Sinclair X VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Adams P GillianBrazilIvan Magalhaes QUALIFIED
Wickens E WieserCanadaXuxue Feng NEGOTIATION
Sinclair N ChuiBrazilAsiya Javayant PROPOSAL
Jefferson S ButtBrazilElwin Sharvill UNQUALIFIED
Greenwood C MarrierBrazilIoni Bowcher RENEWAL
Jones K ButtAustraliaElwin Sharvill NEGOTIATION
Adams W AlbaresSpainIoni Bowcher NEGOTIATION
Claire D MorascaBrazilAnna Fali QUALIFIED
Leon J StockhamGermanyIoni Bowcher NEGOTIATION
Maisha U VocelkaSpainElwin Sharvill UNQUALIFIED
Rodrigues Z PoquetteBrazilElwin Sharvill PROPOSAL
Costa R BowleyCanadaIvan Magalhaes QUALIFIED
Isabel C ChuiArgentinaElwin Sharvill NEGOTIATION
Maria F VocelkaBrazilAmy Elsner PROPOSAL
Julie M WhobreyIndiaIvan Magalhaes PROPOSAL
Francesco X DarakjyFranceXuxue Feng QUALIFIED
Rodrigues Y RutaArgentinaElwin Sharvill PROPOSAL
Aika S InouyeAustraliaBernardo Dominic QUALIFIED
Izzy H GauchoRussiaAnna Fali NEGOTIATION
Jones S OstroskyCanadaAmy Elsner NEGOTIATION
Costa W FerenczBrazilStephen Shaw QUALIFIED
Deepesh J InouyeGermanyXuxue Feng PROPOSAL
Leon V RutaItalyXuxue Feng QUALIFIED
Francesco S GlickCanadaXuxue Feng UNQUALIFIED
Morrow K WieserCanadaXuxue Feng QUALIFIED
Jefferson G DilliardArgentinaAmy Elsner NEGOTIATION
Leja Z BologniaBrazilIoni Bowcher NEW
Adams P FigeroaGermanyOnyama Limba PROPOSAL
Munro H RoysterJapanAmy Elsner QUALIFIED
Chavez T ShinkoRussiaAnna Fali QUALIFIED
Jones C NickaJapanAsiya Javayant NEGOTIATION
Jones I ButtFranceOnyama Limba RENEWAL
Jefferson X RimSpainXuxue Feng UNQUALIFIED
Cody N RulapaughItalyStephen Shaw RENEWAL
Aditya L FlosiCanadaIvan Magalhaes RENEWAL
Ashley T MacleadJapanIoni Bowcher RENEWAL
Murillo Q NickaItalyOnyama Limba UNQUALIFIED
Misaki J ButtUnited KingdomStephen Shaw RENEWAL
Julie Y SaylorsFranceOnyama Limba NEGOTIATION
Jones W PerinGermanyXuxue Feng PROPOSAL
Wickens G OstroskyAustraliaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia G StockhamArgentinaXuxue Feng UNQUALIFIED
Octavia X RimUnited KingdomAsiya Javayant UNQUALIFIED
Silvio P MaletArgentinaIoni Bowcher RENEWAL
Johnson J GarufiAustraliaElwin Sharvill NEW
Nicolas K CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Maisha D RutaAustraliaElwin Sharvill RENEWAL
Cody M PaprockiAustraliaOnyama Limba RENEWAL
Ashley V AmigonFranceIoni Bowcher NEGOTIATION
Emily J PoquetteIndiaIoni Bowcher PROPOSAL
Isabel S RimSpainAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily M IturbideAustralia2025-06-14Buckley Miller Wright UNQUALIFIED22Bernardo Dominic
1001Aditya V WaycottCanada2025-05-22Chanay, Jeffrey A Esq QUALIFIED47Elwin Sharvill
1002Jones J SaylorsIndia2025-06-09Chanay, Jeffrey A Esq NEGOTIATION69Ioni Bowcher
1003Maria U PoquetteCanada2025-06-13Chanay, Jeffrey A Esq UNQUALIFIED80Ioni Bowcher
1004Mayumi F DilliardUnited Kingdom2025-06-07Benton, John B Jr QUALIFIED66Onyama Limba
1005Aika V IturbideArgentina2025-06-09Commercial Press UNQUALIFIED13Anna Fali
1006Tony W StockhamItaly2025-06-06Commercial Press QUALIFIED33Amy Elsner
1007Kaitlin Z AmigonFrance2025-05-23Truhlar And Truhlar Attys NEW0Bernardo Dominic
1008Julie D WhobreyCanada2025-05-29Rousseaux, Michael Esq PROPOSAL90Asiya Javayant
1009Kadeem B InouyeCanada2025-06-09Feiner Bros UNQUALIFIED4Onyama Limba
1010Kadeem P SchemmerGermany2025-06-01Morlong Associates NEW97Elwin Sharvill
1011Morrow V FigeroaArgentina2025-05-31King, Christopher A Esq NEGOTIATION21Ioni Bowcher
1012Emily R PaprockiItaly2025-05-28Morlong Associates PROPOSAL10Elwin Sharvill
1013Wickens N FigeroaIndia2025-06-04Rangoni Of Florence QUALIFIED35Ivan Magalhaes
1014Chavez Z PerinAustralia2025-06-12Commercial Press UNQUALIFIED4Bernardo Dominic
1015Jeanfrancois H MaletIndia2025-05-18King, Christopher A Esq PROPOSAL9Bernardo Dominic
1016Antonio I RulapaughUnited Kingdom2025-05-29King, Christopher A Esq RENEWAL76Ivan Magalhaes
1017Ivar Q PoquetteRussia2025-06-10Feiner Bros NEGOTIATION94Anna Fali
1018Adams Q SchemmerItaly2025-05-30Printing Dimensions NEGOTIATION95Amy Elsner
1019Tony X ShinkoItaly2025-05-18Truhlar And Truhlar Attys PROPOSAL62Ivan Magalhaes
1020Deepesh D NestleFrance2025-05-30Rousseaux, Michael Esq UNQUALIFIED81Anna Fali
1021Ivar S RimAustralia2025-06-05Printing Dimensions RENEWAL7Anna Fali
1022Johnson J PaprockiAustralia2025-05-22Chanay, Jeffrey A Esq NEGOTIATION80Ivan Magalhaes
1023Mujtaba O PaprockiCanada2025-06-15Feiner Bros NEW98Stephen Shaw
1024Costa E SaylorsUnited Kingdom2025-06-03Morlong Associates NEW21Anna Fali
1025Cody H MacleadJapan2025-05-30Commercial Press UNQUALIFIED95Xuxue Feng
1026Deepesh O SchemmerAustralia2025-06-04Chanay, Jeffrey A Esq NEGOTIATION50Xuxue Feng
1027Antonio Q IturbideRussia2025-05-20Dorl, James J Esq PROPOSAL18Ivan Magalhaes
1028Kaitlin X IturbideItaly2025-06-14Printing Dimensions NEGOTIATION34Elwin Sharvill
1029Misaki W KuskoRussia2025-06-01Truhlar And Truhlar Attys RENEWAL73Asiya Javayant
1030Aika D BowleyJapan2025-05-22Truhlar And Truhlar Attys NEGOTIATION63Xuxue Feng
1031Antonio V CaudySpain2025-05-20Feltz Printing Service UNQUALIFIED28Anna Fali
1032Costa L MorascaUnited Kingdom2025-06-01Chanay, Jeffrey A Esq UNQUALIFIED36Bernardo Dominic
1033Kadeem F FollerGermany2025-06-08Commercial Press PROPOSAL3Onyama Limba
1034James R VenereItaly2025-06-09Morlong Associates UNQUALIFIED93Onyama Limba
1035Maria C StockhamAustralia2025-05-29Feiner Bros UNQUALIFIED48Ioni Bowcher
1036Mayumi N MorascaSpain2025-05-29Commercial Press QUALIFIED22Bernardo Dominic
1037Isabel Y VenereItaly2025-06-09Benton, John B Jr NEW60Ivan Magalhaes
1038Jeanfrancois Z RulapaughCanada2025-05-18Feltz Printing Service QUALIFIED4Bernardo Dominic
1039Greenwood X MorascaJapan2025-06-01Truhlar And Truhlar Attys RENEWAL41Amy Elsner
1040Alejandro C GillianCanada2025-05-26Truhlar And Truhlar Attys RENEWAL21Bernardo Dominic
1041Aditya J TollnerItaly2025-05-30Chemel, James L Cpa QUALIFIED31Xuxue Feng
1042Stacey O CaldareraRussia2025-05-30Feiner Bros QUALIFIED9Ioni Bowcher
1043Arvin O RutaItaly2025-06-04Feiner Bros QUALIFIED86Ioni Bowcher
1044Jones X SchemmerIndia2025-05-30Dorl, James J Esq PROPOSAL45Ivan Magalhaes
1045Jeanfrancois N MorascaItaly2025-06-02Dorl, James J Esq PROPOSAL42Ioni Bowcher
1046Claire Z RutaAustralia2025-06-10King, Christopher A Esq UNQUALIFIED2Anna Fali
1047Tony P AmigonJapan2025-06-05Feiner Bros UNQUALIFIED17Bernardo Dominic
1048Maisha N DarakjyItaly2025-06-14Printing Dimensions UNQUALIFIED97Ivan Magalhaes
1049Deepesh Q DarakjyGermany2025-05-25Commercial Press QUALIFIED29Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Sinclair N TollnerRussiaXuxue Feng PROPOSAL
Misaki X CaudyJapanElwin Sharvill NEGOTIATION
Cody L MacleadFranceXuxue Feng NEGOTIATION
Salvatore F SlusarskiArgentinaAsiya Javayant RENEWAL
Nicolas V WaycottItalyIvan Magalhaes RENEWAL
Misaki D MaletArgentinaAsiya Javayant RENEWAL
Isabel C MacleadFranceStephen Shaw NEW
Leon K ButtItalyAnna Fali UNQUALIFIED
Ricardo Z GlickJapanIvan Magalhaes NEGOTIATION
Octavia T MacleadCanadaAmy Elsner QUALIFIED
Wickens Q StockhamAustraliaAnna Fali NEW
Morrow Y DarakjyIndiaBernardo Dominic NEGOTIATION
Leon Q ButtAustraliaIvan Magalhaes NEW
Maisha S KolmetzItalyXuxue Feng NEW
Jennifer M MarrierRussiaBernardo Dominic RENEWAL
Greenwood Z OstroskySpainOnyama Limba QUALIFIED
Rodrigues S SergiItalyAsiya Javayant UNQUALIFIED
Maisha H ShinkoFranceOnyama Limba PROPOSAL
Jeanfrancois W WieserAustraliaStephen Shaw UNQUALIFIED
Antonio D KolmetzRussiaOnyama Limba PROPOSAL
Claire S PaprockiSpainStephen Shaw PROPOSAL
Wickens X ChuiAustraliaAmy Elsner UNQUALIFIED
Cody T NickaUnited KingdomAmy Elsner QUALIFIED
Kadeem N TollnerArgentinaAmy Elsner UNQUALIFIED
Jones H FollerArgentinaAsiya Javayant RENEWAL
Aruna L WhobreyRussiaBernardo Dominic NEW
Misaki O KolmetzCanadaOnyama Limba PROPOSAL
Smith X StockhamGermanyAmy Elsner NEW
Ivar J StensethFranceElwin Sharvill NEGOTIATION
Clifford L DilliardCanadaAmy Elsner UNQUALIFIED
Francesco A ButtIndiaIvan Magalhaes NEW
Leon S CaldareraFranceAnna Fali NEGOTIATION
Ivar C RoysterCanadaAnna Fali PROPOSAL
Maria S DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Aditya L AmigonUnited KingdomAnna Fali RENEWAL
Clifford I WieserJapanAsiya Javayant RENEWAL
Mujtaba V WieserSpainAsiya Javayant RENEWAL
Aditya M BriddickItalyAnna Fali NEW
Misaki W KolmetzCanadaElwin Sharvill RENEWAL
Francesco U NestleCanadaOnyama Limba PROPOSAL
Faith E SaylorsBrazilIoni Bowcher UNQUALIFIED
Leja A GlickCanadaIoni Bowcher UNQUALIFIED
Octavia B WieserJapanBernardo Dominic NEGOTIATION
Octavia Y FerenczAustraliaStephen Shaw RENEWAL
Ashley Y FerenczJapanAsiya Javayant RENEWAL
Jones F GarufiSpainIoni Bowcher RENEWAL
Ashley U NestleCanadaStephen Shaw RENEWAL
James U MorascaIndiaXuxue Feng NEGOTIATION
Greenwood O BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Arvin I CaldareraGermanyStephen Shaw RENEWAL
Frozen Columns
Name
Costa P Kusko
Morrow X Ruta
Morrow G Ruta
Faith J Whobrey
Clifford L Gillian
Leja X Paprocki
Greenwood Q Rim
Morrow W Flosi
Johnson W Ruta
Arvin H Malet
Jeanfrancois C Malet
Rodrigues G Poquette
Clifford J Nestle
Nicolas R Foller
Jones B Waycott
Salvatore H Ruta
Kadeem B Gaucho
Arvin Z Perin
Smith M Sergi
Claire P Rim
Murillo H Ostrosky
Emily L Tollner
Cody E Flosi
Leon T Poquette
Clifford O Kolmetz
Isabel S Caldarera
Jefferson X Bowley
Aruna K Briddick
Munro U Oldroyd
Misaki B Nestle
Leon X Gillian
Salvatore C Slusarski
Clifford T Glick
Munro M Ruta
Aika F Chui
Silvio M Rulapaugh
Izzy R Maclead
Jones D Shinko
Claire M Amigon
Faith N Morasca
Smith H Paprocki
Juan E Waycott
Costa L Gaucho
Isabel H Flosi
Cody L Stockham
Aika F Ferencz
Aditya Z Vocelka
Faith J Bowley
Octavia Z Foller
Antonio K Malet
IdCountryDate
1000Australia2025-06-03
1001Italy2025-06-05
1002France2025-06-12
1003Germany2025-05-26
1004India2025-06-14
1005Japan2025-05-26
1006Italy2025-05-26
1007Italy2025-06-01
1008Canada2025-06-15
1009Japan2025-05-22
1010Argentina2025-05-28
1011Canada2025-06-09
1012Japan2025-06-04
1013Brazil2025-05-25
1014Russia2025-06-01
1015France2025-06-08
1016India2025-05-23
1017Canada2025-05-26
1018France2025-05-25
1019Spain2025-05-23
1020Japan2025-06-09
1021Russia2025-06-10
1022Argentina2025-06-09
1023Russia2025-06-02
1024United Kingdom2025-06-02
1025Germany2025-05-21
1026United Kingdom2025-06-01
1027Argentina2025-05-23
1028United Kingdom2025-05-29
1029Canada2025-05-22
1030Spain2025-06-15
1031Brazil2025-06-12
1032Argentina2025-05-22
1033Germany2025-05-28
1034Germany2025-05-20
1035Italy2025-06-09
1036Brazil2025-05-25
1037Germany2025-05-22
1038Brazil2025-05-19
1039Spain2025-06-09
1040Canada2025-06-14
1041Canada2025-06-14
1042Brazil2025-05-18
1043Japan2025-06-12
1044France2025-05-17
1045India2025-06-08
1046Spain2025-05-18
1047Canada2025-05-28
1048France2025-06-06
1049India2025-05-31

On-Demand Data

NameIdCountryDate
Costa S Venere1000France2025-05-22
Misaki G Foller1001Germany2025-06-08
Johnson J Gaucho1002United Kingdom2025-06-12
James I Ferencz1003Japan2025-05-24
Aditya T Ostrosky1004Japan2025-05-21
Claire I Nestle1005United Kingdom2025-06-14
Murillo R Chui1006Japan2025-05-19
Kaitlin Q Ferencz1007United Kingdom2025-06-01
Greenwood A Rulapaugh1008India2025-06-11
Misaki S Wieser1009Australia2025-05-28
Johnson S Sergi1010Japan2025-06-09
Antonio G Figeroa1011Germany2025-05-23
Aruna E Albares1012India2025-05-19
Faith G Gaucho1013Spain2025-05-20
Silvio U Flosi1014India2025-05-28
Ashley X Malet1015India2025-06-03
Chavez N Wieser1016Germany2025-06-09
Wickens R Butt1017Australia2025-06-14
Wickens V Malet1018Australia2025-06-06
Jeanfrancois J Glick1019Australia2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily G NestleIndiaIvan Magalhaes UNQUALIFIED
Izzy Q PerinBrazilBernardo Dominic NEW
Emily E AmigonBrazilOnyama Limba UNQUALIFIED
Faith S NestleBrazilElwin Sharvill UNQUALIFIED
Mujtaba X WhobreyItalyAnna Fali RENEWAL
Claire A NickaRussiaOnyama Limba NEGOTIATION
Octavia U BologniaUnited KingdomStephen Shaw NEW
Darci M VocelkaArgentinaAsiya Javayant PROPOSAL
Aditya U OstroskyItalyAmy Elsner NEW
Darci L WieserGermanyIvan Magalhaes RENEWAL
Mujtaba U DoeRussiaStephen Shaw UNQUALIFIED
Johnson V OldroydUnited KingdomAsiya Javayant NEW
Nicolas G WhobreyRussiaStephen Shaw PROPOSAL
Tony B VocelkaAustraliaElwin Sharvill QUALIFIED
Johnson O SaylorsSpainAnna Fali RENEWAL
Sinclair R BowleyCanadaAnna Fali NEGOTIATION
Nicolas X RoysterIndiaXuxue Feng NEW
Octavia C VocelkaRussiaBernardo Dominic UNQUALIFIED
Cody E SlusarskiRussiaBernardo Dominic PROPOSAL
Greenwood F NestleGermanyElwin Sharvill RENEWAL
Isabel O AmigonCanadaXuxue Feng RENEWAL
Mayumi U VenereAustraliaIoni Bowcher PROPOSAL
Aditya F DarakjyRussiaAsiya Javayant RENEWAL
Jeanfrancois M MarrierGermanyElwin Sharvill NEGOTIATION
Aruna D IturbideArgentinaIvan Magalhaes QUALIFIED
Maria P GauchoArgentinaBernardo Dominic NEGOTIATION
Maria Y NestleItalyXuxue Feng NEGOTIATION
Leon T SchemmerItalyElwin Sharvill QUALIFIED
Leja E GauchoIndiaXuxue Feng NEGOTIATION
Wickens D SaylorsFranceOnyama Limba RENEWAL
Tony T OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Julie M SchemmerGermanyElwin Sharvill RENEWAL
Costa H OstroskyCanadaAmy Elsner PROPOSAL
Julie J AlbaresFranceBernardo Dominic QUALIFIED
Mayumi J SaylorsJapanXuxue Feng NEGOTIATION
Adams S InouyeBrazilIoni Bowcher NEGOTIATION
Munro Q InouyeCanadaAsiya Javayant UNQUALIFIED
Adams B PerinBrazilIvan Magalhaes NEW
Johnson V OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Arvin K WieserGermanyXuxue Feng PROPOSAL

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