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
Octavia N RulapaughFranceIoni Bowcher RENEWAL
Smith Y SlusarskiFranceElwin Sharvill RENEWAL
Kadeem A StensethItalyBernardo Dominic UNQUALIFIED
Rodrigues Y IturbideGermanyBernardo Dominic RENEWAL
Tony P FlosiSpainXuxue Feng UNQUALIFIED
Aruna H SaylorsFranceAsiya Javayant NEW
Ashley N MorascaJapanIvan Magalhaes NEGOTIATION
David E WieserCanadaBernardo Dominic NEW
Alejandro G DarakjyAustraliaIvan Magalhaes QUALIFIED
Stacey I CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem V RoysterFranceIoni Bowcher NEW
Misaki M PoquetteCanadaIvan Magalhaes NEW
Ivar N InouyeIndiaAmy Elsner RENEWAL
Emily D ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba C AmigonIndiaOnyama Limba NEW
Morrow W AmigonBrazilAsiya Javayant RENEWAL
Aika U MacleadIndiaXuxue Feng NEW
Ricardo D CampainCanadaOnyama Limba NEW
James J SergiRussiaBernardo Dominic NEGOTIATION
Murillo K RimRussiaIoni Bowcher PROPOSAL
Smith G BowleyBrazilIvan Magalhaes RENEWAL
Claire Y DilliardSpainOnyama Limba UNQUALIFIED
Leja X CaudyArgentinaStephen Shaw PROPOSAL
Kadeem H SergiCanadaXuxue Feng NEGOTIATION
Leja D WhobreyFranceXuxue Feng PROPOSAL
Costa N ChuiFranceBernardo Dominic NEGOTIATION
Chavez L VenereItalyIvan Magalhaes PROPOSAL
Claire D StockhamAustraliaXuxue Feng UNQUALIFIED
Arvin O PerinIndiaStephen Shaw PROPOSAL
Emily V InouyeAustraliaXuxue Feng NEW
Salvatore C TollnerCanadaStephen Shaw UNQUALIFIED
Ricardo B BowleyAustraliaAsiya Javayant NEW
Wickens E RutaArgentinaAnna Fali NEGOTIATION
Ashley B RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro G WaycottRussiaIvan Magalhaes UNQUALIFIED
Octavia C KuskoFranceBernardo Dominic UNQUALIFIED
Morrow I MarrierBrazilAnna Fali UNQUALIFIED
Nicolas S BowleyItalyBernardo Dominic RENEWAL
Maria B WaycottItalyAnna Fali UNQUALIFIED
Emily Q BologniaCanadaIvan Magalhaes PROPOSAL
Sinclair S CaudySpainAnna Fali UNQUALIFIED
Johnson H DarakjyFranceAmy Elsner UNQUALIFIED
Jeanfrancois A DoeArgentinaStephen Shaw QUALIFIED
Kadeem A DilliardBrazilElwin Sharvill PROPOSAL
Deepesh X SchemmerRussiaBernardo Dominic QUALIFIED
Salvatore H MaletGermanyAsiya Javayant NEGOTIATION
Alejandro A MaletItalyStephen Shaw QUALIFIED
Kadeem E GlickArgentinaIoni Bowcher NEGOTIATION
Kaitlin C OldroydIndiaIoni Bowcher RENEWAL
Darci R RutaGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams G SlusarskiBrazilAmy Elsner NEW
Aika G NestleFranceAsiya Javayant QUALIFIED
Cody V SergiArgentinaAmy Elsner NEW
Nicolas P StensethArgentinaIvan Magalhaes UNQUALIFIED
Ivar S AlbaresArgentinaAsiya Javayant PROPOSAL
Mujtaba C OldroydRussiaAmy Elsner QUALIFIED
Alejandro M MarrierJapanAnna Fali PROPOSAL
Johnson T RutaSpainElwin Sharvill UNQUALIFIED
Aruna X GlickItalyBernardo Dominic QUALIFIED
Stacey G MorascaUnited KingdomAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones F VenereIndia2026-06-27Printing Dimensions UNQUALIFIED57Elwin Sharvill
1001Darci I CaudyRussia2026-07-22Rangoni Of Florence PROPOSAL57Anna Fali
1002Stacey Q BologniaUnited Kingdom2026-06-28Feltz Printing Service UNQUALIFIED23Bernardo Dominic
1003Tony P RulapaughRussia2026-07-13Feiner Bros NEW34Onyama Limba
1004Deepesh R VocelkaUnited Kingdom2026-07-13Chanay, Jeffrey A Esq NEW4Anna Fali
1005Aika S IturbideGermany2026-07-20Truhlar And Truhlar Attys RENEWAL1Asiya Javayant
1006James R DarakjyArgentina2026-07-22Buckley Miller Wright QUALIFIED96Ivan Magalhaes
1007Arvin U OldroydCanada2026-06-25Chanay, Jeffrey A Esq PROPOSAL70Elwin Sharvill
1008Nicolas K CampainBrazil2026-07-11Morlong Associates RENEWAL76Stephen Shaw
1009Darci I WaycottFrance2026-07-02Chapman, Ross E Esq NEW80Amy Elsner
1010Clifford I PoquetteGermany2026-07-03Dorl, James J Esq NEGOTIATION88Xuxue Feng
1011Aika W SaylorsAustralia2026-07-12Feiner Bros RENEWAL53Anna Fali
1012Maisha E BriddickRussia2026-07-01Rousseaux, Michael Esq NEW76Onyama Limba
1013Morrow R SaylorsItaly2026-07-19Chapman, Ross E Esq NEGOTIATION98Ivan Magalhaes
1014Aruna Q DarakjyFrance2026-07-16Feltz Printing Service UNQUALIFIED18Ivan Magalhaes
1015Wickens I ChuiArgentina2026-07-12Dorl, James J Esq RENEWAL92Ioni Bowcher
1016Ivar V ShinkoAustralia2026-07-18Morlong Associates RENEWAL35Anna Fali
1017Johnson X DoeBrazil2026-07-21Dorl, James J Esq PROPOSAL80Elwin Sharvill
1018Cody K OstroskyGermany2026-06-25Commercial Press PROPOSAL47Ivan Magalhaes
1019Izzy X KuskoCanada2026-07-10Chapman, Ross E Esq NEW82Anna Fali
1020Ivar W MarrierBrazil2026-07-14Commercial Press NEGOTIATION47Elwin Sharvill
1021Chavez Y BologniaJapan2026-06-25Feiner Bros NEGOTIATION56Ioni Bowcher
1022Costa B PerinFrance2026-06-24Buckley Miller Wright NEGOTIATION54Elwin Sharvill
1023Aditya T SergiJapan2026-07-17Truhlar And Truhlar Attys NEGOTIATION28Anna Fali
1024Ivar D GlickGermany2026-07-23King, Christopher A Esq NEW67Onyama Limba
1025Ricardo G OldroydArgentina2026-07-22Rousseaux, Michael Esq NEW31Ioni Bowcher
1026Clifford C InouyeAustralia2026-07-08Morlong Associates NEW75Asiya Javayant
1027Silvio C GlickSpain2026-06-28Printing Dimensions PROPOSAL25Bernardo Dominic
1028Johnson I WaycottBrazil2026-07-08Benton, John B Jr RENEWAL57Amy Elsner
1029Misaki D MacleadIndia2026-07-02Chapman, Ross E Esq NEGOTIATION0Anna Fali
1030Alejandro S BologniaAustralia2026-07-22Rangoni Of Florence PROPOSAL51Anna Fali
1031David G DoeBrazil2026-07-01Chemel, James L Cpa NEW30Elwin Sharvill
1032Deepesh R BowleyRussia2026-06-29Benton, John B Jr PROPOSAL21Elwin Sharvill
1033Emily N OldroydUnited Kingdom2026-06-28Chapman, Ross E Esq QUALIFIED65Amy Elsner
1034Isabel B FerenczAustralia2026-06-28Printing Dimensions NEGOTIATION67Amy Elsner
1035Munro L ChuiUnited Kingdom2026-06-26Dorl, James J Esq PROPOSAL24Ioni Bowcher
1036Ivar D WhobreyJapan2026-07-20Chemel, James L Cpa QUALIFIED9Xuxue Feng
1037Julie A RutaJapan2026-06-29Morlong Associates RENEWAL12Anna Fali
1038Kaitlin P WieserItaly2026-06-24Feiner Bros NEGOTIATION18Stephen Shaw
1039Johnson N InouyeItaly2026-07-08Chapman, Ross E Esq UNQUALIFIED73Xuxue Feng
1040Wickens K IturbideAustralia2026-07-11Buckley Miller Wright NEGOTIATION98Ivan Magalhaes
1041Munro L DarakjySpain2026-07-19Truhlar And Truhlar Attys UNQUALIFIED62Onyama Limba
1042Izzy M FigeroaRussia2026-07-21Chemel, James L Cpa QUALIFIED20Onyama Limba
1043Mujtaba S InouyeUnited Kingdom2026-07-21Morlong Associates UNQUALIFIED5Xuxue Feng
1044David K OldroydGermany2026-06-24Morlong Associates PROPOSAL12Amy Elsner
1045Deepesh T DoeRussia2026-07-14Feltz Printing Service RENEWAL94Bernardo Dominic
1046Octavia T ChuiGermany2026-07-22Truhlar And Truhlar Attys UNQUALIFIED82Bernardo Dominic
1047Jefferson C KolmetzFrance2026-07-23Chanay, Jeffrey A Esq RENEWAL7Anna Fali
1048Octavia O AlbaresArgentina2026-07-18Chanay, Jeffrey A Esq NEGOTIATION21Elwin Sharvill
1049Juan A TollnerGermany2026-07-04Chemel, James L Cpa NEGOTIATION63Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Kadeem A WaycottBrazilStephen Shaw NEW
Alejandro U SergiGermanyIvan Magalhaes NEGOTIATION
Claire Z VocelkaSpainAsiya Javayant RENEWAL
Emily W BowleyCanadaAsiya Javayant QUALIFIED
Morrow S GillianSpainAnna Fali RENEWAL
Emily T DilliardSpainIvan Magalhaes PROPOSAL
Darci R ButtAustraliaStephen Shaw NEGOTIATION
Izzy V KolmetzJapanStephen Shaw PROPOSAL
Ashley G MacleadJapanBernardo Dominic QUALIFIED
Clifford T SaylorsItalyIoni Bowcher PROPOSAL
Alejandro V GillianRussiaElwin Sharvill UNQUALIFIED
Juan A CaldareraBrazilBernardo Dominic UNQUALIFIED
Greenwood Z CaldareraBrazilIoni Bowcher NEW
Maria V NestleArgentinaAmy Elsner PROPOSAL
Maria R TollnerItalyAsiya Javayant NEGOTIATION
Leon H MorascaArgentinaXuxue Feng NEW
Aika Q VenereArgentinaAsiya Javayant UNQUALIFIED
Julie Z NestleFranceOnyama Limba UNQUALIFIED
Aruna Y NestleIndiaXuxue Feng NEW
Kaitlin X RoysterGermanyOnyama Limba PROPOSAL
Clifford T StensethIndiaAmy Elsner UNQUALIFIED
Ivar D MarrierAustraliaXuxue Feng NEGOTIATION
Adams I OldroydItalyIoni Bowcher NEGOTIATION
Ashley W MaletItalyElwin Sharvill NEGOTIATION
Arvin O DilliardBrazilOnyama Limba NEW
Alejandro I CaudyCanadaOnyama Limba NEGOTIATION
Juan E BologniaItalyXuxue Feng RENEWAL
Johnson W CaldareraFranceAnna Fali UNQUALIFIED
Morrow U WieserIndiaIoni Bowcher NEGOTIATION
Leon J BriddickBrazilStephen Shaw QUALIFIED
Silvio G DarakjyItalyElwin Sharvill QUALIFIED
Sinclair L WieserFranceAnna Fali RENEWAL
Isabel F RulapaughCanadaIvan Magalhaes RENEWAL
Izzy A RutaCanadaIoni Bowcher NEW
Smith H MaletUnited KingdomStephen Shaw QUALIFIED
Jones T MaletSpainXuxue Feng NEGOTIATION
Jennifer U SlusarskiArgentinaBernardo Dominic QUALIFIED
Leja J TollnerAustraliaOnyama Limba NEGOTIATION
Kadeem N VocelkaArgentinaStephen Shaw PROPOSAL
Jennifer X OldroydFranceIvan Magalhaes NEW
Jennifer A VocelkaAustraliaIvan Magalhaes QUALIFIED
Greenwood V WieserJapanIvan Magalhaes QUALIFIED
Mujtaba P ButtGermanyOnyama Limba RENEWAL
Ashley Y GarufiJapanIvan Magalhaes PROPOSAL
Clifford T FerenczIndiaBernardo Dominic PROPOSAL
Greenwood Z StockhamIndiaAsiya Javayant PROPOSAL
Wickens W PoquetteJapanXuxue Feng PROPOSAL
Murillo V StensethItalyStephen Shaw UNQUALIFIED
Jones B WaycottGermanyIvan Magalhaes PROPOSAL
Antonio C GlickIndiaAnna Fali PROPOSAL
Frozen Columns
Name
Leja E Dilliard
Ricardo Y Morasca
Kaitlin I Doe
Emily I Chui
Chavez Z Glick
Aditya B Amigon
Johnson C Ruta
Wickens Z Foller
David M Flosi
Rodrigues S Rim
Emily N Caudy
Munro A Stockham
Mujtaba S Stockham
Munro B Rulapaugh
Misaki I Saylors
Aruna C Garufi
Leon H Royster
Cody F Amigon
Stacey Z Poquette
James L Amigon
Murillo I Nestle
Octavia R Caudy
Wickens W Malet
Tony D Whobrey
Deepesh S Paprocki
Ivar T Shinko
Silvio X Sergi
Smith U Sergi
Wickens F Maclead
Misaki B Saylors
Smith K Waycott
Leon Z Vocelka
Arvin O Sergi
Mayumi G Oldroyd
Rodrigues U Rulapaugh
Darci Y Venere
Julie E Briddick
Sinclair M Rulapaugh
Chavez I Caudy
Chavez I Figeroa
Adams V Inouye
Juan N Inouye
Octavia B Darakjy
Octavia P Butt
Mayumi T Maclead
Darci D Flosi
Costa K Nestle
Aika V Kusko
Silvio V Inouye
Rodrigues B Caudy
IdCountryDate
1000India2026-07-21
1001Germany2026-07-16
1002Germany2026-07-03
1003Argentina2026-07-08
1004India2026-06-24
1005Argentina2026-07-17
1006Japan2026-07-11
1007United Kingdom2026-07-04
1008India2026-07-17
1009Spain2026-07-21
1010United Kingdom2026-07-02
1011Canada2026-07-18
1012France2026-07-10
1013Spain2026-07-20
1014Spain2026-06-28
1015Spain2026-07-23
1016Argentina2026-06-25
1017India2026-07-12
1018Germany2026-06-27
1019Spain2026-07-03
1020India2026-06-27
1021Italy2026-07-19
1022Argentina2026-07-10
1023United Kingdom2026-07-21
1024Germany2026-07-11
1025Canada2026-07-09
1026France2026-07-11
1027Australia2026-06-29
1028Japan2026-07-19
1029Canada2026-07-15
1030Argentina2026-06-30
1031Japan2026-07-02
1032France2026-07-14
1033France2026-06-24
1034Germany2026-07-09
1035Germany2026-07-14
1036Spain2026-06-26
1037Spain2026-07-16
1038Argentina2026-06-27
1039Germany2026-07-07
1040Brazil2026-06-29
1041Argentina2026-07-09
1042Canada2026-07-15
1043India2026-07-06
1044Spain2026-07-19
1045Russia2026-07-09
1046Argentina2026-07-20
1047Canada2026-07-20
1048Brazil2026-07-23
1049Australia2026-07-16

On-Demand Data

NameIdCountryDate
Aika K Maclead1000Australia2026-07-09
Munro U Vocelka1001Japan2026-07-01
Silvio F Whobrey1002Canada2026-07-10
Greenwood J Poquette1003Japan2026-07-02
Greenwood J Wieser1004Argentina2026-07-09
Juan Z Wieser1005Australia2026-07-19
Tony I Ruta1006Brazil2026-07-15
Isabel H Garufi1007Spain2026-07-07
Arvin V Caudy1008Brazil2026-07-09
Adams Q Perin1009Italy2026-07-01
Aika K Oldroyd1010Brazil2026-06-26
Johnson I Royster1011United Kingdom2026-06-25
Arvin T Ostrosky1012Spain2026-07-11
Ricardo W Albares1013Germany2026-07-04
Munro Z Bolognia1014Australia2026-07-11
Sinclair B Venere1015Russia2026-07-04
Tony F Saylors1016Canada2026-07-16
Aika N Kusko1017Spain2026-07-18
Murillo M Campain1018Russia2026-07-09
Julie M Perin1019Japan2026-07-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey X RimArgentinaAmy Elsner RENEWAL
Octavia H VocelkaIndiaAsiya Javayant RENEWAL
Jefferson W FlosiIndiaBernardo Dominic NEGOTIATION
Deepesh Z StensethJapanStephen Shaw PROPOSAL
Misaki H NestleGermanyOnyama Limba RENEWAL
Greenwood K AmigonCanadaElwin Sharvill UNQUALIFIED
Izzy U KuskoGermanyXuxue Feng NEW
Faith M CampainIndiaIoni Bowcher NEW
Tony E PerinRussiaElwin Sharvill UNQUALIFIED
Aruna W SergiItalyAnna Fali QUALIFIED
Smith O PaprockiItalyStephen Shaw NEW
Juan F SergiUnited KingdomStephen Shaw RENEWAL
Johnson O KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Adams J FollerBrazilAmy Elsner QUALIFIED
Antonio J PoquetteIndiaAsiya Javayant RENEWAL
Darci V GauchoUnited KingdomAnna Fali QUALIFIED
Smith I DoeJapanBernardo Dominic PROPOSAL
Salvatore O BologniaJapanXuxue Feng NEGOTIATION
Nicolas O OldroydCanadaStephen Shaw RENEWAL
Aruna D MaletRussiaOnyama Limba UNQUALIFIED
Arvin Q WaycottSpainIvan Magalhaes RENEWAL
Julie K StensethSpainAsiya Javayant PROPOSAL
Leon B CaldareraAustraliaAnna Fali PROPOSAL
Morrow H WieserSpainStephen Shaw NEW
Salvatore C FollerSpainElwin Sharvill NEW
Antonio F MaletFranceStephen Shaw NEGOTIATION
Aditya W InouyeRussiaAnna Fali QUALIFIED
Jennifer A SchemmerUnited KingdomStephen Shaw NEGOTIATION
Kadeem I BriddickUnited KingdomAmy Elsner RENEWAL
Stacey B OstroskyItalyAnna Fali NEGOTIATION
Cody X DilliardSpainStephen Shaw UNQUALIFIED
Chavez E CaldareraSpainAmy Elsner NEW
Chavez Z RulapaughJapanOnyama Limba UNQUALIFIED
Jeanfrancois O ButtItalyAmy Elsner NEW
Kaitlin G RoysterSpainStephen Shaw NEGOTIATION
Smith U InouyeIndiaXuxue Feng RENEWAL
Sinclair A MaletBrazilIvan Magalhaes QUALIFIED
Ricardo S FollerCanadaIvan Magalhaes UNQUALIFIED
Wickens R WaycottIndiaElwin Sharvill NEW
Aruna L WaycottGermanyIoni Bowcher 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>