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
David N ChuiUnited KingdomAsiya Javayant QUALIFIED
Nicolas Z SaylorsGermanyIvan Magalhaes PROPOSAL
Juan W RimRussiaAnna Fali NEGOTIATION
Clifford Q InouyeFranceXuxue Feng NEGOTIATION
Deepesh L CaldareraCanadaXuxue Feng RENEWAL
Clifford C WhobreyAustraliaXuxue Feng PROPOSAL
Izzy S BowleySpainIoni Bowcher QUALIFIED
Kaitlin A GlickArgentinaIvan Magalhaes NEW
Ashley N FigeroaArgentinaStephen Shaw RENEWAL
Deepesh U DoeRussiaAsiya Javayant QUALIFIED
Antonio M InouyeSpainAsiya Javayant RENEWAL
Sinclair U MaletItalyAnna Fali PROPOSAL
Maisha U CampainArgentinaStephen Shaw NEGOTIATION
Misaki K GarufiAustraliaAmy Elsner RENEWAL
Rodrigues C NickaSpainElwin Sharvill RENEWAL
Smith S RutaItalyOnyama Limba NEGOTIATION
Darci A WieserCanadaIvan Magalhaes NEW
Aika P TollnerFranceXuxue Feng QUALIFIED
Kaitlin J NickaArgentinaIvan Magalhaes PROPOSAL
Tony L WieserItalyXuxue Feng PROPOSAL
Kaitlin H DoeArgentinaIvan Magalhaes NEGOTIATION
Misaki D InouyeSpainStephen Shaw NEW
Izzy R MacleadAustraliaOnyama Limba NEGOTIATION
Octavia O NestleFranceOnyama Limba NEGOTIATION
Octavia T WhobreyIndiaIvan Magalhaes QUALIFIED
Costa K BowleyRussiaOnyama Limba RENEWAL
Maria G MacleadUnited KingdomOnyama Limba NEGOTIATION
Clifford U MarrierFranceIoni Bowcher RENEWAL
David X StensethAustraliaElwin Sharvill PROPOSAL
Jefferson J MaletGermanyIvan Magalhaes NEGOTIATION
Costa K OstroskySpainIoni Bowcher NEGOTIATION
Kadeem X MacleadSpainStephen Shaw RENEWAL
Kaitlin Z ChuiItalyAnna Fali NEGOTIATION
Emily M DilliardFranceElwin Sharvill QUALIFIED
Deepesh E ChuiSpainElwin Sharvill RENEWAL
Mujtaba M WhobreyCanadaStephen Shaw NEGOTIATION
Ivar I OstroskyArgentinaBernardo Dominic QUALIFIED
Jefferson Z BowleyBrazilXuxue Feng RENEWAL
Juan X BologniaAustraliaElwin Sharvill NEW
David G OstroskyRussiaAnna Fali UNQUALIFIED
Jones Y GlickItalyElwin Sharvill QUALIFIED
Nicolas R GarufiGermanyBernardo Dominic RENEWAL
Izzy O AmigonCanadaIvan Magalhaes NEGOTIATION
Antonio H VenereCanadaAnna Fali UNQUALIFIED
Greenwood L MaletAustraliaIvan Magalhaes PROPOSAL
Kaitlin N FigeroaRussiaAmy Elsner NEGOTIATION
Maisha K CampainJapanIvan Magalhaes UNQUALIFIED
Jefferson A StockhamAustraliaElwin Sharvill PROPOSAL
Francesco C MarrierGermanyAsiya Javayant NEW
David D CaldareraFranceElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley D MacleadCanadaAsiya Javayant RENEWAL
Aika K FlosiSpainAmy Elsner RENEWAL
Wickens Q WhobreyFranceOnyama Limba UNQUALIFIED
Kadeem O AmigonSpainAsiya Javayant PROPOSAL
Wickens U PerinUnited KingdomAsiya Javayant UNQUALIFIED
Claire J TollnerBrazilAnna Fali NEGOTIATION
Clifford W SlusarskiRussiaElwin Sharvill QUALIFIED
Smith W CampainIndiaXuxue Feng NEGOTIATION
Johnson Q SaylorsAustraliaAsiya Javayant NEGOTIATION
Ivar F TollnerJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh Z TollnerIndia2024-06-17Buckley Miller Wright RENEWAL47Asiya Javayant
1001James Q NickaJapan2024-06-03Truhlar And Truhlar Attys PROPOSAL31Onyama Limba
1002Darci H GlickIndia2024-06-08Truhlar And Truhlar Attys NEGOTIATION28Ivan Magalhaes
1003Ivar O AlbaresUnited Kingdom2024-05-25King, Christopher A Esq QUALIFIED3Bernardo Dominic
1004Salvatore W NickaArgentina2024-06-06Feltz Printing Service QUALIFIED27Amy Elsner
1005Stacey A SergiBrazil2024-06-13Benton, John B Jr UNQUALIFIED97Amy Elsner
1006Maisha Y SaylorsGermany2024-06-22Benton, John B Jr NEW14Ioni Bowcher
1007Isabel L WieserCanada2024-06-07Rangoni Of Florence NEGOTIATION0Xuxue Feng
1008Alejandro Q MacleadSpain2024-06-02Dorl, James J Esq UNQUALIFIED19Anna Fali
1009Adams U OldroydFrance2024-06-14Dorl, James J Esq RENEWAL93Anna Fali
1010Misaki Q CaudyAustralia2024-06-03Truhlar And Truhlar Attys RENEWAL32Anna Fali
1011Morrow X AlbaresAustralia2024-06-05Rousseaux, Michael Esq NEGOTIATION22Anna Fali
1012Costa E OldroydBrazil2024-06-20Dorl, James J Esq NEW29Anna Fali
1013Morrow O IturbideArgentina2024-05-31Printing Dimensions PROPOSAL52Onyama Limba
1014Mujtaba S OstroskyGermany2024-06-01Morlong Associates RENEWAL74Asiya Javayant
1015Costa P CampainFrance2024-05-26Feltz Printing Service NEW77Stephen Shaw
1016Munro F PerinBrazil2024-06-10Rousseaux, Michael Esq UNQUALIFIED61Stephen Shaw
1017Wickens C GauchoGermany2024-06-15Rangoni Of Florence UNQUALIFIED73Amy Elsner
1018Jones R ShinkoCanada2024-06-01Benton, John B Jr UNQUALIFIED99Bernardo Dominic
1019Sinclair Z FlosiFrance2024-06-10Feiner Bros NEW3Ivan Magalhaes
1020James O SchemmerSpain2024-05-25Dorl, James J Esq UNQUALIFIED28Ioni Bowcher
1021Johnson M AlbaresCanada2024-06-13Truhlar And Truhlar Attys UNQUALIFIED2Stephen Shaw
1022Rodrigues Q PerinBrazil2024-06-10Dorl, James J Esq NEGOTIATION59Ivan Magalhaes
1023Johnson D WieserSpain2024-06-11Truhlar And Truhlar Attys QUALIFIED63Stephen Shaw
1024Kadeem D DarakjyIndia2024-06-19Buckley Miller Wright NEW29Ivan Magalhaes
1025Ashley J ButtCanada2024-06-15Chemel, James L Cpa NEGOTIATION91Stephen Shaw
1026Munro Y GauchoItaly2024-05-31Rousseaux, Michael Esq QUALIFIED69Ivan Magalhaes
1027Nicolas H CampainGermany2024-06-06Dorl, James J Esq UNQUALIFIED79Stephen Shaw
1028Mujtaba J DoeIndia2024-06-15Chemel, James L Cpa PROPOSAL46Elwin Sharvill
1029Nicolas L RoysterUnited Kingdom2024-06-07Morlong Associates QUALIFIED6Onyama Limba
1030Mujtaba B CaldareraArgentina2024-06-22Commercial Press PROPOSAL11Stephen Shaw
1031Isabel K KuskoIndia2024-06-05Printing Dimensions RENEWAL66Amy Elsner
1032Maria B RulapaughRussia2024-06-19Commercial Press PROPOSAL6Bernardo Dominic
1033Adams S RimRussia2024-06-10Rangoni Of Florence RENEWAL27Ivan Magalhaes
1034Octavia A StensethGermany2024-06-21Chemel, James L Cpa RENEWAL60Anna Fali
1035Isabel V WieserUnited Kingdom2024-05-24Chanay, Jeffrey A Esq RENEWAL49Ioni Bowcher
1036James G StensethCanada2024-06-13Truhlar And Truhlar Attys NEW70Anna Fali
1037Ashley J FerenczArgentina2024-05-26Chapman, Ross E Esq RENEWAL56Bernardo Dominic
1038Izzy T ShinkoFrance2024-06-09Dorl, James J Esq UNQUALIFIED3Xuxue Feng
1039Salvatore R MaletRussia2024-05-31Dorl, James J Esq QUALIFIED68Asiya Javayant
1040Rodrigues N PoquetteFrance2024-06-12Rangoni Of Florence UNQUALIFIED6Bernardo Dominic
1041Izzy D WieserUnited Kingdom2024-06-06Feltz Printing Service RENEWAL74Xuxue Feng
1042Antonio M InouyeGermany2024-06-12Dorl, James J Esq RENEWAL72Anna Fali
1043Johnson G WieserArgentina2024-05-27Morlong Associates NEW63Amy Elsner
1044Jennifer C SlusarskiAustralia2024-06-06Morlong Associates QUALIFIED50Amy Elsner
1045Aditya G RimJapan2024-05-29Printing Dimensions NEW29Bernardo Dominic
1046Munro W CaldareraItaly2024-06-14Buckley Miller Wright NEGOTIATION85Onyama Limba
1047Nicolas W OstroskyGermany2024-05-31Buckley Miller Wright PROPOSAL58Ivan Magalhaes
1048Chavez A IturbideFrance2024-05-28Truhlar And Truhlar Attys NEGOTIATION14Xuxue Feng
1049Aruna Y WieserUnited Kingdom2024-06-13Rangoni Of Florence PROPOSAL18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
David J FerenczSpainIvan Magalhaes NEGOTIATION
Munro J MacleadFranceIvan Magalhaes PROPOSAL
Aruna O SlusarskiJapanBernardo Dominic PROPOSAL
Isabel S DarakjyRussiaIoni Bowcher RENEWAL
Aika S CampainFranceStephen Shaw NEGOTIATION
James G SchemmerGermanyAnna Fali NEGOTIATION
Munro S BriddickArgentinaIoni Bowcher UNQUALIFIED
David Z StockhamAustraliaIoni Bowcher PROPOSAL
Faith X SergiUnited KingdomStephen Shaw NEW
Juan C KuskoBrazilAnna Fali UNQUALIFIED
David N DilliardRussiaIoni Bowcher UNQUALIFIED
Greenwood L NestleBrazilStephen Shaw NEW
Maisha Y VenereBrazilStephen Shaw PROPOSAL
Leon E RulapaughRussiaIvan Magalhaes QUALIFIED
Smith T FigeroaUnited KingdomElwin Sharvill QUALIFIED
Darci E FerenczItalyAnna Fali NEW
Alejandro V WieserGermanyElwin Sharvill NEGOTIATION
Misaki C SchemmerIndiaAnna Fali QUALIFIED
Stacey E RulapaughGermanyAmy Elsner NEW
Aika J DoeJapanAmy Elsner QUALIFIED
James T BowleyRussiaStephen Shaw RENEWAL
Isabel J WhobreySpainIoni Bowcher QUALIFIED
Jefferson I VenereFranceBernardo Dominic UNQUALIFIED
Salvatore X MarrierUnited KingdomAmy Elsner NEW
Costa E GarufiCanadaAnna Fali QUALIFIED
Greenwood U NickaRussiaStephen Shaw UNQUALIFIED
David V ChuiRussiaBernardo Dominic PROPOSAL
Jones Y BriddickFranceAnna Fali UNQUALIFIED
Munro M KuskoUnited KingdomOnyama Limba PROPOSAL
Antonio X GillianBrazilIoni Bowcher RENEWAL
Munro O SaylorsSpainXuxue Feng QUALIFIED
Jefferson R GauchoArgentinaAmy Elsner NEW
Ivar W DoeAustraliaIvan Magalhaes PROPOSAL
Octavia P RutaAustraliaStephen Shaw PROPOSAL
Ashley G FerenczRussiaAnna Fali UNQUALIFIED
Nicolas Q SaylorsFranceElwin Sharvill RENEWAL
Smith P DoeUnited KingdomXuxue Feng UNQUALIFIED
Juan M GarufiBrazilAsiya Javayant NEGOTIATION
Morrow D WhobreyArgentinaIvan Magalhaes QUALIFIED
Murillo B BologniaFranceStephen Shaw PROPOSAL
James V PoquetteUnited KingdomStephen Shaw RENEWAL
Jennifer W FerenczRussiaBernardo Dominic NEGOTIATION
Mujtaba X AlbaresFranceIvan Magalhaes PROPOSAL
James K InouyeGermanyXuxue Feng NEGOTIATION
Leja O MaletArgentinaAmy Elsner QUALIFIED
Jennifer M BriddickJapanOnyama Limba NEW
Cody X NickaJapanIoni Bowcher RENEWAL
Ivar Z MarrierArgentinaXuxue Feng PROPOSAL
Costa D AmigonFranceOnyama Limba PROPOSAL
Kadeem I FollerBrazilAsiya Javayant NEW
Frozen Columns
Name
Jones Z Kolmetz
Alejandro W Nestle
Johnson N Rim
Juan F Oldroyd
Jeanfrancois R Stenseth
Kaitlin T Kusko
Alejandro M Bolognia
Isabel J Campain
Jones S Oldroyd
Deepesh D Gaucho
Leja T Slusarski
Emily C Caudy
Munro H Rulapaugh
Juan Z Ruta
Leon S Kusko
Murillo O Nicka
Adams U Rim
Octavia I Figeroa
Morrow U Schemmer
Leon V Flosi
Kadeem G Ostrosky
Smith A Briddick
Aditya Y Waycott
Leja B Albares
Maria A Caudy
Emily F Maclead
Antonio O Slusarski
Jefferson P Flosi
Mayumi Q Caldarera
Deepesh H Stenseth
Murillo M Caudy
Munro G Paprocki
Costa N Shinko
Kaitlin V Darakjy
Wickens D Flosi
Mayumi N Flosi
Kaitlin S Royster
Jennifer N Paprocki
Salvatore K Shinko
Claire L Iturbide
Kaitlin F Flosi
Leon V Chui
Murillo H Amigon
Nicolas D Royster
Leja D Kusko
Chavez A Caldarera
Octavia W Wieser
Claire O Venere
Izzy R Malet
Aruna L Oldroyd
IdCountryDate
1000Brazil2024-06-04
1001Japan2024-05-29
1002Germany2024-06-14
1003India2024-05-28
1004Russia2024-06-13
1005Japan2024-06-07
1006Japan2024-06-05
1007France2024-05-24
1008United Kingdom2024-05-27
1009India2024-06-04
1010Spain2024-05-24
1011Germany2024-06-03
1012Brazil2024-06-21
1013Australia2024-06-13
1014Argentina2024-05-24
1015Italy2024-06-11
1016Brazil2024-06-22
1017Canada2024-06-09
1018Brazil2024-06-05
1019India2024-06-03
1020Spain2024-06-04
1021Brazil2024-06-22
1022Japan2024-05-28
1023Italy2024-06-04
1024Germany2024-06-06
1025Japan2024-06-21
1026Japan2024-06-20
1027Russia2024-06-08
1028Italy2024-06-15
1029Russia2024-06-10
1030India2024-06-07
1031United Kingdom2024-06-16
1032India2024-06-17
1033Italy2024-06-19
1034Russia2024-05-26
1035Australia2024-06-18
1036India2024-05-28
1037Russia2024-06-03
1038United Kingdom2024-06-16
1039France2024-06-09
1040Brazil2024-06-13
1041Japan2024-06-05
1042Germany2024-06-15
1043France2024-06-09
1044Spain2024-06-14
1045Canada2024-06-11
1046Argentina2024-05-28
1047Italy2024-06-13
1048Canada2024-06-07
1049Italy2024-06-04

On-Demand Data

NameIdCountryDate
Julie J Perin1000Italy2024-06-12
Greenwood U Doe1001France2024-06-01
Misaki F Poquette1002Australia2024-06-16
Maisha P Bolognia1003United Kingdom2024-06-03
Aika T Whobrey1004Argentina2024-05-25
Leon M Campain1005Canada2024-06-04
Kadeem V Oldroyd1006Australia2024-05-27
Salvatore D Malet1007India2024-05-28
Juan K Vocelka1008Argentina2024-06-10
Chavez V Kolmetz1009Japan2024-06-01
Aruna O Bowley1010Russia2024-06-13
Stacey Y Kolmetz1011India2024-06-03
Murillo A Vocelka1012Brazil2024-06-10
Claire N Gaucho1013Italy2024-06-13
Izzy U Iturbide1014Russia2024-06-04
Costa G Rim1015Australia2024-06-20
David A Tollner1016Spain2024-06-19
Misaki L Darakjy1017Australia2024-06-12
Cody D Schemmer1018Italy2024-06-11
Emily W Stenseth1019Italy2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin X FlosiRussiaBernardo Dominic PROPOSAL
Munro P MaletJapanXuxue Feng QUALIFIED
Greenwood U WhobreyRussiaOnyama Limba NEGOTIATION
Costa L KolmetzCanadaAsiya Javayant UNQUALIFIED
Isabel F GlickBrazilIoni Bowcher NEGOTIATION
Jones T KolmetzFranceBernardo Dominic PROPOSAL
Sinclair L PoquetteJapanOnyama Limba NEW
James Z NestleAustraliaAnna Fali RENEWAL
Leja D TollnerBrazilElwin Sharvill UNQUALIFIED
Aruna Y AlbaresItalyStephen Shaw QUALIFIED
Cody W TollnerUnited KingdomIoni Bowcher QUALIFIED
Murillo L WieserIndiaOnyama Limba NEW
Faith B CampainAustraliaAnna Fali PROPOSAL
Maisha Z BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Izzy J RutaJapanStephen Shaw NEW
Jefferson O DarakjyUnited KingdomOnyama Limba PROPOSAL
Mayumi Y ShinkoCanadaOnyama Limba NEW
Murillo D NickaSpainStephen Shaw NEGOTIATION
Ivar F CampainAustraliaBernardo Dominic NEW
Nicolas L WaycottAustraliaStephen Shaw QUALIFIED
Jennifer A NestleIndiaElwin Sharvill NEGOTIATION
Aruna K MorascaArgentinaAmy Elsner PROPOSAL
James H NickaBrazilBernardo Dominic PROPOSAL
Clifford G GauchoItalyOnyama Limba UNQUALIFIED
Maria L MaletFranceXuxue Feng QUALIFIED
Deepesh X BowleyJapanStephen Shaw NEW
Murillo A BowleyCanadaAmy Elsner PROPOSAL
Johnson G MorascaFranceAsiya Javayant RENEWAL
Chavez K StockhamJapanStephen Shaw UNQUALIFIED
Aika B NestleSpainXuxue Feng RENEWAL
Ashley V GillianGermanyAnna Fali UNQUALIFIED
Francesco T ShinkoItalyXuxue Feng UNQUALIFIED
Salvatore X StensethSpainElwin Sharvill QUALIFIED
Adams A ChuiIndiaAmy Elsner RENEWAL
Rodrigues X RutaCanadaAmy Elsner RENEWAL
Juan Q PoquetteAustraliaOnyama Limba UNQUALIFIED
Claire I TollnerIndiaIvan Magalhaes NEGOTIATION
Mayumi S DarakjyRussiaIvan Magalhaes UNQUALIFIED
Tony X NickaSpainAsiya Javayant NEW
Octavia G MaletRussiaIvan Magalhaes 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>