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
Wickens Y FigeroaArgentinaOnyama Limba NEGOTIATION
Jones Z CampainRussiaAnna Fali UNQUALIFIED
Faith J MacleadJapanIvan Magalhaes UNQUALIFIED
Leon D SchemmerCanadaStephen Shaw NEW
Cody M AmigonItalyXuxue Feng NEGOTIATION
Mujtaba E GauchoAustraliaIoni Bowcher UNQUALIFIED
Julie O MaletAustraliaXuxue Feng PROPOSAL
Emily X BriddickItalyAnna Fali NEW
Francesco J IturbideRussiaIoni Bowcher UNQUALIFIED
Ashley N ChuiJapanBernardo Dominic PROPOSAL
Costa T MaletJapanBernardo Dominic NEGOTIATION
Rodrigues Y KuskoJapanIoni Bowcher RENEWAL
Faith X AlbaresBrazilIvan Magalhaes UNQUALIFIED
Kaitlin L RulapaughGermanyOnyama Limba NEGOTIATION
Izzy X MarrierUnited KingdomXuxue Feng NEGOTIATION
Jefferson B AmigonArgentinaAnna Fali QUALIFIED
Izzy A FerenczUnited KingdomXuxue Feng QUALIFIED
Jones Q GillianUnited KingdomBernardo Dominic NEGOTIATION
David N WhobreyJapanIoni Bowcher UNQUALIFIED
Octavia J InouyeUnited KingdomXuxue Feng QUALIFIED
Morrow H GauchoBrazilOnyama Limba UNQUALIFIED
Maria H PerinJapanBernardo Dominic PROPOSAL
Murillo F FlosiIndiaOnyama Limba NEW
Faith O MarrierArgentinaStephen Shaw NEW
Johnson Z ButtRussiaAsiya Javayant PROPOSAL
Izzy N SergiBrazilAsiya Javayant PROPOSAL
Aditya D PoquetteSpainAmy Elsner PROPOSAL
Smith L SchemmerFranceXuxue Feng PROPOSAL
Nicolas I StensethSpainOnyama Limba NEGOTIATION
Munro Y OstroskyBrazilIvan Magalhaes QUALIFIED
Darci S IturbideRussiaIvan Magalhaes RENEWAL
Mayumi T StockhamIndiaAnna Fali UNQUALIFIED
Maisha V SchemmerAustraliaXuxue Feng NEGOTIATION
Francesco I FlosiCanadaAmy Elsner NEW
Greenwood U KolmetzJapanOnyama Limba RENEWAL
Wickens Z BologniaAustraliaElwin Sharvill PROPOSAL
Wickens X MarrierRussiaAsiya Javayant NEW
Arvin R WhobreyIndiaOnyama Limba PROPOSAL
Francesco D StensethGermanyIvan Magalhaes QUALIFIED
Mayumi H MaletFranceAmy Elsner NEW
Claire Y CampainAustraliaIoni Bowcher QUALIFIED
Ivar F CaldareraBrazilStephen Shaw RENEWAL
Tony K FigeroaCanadaIvan Magalhaes UNQUALIFIED
Faith T MaletFranceXuxue Feng PROPOSAL
Wickens Y SergiArgentinaBernardo Dominic NEGOTIATION
Isabel Y SlusarskiItalyAnna Fali PROPOSAL
Munro G ButtAustraliaAsiya Javayant NEW
Maisha W CampainCanadaStephen Shaw UNQUALIFIED
Tony S ChuiAustraliaAnna Fali PROPOSAL
Maria C CaudyGermanyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones S StensethGermanyElwin Sharvill NEW
Murillo R MaletFranceElwin Sharvill QUALIFIED
Sinclair H RulapaughBrazilOnyama Limba NEGOTIATION
Jeanfrancois R SaylorsFranceAsiya Javayant NEW
Maisha O BriddickItalyAnna Fali RENEWAL
Izzy E WaycottGermanyOnyama Limba NEW
Johnson G GlickGermanyStephen Shaw RENEWAL
Jennifer J BologniaBrazilBernardo Dominic RENEWAL
Juan O RoysterRussiaOnyama Limba NEGOTIATION
Claire W AmigonFranceStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens H RimJapan2025-04-23Chemel, James L Cpa NEW32Elwin Sharvill
1001Antonio D CampainUnited Kingdom2025-04-23Rousseaux, Michael Esq NEW3Asiya Javayant
1002Greenwood V GauchoUnited Kingdom2025-04-06Dorl, James J Esq QUALIFIED75Xuxue Feng
1003Silvio Z WhobreyGermany2025-04-18Rousseaux, Michael Esq UNQUALIFIED21Asiya Javayant
1004Silvio L MacleadItaly2025-04-20Chanay, Jeffrey A Esq NEGOTIATION54Asiya Javayant
1005Alejandro I BowleyArgentina2025-04-14Commercial Press RENEWAL17Ivan Magalhaes
1006Francesco Y ChuiSpain2025-04-11Commercial Press RENEWAL0Xuxue Feng
1007Salvatore B GlickCanada2025-04-10Buckley Miller Wright PROPOSAL29Bernardo Dominic
1008Greenwood Y MaletJapan2025-04-30Morlong Associates RENEWAL3Onyama Limba
1009Jones P NestleGermany2025-05-04Feltz Printing Service RENEWAL60Xuxue Feng
1010Costa Z SaylorsBrazil2025-04-23Feiner Bros NEGOTIATION83Elwin Sharvill
1011Faith E GarufiFrance2025-04-09Truhlar And Truhlar Attys QUALIFIED2Ioni Bowcher
1012Jeanfrancois Z RoysterItaly2025-05-02Rangoni Of Florence RENEWAL74Stephen Shaw
1013Maisha Y StockhamIndia2025-04-06Chemel, James L Cpa NEGOTIATION25Elwin Sharvill
1014Francesco W FollerUnited Kingdom2025-04-18Rangoni Of Florence RENEWAL53Ioni Bowcher
1015Isabel Z RulapaughAustralia2025-04-11Truhlar And Truhlar Attys UNQUALIFIED32Anna Fali
1016Juan P OldroydItaly2025-04-08Rangoni Of Florence PROPOSAL8Stephen Shaw
1017Emily I MacleadItaly2025-04-14Chemel, James L Cpa RENEWAL71Ioni Bowcher
1018Isabel L CaudyRussia2025-04-12Buckley Miller Wright RENEWAL72Onyama Limba
1019Arvin A NestleJapan2025-04-06Morlong Associates PROPOSAL86Bernardo Dominic
1020Aditya R BologniaRussia2025-04-27Feiner Bros RENEWAL51Ivan Magalhaes
1021Julie Z MaletSpain2025-05-04Buckley Miller Wright NEW1Xuxue Feng
1022Wickens G SaylorsSpain2025-04-13Benton, John B Jr PROPOSAL57Ivan Magalhaes
1023Ivar B KuskoAustralia2025-04-18Rangoni Of Florence RENEWAL7Stephen Shaw
1024Alejandro U SchemmerBrazil2025-04-11Dorl, James J Esq RENEWAL93Elwin Sharvill
1025Aika X FlosiItaly2025-04-14Morlong Associates NEW41Asiya Javayant
1026Johnson N DoeRussia2025-04-13Truhlar And Truhlar Attys NEW15Asiya Javayant
1027Emily S KuskoFrance2025-04-10Dorl, James J Esq QUALIFIED57Bernardo Dominic
1028Emily R MarrierAustralia2025-04-26Chapman, Ross E Esq QUALIFIED55Ioni Bowcher
1029Antonio S MacleadCanada2025-04-24Morlong Associates RENEWAL43Xuxue Feng
1030Jeanfrancois N AlbaresIndia2025-04-11Dorl, James J Esq QUALIFIED20Ivan Magalhaes
1031Jefferson W SchemmerArgentina2025-04-10Benton, John B Jr QUALIFIED88Elwin Sharvill
1032Maria G AmigonJapan2025-04-22Chemel, James L Cpa NEGOTIATION86Ioni Bowcher
1033Julie A SlusarskiCanada2025-04-13Commercial Press QUALIFIED44Stephen Shaw
1034Jennifer G CaudyFrance2025-04-29Benton, John B Jr PROPOSAL63Amy Elsner
1035Alejandro N AlbaresIndia2025-04-12Dorl, James J Esq NEGOTIATION81Amy Elsner
1036Aruna W IturbideJapan2025-05-05Morlong Associates NEW26Bernardo Dominic
1037Murillo K NickaJapan2025-05-01Buckley Miller Wright NEGOTIATION20Ivan Magalhaes
1038Murillo C ShinkoGermany2025-04-15Printing Dimensions RENEWAL26Bernardo Dominic
1039Francesco O DarakjyArgentina2025-04-26Dorl, James J Esq PROPOSAL18Elwin Sharvill
1040Salvatore D OstroskyBrazil2025-04-17Rangoni Of Florence UNQUALIFIED76Asiya Javayant
1041Darci E StockhamSpain2025-04-12Rangoni Of Florence QUALIFIED94Elwin Sharvill
1042Faith U RimArgentina2025-04-30Chapman, Ross E Esq PROPOSAL78Onyama Limba
1043Leja X DoeItaly2025-05-01Feltz Printing Service RENEWAL43Ioni Bowcher
1044Alejandro L SaylorsCanada2025-04-17Printing Dimensions QUALIFIED85Bernardo Dominic
1045Jones C FigeroaUnited Kingdom2025-04-09Chemel, James L Cpa NEW58Elwin Sharvill
1046Faith W MaletArgentina2025-04-09Chanay, Jeffrey A Esq RENEWAL96Ioni Bowcher
1047Stacey A BriddickGermany2025-04-17King, Christopher A Esq QUALIFIED30Ivan Magalhaes
1048Clifford A RoysterBrazil2025-04-28King, Christopher A Esq PROPOSAL81Anna Fali
1049Johnson T StockhamUnited Kingdom2025-05-01Chemel, James L Cpa QUALIFIED80Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aruna P BriddickBrazilElwin Sharvill NEW
Julie N BologniaUnited KingdomElwin Sharvill RENEWAL
Aruna I SaylorsCanadaAnna Fali UNQUALIFIED
James F StockhamItalyElwin Sharvill NEW
Johnson G MacleadItalyElwin Sharvill NEW
Jefferson L SergiUnited KingdomAmy Elsner PROPOSAL
Maria K FollerUnited KingdomElwin Sharvill QUALIFIED
Aruna H KuskoGermanyStephen Shaw PROPOSAL
Aika O SlusarskiRussiaAsiya Javayant NEGOTIATION
Ashley N DilliardIndiaXuxue Feng QUALIFIED
Murillo U GlickSpainIoni Bowcher QUALIFIED
Smith J GlickFranceAsiya Javayant RENEWAL
Aruna Z ShinkoJapanAmy Elsner UNQUALIFIED
Murillo G ChuiFranceAmy Elsner PROPOSAL
Chavez F MarrierAustraliaIvan Magalhaes NEW
Aruna R KolmetzRussiaAnna Fali RENEWAL
Misaki O InouyeFranceAmy Elsner UNQUALIFIED
Greenwood H WaycottArgentinaOnyama Limba PROPOSAL
Juan M OldroydAustraliaAmy Elsner PROPOSAL
Faith G WhobreyItalyAmy Elsner PROPOSAL
Tony L RoysterIndiaAnna Fali NEGOTIATION
Antonio S RimCanadaAmy Elsner RENEWAL
Emily M ChuiRussiaStephen Shaw UNQUALIFIED
Francesco O DilliardCanadaElwin Sharvill UNQUALIFIED
Silvio H WhobreyCanadaAnna Fali NEGOTIATION
Isabel V KolmetzItalyElwin Sharvill NEGOTIATION
Salvatore V GarufiJapanBernardo Dominic QUALIFIED
Julie D PaprockiSpainAsiya Javayant UNQUALIFIED
Costa G OldroydAustraliaOnyama Limba PROPOSAL
Greenwood H BologniaRussiaIvan Magalhaes NEW
David J ChuiIndiaIvan Magalhaes QUALIFIED
Leja X BriddickItalyBernardo Dominic NEGOTIATION
Stacey K FollerJapanIvan Magalhaes QUALIFIED
Ricardo B OstroskyArgentinaAnna Fali PROPOSAL
Tony T ButtIndiaIvan Magalhaes RENEWAL
Deepesh K BologniaSpainAnna Fali NEW
Costa C PerinJapanOnyama Limba UNQUALIFIED
Mujtaba H CaudySpainBernardo Dominic QUALIFIED
Wickens I GauchoBrazilIoni Bowcher RENEWAL
Izzy T StockhamArgentinaOnyama Limba RENEWAL
Aruna E VenereFranceIvan Magalhaes NEW
Nicolas D BriddickGermanyAnna Fali UNQUALIFIED
Aika W MaletIndiaXuxue Feng NEGOTIATION
Antonio F DoeUnited KingdomBernardo Dominic NEGOTIATION
Izzy H BriddickUnited KingdomAnna Fali RENEWAL
Sinclair W KuskoSpainIvan Magalhaes RENEWAL
Wickens X GauchoIndiaBernardo Dominic UNQUALIFIED
Tony C RulapaughArgentinaAnna Fali NEW
Aditya C BowleyJapanBernardo Dominic NEW
Jennifer L PaprockiIndiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Darci G Figeroa
Julie T Bowley
Arvin P Ostrosky
Emily T Venere
Jeanfrancois T Iturbide
Jeanfrancois C Oldroyd
Costa H Glick
Nicolas B Kusko
Kadeem W Caldarera
Jones S Bolognia
Maria N Gillian
Cody P Flosi
Mayumi C Shinko
Munro C Butt
Julie H Maclead
Deepesh U Poquette
Jeanfrancois L Venere
Ivar V Nestle
Cody H Doe
Leon B Shinko
Izzy G Whobrey
Julie V Figeroa
Silvio S Darakjy
Mujtaba Y Inouye
Jones L Butt
Misaki X Poquette
David N Maclead
Kaitlin O Venere
Jeanfrancois X Sergi
Tony Q Wieser
Mayumi M Briddick
Maria X Whobrey
Maria A Waycott
Aruna G Doe
Chavez J Slusarski
David W Malet
Nicolas R Slusarski
Darci Y Stockham
Misaki P Royster
Misaki V Figeroa
Misaki F Bowley
Mujtaba G Dilliard
Greenwood Y Venere
Deepesh J Malet
Tony L Flosi
Johnson F Campain
Johnson U Butt
Cody C Kusko
Stacey K Campain
Emily E Nestle
IdCountryDate
1000Argentina2025-04-19
1001Russia2025-04-07
1002Italy2025-04-30
1003Canada2025-04-06
1004Argentina2025-04-26
1005United Kingdom2025-05-04
1006Japan2025-04-22
1007Japan2025-04-15
1008Japan2025-04-19
1009Argentina2025-04-12
1010Japan2025-05-04
1011Spain2025-04-24
1012United Kingdom2025-04-26
1013India2025-04-20
1014Argentina2025-05-04
1015Brazil2025-05-01
1016United Kingdom2025-04-13
1017Australia2025-04-17
1018Italy2025-04-30
1019India2025-04-15
1020Russia2025-04-29
1021Canada2025-04-10
1022Spain2025-04-30
1023Brazil2025-04-08
1024Japan2025-05-04
1025France2025-04-24
1026Brazil2025-04-25
1027Argentina2025-05-02
1028Japan2025-04-24
1029India2025-05-01
1030Japan2025-04-14
1031Japan2025-04-07
1032Italy2025-04-17
1033Brazil2025-04-24
1034India2025-04-19
1035United Kingdom2025-04-15
1036Canada2025-04-22
1037Spain2025-04-16
1038France2025-04-28
1039Brazil2025-04-23
1040Argentina2025-04-26
1041Canada2025-04-20
1042United Kingdom2025-04-25
1043Russia2025-04-17
1044Australia2025-04-26
1045Japan2025-04-18
1046France2025-04-29
1047India2025-04-09
1048Australia2025-04-29
1049Germany2025-05-05

On-Demand Data

NameIdCountryDate
Jefferson T Inouye1000Argentina2025-04-09
David Q Gaucho1001France2025-04-16
Kadeem Y Briddick1002Japan2025-04-15
Greenwood J Stockham1003India2025-04-19
Mujtaba B Foller1004India2025-04-21
Antonio Z Amigon1005Germany2025-04-06
Octavia L Butt1006Germany2025-04-18
Smith C Figeroa1007India2025-04-29
Darci U Malet1008Italy2025-05-04
Francesco Z Doe1009United Kingdom2025-04-09
Chavez T Schemmer1010Brazil2025-04-30
Jeanfrancois C Bowley1011United Kingdom2025-04-27
Darci S Amigon1012United Kingdom2025-04-07
Wickens N Slusarski1013Italy2025-04-09
Kaitlin L Darakjy1014Australia2025-04-17
David Y Caudy1015Japan2025-05-05
Octavia N Shinko1016Russia2025-04-15
Mujtaba Z Paprocki1017India2025-05-05
Leja Q Ruta1018Germany2025-04-24
Morrow E Gillian1019Canada2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh P StockhamFranceXuxue Feng QUALIFIED
Rodrigues H ChuiArgentinaElwin Sharvill NEW
Jennifer X MaletGermanyIoni Bowcher RENEWAL
Rodrigues E SaylorsFranceElwin Sharvill PROPOSAL
Chavez Q NestleBrazilIoni Bowcher RENEWAL
Ricardo P OldroydFranceStephen Shaw QUALIFIED
Juan C WaycottGermanyAsiya Javayant PROPOSAL
Alejandro F RimIndiaElwin Sharvill NEGOTIATION
Greenwood S SergiUnited KingdomAnna Fali RENEWAL
Arvin Y MorascaItalyXuxue Feng NEGOTIATION
Izzy B SergiGermanyIoni Bowcher NEW
Alejandro M IturbideCanadaAnna Fali NEGOTIATION
Chavez O ButtAustraliaXuxue Feng QUALIFIED
Adams S IturbideFranceBernardo Dominic PROPOSAL
Greenwood M DarakjyJapanIoni Bowcher RENEWAL
Mayumi X PaprockiIndiaAsiya Javayant PROPOSAL
Jones U KolmetzBrazilIvan Magalhaes NEW
Cody B RulapaughJapanOnyama Limba PROPOSAL
Aditya S GillianFranceXuxue Feng UNQUALIFIED
Misaki F CaudyBrazilIoni Bowcher QUALIFIED
Isabel T StockhamIndiaIoni Bowcher NEW
Jefferson H SlusarskiSpainAnna Fali PROPOSAL
Smith F GarufiIndiaIvan Magalhaes NEW
Ricardo L DoeUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba I MacleadBrazilOnyama Limba UNQUALIFIED
Clifford I StensethArgentinaAsiya Javayant RENEWAL
James Z InouyeJapanAmy Elsner QUALIFIED
Greenwood F SaylorsIndiaElwin Sharvill QUALIFIED
Morrow B WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Leja K RutaGermanyStephen Shaw NEW
Francesco L KolmetzAustraliaElwin Sharvill NEGOTIATION
Adams E StensethRussiaAsiya Javayant QUALIFIED
Greenwood O CampainIndiaAnna Fali NEGOTIATION
Jennifer U FerenczUnited KingdomBernardo Dominic RENEWAL
Tony C OldroydRussiaXuxue Feng RENEWAL
Costa H DarakjyFranceAmy Elsner NEW
Julie U AlbaresItalyStephen Shaw QUALIFIED
Julie P VenereFranceAnna Fali RENEWAL
Aruna X VocelkaRussiaIvan Magalhaes NEW
Kadeem K MarrierGermanyXuxue Feng 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>