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
Costa P DilliardIndiaAsiya Javayant PROPOSAL
Silvio W WieserFranceOnyama Limba NEW
Jones V ButtSpainElwin Sharvill NEW
Jones Q ShinkoCanadaXuxue Feng QUALIFIED
Johnson M WaycottItalyXuxue Feng NEW
James K WaycottJapanIvan Magalhaes NEW
Faith L ButtGermanyElwin Sharvill UNQUALIFIED
Aruna L SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois S FigeroaArgentinaAmy Elsner PROPOSAL
Greenwood O RulapaughCanadaXuxue Feng QUALIFIED
Leja F BowleyFranceAsiya Javayant UNQUALIFIED
Antonio P CampainFranceAsiya Javayant PROPOSAL
Ashley Z SchemmerFranceAmy Elsner UNQUALIFIED
Francesco G BriddickCanadaIvan Magalhaes UNQUALIFIED
Morrow U KuskoFranceOnyama Limba NEGOTIATION
Cody S PerinRussiaIvan Magalhaes UNQUALIFIED
Julie E ChuiItalyIvan Magalhaes PROPOSAL
Cody T KolmetzUnited KingdomXuxue Feng QUALIFIED
Aditya G MaletBrazilBernardo Dominic RENEWAL
Arvin L CaudySpainAmy Elsner UNQUALIFIED
Jones T ButtSpainStephen Shaw NEGOTIATION
Morrow R DoeUnited KingdomAsiya Javayant QUALIFIED
Ivar E NickaJapanElwin Sharvill PROPOSAL
Francesco P WhobreyBrazilStephen Shaw PROPOSAL
Arvin M KolmetzGermanyOnyama Limba QUALIFIED
Ivar Z MarrierGermanyAnna Fali QUALIFIED
Adams N FollerSpainIvan Magalhaes PROPOSAL
Salvatore B WieserAustraliaAnna Fali NEGOTIATION
Isabel Q CaldareraGermanyOnyama Limba RENEWAL
Aruna D GlickGermanyAnna Fali NEW
Jennifer S NestleSpainStephen Shaw PROPOSAL
Aruna A VenereUnited KingdomXuxue Feng PROPOSAL
Wickens U MarrierRussiaIoni Bowcher PROPOSAL
Claire F WieserJapanXuxue Feng RENEWAL
Clifford X CaudyFranceIoni Bowcher RENEWAL
Silvio Z AmigonJapanElwin Sharvill NEW
Nicolas M SlusarskiIndiaElwin Sharvill NEGOTIATION
Darci V DilliardGermanyAsiya Javayant NEW
Antonio V MaletRussiaStephen Shaw NEW
Alejandro Y BologniaIndiaBernardo Dominic UNQUALIFIED
Jennifer R RimArgentinaIoni Bowcher PROPOSAL
Maria I AlbaresIndiaElwin Sharvill PROPOSAL
Silvio L StensethGermanyStephen Shaw NEW
Maisha H FigeroaAustraliaIvan Magalhaes NEGOTIATION
Sinclair H StensethGermanyXuxue Feng NEGOTIATION
Ivar C DoeIndiaElwin Sharvill NEGOTIATION
Rodrigues Q CampainItalyElwin Sharvill PROPOSAL
Johnson F AlbaresArgentinaAsiya Javayant NEGOTIATION
Misaki B MorascaBrazilOnyama Limba RENEWAL
Salvatore H DoeAustraliaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Johnson V PoquetteUnited KingdomAnna Fali PROPOSAL
Cody B DilliardItalyElwin Sharvill RENEWAL
Cody P DoeBrazilIvan Magalhaes NEGOTIATION
Greenwood G FerenczIndiaAnna Fali RENEWAL
Murillo T MacleadSpainAnna Fali UNQUALIFIED
Chavez D BologniaGermanyAnna Fali NEGOTIATION
Cody W MaletIndiaBernardo Dominic NEGOTIATION
Francesco X WaycottCanadaAmy Elsner NEGOTIATION
Morrow A IturbideFranceStephen Shaw UNQUALIFIED
Costa G PoquetteGermanyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James A GarufiJapan2025-06-13Chemel, James L Cpa RENEWAL53Elwin Sharvill
1001Aika E CaudyIndia2025-05-25Rangoni Of Florence NEGOTIATION47Xuxue Feng
1002Chavez A CaldareraRussia2025-05-25Dorl, James J Esq UNQUALIFIED8Amy Elsner
1003Faith Q GarufiBrazil2025-06-06Chemel, James L Cpa NEGOTIATION25Ioni Bowcher
1004Sinclair T SchemmerUnited Kingdom2025-05-23Rangoni Of Florence QUALIFIED6Asiya Javayant
1005Claire Q CaudyUnited Kingdom2025-06-07Chapman, Ross E Esq RENEWAL3Xuxue Feng
1006James W BologniaJapan2025-06-07Feltz Printing Service PROPOSAL99Xuxue Feng
1007Nicolas N RutaBrazil2025-06-02Chapman, Ross E Esq NEW44Stephen Shaw
1008Stacey T WieserIndia2025-05-24Buckley Miller Wright QUALIFIED81Asiya Javayant
1009Ashley G WhobreyCanada2025-05-27Printing Dimensions NEGOTIATION3Ioni Bowcher
1010Jeanfrancois L SaylorsJapan2025-06-13Chanay, Jeffrey A Esq RENEWAL42Xuxue Feng
1011Salvatore C VenereUnited Kingdom2025-05-17Chapman, Ross E Esq RENEWAL56Amy Elsner
1012Adams K CampainAustralia2025-06-01Benton, John B Jr QUALIFIED52Stephen Shaw
1013Silvio B StensethItaly2025-06-05Rangoni Of Florence NEW80Asiya Javayant
1014Nicolas R ShinkoItaly2025-06-02Rangoni Of Florence UNQUALIFIED77Anna Fali
1015Julie L RimSpain2025-06-14Buckley Miller Wright PROPOSAL64Elwin Sharvill
1016Silvio Y CampainItaly2025-06-01Printing Dimensions NEGOTIATION51Bernardo Dominic
1017Cody H PoquetteCanada2025-05-25Printing Dimensions UNQUALIFIED79Stephen Shaw
1018Ashley P AlbaresIndia2025-06-07Feiner Bros QUALIFIED27Onyama Limba
1019Emily V DoeAustralia2025-05-19Benton, John B Jr NEGOTIATION99Asiya Javayant
1020Juan U VocelkaGermany2025-06-09Benton, John B Jr UNQUALIFIED83Ioni Bowcher
1021Francesco L SlusarskiFrance2025-05-22Benton, John B Jr NEW89Bernardo Dominic
1022Johnson V MorascaRussia2025-05-18Chemel, James L Cpa NEGOTIATION98Asiya Javayant
1023Costa U StensethSpain2025-05-27Printing Dimensions NEW55Stephen Shaw
1024Murillo F TollnerItaly2025-06-05Buckley Miller Wright QUALIFIED36Asiya Javayant
1025Morrow Y SergiBrazil2025-05-30Commercial Press RENEWAL65Bernardo Dominic
1026Costa F OstroskyIndia2025-05-21Morlong Associates NEGOTIATION11Anna Fali
1027Salvatore C GarufiIndia2025-06-05Truhlar And Truhlar Attys NEGOTIATION8Onyama Limba
1028Salvatore H WhobreyCanada2025-06-13Chanay, Jeffrey A Esq PROPOSAL4Asiya Javayant
1029Ricardo R WaycottGermany2025-06-10Chemel, James L Cpa QUALIFIED64Stephen Shaw
1030Rodrigues X BowleyItaly2025-06-06Commercial Press QUALIFIED90Xuxue Feng
1031Octavia Z FerenczGermany2025-05-29Chemel, James L Cpa RENEWAL0Ivan Magalhaes
1032David H PoquetteAustralia2025-05-19Feltz Printing Service RENEWAL13Ioni Bowcher
1033James J NickaUnited Kingdom2025-05-24King, Christopher A Esq RENEWAL89Amy Elsner
1034Ashley P SlusarskiGermany2025-06-13Buckley Miller Wright NEGOTIATION2Asiya Javayant
1035Costa M DilliardIndia2025-06-10Chanay, Jeffrey A Esq UNQUALIFIED65Bernardo Dominic
1036Izzy L StensethItaly2025-05-29Truhlar And Truhlar Attys UNQUALIFIED59Ioni Bowcher
1037Adams G BologniaFrance2025-06-11Feltz Printing Service NEGOTIATION76Elwin Sharvill
1038Alejandro Z ShinkoItaly2025-05-17Rousseaux, Michael Esq NEGOTIATION13Ivan Magalhaes
1039Francesco Z BologniaAustralia2025-05-26Truhlar And Truhlar Attys PROPOSAL56Amy Elsner
1040Smith O MarrierFrance2025-05-30Commercial Press PROPOSAL91Xuxue Feng
1041Kaitlin S DarakjyFrance2025-05-26King, Christopher A Esq NEGOTIATION57Ivan Magalhaes
1042Julie R StensethIndia2025-05-30Rousseaux, Michael Esq QUALIFIED73Stephen Shaw
1043Octavia J MarrierAustralia2025-06-08Chemel, James L Cpa NEGOTIATION85Amy Elsner
1044Johnson X SlusarskiBrazil2025-06-03Chapman, Ross E Esq UNQUALIFIED33Stephen Shaw
1045Juan Q InouyeFrance2025-06-12Feiner Bros UNQUALIFIED3Asiya Javayant
1046Kadeem O BologniaArgentina2025-06-13Feiner Bros UNQUALIFIED28Stephen Shaw
1047Isabel H PerinIndia2025-05-25Buckley Miller Wright UNQUALIFIED73Anna Fali
1048Stacey K ShinkoFrance2025-06-15Chemel, James L Cpa NEGOTIATION28Ivan Magalhaes
1049Juan O InouyeUnited Kingdom2025-05-17Feiner Bros PROPOSAL62Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mayumi F BowleyCanadaStephen Shaw RENEWAL
Antonio P AmigonGermanyIvan Magalhaes UNQUALIFIED
Costa T FlosiSpainAnna Fali RENEWAL
Faith T StockhamRussiaAsiya Javayant UNQUALIFIED
Adams N CaudyRussiaIvan Magalhaes RENEWAL
Octavia Y PoquetteBrazilAmy Elsner QUALIFIED
Mujtaba Z ShinkoCanadaBernardo Dominic NEW
Costa T FerenczIndiaAmy Elsner RENEWAL
Adams X NickaArgentinaOnyama Limba PROPOSAL
Juan R MorascaAustraliaAsiya Javayant NEW
Munro W MarrierUnited KingdomIoni Bowcher QUALIFIED
Jennifer W WaycottSpainElwin Sharvill QUALIFIED
Misaki S FigeroaItalyAnna Fali NEGOTIATION
Rodrigues Y BowleyIndiaIvan Magalhaes NEGOTIATION
Octavia W InouyeIndiaAsiya Javayant PROPOSAL
Claire Y CaudyIndiaBernardo Dominic PROPOSAL
Morrow N MaletArgentinaOnyama Limba NEGOTIATION
David X BowleyIndiaStephen Shaw RENEWAL
Adams U VocelkaJapanIoni Bowcher UNQUALIFIED
Izzy B SergiFranceOnyama Limba PROPOSAL
Jennifer P MaletRussiaXuxue Feng NEGOTIATION
Morrow M TollnerUnited KingdomIoni Bowcher PROPOSAL
Darci U FlosiSpainXuxue Feng QUALIFIED
Octavia I OstroskyRussiaXuxue Feng UNQUALIFIED
Morrow Z CaldareraItalyXuxue Feng NEW
Costa N AmigonRussiaAmy Elsner NEGOTIATION
Arvin J OstroskyCanadaAmy Elsner PROPOSAL
Jefferson U SergiBrazilAsiya Javayant QUALIFIED
Octavia P FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Clifford M GlickRussiaBernardo Dominic NEGOTIATION
Johnson P CaldareraIndiaAsiya Javayant RENEWAL
Chavez M OldroydItalyStephen Shaw UNQUALIFIED
Antonio I OstroskyBrazilIvan Magalhaes RENEWAL
Emily O AmigonArgentinaOnyama Limba UNQUALIFIED
James K GillianUnited KingdomElwin Sharvill NEW
Claire P CaldareraItalyIoni Bowcher NEGOTIATION
Costa L NestleArgentinaIoni Bowcher NEGOTIATION
Ricardo C OstroskyGermanyIoni Bowcher RENEWAL
Arvin X AlbaresBrazilIvan Magalhaes UNQUALIFIED
Juan L PoquetteJapanAsiya Javayant NEW
Aika Q GarufiFranceBernardo Dominic QUALIFIED
Aika P GillianFranceAmy Elsner PROPOSAL
Morrow Q KolmetzArgentinaOnyama Limba UNQUALIFIED
Francesco D WieserCanadaStephen Shaw NEW
Julie S VenereItalyAsiya Javayant QUALIFIED
Mayumi B MaletJapanIoni Bowcher RENEWAL
Jefferson U MarrierGermanyStephen Shaw NEW
Ivar H NestleIndiaXuxue Feng UNQUALIFIED
Munro R AlbaresBrazilOnyama Limba NEW
Adams H DoeBrazilAsiya Javayant NEW
Frozen Columns
Name
Nicolas I Perin
Sinclair I Gaucho
Silvio T Campain
Aruna D Gillian
Rodrigues C Nicka
Emily P Ostrosky
Aika E Slusarski
Claire Z Rulapaugh
Nicolas G Vocelka
Jennifer F Amigon
Ashley B Gillian
Aika V Malet
Kaitlin T Bowley
Salvatore F Darakjy
Ashley K Schemmer
Emily Y Rim
Greenwood L Amigon
Costa W Campain
Juan S Gaucho
Morrow V Royster
Julie L Wieser
Mujtaba O Schemmer
Greenwood Z Perin
Sinclair Q Doe
Alejandro V Oldroyd
Adams L Rim
Wickens V Amigon
Rodrigues A Marrier
Jennifer Y Royster
Ricardo A Venere
Nicolas D Amigon
Tony K Ferencz
Darci Q Foller
Kaitlin P Kusko
Jennifer S Caldarera
Kadeem J Darakjy
Aika M Perin
Johnson T Malet
Aditya Z Tollner
Nicolas X Ferencz
Arvin T Doe
Costa N Caldarera
Wickens C Inouye
Adams B Caudy
Maisha X Butt
Salvatore W Venere
Leja I Ferencz
James P Venere
Izzy E Ostrosky
Claire C Malet
IdCountryDate
1000India2025-06-11
1001Russia2025-06-14
1002Japan2025-05-24
1003France2025-05-17
1004Russia2025-05-27
1005Australia2025-05-19
1006India2025-05-25
1007Japan2025-05-19
1008Italy2025-05-31
1009Argentina2025-05-22
1010Germany2025-06-02
1011United Kingdom2025-05-29
1012Spain2025-05-21
1013Russia2025-05-25
1014France2025-06-04
1015Japan2025-05-17
1016Spain2025-06-10
1017Brazil2025-06-12
1018Italy2025-06-04
1019Italy2025-05-23
1020Germany2025-05-30
1021India2025-06-13
1022India2025-05-31
1023United Kingdom2025-06-07
1024Germany2025-05-30
1025France2025-05-24
1026Argentina2025-05-28
1027Russia2025-05-25
1028United Kingdom2025-06-01
1029Argentina2025-06-06
1030Italy2025-05-25
1031Japan2025-06-08
1032Germany2025-05-30
1033Russia2025-05-30
1034Brazil2025-06-08
1035Japan2025-05-26
1036France2025-05-17
1037Brazil2025-05-29
1038Brazil2025-06-14
1039Japan2025-06-08
1040Spain2025-05-27
1041Australia2025-05-21
1042Australia2025-06-11
1043Russia2025-05-23
1044France2025-06-13
1045Italy2025-05-19
1046India2025-05-23
1047Canada2025-06-01
1048France2025-05-21
1049United Kingdom2025-05-30

On-Demand Data

NameIdCountryDate
Wickens N Campain1000France2025-05-25
James O Paprocki1001Spain2025-06-08
Smith T Amigon1002Japan2025-05-24
Cody P Wieser1003Japan2025-06-01
Jeanfrancois R Kusko1004Australia2025-05-29
Adams U Darakjy1005Spain2025-05-17
Leon R Vocelka1006France2025-06-13
Rodrigues X Malet1007United Kingdom2025-05-22
Costa F Flosi1008Brazil2025-06-04
Maria S Morasca1009Canada2025-05-23
Emily D Kolmetz1010India2025-06-03
Maisha U Oldroyd1011France2025-06-06
Salvatore M Caldarera1012Brazil2025-05-17
Cody H Ruta1013Argentina2025-05-23
Ashley Y Amigon1014India2025-06-05
Mayumi T Marrier1015Canada2025-06-11
Izzy W Stenseth1016Japan2025-06-03
Jeanfrancois V Sergi1017Argentina2025-05-18
Cody N Butt1018Australia2025-05-17
Octavia L Stenseth1019Germany2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco X VenereBrazilIvan Magalhaes PROPOSAL
Murillo M TollnerBrazilOnyama Limba NEW
Stacey G PaprockiJapanAnna Fali PROPOSAL
Nicolas Q MacleadAustraliaAsiya Javayant PROPOSAL
David I NickaItalyIvan Magalhaes NEGOTIATION
Claire Y DilliardJapanAsiya Javayant UNQUALIFIED
Greenwood U DilliardBrazilIvan Magalhaes QUALIFIED
Ivar J PoquetteGermanyStephen Shaw NEGOTIATION
Francesco U BowleyFranceElwin Sharvill QUALIFIED
Aditya C VenereUnited KingdomIoni Bowcher NEGOTIATION
Octavia J GauchoRussiaAnna Fali QUALIFIED
Octavia V WhobreyCanadaElwin Sharvill PROPOSAL
Chavez E PoquetteCanadaIvan Magalhaes NEGOTIATION
Jefferson Y GarufiRussiaIoni Bowcher RENEWAL
Misaki H RutaJapanIoni Bowcher NEW
Salvatore G FigeroaJapanStephen Shaw NEW
Deepesh X PerinUnited KingdomXuxue Feng RENEWAL
Jefferson L SchemmerUnited KingdomOnyama Limba PROPOSAL
Costa S RutaIndiaElwin Sharvill UNQUALIFIED
David K RoysterRussiaBernardo Dominic PROPOSAL
Nicolas V PoquetteUnited KingdomBernardo Dominic QUALIFIED
Juan A CaudyAustraliaStephen Shaw QUALIFIED
Kaitlin G MaletArgentinaOnyama Limba NEW
Salvatore J IturbideSpainAnna Fali QUALIFIED
Emily M FollerCanadaIvan Magalhaes QUALIFIED
Juan M PoquetteArgentinaElwin Sharvill QUALIFIED
Greenwood B InouyeIndiaIvan Magalhaes UNQUALIFIED
Chavez N RulapaughArgentinaIvan Magalhaes PROPOSAL
Jones A RutaItalyStephen Shaw QUALIFIED
Leja V OstroskyFranceIoni Bowcher UNQUALIFIED
Ricardo P InouyeAustraliaAnna Fali PROPOSAL
Greenwood U SergiArgentinaIoni Bowcher QUALIFIED
Silvio B WaycottArgentinaElwin Sharvill QUALIFIED
Emily G ButtUnited KingdomBernardo Dominic RENEWAL
Octavia P KuskoArgentinaStephen Shaw QUALIFIED
Claire S ShinkoArgentinaAmy Elsner RENEWAL
Juan Q FerenczItalyAmy Elsner NEW
Izzy H TollnerRussiaStephen Shaw NEGOTIATION
Cody A VenereJapanIvan Magalhaes UNQUALIFIED
Stacey L SergiAustraliaAmy Elsner UNQUALIFIED

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