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
Greenwood F SlusarskiItalyAsiya Javayant UNQUALIFIED
Arvin K MaletSpainAnna Fali PROPOSAL
Isabel V BriddickCanadaIoni Bowcher UNQUALIFIED
Leja H AmigonBrazilIoni Bowcher NEGOTIATION
Mujtaba A VocelkaCanadaBernardo Dominic NEGOTIATION
Aditya G StockhamAustraliaIvan Magalhaes RENEWAL
Costa K VocelkaFranceBernardo Dominic QUALIFIED
Julie M KuskoIndiaXuxue Feng UNQUALIFIED
Maisha W CaudyAustraliaIvan Magalhaes QUALIFIED
Mujtaba R WhobreyAustraliaIvan Magalhaes NEW
Sinclair G FerenczAustraliaAmy Elsner NEGOTIATION
Tony K FlosiSpainBernardo Dominic RENEWAL
Claire G AlbaresArgentinaIoni Bowcher NEW
Maisha J TollnerArgentinaAnna Fali QUALIFIED
Chavez F SergiBrazilXuxue Feng UNQUALIFIED
Clifford F CampainJapanAmy Elsner RENEWAL
Darci V GarufiBrazilIoni Bowcher RENEWAL
Leja C GillianJapanIoni Bowcher UNQUALIFIED
Faith K FollerUnited KingdomOnyama Limba UNQUALIFIED
Cody K VenereFranceAnna Fali QUALIFIED
Munro T RulapaughUnited KingdomElwin Sharvill NEW
Aditya M StockhamAustraliaIvan Magalhaes NEGOTIATION
Ashley C RulapaughFranceIvan Magalhaes UNQUALIFIED
Greenwood Z InouyeBrazilAsiya Javayant PROPOSAL
Izzy F CampainIndiaAsiya Javayant NEGOTIATION
Clifford W ButtFranceElwin Sharvill NEW
Rodrigues Q OldroydUnited KingdomIoni Bowcher NEGOTIATION
Maria S NickaAustraliaIoni Bowcher PROPOSAL
Alejandro P KolmetzAustraliaXuxue Feng RENEWAL
Claire S DarakjyAustraliaIoni Bowcher PROPOSAL
Kaitlin E GillianCanadaStephen Shaw NEGOTIATION
Jennifer P CaudyIndiaAsiya Javayant PROPOSAL
Jennifer P VocelkaArgentinaAmy Elsner NEW
Johnson R MaletGermanyXuxue Feng UNQUALIFIED
Morrow T RimGermanyIvan Magalhaes PROPOSAL
Jones P StockhamGermanyAsiya Javayant NEGOTIATION
Francesco Y FigeroaFranceOnyama Limba UNQUALIFIED
David Z GillianGermanyBernardo Dominic UNQUALIFIED
Darci U CaudyFranceOnyama Limba QUALIFIED
Emily B DoeSpainIoni Bowcher UNQUALIFIED
Salvatore O ShinkoItalyXuxue Feng NEW
Leja O AmigonSpainStephen Shaw PROPOSAL
Aditya M WieserBrazilIoni Bowcher NEW
Maisha Y BriddickItalyBernardo Dominic QUALIFIED
Greenwood X MaletCanadaElwin Sharvill NEW
Adams R DilliardGermanyBernardo Dominic PROPOSAL
Jeanfrancois E StockhamIndiaElwin Sharvill QUALIFIED
Antonio R PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Leja V ButtJapanIvan Magalhaes UNQUALIFIED
Francesco S ChuiGermanyIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy L TollnerJapanOnyama Limba PROPOSAL
Antonio A FigeroaGermanyStephen Shaw NEGOTIATION
Silvio Q OldroydAustraliaIvan Magalhaes UNQUALIFIED
Misaki W MaletJapanIvan Magalhaes UNQUALIFIED
Morrow V VenereAustraliaOnyama Limba PROPOSAL
Mayumi V DarakjyFranceAsiya Javayant PROPOSAL
Darci Q KuskoRussiaAmy Elsner RENEWAL
Rodrigues I AmigonBrazilIvan Magalhaes PROPOSAL
Mujtaba S MarrierSpainXuxue Feng PROPOSAL
Leja V SaylorsRussiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy W PerinJapan2024-04-28Morlong Associates NEGOTIATION56Bernardo Dominic
1001Ashley P FerenczAustralia2024-04-29Dorl, James J Esq NEGOTIATION81Asiya Javayant
1002David D NickaBrazil2024-05-13Truhlar And Truhlar Attys QUALIFIED21Ivan Magalhaes
1003Leja M RoysterCanada2024-05-14Chanay, Jeffrey A Esq UNQUALIFIED52Elwin Sharvill
1004Emily X FigeroaAustralia2024-04-30Printing Dimensions QUALIFIED40Stephen Shaw
1005Silvio U CaudyRussia2024-05-04Truhlar And Truhlar Attys PROPOSAL41Stephen Shaw
1006Darci R MaletCanada2024-05-05Chapman, Ross E Esq PROPOSAL24Anna Fali
1007Aika C FollerItaly2024-05-25Printing Dimensions QUALIFIED41Anna Fali
1008Costa H AmigonCanada2024-05-21Feltz Printing Service PROPOSAL58Bernardo Dominic
1009James D ChuiCanada2024-05-14Buckley Miller Wright RENEWAL71Onyama Limba
1010Jones B FerenczGermany2024-04-29Feiner Bros UNQUALIFIED70Onyama Limba
1011Cody A CaldareraJapan2024-05-17Chapman, Ross E Esq NEW80Xuxue Feng
1012Juan Q PoquetteSpain2024-05-06Morlong Associates UNQUALIFIED55Anna Fali
1013Maisha U MacleadFrance2024-05-08Rousseaux, Michael Esq QUALIFIED73Xuxue Feng
1014Jeanfrancois V GillianItaly2024-05-26Truhlar And Truhlar Attys NEW56Bernardo Dominic
1015Izzy K VocelkaJapan2024-05-11Buckley Miller Wright UNQUALIFIED35Bernardo Dominic
1016Julie E RutaGermany2024-05-26Rousseaux, Michael Esq QUALIFIED53Asiya Javayant
1017Faith T PaprockiSpain2024-05-17Feiner Bros NEGOTIATION87Ioni Bowcher
1018Costa G SergiAustralia2024-05-14Chanay, Jeffrey A Esq PROPOSAL96Ivan Magalhaes
1019Rodrigues P FigeroaSpain2024-05-20Rousseaux, Michael Esq UNQUALIFIED64Amy Elsner
1020Misaki M AlbaresRussia2024-04-30Chapman, Ross E Esq RENEWAL57Amy Elsner
1021Faith U CaudyFrance2024-05-14Dorl, James J Esq NEW40Ioni Bowcher
1022Misaki N WhobreyCanada2024-05-11King, Christopher A Esq QUALIFIED7Ivan Magalhaes
1023Smith U SergiFrance2024-05-17Printing Dimensions NEW43Amy Elsner
1024Jefferson I MaletBrazil2024-05-20Printing Dimensions PROPOSAL36Anna Fali
1025Faith R OstroskySpain2024-05-15Printing Dimensions NEW11Amy Elsner
1026James X KuskoIndia2024-05-15Commercial Press NEW5Anna Fali
1027Arvin T DoeSpain2024-05-12Morlong Associates UNQUALIFIED43Ioni Bowcher
1028Alejandro U AmigonArgentina2024-05-08King, Christopher A Esq NEGOTIATION22Ivan Magalhaes
1029Smith I VenereIndia2024-05-22Morlong Associates NEW25Onyama Limba
1030Aruna V TollnerBrazil2024-05-23Benton, John B Jr PROPOSAL72Amy Elsner
1031Izzy E IturbideJapan2024-05-23Printing Dimensions NEGOTIATION16Stephen Shaw
1032Stacey O BowleyBrazil2024-05-23Feiner Bros NEW61Bernardo Dominic
1033Mayumi T WaycottRussia2024-05-20Chapman, Ross E Esq QUALIFIED56Ivan Magalhaes
1034Murillo Z StensethArgentina2024-05-01Buckley Miller Wright NEGOTIATION54Stephen Shaw
1035Clifford D RimUnited Kingdom2024-05-06Rangoni Of Florence NEGOTIATION59Elwin Sharvill
1036Jones G RutaSpain2024-05-06Morlong Associates UNQUALIFIED29Anna Fali
1037Clifford S OstroskyItaly2024-05-18Rangoni Of Florence NEW31Anna Fali
1038Adams D CaudyFrance2024-04-30Chemel, James L Cpa NEGOTIATION0Ivan Magalhaes
1039Ricardo Q BriddickRussia2024-05-18Chapman, Ross E Esq RENEWAL73Elwin Sharvill
1040Aika E WieserIndia2024-05-18Rangoni Of Florence NEGOTIATION81Xuxue Feng
1041Adams K MacleadRussia2024-05-26Chapman, Ross E Esq RENEWAL41Asiya Javayant
1042Chavez D GarufiFrance2024-05-22Feltz Printing Service UNQUALIFIED67Amy Elsner
1043Silvio N WhobreyAustralia2024-04-29Rousseaux, Michael Esq UNQUALIFIED34Amy Elsner
1044Jones A CampainFrance2024-05-02Feiner Bros RENEWAL21Onyama Limba
1045Aika M IturbideFrance2024-05-02Feltz Printing Service QUALIFIED21Elwin Sharvill
1046Sinclair B BologniaCanada2024-05-14Printing Dimensions PROPOSAL50Amy Elsner
1047Morrow M KolmetzItaly2024-05-09Feiner Bros QUALIFIED97Stephen Shaw
1048Adams J FollerArgentina2024-05-09Chapman, Ross E Esq QUALIFIED72Bernardo Dominic
1049Alejandro P SaylorsCanada2024-05-03Benton, John B Jr NEW72Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Sinclair S GillianBrazilAsiya Javayant PROPOSAL
Ricardo S IturbideGermanyBernardo Dominic NEW
Tony X RimSpainAsiya Javayant UNQUALIFIED
James Z IturbideFranceElwin Sharvill QUALIFIED
Arvin D StensethBrazilAnna Fali UNQUALIFIED
Misaki D DarakjyGermanyBernardo Dominic NEW
David C IturbideFranceBernardo Dominic PROPOSAL
Smith F MaletCanadaAnna Fali UNQUALIFIED
Nicolas D ShinkoSpainAsiya Javayant NEW
Adams N NestleIndiaAmy Elsner RENEWAL
Aditya L DilliardCanadaAnna Fali NEGOTIATION
Francesco Y RimGermanyAnna Fali UNQUALIFIED
Aika P FlosiGermanyIoni Bowcher NEW
Aditya U PerinUnited KingdomXuxue Feng PROPOSAL
Silvio U ChuiItalyAnna Fali NEW
Maria D WhobreyArgentinaOnyama Limba QUALIFIED
David W MarrierArgentinaAmy Elsner NEGOTIATION
Johnson G SergiJapanStephen Shaw NEGOTIATION
Chavez L PerinCanadaStephen Shaw NEW
Jefferson S VenereArgentinaBernardo Dominic UNQUALIFIED
Antonio A BologniaSpainStephen Shaw PROPOSAL
Johnson R NickaArgentinaIoni Bowcher NEGOTIATION
Faith V FlosiAustraliaAnna Fali NEW
Stacey E MaletBrazilOnyama Limba RENEWAL
Faith O GauchoSpainIvan Magalhaes PROPOSAL
Murillo T SaylorsIndiaAsiya Javayant NEW
Mujtaba Y CaudyJapanBernardo Dominic NEW
Julie K TollnerFranceAsiya Javayant NEW
Sinclair X BriddickRussiaAmy Elsner QUALIFIED
Claire K ShinkoBrazilAmy Elsner QUALIFIED
Ashley O CaldareraFranceBernardo Dominic RENEWAL
Greenwood A RutaUnited KingdomElwin Sharvill UNQUALIFIED
Nicolas U BologniaUnited KingdomXuxue Feng UNQUALIFIED
Smith O VenereBrazilStephen Shaw PROPOSAL
Mujtaba W OstroskyFranceAnna Fali NEGOTIATION
Antonio M OstroskyAustraliaXuxue Feng QUALIFIED
Tony M TollnerItalyOnyama Limba PROPOSAL
Kaitlin V DilliardCanadaIvan Magalhaes NEGOTIATION
Juan D DoeIndiaBernardo Dominic UNQUALIFIED
Antonio A TollnerGermanyOnyama Limba PROPOSAL
Claire J KolmetzAustraliaAmy Elsner NEGOTIATION
Morrow E InouyeFranceOnyama Limba NEW
Munro U SlusarskiItalyOnyama Limba QUALIFIED
Arvin E WaycottIndiaElwin Sharvill RENEWAL
Jones A InouyeJapanOnyama Limba NEW
Salvatore J PerinFranceIvan Magalhaes UNQUALIFIED
Greenwood B MaletBrazilAnna Fali RENEWAL
Mayumi L FigeroaGermanyXuxue Feng NEGOTIATION
Julie S StensethAustraliaAmy Elsner UNQUALIFIED
Clifford J NickaBrazilAmy Elsner RENEWAL
Frozen Columns
Name
Claire M Bolognia
Leja A Morasca
Aika O Figeroa
Aditya X Shinko
Aditya Y Slusarski
Chavez Z Ferencz
Johnson Q Butt
David V Ruta
David G Iturbide
Tony C Amigon
Emily E Vocelka
James J Inouye
Ricardo E Rim
James K Kolmetz
Isabel Q Glick
Smith P Doe
Jennifer N Bolognia
Kadeem U Shinko
Greenwood G Saylors
Murillo K Whobrey
Darci L Slusarski
Ashley U Briddick
James C Albares
Murillo O Poquette
Wickens A Maclead
Cody A Waycott
Deepesh A Stenseth
Stacey J Figeroa
Nicolas X Poquette
Maria Q Gillian
Maria K Figeroa
Ashley P Ferencz
James R Venere
Johnson A Wieser
Aruna A Doe
Ivar F Inouye
Emily A Malet
Aditya S Slusarski
Tony X Gaucho
Leja S Schemmer
Julie Z Foller
Silvio I Nicka
Wickens M Shinko
Jennifer I Campain
Deepesh B Shinko
Greenwood I Ruta
Nicolas C Doe
Adams I Vocelka
Clifford B Albares
Francesco X Chui
IdCountryDate
1000United Kingdom2024-05-13
1001Australia2024-05-09
1002Australia2024-04-30
1003Australia2024-05-02
1004France2024-05-13
1005India2024-05-26
1006United Kingdom2024-05-23
1007Argentina2024-05-15
1008Canada2024-05-15
1009India2024-05-10
1010United Kingdom2024-05-18
1011Italy2024-05-15
1012Germany2024-05-10
1013Canada2024-05-27
1014Italy2024-05-15
1015India2024-05-10
1016Russia2024-05-02
1017Russia2024-05-14
1018France2024-04-28
1019Brazil2024-05-23
1020Spain2024-05-27
1021Russia2024-05-02
1022Russia2024-05-21
1023Russia2024-05-20
1024United Kingdom2024-05-12
1025Canada2024-05-10
1026Argentina2024-05-01
1027Russia2024-04-29
1028Russia2024-05-19
1029Brazil2024-05-24
1030Germany2024-05-25
1031India2024-05-18
1032France2024-05-23
1033Spain2024-05-09
1034Spain2024-04-29
1035Spain2024-05-14
1036Japan2024-05-05
1037India2024-05-03
1038Germany2024-05-18
1039Canada2024-05-15
1040Australia2024-05-02
1041Spain2024-05-24
1042Australia2024-05-14
1043France2024-05-21
1044Canada2024-05-22
1045United Kingdom2024-05-05
1046Australia2024-04-29
1047Australia2024-05-05
1048Brazil2024-04-28
1049United Kingdom2024-05-02

On-Demand Data

NameIdCountryDate
Leja S Malet1000Spain2024-05-20
Jones D Caudy1001India2024-05-14
Leja B Royster1002Argentina2024-04-29
Izzy C Caldarera1003Australia2024-05-08
Aruna J Stockham1004Canada2024-05-17
Morrow X Maclead1005France2024-05-15
Faith R Garufi1006Italy2024-05-14
Deepesh J Rulapaugh1007Germany2024-05-12
David H Royster1008Japan2024-05-04
Arvin Z Venere1009Canada2024-05-17
Costa I Briddick1010Canada2024-05-24
Arvin W Tollner1011Russia2024-05-11
Alejandro P Saylors1012France2024-05-11
Munro K Ruta1013France2024-04-30
Stacey A Maclead1014Spain2024-05-07
Kadeem F Sergi1015Russia2024-05-24
Aika B Chui1016Canada2024-05-07
Tony E Malet1017Brazil2024-05-17
Aika K Maclead1018Canada2024-05-08
Octavia O Malet1019Germany2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X OstroskyGermanyIoni Bowcher RENEWAL
Stacey P GillianArgentinaStephen Shaw RENEWAL
Wickens R WhobreyRussiaElwin Sharvill NEW
Murillo H TollnerSpainIoni Bowcher NEGOTIATION
Alejandro J RoysterFranceIoni Bowcher NEGOTIATION
Aditya D SaylorsGermanyIoni Bowcher RENEWAL
Nicolas X VocelkaItalyElwin Sharvill NEGOTIATION
Cody Y FigeroaItalyXuxue Feng NEGOTIATION
Tony K MarrierCanadaXuxue Feng UNQUALIFIED
Mayumi F MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Tony V ButtArgentinaElwin Sharvill NEGOTIATION
Chavez S WieserAustraliaAsiya Javayant QUALIFIED
Salvatore G PerinFranceStephen Shaw QUALIFIED
Murillo U DarakjyBrazilAmy Elsner NEW
Sinclair M PerinSpainBernardo Dominic RENEWAL
Juan B RulapaughGermanyIvan Magalhaes RENEWAL
Francesco V MorascaSpainAnna Fali RENEWAL
Faith U WhobreyJapanIvan Magalhaes NEGOTIATION
Munro H ChuiUnited KingdomOnyama Limba PROPOSAL
Wickens G KuskoFranceOnyama Limba RENEWAL
Mayumi G DoeRussiaAsiya Javayant NEW
Chavez L SchemmerIndiaAsiya Javayant NEGOTIATION
Aditya O SchemmerItalyIoni Bowcher PROPOSAL
Johnson H DoeBrazilXuxue Feng QUALIFIED
Jefferson C MorascaFranceAsiya Javayant PROPOSAL
Costa B RoysterRussiaAsiya Javayant NEGOTIATION
Morrow U VocelkaArgentinaStephen Shaw QUALIFIED
Jefferson I PaprockiSpainAnna Fali UNQUALIFIED
Mujtaba Y AmigonIndiaAsiya Javayant QUALIFIED
Ashley L BriddickGermanyOnyama Limba PROPOSAL
Clifford I KuskoArgentinaXuxue Feng QUALIFIED
Murillo G NickaSpainXuxue Feng UNQUALIFIED
Silvio J OldroydCanadaStephen Shaw NEW
Adams L VenereCanadaStephen Shaw UNQUALIFIED
Ashley U NickaGermanyBernardo Dominic QUALIFIED
Kaitlin B WieserSpainXuxue Feng NEGOTIATION
Deepesh K InouyeArgentinaOnyama Limba NEGOTIATION
Antonio U SergiCanadaBernardo Dominic NEW
Jeanfrancois Z GillianBrazilElwin Sharvill RENEWAL
Murillo R WieserAustraliaBernardo Dominic 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>