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 V FerenczGermanyStephen Shaw QUALIFIED
Mayumi Q WhobreyJapanAmy Elsner NEGOTIATION
Leja V TollnerAustraliaAnna Fali QUALIFIED
Clifford E SlusarskiRussiaBernardo Dominic PROPOSAL
Kaitlin B CaldareraSpainAmy Elsner QUALIFIED
Aditya H PerinBrazilOnyama Limba UNQUALIFIED
Jennifer W RulapaughArgentinaElwin Sharvill UNQUALIFIED
Ashley G GauchoCanadaIvan Magalhaes UNQUALIFIED
Morrow M VenereRussiaStephen Shaw UNQUALIFIED
Costa I GarufiUnited KingdomOnyama Limba RENEWAL
Silvio D BriddickJapanElwin Sharvill NEW
Aruna H BologniaJapanElwin Sharvill NEW
Deepesh O TollnerSpainElwin Sharvill QUALIFIED
Jeanfrancois V BriddickSpainXuxue Feng PROPOSAL
Rodrigues U NestleArgentinaStephen Shaw QUALIFIED
Arvin Y WhobreyItalyElwin Sharvill QUALIFIED
Octavia Y PaprockiAustraliaElwin Sharvill RENEWAL
James F CaldareraUnited KingdomOnyama Limba RENEWAL
Aditya H MorascaIndiaBernardo Dominic PROPOSAL
Juan P DoeAustraliaIoni Bowcher NEW
Arvin D SlusarskiAustraliaAnna Fali NEW
Leja K VocelkaFranceIoni Bowcher UNQUALIFIED
Jeanfrancois Z GarufiRussiaBernardo Dominic UNQUALIFIED
Kaitlin P RoysterItalyXuxue Feng UNQUALIFIED
Cody R RimAustraliaXuxue Feng PROPOSAL
Arvin E OstroskyRussiaStephen Shaw RENEWAL
Leon Y DarakjyCanadaXuxue Feng QUALIFIED
Darci B IturbideSpainOnyama Limba UNQUALIFIED
Murillo A StockhamUnited KingdomAsiya Javayant NEGOTIATION
Claire K MorascaBrazilAmy Elsner NEGOTIATION
Juan U ShinkoIndiaIvan Magalhaes PROPOSAL
James K MorascaCanadaStephen Shaw PROPOSAL
Salvatore B InouyeCanadaBernardo Dominic RENEWAL
Francesco M OldroydGermanyElwin Sharvill QUALIFIED
Jeanfrancois R TollnerUnited KingdomAmy Elsner NEW
Mayumi U WaycottFranceStephen Shaw NEW
Jefferson Y FollerRussiaStephen Shaw QUALIFIED
Jennifer J KuskoCanadaXuxue Feng UNQUALIFIED
Faith P ShinkoArgentinaIoni Bowcher NEW
Ivar R KuskoJapanXuxue Feng UNQUALIFIED
Ricardo R ButtCanadaIvan Magalhaes NEGOTIATION
Murillo M BriddickUnited KingdomOnyama Limba QUALIFIED
Greenwood S ShinkoArgentinaOnyama Limba RENEWAL
Sinclair B TollnerJapanBernardo Dominic UNQUALIFIED
Morrow X RimJapanAmy Elsner PROPOSAL
Jeanfrancois X BowleyUnited KingdomAmy Elsner NEGOTIATION
Leja M PerinJapanAnna Fali PROPOSAL
Jeanfrancois H RimRussiaElwin Sharvill RENEWAL
Ashley G MorascaJapanAsiya Javayant NEGOTIATION
Sinclair U OldroydArgentinaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony J GillianCanadaXuxue Feng UNQUALIFIED
Mujtaba Z ButtBrazilXuxue Feng RENEWAL
Morrow V WhobreyJapanIvan Magalhaes RENEWAL
Leon K PoquetteUnited KingdomXuxue Feng NEW
Cody T BriddickAustraliaAnna Fali RENEWAL
Darci J ButtCanadaBernardo Dominic UNQUALIFIED
Misaki I WaycottUnited KingdomBernardo Dominic RENEWAL
Maisha H InouyeSpainIvan Magalhaes RENEWAL
Octavia C NickaIndiaAsiya Javayant NEW
Jefferson A NickaBrazilElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens Q FollerCanada2025-04-07Rangoni Of Florence QUALIFIED65Ivan Magalhaes
1001Mayumi N GauchoIndia2025-04-23Chemel, James L Cpa RENEWAL68Xuxue Feng
1002Morrow X ChuiCanada2025-04-30Morlong Associates QUALIFIED7Amy Elsner
1003Claire A OldroydItaly2025-04-14Dorl, James J Esq RENEWAL19Xuxue Feng
1004Wickens D GillianBrazil2025-04-13King, Christopher A Esq RENEWAL83Anna Fali
1005Sinclair I OldroydItaly2025-04-15Rangoni Of Florence RENEWAL53Asiya Javayant
1006Johnson N WaycottFrance2025-04-14Chanay, Jeffrey A Esq NEW39Stephen Shaw
1007Cody F WaycottJapan2025-04-22Truhlar And Truhlar Attys UNQUALIFIED60Elwin Sharvill
1008Wickens K VenereIndia2025-04-13Chemel, James L Cpa NEGOTIATION24Bernardo Dominic
1009Faith C ChuiBrazil2025-04-19Chapman, Ross E Esq NEW99Stephen Shaw
1010Aditya F AlbaresUnited Kingdom2025-04-18Truhlar And Truhlar Attys PROPOSAL88Xuxue Feng
1011Costa R AlbaresCanada2025-04-29Feltz Printing Service UNQUALIFIED60Ioni Bowcher
1012Wickens E WhobreyAustralia2025-04-12Buckley Miller Wright PROPOSAL32Amy Elsner
1013Leja Q RulapaughBrazil2025-04-03Chapman, Ross E Esq PROPOSAL63Elwin Sharvill
1014Murillo J CaudyRussia2025-04-13Feiner Bros NEGOTIATION83Asiya Javayant
1015Deepesh W KolmetzFrance2025-04-29Buckley Miller Wright PROPOSAL44Onyama Limba
1016Darci D NestleItaly2025-04-18Feltz Printing Service UNQUALIFIED4Ioni Bowcher
1017Ashley C IturbideCanada2025-04-02Morlong Associates UNQUALIFIED55Stephen Shaw
1018Julie I BologniaSpain2025-04-09King, Christopher A Esq UNQUALIFIED32Bernardo Dominic
1019Ricardo Y SaylorsItaly2025-04-17Buckley Miller Wright QUALIFIED78Bernardo Dominic
1020David W StockhamItaly2025-04-14Morlong Associates QUALIFIED59Ivan Magalhaes
1021Darci U WieserUnited Kingdom2025-04-15Printing Dimensions UNQUALIFIED65Elwin Sharvill
1022Deepesh V StensethUnited Kingdom2025-04-28Printing Dimensions NEGOTIATION65Bernardo Dominic
1023Adams G OstroskyFrance2025-04-11Commercial Press NEGOTIATION41Anna Fali
1024Munro S BologniaItaly2025-04-14Truhlar And Truhlar Attys PROPOSAL76Anna Fali
1025Johnson X GauchoItaly2025-04-11Chemel, James L Cpa PROPOSAL55Amy Elsner
1026Silvio T MaletFrance2025-04-01Rangoni Of Florence PROPOSAL60Xuxue Feng
1027Jefferson Z StensethCanada2025-04-22Printing Dimensions QUALIFIED35Ivan Magalhaes
1028Wickens S WieserRussia2025-04-25Commercial Press PROPOSAL41Elwin Sharvill
1029Deepesh W DoeAustralia2025-04-15Truhlar And Truhlar Attys QUALIFIED48Onyama Limba
1030Kaitlin L MarrierGermany2025-04-28Dorl, James J Esq QUALIFIED19Onyama Limba
1031Ashley F BriddickIndia2025-04-01King, Christopher A Esq QUALIFIED8Bernardo Dominic
1032Costa O MorascaItaly2025-04-05Chemel, James L Cpa NEW7Bernardo Dominic
1033Smith G InouyeItaly2025-04-04Chanay, Jeffrey A Esq RENEWAL18Anna Fali
1034Salvatore A InouyeItaly2025-04-14Feltz Printing Service PROPOSAL40Amy Elsner
1035Sinclair D DilliardIndia2025-04-23Commercial Press RENEWAL79Ivan Magalhaes
1036Juan J VenereUnited Kingdom2025-04-08Dorl, James J Esq UNQUALIFIED70Xuxue Feng
1037Mayumi E VenereIndia2025-04-25Rangoni Of Florence RENEWAL3Ioni Bowcher
1038Maisha R StensethAustralia2025-04-04King, Christopher A Esq UNQUALIFIED26Ioni Bowcher
1039Kadeem H SlusarskiItaly2025-04-02Printing Dimensions NEW16Xuxue Feng
1040Mujtaba W IturbideCanada2025-04-25Feiner Bros NEW24Bernardo Dominic
1041Arvin Y ShinkoItaly2025-04-07Morlong Associates QUALIFIED61Bernardo Dominic
1042Smith M KuskoRussia2025-04-01Chanay, Jeffrey A Esq NEGOTIATION43Ioni Bowcher
1043Munro A SlusarskiArgentina2025-04-21Buckley Miller Wright RENEWAL52Anna Fali
1044Jeanfrancois D WieserAustralia2025-04-20Commercial Press RENEWAL77Stephen Shaw
1045Stacey R DoeCanada2025-04-29Benton, John B Jr NEW73Anna Fali
1046Octavia M CaudyRussia2025-04-15Chanay, Jeffrey A Esq RENEWAL85Xuxue Feng
1047Greenwood S WhobreyFrance2025-04-28Commercial Press NEGOTIATION41Amy Elsner
1048Tony Y CaudyGermany2025-04-03Rangoni Of Florence NEW44Ivan Magalhaes
1049Costa M FollerUnited Kingdom2025-04-26Chapman, Ross E Esq RENEWAL74Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa X MaletUnited KingdomStephen Shaw RENEWAL
Misaki C BowleyCanadaXuxue Feng RENEWAL
Alejandro Z TollnerItalyAnna Fali NEW
Julie V GarufiUnited KingdomXuxue Feng NEW
Claire P WaycottIndiaBernardo Dominic PROPOSAL
Ashley W GillianRussiaIoni Bowcher QUALIFIED
Murillo E StockhamFranceOnyama Limba RENEWAL
Mujtaba E DoeGermanyIoni Bowcher RENEWAL
Costa N KuskoCanadaIvan Magalhaes RENEWAL
Claire R CaudyFranceOnyama Limba RENEWAL
Smith C TollnerAustraliaStephen Shaw PROPOSAL
David X WieserArgentinaAmy Elsner QUALIFIED
Jennifer T SergiJapanAmy Elsner UNQUALIFIED
Maria T FerenczAustraliaStephen Shaw RENEWAL
Greenwood N BriddickCanadaXuxue Feng NEW
Arvin M MaletItalyXuxue Feng RENEWAL
Maria H FerenczGermanyOnyama Limba UNQUALIFIED
Misaki L CaldareraGermanyIoni Bowcher PROPOSAL
Maisha H PaprockiCanadaAmy Elsner UNQUALIFIED
Kadeem U StockhamIndiaAsiya Javayant QUALIFIED
Aika F FlosiAustraliaBernardo Dominic QUALIFIED
Costa Z StensethSpainStephen Shaw NEGOTIATION
Jones U SaylorsSpainBernardo Dominic NEW
Aditya O MorascaGermanyIvan Magalhaes RENEWAL
Isabel U BologniaItalyElwin Sharvill UNQUALIFIED
Aruna D FollerItalyIvan Magalhaes RENEWAL
Isabel Z MarrierCanadaAsiya Javayant NEGOTIATION
Maria H KuskoRussiaOnyama Limba QUALIFIED
Julie F GarufiCanadaAnna Fali NEGOTIATION
Nicolas K StockhamJapanXuxue Feng PROPOSAL
Izzy R SaylorsArgentinaXuxue Feng RENEWAL
Costa Y FollerJapanAmy Elsner UNQUALIFIED
Silvio D CampainItalyStephen Shaw RENEWAL
Clifford R KuskoItalyBernardo Dominic UNQUALIFIED
Octavia P VenereBrazilAnna Fali NEW
Nicolas J ShinkoArgentinaIoni Bowcher PROPOSAL
Ricardo C AlbaresFranceElwin Sharvill UNQUALIFIED
Deepesh Y StensethArgentinaXuxue Feng QUALIFIED
Francesco N InouyeSpainBernardo Dominic NEGOTIATION
Juan T FigeroaFranceElwin Sharvill RENEWAL
Ivar O ButtArgentinaStephen Shaw UNQUALIFIED
Antonio W StockhamCanadaElwin Sharvill RENEWAL
Salvatore X MacleadIndiaXuxue Feng PROPOSAL
Murillo B DarakjyJapanAsiya Javayant QUALIFIED
Jennifer Y FollerArgentinaAmy Elsner NEW
Maisha I ChuiCanadaIvan Magalhaes UNQUALIFIED
Kadeem V RimIndiaAnna Fali PROPOSAL
Jennifer U GarufiFranceAmy Elsner QUALIFIED
Leja A MaletArgentinaStephen Shaw RENEWAL
Johnson H CampainFranceAmy Elsner PROPOSAL
Frozen Columns
Name
Darci A Vocelka
Kaitlin I Poquette
Jefferson E Maclead
Deepesh A Iturbide
Antonio P Paprocki
Isabel C Oldroyd
Smith Z Stockham
Costa X Ruta
Stacey O Inouye
Rodrigues L Poquette
Kadeem J Amigon
Claire T Sergi
Maisha S Malet
Tony P Caldarera
Alejandro K Gillian
Claire W Albares
Faith D Schemmer
Silvio D Kusko
Jeanfrancois P Albares
Emily A Wieser
Isabel V Oldroyd
Smith D Chui
Emily O Rim
Mujtaba J Campain
Aika Z Iturbide
Jones Y Butt
Morrow O Malet
Aika D Nestle
Tony T Shinko
Arvin S Bolognia
Murillo T Kolmetz
Deepesh O Waycott
Darci V Tollner
Johnson U Stenseth
Maisha S Inouye
Octavia W Garufi
Julie T Ferencz
Leja V Inouye
Rodrigues D Poquette
Munro H Foller
Wickens B Inouye
Arvin O Shinko
Claire A Perin
Ricardo O Malet
Francesco T Ostrosky
Faith T Saylors
Stacey Z Briddick
Maria O Paprocki
Aditya Z Slusarski
Kadeem Z Bolognia
IdCountryDate
1000India2025-04-27
1001France2025-04-08
1002Argentina2025-04-03
1003United Kingdom2025-04-27
1004Argentina2025-04-13
1005Argentina2025-04-20
1006Brazil2025-04-07
1007Italy2025-04-16
1008Italy2025-04-07
1009Australia2025-04-14
1010Germany2025-04-18
1011France2025-04-14
1012Brazil2025-04-11
1013India2025-04-21
1014Australia2025-04-04
1015Australia2025-04-06
1016Italy2025-04-26
1017Argentina2025-04-15
1018Russia2025-04-18
1019Italy2025-04-15
1020Canada2025-04-11
1021Argentina2025-04-02
1022Canada2025-04-13
1023Australia2025-04-17
1024Canada2025-04-20
1025Japan2025-04-22
1026India2025-04-01
1027Australia2025-04-15
1028Italy2025-04-16
1029Australia2025-04-04
1030Australia2025-04-20
1031Japan2025-04-10
1032Brazil2025-04-29
1033United Kingdom2025-04-16
1034Argentina2025-04-18
1035Germany2025-04-30
1036Spain2025-04-20
1037Brazil2025-04-24
1038Australia2025-04-01
1039United Kingdom2025-04-11
1040Russia2025-04-21
1041Spain2025-04-30
1042Japan2025-04-20
1043Canada2025-04-25
1044Italy2025-04-14
1045Argentina2025-04-03
1046Spain2025-04-05
1047Italy2025-04-23
1048Russia2025-04-26
1049Russia2025-04-19

On-Demand Data

NameIdCountryDate
Maisha I Malet1000Germany2025-04-28
Darci U Vocelka1001Japan2025-04-11
Morrow E Butt1002France2025-04-01
Jefferson X Figeroa1003India2025-04-11
Sinclair L Marrier1004India2025-04-30
Smith P Iturbide1005Russia2025-04-07
Arvin N Dilliard1006Italy2025-04-10
Wickens X Dilliard1007United Kingdom2025-04-01
Antonio P Albares1008Brazil2025-04-09
Juan W Ferencz1009United Kingdom2025-04-04
Emily S Sergi1010Brazil2025-04-16
Ricardo R Waycott1011Brazil2025-04-28
Murillo G Albares1012India2025-04-09
Ashley F Shinko1013Canada2025-04-14
Murillo H Wieser1014Australia2025-04-12
Cody V Sergi1015Germany2025-04-01
Morrow M Malet1016Russia2025-04-16
Stacey S Kusko1017Spain2025-04-18
Francesco F Briddick1018United Kingdom2025-04-29
Costa J Morasca1019United Kingdom2025-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas B AmigonSpainAnna Fali PROPOSAL
Nicolas L MacleadItalyAmy Elsner QUALIFIED
Chavez D OldroydRussiaXuxue Feng QUALIFIED
Octavia B TollnerCanadaBernardo Dominic RENEWAL
Mujtaba T BowleySpainBernardo Dominic NEGOTIATION
Nicolas Q SlusarskiFranceIoni Bowcher PROPOSAL
Claire U GlickUnited KingdomBernardo Dominic PROPOSAL
Leja F VocelkaRussiaIoni Bowcher PROPOSAL
Juan V MaletRussiaOnyama Limba NEGOTIATION
Silvio A NickaCanadaIvan Magalhaes QUALIFIED
Ricardo R BologniaIndiaBernardo Dominic NEW
Johnson U BologniaArgentinaXuxue Feng QUALIFIED
Alejandro B IturbideIndiaAnna Fali NEGOTIATION
Ricardo Z RutaAustraliaOnyama Limba NEGOTIATION
Stacey O RimBrazilAnna Fali UNQUALIFIED
Munro W MacleadArgentinaAsiya Javayant PROPOSAL
Wickens U AlbaresGermanyElwin Sharvill UNQUALIFIED
Wickens A MorascaCanadaAmy Elsner NEW
Costa M RulapaughRussiaAmy Elsner RENEWAL
Tony H ButtBrazilBernardo Dominic UNQUALIFIED
Misaki H OstroskyCanadaXuxue Feng UNQUALIFIED
Jones B AlbaresUnited KingdomXuxue Feng QUALIFIED
Misaki G FollerAustraliaXuxue Feng PROPOSAL
Aika J NickaUnited KingdomIvan Magalhaes RENEWAL
Alejandro T WieserCanadaXuxue Feng RENEWAL
Aika O PerinIndiaAsiya Javayant NEGOTIATION
Aika E FigeroaBrazilOnyama Limba RENEWAL
Smith I CampainCanadaAmy Elsner UNQUALIFIED
Aika Q RutaSpainXuxue Feng PROPOSAL
Morrow V ButtBrazilIoni Bowcher QUALIFIED
Jones W GauchoItalyAnna Fali NEGOTIATION
Jennifer Z WhobreyArgentinaAsiya Javayant UNQUALIFIED
Aika I SchemmerBrazilXuxue Feng NEGOTIATION
Chavez H MacleadBrazilBernardo Dominic UNQUALIFIED
Cody Y VenereFranceIoni Bowcher RENEWAL
Maisha W FerenczUnited KingdomBernardo Dominic RENEWAL
Misaki O PoquetteBrazilBernardo Dominic NEGOTIATION
Morrow X AmigonArgentinaElwin Sharvill QUALIFIED
Stacey C DoeItalyAmy Elsner PROPOSAL
Maisha H DarakjyFranceOnyama Limba 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>