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
Faith Z MacleadCanadaStephen Shaw NEGOTIATION
Julie A FerenczJapanAmy Elsner QUALIFIED
Cody J ShinkoIndiaElwin Sharvill PROPOSAL
Cody F WieserArgentinaOnyama Limba UNQUALIFIED
Mayumi W MaletFranceIoni Bowcher QUALIFIED
Jennifer K PerinUnited KingdomBernardo Dominic QUALIFIED
Greenwood B RutaIndiaAmy Elsner QUALIFIED
Maria A MacleadUnited KingdomIoni Bowcher NEW
Julie T MaletJapanElwin Sharvill QUALIFIED
Antonio Q TollnerItalyAsiya Javayant NEGOTIATION
Izzy A RoysterArgentinaIvan Magalhaes QUALIFIED
Deepesh E OstroskyAustraliaElwin Sharvill QUALIFIED
Kadeem Q WhobreyGermanyAmy Elsner QUALIFIED
Alejandro H InouyeGermanyAnna Fali QUALIFIED
Smith K MacleadGermanyStephen Shaw PROPOSAL
Tony K NickaUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin V ButtBrazilAmy Elsner NEGOTIATION
Jefferson Y CampainIndiaAsiya Javayant PROPOSAL
Morrow K ChuiItalyIvan Magalhaes NEW
Ricardo P BologniaRussiaBernardo Dominic QUALIFIED
Misaki D FollerJapanBernardo Dominic RENEWAL
Murillo H GlickUnited KingdomXuxue Feng UNQUALIFIED
Stacey W FollerAustraliaElwin Sharvill QUALIFIED
Arvin I WieserArgentinaIoni Bowcher UNQUALIFIED
Arvin K StockhamAustraliaBernardo Dominic NEW
Jones J WaycottGermanyAsiya Javayant QUALIFIED
Octavia P NickaBrazilBernardo Dominic PROPOSAL
Misaki C GarufiAustraliaBernardo Dominic NEGOTIATION
Ivar R AlbaresIndiaXuxue Feng NEGOTIATION
Costa Q FollerCanadaAnna Fali NEGOTIATION
Ashley A PaprockiIndiaAmy Elsner QUALIFIED
Wickens P BowleyUnited KingdomAmy Elsner PROPOSAL
Kadeem S DoeSpainBernardo Dominic QUALIFIED
Chavez D NestleArgentinaXuxue Feng NEGOTIATION
Nicolas T BologniaBrazilIvan Magalhaes UNQUALIFIED
Octavia F RutaRussiaElwin Sharvill RENEWAL
Isabel O MarrierFranceAmy Elsner NEGOTIATION
Adams U AmigonRussiaAsiya Javayant RENEWAL
Izzy J PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Leon L TollnerUnited KingdomAnna Fali NEGOTIATION
Misaki D FollerIndiaXuxue Feng NEW
Izzy J GarufiBrazilStephen Shaw PROPOSAL
Jones G SchemmerSpainAnna Fali NEW
Jeanfrancois K DarakjyJapanIvan Magalhaes QUALIFIED
James E MacleadSpainElwin Sharvill NEW
Silvio I OldroydUnited KingdomIoni Bowcher QUALIFIED
Chavez Y RulapaughFranceElwin Sharvill NEW
Tony L CampainArgentinaBernardo Dominic NEGOTIATION
Greenwood Y GlickAustraliaAnna Fali RENEWAL
Jennifer X MaletGermanyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel T NickaIndiaIoni Bowcher QUALIFIED
Chavez D BowleyItalyAmy Elsner QUALIFIED
Adams J OstroskyGermanyBernardo Dominic NEGOTIATION
Maisha L GauchoIndiaIvan Magalhaes NEW
Darci J DarakjyAustraliaOnyama Limba NEGOTIATION
Kaitlin X WieserGermanyElwin Sharvill NEW
Mujtaba R FollerBrazilIvan Magalhaes UNQUALIFIED
Rodrigues C CaldareraFranceBernardo Dominic RENEWAL
Leja Q GarufiFranceAsiya Javayant UNQUALIFIED
James C FollerFranceIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson K RimFrance2025-05-23King, Christopher A Esq QUALIFIED2Xuxue Feng
1001Kadeem U SlusarskiAustralia2025-05-27Rangoni Of Florence PROPOSAL76Bernardo Dominic
1002Rodrigues T ShinkoArgentina2025-06-15Dorl, James J Esq QUALIFIED64Anna Fali
1003Stacey P GlickBrazil2025-06-04Rousseaux, Michael Esq PROPOSAL99Anna Fali
1004Mujtaba Z GlickAustralia2025-05-30Benton, John B Jr RENEWAL68Xuxue Feng
1005Ashley W GillianAustralia2025-05-21Rousseaux, Michael Esq NEW99Xuxue Feng
1006Juan L TollnerSpain2025-06-05Chapman, Ross E Esq UNQUALIFIED88Ivan Magalhaes
1007Julie H WieserCanada2025-06-10King, Christopher A Esq UNQUALIFIED54Ioni Bowcher
1008Aditya V NestleCanada2025-05-25Benton, John B Jr NEGOTIATION49Amy Elsner
1009Faith N SaylorsJapan2025-05-21Morlong Associates NEGOTIATION6Onyama Limba
1010Kaitlin Y DoeFrance2025-06-08Chemel, James L Cpa RENEWAL25Amy Elsner
1011Darci M MarrierSpain2025-06-15Truhlar And Truhlar Attys NEGOTIATION7Elwin Sharvill
1012Deepesh O ButtGermany2025-06-08Rangoni Of Florence UNQUALIFIED74Elwin Sharvill
1013Greenwood N GarufiItaly2025-06-10Chemel, James L Cpa UNQUALIFIED81Anna Fali
1014Cody P FlosiItaly2025-06-07Printing Dimensions UNQUALIFIED95Onyama Limba
1015Jefferson O ChuiUnited Kingdom2025-05-30Feltz Printing Service PROPOSAL39Elwin Sharvill
1016Aika I CaldareraBrazil2025-05-21Morlong Associates RENEWAL0Ivan Magalhaes
1017Tony P RoysterAustralia2025-05-25Chapman, Ross E Esq PROPOSAL58Elwin Sharvill
1018Juan H OldroydAustralia2025-05-28Commercial Press NEW93Elwin Sharvill
1019Ricardo D BowleyFrance2025-05-22Chapman, Ross E Esq QUALIFIED12Anna Fali
1020Faith Y PaprockiSpain2025-06-13Morlong Associates QUALIFIED19Ioni Bowcher
1021Mujtaba I RulapaughIndia2025-06-05Buckley Miller Wright NEGOTIATION31Xuxue Feng
1022Isabel B BologniaItaly2025-05-31Commercial Press PROPOSAL38Bernardo Dominic
1023Octavia W MaletSpain2025-06-15Rousseaux, Michael Esq PROPOSAL79Asiya Javayant
1024Deepesh S SergiFrance2025-06-05Commercial Press QUALIFIED35Amy Elsner
1025Kadeem G PerinRussia2025-06-09Feltz Printing Service PROPOSAL63Anna Fali
1026Francesco U VocelkaIndia2025-06-02Buckley Miller Wright QUALIFIED34Xuxue Feng
1027Sinclair A MaletAustralia2025-06-16Chapman, Ross E Esq QUALIFIED24Asiya Javayant
1028Francesco V OstroskyArgentina2025-05-21Chanay, Jeffrey A Esq PROPOSAL45Bernardo Dominic
1029Mayumi Z WaycottJapan2025-05-28Chemel, James L Cpa UNQUALIFIED16Asiya Javayant
1030Claire Z GauchoGermany2025-06-04Feltz Printing Service RENEWAL3Anna Fali
1031Johnson L StockhamSpain2025-06-14Feiner Bros RENEWAL37Stephen Shaw
1032Greenwood D ShinkoItaly2025-05-25Benton, John B Jr QUALIFIED15Asiya Javayant
1033Kaitlin L MacleadBrazil2025-06-07Truhlar And Truhlar Attys UNQUALIFIED26Amy Elsner
1034Mujtaba G BriddickAustralia2025-06-03Benton, John B Jr NEW42Anna Fali
1035Stacey T InouyeBrazil2025-06-14Feltz Printing Service QUALIFIED14Xuxue Feng
1036Morrow M WhobreySpain2025-06-05Dorl, James J Esq NEGOTIATION14Elwin Sharvill
1037Jennifer I FerenczArgentina2025-06-07Dorl, James J Esq QUALIFIED73Onyama Limba
1038Juan A GarufiItaly2025-05-27Printing Dimensions NEW89Stephen Shaw
1039Rodrigues U VenereBrazil2025-06-02Dorl, James J Esq RENEWAL70Asiya Javayant
1040Salvatore I KuskoArgentina2025-05-19Truhlar And Truhlar Attys QUALIFIED10Asiya Javayant
1041Tony L SergiArgentina2025-05-22Chemel, James L Cpa NEGOTIATION99Xuxue Feng
1042Deepesh B StockhamSpain2025-05-22King, Christopher A Esq UNQUALIFIED44Asiya Javayant
1043Jones U BowleyGermany2025-06-03Buckley Miller Wright NEW78Ivan Magalhaes
1044Stacey T WaycottFrance2025-05-29Rangoni Of Florence NEGOTIATION24Ivan Magalhaes
1045Emily X CaldareraRussia2025-06-08Feiner Bros QUALIFIED34Elwin Sharvill
1046Emily X KuskoUnited Kingdom2025-06-05Chapman, Ross E Esq QUALIFIED91Amy Elsner
1047Claire E BologniaItaly2025-05-29Truhlar And Truhlar Attys PROPOSAL3Xuxue Feng
1048Aditya F RimSpain2025-05-19Chapman, Ross E Esq NEGOTIATION13Bernardo Dominic
1049Jennifer F VocelkaRussia2025-05-20Rangoni Of Florence UNQUALIFIED12Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson E PaprockiGermanyAnna Fali NEGOTIATION
Rodrigues F BriddickUnited KingdomOnyama Limba QUALIFIED
Kadeem A TollnerSpainElwin Sharvill PROPOSAL
Murillo W StensethGermanyAmy Elsner RENEWAL
Sinclair U MacleadJapanElwin Sharvill NEW
Ashley D RimJapanElwin Sharvill QUALIFIED
Ricardo S IturbideArgentinaElwin Sharvill RENEWAL
Misaki S MorascaFranceBernardo Dominic RENEWAL
Wickens J IturbideCanadaStephen Shaw NEGOTIATION
Munro M DilliardGermanyOnyama Limba RENEWAL
Misaki R DarakjyFranceAsiya Javayant RENEWAL
Ivar W PaprockiRussiaAsiya Javayant QUALIFIED
Maisha Y CaldareraSpainXuxue Feng NEGOTIATION
Adams B IturbideUnited KingdomAmy Elsner NEW
Leja D GarufiGermanyAmy Elsner UNQUALIFIED
Claire A ButtArgentinaAsiya Javayant NEGOTIATION
Sinclair S FlosiArgentinaAnna Fali UNQUALIFIED
Greenwood H VocelkaGermanyIoni Bowcher PROPOSAL
Silvio N AmigonJapanAmy Elsner UNQUALIFIED
Smith C CaldareraJapanAmy Elsner PROPOSAL
Nicolas M PaprockiFranceAsiya Javayant PROPOSAL
Juan U CaudyItalyXuxue Feng NEW
Stacey F GarufiAustraliaAnna Fali NEW
James U CaldareraIndiaAnna Fali UNQUALIFIED
Salvatore Q GauchoFranceIvan Magalhaes NEW
Jeanfrancois R InouyeGermanyBernardo Dominic NEW
Johnson W SchemmerArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois K FlosiFranceAnna Fali NEW
Leon W OstroskyGermanyStephen Shaw PROPOSAL
David V BowleyItalyAmy Elsner NEW
Ashley U GillianIndiaOnyama Limba UNQUALIFIED
Adams F WaycottBrazilIvan Magalhaes QUALIFIED
Chavez Q PerinRussiaXuxue Feng QUALIFIED
Aika R SlusarskiBrazilAmy Elsner QUALIFIED
Maisha S RimJapanAnna Fali PROPOSAL
Kaitlin T KolmetzRussiaAmy Elsner PROPOSAL
Aika A WhobreySpainIoni Bowcher QUALIFIED
Ashley X RutaAustraliaOnyama Limba UNQUALIFIED
Antonio C CampainSpainStephen Shaw UNQUALIFIED
Costa G BriddickBrazilOnyama Limba RENEWAL
Mujtaba O StockhamJapanXuxue Feng NEW
Izzy Y KuskoArgentinaXuxue Feng QUALIFIED
Silvio T PerinSpainIvan Magalhaes UNQUALIFIED
Ashley W SlusarskiFranceOnyama Limba RENEWAL
Jennifer I GillianUnited KingdomStephen Shaw NEW
Clifford G VocelkaFranceXuxue Feng QUALIFIED
Johnson N RutaArgentinaXuxue Feng RENEWAL
Antonio F KuskoCanadaStephen Shaw QUALIFIED
Jennifer C GarufiUnited KingdomElwin Sharvill RENEWAL
Antonio Q AmigonArgentinaAnna Fali NEGOTIATION
Frozen Columns
Name
Jefferson V Nicka
Sinclair Y Darakjy
Alejandro A Slusarski
Deepesh F Gaucho
Adams H Caudy
Jeanfrancois G Butt
Aruna Y Figeroa
Cody S Iturbide
Claire Q Oldroyd
Jeanfrancois N Rulapaugh
Wickens L Rulapaugh
Claire J Saylors
Jefferson F Gillian
Clifford F Poquette
Claire I Dilliard
Adams M Vocelka
Rodrigues E Gaucho
Maisha Y Iturbide
Antonio E Morasca
Juan F Darakjy
Antonio H Nicka
Adams J Poquette
Isabel E Kusko
Greenwood U Caldarera
Faith S Foller
Izzy N Foller
Sinclair V Chui
Clifford W Stenseth
Jefferson F Morasca
Smith R Briddick
Morrow Y Royster
Julie J Ferencz
Chavez N Perin
Juan Z Amigon
Munro Z Campain
Deepesh J Poquette
Kadeem D Saylors
Cody I Kusko
Leon I Glick
David Q Stockham
Rodrigues T Stockham
Deepesh K Albares
Ricardo U Gillian
Izzy H Butt
Jefferson D Tollner
Deepesh Z Nestle
Leja E Oldroyd
Antonio K Ruta
Clifford J Caldarera
Ivar L Sergi
IdCountryDate
1000Spain2025-05-24
1001Argentina2025-05-20
1002Russia2025-05-29
1003Australia2025-05-29
1004Argentina2025-05-31
1005Italy2025-06-14
1006Italy2025-06-09
1007Russia2025-06-07
1008Argentina2025-06-15
1009India2025-06-07
1010Spain2025-05-30
1011France2025-05-25
1012Argentina2025-06-08
1013Australia2025-05-20
1014Brazil2025-06-15
1015Russia2025-05-21
1016Russia2025-06-11
1017Russia2025-05-24
1018France2025-05-22
1019United Kingdom2025-06-14
1020Germany2025-05-29
1021France2025-06-11
1022United Kingdom2025-05-24
1023France2025-06-03
1024Spain2025-05-20
1025Brazil2025-05-22
1026Russia2025-06-01
1027Russia2025-05-19
1028Japan2025-05-22
1029Italy2025-06-05
1030Spain2025-06-06
1031India2025-05-30
1032United Kingdom2025-05-19
1033Brazil2025-05-21
1034Australia2025-05-19
1035Argentina2025-06-09
1036Japan2025-05-22
1037India2025-06-03
1038United Kingdom2025-06-14
1039Japan2025-06-07
1040Canada2025-05-19
1041Canada2025-05-25
1042Italy2025-06-13
1043Italy2025-06-08
1044Argentina2025-06-03
1045Argentina2025-06-15
1046Italy2025-06-04
1047United Kingdom2025-06-08
1048Canada2025-06-05
1049Germany2025-05-31

On-Demand Data

NameIdCountryDate
Aditya J Venere1000Canada2025-06-16
Kadeem M Marrier1001Argentina2025-06-16
Misaki L Marrier1002India2025-06-15
Greenwood B Rim1003Brazil2025-06-02
Ashley G Kolmetz1004Argentina2025-05-20
Jeanfrancois L Gaucho1005Argentina2025-06-12
Mujtaba Q Venere1006Russia2025-06-13
Claire Q Stockham1007Germany2025-05-22
Cody W Venere1008Japan2025-05-18
Leja D Darakjy1009Italy2025-06-09
Mayumi Q Briddick1010Spain2025-05-29
Kaitlin W Amigon1011Germany2025-06-03
Stacey S Marrier1012Argentina2025-05-24
Emily E Stockham1013United Kingdom2025-05-26
Jones M Rim1014France2025-05-19
Johnson H Royster1015Russia2025-05-25
Antonio L Wieser1016United Kingdom2025-05-18
Morrow W Sergi1017France2025-06-02
Mujtaba J Schemmer1018Canada2025-06-04
Mujtaba E Royster1019Spain2025-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Z RulapaughCanadaIoni Bowcher UNQUALIFIED
James C FlosiIndiaOnyama Limba NEGOTIATION
David W StensethCanadaIvan Magalhaes QUALIFIED
James L CaudyAustraliaXuxue Feng QUALIFIED
Jones C VocelkaFranceElwin Sharvill UNQUALIFIED
Jones W RutaFranceIvan Magalhaes QUALIFIED
Aika E MacleadItalyXuxue Feng RENEWAL
Maria W MaletBrazilAnna Fali NEW
Faith K CampainRussiaElwin Sharvill RENEWAL
Octavia X MaletFranceElwin Sharvill NEGOTIATION
Alejandro D ShinkoRussiaOnyama Limba PROPOSAL
Silvio W OldroydCanadaBernardo Dominic PROPOSAL
Mayumi M ShinkoRussiaOnyama Limba QUALIFIED
Leon W SaylorsBrazilStephen Shaw RENEWAL
Darci E FerenczGermanyIoni Bowcher UNQUALIFIED
Tony T WhobreyIndiaElwin Sharvill NEW
Maria M AlbaresArgentinaAnna Fali NEW
Kaitlin O GauchoCanadaAsiya Javayant UNQUALIFIED
Rodrigues O ButtUnited KingdomElwin Sharvill NEGOTIATION
Deepesh E MaletFranceAsiya Javayant PROPOSAL
Morrow W CaudyIndiaElwin Sharvill QUALIFIED
Maria R VenereJapanAmy Elsner PROPOSAL
Tony P BriddickItalyXuxue Feng NEGOTIATION
Clifford E FerenczIndiaAmy Elsner NEW
Leja Q GarufiJapanIvan Magalhaes NEGOTIATION
Kadeem D FollerArgentinaIoni Bowcher PROPOSAL
Chavez Y FerenczRussiaAnna Fali RENEWAL
Aruna U DarakjyCanadaBernardo Dominic PROPOSAL
Stacey E VocelkaAustraliaBernardo Dominic PROPOSAL
Kaitlin T VenereArgentinaXuxue Feng QUALIFIED
Nicolas K TollnerUnited KingdomBernardo Dominic QUALIFIED
Murillo N MacleadBrazilXuxue Feng RENEWAL
Aruna O OstroskyGermanyElwin Sharvill RENEWAL
Aruna G NestleCanadaIvan Magalhaes RENEWAL
Octavia J DilliardUnited KingdomAmy Elsner RENEWAL
Mujtaba R SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Arvin E OstroskyUnited KingdomStephen Shaw PROPOSAL
Smith U KuskoGermanyAsiya Javayant PROPOSAL
Ivar Y RulapaughAustraliaElwin Sharvill PROPOSAL
Wickens V BologniaSpainOnyama Limba QUALIFIED

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