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
Octavia D MaletUnited KingdomAnna Fali QUALIFIED
Stacey P FigeroaJapanOnyama Limba NEW
Juan P ButtJapanStephen Shaw NEGOTIATION
Cody M ChuiArgentinaAmy Elsner UNQUALIFIED
Julie J AlbaresCanadaAnna Fali PROPOSAL
Antonio S NestleCanadaElwin Sharvill NEGOTIATION
Aruna Z CampainSpainElwin Sharvill UNQUALIFIED
Salvatore O ChuiSpainXuxue Feng RENEWAL
Costa F MaletCanadaAsiya Javayant PROPOSAL
Emily P InouyeGermanyXuxue Feng RENEWAL
Costa H WaycottGermanyXuxue Feng PROPOSAL
Wickens R DilliardJapanAnna Fali PROPOSAL
Izzy A FigeroaFranceIvan Magalhaes RENEWAL
Antonio O GauchoAustraliaElwin Sharvill PROPOSAL
Greenwood I WieserItalyIvan Magalhaes PROPOSAL
Leon Y OstroskyAustraliaStephen Shaw PROPOSAL
Greenwood W MaletCanadaIvan Magalhaes QUALIFIED
Mayumi Z FerenczIndiaAsiya Javayant NEGOTIATION
Leja B CaudyRussiaStephen Shaw QUALIFIED
Antonio D MarrierFranceAsiya Javayant NEGOTIATION
Tony D RimBrazilOnyama Limba PROPOSAL
Munro E ButtCanadaOnyama Limba UNQUALIFIED
Leja V SchemmerItalyIvan Magalhaes NEW
Murillo L ButtFranceAmy Elsner PROPOSAL
Ivar K DoeFranceAmy Elsner NEW
Wickens G ButtCanadaAsiya Javayant RENEWAL
Jeanfrancois R DilliardJapanXuxue Feng NEW
Mayumi E IturbideJapanAnna Fali RENEWAL
Aditya V PoquetteArgentinaOnyama Limba NEGOTIATION
Leja J GauchoIndiaOnyama Limba RENEWAL
Clifford F BowleyFranceStephen Shaw NEGOTIATION
Juan W RoysterCanadaStephen Shaw PROPOSAL
Ivar O PoquetteJapanAmy Elsner UNQUALIFIED
Silvio A InouyeArgentinaIvan Magalhaes RENEWAL
Jeanfrancois W NickaArgentinaIoni Bowcher QUALIFIED
Jones U OstroskyArgentinaXuxue Feng PROPOSAL
Murillo A BologniaGermanyStephen Shaw RENEWAL
Arvin I GlickRussiaAmy Elsner PROPOSAL
Misaki E SaylorsFranceIvan Magalhaes NEGOTIATION
David K RoysterJapanAnna Fali PROPOSAL
Antonio K RutaUnited KingdomXuxue Feng RENEWAL
Mujtaba M DilliardAustraliaIoni Bowcher RENEWAL
Tony C BowleyRussiaBernardo Dominic NEGOTIATION
Munro E FigeroaIndiaAmy Elsner PROPOSAL
Leja I MorascaRussiaXuxue Feng NEW
Wickens P BriddickFranceStephen Shaw NEGOTIATION
Kaitlin X PerinRussiaOnyama Limba QUALIFIED
Stacey G PoquetteItalyElwin Sharvill RENEWAL
Ricardo V MorascaItalyAnna Fali QUALIFIED
Stacey B AmigonBrazilAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Munro I RimIndiaIvan Magalhaes QUALIFIED
Chavez C StockhamGermanyIvan Magalhaes PROPOSAL
Alejandro A WhobreyUnited KingdomAsiya Javayant PROPOSAL
Sinclair A CaldareraRussiaAnna Fali NEGOTIATION
Izzy J KolmetzIndiaElwin Sharvill UNQUALIFIED
Octavia P WieserAustraliaIvan Magalhaes NEW
Adams Z BriddickArgentinaElwin Sharvill QUALIFIED
Jeanfrancois G DoeUnited KingdomElwin Sharvill RENEWAL
Ricardo V ButtUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois L KuskoCanadaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore Y MaletFrance2024-05-24Printing Dimensions UNQUALIFIED5Elwin Sharvill
1001Jones N RoysterRussia2024-05-31Printing Dimensions UNQUALIFIED94Ioni Bowcher
1002Silvio H WhobreyBrazil2024-05-24Feltz Printing Service NEW25Bernardo Dominic
1003Rodrigues A BriddickGermany2024-06-09Feiner Bros QUALIFIED8Asiya Javayant
1004Mayumi J RoysterSpain2024-06-18Dorl, James J Esq PROPOSAL34Bernardo Dominic
1005Ricardo I CampainSpain2024-05-21Dorl, James J Esq NEGOTIATION36Xuxue Feng
1006Smith L StockhamIndia2024-05-20Chapman, Ross E Esq RENEWAL54Ivan Magalhaes
1007Johnson P KolmetzArgentina2024-05-27Rangoni Of Florence NEW11Ivan Magalhaes
1008Jennifer T FigeroaAustralia2024-06-10King, Christopher A Esq PROPOSAL93Ivan Magalhaes
1009Jeanfrancois X PaprockiIndia2024-06-04Commercial Press PROPOSAL6Stephen Shaw
1010Aditya G FigeroaCanada2024-05-28Rangoni Of Florence NEGOTIATION74Elwin Sharvill
1011Jefferson O SlusarskiBrazil2024-06-05Dorl, James J Esq PROPOSAL44Ivan Magalhaes
1012Silvio G CaldareraFrance2024-06-10Buckley Miller Wright PROPOSAL55Ioni Bowcher
1013Claire Y GauchoSpain2024-06-17Rangoni Of Florence NEGOTIATION88Xuxue Feng
1014James C SlusarskiFrance2024-06-01Chemel, James L Cpa QUALIFIED5Ioni Bowcher
1015Nicolas J CaldareraItaly2024-06-18Rousseaux, Michael Esq NEW21Stephen Shaw
1016Smith T RimSpain2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED41Elwin Sharvill
1017Faith J PoquetteArgentina2024-05-28Dorl, James J Esq RENEWAL68Ivan Magalhaes
1018Mayumi P FollerCanada2024-06-17Feiner Bros QUALIFIED33Ivan Magalhaes
1019Ashley A AlbaresArgentina2024-05-26Chemel, James L Cpa QUALIFIED45Anna Fali
1020Nicolas A ShinkoJapan2024-05-29Morlong Associates NEGOTIATION67Ivan Magalhaes
1021Leon F FerenczRussia2024-05-26Truhlar And Truhlar Attys NEW78Asiya Javayant
1022Ashley X PaprockiFrance2024-06-08Chemel, James L Cpa NEW99Amy Elsner
1023Chavez Y IturbideGermany2024-05-25Commercial Press PROPOSAL13Asiya Javayant
1024Arvin G NickaBrazil2024-05-31Chanay, Jeffrey A Esq PROPOSAL73Amy Elsner
1025Julie R AmigonCanada2024-06-10Dorl, James J Esq QUALIFIED34Stephen Shaw
1026Ivar B CampainGermany2024-06-14Chapman, Ross E Esq QUALIFIED40Onyama Limba
1027Rodrigues X SchemmerUnited Kingdom2024-06-08Commercial Press NEGOTIATION40Stephen Shaw
1028Ricardo U BriddickCanada2024-05-30Benton, John B Jr UNQUALIFIED32Anna Fali
1029Morrow T FollerSpain2024-06-17Rangoni Of Florence NEW17Elwin Sharvill
1030Rodrigues T SchemmerArgentina2024-06-09Rousseaux, Michael Esq RENEWAL47Xuxue Feng
1031Francesco B RimCanada2024-06-06Feiner Bros PROPOSAL77Amy Elsner
1032Octavia E OldroydIndia2024-06-17Printing Dimensions QUALIFIED49Elwin Sharvill
1033Kadeem F RimRussia2024-05-26Chanay, Jeffrey A Esq NEGOTIATION45Anna Fali
1034Francesco E PaprockiJapan2024-06-03Chapman, Ross E Esq PROPOSAL37Onyama Limba
1035Chavez O PerinItaly2024-06-05Morlong Associates UNQUALIFIED60Ioni Bowcher
1036Kadeem A VenereUnited Kingdom2024-05-31Rousseaux, Michael Esq UNQUALIFIED81Stephen Shaw
1037Costa L NickaGermany2024-05-23Chemel, James L Cpa PROPOSAL51Ivan Magalhaes
1038David R NickaUnited Kingdom2024-06-17King, Christopher A Esq UNQUALIFIED36Stephen Shaw
1039Jennifer C MaletUnited Kingdom2024-05-28Buckley Miller Wright QUALIFIED92Asiya Javayant
1040Adams U WhobreyBrazil2024-05-28Rangoni Of Florence NEW85Stephen Shaw
1041Smith T FollerArgentina2024-06-01Morlong Associates QUALIFIED37Stephen Shaw
1042Kaitlin C WieserJapan2024-05-30Buckley Miller Wright NEGOTIATION5Bernardo Dominic
1043Silvio K SergiGermany2024-05-27Feltz Printing Service PROPOSAL97Xuxue Feng
1044Juan G SergiIndia2024-05-29Rousseaux, Michael Esq QUALIFIED15Bernardo Dominic
1045Clifford J AmigonBrazil2024-06-07Buckley Miller Wright UNQUALIFIED56Elwin Sharvill
1046Leja R WaycottItaly2024-05-23Commercial Press QUALIFIED3Asiya Javayant
1047Cody M SaylorsGermany2024-06-13Chemel, James L Cpa PROPOSAL37Onyama Limba
1048Adams V DoeIndia2024-06-17Chanay, Jeffrey A Esq NEGOTIATION70Ioni Bowcher
1049Arvin R PaprockiRussia2024-05-31Rousseaux, Michael Esq NEW20Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba N GauchoArgentinaAnna Fali NEW
Deepesh I TollnerFranceBernardo Dominic QUALIFIED
Julie U AmigonArgentinaIoni Bowcher PROPOSAL
Rodrigues X InouyeRussiaBernardo Dominic QUALIFIED
Aruna T CaldareraCanadaElwin Sharvill NEW
James G PerinFranceIoni Bowcher QUALIFIED
Chavez Y DoeSpainAsiya Javayant NEW
Aruna A WieserAustraliaIoni Bowcher RENEWAL
Johnson X OldroydFranceXuxue Feng QUALIFIED
Ivar P DilliardAustraliaElwin Sharvill QUALIFIED
Adams F MaletJapanBernardo Dominic UNQUALIFIED
Antonio H OstroskyFranceOnyama Limba RENEWAL
Sinclair Y RutaIndiaIoni Bowcher NEGOTIATION
Aditya Q DoeUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer E MarrierFranceIoni Bowcher UNQUALIFIED
Emily P NickaGermanyXuxue Feng QUALIFIED
Arvin X WieserGermanyXuxue Feng QUALIFIED
Alejandro X DarakjyItalyBernardo Dominic RENEWAL
Rodrigues D SergiUnited KingdomElwin Sharvill PROPOSAL
Francesco R AlbaresSpainXuxue Feng RENEWAL
Ashley V MaletBrazilXuxue Feng NEW
Salvatore Z GlickUnited KingdomIoni Bowcher PROPOSAL
Maisha O OstroskyJapanBernardo Dominic QUALIFIED
Jefferson C GarufiRussiaAnna Fali UNQUALIFIED
Aditya F PoquetteIndiaIvan Magalhaes UNQUALIFIED
Smith D DarakjySpainIvan Magalhaes RENEWAL
Wickens Y FollerGermanyAnna Fali QUALIFIED
Darci N CaldareraUnited KingdomAnna Fali NEW
Nicolas Y SchemmerItalyBernardo Dominic NEW
Deepesh K TollnerGermanyElwin Sharvill UNQUALIFIED
Jennifer D GauchoRussiaOnyama Limba NEW
Clifford B WhobreyIndiaElwin Sharvill QUALIFIED
David X RimAustraliaElwin Sharvill UNQUALIFIED
Aditya B PoquetteAustraliaXuxue Feng QUALIFIED
Julie Q MacleadAustraliaElwin Sharvill NEW
Sinclair W DarakjyRussiaIvan Magalhaes RENEWAL
Jennifer B MorascaItalyBernardo Dominic QUALIFIED
Adams A StensethGermanyStephen Shaw PROPOSAL
Leja G GarufiIndiaXuxue Feng RENEWAL
Deepesh X AlbaresGermanyAsiya Javayant NEW
Antonio V BologniaCanadaAsiya Javayant PROPOSAL
Jones P CampainBrazilOnyama Limba UNQUALIFIED
Cody B FerenczUnited KingdomOnyama Limba NEW
Juan Y OstroskySpainIoni Bowcher NEW
Misaki N VenereGermanyOnyama Limba RENEWAL
Silvio N InouyeAustraliaStephen Shaw RENEWAL
Kaitlin Q FerenczRussiaStephen Shaw PROPOSAL
Mayumi T DarakjyGermanyOnyama Limba UNQUALIFIED
Sinclair X WieserIndiaIvan Magalhaes NEW
Rodrigues Q FerenczJapanAnna Fali QUALIFIED
Frozen Columns
Name
Ivar D Bolognia
Jeanfrancois H Dilliard
Leon A Paprocki
Kaitlin Y Venere
Ivar O Kolmetz
Silvio J Darakjy
Emily I Campain
Mujtaba Q Caudy
Munro T Caldarera
Munro H Briddick
Kaitlin F Iturbide
Darci I Darakjy
Leon K Campain
Nicolas F Nicka
Jeanfrancois I Nestle
Tony T Marrier
Stacey G Stockham
Darci W Briddick
Emily X Morasca
Octavia V Ruta
Emily U Amigon
Jeanfrancois S Glick
Izzy V Doe
Jennifer G Malet
Clifford X Kusko
Costa M Royster
Leon O Ruta
Octavia A Marrier
Leja O Nicka
Ashley M Stenseth
Arvin Z Wieser
Morrow D Gaucho
Claire F Royster
Octavia M Schemmer
James P Slusarski
Misaki Y Campain
Jeanfrancois F Slusarski
James Q Vocelka
Mayumi Y Wieser
Kaitlin F Dilliard
Smith X Maclead
Misaki P Chui
Arvin P Vocelka
Maria O Chui
Alejandro E Venere
Maria S Paprocki
Octavia L Saylors
Tony O Maclead
Smith C Amigon
Deepesh U Stockham
IdCountryDate
1000Canada2024-06-16
1001Canada2024-05-30
1002Spain2024-06-03
1003Australia2024-05-30
1004United Kingdom2024-06-10
1005United Kingdom2024-06-02
1006Russia2024-05-31
1007Australia2024-05-31
1008India2024-06-15
1009Japan2024-06-12
1010Italy2024-05-31
1011Spain2024-05-27
1012United Kingdom2024-06-18
1013Italy2024-06-02
1014Italy2024-05-20
1015Canada2024-05-23
1016Brazil2024-06-16
1017Germany2024-05-20
1018Italy2024-06-14
1019Russia2024-05-22
1020France2024-06-07
1021Canada2024-06-18
1022Argentina2024-06-02
1023Germany2024-06-18
1024Germany2024-05-21
1025Italy2024-06-01
1026Russia2024-06-14
1027Germany2024-06-07
1028Japan2024-06-15
1029Canada2024-05-25
1030India2024-06-03
1031Italy2024-06-04
1032Germany2024-06-01
1033Canada2024-06-18
1034Japan2024-06-01
1035Russia2024-06-03
1036Australia2024-05-31
1037Spain2024-05-20
1038Argentina2024-06-12
1039Argentina2024-06-14
1040Brazil2024-06-15
1041United Kingdom2024-05-30
1042Australia2024-05-31
1043Germany2024-05-31
1044United Kingdom2024-06-18
1045Argentina2024-06-05
1046Australia2024-06-10
1047Brazil2024-06-05
1048Australia2024-06-15
1049Spain2024-05-30

On-Demand Data

NameIdCountryDate
Jennifer I Kusko1000Germany2024-06-11
David B Sergi1001Spain2024-05-31
Wickens R Glick1002Spain2024-05-27
Adams R Kolmetz1003Russia2024-05-29
Kadeem Z Albares1004Italy2024-06-01
Ricardo B Morasca1005India2024-06-15
Wickens Q Rim1006Russia2024-05-20
Salvatore I Marrier1007Canada2024-06-03
Juan M Rim1008United Kingdom2024-06-18
Octavia X Rim1009Italy2024-05-27
Antonio B Dilliard1010Italy2024-05-22
Octavia W Bolognia1011Brazil2024-05-22
Munro S Butt1012United Kingdom2024-06-18
Salvatore X Amigon1013India2024-06-08
Deepesh I Whobrey1014Brazil2024-06-07
Stacey A Nicka1015France2024-06-03
Aditya T Vocelka1016Italy2024-06-15
Nicolas L Flosi1017Brazil2024-05-23
Deepesh K Saylors1018Canada2024-05-27
Julie W Campain1019Brazil2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford D CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez T ShinkoUnited KingdomOnyama Limba QUALIFIED
Wickens P GillianJapanAsiya Javayant QUALIFIED
Clifford D RimArgentinaAsiya Javayant PROPOSAL
Cody D SchemmerSpainXuxue Feng QUALIFIED
Wickens Y VenereSpainElwin Sharvill PROPOSAL
Morrow X GarufiBrazilAmy Elsner QUALIFIED
Leja B RutaCanadaElwin Sharvill QUALIFIED
Sinclair Y FollerGermanyElwin Sharvill UNQUALIFIED
Murillo A StensethIndiaAmy Elsner NEW
Leja V GillianIndiaElwin Sharvill QUALIFIED
Maisha J MarrierItalyElwin Sharvill PROPOSAL
Ashley G RulapaughIndiaIoni Bowcher RENEWAL
Costa Y PaprockiIndiaXuxue Feng RENEWAL
Chavez K MarrierJapanElwin Sharvill RENEWAL
Munro H SaylorsRussiaAmy Elsner NEGOTIATION
Deepesh L IturbideRussiaAsiya Javayant NEGOTIATION
Ashley W NestleSpainBernardo Dominic NEGOTIATION
Aruna F GauchoArgentinaStephen Shaw QUALIFIED
Jennifer T RutaGermanyStephen Shaw UNQUALIFIED
Arvin A PoquetteAustraliaAsiya Javayant NEGOTIATION
Nicolas T OstroskyUnited KingdomElwin Sharvill PROPOSAL
Ricardo R MorascaFranceIvan Magalhaes NEW
Salvatore J GauchoSpainXuxue Feng QUALIFIED
Silvio H MorascaSpainBernardo Dominic PROPOSAL
Stacey Z NickaFranceIvan Magalhaes UNQUALIFIED
Chavez O AlbaresIndiaElwin Sharvill RENEWAL
Julie T WieserArgentinaStephen Shaw QUALIFIED
Darci N KolmetzSpainAnna Fali PROPOSAL
Kadeem S NickaAustraliaIvan Magalhaes QUALIFIED
Aruna W BologniaUnited KingdomXuxue Feng PROPOSAL
Deepesh K NickaGermanyBernardo Dominic RENEWAL
Costa T SaylorsIndiaXuxue Feng QUALIFIED
Arvin Y RoysterBrazilIvan Magalhaes PROPOSAL
Clifford V SergiArgentinaAmy Elsner RENEWAL
Deepesh M CaldareraAustraliaXuxue Feng UNQUALIFIED
Aruna H GauchoCanadaStephen Shaw NEGOTIATION
Murillo Q PoquetteRussiaIoni Bowcher NEGOTIATION
Faith D AmigonUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois G RimAustraliaIoni Bowcher 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>