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
Juan Y PerinCanadaAnna Fali QUALIFIED
Cody M OldroydBrazilBernardo Dominic QUALIFIED
Misaki B DarakjyIndiaOnyama Limba PROPOSAL
David J NestleUnited KingdomXuxue Feng PROPOSAL
Smith J FigeroaJapanOnyama Limba NEGOTIATION
Jefferson R StockhamArgentinaAsiya Javayant RENEWAL
Izzy X RimUnited KingdomXuxue Feng NEGOTIATION
Nicolas D WhobreyFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois M PoquetteIndiaXuxue Feng UNQUALIFIED
Johnson X SlusarskiJapanIvan Magalhaes NEGOTIATION
Silvio D RoysterIndiaXuxue Feng NEW
Julie Y NickaIndiaElwin Sharvill UNQUALIFIED
Octavia A AlbaresCanadaIoni Bowcher NEW
Jones V SaylorsGermanyElwin Sharvill QUALIFIED
Faith V MaletArgentinaAsiya Javayant PROPOSAL
David A SergiIndiaStephen Shaw NEW
Francesco C GillianUnited KingdomOnyama Limba NEW
Emily H BriddickItalyIvan Magalhaes UNQUALIFIED
Leja C NickaJapanOnyama Limba RENEWAL
Nicolas A GlickAustraliaStephen Shaw PROPOSAL
Leja J DilliardArgentinaOnyama Limba NEGOTIATION
Murillo V RulapaughRussiaElwin Sharvill NEGOTIATION
Morrow Y KolmetzGermanyElwin Sharvill NEGOTIATION
Isabel L RoysterIndiaIoni Bowcher RENEWAL
Antonio P RimBrazilElwin Sharvill NEGOTIATION
Smith E DilliardRussiaOnyama Limba QUALIFIED
Nicolas Q MarrierFranceAnna Fali QUALIFIED
Jones A DoeCanadaStephen Shaw NEGOTIATION
Nicolas A WaycottCanadaXuxue Feng PROPOSAL
Mayumi H IturbideAustraliaXuxue Feng UNQUALIFIED
Isabel W DarakjyArgentinaElwin Sharvill QUALIFIED
Clifford J SlusarskiArgentinaBernardo Dominic NEGOTIATION
Salvatore A IturbideJapanAnna Fali QUALIFIED
Misaki N AlbaresIndiaAmy Elsner RENEWAL
Emily L NickaItalyAmy Elsner NEGOTIATION
Greenwood Q MorascaSpainOnyama Limba UNQUALIFIED
Costa G NickaIndiaAnna Fali NEW
Greenwood P NestleBrazilAsiya Javayant NEGOTIATION
Salvatore L BowleyItalyIvan Magalhaes NEW
Arvin A SergiCanadaAmy Elsner PROPOSAL
Jefferson K NickaSpainBernardo Dominic NEW
Silvio S RoysterUnited KingdomStephen Shaw RENEWAL
Faith E RoysterAustraliaAsiya Javayant QUALIFIED
Isabel D MacleadJapanAmy Elsner QUALIFIED
Leon Q TollnerGermanyIoni Bowcher RENEWAL
Murillo C OstroskyGermanyIoni Bowcher QUALIFIED
Arvin D BowleyJapanAsiya Javayant UNQUALIFIED
Izzy U ShinkoBrazilAmy Elsner QUALIFIED
Munro N GauchoIndiaIvan Magalhaes UNQUALIFIED
Ashley Y CaldareraSpainBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel L AmigonGermanyXuxue Feng RENEWAL
Tony V MarrierCanadaAsiya Javayant RENEWAL
Stacey Y ChuiGermanyAnna Fali RENEWAL
Greenwood U KuskoIndiaIvan Magalhaes NEGOTIATION
Kaitlin Q GauchoGermanyIoni Bowcher NEGOTIATION
Ricardo C KolmetzJapanIvan Magalhaes UNQUALIFIED
Aika G PerinGermanyIoni Bowcher UNQUALIFIED
David N BriddickGermanyAsiya Javayant PROPOSAL
Antonio F PaprockiUnited KingdomOnyama Limba QUALIFIED
Rodrigues V KolmetzCanadaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco A PaprockiGermany2024-06-03Feltz Printing Service UNQUALIFIED9Stephen Shaw
1001Sinclair N FollerRussia2024-06-18Chanay, Jeffrey A Esq NEW19Onyama Limba
1002Nicolas A StockhamSpain2024-06-15Truhlar And Truhlar Attys NEGOTIATION6Ivan Magalhaes
1003Faith B CampainItaly2024-06-13Chemel, James L Cpa PROPOSAL77Ivan Magalhaes
1004David L SergiCanada2024-06-10Rangoni Of Florence NEGOTIATION7Ivan Magalhaes
1005Antonio K DarakjyItaly2024-06-17Commercial Press UNQUALIFIED71Onyama Limba
1006Mayumi G SchemmerItaly2024-06-21Feiner Bros UNQUALIFIED56Xuxue Feng
1007Aditya E InouyeUnited Kingdom2024-05-27King, Christopher A Esq RENEWAL46Asiya Javayant
1008Sinclair K MaletSpain2024-06-08Chapman, Ross E Esq NEGOTIATION32Ioni Bowcher
1009Munro T GillianArgentina2024-06-01Morlong Associates RENEWAL13Xuxue Feng
1010Morrow B OstroskyUnited Kingdom2024-06-20Feltz Printing Service NEGOTIATION94Ioni Bowcher
1011Francesco D NestleRussia2024-05-31Chemel, James L Cpa UNQUALIFIED2Bernardo Dominic
1012Rodrigues Q DarakjyGermany2024-06-19Morlong Associates RENEWAL3Asiya Javayant
1013Darci N PerinJapan2024-06-05Rousseaux, Michael Esq RENEWAL30Stephen Shaw
1014Greenwood X BologniaBrazil2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED16Ioni Bowcher
1015Juan A WhobreyUnited Kingdom2024-06-21Morlong Associates QUALIFIED94Ioni Bowcher
1016Antonio T ButtAustralia2024-05-23Chanay, Jeffrey A Esq QUALIFIED98Stephen Shaw
1017Jefferson Q FlosiCanada2024-05-29Commercial Press NEW25Onyama Limba
1018Ricardo I BowleyJapan2024-06-19Feltz Printing Service NEGOTIATION79Ioni Bowcher
1019Mujtaba K OstroskySpain2024-05-27King, Christopher A Esq NEGOTIATION27Stephen Shaw
1020Morrow Y OstroskyUnited Kingdom2024-06-09Rousseaux, Michael Esq NEGOTIATION86Onyama Limba
1021Sinclair Q DarakjyBrazil2024-06-09Buckley Miller Wright UNQUALIFIED97Stephen Shaw
1022David P SaylorsSpain2024-06-15Feiner Bros UNQUALIFIED27Xuxue Feng
1023Maisha P GarufiBrazil2024-06-07Feiner Bros UNQUALIFIED58Anna Fali
1024Clifford Z ChuiItaly2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED6Stephen Shaw
1025Misaki X MorascaFrance2024-06-05Chapman, Ross E Esq QUALIFIED44Bernardo Dominic
1026Jones Q VocelkaJapan2024-06-18Morlong Associates NEGOTIATION87Xuxue Feng
1027Wickens J RulapaughUnited Kingdom2024-05-25Feiner Bros PROPOSAL48Ioni Bowcher
1028Tony T MaletFrance2024-06-19Chapman, Ross E Esq NEW21Stephen Shaw
1029Arvin H MacleadRussia2024-06-17Commercial Press QUALIFIED9Bernardo Dominic
1030Tony J InouyeCanada2024-06-01King, Christopher A Esq PROPOSAL69Onyama Limba
1031Aika U StensethArgentina2024-05-25Buckley Miller Wright RENEWAL3Onyama Limba
1032Maisha A BowleyUnited Kingdom2024-06-03Chemel, James L Cpa NEGOTIATION81Amy Elsner
1033Silvio B FigeroaGermany2024-06-01Chanay, Jeffrey A Esq PROPOSAL96Asiya Javayant
1034Ashley N PoquetteAustralia2024-06-01Buckley Miller Wright NEW79Elwin Sharvill
1035Rodrigues M ButtUnited Kingdom2024-06-17Dorl, James J Esq RENEWAL40Amy Elsner
1036Greenwood S GlickCanada2024-05-30Feiner Bros NEGOTIATION45Onyama Limba
1037Tony K IturbideRussia2024-06-20Chemel, James L Cpa PROPOSAL66Ivan Magalhaes
1038Jennifer G NickaCanada2024-05-25Rangoni Of Florence NEW91Amy Elsner
1039Chavez N CampainJapan2024-06-01Chanay, Jeffrey A Esq NEGOTIATION29Onyama Limba
1040Antonio D BriddickItaly2024-06-02Chemel, James L Cpa UNQUALIFIED37Anna Fali
1041Tony Q BologniaIndia2024-05-28Commercial Press PROPOSAL27Ioni Bowcher
1042Wickens P MarrierAustralia2024-06-18Rousseaux, Michael Esq PROPOSAL85Asiya Javayant
1043Ivar F AmigonUnited Kingdom2024-06-14Commercial Press RENEWAL93Ivan Magalhaes
1044Antonio I BriddickSpain2024-06-16Benton, John B Jr QUALIFIED37Ivan Magalhaes
1045Nicolas W MorascaBrazil2024-05-25Truhlar And Truhlar Attys QUALIFIED84Ioni Bowcher
1046Arvin C InouyeJapan2024-05-31Feiner Bros PROPOSAL72Anna Fali
1047Alejandro C InouyeFrance2024-06-21Rousseaux, Michael Esq UNQUALIFIED76Xuxue Feng
1048Misaki X TollnerIndia2024-06-14Rangoni Of Florence NEGOTIATION88Elwin Sharvill
1049Ashley X WhobreyUnited Kingdom2024-06-03Chanay, Jeffrey A Esq QUALIFIED73Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Clifford P GauchoCanadaIoni Bowcher NEW
Jennifer X PerinFranceElwin Sharvill PROPOSAL
Antonio K FollerSpainOnyama Limba QUALIFIED
Tony B AlbaresBrazilXuxue Feng PROPOSAL
Maria S MaletArgentinaXuxue Feng UNQUALIFIED
Salvatore B RimSpainAnna Fali QUALIFIED
Alejandro T RoysterJapanIvan Magalhaes RENEWAL
Morrow E ChuiIndiaStephen Shaw UNQUALIFIED
Antonio I IturbideBrazilAmy Elsner NEGOTIATION
Jones Y BologniaIndiaBernardo Dominic UNQUALIFIED
Isabel W StockhamUnited KingdomAsiya Javayant PROPOSAL
Aruna I BowleyArgentinaOnyama Limba RENEWAL
Adams Y WaycottAustraliaIvan Magalhaes NEW
Aditya W RulapaughUnited KingdomAnna Fali RENEWAL
Adams C DarakjyCanadaStephen Shaw RENEWAL
Stacey A MacleadFranceOnyama Limba RENEWAL
Stacey Z SlusarskiIndiaElwin Sharvill RENEWAL
Leon P ShinkoSpainIvan Magalhaes PROPOSAL
David T GauchoAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues P GillianSpainElwin Sharvill PROPOSAL
Jefferson I VenereJapanBernardo Dominic RENEWAL
Mayumi F FollerBrazilIoni Bowcher UNQUALIFIED
Mujtaba P MarrierJapanIvan Magalhaes NEGOTIATION
Sinclair Q FollerCanadaOnyama Limba NEW
Silvio T OstroskyRussiaOnyama Limba NEW
Chavez M ButtArgentinaAsiya Javayant QUALIFIED
Mujtaba W AlbaresItalyIoni Bowcher RENEWAL
Octavia Q SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Leon P RulapaughUnited KingdomAsiya Javayant RENEWAL
Octavia X GillianSpainStephen Shaw QUALIFIED
Ivar S StensethJapanStephen Shaw UNQUALIFIED
Stacey N ChuiUnited KingdomAnna Fali RENEWAL
Octavia I PoquetteJapanBernardo Dominic UNQUALIFIED
Sinclair X KolmetzArgentinaAsiya Javayant PROPOSAL
Sinclair R GlickSpainAnna Fali RENEWAL
Ashley S VocelkaAustraliaIvan Magalhaes QUALIFIED
Octavia G PaprockiArgentinaOnyama Limba NEGOTIATION
Rodrigues T IturbideJapanAnna Fali NEGOTIATION
James Q NickaFranceIvan Magalhaes UNQUALIFIED
Jennifer F DoeAustraliaXuxue Feng PROPOSAL
Stacey P MacleadUnited KingdomXuxue Feng RENEWAL
Kadeem A OldroydGermanyAsiya Javayant PROPOSAL
Clifford W SaylorsUnited KingdomOnyama Limba RENEWAL
Jeanfrancois S VenereRussiaAmy Elsner QUALIFIED
Kadeem Q AmigonIndiaAsiya Javayant NEW
Deepesh T OldroydSpainElwin Sharvill NEW
Chavez L MorascaFranceIoni Bowcher UNQUALIFIED
Chavez D OldroydFranceIoni Bowcher UNQUALIFIED
Ashley I WieserFranceIoni Bowcher NEGOTIATION
Silvio I AlbaresRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Leja U Maclead
Juan E Ruta
Francesco M Glick
Mayumi D Kusko
Clifford D Saylors
Johnson Z Caudy
Sinclair B Marrier
Juan I Ferencz
Stacey G Malet
Adams T Paprocki
Aika J Perin
Leon K Gaucho
Emily P Marrier
Ivar R Dilliard
Leja T Iturbide
Leon L Kolmetz
Francesco Y Flosi
Jefferson M Iturbide
Arvin E Paprocki
Smith B Dilliard
Jones M Sergi
Francesco T Albares
Juan M Rulapaugh
Johnson A Malet
Smith U Kolmetz
Julie V Whobrey
Emily V Caudy
Leon V Figeroa
Silvio B Albares
Ivar D Glick
Munro C Inouye
Cody S Paprocki
David U Gillian
Murillo B Iturbide
Costa G Royster
Misaki E Vocelka
Faith E Tollner
Isabel R Wieser
Francesco B Vocelka
Rodrigues S Rulapaugh
Jeanfrancois G Rulapaugh
Sinclair T Darakjy
Rodrigues R Malet
Leja T Rim
Darci X Gillian
Isabel N Stockham
Izzy T Nicka
Jones L Caudy
Aruna W Perin
Leja N Albares
IdCountryDate
1000Spain2024-06-05
1001France2024-05-25
1002Japan2024-05-26
1003Argentina2024-06-19
1004Japan2024-06-01
1005Australia2024-06-17
1006Italy2024-06-06
1007France2024-06-15
1008United Kingdom2024-05-27
1009Australia2024-06-09
1010Australia2024-06-02
1011Russia2024-06-03
1012Russia2024-06-04
1013Brazil2024-06-09
1014India2024-06-03
1015India2024-06-12
1016Australia2024-05-29
1017Brazil2024-06-05
1018France2024-06-09
1019United Kingdom2024-06-07
1020Russia2024-06-14
1021Canada2024-05-28
1022Canada2024-06-21
1023Spain2024-06-19
1024France2024-05-24
1025Australia2024-06-12
1026United Kingdom2024-05-23
1027Australia2024-06-01
1028Germany2024-06-09
1029Italy2024-05-29
1030Spain2024-06-08
1031Canada2024-06-19
1032France2024-06-09
1033France2024-05-27
1034Germany2024-06-03
1035Italy2024-06-09
1036Canada2024-06-21
1037Russia2024-06-17
1038Canada2024-06-08
1039Japan2024-05-26
1040Brazil2024-05-27
1041Japan2024-06-21
1042India2024-06-10
1043Canada2024-06-15
1044Germany2024-06-04
1045Japan2024-06-08
1046Argentina2024-06-04
1047India2024-05-23
1048Argentina2024-05-27
1049United Kingdom2024-06-02

On-Demand Data

NameIdCountryDate
Murillo L Malet1000Australia2024-06-12
Emily M Tollner1001Italy2024-06-20
David K Oldroyd1002United Kingdom2024-05-30
Ivar Q Perin1003India2024-06-16
Arvin E Darakjy1004Germany2024-06-11
Maria G Venere1005Argentina2024-05-30
Mujtaba R Malet1006Spain2024-06-01
Costa X Slusarski1007Italy2024-05-28
Jennifer O Campain1008France2024-06-21
Johnson O Chui1009Australia2024-06-17
Ivar Z Kusko1010Spain2024-05-26
Greenwood C Ostrosky1011Brazil2024-06-10
Silvio B Vocelka1012Australia2024-06-06
Johnson T Whobrey1013France2024-06-04
Alejandro C Caldarera1014United Kingdom2024-05-25
Misaki G Ruta1015Spain2024-06-13
Munro D Schemmer1016Italy2024-06-13
Isabel I Sergi1017United Kingdom2024-06-15
Aditya G Kusko1018Canada2024-06-16
James H Rim1019France2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Z CampainJapanElwin Sharvill QUALIFIED
Kaitlin Q BriddickFranceAmy Elsner NEGOTIATION
Adams V BologniaAustraliaOnyama Limba RENEWAL
Darci G KolmetzRussiaXuxue Feng PROPOSAL
Mujtaba M OldroydArgentinaStephen Shaw NEW
Munro L BologniaJapanIvan Magalhaes UNQUALIFIED
Mujtaba G KolmetzRussiaIvan Magalhaes QUALIFIED
Francesco E MarrierArgentinaIoni Bowcher QUALIFIED
Leon H GauchoItalyIvan Magalhaes NEGOTIATION
Rodrigues T OstroskyUnited KingdomElwin Sharvill RENEWAL
Murillo Z GauchoFranceAsiya Javayant RENEWAL
Isabel Z CampainUnited KingdomOnyama Limba NEW
Ricardo N VocelkaUnited KingdomAnna Fali NEGOTIATION
Salvatore K PerinFranceElwin Sharvill NEW
Smith X MarrierSpainStephen Shaw RENEWAL
Leja L NickaUnited KingdomAnna Fali PROPOSAL
Clifford H AlbaresItalyAmy Elsner NEGOTIATION
Nicolas J DarakjyCanadaXuxue Feng NEW
Clifford F SergiItalyAnna Fali UNQUALIFIED
Kadeem Y WhobreyArgentinaXuxue Feng NEW
Francesco O KuskoGermanyAnna Fali NEGOTIATION
Faith V AmigonUnited KingdomAmy Elsner UNQUALIFIED
Ashley F WaycottIndiaAmy Elsner UNQUALIFIED
Sinclair U StensethArgentinaAsiya Javayant QUALIFIED
Ashley O SchemmerItalyIoni Bowcher PROPOSAL
Leja M GillianIndiaIoni Bowcher RENEWAL
Darci F DilliardRussiaIvan Magalhaes UNQUALIFIED
Tony G PerinBrazilAmy Elsner NEGOTIATION
Leon O KuskoArgentinaStephen Shaw PROPOSAL
Maisha B ShinkoBrazilXuxue Feng NEGOTIATION
Ashley P ShinkoCanadaStephen Shaw NEGOTIATION
Maria A SaylorsSpainStephen Shaw PROPOSAL
Ashley P NestleRussiaAsiya Javayant PROPOSAL
Leja Z WhobreySpainElwin Sharvill UNQUALIFIED
Maria R MaletBrazilStephen Shaw UNQUALIFIED
Kaitlin C SergiGermanyIoni Bowcher NEW
Octavia F SaylorsArgentinaElwin Sharvill NEGOTIATION
Mujtaba C FigeroaCanadaXuxue Feng PROPOSAL
Darci Y DoeJapanIvan Magalhaes RENEWAL
Maria Z PoquetteGermanyIvan Magalhaes 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>