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
Aruna F FigeroaFranceAnna Fali PROPOSAL
Adams F TollnerItalyStephen Shaw QUALIFIED
Jefferson L GauchoUnited KingdomXuxue Feng NEW
Aruna O SlusarskiItalyAmy Elsner NEGOTIATION
Salvatore Y CaudyRussiaElwin Sharvill RENEWAL
Faith I StockhamItalyAnna Fali QUALIFIED
Maisha R VocelkaSpainBernardo Dominic PROPOSAL
Juan G DilliardCanadaBernardo Dominic RENEWAL
Isabel P MaletUnited KingdomBernardo Dominic RENEWAL
Aditya T CaldareraRussiaStephen Shaw UNQUALIFIED
Juan V CaudyUnited KingdomElwin Sharvill NEW
Costa G TollnerSpainBernardo Dominic NEW
Francesco M ChuiUnited KingdomXuxue Feng UNQUALIFIED
Octavia O WieserFranceIvan Magalhaes UNQUALIFIED
Cody Z VocelkaItalyBernardo Dominic PROPOSAL
Deepesh F MaletAustraliaXuxue Feng UNQUALIFIED
Wickens B StensethFranceOnyama Limba NEGOTIATION
Stacey S InouyeIndiaIoni Bowcher UNQUALIFIED
Sinclair C WhobreyAustraliaAsiya Javayant PROPOSAL
Misaki S ChuiItalyStephen Shaw NEGOTIATION
Smith J WieserJapanXuxue Feng UNQUALIFIED
Sinclair P FigeroaAustraliaOnyama Limba NEW
Faith H BologniaFranceIvan Magalhaes NEGOTIATION
Jeanfrancois K GillianSpainAsiya Javayant PROPOSAL
Tony H AmigonRussiaAnna Fali NEW
Francesco O PoquetteJapanOnyama Limba RENEWAL
Aika W CampainAustraliaBernardo Dominic UNQUALIFIED
Adams L VocelkaBrazilOnyama Limba NEW
Jefferson C WaycottRussiaXuxue Feng RENEWAL
Arvin S FlosiSpainIoni Bowcher PROPOSAL
Ricardo F BriddickFranceAmy Elsner UNQUALIFIED
Francesco Y AlbaresRussiaBernardo Dominic UNQUALIFIED
Alejandro R RoysterJapanAmy Elsner PROPOSAL
Aika O GillianCanadaAsiya Javayant RENEWAL
Izzy P DoeUnited KingdomAmy Elsner UNQUALIFIED
Faith B RulapaughIndiaElwin Sharvill NEW
Morrow X NickaFranceIvan Magalhaes QUALIFIED
James U MacleadBrazilIvan Magalhaes RENEWAL
Morrow G WieserIndiaIoni Bowcher QUALIFIED
Johnson O MarrierUnited KingdomXuxue Feng QUALIFIED
Jones C MorascaGermanyAmy Elsner UNQUALIFIED
Octavia Q SchemmerFranceElwin Sharvill NEW
Deepesh N WhobreyUnited KingdomAnna Fali NEW
Munro D PaprockiSpainIoni Bowcher QUALIFIED
Kadeem T MarrierSpainIvan Magalhaes RENEWAL
Costa X BriddickUnited KingdomOnyama Limba RENEWAL
Alejandro D SlusarskiUnited KingdomOnyama Limba NEW
Ivar B RoysterBrazilIoni Bowcher NEGOTIATION
Aditya F ButtFranceAmy Elsner UNQUALIFIED
Julie O ChuiIndiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco V PerinCanadaBernardo Dominic NEGOTIATION
Ivar C RulapaughCanadaStephen Shaw UNQUALIFIED
Misaki F WieserUnited KingdomAnna Fali NEGOTIATION
Ivar Z StensethArgentinaElwin Sharvill PROPOSAL
Leja J BologniaJapanXuxue Feng RENEWAL
Deepesh L RimGermanyElwin Sharvill QUALIFIED
Greenwood C SchemmerRussiaIoni Bowcher QUALIFIED
Francesco V KuskoArgentinaAmy Elsner NEW
Arvin N RutaSpainAmy Elsner PROPOSAL
Kaitlin S PoquetteArgentinaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie T FollerFrance2024-05-31Feiner Bros NEW88Ioni Bowcher
1001Stacey J VocelkaAustralia2024-06-08Buckley Miller Wright NEW2Bernardo Dominic
1002Maisha Q RoysterAustralia2024-06-06Feltz Printing Service NEW36Elwin Sharvill
1003Leja A PerinArgentina2024-06-12Chemel, James L Cpa NEGOTIATION80Stephen Shaw
1004Wickens P BowleyItaly2024-05-27Morlong Associates PROPOSAL33Elwin Sharvill
1005Francesco L VenereCanada2024-06-07Printing Dimensions PROPOSAL54Bernardo Dominic
1006Salvatore T CaldareraIndia2024-06-20Rangoni Of Florence NEW29Elwin Sharvill
1007Johnson O SaylorsIndia2024-06-21Printing Dimensions UNQUALIFIED40Ioni Bowcher
1008Salvatore H OstroskySpain2024-05-27Rousseaux, Michael Esq UNQUALIFIED39Ioni Bowcher
1009Tony A RimSpain2024-06-06King, Christopher A Esq NEGOTIATION96Stephen Shaw
1010Jefferson T CampainAustralia2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED74Ioni Bowcher
1011Mujtaba K CaldareraUnited Kingdom2024-06-15Dorl, James J Esq NEGOTIATION8Ioni Bowcher
1012Silvio I DoeArgentina2024-05-29Feltz Printing Service RENEWAL54Elwin Sharvill
1013Mayumi N SergiAustralia2024-06-21Rangoni Of Florence NEW80Asiya Javayant
1014Mujtaba L NestleIndia2024-06-15Chapman, Ross E Esq NEW86Ioni Bowcher
1015Kadeem X StensethItaly2024-06-02Benton, John B Jr QUALIFIED4Amy Elsner
1016Izzy I MacleadJapan2024-05-30Dorl, James J Esq QUALIFIED85Ivan Magalhaes
1017David F NestleCanada2024-06-25Commercial Press UNQUALIFIED61Ioni Bowcher
1018Adams V WhobreyArgentina2024-06-23Rangoni Of Florence NEGOTIATION87Onyama Limba
1019Claire C DoeUnited Kingdom2024-05-28Rangoni Of Florence QUALIFIED44Onyama Limba
1020Ricardo G DilliardUnited Kingdom2024-06-11Benton, John B Jr RENEWAL54Amy Elsner
1021Claire M VenereArgentina2024-05-31Chapman, Ross E Esq NEW62Amy Elsner
1022Octavia M GauchoIndia2024-06-07Buckley Miller Wright NEGOTIATION38Stephen Shaw
1023Jefferson U RoysterGermany2024-06-05Morlong Associates PROPOSAL43Ioni Bowcher
1024James B StockhamRussia2024-05-31Chanay, Jeffrey A Esq NEGOTIATION8Elwin Sharvill
1025Claire U AlbaresCanada2024-06-13Rangoni Of Florence RENEWAL2Amy Elsner
1026Aika R TollnerFrance2024-06-11Benton, John B Jr UNQUALIFIED30Anna Fali
1027Jones B MaletUnited Kingdom2024-06-22Rangoni Of Florence QUALIFIED80Asiya Javayant
1028Morrow Y WhobreyRussia2024-06-15Printing Dimensions NEGOTIATION40Asiya Javayant
1029Kaitlin Y GlickBrazil2024-06-06Feiner Bros NEGOTIATION20Ioni Bowcher
1030Mayumi M ButtRussia2024-06-18Rousseaux, Michael Esq RENEWAL2Ivan Magalhaes
1031Johnson A MarrierFrance2024-05-27Feltz Printing Service QUALIFIED91Stephen Shaw
1032Leja A GillianJapan2024-06-03Chanay, Jeffrey A Esq NEGOTIATION20Bernardo Dominic
1033Munro M SergiUnited Kingdom2024-06-23Commercial Press NEW99Ioni Bowcher
1034Munro L MaletGermany2024-06-13Rangoni Of Florence NEGOTIATION42Onyama Limba
1035Aditya Z PaprockiJapan2024-06-12Morlong Associates QUALIFIED51Onyama Limba
1036Wickens I GlickBrazil2024-06-12Feltz Printing Service NEW41Ioni Bowcher
1037Wickens C GarufiAustralia2024-05-28Dorl, James J Esq NEW9Amy Elsner
1038Izzy X ShinkoSpain2024-05-28Dorl, James J Esq UNQUALIFIED99Ioni Bowcher
1039Leon L GarufiBrazil2024-06-08Buckley Miller Wright PROPOSAL86Anna Fali
1040Johnson Z RutaFrance2024-06-10Rangoni Of Florence QUALIFIED6Asiya Javayant
1041Costa Y MaletCanada2024-06-18Buckley Miller Wright RENEWAL9Anna Fali
1042Isabel N KolmetzArgentina2024-06-25Truhlar And Truhlar Attys UNQUALIFIED21Anna Fali
1043Silvio D KolmetzSpain2024-06-08Feiner Bros NEW28Ioni Bowcher
1044Ashley N SlusarskiIndia2024-06-11Rangoni Of Florence NEW21Bernardo Dominic
1045Costa D SergiArgentina2024-06-18Dorl, James J Esq UNQUALIFIED85Asiya Javayant
1046Mujtaba A WhobreySpain2024-06-25Chanay, Jeffrey A Esq PROPOSAL26Xuxue Feng
1047Jeanfrancois V GillianItaly2024-05-28Commercial Press QUALIFIED43Amy Elsner
1048David T DilliardFrance2024-06-01Dorl, James J Esq QUALIFIED55Bernardo Dominic
1049Sinclair M OstroskyIndia2024-06-06Chanay, Jeffrey A Esq RENEWAL91Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Smith L TollnerFranceBernardo Dominic UNQUALIFIED
Kadeem I NickaUnited KingdomElwin Sharvill UNQUALIFIED
Jones J RoysterAustraliaStephen Shaw NEGOTIATION
Ashley H CampainAustraliaStephen Shaw NEW
Octavia D FlosiArgentinaXuxue Feng UNQUALIFIED
Alejandro Z MorascaUnited KingdomAnna Fali NEGOTIATION
Ricardo L WieserIndiaIoni Bowcher NEW
Adams P FigeroaUnited KingdomStephen Shaw RENEWAL
Chavez Y StensethJapanIvan Magalhaes NEGOTIATION
Chavez J OldroydItalyElwin Sharvill NEGOTIATION
Antonio X RimJapanAsiya Javayant RENEWAL
Nicolas C MaletJapanXuxue Feng PROPOSAL
Deepesh T AlbaresCanadaStephen Shaw PROPOSAL
Misaki N OldroydCanadaElwin Sharvill PROPOSAL
Francesco R VenereUnited KingdomAsiya Javayant RENEWAL
Ashley K SlusarskiAustraliaIoni Bowcher NEGOTIATION
Greenwood I MarrierGermanyAnna Fali QUALIFIED
Alejandro A MorascaGermanyAsiya Javayant UNQUALIFIED
Adams L FerenczBrazilOnyama Limba NEGOTIATION
Maisha U MorascaGermanyOnyama Limba RENEWAL
Aruna F RimArgentinaIoni Bowcher RENEWAL
Ivar Q MarrierBrazilStephen Shaw RENEWAL
Rodrigues T MarrierJapanElwin Sharvill NEGOTIATION
Rodrigues U MacleadJapanElwin Sharvill NEGOTIATION
James Y GlickFranceBernardo Dominic UNQUALIFIED
Costa G MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Juan U RutaFranceAsiya Javayant PROPOSAL
Greenwood C FollerJapanAsiya Javayant QUALIFIED
Deepesh G KuskoSpainAsiya Javayant PROPOSAL
Mayumi W RimCanadaIoni Bowcher RENEWAL
Ricardo X SchemmerGermanyAmy Elsner NEW
Aruna U MaletAustraliaStephen Shaw RENEWAL
Misaki S FlosiGermanyIvan Magalhaes QUALIFIED
Maisha R GlickAustraliaStephen Shaw QUALIFIED
Ivar Q BriddickRussiaAsiya Javayant QUALIFIED
Isabel X PoquetteSpainElwin Sharvill RENEWAL
Aruna C KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Tony S FigeroaGermanyOnyama Limba NEW
Rodrigues E StockhamIndiaXuxue Feng QUALIFIED
Aditya R WieserIndiaStephen Shaw NEW
Alejandro Q StensethJapanOnyama Limba PROPOSAL
David S WieserArgentinaOnyama Limba UNQUALIFIED
Deepesh E FollerBrazilIoni Bowcher NEW
Morrow L WieserArgentinaOnyama Limba RENEWAL
Jeanfrancois D StockhamGermanyXuxue Feng NEGOTIATION
Julie T PerinItalyAmy Elsner NEW
Tony H MorascaItalyAmy Elsner RENEWAL
Nicolas N FerenczCanadaElwin Sharvill PROPOSAL
Ivar G GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Rodrigues Z RulapaughItalyStephen Shaw PROPOSAL
Frozen Columns
Name
Jeanfrancois Y Kusko
Darci R Malet
Deepesh D Paprocki
Salvatore Z Paprocki
James R Caudy
Morrow T Poquette
Deepesh C Sergi
Claire H Caudy
Claire L Vocelka
Jefferson Y Saylors
Aruna P Rulapaugh
Wickens I Rulapaugh
Johnson M Campain
Aditya I Gaucho
Antonio Z Garufi
Mayumi J Vocelka
Salvatore D Flosi
Jeanfrancois V Inouye
Sinclair V Slusarski
Misaki G Marrier
Arvin K Venere
Leja B Paprocki
Sinclair Z Amigon
Misaki O Rulapaugh
Salvatore B Perin
Greenwood B Bolognia
Francesco G Briddick
Aditya Z Saylors
Deepesh G Maclead
Mayumi Z Bowley
Murillo S Oldroyd
Isabel C Wieser
Juan Q Amigon
Clifford J Bowley
Kaitlin U Bolognia
Nicolas P Nestle
Silvio S Ferencz
Julie T Amigon
Murillo L Garufi
Johnson X Inouye
Deepesh X Oldroyd
Wickens Q Tollner
Jeanfrancois P Saylors
Kadeem S Malet
Murillo F Stockham
Kadeem J Caldarera
Jennifer U Gillian
Greenwood I Doe
Aditya P Marrier
Ricardo D Dilliard
IdCountryDate
1000Brazil2024-06-10
1001Argentina2024-06-25
1002Argentina2024-05-29
1003United Kingdom2024-06-15
1004France2024-06-12
1005Russia2024-06-25
1006Germany2024-06-02
1007Japan2024-06-13
1008India2024-06-13
1009Japan2024-06-21
1010Italy2024-06-13
1011Brazil2024-06-20
1012Spain2024-06-05
1013France2024-05-29
1014Spain2024-06-01
1015Germany2024-06-05
1016India2024-06-15
1017Brazil2024-06-17
1018Argentina2024-06-06
1019France2024-06-03
1020Japan2024-06-04
1021Australia2024-06-02
1022United Kingdom2024-06-04
1023Argentina2024-06-24
1024Spain2024-06-11
1025Italy2024-06-04
1026Spain2024-05-28
1027France2024-06-19
1028Russia2024-06-07
1029Italy2024-06-17
1030France2024-06-18
1031Canada2024-05-31
1032United Kingdom2024-06-17
1033France2024-06-07
1034Japan2024-05-28
1035Argentina2024-06-07
1036Argentina2024-06-11
1037Canada2024-06-08
1038Russia2024-06-25
1039Australia2024-05-29
1040Brazil2024-06-11
1041Brazil2024-06-16
1042Germany2024-05-29
1043Argentina2024-05-31
1044France2024-06-17
1045India2024-05-27
1046India2024-06-08
1047Spain2024-06-13
1048Italy2024-06-23
1049United Kingdom2024-06-10

On-Demand Data

NameIdCountryDate
Isabel O Rulapaugh1000Brazil2024-06-20
Morrow U Ostrosky1001Canada2024-06-05
Faith M Amigon1002Argentina2024-06-07
Deepesh G Malet1003Japan2024-06-06
Adams T Kusko1004Russia2024-06-16
Antonio E Wieser1005Brazil2024-05-27
Emily W Caldarera1006Argentina2024-06-06
Alejandro E Albares1007United Kingdom2024-05-28
Ivar O Rim1008Japan2024-06-07
Arvin K Dilliard1009Japan2024-06-13
Jeanfrancois I Ruta1010Italy2024-06-07
Cody V Butt1011Australia2024-05-30
Jones D Maclead1012United Kingdom2024-06-03
Sinclair V Waycott1013Argentina2024-06-22
Emily L Sergi1014Canada2024-06-06
Nicolas O Whobrey1015Argentina2024-06-21
Murillo L Venere1016Japan2024-06-02
Greenwood I Stockham1017United Kingdom2024-05-27
Jennifer U Tollner1018Russia2024-06-19
Emily X Paprocki1019Japan2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Z PaprockiRussiaIoni Bowcher RENEWAL
Juan C OldroydGermanyStephen Shaw UNQUALIFIED
Sinclair V VocelkaItalyBernardo Dominic NEW
Isabel I InouyeRussiaIvan Magalhaes NEGOTIATION
Maisha C OldroydFranceXuxue Feng UNQUALIFIED
Maria J RimIndiaBernardo Dominic UNQUALIFIED
Aruna K DarakjyIndiaAnna Fali NEW
Misaki S BriddickSpainAsiya Javayant NEGOTIATION
Faith C MaletBrazilAsiya Javayant RENEWAL
Faith H InouyeAustraliaAsiya Javayant PROPOSAL
Juan K RulapaughGermanyAnna Fali RENEWAL
Nicolas J NickaUnited KingdomElwin Sharvill UNQUALIFIED
Tony Z AlbaresSpainIoni Bowcher NEGOTIATION
Aika R GlickGermanyIvan Magalhaes RENEWAL
Ivar H BriddickCanadaStephen Shaw UNQUALIFIED
Maria H BologniaUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues H MarrierGermanyStephen Shaw PROPOSAL
Deepesh R WieserItalyBernardo Dominic UNQUALIFIED
Jeanfrancois F MorascaUnited KingdomStephen Shaw PROPOSAL
Julie F ButtCanadaStephen Shaw UNQUALIFIED
Clifford X MaletAustraliaAsiya Javayant RENEWAL
Emily G GauchoItalyXuxue Feng RENEWAL
Cody T FlosiBrazilOnyama Limba NEGOTIATION
Emily G InouyeJapanBernardo Dominic UNQUALIFIED
Nicolas R FlosiCanadaAmy Elsner QUALIFIED
Izzy U WieserSpainOnyama Limba NEGOTIATION
Aika O BowleyCanadaBernardo Dominic QUALIFIED
Kadeem L GauchoFranceXuxue Feng PROPOSAL
Maria D StockhamUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin Q MacleadBrazilStephen Shaw RENEWAL
Jones N BologniaGermanyXuxue Feng PROPOSAL
David T MarrierAustraliaStephen Shaw NEGOTIATION
Sinclair Y GlickGermanyXuxue Feng QUALIFIED
Johnson E FollerBrazilAnna Fali NEW
Morrow Q BologniaGermanyXuxue Feng PROPOSAL
Leon X FerenczCanadaElwin Sharvill QUALIFIED
Jeanfrancois Z RulapaughArgentinaAsiya Javayant NEGOTIATION
Arvin R AmigonRussiaElwin Sharvill NEW
Tony D AlbaresCanadaBernardo Dominic UNQUALIFIED
Isabel S PerinGermanyAsiya Javayant 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>