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
Sinclair B ChuiJapanAnna Fali NEGOTIATION
Adams N GillianItalyStephen Shaw RENEWAL
Morrow P SaylorsAustraliaOnyama Limba PROPOSAL
Cody V OstroskyRussiaBernardo Dominic QUALIFIED
Aika A MaletUnited KingdomAnna Fali NEW
Mayumi G GillianFranceIvan Magalhaes NEW
Nicolas R OldroydSpainStephen Shaw NEW
Clifford N DoeUnited KingdomIvan Magalhaes QUALIFIED
Murillo N AmigonIndiaElwin Sharvill UNQUALIFIED
Juan S OstroskyCanadaAsiya Javayant NEW
Leja P VocelkaFranceXuxue Feng QUALIFIED
Leja W GauchoCanadaBernardo Dominic NEGOTIATION
Jeanfrancois P PoquetteSpainIoni Bowcher PROPOSAL
Isabel C StensethRussiaStephen Shaw RENEWAL
Antonio B DoeUnited KingdomBernardo Dominic RENEWAL
David G GauchoIndiaBernardo Dominic NEGOTIATION
Mayumi B KolmetzAustraliaStephen Shaw NEGOTIATION
Stacey Z RutaGermanyAsiya Javayant NEGOTIATION
Johnson K NestleFranceOnyama Limba NEW
Ricardo A KuskoBrazilIvan Magalhaes QUALIFIED
David M RoysterAustraliaStephen Shaw NEW
Mayumi H MorascaSpainIoni Bowcher NEW
Adams J WieserUnited KingdomXuxue Feng NEGOTIATION
Mayumi Z StockhamSpainAnna Fali QUALIFIED
Cody V RoysterArgentinaIoni Bowcher NEW
Mujtaba D FerenczFranceAmy Elsner NEW
Juan Z VenereGermanyElwin Sharvill QUALIFIED
Nicolas D DilliardBrazilStephen Shaw UNQUALIFIED
James Y NickaRussiaAnna Fali NEW
Munro Q ButtUnited KingdomXuxue Feng RENEWAL
Aruna H KolmetzRussiaAnna Fali PROPOSAL
Maria A OldroydGermanyAnna Fali QUALIFIED
Adams L AmigonSpainAmy Elsner UNQUALIFIED
Aika N MacleadGermanyBernardo Dominic PROPOSAL
Munro U MarrierCanadaBernardo Dominic RENEWAL
Antonio T RimItalyStephen Shaw RENEWAL
Emily J RimArgentinaElwin Sharvill RENEWAL
Jones I BologniaRussiaAnna Fali PROPOSAL
Murillo B KolmetzArgentinaAmy Elsner NEGOTIATION
Nicolas X DilliardArgentinaIoni Bowcher NEW
Isabel R NestleUnited KingdomOnyama Limba PROPOSAL
Jefferson G SchemmerFranceIvan Magalhaes NEW
David R RulapaughItalyIoni Bowcher QUALIFIED
Ricardo A IturbideArgentinaXuxue Feng NEW
Salvatore L SaylorsGermanyXuxue Feng UNQUALIFIED
Arvin J TollnerAustraliaIoni Bowcher UNQUALIFIED
Adams T PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Adams N FerenczSpainIoni Bowcher QUALIFIED
Claire P CaudyIndiaIvan Magalhaes PROPOSAL
Adams Z RoysterArgentinaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Johnson X GillianJapanElwin Sharvill NEGOTIATION
Nicolas D StensethSpainAsiya Javayant RENEWAL
Nicolas Y FlosiItalyStephen Shaw UNQUALIFIED
Juan K WhobreyAustraliaAsiya Javayant NEW
Mujtaba O OldroydAustraliaAsiya Javayant RENEWAL
Francesco U BowleyRussiaElwin Sharvill UNQUALIFIED
Mayumi H DoeFranceIoni Bowcher PROPOSAL
Jones R SlusarskiCanadaAmy Elsner RENEWAL
Maria Y CaudyRussiaXuxue Feng QUALIFIED
Maisha J NickaAustraliaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams E PerinItaly2024-06-14King, Christopher A Esq NEGOTIATION26Ioni Bowcher
1001Darci Z DarakjyBrazil2024-06-11Chemel, James L Cpa RENEWAL66Onyama Limba
1002Munro H CaldareraGermany2024-06-06Feltz Printing Service NEW58Ivan Magalhaes
1003Francesco A SaylorsAustralia2024-06-05Chemel, James L Cpa QUALIFIED3Anna Fali
1004Murillo W SergiJapan2024-06-16Truhlar And Truhlar Attys RENEWAL53Stephen Shaw
1005James W SergiItaly2024-06-08King, Christopher A Esq NEGOTIATION61Elwin Sharvill
1006Rodrigues Y SlusarskiJapan2024-05-31Commercial Press PROPOSAL33Anna Fali
1007Maria Q KolmetzItaly2024-06-02Feiner Bros QUALIFIED52Xuxue Feng
1008Tony Z DilliardSpain2024-06-23Chemel, James L Cpa RENEWAL49Onyama Limba
1009Jefferson T RoysterCanada2024-06-16King, Christopher A Esq NEW99Asiya Javayant
1010Francesco R AlbaresItaly2024-06-10Morlong Associates UNQUALIFIED58Ioni Bowcher
1011Johnson M MacleadArgentina2024-06-11Feiner Bros QUALIFIED95Xuxue Feng
1012Darci X DoeJapan2024-06-12Feltz Printing Service QUALIFIED0Xuxue Feng
1013Aditya H MaletGermany2024-06-24Chemel, James L Cpa QUALIFIED9Asiya Javayant
1014Isabel Y RimCanada2024-06-15Rangoni Of Florence QUALIFIED13Bernardo Dominic
1015Wickens T MacleadJapan2024-06-12King, Christopher A Esq QUALIFIED99Bernardo Dominic
1016Julie K CampainJapan2024-06-12King, Christopher A Esq PROPOSAL63Asiya Javayant
1017David Z WieserAustralia2024-05-31Rangoni Of Florence PROPOSAL6Elwin Sharvill
1018Wickens K RulapaughGermany2024-06-10King, Christopher A Esq PROPOSAL86Ivan Magalhaes
1019Nicolas U WieserAustralia2024-06-15Rangoni Of Florence NEGOTIATION39Asiya Javayant
1020Rodrigues K VenereGermany2024-06-23Rousseaux, Michael Esq NEGOTIATION23Anna Fali
1021Jeanfrancois F TollnerSpain2024-05-31Feiner Bros NEW95Asiya Javayant
1022Kaitlin I VenereIndia2024-06-19Chemel, James L Cpa NEGOTIATION30Xuxue Feng
1023Rodrigues C SchemmerCanada2024-06-23Feltz Printing Service RENEWAL69Amy Elsner
1024Rodrigues W DoeAustralia2024-06-01Feiner Bros NEW59Elwin Sharvill
1025Kadeem U RulapaughItaly2024-06-10Chanay, Jeffrey A Esq RENEWAL36Xuxue Feng
1026Nicolas P ButtGermany2024-06-12Chemel, James L Cpa QUALIFIED84Bernardo Dominic
1027Nicolas G RimAustralia2024-06-02Chanay, Jeffrey A Esq QUALIFIED56Xuxue Feng
1028David U BriddickFrance2024-06-12Rangoni Of Florence NEGOTIATION37Ioni Bowcher
1029Jennifer O WieserIndia2024-06-20Feltz Printing Service NEW87Ivan Magalhaes
1030Morrow I MaletSpain2024-06-01Printing Dimensions QUALIFIED30Elwin Sharvill
1031Jennifer A WieserItaly2024-06-18King, Christopher A Esq UNQUALIFIED27Xuxue Feng
1032Antonio P PerinCanada2024-05-29Rangoni Of Florence NEW74Elwin Sharvill
1033Chavez S WhobreyUnited Kingdom2024-06-05Chapman, Ross E Esq PROPOSAL78Amy Elsner
1034Leon S TollnerFrance2024-05-27Feiner Bros PROPOSAL37Elwin Sharvill
1035Maisha F MarrierUnited Kingdom2024-05-31Dorl, James J Esq QUALIFIED51Amy Elsner
1036Isabel E VocelkaAustralia2024-06-10Chapman, Ross E Esq PROPOSAL15Stephen Shaw
1037Izzy U AlbaresAustralia2024-06-11Chapman, Ross E Esq PROPOSAL19Onyama Limba
1038Leon P CaldareraBrazil2024-06-06Morlong Associates PROPOSAL48Stephen Shaw
1039Clifford Z RulapaughSpain2024-06-09Chapman, Ross E Esq UNQUALIFIED5Anna Fali
1040Wickens F FlosiSpain2024-06-16Chapman, Ross E Esq QUALIFIED65Amy Elsner
1041Silvio A ButtBrazil2024-06-14Rangoni Of Florence UNQUALIFIED81Anna Fali
1042Murillo I StensethRussia2024-06-19Truhlar And Truhlar Attys PROPOSAL81Stephen Shaw
1043Morrow R MorascaUnited Kingdom2024-06-09King, Christopher A Esq PROPOSAL82Ivan Magalhaes
1044Francesco X FerenczFrance2024-06-14Truhlar And Truhlar Attys PROPOSAL18Anna Fali
1045Francesco A MaletUnited Kingdom2024-06-20Dorl, James J Esq PROPOSAL66Anna Fali
1046Jones S CaldareraItaly2024-06-21Morlong Associates PROPOSAL2Onyama Limba
1047Johnson N AmigonItaly2024-06-04Rangoni Of Florence UNQUALIFIED57Ivan Magalhaes
1048Morrow T OldroydAustralia2024-06-04Buckley Miller Wright NEGOTIATION89Elwin Sharvill
1049Claire X AmigonRussia2024-06-05Benton, John B Jr UNQUALIFIED99Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Octavia N NestleGermanyAmy Elsner QUALIFIED
Mayumi X NickaIndiaBernardo Dominic NEGOTIATION
Deepesh Z RimGermanyBernardo Dominic UNQUALIFIED
Arvin M WieserRussiaAsiya Javayant NEW
Munro S RulapaughArgentinaXuxue Feng NEW
Silvio T BriddickGermanyIoni Bowcher QUALIFIED
Julie Y StockhamSpainXuxue Feng RENEWAL
Johnson I KuskoItalyIvan Magalhaes QUALIFIED
James E TollnerRussiaElwin Sharvill QUALIFIED
Greenwood I RimRussiaAmy Elsner NEGOTIATION
Jones J FlosiGermanyIoni Bowcher PROPOSAL
Aruna M MorascaJapanXuxue Feng QUALIFIED
Jennifer I NestleArgentinaAsiya Javayant RENEWAL
Jones N PaprockiIndiaStephen Shaw QUALIFIED
Julie S OstroskyRussiaAmy Elsner PROPOSAL
Silvio I GillianSpainOnyama Limba UNQUALIFIED
Faith D BologniaCanadaElwin Sharvill NEGOTIATION
Rodrigues Q MacleadFranceIvan Magalhaes QUALIFIED
Clifford A PaprockiIndiaElwin Sharvill QUALIFIED
Jones J PaprockiJapanStephen Shaw RENEWAL
Isabel G CaldareraJapanXuxue Feng NEW
Johnson H GlickArgentinaIvan Magalhaes NEW
Juan N FlosiFranceXuxue Feng NEGOTIATION
Sinclair J DilliardAustraliaIoni Bowcher UNQUALIFIED
Juan Q MacleadRussiaIoni Bowcher PROPOSAL
Aika R PaprockiFranceXuxue Feng NEGOTIATION
Francesco X MarrierArgentinaIvan Magalhaes PROPOSAL
Jennifer M CampainItalyIvan Magalhaes PROPOSAL
Maria K KuskoAustraliaStephen Shaw QUALIFIED
David E KuskoAustraliaAsiya Javayant QUALIFIED
Kaitlin K RimRussiaOnyama Limba NEW
Nicolas P MacleadAustraliaIoni Bowcher UNQUALIFIED
Kaitlin J OstroskyAustraliaIvan Magalhaes PROPOSAL
Ashley Q OstroskyItalyOnyama Limba PROPOSAL
Costa O ChuiIndiaAsiya Javayant QUALIFIED
Jones G PaprockiGermanyElwin Sharvill PROPOSAL
Maria F ButtSpainBernardo Dominic PROPOSAL
Isabel I VocelkaGermanyIvan Magalhaes NEW
Jennifer T NestleSpainAnna Fali QUALIFIED
Leon W CaudyUnited KingdomAsiya Javayant PROPOSAL
Ivar Q SergiGermanyElwin Sharvill UNQUALIFIED
Juan T NickaGermanyBernardo Dominic UNQUALIFIED
Juan T CaudyAustraliaOnyama Limba QUALIFIED
Tony E ButtRussiaAsiya Javayant QUALIFIED
Aruna R GauchoAustraliaIoni Bowcher RENEWAL
Faith K IturbideArgentinaOnyama Limba NEGOTIATION
Faith D MorascaItalyAnna Fali PROPOSAL
Mujtaba Y DarakjyArgentinaAnna Fali PROPOSAL
Munro F FerenczGermanyBernardo Dominic NEW
Misaki Y SchemmerFranceAnna Fali RENEWAL
Frozen Columns
Name
Mayumi D Foller
Misaki K Chui
Sinclair M Kusko
Stacey W Schemmer
Sinclair H Bolognia
Faith O Butt
Emily L Amigon
Costa V Ruta
Julie T Stockham
Jennifer H Caldarera
Ivar B Kolmetz
Maria P Iturbide
Kadeem F Saylors
Octavia Q Rim
Sinclair S Slusarski
David G Figeroa
Kadeem P Rim
Mujtaba K Albares
Julie E Glick
Cody C Campain
Greenwood J Chui
Clifford Z Poquette
Kaitlin A Gaucho
Antonio W Kolmetz
Emily O Darakjy
Emily K Figeroa
Emily N Gillian
Wickens Q Rulapaugh
Kadeem K Foller
Maisha E Vocelka
Ricardo A Campain
Aruna Z Caldarera
Silvio U Kusko
Mujtaba R Bolognia
Kadeem B Oldroyd
Wickens X Figeroa
Chavez T Ostrosky
Maria K Saylors
Morrow F Stockham
Johnson M Dilliard
Antonio W Nicka
Faith W Rulapaugh
Octavia T Malet
Greenwood T Gillian
Maria I Figeroa
Wickens A Albares
Chavez Y Nestle
Maria R Briddick
Nicolas V Gillian
Clifford A Caudy
IdCountryDate
1000Japan2024-05-29
1001Germany2024-06-22
1002India2024-06-21
1003Canada2024-05-31
1004Italy2024-06-17
1005India2024-06-19
1006Germany2024-05-27
1007Japan2024-06-05
1008United Kingdom2024-06-10
1009United Kingdom2024-06-01
1010Japan2024-06-18
1011Canada2024-06-07
1012India2024-06-15
1013Japan2024-06-19
1014Germany2024-06-01
1015Italy2024-06-07
1016France2024-06-22
1017France2024-05-29
1018Australia2024-06-18
1019Italy2024-05-31
1020United Kingdom2024-06-20
1021Argentina2024-06-03
1022Japan2024-05-31
1023Australia2024-06-22
1024Australia2024-06-24
1025India2024-06-03
1026France2024-06-15
1027Argentina2024-06-21
1028United Kingdom2024-06-13
1029Japan2024-06-01
1030Japan2024-06-17
1031Russia2024-05-28
1032Brazil2024-06-01
1033Brazil2024-06-11
1034United Kingdom2024-06-15
1035Japan2024-05-29
1036Argentina2024-06-12
1037Russia2024-06-13
1038Brazil2024-06-24
1039United Kingdom2024-06-19
1040Canada2024-05-31
1041Germany2024-05-31
1042France2024-05-31
1043France2024-06-04
1044France2024-06-07
1045India2024-06-19
1046Japan2024-06-13
1047India2024-06-04
1048India2024-06-22
1049Germany2024-06-21

On-Demand Data

NameIdCountryDate
Jefferson M Bowley1000Russia2024-06-24
Ivar E Morasca1001Russia2024-06-03
Isabel E Shinko1002Brazil2024-06-13
Tony X Gaucho1003United Kingdom2024-06-04
Deepesh E Royster1004Argentina2024-06-24
Morrow O Schemmer1005Australia2024-06-14
Leja J Schemmer1006Australia2024-06-24
Sinclair D Stockham1007Spain2024-06-09
Deepesh D Rim1008Canada2024-06-01
Isabel U Amigon1009Argentina2024-06-13
Izzy E Butt1010Spain2024-06-17
Leon I Iturbide1011Japan2024-06-17
Francesco L Caudy1012Germany2024-06-06
Jeanfrancois T Flosi1013Japan2024-05-31
Clifford K Bowley1014Spain2024-06-07
Kadeem F Waycott1015Russia2024-06-14
Maria A Stockham1016Australia2024-06-01
Octavia N Garufi1017Australia2024-05-31
Ivar W Doe1018France2024-06-19
Clifford V Butt1019India2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow F ButtCanadaBernardo Dominic RENEWAL
Maria Y CaudySpainBernardo Dominic NEW
Leja B InouyeUnited KingdomIvan Magalhaes QUALIFIED
Salvatore D RimItalyIvan Magalhaes NEGOTIATION
Antonio J StockhamSpainElwin Sharvill QUALIFIED
James F MaletAustraliaXuxue Feng NEGOTIATION
Jennifer H MarrierAustraliaAmy Elsner QUALIFIED
James G MacleadCanadaBernardo Dominic UNQUALIFIED
Mayumi B WaycottJapanIoni Bowcher NEGOTIATION
Silvio P RoysterSpainElwin Sharvill PROPOSAL
Aika U DarakjyGermanyAmy Elsner NEGOTIATION
Jennifer D MarrierBrazilIvan Magalhaes QUALIFIED
Wickens I GillianFranceAnna Fali RENEWAL
Ivar B StockhamBrazilAsiya Javayant QUALIFIED
Nicolas E PoquetteCanadaAsiya Javayant QUALIFIED
Nicolas Q RimSpainStephen Shaw NEGOTIATION
Morrow L FollerBrazilAnna Fali NEW
Darci V WieserIndiaAmy Elsner NEGOTIATION
Aika C PerinBrazilXuxue Feng PROPOSAL
Morrow G ButtFranceIvan Magalhaes NEW
Kadeem Z RutaUnited KingdomOnyama Limba PROPOSAL
Izzy I WhobreyUnited KingdomAmy Elsner NEGOTIATION
Arvin P AlbaresJapanAnna Fali RENEWAL
Ashley P NickaItalyAmy Elsner QUALIFIED
Darci D GauchoArgentinaIoni Bowcher QUALIFIED
Ashley R VenereBrazilElwin Sharvill NEW
Leon F GillianFranceXuxue Feng RENEWAL
Aruna Z SergiJapanStephen Shaw PROPOSAL
Sinclair O MaletItalyAsiya Javayant NEGOTIATION
Izzy G MacleadItalyIoni Bowcher RENEWAL
Nicolas R BologniaBrazilStephen Shaw NEW
Jennifer X ButtIndiaOnyama Limba QUALIFIED
Smith P AmigonFranceOnyama Limba RENEWAL
Jennifer V SchemmerBrazilXuxue Feng NEGOTIATION
Juan U DoeArgentinaXuxue Feng NEGOTIATION
Mujtaba N DarakjyFranceStephen Shaw NEGOTIATION
Jeanfrancois T DilliardGermanyBernardo Dominic NEW
Tony A ButtIndiaElwin Sharvill RENEWAL
Morrow J NestleIndiaAsiya Javayant UNQUALIFIED
Emily I WaycottGermanyIoni Bowcher NEW

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