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
Misaki F NickaRussiaElwin Sharvill UNQUALIFIED
Stacey P BologniaBrazilBernardo Dominic PROPOSAL
Cody T GillianUnited KingdomAnna Fali QUALIFIED
Ricardo T KolmetzCanadaOnyama Limba RENEWAL
Juan M VocelkaIndiaXuxue Feng QUALIFIED
Mujtaba Y MaletCanadaStephen Shaw UNQUALIFIED
Adams H MaletItalyIvan Magalhaes NEW
Clifford C TollnerItalyXuxue Feng NEGOTIATION
Rodrigues T CampainItalyAnna Fali NEW
Deepesh H WieserGermanyIoni Bowcher UNQUALIFIED
Francesco O StensethUnited KingdomOnyama Limba UNQUALIFIED
Salvatore G SaylorsUnited KingdomElwin Sharvill PROPOSAL
Adams X ButtCanadaIvan Magalhaes UNQUALIFIED
Kaitlin Q DarakjyBrazilIoni Bowcher RENEWAL
Maria N FlosiBrazilStephen Shaw NEGOTIATION
Sinclair L NickaIndiaAnna Fali QUALIFIED
Mujtaba C VenereItalyBernardo Dominic QUALIFIED
Salvatore X MacleadRussiaIoni Bowcher RENEWAL
Smith Y MorascaAustraliaIoni Bowcher PROPOSAL
Costa Y MacleadJapanElwin Sharvill UNQUALIFIED
Nicolas P VenereIndiaElwin Sharvill NEW
Munro V FerenczFranceXuxue Feng RENEWAL
Isabel V BriddickIndiaStephen Shaw RENEWAL
Claire D FlosiJapanBernardo Dominic RENEWAL
Jennifer Y FlosiUnited KingdomStephen Shaw PROPOSAL
Jefferson D GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois O GarufiArgentinaXuxue Feng RENEWAL
Cody E IturbideCanadaElwin Sharvill QUALIFIED
Stacey V NickaAustraliaAmy Elsner PROPOSAL
James H NickaItalyElwin Sharvill UNQUALIFIED
Smith C AlbaresCanadaStephen Shaw NEW
Leon U RimJapanOnyama Limba RENEWAL
Aditya B RutaFranceXuxue Feng UNQUALIFIED
Stacey L CaldareraItalyXuxue Feng NEGOTIATION
Sinclair R DarakjyRussiaAmy Elsner UNQUALIFIED
Johnson I RulapaughJapanStephen Shaw PROPOSAL
Adams F MarrierBrazilElwin Sharvill NEGOTIATION
Nicolas Y RulapaughIndiaIvan Magalhaes RENEWAL
Ricardo S MorascaGermanyAnna Fali UNQUALIFIED
Silvio H KolmetzIndiaAnna Fali QUALIFIED
Johnson H WieserRussiaBernardo Dominic NEGOTIATION
Clifford F IturbideJapanAmy Elsner QUALIFIED
Kaitlin Y ShinkoAustraliaElwin Sharvill NEGOTIATION
Mayumi J VocelkaRussiaIoni Bowcher UNQUALIFIED
Maisha A DoeAustraliaAmy Elsner NEGOTIATION
Smith T MaletJapanAsiya Javayant QUALIFIED
Salvatore V MorascaSpainElwin Sharvill UNQUALIFIED
Jennifer Y NestleGermanyAsiya Javayant NEW
Ivar Y ShinkoGermanyStephen Shaw NEGOTIATION
Silvio G WhobreyIndiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio D IturbideCanadaAsiya Javayant RENEWAL
Emily H IturbideFranceStephen Shaw QUALIFIED
Chavez R SergiAustraliaXuxue Feng RENEWAL
Claire R VocelkaCanadaAmy Elsner NEGOTIATION
Munro T VenereJapanElwin Sharvill PROPOSAL
Greenwood Q SergiBrazilStephen Shaw NEGOTIATION
Murillo T MarrierFranceBernardo Dominic NEW
Isabel Z MacleadCanadaElwin Sharvill UNQUALIFIED
Smith R KolmetzRussiaOnyama Limba NEGOTIATION
Johnson B OldroydJapanElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens C TollnerRussia2025-06-04Printing Dimensions UNQUALIFIED35Ivan Magalhaes
1001Mujtaba W SchemmerJapan2025-05-26Buckley Miller Wright UNQUALIFIED95Onyama Limba
1002Izzy C AmigonSpain2025-06-03Feiner Bros RENEWAL65Bernardo Dominic
1003Cody J GillianUnited Kingdom2025-05-26Rousseaux, Michael Esq PROPOSAL74Stephen Shaw
1004Deepesh T IturbideAustralia2025-06-13Buckley Miller Wright PROPOSAL50Onyama Limba
1005Munro U SchemmerItaly2025-06-14Rousseaux, Michael Esq UNQUALIFIED54Elwin Sharvill
1006Aika H SlusarskiAustralia2025-05-24Buckley Miller Wright UNQUALIFIED55Anna Fali
1007Emily Q NestleSpain2025-05-28Feltz Printing Service NEGOTIATION32Xuxue Feng
1008Isabel R SlusarskiAustralia2025-05-19Printing Dimensions PROPOSAL14Ivan Magalhaes
1009Ashley P MaletGermany2025-06-16Buckley Miller Wright UNQUALIFIED7Bernardo Dominic
1010Deepesh X DarakjyItaly2025-05-25Benton, John B Jr QUALIFIED99Elwin Sharvill
1011David A NestleRussia2025-06-10Rangoni Of Florence UNQUALIFIED65Bernardo Dominic
1012Murillo B CaudyRussia2025-06-04Dorl, James J Esq QUALIFIED35Elwin Sharvill
1013David G GarufiGermany2025-06-12Buckley Miller Wright RENEWAL33Stephen Shaw
1014Salvatore V SlusarskiIndia2025-06-13Printing Dimensions UNQUALIFIED21Ioni Bowcher
1015Leja T KuskoItaly2025-06-09King, Christopher A Esq NEGOTIATION8Stephen Shaw
1016Julie A FigeroaSpain2025-05-23Truhlar And Truhlar Attys QUALIFIED69Ivan Magalhaes
1017Tony C SlusarskiFrance2025-06-10King, Christopher A Esq UNQUALIFIED75Onyama Limba
1018Stacey H CaudySpain2025-05-20Benton, John B Jr NEGOTIATION86Ivan Magalhaes
1019Isabel Z BowleyAustralia2025-05-22Dorl, James J Esq UNQUALIFIED50Asiya Javayant
1020David E KolmetzRussia2025-05-30Rangoni Of Florence PROPOSAL17Onyama Limba
1021Jennifer Z WaycottRussia2025-06-06Feltz Printing Service QUALIFIED50Ivan Magalhaes
1022Silvio A SlusarskiAustralia2025-06-11Rangoni Of Florence QUALIFIED29Onyama Limba
1023Ashley H DilliardFrance2025-05-30Rangoni Of Florence QUALIFIED61Elwin Sharvill
1024Jeanfrancois V WieserGermany2025-06-05Printing Dimensions PROPOSAL81Xuxue Feng
1025Kadeem L VenereUnited Kingdom2025-06-07Benton, John B Jr PROPOSAL6Onyama Limba
1026Darci J MaletGermany2025-05-24Chapman, Ross E Esq QUALIFIED11Bernardo Dominic
1027Wickens K RulapaughCanada2025-05-23Printing Dimensions RENEWAL9Amy Elsner
1028Johnson G NickaRussia2025-06-15Dorl, James J Esq RENEWAL95Stephen Shaw
1029Aika F GlickJapan2025-06-06Rousseaux, Michael Esq NEGOTIATION44Ivan Magalhaes
1030Izzy Q VocelkaSpain2025-06-14Truhlar And Truhlar Attys NEW33Stephen Shaw
1031Greenwood F ButtGermany2025-06-09Commercial Press NEGOTIATION75Stephen Shaw
1032Arvin Z DoeFrance2025-06-05Buckley Miller Wright UNQUALIFIED9Bernardo Dominic
1033Emily O BowleyItaly2025-06-10Chanay, Jeffrey A Esq UNQUALIFIED1Stephen Shaw
1034Julie R MacleadIndia2025-06-03Chemel, James L Cpa PROPOSAL19Ivan Magalhaes
1035Deepesh X RulapaughUnited Kingdom2025-06-11Feltz Printing Service QUALIFIED57Asiya Javayant
1036James I SaylorsGermany2025-06-03Buckley Miller Wright RENEWAL39Bernardo Dominic
1037Antonio R RimAustralia2025-06-09Printing Dimensions NEGOTIATION31Stephen Shaw
1038Munro X AlbaresAustralia2025-06-10Chanay, Jeffrey A Esq RENEWAL74Amy Elsner
1039Chavez P MacleadJapan2025-05-25Chanay, Jeffrey A Esq UNQUALIFIED68Elwin Sharvill
1040Emily H DoeIndia2025-06-09Chanay, Jeffrey A Esq UNQUALIFIED28Ivan Magalhaes
1041Francesco M MaletIndia2025-06-12Buckley Miller Wright QUALIFIED33Asiya Javayant
1042Julie E WieserArgentina2025-05-28Truhlar And Truhlar Attys NEGOTIATION61Elwin Sharvill
1043Jefferson V CaudyAustralia2025-05-22Morlong Associates RENEWAL8Asiya Javayant
1044Murillo R GlickCanada2025-05-29Chanay, Jeffrey A Esq NEW92Ioni Bowcher
1045Misaki R RulapaughRussia2025-05-29Buckley Miller Wright UNQUALIFIED0Ioni Bowcher
1046Kaitlin H CampainUnited Kingdom2025-05-25King, Christopher A Esq QUALIFIED57Elwin Sharvill
1047Jeanfrancois J RoysterSpain2025-05-27Truhlar And Truhlar Attys PROPOSAL33Ioni Bowcher
1048Rodrigues A KuskoAustralia2025-06-12King, Christopher A Esq QUALIFIED32Amy Elsner
1049Julie X GlickGermany2025-05-26Chapman, Ross E Esq NEGOTIATION33Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Darci W RimCanadaAsiya Javayant QUALIFIED
Silvio D VenereRussiaAnna Fali UNQUALIFIED
Greenwood Q GarufiJapanAnna Fali UNQUALIFIED
Tony S MaletItalyElwin Sharvill RENEWAL
Silvio G WieserCanadaAsiya Javayant QUALIFIED
Alejandro O PoquetteFranceIvan Magalhaes QUALIFIED
Jennifer Z SergiItalyAsiya Javayant UNQUALIFIED
Nicolas Q WaycottRussiaElwin Sharvill RENEWAL
Wickens E RimArgentinaIoni Bowcher UNQUALIFIED
Adams N MacleadSpainAsiya Javayant NEGOTIATION
Antonio L DilliardCanadaIvan Magalhaes PROPOSAL
Johnson Q BowleyBrazilElwin Sharvill NEW
Aditya H SchemmerArgentinaBernardo Dominic QUALIFIED
Salvatore L FigeroaItalyAsiya Javayant NEW
Jeanfrancois Z TollnerBrazilOnyama Limba PROPOSAL
Sinclair L CampainSpainOnyama Limba NEGOTIATION
Faith M VenereIndiaIoni Bowcher UNQUALIFIED
Kadeem W SchemmerIndiaAnna Fali NEGOTIATION
Cody H MarrierJapanOnyama Limba NEGOTIATION
Rodrigues Q CaudyItalyAnna Fali RENEWAL
Leon M ShinkoBrazilAmy Elsner NEW
James E GillianGermanyBernardo Dominic PROPOSAL
Adams O StockhamSpainAnna Fali QUALIFIED
Morrow L KolmetzIndiaIvan Magalhaes RENEWAL
Morrow J BriddickRussiaAsiya Javayant PROPOSAL
Murillo U WieserRussiaXuxue Feng QUALIFIED
Maisha U FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Faith I IturbideItalyBernardo Dominic UNQUALIFIED
Costa N ChuiGermanyXuxue Feng NEW
Leja J ShinkoIndiaAmy Elsner UNQUALIFIED
Faith A GarufiAustraliaIvan Magalhaes PROPOSAL
Clifford R DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Smith O AlbaresBrazilBernardo Dominic NEGOTIATION
David N WieserArgentinaBernardo Dominic RENEWAL
Smith U BologniaRussiaAmy Elsner NEGOTIATION
Izzy I NickaItalyElwin Sharvill QUALIFIED
Tony D CaudyCanadaOnyama Limba QUALIFIED
Antonio N CampainGermanyAnna Fali NEGOTIATION
Morrow T PoquetteAustraliaBernardo Dominic PROPOSAL
David O RoysterFranceIvan Magalhaes RENEWAL
Smith B VenereArgentinaStephen Shaw PROPOSAL
Alejandro U TollnerGermanyElwin Sharvill PROPOSAL
Ashley E IturbideCanadaAnna Fali NEGOTIATION
Ashley Z FollerJapanStephen Shaw PROPOSAL
Claire Z NickaItalyAsiya Javayant NEGOTIATION
Maisha X MorascaFranceAsiya Javayant RENEWAL
Chavez D MaletFranceXuxue Feng NEGOTIATION
Juan Q MacleadFranceIoni Bowcher NEW
Emily W ShinkoCanadaXuxue Feng NEW
Sinclair W StensethBrazilXuxue Feng PROPOSAL
Frozen Columns
Name
Tony X Amigon
Isabel F Malet
Misaki Z Poquette
Mayumi V Sergi
Arvin F Inouye
David U Stenseth
Kaitlin X Malet
Adams X Amigon
Arvin D Malet
Antonio X Shinko
Salvatore H Briddick
Morrow B Caudy
Clifford M Vocelka
Aditya J Ferencz
Aruna U Foller
Maria G Sergi
Juan T Glick
Maria Z Perin
Ashley E Poquette
Juan L Marrier
Salvatore Y Butt
Munro W Maclead
Munro T Maclead
Chavez J Malet
Ivar O Sergi
Munro N Oldroyd
Darci B Bowley
Chavez W Kusko
Misaki P Vocelka
Julie Q Malet
Leja E Albares
Murillo B Figeroa
Nicolas F Glick
Antonio T Gillian
Octavia Q Gillian
Claire Y Stenseth
Francesco A Doe
Tony O Ferencz
Deepesh S Royster
Wickens N Foller
Juan I Inouye
Isabel X Rulapaugh
Smith F Figeroa
Stacey U Bowley
Chavez K Chui
Juan A Gillian
Mayumi Q Royster
Munro N Gaucho
Murillo L Slusarski
Jeanfrancois H Rim
IdCountryDate
1000India2025-06-07
1001Canada2025-06-06
1002United Kingdom2025-05-29
1003Australia2025-06-02
1004Canada2025-06-10
1005Japan2025-06-16
1006Australia2025-06-15
1007Argentina2025-06-02
1008Russia2025-06-12
1009Australia2025-05-31
1010Japan2025-06-13
1011Italy2025-05-29
1012Spain2025-06-06
1013Spain2025-06-12
1014Canada2025-06-12
1015Spain2025-06-14
1016Germany2025-06-07
1017Brazil2025-05-21
1018India2025-06-14
1019Russia2025-05-21
1020Argentina2025-06-03
1021Canada2025-06-14
1022France2025-05-28
1023Russia2025-06-07
1024Spain2025-05-26
1025Japan2025-06-03
1026Italy2025-05-24
1027Germany2025-05-30
1028Canada2025-06-03
1029Japan2025-06-06
1030Brazil2025-06-09
1031Germany2025-06-04
1032Brazil2025-05-30
1033Brazil2025-05-21
1034Japan2025-05-18
1035United Kingdom2025-06-12
1036Argentina2025-05-21
1037Australia2025-06-02
1038Germany2025-06-08
1039France2025-06-16
1040India2025-05-23
1041Italy2025-06-15
1042United Kingdom2025-06-09
1043France2025-06-11
1044India2025-05-25
1045United Kingdom2025-05-24
1046India2025-06-01
1047United Kingdom2025-06-01
1048France2025-06-11
1049Japan2025-06-13

On-Demand Data

NameIdCountryDate
Sinclair E Tollner1000Argentina2025-06-06
Darci U Foller1001India2025-06-04
Morrow P Stockham1002Japan2025-05-20
Ricardo K Garufi1003Argentina2025-05-30
Morrow Q Iturbide1004Canada2025-06-06
Isabel L Darakjy1005United Kingdom2025-06-06
Juan I Flosi1006United Kingdom2025-06-03
Ricardo X Figeroa1007Australia2025-06-02
Izzy K Schemmer1008Australia2025-05-21
Smith O Paprocki1009Australia2025-05-21
Jennifer N Garufi1010Brazil2025-06-16
Izzy K Oldroyd1011Spain2025-06-08
Leja X Slusarski1012France2025-05-20
Mayumi R Butt1013France2025-05-22
Jones L Darakjy1014Italy2025-05-30
Jefferson Y Chui1015United Kingdom2025-06-09
Murillo W Stenseth1016France2025-06-02
Emily C Morasca1017Brazil2025-06-04
Kadeem P Saylors1018Canada2025-06-13
Nicolas Z Darakjy1019Argentina2025-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo P TollnerUnited KingdomElwin Sharvill NEW
Chavez P SchemmerFranceAnna Fali QUALIFIED
Mujtaba C MaletAustraliaStephen Shaw UNQUALIFIED
Kadeem X MaletGermanyXuxue Feng PROPOSAL
Alejandro U FlosiCanadaElwin Sharvill UNQUALIFIED
David D KuskoItalyAsiya Javayant NEGOTIATION
Greenwood Q ShinkoItalyStephen Shaw QUALIFIED
Jones L RutaCanadaBernardo Dominic RENEWAL
Murillo G CaldareraCanadaStephen Shaw QUALIFIED
Misaki I IturbideCanadaElwin Sharvill QUALIFIED
Ivar D MorascaIndiaIvan Magalhaes UNQUALIFIED
Deepesh B RutaGermanyXuxue Feng NEW
Alejandro H KolmetzSpainAmy Elsner QUALIFIED
Ivar B ShinkoBrazilBernardo Dominic RENEWAL
Tony O CampainAustraliaIvan Magalhaes NEGOTIATION
Darci G StockhamAustraliaOnyama Limba PROPOSAL
Jennifer F OldroydBrazilAsiya Javayant NEW
Kaitlin D GillianJapanStephen Shaw NEGOTIATION
Jeanfrancois Y GlickAustraliaXuxue Feng PROPOSAL
Rodrigues E RutaCanadaAnna Fali PROPOSAL
Mayumi P SchemmerIndiaAmy Elsner RENEWAL
Jennifer S CampainSpainBernardo Dominic UNQUALIFIED
Maisha M BriddickArgentinaIvan Magalhaes NEW
Ricardo P MorascaCanadaOnyama Limba RENEWAL
Costa H GarufiUnited KingdomAnna Fali UNQUALIFIED
Rodrigues L GarufiJapanBernardo Dominic QUALIFIED
Kadeem H NestleItalyOnyama Limba NEGOTIATION
Cody Y BriddickArgentinaAsiya Javayant NEGOTIATION
Juan X PerinGermanyStephen Shaw QUALIFIED
Jones Z ButtSpainIoni Bowcher RENEWAL
Aruna J DilliardUnited KingdomAmy Elsner NEGOTIATION
Chavez T ChuiUnited KingdomIoni Bowcher NEW
Smith Q CampainFranceOnyama Limba NEW
James H InouyeIndiaOnyama Limba RENEWAL
Ashley I SaylorsCanadaOnyama Limba NEW
Rodrigues G ShinkoItalyXuxue Feng PROPOSAL
Maria L MaletRussiaOnyama Limba UNQUALIFIED
Munro W TollnerCanadaIvan Magalhaes RENEWAL
Julie D KuskoRussiaOnyama Limba PROPOSAL
Stacey M OldroydSpainAsiya Javayant 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>