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
Murillo B FerenczJapanXuxue Feng NEW
Leon O FollerArgentinaBernardo Dominic NEW
Silvio I ChuiArgentinaElwin Sharvill NEGOTIATION
Darci J ButtCanadaElwin Sharvill PROPOSAL
Mayumi K GarufiIndiaXuxue Feng UNQUALIFIED
Jeanfrancois P OstroskyCanadaIvan Magalhaes UNQUALIFIED
Emily J AmigonRussiaAmy Elsner PROPOSAL
Ricardo M FerenczBrazilXuxue Feng NEGOTIATION
Francesco I CampainItalyElwin Sharvill NEW
Munro Y MacleadCanadaXuxue Feng RENEWAL
Kadeem Y PaprockiUnited KingdomElwin Sharvill QUALIFIED
Rodrigues V BowleyCanadaXuxue Feng PROPOSAL
Costa Q NickaArgentinaIoni Bowcher PROPOSAL
Misaki Z NestleItalyElwin Sharvill QUALIFIED
Isabel U CampainGermanyElwin Sharvill NEGOTIATION
Jennifer R DarakjyIndiaElwin Sharvill QUALIFIED
Rodrigues T IturbideAustraliaElwin Sharvill PROPOSAL
Costa K CaudyFranceStephen Shaw UNQUALIFIED
Octavia O WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Smith M RimJapanBernardo Dominic UNQUALIFIED
David B BowleyArgentinaStephen Shaw QUALIFIED
Jones G BriddickArgentinaBernardo Dominic RENEWAL
Claire S KuskoItalyAsiya Javayant NEGOTIATION
Ivar J MarrierUnited KingdomOnyama Limba NEGOTIATION
Tony U MarrierArgentinaIvan Magalhaes UNQUALIFIED
Stacey Z WaycottIndiaIoni Bowcher PROPOSAL
Smith N SaylorsArgentinaBernardo Dominic QUALIFIED
Aika M MorascaGermanyIvan Magalhaes PROPOSAL
Aika P StensethUnited KingdomIoni Bowcher UNQUALIFIED
James L DilliardRussiaStephen Shaw NEGOTIATION
Ashley N FlosiIndiaAnna Fali UNQUALIFIED
Sinclair W PoquetteAustraliaStephen Shaw QUALIFIED
Julie J CampainSpainAmy Elsner PROPOSAL
Aruna K SlusarskiFranceAmy Elsner NEGOTIATION
Mayumi C GillianIndiaAnna Fali PROPOSAL
Octavia A CaudyUnited KingdomElwin Sharvill PROPOSAL
Kaitlin V SlusarskiCanadaAnna Fali RENEWAL
Deepesh P SergiSpainAnna Fali NEW
Jefferson Q VenereJapanAmy Elsner RENEWAL
Leja W DilliardSpainElwin Sharvill QUALIFIED
Morrow X RutaArgentinaIvan Magalhaes QUALIFIED
Alejandro N TollnerJapanBernardo Dominic RENEWAL
Maisha K RulapaughUnited KingdomIoni Bowcher RENEWAL
Mayumi V PaprockiIndiaAnna Fali UNQUALIFIED
Tony P InouyeCanadaBernardo Dominic QUALIFIED
James O SergiUnited KingdomXuxue Feng QUALIFIED
Claire B GillianCanadaIvan Magalhaes UNQUALIFIED
Izzy E IturbideArgentinaXuxue Feng NEGOTIATION
Izzy T InouyeUnited KingdomElwin Sharvill RENEWAL
Wickens K SchemmerRussiaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Francesco E TollnerUnited KingdomBernardo Dominic QUALIFIED
Maria F PoquetteGermanyXuxue Feng UNQUALIFIED
Juan U DarakjySpainAsiya Javayant RENEWAL
Clifford D GauchoSpainElwin Sharvill UNQUALIFIED
David J BriddickGermanyElwin Sharvill PROPOSAL
Johnson N KolmetzBrazilBernardo Dominic NEW
Sinclair P PoquetteUnited KingdomXuxue Feng NEW
Salvatore K BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Johnson C IturbideJapanOnyama Limba UNQUALIFIED
Greenwood F NickaRussiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi G RutaItaly2024-05-20Morlong Associates NEGOTIATION54Xuxue Feng
1001Misaki L BriddickAustralia2024-06-03Feiner Bros NEW41Xuxue Feng
1002Greenwood M MorascaCanada2024-06-08Truhlar And Truhlar Attys UNQUALIFIED42Ioni Bowcher
1003James M CampainBrazil2024-05-24Chemel, James L Cpa NEW98Ioni Bowcher
1004Maisha H SergiIndia2024-06-14Morlong Associates QUALIFIED24Bernardo Dominic
1005Octavia T MaletArgentina2024-06-01Morlong Associates RENEWAL46Stephen Shaw
1006Antonio V MorascaArgentina2024-06-18Rousseaux, Michael Esq RENEWAL93Bernardo Dominic
1007Jones Q DilliardCanada2024-06-01Chapman, Ross E Esq RENEWAL46Bernardo Dominic
1008Jones W KolmetzUnited Kingdom2024-06-12Benton, John B Jr QUALIFIED93Asiya Javayant
1009Wickens G PerinUnited Kingdom2024-06-09Truhlar And Truhlar Attys RENEWAL55Amy Elsner
1010Jones K AmigonUnited Kingdom2024-06-01Buckley Miller Wright PROPOSAL27Asiya Javayant
1011Johnson V CampainArgentina2024-05-22Commercial Press RENEWAL58Anna Fali
1012Aditya W RoysterSpain2024-06-04Dorl, James J Esq NEW99Xuxue Feng
1013Nicolas X MacleadFrance2024-06-09Chapman, Ross E Esq NEW18Stephen Shaw
1014Antonio W GillianArgentina2024-05-25Chapman, Ross E Esq NEGOTIATION55Bernardo Dominic
1015Jennifer M CaldareraRussia2024-05-28Feltz Printing Service NEGOTIATION91Ioni Bowcher
1016Antonio V GauchoArgentina2024-06-05Truhlar And Truhlar Attys QUALIFIED56Bernardo Dominic
1017Clifford X KolmetzBrazil2024-06-17Rangoni Of Florence NEW95Elwin Sharvill
1018Julie Y BowleyArgentina2024-05-28Commercial Press QUALIFIED69Ivan Magalhaes
1019Mayumi W CampainFrance2024-06-01Benton, John B Jr RENEWAL28Bernardo Dominic
1020Darci N RoysterArgentina2024-06-17Rangoni Of Florence RENEWAL72Ivan Magalhaes
1021Smith T RimBrazil2024-06-06Rousseaux, Michael Esq RENEWAL78Ivan Magalhaes
1022Claire H NestleBrazil2024-06-05Rousseaux, Michael Esq NEGOTIATION18Ioni Bowcher
1023Julie E PoquetteAustralia2024-05-23Chapman, Ross E Esq NEGOTIATION12Ivan Magalhaes
1024James L DarakjyArgentina2024-05-30Benton, John B Jr PROPOSAL44Bernardo Dominic
1025Maisha W NickaArgentina2024-05-29Truhlar And Truhlar Attys QUALIFIED58Ivan Magalhaes
1026Maria J MaletFrance2024-05-25Benton, John B Jr NEW70Stephen Shaw
1027Jefferson F SergiArgentina2024-06-01Chanay, Jeffrey A Esq NEGOTIATION54Ioni Bowcher
1028Deepesh Y SlusarskiSpain2024-05-25Printing Dimensions RENEWAL49Ioni Bowcher
1029Sinclair C DilliardJapan2024-05-25Morlong Associates PROPOSAL76Xuxue Feng
1030Aruna V MarrierCanada2024-05-26Commercial Press QUALIFIED30Anna Fali
1031Clifford H WaycottCanada2024-06-15Rousseaux, Michael Esq PROPOSAL74Amy Elsner
1032Greenwood Q AmigonGermany2024-06-16Rangoni Of Florence QUALIFIED52Elwin Sharvill
1033Maria G ShinkoRussia2024-06-13Truhlar And Truhlar Attys QUALIFIED29Onyama Limba
1034Greenwood F AlbaresUnited Kingdom2024-06-02Chemel, James L Cpa RENEWAL25Xuxue Feng
1035Kadeem X PoquetteCanada2024-06-06Buckley Miller Wright PROPOSAL38Asiya Javayant
1036Francesco S NickaCanada2024-06-14Chanay, Jeffrey A Esq NEW96Amy Elsner
1037Maisha I MacleadCanada2024-06-15Buckley Miller Wright PROPOSAL95Onyama Limba
1038Antonio M ButtFrance2024-06-05Rousseaux, Michael Esq QUALIFIED3Elwin Sharvill
1039David D SlusarskiJapan2024-06-03King, Christopher A Esq RENEWAL19Ioni Bowcher
1040Clifford I NestleIndia2024-06-04Commercial Press QUALIFIED50Xuxue Feng
1041Murillo H GillianFrance2024-05-28Chapman, Ross E Esq PROPOSAL22Ivan Magalhaes
1042Salvatore M RulapaughItaly2024-06-05Chemel, James L Cpa UNQUALIFIED69Elwin Sharvill
1043Leon X CaudyAustralia2024-05-20Chapman, Ross E Esq NEW7Ioni Bowcher
1044Morrow A KuskoItaly2024-05-22Buckley Miller Wright NEW99Ioni Bowcher
1045Aditya Q MacleadRussia2024-05-31Rangoni Of Florence PROPOSAL6Asiya Javayant
1046Francesco U NickaGermany2024-05-30Chemel, James L Cpa QUALIFIED71Xuxue Feng
1047Mayumi O VenereFrance2024-06-03Printing Dimensions NEW37Asiya Javayant
1048Silvio D CampainBrazil2024-06-11Feiner Bros UNQUALIFIED77Stephen Shaw
1049Maria X FigeroaJapan2024-05-24Printing Dimensions UNQUALIFIED45Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh K MorascaRussiaAnna Fali NEW
Julie Y PerinGermanyAsiya Javayant UNQUALIFIED
Tony K ShinkoUnited KingdomElwin Sharvill PROPOSAL
Leja M RoysterUnited KingdomXuxue Feng PROPOSAL
Costa C PoquetteItalyXuxue Feng NEGOTIATION
Nicolas F MacleadIndiaIvan Magalhaes NEGOTIATION
Silvio X StockhamIndiaAmy Elsner UNQUALIFIED
Jennifer S MacleadRussiaIoni Bowcher NEGOTIATION
Kadeem Z PaprockiGermanyAnna Fali NEGOTIATION
Faith N SergiFranceBernardo Dominic NEGOTIATION
Juan T RutaItalyAmy Elsner UNQUALIFIED
Arvin N MaletFranceElwin Sharvill RENEWAL
Jefferson U GlickArgentinaElwin Sharvill RENEWAL
Misaki D InouyeArgentinaAnna Fali NEGOTIATION
Alejandro S NickaAustraliaElwin Sharvill RENEWAL
Alejandro B GauchoBrazilAmy Elsner NEGOTIATION
Sinclair Z CaldareraRussiaElwin Sharvill UNQUALIFIED
Emily R KolmetzSpainXuxue Feng QUALIFIED
Cody P IturbideJapanBernardo Dominic NEW
Deepesh L NickaBrazilElwin Sharvill RENEWAL
Jeanfrancois X OldroydAustraliaAnna Fali RENEWAL
Octavia X MaletUnited KingdomStephen Shaw QUALIFIED
Costa I SchemmerAustraliaElwin Sharvill NEW
Wickens Z DoeArgentinaElwin Sharvill RENEWAL
Julie J CampainIndiaOnyama Limba NEGOTIATION
Jennifer E AlbaresFranceAnna Fali PROPOSAL
Aruna Q CaudyRussiaStephen Shaw UNQUALIFIED
Ivar U RulapaughItalyBernardo Dominic NEW
David U RoysterRussiaOnyama Limba UNQUALIFIED
Alejandro Z OldroydJapanElwin Sharvill NEW
Alejandro X GarufiItalyIoni Bowcher RENEWAL
Leon Q MorascaJapanStephen Shaw QUALIFIED
Tony Y FlosiFranceElwin Sharvill PROPOSAL
Juan U FerenczAustraliaStephen Shaw UNQUALIFIED
Greenwood B DilliardBrazilAmy Elsner NEGOTIATION
Deepesh O FollerUnited KingdomAnna Fali PROPOSAL
Aruna K ShinkoItalyStephen Shaw QUALIFIED
Jennifer V WhobreyAustraliaAnna Fali NEW
Smith I MaletRussiaAnna Fali RENEWAL
Arvin H RulapaughItalyOnyama Limba UNQUALIFIED
Maria D StockhamItalyElwin Sharvill QUALIFIED
Ricardo W FerenczArgentinaElwin Sharvill QUALIFIED
Kaitlin T StensethItalyIoni Bowcher PROPOSAL
Mayumi D AlbaresUnited KingdomAnna Fali RENEWAL
David Z StockhamFranceOnyama Limba NEGOTIATION
Claire H RimArgentinaStephen Shaw NEGOTIATION
Jennifer A FerenczFranceOnyama Limba UNQUALIFIED
Johnson Z ShinkoAustraliaOnyama Limba UNQUALIFIED
Nicolas K OldroydIndiaAsiya Javayant NEGOTIATION
Leon S FollerRussiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Antonio U Briddick
Deepesh A Albares
Jeanfrancois W Schemmer
Kaitlin I Waycott
Faith M Waycott
Faith U Doe
Chavez C Stockham
Faith B Nestle
Leja H Venere
Darci S Venere
Ashley S Tollner
Johnson K Caudy
Ashley V Royster
Claire R Glick
Juan L Iturbide
Leon C Sergi
Jennifer S Gaucho
Faith A Bowley
Johnson O Amigon
Greenwood H Tollner
Wickens M Malet
Mayumi T Rim
Jennifer E Flosi
James R Saylors
Faith U Caldarera
Sinclair G Maclead
Mujtaba E Schemmer
Juan Q Kusko
Maisha G Ruta
Izzy Y Tollner
Jones V Gaucho
Nicolas T Tollner
Smith L Waycott
Munro T Wieser
Smith L Wieser
Tony N Chui
Darci D Saylors
Jennifer C Caldarera
Antonio S Bolognia
Aditya I Maclead
Jones L Waycott
James E Wieser
Aditya R Vocelka
Salvatore B Malet
Mujtaba Z Figeroa
Munro B Garufi
Leon D Nicka
James F Vocelka
Johnson D Caldarera
Claire S Venere
IdCountryDate
1000Russia2024-06-13
1001Spain2024-05-25
1002Japan2024-05-26
1003India2024-06-15
1004Canada2024-06-16
1005Germany2024-06-10
1006Brazil2024-06-10
1007United Kingdom2024-06-15
1008Italy2024-05-20
1009Russia2024-06-15
1010Russia2024-06-06
1011France2024-06-14
1012Australia2024-05-24
1013India2024-06-06
1014Spain2024-05-30
1015France2024-06-18
1016United Kingdom2024-06-02
1017United Kingdom2024-06-09
1018Russia2024-06-16
1019Italy2024-06-01
1020France2024-05-27
1021United Kingdom2024-06-02
1022United Kingdom2024-06-16
1023Argentina2024-06-07
1024Brazil2024-05-30
1025United Kingdom2024-06-18
1026India2024-06-10
1027Russia2024-06-04
1028Japan2024-06-12
1029Russia2024-06-12
1030Italy2024-06-15
1031United Kingdom2024-06-08
1032Canada2024-05-31
1033Italy2024-06-02
1034Australia2024-05-25
1035Spain2024-06-03
1036Japan2024-05-24
1037Germany2024-06-03
1038Germany2024-05-22
1039Brazil2024-05-26
1040Brazil2024-05-31
1041Argentina2024-05-27
1042France2024-06-15
1043Italy2024-05-26
1044Japan2024-06-08
1045Brazil2024-05-30
1046Italy2024-06-01
1047Argentina2024-06-08
1048United Kingdom2024-06-13
1049Germany2024-06-02

On-Demand Data

NameIdCountryDate
Murillo H Paprocki1000Brazil2024-05-31
Faith A Schemmer1001Italy2024-06-15
Aruna X Foller1002Australia2024-06-05
Mayumi T Slusarski1003Brazil2024-05-23
Stacey E Butt1004Brazil2024-06-03
Jennifer L Saylors1005Japan2024-06-12
Clifford I Poquette1006Brazil2024-05-31
Jefferson N Malet1007France2024-06-15
Ivar U Poquette1008Australia2024-06-05
Salvatore O Figeroa1009Argentina2024-06-14
Kaitlin S Waycott1010Canada2024-05-31
Chavez R Oldroyd1011France2024-06-16
Adams X Rulapaugh1012France2024-06-05
Rodrigues A Shinko1013Russia2024-05-24
Emily M Marrier1014Japan2024-05-25
Costa Z Caldarera1015United Kingdom2024-06-17
Stacey P Campain1016India2024-06-17
Morrow L Nestle1017Spain2024-06-17
Alejandro Y Ostrosky1018Russia2024-06-07
Silvio Y Rulapaugh1019Brazil2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer L StensethGermanyOnyama Limba RENEWAL
Silvio E BologniaCanadaAsiya Javayant NEW
Octavia C MaletArgentinaIvan Magalhaes NEW
Izzy B StockhamCanadaBernardo Dominic PROPOSAL
Octavia J InouyeAustraliaStephen Shaw PROPOSAL
Alejandro X CaldareraRussiaIvan Magalhaes PROPOSAL
David J DoeCanadaAsiya Javayant QUALIFIED
Izzy S ButtJapanAsiya Javayant NEGOTIATION
Silvio J CaudyAustraliaStephen Shaw RENEWAL
Aditya K SaylorsRussiaAsiya Javayant NEGOTIATION
Costa R FlosiAustraliaElwin Sharvill NEW
Wickens B CaldareraUnited KingdomAsiya Javayant NEW
Francesco H NickaFranceElwin Sharvill PROPOSAL
Alejandro H AlbaresArgentinaOnyama Limba NEGOTIATION
Salvatore F FollerItalyElwin Sharvill NEGOTIATION
Adams J FerenczIndiaXuxue Feng QUALIFIED
Maria L CaldareraIndiaXuxue Feng PROPOSAL
James K WaycottSpainAnna Fali UNQUALIFIED
Juan S WaycottItalyIvan Magalhaes UNQUALIFIED
Arvin N ChuiBrazilXuxue Feng QUALIFIED
Aditya N MaletSpainIoni Bowcher QUALIFIED
Claire Z BriddickAustraliaOnyama Limba QUALIFIED
Misaki H NickaRussiaXuxue Feng UNQUALIFIED
Aditya U MarrierItalyIoni Bowcher PROPOSAL
Costa C RulapaughJapanBernardo Dominic PROPOSAL
Ricardo W InouyeItalyBernardo Dominic NEGOTIATION
Greenwood R MacleadRussiaIvan Magalhaes UNQUALIFIED
Silvio A WaycottGermanyStephen Shaw NEW
Darci S BologniaUnited KingdomAsiya Javayant QUALIFIED
Silvio X IturbideRussiaBernardo Dominic PROPOSAL
Murillo C MaletArgentinaIvan Magalhaes NEW
Rodrigues U DarakjyGermanyElwin Sharvill QUALIFIED
Antonio S VenereFranceAsiya Javayant QUALIFIED
Kaitlin O RimIndiaAmy Elsner PROPOSAL
Leon O GarufiAustraliaXuxue Feng NEGOTIATION
Mayumi N DarakjyArgentinaIvan Magalhaes PROPOSAL
Julie V ShinkoItalyXuxue Feng PROPOSAL
Julie B FollerGermanyAsiya Javayant PROPOSAL
Nicolas C MorascaItalyIvan Magalhaes QUALIFIED
Aika B WieserCanadaAmy Elsner PROPOSAL

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