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
Ricardo H GlickGermanyIoni Bowcher PROPOSAL
Arvin N GillianArgentinaElwin Sharvill RENEWAL
Maisha C CaldareraUnited KingdomOnyama Limba RENEWAL
Jeanfrancois F RutaGermanyXuxue Feng NEW
Greenwood T NestleIndiaXuxue Feng PROPOSAL
Antonio Z DarakjyIndiaStephen Shaw RENEWAL
Greenwood M RutaIndiaBernardo Dominic QUALIFIED
Octavia D NickaBrazilAmy Elsner PROPOSAL
Deepesh A FigeroaBrazilXuxue Feng NEGOTIATION
Stacey M StensethArgentinaIvan Magalhaes RENEWAL
David C GlickJapanAmy Elsner NEGOTIATION
Misaki M WieserIndiaStephen Shaw QUALIFIED
Leon U InouyeCanadaElwin Sharvill UNQUALIFIED
Munro Y MorascaItalyIvan Magalhaes NEW
Smith M GillianAustraliaIvan Magalhaes PROPOSAL
Misaki N BologniaBrazilIvan Magalhaes UNQUALIFIED
Jefferson Q DilliardBrazilOnyama Limba PROPOSAL
Emily F PaprockiIndiaIvan Magalhaes NEW
James Q StockhamSpainStephen Shaw PROPOSAL
James H SaylorsCanadaOnyama Limba PROPOSAL
Wickens O ShinkoUnited KingdomAmy Elsner QUALIFIED
Maria C FollerRussiaAmy Elsner QUALIFIED
Misaki K FerenczRussiaXuxue Feng UNQUALIFIED
Maisha L KolmetzAustraliaAsiya Javayant PROPOSAL
Francesco K PoquetteArgentinaAsiya Javayant NEW
Jennifer J CampainArgentinaAsiya Javayant NEW
Jones S WhobreyCanadaIvan Magalhaes UNQUALIFIED
Darci K RimJapanElwin Sharvill UNQUALIFIED
Clifford Z PaprockiCanadaAmy Elsner PROPOSAL
Antonio V NestleItalyOnyama Limba NEW
Tony O FerenczJapanElwin Sharvill QUALIFIED
Kaitlin Y GarufiFranceAnna Fali NEGOTIATION
Kadeem G MarrierUnited KingdomAmy Elsner PROPOSAL
Murillo H BowleyUnited KingdomAmy Elsner UNQUALIFIED
Sinclair A CaudyJapanAmy Elsner QUALIFIED
Emily S CaldareraArgentinaAsiya Javayant NEGOTIATION
Ivar S RimItalyIoni Bowcher RENEWAL
Maisha O RimRussiaElwin Sharvill PROPOSAL
Jones A MaletRussiaAsiya Javayant PROPOSAL
Leja S IturbideJapanIoni Bowcher RENEWAL
Darci A WaycottGermanyElwin Sharvill PROPOSAL
Juan T VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Leja J GarufiCanadaBernardo Dominic QUALIFIED
Maria L SergiArgentinaAmy Elsner NEGOTIATION
Alejandro Z FlosiRussiaOnyama Limba QUALIFIED
Leon X DilliardAustraliaElwin Sharvill NEW
Leja M GauchoJapanStephen Shaw NEW
Cody K CampainIndiaIvan Magalhaes QUALIFIED
Sinclair P MorascaSpainStephen Shaw PROPOSAL
Deepesh Z MaletCanadaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna P BriddickFranceElwin Sharvill QUALIFIED
Jennifer D MarrierAustraliaAsiya Javayant QUALIFIED
Murillo T PerinSpainAnna Fali QUALIFIED
Jefferson D NestleItalyIoni Bowcher QUALIFIED
Morrow J RulapaughAustraliaXuxue Feng RENEWAL
Claire H SaylorsGermanyAsiya Javayant NEW
Antonio R CampainBrazilXuxue Feng RENEWAL
Kaitlin B CaudyBrazilOnyama Limba NEW
Cody C AlbaresItalyAmy Elsner QUALIFIED
Jeanfrancois Q DoeSpainStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio M RutaItaly2024-06-15Commercial Press QUALIFIED0Onyama Limba
1001Costa R SchemmerIndia2024-06-21Truhlar And Truhlar Attys UNQUALIFIED68Xuxue Feng
1002Aika D CaudySpain2024-06-04Dorl, James J Esq UNQUALIFIED21Onyama Limba
1003Jones B BologniaArgentina2024-06-04Chapman, Ross E Esq NEW45Stephen Shaw
1004Clifford L SchemmerJapan2024-06-23Feltz Printing Service QUALIFIED22Amy Elsner
1005Cody X ChuiRussia2024-06-09Dorl, James J Esq UNQUALIFIED5Bernardo Dominic
1006Antonio Z SchemmerJapan2024-06-05Feiner Bros QUALIFIED74Ioni Bowcher
1007Rodrigues T FerenczCanada2024-05-27Benton, John B Jr UNQUALIFIED1Bernardo Dominic
1008Adams F TollnerGermany2024-06-23Commercial Press PROPOSAL97Bernardo Dominic
1009Juan M OldroydSpain2024-06-05Printing Dimensions NEGOTIATION25Amy Elsner
1010Faith M BologniaBrazil2024-05-28Chemel, James L Cpa UNQUALIFIED24Asiya Javayant
1011Jennifer G DilliardIndia2024-05-31Chemel, James L Cpa NEW50Ivan Magalhaes
1012Stacey O StockhamGermany2024-06-19Commercial Press NEGOTIATION63Onyama Limba
1013Aruna O BriddickAustralia2024-06-15Feltz Printing Service NEW46Xuxue Feng
1014James Q CaudyCanada2024-05-29Dorl, James J Esq NEGOTIATION18Anna Fali
1015Antonio V MaletIndia2024-06-10Chanay, Jeffrey A Esq PROPOSAL38Bernardo Dominic
1016Aditya Z KuskoSpain2024-06-10Buckley Miller Wright PROPOSAL39Anna Fali
1017Octavia R StensethIndia2024-06-14Morlong Associates PROPOSAL39Bernardo Dominic
1018Jefferson K ShinkoJapan2024-06-11Rangoni Of Florence QUALIFIED59Ivan Magalhaes
1019Maria W CampainIndia2024-06-17Rangoni Of Florence QUALIFIED32Xuxue Feng
1020Alejandro I BowleyJapan2024-06-16Chanay, Jeffrey A Esq NEW80Bernardo Dominic
1021Smith W DilliardJapan2024-05-30Benton, John B Jr QUALIFIED33Asiya Javayant
1022Johnson T DarakjyUnited Kingdom2024-06-04Truhlar And Truhlar Attys NEGOTIATION3Ivan Magalhaes
1023Aruna N FlosiBrazil2024-06-16Chanay, Jeffrey A Esq RENEWAL88Xuxue Feng
1024Wickens D CampainAustralia2024-06-07Morlong Associates NEW18Xuxue Feng
1025Aditya Y NickaIndia2024-06-21Rousseaux, Michael Esq UNQUALIFIED88Xuxue Feng
1026Cody D BriddickAustralia2024-06-10Dorl, James J Esq UNQUALIFIED27Stephen Shaw
1027Mayumi H StockhamUnited Kingdom2024-06-11Rousseaux, Michael Esq NEW77Xuxue Feng
1028Ashley L VocelkaAustralia2024-05-31Benton, John B Jr UNQUALIFIED93Xuxue Feng
1029Leja H OldroydRussia2024-06-20Dorl, James J Esq RENEWAL19Asiya Javayant
1030Izzy F RoysterAustralia2024-06-19Feltz Printing Service PROPOSAL96Stephen Shaw
1031Isabel I CaudyFrance2024-06-02Morlong Associates QUALIFIED98Xuxue Feng
1032Murillo M InouyeUnited Kingdom2024-06-13Buckley Miller Wright NEGOTIATION47Xuxue Feng
1033Costa W OstroskyIndia2024-06-24Dorl, James J Esq QUALIFIED38Elwin Sharvill
1034Aika C FollerCanada2024-06-16Truhlar And Truhlar Attys NEGOTIATION36Stephen Shaw
1035Jones T DilliardArgentina2024-06-05Printing Dimensions NEGOTIATION55Elwin Sharvill
1036Morrow P BriddickItaly2024-06-04Printing Dimensions NEGOTIATION28Anna Fali
1037Chavez W SergiUnited Kingdom2024-05-28Chapman, Ross E Esq UNQUALIFIED53Xuxue Feng
1038Octavia J CaudyIndia2024-05-27Buckley Miller Wright PROPOSAL40Elwin Sharvill
1039Aruna Y GauchoIndia2024-06-23Rousseaux, Michael Esq PROPOSAL92Elwin Sharvill
1040Izzy W SaylorsArgentina2024-06-05Benton, John B Jr NEW12Anna Fali
1041Salvatore C WieserItaly2024-05-28Truhlar And Truhlar Attys PROPOSAL44Ioni Bowcher
1042Octavia X AlbaresItaly2024-06-18Benton, John B Jr QUALIFIED24Onyama Limba
1043Claire L BologniaBrazil2024-05-26Buckley Miller Wright UNQUALIFIED87Xuxue Feng
1044Claire J FerenczIndia2024-06-09Buckley Miller Wright NEW91Onyama Limba
1045Alejandro X SaylorsFrance2024-05-28Chemel, James L Cpa RENEWAL28Xuxue Feng
1046Maria D DilliardArgentina2024-06-14King, Christopher A Esq PROPOSAL39Ivan Magalhaes
1047Munro H BriddickGermany2024-06-02King, Christopher A Esq QUALIFIED80Xuxue Feng
1048Clifford X WieserArgentina2024-06-06Chemel, James L Cpa RENEWAL71Ivan Magalhaes
1049Stacey S MaletArgentina2024-05-27Morlong Associates QUALIFIED15Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Adams P CaldareraGermanyElwin Sharvill NEGOTIATION
Silvio Y SchemmerCanadaIvan Magalhaes NEGOTIATION
Sinclair K StockhamItalyElwin Sharvill NEGOTIATION
Murillo W FerenczSpainAnna Fali UNQUALIFIED
Greenwood H DoeUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin B AmigonArgentinaAnna Fali PROPOSAL
Mayumi X RoysterIndiaXuxue Feng UNQUALIFIED
Ashley M RulapaughFranceXuxue Feng NEGOTIATION
Wickens S ShinkoBrazilStephen Shaw RENEWAL
Ivar P InouyeSpainIvan Magalhaes RENEWAL
Adams S MacleadGermanyAsiya Javayant QUALIFIED
Antonio H RoysterBrazilElwin Sharvill RENEWAL
Murillo Z PoquetteRussiaIvan Magalhaes PROPOSAL
Clifford G PaprockiSpainAnna Fali RENEWAL
Aditya A NickaSpainStephen Shaw NEGOTIATION
Costa Y MacleadIndiaAmy Elsner NEW
Greenwood A KolmetzAustraliaOnyama Limba RENEWAL
Antonio P IturbideBrazilElwin Sharvill PROPOSAL
Aruna O WieserSpainBernardo Dominic PROPOSAL
Costa J VocelkaRussiaAnna Fali PROPOSAL
Octavia T MarrierItalyAsiya Javayant NEW
Maria E InouyeIndiaStephen Shaw PROPOSAL
Salvatore J ChuiIndiaIvan Magalhaes QUALIFIED
Jefferson D AmigonIndiaOnyama Limba QUALIFIED
Adams Z ShinkoArgentinaAsiya Javayant UNQUALIFIED
Maria O TollnerJapanIoni Bowcher RENEWAL
Octavia X AmigonAustraliaIvan Magalhaes QUALIFIED
Tony N MacleadSpainIvan Magalhaes QUALIFIED
Maisha K FigeroaGermanyAmy Elsner UNQUALIFIED
Maria F MorascaFranceIoni Bowcher UNQUALIFIED
Munro U DilliardAustraliaElwin Sharvill UNQUALIFIED
Deepesh F GlickUnited KingdomElwin Sharvill QUALIFIED
Isabel R MarrierAustraliaElwin Sharvill NEW
Salvatore M PerinGermanyBernardo Dominic NEW
Greenwood V FigeroaIndiaAnna Fali QUALIFIED
Maria O SergiUnited KingdomBernardo Dominic NEW
Arvin I MacleadSpainElwin Sharvill QUALIFIED
Jefferson G BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem F NestleBrazilBernardo Dominic NEW
Salvatore B StockhamItalyElwin Sharvill RENEWAL
Maisha Y AmigonArgentinaAsiya Javayant NEW
Aditya E MaletAustraliaAnna Fali RENEWAL
Jeanfrancois B PaprockiUnited KingdomElwin Sharvill PROPOSAL
Greenwood I SchemmerUnited KingdomIoni Bowcher NEW
Morrow J SergiFranceAsiya Javayant NEGOTIATION
Misaki Z VocelkaItalyXuxue Feng RENEWAL
Aika Z StockhamBrazilBernardo Dominic NEW
Jennifer V BologniaRussiaBernardo Dominic QUALIFIED
Greenwood O VocelkaRussiaAsiya Javayant PROPOSAL
Kaitlin W FerenczCanadaAnna Fali NEGOTIATION
Frozen Columns
Name
Maisha Z Vocelka
Jones M Malet
Leon Z Whobrey
Francesco X Stenseth
Morrow Q Schemmer
Nicolas L Iturbide
Adams X Perin
Stacey X Dilliard
Nicolas L Paprocki
Maisha L Caudy
Aditya O Schemmer
Juan C Schemmer
Ashley B Sergi
Izzy Y Ostrosky
Clifford P Perin
Jennifer I Albares
Leon S Nestle
James G Stockham
Kaitlin Q Ferencz
Smith S Kusko
Stacey B Gaucho
Salvatore G Wieser
Jennifer V Kusko
Mayumi D Dilliard
Costa O Ruta
Smith V Iturbide
Jennifer I Figeroa
Munro N Vocelka
Maisha C Gillian
Julie U Albares
Claire A Darakjy
Mayumi O Flosi
Smith S Paprocki
Emily D Poquette
Ashley S Gillian
Kaitlin I Campain
Nicolas G Caldarera
Tony J Ferencz
Maria C Caudy
Clifford J Malet
Izzy O Ruta
Clifford B Whobrey
Aditya L Darakjy
Kadeem K Wieser
Rodrigues Q Waycott
Adams S Foller
Jefferson I Amigon
Mujtaba N Stenseth
Ashley T Kusko
Smith S Schemmer
IdCountryDate
1000India2024-06-16
1001India2024-06-08
1002Germany2024-05-28
1003Germany2024-06-19
1004India2024-06-05
1005Australia2024-06-13
1006India2024-06-03
1007Brazil2024-06-10
1008Italy2024-05-27
1009Canada2024-06-03
1010Japan2024-06-16
1011Canada2024-06-24
1012Australia2024-06-22
1013Australia2024-06-13
1014Germany2024-06-09
1015Spain2024-06-17
1016Russia2024-06-23
1017Germany2024-06-19
1018Argentina2024-05-28
1019Canada2024-05-27
1020Argentina2024-05-27
1021Canada2024-05-28
1022United Kingdom2024-06-13
1023Spain2024-05-27
1024Brazil2024-06-18
1025France2024-06-01
1026United Kingdom2024-06-22
1027Brazil2024-06-17
1028Italy2024-06-05
1029Germany2024-05-27
1030Japan2024-06-11
1031Spain2024-06-05
1032Spain2024-05-29
1033Spain2024-05-28
1034Japan2024-06-15
1035France2024-06-17
1036Germany2024-06-11
1037Canada2024-06-24
1038United Kingdom2024-06-21
1039France2024-05-31
1040Germany2024-06-01
1041Brazil2024-06-05
1042Argentina2024-06-16
1043Australia2024-05-28
1044Spain2024-05-27
1045Canada2024-05-27
1046Spain2024-06-02
1047Russia2024-06-06
1048Germany2024-06-03
1049Brazil2024-06-09

On-Demand Data

NameIdCountryDate
Stacey Y Slusarski1000Argentina2024-05-29
Darci U Rim1001Brazil2024-06-09
Ivar E Whobrey1002United Kingdom2024-05-31
Alejandro T Stenseth1003Spain2024-06-11
Costa R Stockham1004Brazil2024-06-05
Antonio I Waycott1005Australia2024-06-04
Morrow O Malet1006India2024-05-29
Arvin Z Ostrosky1007Spain2024-05-28
Aditya M Caudy1008Argentina2024-06-23
Arvin X Chui1009India2024-06-16
Izzy G Chui1010Spain2024-06-15
Antonio B Stenseth1011India2024-06-18
Maisha J Saylors1012France2024-06-01
Ivar X Saylors1013Argentina2024-06-22
Jones F Stockham1014Canada2024-06-17
Faith Y Saylors1015United Kingdom2024-06-21
Munro K Dilliard1016Argentina2024-05-28
Ivar P Kusko1017Brazil2024-06-10
Kadeem N Ostrosky1018Germany2024-06-20
Ashley I Morasca1019Japan2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria K KuskoArgentinaAnna Fali RENEWAL
Jefferson L PoquetteJapanAnna Fali QUALIFIED
Faith K MorascaBrazilElwin Sharvill QUALIFIED
Aruna W OstroskyAustraliaAsiya Javayant NEGOTIATION
Mujtaba S SaylorsItalyXuxue Feng NEW
Octavia Q BologniaUnited KingdomAnna Fali RENEWAL
Greenwood P AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Aditya F CampainCanadaXuxue Feng PROPOSAL
Leon O ChuiIndiaStephen Shaw PROPOSAL
Juan F NickaRussiaBernardo Dominic RENEWAL
Wickens T TollnerItalyAmy Elsner QUALIFIED
Mayumi B ShinkoBrazilOnyama Limba UNQUALIFIED
Jennifer G MarrierSpainElwin Sharvill QUALIFIED
Isabel G PerinUnited KingdomAsiya Javayant PROPOSAL
Jones C PoquetteFranceAsiya Javayant UNQUALIFIED
Jeanfrancois B BowleyJapanAmy Elsner UNQUALIFIED
Mayumi E SlusarskiArgentinaElwin Sharvill NEGOTIATION
Aditya I WieserRussiaAsiya Javayant PROPOSAL
Izzy D MacleadItalyBernardo Dominic RENEWAL
Kadeem J CaudyItalyIvan Magalhaes UNQUALIFIED
Claire S CampainGermanyAsiya Javayant NEW
Ivar O KolmetzAustraliaAmy Elsner RENEWAL
Nicolas G SchemmerIndiaAsiya Javayant UNQUALIFIED
Smith Y KuskoRussiaIoni Bowcher NEGOTIATION
Juan T FollerRussiaAmy Elsner RENEWAL
Mayumi D WieserAustraliaOnyama Limba RENEWAL
Deepesh R SchemmerJapanAsiya Javayant QUALIFIED
Jeanfrancois I CampainRussiaAnna Fali RENEWAL
Izzy F PerinIndiaIoni Bowcher UNQUALIFIED
Leon X RoysterRussiaElwin Sharvill NEGOTIATION
Aditya T MaletGermanyXuxue Feng PROPOSAL
Greenwood Y FigeroaUnited KingdomXuxue Feng RENEWAL
Antonio Y CampainAustraliaIoni Bowcher UNQUALIFIED
Ricardo X BriddickItalyOnyama Limba NEW
Cody O NickaJapanXuxue Feng NEGOTIATION
Mayumi B RulapaughCanadaElwin Sharvill NEW
Munro K FollerIndiaIvan Magalhaes PROPOSAL
Salvatore H GarufiIndiaAsiya Javayant UNQUALIFIED
Claire J StensethSpainIoni Bowcher NEGOTIATION
Jennifer Q StockhamJapanOnyama Limba 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>