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
Claire I WieserUnited KingdomIoni Bowcher QUALIFIED
Claire E ButtBrazilXuxue Feng PROPOSAL
Claire U WaycottArgentinaIvan Magalhaes UNQUALIFIED
Emily O CaldareraAustraliaElwin Sharvill RENEWAL
Costa O NickaItalyAsiya Javayant QUALIFIED
James W TollnerAustraliaBernardo Dominic UNQUALIFIED
Juan Z ChuiSpainOnyama Limba PROPOSAL
Salvatore B DarakjyFranceOnyama Limba PROPOSAL
Sinclair O SchemmerSpainXuxue Feng RENEWAL
Ricardo T SaylorsIndiaIvan Magalhaes QUALIFIED
Smith V CaldareraAustraliaElwin Sharvill PROPOSAL
Jennifer E RulapaughGermanyIoni Bowcher UNQUALIFIED
Ivar V AmigonIndiaXuxue Feng NEGOTIATION
Faith R CaudyBrazilOnyama Limba UNQUALIFIED
Octavia E NickaGermanyBernardo Dominic PROPOSAL
Leja H DoeItalyIoni Bowcher RENEWAL
Sinclair W FerenczSpainOnyama Limba RENEWAL
Arvin W DilliardAustraliaIvan Magalhaes NEW
Ashley N DilliardBrazilStephen Shaw NEW
Julie Z CaudyAustraliaStephen Shaw RENEWAL
Kadeem F WhobreyAustraliaIoni Bowcher PROPOSAL
Sinclair I MarrierIndiaElwin Sharvill QUALIFIED
Isabel W BologniaGermanyAsiya Javayant UNQUALIFIED
Deepesh S SaylorsRussiaIvan Magalhaes NEGOTIATION
Nicolas L RulapaughIndiaIvan Magalhaes NEW
Tony U NickaBrazilOnyama Limba UNQUALIFIED
Aruna I BowleyJapanStephen Shaw NEGOTIATION
Maria S GillianFranceAmy Elsner PROPOSAL
Greenwood Q FerenczAustraliaElwin Sharvill PROPOSAL
Clifford D ChuiFranceAnna Fali QUALIFIED
Salvatore H InouyeItalyXuxue Feng PROPOSAL
Leja J OldroydJapanElwin Sharvill RENEWAL
Leon P RulapaughFranceAmy Elsner NEW
Mujtaba V WieserFranceAnna Fali UNQUALIFIED
Nicolas T VenereBrazilXuxue Feng NEW
Isabel L PaprockiItalyBernardo Dominic NEW
Ivar J BriddickJapanStephen Shaw PROPOSAL
Murillo G SchemmerRussiaAsiya Javayant PROPOSAL
Sinclair J RutaArgentinaBernardo Dominic NEGOTIATION
Morrow V GillianFranceBernardo Dominic QUALIFIED
Wickens U GillianBrazilOnyama Limba PROPOSAL
Emily Q RulapaughCanadaElwin Sharvill QUALIFIED
Antonio C MorascaItalyXuxue Feng PROPOSAL
Jeanfrancois G OstroskyGermanyBernardo Dominic NEW
Aruna O GlickIndiaAmy Elsner NEW
Tony I VocelkaUnited KingdomOnyama Limba NEW
Clifford N MorascaAustraliaOnyama Limba QUALIFIED
Isabel E StensethJapanAsiya Javayant UNQUALIFIED
Leja S WieserRussiaBernardo Dominic QUALIFIED
Izzy X GarufiJapanAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel T FlosiUnited KingdomStephen Shaw NEGOTIATION
James U IturbideAustraliaOnyama Limba UNQUALIFIED
Greenwood C DilliardFranceBernardo Dominic UNQUALIFIED
Rodrigues J DilliardJapanBernardo Dominic UNQUALIFIED
Nicolas H FigeroaSpainElwin Sharvill PROPOSAL
Isabel V PerinRussiaAsiya Javayant PROPOSAL
Wickens F StockhamArgentinaBernardo Dominic RENEWAL
Francesco S IturbideIndiaAsiya Javayant NEGOTIATION
Maria X MaletAustraliaBernardo Dominic NEW
Ricardo X IturbideCanadaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith P InouyeFrance2024-06-19Dorl, James J Esq QUALIFIED95Anna Fali
1001Maria H NestleIndia2024-06-20Truhlar And Truhlar Attys NEW87Xuxue Feng
1002Smith W ChuiItaly2024-06-03Rangoni Of Florence PROPOSAL19Amy Elsner
1003Clifford Q RoysterJapan2024-06-17Printing Dimensions NEW48Asiya Javayant
1004Rodrigues P RulapaughGermany2024-06-03Printing Dimensions RENEWAL7Ivan Magalhaes
1005Rodrigues V BowleyFrance2024-06-03Morlong Associates QUALIFIED23Ioni Bowcher
1006Antonio U RutaFrance2024-05-29Feltz Printing Service UNQUALIFIED53Onyama Limba
1007Leon V SlusarskiUnited Kingdom2024-06-12Feltz Printing Service UNQUALIFIED7Anna Fali
1008Smith M ButtJapan2024-05-30Morlong Associates NEW70Ioni Bowcher
1009Leja D NickaFrance2024-06-13Chapman, Ross E Esq RENEWAL72Asiya Javayant
1010Leon J BologniaGermany2024-06-05Truhlar And Truhlar Attys RENEWAL2Ivan Magalhaes
1011Juan H OstroskyAustralia2024-06-22Morlong Associates NEGOTIATION8Ioni Bowcher
1012Nicolas F BowleyJapan2024-06-09Benton, John B Jr UNQUALIFIED15Xuxue Feng
1013Alejandro U WhobreyFrance2024-06-10Feiner Bros UNQUALIFIED14Onyama Limba
1014James K SaylorsIndia2024-06-04Benton, John B Jr UNQUALIFIED58Stephen Shaw
1015Faith N CampainUnited Kingdom2024-06-22Chemel, James L Cpa QUALIFIED24Ivan Magalhaes
1016Claire T StockhamRussia2024-05-27Commercial Press NEGOTIATION69Amy Elsner
1017Munro D MaletIndia2024-06-06Printing Dimensions NEW74Onyama Limba
1018Tony X SergiItaly2024-05-31Truhlar And Truhlar Attys QUALIFIED55Xuxue Feng
1019Greenwood N TollnerIndia2024-05-31Dorl, James J Esq RENEWAL48Asiya Javayant
1020Costa X CaldareraIndia2024-06-13Chapman, Ross E Esq PROPOSAL57Ioni Bowcher
1021Morrow G DilliardUnited Kingdom2024-05-27Truhlar And Truhlar Attys NEGOTIATION86Stephen Shaw
1022Maisha D StockhamAustralia2024-06-23Buckley Miller Wright RENEWAL10Bernardo Dominic
1023Salvatore J IturbideBrazil2024-06-06Truhlar And Truhlar Attys RENEWAL33Ivan Magalhaes
1024Kaitlin T TollnerGermany2024-06-13Benton, John B Jr UNQUALIFIED87Ivan Magalhaes
1025Maria L TollnerSpain2024-06-20Rousseaux, Michael Esq PROPOSAL45Elwin Sharvill
1026Octavia C FollerItaly2024-06-01Printing Dimensions NEGOTIATION42Stephen Shaw
1027Mujtaba U GarufiAustralia2024-06-18Rangoni Of Florence NEW79Bernardo Dominic
1028Ashley I ShinkoArgentina2024-06-11Commercial Press UNQUALIFIED49Elwin Sharvill
1029Faith C NickaArgentina2024-06-05Feiner Bros RENEWAL35Bernardo Dominic
1030David T MaletItaly2024-06-21Truhlar And Truhlar Attys UNQUALIFIED10Ivan Magalhaes
1031Silvio F PaprockiSpain2024-05-31Chemel, James L Cpa NEGOTIATION84Onyama Limba
1032Deepesh T SaylorsGermany2024-06-07Feiner Bros PROPOSAL75Stephen Shaw
1033Clifford C MorascaAustralia2024-05-31Feiner Bros PROPOSAL85Ivan Magalhaes
1034Jeanfrancois V FigeroaSpain2024-05-28Buckley Miller Wright PROPOSAL48Bernardo Dominic
1035Octavia W NestleUnited Kingdom2024-05-29King, Christopher A Esq UNQUALIFIED89Anna Fali
1036Rodrigues S BriddickFrance2024-06-22Printing Dimensions PROPOSAL79Anna Fali
1037Octavia R SchemmerFrance2024-06-24Truhlar And Truhlar Attys QUALIFIED37Ioni Bowcher
1038Ivar Z SergiBrazil2024-06-19Chanay, Jeffrey A Esq QUALIFIED83Xuxue Feng
1039Sinclair O WaycottRussia2024-06-13King, Christopher A Esq PROPOSAL44Asiya Javayant
1040Maisha L CaldareraItaly2024-06-22Commercial Press NEGOTIATION73Elwin Sharvill
1041Sinclair M RoysterJapan2024-06-13Morlong Associates UNQUALIFIED76Elwin Sharvill
1042Faith N AlbaresCanada2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED5Elwin Sharvill
1043Jefferson M SchemmerGermany2024-06-01Rousseaux, Michael Esq RENEWAL4Asiya Javayant
1044Tony L BriddickRussia2024-05-27Chapman, Ross E Esq RENEWAL94Amy Elsner
1045Octavia R GauchoFrance2024-06-14Chapman, Ross E Esq NEGOTIATION11Anna Fali
1046Johnson C MacleadArgentina2024-06-19Buckley Miller Wright QUALIFIED6Ioni Bowcher
1047Adams F PoquetteBrazil2024-05-26Printing Dimensions NEGOTIATION19Ioni Bowcher
1048James B CaudyIndia2024-05-28Chapman, Ross E Esq QUALIFIED34Amy Elsner
1049Ivar M PoquetteArgentina2024-06-02Commercial Press NEGOTIATION76Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Johnson T GillianCanadaElwin Sharvill RENEWAL
Wickens S VocelkaIndiaAnna Fali RENEWAL
Jefferson U FerenczFranceIoni Bowcher NEW
Faith A SergiBrazilIvan Magalhaes UNQUALIFIED
Julie P SlusarskiBrazilIvan Magalhaes NEGOTIATION
Sinclair Q AmigonItalyStephen Shaw UNQUALIFIED
Greenwood F CaudySpainElwin Sharvill NEGOTIATION
Deepesh N BowleyCanadaAnna Fali RENEWAL
Julie C CampainCanadaElwin Sharvill RENEWAL
Cody A GauchoGermanyBernardo Dominic PROPOSAL
David W MaletItalyXuxue Feng RENEWAL
Rodrigues H WhobreyRussiaXuxue Feng NEGOTIATION
Aika Y WieserIndiaStephen Shaw NEW
Ashley J FerenczCanadaAmy Elsner NEGOTIATION
Aditya A SchemmerGermanyAnna Fali QUALIFIED
Aika Q CaldareraRussiaBernardo Dominic UNQUALIFIED
Aruna F GauchoFranceElwin Sharvill QUALIFIED
Murillo Z NickaItalyIvan Magalhaes NEGOTIATION
Ashley J IturbideAustraliaIvan Magalhaes UNQUALIFIED
Smith Z BologniaFranceXuxue Feng QUALIFIED
Leja V WieserJapanStephen Shaw NEW
Murillo N DarakjySpainAsiya Javayant QUALIFIED
Ricardo Y AlbaresGermanyElwin Sharvill NEW
Octavia G BowleySpainAsiya Javayant QUALIFIED
Rodrigues L GillianJapanAnna Fali UNQUALIFIED
Munro R DilliardAustraliaIvan Magalhaes RENEWAL
Alejandro R OldroydSpainAsiya Javayant RENEWAL
Mujtaba R NickaIndiaIoni Bowcher NEW
James A CaldareraItalyAsiya Javayant QUALIFIED
Izzy V FigeroaBrazilOnyama Limba QUALIFIED
Morrow S AlbaresArgentinaAmy Elsner UNQUALIFIED
Johnson H MarrierFranceBernardo Dominic UNQUALIFIED
Jeanfrancois S BowleyArgentinaXuxue Feng UNQUALIFIED
Alejandro S CampainAustraliaElwin Sharvill PROPOSAL
Faith M NestleArgentinaAmy Elsner QUALIFIED
Aruna I SergiSpainIoni Bowcher RENEWAL
Nicolas O WaycottGermanyXuxue Feng RENEWAL
Deepesh K PaprockiUnited KingdomOnyama Limba NEW
Kadeem V MorascaUnited KingdomStephen Shaw PROPOSAL
Nicolas T PoquetteSpainXuxue Feng NEGOTIATION
Juan E CaldareraAustraliaAmy Elsner RENEWAL
Alejandro Y KolmetzRussiaAmy Elsner RENEWAL
Silvio W MarrierSpainBernardo Dominic NEGOTIATION
Darci Y NestleRussiaIoni Bowcher UNQUALIFIED
Ivar I DilliardBrazilIoni Bowcher RENEWAL
Faith E KuskoAustraliaIoni Bowcher RENEWAL
Salvatore N PoquetteJapanIvan Magalhaes PROPOSAL
Emily L MorascaIndiaXuxue Feng UNQUALIFIED
Izzy X MorascaArgentinaStephen Shaw NEGOTIATION
Emily S VocelkaArgentinaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Maisha W Stockham
Kadeem D Ferencz
David T Saylors
Claire D Kolmetz
Murillo Y Campain
Jefferson Z Ruta
Wickens X Saylors
Kadeem E Slusarski
Morrow W Royster
Maria R Whobrey
Clifford A Stockham
Cody V Butt
Antonio S Stenseth
Sinclair X Malet
Murillo J Ruta
Juan F Ruta
Rodrigues F Bolognia
Juan Z Rulapaugh
Salvatore C Marrier
James A Gillian
Kadeem Y Kolmetz
Silvio B Morasca
Tony Q Caudy
Aruna I Poquette
James S Caldarera
Antonio W Maclead
Murillo R Caudy
Kadeem Z Slusarski
Faith N Maclead
Wickens A Wieser
Sinclair T Wieser
Rodrigues D Saylors
Aika O Butt
Aika A Garufi
Smith T Foller
Izzy P Darakjy
Costa W Briddick
Misaki R Wieser
Alejandro V Malet
Johnson U Iturbide
Aika T Schemmer
Costa H Vocelka
Greenwood W Morasca
Isabel F Butt
James S Stenseth
Juan G Ostrosky
Aditya B Ruta
Isabel U Malet
Deepesh D Morasca
Tony A Waycott
IdCountryDate
1000Germany2024-06-07
1001Japan2024-06-09
1002Russia2024-06-01
1003Russia2024-06-07
1004Germany2024-05-26
1005Argentina2024-06-13
1006Brazil2024-06-06
1007Japan2024-05-30
1008Italy2024-06-18
1009Spain2024-06-20
1010Russia2024-05-30
1011Italy2024-05-29
1012Spain2024-05-26
1013Spain2024-06-20
1014United Kingdom2024-06-24
1015Brazil2024-05-31
1016Spain2024-06-19
1017Japan2024-06-11
1018Australia2024-05-30
1019Canada2024-06-13
1020Germany2024-05-26
1021France2024-06-10
1022Germany2024-05-30
1023United Kingdom2024-06-15
1024France2024-06-02
1025India2024-05-28
1026Brazil2024-06-05
1027Brazil2024-06-10
1028United Kingdom2024-06-18
1029Argentina2024-06-15
1030United Kingdom2024-06-22
1031India2024-05-26
1032Japan2024-06-11
1033India2024-06-22
1034Brazil2024-06-19
1035Spain2024-05-26
1036Australia2024-06-12
1037Brazil2024-06-11
1038Argentina2024-06-10
1039Australia2024-05-30
1040Japan2024-06-03
1041United Kingdom2024-06-02
1042Brazil2024-06-05
1043Australia2024-06-20
1044Spain2024-05-31
1045Argentina2024-05-26
1046Italy2024-06-05
1047Italy2024-06-16
1048Italy2024-06-09
1049Canada2024-06-02

On-Demand Data

NameIdCountryDate
Stacey R Paprocki1000Argentina2024-05-28
Jefferson L Wieser1001Canada2024-06-08
Jennifer S Ruta1002Japan2024-06-12
Ashley H Chui1003Italy2024-05-31
Adams J Sergi1004Japan2024-06-06
Greenwood C Rim1005Japan2024-06-14
Octavia X Bowley1006Australia2024-06-09
Jeanfrancois V Sergi1007India2024-06-11
Claire G Glick1008Argentina2024-06-12
Aditya O Nestle1009Spain2024-06-19
Adams G Inouye1010Germany2024-06-08
Morrow F Albares1011Brazil2024-05-30
Kadeem S Marrier1012Russia2024-06-23
Sinclair G Gaucho1013Spain2024-05-31
Ashley M Nestle1014Canada2024-06-01
Stacey J Vocelka1015Canada2024-06-15
Jefferson U Kusko1016Canada2024-06-02
Stacey S Foller1017Canada2024-05-27
Wickens A Kusko1018Brazil2024-06-01
Izzy C Slusarski1019Japan2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford H GlickJapanStephen Shaw NEGOTIATION
Maria G SergiItalyStephen Shaw QUALIFIED
Emily S CaldareraCanadaIoni Bowcher QUALIFIED
Leon A FlosiAustraliaOnyama Limba QUALIFIED
Clifford L RimAustraliaAsiya Javayant UNQUALIFIED
Mayumi B ShinkoGermanyXuxue Feng QUALIFIED
Silvio A VocelkaSpainXuxue Feng QUALIFIED
Maria X MorascaArgentinaElwin Sharvill NEGOTIATION
Costa T NickaCanadaStephen Shaw PROPOSAL
Murillo V AmigonArgentinaBernardo Dominic QUALIFIED
Octavia Q BowleyItalyStephen Shaw RENEWAL
Aika C ButtRussiaIvan Magalhaes PROPOSAL
Mujtaba E KolmetzFranceAnna Fali QUALIFIED
Greenwood N SlusarskiItalyAmy Elsner NEGOTIATION
Jones T SergiJapanXuxue Feng NEGOTIATION
Izzy B InouyeBrazilAnna Fali PROPOSAL
Munro F RutaArgentinaElwin Sharvill NEGOTIATION
Octavia Z GarufiSpainIoni Bowcher RENEWAL
Mayumi U MaletUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin Q KolmetzCanadaOnyama Limba PROPOSAL
Maisha J ShinkoBrazilIoni Bowcher PROPOSAL
Julie N VenereFranceXuxue Feng RENEWAL
Octavia D GillianCanadaAsiya Javayant PROPOSAL
Munro N CaudyFranceStephen Shaw UNQUALIFIED
Maria J BologniaBrazilXuxue Feng NEW
Arvin G MorascaAustraliaStephen Shaw NEGOTIATION
Chavez M DilliardAustraliaIvan Magalhaes UNQUALIFIED
Salvatore O BologniaBrazilAsiya Javayant NEW
Jefferson D OldroydArgentinaBernardo Dominic UNQUALIFIED
Mayumi X NickaArgentinaBernardo Dominic NEGOTIATION
Maisha B MaletIndiaAnna Fali RENEWAL
Munro S ShinkoIndiaBernardo Dominic RENEWAL
Aika B GauchoArgentinaOnyama Limba PROPOSAL
Adams P VenereAustraliaStephen Shaw RENEWAL
Nicolas M BowleyIndiaXuxue Feng PROPOSAL
Jefferson Y ChuiFranceStephen Shaw UNQUALIFIED
Nicolas V FollerRussiaOnyama Limba PROPOSAL
Cody L RoysterGermanyXuxue Feng QUALIFIED
Arvin V NickaAustraliaAnna Fali RENEWAL
Emily V ShinkoBrazilXuxue Feng UNQUALIFIED

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