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 Z GauchoJapanAmy Elsner PROPOSAL
Jeanfrancois T InouyeCanadaElwin Sharvill NEGOTIATION
Clifford M MacleadSpainAmy Elsner QUALIFIED
Faith N StockhamFranceAnna Fali NEW
Wickens A StockhamArgentinaXuxue Feng PROPOSAL
Jeanfrancois K InouyeJapanStephen Shaw QUALIFIED
Isabel B StensethJapanBernardo Dominic UNQUALIFIED
James W BologniaUnited KingdomOnyama Limba NEW
Arvin G RimUnited KingdomXuxue Feng NEW
Ashley F VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair Z SlusarskiItalyBernardo Dominic UNQUALIFIED
Murillo A ChuiRussiaStephen Shaw QUALIFIED
Chavez Y FlosiSpainBernardo Dominic UNQUALIFIED
Deepesh K AmigonCanadaAmy Elsner NEW
David C SlusarskiIndiaAsiya Javayant RENEWAL
Morrow I MaletGermanyAnna Fali UNQUALIFIED
Cody S PerinAustraliaAnna Fali RENEWAL
Aruna Y BowleyAustraliaIvan Magalhaes QUALIFIED
James G SergiCanadaElwin Sharvill NEW
Deepesh E FollerRussiaStephen Shaw PROPOSAL
Munro C TollnerCanadaXuxue Feng PROPOSAL
Claire I SergiUnited KingdomXuxue Feng NEGOTIATION
Salvatore V BriddickCanadaAnna Fali PROPOSAL
Julie D ChuiItalyIvan Magalhaes NEGOTIATION
Mayumi K CampainRussiaXuxue Feng PROPOSAL
Maria C ButtCanadaBernardo Dominic NEW
Aditya K FigeroaUnited KingdomOnyama Limba RENEWAL
Arvin Y StockhamIndiaXuxue Feng NEGOTIATION
James F ButtJapanIvan Magalhaes UNQUALIFIED
Leja P TollnerArgentinaIvan Magalhaes UNQUALIFIED
Tony D GillianItalyAmy Elsner QUALIFIED
Deepesh M StockhamGermanyIvan Magalhaes NEGOTIATION
Leja E CaudyFranceXuxue Feng RENEWAL
Mujtaba J InouyeUnited KingdomAnna Fali NEGOTIATION
Nicolas E KuskoSpainOnyama Limba NEW
Alejandro D NickaIndiaIvan Magalhaes NEW
Sinclair O KuskoRussiaStephen Shaw PROPOSAL
Octavia R CampainAustraliaAmy Elsner NEW
Adams O CampainAustraliaBernardo Dominic QUALIFIED
Antonio X MacleadAustraliaIvan Magalhaes PROPOSAL
Smith H RulapaughArgentinaAmy Elsner RENEWAL
Silvio K MarrierCanadaBernardo Dominic UNQUALIFIED
Emily P MaletBrazilOnyama Limba NEW
Munro L GarufiCanadaElwin Sharvill NEW
Isabel Y CaldareraArgentinaBernardo Dominic UNQUALIFIED
Murillo J PaprockiSpainAsiya Javayant NEW
Kaitlin H MaletBrazilAmy Elsner PROPOSAL
Mujtaba U ButtAustraliaBernardo Dominic NEW
Aika B KuskoArgentinaBernardo Dominic NEW
Mujtaba G AlbaresAustraliaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James A NickaUnited KingdomAsiya Javayant PROPOSAL
Rodrigues N StensethGermanyIvan Magalhaes NEGOTIATION
Salvatore M KuskoRussiaAmy Elsner NEGOTIATION
Kaitlin P StensethBrazilStephen Shaw RENEWAL
Julie D VenereIndiaStephen Shaw RENEWAL
David N DilliardArgentinaIvan Magalhaes PROPOSAL
Jennifer G FigeroaItalyIoni Bowcher NEGOTIATION
Cody E PoquetteArgentinaIvan Magalhaes QUALIFIED
Claire J AlbaresBrazilAnna Fali NEW
Kaitlin E PerinItalyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith N AmigonGermany2024-06-10Chapman, Ross E Esq PROPOSAL52Anna Fali
1001James G SchemmerIndia2024-06-01Buckley Miller Wright RENEWAL10Stephen Shaw
1002Leon X PerinItaly2024-06-18Printing Dimensions UNQUALIFIED29Asiya Javayant
1003Kaitlin F IturbideGermany2024-05-25Chanay, Jeffrey A Esq NEW48Bernardo Dominic
1004Aruna V MarrierItaly2024-06-10Morlong Associates UNQUALIFIED13Elwin Sharvill
1005Ashley V RoysterBrazil2024-06-12Benton, John B Jr PROPOSAL66Elwin Sharvill
1006Arvin D RoysterJapan2024-05-25Buckley Miller Wright NEW86Elwin Sharvill
1007Claire Y BriddickFrance2024-06-03Benton, John B Jr UNQUALIFIED56Asiya Javayant
1008Salvatore R MacleadCanada2024-06-21Printing Dimensions UNQUALIFIED89Ivan Magalhaes
1009Jennifer C NickaArgentina2024-06-14Chapman, Ross E Esq RENEWAL52Ivan Magalhaes
1010Salvatore E ButtFrance2024-06-15Rangoni Of Florence PROPOSAL75Xuxue Feng
1011Jeanfrancois A BriddickGermany2024-05-26Truhlar And Truhlar Attys UNQUALIFIED68Ioni Bowcher
1012Leon D RulapaughCanada2024-06-09King, Christopher A Esq NEGOTIATION91Anna Fali
1013Rodrigues A StensethCanada2024-06-15Feiner Bros RENEWAL71Amy Elsner
1014Greenwood O GlickAustralia2024-06-13King, Christopher A Esq RENEWAL59Anna Fali
1015Emily B SaylorsUnited Kingdom2024-06-08Printing Dimensions QUALIFIED41Anna Fali
1016Alejandro N BologniaCanada2024-06-06Rangoni Of Florence UNQUALIFIED62Anna Fali
1017Ashley X GauchoItaly2024-06-17Truhlar And Truhlar Attys RENEWAL9Xuxue Feng
1018Maisha Y CaldareraSpain2024-06-02Feltz Printing Service RENEWAL56Ivan Magalhaes
1019Maisha E FollerArgentina2024-06-22Rousseaux, Michael Esq NEW75Stephen Shaw
1020Francesco Q BologniaRussia2024-06-18Dorl, James J Esq NEGOTIATION94Onyama Limba
1021Mayumi E SaylorsBrazil2024-05-27Chanay, Jeffrey A Esq NEGOTIATION82Xuxue Feng
1022Sinclair F InouyeBrazil2024-05-31Printing Dimensions QUALIFIED3Xuxue Feng
1023Tony O DilliardJapan2024-06-04Feltz Printing Service RENEWAL99Ivan Magalhaes
1024Kadeem H NestleCanada2024-06-13Feltz Printing Service PROPOSAL24Onyama Limba
1025Deepesh O MarrierAustralia2024-06-21Rousseaux, Michael Esq NEGOTIATION49Bernardo Dominic
1026Nicolas W GillianSpain2024-05-25Buckley Miller Wright UNQUALIFIED32Amy Elsner
1027Leon O WhobreyAustralia2024-06-21Morlong Associates NEGOTIATION11Xuxue Feng
1028Jennifer R SlusarskiIndia2024-06-11Buckley Miller Wright PROPOSAL15Ivan Magalhaes
1029Aruna N NickaCanada2024-06-04King, Christopher A Esq NEGOTIATION44Amy Elsner
1030Morrow L MacleadJapan2024-06-17Feiner Bros NEGOTIATION35Asiya Javayant
1031Mayumi N WieserUnited Kingdom2024-06-18Feiner Bros PROPOSAL2Anna Fali
1032Sinclair U WhobreyArgentina2024-06-14Buckley Miller Wright QUALIFIED86Stephen Shaw
1033Alejandro E RoysterUnited Kingdom2024-06-03Dorl, James J Esq QUALIFIED46Ivan Magalhaes
1034Julie M SchemmerBrazil2024-05-25Printing Dimensions QUALIFIED20Asiya Javayant
1035Izzy B WhobreyItaly2024-06-02Morlong Associates UNQUALIFIED64Onyama Limba
1036Francesco F GlickUnited Kingdom2024-06-10Benton, John B Jr NEGOTIATION1Bernardo Dominic
1037Sinclair M ChuiSpain2024-05-30Feiner Bros UNQUALIFIED68Ioni Bowcher
1038Johnson L RutaJapan2024-06-11Feiner Bros NEGOTIATION36Ioni Bowcher
1039Clifford U PerinBrazil2024-06-16Chanay, Jeffrey A Esq QUALIFIED67Xuxue Feng
1040Salvatore T CaldareraRussia2024-05-29Chanay, Jeffrey A Esq NEGOTIATION2Ioni Bowcher
1041Faith E FigeroaItaly2024-06-05Dorl, James J Esq PROPOSAL73Asiya Javayant
1042Stacey I WhobreyUnited Kingdom2024-05-31Rousseaux, Michael Esq NEGOTIATION93Elwin Sharvill
1043Rodrigues A WaycottGermany2024-06-07Dorl, James J Esq QUALIFIED65Stephen Shaw
1044Deepesh Q MacleadAustralia2024-05-25Rousseaux, Michael Esq NEGOTIATION77Ioni Bowcher
1045Munro C DarakjyJapan2024-06-02Buckley Miller Wright RENEWAL37Ioni Bowcher
1046Silvio T MaletFrance2024-06-15Dorl, James J Esq QUALIFIED38Bernardo Dominic
1047Smith M OldroydArgentina2024-06-14Printing Dimensions RENEWAL55Onyama Limba
1048Smith Y WaycottIndia2024-06-14Commercial Press NEGOTIATION99Bernardo Dominic
1049Tony R WieserJapan2024-05-30Chemel, James L Cpa RENEWAL25Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo N VenereItalyIvan Magalhaes QUALIFIED
Misaki Z GarufiGermanyXuxue Feng RENEWAL
Izzy I AlbaresFranceBernardo Dominic NEGOTIATION
Adams H NestleArgentinaStephen Shaw UNQUALIFIED
Costa C RulapaughGermanyBernardo Dominic RENEWAL
James P MarrierGermanyAsiya Javayant RENEWAL
Kaitlin H SergiSpainAmy Elsner PROPOSAL
Rodrigues E DilliardUnited KingdomAnna Fali QUALIFIED
Johnson S AmigonJapanElwin Sharvill UNQUALIFIED
David C WaycottIndiaBernardo Dominic NEW
Sinclair L FerenczBrazilStephen Shaw PROPOSAL
Emily J MarrierGermanyXuxue Feng PROPOSAL
Antonio C GarufiRussiaAnna Fali UNQUALIFIED
Emily P MorascaJapanXuxue Feng QUALIFIED
Greenwood Z ShinkoRussiaXuxue Feng UNQUALIFIED
Sinclair A MarrierAustraliaOnyama Limba NEW
Silvio N SaylorsArgentinaOnyama Limba RENEWAL
Faith W MorascaFranceBernardo Dominic NEW
Cody Z NickaFranceAsiya Javayant NEW
Clifford J CaudyCanadaIvan Magalhaes NEGOTIATION
Alejandro O FerenczGermanyIoni Bowcher NEW
Alejandro O RoysterBrazilIvan Magalhaes NEW
Johnson K KolmetzGermanyIvan Magalhaes PROPOSAL
Izzy D CaudyRussiaElwin Sharvill RENEWAL
Adams Z KolmetzBrazilAnna Fali NEGOTIATION
Salvatore K RimUnited KingdomStephen Shaw PROPOSAL
Cody V GlickCanadaXuxue Feng QUALIFIED
Murillo F DarakjyJapanOnyama Limba RENEWAL
Leon V PoquetteUnited KingdomStephen Shaw NEGOTIATION
Salvatore B DilliardSpainXuxue Feng NEGOTIATION
Murillo D BowleyCanadaIoni Bowcher NEGOTIATION
Nicolas U ShinkoSpainElwin Sharvill PROPOSAL
Juan Y MarrierSpainAsiya Javayant PROPOSAL
Sinclair W VocelkaItalyAmy Elsner RENEWAL
David B ShinkoAustraliaStephen Shaw NEW
Kaitlin H MaletRussiaBernardo Dominic UNQUALIFIED
Maria H FerenczItalyBernardo Dominic RENEWAL
Jones W KolmetzGermanyIoni Bowcher UNQUALIFIED
Francesco X AmigonFranceAnna Fali QUALIFIED
Salvatore U InouyeAustraliaIoni Bowcher NEGOTIATION
Maisha W MaletBrazilBernardo Dominic PROPOSAL
Silvio Y FollerUnited KingdomIvan Magalhaes QUALIFIED
Maisha N MaletIndiaElwin Sharvill RENEWAL
Kadeem Z SergiArgentinaIoni Bowcher PROPOSAL
Chavez N InouyeUnited KingdomXuxue Feng UNQUALIFIED
Aruna L NestleAustraliaAmy Elsner NEGOTIATION
Chavez A ShinkoCanadaAsiya Javayant RENEWAL
Juan K StensethRussiaBernardo Dominic QUALIFIED
David S OstroskyGermanyOnyama Limba NEGOTIATION
Alejandro R ShinkoJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Aditya S Inouye
Stacey S Darakjy
Aruna O Figeroa
Kadeem C Rulapaugh
Antonio E Malet
Murillo H Figeroa
Nicolas T Gillian
Tony I Paprocki
Ashley N Wieser
Sinclair N Kolmetz
Misaki D Kusko
Emily Z Inouye
Clifford M Oldroyd
Kaitlin G Royster
Juan R Amigon
Adams B Vocelka
Greenwood U Darakjy
Silvio R Flosi
Ivar T Chui
Darci J Gaucho
Jefferson K Briddick
Misaki Q Kusko
Chavez D Oldroyd
Nicolas X Doe
Francesco L Schemmer
Kadeem B Doe
Antonio P Ruta
James T Bolognia
Jones W Nicka
Stacey I Marrier
Antonio I Amigon
Arvin F Nestle
Izzy B Maclead
Greenwood B Albares
Kadeem F Kolmetz
Antonio P Glick
Aruna U Caudy
Munro P Foller
Antonio S Nestle
Leja B Ruta
Silvio B Kolmetz
Misaki N Rulapaugh
Clifford K Ruta
Deepesh I Tollner
Salvatore B Kusko
Wickens K Wieser
Claire Z Dilliard
Jeanfrancois I Briddick
Clifford O Perin
Wickens L Maclead
IdCountryDate
1000Canada2024-05-30
1001France2024-06-03
1002Canada2024-06-10
1003Russia2024-06-22
1004India2024-06-02
1005Japan2024-06-15
1006Germany2024-06-20
1007Germany2024-05-26
1008Canada2024-05-25
1009Russia2024-06-04
1010Brazil2024-06-20
1011Spain2024-06-12
1012France2024-06-05
1013Japan2024-06-10
1014Australia2024-06-09
1015France2024-06-04
1016Japan2024-06-06
1017Japan2024-06-17
1018Argentina2024-06-07
1019India2024-06-05
1020United Kingdom2024-05-31
1021Canada2024-05-29
1022Canada2024-06-22
1023Australia2024-05-24
1024United Kingdom2024-06-16
1025United Kingdom2024-06-09
1026Italy2024-06-13
1027Spain2024-05-29
1028Argentina2024-06-04
1029Argentina2024-06-20
1030Germany2024-05-29
1031India2024-06-02
1032Spain2024-06-14
1033Argentina2024-05-26
1034France2024-06-02
1035Spain2024-06-18
1036United Kingdom2024-05-25
1037United Kingdom2024-05-27
1038Canada2024-06-18
1039United Kingdom2024-05-27
1040Italy2024-06-02
1041Japan2024-06-13
1042Italy2024-05-28
1043Argentina2024-05-30
1044Italy2024-06-12
1045Japan2024-06-03
1046Russia2024-06-11
1047Argentina2024-05-31
1048Argentina2024-06-21
1049Argentina2024-05-31

On-Demand Data

NameIdCountryDate
Wickens L Malet1000Argentina2024-05-28
Silvio J Paprocki1001Germany2024-06-03
Wickens V Albares1002Canada2024-06-21
Johnson L Oldroyd1003Spain2024-06-09
Smith U Chui1004Argentina2024-05-25
Julie Y Nicka1005Spain2024-06-18
Alejandro D Perin1006Russia2024-06-03
Murillo N Nestle1007Germany2024-05-25
Octavia U Bolognia1008Brazil2024-05-28
Jefferson D Amigon1009India2024-06-08
Mujtaba V Whobrey1010France2024-06-09
Aruna X Doe1011India2024-06-05
Ashley F Oldroyd1012Russia2024-05-28
Wickens S Gillian1013India2024-05-28
Maisha Z Bolognia1014Brazil2024-06-14
Chavez W Figeroa1015Brazil2024-06-04
Mayumi R Whobrey1016Russia2024-06-04
Murillo O Venere1017Japan2024-05-24
Ricardo C Malet1018Spain2024-06-04
Claire E Doe1019Italy2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith H RimGermanyIvan Magalhaes UNQUALIFIED
David F VenereItalyXuxue Feng RENEWAL
Leon A VenereBrazilIvan Magalhaes QUALIFIED
Mujtaba H RimBrazilOnyama Limba NEW
Julie D FigeroaIndiaAsiya Javayant NEGOTIATION
Claire M SlusarskiItalyAsiya Javayant NEW
Ashley N PaprockiBrazilIoni Bowcher PROPOSAL
Silvio V WaycottArgentinaOnyama Limba UNQUALIFIED
Claire B AmigonSpainAsiya Javayant NEW
Octavia N DarakjyFranceAmy Elsner PROPOSAL
Kaitlin D TollnerArgentinaOnyama Limba UNQUALIFIED
Misaki A RulapaughArgentinaAnna Fali QUALIFIED
Adams U PerinSpainAmy Elsner PROPOSAL
Nicolas W AlbaresFranceBernardo Dominic QUALIFIED
Kaitlin I NestleGermanyAsiya Javayant QUALIFIED
Aditya M PerinArgentinaIvan Magalhaes QUALIFIED
Claire V MaletGermanyOnyama Limba NEGOTIATION
Maria H RoysterIndiaStephen Shaw NEW
Clifford I RimCanadaElwin Sharvill UNQUALIFIED
Tony S BowleyArgentinaAsiya Javayant NEW
Deepesh L WieserArgentinaXuxue Feng UNQUALIFIED
Izzy M WieserJapanBernardo Dominic RENEWAL
Leon U CaudyRussiaXuxue Feng RENEWAL
Munro C BowleyGermanyStephen Shaw NEGOTIATION
Cody V SergiJapanAmy Elsner NEW
Jones D KolmetzArgentinaBernardo Dominic RENEWAL
Sinclair U DarakjySpainOnyama Limba PROPOSAL
Ricardo F VenereGermanyAsiya Javayant NEGOTIATION
Maria T RimBrazilIoni Bowcher NEGOTIATION
Faith V InouyeBrazilOnyama Limba RENEWAL
Emily X StockhamRussiaXuxue Feng UNQUALIFIED
Jefferson G MarrierIndiaOnyama Limba NEGOTIATION
Johnson U WhobreyAustraliaIoni Bowcher NEGOTIATION
Clifford M ButtArgentinaStephen Shaw UNQUALIFIED
Adams R RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Antonio R CaldareraFranceElwin Sharvill RENEWAL
Faith C BriddickItalyBernardo Dominic NEGOTIATION
Jones M GlickBrazilBernardo Dominic QUALIFIED
Jennifer V SchemmerRussiaOnyama Limba UNQUALIFIED
Smith I SergiIndiaIvan Magalhaes NEGOTIATION

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