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
Antonio H FollerFranceAnna Fali UNQUALIFIED
Wickens F CampainArgentinaAsiya Javayant PROPOSAL
Adams N StensethUnited KingdomAnna Fali NEGOTIATION
Jennifer K AmigonJapanBernardo Dominic RENEWAL
Aika P GillianUnited KingdomStephen Shaw UNQUALIFIED
Deepesh R CaudyJapanOnyama Limba UNQUALIFIED
Munro H NickaRussiaIvan Magalhaes NEGOTIATION
Greenwood T SergiItalyOnyama Limba NEGOTIATION
Emily S SlusarskiAustraliaElwin Sharvill QUALIFIED
Leja T PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Claire G BowleyAustraliaStephen Shaw UNQUALIFIED
Claire Z RulapaughGermanyBernardo Dominic RENEWAL
Salvatore E SchemmerBrazilAmy Elsner UNQUALIFIED
Antonio V GarufiIndiaAnna Fali PROPOSAL
Murillo V KuskoBrazilAnna Fali QUALIFIED
Arvin W DarakjyIndiaIoni Bowcher NEGOTIATION
Jennifer F MacleadJapanIvan Magalhaes RENEWAL
Claire O PaprockiArgentinaAsiya Javayant PROPOSAL
Mayumi W MorascaJapanBernardo Dominic QUALIFIED
Izzy Z GauchoUnited KingdomAmy Elsner NEGOTIATION
Juan J RulapaughIndiaOnyama Limba RENEWAL
Ivar W DarakjyJapanXuxue Feng PROPOSAL
Silvio M StockhamItalyAnna Fali NEGOTIATION
Claire J GlickAustraliaIoni Bowcher QUALIFIED
Alejandro K DarakjyArgentinaBernardo Dominic NEGOTIATION
Tony V MacleadRussiaAmy Elsner QUALIFIED
Chavez A OstroskyGermanyElwin Sharvill NEW
Aditya S PoquetteIndiaAmy Elsner NEW
Ashley A DarakjyIndiaXuxue Feng RENEWAL
Stacey Q RoysterAustraliaIvan Magalhaes UNQUALIFIED
Smith D FollerJapanIoni Bowcher NEW
David J MacleadSpainStephen Shaw RENEWAL
James G BologniaRussiaIvan Magalhaes PROPOSAL
Faith R MaletCanadaOnyama Limba UNQUALIFIED
Murillo D SaylorsItalyAsiya Javayant QUALIFIED
Salvatore H OstroskyArgentinaElwin Sharvill RENEWAL
Smith P TollnerBrazilAmy Elsner NEW
Mayumi P NickaArgentinaElwin Sharvill PROPOSAL
Silvio O CaudyCanadaAsiya Javayant UNQUALIFIED
Claire R MaletBrazilAmy Elsner RENEWAL
Mayumi O MorascaAustraliaIoni Bowcher QUALIFIED
Darci J DilliardAustraliaAmy Elsner UNQUALIFIED
Mujtaba B RutaIndiaXuxue Feng NEGOTIATION
Johnson L CaudyItalyIoni Bowcher NEW
Greenwood P ShinkoGermanyElwin Sharvill NEGOTIATION
Ashley S DilliardFranceBernardo Dominic UNQUALIFIED
Misaki U OldroydUnited KingdomXuxue Feng NEGOTIATION
Aika X OstroskyArgentinaXuxue Feng PROPOSAL
Jeanfrancois C FerenczSpainXuxue Feng QUALIFIED
Cody E ButtJapanIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford X RutaIndiaStephen Shaw QUALIFIED
James U FigeroaCanadaAmy Elsner NEW
Faith N ButtArgentinaAsiya Javayant NEW
Jennifer V ShinkoIndiaBernardo Dominic PROPOSAL
Darci N MorascaSpainOnyama Limba PROPOSAL
Stacey K OstroskyBrazilAnna Fali UNQUALIFIED
Juan J RulapaughAustraliaAnna Fali UNQUALIFIED
Julie P RutaUnited KingdomBernardo Dominic PROPOSAL
Maisha J SergiArgentinaIoni Bowcher NEGOTIATION
Nicolas R PerinRussiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio G FlosiRussia2026-07-13Rousseaux, Michael Esq NEGOTIATION15Elwin Sharvill
1001Nicolas P PoquetteSpain2026-06-20Chanay, Jeffrey A Esq PROPOSAL78Onyama Limba
1002Murillo W StensethIndia2026-07-08Chemel, James L Cpa QUALIFIED11Asiya Javayant
1003Antonio C CaudyAustralia2026-06-24Morlong Associates NEGOTIATION15Elwin Sharvill
1004Francesco F FigeroaIndia2026-06-27Chapman, Ross E Esq PROPOSAL24Ivan Magalhaes
1005Maria M TollnerBrazil2026-07-05Dorl, James J Esq PROPOSAL69Ioni Bowcher
1006Octavia K ShinkoFrance2026-07-14Feltz Printing Service PROPOSAL73Stephen Shaw
1007Antonio A MaletUnited Kingdom2026-07-01Feiner Bros QUALIFIED47Stephen Shaw
1008Francesco G BriddickBrazil2026-07-09Chanay, Jeffrey A Esq RENEWAL34Anna Fali
1009Tony F BologniaUnited Kingdom2026-07-02Benton, John B Jr UNQUALIFIED22Elwin Sharvill
1010Adams R InouyeBrazil2026-07-05Feltz Printing Service RENEWAL3Onyama Limba
1011Jennifer T SaylorsCanada2026-06-25Truhlar And Truhlar Attys UNQUALIFIED84Anna Fali
1012Kadeem K StensethAustralia2026-07-14Rangoni Of Florence NEW61Anna Fali
1013Aruna I KolmetzCanada2026-06-19Chapman, Ross E Esq QUALIFIED45Ivan Magalhaes
1014Alejandro J RoysterJapan2026-06-22Dorl, James J Esq NEGOTIATION82Amy Elsner
1015Maria Y PerinFrance2026-07-16Chanay, Jeffrey A Esq RENEWAL76Onyama Limba
1016Deepesh F AlbaresFrance2026-07-01Feltz Printing Service PROPOSAL51Asiya Javayant
1017Aika H SaylorsJapan2026-07-15Buckley Miller Wright RENEWAL22Asiya Javayant
1018Claire S MaletGermany2026-07-02Feiner Bros RENEWAL57Onyama Limba
1019Misaki U GlickItaly2026-06-21Feiner Bros QUALIFIED65Ivan Magalhaes
1020Izzy K ShinkoAustralia2026-06-20Truhlar And Truhlar Attys PROPOSAL72Elwin Sharvill
1021Juan M VocelkaArgentina2026-07-15Morlong Associates NEW89Xuxue Feng
1022Izzy G SchemmerBrazil2026-06-30Dorl, James J Esq PROPOSAL96Amy Elsner
1023Faith U VenereItaly2026-06-19Chapman, Ross E Esq UNQUALIFIED0Anna Fali
1024Costa G BriddickIndia2026-07-03Feltz Printing Service NEGOTIATION68Asiya Javayant
1025Leon V PoquetteAustralia2026-07-11King, Christopher A Esq PROPOSAL78Xuxue Feng
1026Izzy L MarrierCanada2026-07-03Buckley Miller Wright NEGOTIATION69Onyama Limba
1027Morrow W MarrierGermany2026-07-04Printing Dimensions UNQUALIFIED90Asiya Javayant
1028Ricardo A TollnerFrance2026-07-04Feiner Bros UNQUALIFIED22Ioni Bowcher
1029Misaki P NickaUnited Kingdom2026-07-14Rangoni Of Florence PROPOSAL4Anna Fali
1030Jefferson W DoeFrance2026-07-16Chapman, Ross E Esq PROPOSAL99Asiya Javayant
1031Rodrigues V ButtRussia2026-07-10Rangoni Of Florence UNQUALIFIED91Anna Fali
1032Jefferson Y WieserUnited Kingdom2026-07-03Chemel, James L Cpa NEGOTIATION93Stephen Shaw
1033Aditya J AmigonIndia2026-07-07King, Christopher A Esq NEW34Ioni Bowcher
1034Adams J BowleyUnited Kingdom2026-06-29Chemel, James L Cpa RENEWAL18Stephen Shaw
1035Aruna D KuskoBrazil2026-07-13Benton, John B Jr PROPOSAL49Ivan Magalhaes
1036Maria Z InouyeGermany2026-07-18Feiner Bros NEW22Anna Fali
1037Murillo F MaletUnited Kingdom2026-06-29Benton, John B Jr QUALIFIED98Anna Fali
1038Francesco Q NestleIndia2026-07-15Commercial Press NEGOTIATION1Amy Elsner
1039Sinclair W CaldareraGermany2026-06-23Buckley Miller Wright UNQUALIFIED89Amy Elsner
1040Rodrigues Y StensethUnited Kingdom2026-07-15Feltz Printing Service RENEWAL75Asiya Javayant
1041Jefferson L CampainItaly2026-06-19Chemel, James L Cpa UNQUALIFIED51Bernardo Dominic
1042Jennifer D FlosiCanada2026-07-16Commercial Press UNQUALIFIED20Ioni Bowcher
1043Wickens Z MacleadAustralia2026-07-01Buckley Miller Wright RENEWAL17Onyama Limba
1044Claire L MacleadBrazil2026-07-13King, Christopher A Esq NEW4Anna Fali
1045Morrow D ShinkoGermany2026-07-11Rousseaux, Michael Esq PROPOSAL15Onyama Limba
1046Octavia I StockhamJapan2026-06-25Truhlar And Truhlar Attys NEGOTIATION72Onyama Limba
1047Tony M BowleyIndia2026-06-24Dorl, James J Esq NEW48Stephen Shaw
1048Darci R NickaJapan2026-06-28Chemel, James L Cpa NEGOTIATION44Ivan Magalhaes
1049Jennifer Y WieserGermany2026-07-15Chemel, James L Cpa UNQUALIFIED54Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ashley G AmigonUnited KingdomElwin Sharvill QUALIFIED
Kaitlin Y GlickJapanElwin Sharvill QUALIFIED
Nicolas I CampainRussiaStephen Shaw NEW
Jennifer T PaprockiUnited KingdomAnna Fali NEW
Kaitlin D CaudyIndiaXuxue Feng NEGOTIATION
Ashley P GillianFranceXuxue Feng QUALIFIED
Faith T PoquetteArgentinaXuxue Feng RENEWAL
Antonio S FigeroaJapanXuxue Feng QUALIFIED
Leja H WieserGermanyIvan Magalhaes QUALIFIED
Darci H NestleItalyIoni Bowcher NEW
Morrow Q BriddickBrazilXuxue Feng QUALIFIED
Arvin I FollerItalyAmy Elsner QUALIFIED
Julie S StockhamFranceIvan Magalhaes UNQUALIFIED
Alejandro X GarufiCanadaBernardo Dominic RENEWAL
Darci Y SaylorsAustraliaOnyama Limba PROPOSAL
Jefferson E MorascaArgentinaIvan Magalhaes PROPOSAL
Emily G WaycottArgentinaAsiya Javayant RENEWAL
Wickens S FollerItalyXuxue Feng PROPOSAL
Francesco W StockhamArgentinaAnna Fali RENEWAL
Emily J FigeroaArgentinaAmy Elsner NEGOTIATION
Jones P GarufiUnited KingdomXuxue Feng NEGOTIATION
Arvin B NestleBrazilStephen Shaw PROPOSAL
James T ButtBrazilIoni Bowcher QUALIFIED
Alejandro T VocelkaArgentinaStephen Shaw NEW
Ashley G CaldareraJapanBernardo Dominic PROPOSAL
Emily W SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Ashley L DarakjyCanadaOnyama Limba QUALIFIED
Deepesh T RimGermanyXuxue Feng NEGOTIATION
Izzy E VocelkaIndiaAsiya Javayant NEGOTIATION
Francesco I VocelkaArgentinaBernardo Dominic UNQUALIFIED
Greenwood O ButtAustraliaStephen Shaw PROPOSAL
Leon Q SchemmerUnited KingdomStephen Shaw NEW
Sinclair Y BriddickItalyIvan Magalhaes NEGOTIATION
Wickens F SlusarskiBrazilStephen Shaw QUALIFIED
Deepesh P WieserArgentinaXuxue Feng NEGOTIATION
Deepesh G GillianAustraliaAmy Elsner RENEWAL
Mujtaba T OldroydRussiaIvan Magalhaes QUALIFIED
Maisha N ButtSpainAsiya Javayant PROPOSAL
Octavia O RulapaughGermanyStephen Shaw NEGOTIATION
Stacey O WhobreyItalyIvan Magalhaes RENEWAL
Kaitlin I WhobreyRussiaAnna Fali NEW
Salvatore P IturbideJapanIvan Magalhaes NEW
Nicolas S RulapaughGermanyOnyama Limba RENEWAL
Jones F KolmetzUnited KingdomOnyama Limba NEW
Aruna R NickaUnited KingdomBernardo Dominic NEW
Claire P IturbideCanadaXuxue Feng NEW
Chavez D AmigonRussiaElwin Sharvill NEW
Izzy O PerinGermanyXuxue Feng UNQUALIFIED
Munro L PerinCanadaIoni Bowcher UNQUALIFIED
Clifford I SergiIndiaBernardo Dominic NEW
Frozen Columns
Name
Antonio J Stockham
Kadeem W Ferencz
Smith J Flosi
Jennifer G Saylors
Emily T Wieser
Aditya S Vocelka
Aruna Z Bolognia
Alejandro N Ostrosky
Greenwood Q Malet
Izzy P Caldarera
Leja M Tollner
Silvio E Wieser
Jefferson K Stockham
Clifford U Malet
Clifford F Paprocki
Maisha E Inouye
Faith P Campain
Jefferson F Perin
Silvio I Oldroyd
Juan P Wieser
Chavez Q Kolmetz
Jeanfrancois H Oldroyd
Greenwood K Butt
Nicolas F Whobrey
Arvin R Caldarera
Mayumi Y Amigon
Costa V Vocelka
Francesco F Nicka
Wickens B Darakjy
Emily M Darakjy
Antonio D Shinko
Adams N Perin
Darci G Maclead
Darci D Stockham
Maria V Ferencz
Juan F Kolmetz
Aruna L Gaucho
Cody N Ferencz
Arvin Q Kolmetz
Adams L Vocelka
Octavia U Nestle
Maisha T Royster
Isabel B Bolognia
Silvio K Inouye
Jeanfrancois D Butt
Smith G Glick
Emily D Rim
Maisha F Campain
James H Slusarski
Aditya F Kusko
IdCountryDate
1000Argentina2026-07-05
1001Japan2026-07-12
1002Spain2026-07-17
1003Brazil2026-06-25
1004Spain2026-07-03
1005Russia2026-07-06
1006Australia2026-07-01
1007Russia2026-07-01
1008United Kingdom2026-07-08
1009Australia2026-06-26
1010Australia2026-07-07
1011Canada2026-06-28
1012Argentina2026-07-18
1013Spain2026-07-03
1014Russia2026-06-19
1015Japan2026-07-08
1016France2026-07-17
1017France2026-07-04
1018Italy2026-07-12
1019Germany2026-07-01
1020Russia2026-07-16
1021Russia2026-06-25
1022Japan2026-07-01
1023Italy2026-06-19
1024Argentina2026-07-17
1025Brazil2026-06-25
1026Italy2026-07-07
1027Italy2026-07-16
1028Spain2026-07-13
1029Russia2026-07-18
1030Brazil2026-07-08
1031United Kingdom2026-06-28
1032United Kingdom2026-07-05
1033Italy2026-07-10
1034Australia2026-06-28
1035Japan2026-07-09
1036India2026-06-29
1037Russia2026-07-12
1038France2026-07-17
1039Italy2026-07-11
1040Russia2026-07-15
1041India2026-07-05
1042Argentina2026-06-20
1043France2026-07-17
1044France2026-07-06
1045France2026-07-03
1046Australia2026-07-11
1047United Kingdom2026-07-11
1048Australia2026-06-25
1049Germany2026-06-20

On-Demand Data

NameIdCountryDate
Isabel Y Nestle1000Japan2026-07-12
Nicolas I Schemmer1001Germany2026-07-14
Jones H Tollner1002Russia2026-07-04
Juan V Royster1003Italy2026-07-05
Jones F Kolmetz1004United Kingdom2026-06-26
Cody B Saylors1005Russia2026-06-24
Izzy D Ostrosky1006United Kingdom2026-07-10
Murillo O Kusko1007United Kingdom2026-07-08
Adams A Shinko1008India2026-07-11
Murillo I Ostrosky1009India2026-07-07
Aika Z Rulapaugh1010Italy2026-06-25
Greenwood W Malet1011Argentina2026-06-25
Sinclair Y Malet1012Italy2026-06-25
Darci P Bolognia1013Brazil2026-07-16
Francesco W Morasca1014Italy2026-06-21
Claire D Wieser1015India2026-07-14
Aika A Kolmetz1016Germany2026-06-24
Greenwood W Ostrosky1017Russia2026-07-03
Chavez T Gillian1018Brazil2026-06-22
Clifford V Ostrosky1019Canada2026-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin P PerinJapanStephen Shaw NEGOTIATION
Juan S SchemmerIndiaIoni Bowcher NEGOTIATION
Maria K GarufiUnited KingdomXuxue Feng NEW
Greenwood X RulapaughBrazilAnna Fali NEW
Kadeem N DoeAustraliaElwin Sharvill QUALIFIED
Jennifer U ChuiAustraliaStephen Shaw NEGOTIATION
Jefferson B KuskoFranceIvan Magalhaes NEW
Mujtaba S StensethJapanIvan Magalhaes QUALIFIED
Nicolas Z MorascaJapanAsiya Javayant RENEWAL
Kadeem E SlusarskiRussiaAnna Fali UNQUALIFIED
Arvin A RutaBrazilXuxue Feng NEW
Julie X MarrierUnited KingdomStephen Shaw UNQUALIFIED
Isabel F OstroskyGermanyXuxue Feng QUALIFIED
Cody J MaletBrazilStephen Shaw NEW
Antonio D NestleGermanyXuxue Feng PROPOSAL
James E SchemmerCanadaIvan Magalhaes NEGOTIATION
Munro N IturbideGermanyBernardo Dominic NEW
Darci G MaletGermanyIvan Magalhaes QUALIFIED
Jones Z FerenczSpainOnyama Limba PROPOSAL
Leon T RimFranceElwin Sharvill QUALIFIED
Jones G BologniaRussiaAsiya Javayant NEGOTIATION
Stacey J FollerFranceIvan Magalhaes NEW
Murillo D RoysterJapanStephen Shaw RENEWAL
Chavez A MaletFranceIoni Bowcher UNQUALIFIED
Nicolas N RulapaughAustraliaAnna Fali PROPOSAL
Octavia X PaprockiItalyIvan Magalhaes UNQUALIFIED
Kadeem Z FerenczSpainIoni Bowcher PROPOSAL
Jennifer J VenereAustraliaBernardo Dominic UNQUALIFIED
Clifford T RutaFranceXuxue Feng NEGOTIATION
Arvin G WieserIndiaAmy Elsner NEW
Jeanfrancois V DilliardArgentinaStephen Shaw RENEWAL
Morrow F BriddickGermanyAnna Fali PROPOSAL
Aditya B GillianArgentinaIoni Bowcher PROPOSAL
Aruna H FigeroaFranceElwin Sharvill PROPOSAL
Salvatore S BologniaIndiaOnyama Limba QUALIFIED
James A GlickSpainAmy Elsner NEW
Aika R ShinkoItalyAnna Fali RENEWAL
Nicolas W FigeroaBrazilAmy Elsner RENEWAL
Alejandro G WieserArgentinaIoni Bowcher NEGOTIATION
Johnson D KuskoGermanyElwin Sharvill 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>