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
Maria U StensethAustraliaIvan Magalhaes QUALIFIED
Darci R RimIndiaIoni Bowcher NEW
Salvatore I TollnerSpainStephen Shaw NEW
Silvio Q FerenczSpainElwin Sharvill NEGOTIATION
Silvio P FollerCanadaIvan Magalhaes QUALIFIED
Leja Q RulapaughAustraliaIoni Bowcher QUALIFIED
Isabel G GauchoCanadaAnna Fali RENEWAL
Aika K ButtFranceAnna Fali QUALIFIED
Leja Y BowleyRussiaAmy Elsner NEGOTIATION
Stacey C StockhamIndiaAmy Elsner NEGOTIATION
Arvin S ButtItalyBernardo Dominic NEW
Aditya H OldroydGermanyIvan Magalhaes PROPOSAL
Juan Z FlosiRussiaAmy Elsner PROPOSAL
Claire C RulapaughCanadaIoni Bowcher PROPOSAL
Leja Z InouyeUnited KingdomBernardo Dominic NEGOTIATION
Izzy D PaprockiBrazilStephen Shaw RENEWAL
James L OstroskyUnited KingdomIoni Bowcher QUALIFIED
Adams C BowleyGermanyAmy Elsner NEGOTIATION
Silvio A RulapaughSpainAnna Fali RENEWAL
Emily Q FollerRussiaOnyama Limba NEW
Johnson G AmigonFranceIoni Bowcher UNQUALIFIED
Emily U SchemmerAustraliaIvan Magalhaes NEGOTIATION
Ivar F DarakjySpainAmy Elsner RENEWAL
Murillo I WaycottFranceAnna Fali PROPOSAL
Claire L NickaItalyBernardo Dominic UNQUALIFIED
Izzy A ButtAustraliaStephen Shaw NEGOTIATION
Maisha W StensethRussiaXuxue Feng NEW
Stacey H IturbideUnited KingdomStephen Shaw QUALIFIED
Sinclair V GarufiJapanBernardo Dominic RENEWAL
Faith P BowleyIndiaElwin Sharvill NEW
Murillo J GillianBrazilStephen Shaw UNQUALIFIED
David V FollerItalyIoni Bowcher NEW
Alejandro M KuskoBrazilStephen Shaw PROPOSAL
Kaitlin X SaylorsGermanyIvan Magalhaes NEW
Maisha A IturbideJapanStephen Shaw PROPOSAL
Sinclair Y IturbideSpainElwin Sharvill NEW
Tony W WieserItalyAsiya Javayant QUALIFIED
Jefferson I FlosiFranceStephen Shaw QUALIFIED
Darci M CaldareraJapanStephen Shaw NEW
Johnson O CaldareraSpainAmy Elsner RENEWAL
Mayumi U MorascaSpainBernardo Dominic NEW
Alejandro X CaldareraGermanyBernardo Dominic NEGOTIATION
Maria I DarakjyJapanAsiya Javayant RENEWAL
Leon H MarrierCanadaElwin Sharvill QUALIFIED
Sinclair O DoeFranceOnyama Limba QUALIFIED
Darci C MarrierCanadaOnyama Limba PROPOSAL
Darci N MarrierRussiaBernardo Dominic RENEWAL
Mayumi K KolmetzRussiaIoni Bowcher NEW
Cody B RoysterAustraliaIoni Bowcher QUALIFIED
Julie A SchemmerItalyIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Munro B SaylorsJapanIvan Magalhaes PROPOSAL
Murillo A PaprockiRussiaStephen Shaw NEGOTIATION
Juan U VenereRussiaAsiya Javayant NEW
Sinclair A GlickItalyIoni Bowcher UNQUALIFIED
Nicolas Z WhobreyAustraliaAmy Elsner QUALIFIED
Rodrigues O BriddickSpainIoni Bowcher NEW
Costa F VocelkaJapanBernardo Dominic UNQUALIFIED
Jefferson M FlosiUnited KingdomXuxue Feng QUALIFIED
Murillo G OstroskyFranceAnna Fali QUALIFIED
Mujtaba Q SergiCanadaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Q VocelkaIndia2026-08-05Morlong Associates NEW7Ioni Bowcher
1001Cody I BologniaGermany2026-07-25Buckley Miller Wright QUALIFIED75Ivan Magalhaes
1002Kaitlin T SergiBrazil2026-07-25Rousseaux, Michael Esq NEGOTIATION93Ivan Magalhaes
1003Isabel Q StockhamJapan2026-07-24Chapman, Ross E Esq NEW45Anna Fali
1004Deepesh D DilliardJapan2026-08-03Feiner Bros RENEWAL93Xuxue Feng
1005Ivar X MaletUnited Kingdom2026-07-17Rousseaux, Michael Esq QUALIFIED63Amy Elsner
1006Leja V FlosiItaly2026-07-14Truhlar And Truhlar Attys NEW17Bernardo Dominic
1007Wickens R MaletSpain2026-07-29King, Christopher A Esq PROPOSAL90Ivan Magalhaes
1008Clifford C KolmetzJapan2026-07-21Dorl, James J Esq QUALIFIED1Ivan Magalhaes
1009Murillo F GauchoItaly2026-08-04Commercial Press QUALIFIED12Elwin Sharvill
1010Aruna P BowleyIndia2026-07-20King, Christopher A Esq PROPOSAL68Asiya Javayant
1011Ivar F KuskoIndia2026-07-17King, Christopher A Esq RENEWAL35Ivan Magalhaes
1012Munro P WhobreyIndia2026-07-17Printing Dimensions QUALIFIED6Amy Elsner
1013Salvatore T PaprockiAustralia2026-08-07Commercial Press QUALIFIED18Ioni Bowcher
1014Johnson U FlosiArgentina2026-07-15Truhlar And Truhlar Attys QUALIFIED10Xuxue Feng
1015Wickens J TollnerItaly2026-07-25Feiner Bros QUALIFIED95Stephen Shaw
1016Ivar C MacleadArgentina2026-07-20Printing Dimensions PROPOSAL28Asiya Javayant
1017Aditya D CampainRussia2026-07-25Benton, John B Jr RENEWAL72Amy Elsner
1018Clifford U GarufiAustralia2026-07-29Chanay, Jeffrey A Esq NEW81Ioni Bowcher
1019James L MaletItaly2026-07-29Rangoni Of Florence NEW55Xuxue Feng
1020Chavez U TollnerGermany2026-07-16Chanay, Jeffrey A Esq QUALIFIED80Anna Fali
1021Smith W SlusarskiCanada2026-07-30Feltz Printing Service NEW28Asiya Javayant
1022Aruna R ShinkoCanada2026-08-12Dorl, James J Esq UNQUALIFIED41Elwin Sharvill
1023Faith P OldroydUnited Kingdom2026-07-27Buckley Miller Wright NEW15Elwin Sharvill
1024Deepesh C VocelkaItaly2026-07-31King, Christopher A Esq UNQUALIFIED94Ivan Magalhaes
1025Juan B SergiArgentina2026-07-21Chemel, James L Cpa PROPOSAL25Ioni Bowcher
1026Costa W StensethGermany2026-08-04King, Christopher A Esq RENEWAL17Amy Elsner
1027Morrow Y RimRussia2026-07-30Feltz Printing Service QUALIFIED85Stephen Shaw
1028Mujtaba X GauchoAustralia2026-07-19Chapman, Ross E Esq UNQUALIFIED37Elwin Sharvill
1029Nicolas E FlosiItaly2026-08-11Feltz Printing Service NEW0Onyama Limba
1030Salvatore P RoysterJapan2026-07-28Rangoni Of Florence NEW75Elwin Sharvill
1031Juan W DilliardFrance2026-08-11Rangoni Of Florence RENEWAL23Bernardo Dominic
1032Arvin Q PaprockiUnited Kingdom2026-07-22Chapman, Ross E Esq RENEWAL18Anna Fali
1033Chavez O FigeroaIndia2026-08-01King, Christopher A Esq NEGOTIATION80Stephen Shaw
1034Misaki K BologniaFrance2026-07-27Dorl, James J Esq RENEWAL52Stephen Shaw
1035Wickens Q FerenczBrazil2026-07-27Chapman, Ross E Esq UNQUALIFIED17Xuxue Feng
1036James Z GauchoUnited Kingdom2026-08-02Feiner Bros NEW45Bernardo Dominic
1037Salvatore M SchemmerGermany2026-07-25Dorl, James J Esq RENEWAL71Bernardo Dominic
1038Aditya J SlusarskiItaly2026-07-18Rousseaux, Michael Esq NEGOTIATION10Elwin Sharvill
1039Kadeem S VenereAustralia2026-07-31Morlong Associates QUALIFIED94Bernardo Dominic
1040Murillo W FerenczBrazil2026-08-09Buckley Miller Wright NEW31Ioni Bowcher
1041Maisha B VocelkaAustralia2026-08-04Feltz Printing Service RENEWAL29Bernardo Dominic
1042Silvio R FigeroaIndia2026-07-27Benton, John B Jr NEW44Bernardo Dominic
1043Ashley H MorascaGermany2026-07-31Morlong Associates RENEWAL99Amy Elsner
1044Julie Q VenereItaly2026-08-04Rousseaux, Michael Esq RENEWAL83Elwin Sharvill
1045Maisha W StensethCanada2026-07-23King, Christopher A Esq PROPOSAL38Asiya Javayant
1046Aruna K FigeroaJapan2026-07-29Commercial Press RENEWAL1Elwin Sharvill
1047David H FigeroaFrance2026-07-18Commercial Press QUALIFIED99Stephen Shaw
1048Ashley M RulapaughIndia2026-08-02Printing Dimensions NEW0Amy Elsner
1049Ricardo Y NestleIndia2026-07-19Chemel, James L Cpa QUALIFIED12Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo F VocelkaItalyStephen Shaw PROPOSAL
Darci U DarakjyCanadaElwin Sharvill UNQUALIFIED
Francesco W DilliardUnited KingdomIoni Bowcher RENEWAL
Julie H AlbaresUnited KingdomAnna Fali UNQUALIFIED
Kaitlin K StockhamJapanElwin Sharvill UNQUALIFIED
Smith R DilliardGermanyAmy Elsner PROPOSAL
Jennifer W MaletIndiaElwin Sharvill UNQUALIFIED
Maisha G StensethRussiaIvan Magalhaes PROPOSAL
Isabel J VenereAustraliaOnyama Limba NEGOTIATION
Morrow R CaudyUnited KingdomAmy Elsner PROPOSAL
Aditya B FollerAustraliaIoni Bowcher NEGOTIATION
Greenwood Y SaylorsRussiaXuxue Feng UNQUALIFIED
Wickens I FerenczAustraliaOnyama Limba NEGOTIATION
Maria I StockhamUnited KingdomIoni Bowcher RENEWAL
Cody O OstroskyRussiaOnyama Limba QUALIFIED
Antonio J BologniaCanadaStephen Shaw QUALIFIED
James H BowleyBrazilStephen Shaw UNQUALIFIED
Silvio I SchemmerSpainAsiya Javayant PROPOSAL
Wickens X GarufiUnited KingdomAmy Elsner NEW
Julie F VenereCanadaIoni Bowcher UNQUALIFIED
Tony O IturbideAustraliaOnyama Limba QUALIFIED
Leon R StensethArgentinaAsiya Javayant UNQUALIFIED
Arvin K BriddickGermanyStephen Shaw UNQUALIFIED
Costa T InouyeBrazilStephen Shaw PROPOSAL
Kadeem P WieserGermanyElwin Sharvill NEW
Costa O BowleyUnited KingdomOnyama Limba PROPOSAL
Emily Y KuskoGermanyElwin Sharvill NEGOTIATION
Mayumi C OldroydIndiaElwin Sharvill RENEWAL
Kaitlin T FollerFranceIoni Bowcher PROPOSAL
David J MaletItalyAsiya Javayant NEW
Faith M MacleadRussiaIoni Bowcher NEW
Adams F MacleadGermanyAmy Elsner PROPOSAL
Salvatore S MaletArgentinaIoni Bowcher NEW
Izzy Q MaletCanadaBernardo Dominic NEW
Mayumi B FerenczGermanyIvan Magalhaes RENEWAL
Aruna U MorascaArgentinaXuxue Feng RENEWAL
Jones W VenereIndiaBernardo Dominic NEW
Aruna S FlosiItalyAmy Elsner RENEWAL
Kaitlin F GlickUnited KingdomStephen Shaw NEW
James Y AlbaresRussiaBernardo Dominic NEGOTIATION
Wickens T GillianRussiaBernardo Dominic RENEWAL
Sinclair D MarrierSpainIvan Magalhaes NEW
Jones J PoquetteItalyAmy Elsner QUALIFIED
Leja Y MarrierAustraliaIvan Magalhaes PROPOSAL
Arvin Z MaletRussiaIoni Bowcher QUALIFIED
Clifford Y BologniaJapanElwin Sharvill QUALIFIED
Emily H OstroskyIndiaElwin Sharvill PROPOSAL
Mayumi X GlickUnited KingdomStephen Shaw QUALIFIED
Claire M WhobreyCanadaOnyama Limba RENEWAL
Jones M AmigonCanadaAsiya Javayant QUALIFIED
Frozen Columns
Name
Adams Q Waycott
Deepesh E Oldroyd
Silvio X Oldroyd
Antonio I Morasca
James X Nestle
Deepesh I Nestle
Julie I Caldarera
Ivar U Vocelka
David I Glick
Jennifer J Chui
Kaitlin T Kolmetz
Aditya Z Schemmer
Aditya Z Perin
Silvio U Waycott
Nicolas C Sergi
Mujtaba C Gillian
Aditya V Ruta
Izzy D Dilliard
Sinclair C Bolognia
Rodrigues G Iturbide
Jennifer A Kusko
Johnson L Slusarski
Tony T Garufi
Stacey J Wieser
David V Marrier
Stacey O Stenseth
Salvatore V Figeroa
Greenwood Y Marrier
Ashley A Vocelka
Isabel F Iturbide
Darci I Gaucho
Ivar F Slusarski
Jones E Venere
Cody N Sergi
David A Briddick
Smith L Morasca
David O Wieser
Johnson N Amigon
Leja Y Rulapaugh
Kaitlin M Doe
Chavez G Malet
Sinclair X Ferencz
Silvio P Briddick
Tony R Morasca
Aditya J Doe
Stacey G Whobrey
Arvin K Gaucho
Maisha M Malet
Antonio G Foller
Ricardo E Rim
IdCountryDate
1000France2026-07-28
1001Spain2026-07-18
1002Italy2026-07-28
1003Brazil2026-08-11
1004Spain2026-07-28
1005Brazil2026-07-26
1006Germany2026-07-30
1007Brazil2026-08-04
1008France2026-07-18
1009Japan2026-07-31
1010Italy2026-08-11
1011India2026-07-22
1012Australia2026-07-18
1013France2026-07-14
1014Spain2026-07-28
1015Japan2026-08-09
1016Germany2026-07-15
1017Spain2026-07-31
1018Brazil2026-07-29
1019France2026-07-14
1020Germany2026-07-22
1021Germany2026-07-22
1022United Kingdom2026-08-07
1023Russia2026-08-07
1024Japan2026-08-02
1025Spain2026-07-21
1026United Kingdom2026-07-20
1027India2026-07-24
1028France2026-08-01
1029Australia2026-07-18
1030Australia2026-07-30
1031France2026-08-01
1032Canada2026-07-18
1033Japan2026-07-22
1034United Kingdom2026-08-12
1035Germany2026-07-14
1036France2026-08-03
1037France2026-07-29
1038Brazil2026-07-21
1039France2026-08-01
1040Spain2026-07-25
1041Germany2026-08-03
1042France2026-07-19
1043France2026-07-16
1044Brazil2026-08-04
1045Japan2026-08-11
1046Italy2026-07-18
1047Argentina2026-07-20
1048Argentina2026-07-22
1049Argentina2026-07-24

On-Demand Data

NameIdCountryDate
Ashley J Shinko1000Argentina2026-08-10
Maria Y Gaucho1001Russia2026-07-24
Cody W Wieser1002Australia2026-08-01
Adams L Oldroyd1003United Kingdom2026-08-05
Juan B Gaucho1004Canada2026-07-22
Mayumi L Gillian1005Germany2026-08-10
David J Campain1006Canada2026-08-03
David C Rim1007Argentina2026-07-31
Leon Y Perin1008India2026-07-22
Nicolas Q Butt1009United Kingdom2026-08-07
Faith H Vocelka1010Australia2026-07-21
Nicolas M Kolmetz1011Spain2026-08-09
Rodrigues P Saylors1012Russia2026-07-18
Arvin A Vocelka1013Spain2026-07-26
Mayumi M Venere1014Spain2026-08-12
Emily E Maclead1015United Kingdom2026-08-07
Nicolas C Venere1016Canada2026-08-07
Octavia B Ostrosky1017Argentina2026-08-08
Antonio U Morasca1018Brazil2026-08-12
Murillo K Glick1019Russia2026-07-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja P IturbideCanadaOnyama Limba RENEWAL
Alejandro L OstroskyJapanAnna Fali NEW
Murillo K ChuiSpainIvan Magalhaes UNQUALIFIED
Rodrigues H AlbaresRussiaIvan Magalhaes NEGOTIATION
Clifford H StensethBrazilIvan Magalhaes RENEWAL
Jones Q AlbaresJapanStephen Shaw RENEWAL
Deepesh Z MarrierCanadaAsiya Javayant PROPOSAL
Chavez J KuskoItalyIoni Bowcher QUALIFIED
Isabel H SaylorsArgentinaElwin Sharvill NEGOTIATION
Stacey T RimFranceAnna Fali PROPOSAL
Maria K RulapaughCanadaElwin Sharvill NEGOTIATION
Wickens A TollnerJapanXuxue Feng NEGOTIATION
Ricardo D CampainArgentinaElwin Sharvill NEW
Arvin A WaycottIndiaXuxue Feng NEGOTIATION
Costa Q FigeroaGermanyElwin Sharvill NEGOTIATION
Antonio U SaylorsSpainIvan Magalhaes RENEWAL
Rodrigues X VenereJapanOnyama Limba UNQUALIFIED
Aruna J MaletItalyXuxue Feng NEGOTIATION
Aika E RulapaughIndiaAnna Fali QUALIFIED
Rodrigues N FerenczRussiaIoni Bowcher RENEWAL
Jeanfrancois D StockhamSpainStephen Shaw NEGOTIATION
Kadeem P IturbideBrazilAsiya Javayant NEW
James Y ChuiFranceOnyama Limba PROPOSAL
Leon P AlbaresFranceAnna Fali QUALIFIED
Chavez Y MorascaSpainAmy Elsner RENEWAL
Jeanfrancois E DilliardIndiaIvan Magalhaes NEGOTIATION
Maria W OstroskyBrazilStephen Shaw NEGOTIATION
Mayumi R RoysterRussiaIvan Magalhaes NEW
Stacey M RutaCanadaIvan Magalhaes UNQUALIFIED
Johnson A TollnerJapanAmy Elsner NEGOTIATION
Emily K IturbideJapanXuxue Feng NEGOTIATION
Alejandro J MaletArgentinaElwin Sharvill NEW
Cody V CaldareraJapanIvan Magalhaes NEW
Chavez Y WieserGermanyElwin Sharvill QUALIFIED
Alejandro K AlbaresAustraliaIoni Bowcher NEGOTIATION
James R KolmetzIndiaElwin Sharvill NEW
Munro I SaylorsSpainIvan Magalhaes RENEWAL
Smith X BriddickUnited KingdomStephen Shaw NEW
Silvio C InouyeAustraliaIvan Magalhaes NEW
Isabel P CaudyJapanBernardo Dominic RENEWAL

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