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
Cody E GlickBrazilOnyama Limba NEW
Jeanfrancois M PerinSpainAnna Fali NEW
David U IturbideSpainStephen Shaw NEGOTIATION
Cody Z TollnerUnited KingdomIoni Bowcher NEGOTIATION
Leon K DilliardJapanAmy Elsner QUALIFIED
Isabel H KolmetzBrazilAsiya Javayant NEGOTIATION
Leja B MaletArgentinaXuxue Feng QUALIFIED
Smith I GarufiBrazilStephen Shaw QUALIFIED
Leon O DarakjyJapanAsiya Javayant NEGOTIATION
Rodrigues Y CaldareraRussiaAmy Elsner PROPOSAL
Juan N StockhamArgentinaIoni Bowcher QUALIFIED
Izzy S GlickIndiaBernardo Dominic RENEWAL
Ivar W GarufiUnited KingdomAnna Fali PROPOSAL
Izzy V TollnerArgentinaBernardo Dominic RENEWAL
Arvin E PoquetteSpainBernardo Dominic PROPOSAL
Octavia F VenereIndiaIoni Bowcher QUALIFIED
James C KuskoRussiaIvan Magalhaes RENEWAL
Ashley O InouyeJapanIoni Bowcher NEGOTIATION
Leon J ButtIndiaOnyama Limba RENEWAL
Morrow N SaylorsSpainAnna Fali RENEWAL
Kadeem N AmigonGermanyIvan Magalhaes UNQUALIFIED
Claire G StensethIndiaElwin Sharvill NEW
Smith B PerinIndiaStephen Shaw UNQUALIFIED
Stacey V DoeBrazilAmy Elsner UNQUALIFIED
Silvio L NickaIndiaXuxue Feng UNQUALIFIED
Deepesh F CaudyFranceXuxue Feng UNQUALIFIED
Isabel N SergiJapanXuxue Feng NEGOTIATION
Ricardo N PoquetteUnited KingdomAmy Elsner NEW
Nicolas W MacleadJapanXuxue Feng RENEWAL
Leon C InouyeItalyAmy Elsner UNQUALIFIED
Cody V SergiGermanyXuxue Feng QUALIFIED
Leja F TollnerRussiaIvan Magalhaes NEW
Deepesh S FollerIndiaIvan Magalhaes PROPOSAL
Mujtaba S TollnerItalyBernardo Dominic NEW
Sinclair U GlickUnited KingdomElwin Sharvill UNQUALIFIED
Costa R BowleyArgentinaIvan Magalhaes NEGOTIATION
Wickens S ChuiCanadaAmy Elsner RENEWAL
Kadeem D GillianRussiaElwin Sharvill RENEWAL
Leja I OstroskyBrazilOnyama Limba PROPOSAL
Aika W RoysterCanadaAsiya Javayant QUALIFIED
Greenwood V IturbideCanadaElwin Sharvill PROPOSAL
Juan W NestleItalyOnyama Limba RENEWAL
Emily Q MacleadRussiaIvan Magalhaes UNQUALIFIED
Isabel K WieserCanadaElwin Sharvill NEGOTIATION
Arvin X NestleCanadaBernardo Dominic QUALIFIED
Tony C BowleyGermanyStephen Shaw QUALIFIED
Faith H PoquetteArgentinaIoni Bowcher QUALIFIED
Silvio B VenereIndiaXuxue Feng QUALIFIED
Faith P SaylorsUnited KingdomBernardo Dominic NEW
Aditya E DilliardCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki O ButtGermanyElwin Sharvill NEW
Tony X TollnerAustraliaElwin Sharvill NEW
David N PoquetteUnited KingdomAnna Fali UNQUALIFIED
Johnson C MarrierRussiaAmy Elsner RENEWAL
Jennifer P VocelkaBrazilIvan Magalhaes NEW
Jefferson X WieserArgentinaIvan Magalhaes NEGOTIATION
Emily R BowleySpainAsiya Javayant PROPOSAL
Rodrigues G WhobreyFranceAmy Elsner NEGOTIATION
Morrow V SchemmerAustraliaStephen Shaw QUALIFIED
Leon O MaletCanadaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin T StensethSpain2024-06-20Feltz Printing Service UNQUALIFIED86Stephen Shaw
1001Deepesh E FollerCanada2024-06-13Feltz Printing Service QUALIFIED17Asiya Javayant
1002Faith X KuskoUnited Kingdom2024-06-10Chapman, Ross E Esq QUALIFIED36Onyama Limba
1003Kadeem V WhobreyBrazil2024-05-29Rousseaux, Michael Esq UNQUALIFIED71Bernardo Dominic
1004Mayumi Z GarufiCanada2024-06-14Feiner Bros PROPOSAL99Ivan Magalhaes
1005Cody H KuskoGermany2024-06-20Dorl, James J Esq NEGOTIATION4Asiya Javayant
1006Smith R WhobreySpain2024-06-07Dorl, James J Esq NEW18Asiya Javayant
1007Salvatore Z SlusarskiJapan2024-06-02Truhlar And Truhlar Attys NEGOTIATION6Amy Elsner
1008Jennifer E ShinkoAustralia2024-06-08Buckley Miller Wright RENEWAL73Anna Fali
1009Leja V DarakjyRussia2024-06-10Printing Dimensions UNQUALIFIED68Elwin Sharvill
1010Darci E AlbaresSpain2024-06-02Printing Dimensions RENEWAL92Asiya Javayant
1011Kadeem S FollerRussia2024-06-12Morlong Associates UNQUALIFIED2Anna Fali
1012Ivar C WaycottGermany2024-06-15Truhlar And Truhlar Attys RENEWAL31Ivan Magalhaes
1013Cody Q NickaArgentina2024-06-23Rousseaux, Michael Esq RENEWAL32Ioni Bowcher
1014Maria Z PoquetteGermany2024-06-09Rousseaux, Michael Esq NEGOTIATION52Onyama Limba
1015Costa K PoquetteCanada2024-06-18Feiner Bros NEGOTIATION52Bernardo Dominic
1016Johnson M ChuiJapan2024-06-12Printing Dimensions PROPOSAL67Amy Elsner
1017Ashley I RoysterRussia2024-06-01Chapman, Ross E Esq NEGOTIATION31Onyama Limba
1018Mujtaba D GillianBrazil2024-05-27Chapman, Ross E Esq NEGOTIATION7Asiya Javayant
1019Murillo R MacleadAustralia2024-06-17Commercial Press NEGOTIATION89Xuxue Feng
1020Leon U VocelkaRussia2024-06-12Feltz Printing Service NEW96Amy Elsner
1021Tony X SchemmerIndia2024-06-01King, Christopher A Esq RENEWAL42Asiya Javayant
1022Tony W FigeroaBrazil2024-06-12Printing Dimensions PROPOSAL37Asiya Javayant
1023Maria P GauchoGermany2024-05-29Dorl, James J Esq NEGOTIATION17Anna Fali
1024Misaki V SaylorsCanada2024-05-26Benton, John B Jr RENEWAL70Stephen Shaw
1025Kadeem Y MaletUnited Kingdom2024-06-02Morlong Associates NEW75Amy Elsner
1026Maria O PoquetteUnited Kingdom2024-06-03Morlong Associates PROPOSAL4Stephen Shaw
1027Smith A TollnerRussia2024-05-31Feiner Bros UNQUALIFIED37Stephen Shaw
1028Costa Z AlbaresRussia2024-06-08Chemel, James L Cpa NEGOTIATION72Asiya Javayant
1029Emily M RoysterItaly2024-06-20Rangoni Of Florence UNQUALIFIED15Asiya Javayant
1030Munro U StockhamItaly2024-06-10Chapman, Ross E Esq RENEWAL68Xuxue Feng
1031Wickens Q AlbaresFrance2024-06-06Printing Dimensions NEW84Onyama Limba
1032Faith F PaprockiFrance2024-06-20Morlong Associates NEGOTIATION4Anna Fali
1033Morrow X KuskoItaly2024-06-13Benton, John B Jr NEGOTIATION99Xuxue Feng
1034Costa O DilliardUnited Kingdom2024-06-08King, Christopher A Esq RENEWAL68Ioni Bowcher
1035Stacey X StensethIndia2024-05-28Chemel, James L Cpa PROPOSAL16Amy Elsner
1036Mujtaba E GillianAustralia2024-06-19King, Christopher A Esq NEW74Stephen Shaw
1037Aruna P KolmetzIndia2024-06-16Feiner Bros PROPOSAL66Ivan Magalhaes
1038Deepesh T StockhamIndia2024-05-29King, Christopher A Esq PROPOSAL18Amy Elsner
1039Antonio T MacleadRussia2024-05-26Feiner Bros NEW10Bernardo Dominic
1040Isabel E AlbaresIndia2024-06-14Rangoni Of Florence PROPOSAL24Amy Elsner
1041Aditya M RulapaughRussia2024-06-12Truhlar And Truhlar Attys PROPOSAL35Onyama Limba
1042Munro S GillianRussia2024-06-04Chapman, Ross E Esq UNQUALIFIED85Elwin Sharvill
1043Adams K CampainRussia2024-06-03Commercial Press UNQUALIFIED10Stephen Shaw
1044Cody H CampainBrazil2024-06-17Printing Dimensions NEW91Ioni Bowcher
1045Costa B RimRussia2024-06-08Dorl, James J Esq NEGOTIATION25Onyama Limba
1046Izzy L TollnerIndia2024-06-12Feiner Bros PROPOSAL2Elwin Sharvill
1047Arvin N AlbaresCanada2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED59Amy Elsner
1048Aruna F FerenczItaly2024-06-07Truhlar And Truhlar Attys RENEWAL76Xuxue Feng
1049Johnson N GarufiSpain2024-06-02Morlong Associates NEW72Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Octavia G KolmetzCanadaBernardo Dominic NEW
Claire M BriddickArgentinaElwin Sharvill UNQUALIFIED
Ivar G MorascaFranceAsiya Javayant PROPOSAL
Kaitlin P OstroskyUnited KingdomOnyama Limba NEGOTIATION
Juan C DilliardSpainStephen Shaw QUALIFIED
Julie X ChuiItalyXuxue Feng NEW
Izzy F WaycottIndiaAsiya Javayant RENEWAL
Darci H NickaAustraliaIvan Magalhaes UNQUALIFIED
Murillo T PoquetteItalyAmy Elsner NEGOTIATION
Claire U CaudyFranceElwin Sharvill PROPOSAL
Francesco C BriddickSpainOnyama Limba UNQUALIFIED
Wickens K WieserAustraliaElwin Sharvill PROPOSAL
Sinclair K PoquetteIndiaAnna Fali PROPOSAL
Jefferson C KolmetzItalyAmy Elsner RENEWAL
Adams R RutaIndiaAmy Elsner PROPOSAL
Clifford Q RoysterSpainOnyama Limba QUALIFIED
Maria P TollnerJapanAsiya Javayant NEW
Francesco W IturbideSpainElwin Sharvill UNQUALIFIED
Costa X AmigonAustraliaAmy Elsner QUALIFIED
Chavez U VocelkaArgentinaIoni Bowcher NEGOTIATION
Aditya P SlusarskiArgentinaXuxue Feng QUALIFIED
Mayumi G IturbideRussiaBernardo Dominic QUALIFIED
Izzy Y PerinItalyAnna Fali NEGOTIATION
James O CampainItalyIvan Magalhaes NEW
Claire R BologniaItalyBernardo Dominic NEGOTIATION
Murillo L MaletAustraliaOnyama Limba RENEWAL
Johnson G BriddickRussiaOnyama Limba UNQUALIFIED
Greenwood A SlusarskiItalyOnyama Limba QUALIFIED
Deepesh T CaldareraArgentinaBernardo Dominic NEGOTIATION
Francesco Z CampainFranceAmy Elsner PROPOSAL
Kadeem D MaletRussiaOnyama Limba QUALIFIED
Darci H GauchoSpainAsiya Javayant PROPOSAL
Johnson N VenereJapanIoni Bowcher QUALIFIED
Jones U IturbideIndiaStephen Shaw RENEWAL
Claire S GarufiItalyBernardo Dominic UNQUALIFIED
Clifford H PerinIndiaAsiya Javayant NEGOTIATION
Munro Q BologniaBrazilXuxue Feng NEW
Clifford I DoeArgentinaAsiya Javayant RENEWAL
Rodrigues P ButtUnited KingdomStephen Shaw NEGOTIATION
Arvin J CaldareraSpainOnyama Limba PROPOSAL
Sinclair V NestleUnited KingdomBernardo Dominic PROPOSAL
Mayumi A VocelkaArgentinaStephen Shaw UNQUALIFIED
Leon H VocelkaGermanyOnyama Limba QUALIFIED
Juan I IturbideCanadaAmy Elsner NEGOTIATION
Silvio K RimItalyXuxue Feng QUALIFIED
Johnson X AlbaresGermanyAsiya Javayant PROPOSAL
James K BologniaFranceStephen Shaw NEGOTIATION
Aika S RulapaughSpainAmy Elsner UNQUALIFIED
Julie P RimSpainXuxue Feng NEW
David J GlickGermanyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Julie Q Inouye
Murillo T Foller
Octavia A Inouye
Maisha G Poquette
Maria P Perin
Julie S Chui
Leja A Caldarera
Tony T Royster
Salvatore X Malet
Mayumi L Chui
Isabel U Darakjy
Juan C Wieser
Murillo A Caldarera
Jennifer D Paprocki
Jones D Nestle
Arvin K Stenseth
Ricardo D Inouye
Kaitlin T Whobrey
Rodrigues Q Butt
Chavez G Wieser
Izzy Y Vocelka
Greenwood R Foller
Wickens L Morasca
Morrow A Whobrey
Sinclair D Albares
Octavia Q Darakjy
Ivar M Chui
Clifford Y Oldroyd
Wickens J Rulapaugh
Stacey E Bowley
Johnson K Inouye
Emily T Figeroa
Jennifer K Oldroyd
Murillo A Darakjy
Ivar M Waycott
Johnson H Chui
Smith B Darakjy
Darci V Malet
David V Sergi
Ricardo A Ruta
Cody K Amigon
Darci M Saylors
Salvatore U Shinko
James D Malet
Clifford S Bolognia
Isabel Z Perin
Clifford N Gillian
Adams Q Darakjy
Murillo X Bolognia
Juan W Malet
IdCountryDate
1000Germany2024-06-14
1001Canada2024-06-19
1002Russia2024-06-01
1003Canada2024-05-31
1004Argentina2024-06-11
1005Germany2024-06-10
1006Spain2024-05-26
1007Russia2024-06-02
1008Russia2024-06-06
1009Russia2024-06-22
1010Brazil2024-06-06
1011Argentina2024-06-24
1012France2024-06-14
1013Brazil2024-06-20
1014Canada2024-06-17
1015Spain2024-06-23
1016Spain2024-06-12
1017United Kingdom2024-06-10
1018Germany2024-06-15
1019Germany2024-06-18
1020Argentina2024-06-12
1021United Kingdom2024-06-15
1022Argentina2024-06-03
1023Australia2024-06-23
1024Germany2024-06-16
1025Russia2024-05-26
1026Germany2024-06-11
1027Brazil2024-06-17
1028Spain2024-05-27
1029United Kingdom2024-06-12
1030Italy2024-06-09
1031India2024-06-07
1032Italy2024-06-21
1033Italy2024-06-23
1034United Kingdom2024-06-07
1035Australia2024-06-15
1036Germany2024-06-21
1037Spain2024-05-31
1038Germany2024-06-23
1039India2024-05-30
1040Canada2024-06-15
1041Spain2024-06-04
1042Italy2024-06-13
1043Brazil2024-06-05
1044France2024-06-09
1045Canada2024-06-13
1046India2024-06-21
1047Brazil2024-06-17
1048Spain2024-06-07
1049France2024-05-27

On-Demand Data

NameIdCountryDate
Salvatore D Nicka1000Russia2024-06-17
Ricardo J Waycott1001United Kingdom2024-06-23
Adams A Perin1002India2024-06-21
Francesco J Sergi1003Spain2024-05-26
Alejandro N Slusarski1004Australia2024-06-07
Silvio A Nicka1005Canada2024-05-29
Nicolas R Caldarera1006Italy2024-06-16
Murillo I Dilliard1007Australia2024-06-14
Kaitlin V Albares1008Argentina2024-06-23
Sinclair S Paprocki1009Germany2024-06-03
Maisha T Kusko1010India2024-05-28
Rodrigues J Albares1011India2024-06-03
Jefferson J Sergi1012Spain2024-06-06
Jennifer U Inouye1013Canada2024-06-17
Izzy G Iturbide1014Germany2024-06-24
Rodrigues N Chui1015India2024-05-27
Arvin J Wieser1016India2024-06-14
Izzy V Nestle1017Brazil2024-06-09
Jennifer P Schemmer1018India2024-06-14
Adams Z Malet1019Canada2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood S GarufiBrazilAnna Fali NEGOTIATION
Aditya M KuskoArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois X SchemmerCanadaElwin Sharvill QUALIFIED
Leja A NestleCanadaAsiya Javayant RENEWAL
Mujtaba C CaldareraJapanAmy Elsner UNQUALIFIED
Octavia E GillianCanadaAnna Fali UNQUALIFIED
David D WaycottCanadaElwin Sharvill NEGOTIATION
Maisha B KolmetzAustraliaIvan Magalhaes RENEWAL
Alejandro C CaudyUnited KingdomBernardo Dominic QUALIFIED
Emily O GarufiAustraliaAnna Fali NEGOTIATION
Leja M MarrierSpainAnna Fali UNQUALIFIED
Misaki H InouyeFranceAmy Elsner QUALIFIED
Morrow R SergiGermanyIoni Bowcher UNQUALIFIED
Cody V RutaFranceIvan Magalhaes QUALIFIED
Ashley X WaycottItalyIvan Magalhaes UNQUALIFIED
Jefferson N VocelkaRussiaStephen Shaw PROPOSAL
Stacey A BriddickIndiaXuxue Feng NEW
Maisha A OstroskyUnited KingdomOnyama Limba QUALIFIED
Johnson J ChuiBrazilAsiya Javayant UNQUALIFIED
Misaki E NickaRussiaXuxue Feng NEGOTIATION
Mayumi H FigeroaRussiaAsiya Javayant NEW
Jefferson Q FollerJapanAmy Elsner NEW
Salvatore G TollnerBrazilXuxue Feng NEW
Johnson M PaprockiGermanyElwin Sharvill NEGOTIATION
Greenwood F CampainRussiaStephen Shaw RENEWAL
Chavez V FollerBrazilIoni Bowcher UNQUALIFIED
Rodrigues H InouyeJapanElwin Sharvill QUALIFIED
Antonio L NestleSpainXuxue Feng RENEWAL
Juan L GauchoBrazilStephen Shaw RENEWAL
Tony F StensethArgentinaIvan Magalhaes UNQUALIFIED
Juan N IturbideBrazilElwin Sharvill NEW
Stacey J GlickFranceAnna Fali QUALIFIED
Misaki G FlosiJapanAnna Fali UNQUALIFIED
Aruna J CampainUnited KingdomAnna Fali UNQUALIFIED
Clifford Z CampainJapanAmy Elsner QUALIFIED
Wickens K KolmetzRussiaElwin Sharvill QUALIFIED
Rodrigues Z CaudyCanadaElwin Sharvill NEGOTIATION
Aruna M OldroydIndiaIvan Magalhaes QUALIFIED
David O SchemmerGermanyBernardo Dominic PROPOSAL
Arvin H NickaJapanBernardo Dominic QUALIFIED

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