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
Kaitlin U StensethAustraliaAsiya Javayant QUALIFIED
Antonio G WhobreyRussiaIoni Bowcher NEW
Darci T SlusarskiBrazilBernardo Dominic NEW
James Y GarufiGermanyXuxue Feng RENEWAL
Mujtaba N CampainJapanElwin Sharvill NEGOTIATION
Alejandro Y RutaArgentinaIvan Magalhaes QUALIFIED
Salvatore R SchemmerRussiaBernardo Dominic NEGOTIATION
Johnson G BriddickArgentinaXuxue Feng RENEWAL
Ashley V WaycottGermanyIoni Bowcher NEW
Leon M SergiIndiaIvan Magalhaes NEGOTIATION
Juan U PoquetteFranceElwin Sharvill QUALIFIED
Costa U RimUnited KingdomStephen Shaw NEGOTIATION
Maisha W ShinkoRussiaAnna Fali UNQUALIFIED
David Q InouyeUnited KingdomXuxue Feng NEGOTIATION
Silvio D AlbaresAustraliaAmy Elsner UNQUALIFIED
Aditya S SaylorsSpainIvan Magalhaes QUALIFIED
Stacey H RimCanadaOnyama Limba PROPOSAL
Costa P NickaBrazilStephen Shaw PROPOSAL
James Z SlusarskiIndiaIoni Bowcher PROPOSAL
Wickens I BologniaFranceAsiya Javayant NEGOTIATION
Rodrigues V KolmetzGermanyOnyama Limba NEW
Emily D PerinFranceStephen Shaw RENEWAL
Octavia I ShinkoBrazilStephen Shaw UNQUALIFIED
Cody X VocelkaArgentinaBernardo Dominic UNQUALIFIED
Leja K IturbideFranceBernardo Dominic UNQUALIFIED
Ashley B KolmetzArgentinaStephen Shaw RENEWAL
Clifford P MorascaUnited KingdomBernardo Dominic UNQUALIFIED
Leja Q BriddickFranceAnna Fali RENEWAL
Izzy H StensethBrazilIvan Magalhaes PROPOSAL
Juan B WhobreyCanadaElwin Sharvill PROPOSAL
Costa N FollerArgentinaStephen Shaw QUALIFIED
Stacey J MacleadCanadaOnyama Limba RENEWAL
Maria Z KolmetzJapanIvan Magalhaes UNQUALIFIED
Adams D PoquetteGermanyOnyama Limba UNQUALIFIED
Faith X ButtCanadaBernardo Dominic NEGOTIATION
Isabel U IturbideJapanAnna Fali PROPOSAL
Stacey K GlickIndiaStephen Shaw QUALIFIED
Aruna U MarrierCanadaXuxue Feng QUALIFIED
Murillo I RoysterArgentinaOnyama Limba PROPOSAL
Aditya Q VocelkaIndiaAmy Elsner PROPOSAL
Arvin Y CampainIndiaBernardo Dominic RENEWAL
Darci P MacleadAustraliaIvan Magalhaes UNQUALIFIED
Isabel R FlosiRussiaBernardo Dominic RENEWAL
Aditya L DarakjyAustraliaAsiya Javayant PROPOSAL
Rodrigues V NickaFranceXuxue Feng QUALIFIED
Jeanfrancois A GillianCanadaElwin Sharvill RENEWAL
Greenwood C PaprockiArgentinaOnyama Limba NEW
Tony I ButtIndiaIoni Bowcher NEGOTIATION
Aditya Y CampainSpainOnyama Limba NEGOTIATION
Izzy V MaletIndiaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Juan T FollerCanadaElwin Sharvill NEGOTIATION
Izzy O DilliardJapanStephen Shaw PROPOSAL
Nicolas V WhobreyBrazilStephen Shaw UNQUALIFIED
Emily J StockhamGermanyAnna Fali NEGOTIATION
Aditya V GauchoUnited KingdomXuxue Feng UNQUALIFIED
Johnson P StockhamRussiaIvan Magalhaes NEGOTIATION
Aruna O AmigonFranceIoni Bowcher QUALIFIED
Murillo K KuskoAustraliaBernardo Dominic QUALIFIED
Leon Q FlosiArgentinaElwin Sharvill RENEWAL
Tony K BologniaItalyStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo F SergiFrance2025-04-23Benton, John B Jr RENEWAL80Stephen Shaw
1001Tony W OldroydItaly2025-04-09Morlong Associates PROPOSAL4Stephen Shaw
1002Octavia R GlickItaly2025-04-16Dorl, James J Esq QUALIFIED61Bernardo Dominic
1003Morrow K DarakjyItaly2025-04-05Feiner Bros QUALIFIED35Ivan Magalhaes
1004Jennifer O SchemmerItaly2025-04-26Rousseaux, Michael Esq NEW44Stephen Shaw
1005Isabel O BriddickGermany2025-04-26Morlong Associates PROPOSAL88Ivan Magalhaes
1006Francesco S FollerItaly2025-04-02Feiner Bros NEGOTIATION54Elwin Sharvill
1007Aditya J DilliardSpain2025-04-09Printing Dimensions RENEWAL89Anna Fali
1008Kaitlin M SaylorsFrance2025-04-14Chapman, Ross E Esq PROPOSAL92Anna Fali
1009Ashley V ButtRussia2025-04-08Feiner Bros NEW21Amy Elsner
1010Stacey U FerenczIndia2025-04-01Printing Dimensions UNQUALIFIED44Anna Fali
1011Julie R StensethArgentina2025-04-10Printing Dimensions QUALIFIED14Amy Elsner
1012Leja E GauchoSpain2025-04-08Printing Dimensions UNQUALIFIED66Onyama Limba
1013Nicolas E RoysterJapan2025-04-25Rangoni Of Florence NEW6Asiya Javayant
1014Juan Z PaprockiRussia2025-04-07Commercial Press QUALIFIED97Onyama Limba
1015Silvio M MacleadBrazil2025-04-05Benton, John B Jr RENEWAL18Ioni Bowcher
1016Sinclair T CaudyGermany2025-04-09Chanay, Jeffrey A Esq NEW89Bernardo Dominic
1017Jefferson A OldroydBrazil2025-04-07Rangoni Of Florence RENEWAL86Stephen Shaw
1018Deepesh S SergiBrazil2025-04-22King, Christopher A Esq PROPOSAL56Bernardo Dominic
1019Costa K MarrierAustralia2025-04-21Morlong Associates NEW89Bernardo Dominic
1020Murillo I ButtGermany2025-04-01King, Christopher A Esq RENEWAL46Xuxue Feng
1021Aruna J RoysterItaly2025-04-29Benton, John B Jr NEGOTIATION53Anna Fali
1022James P CaldareraIndia2025-04-04Rangoni Of Florence NEGOTIATION83Asiya Javayant
1023Ashley K AmigonItaly2025-04-05Chemel, James L Cpa NEGOTIATION22Bernardo Dominic
1024Salvatore O MaletBrazil2025-04-28King, Christopher A Esq QUALIFIED16Anna Fali
1025Ricardo F FerenczItaly2025-04-12Chemel, James L Cpa RENEWAL67Bernardo Dominic
1026Mujtaba Y OldroydFrance2025-04-23Commercial Press NEW47Bernardo Dominic
1027Kaitlin Y WaycottCanada2025-04-08Feltz Printing Service NEGOTIATION21Xuxue Feng
1028Arvin V StensethItaly2025-04-25Chapman, Ross E Esq UNQUALIFIED16Anna Fali
1029David N RoysterFrance2025-04-02Morlong Associates NEGOTIATION38Onyama Limba
1030Arvin X MaletCanada2025-04-28Benton, John B Jr RENEWAL58Bernardo Dominic
1031Kadeem X DarakjyUnited Kingdom2025-04-24Chemel, James L Cpa NEGOTIATION36Ivan Magalhaes
1032Isabel H MaletSpain2025-04-12Morlong Associates NEGOTIATION84Onyama Limba
1033Julie G SchemmerFrance2025-04-13Printing Dimensions NEGOTIATION54Asiya Javayant
1034Adams V SergiJapan2025-04-23Morlong Associates NEW6Stephen Shaw
1035Johnson L WieserGermany2025-04-17Benton, John B Jr RENEWAL7Stephen Shaw
1036Claire Z FigeroaGermany2025-04-01Buckley Miller Wright QUALIFIED89Stephen Shaw
1037Izzy J AmigonBrazil2025-04-29Commercial Press NEW9Ioni Bowcher
1038Rodrigues V PerinGermany2025-04-22King, Christopher A Esq NEW69Anna Fali
1039Rodrigues I SchemmerJapan2025-04-10Rousseaux, Michael Esq RENEWAL98Xuxue Feng
1040Darci N SlusarskiAustralia2025-04-25Chemel, James L Cpa RENEWAL29Asiya Javayant
1041David V BologniaArgentina2025-04-21Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1042James A MarrierBrazil2025-04-13King, Christopher A Esq RENEWAL85Ivan Magalhaes
1043Misaki U OstroskyFrance2025-03-31Rousseaux, Michael Esq NEGOTIATION42Onyama Limba
1044Kadeem Q MacleadJapan2025-04-03Chapman, Ross E Esq PROPOSAL80Bernardo Dominic
1045Kadeem N AmigonIndia2025-04-11Commercial Press QUALIFIED68Amy Elsner
1046Chavez Z ShinkoGermany2025-04-22Rousseaux, Michael Esq PROPOSAL42Onyama Limba
1047Aruna U StockhamCanada2025-04-24Buckley Miller Wright NEW61Elwin Sharvill
1048Antonio F PerinCanada2025-04-07Chemel, James L Cpa QUALIFIED45Ioni Bowcher
1049Silvio Z SaylorsCanada2025-04-20Chanay, Jeffrey A Esq RENEWAL28Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Tony N GarufiSpainAnna Fali UNQUALIFIED
Sinclair Z IturbideJapanBernardo Dominic UNQUALIFIED
Darci F VenereBrazilOnyama Limba QUALIFIED
Munro S CaudyIndiaAnna Fali NEW
Jennifer L DoeUnited KingdomAmy Elsner NEGOTIATION
Jennifer H RulapaughJapanAmy Elsner QUALIFIED
Wickens T GillianSpainAnna Fali QUALIFIED
Octavia A RimUnited KingdomAsiya Javayant RENEWAL
Aditya G KolmetzFranceStephen Shaw NEGOTIATION
Francesco E CaldareraArgentinaBernardo Dominic PROPOSAL
Ivar N MarrierRussiaIoni Bowcher UNQUALIFIED
Aika H MarrierCanadaIoni Bowcher QUALIFIED
Mayumi B KuskoRussiaIvan Magalhaes RENEWAL
Darci U GauchoSpainBernardo Dominic NEW
Darci B MarrierUnited KingdomOnyama Limba UNQUALIFIED
Morrow O RoysterArgentinaOnyama Limba UNQUALIFIED
Misaki T TollnerSpainAnna Fali QUALIFIED
Misaki B WieserArgentinaElwin Sharvill RENEWAL
Leja Q OstroskyGermanyStephen Shaw UNQUALIFIED
Izzy W MorascaJapanIoni Bowcher UNQUALIFIED
Johnson O BologniaItalyOnyama Limba NEW
Salvatore P KuskoArgentinaElwin Sharvill PROPOSAL
Ricardo C KuskoArgentinaElwin Sharvill NEGOTIATION
Silvio F AmigonRussiaOnyama Limba NEW
Leon R ShinkoIndiaAsiya Javayant QUALIFIED
Ricardo F IturbideRussiaOnyama Limba QUALIFIED
Ashley F TollnerBrazilBernardo Dominic QUALIFIED
Clifford Z BologniaGermanyIoni Bowcher RENEWAL
Maisha N AmigonArgentinaAmy Elsner RENEWAL
Greenwood Y RoysterIndiaIvan Magalhaes RENEWAL
Alejandro S WaycottGermanyStephen Shaw UNQUALIFIED
Maisha L PaprockiRussiaBernardo Dominic PROPOSAL
Isabel T CaudyItalyIoni Bowcher NEW
Maisha H OstroskyCanadaBernardo Dominic UNQUALIFIED
Stacey S MacleadSpainAnna Fali NEGOTIATION
Nicolas Z ChuiItalyAmy Elsner NEW
Octavia X SaylorsBrazilAmy Elsner NEW
Aditya N SlusarskiSpainAmy Elsner UNQUALIFIED
Ivar I OstroskyRussiaAmy Elsner NEW
Ricardo T VenereCanadaElwin Sharvill NEW
Clifford E MacleadAustraliaXuxue Feng NEW
Ivar S FerenczArgentinaXuxue Feng UNQUALIFIED
Maria D MaletSpainXuxue Feng NEGOTIATION
Arvin B FlosiIndiaStephen Shaw QUALIFIED
Clifford C StensethSpainStephen Shaw UNQUALIFIED
Kadeem K WhobreyJapanAsiya Javayant PROPOSAL
Leja D VocelkaItalyAnna Fali QUALIFIED
Faith Q FigeroaItalyAnna Fali UNQUALIFIED
Juan O OldroydCanadaBernardo Dominic NEGOTIATION
Johnson G MacleadFranceElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Mujtaba E Marrier
Adams M Bowley
Silvio R Paprocki
Stacey Z Malet
Antonio H Bowley
Mayumi I Gillian
Alejandro E Ostrosky
Misaki D Malet
Izzy H Wieser
Jefferson E Stockham
Murillo Q Butt
Wickens Y Foller
Tony Z Ferencz
Jones A Darakjy
Jefferson L Paprocki
Chavez Q Rulapaugh
Tony D Chui
James W Malet
Darci F Shinko
James L Saylors
Emily J Slusarski
Deepesh P Malet
Clifford D Oldroyd
Maria R Ferencz
Kaitlin N Rulapaugh
Julie U Nicka
Rodrigues I Campain
Kadeem R Ostrosky
Darci B Rim
Silvio C Bowley
Munro P Gaucho
Nicolas U Amigon
Ashley V Nestle
Wickens H Nestle
Kaitlin A Amigon
Chavez C Campain
Rodrigues Z Dilliard
Stacey A Marrier
Murillo G Flosi
Emily N Garufi
Costa B Stenseth
Ricardo O Doe
Aruna C Marrier
Aditya C Waycott
Octavia T Nicka
Izzy Z Gillian
Ivar N Doe
Antonio I Whobrey
Julie G Ruta
Leja K Inouye
IdCountryDate
1000France2025-04-16
1001Argentina2025-04-08
1002Spain2025-04-25
1003Japan2025-04-25
1004Argentina2025-04-12
1005United Kingdom2025-04-06
1006Spain2025-04-21
1007Japan2025-04-09
1008Canada2025-04-03
1009Japan2025-04-29
1010Italy2025-04-02
1011France2025-04-06
1012France2025-04-27
1013Russia2025-04-04
1014Argentina2025-04-13
1015United Kingdom2025-04-11
1016Russia2025-04-12
1017Argentina2025-04-07
1018Brazil2025-04-14
1019Russia2025-04-21
1020India2025-04-17
1021Germany2025-04-21
1022France2025-04-12
1023Spain2025-04-17
1024United Kingdom2025-04-04
1025India2025-04-26
1026India2025-04-26
1027France2025-04-15
1028Germany2025-04-19
1029Germany2025-04-15
1030India2025-04-24
1031Germany2025-04-22
1032United Kingdom2025-04-27
1033Italy2025-04-08
1034United Kingdom2025-04-05
1035Brazil2025-04-26
1036Italy2025-04-27
1037United Kingdom2025-04-06
1038Australia2025-04-23
1039Japan2025-04-12
1040India2025-04-17
1041Italy2025-04-08
1042Germany2025-04-09
1043Australia2025-04-17
1044Russia2025-04-05
1045Germany2025-04-02
1046Brazil2025-04-06
1047France2025-04-13
1048United Kingdom2025-04-14
1049Australia2025-04-28

On-Demand Data

NameIdCountryDate
Misaki Y Royster1000Spain2025-04-20
Misaki B Foller1001Germany2025-04-29
Juan B Inouye1002Brazil2025-04-03
Alejandro F Whobrey1003Japan2025-04-03
Izzy B Glick1004Canada2025-04-19
Deepesh J Malet1005Brazil2025-04-17
Murillo A Nicka1006Russia2025-04-13
Francesco F Butt1007Brazil2025-04-14
Jeanfrancois H Nicka1008Canada2025-04-17
Misaki I Wieser1009Russia2025-03-31
Aika J Butt1010France2025-04-28
Silvio R Schemmer1011India2025-04-03
Ivar B Stockham1012Argentina2025-04-23
Morrow O Bolognia1013France2025-04-21
Jennifer S Ruta1014Argentina2025-04-01
Nicolas Y Kolmetz1015Germany2025-04-24
Emily V Bolognia1016France2025-04-24
Leja B Sergi1017Russia2025-04-10
Ivar K Stockham1018India2025-04-03
Johnson S Oldroyd1019Russia2025-04-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo T DilliardIndiaAnna Fali NEW
Chavez F MaletAustraliaAsiya Javayant RENEWAL
Claire X SchemmerIndiaXuxue Feng RENEWAL
Rodrigues A GillianAustraliaOnyama Limba NEGOTIATION
Aditya T RutaArgentinaAmy Elsner PROPOSAL
Kadeem Q WhobreyJapanAsiya Javayant NEW
Ashley S BowleySpainIoni Bowcher NEW
Faith Y PaprockiIndiaOnyama Limba PROPOSAL
Sinclair W RoysterRussiaBernardo Dominic RENEWAL
Leon J SaylorsCanadaAnna Fali NEGOTIATION
Arvin P SaylorsAustraliaAmy Elsner RENEWAL
Costa T PerinFranceIoni Bowcher QUALIFIED
Smith E GarufiArgentinaAnna Fali PROPOSAL
Izzy O ShinkoSpainAmy Elsner NEW
Juan P TollnerJapanXuxue Feng NEW
Costa A AlbaresAustraliaBernardo Dominic RENEWAL
Salvatore T PerinIndiaIvan Magalhaes NEW
Tony T NestleBrazilAmy Elsner RENEWAL
Jeanfrancois H StockhamArgentinaAsiya Javayant RENEWAL
Munro T CampainJapanXuxue Feng PROPOSAL
Kadeem Y MorascaCanadaAnna Fali QUALIFIED
Kaitlin L NestleRussiaAmy Elsner UNQUALIFIED
Wickens Q WaycottFranceStephen Shaw QUALIFIED
Darci F PaprockiBrazilAmy Elsner UNQUALIFIED
Morrow L ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Adams N MarrierUnited KingdomBernardo Dominic NEW
Izzy Y MacleadRussiaAmy Elsner NEW
Sinclair P ButtGermanyIoni Bowcher NEGOTIATION
Arvin T KolmetzIndiaXuxue Feng UNQUALIFIED
Aruna J WaycottAustraliaIvan Magalhaes NEGOTIATION
Smith C MaletGermanyXuxue Feng PROPOSAL
Aruna O InouyeArgentinaAmy Elsner PROPOSAL
Kadeem J ChuiAustraliaElwin Sharvill NEW
Mayumi A AmigonRussiaAsiya Javayant UNQUALIFIED
Munro Q CaldareraUnited KingdomAmy Elsner QUALIFIED
Smith Y CaudyBrazilAsiya Javayant UNQUALIFIED
Ivar E GillianGermanyBernardo Dominic UNQUALIFIED
Aruna U CaldareraRussiaAnna Fali UNQUALIFIED
Octavia R NestleRussiaStephen Shaw PROPOSAL
Tony S GauchoArgentinaBernardo Dominic RENEWAL

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