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
Mujtaba Q SaylorsAustraliaXuxue Feng NEGOTIATION
Darci X WieserCanadaAmy Elsner QUALIFIED
Adams J GauchoItalyOnyama Limba RENEWAL
Mujtaba J RutaAustraliaOnyama Limba QUALIFIED
Chavez F PerinJapanIoni Bowcher NEGOTIATION
Octavia R InouyeSpainXuxue Feng QUALIFIED
Smith K ShinkoIndiaIoni Bowcher NEGOTIATION
Antonio B SergiBrazilAnna Fali RENEWAL
Chavez N BologniaRussiaIoni Bowcher PROPOSAL
Cody D CaudyArgentinaOnyama Limba NEW
Silvio E SergiGermanyIvan Magalhaes NEGOTIATION
Julie L DoeGermanyAmy Elsner UNQUALIFIED
Misaki F ChuiAustraliaAsiya Javayant NEW
Adams Y StensethUnited KingdomAsiya Javayant RENEWAL
Darci Y MarrierBrazilAsiya Javayant NEGOTIATION
Octavia C CaudyBrazilBernardo Dominic NEW
Munro W ChuiUnited KingdomOnyama Limba NEGOTIATION
Alejandro H RimRussiaBernardo Dominic NEGOTIATION
Salvatore W VenereGermanyStephen Shaw NEW
Leon Y SlusarskiGermanyAmy Elsner UNQUALIFIED
Jones Q StockhamSpainStephen Shaw UNQUALIFIED
Mujtaba F RulapaughBrazilStephen Shaw NEW
Aditya U SchemmerJapanAnna Fali PROPOSAL
Misaki E FollerItalyStephen Shaw PROPOSAL
Kaitlin S SlusarskiGermanyAsiya Javayant RENEWAL
Antonio H OldroydArgentinaOnyama Limba QUALIFIED
Darci H FerenczItalyIvan Magalhaes RENEWAL
Isabel P RutaItalyOnyama Limba PROPOSAL
Silvio K TollnerBrazilAsiya Javayant UNQUALIFIED
Salvatore H GlickIndiaElwin Sharvill PROPOSAL
Aruna E RoysterCanadaIvan Magalhaes NEW
Leon B BologniaItalyStephen Shaw NEW
Ivar J StockhamArgentinaAmy Elsner PROPOSAL
Mujtaba D MarrierItalyIoni Bowcher NEW
Ricardo I CampainArgentinaIvan Magalhaes RENEWAL
Murillo B InouyeItalyAsiya Javayant NEW
Smith A RulapaughCanadaIvan Magalhaes UNQUALIFIED
Aika U CaldareraFranceElwin Sharvill NEW
Deepesh H BriddickAustraliaIvan Magalhaes NEGOTIATION
Costa S KuskoArgentinaAnna Fali UNQUALIFIED
Leon U FollerItalyAmy Elsner QUALIFIED
Arvin A CaudyRussiaXuxue Feng UNQUALIFIED
Alejandro J SchemmerFranceIvan Magalhaes NEGOTIATION
Leon F KolmetzUnited KingdomElwin Sharvill NEW
Francesco T PerinIndiaAnna Fali UNQUALIFIED
Antonio X GlickFranceElwin Sharvill RENEWAL
Munro Q GarufiArgentinaElwin Sharvill QUALIFIED
Jefferson Y MarrierJapanAsiya Javayant NEGOTIATION
Jefferson H TollnerSpainBernardo Dominic NEW
Ricardo P GillianJapanBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem K FerenczGermanyIvan Magalhaes NEW
Johnson I SaylorsRussiaStephen Shaw NEGOTIATION
Deepesh Y RulapaughItalyElwin Sharvill NEGOTIATION
Stacey F IturbideRussiaStephen Shaw PROPOSAL
Jeanfrancois K DarakjyItalyAsiya Javayant NEGOTIATION
Nicolas L ChuiItalyIoni Bowcher QUALIFIED
Smith R MorascaGermanyIvan Magalhaes QUALIFIED
Murillo G BowleySpainBernardo Dominic NEGOTIATION
Chavez O FerenczRussiaIoni Bowcher UNQUALIFIED
Kadeem U OstroskyUnited KingdomElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie D GarufiJapan2025-05-16Chemel, James L Cpa UNQUALIFIED92Onyama Limba
1001Leon U VenereCanada2025-05-22Morlong Associates UNQUALIFIED99Anna Fali
1002Kaitlin A MaletItaly2025-06-12Feltz Printing Service NEGOTIATION35Ivan Magalhaes
1003Clifford R ShinkoItaly2025-06-07Chapman, Ross E Esq UNQUALIFIED29Onyama Limba
1004Darci X BologniaUnited Kingdom2025-05-20Rangoni Of Florence UNQUALIFIED89Amy Elsner
1005Murillo G OldroydFrance2025-05-24King, Christopher A Esq UNQUALIFIED44Anna Fali
1006Claire V WieserBrazil2025-05-20Printing Dimensions QUALIFIED16Xuxue Feng
1007Octavia K MarrierSpain2025-06-08Chapman, Ross E Esq UNQUALIFIED5Bernardo Dominic
1008Chavez Y DarakjyArgentina2025-06-01Buckley Miller Wright NEGOTIATION4Ioni Bowcher
1009Octavia S RulapaughJapan2025-06-14Chemel, James L Cpa NEW38Anna Fali
1010Murillo K StensethCanada2025-05-26Feltz Printing Service PROPOSAL95Ivan Magalhaes
1011Sinclair F ShinkoFrance2025-06-05Feltz Printing Service UNQUALIFIED80Stephen Shaw
1012Munro H MorascaUnited Kingdom2025-05-30Commercial Press NEW59Asiya Javayant
1013Ivar V FigeroaGermany2025-05-27Buckley Miller Wright NEW91Elwin Sharvill
1014Smith N VenereItaly2025-06-01Chapman, Ross E Esq NEGOTIATION75Ivan Magalhaes
1015Jeanfrancois N PerinJapan2025-06-11Benton, John B Jr NEGOTIATION39Amy Elsner
1016Chavez J MaletGermany2025-05-21Printing Dimensions RENEWAL13Xuxue Feng
1017Smith J SchemmerArgentina2025-05-28Feltz Printing Service NEGOTIATION97Stephen Shaw
1018Leon R SaylorsSpain2025-05-19Feiner Bros UNQUALIFIED22Bernardo Dominic
1019Munro Z TollnerGermany2025-05-20Commercial Press PROPOSAL65Xuxue Feng
1020Munro D StockhamIndia2025-05-21Chemel, James L Cpa QUALIFIED15Anna Fali
1021Rodrigues L TollnerJapan2025-06-13Chanay, Jeffrey A Esq NEW13Amy Elsner
1022Kadeem F WaycottGermany2025-05-31Benton, John B Jr NEGOTIATION90Asiya Javayant
1023Leja A FigeroaBrazil2025-05-30Commercial Press NEGOTIATION30Xuxue Feng
1024Wickens L FollerBrazil2025-05-29Truhlar And Truhlar Attys RENEWAL86Amy Elsner
1025Deepesh D RoysterUnited Kingdom2025-05-31Chapman, Ross E Esq NEW77Bernardo Dominic
1026Kadeem K CaldareraJapan2025-06-10Chanay, Jeffrey A Esq UNQUALIFIED10Ivan Magalhaes
1027Francesco M NestleFrance2025-06-02Feltz Printing Service RENEWAL38Onyama Limba
1028Alejandro J BriddickCanada2025-06-05Printing Dimensions NEW81Xuxue Feng
1029Kaitlin A FigeroaArgentina2025-05-28Benton, John B Jr QUALIFIED24Elwin Sharvill
1030Mayumi A FerenczJapan2025-06-08Commercial Press RENEWAL87Bernardo Dominic
1031Claire N GlickCanada2025-05-23King, Christopher A Esq NEGOTIATION83Asiya Javayant
1032Ricardo W MaletSpain2025-06-01Commercial Press QUALIFIED44Stephen Shaw
1033Salvatore R RulapaughRussia2025-06-03Chapman, Ross E Esq NEGOTIATION39Bernardo Dominic
1034Murillo V ButtBrazil2025-06-02Morlong Associates UNQUALIFIED64Ivan Magalhaes
1035Rodrigues G NestleUnited Kingdom2025-05-31Dorl, James J Esq UNQUALIFIED65Anna Fali
1036Alejandro N KolmetzArgentina2025-06-08Buckley Miller Wright PROPOSAL11Ioni Bowcher
1037Aika P GauchoIndia2025-06-06Feiner Bros NEW68Ioni Bowcher
1038Clifford W OstroskyRussia2025-05-22King, Christopher A Esq QUALIFIED21Xuxue Feng
1039Darci G MorascaBrazil2025-05-19Benton, John B Jr RENEWAL20Anna Fali
1040Isabel B GarufiBrazil2025-06-09Benton, John B Jr RENEWAL2Asiya Javayant
1041Jones J AlbaresSpain2025-05-27Benton, John B Jr NEW45Xuxue Feng
1042Salvatore S OldroydItaly2025-05-25Chanay, Jeffrey A Esq UNQUALIFIED85Stephen Shaw
1043Cody X WaycottGermany2025-05-23Benton, John B Jr UNQUALIFIED38Bernardo Dominic
1044Greenwood I ChuiUnited Kingdom2025-06-08Commercial Press RENEWAL73Xuxue Feng
1045Misaki V OstroskySpain2025-06-04Morlong Associates NEGOTIATION19Amy Elsner
1046Kaitlin Q SaylorsItaly2025-06-06Benton, John B Jr RENEWAL76Xuxue Feng
1047Ivar G MorascaItaly2025-05-17Commercial Press UNQUALIFIED65Ivan Magalhaes
1048Maisha N FlosiArgentina2025-06-13Benton, John B Jr PROPOSAL15Ioni Bowcher
1049Antonio X DilliardAustralia2025-05-22Morlong Associates PROPOSAL57Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Kadeem U BowleyAustraliaAmy Elsner NEW
Morrow U ButtBrazilAnna Fali QUALIFIED
Maisha Z SchemmerUnited KingdomBernardo Dominic PROPOSAL
Francesco F BologniaIndiaIoni Bowcher PROPOSAL
Chavez E WieserRussiaAnna Fali PROPOSAL
David G FerenczSpainBernardo Dominic QUALIFIED
Antonio K DoeItalyAsiya Javayant QUALIFIED
Adams X VenereAustraliaAsiya Javayant PROPOSAL
Deepesh X VenereItalyIvan Magalhaes UNQUALIFIED
Salvatore R RulapaughRussiaAnna Fali QUALIFIED
Antonio W IturbideAustraliaIvan Magalhaes NEGOTIATION
Kadeem W PoquetteArgentinaAnna Fali UNQUALIFIED
Aruna Q AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Juan R RulapaughSpainOnyama Limba PROPOSAL
Cody C SaylorsArgentinaOnyama Limba NEGOTIATION
Octavia R WieserSpainOnyama Limba NEW
Emily Y NestleRussiaAmy Elsner NEW
Murillo K StensethAustraliaXuxue Feng PROPOSAL
Alejandro T TollnerIndiaXuxue Feng UNQUALIFIED
Antonio T PerinRussiaAsiya Javayant RENEWAL
Ricardo R DilliardItalyBernardo Dominic RENEWAL
Isabel E GillianGermanyIvan Magalhaes NEGOTIATION
Clifford F NestleIndiaAsiya Javayant PROPOSAL
Mujtaba N OldroydGermanyIoni Bowcher PROPOSAL
Adams P FollerJapanStephen Shaw RENEWAL
Maisha K BriddickItalyAnna Fali QUALIFIED
Chavez O WhobreyFranceXuxue Feng UNQUALIFIED
Isabel O DarakjyRussiaElwin Sharvill UNQUALIFIED
Aruna O SaylorsSpainAmy Elsner PROPOSAL
Izzy P AmigonJapanAsiya Javayant UNQUALIFIED
Jefferson V OstroskyRussiaXuxue Feng QUALIFIED
Cody N PerinJapanOnyama Limba PROPOSAL
Salvatore J WieserBrazilIoni Bowcher UNQUALIFIED
Deepesh M BologniaUnited KingdomAsiya Javayant QUALIFIED
Wickens G KuskoGermanyStephen Shaw RENEWAL
Jefferson V TollnerUnited KingdomAmy Elsner UNQUALIFIED
Costa U PaprockiUnited KingdomAmy Elsner NEW
Jefferson J GlickArgentinaAmy Elsner RENEWAL
Antonio S FerenczSpainIvan Magalhaes NEW
Munro Z FerenczArgentinaAnna Fali NEW
Emily G CampainSpainXuxue Feng RENEWAL
Tony P PaprockiIndiaOnyama Limba PROPOSAL
Maria H RutaItalyStephen Shaw PROPOSAL
Francesco Q OstroskyBrazilOnyama Limba QUALIFIED
Munro M BologniaFranceAsiya Javayant QUALIFIED
James J DilliardFranceBernardo Dominic UNQUALIFIED
Julie F BologniaSpainAmy Elsner RENEWAL
Kadeem U PoquetteRussiaOnyama Limba NEW
Leon H PerinFranceAmy Elsner NEGOTIATION
Aika D AmigonFranceOnyama Limba UNQUALIFIED
Frozen Columns
Name
Costa J Kolmetz
Aruna I Rim
Jefferson Y Vocelka
Arvin D Gillian
Aika I Bowley
Morrow F Albares
Maisha O Rulapaugh
Octavia N Royster
Cody P Stenseth
Antonio X Morasca
Jefferson O Morasca
Greenwood Y Butt
Kaitlin S Chui
Cody Y Bolognia
Juan X Briddick
Adams H Garufi
Izzy K Sergi
Leja B Tollner
David F Amigon
Ashley H Dilliard
Faith T Butt
Clifford Q Inouye
Murillo Y Gillian
Julie D Paprocki
Rodrigues K Chui
Kadeem H Schemmer
Misaki U Garufi
Leon I Figeroa
Greenwood T Garufi
Claire V Kusko
Deepesh M Bolognia
Deepesh X Flosi
Faith V Campain
Stacey H Iturbide
Alejandro V Malet
Misaki E Bowley
Kaitlin R Venere
Silvio Z Albares
Mujtaba X Campain
Costa M Schemmer
Izzy N Flosi
Octavia M Kusko
Clifford I Oldroyd
Ricardo S Sergi
Sinclair C Maclead
Aditya D Shinko
Jeanfrancois U Paprocki
Isabel S Slusarski
Leja A Gaucho
Silvio B Ruta
IdCountryDate
1000India2025-05-30
1001Australia2025-05-16
1002Germany2025-05-23
1003United Kingdom2025-05-31
1004United Kingdom2025-05-25
1005France2025-05-17
1006Italy2025-05-31
1007Spain2025-05-25
1008France2025-05-20
1009Spain2025-05-17
1010Brazil2025-05-20
1011Spain2025-06-07
1012Argentina2025-06-05
1013Japan2025-06-03
1014Argentina2025-06-08
1015Japan2025-05-16
1016Canada2025-05-25
1017Brazil2025-05-23
1018India2025-05-29
1019Argentina2025-05-21
1020United Kingdom2025-05-26
1021Canada2025-06-10
1022Japan2025-06-12
1023India2025-05-21
1024India2025-06-03
1025Russia2025-05-22
1026France2025-05-25
1027Brazil2025-06-14
1028Russia2025-05-27
1029Japan2025-06-12
1030Australia2025-05-29
1031Brazil2025-06-12
1032Canada2025-06-01
1033Argentina2025-05-30
1034Australia2025-05-31
1035Russia2025-06-03
1036Russia2025-06-08
1037India2025-05-26
1038Germany2025-05-19
1039United Kingdom2025-06-05
1040India2025-05-22
1041Argentina2025-05-22
1042Canada2025-06-11
1043Australia2025-06-07
1044Canada2025-05-27
1045Germany2025-05-28
1046Japan2025-05-21
1047Australia2025-05-27
1048Brazil2025-06-03
1049Germany2025-06-14

On-Demand Data

NameIdCountryDate
Deepesh J Slusarski1000Russia2025-05-31
Aruna T Ostrosky1001Brazil2025-05-29
Ivar S Nestle1002India2025-06-02
Sinclair H Sergi1003Australia2025-05-17
Costa N Maclead1004Canada2025-05-28
Clifford M Sergi1005India2025-05-24
Leon W Schemmer1006India2025-06-02
Sinclair W Campain1007Australia2025-05-28
Jennifer C Whobrey1008France2025-05-20
Maisha F Foller1009Canada2025-05-16
Jones E Kolmetz1010Argentina2025-05-28
Johnson R Stockham1011Spain2025-06-02
Cody Z Rulapaugh1012United Kingdom2025-05-19
Julie C Kusko1013Argentina2025-06-06
Greenwood H Slusarski1014Japan2025-05-21
Adams Y Bowley1015Germany2025-05-20
Sinclair M Wieser1016Brazil2025-05-22
Francesco G Flosi1017Italy2025-05-27
Antonio B Albares1018Italy2025-05-26
Smith P Bolognia1019Italy2025-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem N NestleItalyIoni Bowcher RENEWAL
Munro M CaldareraRussiaElwin Sharvill UNQUALIFIED
Chavez J IturbideBrazilBernardo Dominic RENEWAL
Isabel P CampainJapanOnyama Limba UNQUALIFIED
Mayumi D BriddickSpainIvan Magalhaes QUALIFIED
Faith V OstroskyBrazilIvan Magalhaes NEGOTIATION
James S PerinBrazilAsiya Javayant RENEWAL
Sinclair B KolmetzSpainAmy Elsner NEW
Kadeem P ButtUnited KingdomIvan Magalhaes NEGOTIATION
Maisha P CampainGermanyIvan Magalhaes QUALIFIED
Cody S OldroydFranceOnyama Limba UNQUALIFIED
Aditya J TollnerRussiaAmy Elsner UNQUALIFIED
Misaki K OldroydGermanyElwin Sharvill NEW
Ivar X CaldareraArgentinaAsiya Javayant NEGOTIATION
Jennifer W CaudyFranceAnna Fali NEGOTIATION
Kaitlin A NickaCanadaElwin Sharvill PROPOSAL
Greenwood F TollnerJapanAmy Elsner UNQUALIFIED
Isabel P ChuiCanadaIvan Magalhaes PROPOSAL
Clifford A ShinkoIndiaAnna Fali RENEWAL
Aditya K SaylorsRussiaAmy Elsner UNQUALIFIED
Chavez Y OldroydArgentinaElwin Sharvill RENEWAL
Morrow E GauchoIndiaAnna Fali NEGOTIATION
David C BowleyRussiaXuxue Feng NEW
Ricardo C GauchoUnited KingdomStephen Shaw RENEWAL
Salvatore E MorascaJapanIvan Magalhaes RENEWAL
Jennifer W OldroydGermanyStephen Shaw PROPOSAL
Maria O SlusarskiIndiaAnna Fali NEGOTIATION
Alejandro D OstroskyBrazilStephen Shaw UNQUALIFIED
Morrow Q FlosiArgentinaAmy Elsner RENEWAL
Wickens E SlusarskiFranceAmy Elsner UNQUALIFIED
Antonio C RutaRussiaStephen Shaw UNQUALIFIED
Jeanfrancois A SergiCanadaXuxue Feng QUALIFIED
Murillo O VenereUnited KingdomXuxue Feng NEGOTIATION
Sinclair V VenereAustraliaBernardo Dominic QUALIFIED
Maria W WhobreyUnited KingdomIoni Bowcher NEW
Faith X SaylorsJapanElwin Sharvill QUALIFIED
Misaki J FigeroaUnited KingdomAnna Fali QUALIFIED
Cody L NestleAustraliaOnyama Limba NEW
David V CaudySpainOnyama Limba PROPOSAL
Adams O AlbaresGermanyIvan Magalhaes NEGOTIATION

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