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
Isabel F DoeGermanyOnyama Limba NEGOTIATION
Costa Q MorascaArgentinaBernardo Dominic UNQUALIFIED
Adams M ButtBrazilXuxue Feng QUALIFIED
Jennifer M WieserJapanElwin Sharvill NEW
Jones X VenereRussiaBernardo Dominic PROPOSAL
Julie M RulapaughSpainElwin Sharvill UNQUALIFIED
Faith B VenereSpainAnna Fali RENEWAL
Mayumi S FerenczArgentinaBernardo Dominic NEW
Salvatore Q InouyeRussiaAsiya Javayant UNQUALIFIED
Ashley N WhobreyIndiaIoni Bowcher NEGOTIATION
Jefferson Y PoquetteRussiaAnna Fali NEW
Johnson Y OstroskyCanadaIvan Magalhaes NEW
Leon G CaudyRussiaIvan Magalhaes NEW
Alejandro U StockhamUnited KingdomElwin Sharvill QUALIFIED
Kadeem S FlosiGermanyBernardo Dominic NEGOTIATION
Johnson T BologniaRussiaAnna Fali NEGOTIATION
Wickens V GarufiCanadaIoni Bowcher NEGOTIATION
Adams R CaldareraCanadaAmy Elsner NEGOTIATION
Jeanfrancois H BowleySpainAsiya Javayant QUALIFIED
Rodrigues N TollnerSpainOnyama Limba QUALIFIED
Arvin G NestleIndiaIoni Bowcher PROPOSAL
Munro B VocelkaCanadaBernardo Dominic RENEWAL
Jefferson F StensethGermanyAnna Fali PROPOSAL
Aditya N KolmetzFranceXuxue Feng NEGOTIATION
Smith G BriddickArgentinaAsiya Javayant PROPOSAL
Claire K RutaRussiaXuxue Feng RENEWAL
Ashley E PerinItalyStephen Shaw NEGOTIATION
Alejandro B MacleadFranceBernardo Dominic NEGOTIATION
Deepesh H WhobreyFranceStephen Shaw UNQUALIFIED
Aruna V AlbaresItalyAsiya Javayant RENEWAL
Sinclair G WhobreyRussiaXuxue Feng PROPOSAL
Jennifer D FollerArgentinaIvan Magalhaes NEGOTIATION
Salvatore W CampainRussiaAmy Elsner QUALIFIED
David E NickaJapanStephen Shaw NEGOTIATION
Kadeem F NickaItalyAnna Fali UNQUALIFIED
Mayumi U PaprockiBrazilElwin Sharvill NEW
Johnson R SchemmerCanadaAnna Fali RENEWAL
Adams A OldroydUnited KingdomBernardo Dominic QUALIFIED
Stacey H MorascaAustraliaOnyama Limba QUALIFIED
Salvatore P ShinkoBrazilXuxue Feng UNQUALIFIED
Ricardo B StockhamBrazilAnna Fali NEGOTIATION
Antonio A OldroydSpainIoni Bowcher RENEWAL
Nicolas K FigeroaSpainIvan Magalhaes RENEWAL
Aruna E MorascaCanadaStephen Shaw PROPOSAL
Tony X VenereJapanXuxue Feng UNQUALIFIED
Leja Z WhobreyGermanyOnyama Limba NEW
Aruna C NickaGermanyOnyama Limba QUALIFIED
Leja O IturbideBrazilXuxue Feng UNQUALIFIED
Cody Q MaletItalyAsiya Javayant PROPOSAL
Antonio U KolmetzCanadaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Maisha P NickaArgentinaIvan Magalhaes NEW
Morrow P GillianJapanIvan Magalhaes RENEWAL
Johnson O NickaSpainAmy Elsner NEW
Rodrigues M DarakjyJapanOnyama Limba NEGOTIATION
Izzy M BowleyAustraliaAnna Fali RENEWAL
Arvin D AmigonSpainIoni Bowcher QUALIFIED
Isabel E SergiRussiaBernardo Dominic UNQUALIFIED
Faith Y MarrierIndiaAnna Fali QUALIFIED
Juan M MaletBrazilIvan Magalhaes NEW
Adams G GauchoJapanOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio N MorascaUnited Kingdom2024-06-12Morlong Associates UNQUALIFIED72Amy Elsner
1001Leja P RutaSpain2024-06-01Printing Dimensions NEW3Xuxue Feng
1002Mayumi L MaletItaly2024-06-11Printing Dimensions NEW33Bernardo Dominic
1003Claire A GarufiAustralia2024-06-13Chanay, Jeffrey A Esq RENEWAL15Xuxue Feng
1004Kadeem W SchemmerUnited Kingdom2024-06-08Rousseaux, Michael Esq NEGOTIATION31Bernardo Dominic
1005Aditya F AlbaresGermany2024-06-23Truhlar And Truhlar Attys NEGOTIATION72Asiya Javayant
1006Emily Y DilliardGermany2024-06-15Chapman, Ross E Esq NEW24Onyama Limba
1007Faith X VocelkaUnited Kingdom2024-06-17Chanay, Jeffrey A Esq QUALIFIED97Stephen Shaw
1008Wickens O StensethItaly2024-06-02King, Christopher A Esq NEGOTIATION63Onyama Limba
1009Sinclair T PoquetteRussia2024-06-17Chemel, James L Cpa UNQUALIFIED52Onyama Limba
1010Arvin I GarufiBrazil2024-05-29Printing Dimensions RENEWAL22Onyama Limba
1011Aika E OldroydAustralia2024-06-21Dorl, James J Esq PROPOSAL61Stephen Shaw
1012Stacey E SchemmerRussia2024-06-12Printing Dimensions NEGOTIATION76Stephen Shaw
1013Jennifer A MacleadFrance2024-06-16Dorl, James J Esq QUALIFIED59Stephen Shaw
1014Misaki O NickaCanada2024-06-14Rousseaux, Michael Esq NEW42Onyama Limba
1015Tony D DilliardBrazil2024-06-18Benton, John B Jr UNQUALIFIED95Ioni Bowcher
1016Misaki H AmigonJapan2024-06-01Rousseaux, Michael Esq QUALIFIED93Onyama Limba
1017Jefferson Z SaylorsGermany2024-06-14Printing Dimensions PROPOSAL52Asiya Javayant
1018Maisha G FigeroaBrazil2024-06-10Dorl, James J Esq NEW71Anna Fali
1019Maria D GauchoRussia2024-06-20King, Christopher A Esq NEW27Ivan Magalhaes
1020Nicolas Y GlickArgentina2024-05-26Truhlar And Truhlar Attys QUALIFIED81Xuxue Feng
1021Octavia M MacleadRussia2024-06-16Rangoni Of Florence NEW81Asiya Javayant
1022Leon T NickaUnited Kingdom2024-05-25Buckley Miller Wright RENEWAL39Ivan Magalhaes
1023Adams A PaprockiIndia2024-06-09Buckley Miller Wright NEW46Anna Fali
1024Tony O InouyeItaly2024-06-12Benton, John B Jr NEGOTIATION56Stephen Shaw
1025Julie J SchemmerGermany2024-05-28Chapman, Ross E Esq NEGOTIATION7Stephen Shaw
1026David A OstroskyGermany2024-06-14Feiner Bros NEGOTIATION73Elwin Sharvill
1027Sinclair O ChuiFrance2024-06-02Rousseaux, Michael Esq RENEWAL58Onyama Limba
1028Silvio V MorascaSpain2024-06-20Benton, John B Jr UNQUALIFIED74Bernardo Dominic
1029Aika R WaycottJapan2024-06-06Commercial Press UNQUALIFIED24Amy Elsner
1030Antonio J DoeFrance2024-06-23Truhlar And Truhlar Attys PROPOSAL57Ivan Magalhaes
1031Juan A SaylorsIndia2024-06-03Commercial Press QUALIFIED81Xuxue Feng
1032Alejandro F PerinCanada2024-06-13Benton, John B Jr UNQUALIFIED35Ioni Bowcher
1033Stacey X MarrierRussia2024-06-22Chanay, Jeffrey A Esq QUALIFIED73Asiya Javayant
1034Isabel E WieserRussia2024-06-22Rangoni Of Florence UNQUALIFIED37Bernardo Dominic
1035Jeanfrancois F GauchoRussia2024-06-11Commercial Press NEW5Stephen Shaw
1036Faith Z MacleadGermany2024-05-30Benton, John B Jr RENEWAL38Ivan Magalhaes
1037Francesco Y StensethRussia2024-06-12Printing Dimensions UNQUALIFIED21Asiya Javayant
1038Ivar O NestleRussia2024-06-12Rangoni Of Florence PROPOSAL30Xuxue Feng
1039Julie F WaycottRussia2024-06-15Morlong Associates QUALIFIED68Xuxue Feng
1040Costa Q SergiItaly2024-06-03Morlong Associates PROPOSAL46Amy Elsner
1041Leon Z VocelkaAustralia2024-06-11Morlong Associates NEW73Bernardo Dominic
1042Jefferson M SaylorsItaly2024-05-31Chemel, James L Cpa QUALIFIED53Amy Elsner
1043Cody G RimSpain2024-06-23Chemel, James L Cpa RENEWAL18Xuxue Feng
1044Emily N SaylorsSpain2024-06-20Morlong Associates NEW41Xuxue Feng
1045Ivar N SaylorsFrance2024-06-21Commercial Press QUALIFIED15Anna Fali
1046Nicolas V InouyeIndia2024-06-10Printing Dimensions RENEWAL50Stephen Shaw
1047Aika J BologniaItaly2024-06-06Feiner Bros QUALIFIED54Stephen Shaw
1048Claire D SlusarskiAustralia2024-05-27Truhlar And Truhlar Attys QUALIFIED19Ioni Bowcher
1049Chavez X NestleIndia2024-06-18Feltz Printing Service RENEWAL70Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey K PoquetteCanadaAmy Elsner UNQUALIFIED
Costa P GarufiAustraliaIoni Bowcher NEGOTIATION
Morrow C ChuiIndiaOnyama Limba NEGOTIATION
Sinclair Q IturbideIndiaAnna Fali QUALIFIED
Alejandro B MarrierSpainAnna Fali QUALIFIED
Octavia N MacleadAustraliaXuxue Feng UNQUALIFIED
Octavia L SlusarskiBrazilIoni Bowcher QUALIFIED
Greenwood U IturbideFranceAmy Elsner NEW
Aika I GarufiCanadaIoni Bowcher RENEWAL
David P BologniaUnited KingdomAmy Elsner NEW
Alejandro G RimItalyAsiya Javayant NEW
Wickens S SlusarskiJapanElwin Sharvill RENEWAL
Kaitlin I WhobreyRussiaXuxue Feng QUALIFIED
Costa Q KuskoCanadaBernardo Dominic RENEWAL
Octavia P FollerFranceXuxue Feng UNQUALIFIED
Aditya N KuskoItalyOnyama Limba NEW
Jefferson X GauchoUnited KingdomIoni Bowcher PROPOSAL
Mayumi T TollnerFranceOnyama Limba PROPOSAL
Misaki Q SlusarskiBrazilAmy Elsner NEW
Mayumi H KolmetzRussiaAsiya Javayant PROPOSAL
Aika J MorascaBrazilAmy Elsner UNQUALIFIED
Julie R GarufiBrazilAmy Elsner UNQUALIFIED
Murillo D GarufiArgentinaStephen Shaw QUALIFIED
Jefferson A CaudyArgentinaAnna Fali QUALIFIED
Tony B OldroydBrazilXuxue Feng RENEWAL
Aruna W CampainRussiaAnna Fali NEW
Jefferson W WhobreyItalyIoni Bowcher UNQUALIFIED
Maria Q VenereAustraliaXuxue Feng UNQUALIFIED
Jones O SaylorsRussiaIoni Bowcher NEGOTIATION
Deepesh H RulapaughBrazilStephen Shaw NEGOTIATION
Leon X VenereRussiaAnna Fali RENEWAL
Jennifer Y SergiArgentinaAnna Fali UNQUALIFIED
Kaitlin M PoquetteSpainStephen Shaw UNQUALIFIED
Jones W BriddickUnited KingdomBernardo Dominic PROPOSAL
Jennifer X CaldareraUnited KingdomAmy Elsner NEGOTIATION
Arvin U PoquetteGermanyStephen Shaw NEGOTIATION
Leja M WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Maisha Y GauchoCanadaOnyama Limba PROPOSAL
Salvatore E SlusarskiFranceOnyama Limba PROPOSAL
Maria R MorascaItalyXuxue Feng NEGOTIATION
Chavez V GauchoCanadaXuxue Feng NEW
David M MaletAustraliaXuxue Feng QUALIFIED
Mujtaba Z GlickUnited KingdomAmy Elsner RENEWAL
Faith X RulapaughFranceIoni Bowcher PROPOSAL
James R MaletBrazilStephen Shaw UNQUALIFIED
Johnson H MacleadUnited KingdomStephen Shaw PROPOSAL
Aditya A SlusarskiArgentinaStephen Shaw UNQUALIFIED
Clifford W PoquetteBrazilStephen Shaw QUALIFIED
Tony V DoeCanadaIoni Bowcher PROPOSAL
Chavez W FollerJapanBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Jennifer U Maclead
Wickens N Gillian
Morrow T Marrier
Nicolas V Morasca
Maisha K Bowley
Julie H Nestle
Greenwood L Whobrey
Silvio H Campain
Aditya P Caldarera
Jones N Malet
Sinclair M Sergi
Wickens Y Garufi
Maria V Inouye
Juan H Garufi
Salvatore P Gillian
Wickens W Briddick
Clifford D Iturbide
Morrow I Bowley
Ivar L Nestle
Johnson W Gaucho
Leja F Darakjy
Costa I Poquette
Adams N Waycott
Morrow X Campain
Julie C Glick
Johnson N Ruta
Johnson T Figeroa
Adams O Malet
Clifford J Kolmetz
Murillo N Foller
Costa K Caudy
Mujtaba M Malet
Jefferson O Inouye
James E Saylors
Francesco F Butt
Murillo N Royster
Sinclair X Kusko
Octavia T Stockham
Leja A Sergi
Antonio T Poquette
Julie C Saylors
Chavez R Amigon
Emily M Tollner
Aditya V Perin
Cody M Stockham
Faith E Amigon
Mayumi Y Wieser
James A Darakjy
Maria X Schemmer
Johnson W Glick
IdCountryDate
1000Japan2024-06-08
1001Spain2024-06-18
1002Japan2024-05-28
1003Australia2024-06-20
1004India2024-06-11
1005Spain2024-05-28
1006Argentina2024-05-26
1007Germany2024-06-15
1008Brazil2024-06-02
1009Italy2024-06-13
1010Australia2024-06-10
1011Argentina2024-05-27
1012India2024-06-01
1013United Kingdom2024-06-15
1014Russia2024-06-07
1015Australia2024-05-25
1016Spain2024-06-02
1017Brazil2024-05-30
1018Spain2024-06-04
1019Italy2024-06-18
1020Spain2024-06-02
1021Italy2024-06-17
1022Italy2024-06-15
1023India2024-06-10
1024Brazil2024-06-23
1025United Kingdom2024-05-28
1026Argentina2024-06-09
1027Brazil2024-06-09
1028Brazil2024-06-03
1029Germany2024-06-23
1030Germany2024-05-29
1031Japan2024-06-06
1032Japan2024-06-05
1033France2024-06-07
1034Brazil2024-06-14
1035United Kingdom2024-06-10
1036Spain2024-06-05
1037Russia2024-05-25
1038Australia2024-06-07
1039India2024-06-17
1040Japan2024-05-29
1041Argentina2024-06-20
1042Brazil2024-06-04
1043Spain2024-06-15
1044Germany2024-06-12
1045United Kingdom2024-06-17
1046Italy2024-06-14
1047Argentina2024-06-12
1048Italy2024-06-20
1049Japan2024-06-18

On-Demand Data

NameIdCountryDate
Costa Q Doe1000France2024-05-31
Greenwood J Stenseth1001Germany2024-06-03
Jeanfrancois Y Malet1002Germany2024-06-17
Ivar K Amigon1003Brazil2024-05-31
Deepesh X Rulapaugh1004Spain2024-06-23
Juan W Ferencz1005United Kingdom2024-06-04
Mayumi S Venere1006Brazil2024-06-03
Smith X Malet1007Italy2024-06-02
Arvin W Stockham1008France2024-06-20
Jeanfrancois F Glick1009Spain2024-06-09
Leja P Marrier1010Argentina2024-06-12
Kaitlin N Morasca1011Canada2024-06-19
Stacey E Caldarera1012India2024-05-26
Antonio Y Perin1013Brazil2024-06-16
Nicolas H Venere1014Germany2024-06-17
Antonio Q Slusarski1015Argentina2024-06-05
Alejandro X Malet1016Spain2024-06-10
Darci U Kolmetz1017United Kingdom2024-06-11
Tony T Flosi1018Australia2024-06-22
Nicolas I Shinko1019Japan2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey C GauchoItalyIvan Magalhaes RENEWAL
Smith W SlusarskiCanadaBernardo Dominic QUALIFIED
Kadeem L IturbideRussiaIoni Bowcher NEW
Johnson G StockhamJapanStephen Shaw RENEWAL
Greenwood P PoquetteCanadaIvan Magalhaes QUALIFIED
Kaitlin O IturbideItalyBernardo Dominic PROPOSAL
David Q VenereArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois R CaudyItalyBernardo Dominic NEGOTIATION
Kaitlin Q StockhamBrazilIoni Bowcher UNQUALIFIED
Clifford Y RutaSpainStephen Shaw PROPOSAL
Jefferson V WhobreyIndiaStephen Shaw RENEWAL
Leon G KuskoUnited KingdomXuxue Feng NEGOTIATION
Munro V FerenczBrazilAmy Elsner UNQUALIFIED
Aika F VenereBrazilXuxue Feng UNQUALIFIED
Maisha W RulapaughIndiaStephen Shaw NEGOTIATION
Octavia K AlbaresAustraliaAnna Fali QUALIFIED
Misaki C OldroydSpainAnna Fali RENEWAL
Darci F FerenczIndiaBernardo Dominic RENEWAL
Mujtaba S RulapaughAustraliaIvan Magalhaes NEGOTIATION
Clifford M FollerRussiaBernardo Dominic PROPOSAL
Aruna R FollerItalyOnyama Limba QUALIFIED
Izzy M WieserCanadaAmy Elsner PROPOSAL
Jones X MarrierGermanyIvan Magalhaes RENEWAL
Rodrigues I StockhamCanadaStephen Shaw UNQUALIFIED
Adams X MorascaCanadaIvan Magalhaes UNQUALIFIED
Murillo L NestleGermanyStephen Shaw NEW
Claire W RoysterSpainAnna Fali UNQUALIFIED
David H DilliardBrazilOnyama Limba NEW
Cody R RoysterItalyAmy Elsner PROPOSAL
Clifford W DarakjyJapanAmy Elsner PROPOSAL
Greenwood B DilliardAustraliaBernardo Dominic NEGOTIATION
Antonio Y NestleUnited KingdomAsiya Javayant QUALIFIED
Wickens U RutaRussiaAsiya Javayant UNQUALIFIED
Rodrigues Q BowleyCanadaOnyama Limba QUALIFIED
Claire P FigeroaUnited KingdomAnna Fali PROPOSAL
Munro R RoysterGermanyOnyama Limba UNQUALIFIED
Isabel D WhobreySpainOnyama Limba UNQUALIFIED
Mayumi D WaycottRussiaIvan Magalhaes RENEWAL
Morrow W BologniaItalyElwin Sharvill QUALIFIED
Munro Y FigeroaIndiaElwin Sharvill 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>