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
Jennifer Z CaudyIndiaOnyama Limba PROPOSAL
Cody I OldroydUnited KingdomAnna Fali PROPOSAL
Morrow Y TollnerUnited KingdomAnna Fali RENEWAL
Murillo D DilliardGermanyOnyama Limba UNQUALIFIED
Ivar I ShinkoCanadaAmy Elsner PROPOSAL
Juan I MaletIndiaAsiya Javayant PROPOSAL
Chavez K FollerAustraliaBernardo Dominic NEW
Cody I BologniaGermanyAsiya Javayant UNQUALIFIED
Maria N OstroskyFranceOnyama Limba RENEWAL
Munro R ChuiCanadaBernardo Dominic NEW
Nicolas S FlosiCanadaStephen Shaw NEW
Sinclair T RulapaughGermanyAmy Elsner NEW
Antonio D PaprockiJapanXuxue Feng RENEWAL
Maria M NickaUnited KingdomIoni Bowcher PROPOSAL
Maria L OstroskyGermanyElwin Sharvill NEW
Adams J PoquetteItalyStephen Shaw PROPOSAL
Silvio Y OstroskyUnited KingdomElwin Sharvill RENEWAL
Aditya K NickaAustraliaAnna Fali PROPOSAL
Leon Z SaylorsSpainXuxue Feng PROPOSAL
Costa M NickaRussiaAmy Elsner NEW
Wickens Z BriddickBrazilAsiya Javayant UNQUALIFIED
Mujtaba Z GauchoSpainXuxue Feng UNQUALIFIED
Aika G GillianAustraliaIvan Magalhaes QUALIFIED
Stacey A FollerArgentinaIoni Bowcher QUALIFIED
Tony Q SchemmerCanadaAsiya Javayant UNQUALIFIED
Ashley I BowleyJapanIvan Magalhaes NEGOTIATION
Jeanfrancois Y KuskoRussiaIoni Bowcher NEW
Johnson M OldroydFranceAmy Elsner NEW
Aditya E GarufiAustraliaIoni Bowcher NEW
Jennifer A GillianJapanIvan Magalhaes RENEWAL
Julie N CampainAustraliaIoni Bowcher PROPOSAL
Costa K WaycottFranceXuxue Feng NEW
James G WhobreyBrazilXuxue Feng PROPOSAL
Adams C MacleadFranceAsiya Javayant QUALIFIED
Jefferson Y CaldareraBrazilElwin Sharvill UNQUALIFIED
Cody O RutaJapanOnyama Limba NEW
Clifford J PoquetteItalyIvan Magalhaes UNQUALIFIED
Rodrigues G BologniaFranceAnna Fali NEGOTIATION
Arvin K RutaBrazilElwin Sharvill PROPOSAL
Julie F NickaUnited KingdomIvan Magalhaes RENEWAL
Cody R TollnerCanadaXuxue Feng NEW
Chavez G PerinCanadaBernardo Dominic UNQUALIFIED
Cody R CampainSpainIoni Bowcher PROPOSAL
Jennifer S PaprockiBrazilXuxue Feng PROPOSAL
Ivar P GarufiGermanyStephen Shaw RENEWAL
Jefferson O BriddickAustraliaIoni Bowcher NEW
Tony T IturbideSpainElwin Sharvill QUALIFIED
Jeanfrancois X VocelkaArgentinaAmy Elsner NEGOTIATION
Izzy C IturbideRussiaOnyama Limba NEW
Rodrigues C RimGermanyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha J CaudyRussiaXuxue Feng NEW
Clifford Y ShinkoRussiaXuxue Feng NEW
Wickens T FlosiFranceAnna Fali NEW
Darci A SergiCanadaXuxue Feng RENEWAL
Ivar B StensethSpainOnyama Limba UNQUALIFIED
Clifford V PoquetteGermanyElwin Sharvill NEGOTIATION
Kadeem V ButtItalyIoni Bowcher RENEWAL
Tony E AmigonIndiaAnna Fali NEGOTIATION
Julie H CampainArgentinaIvan Magalhaes PROPOSAL
Murillo B DoeFranceIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja H IturbideUnited Kingdom2024-06-13Commercial Press QUALIFIED72Stephen Shaw
1001Antonio Y StensethFrance2024-06-07Commercial Press NEGOTIATION50Bernardo Dominic
1002Emily B DilliardBrazil2024-06-17Benton, John B Jr UNQUALIFIED77Anna Fali
1003James Y PoquetteItaly2024-06-13Rousseaux, Michael Esq NEW78Ioni Bowcher
1004Jones O WhobreyFrance2024-06-12Feiner Bros QUALIFIED41Asiya Javayant
1005Ricardo A MaletCanada2024-05-30Commercial Press PROPOSAL52Xuxue Feng
1006Silvio C KuskoRussia2024-06-08Feltz Printing Service NEW96Xuxue Feng
1007Antonio I WieserGermany2024-06-20Truhlar And Truhlar Attys NEW75Ivan Magalhaes
1008Greenwood A MarrierCanada2024-05-28Benton, John B Jr PROPOSAL31Asiya Javayant
1009Stacey C ButtUnited Kingdom2024-05-30Morlong Associates QUALIFIED82Asiya Javayant
1010Sinclair W GauchoUnited Kingdom2024-06-23Truhlar And Truhlar Attys QUALIFIED95Xuxue Feng
1011Izzy D NickaIndia2024-06-03Printing Dimensions UNQUALIFIED38Asiya Javayant
1012Darci P PerinSpain2024-06-09Rousseaux, Michael Esq PROPOSAL95Bernardo Dominic
1013Antonio P FollerBrazil2024-06-14Buckley Miller Wright PROPOSAL58Amy Elsner
1014Deepesh Q DarakjyCanada2024-06-06Commercial Press PROPOSAL17Bernardo Dominic
1015Isabel R NestleFrance2024-05-31Chemel, James L Cpa QUALIFIED9Asiya Javayant
1016Izzy A RulapaughJapan2024-06-13Truhlar And Truhlar Attys QUALIFIED8Elwin Sharvill
1017Aika M RutaSpain2024-06-04Rangoni Of Florence NEGOTIATION68Anna Fali
1018Nicolas A VenereSpain2024-06-05Feiner Bros NEW11Asiya Javayant
1019Jennifer W FlosiItaly2024-06-22Chapman, Ross E Esq RENEWAL98Xuxue Feng
1020Alejandro R SaylorsArgentina2024-06-22Truhlar And Truhlar Attys NEGOTIATION47Asiya Javayant
1021Chavez F RulapaughBrazil2024-05-26Morlong Associates UNQUALIFIED89Bernardo Dominic
1022Isabel G StockhamIndia2024-05-28Printing Dimensions NEW37Ivan Magalhaes
1023Octavia G BriddickSpain2024-06-10Chapman, Ross E Esq UNQUALIFIED24Stephen Shaw
1024Wickens D NickaFrance2024-06-10King, Christopher A Esq PROPOSAL4Ivan Magalhaes
1025Chavez M StockhamFrance2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED19Anna Fali
1026Jennifer F PerinArgentina2024-06-07Dorl, James J Esq PROPOSAL79Stephen Shaw
1027Aika N GarufiIndia2024-06-12Rangoni Of Florence NEW75Stephen Shaw
1028Wickens K ButtFrance2024-05-29Buckley Miller Wright PROPOSAL15Ivan Magalhaes
1029Leon K CaldareraGermany2024-06-23Chanay, Jeffrey A Esq NEW42Onyama Limba
1030Jennifer R BowleyGermany2024-05-31Printing Dimensions NEGOTIATION95Onyama Limba
1031Darci V GillianAustralia2024-06-01Benton, John B Jr QUALIFIED78Ioni Bowcher
1032James Y FerenczBrazil2024-06-07Chanay, Jeffrey A Esq PROPOSAL38Ioni Bowcher
1033Smith V InouyeCanada2024-06-22Dorl, James J Esq NEGOTIATION69Anna Fali
1034Julie G FigeroaIndia2024-06-12Feltz Printing Service QUALIFIED68Onyama Limba
1035Clifford T SergiFrance2024-06-07Feltz Printing Service NEGOTIATION74Ivan Magalhaes
1036Rodrigues P SaylorsFrance2024-06-03Dorl, James J Esq NEW52Asiya Javayant
1037Cody C InouyeSpain2024-06-19Chanay, Jeffrey A Esq QUALIFIED39Onyama Limba
1038Leon Z ShinkoCanada2024-05-26Truhlar And Truhlar Attys RENEWAL94Amy Elsner
1039Silvio H FollerRussia2024-06-05Buckley Miller Wright QUALIFIED18Anna Fali
1040Sinclair U DarakjyItaly2024-06-09Chemel, James L Cpa NEGOTIATION17Ioni Bowcher
1041Tony W MaletJapan2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED65Ioni Bowcher
1042Chavez Z PoquetteSpain2024-06-08Benton, John B Jr PROPOSAL51Xuxue Feng
1043Alejandro K DilliardGermany2024-06-10Chapman, Ross E Esq PROPOSAL58Onyama Limba
1044Leja I FlosiRussia2024-05-25King, Christopher A Esq PROPOSAL43Ioni Bowcher
1045Leja N AlbaresIndia2024-06-05Feltz Printing Service RENEWAL39Xuxue Feng
1046Mujtaba L StockhamJapan2024-06-16Printing Dimensions RENEWAL39Elwin Sharvill
1047Ricardo T RimArgentina2024-06-09Commercial Press NEGOTIATION97Xuxue Feng
1048Tony S FerenczGermany2024-06-01Printing Dimensions PROPOSAL85Elwin Sharvill
1049Darci A SlusarskiArgentina2024-06-12Morlong Associates UNQUALIFIED8Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Maria I KuskoBrazilOnyama Limba NEW
Kadeem B GillianUnited KingdomXuxue Feng QUALIFIED
Morrow Y StockhamAustraliaStephen Shaw RENEWAL
Rodrigues U PerinItalyIoni Bowcher QUALIFIED
Nicolas U WieserRussiaIvan Magalhaes RENEWAL
Mayumi T MaletItalyIvan Magalhaes RENEWAL
Izzy F GarufiItalyAnna Fali NEW
Juan J InouyeGermanyAmy Elsner NEW
Munro U BowleySpainOnyama Limba QUALIFIED
Mayumi H InouyeUnited KingdomStephen Shaw UNQUALIFIED
Costa G BowleyGermanyIvan Magalhaes RENEWAL
Alejandro L VenereUnited KingdomAnna Fali NEGOTIATION
Ashley S AlbaresFranceBernardo Dominic NEW
Stacey M TollnerArgentinaElwin Sharvill NEGOTIATION
Arvin U MacleadAustraliaBernardo Dominic QUALIFIED
Darci C NestleJapanAsiya Javayant NEGOTIATION
Leja R SchemmerArgentinaIvan Magalhaes QUALIFIED
Kadeem G VenereCanadaIvan Magalhaes NEGOTIATION
Clifford V GarufiFranceAmy Elsner NEW
Leja W FlosiSpainAmy Elsner RENEWAL
Rodrigues X ButtFranceElwin Sharvill RENEWAL
James Z PerinItalyAmy Elsner PROPOSAL
Aditya P IturbideJapanStephen Shaw NEGOTIATION
Tony J InouyeAustraliaAmy Elsner UNQUALIFIED
Aruna D PaprockiIndiaAnna Fali NEW
Munro U PerinBrazilBernardo Dominic UNQUALIFIED
Deepesh U SlusarskiSpainOnyama Limba PROPOSAL
Tony C DilliardIndiaElwin Sharvill QUALIFIED
Ricardo W CaldareraCanadaIoni Bowcher QUALIFIED
Francesco H IturbideIndiaAsiya Javayant NEGOTIATION
Ivar N MorascaUnited KingdomXuxue Feng UNQUALIFIED
Ashley C PoquetteSpainXuxue Feng QUALIFIED
Maisha D PaprockiFranceStephen Shaw RENEWAL
Adams E SlusarskiSpainIoni Bowcher NEGOTIATION
Ashley X SaylorsFranceBernardo Dominic RENEWAL
Aditya N FlosiRussiaIoni Bowcher RENEWAL
Julie B SchemmerItalyXuxue Feng NEW
Aditya H TollnerJapanAmy Elsner PROPOSAL
Adams D DarakjyAustraliaAmy Elsner UNQUALIFIED
Mayumi P DoeCanadaAmy Elsner PROPOSAL
Johnson V SaylorsCanadaOnyama Limba UNQUALIFIED
James R SchemmerRussiaBernardo Dominic RENEWAL
Johnson T GarufiArgentinaIoni Bowcher NEGOTIATION
Nicolas T SergiSpainBernardo Dominic QUALIFIED
Emily B DarakjyJapanAmy Elsner NEGOTIATION
Smith K StockhamIndiaXuxue Feng PROPOSAL
Octavia B GarufiBrazilStephen Shaw PROPOSAL
Misaki C InouyeAustraliaXuxue Feng PROPOSAL
Costa M CampainUnited KingdomIvan Magalhaes NEW
James B MaletIndiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Aruna J Inouye
Cody V Stockham
Jones W Schemmer
Nicolas G Sergi
Salvatore C Dilliard
Kaitlin V Marrier
Misaki E Butt
Sinclair S Malet
Mujtaba C Amigon
Juan O Flosi
Claire A Caudy
Adams S Albares
Ashley I Venere
Jennifer N Butt
Kaitlin C Kolmetz
Antonio U Wieser
Jeanfrancois I Albares
Adams N Tollner
Jennifer D Perin
Emily P Perin
Emily O Schemmer
Alejandro D Malet
Maisha W Schemmer
Leja V Saylors
Jones C Figeroa
Octavia T Saylors
Isabel M Stockham
Murillo G Malet
Murillo V Ruta
Kadeem X Sergi
Stacey O Kolmetz
Sinclair V Ostrosky
David J Ostrosky
Ashley O Darakjy
Jennifer H Nicka
Leja X Kolmetz
Jefferson E Campain
Darci V Albares
Juan Y Ferencz
James Y Bowley
Octavia Z Slusarski
Greenwood B Malet
Antonio T Sergi
Tony F Darakjy
Octavia E Marrier
Kadeem N Rim
Ashley P Schemmer
Jeanfrancois S Perin
Adams X Maclead
Aruna G Shinko
IdCountryDate
1000Spain2024-06-19
1001Spain2024-06-09
1002France2024-06-06
1003Brazil2024-05-25
1004United Kingdom2024-05-28
1005India2024-06-14
1006Italy2024-05-28
1007Canada2024-06-21
1008India2024-06-02
1009Brazil2024-06-07
1010France2024-05-25
1011Australia2024-05-30
1012Italy2024-06-09
1013Italy2024-06-17
1014Japan2024-06-06
1015Japan2024-06-03
1016Australia2024-06-13
1017Germany2024-05-31
1018United Kingdom2024-06-01
1019Brazil2024-05-30
1020Canada2024-06-14
1021Spain2024-06-05
1022Argentina2024-06-11
1023Canada2024-05-31
1024Argentina2024-05-27
1025Japan2024-06-10
1026Germany2024-06-12
1027Japan2024-06-10
1028Germany2024-06-06
1029Russia2024-06-09
1030Argentina2024-06-11
1031Japan2024-05-26
1032Italy2024-06-02
1033Argentina2024-05-28
1034France2024-06-21
1035Russia2024-06-21
1036Brazil2024-06-10
1037Russia2024-06-22
1038France2024-06-08
1039France2024-06-04
1040Argentina2024-06-22
1041Canada2024-06-03
1042Spain2024-05-31
1043Germany2024-06-13
1044Germany2024-06-04
1045Italy2024-05-27
1046Germany2024-05-31
1047Japan2024-06-21
1048Spain2024-05-30
1049Japan2024-06-20

On-Demand Data

NameIdCountryDate
Ashley C Inouye1000Australia2024-05-29
Salvatore G Slusarski1001Canada2024-06-17
Murillo P Perin1002Russia2024-05-28
Emily J Malet1003Italy2024-05-28
Sinclair U Morasca1004Argentina2024-06-15
Misaki S Morasca1005United Kingdom2024-06-21
Tony J Amigon1006Australia2024-06-15
Silvio B Slusarski1007Spain2024-06-04
Alejandro R Stockham1008France2024-05-26
Antonio N Waycott1009Argentina2024-05-25
Munro A Perin1010Italy2024-05-28
Wickens L Maclead1011United Kingdom2024-06-22
Mayumi R Rulapaugh1012United Kingdom2024-06-18
Francesco O Maclead1013France2024-06-04
Antonio G Waycott1014Russia2024-06-04
Nicolas F Briddick1015Germany2024-06-12
Smith Q Sergi1016Russia2024-06-19
Costa I Dilliard1017Argentina2024-06-12
Alejandro J Perin1018France2024-05-29
Adams Z Saylors1019Canada2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan A GauchoItalyIvan Magalhaes QUALIFIED
Leja P GillianIndiaAsiya Javayant NEW
Ricardo Z IturbideArgentinaBernardo Dominic QUALIFIED
Jones N GillianUnited KingdomBernardo Dominic NEW
Sinclair E WhobreyUnited KingdomOnyama Limba RENEWAL
Sinclair O MarrierGermanyIvan Magalhaes NEGOTIATION
Clifford G OldroydBrazilOnyama Limba QUALIFIED
Faith N BologniaUnited KingdomIoni Bowcher NEW
Antonio L BologniaItalyAsiya Javayant NEGOTIATION
Arvin A RutaAustraliaAnna Fali NEW
Rodrigues O MorascaFranceIvan Magalhaes QUALIFIED
Isabel L RulapaughUnited KingdomAsiya Javayant QUALIFIED
Isabel W PerinFranceOnyama Limba RENEWAL
Leon G SchemmerSpainAnna Fali PROPOSAL
Faith U MacleadGermanyXuxue Feng UNQUALIFIED
Arvin I KolmetzItalyIoni Bowcher NEW
Silvio G PoquetteCanadaOnyama Limba NEGOTIATION
Stacey L SlusarskiSpainIvan Magalhaes NEW
Tony Z RulapaughSpainElwin Sharvill RENEWAL
Sinclair O DoeItalyAnna Fali PROPOSAL
Sinclair K AmigonGermanyStephen Shaw RENEWAL
Ivar U BriddickSpainStephen Shaw NEGOTIATION
Deepesh L ChuiFranceXuxue Feng RENEWAL
Maria Q GarufiAustraliaOnyama Limba NEW
Maria H DoeItalyStephen Shaw QUALIFIED
Adams M BriddickRussiaStephen Shaw QUALIFIED
Jones Y GarufiBrazilBernardo Dominic UNQUALIFIED
David F ShinkoRussiaIvan Magalhaes UNQUALIFIED
Leja V FerenczJapanAsiya Javayant NEW
David M SlusarskiJapanAnna Fali NEGOTIATION
Jeanfrancois M ChuiJapanStephen Shaw NEW
Johnson F MaletUnited KingdomAsiya Javayant NEW
Costa F PoquetteBrazilOnyama Limba RENEWAL
Smith T FerenczFranceAsiya Javayant NEW
Jones U AlbaresGermanyAnna Fali NEW
Julie Y GarufiArgentinaIvan Magalhaes UNQUALIFIED
Johnson J SergiIndiaOnyama Limba QUALIFIED
Ivar V SchemmerItalyElwin Sharvill NEGOTIATION
Francesco P GlickIndiaOnyama Limba QUALIFIED
Nicolas Y AlbaresFranceIvan Magalhaes PROPOSAL

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