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
Deepesh Q MorascaCanadaIoni Bowcher QUALIFIED
Wickens K WieserGermanyAnna Fali NEW
Greenwood S PerinAustraliaStephen Shaw PROPOSAL
Leon O RimJapanAsiya Javayant PROPOSAL
Stacey T GillianJapanOnyama Limba RENEWAL
Chavez V MaletUnited KingdomAmy Elsner NEW
Octavia I KuskoItalyAmy Elsner RENEWAL
Leja S SlusarskiAustraliaIoni Bowcher QUALIFIED
Aika D NestleIndiaElwin Sharvill PROPOSAL
Silvio W StockhamBrazilIvan Magalhaes QUALIFIED
Leon Y KolmetzRussiaElwin Sharvill RENEWAL
Mujtaba H NickaArgentinaAsiya Javayant UNQUALIFIED
Johnson A DilliardRussiaAsiya Javayant RENEWAL
Antonio U KuskoRussiaStephen Shaw NEW
Munro A KolmetzIndiaAnna Fali NEW
Francesco S FerenczJapanIvan Magalhaes NEW
Juan F BriddickArgentinaAnna Fali PROPOSAL
Tony L NestleRussiaStephen Shaw NEW
Jones T PerinFranceAmy Elsner UNQUALIFIED
Jennifer J VenereFranceAnna Fali RENEWAL
Julie D FerenczItalyOnyama Limba UNQUALIFIED
Aditya B WieserUnited KingdomIoni Bowcher UNQUALIFIED
Chavez N FollerItalyAsiya Javayant NEGOTIATION
Costa X WaycottRussiaOnyama Limba NEW
Julie X GillianJapanOnyama Limba RENEWAL
Smith B MorascaCanadaBernardo Dominic NEW
Ivar I MaletBrazilAnna Fali NEGOTIATION
Jones K PoquetteJapanAnna Fali NEW
Izzy J VenereRussiaIoni Bowcher QUALIFIED
Misaki A GarufiItalyBernardo Dominic NEW
Jefferson M PerinArgentinaIvan Magalhaes RENEWAL
Deepesh P CampainGermanyOnyama Limba RENEWAL
Mayumi Q VenereRussiaBernardo Dominic NEGOTIATION
Leon U FigeroaBrazilAnna Fali PROPOSAL
Murillo S BologniaBrazilElwin Sharvill QUALIFIED
Claire W DilliardFranceXuxue Feng RENEWAL
Arvin O RimFranceBernardo Dominic NEGOTIATION
Alejandro R WieserFranceIoni Bowcher PROPOSAL
Juan Z FollerFranceBernardo Dominic NEW
Jones I ChuiSpainIvan Magalhaes UNQUALIFIED
Claire O FlosiRussiaAnna Fali NEW
Costa A VocelkaBrazilXuxue Feng RENEWAL
Leja H KolmetzRussiaStephen Shaw NEGOTIATION
Silvio X PoquetteArgentinaElwin Sharvill RENEWAL
Greenwood F CampainRussiaIoni Bowcher PROPOSAL
Leja L FerenczBrazilAnna Fali NEGOTIATION
Francesco Q DilliardJapanIoni Bowcher QUALIFIED
Aika J PoquetteArgentinaIvan Magalhaes RENEWAL
Isabel H AlbaresFranceXuxue Feng PROPOSAL
Cody J PoquetteBrazilStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James O OstroskySpainAmy Elsner NEW
Misaki K KuskoGermanyOnyama Limba NEGOTIATION
Murillo Y RimIndiaAnna Fali NEGOTIATION
Chavez J ButtGermanyAmy Elsner UNQUALIFIED
Mayumi R ButtSpainIvan Magalhaes RENEWAL
Aruna B WieserBrazilAnna Fali QUALIFIED
Murillo S PerinGermanyXuxue Feng QUALIFIED
Silvio C RimItalyAmy Elsner NEGOTIATION
Murillo C InouyeItalyElwin Sharvill PROPOSAL
Aika Z PaprockiArgentinaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo P RulapaughItaly2024-06-16Printing Dimensions PROPOSAL37Bernardo Dominic
1001Arvin O OstroskyItaly2024-06-14Chemel, James L Cpa PROPOSAL58Ivan Magalhaes
1002Misaki G AmigonRussia2024-06-09Rousseaux, Michael Esq RENEWAL27Xuxue Feng
1003Mujtaba E GillianFrance2024-06-04Rousseaux, Michael Esq UNQUALIFIED11Elwin Sharvill
1004Isabel U VocelkaGermany2024-05-27Dorl, James J Esq RENEWAL54Bernardo Dominic
1005Octavia U TollnerAustralia2024-06-04Dorl, James J Esq NEGOTIATION97Bernardo Dominic
1006Stacey M StensethArgentina2024-06-08Commercial Press UNQUALIFIED82Stephen Shaw
1007Arvin E PaprockiUnited Kingdom2024-05-30Buckley Miller Wright UNQUALIFIED21Amy Elsner
1008Mujtaba R AlbaresFrance2024-06-16Feltz Printing Service RENEWAL74Ivan Magalhaes
1009Aruna A MorascaGermany2024-05-27Chanay, Jeffrey A Esq PROPOSAL51Amy Elsner
1010Misaki U InouyeFrance2024-06-06Chapman, Ross E Esq RENEWAL69Asiya Javayant
1011Aditya K DilliardSpain2024-06-05Buckley Miller Wright NEW64Elwin Sharvill
1012Sinclair G DarakjyJapan2024-06-10Truhlar And Truhlar Attys NEW68Stephen Shaw
1013Ricardo M InouyeFrance2024-05-28Truhlar And Truhlar Attys UNQUALIFIED34Amy Elsner
1014Murillo H DoeBrazil2024-06-03Chapman, Ross E Esq PROPOSAL56Stephen Shaw
1015Adams Y GillianItaly2024-06-17Chemel, James L Cpa PROPOSAL89Asiya Javayant
1016Ivar Q DoeRussia2024-06-03Chemel, James L Cpa NEGOTIATION22Stephen Shaw
1017Antonio M GlickAustralia2024-05-31Commercial Press QUALIFIED96Xuxue Feng
1018Nicolas N DoeFrance2024-06-24Chanay, Jeffrey A Esq RENEWAL79Anna Fali
1019Ricardo I FlosiCanada2024-05-29Rangoni Of Florence UNQUALIFIED61Stephen Shaw
1020Francesco D TollnerUnited Kingdom2024-06-17Feltz Printing Service QUALIFIED14Ivan Magalhaes
1021Deepesh S PaprockiFrance2024-06-09King, Christopher A Esq NEGOTIATION5Amy Elsner
1022Salvatore B SlusarskiRussia2024-05-26King, Christopher A Esq QUALIFIED94Anna Fali
1023Jeanfrancois L FlosiIndia2024-06-20Printing Dimensions NEW89Ioni Bowcher
1024Kadeem E BowleyIndia2024-06-24Chapman, Ross E Esq RENEWAL5Ioni Bowcher
1025Greenwood Y OldroydItaly2024-06-08Rangoni Of Florence NEGOTIATION63Ivan Magalhaes
1026Stacey L KuskoAustralia2024-05-30Feltz Printing Service RENEWAL25Ioni Bowcher
1027Aditya X DilliardUnited Kingdom2024-06-07Benton, John B Jr RENEWAL67Onyama Limba
1028Munro V OstroskyJapan2024-06-04Benton, John B Jr PROPOSAL35Asiya Javayant
1029David B SchemmerGermany2024-06-24Chemel, James L Cpa NEW42Stephen Shaw
1030Jeanfrancois C StensethCanada2024-06-06Benton, John B Jr RENEWAL21Ioni Bowcher
1031Antonio E GauchoArgentina2024-05-31King, Christopher A Esq PROPOSAL9Amy Elsner
1032Cody F DoeUnited Kingdom2024-05-27Dorl, James J Esq RENEWAL93Ivan Magalhaes
1033Adams A BowleyJapan2024-06-01Commercial Press PROPOSAL17Ivan Magalhaes
1034Arvin C MarrierRussia2024-06-01Morlong Associates PROPOSAL11Asiya Javayant
1035Jennifer L FlosiItaly2024-05-26Morlong Associates QUALIFIED6Stephen Shaw
1036Francesco K SaylorsJapan2024-05-31Dorl, James J Esq QUALIFIED21Anna Fali
1037Ivar G DilliardCanada2024-06-23Commercial Press QUALIFIED46Asiya Javayant
1038Murillo R PerinSpain2024-05-31Feltz Printing Service NEGOTIATION37Stephen Shaw
1039Julie K KolmetzSpain2024-06-01Chapman, Ross E Esq RENEWAL82Amy Elsner
1040Antonio N CampainBrazil2024-06-05Printing Dimensions QUALIFIED16Xuxue Feng
1041Arvin P NickaItaly2024-06-21Truhlar And Truhlar Attys PROPOSAL10Xuxue Feng
1042Tony G WieserIndia2024-05-31Feltz Printing Service NEGOTIATION28Amy Elsner
1043Silvio M VenereItaly2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED26Ioni Bowcher
1044James F CampainSpain2024-06-09Printing Dimensions RENEWAL70Ivan Magalhaes
1045Arvin V GlickSpain2024-06-08Buckley Miller Wright NEW78Amy Elsner
1046Alejandro U NestleItaly2024-06-09Rangoni Of Florence NEGOTIATION22Anna Fali
1047Johnson S WaycottArgentina2024-06-02Rousseaux, Michael Esq UNQUALIFIED45Onyama Limba
1048Murillo E PoquetteRussia2024-06-19Truhlar And Truhlar Attys NEW84Stephen Shaw
1049Ashley Q BologniaCanada2024-06-03Rangoni Of Florence UNQUALIFIED2Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo J RutaFranceIvan Magalhaes RENEWAL
Munro C BriddickCanadaIoni Bowcher UNQUALIFIED
Maisha K AmigonGermanyOnyama Limba UNQUALIFIED
Antonio T PoquetteIndiaElwin Sharvill PROPOSAL
Morrow F StensethUnited KingdomElwin Sharvill PROPOSAL
Mayumi Y RutaUnited KingdomBernardo Dominic NEW
Jeanfrancois G DarakjyBrazilOnyama Limba QUALIFIED
Rodrigues G BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Aditya K KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Misaki A MaletSpainElwin Sharvill RENEWAL
Jefferson Z InouyeBrazilElwin Sharvill NEGOTIATION
Francesco G CampainArgentinaAmy Elsner UNQUALIFIED
Jennifer V TollnerAustraliaAsiya Javayant NEW
Octavia M AlbaresAustraliaAmy Elsner QUALIFIED
Wickens F ChuiCanadaIoni Bowcher UNQUALIFIED
Cody D IturbideUnited KingdomBernardo Dominic PROPOSAL
Faith R SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Jones W NickaGermanyStephen Shaw UNQUALIFIED
Ivar J FollerItalyIoni Bowcher RENEWAL
David Y CaldareraGermanyIoni Bowcher NEGOTIATION
Kaitlin G WhobreyJapanAsiya Javayant PROPOSAL
Cody S GlickFranceIvan Magalhaes NEGOTIATION
Salvatore T SchemmerFranceAnna Fali RENEWAL
Izzy G OldroydUnited KingdomXuxue Feng NEGOTIATION
Ivar V AmigonArgentinaAsiya Javayant RENEWAL
Misaki O GillianSpainIvan Magalhaes NEW
Juan K DarakjyGermanyIoni Bowcher UNQUALIFIED
Aruna Q FlosiBrazilElwin Sharvill NEW
Aditya W MorascaItalyOnyama Limba QUALIFIED
Alejandro Z KuskoAustraliaStephen Shaw PROPOSAL
Leon B CampainItalyAnna Fali RENEWAL
Jennifer W CaudySpainAnna Fali UNQUALIFIED
Leon W PoquetteJapanStephen Shaw NEGOTIATION
Cody N RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Julie N ChuiRussiaXuxue Feng UNQUALIFIED
Ricardo J BowleyArgentinaBernardo Dominic UNQUALIFIED
Smith P RulapaughIndiaXuxue Feng PROPOSAL
Aruna M GlickBrazilStephen Shaw QUALIFIED
Julie F KolmetzCanadaIoni Bowcher NEW
Isabel E KolmetzIndiaOnyama Limba PROPOSAL
Wickens U SergiItalyAnna Fali RENEWAL
Ricardo F CaudyArgentinaAsiya Javayant PROPOSAL
Arvin L GarufiAustraliaAsiya Javayant UNQUALIFIED
Smith Q ButtRussiaElwin Sharvill NEW
Alejandro P MacleadAustraliaIvan Magalhaes UNQUALIFIED
Ivar U MarrierSpainIoni Bowcher UNQUALIFIED
Stacey N InouyeCanadaStephen Shaw QUALIFIED
Munro T FerenczRussiaAnna Fali RENEWAL
Julie L CampainGermanyOnyama Limba QUALIFIED
Aika N BowleyUnited KingdomAmy Elsner RENEWAL
Frozen Columns
Name
Darci K Campain
Emily U Ruta
Aruna P Marrier
Salvatore Z Ostrosky
Alejandro N Maclead
Morrow G Vocelka
Misaki U Iturbide
Ricardo L Foller
Kadeem Z Saylors
Greenwood V Tollner
Maisha O Sergi
Isabel A Slusarski
Kadeem D Schemmer
Morrow U Tollner
Cody A Venere
Ricardo P Saylors
Arvin C Saylors
Julie W Saylors
Wickens X Campain
Mayumi H Stenseth
Kadeem P Gaucho
Mayumi H Inouye
Kaitlin K Caldarera
Arvin A Caldarera
Mujtaba F Doe
Juan N Wieser
Jones J Shinko
Ashley G Royster
Julie P Ferencz
Julie S Butt
Adams Q Figeroa
Ricardo X Garufi
Misaki S Inouye
Aditya G Kusko
Julie J Paprocki
Darci B Garufi
Stacey K Inouye
Tony U Ruta
Juan J Ferencz
Mujtaba Q Inouye
Julie K Nicka
Octavia K Sergi
Maisha O Figeroa
Emily F Caudy
Antonio D Wieser
Mayumi E Whobrey
Claire F Glick
Stacey V Malet
Kadeem E Bowley
Alejandro D Venere
IdCountryDate
1000Argentina2024-06-14
1001Brazil2024-06-21
1002Canada2024-06-06
1003Italy2024-06-15
1004Australia2024-06-14
1005Germany2024-05-27
1006Spain2024-06-24
1007India2024-06-12
1008Germany2024-06-05
1009India2024-05-31
1010Spain2024-05-30
1011Brazil2024-06-22
1012France2024-06-09
1013Russia2024-06-15
1014Spain2024-06-04
1015Australia2024-06-23
1016Argentina2024-06-16
1017Germany2024-06-12
1018Argentina2024-06-19
1019Germany2024-06-07
1020Japan2024-06-16
1021France2024-06-07
1022Italy2024-06-23
1023Canada2024-05-27
1024Canada2024-06-22
1025Russia2024-06-12
1026Italy2024-06-22
1027Japan2024-06-24
1028Japan2024-06-12
1029India2024-06-21
1030Australia2024-06-02
1031France2024-05-26
1032Australia2024-06-13
1033Australia2024-06-02
1034Australia2024-06-13
1035Japan2024-06-05
1036Italy2024-06-08
1037France2024-06-02
1038India2024-06-17
1039Canada2024-06-22
1040United Kingdom2024-05-26
1041Canada2024-06-24
1042Spain2024-06-14
1043Germany2024-06-09
1044Brazil2024-06-24
1045Australia2024-06-22
1046France2024-06-24
1047United Kingdom2024-05-28
1048Germany2024-05-26
1049Canada2024-05-31

On-Demand Data

NameIdCountryDate
Chavez L Rim1000Spain2024-06-03
Aruna O Darakjy1001Germany2024-06-10
Chavez Q Figeroa1002Australia2024-06-15
Leon V Nestle1003Canada2024-06-24
Adams C Saylors1004Germany2024-06-21
Aditya P Doe1005Argentina2024-06-03
Isabel Q Doe1006Australia2024-06-02
Sinclair A Iturbide1007Canada2024-06-22
Octavia V Whobrey1008Brazil2024-06-02
Claire L Gaucho1009Italy2024-06-09
Greenwood X Sergi1010Australia2024-06-02
Maisha E Briddick1011Japan2024-05-26
Adams W Venere1012India2024-06-05
Mujtaba A Slusarski1013France2024-06-14
Deepesh C Tollner1014Argentina2024-06-08
Costa Q Poquette1015Italy2024-06-07
Stacey T Glick1016Germany2024-06-18
Leon J Kusko1017Argentina2024-06-23
Silvio L Inouye1018India2024-05-31
Aika Y Dilliard1019Argentina2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Z ShinkoRussiaOnyama Limba UNQUALIFIED
Ivar R CaudySpainStephen Shaw RENEWAL
Aika G MaletRussiaStephen Shaw RENEWAL
Rodrigues T OldroydArgentinaIvan Magalhaes UNQUALIFIED
Cody X DoeFranceIoni Bowcher QUALIFIED
Chavez R SergiBrazilAnna Fali NEW
Isabel I NestleIndiaIvan Magalhaes UNQUALIFIED
David E FigeroaRussiaIvan Magalhaes QUALIFIED
Silvio U SergiGermanyElwin Sharvill PROPOSAL
David Y TollnerArgentinaBernardo Dominic PROPOSAL
Francesco L RulapaughSpainAmy Elsner PROPOSAL
Tony S StockhamJapanAmy Elsner UNQUALIFIED
James F DilliardArgentinaAmy Elsner QUALIFIED
Izzy P GauchoUnited KingdomStephen Shaw UNQUALIFIED
Leon P MarrierIndiaOnyama Limba QUALIFIED
Adams D DoeSpainAsiya Javayant QUALIFIED
Nicolas U BriddickIndiaXuxue Feng PROPOSAL
Wickens N DoeSpainAnna Fali NEGOTIATION
Alejandro S WhobreyBrazilOnyama Limba PROPOSAL
Aika B ShinkoSpainElwin Sharvill QUALIFIED
Ashley Q IturbideRussiaAmy Elsner RENEWAL
Nicolas J MorascaItalyAmy Elsner PROPOSAL
Francesco T ChuiRussiaIoni Bowcher PROPOSAL
Emily P MarrierItalyAmy Elsner NEGOTIATION
Sinclair W StockhamAustraliaOnyama Limba NEW
James E CaldareraRussiaOnyama Limba RENEWAL
Juan C PerinAustraliaElwin Sharvill QUALIFIED
Jones H GauchoItalyElwin Sharvill RENEWAL
Morrow Z GarufiSpainBernardo Dominic NEW
Ricardo J SaylorsUnited KingdomIoni Bowcher QUALIFIED
Jefferson N StensethRussiaElwin Sharvill QUALIFIED
Octavia M PoquetteArgentinaAmy Elsner PROPOSAL
Maisha E CaudyFranceAnna Fali QUALIFIED
Darci B WaycottBrazilBernardo Dominic RENEWAL
Mayumi L BriddickUnited KingdomXuxue Feng QUALIFIED
Silvio M KuskoItalyIoni Bowcher RENEWAL
David M VenereArgentinaStephen Shaw PROPOSAL
Wickens T MacleadIndiaXuxue Feng NEGOTIATION
Kadeem E InouyeRussiaAsiya Javayant RENEWAL
Izzy W MarrierArgentinaAsiya Javayant QUALIFIED

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