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
Sinclair Z BowleyAustraliaAsiya Javayant NEGOTIATION
Chavez H FigeroaItalyStephen Shaw QUALIFIED
Maria Z SergiGermanyBernardo Dominic QUALIFIED
Misaki Z GauchoJapanAmy Elsner QUALIFIED
Wickens D ChuiGermanyAsiya Javayant PROPOSAL
Rodrigues I NestleSpainAnna Fali PROPOSAL
Claire H PerinUnited KingdomXuxue Feng QUALIFIED
Maisha B DilliardFranceXuxue Feng PROPOSAL
Wickens S RutaIndiaStephen Shaw QUALIFIED
Darci M ButtIndiaAsiya Javayant NEGOTIATION
Kaitlin K RimIndiaBernardo Dominic NEGOTIATION
Misaki T BologniaIndiaOnyama Limba NEW
Cody R FerenczIndiaAmy Elsner NEGOTIATION
Nicolas V InouyeJapanAmy Elsner RENEWAL
Kadeem M BowleyRussiaBernardo Dominic RENEWAL
Stacey N GlickCanadaIoni Bowcher NEW
Jeanfrancois Z ShinkoBrazilIvan Magalhaes UNQUALIFIED
Rodrigues Y GauchoRussiaElwin Sharvill UNQUALIFIED
Claire P ButtJapanBernardo Dominic PROPOSAL
Octavia F FollerItalyBernardo Dominic PROPOSAL
Rodrigues Y MorascaSpainAmy Elsner RENEWAL
Octavia T GauchoCanadaAnna Fali UNQUALIFIED
Faith G AmigonRussiaAsiya Javayant UNQUALIFIED
Stacey Z KolmetzJapanStephen Shaw PROPOSAL
Emily E BowleyAustraliaIvan Magalhaes RENEWAL
Munro O MarrierFranceOnyama Limba NEGOTIATION
Nicolas I GauchoRussiaAsiya Javayant QUALIFIED
Tony W WaycottAustraliaOnyama Limba PROPOSAL
Johnson U WhobreyFranceIvan Magalhaes UNQUALIFIED
Aika B PaprockiGermanyAmy Elsner NEGOTIATION
Maria B GauchoIndiaXuxue Feng QUALIFIED
Jones E StensethCanadaElwin Sharvill RENEWAL
Clifford F GauchoJapanIvan Magalhaes QUALIFIED
Julie J BowleyAustraliaAsiya Javayant QUALIFIED
Octavia E WieserBrazilAmy Elsner QUALIFIED
Aditya L RimArgentinaIvan Magalhaes UNQUALIFIED
Alejandro K SlusarskiRussiaAsiya Javayant QUALIFIED
Wickens C ChuiArgentinaIvan Magalhaes NEW
James U CaldareraFranceBernardo Dominic NEGOTIATION
Isabel D PerinCanadaAmy Elsner NEW
Morrow N IturbideItalyStephen Shaw NEGOTIATION
Jefferson T OldroydItalyAmy Elsner QUALIFIED
Maria D OstroskyFranceBernardo Dominic RENEWAL
Leja G BologniaCanadaElwin Sharvill PROPOSAL
Aditya P FlosiArgentinaStephen Shaw UNQUALIFIED
Chavez K CaudyRussiaIoni Bowcher NEW
Jones Q FigeroaItalyBernardo Dominic NEW
Ricardo M OstroskyAustraliaAmy Elsner NEW
Sinclair J FerenczGermanyOnyama Limba NEW
Aika Z FlosiIndiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Maisha P MaletGermanyIoni Bowcher UNQUALIFIED
Claire O WhobreyBrazilIoni Bowcher UNQUALIFIED
Arvin C DilliardItalyIvan Magalhaes QUALIFIED
Alejandro A VocelkaItalyAnna Fali RENEWAL
Juan Z CaudyUnited KingdomXuxue Feng PROPOSAL
Deepesh O GlickFranceBernardo Dominic UNQUALIFIED
Deepesh O KuskoSpainStephen Shaw NEW
Stacey D MorascaArgentinaIoni Bowcher PROPOSAL
Mujtaba H VenereAustraliaBernardo Dominic RENEWAL
Smith Q MacleadJapanElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba P MarrierJapan2025-04-26Dorl, James J Esq UNQUALIFIED17Onyama Limba
1001Claire L ChuiArgentina2025-04-13Feltz Printing Service UNQUALIFIED52Ioni Bowcher
1002Kadeem A OstroskyAustralia2025-04-16Feiner Bros PROPOSAL78Bernardo Dominic
1003Deepesh G GlickGermany2025-05-06Rangoni Of Florence UNQUALIFIED84Xuxue Feng
1004Aika J ChuiCanada2025-04-26Truhlar And Truhlar Attys UNQUALIFIED28Asiya Javayant
1005Arvin J SchemmerAustralia2025-05-09Morlong Associates UNQUALIFIED32Stephen Shaw
1006Ivar D DoeItaly2025-05-03Printing Dimensions UNQUALIFIED20Ivan Magalhaes
1007Kadeem C KolmetzRussia2025-05-02Feiner Bros RENEWAL37Anna Fali
1008Johnson G DarakjyJapan2025-04-25Rangoni Of Florence NEW51Xuxue Feng
1009Leon X MaletSpain2025-04-16Buckley Miller Wright QUALIFIED24Amy Elsner
1010Ricardo Y IturbideItaly2025-04-12Chemel, James L Cpa QUALIFIED68Onyama Limba
1011Salvatore A NickaAustralia2025-05-02Feiner Bros NEW19Amy Elsner
1012Alejandro C GarufiAustralia2025-04-25Chemel, James L Cpa PROPOSAL41Xuxue Feng
1013Wickens Z DarakjyItaly2025-04-14Buckley Miller Wright RENEWAL58Anna Fali
1014Darci X RutaItaly2025-04-13Morlong Associates RENEWAL80Ivan Magalhaes
1015Alejandro T MaletAustralia2025-05-08Feltz Printing Service NEW89Bernardo Dominic
1016Aruna G WaycottGermany2025-04-17Truhlar And Truhlar Attys NEW58Anna Fali
1017Munro K StockhamFrance2025-04-30Commercial Press PROPOSAL40Stephen Shaw
1018Jefferson O CampainSpain2025-05-03Morlong Associates NEW70Asiya Javayant
1019Julie H CampainJapan2025-05-09Commercial Press UNQUALIFIED99Bernardo Dominic
1020Juan X ShinkoItaly2025-05-08Truhlar And Truhlar Attys PROPOSAL59Onyama Limba
1021Claire I FlosiUnited Kingdom2025-04-22Chanay, Jeffrey A Esq PROPOSAL26Elwin Sharvill
1022Darci E StockhamUnited Kingdom2025-05-06Rousseaux, Michael Esq QUALIFIED19Ioni Bowcher
1023Emily K FollerSpain2025-05-04Feiner Bros NEW0Onyama Limba
1024Tony J WhobreyRussia2025-04-12Morlong Associates NEW39Elwin Sharvill
1025Claire K SchemmerUnited Kingdom2025-05-04King, Christopher A Esq NEGOTIATION82Bernardo Dominic
1026Aditya Y ShinkoRussia2025-05-08Morlong Associates NEGOTIATION84Amy Elsner
1027Ricardo M FlosiIndia2025-04-30Morlong Associates RENEWAL33Elwin Sharvill
1028Tony U BologniaCanada2025-04-24Feltz Printing Service UNQUALIFIED18Ioni Bowcher
1029Smith I PoquetteItaly2025-04-24Chemel, James L Cpa NEGOTIATION59Amy Elsner
1030Leja G NestleBrazil2025-05-07Chapman, Ross E Esq RENEWAL5Ioni Bowcher
1031Munro L FlosiFrance2025-05-06Buckley Miller Wright NEW26Bernardo Dominic
1032Octavia X RulapaughBrazil2025-04-18Rangoni Of Florence NEGOTIATION60Asiya Javayant
1033Isabel U DarakjyIndia2025-04-30Chanay, Jeffrey A Esq PROPOSAL88Ioni Bowcher
1034Munro A SlusarskiSpain2025-04-21Printing Dimensions NEGOTIATION96Ivan Magalhaes
1035Ashley I WieserIndia2025-04-21Rousseaux, Michael Esq UNQUALIFIED12Stephen Shaw
1036Rodrigues F WhobreyAustralia2025-04-20Printing Dimensions NEW61Ivan Magalhaes
1037Izzy M GauchoFrance2025-05-03Chemel, James L Cpa UNQUALIFIED25Elwin Sharvill
1038Murillo R KuskoBrazil2025-04-28Benton, John B Jr RENEWAL25Xuxue Feng
1039Deepesh W DoeIndia2025-05-04Printing Dimensions QUALIFIED83Anna Fali
1040Rodrigues D WieserJapan2025-04-16Chanay, Jeffrey A Esq PROPOSAL98Elwin Sharvill
1041Jennifer F ShinkoArgentina2025-04-26Dorl, James J Esq NEGOTIATION22Asiya Javayant
1042Emily D WhobreyJapan2025-05-05Commercial Press NEW59Stephen Shaw
1043Rodrigues D FlosiIndia2025-04-10Feltz Printing Service UNQUALIFIED34Ivan Magalhaes
1044Antonio I NickaGermany2025-04-10Chapman, Ross E Esq NEGOTIATION69Elwin Sharvill
1045Alejandro A SaylorsSpain2025-04-21Benton, John B Jr RENEWAL87Onyama Limba
1046Deepesh K AmigonIndia2025-05-09Rousseaux, Michael Esq QUALIFIED0Stephen Shaw
1047Maisha Z SlusarskiArgentina2025-04-22Commercial Press PROPOSAL26Ivan Magalhaes
1048Salvatore A PoquetteRussia2025-04-10Dorl, James J Esq NEW66Stephen Shaw
1049Octavia Q FigeroaAustralia2025-04-17Commercial Press UNQUALIFIED17Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Kadeem R MaletItalyBernardo Dominic NEGOTIATION
Leja H FigeroaIndiaIoni Bowcher RENEWAL
Darci M CampainRussiaAmy Elsner RENEWAL
Costa G CampainSpainXuxue Feng PROPOSAL
Maria U RulapaughUnited KingdomAnna Fali UNQUALIFIED
Francesco Z MaletJapanIoni Bowcher RENEWAL
Deepesh A KuskoAustraliaIvan Magalhaes RENEWAL
Aika E MorascaSpainStephen Shaw RENEWAL
Ashley H RimItalyAnna Fali RENEWAL
Chavez J KolmetzRussiaBernardo Dominic RENEWAL
Wickens Q GillianIndiaStephen Shaw RENEWAL
Jeanfrancois E OldroydItalyBernardo Dominic RENEWAL
Emily G BowleyGermanyElwin Sharvill UNQUALIFIED
Ivar P GlickArgentinaAsiya Javayant NEGOTIATION
Aditya Z ChuiGermanyAmy Elsner QUALIFIED
Emily P KolmetzJapanStephen Shaw RENEWAL
Leon S CaudyFranceOnyama Limba NEGOTIATION
Jones B MorascaCanadaXuxue Feng NEGOTIATION
Munro U GillianCanadaStephen Shaw RENEWAL
Jefferson U MaletGermanyAnna Fali PROPOSAL
Kaitlin I FerenczBrazilAmy Elsner UNQUALIFIED
Jeanfrancois A SaylorsAustraliaOnyama Limba UNQUALIFIED
Maisha J IturbideIndiaAmy Elsner NEW
Morrow U CaldareraAustraliaIoni Bowcher RENEWAL
Costa W RimArgentinaIoni Bowcher QUALIFIED
Cody E FerenczIndiaOnyama Limba PROPOSAL
Alejandro I ShinkoFranceAsiya Javayant QUALIFIED
Arvin Q NickaAustraliaIoni Bowcher NEW
Aruna X OldroydFranceAsiya Javayant RENEWAL
Aruna I AmigonUnited KingdomIoni Bowcher NEGOTIATION
Antonio Z VenereSpainXuxue Feng NEGOTIATION
Octavia V CaldareraAustraliaAsiya Javayant UNQUALIFIED
Rodrigues E RulapaughItalyIoni Bowcher NEGOTIATION
Aruna M OstroskyGermanyOnyama Limba PROPOSAL
Claire S GillianBrazilElwin Sharvill PROPOSAL
Jeanfrancois L VocelkaUnited KingdomOnyama Limba NEGOTIATION
Kaitlin M ChuiGermanyStephen Shaw PROPOSAL
Isabel W InouyeAustraliaOnyama Limba NEGOTIATION
Darci H CaudyItalyIoni Bowcher UNQUALIFIED
Maisha B ChuiUnited KingdomIoni Bowcher PROPOSAL
Misaki E RutaSpainAsiya Javayant UNQUALIFIED
Aika Y PoquetteAustraliaStephen Shaw QUALIFIED
Leja R FollerIndiaOnyama Limba QUALIFIED
Jeanfrancois A FigeroaFranceStephen Shaw PROPOSAL
Silvio L RimFranceBernardo Dominic UNQUALIFIED
Alejandro E FollerArgentinaAsiya Javayant NEW
Salvatore L RoysterBrazilAsiya Javayant QUALIFIED
Kadeem Y CaudyJapanOnyama Limba NEGOTIATION
Morrow R SchemmerRussiaElwin Sharvill NEGOTIATION
Juan N PaprockiBrazilOnyama Limba NEGOTIATION
Frozen Columns
Name
Mayumi F Bowley
Nicolas W Foller
Stacey N Rim
Wickens H Poquette
David L Poquette
Faith U Oldroyd
Alejandro F Chui
Jefferson N Venere
Aruna Q Foller
Stacey F Gillian
Aditya N Royster
Ricardo R Iturbide
Aika Z Stenseth
Munro G Waycott
Stacey E Gillian
Jennifer A Vocelka
Nicolas T Poquette
Nicolas K Whobrey
Jones H Caldarera
Cody A Glick
Wickens R Vocelka
Silvio G Waycott
Nicolas O Rulapaugh
Rodrigues C Nicka
Isabel K Tollner
Francesco B Stenseth
Costa U Briddick
Aditya D Nicka
Rodrigues I Stenseth
Jennifer M Doe
Ashley A Flosi
Jeanfrancois J Poquette
Arvin R Saylors
Emily J Maclead
Ivar Y Ferencz
Arvin S Garufi
Nicolas U Bolognia
Adams U Darakjy
Stacey R Iturbide
David D Campain
Arvin W Slusarski
Rodrigues W Caldarera
Octavia I Foller
Leon I Flosi
Isabel P Vocelka
Aika B Venere
Costa T Caudy
Greenwood M Paprocki
Rodrigues M Whobrey
Kaitlin Z Malet
IdCountryDate
1000Japan2025-05-02
1001Italy2025-04-28
1002Spain2025-05-03
1003Brazil2025-05-06
1004Russia2025-04-15
1005Brazil2025-04-26
1006India2025-04-29
1007United Kingdom2025-04-23
1008United Kingdom2025-05-07
1009Canada2025-04-21
1010Spain2025-04-27
1011Italy2025-04-18
1012Japan2025-04-30
1013Russia2025-04-14
1014United Kingdom2025-05-07
1015Brazil2025-05-04
1016France2025-04-14
1017Italy2025-05-07
1018Australia2025-04-27
1019Japan2025-04-26
1020United Kingdom2025-04-14
1021Germany2025-04-26
1022Argentina2025-04-14
1023Australia2025-04-30
1024Japan2025-04-14
1025Italy2025-04-13
1026United Kingdom2025-04-17
1027Italy2025-04-18
1028Russia2025-04-16
1029Italy2025-05-03
1030United Kingdom2025-04-26
1031Germany2025-04-29
1032France2025-05-05
1033Brazil2025-04-17
1034Germany2025-04-13
1035Canada2025-05-09
1036United Kingdom2025-05-02
1037Russia2025-04-14
1038Brazil2025-04-24
1039Canada2025-04-28
1040Italy2025-04-19
1041Australia2025-04-10
1042Canada2025-04-29
1043Italy2025-04-16
1044Japan2025-04-26
1045Brazil2025-05-08
1046Japan2025-04-15
1047Spain2025-04-25
1048United Kingdom2025-04-22
1049Germany2025-04-26

On-Demand Data

NameIdCountryDate
Alejandro K Kolmetz1000United Kingdom2025-04-23
David X Chui1001Russia2025-04-22
Deepesh R Butt1002Japan2025-04-10
Juan T Gaucho1003Spain2025-04-13
Emily G Paprocki1004France2025-04-20
Francesco G Saylors1005Australia2025-04-24
Faith Q Schemmer1006Argentina2025-04-11
Wickens W Figeroa1007Russia2025-05-03
Claire L Butt1008Canada2025-04-22
Maria X Chui1009India2025-04-24
Silvio X Bowley1010Australia2025-04-29
Sinclair F Malet1011Spain2025-05-05
Maisha X Royster1012Spain2025-04-12
David L Poquette1013Canada2025-04-11
Ivar S Dilliard1014Spain2025-05-04
Stacey I Rulapaugh1015India2025-05-03
Darci C Amigon1016India2025-05-04
Alejandro J Ferencz1017Brazil2025-04-29
Arvin O Stockham1018India2025-04-19
Adams R Albares1019France2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco L AmigonBrazilStephen Shaw RENEWAL
Rodrigues Y MaletJapanXuxue Feng UNQUALIFIED
Cody B InouyeAustraliaIoni Bowcher NEW
Cody I ButtArgentinaXuxue Feng NEGOTIATION
David O NickaGermanyAnna Fali PROPOSAL
Jennifer Z StensethSpainElwin Sharvill PROPOSAL
Murillo S MaletUnited KingdomXuxue Feng PROPOSAL
Costa L MarrierUnited KingdomIoni Bowcher NEW
Costa I KolmetzJapanElwin Sharvill QUALIFIED
Stacey O NickaGermanyIoni Bowcher UNQUALIFIED
Sinclair Z StockhamSpainElwin Sharvill RENEWAL
Clifford Q GauchoIndiaStephen Shaw NEW
Adams P BologniaJapanXuxue Feng QUALIFIED
Nicolas O RulapaughRussiaIoni Bowcher NEGOTIATION
Jennifer V VocelkaFranceAsiya Javayant RENEWAL
Misaki A SaylorsIndiaElwin Sharvill RENEWAL
Clifford Z RoysterBrazilIoni Bowcher UNQUALIFIED
Morrow M DarakjyAustraliaXuxue Feng PROPOSAL
Claire Z BriddickAustraliaAnna Fali QUALIFIED
Juan C SaylorsJapanBernardo Dominic QUALIFIED
Mujtaba Y CaudyAustraliaXuxue Feng NEW
Maisha Y RulapaughItalyElwin Sharvill RENEWAL
Deepesh X StockhamRussiaIoni Bowcher UNQUALIFIED
Salvatore D TollnerCanadaElwin Sharvill NEGOTIATION
Mujtaba E OstroskyUnited KingdomStephen Shaw NEW
James Q WhobreyUnited KingdomXuxue Feng QUALIFIED
Maisha N MaletCanadaIvan Magalhaes RENEWAL
Misaki Q OldroydSpainBernardo Dominic NEW
Emily H CaudyAustraliaStephen Shaw NEW
Kadeem R FollerBrazilElwin Sharvill RENEWAL
Isabel M FlosiCanadaAmy Elsner RENEWAL
Smith M MorascaJapanBernardo Dominic QUALIFIED
Cody J ShinkoBrazilAsiya Javayant QUALIFIED
Jefferson H RimBrazilElwin Sharvill RENEWAL
Costa F GauchoBrazilAnna Fali NEW
Misaki V OstroskyBrazilIoni Bowcher QUALIFIED
Mujtaba Z ChuiBrazilIvan Magalhaes QUALIFIED
Murillo Y GillianBrazilBernardo Dominic PROPOSAL
Rodrigues T GauchoItalyOnyama Limba PROPOSAL
Stacey C VenereGermanyElwin Sharvill 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>