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
Arvin D FlosiUnited KingdomXuxue Feng QUALIFIED
Jennifer C BriddickIndiaIoni Bowcher NEGOTIATION
Antonio W WieserItalyIoni Bowcher QUALIFIED
Jeanfrancois K RulapaughFranceXuxue Feng QUALIFIED
Francesco M ChuiCanadaXuxue Feng RENEWAL
Rodrigues P FerenczFranceAmy Elsner NEGOTIATION
Antonio B GarufiGermanyAsiya Javayant PROPOSAL
Deepesh J StensethItalyOnyama Limba NEGOTIATION
Claire P GarufiFranceAsiya Javayant PROPOSAL
Smith M SchemmerRussiaAnna Fali NEGOTIATION
Tony O BologniaArgentinaAmy Elsner QUALIFIED
Silvio G InouyeSpainAmy Elsner QUALIFIED
Misaki O CaldareraAustraliaIoni Bowcher RENEWAL
Jennifer X FerenczItalyBernardo Dominic PROPOSAL
Leon G FerenczIndiaIoni Bowcher NEW
David P AmigonJapanElwin Sharvill PROPOSAL
Cody I SchemmerRussiaAmy Elsner NEGOTIATION
Costa C PoquetteSpainOnyama Limba NEGOTIATION
Ashley C RimIndiaStephen Shaw UNQUALIFIED
Clifford A RutaAustraliaAnna Fali RENEWAL
Claire D CampainIndiaXuxue Feng RENEWAL
Maisha U RoysterJapanAnna Fali RENEWAL
Murillo S AmigonJapanOnyama Limba UNQUALIFIED
Julie W DilliardGermanyAnna Fali NEW
Darci G RulapaughSpainAnna Fali UNQUALIFIED
Costa Y MaletBrazilAmy Elsner NEGOTIATION
David P ButtFranceXuxue Feng NEW
James B NestleAustraliaAmy Elsner QUALIFIED
Mujtaba P InouyeSpainAnna Fali NEW
Kaitlin Z GarufiFranceOnyama Limba UNQUALIFIED
Antonio P CaudyRussiaAnna Fali NEGOTIATION
Kadeem F MaletCanadaBernardo Dominic NEGOTIATION
Kadeem P RulapaughSpainAmy Elsner RENEWAL
Morrow T SlusarskiRussiaElwin Sharvill UNQUALIFIED
Darci F InouyeBrazilIvan Magalhaes RENEWAL
Francesco W ButtSpainElwin Sharvill QUALIFIED
Maria P MaletCanadaBernardo Dominic NEGOTIATION
Greenwood W GauchoItalyAnna Fali RENEWAL
Izzy A WhobreySpainXuxue Feng NEGOTIATION
Sinclair L GlickSpainXuxue Feng PROPOSAL
Izzy S StensethGermanyAsiya Javayant RENEWAL
Ricardo I IturbideCanadaIvan Magalhaes NEGOTIATION
Faith O PerinIndiaAsiya Javayant PROPOSAL
David D BriddickIndiaAmy Elsner NEW
Tony L ChuiIndiaIvan Magalhaes RENEWAL
Ricardo M AmigonGermanyXuxue Feng NEGOTIATION
Stacey T MorascaBrazilOnyama Limba UNQUALIFIED
Leon G WaycottArgentinaElwin Sharvill PROPOSAL
Maisha J CampainFranceAnna Fali UNQUALIFIED
Alejandro A GlickFranceOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily P FigeroaRussiaOnyama Limba PROPOSAL
Tony G RulapaughIndiaStephen Shaw QUALIFIED
Octavia O MaletUnited KingdomBernardo Dominic NEGOTIATION
Emily C GlickGermanyXuxue Feng NEW
Isabel T KolmetzGermanyAnna Fali QUALIFIED
Clifford P VocelkaIndiaAnna Fali UNQUALIFIED
Nicolas H NestleRussiaIvan Magalhaes QUALIFIED
Aruna E SchemmerArgentinaIvan Magalhaes RENEWAL
Aditya R MaletArgentinaOnyama Limba NEW
Deepesh H MacleadJapanStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi K DoeFrance2024-09-01King, Christopher A Esq NEGOTIATION74Elwin Sharvill
1001Maisha U VocelkaRussia2024-09-19Buckley Miller Wright UNQUALIFIED96Amy Elsner
1002Maria I DarakjySpain2024-09-05Feltz Printing Service NEW96Stephen Shaw
1003Johnson U MacleadJapan2024-09-18Dorl, James J Esq UNQUALIFIED17Stephen Shaw
1004Murillo U CaldareraBrazil2024-09-06Benton, John B Jr RENEWAL54Bernardo Dominic
1005Isabel A SergiSpain2024-08-29Chapman, Ross E Esq NEW35Asiya Javayant
1006Smith K CampainSpain2024-09-16Buckley Miller Wright RENEWAL58Elwin Sharvill
1007Cody F GillianIndia2024-09-05Feiner Bros NEGOTIATION19Amy Elsner
1008Arvin U MorascaItaly2024-09-13Dorl, James J Esq QUALIFIED45Asiya Javayant
1009Mujtaba V DarakjyJapan2024-09-10Chanay, Jeffrey A Esq NEW29Onyama Limba
1010Jennifer K PerinArgentina2024-09-16Rangoni Of Florence UNQUALIFIED26Amy Elsner
1011Antonio S PerinItaly2024-09-16Dorl, James J Esq UNQUALIFIED66Onyama Limba
1012Jones W FigeroaUnited Kingdom2024-09-17Feiner Bros QUALIFIED28Amy Elsner
1013Maria E BologniaRussia2024-08-27Printing Dimensions NEW96Stephen Shaw
1014Leja F ChuiArgentina2024-08-28Rousseaux, Michael Esq RENEWAL85Bernardo Dominic
1015David T GillianCanada2024-09-22Rousseaux, Michael Esq PROPOSAL76Stephen Shaw
1016Jefferson E RulapaughUnited Kingdom2024-09-15Feltz Printing Service UNQUALIFIED11Anna Fali
1017Nicolas H PaprockiUnited Kingdom2024-09-02Morlong Associates RENEWAL56Bernardo Dominic
1018Munro K GillianGermany2024-09-07Rousseaux, Michael Esq PROPOSAL85Ioni Bowcher
1019Clifford Q BologniaJapan2024-09-11Printing Dimensions NEW0Bernardo Dominic
1020Smith W GarufiBrazil2024-08-27Commercial Press RENEWAL87Amy Elsner
1021Munro A SaylorsUnited Kingdom2024-08-30Buckley Miller Wright PROPOSAL73Xuxue Feng
1022Darci Z DarakjyAustralia2024-09-11Rangoni Of Florence PROPOSAL39Amy Elsner
1023Alejandro K StensethCanada2024-09-05Rangoni Of Florence RENEWAL44Onyama Limba
1024Chavez J WieserArgentina2024-09-19Feltz Printing Service NEGOTIATION78Stephen Shaw
1025Murillo M GillianBrazil2024-09-07Buckley Miller Wright UNQUALIFIED18Ioni Bowcher
1026Tony Q FlosiGermany2024-09-20Truhlar And Truhlar Attys NEW3Anna Fali
1027Kadeem W CaldareraBrazil2024-09-17Feiner Bros NEGOTIATION95Amy Elsner
1028Juan K NestleIndia2024-09-03King, Christopher A Esq QUALIFIED99Stephen Shaw
1029Ricardo B VenereFrance2024-09-03Chanay, Jeffrey A Esq UNQUALIFIED91Bernardo Dominic
1030Mayumi G PoquetteCanada2024-09-09Benton, John B Jr NEGOTIATION99Elwin Sharvill
1031Munro U PerinSpain2024-09-04Chemel, James L Cpa NEGOTIATION69Asiya Javayant
1032Rodrigues H GauchoArgentina2024-09-23Dorl, James J Esq QUALIFIED42Anna Fali
1033Chavez V GauchoCanada2024-08-27Benton, John B Jr NEW80Amy Elsner
1034Julie V BriddickArgentina2024-08-25Truhlar And Truhlar Attys NEGOTIATION66Bernardo Dominic
1035Sinclair H BowleyIndia2024-09-01Printing Dimensions PROPOSAL48Ivan Magalhaes
1036Jeanfrancois B PoquetteAustralia2024-09-20Feltz Printing Service NEGOTIATION47Elwin Sharvill
1037Misaki A FlosiBrazil2024-09-23Chapman, Ross E Esq NEGOTIATION67Amy Elsner
1038Murillo W PoquetteAustralia2024-08-25King, Christopher A Esq RENEWAL80Onyama Limba
1039Misaki U WhobreyFrance2024-09-03Benton, John B Jr RENEWAL63Elwin Sharvill
1040Deepesh T OldroydGermany2024-09-05Printing Dimensions PROPOSAL12Asiya Javayant
1041Costa H WaycottFrance2024-09-07Feiner Bros NEW70Anna Fali
1042Mayumi J VocelkaUnited Kingdom2024-09-13King, Christopher A Esq UNQUALIFIED20Xuxue Feng
1043Aika W DarakjyItaly2024-09-13Chapman, Ross E Esq UNQUALIFIED82Bernardo Dominic
1044Alejandro O AlbaresArgentina2024-09-14Chanay, Jeffrey A Esq UNQUALIFIED67Bernardo Dominic
1045Adams J GillianUnited Kingdom2024-09-23King, Christopher A Esq PROPOSAL88Elwin Sharvill
1046Kadeem A GillianArgentina2024-09-12Truhlar And Truhlar Attys QUALIFIED20Stephen Shaw
1047Maisha T VenereAustralia2024-09-22Benton, John B Jr NEW48Ivan Magalhaes
1048Ricardo F MarrierFrance2024-08-28Feltz Printing Service QUALIFIED68Bernardo Dominic
1049Stacey A FerenczIndia2024-09-23Truhlar And Truhlar Attys NEW71Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aika F WhobreySpainAnna Fali QUALIFIED
Wickens Z MaletSpainXuxue Feng PROPOSAL
Cody I IturbideSpainAsiya Javayant UNQUALIFIED
Stacey Y GlickJapanAmy Elsner UNQUALIFIED
Greenwood O MorascaItalyBernardo Dominic NEW
James E BriddickRussiaStephen Shaw QUALIFIED
Johnson H MaletIndiaAmy Elsner RENEWAL
Johnson Q MaletItalyAsiya Javayant QUALIFIED
Alejandro K MorascaBrazilOnyama Limba PROPOSAL
Kaitlin I NestleItalyAmy Elsner PROPOSAL
Greenwood T MaletUnited KingdomAsiya Javayant NEW
Arvin B FlosiJapanElwin Sharvill UNQUALIFIED
Alejandro L StockhamCanadaAmy Elsner NEW
Francesco C SlusarskiGermanyStephen Shaw PROPOSAL
Maria U ChuiArgentinaOnyama Limba UNQUALIFIED
Costa Z BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson S AmigonIndiaIoni Bowcher QUALIFIED
Jefferson G GlickSpainIvan Magalhaes NEW
Emily U SchemmerRussiaAsiya Javayant RENEWAL
Johnson G DoeIndiaStephen Shaw UNQUALIFIED
Greenwood A ShinkoArgentinaAmy Elsner NEGOTIATION
Tony U VenereGermanyIoni Bowcher PROPOSAL
Mujtaba H NickaJapanBernardo Dominic PROPOSAL
Salvatore I MaletAustraliaAmy Elsner PROPOSAL
Morrow P CaudyFranceIoni Bowcher NEW
Munro K InouyeUnited KingdomAnna Fali PROPOSAL
Aika D WaycottItalyAnna Fali PROPOSAL
Antonio C PaprockiBrazilBernardo Dominic QUALIFIED
Sinclair R VenereRussiaElwin Sharvill QUALIFIED
Costa U ButtGermanyAsiya Javayant QUALIFIED
Ashley S MarrierAustraliaAnna Fali QUALIFIED
Darci L PaprockiAustraliaStephen Shaw NEW
Murillo N RimItalyElwin Sharvill NEGOTIATION
Kaitlin O BriddickRussiaXuxue Feng UNQUALIFIED
Darci N MorascaArgentinaAnna Fali RENEWAL
Nicolas K MaletUnited KingdomBernardo Dominic RENEWAL
Leon E GillianFranceAsiya Javayant RENEWAL
Aruna A DarakjyUnited KingdomIvan Magalhaes NEW
Julie T MaletCanadaAsiya Javayant NEGOTIATION
Arvin R NestleAustraliaAsiya Javayant RENEWAL
Murillo R ButtRussiaAnna Fali UNQUALIFIED
Kadeem Z TollnerFranceOnyama Limba NEW
Adams F FollerItalyBernardo Dominic UNQUALIFIED
Jefferson Y BowleyBrazilStephen Shaw UNQUALIFIED
Leja M InouyeRussiaIoni Bowcher NEGOTIATION
Leon F GauchoBrazilAnna Fali QUALIFIED
Chavez G BowleyIndiaXuxue Feng UNQUALIFIED
Jennifer J DoeSpainAnna Fali NEGOTIATION
Nicolas Y OstroskyIndiaBernardo Dominic NEGOTIATION
Rodrigues R DarakjySpainXuxue Feng QUALIFIED
Frozen Columns
Name
Antonio I Doe
David L Royster
Aruna H Oldroyd
Ricardo Z Campain
Misaki C Tollner
Murillo N Caldarera
Mujtaba Y Amigon
Leja M Malet
Greenwood F Poquette
Murillo D Amigon
Octavia B Oldroyd
Munro X Gaucho
Isabel L Gillian
Leja I Maclead
Nicolas C Vocelka
Maria D Albares
Adams G Campain
Mujtaba A Caldarera
Wickens H Shinko
Maria L Schemmer
Sinclair A Paprocki
Wickens T Albares
Izzy Z Slusarski
Antonio I Briddick
Arvin X Waycott
Johnson J Amigon
Munro U Wieser
Antonio G Schemmer
Jennifer N Briddick
Murillo M Campain
Arvin E Nicka
Misaki L Ferencz
Maria N Stockham
Salvatore R Stockham
Deepesh Q Perin
Salvatore K Flosi
Jefferson Q Slusarski
Stacey X Glick
Antonio J Figeroa
Kaitlin S Kusko
Izzy P Royster
Aditya J Kusko
Kadeem T Slusarski
Arvin V Dilliard
Mujtaba E Paprocki
Johnson I Bowley
Tony X Foller
Mujtaba P Sergi
Francesco U Bowley
James K Shinko
IdCountryDate
1000Argentina2024-09-08
1001Russia2024-09-11
1002Japan2024-09-20
1003Spain2024-09-06
1004Germany2024-09-11
1005India2024-09-03
1006Brazil2024-09-01
1007Australia2024-08-26
1008Argentina2024-09-09
1009Germany2024-09-01
1010Germany2024-09-13
1011Italy2024-09-15
1012Russia2024-09-22
1013Brazil2024-09-13
1014Spain2024-09-03
1015Italy2024-09-12
1016Canada2024-09-14
1017Brazil2024-08-25
1018India2024-08-27
1019France2024-09-13
1020Russia2024-09-13
1021France2024-08-28
1022Canada2024-09-07
1023Australia2024-09-19
1024Argentina2024-09-19
1025France2024-08-28
1026Brazil2024-08-29
1027Japan2024-09-07
1028Argentina2024-09-13
1029Russia2024-08-26
1030Japan2024-08-28
1031Spain2024-09-05
1032France2024-09-01
1033Germany2024-08-31
1034Australia2024-09-20
1035India2024-09-07
1036Italy2024-09-22
1037Italy2024-09-07
1038Canada2024-09-22
1039Germany2024-09-22
1040United Kingdom2024-09-08
1041Argentina2024-09-15
1042Italy2024-09-01
1043Japan2024-08-30
1044Germany2024-09-20
1045Australia2024-09-20
1046Canada2024-09-23
1047Germany2024-08-26
1048Italy2024-08-26
1049Argentina2024-09-06

On-Demand Data

NameIdCountryDate
Aditya J Marrier1000Australia2024-09-10
Silvio V Inouye1001Germany2024-09-12
Morrow R Venere1002Germany2024-09-03
Clifford Q Slusarski1003Canada2024-09-03
Leon P Royster1004United Kingdom2024-09-18
Izzy Y Tollner1005Japan2024-09-04
Ashley O Slusarski1006Brazil2024-09-09
Morrow E Flosi1007India2024-09-03
Izzy C Royster1008Canada2024-09-09
Mujtaba B Schemmer1009Brazil2024-09-16
Silvio P Stockham1010United Kingdom2024-09-01
Arvin X Glick1011Japan2024-09-21
Arvin T Gillian1012Spain2024-09-13
Silvio E Poquette1013Italy2024-08-30
Salvatore Y Waycott1014India2024-09-18
Alejandro T Marrier1015France2024-09-23
Maisha C Maclead1016Germany2024-09-11
Sinclair A Vocelka1017Italy2024-09-10
Nicolas Y Bowley1018Canada2024-09-06
Ashley E Ferencz1019Germany2024-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo Z CaudyRussiaOnyama Limba UNQUALIFIED
Francesco F MaletSpainOnyama Limba NEGOTIATION
James Q FollerSpainElwin Sharvill PROPOSAL
Johnson L GillianSpainXuxue Feng UNQUALIFIED
Sinclair T AlbaresFranceIvan Magalhaes PROPOSAL
Ricardo T VocelkaFranceStephen Shaw UNQUALIFIED
Leja G PoquetteBrazilElwin Sharvill QUALIFIED
Jeanfrancois W CaudyIndiaXuxue Feng QUALIFIED
Maisha F CaudyAustraliaAmy Elsner RENEWAL
Morrow J KuskoArgentinaOnyama Limba UNQUALIFIED
Aditya N BowleyGermanyAmy Elsner RENEWAL
David I IturbideIndiaXuxue Feng PROPOSAL
Alejandro P AmigonJapanAnna Fali NEGOTIATION
Mujtaba B ChuiJapanStephen Shaw UNQUALIFIED
Stacey Y InouyeArgentinaBernardo Dominic RENEWAL
Silvio Z SlusarskiItalyXuxue Feng NEGOTIATION
Murillo E AlbaresCanadaBernardo Dominic PROPOSAL
Clifford D TollnerFranceAsiya Javayant RENEWAL
James B SlusarskiJapanIvan Magalhaes QUALIFIED
Johnson G VocelkaCanadaOnyama Limba RENEWAL
Faith B GarufiUnited KingdomAsiya Javayant RENEWAL
Mujtaba A AlbaresRussiaIoni Bowcher NEW
Chavez H AmigonRussiaBernardo Dominic UNQUALIFIED
Arvin W VenereGermanyAmy Elsner NEGOTIATION
Morrow L KolmetzSpainOnyama Limba QUALIFIED
Juan Y WhobreySpainIvan Magalhaes QUALIFIED
Leon V PerinFranceBernardo Dominic NEGOTIATION
Wickens G RoysterSpainBernardo Dominic PROPOSAL
Adams J PaprockiCanadaStephen Shaw RENEWAL
Faith H DarakjyIndiaXuxue Feng RENEWAL
Julie F VenereIndiaAnna Fali UNQUALIFIED
Aruna U PoquetteRussiaElwin Sharvill QUALIFIED
Kaitlin W MaletBrazilAmy Elsner RENEWAL
Faith K SergiGermanyElwin Sharvill NEGOTIATION
Antonio V AlbaresAustraliaAmy Elsner QUALIFIED
Chavez T NickaRussiaStephen Shaw UNQUALIFIED
Munro H SergiGermanyXuxue Feng UNQUALIFIED
Adams L StockhamUnited KingdomIvan Magalhaes PROPOSAL
Leja X KuskoAustraliaAmy Elsner QUALIFIED
Arvin X CaldareraFranceAnna Fali 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>