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
Maisha L WieserIndiaAnna Fali RENEWAL
Octavia K SchemmerBrazilXuxue Feng NEGOTIATION
Clifford D WaycottSpainElwin Sharvill NEW
Sinclair W ShinkoSpainStephen Shaw PROPOSAL
Munro I WaycottBrazilIoni Bowcher NEGOTIATION
Smith G TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Arvin P FollerIndiaOnyama Limba NEW
Silvio M KolmetzAustraliaIoni Bowcher QUALIFIED
Leon C GillianRussiaAsiya Javayant UNQUALIFIED
Cody Q CaudyBrazilOnyama Limba NEGOTIATION
Deepesh E ShinkoFranceOnyama Limba NEW
James K KuskoCanadaStephen Shaw QUALIFIED
Costa I RulapaughArgentinaBernardo Dominic UNQUALIFIED
Antonio T GarufiAustraliaOnyama Limba UNQUALIFIED
Silvio W FollerJapanAnna Fali PROPOSAL
Greenwood K CampainArgentinaStephen Shaw NEW
Stacey T InouyeArgentinaIvan Magalhaes QUALIFIED
Aika U ShinkoRussiaAnna Fali UNQUALIFIED
Octavia E BowleyBrazilXuxue Feng QUALIFIED
Jennifer L CampainBrazilOnyama Limba UNQUALIFIED
Costa G GarufiCanadaStephen Shaw RENEWAL
Antonio B AmigonUnited KingdomOnyama Limba PROPOSAL
Aruna F CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi I NickaArgentinaElwin Sharvill NEGOTIATION
Cody F GarufiItalyXuxue Feng QUALIFIED
Jones W BriddickGermanyStephen Shaw NEW
Juan G BologniaJapanBernardo Dominic RENEWAL
Jones B BriddickItalyBernardo Dominic NEW
Jones I RimJapanAsiya Javayant RENEWAL
Emily M InouyeFranceBernardo Dominic UNQUALIFIED
Nicolas H MorascaUnited KingdomAnna Fali QUALIFIED
Aditya R KolmetzGermanyOnyama Limba QUALIFIED
Kadeem H FollerJapanXuxue Feng QUALIFIED
Clifford P DoeCanadaAmy Elsner PROPOSAL
Silvio Q GillianJapanXuxue Feng NEGOTIATION
Octavia W IturbideRussiaAsiya Javayant PROPOSAL
David Q AlbaresRussiaStephen Shaw NEW
Deepesh G TollnerSpainAmy Elsner RENEWAL
Morrow V MaletItalyAnna Fali NEGOTIATION
Maria E VenereUnited KingdomBernardo Dominic QUALIFIED
Kaitlin A InouyeSpainBernardo Dominic QUALIFIED
Tony V CaldareraCanadaStephen Shaw NEGOTIATION
Jennifer S GlickGermanyIoni Bowcher PROPOSAL
Kaitlin G FigeroaCanadaElwin Sharvill UNQUALIFIED
James H WhobreySpainXuxue Feng RENEWAL
Munro T ChuiIndiaIoni Bowcher PROPOSAL
Greenwood A FigeroaAustraliaElwin Sharvill PROPOSAL
Cody U WhobreyIndiaElwin Sharvill UNQUALIFIED
Munro S BriddickFranceIvan Magalhaes PROPOSAL
Darci D PoquetteSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem D PaprockiCanadaOnyama Limba NEGOTIATION
Ricardo B AmigonCanadaStephen Shaw NEGOTIATION
Antonio W VenereJapanAmy Elsner QUALIFIED
Silvio Q GauchoSpainStephen Shaw RENEWAL
Cody S KolmetzArgentinaAsiya Javayant UNQUALIFIED
Juan S SchemmerRussiaIvan Magalhaes RENEWAL
Maisha F StockhamGermanyOnyama Limba PROPOSAL
Nicolas D MorascaUnited KingdomStephen Shaw NEW
Faith N GauchoArgentinaOnyama Limba NEW
Octavia H NickaSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley U ChuiIndia2025-06-07King, Christopher A Esq QUALIFIED31Ioni Bowcher
1001Faith R SaylorsFrance2025-06-08Chemel, James L Cpa QUALIFIED43Stephen Shaw
1002Ivar Q TollnerUnited Kingdom2025-05-30Chanay, Jeffrey A Esq NEW57Amy Elsner
1003Isabel O DarakjyItaly2025-05-29King, Christopher A Esq QUALIFIED92Ioni Bowcher
1004Izzy K CaudyFrance2025-05-21Dorl, James J Esq QUALIFIED29Anna Fali
1005Johnson E ChuiAustralia2025-06-09King, Christopher A Esq RENEWAL71Xuxue Feng
1006Faith H DilliardJapan2025-06-08Benton, John B Jr PROPOSAL22Bernardo Dominic
1007Maisha V DarakjyRussia2025-05-25Dorl, James J Esq NEGOTIATION34Ivan Magalhaes
1008Julie B RimCanada2025-05-22Feltz Printing Service RENEWAL62Stephen Shaw
1009Jeanfrancois G RoysterRussia2025-05-25Chemel, James L Cpa PROPOSAL75Asiya Javayant
1010Costa V GarufiJapan2025-05-18Truhlar And Truhlar Attys PROPOSAL47Anna Fali
1011Darci H SchemmerAustralia2025-05-31Dorl, James J Esq UNQUALIFIED75Anna Fali
1012Jeanfrancois A GlickSpain2025-06-12Chemel, James L Cpa NEGOTIATION82Elwin Sharvill
1013Leja J IturbideArgentina2025-06-09Morlong Associates NEW42Elwin Sharvill
1014Leja M NickaArgentina2025-05-26Feltz Printing Service PROPOSAL81Anna Fali
1015Chavez M SlusarskiBrazil2025-05-22Commercial Press RENEWAL41Asiya Javayant
1016Maisha O InouyeSpain2025-05-24Truhlar And Truhlar Attys QUALIFIED68Ivan Magalhaes
1017Munro T RulapaughRussia2025-05-31Printing Dimensions NEW78Elwin Sharvill
1018Chavez S ShinkoFrance2025-06-07Rangoni Of Florence UNQUALIFIED95Stephen Shaw
1019Chavez G GarufiJapan2025-05-19Benton, John B Jr RENEWAL61Amy Elsner
1020Jennifer T PaprockiItaly2025-05-19Rangoni Of Florence QUALIFIED12Stephen Shaw
1021Mujtaba J SergiItaly2025-05-29Benton, John B Jr PROPOSAL82Onyama Limba
1022Aruna M FerenczRussia2025-06-07King, Christopher A Esq NEW91Onyama Limba
1023Munro W GauchoItaly2025-06-03Rangoni Of Florence NEW43Asiya Javayant
1024Juan W WaycottSpain2025-05-23Buckley Miller Wright NEGOTIATION97Elwin Sharvill
1025Aditya W IturbideItaly2025-06-07Buckley Miller Wright PROPOSAL84Xuxue Feng
1026Adams D PaprockiItaly2025-05-24Rangoni Of Florence RENEWAL75Bernardo Dominic
1027Leon R WhobreySpain2025-05-29Buckley Miller Wright UNQUALIFIED36Ioni Bowcher
1028Octavia W MaletBrazil2025-05-19Buckley Miller Wright QUALIFIED13Xuxue Feng
1029Jefferson X RulapaughUnited Kingdom2025-06-06Chapman, Ross E Esq RENEWAL29Ioni Bowcher
1030Emily B SlusarskiUnited Kingdom2025-06-11Dorl, James J Esq NEW70Stephen Shaw
1031Stacey A DarakjyUnited Kingdom2025-05-24Chanay, Jeffrey A Esq PROPOSAL33Stephen Shaw
1032Costa Q CampainUnited Kingdom2025-05-24Benton, John B Jr PROPOSAL47Amy Elsner
1033Leja Q MaletUnited Kingdom2025-05-20Chapman, Ross E Esq UNQUALIFIED71Onyama Limba
1034Arvin R PerinIndia2025-06-05Chanay, Jeffrey A Esq PROPOSAL81Asiya Javayant
1035Deepesh P RoysterCanada2025-06-13Printing Dimensions PROPOSAL46Asiya Javayant
1036Tony R WaycottAustralia2025-05-31Feiner Bros UNQUALIFIED5Ioni Bowcher
1037Kaitlin J SlusarskiSpain2025-06-08Feltz Printing Service RENEWAL22Anna Fali
1038Juan P FerenczItaly2025-05-23Feltz Printing Service NEGOTIATION72Anna Fali
1039Munro O DilliardCanada2025-05-17Morlong Associates NEW95Elwin Sharvill
1040Darci R GillianItaly2025-06-02Truhlar And Truhlar Attys UNQUALIFIED57Ioni Bowcher
1041Jennifer N WieserItaly2025-06-15Feltz Printing Service NEW55Ioni Bowcher
1042Tony D FerenczBrazil2025-06-01King, Christopher A Esq UNQUALIFIED86Onyama Limba
1043Mayumi U VocelkaGermany2025-06-01Benton, John B Jr QUALIFIED58Stephen Shaw
1044Aruna X WaycottGermany2025-05-17Buckley Miller Wright QUALIFIED79Elwin Sharvill
1045Claire L OldroydSpain2025-06-06Feltz Printing Service NEGOTIATION72Bernardo Dominic
1046Leja V NestleArgentina2025-06-14Commercial Press RENEWAL78Elwin Sharvill
1047Murillo Z DilliardBrazil2025-06-08Benton, John B Jr RENEWAL80Ivan Magalhaes
1048Jefferson S SchemmerArgentina2025-05-29Benton, John B Jr PROPOSAL34Xuxue Feng
1049Aditya J KuskoBrazil2025-05-24Chanay, Jeffrey A Esq RENEWAL59Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith E ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar R InouyeItalyOnyama Limba QUALIFIED
Clifford G WhobreyArgentinaOnyama Limba NEW
James P RutaGermanyXuxue Feng RENEWAL
Tony D FollerFranceAmy Elsner UNQUALIFIED
Maria T StockhamBrazilBernardo Dominic RENEWAL
Munro M PerinIndiaBernardo Dominic UNQUALIFIED
Jefferson U KuskoRussiaStephen Shaw NEGOTIATION
David Q StensethJapanAmy Elsner QUALIFIED
Jefferson K RutaRussiaIvan Magalhaes NEW
Alejandro L BriddickAustraliaAsiya Javayant NEGOTIATION
Costa G RulapaughAustraliaStephen Shaw UNQUALIFIED
Tony G FlosiGermanyIvan Magalhaes NEGOTIATION
Ivar I SaylorsGermanyBernardo Dominic PROPOSAL
Chavez L RulapaughAustraliaElwin Sharvill RENEWAL
Jefferson U ChuiCanadaOnyama Limba NEW
Munro P PaprockiGermanyXuxue Feng NEGOTIATION
Deepesh X WaycottItalyElwin Sharvill RENEWAL
Emily B FerenczUnited KingdomAmy Elsner NEW
Arvin G InouyeJapanAsiya Javayant NEW
Wickens R FerenczJapanOnyama Limba PROPOSAL
Cody H PaprockiAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois G StensethFranceElwin Sharvill UNQUALIFIED
Cody M WhobreyRussiaAsiya Javayant QUALIFIED
Salvatore M VocelkaGermanyAsiya Javayant QUALIFIED
Sinclair Y BologniaSpainIoni Bowcher PROPOSAL
Cody T RutaAustraliaIvan Magalhaes PROPOSAL
Leja B OldroydSpainAsiya Javayant NEW
Ashley U DarakjyBrazilIvan Magalhaes NEGOTIATION
Rodrigues D BologniaFranceIvan Magalhaes RENEWAL
Julie Q DarakjyBrazilAnna Fali RENEWAL
Aditya W WieserBrazilXuxue Feng RENEWAL
Sinclair P PaprockiUnited KingdomAmy Elsner PROPOSAL
Mujtaba R MorascaAustraliaBernardo Dominic QUALIFIED
Octavia K CaudyAustraliaElwin Sharvill QUALIFIED
Smith L IturbideArgentinaXuxue Feng PROPOSAL
Silvio N ShinkoFranceXuxue Feng RENEWAL
Antonio U RutaRussiaBernardo Dominic UNQUALIFIED
Ivar E GauchoIndiaAmy Elsner UNQUALIFIED
Arvin C SlusarskiGermanyStephen Shaw UNQUALIFIED
Leja M RutaSpainIoni Bowcher UNQUALIFIED
Mayumi R GlickItalyAmy Elsner NEGOTIATION
Alejandro Y GauchoAustraliaOnyama Limba QUALIFIED
Leon B NestleJapanAmy Elsner NEW
Johnson D ChuiItalyXuxue Feng NEW
Alejandro B NestleIndiaStephen Shaw UNQUALIFIED
Adams L DilliardGermanyXuxue Feng RENEWAL
Murillo B NestleAustraliaIvan Magalhaes QUALIFIED
Maisha P SlusarskiCanadaElwin Sharvill NEGOTIATION
Johnson Z AmigonUnited KingdomXuxue Feng RENEWAL
Frozen Columns
Name
Claire J Nicka
Izzy G Stenseth
Mujtaba V Nicka
Ashley V Shinko
Greenwood D Whobrey
Cody R Chui
Jennifer O Stockham
Alejandro H Shinko
Cody U Inouye
James E Foller
Costa P Campain
Claire B Campain
Mujtaba G Iturbide
Juan S Dilliard
Aruna A Garufi
Jeanfrancois F Foller
Murillo A Chui
Isabel X Caudy
Sinclair A Royster
Morrow V Rulapaugh
Cody Q Caldarera
Francesco R Slusarski
David F Perin
Silvio H Waycott
Francesco R Slusarski
Kaitlin J Royster
Kadeem B Malet
Johnson Y Slusarski
Leon C Oldroyd
Cody F Foller
Maisha E Iturbide
Salvatore F Ruta
Jennifer G Oldroyd
Maria K Morasca
Leja D Nestle
Ricardo E Venere
Aika Y Gillian
James K Stockham
Salvatore L Flosi
Nicolas H Nestle
Claire D Flosi
Misaki P Rim
Sinclair A Gillian
Adams A Ruta
Nicolas P Darakjy
Jennifer I Butt
Jefferson P Shinko
Maisha P Perin
Darci K Figeroa
Aruna Z Foller
IdCountryDate
1000Australia2025-06-01
1001Germany2025-06-05
1002Brazil2025-05-18
1003Russia2025-05-20
1004Canada2025-05-22
1005Canada2025-06-04
1006Italy2025-06-08
1007Argentina2025-06-06
1008Russia2025-06-05
1009Argentina2025-05-17
1010Spain2025-06-08
1011India2025-05-29
1012Canada2025-05-21
1013United Kingdom2025-05-27
1014Canada2025-05-17
1015Italy2025-05-31
1016Spain2025-06-12
1017Canada2025-06-11
1018Japan2025-06-08
1019Argentina2025-06-12
1020Brazil2025-05-28
1021India2025-06-05
1022Argentina2025-06-10
1023Australia2025-05-17
1024Australia2025-05-19
1025Japan2025-06-12
1026Australia2025-05-26
1027Germany2025-05-29
1028Australia2025-06-07
1029France2025-05-29
1030Japan2025-06-01
1031France2025-06-02
1032Italy2025-05-31
1033France2025-06-01
1034Argentina2025-05-20
1035Australia2025-05-20
1036France2025-05-30
1037India2025-05-21
1038Canada2025-06-06
1039Spain2025-06-02
1040France2025-05-18
1041Argentina2025-05-29
1042Brazil2025-05-29
1043Russia2025-05-23
1044Japan2025-06-03
1045Italy2025-06-14
1046India2025-06-15
1047Japan2025-06-05
1048Canada2025-05-28
1049Italy2025-06-04

On-Demand Data

NameIdCountryDate
Rodrigues P Tollner1000Japan2025-05-21
Faith X Ruta1001Brazil2025-05-26
Costa Y Shinko1002Italy2025-06-13
Darci Y Stenseth1003Spain2025-05-27
Leon T Rim1004Australia2025-06-03
Leja N Flosi1005Italy2025-06-05
Misaki M Amigon1006Russia2025-06-02
Leja R Gaucho1007Germany2025-05-18
Aruna X Iturbide1008Brazil2025-05-24
Darci J Inouye1009Spain2025-05-25
Mayumi C Whobrey1010Germany2025-05-20
Smith C Doe1011Canada2025-06-14
Chavez Q Perin1012Argentina2025-05-29
Tony I Caldarera1013United Kingdom2025-06-09
Chavez L Gaucho1014United Kingdom2025-05-29
Mayumi H Whobrey1015Italy2025-05-22
Morrow Y Butt1016Australia2025-05-28
Johnson B Vocelka1017Germany2025-05-27
Aika P Ruta1018Japan2025-05-29
Aditya F Bowley1019Spain2025-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel I MarrierJapanAsiya Javayant RENEWAL
Julie K StockhamAustraliaBernardo Dominic NEW
Silvio E RulapaughArgentinaOnyama Limba NEW
Chavez C ShinkoUnited KingdomIoni Bowcher PROPOSAL
Juan E MarrierUnited KingdomIvan Magalhaes RENEWAL
Morrow H DoeFranceXuxue Feng NEGOTIATION
Deepesh S ButtUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore F WhobreySpainAmy Elsner UNQUALIFIED
Aika F MarrierBrazilStephen Shaw PROPOSAL
Jones N WhobreyCanadaIvan Magalhaes PROPOSAL
Maisha U GillianJapanStephen Shaw NEW
Leja K PerinBrazilAnna Fali NEW
Ivar G NestleFranceIoni Bowcher RENEWAL
Isabel B StockhamIndiaAsiya Javayant PROPOSAL
Francesco A DoeIndiaIvan Magalhaes QUALIFIED
Ricardo D FollerRussiaIvan Magalhaes NEW
Jones L RimJapanIvan Magalhaes UNQUALIFIED
Maria U GarufiAustraliaStephen Shaw PROPOSAL
Ashley K ShinkoCanadaAnna Fali NEGOTIATION
Salvatore E ChuiAustraliaAmy Elsner PROPOSAL
Wickens L MacleadArgentinaAmy Elsner NEGOTIATION
Cody F RimAustraliaIoni Bowcher NEGOTIATION
Ivar K PaprockiRussiaAmy Elsner QUALIFIED
Murillo D StensethUnited KingdomBernardo Dominic NEW
Claire V PoquetteCanadaBernardo Dominic NEGOTIATION
Ivar A OstroskyJapanAmy Elsner NEGOTIATION
Jefferson X CaldareraRussiaAsiya Javayant NEW
Kadeem E StockhamBrazilIvan Magalhaes PROPOSAL
Alejandro W AmigonSpainAsiya Javayant RENEWAL
Munro H NickaAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois P ChuiGermanyStephen Shaw RENEWAL
Francesco Q MaletAustraliaAnna Fali UNQUALIFIED
Jones J DoeIndiaAnna Fali NEGOTIATION
Smith P SergiAustraliaAsiya Javayant NEW
Aditya A AlbaresCanadaXuxue Feng PROPOSAL
Juan Z PaprockiFranceElwin Sharvill RENEWAL
Leja W FigeroaCanadaStephen Shaw NEGOTIATION
Jennifer N NestleSpainAnna Fali UNQUALIFIED
Claire X IturbideBrazilBernardo Dominic RENEWAL
Francesco S MarrierAustraliaBernardo Dominic 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>