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
Faith H SlusarskiUnited KingdomOnyama Limba RENEWAL
David X NickaIndiaXuxue Feng NEGOTIATION
Costa L OldroydSpainElwin Sharvill UNQUALIFIED
Rodrigues Q PaprockiUnited KingdomStephen Shaw PROPOSAL
Julie W FigeroaGermanyBernardo Dominic UNQUALIFIED
Misaki T WaycottArgentinaStephen Shaw QUALIFIED
Ashley G FerenczSpainXuxue Feng NEW
Antonio P FerenczBrazilAmy Elsner UNQUALIFIED
James H GarufiUnited KingdomIvan Magalhaes RENEWAL
Mujtaba B RimRussiaXuxue Feng PROPOSAL
Ricardo O BologniaIndiaAnna Fali QUALIFIED
Nicolas E CampainSpainAmy Elsner UNQUALIFIED
Leon X OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Antonio O BriddickBrazilElwin Sharvill PROPOSAL
Arvin M NestleItalyBernardo Dominic RENEWAL
Morrow U FlosiSpainStephen Shaw QUALIFIED
Jennifer Z RoysterRussiaAmy Elsner UNQUALIFIED
Ricardo P DilliardUnited KingdomAnna Fali NEW
Maria E PoquetteFranceElwin Sharvill UNQUALIFIED
Wickens K WieserBrazilOnyama Limba RENEWAL
Nicolas T TollnerAustraliaAnna Fali NEW
Octavia E GauchoIndiaAnna Fali PROPOSAL
Nicolas F KolmetzSpainAnna Fali NEGOTIATION
Munro G RoysterSpainAsiya Javayant RENEWAL
Salvatore A BowleyFranceOnyama Limba PROPOSAL
Rodrigues T InouyeItalyOnyama Limba UNQUALIFIED
Kaitlin E CaldareraSpainElwin Sharvill NEW
Izzy O CaldareraBrazilOnyama Limba NEW
Aditya U PoquetteBrazilBernardo Dominic NEW
Cody U FerenczFranceXuxue Feng NEW
Aika D ShinkoArgentinaAsiya Javayant NEW
Maisha N GarufiCanadaXuxue Feng UNQUALIFIED
Leon U AlbaresJapanIoni Bowcher PROPOSAL
Claire U RutaJapanBernardo Dominic UNQUALIFIED
Julie F DarakjyArgentinaIoni Bowcher QUALIFIED
Emily M BologniaCanadaIoni Bowcher PROPOSAL
Arvin A ChuiItalyAnna Fali UNQUALIFIED
Murillo F CampainGermanyAmy Elsner PROPOSAL
Mujtaba C StensethIndiaAmy Elsner NEW
Arvin K GillianArgentinaAnna Fali NEW
Maria Y PerinItalyIvan Magalhaes NEGOTIATION
Costa E KuskoFranceIvan Magalhaes RENEWAL
Kaitlin F RoysterUnited KingdomAnna Fali QUALIFIED
Darci C OldroydArgentinaIoni Bowcher RENEWAL
Cody G MacleadGermanyAsiya Javayant PROPOSAL
Clifford H GlickIndiaXuxue Feng PROPOSAL
Antonio A GlickRussiaStephen Shaw NEGOTIATION
Adams M FerenczRussiaXuxue Feng NEGOTIATION
Nicolas S VenereArgentinaIvan Magalhaes UNQUALIFIED
Emily N MaletIndiaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson G TollnerJapanAmy Elsner NEW
James F DilliardJapanIoni Bowcher QUALIFIED
Smith A SergiJapanStephen Shaw NEW
Nicolas Q WaycottFranceElwin Sharvill PROPOSAL
Murillo F MorascaUnited KingdomBernardo Dominic RENEWAL
David C GarufiCanadaAsiya Javayant NEGOTIATION
Alejandro K CaldareraJapanXuxue Feng RENEWAL
Silvio F SergiIndiaAmy Elsner UNQUALIFIED
Julie V GlickCanadaBernardo Dominic UNQUALIFIED
Stacey R RoysterJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki Y CaldareraIndia2025-05-17Feltz Printing Service NEW0Elwin Sharvill
1001Maisha T CaudyJapan2025-05-23Dorl, James J Esq UNQUALIFIED86Anna Fali
1002Tony C DarakjyJapan2025-05-20Chapman, Ross E Esq RENEWAL66Stephen Shaw
1003Kaitlin L GlickArgentina2025-06-13Rangoni Of Florence NEW11Stephen Shaw
1004David U PoquetteArgentina2025-05-19Printing Dimensions NEGOTIATION72Stephen Shaw
1005Jennifer T GauchoItaly2025-06-12Rangoni Of Florence RENEWAL49Onyama Limba
1006Costa O FigeroaItaly2025-06-07Chapman, Ross E Esq NEW22Amy Elsner
1007Cody P DilliardArgentina2025-06-05Chemel, James L Cpa PROPOSAL80Onyama Limba
1008Morrow F RulapaughItaly2025-06-11Chemel, James L Cpa QUALIFIED92Asiya Javayant
1009Mayumi N GillianUnited Kingdom2025-05-18Benton, John B Jr NEGOTIATION32Ioni Bowcher
1010Kadeem P AmigonBrazil2025-05-31Truhlar And Truhlar Attys QUALIFIED29Bernardo Dominic
1011Nicolas L StockhamItaly2025-06-12Feiner Bros RENEWAL38Amy Elsner
1012Alejandro U SchemmerArgentina2025-05-23Chapman, Ross E Esq QUALIFIED46Elwin Sharvill
1013Jefferson K KolmetzJapan2025-06-05Chanay, Jeffrey A Esq PROPOSAL22Stephen Shaw
1014Chavez Q FollerBrazil2025-05-28Feiner Bros QUALIFIED87Xuxue Feng
1015Arvin J KolmetzJapan2025-06-13Truhlar And Truhlar Attys NEW0Asiya Javayant
1016Smith A AmigonCanada2025-05-22Truhlar And Truhlar Attys NEGOTIATION36Ioni Bowcher
1017Alejandro Z GlickArgentina2025-05-28Printing Dimensions PROPOSAL58Ioni Bowcher
1018Ashley M RimAustralia2025-06-15Chanay, Jeffrey A Esq NEGOTIATION76Stephen Shaw
1019Johnson O IturbideRussia2025-05-31Truhlar And Truhlar Attys PROPOSAL41Onyama Limba
1020Antonio U RulapaughUnited Kingdom2025-06-09Commercial Press RENEWAL2Bernardo Dominic
1021Maria Y WhobreySpain2025-05-29Chapman, Ross E Esq NEGOTIATION53Xuxue Feng
1022Chavez C RoysterItaly2025-05-17Printing Dimensions NEW84Ioni Bowcher
1023Aditya E BriddickGermany2025-06-01Chanay, Jeffrey A Esq RENEWAL75Ivan Magalhaes
1024Julie M MacleadJapan2025-05-29King, Christopher A Esq NEGOTIATION1Bernardo Dominic
1025David C IturbideCanada2025-05-21Chemel, James L Cpa NEGOTIATION57Ivan Magalhaes
1026James Q StensethRussia2025-06-02Rangoni Of Florence PROPOSAL5Stephen Shaw
1027Stacey O MorascaIndia2025-05-17Morlong Associates NEGOTIATION33Anna Fali
1028Tony T MacleadFrance2025-06-04Rangoni Of Florence NEGOTIATION19Anna Fali
1029Adams E SaylorsUnited Kingdom2025-05-17Buckley Miller Wright PROPOSAL89Elwin Sharvill
1030Ashley B WhobreyFrance2025-05-23King, Christopher A Esq UNQUALIFIED76Onyama Limba
1031Deepesh J TollnerJapan2025-06-13Feltz Printing Service NEGOTIATION97Stephen Shaw
1032David G RulapaughUnited Kingdom2025-05-23Dorl, James J Esq RENEWAL82Ivan Magalhaes
1033Rodrigues J MorascaAustralia2025-05-17Dorl, James J Esq UNQUALIFIED16Ivan Magalhaes
1034Murillo Y VenereGermany2025-06-11Morlong Associates PROPOSAL19Stephen Shaw
1035Wickens F RulapaughIndia2025-05-19Chanay, Jeffrey A Esq UNQUALIFIED55Asiya Javayant
1036Mayumi J BowleyItaly2025-05-20Morlong Associates QUALIFIED81Asiya Javayant
1037Octavia I StockhamBrazil2025-05-24Truhlar And Truhlar Attys UNQUALIFIED63Amy Elsner
1038Aika V StensethGermany2025-05-28Rousseaux, Michael Esq NEGOTIATION19Ioni Bowcher
1039Juan W OldroydBrazil2025-06-08Feiner Bros UNQUALIFIED19Xuxue Feng
1040Greenwood T MorascaItaly2025-06-09Rousseaux, Michael Esq UNQUALIFIED12Anna Fali
1041Julie O FigeroaBrazil2025-06-09Chanay, Jeffrey A Esq UNQUALIFIED87Ioni Bowcher
1042Ivar D CampainGermany2025-05-25Rousseaux, Michael Esq RENEWAL47Xuxue Feng
1043James H OldroydJapan2025-06-07Morlong Associates PROPOSAL92Ioni Bowcher
1044Antonio W SergiRussia2025-05-24Truhlar And Truhlar Attys UNQUALIFIED26Asiya Javayant
1045Morrow L IturbideRussia2025-06-03Feltz Printing Service QUALIFIED81Ioni Bowcher
1046Morrow P MaletFrance2025-05-18Chemel, James L Cpa PROPOSAL67Asiya Javayant
1047Chavez I GillianRussia2025-05-25Chapman, Ross E Esq UNQUALIFIED62Ioni Bowcher
1048Antonio X KolmetzArgentina2025-05-17Chanay, Jeffrey A Esq NEGOTIATION19Anna Fali
1049Ricardo T ShinkoRussia2025-06-12Feiner Bros NEW79Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Tony W BowleyBrazilBernardo Dominic NEGOTIATION
Murillo B FollerSpainStephen Shaw UNQUALIFIED
Murillo H GauchoAustraliaStephen Shaw PROPOSAL
Deepesh W FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Misaki I DilliardFranceAmy Elsner RENEWAL
Deepesh O MarrierIndiaBernardo Dominic QUALIFIED
Isabel K NickaSpainAnna Fali QUALIFIED
Izzy S KuskoRussiaOnyama Limba QUALIFIED
Kadeem D StensethUnited KingdomAmy Elsner NEW
Aditya D InouyeGermanyIoni Bowcher UNQUALIFIED
Kadeem Q WaycottJapanAmy Elsner UNQUALIFIED
Arvin M GauchoSpainAmy Elsner UNQUALIFIED
Costa F BowleyCanadaAmy Elsner PROPOSAL
Wickens D WieserGermanyStephen Shaw NEW
Jones Y SergiCanadaStephen Shaw QUALIFIED
Francesco N DoeCanadaElwin Sharvill RENEWAL
Rodrigues T MaletAustraliaAnna Fali UNQUALIFIED
Stacey D ShinkoBrazilIvan Magalhaes NEW
Juan U KolmetzGermanyIvan Magalhaes UNQUALIFIED
Aruna O StensethFranceStephen Shaw NEW
Arvin G FigeroaSpainOnyama Limba NEW
Rodrigues R NickaFranceAnna Fali NEGOTIATION
Leon O FigeroaIndiaStephen Shaw NEGOTIATION
Darci T SchemmerCanadaIvan Magalhaes RENEWAL
Leja Z RulapaughItalyStephen Shaw PROPOSAL
Smith J SergiUnited KingdomAnna Fali NEW
Sinclair S ChuiAustraliaAmy Elsner NEGOTIATION
Cody G GarufiArgentinaAmy Elsner RENEWAL
David L NestleFranceXuxue Feng UNQUALIFIED
Stacey D MaletItalyBernardo Dominic NEW
Jones D VocelkaJapanIoni Bowcher NEGOTIATION
Mayumi O KolmetzGermanyAsiya Javayant NEW
Juan A WieserSpainElwin Sharvill NEW
Jennifer O FerenczBrazilAmy Elsner RENEWAL
Munro K PaprockiRussiaAmy Elsner NEGOTIATION
Emily U ShinkoRussiaStephen Shaw QUALIFIED
Jefferson M WieserArgentinaBernardo Dominic QUALIFIED
Octavia J NickaGermanyIoni Bowcher PROPOSAL
Mujtaba W KolmetzBrazilIvan Magalhaes NEGOTIATION
Sinclair H ShinkoIndiaBernardo Dominic PROPOSAL
Maisha G MarrierArgentinaOnyama Limba NEW
James G MarrierUnited KingdomXuxue Feng RENEWAL
Silvio L VocelkaCanadaBernardo Dominic UNQUALIFIED
Clifford L StockhamJapanOnyama Limba NEGOTIATION
Kadeem U WaycottCanadaStephen Shaw PROPOSAL
Adams V FlosiIndiaAmy Elsner PROPOSAL
Aditya N KuskoGermanyElwin Sharvill QUALIFIED
Maisha V NickaIndiaBernardo Dominic UNQUALIFIED
Aruna T MaletGermanyXuxue Feng UNQUALIFIED
Mujtaba C GlickBrazilAnna Fali PROPOSAL
Frozen Columns
Name
Antonio E Albares
Aika U Bolognia
Munro L Stockham
Cody K Kolmetz
Silvio T Glick
Isabel N Perin
Costa J Paprocki
Adams O Kolmetz
James Z Stenseth
Nicolas O Perin
Murillo P Whobrey
Antonio O Ostrosky
Silvio E Marrier
Costa Y Ferencz
Jennifer E Oldroyd
Smith S Saylors
Isabel H Marrier
Wickens O Poquette
Darci T Vocelka
Chavez C Dilliard
David M Royster
Kaitlin Z Bolognia
Antonio A Ferencz
David F Bowley
Greenwood C Doe
Leja V Foller
Alejandro T Schemmer
Jeanfrancois X Chui
Smith C Gillian
Nicolas K Inouye
Wickens X Rim
Izzy D Nicka
Jones X Morasca
Jones R Garufi
Darci R Shinko
Costa Q Sergi
Claire Z Nicka
Octavia V Nicka
Costa I Venere
James V Rulapaugh
Isabel J Inouye
Salvatore P Vocelka
Rodrigues H Caudy
Greenwood M Caldarera
Costa H Butt
Aditya U Bolognia
Aditya J Ferencz
Claire Z Inouye
Jefferson W Briddick
Ivar V Malet
IdCountryDate
1000Canada2025-06-04
1001Japan2025-05-26
1002Russia2025-05-26
1003Japan2025-06-05
1004India2025-05-26
1005India2025-05-17
1006Germany2025-05-18
1007Russia2025-06-01
1008Italy2025-05-21
1009Spain2025-05-29
1010Spain2025-06-14
1011Italy2025-06-05
1012United Kingdom2025-06-10
1013Italy2025-06-09
1014Brazil2025-06-12
1015Spain2025-06-10
1016France2025-05-23
1017Germany2025-06-03
1018Germany2025-06-05
1019Italy2025-05-31
1020Japan2025-06-03
1021France2025-06-10
1022Italy2025-06-12
1023Japan2025-05-28
1024Brazil2025-05-22
1025India2025-06-03
1026Brazil2025-06-05
1027Spain2025-05-17
1028United Kingdom2025-06-04
1029Japan2025-06-09
1030Brazil2025-05-19
1031Argentina2025-06-05
1032United Kingdom2025-06-04
1033Canada2025-06-12
1034Japan2025-06-15
1035India2025-05-31
1036France2025-05-21
1037Germany2025-06-10
1038Brazil2025-06-15
1039Argentina2025-06-04
1040Russia2025-05-20
1041Russia2025-06-10
1042United Kingdom2025-05-23
1043Spain2025-06-06
1044Brazil2025-06-14
1045India2025-06-13
1046Italy2025-05-23
1047Italy2025-06-14
1048Brazil2025-06-09
1049Russia2025-05-19

On-Demand Data

NameIdCountryDate
Faith S Venere1000India2025-05-25
Aditya U Venere1001Japan2025-06-03
Johnson C Nicka1002Spain2025-06-11
Deepesh H Darakjy1003Japan2025-05-19
Ricardo E Figeroa1004France2025-05-31
Ricardo R Iturbide1005Spain2025-06-02
Misaki O Nicka1006Canada2025-05-17
Claire F Stockham1007Germany2025-06-08
Tony F Marrier1008Spain2025-05-29
Faith L Paprocki1009Canada2025-05-20
Clifford O Ostrosky1010Germany2025-06-15
Cody Q Paprocki1011Japan2025-06-04
Cody Z Marrier1012Russia2025-05-28
Mayumi G Marrier1013Australia2025-05-19
Tony L Albares1014United Kingdom2025-05-29
Nicolas W Malet1015Spain2025-05-29
Octavia P Caudy1016Canada2025-05-24
Morrow L Saylors1017France2025-05-28
Jones P Ruta1018Japan2025-05-23
Costa Y Albares1019Argentina2025-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois Z WaycottCanadaIoni Bowcher RENEWAL
Jones Z CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Stacey S CampainArgentinaXuxue Feng RENEWAL
Mayumi Q BriddickIndiaIoni Bowcher PROPOSAL
Costa T PerinSpainAmy Elsner NEGOTIATION
Leja K RutaIndiaOnyama Limba NEW
Murillo Z BowleyBrazilAnna Fali NEGOTIATION
Stacey G SlusarskiItalyElwin Sharvill NEGOTIATION
Jones W CaudyJapanBernardo Dominic QUALIFIED
Mujtaba F NickaAustraliaXuxue Feng QUALIFIED
Alejandro V FollerBrazilStephen Shaw UNQUALIFIED
Jeanfrancois B GauchoIndiaXuxue Feng RENEWAL
Maria B KuskoFranceAsiya Javayant RENEWAL
Kadeem T FerenczItalyAnna Fali RENEWAL
Murillo Z TollnerItalyAnna Fali QUALIFIED
David R BriddickBrazilElwin Sharvill UNQUALIFIED
Ivar D CaudyCanadaAmy Elsner UNQUALIFIED
Mayumi L IturbideRussiaXuxue Feng NEW
Jefferson J DilliardBrazilElwin Sharvill RENEWAL
Francesco L RutaGermanyAmy Elsner NEW
Ashley X DoeCanadaOnyama Limba QUALIFIED
Sinclair M InouyeItalyAsiya Javayant NEGOTIATION
James S SlusarskiIndiaAmy Elsner QUALIFIED
Juan O GarufiBrazilStephen Shaw UNQUALIFIED
Jefferson F PaprockiItalyXuxue Feng RENEWAL
Maisha F RulapaughRussiaXuxue Feng QUALIFIED
Salvatore X GarufiCanadaAsiya Javayant NEW
Izzy J RoysterIndiaBernardo Dominic NEGOTIATION
Costa I GarufiBrazilBernardo Dominic NEGOTIATION
Leja L StensethSpainXuxue Feng QUALIFIED
Johnson L KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Munro A ShinkoItalyBernardo Dominic NEW
Wickens X KolmetzFranceIoni Bowcher UNQUALIFIED
Leja X FlosiArgentinaIoni Bowcher RENEWAL
Isabel C RulapaughAustraliaIvan Magalhaes RENEWAL
David G BowleyCanadaAsiya Javayant NEGOTIATION
Costa H SaylorsItalyIoni Bowcher NEW
Jennifer F NickaIndiaBernardo Dominic RENEWAL
Aditya T BologniaCanadaAmy Elsner RENEWAL
Greenwood Z RutaJapanIvan Magalhaes NEW

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