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
Francesco O IturbideIndiaElwin Sharvill UNQUALIFIED
Smith V NickaSpainStephen Shaw RENEWAL
Claire L FlosiJapanXuxue Feng PROPOSAL
Misaki V KuskoIndiaAmy Elsner RENEWAL
Wickens J PoquetteArgentinaAsiya Javayant QUALIFIED
Maria U BologniaItalyXuxue Feng NEW
Deepesh L MaletFranceXuxue Feng PROPOSAL
Johnson N BologniaItalyAsiya Javayant QUALIFIED
Stacey U InouyeItalyElwin Sharvill RENEWAL
Tony T StensethCanadaAmy Elsner NEGOTIATION
Mujtaba J DarakjyItalyOnyama Limba NEGOTIATION
Julie Q KuskoItalyAnna Fali UNQUALIFIED
Aika A StockhamRussiaElwin Sharvill PROPOSAL
Chavez J ShinkoRussiaIvan Magalhaes NEGOTIATION
Wickens K RulapaughUnited KingdomAmy Elsner RENEWAL
Rodrigues X BologniaRussiaXuxue Feng NEGOTIATION
Misaki G FigeroaFranceIoni Bowcher QUALIFIED
Greenwood X CaudyGermanyBernardo Dominic UNQUALIFIED
Darci E CampainIndiaIoni Bowcher NEGOTIATION
Izzy O PerinBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois Y PaprockiGermanyIvan Magalhaes UNQUALIFIED
Darci Q PerinIndiaOnyama Limba PROPOSAL
Morrow M GauchoRussiaAmy Elsner UNQUALIFIED
Salvatore G BologniaItalyStephen Shaw UNQUALIFIED
Adams O OldroydSpainAnna Fali NEW
Juan Z NestleIndiaStephen Shaw RENEWAL
Aditya J AmigonRussiaIoni Bowcher UNQUALIFIED
Maisha E GauchoUnited KingdomIoni Bowcher PROPOSAL
Ricardo X AlbaresIndiaIoni Bowcher QUALIFIED
Leon N AmigonArgentinaIoni Bowcher RENEWAL
Rodrigues W SchemmerSpainAsiya Javayant QUALIFIED
Julie H GlickBrazilIvan Magalhaes PROPOSAL
Silvio W SlusarskiBrazilStephen Shaw NEGOTIATION
Francesco Q VocelkaSpainIoni Bowcher NEW
Izzy A VenereRussiaBernardo Dominic RENEWAL
Alejandro U PoquetteCanadaIvan Magalhaes QUALIFIED
Izzy J VocelkaIndiaAmy Elsner RENEWAL
Johnson O DarakjyUnited KingdomAmy Elsner NEW
Faith M MaletIndiaAsiya Javayant UNQUALIFIED
Aruna T GauchoUnited KingdomAmy Elsner NEGOTIATION
Johnson M GarufiRussiaOnyama Limba NEW
Jennifer M BriddickAustraliaAmy Elsner NEW
Ivar X MacleadAustraliaIoni Bowcher RENEWAL
Jennifer O KolmetzGermanyStephen Shaw UNQUALIFIED
Silvio K CaudyJapanAnna Fali PROPOSAL
Jeanfrancois P KolmetzIndiaElwin Sharvill NEW
Kaitlin V AmigonJapanAmy Elsner QUALIFIED
Ashley S DilliardRussiaBernardo Dominic QUALIFIED
Ashley A MorascaRussiaIoni Bowcher NEGOTIATION
Murillo I SaylorsGermanyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois N WaycottBrazilIoni Bowcher QUALIFIED
Mayumi G GillianArgentinaIvan Magalhaes PROPOSAL
Alejandro D FigeroaGermanyAnna Fali NEW
Ricardo L WaycottItalyIvan Magalhaes PROPOSAL
Aruna P NickaAustraliaIoni Bowcher NEGOTIATION
Alejandro A FerenczRussiaStephen Shaw RENEWAL
Morrow A VocelkaSpainElwin Sharvill PROPOSAL
Mujtaba G PerinGermanyAmy Elsner PROPOSAL
Misaki S RulapaughSpainElwin Sharvill UNQUALIFIED
Mujtaba I NestleIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro N GarufiBrazil2024-06-13Commercial Press NEW87Asiya Javayant
1001Tony Y InouyeItaly2024-05-31Printing Dimensions NEW21Ioni Bowcher
1002Francesco M MacleadJapan2024-06-12Buckley Miller Wright NEGOTIATION35Ivan Magalhaes
1003Morrow A DarakjyItaly2024-06-16Chemel, James L Cpa QUALIFIED15Bernardo Dominic
1004Isabel T PoquetteJapan2024-06-08Feiner Bros UNQUALIFIED90Bernardo Dominic
1005Sinclair Y RimIndia2024-05-24Buckley Miller Wright RENEWAL86Ioni Bowcher
1006Jones S GarufiSpain2024-06-06Feltz Printing Service PROPOSAL68Onyama Limba
1007Darci G MaletArgentina2024-06-09Truhlar And Truhlar Attys UNQUALIFIED84Onyama Limba
1008Ashley X AlbaresSpain2024-06-10Rangoni Of Florence QUALIFIED66Ioni Bowcher
1009Juan S WhobreyUnited Kingdom2024-06-06Feiner Bros UNQUALIFIED92Asiya Javayant
1010Misaki J NickaAustralia2024-06-06Dorl, James J Esq PROPOSAL56Bernardo Dominic
1011Rodrigues O SergiUnited Kingdom2024-06-12Rangoni Of Florence RENEWAL11Ivan Magalhaes
1012Izzy C GillianBrazil2024-06-11Chemel, James L Cpa NEW27Ioni Bowcher
1013Antonio Q GauchoGermany2024-06-09Commercial Press QUALIFIED1Asiya Javayant
1014Emily W WieserGermany2024-05-20Chemel, James L Cpa QUALIFIED83Bernardo Dominic
1015Rodrigues V SaylorsBrazil2024-06-17Buckley Miller Wright NEW1Onyama Limba
1016Ashley C WaycottIndia2024-05-23Rousseaux, Michael Esq NEW55Onyama Limba
1017Maisha L DoeBrazil2024-05-27King, Christopher A Esq RENEWAL58Elwin Sharvill
1018Mayumi B AlbaresUnited Kingdom2024-05-31Morlong Associates QUALIFIED66Anna Fali
1019Kaitlin G ShinkoGermany2024-06-10Truhlar And Truhlar Attys PROPOSAL39Stephen Shaw
1020Tony R WhobreyRussia2024-05-26Chapman, Ross E Esq NEGOTIATION11Amy Elsner
1021Rodrigues F ButtBrazil2024-06-08Feltz Printing Service PROPOSAL9Stephen Shaw
1022Mujtaba O MorascaUnited Kingdom2024-05-25Feiner Bros QUALIFIED17Anna Fali
1023Izzy P AlbaresSpain2024-06-15Morlong Associates PROPOSAL35Anna Fali
1024Salvatore V AlbaresArgentina2024-06-16Chapman, Ross E Esq NEGOTIATION80Amy Elsner
1025Clifford C ChuiSpain2024-05-24Chapman, Ross E Esq QUALIFIED25Ioni Bowcher
1026Alejandro D BriddickJapan2024-05-22King, Christopher A Esq RENEWAL24Xuxue Feng
1027Clifford Y MorascaItaly2024-06-04Commercial Press UNQUALIFIED31Xuxue Feng
1028Deepesh M VocelkaBrazil2024-06-17Benton, John B Jr QUALIFIED4Asiya Javayant
1029Leja D StensethItaly2024-06-03Chemel, James L Cpa NEW84Xuxue Feng
1030Smith D FollerIndia2024-06-15Commercial Press UNQUALIFIED12Elwin Sharvill
1031Chavez Z NickaIndia2024-05-24King, Christopher A Esq NEW97Anna Fali
1032David R AlbaresSpain2024-06-04Rousseaux, Michael Esq QUALIFIED30Elwin Sharvill
1033Antonio N DilliardBrazil2024-06-14Dorl, James J Esq QUALIFIED63Bernardo Dominic
1034Cody P RimAustralia2024-06-04Chanay, Jeffrey A Esq PROPOSAL87Ioni Bowcher
1035Jefferson D RutaGermany2024-06-07King, Christopher A Esq PROPOSAL85Anna Fali
1036Aruna F StockhamSpain2024-06-04Feltz Printing Service UNQUALIFIED59Xuxue Feng
1037Octavia U NestleIndia2024-05-30Commercial Press RENEWAL14Xuxue Feng
1038Clifford B SergiGermany2024-06-07Rangoni Of Florence NEGOTIATION45Ioni Bowcher
1039Ashley K IturbideFrance2024-05-23Printing Dimensions NEW57Onyama Limba
1040Jones W BowleyRussia2024-05-21Chemel, James L Cpa RENEWAL98Onyama Limba
1041Julie Q FigeroaAustralia2024-05-26Commercial Press RENEWAL47Bernardo Dominic
1042Izzy G OldroydUnited Kingdom2024-06-11Feiner Bros NEW49Ivan Magalhaes
1043Mayumi K RulapaughAustralia2024-05-23Commercial Press UNQUALIFIED22Anna Fali
1044Mayumi D SchemmerRussia2024-05-30Feiner Bros NEW48Onyama Limba
1045Jones R WhobreyRussia2024-06-02Chanay, Jeffrey A Esq NEGOTIATION34Anna Fali
1046Sinclair B BriddickItaly2024-06-01Truhlar And Truhlar Attys NEGOTIATION64Xuxue Feng
1047Tony H OstroskyIndia2024-06-06Chemel, James L Cpa RENEWAL11Stephen Shaw
1048Stacey U WhobreyArgentina2024-05-26Benton, John B Jr NEW97Bernardo Dominic
1049Johnson Y DarakjyGermany2024-05-22Feiner Bros RENEWAL40Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Juan C OstroskyCanadaAmy Elsner QUALIFIED
Maisha D MarrierCanadaAnna Fali NEW
Mujtaba D RimJapanAsiya Javayant UNQUALIFIED
Mayumi X CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Wickens C MaletSpainAsiya Javayant NEW
Antonio L MacleadCanadaElwin Sharvill RENEWAL
Morrow H OldroydCanadaIvan Magalhaes PROPOSAL
Clifford A DarakjyRussiaIvan Magalhaes PROPOSAL
James J ButtJapanBernardo Dominic UNQUALIFIED
Mujtaba V CampainArgentinaIvan Magalhaes QUALIFIED
Clifford F CaudyUnited KingdomAmy Elsner PROPOSAL
Aruna Q NestleIndiaBernardo Dominic NEGOTIATION
Kaitlin L AlbaresItalyAnna Fali NEW
Ivar X DilliardRussiaStephen Shaw NEW
Misaki N RoysterCanadaIvan Magalhaes UNQUALIFIED
Ivar K PaprockiRussiaAsiya Javayant PROPOSAL
Antonio V BowleyArgentinaAnna Fali NEGOTIATION
Cody J FlosiRussiaOnyama Limba QUALIFIED
Salvatore G GlickGermanyAnna Fali PROPOSAL
Leja H MacleadBrazilIvan Magalhaes UNQUALIFIED
Juan M FlosiRussiaAnna Fali QUALIFIED
Aditya F ShinkoFranceElwin Sharvill QUALIFIED
Tony P BriddickAustraliaOnyama Limba UNQUALIFIED
Aruna Y RoysterAustraliaAmy Elsner NEGOTIATION
Aruna C WieserAustraliaXuxue Feng NEW
Emily C OstroskyJapanIoni Bowcher RENEWAL
James K KuskoAustraliaAnna Fali QUALIFIED
Smith A SergiItalyAnna Fali NEGOTIATION
Jones P WaycottFranceOnyama Limba NEW
Morrow S SchemmerCanadaBernardo Dominic PROPOSAL
Greenwood N BowleySpainBernardo Dominic NEW
Nicolas H ButtIndiaIoni Bowcher RENEWAL
Ivar V FerenczCanadaOnyama Limba RENEWAL
Deepesh K PoquetteJapanStephen Shaw UNQUALIFIED
Smith U StockhamFranceIoni Bowcher NEGOTIATION
Claire C PoquetteJapanElwin Sharvill RENEWAL
Sinclair A RimGermanyAnna Fali NEW
Kadeem V NickaAustraliaElwin Sharvill RENEWAL
Claire X PoquetteFranceIoni Bowcher NEGOTIATION
Maisha W ShinkoIndiaAmy Elsner NEGOTIATION
Wickens I KolmetzGermanyBernardo Dominic RENEWAL
Isabel E BologniaIndiaXuxue Feng NEW
Isabel H RutaIndiaOnyama Limba NEW
Emily N FigeroaArgentinaOnyama Limba RENEWAL
Aditya Q MaletArgentinaAmy Elsner PROPOSAL
Costa A FollerCanadaAnna Fali PROPOSAL
Jefferson N GarufiRussiaIvan Magalhaes UNQUALIFIED
Rodrigues T KolmetzIndiaIvan Magalhaes NEGOTIATION
Deepesh O FollerItalyIoni Bowcher PROPOSAL
Alejandro N NestleFranceXuxue Feng RENEWAL
Frozen Columns
Name
Darci O Briddick
Misaki I Dilliard
Munro F Butt
James O Caldarera
Costa O Royster
Julie V Perin
Morrow K Gillian
Rodrigues M Slusarski
Nicolas I Venere
Juan V Malet
Nicolas P Campain
Silvio Z Morasca
Izzy O Foller
Jones Y Stockham
Francesco J Ferencz
Emily D Stenseth
Rodrigues L Nestle
Johnson Z Caldarera
Jones T Paprocki
Emily A Caldarera
Adams F Dilliard
James T Albares
Kaitlin H Gaucho
Ivar R Wieser
Kaitlin V Schemmer
Silvio F Nicka
Deepesh H Caldarera
Alejandro C Darakjy
Johnson Y Ostrosky
Leja C Figeroa
Jeanfrancois O Gillian
Juan J Ostrosky
Alejandro G Rulapaugh
Maisha U Nicka
Kadeem J Rulapaugh
Smith A Paprocki
Costa J Ferencz
Johnson B Malet
Nicolas E Flosi
Antonio L Flosi
Francesco K Slusarski
Murillo T Rim
Claire X Garufi
Rodrigues B Gaucho
Morrow V Gillian
Aditya O Malet
Greenwood Z Foller
Salvatore D Venere
Darci M Venere
Mayumi H Bolognia
IdCountryDate
1000Argentina2024-05-21
1001Argentina2024-06-04
1002Canada2024-06-07
1003India2024-06-03
1004Canada2024-05-20
1005France2024-05-19
1006Italy2024-06-15
1007Italy2024-05-28
1008India2024-05-22
1009Australia2024-05-31
1010Brazil2024-06-13
1011Italy2024-05-26
1012Brazil2024-06-03
1013Japan2024-06-07
1014India2024-05-20
1015United Kingdom2024-06-09
1016Russia2024-05-19
1017India2024-06-03
1018Argentina2024-06-11
1019Argentina2024-06-03
1020Argentina2024-05-19
1021United Kingdom2024-05-31
1022India2024-05-29
1023India2024-05-19
1024Canada2024-06-16
1025Italy2024-06-15
1026Argentina2024-05-26
1027Germany2024-05-24
1028Australia2024-06-01
1029Germany2024-06-03
1030France2024-06-15
1031Japan2024-06-16
1032Russia2024-06-02
1033France2024-05-20
1034Canada2024-06-14
1035Australia2024-06-10
1036United Kingdom2024-06-08
1037Italy2024-05-26
1038Canada2024-06-02
1039United Kingdom2024-06-01
1040Canada2024-05-20
1041Japan2024-06-01
1042India2024-05-30
1043France2024-06-16
1044Canada2024-05-29
1045Spain2024-06-07
1046Germany2024-05-27
1047Japan2024-06-01
1048Brazil2024-06-17
1049Germany2024-06-07

On-Demand Data

NameIdCountryDate
Clifford U Oldroyd1000United Kingdom2024-05-22
Izzy K Venere1001Australia2024-06-03
Aika Q Rulapaugh1002Australia2024-06-02
Kadeem T Campain1003Spain2024-06-12
Deepesh U Caldarera1004Spain2024-06-15
Juan S Malet1005Japan2024-06-14
Salvatore F Shinko1006Canada2024-05-23
Darci C Albares1007Italy2024-06-11
Jeanfrancois V Inouye1008Argentina2024-06-10
Jeanfrancois B Foller1009Italy2024-06-07
Mayumi R Shinko1010Argentina2024-06-06
Costa E Darakjy1011Italy2024-06-16
Morrow B Malet1012Japan2024-06-06
Morrow H Maclead1013France2024-06-01
Faith O Albares1014United Kingdom2024-05-24
Sinclair K Flosi1015India2024-06-16
Costa X Maclead1016Japan2024-06-17
Munro C Amigon1017Canada2024-06-13
Izzy X Tollner1018Brazil2024-05-23
Jennifer B Chui1019Russia2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba T PerinBrazilAsiya Javayant QUALIFIED
Salvatore Z MaletBrazilBernardo Dominic QUALIFIED
Cody X BowleyIndiaAnna Fali NEGOTIATION
David A IturbideIndiaIvan Magalhaes PROPOSAL
Rodrigues G TollnerBrazilBernardo Dominic QUALIFIED
Aika U BologniaFranceBernardo Dominic NEGOTIATION
Ricardo K StockhamArgentinaOnyama Limba PROPOSAL
Kaitlin O ShinkoCanadaStephen Shaw PROPOSAL
Chavez R KolmetzGermanyXuxue Feng NEGOTIATION
Jennifer L SchemmerCanadaIoni Bowcher UNQUALIFIED
Tony S ShinkoItalyAnna Fali QUALIFIED
Izzy C RimRussiaIvan Magalhaes NEGOTIATION
Murillo T FlosiItalyXuxue Feng PROPOSAL
Salvatore B RimFranceIvan Magalhaes RENEWAL
Chavez V OstroskyUnited KingdomOnyama Limba QUALIFIED
Maria D FlosiItalyXuxue Feng RENEWAL
Antonio H MaletFranceBernardo Dominic RENEWAL
Rodrigues A RimArgentinaAnna Fali UNQUALIFIED
Jefferson L MarrierArgentinaBernardo Dominic PROPOSAL
Adams B KuskoUnited KingdomStephen Shaw RENEWAL
Isabel R OldroydIndiaIvan Magalhaes PROPOSAL
Jeanfrancois B KolmetzSpainElwin Sharvill NEGOTIATION
Maisha H ButtItalyXuxue Feng NEGOTIATION
Kadeem C RulapaughItalyOnyama Limba NEGOTIATION
Cody W SchemmerCanadaAmy Elsner QUALIFIED
Juan U CaudySpainAmy Elsner PROPOSAL
Adams O ChuiGermanyAsiya Javayant QUALIFIED
Antonio Y NestleArgentinaElwin Sharvill NEW
Claire V TollnerJapanIvan Magalhaes NEW
Alejandro O OldroydItalyAsiya Javayant PROPOSAL
David H OstroskyItalyOnyama Limba NEGOTIATION
Johnson I MaletArgentinaAnna Fali PROPOSAL
Darci Y StensethCanadaAmy Elsner NEW
Faith B GauchoFranceXuxue Feng NEW
David N WieserItalyElwin Sharvill PROPOSAL
Antonio E GillianJapanXuxue Feng UNQUALIFIED
Clifford E AlbaresItalyOnyama Limba QUALIFIED
Greenwood Y PoquetteBrazilAmy Elsner NEGOTIATION
Wickens A SchemmerBrazilElwin Sharvill QUALIFIED
Deepesh N AlbaresCanadaAnna Fali 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>