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
Mayumi W FigeroaBrazilOnyama Limba NEW
Munro I GarufiArgentinaElwin Sharvill RENEWAL
Adams U IturbideArgentinaAnna Fali PROPOSAL
Ashley F AlbaresBrazilIoni Bowcher QUALIFIED
Kadeem F FollerBrazilIvan Magalhaes RENEWAL
Adams R CampainArgentinaAmy Elsner QUALIFIED
Juan X RimAustraliaAsiya Javayant UNQUALIFIED
Ashley W PoquetteSpainOnyama Limba NEGOTIATION
Jones N OstroskyGermanyOnyama Limba NEW
Aditya K PoquetteUnited KingdomAmy Elsner QUALIFIED
Juan L NestleIndiaAnna Fali RENEWAL
Tony G DilliardGermanyElwin Sharvill PROPOSAL
Faith K KolmetzItalyIoni Bowcher UNQUALIFIED
Aruna S WhobreyCanadaIvan Magalhaes NEGOTIATION
Arvin N AlbaresIndiaOnyama Limba QUALIFIED
Morrow U PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Adams S GauchoArgentinaAmy Elsner UNQUALIFIED
Juan J AlbaresSpainAsiya Javayant NEGOTIATION
Nicolas I SaylorsBrazilXuxue Feng UNQUALIFIED
Octavia Q NickaIndiaIvan Magalhaes UNQUALIFIED
Chavez C ButtJapanIoni Bowcher NEGOTIATION
Munro M KolmetzAustraliaAnna Fali RENEWAL
Faith P WhobreyGermanyStephen Shaw UNQUALIFIED
Silvio L PoquetteFranceAmy Elsner RENEWAL
Julie B MaletUnited KingdomAsiya Javayant RENEWAL
Isabel Z NestleItalyElwin Sharvill NEGOTIATION
Jones Q IturbideFranceAmy Elsner UNQUALIFIED
Alejandro L RulapaughCanadaAmy Elsner RENEWAL
Izzy C VocelkaArgentinaAnna Fali NEW
Smith B AmigonJapanStephen Shaw QUALIFIED
Leja B SaylorsArgentinaStephen Shaw NEGOTIATION
Aika Y BologniaCanadaAnna Fali QUALIFIED
Juan Z SchemmerItalyXuxue Feng UNQUALIFIED
Chavez I FollerBrazilXuxue Feng NEW
Johnson D OstroskyGermanyIvan Magalhaes UNQUALIFIED
Wickens T ChuiFranceIoni Bowcher QUALIFIED
David C MaletGermanyBernardo Dominic UNQUALIFIED
Jones B FigeroaSpainOnyama Limba NEW
Maria T AmigonCanadaBernardo Dominic RENEWAL
Darci J NestleIndiaOnyama Limba PROPOSAL
Leon F OstroskyRussiaIoni Bowcher NEW
Maisha U FlosiSpainAnna Fali RENEWAL
Johnson T MaletUnited KingdomElwin Sharvill NEW
Leja R FlosiItalyXuxue Feng UNQUALIFIED
Smith P BologniaItalyIoni Bowcher QUALIFIED
Greenwood V DoeSpainBernardo Dominic RENEWAL
Kaitlin T RulapaughCanadaAsiya Javayant NEGOTIATION
James F MacleadIndiaIvan Magalhaes QUALIFIED
Maria B SaylorsArgentinaIoni Bowcher NEW
Leja I GarufiJapanOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens M BriddickAustraliaAnna Fali RENEWAL
Jeanfrancois P ShinkoJapanBernardo Dominic QUALIFIED
Silvio U BowleyJapanIoni Bowcher RENEWAL
Claire H CaudySpainStephen Shaw RENEWAL
Julie B DilliardRussiaStephen Shaw QUALIFIED
Jefferson X InouyeSpainXuxue Feng QUALIFIED
Smith Y CampainRussiaAmy Elsner PROPOSAL
Francesco C BriddickAustraliaAnna Fali PROPOSAL
Maria J MorascaFranceIoni Bowcher RENEWAL
Greenwood G GarufiSpainOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel B BowleyIndia2026-07-15Rousseaux, Michael Esq QUALIFIED70Bernardo Dominic
1001Kaitlin G SaylorsGermany2026-07-21Printing Dimensions NEW90Stephen Shaw
1002Cody Q OstroskyBrazil2026-07-06Truhlar And Truhlar Attys UNQUALIFIED67Bernardo Dominic
1003Ivar A WieserCanada2026-07-16Buckley Miller Wright UNQUALIFIED12Elwin Sharvill
1004Isabel M NickaFrance2026-07-06Rousseaux, Michael Esq RENEWAL13Elwin Sharvill
1005Emily V StensethIndia2026-07-07Rangoni Of Florence NEGOTIATION19Anna Fali
1006Ivar B OstroskyIndia2026-07-08Dorl, James J Esq RENEWAL17Bernardo Dominic
1007Julie X DarakjyUnited Kingdom2026-07-28Chapman, Ross E Esq NEW15Amy Elsner
1008Nicolas P RutaJapan2026-07-17Chanay, Jeffrey A Esq UNQUALIFIED54Asiya Javayant
1009Kadeem I PerinAustralia2026-07-19Benton, John B Jr PROPOSAL6Bernardo Dominic
1010Stacey U RutaFrance2026-07-31Feltz Printing Service PROPOSAL55Stephen Shaw
1011Aditya M FlosiFrance2026-07-27Rousseaux, Michael Esq QUALIFIED58Xuxue Feng
1012Ivar I TollnerUnited Kingdom2026-07-22Rangoni Of Florence NEW61Ivan Magalhaes
1013Ricardo O VocelkaAustralia2026-07-24Morlong Associates PROPOSAL73Elwin Sharvill
1014Morrow U RimCanada2026-07-17Chemel, James L Cpa RENEWAL59Ivan Magalhaes
1015Johnson C AlbaresBrazil2026-07-10Chemel, James L Cpa QUALIFIED42Amy Elsner
1016Jeanfrancois B InouyeUnited Kingdom2026-07-03Chanay, Jeffrey A Esq UNQUALIFIED82Ivan Magalhaes
1017Aruna Y NestleGermany2026-07-12Benton, John B Jr QUALIFIED57Asiya Javayant
1018Munro A CampainArgentina2026-07-15Feiner Bros RENEWAL17Xuxue Feng
1019Misaki R WaycottCanada2026-07-13Truhlar And Truhlar Attys QUALIFIED93Asiya Javayant
1020Faith S SaylorsItaly2026-07-30Printing Dimensions QUALIFIED3Ivan Magalhaes
1021Stacey T SaylorsArgentina2026-07-31Truhlar And Truhlar Attys NEGOTIATION73Elwin Sharvill
1022Munro Q WieserUnited Kingdom2026-07-23Feltz Printing Service PROPOSAL46Xuxue Feng
1023Aruna W BriddickRussia2026-07-09Buckley Miller Wright UNQUALIFIED92Ivan Magalhaes
1024Morrow Z RutaAustralia2026-07-22Buckley Miller Wright NEW95Elwin Sharvill
1025Faith Z CampainUnited Kingdom2026-07-22Rangoni Of Florence PROPOSAL28Stephen Shaw
1026Misaki I WieserSpain2026-07-12Rousseaux, Michael Esq NEW49Elwin Sharvill
1027Mujtaba J PoquetteUnited Kingdom2026-07-10Rangoni Of Florence RENEWAL56Amy Elsner
1028Mujtaba U StensethJapan2026-07-08Buckley Miller Wright QUALIFIED40Asiya Javayant
1029Antonio B CampainArgentina2026-07-12Feltz Printing Service NEGOTIATION25Anna Fali
1030Emily V GillianRussia2026-07-19King, Christopher A Esq PROPOSAL5Onyama Limba
1031Silvio A FigeroaAustralia2026-07-18Rangoni Of Florence UNQUALIFIED32Stephen Shaw
1032Greenwood A InouyeAustralia2026-07-21Feiner Bros NEW97Onyama Limba
1033Wickens Q WaycottArgentina2026-07-15King, Christopher A Esq RENEWAL91Onyama Limba
1034Emily J CaudyBrazil2026-07-21Chapman, Ross E Esq NEGOTIATION0Xuxue Feng
1035Emily M DoeFrance2026-07-24Buckley Miller Wright UNQUALIFIED26Xuxue Feng
1036Chavez X MorascaBrazil2026-07-24Benton, John B Jr NEW15Xuxue Feng
1037Clifford J GlickCanada2026-07-13Truhlar And Truhlar Attys PROPOSAL34Xuxue Feng
1038Izzy V MaletBrazil2026-07-06Feltz Printing Service NEGOTIATION84Ivan Magalhaes
1039Tony K SchemmerCanada2026-07-18Commercial Press RENEWAL75Anna Fali
1040Kadeem R GauchoCanada2026-07-10Feiner Bros UNQUALIFIED38Bernardo Dominic
1041Greenwood M WhobreyIndia2026-07-16King, Christopher A Esq RENEWAL8Ivan Magalhaes
1042Faith U SchemmerAustralia2026-07-08Rousseaux, Michael Esq NEGOTIATION5Asiya Javayant
1043Adams B WhobreyRussia2026-07-25Buckley Miller Wright RENEWAL26Ioni Bowcher
1044Morrow Y OstroskyBrazil2026-07-03Chapman, Ross E Esq QUALIFIED8Stephen Shaw
1045James O AlbaresSpain2026-07-27Commercial Press PROPOSAL42Ioni Bowcher
1046Julie V CaudyIndia2026-07-09King, Christopher A Esq RENEWAL89Xuxue Feng
1047Adams K SaylorsRussia2026-07-20Commercial Press NEGOTIATION52Stephen Shaw
1048Smith G BowleyArgentina2026-07-05King, Christopher A Esq NEW71Amy Elsner
1049Darci H VenereUnited Kingdom2026-07-18Truhlar And Truhlar Attys PROPOSAL62Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Emily E ShinkoGermanyBernardo Dominic NEW
Francesco L ButtSpainOnyama Limba QUALIFIED
Mujtaba T NestleAustraliaIoni Bowcher RENEWAL
Octavia V CaudyUnited KingdomXuxue Feng NEW
Aika D IturbideGermanyBernardo Dominic RENEWAL
Chavez Y PoquetteSpainElwin Sharvill RENEWAL
Antonio U RutaFranceAsiya Javayant NEW
Aditya R RoysterIndiaAnna Fali UNQUALIFIED
Leja L SchemmerJapanAnna Fali QUALIFIED
Kaitlin U NestleGermanyAmy Elsner QUALIFIED
Izzy P DoeCanadaXuxue Feng QUALIFIED
Tony N GillianFranceAnna Fali NEGOTIATION
Jennifer U MarrierCanadaAsiya Javayant UNQUALIFIED
Aika J VocelkaBrazilBernardo Dominic NEW
Smith X WhobreyCanadaXuxue Feng UNQUALIFIED
Octavia E KolmetzBrazilAnna Fali NEW
Kadeem L RoysterItalyStephen Shaw PROPOSAL
Antonio I OldroydFranceAsiya Javayant RENEWAL
Antonio Q BriddickIndiaAsiya Javayant RENEWAL
Misaki C BologniaBrazilAmy Elsner QUALIFIED
Greenwood Y SergiJapanIoni Bowcher UNQUALIFIED
Izzy S GillianBrazilOnyama Limba PROPOSAL
Deepesh C VenereUnited KingdomBernardo Dominic PROPOSAL
Jones A FollerJapanAmy Elsner PROPOSAL
Mayumi X DoeRussiaStephen Shaw QUALIFIED
Ashley M MaletBrazilElwin Sharvill NEW
David E InouyeSpainAnna Fali QUALIFIED
Emily V MorascaItalyElwin Sharvill QUALIFIED
Darci O MarrierCanadaAnna Fali NEGOTIATION
Jefferson E CaldareraIndiaElwin Sharvill PROPOSAL
Cody W SlusarskiUnited KingdomBernardo Dominic RENEWAL
Maria Q MaletCanadaOnyama Limba QUALIFIED
Jeanfrancois H BologniaGermanyAmy Elsner NEW
Alejandro J SergiGermanyOnyama Limba NEGOTIATION
Cody O IturbideFranceXuxue Feng QUALIFIED
Kaitlin W MaletIndiaXuxue Feng QUALIFIED
Greenwood U SaylorsGermanyAsiya Javayant UNQUALIFIED
Ashley N WaycottItalyOnyama Limba UNQUALIFIED
Stacey P BriddickItalyXuxue Feng QUALIFIED
Johnson N GillianArgentinaElwin Sharvill RENEWAL
Octavia I GarufiArgentinaIvan Magalhaes NEW
Silvio U FerenczRussiaStephen Shaw QUALIFIED
Jeanfrancois V GillianGermanyIvan Magalhaes UNQUALIFIED
Mayumi J KuskoGermanyAsiya Javayant NEW
Cody G CaldareraBrazilIoni Bowcher PROPOSAL
Arvin X BologniaFranceIoni Bowcher UNQUALIFIED
Izzy J FlosiAustraliaIoni Bowcher NEGOTIATION
Maisha R WaycottSpainIvan Magalhaes RENEWAL
Costa Q SergiGermanyOnyama Limba QUALIFIED
Silvio U CaldareraFranceBernardo Dominic NEGOTIATION
Frozen Columns
Name
Darci S Stenseth
Silvio I Oldroyd
Isabel C Ruta
Jeanfrancois Z Campain
Kadeem O Kusko
Kaitlin S Malet
Jones V Stockham
Adams F Nicka
Mujtaba S Foller
Leon D Darakjy
Greenwood J Dilliard
Morrow X Paprocki
Tony I Malet
Ashley T Oldroyd
Francesco A Sergi
Jennifer W Bowley
Misaki F Shinko
Francesco E Doe
Izzy X Nicka
Aditya Q Gaucho
Jeanfrancois Z Figeroa
Claire P Paprocki
Julie Q Inouye
Maisha Y Ostrosky
Arvin C Stockham
Ricardo I Slusarski
Aruna T Malet
Leja B Ostrosky
Stacey O Flosi
Cody C Doe
Mayumi D Flosi
Misaki A Shinko
Silvio W Stenseth
Wickens O Gaucho
Johnson H Wieser
Isabel R Campain
Silvio P Caldarera
Sinclair G Caudy
Ricardo U Wieser
Ricardo H Tollner
Stacey K Paprocki
Cody H Marrier
Ashley R Caldarera
Greenwood F Morasca
Rodrigues M Stockham
Ashley V Bolognia
Jeanfrancois Y Paprocki
Murillo K Caudy
Ricardo F Bowley
David J Tollner
IdCountryDate
1000Italy2026-07-31
1001Russia2026-07-21
1002Japan2026-07-15
1003Australia2026-07-29
1004India2026-07-26
1005Canada2026-07-24
1006Argentina2026-07-15
1007United Kingdom2026-07-21
1008Germany2026-07-29
1009United Kingdom2026-07-15
1010France2026-07-31
1011Australia2026-07-31
1012Japan2026-07-11
1013Canada2026-07-27
1014India2026-07-27
1015Canada2026-07-04
1016Germany2026-07-14
1017Italy2026-07-14
1018Brazil2026-07-22
1019Japan2026-07-08
1020Japan2026-07-31
1021Brazil2026-07-25
1022Canada2026-07-25
1023Spain2026-07-31
1024Spain2026-07-28
1025Spain2026-07-30
1026Italy2026-07-09
1027United Kingdom2026-07-11
1028Japan2026-07-30
1029Brazil2026-07-22
1030Canada2026-07-20
1031Australia2026-07-13
1032India2026-07-21
1033France2026-07-03
1034Canada2026-07-07
1035Canada2026-07-12
1036Germany2026-07-31
1037Spain2026-07-09
1038Canada2026-07-17
1039Brazil2026-07-14
1040Spain2026-07-16
1041United Kingdom2026-07-30
1042Russia2026-07-23
1043Australia2026-07-05
1044Italy2026-07-11
1045Germany2026-07-03
1046India2026-07-17
1047France2026-07-19
1048Argentina2026-07-18
1049Canada2026-07-12

On-Demand Data

NameIdCountryDate
Claire N Kolmetz1000Brazil2026-07-14
David H Inouye1001Argentina2026-07-10
Stacey Q Wieser1002Canada2026-07-19
Misaki V Nestle1003Japan2026-07-23
Mayumi O Rulapaugh1004Spain2026-08-01
Jones J Malet1005France2026-07-08
David X Figeroa1006Spain2026-07-13
Munro Q Bolognia1007Japan2026-07-04
David I Nestle1008France2026-07-13
Antonio C Garufi1009Germany2026-07-11
Adams X Maclead1010Spain2026-07-06
Ashley E Paprocki1011United Kingdom2026-07-14
Jones O Dilliard1012Italy2026-07-12
Ricardo Q Iturbide1013France2026-07-09
Jennifer K Darakjy1014Australia2026-07-29
Costa A Rim1015Spain2026-07-17
Julie S Glick1016United Kingdom2026-07-29
Darci B Glick1017Spain2026-07-15
Francesco N Amigon1018Italy2026-07-22
Aditya Y Ostrosky1019Brazil2026-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba Y KolmetzCanadaAsiya Javayant UNQUALIFIED
Isabel N DarakjyGermanyBernardo Dominic NEW
Kaitlin Y KuskoIndiaIoni Bowcher RENEWAL
Maria N VenereCanadaElwin Sharvill QUALIFIED
Jeanfrancois L PoquetteJapanOnyama Limba QUALIFIED
Nicolas Q GarufiUnited KingdomElwin Sharvill NEGOTIATION
Maisha F DarakjyJapanElwin Sharvill QUALIFIED
Octavia F StockhamGermanyAmy Elsner QUALIFIED
James C CaldareraUnited KingdomBernardo Dominic RENEWAL
Ricardo B ShinkoIndiaIoni Bowcher UNQUALIFIED
Jennifer J BologniaUnited KingdomAsiya Javayant NEW
David P MarrierSpainAsiya Javayant PROPOSAL
Claire J RutaRussiaAmy Elsner UNQUALIFIED
Wickens D AlbaresJapanIoni Bowcher NEW
Leja W AlbaresAustraliaBernardo Dominic QUALIFIED
Aruna W ChuiBrazilIoni Bowcher NEGOTIATION
Ashley T DilliardArgentinaAnna Fali UNQUALIFIED
Mujtaba S GlickItalyIoni Bowcher PROPOSAL
Clifford F MacleadRussiaAmy Elsner UNQUALIFIED
Jeanfrancois T MaletCanadaAnna Fali QUALIFIED
Wickens G WieserUnited KingdomOnyama Limba RENEWAL
Silvio F GillianCanadaOnyama Limba QUALIFIED
Faith A TollnerGermanyIvan Magalhaes QUALIFIED
Salvatore M SergiSpainElwin Sharvill UNQUALIFIED
Murillo C VocelkaArgentinaStephen Shaw QUALIFIED
Leja C FlosiAustraliaIoni Bowcher UNQUALIFIED
Clifford A WieserFranceAsiya Javayant NEGOTIATION
Alejandro U IturbideCanadaBernardo Dominic NEGOTIATION
Francesco F KuskoRussiaOnyama Limba UNQUALIFIED
Jennifer M FollerFranceStephen Shaw NEW
Arvin Q GauchoArgentinaXuxue Feng NEW
Johnson I CaudyIndiaBernardo Dominic NEW
Jefferson I CampainCanadaXuxue Feng RENEWAL
Adams I StockhamCanadaBernardo Dominic NEW
Sinclair W StockhamGermanyStephen Shaw PROPOSAL
Silvio A CampainSpainOnyama Limba QUALIFIED
Leja I GauchoUnited KingdomElwin Sharvill PROPOSAL
Johnson D IturbideItalyIvan Magalhaes NEW
Emily J RoysterSpainAmy Elsner NEW
Jennifer T ButtJapanElwin 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>