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
Kaitlin W NestleAustraliaAmy Elsner QUALIFIED
David S MarrierCanadaXuxue Feng NEW
Faith U RutaFranceXuxue Feng PROPOSAL
Octavia C AmigonUnited KingdomIoni Bowcher RENEWAL
Juan C MacleadFranceIoni Bowcher PROPOSAL
Chavez X WhobreyArgentinaIvan Magalhaes NEW
Emily Y KolmetzUnited KingdomAnna Fali UNQUALIFIED
Chavez Z CaldareraGermanyIvan Magalhaes RENEWAL
Kadeem D PerinRussiaIoni Bowcher NEGOTIATION
Silvio B RutaBrazilElwin Sharvill PROPOSAL
Sinclair H SlusarskiAustraliaStephen Shaw NEGOTIATION
Isabel Y NickaAustraliaOnyama Limba QUALIFIED
Izzy T SergiArgentinaAmy Elsner QUALIFIED
Aruna P VocelkaItalyIvan Magalhaes QUALIFIED
Francesco X RimArgentinaStephen Shaw NEGOTIATION
Aika P BriddickSpainStephen Shaw QUALIFIED
Maria L GarufiIndiaAmy Elsner UNQUALIFIED
Mujtaba O GillianArgentinaElwin Sharvill NEW
Leon K StensethIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois H MaletRussiaOnyama Limba RENEWAL
Maisha M CaldareraJapanOnyama Limba QUALIFIED
Deepesh F InouyeUnited KingdomElwin Sharvill NEGOTIATION
Ricardo E StockhamRussiaAsiya Javayant RENEWAL
Costa N DilliardBrazilBernardo Dominic PROPOSAL
Silvio P CaudyArgentinaOnyama Limba NEGOTIATION
Smith S BologniaJapanOnyama Limba NEGOTIATION
Johnson H KuskoJapanAnna Fali RENEWAL
Claire U KuskoBrazilAsiya Javayant NEGOTIATION
Juan D CaudyUnited KingdomIvan Magalhaes QUALIFIED
Mayumi F CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem U SlusarskiRussiaBernardo Dominic UNQUALIFIED
Octavia I GauchoArgentinaIoni Bowcher UNQUALIFIED
Isabel Z BriddickFranceBernardo Dominic QUALIFIED
Arvin J PoquetteJapanElwin Sharvill PROPOSAL
James H VocelkaCanadaAmy Elsner NEW
Emily R SlusarskiGermanyXuxue Feng QUALIFIED
Juan N PerinAustraliaAnna Fali QUALIFIED
Jeanfrancois E SlusarskiIndiaStephen Shaw NEW
Ricardo Y SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues U TollnerCanadaElwin Sharvill QUALIFIED
Silvio T PaprockiIndiaBernardo Dominic PROPOSAL
Arvin U WieserAustraliaOnyama Limba QUALIFIED
Adams R FigeroaJapanOnyama Limba NEW
Arvin K IturbideBrazilOnyama Limba NEGOTIATION
Claire C NestleGermanyElwin Sharvill NEW
Jennifer V RimAustraliaAnna Fali QUALIFIED
Murillo Q StensethAustraliaStephen Shaw NEGOTIATION
Aika B DilliardJapanElwin Sharvill NEW
Antonio J VenereSpainIvan Magalhaes NEW
Tony A KuskoItalyBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood H RulapaughArgentinaElwin Sharvill NEGOTIATION
Leja H CaldareraBrazilIoni Bowcher RENEWAL
Ashley H InouyeFranceStephen Shaw PROPOSAL
Maria Y BowleyBrazilAmy Elsner UNQUALIFIED
Jones V VocelkaRussiaIoni Bowcher UNQUALIFIED
Ashley E SergiSpainIoni Bowcher NEW
Deepesh X DarakjyUnited KingdomAmy Elsner QUALIFIED
Octavia I AlbaresItalyXuxue Feng QUALIFIED
Aditya X ButtIndiaIvan Magalhaes PROPOSAL
Nicolas D MaletArgentinaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci M RulapaughFrance2024-06-17Chanay, Jeffrey A Esq QUALIFIED64Amy Elsner
1001Tony K AmigonFrance2024-06-06Feiner Bros RENEWAL55Amy Elsner
1002Isabel R SaylorsArgentina2024-06-12Buckley Miller Wright UNQUALIFIED18Elwin Sharvill
1003Kadeem H IturbideFrance2024-05-29Benton, John B Jr NEGOTIATION25Xuxue Feng
1004Murillo T MaletAustralia2024-06-23Rousseaux, Michael Esq NEGOTIATION21Stephen Shaw
1005Rodrigues R StensethBrazil2024-05-26Morlong Associates RENEWAL51Bernardo Dominic
1006Emily R FollerBrazil2024-06-23Feltz Printing Service NEW22Ivan Magalhaes
1007Stacey P NickaFrance2024-05-29Chanay, Jeffrey A Esq NEW51Bernardo Dominic
1008Isabel B ButtCanada2024-06-22King, Christopher A Esq QUALIFIED35Ivan Magalhaes
1009Julie X ChuiBrazil2024-05-31Chanay, Jeffrey A Esq NEW35Amy Elsner
1010Adams N ChuiSpain2024-05-26Chemel, James L Cpa UNQUALIFIED37Elwin Sharvill
1011Octavia X SlusarskiUnited Kingdom2024-06-22Feltz Printing Service NEGOTIATION25Ioni Bowcher
1012Costa N FlosiArgentina2024-06-03Rousseaux, Michael Esq QUALIFIED12Bernardo Dominic
1013Deepesh M NestleIndia2024-06-12Commercial Press PROPOSAL13Amy Elsner
1014Emily R MarrierIndia2024-05-28Rangoni Of Florence QUALIFIED5Bernardo Dominic
1015Leja G StensethUnited Kingdom2024-06-19Rangoni Of Florence NEGOTIATION87Bernardo Dominic
1016Arvin L InouyeFrance2024-05-29Chemel, James L Cpa QUALIFIED95Anna Fali
1017Misaki O PaprockiSpain2024-06-03Feltz Printing Service RENEWAL56Onyama Limba
1018Jefferson A DarakjyItaly2024-06-18Truhlar And Truhlar Attys QUALIFIED34Xuxue Feng
1019Deepesh D WaycottSpain2024-06-01Buckley Miller Wright QUALIFIED67Xuxue Feng
1020Smith K WieserItaly2024-06-17Dorl, James J Esq UNQUALIFIED29Ioni Bowcher
1021Jefferson V BowleyAustralia2024-06-23Morlong Associates RENEWAL63Onyama Limba
1022Adams K FlosiAustralia2024-06-07Chemel, James L Cpa NEGOTIATION15Ioni Bowcher
1023Mayumi M CaldareraSpain2024-06-20Feltz Printing Service RENEWAL37Ioni Bowcher
1024Aditya E FerenczArgentina2024-06-12Morlong Associates NEGOTIATION41Bernardo Dominic
1025Cody Q DarakjyJapan2024-06-06Chemel, James L Cpa NEW14Bernardo Dominic
1026Sinclair H RutaSpain2024-06-19Chanay, Jeffrey A Esq NEW46Anna Fali
1027Ricardo Q AlbaresUnited Kingdom2024-06-06Dorl, James J Esq QUALIFIED48Onyama Limba
1028Ricardo E WieserJapan2024-06-02Truhlar And Truhlar Attys RENEWAL56Amy Elsner
1029Maria S TollnerFrance2024-06-12Buckley Miller Wright NEGOTIATION8Asiya Javayant
1030Octavia J AlbaresJapan2024-06-10Chanay, Jeffrey A Esq PROPOSAL33Amy Elsner
1031Nicolas P FigeroaGermany2024-06-01Commercial Press QUALIFIED92Onyama Limba
1032Adams T DarakjyAustralia2024-06-09Feltz Printing Service QUALIFIED45Ivan Magalhaes
1033Mayumi J RutaItaly2024-05-25Chanay, Jeffrey A Esq RENEWAL21Onyama Limba
1034Octavia G FollerSpain2024-06-21Chapman, Ross E Esq NEW93Anna Fali
1035James P RoysterIndia2024-06-16Feltz Printing Service UNQUALIFIED12Bernardo Dominic
1036Maisha R SergiSpain2024-06-22Feltz Printing Service RENEWAL0Bernardo Dominic
1037Salvatore B MacleadUnited Kingdom2024-06-05Chemel, James L Cpa NEGOTIATION5Bernardo Dominic
1038Misaki R FlosiGermany2024-05-28King, Christopher A Esq NEW53Xuxue Feng
1039Nicolas H DilliardRussia2024-05-31Chanay, Jeffrey A Esq RENEWAL31Amy Elsner
1040James B MaletArgentina2024-05-28Chapman, Ross E Esq PROPOSAL7Xuxue Feng
1041Jefferson H KolmetzSpain2024-06-07Buckley Miller Wright QUALIFIED77Stephen Shaw
1042Smith X RoysterUnited Kingdom2024-06-12Feiner Bros QUALIFIED78Stephen Shaw
1043Sinclair Q StensethSpain2024-05-31King, Christopher A Esq PROPOSAL88Stephen Shaw
1044Costa Z MaletIndia2024-06-20Chanay, Jeffrey A Esq NEW31Elwin Sharvill
1045Jones K MacleadAustralia2024-06-19Chapman, Ross E Esq UNQUALIFIED96Bernardo Dominic
1046James O ShinkoGermany2024-06-01Buckley Miller Wright NEW60Amy Elsner
1047David P VocelkaCanada2024-06-04Feiner Bros NEW21Ioni Bowcher
1048Wickens S FollerItaly2024-06-05Rangoni Of Florence NEW92Onyama Limba
1049Octavia S MaletFrance2024-06-01Commercial Press NEW22Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson Y BologniaRussiaXuxue Feng NEGOTIATION
Jones X NestleArgentinaOnyama Limba NEW
Jones S MorascaRussiaStephen Shaw RENEWAL
Costa Q MaletCanadaOnyama Limba UNQUALIFIED
Deepesh L KolmetzIndiaAmy Elsner UNQUALIFIED
Julie Z SergiSpainAsiya Javayant QUALIFIED
Octavia E DarakjySpainIoni Bowcher PROPOSAL
Kaitlin J VocelkaJapanAmy Elsner QUALIFIED
Octavia V DilliardBrazilOnyama Limba QUALIFIED
Rodrigues Q AlbaresUnited KingdomXuxue Feng RENEWAL
Juan V DoeArgentinaAsiya Javayant PROPOSAL
Salvatore S RulapaughAustraliaBernardo Dominic UNQUALIFIED
Ricardo C PoquetteIndiaAsiya Javayant NEGOTIATION
Johnson L BriddickGermanyElwin Sharvill PROPOSAL
Cody L NestleAustraliaAmy Elsner RENEWAL
Kaitlin D MaletArgentinaIvan Magalhaes PROPOSAL
Smith L NestleAustraliaAmy Elsner RENEWAL
Emily Y SaylorsArgentinaXuxue Feng UNQUALIFIED
Alejandro R PaprockiBrazilAmy Elsner RENEWAL
Faith D GillianItalyElwin Sharvill NEGOTIATION
Jennifer E WhobreyRussiaElwin Sharvill PROPOSAL
Chavez W FlosiIndiaElwin Sharvill RENEWAL
Izzy K FigeroaJapanBernardo Dominic QUALIFIED
Silvio Y CampainBrazilAmy Elsner RENEWAL
Clifford T SchemmerArgentinaStephen Shaw RENEWAL
Clifford F VenereIndiaAnna Fali UNQUALIFIED
Clifford V KuskoIndiaAmy Elsner PROPOSAL
Jefferson I GauchoJapanOnyama Limba NEGOTIATION
Emily U DilliardItalyAmy Elsner PROPOSAL
Jennifer V DarakjyFranceIvan Magalhaes NEW
Ivar K VenereUnited KingdomStephen Shaw QUALIFIED
Alejandro K StockhamBrazilAsiya Javayant RENEWAL
Alejandro Z IturbideItalyXuxue Feng UNQUALIFIED
Sinclair F StensethAustraliaXuxue Feng NEGOTIATION
Silvio B NickaUnited KingdomBernardo Dominic RENEWAL
Adams T WieserJapanAnna Fali UNQUALIFIED
Aika P WieserJapanOnyama Limba RENEWAL
Leja R BriddickUnited KingdomAmy Elsner NEW
Morrow N BologniaCanadaOnyama Limba PROPOSAL
Nicolas U PaprockiArgentinaOnyama Limba NEGOTIATION
Maria M WieserIndiaIoni Bowcher RENEWAL
Isabel O CaudyFranceBernardo Dominic UNQUALIFIED
Greenwood O StensethFranceOnyama Limba UNQUALIFIED
Jones W BowleyItalyBernardo Dominic NEW
Aika Q WhobreyBrazilElwin Sharvill RENEWAL
Morrow V GlickItalyBernardo Dominic NEGOTIATION
David D InouyeUnited KingdomAsiya Javayant PROPOSAL
Claire J KuskoCanadaAmy Elsner QUALIFIED
Tony Z WaycottUnited KingdomAmy Elsner NEW
Arvin L CaudyFranceOnyama Limba UNQUALIFIED
Frozen Columns
Name
Munro C Sergi
Nicolas B Doe
Murillo N Stockham
Mujtaba Z Poquette
Ricardo H Doe
Morrow B Poquette
Rodrigues G Glick
Adams J Maclead
Juan R Whobrey
Rodrigues P Perin
Leon W Shinko
Chavez R Tollner
Maisha V Kolmetz
Stacey D Oldroyd
Wickens I Waycott
Adams X Glick
Isabel M Albares
Isabel D Albares
Kaitlin A Ruta
Greenwood V Wieser
Cody C Malet
Johnson F Gillian
Greenwood Q Iturbide
Darci Q Flosi
Aditya Y Kusko
Octavia H Marrier
Clifford P Briddick
Wickens U Caldarera
Kaitlin A Oldroyd
Maisha W Poquette
Maisha E Campain
Murillo J Rulapaugh
Arvin C Garufi
Alejandro V Campain
Leon G Chui
Octavia D Foller
David A Rim
Julie S Glick
Emily K Sergi
Stacey K Ferencz
Kadeem V Perin
Salvatore O Figeroa
Julie A Kusko
Sinclair N Maclead
Munro J Bolognia
Morrow H Nicka
Maisha W Morasca
Leja O Marrier
Wickens I Rulapaugh
Jones J Wieser
IdCountryDate
1000Japan2024-06-05
1001Brazil2024-06-01
1002France2024-06-21
1003Italy2024-06-20
1004Italy2024-06-05
1005United Kingdom2024-06-02
1006Spain2024-06-01
1007Australia2024-06-12
1008Argentina2024-06-03
1009India2024-06-20
1010Russia2024-06-12
1011Germany2024-06-11
1012Brazil2024-06-15
1013Brazil2024-06-03
1014Russia2024-06-11
1015Japan2024-06-09
1016Germany2024-06-17
1017Brazil2024-06-21
1018Spain2024-06-11
1019France2024-06-19
1020Italy2024-06-06
1021Japan2024-06-14
1022Australia2024-06-16
1023United Kingdom2024-05-31
1024Brazil2024-06-17
1025India2024-06-05
1026Argentina2024-06-23
1027Spain2024-05-31
1028France2024-05-28
1029Russia2024-06-08
1030Germany2024-06-12
1031Brazil2024-06-06
1032Germany2024-06-03
1033Spain2024-06-17
1034Brazil2024-06-08
1035Germany2024-05-30
1036Spain2024-06-19
1037Japan2024-06-13
1038Russia2024-06-12
1039India2024-06-15
1040Russia2024-06-19
1041Argentina2024-06-04
1042Germany2024-05-30
1043Australia2024-06-02
1044United Kingdom2024-06-10
1045Japan2024-06-12
1046Italy2024-06-13
1047Argentina2024-06-17
1048Germany2024-06-08
1049Germany2024-05-27

On-Demand Data

NameIdCountryDate
Julie X Campain1000Brazil2024-06-23
Morrow F Foller1001Germany2024-06-19
Mujtaba I Shinko1002India2024-06-14
Leon T Morasca1003Canada2024-06-11
Rodrigues R Malet1004Germany2024-06-14
Antonio D Maclead1005India2024-06-22
Murillo L Marrier1006Japan2024-05-29
Arvin A Tollner1007Canada2024-06-07
Johnson P Rulapaugh1008Canada2024-06-16
Chavez M Stockham1009United Kingdom2024-06-19
Chavez R Ostrosky1010Brazil2024-05-29
Jefferson Z Doe1011Argentina2024-05-31
Ashley Z Saylors1012Argentina2024-06-16
Octavia I Maclead1013Brazil2024-05-27
Jones Q Glick1014Brazil2024-06-11
Smith Y Morasca1015Japan2024-06-08
Misaki R Chui1016Brazil2024-06-03
Ricardo X Vocelka1017Australia2024-06-08
Ashley J Perin1018Russia2024-05-27
Mayumi G Bowley1019Brazil2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco H SlusarskiCanadaIoni Bowcher NEGOTIATION
Sinclair Q NickaUnited KingdomIoni Bowcher NEGOTIATION
Aditya Q KuskoAustraliaIvan Magalhaes QUALIFIED
Kaitlin R StensethBrazilOnyama Limba PROPOSAL
Ivar W NickaCanadaXuxue Feng NEW
Greenwood P ChuiBrazilAnna Fali UNQUALIFIED
Costa H FlosiItalyBernardo Dominic QUALIFIED
Kadeem P MorascaRussiaStephen Shaw UNQUALIFIED
Salvatore A RulapaughFranceIoni Bowcher RENEWAL
Emily T KuskoUnited KingdomAnna Fali RENEWAL
Claire E AlbaresItalyIoni Bowcher RENEWAL
Jefferson T FollerFranceIoni Bowcher RENEWAL
Arvin E StensethSpainBernardo Dominic QUALIFIED
Stacey L RulapaughRussiaStephen Shaw RENEWAL
Ricardo R CampainFranceElwin Sharvill NEW
Maisha I IturbideUnited KingdomXuxue Feng QUALIFIED
Aditya V MacleadArgentinaElwin Sharvill UNQUALIFIED
Murillo X DarakjyCanadaAsiya Javayant NEGOTIATION
Maisha B FollerIndiaOnyama Limba PROPOSAL
Jefferson O RutaSpainIvan Magalhaes QUALIFIED
Misaki V KuskoUnited KingdomOnyama Limba NEGOTIATION
Silvio F FlosiItalyElwin Sharvill PROPOSAL
Isabel N PaprockiFranceAsiya Javayant RENEWAL
Francesco P KolmetzFranceOnyama Limba QUALIFIED
Octavia V RoysterRussiaOnyama Limba UNQUALIFIED
Jeanfrancois J FigeroaArgentinaElwin Sharvill NEW
Claire D ChuiRussiaAsiya Javayant RENEWAL
Greenwood M WaycottSpainOnyama Limba NEGOTIATION
Salvatore E GarufiItalyAsiya Javayant RENEWAL
Jennifer D DarakjyItalyAnna Fali NEW
Stacey L PerinJapanAsiya Javayant UNQUALIFIED
Nicolas I GlickAustraliaElwin Sharvill QUALIFIED
Wickens I DilliardCanadaBernardo Dominic PROPOSAL
Aika R BowleyAustraliaXuxue Feng QUALIFIED
Sinclair O ButtCanadaXuxue Feng UNQUALIFIED
Aika C SergiRussiaBernardo Dominic QUALIFIED
Salvatore D CaudyBrazilIvan Magalhaes RENEWAL
Cody Y MarrierRussiaAmy Elsner QUALIFIED
Mujtaba I FollerItalyStephen Shaw UNQUALIFIED
Izzy C MaletIndiaXuxue 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>