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
David C StockhamSpainElwin Sharvill RENEWAL
Wickens P FerenczUnited KingdomOnyama Limba PROPOSAL
Deepesh L BowleyAustraliaAnna Fali QUALIFIED
Adams H PerinUnited KingdomBernardo Dominic NEW
Murillo A AlbaresJapanXuxue Feng QUALIFIED
Mayumi B IturbideSpainXuxue Feng NEW
Mujtaba R TollnerJapanAnna Fali NEGOTIATION
Smith G MorascaBrazilStephen Shaw NEGOTIATION
Stacey O RulapaughItalyAnna Fali PROPOSAL
Julie J MaletArgentinaIoni Bowcher UNQUALIFIED
Isabel J ButtArgentinaAsiya Javayant PROPOSAL
Morrow L TollnerBrazilAnna Fali NEW
Morrow Z OstroskyRussiaAnna Fali RENEWAL
Jefferson J GauchoItalyStephen Shaw NEGOTIATION
Johnson Y GauchoSpainStephen Shaw UNQUALIFIED
Salvatore F WieserBrazilIvan Magalhaes QUALIFIED
Faith L GarufiCanadaBernardo Dominic RENEWAL
Silvio B StockhamJapanIoni Bowcher NEW
Mujtaba J ButtCanadaStephen Shaw NEW
Mayumi C GlickArgentinaIoni Bowcher QUALIFIED
Silvio I ChuiBrazilElwin Sharvill NEGOTIATION
Clifford D KolmetzSpainAmy Elsner UNQUALIFIED
Mayumi T VocelkaJapanBernardo Dominic NEW
Ivar U KuskoIndiaBernardo Dominic PROPOSAL
Jones D WaycottAustraliaBernardo Dominic RENEWAL
Sinclair I SlusarskiBrazilIoni Bowcher NEGOTIATION
Mujtaba E PoquetteFranceOnyama Limba UNQUALIFIED
Izzy Z GauchoCanadaAnna Fali QUALIFIED
Alejandro W InouyeRussiaAsiya Javayant PROPOSAL
James R SergiBrazilAsiya Javayant NEW
Alejandro N VenereIndiaIoni Bowcher UNQUALIFIED
Emily U MaletGermanyAsiya Javayant RENEWAL
Ashley M AlbaresGermanyXuxue Feng RENEWAL
Johnson K RulapaughCanadaBernardo Dominic QUALIFIED
Jefferson J KolmetzCanadaIoni Bowcher NEGOTIATION
James O FerenczAustraliaAnna Fali QUALIFIED
Adams R WhobreyArgentinaBernardo Dominic NEW
James S RutaCanadaIvan Magalhaes PROPOSAL
Aruna F GlickArgentinaAnna Fali PROPOSAL
James H CaudyIndiaIoni Bowcher UNQUALIFIED
Wickens Z TollnerRussiaXuxue Feng NEW
Stacey X BowleyRussiaIoni Bowcher NEW
Costa H FigeroaIndiaAnna Fali UNQUALIFIED
Emily T ButtArgentinaAnna Fali QUALIFIED
Jones I ChuiSpainXuxue Feng RENEWAL
Leon Q AmigonGermanyAmy Elsner UNQUALIFIED
Aruna Q DilliardFranceIvan Magalhaes RENEWAL
Izzy W CaldareraCanadaIvan Magalhaes UNQUALIFIED
Silvio G CaudySpainAsiya Javayant QUALIFIED
Murillo U VocelkaJapanOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro Z DilliardJapanStephen Shaw UNQUALIFIED
Mujtaba W CaudyCanadaElwin Sharvill NEW
Munro P ButtUnited KingdomIvan Magalhaes PROPOSAL
Maria O RutaAustraliaAnna Fali UNQUALIFIED
Tony W OldroydGermanyIoni Bowcher UNQUALIFIED
Leon V SchemmerArgentinaAnna Fali PROPOSAL
Salvatore V MarrierJapanStephen Shaw QUALIFIED
Tony P KolmetzBrazilElwin Sharvill NEW
Ricardo Q ChuiBrazilOnyama Limba UNQUALIFIED
Murillo R BologniaBrazilOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco F SchemmerAustralia2026-08-17Rousseaux, Michael Esq PROPOSAL72Xuxue Feng
1001Misaki A RutaArgentina2026-08-18Benton, John B Jr PROPOSAL25Anna Fali
1002Chavez J StensethIndia2026-08-20Printing Dimensions UNQUALIFIED45Bernardo Dominic
1003Ivar G InouyeBrazil2026-07-28Commercial Press NEW32Xuxue Feng
1004Claire I SergiJapan2026-08-19Rousseaux, Michael Esq QUALIFIED0Xuxue Feng
1005Izzy K SergiIndia2026-08-13King, Christopher A Esq NEGOTIATION23Ivan Magalhaes
1006Francesco C PerinGermany2026-08-07Chanay, Jeffrey A Esq NEGOTIATION13Stephen Shaw
1007Stacey F WieserSpain2026-08-03Benton, John B Jr RENEWAL44Amy Elsner
1008Aruna T WhobreyCanada2026-08-05Chapman, Ross E Esq NEW73Asiya Javayant
1009James E VocelkaCanada2026-08-15Truhlar And Truhlar Attys RENEWAL54Elwin Sharvill
1010Murillo E TollnerJapan2026-07-24Dorl, James J Esq UNQUALIFIED69Ivan Magalhaes
1011Jones R PaprockiArgentina2026-08-08Buckley Miller Wright NEW79Onyama Limba
1012Aruna H StensethAustralia2026-08-18Commercial Press PROPOSAL29Onyama Limba
1013Mujtaba A PerinAustralia2026-07-23Dorl, James J Esq RENEWAL9Asiya Javayant
1014Greenwood U WaycottSpain2026-08-01Chapman, Ross E Esq PROPOSAL4Elwin Sharvill
1015Alejandro U StockhamUnited Kingdom2026-08-13Dorl, James J Esq RENEWAL20Anna Fali
1016David E GillianIndia2026-07-29Chemel, James L Cpa UNQUALIFIED90Xuxue Feng
1017Leon M DarakjyBrazil2026-08-08Chapman, Ross E Esq NEW54Amy Elsner
1018Arvin T OstroskyRussia2026-07-24Rousseaux, Michael Esq PROPOSAL58Amy Elsner
1019Julie C TollnerGermany2026-07-26Commercial Press PROPOSAL93Elwin Sharvill
1020Morrow E GillianItaly2026-08-10Rangoni Of Florence PROPOSAL16Ioni Bowcher
1021Octavia X ChuiFrance2026-07-24Commercial Press RENEWAL96Elwin Sharvill
1022Adams Z MorascaIndia2026-08-12Printing Dimensions UNQUALIFIED44Anna Fali
1023Stacey U RulapaughIndia2026-08-11Chanay, Jeffrey A Esq QUALIFIED53Bernardo Dominic
1024Isabel B StockhamJapan2026-08-16Commercial Press RENEWAL26Xuxue Feng
1025Alejandro D ShinkoGermany2026-07-23Feltz Printing Service UNQUALIFIED88Stephen Shaw
1026Tony F FerenczBrazil2026-07-26Feltz Printing Service PROPOSAL86Ioni Bowcher
1027Maisha A NickaFrance2026-07-24Morlong Associates UNQUALIFIED97Ivan Magalhaes
1028Octavia N GarufiAustralia2026-07-26Chapman, Ross E Esq PROPOSAL60Xuxue Feng
1029Leon T DarakjyArgentina2026-08-10Chapman, Ross E Esq NEGOTIATION74Amy Elsner
1030Misaki Z OldroydBrazil2026-08-15King, Christopher A Esq RENEWAL67Anna Fali
1031Wickens T ShinkoGermany2026-07-23Chanay, Jeffrey A Esq NEW48Ioni Bowcher
1032Aruna S GauchoRussia2026-07-29Truhlar And Truhlar Attys QUALIFIED44Ioni Bowcher
1033Kaitlin T MorascaGermany2026-08-03Truhlar And Truhlar Attys PROPOSAL28Bernardo Dominic
1034Aruna C PaprockiBrazil2026-08-08Feiner Bros UNQUALIFIED63Asiya Javayant
1035Greenwood I VenereAustralia2026-08-01Feltz Printing Service UNQUALIFIED6Ivan Magalhaes
1036Juan V CaldareraBrazil2026-08-05Truhlar And Truhlar Attys NEGOTIATION90Stephen Shaw
1037Clifford H AmigonItaly2026-07-27Printing Dimensions PROPOSAL46Xuxue Feng
1038Jennifer E InouyeRussia2026-08-18Printing Dimensions NEW92Xuxue Feng
1039Ivar F AmigonUnited Kingdom2026-08-01Truhlar And Truhlar Attys RENEWAL86Elwin Sharvill
1040Jennifer T CaudyBrazil2026-08-04King, Christopher A Esq UNQUALIFIED3Stephen Shaw
1041Arvin C OstroskyRussia2026-08-05Feltz Printing Service QUALIFIED87Xuxue Feng
1042Sinclair T BologniaBrazil2026-08-06Truhlar And Truhlar Attys NEW52Amy Elsner
1043Aika Y DoeRussia2026-07-24Buckley Miller Wright NEGOTIATION57Onyama Limba
1044Tony A DarakjyFrance2026-08-15Dorl, James J Esq QUALIFIED53Amy Elsner
1045Ricardo M BowleyRussia2026-08-15Feltz Printing Service QUALIFIED19Bernardo Dominic
1046Ivar O NestleSpain2026-07-31Chemel, James L Cpa PROPOSAL88Onyama Limba
1047James O DilliardIndia2026-08-15Morlong Associates NEW25Ivan Magalhaes
1048Maisha J OldroydArgentina2026-07-26Rangoni Of Florence PROPOSAL26Amy Elsner
1049Octavia B RutaJapan2026-07-23Printing Dimensions RENEWAL83Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow S RimIndiaBernardo Dominic PROPOSAL
Costa M IturbideAustraliaAmy Elsner NEW
Nicolas P PaprockiRussiaOnyama Limba RENEWAL
Sinclair H StensethJapanAnna Fali UNQUALIFIED
Aika W FerenczGermanyAmy Elsner UNQUALIFIED
Costa A InouyeIndiaBernardo Dominic UNQUALIFIED
Clifford K ChuiJapanStephen Shaw RENEWAL
Aruna L ChuiCanadaAmy Elsner NEW
Arvin J KolmetzFranceAsiya Javayant NEGOTIATION
Emily K SaylorsArgentinaIvan Magalhaes RENEWAL
Alejandro O OldroydGermanyXuxue Feng NEW
Adams M DilliardItalyAsiya Javayant RENEWAL
Aruna W BowleyJapanBernardo Dominic NEGOTIATION
David Y GlickUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba F FollerAustraliaAnna Fali PROPOSAL
Jeanfrancois A RulapaughItalyIvan Magalhaes PROPOSAL
Jefferson M OldroydItalyOnyama Limba QUALIFIED
Faith A SlusarskiSpainIoni Bowcher UNQUALIFIED
Antonio B SaylorsUnited KingdomElwin Sharvill NEW
Octavia J DilliardUnited KingdomAnna Fali PROPOSAL
Kaitlin W ChuiItalyBernardo Dominic QUALIFIED
Rodrigues I ChuiArgentinaIvan Magalhaes NEW
Maisha U InouyeUnited KingdomAnna Fali RENEWAL
Claire D FerenczGermanyBernardo Dominic RENEWAL
Aditya R MacleadArgentinaStephen Shaw NEW
Arvin U CaldareraGermanyAmy Elsner NEGOTIATION
Jennifer L DilliardRussiaBernardo Dominic QUALIFIED
Juan Y BowleyItalyStephen Shaw RENEWAL
Juan E FollerRussiaAsiya Javayant QUALIFIED
Leja O ChuiIndiaXuxue Feng QUALIFIED
Claire X AlbaresUnited KingdomElwin Sharvill NEW
Morrow Z KuskoGermanyAnna Fali RENEWAL
Salvatore H DoeSpainIoni Bowcher NEW
Deepesh P PaprockiCanadaAsiya Javayant QUALIFIED
Smith X SchemmerSpainIoni Bowcher QUALIFIED
Ricardo Y KuskoIndiaIoni Bowcher NEGOTIATION
David B VenereSpainOnyama Limba RENEWAL
Darci O FerenczGermanyAmy Elsner UNQUALIFIED
Aditya T BriddickJapanAmy Elsner UNQUALIFIED
Mayumi M BowleyCanadaXuxue Feng NEGOTIATION
Leja N SaylorsArgentinaAnna Fali NEGOTIATION
Mayumi K TollnerBrazilStephen Shaw PROPOSAL
Julie G BologniaArgentinaIoni Bowcher PROPOSAL
Jeanfrancois C RoysterFranceBernardo Dominic QUALIFIED
Sinclair E PoquetteArgentinaXuxue Feng NEW
Smith W PaprockiSpainAmy Elsner PROPOSAL
David G CampainSpainElwin Sharvill PROPOSAL
Darci A MaletGermanyElwin Sharvill NEW
Leja G GauchoRussiaXuxue Feng UNQUALIFIED
Munro X SaylorsCanadaAmy Elsner QUALIFIED
Frozen Columns
Name
Juan V Maclead
Jefferson H Whobrey
Izzy I Vocelka
Murillo R Royster
Aruna B Ruta
Deepesh A Glick
Morrow L Bolognia
Francesco B Malet
Sinclair W Glick
Maisha S Bowley
Octavia N Venere
Antonio I Bolognia
Aditya B Chui
Silvio X Slusarski
Jennifer R Kusko
Greenwood S Rim
Juan S Saylors
Claire P Malet
Arvin S Campain
Murillo P Kusko
Leja U Marrier
Smith D Morasca
Aruna U Nicka
Aika H Venere
Juan F Figeroa
Jennifer I Albares
Munro S Marrier
Mujtaba I Glick
Leja W Poquette
Munro M Marrier
Nicolas R Stenseth
Tony A Schemmer
Adams W Maclead
Deepesh C Ferencz
Morrow M Sergi
Deepesh Y Amigon
Kadeem X Tollner
Nicolas R Rim
Cody H Marrier
Morrow Y Darakjy
Wickens C Marrier
Sinclair Q Chui
Emily Y Ostrosky
Izzy U Gillian
David W Campain
Sinclair K Garufi
Cody H Iturbide
Jeanfrancois R Waycott
Mujtaba J Oldroyd
Rodrigues U Albares
IdCountryDate
1000United Kingdom2026-08-02
1001India2026-07-27
1002United Kingdom2026-08-13
1003Canada2026-08-17
1004Australia2026-07-27
1005Germany2026-08-19
1006India2026-08-13
1007Australia2026-08-04
1008France2026-08-02
1009United Kingdom2026-08-04
1010Japan2026-07-29
1011India2026-08-05
1012Australia2026-08-11
1013Russia2026-08-17
1014Argentina2026-08-06
1015Italy2026-08-04
1016Australia2026-07-23
1017France2026-08-01
1018Brazil2026-08-09
1019Australia2026-07-29
1020Brazil2026-08-11
1021Brazil2026-08-15
1022Canada2026-08-01
1023Italy2026-08-04
1024Canada2026-07-26
1025Germany2026-08-19
1026Russia2026-08-19
1027Argentina2026-08-21
1028France2026-07-29
1029Australia2026-08-21
1030Russia2026-08-08
1031India2026-08-04
1032Canada2026-07-28
1033Brazil2026-08-16
1034France2026-08-18
1035Italy2026-08-16
1036Japan2026-08-03
1037Russia2026-08-04
1038Canada2026-08-08
1039Italy2026-08-07
1040Canada2026-07-31
1041Russia2026-07-30
1042Brazil2026-08-01
1043Spain2026-08-12
1044Japan2026-08-06
1045Canada2026-07-31
1046Italy2026-08-04
1047Spain2026-08-07
1048Russia2026-07-23
1049United Kingdom2026-07-23

On-Demand Data

NameIdCountryDate
Arvin W Vocelka1000Canada2026-07-25
Izzy S Tollner1001Italy2026-08-08
Faith G Poquette1002Canada2026-08-13
Salvatore G Perin1003Japan2026-08-02
Chavez B Malet1004India2026-08-21
Rodrigues C Doe1005United Kingdom2026-08-20
Munro S Nestle1006Japan2026-08-17
Murillo V Waycott1007Germany2026-08-09
Ashley H Briddick1008France2026-08-10
Sinclair D Darakjy1009Canada2026-08-01
Emily M Kusko1010France2026-08-07
Mayumi Y Chui1011Italy2026-08-15
Jeanfrancois N Poquette1012Canada2026-08-16
Mayumi O Flosi1013Canada2026-07-26
David G Ruta1014India2026-08-04
Aika C Nestle1015Japan2026-08-20
Adams R Marrier1016Argentina2026-08-21
Ashley I Tollner1017Japan2026-08-13
Salvatore Z Whobrey1018Canada2026-08-08
Chavez R Nestle1019Brazil2026-08-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens F GlickAustraliaOnyama Limba QUALIFIED
Emily Q BriddickCanadaIvan Magalhaes RENEWAL
Murillo J SlusarskiItalyIoni Bowcher QUALIFIED
Clifford C MarrierAustraliaAsiya Javayant NEGOTIATION
Costa P VocelkaAustraliaAmy Elsner UNQUALIFIED
Izzy K SaylorsArgentinaXuxue Feng QUALIFIED
Leon B PerinItalyXuxue Feng QUALIFIED
Jennifer Y WieserSpainStephen Shaw UNQUALIFIED
Izzy P DoeArgentinaIvan Magalhaes PROPOSAL
Deepesh D WieserUnited KingdomAmy Elsner RENEWAL
Greenwood J FlosiIndiaIoni Bowcher PROPOSAL
Francesco C RulapaughCanadaOnyama Limba NEW
Greenwood P NickaBrazilIoni Bowcher RENEWAL
Isabel P DoeRussiaBernardo Dominic PROPOSAL
Jones B DarakjyUnited KingdomAmy Elsner NEW
Jeanfrancois Z KuskoJapanIoni Bowcher NEW
Julie M IturbideCanadaIoni Bowcher PROPOSAL
Clifford O KuskoRussiaBernardo Dominic PROPOSAL
Adams Z BriddickIndiaStephen Shaw RENEWAL
Claire M BologniaRussiaStephen Shaw UNQUALIFIED
Clifford P MaletIndiaBernardo Dominic NEGOTIATION
Ashley C KuskoBrazilIoni Bowcher NEGOTIATION
Leja A SchemmerCanadaAsiya Javayant PROPOSAL
Cody W PerinArgentinaElwin Sharvill UNQUALIFIED
Octavia T ChuiFranceElwin Sharvill NEGOTIATION
Johnson B CampainIndiaBernardo Dominic NEW
Aika C SaylorsRussiaBernardo Dominic UNQUALIFIED
Smith S OldroydRussiaAmy Elsner NEW
Jones V CaldareraItalyXuxue Feng QUALIFIED
Leon S CaldareraItalyIvan Magalhaes QUALIFIED
Ricardo Z WhobreyRussiaBernardo Dominic NEGOTIATION
Rodrigues N CampainIndiaAmy Elsner NEGOTIATION
Misaki S CaudyIndiaAsiya Javayant NEW
Kaitlin D FollerFranceAmy Elsner NEW
Leon L BriddickGermanyAsiya Javayant QUALIFIED
Julie S PaprockiGermanyXuxue Feng UNQUALIFIED
Munro H VenereFranceIvan Magalhaes PROPOSAL
Maria P GillianGermanyBernardo Dominic QUALIFIED
Rodrigues I VenereGermanyAsiya Javayant PROPOSAL
Maria T IturbideCanadaElwin Sharvill 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>