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
Wickens U PaprockiArgentinaElwin Sharvill QUALIFIED
Wickens D CaldareraItalyIvan Magalhaes QUALIFIED
Silvio V DilliardIndiaXuxue Feng UNQUALIFIED
Izzy Z GauchoRussiaBernardo Dominic NEGOTIATION
Antonio B KuskoIndiaIoni Bowcher NEW
Claire M IturbideFranceIvan Magalhaes PROPOSAL
Cody I WaycottIndiaOnyama Limba PROPOSAL
Antonio P MacleadSpainXuxue Feng NEW
Costa I WhobreyIndiaAsiya Javayant RENEWAL
Silvio T ChuiArgentinaXuxue Feng NEGOTIATION
Mujtaba E MorascaAustraliaStephen Shaw NEW
Munro A WieserJapanIvan Magalhaes QUALIFIED
Leon P NestleAustraliaXuxue Feng NEGOTIATION
Antonio U FigeroaRussiaBernardo Dominic RENEWAL
Chavez Z MaletSpainOnyama Limba NEW
Izzy B NickaIndiaIvan Magalhaes RENEWAL
Kaitlin L BowleyUnited KingdomAnna Fali UNQUALIFIED
Kaitlin B AlbaresJapanXuxue Feng RENEWAL
Silvio R StensethRussiaBernardo Dominic UNQUALIFIED
Murillo Y SaylorsAustraliaIvan Magalhaes NEW
David R NickaSpainStephen Shaw NEW
Jennifer G RoysterIndiaAnna Fali PROPOSAL
Isabel P MorascaJapanBernardo Dominic UNQUALIFIED
Isabel X VenereGermanyAsiya Javayant NEW
James S CaudyFranceStephen Shaw PROPOSAL
Jefferson Z MarrierSpainAmy Elsner UNQUALIFIED
Wickens L FigeroaItalyElwin Sharvill UNQUALIFIED
Chavez Z BowleyItalyAnna Fali NEGOTIATION
Morrow H PerinItalyAnna Fali QUALIFIED
Jeanfrancois K MaletUnited KingdomAnna Fali UNQUALIFIED
Murillo R TollnerFranceAsiya Javayant PROPOSAL
Juan O KuskoIndiaAnna Fali NEGOTIATION
Deepesh H ChuiJapanAsiya Javayant NEGOTIATION
Faith V ShinkoBrazilAmy Elsner RENEWAL
Mayumi W RutaJapanElwin Sharvill NEW
Johnson W VenereBrazilXuxue Feng RENEWAL
Rodrigues Q PoquetteCanadaIvan Magalhaes UNQUALIFIED
Jennifer Q VocelkaUnited KingdomAnna Fali NEW
Arvin O StensethJapanStephen Shaw NEGOTIATION
Jones L GlickItalyOnyama Limba RENEWAL
Maisha O StensethArgentinaStephen Shaw PROPOSAL
Misaki R NickaIndiaAsiya Javayant NEW
Julie V VenereFranceAnna Fali RENEWAL
Arvin B FlosiBrazilIoni Bowcher UNQUALIFIED
Ricardo E DoeBrazilStephen Shaw NEW
Costa F DoeJapanElwin Sharvill RENEWAL
Arvin K BologniaJapanAnna Fali QUALIFIED
Jennifer P PoquetteItalyAnna Fali NEGOTIATION
Stacey I StockhamGermanyIvan Magalhaes UNQUALIFIED
David Y NestleSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci S VenereRussiaOnyama Limba RENEWAL
Adams N BologniaSpainAnna Fali NEGOTIATION
Maisha O FlosiCanadaAnna Fali UNQUALIFIED
David X OldroydGermanyAmy Elsner PROPOSAL
Murillo N StockhamIndiaElwin Sharvill UNQUALIFIED
Claire G TollnerCanadaIvan Magalhaes QUALIFIED
Stacey H MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Ashley D MaletJapanBernardo Dominic PROPOSAL
Mayumi Y BriddickItalyAsiya Javayant NEW
Johnson T SergiAustraliaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi Z VocelkaSpain2025-04-08Dorl, James J Esq RENEWAL87Asiya Javayant
1001Ivar E RutaArgentina2025-04-18Commercial Press PROPOSAL30Elwin Sharvill
1002Maisha I InouyeRussia2025-04-18Chapman, Ross E Esq UNQUALIFIED77Bernardo Dominic
1003Nicolas E GauchoBrazil2025-04-10Printing Dimensions NEW43Asiya Javayant
1004David X PerinCanada2025-04-13Truhlar And Truhlar Attys NEW97Stephen Shaw
1005Salvatore H BriddickIndia2025-04-12Chanay, Jeffrey A Esq NEGOTIATION25Elwin Sharvill
1006Izzy Z BowleyUnited Kingdom2025-04-26Printing Dimensions PROPOSAL9Ivan Magalhaes
1007Smith O ButtIndia2025-04-07Dorl, James J Esq RENEWAL68Ivan Magalhaes
1008Mujtaba Q NestleFrance2025-04-26Chanay, Jeffrey A Esq RENEWAL74Stephen Shaw
1009Octavia H BowleyAustralia2025-04-28Commercial Press NEW28Elwin Sharvill
1010Sinclair L ChuiUnited Kingdom2025-04-10Morlong Associates NEW16Asiya Javayant
1011Aika G MaletUnited Kingdom2025-04-14Chapman, Ross E Esq PROPOSAL47Anna Fali
1012Leja H KolmetzIndia2025-04-29Feiner Bros RENEWAL28Ioni Bowcher
1013Mayumi A CaudyUnited Kingdom2025-05-01Rangoni Of Florence RENEWAL24Xuxue Feng
1014Juan K NickaBrazil2025-04-30Chanay, Jeffrey A Esq UNQUALIFIED98Ivan Magalhaes
1015Clifford X RutaArgentina2025-04-16Morlong Associates UNQUALIFIED8Ioni Bowcher
1016Antonio M SaylorsCanada2025-04-03Dorl, James J Esq NEW12Bernardo Dominic
1017Sinclair D ButtUnited Kingdom2025-04-20Chapman, Ross E Esq RENEWAL98Stephen Shaw
1018Deepesh M GauchoSpain2025-05-01Buckley Miller Wright NEW12Elwin Sharvill
1019Rodrigues O AlbaresItaly2025-04-22Chanay, Jeffrey A Esq QUALIFIED34Onyama Limba
1020Rodrigues L FerenczRussia2025-04-23Morlong Associates UNQUALIFIED41Anna Fali
1021Rodrigues W MarrierJapan2025-04-21Feltz Printing Service UNQUALIFIED16Xuxue Feng
1022Julie S RulapaughJapan2025-04-06Dorl, James J Esq NEGOTIATION83Xuxue Feng
1023David Z SlusarskiUnited Kingdom2025-04-30Dorl, James J Esq NEGOTIATION4Asiya Javayant
1024Isabel F DarakjyCanada2025-04-16Feltz Printing Service UNQUALIFIED3Anna Fali
1025Francesco V IturbideAustralia2025-04-07Dorl, James J Esq QUALIFIED13Xuxue Feng
1026Sinclair J SlusarskiIndia2025-04-11Feltz Printing Service NEW60Anna Fali
1027Clifford N MaletBrazil2025-04-18Rousseaux, Michael Esq NEGOTIATION52Elwin Sharvill
1028Jeanfrancois G PerinBrazil2025-04-16Printing Dimensions NEGOTIATION40Ioni Bowcher
1029Murillo P MacleadCanada2025-04-05Chapman, Ross E Esq PROPOSAL38Onyama Limba
1030Ricardo F FigeroaItaly2025-04-26Morlong Associates RENEWAL27Stephen Shaw
1031David V SchemmerAustralia2025-04-19King, Christopher A Esq NEW92Stephen Shaw
1032Emily N GauchoIndia2025-04-21Truhlar And Truhlar Attys NEW98Anna Fali
1033Smith A SaylorsIndia2025-04-03Commercial Press NEGOTIATION26Ioni Bowcher
1034Francesco V CaldareraRussia2025-05-01Dorl, James J Esq RENEWAL49Amy Elsner
1035Leon U MacleadGermany2025-04-29Chapman, Ross E Esq NEW59Stephen Shaw
1036Darci V MacleadGermany2025-04-06Morlong Associates QUALIFIED83Anna Fali
1037Kaitlin S KolmetzCanada2025-04-11King, Christopher A Esq NEW26Ivan Magalhaes
1038Francesco R ShinkoItaly2025-04-03Benton, John B Jr RENEWAL61Amy Elsner
1039Maria Z MorascaIndia2025-04-13Benton, John B Jr QUALIFIED75Anna Fali
1040Deepesh O RulapaughFrance2025-04-06Feiner Bros UNQUALIFIED64Stephen Shaw
1041Antonio X KuskoItaly2025-04-07Rousseaux, Michael Esq PROPOSAL2Anna Fali
1042Johnson S InouyeBrazil2025-04-14Chemel, James L Cpa UNQUALIFIED35Bernardo Dominic
1043Jefferson Z SaylorsItaly2025-04-21King, Christopher A Esq NEW56Onyama Limba
1044Ashley Y OstroskyAustralia2025-04-12Chemel, James L Cpa UNQUALIFIED20Amy Elsner
1045Murillo R GarufiCanada2025-04-02Buckley Miller Wright PROPOSAL63Bernardo Dominic
1046Salvatore B AmigonBrazil2025-04-28Chapman, Ross E Esq PROPOSAL20Onyama Limba
1047Kadeem I FlosiItaly2025-05-01Buckley Miller Wright PROPOSAL1Ioni Bowcher
1048Murillo U SchemmerSpain2025-04-09Buckley Miller Wright UNQUALIFIED85Bernardo Dominic
1049Izzy C WhobreyCanada2025-04-28Commercial Press NEW34Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues R KuskoUnited KingdomIoni Bowcher NEGOTIATION
Greenwood B VocelkaGermanyAnna Fali UNQUALIFIED
Johnson A InouyeGermanyXuxue Feng PROPOSAL
Kadeem K SergiAustraliaStephen Shaw QUALIFIED
Mayumi F NestleCanadaAsiya Javayant NEGOTIATION
Clifford O CaldareraIndiaStephen Shaw UNQUALIFIED
Chavez R FigeroaSpainAmy Elsner PROPOSAL
Clifford M KuskoFranceIvan Magalhaes UNQUALIFIED
Maria P VenereBrazilBernardo Dominic NEGOTIATION
Sinclair J FlosiSpainAnna Fali NEGOTIATION
Emily C ShinkoArgentinaAnna Fali NEW
Jennifer P ChuiSpainBernardo Dominic PROPOSAL
Costa Z GlickFranceOnyama Limba RENEWAL
Maria B GarufiItalyOnyama Limba PROPOSAL
Cody Y RulapaughSpainElwin Sharvill UNQUALIFIED
Jennifer C StockhamIndiaAmy Elsner PROPOSAL
Ashley H AlbaresIndiaIvan Magalhaes QUALIFIED
Emily S FerenczItalyXuxue Feng RENEWAL
Nicolas I StockhamUnited KingdomAnna Fali RENEWAL
Aika C MaletAustraliaOnyama Limba QUALIFIED
Julie A WhobreyAustraliaOnyama Limba NEGOTIATION
Adams E ButtArgentinaStephen Shaw NEW
Maria E GlickFranceXuxue Feng NEGOTIATION
Sinclair W WhobreyFranceIoni Bowcher QUALIFIED
Ashley B WhobreyBrazilAnna Fali NEGOTIATION
Adams M AmigonUnited KingdomAsiya Javayant NEW
Greenwood V KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Johnson N PerinUnited KingdomAnna Fali UNQUALIFIED
Jones S MaletCanadaElwin Sharvill NEGOTIATION
Mujtaba W BowleyItalyStephen Shaw NEW
Mujtaba Q SergiRussiaAmy Elsner QUALIFIED
Greenwood E KuskoIndiaElwin Sharvill NEW
Murillo I PaprockiFranceStephen Shaw UNQUALIFIED
Leon Z FlosiArgentinaBernardo Dominic NEW
Alejandro R FlosiIndiaAsiya Javayant NEW
Maisha X SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Ricardo B RimIndiaStephen Shaw RENEWAL
Johnson E PerinUnited KingdomAnna Fali NEW
Alejandro W MacleadJapanIoni Bowcher NEGOTIATION
David W StensethBrazilStephen Shaw RENEWAL
Ricardo R BologniaArgentinaIoni Bowcher NEGOTIATION
Aika P WieserFranceElwin Sharvill NEGOTIATION
Emily D GlickRussiaAmy Elsner UNQUALIFIED
Kadeem C GarufiUnited KingdomIoni Bowcher NEW
Ricardo I ChuiRussiaIvan Magalhaes UNQUALIFIED
Darci K ShinkoAustraliaBernardo Dominic PROPOSAL
Ricardo F KolmetzGermanyXuxue Feng NEW
Costa I VocelkaAustraliaOnyama Limba UNQUALIFIED
Deepesh Q MarrierCanadaBernardo Dominic RENEWAL
Clifford R KolmetzGermanyXuxue Feng RENEWAL
Frozen Columns
Name
Julie N Schemmer
Salvatore Y Malet
Francesco Q Schemmer
Silvio A Slusarski
Ashley I Foller
Stacey Y Rim
Emily K Ruta
Ivar F Sergi
Morrow D Schemmer
Cody K Iturbide
Morrow B Poquette
Alejandro M Chui
Jefferson R Ostrosky
Smith F Nicka
Greenwood I Venere
Adams G Briddick
James A Poquette
Kadeem R Campain
Mujtaba E Shinko
Emily V Nestle
David V Wieser
David M Butt
Munro E Waycott
Faith D Whobrey
Izzy C Campain
Aditya U Dilliard
Jones F Gillian
Antonio I Vocelka
Murillo I Sergi
Munro A Butt
Stacey A Bolognia
Arvin Q Perin
Maisha E Bowley
Octavia N Campain
Munro K Tollner
Chavez R Oldroyd
Emily N Stockham
Cody H Caudy
Greenwood G Maclead
Ivar X Oldroyd
Maria I Darakjy
Costa K Kolmetz
Rodrigues D Perin
Deepesh J Malet
James H Inouye
Munro T Slusarski
Jefferson U Inouye
Jeanfrancois Y Briddick
Mayumi G Nestle
Mayumi M Paprocki
IdCountryDate
1000Canada2025-04-08
1001France2025-04-13
1002Argentina2025-04-26
1003Australia2025-04-13
1004France2025-04-21
1005Russia2025-04-18
1006Australia2025-04-27
1007Russia2025-04-22
1008Spain2025-04-04
1009Italy2025-04-30
1010Canada2025-04-06
1011Australia2025-04-03
1012India2025-05-01
1013Argentina2025-04-16
1014Argentina2025-04-29
1015Italy2025-04-07
1016Argentina2025-04-04
1017United Kingdom2025-04-18
1018United Kingdom2025-04-17
1019Canada2025-04-06
1020Germany2025-04-15
1021France2025-04-19
1022Australia2025-04-03
1023Brazil2025-04-06
1024Canada2025-05-01
1025Russia2025-04-06
1026Russia2025-04-29
1027Japan2025-04-11
1028Russia2025-04-15
1029Russia2025-04-19
1030Spain2025-05-01
1031Spain2025-04-22
1032Argentina2025-04-22
1033Canada2025-04-17
1034Australia2025-04-18
1035Canada2025-04-07
1036Japan2025-04-18
1037Russia2025-04-02
1038United Kingdom2025-04-08
1039United Kingdom2025-04-15
1040Japan2025-04-28
1041Brazil2025-04-29
1042Brazil2025-04-20
1043Germany2025-04-23
1044Australia2025-04-04
1045India2025-04-26
1046Spain2025-04-07
1047Canada2025-04-29
1048India2025-04-11
1049Russia2025-04-15

On-Demand Data

NameIdCountryDate
Smith B Garufi1000Russia2025-04-29
Kaitlin Q Caudy1001United Kingdom2025-04-25
Arvin A Perin1002Spain2025-04-09
Claire Q Gaucho1003Spain2025-04-24
Jennifer V Malet1004Spain2025-04-18
Morrow Z Kolmetz1005Russia2025-04-25
Stacey G Poquette1006Japan2025-04-20
James T Kusko1007Australia2025-04-25
Kadeem E Malet1008Australia2025-04-08
Emily O Schemmer1009India2025-04-06
Darci U Briddick1010Australia2025-04-22
Antonio L Slusarski1011India2025-04-10
Morrow L Slusarski1012Spain2025-04-02
Morrow K Rim1013Russia2025-04-18
Antonio H Nicka1014India2025-04-17
Aruna A Chui1015United Kingdom2025-04-17
Ivar P Dilliard1016India2025-04-21
Kaitlin X Doe1017United Kingdom2025-04-06
Aika S Malet1018Russia2025-04-16
Munro F Waycott1019United Kingdom2025-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore H PerinRussiaAnna Fali NEW
Murillo O GillianIndiaAnna Fali PROPOSAL
Smith C SlusarskiItalyIoni Bowcher RENEWAL
Jennifer V CaudyItalyAmy Elsner RENEWAL
Sinclair S KuskoAustraliaBernardo Dominic NEGOTIATION
David J MaletCanadaAsiya Javayant RENEWAL
Izzy L ChuiArgentinaElwin Sharvill RENEWAL
David M PaprockiItalyOnyama Limba QUALIFIED
Maria Q WieserCanadaAmy Elsner QUALIFIED
Leja D CaldareraArgentinaOnyama Limba UNQUALIFIED
Sinclair A MaletRussiaAsiya Javayant RENEWAL
Chavez O VocelkaCanadaIoni Bowcher UNQUALIFIED
Octavia M ButtRussiaAnna Fali NEGOTIATION
Wickens O MaletCanadaBernardo Dominic NEW
Claire W DarakjyUnited KingdomIoni Bowcher RENEWAL
Deepesh D WieserUnited KingdomIoni Bowcher NEGOTIATION
Darci K TollnerArgentinaElwin Sharvill UNQUALIFIED
Nicolas F StockhamJapanAnna Fali NEGOTIATION
Aika O MacleadIndiaBernardo Dominic RENEWAL
Salvatore K StockhamJapanXuxue Feng QUALIFIED
Aruna F MacleadAustraliaBernardo Dominic NEW
Salvatore V OstroskyCanadaBernardo Dominic PROPOSAL
Cody U DarakjyRussiaOnyama Limba PROPOSAL
Ashley Y IturbideRussiaIoni Bowcher QUALIFIED
Misaki S VenereFranceIvan Magalhaes NEW
Greenwood V DilliardIndiaIoni Bowcher UNQUALIFIED
Johnson B GarufiItalyBernardo Dominic NEGOTIATION
Izzy B TollnerSpainElwin Sharvill QUALIFIED
Jefferson S GarufiCanadaAsiya Javayant NEGOTIATION
David Q PerinJapanOnyama Limba PROPOSAL
Silvio Q NickaFranceAmy Elsner NEW
Smith V InouyeUnited KingdomIvan Magalhaes QUALIFIED
Greenwood D NickaRussiaAnna Fali QUALIFIED
Cody S GillianUnited KingdomAsiya Javayant NEGOTIATION
Arvin P InouyeArgentinaAnna Fali RENEWAL
Murillo A StensethArgentinaOnyama Limba NEGOTIATION
Cody I BologniaArgentinaAsiya Javayant UNQUALIFIED
Jefferson C FollerArgentinaStephen Shaw PROPOSAL
Ivar H MorascaGermanyOnyama Limba PROPOSAL
Antonio N PerinFranceXuxue Feng 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>