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
Smith S OldroydArgentinaAmy Elsner NEW
Salvatore V CaldareraFranceIoni Bowcher NEW
Costa W RoysterItalyBernardo Dominic QUALIFIED
Tony P WieserIndiaIvan Magalhaes UNQUALIFIED
Stacey Y BologniaRussiaAnna Fali UNQUALIFIED
Adams G MaletUnited KingdomIvan Magalhaes RENEWAL
Arvin C IturbideBrazilBernardo Dominic NEGOTIATION
Ivar I BologniaRussiaBernardo Dominic PROPOSAL
Maisha L OldroydArgentinaIoni Bowcher PROPOSAL
Nicolas R ButtAustraliaAsiya Javayant RENEWAL
Smith S WieserRussiaAsiya Javayant NEGOTIATION
Kadeem V ShinkoCanadaElwin Sharvill RENEWAL
Morrow Q DoeFranceBernardo Dominic UNQUALIFIED
Kadeem M VenereUnited KingdomIoni Bowcher QUALIFIED
Leja T InouyeArgentinaStephen Shaw PROPOSAL
Maisha Y FerenczIndiaAnna Fali QUALIFIED
Stacey V VocelkaItalyAnna Fali PROPOSAL
Morrow G CaldareraBrazilOnyama Limba UNQUALIFIED
Cody B WieserArgentinaOnyama Limba NEGOTIATION
Adams A SlusarskiRussiaStephen Shaw UNQUALIFIED
Kadeem S SergiArgentinaBernardo Dominic RENEWAL
Wickens W RoysterArgentinaStephen Shaw NEW
Francesco R GillianBrazilIoni Bowcher UNQUALIFIED
Tony J SchemmerJapanAnna Fali UNQUALIFIED
Maisha T ButtFranceElwin Sharvill UNQUALIFIED
Jeanfrancois M SergiItalyXuxue Feng NEW
Nicolas U ButtGermanyXuxue Feng NEW
Maria R ChuiRussiaIvan Magalhaes NEGOTIATION
Sinclair E KolmetzJapanIoni Bowcher RENEWAL
Kaitlin X CaudyJapanElwin Sharvill UNQUALIFIED
Morrow H DilliardIndiaBernardo Dominic RENEWAL
Sinclair U TollnerCanadaIvan Magalhaes NEW
Jeanfrancois P FollerBrazilAsiya Javayant PROPOSAL
Rodrigues O ButtJapanIoni Bowcher UNQUALIFIED
Leon W StensethGermanyAsiya Javayant UNQUALIFIED
Claire D BowleySpainIvan Magalhaes NEW
Misaki Y RutaAustraliaAnna Fali QUALIFIED
Silvio U TollnerRussiaAnna Fali UNQUALIFIED
Aika X TollnerGermanyAsiya Javayant UNQUALIFIED
Julie B WieserGermanyElwin Sharvill NEW
Jeanfrancois L KolmetzGermanyIoni Bowcher NEGOTIATION
Kaitlin Q KuskoGermanyIvan Magalhaes PROPOSAL
Mujtaba O MacleadUnited KingdomAnna Fali PROPOSAL
Rodrigues R NestleAustraliaIoni Bowcher RENEWAL
Tony M CampainFranceStephen Shaw QUALIFIED
Rodrigues Z MacleadArgentinaBernardo Dominic UNQUALIFIED
Cody R DilliardUnited KingdomAnna Fali NEW
Jeanfrancois C GlickAustraliaIoni Bowcher QUALIFIED
Salvatore J MaletRussiaIvan Magalhaes RENEWAL
Jeanfrancois N BologniaCanadaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel E WaycottAustraliaIoni Bowcher RENEWAL
Cody F IturbideGermanyAmy Elsner RENEWAL
James H CampainItalyStephen Shaw NEGOTIATION
Emily I SchemmerBrazilElwin Sharvill NEGOTIATION
Leja D OstroskyFranceAnna Fali UNQUALIFIED
Julie X TollnerIndiaXuxue Feng RENEWAL
Sinclair Z BowleySpainElwin Sharvill QUALIFIED
Isabel Z RimCanadaAsiya Javayant QUALIFIED
Darci I ChuiGermanyAnna Fali PROPOSAL
Claire X MarrierFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez M SlusarskiSpain2024-05-07Commercial Press NEGOTIATION2Onyama Limba
1001Deepesh S NestleGermany2024-05-21Feiner Bros NEGOTIATION6Ioni Bowcher
1002Wickens W WhobreyGermany2024-05-19Benton, John B Jr QUALIFIED89Onyama Limba
1003Tony A StockhamJapan2024-04-30Chemel, James L Cpa RENEWAL75Anna Fali
1004Jefferson R WhobreyJapan2024-04-28Commercial Press NEGOTIATION9Ivan Magalhaes
1005Salvatore N RimSpain2024-05-25Truhlar And Truhlar Attys UNQUALIFIED22Amy Elsner
1006Deepesh Y CaldareraItaly2024-05-05Feiner Bros UNQUALIFIED12Ioni Bowcher
1007Tony K OstroskyIndia2024-04-28King, Christopher A Esq RENEWAL17Ioni Bowcher
1008Tony Q DoeUnited Kingdom2024-05-06Truhlar And Truhlar Attys UNQUALIFIED71Xuxue Feng
1009Leon R KuskoUnited Kingdom2024-05-07Commercial Press UNQUALIFIED24Xuxue Feng
1010Jefferson V KolmetzItaly2024-05-03Feiner Bros UNQUALIFIED71Bernardo Dominic
1011Leja B StockhamCanada2024-05-09Chapman, Ross E Esq PROPOSAL55Ioni Bowcher
1012Sinclair X StensethRussia2024-05-17Feltz Printing Service PROPOSAL75Stephen Shaw
1013Chavez S AmigonFrance2024-05-15Feltz Printing Service NEGOTIATION75Onyama Limba
1014Salvatore C WaycottIndia2024-05-03Chapman, Ross E Esq UNQUALIFIED38Anna Fali
1015Faith N GillianJapan2024-05-19Commercial Press NEGOTIATION24Anna Fali
1016Greenwood O BowleyArgentina2024-05-13Rangoni Of Florence UNQUALIFIED14Xuxue Feng
1017David W ShinkoAustralia2024-04-30Buckley Miller Wright NEGOTIATION92Amy Elsner
1018Clifford Q IturbideRussia2024-05-17Morlong Associates PROPOSAL5Onyama Limba
1019Arvin P MarrierArgentina2024-05-05Rousseaux, Michael Esq RENEWAL17Ioni Bowcher
1020Ashley J IturbideGermany2024-05-13Chemel, James L Cpa NEW42Anna Fali
1021Claire Z ChuiArgentina2024-05-26Rangoni Of Florence NEW77Bernardo Dominic
1022Mayumi N RutaAustralia2024-05-17Dorl, James J Esq PROPOSAL17Xuxue Feng
1023Morrow A GauchoGermany2024-05-06Feiner Bros NEW88Bernardo Dominic
1024Leon U GillianSpain2024-05-23Chanay, Jeffrey A Esq RENEWAL46Stephen Shaw
1025Ricardo D PaprockiArgentina2024-05-11Morlong Associates RENEWAL51Amy Elsner
1026Julie Y DoeAustralia2024-05-24Buckley Miller Wright NEW69Bernardo Dominic
1027Claire V SergiJapan2024-05-14Commercial Press NEW24Anna Fali
1028Darci Q ButtCanada2024-05-10Feltz Printing Service PROPOSAL99Stephen Shaw
1029Greenwood V MorascaAustralia2024-05-20Dorl, James J Esq RENEWAL50Asiya Javayant
1030Ricardo K FollerBrazil2024-05-06Dorl, James J Esq PROPOSAL81Anna Fali
1031Tony Q MaletUnited Kingdom2024-04-27Feltz Printing Service UNQUALIFIED52Stephen Shaw
1032Aika S StensethSpain2024-05-16Commercial Press RENEWAL17Elwin Sharvill
1033Adams S RimIndia2024-05-05Dorl, James J Esq PROPOSAL91Elwin Sharvill
1034Murillo A RoysterGermany2024-05-17Feiner Bros PROPOSAL92Xuxue Feng
1035Jennifer Y GarufiJapan2024-05-04Chanay, Jeffrey A Esq UNQUALIFIED9Ivan Magalhaes
1036Jefferson L GauchoBrazil2024-04-29Chanay, Jeffrey A Esq UNQUALIFIED22Ivan Magalhaes
1037Arvin R StockhamBrazil2024-05-15Chanay, Jeffrey A Esq QUALIFIED80Stephen Shaw
1038Claire T FigeroaSpain2024-05-01Feiner Bros QUALIFIED75Ioni Bowcher
1039Leon H MaletBrazil2024-05-13Truhlar And Truhlar Attys NEW69Ivan Magalhaes
1040Jennifer O CampainArgentina2024-05-17Feltz Printing Service NEGOTIATION23Amy Elsner
1041Mayumi X ButtJapan2024-05-18Morlong Associates RENEWAL64Asiya Javayant
1042Darci K AlbaresArgentina2024-05-14Printing Dimensions QUALIFIED62Amy Elsner
1043Greenwood E MaletJapan2024-05-17Feltz Printing Service NEGOTIATION29Asiya Javayant
1044Jennifer K DarakjyAustralia2024-05-09Feiner Bros QUALIFIED37Anna Fali
1045Alejandro P StockhamArgentina2024-04-29Chanay, Jeffrey A Esq PROPOSAL47Onyama Limba
1046Aika A RutaUnited Kingdom2024-05-11Morlong Associates PROPOSAL36Elwin Sharvill
1047Julie R GillianFrance2024-05-13Printing Dimensions UNQUALIFIED79Ivan Magalhaes
1048Aika F DarakjySpain2024-05-08Chanay, Jeffrey A Esq QUALIFIED14Asiya Javayant
1049Wickens W MaletJapan2024-04-28Rousseaux, Michael Esq UNQUALIFIED49Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Tony X FlosiSpainStephen Shaw UNQUALIFIED
Kaitlin D CaudyArgentinaIvan Magalhaes RENEWAL
Mayumi R OldroydArgentinaElwin Sharvill PROPOSAL
Aika W DoeJapanAsiya Javayant RENEWAL
Munro I SergiSpainAsiya Javayant NEW
Silvio D MarrierUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois P MarrierGermanyAnna Fali UNQUALIFIED
Ivar Z NestleIndiaAnna Fali UNQUALIFIED
Johnson C DilliardSpainIoni Bowcher PROPOSAL
Kadeem N VenereUnited KingdomIoni Bowcher PROPOSAL
Salvatore Y GauchoRussiaAsiya Javayant PROPOSAL
Misaki C PoquetteAustraliaElwin Sharvill NEGOTIATION
Jennifer O PerinAustraliaOnyama Limba PROPOSAL
Jefferson H PoquetteSpainStephen Shaw NEW
Leon M DilliardArgentinaAsiya Javayant NEGOTIATION
Sinclair U TollnerFranceAsiya Javayant RENEWAL
Salvatore D FlosiCanadaBernardo Dominic RENEWAL
Cody D TollnerItalyAmy Elsner NEGOTIATION
Ricardo C IturbideRussiaIoni Bowcher QUALIFIED
Maisha V FigeroaFranceAmy Elsner NEW
Nicolas Y SergiUnited KingdomStephen Shaw PROPOSAL
Costa D CaldareraRussiaAsiya Javayant RENEWAL
Leon T KuskoCanadaOnyama Limba RENEWAL
Costa R RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Alejandro U AmigonUnited KingdomAsiya Javayant NEGOTIATION
Isabel T CaldareraRussiaIvan Magalhaes NEW
Aruna G RoysterItalyStephen Shaw PROPOSAL
Antonio W RutaRussiaXuxue Feng UNQUALIFIED
Izzy G SlusarskiIndiaElwin Sharvill QUALIFIED
Ricardo E DarakjySpainStephen Shaw NEW
Izzy Y WhobreyGermanyStephen Shaw QUALIFIED
Ricardo Z MarrierIndiaIvan Magalhaes RENEWAL
Costa V VocelkaFranceAsiya Javayant RENEWAL
Izzy F SaylorsRussiaIvan Magalhaes RENEWAL
Greenwood K KolmetzIndiaElwin Sharvill PROPOSAL
Sinclair K WaycottUnited KingdomStephen Shaw PROPOSAL
Aika E PerinArgentinaIvan Magalhaes UNQUALIFIED
Alejandro Z DilliardIndiaIoni Bowcher QUALIFIED
Francesco P MacleadIndiaAmy Elsner UNQUALIFIED
Maisha S SchemmerJapanXuxue Feng NEGOTIATION
Kaitlin F AlbaresCanadaXuxue Feng PROPOSAL
Clifford Z RutaRussiaBernardo Dominic QUALIFIED
Rodrigues E SlusarskiArgentinaStephen Shaw NEW
Cody J OstroskyFranceElwin Sharvill QUALIFIED
Antonio I MorascaFranceIvan Magalhaes UNQUALIFIED
Deepesh D GillianBrazilXuxue Feng QUALIFIED
Claire D MarrierArgentinaElwin Sharvill RENEWAL
Octavia T MaletCanadaAnna Fali PROPOSAL
Emily S BologniaItalyElwin Sharvill NEGOTIATION
Isabel I CampainFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Isabel M Inouye
Silvio J Morasca
Rodrigues O Foller
Johnson V Garufi
Deepesh G Waycott
Alejandro W Poquette
Arvin K Slusarski
Greenwood X Nicka
James A Schemmer
Aditya V Doe
Kaitlin L Caudy
Alejandro P Garufi
Jones T Chui
Wickens A Nestle
Ricardo Z Darakjy
Antonio A Albares
Jennifer P Schemmer
Izzy P Whobrey
Wickens P Saylors
Ashley R Albares
Emily B Dilliard
Murillo V Darakjy
Mayumi U Slusarski
Murillo U Amigon
Johnson K Rim
Ashley A Venere
Maria I Nicka
Rodrigues L Perin
Morrow S Inouye
Johnson C Sergi
Murillo L Bolognia
David J Tollner
Clifford C Vocelka
Silvio P Royster
Silvio K Venere
Greenwood V Butt
Clifford E Dilliard
James X Rim
Cody W Ostrosky
James R Rulapaugh
Jennifer K Waycott
Jennifer U Iturbide
Munro X Tollner
Maria J Malet
Jefferson P Caudy
Ricardo D Briddick
Aika Y Campain
Stacey C Paprocki
Ivar L Kusko
Alejandro H Figeroa
IdCountryDate
1000Argentina2024-05-21
1001India2024-05-02
1002Japan2024-05-26
1003France2024-05-18
1004Brazil2024-05-02
1005Italy2024-04-27
1006Australia2024-04-27
1007Spain2024-05-09
1008Spain2024-05-26
1009Germany2024-05-13
1010Italy2024-05-17
1011Japan2024-05-03
1012Japan2024-05-25
1013Canada2024-04-30
1014Japan2024-05-06
1015Australia2024-05-07
1016Brazil2024-04-29
1017Australia2024-04-28
1018Canada2024-05-07
1019Italy2024-05-19
1020Italy2024-05-17
1021Spain2024-05-22
1022Brazil2024-05-07
1023Russia2024-05-11
1024Spain2024-04-27
1025Germany2024-05-20
1026Argentina2024-04-29
1027Italy2024-05-03
1028India2024-05-13
1029Spain2024-05-16
1030France2024-05-11
1031Japan2024-05-11
1032Australia2024-05-18
1033Japan2024-05-15
1034Italy2024-04-30
1035Australia2024-05-22
1036United Kingdom2024-05-20
1037Australia2024-05-19
1038Australia2024-05-24
1039France2024-05-04
1040France2024-05-02
1041Argentina2024-04-27
1042Japan2024-05-03
1043Australia2024-05-09
1044Canada2024-05-15
1045Japan2024-05-04
1046Brazil2024-05-19
1047Germany2024-05-09
1048Argentina2024-05-22
1049Spain2024-05-06

On-Demand Data

NameIdCountryDate
Aika O Waycott1000Argentina2024-04-28
Leja R Wieser1001United Kingdom2024-04-30
Ricardo S Doe1002Germany2024-05-19
Izzy O Kusko1003Spain2024-05-18
Salvatore V Ferencz1004Italy2024-04-28
Deepesh L Kusko1005Russia2024-05-09
Jennifer V Malet1006Brazil2024-05-20
Silvio I Doe1007Argentina2024-05-04
Darci L Rim1008Australia2024-05-02
Kadeem Z Darakjy1009United Kingdom2024-05-12
Silvio E Ostrosky1010Australia2024-05-20
Johnson X Vocelka1011Italy2024-04-28
Maria O Amigon1012United Kingdom2024-05-07
Antonio O Figeroa1013United Kingdom2024-05-01
James B Bolognia1014India2024-05-25
Izzy W Garufi1015Australia2024-05-23
Leja X Rulapaugh1016France2024-05-07
Clifford M Perin1017Japan2024-05-22
Chavez U Gaucho1018Australia2024-05-17
Adams J Flosi1019United Kingdom2024-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey X GlickArgentinaXuxue Feng RENEWAL
Jefferson S StensethFranceAnna Fali RENEWAL
Tony E VocelkaBrazilIoni Bowcher RENEWAL
Cody I MaletCanadaAsiya Javayant UNQUALIFIED
Sinclair C ShinkoCanadaAsiya Javayant QUALIFIED
Deepesh R VocelkaArgentinaBernardo Dominic PROPOSAL
Chavez U MacleadRussiaAnna Fali QUALIFIED
Clifford G DarakjyIndiaAnna Fali PROPOSAL
Francesco U IturbideArgentinaStephen Shaw UNQUALIFIED
Maisha K InouyeFranceAsiya Javayant QUALIFIED
Isabel N IturbideJapanIvan Magalhaes QUALIFIED
Wickens T AmigonUnited KingdomAmy Elsner NEW
Cody D InouyeFranceOnyama Limba UNQUALIFIED
Maisha F FlosiBrazilIoni Bowcher NEGOTIATION
Francesco T BowleyFranceIvan Magalhaes UNQUALIFIED
Jennifer O TollnerSpainBernardo Dominic UNQUALIFIED
Octavia B GillianAustraliaAnna Fali NEW
Deepesh L StockhamUnited KingdomAmy Elsner QUALIFIED
Kaitlin W WaycottRussiaXuxue Feng UNQUALIFIED
Francesco O IturbideSpainIvan Magalhaes UNQUALIFIED
Maisha O FigeroaAustraliaAmy Elsner NEGOTIATION
Francesco Z OstroskyCanadaIoni Bowcher UNQUALIFIED
Kadeem S MarrierCanadaElwin Sharvill PROPOSAL
Ricardo H FlosiFranceIoni Bowcher RENEWAL
Izzy D GauchoAustraliaAsiya Javayant PROPOSAL
Mayumi Z GarufiBrazilAmy Elsner RENEWAL
Ricardo I MaletBrazilIoni Bowcher QUALIFIED
Greenwood Q PoquetteJapanAnna Fali QUALIFIED
James P BriddickAustraliaStephen Shaw PROPOSAL
Adams L MarrierSpainAnna Fali PROPOSAL
Smith L InouyeCanadaAmy Elsner PROPOSAL
Aruna C ChuiIndiaIoni Bowcher RENEWAL
Kaitlin L WaycottAustraliaOnyama Limba RENEWAL
Aruna X AmigonAustraliaIvan Magalhaes QUALIFIED
Antonio D FigeroaUnited KingdomAnna Fali NEGOTIATION
Kaitlin V SchemmerCanadaAsiya Javayant NEW
Tony B SchemmerJapanAmy Elsner UNQUALIFIED
Cody U OldroydGermanyAmy Elsner NEW
Morrow G NestleGermanyStephen Shaw RENEWAL
Maisha M KolmetzCanadaElwin Sharvill 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>