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 B PaprockiCanadaOnyama Limba UNQUALIFIED
Kaitlin Y CaldareraCanadaOnyama Limba QUALIFIED
Izzy Z RimBrazilXuxue Feng NEGOTIATION
Faith L PaprockiFranceElwin Sharvill UNQUALIFIED
Emily N OldroydIndiaAmy Elsner NEW
Jeanfrancois I AlbaresBrazilAsiya Javayant RENEWAL
Maisha C GauchoItalyAnna Fali NEGOTIATION
Smith D MorascaRussiaElwin Sharvill RENEWAL
James J RulapaughUnited KingdomStephen Shaw QUALIFIED
Aika B MacleadArgentinaIoni Bowcher NEGOTIATION
Wickens O SaylorsFranceIoni Bowcher RENEWAL
Claire H DarakjyGermanyAmy Elsner UNQUALIFIED
Costa C PaprockiSpainStephen Shaw RENEWAL
Arvin K AmigonArgentinaAmy Elsner NEGOTIATION
Kadeem D StensethAustraliaOnyama Limba NEW
Johnson W DoeAustraliaOnyama Limba PROPOSAL
Jeanfrancois M RutaBrazilAmy Elsner RENEWAL
James W SchemmerAustraliaIvan Magalhaes NEGOTIATION
Octavia M GarufiFranceIvan Magalhaes QUALIFIED
Isabel Z FollerItalyIvan Magalhaes QUALIFIED
Munro U VenereBrazilAsiya Javayant RENEWAL
Leon Q GlickAustraliaOnyama Limba UNQUALIFIED
Aruna I MorascaUnited KingdomOnyama Limba UNQUALIFIED
Deepesh I NestleJapanAmy Elsner NEGOTIATION
Greenwood P InouyeRussiaAsiya Javayant PROPOSAL
Costa U BologniaCanadaOnyama Limba NEW
Isabel S PerinSpainOnyama Limba QUALIFIED
Claire N ButtBrazilIvan Magalhaes NEGOTIATION
Kadeem U StockhamItalyIoni Bowcher NEGOTIATION
Sinclair M BriddickGermanyStephen Shaw NEGOTIATION
Misaki Q VocelkaRussiaAnna Fali NEW
Francesco E WaycottRussiaStephen Shaw UNQUALIFIED
Mayumi E StockhamRussiaAmy Elsner QUALIFIED
Clifford O FerenczArgentinaStephen Shaw PROPOSAL
Isabel P KolmetzItalyAmy Elsner QUALIFIED
Silvio K RimAustraliaElwin Sharvill NEGOTIATION
Silvio W NestleUnited KingdomAmy Elsner RENEWAL
Nicolas M RoysterIndiaAsiya Javayant UNQUALIFIED
Aruna P VocelkaItalyOnyama Limba PROPOSAL
Emily B RulapaughItalyAmy Elsner RENEWAL
Costa H KolmetzFranceStephen Shaw RENEWAL
Wickens Q AlbaresIndiaXuxue Feng PROPOSAL
Alejandro F MaletArgentinaXuxue Feng UNQUALIFIED
Smith O MorascaFranceIvan Magalhaes UNQUALIFIED
Sinclair M GarufiFranceIvan Magalhaes UNQUALIFIED
Antonio Y SaylorsFranceElwin Sharvill RENEWAL
Stacey U GarufiItalyAmy Elsner UNQUALIFIED
Arvin Z VenereItalyBernardo Dominic UNQUALIFIED
Wickens Z BowleySpainElwin Sharvill PROPOSAL
Leja D AlbaresJapanAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio I KuskoArgentinaOnyama Limba PROPOSAL
Aika Q AmigonSpainElwin Sharvill NEGOTIATION
Murillo T MarrierUnited KingdomAmy Elsner QUALIFIED
Smith X BologniaJapanAmy Elsner QUALIFIED
Octavia H SchemmerIndiaElwin Sharvill RENEWAL
Munro G AmigonUnited KingdomXuxue Feng NEW
Kadeem G RutaItalyIoni Bowcher UNQUALIFIED
Izzy C DilliardJapanBernardo Dominic UNQUALIFIED
Sinclair O PoquetteSpainIoni Bowcher PROPOSAL
Sinclair B WieserRussiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow V AlbaresArgentina2024-05-28King, Christopher A Esq NEW88Stephen Shaw
1001Jefferson N KuskoGermany2024-06-21Truhlar And Truhlar Attys PROPOSAL49Xuxue Feng
1002Costa D WhobreyBrazil2024-05-28Rousseaux, Michael Esq NEW38Ioni Bowcher
1003Faith H GauchoUnited Kingdom2024-06-22Benton, John B Jr UNQUALIFIED98Anna Fali
1004Ivar A GarufiItaly2024-06-21Rangoni Of Florence NEW1Bernardo Dominic
1005David C FigeroaSpain2024-06-05Printing Dimensions RENEWAL74Xuxue Feng
1006Francesco Y RutaAustralia2024-06-09King, Christopher A Esq RENEWAL7Stephen Shaw
1007Aruna J FigeroaUnited Kingdom2024-06-07Dorl, James J Esq UNQUALIFIED44Xuxue Feng
1008Faith C CampainCanada2024-05-29Chemel, James L Cpa QUALIFIED15Ivan Magalhaes
1009Jones R NickaAustralia2024-06-13Benton, John B Jr QUALIFIED19Xuxue Feng
1010Aditya D SchemmerCanada2024-06-16Feiner Bros QUALIFIED69Stephen Shaw
1011Jefferson E VenereRussia2024-06-11Chapman, Ross E Esq PROPOSAL53Onyama Limba
1012Leja K RutaSpain2024-06-14Chapman, Ross E Esq PROPOSAL91Asiya Javayant
1013Rodrigues C IturbideGermany2024-06-06Commercial Press UNQUALIFIED61Ivan Magalhaes
1014Izzy R AlbaresFrance2024-06-13King, Christopher A Esq PROPOSAL79Ioni Bowcher
1015Johnson G FlosiCanada2024-06-19Buckley Miller Wright PROPOSAL84Elwin Sharvill
1016Emily A VenereJapan2024-06-04Commercial Press NEW67Xuxue Feng
1017Nicolas X DilliardArgentina2024-05-29Chapman, Ross E Esq NEW1Ioni Bowcher
1018Mujtaba J RimFrance2024-06-06Buckley Miller Wright NEGOTIATION70Asiya Javayant
1019Salvatore V CaldareraAustralia2024-06-18Buckley Miller Wright UNQUALIFIED61Anna Fali
1020Leja E FlosiIndia2024-06-13Printing Dimensions PROPOSAL21Ioni Bowcher
1021Chavez Z FigeroaAustralia2024-06-01King, Christopher A Esq QUALIFIED87Ivan Magalhaes
1022Chavez T PerinArgentina2024-05-30King, Christopher A Esq PROPOSAL67Amy Elsner
1023Alejandro C BowleyItaly2024-06-17Feiner Bros RENEWAL5Stephen Shaw
1024Faith E TollnerAustralia2024-05-27Dorl, James J Esq NEW16Ioni Bowcher
1025Leon Z SaylorsBrazil2024-06-08Chapman, Ross E Esq PROPOSAL77Stephen Shaw
1026Silvio F WaycottItaly2024-06-11King, Christopher A Esq PROPOSAL34Bernardo Dominic
1027Octavia J OldroydArgentina2024-06-21Buckley Miller Wright UNQUALIFIED64Elwin Sharvill
1028James R IturbideCanada2024-06-14Benton, John B Jr RENEWAL21Onyama Limba
1029Jennifer F MaletUnited Kingdom2024-06-21King, Christopher A Esq PROPOSAL13Ioni Bowcher
1030Leon H PoquetteGermany2024-06-20Dorl, James J Esq QUALIFIED74Asiya Javayant
1031Aruna Q InouyeUnited Kingdom2024-05-25King, Christopher A Esq NEGOTIATION72Anna Fali
1032Kadeem W NickaCanada2024-06-11Chapman, Ross E Esq NEW89Asiya Javayant
1033Juan E VenereArgentina2024-06-01Chanay, Jeffrey A Esq PROPOSAL41Amy Elsner
1034Ricardo J CampainAustralia2024-05-24Rousseaux, Michael Esq NEGOTIATION28Elwin Sharvill
1035Cody L AmigonIndia2024-06-11Benton, John B Jr RENEWAL78Stephen Shaw
1036Mayumi A FollerUnited Kingdom2024-06-05Rangoni Of Florence PROPOSAL49Xuxue Feng
1037Cody P ShinkoBrazil2024-05-26Printing Dimensions NEGOTIATION17Ivan Magalhaes
1038Munro D OldroydIndia2024-06-11Feiner Bros UNQUALIFIED46Anna Fali
1039Izzy E SchemmerUnited Kingdom2024-06-08Dorl, James J Esq PROPOSAL35Asiya Javayant
1040Aika T RutaItaly2024-06-09Printing Dimensions RENEWAL94Ivan Magalhaes
1041Mujtaba I DoeJapan2024-06-09Commercial Press UNQUALIFIED97Asiya Javayant
1042Antonio Q CaudyArgentina2024-05-30Feltz Printing Service NEW35Bernardo Dominic
1043Faith J InouyeIndia2024-06-15Printing Dimensions PROPOSAL1Stephen Shaw
1044Jennifer W ButtArgentina2024-06-08Rousseaux, Michael Esq NEGOTIATION31Amy Elsner
1045Jeanfrancois R PoquetteUnited Kingdom2024-06-22Chapman, Ross E Esq QUALIFIED20Onyama Limba
1046Isabel I DoeSpain2024-06-01Dorl, James J Esq RENEWAL52Elwin Sharvill
1047Ashley R RulapaughAustralia2024-06-16Feltz Printing Service QUALIFIED27Xuxue Feng
1048Jones K BowleyIndia2024-06-18Benton, John B Jr RENEWAL5Ioni Bowcher
1049Kadeem N CaudyRussia2024-06-06Commercial Press QUALIFIED95Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Costa I VenereUnited KingdomIoni Bowcher NEGOTIATION
Stacey C CaldareraGermanyXuxue Feng UNQUALIFIED
Tony G SlusarskiBrazilOnyama Limba NEW
James C WhobreyAustraliaAnna Fali NEW
Jeanfrancois C StockhamFranceOnyama Limba NEGOTIATION
Darci K MaletUnited KingdomIoni Bowcher RENEWAL
Kaitlin H StockhamRussiaStephen Shaw UNQUALIFIED
Jennifer N RulapaughGermanyBernardo Dominic RENEWAL
Smith O KolmetzFranceOnyama Limba PROPOSAL
Clifford C KolmetzItalyIoni Bowcher QUALIFIED
Juan L MaletFranceXuxue Feng NEGOTIATION
Izzy V NickaIndiaIvan Magalhaes RENEWAL
Mayumi Q KuskoCanadaStephen Shaw PROPOSAL
Jeanfrancois I GarufiJapanIvan Magalhaes UNQUALIFIED
Sinclair A WhobreyItalyElwin Sharvill QUALIFIED
Leon C DilliardItalyBernardo Dominic NEW
Darci S TollnerIndiaElwin Sharvill PROPOSAL
Isabel G SchemmerGermanyElwin Sharvill NEW
Deepesh D GauchoJapanStephen Shaw PROPOSAL
Sinclair M GillianSpainStephen Shaw UNQUALIFIED
Aika G KolmetzArgentinaXuxue Feng QUALIFIED
James B MaletSpainIoni Bowcher RENEWAL
Nicolas Z WaycottRussiaBernardo Dominic NEGOTIATION
Francesco M WhobreyFranceIvan Magalhaes PROPOSAL
Octavia H InouyeRussiaAsiya Javayant UNQUALIFIED
Jefferson S MorascaAustraliaAnna Fali NEGOTIATION
Aditya U BriddickJapanStephen Shaw NEW
Arvin P GillianUnited KingdomAsiya Javayant NEGOTIATION
Jefferson D OstroskyAustraliaOnyama Limba NEGOTIATION
Izzy Y VenereSpainStephen Shaw PROPOSAL
Arvin T OldroydRussiaIvan Magalhaes NEW
Aditya O MaletArgentinaIoni Bowcher NEW
Silvio B PaprockiSpainStephen Shaw UNQUALIFIED
Julie S OstroskyItalyIvan Magalhaes QUALIFIED
Emily K GillianBrazilElwin Sharvill RENEWAL
Silvio M ShinkoItalyElwin Sharvill NEW
Nicolas L MacleadIndiaBernardo Dominic NEGOTIATION
Silvio B ChuiSpainAnna Fali UNQUALIFIED
Deepesh I WieserCanadaXuxue Feng QUALIFIED
Jefferson R MorascaAustraliaElwin Sharvill UNQUALIFIED
James V OldroydAustraliaElwin Sharvill PROPOSAL
Jones W RutaCanadaAnna Fali NEW
Mujtaba J RimRussiaXuxue Feng PROPOSAL
Tony T SchemmerItalyStephen Shaw NEW
Salvatore I WhobreyRussiaXuxue Feng NEGOTIATION
Chavez V KuskoAustraliaBernardo Dominic NEGOTIATION
Ivar T GillianArgentinaAmy Elsner PROPOSAL
Morrow D MaletJapanIoni Bowcher PROPOSAL
Ricardo G SaylorsAustraliaAsiya Javayant QUALIFIED
Stacey B CaldareraCanadaAsiya Javayant PROPOSAL
Frozen Columns
Name
Stacey I Morasca
Adams K Perin
Costa U Garufi
Jeanfrancois U Amigon
Morrow U Doe
Ivar V Stockham
Costa J Dilliard
Arvin Q Foller
Izzy O Albares
Chavez H Vocelka
Wickens D Bowley
Greenwood W Figeroa
Arvin F Royster
Maria V Venere
Isabel Z Briddick
James R Vocelka
Deepesh H Albares
Mujtaba Z Kolmetz
Maria V Caudy
Costa E Oldroyd
Jones D Poquette
Ashley K Bowley
Chavez I Nestle
Emily T Darakjy
Silvio A Oldroyd
Costa P Albares
Antonio N Perin
Ricardo X Oldroyd
Antonio C Kolmetz
Jennifer E Malet
Morrow J Inouye
Kaitlin I Wieser
Alejandro U Albares
Stacey L Venere
Ivar S Garufi
Jones E Caudy
Stacey N Ruta
Salvatore W Stockham
Octavia N Nestle
Kaitlin C Tollner
Juan L Paprocki
Stacey E Dilliard
Jennifer V Figeroa
Jones Q Stenseth
Clifford P Shinko
Arvin K Waycott
Silvio F Stenseth
Aruna J Stockham
Claire I Tollner
Aika T Waycott
IdCountryDate
1000Australia2024-06-09
1001United Kingdom2024-05-25
1002Germany2024-05-30
1003United Kingdom2024-06-15
1004Japan2024-06-08
1005India2024-05-26
1006Italy2024-05-24
1007Russia2024-05-27
1008Germany2024-06-06
1009Brazil2024-06-11
1010Argentina2024-06-12
1011Italy2024-05-30
1012Spain2024-06-11
1013Argentina2024-06-14
1014Argentina2024-05-27
1015France2024-06-17
1016France2024-06-19
1017Spain2024-06-11
1018Argentina2024-06-12
1019Russia2024-06-09
1020Argentina2024-06-04
1021India2024-06-17
1022Germany2024-06-18
1023France2024-06-11
1024Italy2024-06-19
1025Canada2024-06-22
1026Germany2024-06-13
1027Australia2024-05-29
1028Canada2024-06-01
1029Australia2024-06-09
1030United Kingdom2024-06-16
1031Russia2024-06-21
1032Canada2024-06-06
1033France2024-06-08
1034Germany2024-06-11
1035Germany2024-05-25
1036Canada2024-06-19
1037Spain2024-05-26
1038Australia2024-06-08
1039Russia2024-06-11
1040United Kingdom2024-06-02
1041Canada2024-06-10
1042Argentina2024-06-06
1043Argentina2024-06-05
1044Australia2024-06-16
1045Russia2024-06-06
1046Japan2024-06-11
1047Brazil2024-06-01
1048United Kingdom2024-06-09
1049India2024-06-05

On-Demand Data

NameIdCountryDate
Mayumi V Kolmetz1000Italy2024-06-14
Jeanfrancois B Campain1001Argentina2024-06-11
Jeanfrancois X Paprocki1002France2024-05-30
Aruna Q Briddick1003India2024-06-12
Aruna O Doe1004Canada2024-06-09
Ivar V Gillian1005India2024-06-07
Alejandro P Schemmer1006United Kingdom2024-06-21
Faith C Chui1007Brazil2024-06-03
Morrow Z Gaucho1008Russia2024-06-03
Emily M Garufi1009Germany2024-05-29
Francesco O Stockham1010Argentina2024-06-11
Stacey Y Vocelka1011Brazil2024-06-17
Silvio N Figeroa1012Japan2024-05-28
Faith N Butt1013France2024-06-06
James F Dilliard1014Brazil2024-06-20
Kadeem L Bolognia1015Brazil2024-06-16
Leja X Tollner1016India2024-06-09
Julie L Kolmetz1017Australia2024-06-13
Costa R Marrier1018Australia2024-06-03
Morrow Q Briddick1019Italy2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey M WaycottBrazilBernardo Dominic RENEWAL
Deepesh R WhobreyArgentinaAsiya Javayant RENEWAL
Jennifer S ChuiAustraliaBernardo Dominic PROPOSAL
Salvatore B OstroskyUnited KingdomXuxue Feng RENEWAL
Morrow G WieserAustraliaXuxue Feng NEGOTIATION
Kadeem Q CampainFranceElwin Sharvill NEGOTIATION
Kadeem M AlbaresGermanyElwin Sharvill RENEWAL
Darci O MaletJapanStephen Shaw PROPOSAL
Kaitlin S BriddickIndiaBernardo Dominic RENEWAL
Stacey G BriddickJapanXuxue Feng NEW
Faith H ButtIndiaIvan Magalhaes PROPOSAL
Aika G TollnerAustraliaBernardo Dominic NEGOTIATION
Antonio E ButtArgentinaXuxue Feng NEW
Isabel G CampainGermanyIoni Bowcher NEW
Rodrigues K RulapaughAustraliaBernardo Dominic QUALIFIED
Ricardo G PerinBrazilAnna Fali UNQUALIFIED
Smith K WieserCanadaBernardo Dominic UNQUALIFIED
Julie N AmigonCanadaOnyama Limba QUALIFIED
James U SlusarskiJapanAsiya Javayant QUALIFIED
Murillo V FollerSpainIvan Magalhaes UNQUALIFIED
Jeanfrancois Q WieserAustraliaElwin Sharvill NEW
Adams A GlickBrazilXuxue Feng NEGOTIATION
Faith I SchemmerJapanElwin Sharvill NEW
Deepesh F RimItalyAmy Elsner QUALIFIED
Greenwood N WieserGermanyIvan Magalhaes RENEWAL
Tony Q IturbideRussiaOnyama Limba NEGOTIATION
Leon K GarufiJapanOnyama Limba RENEWAL
Smith B PoquetteSpainAnna Fali QUALIFIED
Jones E StockhamUnited KingdomElwin Sharvill PROPOSAL
Adams I ChuiCanadaOnyama Limba QUALIFIED
Morrow B MacleadGermanyIvan Magalhaes PROPOSAL
Misaki U NestleIndiaOnyama Limba NEW
Clifford X InouyeBrazilAnna Fali RENEWAL
Aditya U FerenczCanadaOnyama Limba NEGOTIATION
Julie M VocelkaUnited KingdomAsiya Javayant PROPOSAL
Jones H AlbaresBrazilXuxue Feng PROPOSAL
Juan J FollerGermanyBernardo Dominic NEW
Francesco M MaletBrazilBernardo Dominic QUALIFIED
Wickens D SergiJapanIoni Bowcher NEGOTIATION
Adams W FollerRussiaIvan Magalhaes NEGOTIATION

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