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
Costa V StensethBrazilBernardo Dominic UNQUALIFIED
Aruna L DilliardBrazilAmy Elsner QUALIFIED
Greenwood X WaycottSpainAnna Fali NEW
Emily V RulapaughIndiaXuxue Feng NEGOTIATION
Leon E FigeroaJapanStephen Shaw UNQUALIFIED
Maria H OldroydArgentinaIvan Magalhaes UNQUALIFIED
Kadeem W OldroydAustraliaAsiya Javayant PROPOSAL
Jeanfrancois Q PerinRussiaXuxue Feng PROPOSAL
Ivar B FlosiAustraliaAnna Fali RENEWAL
Jefferson C FerenczSpainXuxue Feng RENEWAL
Ivar H BologniaJapanOnyama Limba PROPOSAL
Misaki M OldroydIndiaOnyama Limba PROPOSAL
Aika P FlosiIndiaXuxue Feng PROPOSAL
Costa G SergiIndiaBernardo Dominic QUALIFIED
Rodrigues D MacleadSpainIoni Bowcher PROPOSAL
Alejandro I SlusarskiFranceIoni Bowcher UNQUALIFIED
James I BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Maisha F CampainArgentinaAsiya Javayant NEW
Kaitlin N WieserJapanXuxue Feng NEGOTIATION
Sinclair W AmigonBrazilAnna Fali NEGOTIATION
Izzy W FerenczFranceAsiya Javayant RENEWAL
Wickens X InouyeCanadaAnna Fali NEGOTIATION
Octavia E RoysterSpainIvan Magalhaes QUALIFIED
Juan B PoquetteCanadaElwin Sharvill QUALIFIED
Maria S DarakjyCanadaElwin Sharvill NEW
Ivar L OstroskyFranceIvan Magalhaes RENEWAL
Octavia M SlusarskiFranceBernardo Dominic NEW
Ashley B TollnerIndiaBernardo Dominic NEW
Jennifer U OldroydItalyXuxue Feng QUALIFIED
Ashley L MorascaBrazilBernardo Dominic RENEWAL
Sinclair L MaletArgentinaElwin Sharvill QUALIFIED
Kadeem X SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Leja L BriddickBrazilElwin Sharvill NEW
Costa F FigeroaFranceStephen Shaw NEW
Ricardo Y OldroydItalyAnna Fali NEGOTIATION
Stacey L MorascaUnited KingdomAsiya Javayant PROPOSAL
Greenwood T FerenczJapanStephen Shaw QUALIFIED
Chavez C NestleJapanBernardo Dominic QUALIFIED
Jones P PoquetteIndiaBernardo Dominic QUALIFIED
Ashley K InouyeRussiaAsiya Javayant UNQUALIFIED
Aditya O SergiRussiaAsiya Javayant RENEWAL
Stacey H CaldareraIndiaElwin Sharvill NEW
Jones P KuskoGermanyIoni Bowcher QUALIFIED
Munro E GauchoBrazilOnyama Limba QUALIFIED
Stacey L MacleadAustraliaIvan Magalhaes QUALIFIED
Jefferson P MaletRussiaBernardo Dominic UNQUALIFIED
Alejandro G VocelkaCanadaAsiya Javayant UNQUALIFIED
Jennifer E RimRussiaAmy Elsner UNQUALIFIED
Ivar N FollerUnited KingdomOnyama Limba UNQUALIFIED
Aruna C KolmetzArgentinaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan I MaletFranceStephen Shaw PROPOSAL
Jeanfrancois H GauchoRussiaStephen Shaw NEW
Leja H StockhamRussiaXuxue Feng RENEWAL
Smith Y AlbaresItalyAsiya Javayant QUALIFIED
Adams A AmigonAustraliaBernardo Dominic NEW
Faith T MaletUnited KingdomAnna Fali NEW
Jennifer A NickaRussiaStephen Shaw PROPOSAL
Octavia N NestleJapanXuxue Feng NEGOTIATION
Leja P RulapaughRussiaIvan Magalhaes RENEWAL
Smith U DarakjyJapanAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja L KuskoAustralia2026-07-28Chemel, James L Cpa QUALIFIED42Xuxue Feng
1001Ricardo J PaprockiUnited Kingdom2026-08-15Rousseaux, Michael Esq NEW40Elwin Sharvill
1002Antonio Q ButtJapan2026-07-28Rousseaux, Michael Esq PROPOSAL57Elwin Sharvill
1003Ashley N AmigonArgentina2026-07-25King, Christopher A Esq UNQUALIFIED82Ioni Bowcher
1004Antonio J WaycottGermany2026-08-17Feiner Bros PROPOSAL59Asiya Javayant
1005Ashley X GauchoGermany2026-08-12Feltz Printing Service UNQUALIFIED51Ivan Magalhaes
1006Francesco U CaldareraJapan2026-08-05Chapman, Ross E Esq NEW71Xuxue Feng
1007Kaitlin C MorascaBrazil2026-08-14Truhlar And Truhlar Attys NEW70Ioni Bowcher
1008Claire A WieserGermany2026-07-31Chapman, Ross E Esq PROPOSAL43Onyama Limba
1009Morrow O WaycottJapan2026-08-07Feiner Bros NEW72Stephen Shaw
1010Jeanfrancois N KolmetzJapan2026-07-31Benton, John B Jr RENEWAL92Ivan Magalhaes
1011Ricardo J GarufiUnited Kingdom2026-08-16Buckley Miller Wright QUALIFIED46Elwin Sharvill
1012Cody Y StockhamAustralia2026-07-29Commercial Press PROPOSAL94Ioni Bowcher
1013Darci J MaletAustralia2026-07-24Chanay, Jeffrey A Esq QUALIFIED86Amy Elsner
1014Jones D GarufiSpain2026-08-05Rangoni Of Florence PROPOSAL12Xuxue Feng
1015Jeanfrancois Q WhobreyIndia2026-08-02Rangoni Of Florence PROPOSAL34Stephen Shaw
1016Julie S NestleSpain2026-08-06Feltz Printing Service NEW6Anna Fali
1017Julie Y RutaArgentina2026-08-17Chanay, Jeffrey A Esq PROPOSAL18Amy Elsner
1018Wickens T SlusarskiUnited Kingdom2026-07-26Rousseaux, Michael Esq PROPOSAL59Ioni Bowcher
1019Silvio M SchemmerAustralia2026-08-06King, Christopher A Esq QUALIFIED43Ioni Bowcher
1020Tony D FerenczArgentina2026-07-26Buckley Miller Wright NEW25Stephen Shaw
1021Jefferson D StensethAustralia2026-08-03Benton, John B Jr RENEWAL72Ivan Magalhaes
1022Clifford A FigeroaFrance2026-08-12Rousseaux, Michael Esq UNQUALIFIED93Bernardo Dominic
1023Sinclair X RoysterItaly2026-07-23Dorl, James J Esq UNQUALIFIED63Asiya Javayant
1024Julie Z AlbaresJapan2026-07-25Commercial Press QUALIFIED0Amy Elsner
1025Silvio K AlbaresRussia2026-08-07Rousseaux, Michael Esq NEW43Elwin Sharvill
1026Aika F CaldareraCanada2026-07-23Benton, John B Jr PROPOSAL32Ioni Bowcher
1027Antonio P TollnerSpain2026-07-30Printing Dimensions RENEWAL76Bernardo Dominic
1028Misaki A GillianCanada2026-08-19Commercial Press QUALIFIED65Bernardo Dominic
1029Costa G WaycottArgentina2026-08-10Truhlar And Truhlar Attys NEW43Amy Elsner
1030Silvio Z MacleadUnited Kingdom2026-08-02Feltz Printing Service UNQUALIFIED13Bernardo Dominic
1031Jefferson C InouyeJapan2026-08-12Commercial Press UNQUALIFIED45Bernardo Dominic
1032David K RimBrazil2026-07-26Chemel, James L Cpa RENEWAL85Amy Elsner
1033Aika T WaycottItaly2026-08-10Rangoni Of Florence NEGOTIATION55Onyama Limba
1034Darci Z OldroydJapan2026-07-24Rangoni Of Florence PROPOSAL46Asiya Javayant
1035Murillo K NickaItaly2026-08-14Truhlar And Truhlar Attys QUALIFIED65Ioni Bowcher
1036Antonio Q CaldareraGermany2026-08-17Feiner Bros NEW37Onyama Limba
1037David B WieserIndia2026-08-10Chemel, James L Cpa NEW62Asiya Javayant
1038Jefferson U TollnerIndia2026-07-25Feiner Bros PROPOSAL39Onyama Limba
1039Smith L MorascaAustralia2026-08-08Chanay, Jeffrey A Esq PROPOSAL44Amy Elsner
1040Morrow N RimAustralia2026-07-23Dorl, James J Esq NEGOTIATION42Amy Elsner
1041Silvio K MaletCanada2026-07-31Rousseaux, Michael Esq QUALIFIED76Amy Elsner
1042Jennifer B StockhamGermany2026-08-05Chemel, James L Cpa PROPOSAL58Ivan Magalhaes
1043Ashley O ButtItaly2026-08-10Commercial Press NEGOTIATION21Stephen Shaw
1044Silvio N PerinSpain2026-07-23Feiner Bros NEW13Elwin Sharvill
1045Smith M AlbaresCanada2026-08-14Morlong Associates NEW22Amy Elsner
1046Smith O PoquetteItaly2026-07-24Chanay, Jeffrey A Esq RENEWAL60Ivan Magalhaes
1047Deepesh G CaudyJapan2026-08-11Feltz Printing Service NEGOTIATION75Amy Elsner
1048Aika D OldroydArgentina2026-08-06Truhlar And Truhlar Attys PROPOSAL26Xuxue Feng
1049Francesco F InouyeRussia2026-08-15Buckley Miller Wright QUALIFIED8Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez C WhobreyItalyIvan Magalhaes QUALIFIED
David A ChuiIndiaBernardo Dominic NEW
Antonio I PaprockiSpainIoni Bowcher UNQUALIFIED
Claire R CampainRussiaStephen Shaw UNQUALIFIED
Stacey F DoeUnited KingdomIoni Bowcher NEW
Emily I MacleadArgentinaElwin Sharvill NEW
David D StockhamIndiaAmy Elsner QUALIFIED
Maria Y MorascaCanadaAmy Elsner UNQUALIFIED
Kaitlin X PaprockiGermanyAsiya Javayant PROPOSAL
Isabel B OstroskyArgentinaOnyama Limba QUALIFIED
Arvin S NestleGermanyAnna Fali RENEWAL
Smith P MaletSpainElwin Sharvill RENEWAL
Leon G VenereArgentinaXuxue Feng QUALIFIED
Francesco M SaylorsBrazilIvan Magalhaes UNQUALIFIED
Aika O DarakjyFranceXuxue Feng NEW
Mujtaba U SchemmerAustraliaAnna Fali UNQUALIFIED
Wickens X ButtSpainElwin Sharvill NEW
Emily A BologniaItalyIoni Bowcher NEW
Jennifer H StockhamIndiaAsiya Javayant PROPOSAL
Claire P RimGermanyAmy Elsner UNQUALIFIED
Greenwood S MaletUnited KingdomAnna Fali QUALIFIED
Aditya O AlbaresFranceStephen Shaw NEGOTIATION
Aruna I BowleyIndiaBernardo Dominic RENEWAL
Maisha D KolmetzGermanyOnyama Limba UNQUALIFIED
Arvin B CaldareraUnited KingdomAmy Elsner NEGOTIATION
James B WaycottItalyStephen Shaw QUALIFIED
Nicolas Y FigeroaSpainAmy Elsner RENEWAL
Murillo O PoquetteUnited KingdomAnna Fali NEGOTIATION
Jones L PoquetteArgentinaXuxue Feng PROPOSAL
Smith B DilliardCanadaAnna Fali QUALIFIED
Tony E FollerSpainElwin Sharvill UNQUALIFIED
Munro L VocelkaGermanyOnyama Limba NEGOTIATION
Deepesh N BriddickAustraliaIvan Magalhaes RENEWAL
Munro N NickaSpainIoni Bowcher PROPOSAL
Munro T MarrierRussiaXuxue Feng UNQUALIFIED
David S VenereAustraliaIoni Bowcher PROPOSAL
Faith L ChuiSpainAnna Fali RENEWAL
Smith V CampainFranceIoni Bowcher NEW
Adams C NestleRussiaAsiya Javayant RENEWAL
Silvio F RimAustraliaOnyama Limba RENEWAL
Mayumi V VocelkaRussiaXuxue Feng PROPOSAL
Arvin S WieserJapanAsiya Javayant UNQUALIFIED
Deepesh U GauchoUnited KingdomStephen Shaw PROPOSAL
Sinclair X PoquetteBrazilElwin Sharvill UNQUALIFIED
Stacey S FollerCanadaAsiya Javayant RENEWAL
Leon A AmigonBrazilXuxue Feng UNQUALIFIED
Chavez B ShinkoIndiaAnna Fali NEW
Maria I FerenczAustraliaIoni Bowcher PROPOSAL
Darci V MorascaIndiaIvan Magalhaes UNQUALIFIED
James Z KuskoSpainElwin Sharvill RENEWAL
Frozen Columns
Name
Munro A Flosi
Ivar M Stockham
Arvin B Kusko
Alejandro F Gillian
Ivar C Royster
Misaki D Royster
Isabel T Rim
Darci X Figeroa
Munro D Inouye
Kadeem R Paprocki
Jeanfrancois M Kusko
Silvio A Ferencz
Morrow E Slusarski
Jennifer E Caudy
Faith X Albares
Nicolas I Gaucho
Leja D Figeroa
Silvio F Glick
Maisha A Rim
Octavia I Kolmetz
Salvatore H Garufi
Clifford L Campain
David U Rim
Leja V Gaucho
Julie T Kolmetz
Clifford F Gillian
Izzy E Saylors
Clifford O Caldarera
Aruna I Nicka
Aditya O Bolognia
Aruna Q Malet
Mayumi W Shinko
Emily S Oldroyd
Aika T Waycott
Leon X Morasca
Stacey R Flosi
Tony S Albares
Octavia N Figeroa
Octavia Y Stockham
Jeanfrancois T Maclead
Aika E Kusko
Jefferson W Amigon
Salvatore E Garufi
Misaki R Briddick
Maria P Chui
Clifford O Nicka
Maria A Stenseth
Francesco A Nicka
Stacey D Stockham
Aruna B Bowley
IdCountryDate
1000Italy2026-07-31
1001Germany2026-08-09
1002France2026-08-14
1003Canada2026-07-29
1004France2026-08-07
1005Spain2026-07-28
1006Italy2026-08-07
1007Russia2026-07-28
1008Australia2026-08-04
1009Canada2026-07-29
1010France2026-08-06
1011Brazil2026-08-07
1012France2026-08-01
1013Canada2026-08-11
1014Argentina2026-08-05
1015United Kingdom2026-08-19
1016France2026-08-15
1017Spain2026-08-19
1018United Kingdom2026-08-06
1019Germany2026-08-02
1020Australia2026-08-20
1021Brazil2026-07-23
1022Australia2026-08-16
1023India2026-08-15
1024Russia2026-08-02
1025United Kingdom2026-08-14
1026Germany2026-08-02
1027Japan2026-08-20
1028United Kingdom2026-08-01
1029United Kingdom2026-07-22
1030Italy2026-08-10
1031Germany2026-08-08
1032Russia2026-08-17
1033Germany2026-08-17
1034France2026-07-30
1035Australia2026-08-08
1036Canada2026-07-26
1037Japan2026-08-20
1038Argentina2026-07-25
1039Brazil2026-08-18
1040Italy2026-07-27
1041Spain2026-08-06
1042Argentina2026-08-18
1043Russia2026-07-29
1044Brazil2026-07-30
1045France2026-08-06
1046Australia2026-08-15
1047United Kingdom2026-08-19
1048Germany2026-08-04
1049Germany2026-08-15

On-Demand Data

NameIdCountryDate
Misaki T Dilliard1000Russia2026-08-19
Aditya G Slusarski1001Australia2026-08-20
Stacey Y Dilliard1002United Kingdom2026-08-18
Leon M Rim1003India2026-08-09
Greenwood I Ostrosky1004Argentina2026-07-25
Aruna H Malet1005Germany2026-08-18
Silvio C Tollner1006Australia2026-08-18
Ricardo T Morasca1007Japan2026-07-30
David V Chui1008Spain2026-08-20
Mayumi M Caldarera1009United Kingdom2026-07-26
Wickens V Iturbide1010Argentina2026-08-18
Adams X Schemmer1011Spain2026-08-13
Jones T Dilliard1012Argentina2026-07-31
Wickens H Sergi1013Germany2026-08-08
Silvio F Caldarera1014United Kingdom2026-08-19
Aika R Rulapaugh1015India2026-07-26
Mayumi G Shinko1016Australia2026-07-22
Jefferson F Waycott1017Spain2026-08-10
Sinclair X Schemmer1018France2026-08-16
Deepesh K Caldarera1019Italy2026-08-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois G MaletSpainAsiya Javayant QUALIFIED
Cody A CaldareraCanadaOnyama Limba UNQUALIFIED
Juan O MorascaGermanyIvan Magalhaes RENEWAL
Greenwood U MaletItalyIoni Bowcher UNQUALIFIED
Nicolas X MaletCanadaOnyama Limba NEGOTIATION
Jones T BologniaArgentinaIvan Magalhaes RENEWAL
Julie I InouyeBrazilXuxue Feng NEW
Octavia S StockhamItalyStephen Shaw RENEWAL
James L KuskoItalyIvan Magalhaes UNQUALIFIED
Misaki D SlusarskiFranceAmy Elsner QUALIFIED
Octavia L CaudyJapanStephen Shaw NEGOTIATION
Aika F DilliardSpainOnyama Limba QUALIFIED
Francesco V DilliardSpainXuxue Feng UNQUALIFIED
Aruna O StensethAustraliaXuxue Feng QUALIFIED
Mayumi B GillianRussiaIvan Magalhaes NEGOTIATION
Juan N VocelkaGermanyIoni Bowcher NEGOTIATION
Emily L BowleyArgentinaBernardo Dominic PROPOSAL
Emily G SaylorsJapanBernardo Dominic UNQUALIFIED
Silvio O NestleGermanyXuxue Feng NEGOTIATION
Jones F SlusarskiAustraliaXuxue Feng RENEWAL
Morrow C DoeJapanIoni Bowcher PROPOSAL
Misaki N AmigonArgentinaIvan Magalhaes RENEWAL
Murillo S OldroydBrazilAmy Elsner UNQUALIFIED
Jennifer T BriddickSpainBernardo Dominic QUALIFIED
Chavez S CampainBrazilAsiya Javayant QUALIFIED
Costa L StockhamFranceOnyama Limba PROPOSAL
Stacey I StockhamFranceIvan Magalhaes QUALIFIED
David V MaletRussiaElwin Sharvill UNQUALIFIED
Kaitlin A SergiUnited KingdomOnyama Limba NEGOTIATION
Alejandro L TollnerCanadaOnyama Limba UNQUALIFIED
Johnson K MorascaItalyBernardo Dominic RENEWAL
Kaitlin S MacleadArgentinaStephen Shaw RENEWAL
Leon F GlickSpainOnyama Limba QUALIFIED
Aruna J IturbideIndiaAsiya Javayant NEGOTIATION
Rodrigues Y RulapaughAustraliaOnyama Limba UNQUALIFIED
Chavez E MacleadRussiaStephen Shaw PROPOSAL
Ivar W MaletFranceAmy Elsner UNQUALIFIED
Aika B ChuiSpainElwin Sharvill QUALIFIED
Isabel Z NickaGermanyXuxue Feng NEGOTIATION
Leon X RulapaughArgentinaIvan Magalhaes 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>