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
Misaki X BriddickSpainIoni Bowcher NEW
Jefferson G DoeArgentinaXuxue Feng QUALIFIED
Mujtaba E MaletFranceAsiya Javayant NEW
Isabel V KolmetzRussiaOnyama Limba RENEWAL
Juan O IturbideIndiaAsiya Javayant QUALIFIED
Silvio M BologniaJapanStephen Shaw UNQUALIFIED
Clifford B MaletGermanyAmy Elsner UNQUALIFIED
Smith Q SlusarskiArgentinaXuxue Feng RENEWAL
Francesco H MaletSpainElwin Sharvill QUALIFIED
Morrow Z WhobreyCanadaAsiya Javayant UNQUALIFIED
Salvatore E PerinSpainBernardo Dominic NEW
Antonio J BriddickGermanyAmy Elsner RENEWAL
Wickens W MarrierBrazilElwin Sharvill QUALIFIED
Aditya O TollnerCanadaIoni Bowcher RENEWAL
Jeanfrancois V TollnerIndiaAmy Elsner RENEWAL
Leja X TollnerUnited KingdomAnna Fali UNQUALIFIED
Costa M RulapaughCanadaAsiya Javayant NEGOTIATION
Rodrigues X GarufiAustraliaIoni Bowcher QUALIFIED
Clifford O MarrierGermanyXuxue Feng PROPOSAL
Emily D BowleyCanadaIoni Bowcher PROPOSAL
Arvin R OstroskyRussiaBernardo Dominic PROPOSAL
Smith U RimItalyIvan Magalhaes RENEWAL
Ivar G AlbaresSpainAmy Elsner NEGOTIATION
Adams L VocelkaBrazilAsiya Javayant UNQUALIFIED
Murillo O ChuiUnited KingdomIoni Bowcher NEW
Octavia B SchemmerBrazilElwin Sharvill NEGOTIATION
Leja F DarakjyFranceIoni Bowcher RENEWAL
Jones O GauchoBrazilXuxue Feng PROPOSAL
Faith D RimUnited KingdomAmy Elsner UNQUALIFIED
Smith C VenereBrazilAmy Elsner QUALIFIED
Kaitlin O DarakjyAustraliaIoni Bowcher NEW
Adams L CampainCanadaAsiya Javayant QUALIFIED
Claire Y SchemmerSpainAsiya Javayant RENEWAL
Greenwood E MorascaFranceOnyama Limba PROPOSAL
Smith W WhobreySpainXuxue Feng NEW
Murillo W IturbideSpainXuxue Feng QUALIFIED
Jefferson T FlosiGermanyIoni Bowcher RENEWAL
Maisha U KuskoGermanyAmy Elsner NEGOTIATION
Aika S KuskoSpainXuxue Feng PROPOSAL
Wickens Q WaycottItalyXuxue Feng PROPOSAL
Greenwood S PerinJapanAmy Elsner QUALIFIED
Ashley Z MorascaIndiaBernardo Dominic NEW
Kaitlin O BowleyAustraliaIoni Bowcher QUALIFIED
Arvin V KolmetzFranceAsiya Javayant PROPOSAL
Alejandro V SlusarskiItalyStephen Shaw QUALIFIED
Aruna N FigeroaAustraliaIoni Bowcher UNQUALIFIED
Faith F NestleUnited KingdomBernardo Dominic PROPOSAL
David A MorascaAustraliaXuxue Feng NEGOTIATION
Leja U CampainRussiaBernardo Dominic UNQUALIFIED
Faith Z KolmetzCanadaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones V GarufiIndiaIvan Magalhaes QUALIFIED
Deepesh I CampainAustraliaBernardo Dominic RENEWAL
Jeanfrancois T DoeJapanAsiya Javayant QUALIFIED
Sinclair O SlusarskiIndiaXuxue Feng RENEWAL
Nicolas I OldroydAustraliaStephen Shaw NEW
Maria F KolmetzCanadaAnna Fali PROPOSAL
Johnson R CampainGermanyElwin Sharvill RENEWAL
Wickens M SergiFranceXuxue Feng QUALIFIED
Leon W RulapaughGermanyElwin Sharvill PROPOSAL
Jeanfrancois V DarakjyJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Y GlickJapan2025-06-06Buckley Miller Wright PROPOSAL85Stephen Shaw
1001Antonio L MacleadAustralia2025-05-31Chemel, James L Cpa QUALIFIED29Bernardo Dominic
1002Kadeem C CaldareraUnited Kingdom2025-06-09Feltz Printing Service QUALIFIED77Elwin Sharvill
1003Mayumi L ButtBrazil2025-05-15Benton, John B Jr NEGOTIATION36Ioni Bowcher
1004Mayumi B RimAustralia2025-06-05Rangoni Of Florence NEW21Stephen Shaw
1005Kadeem T VocelkaBrazil2025-05-21Commercial Press QUALIFIED88Bernardo Dominic
1006Aditya U BriddickCanada2025-06-01Rousseaux, Michael Esq PROPOSAL75Asiya Javayant
1007David M KuskoArgentina2025-05-31Commercial Press NEW69Asiya Javayant
1008Maria N MaletJapan2025-05-22Dorl, James J Esq QUALIFIED12Bernardo Dominic
1009Murillo T AlbaresCanada2025-05-19Dorl, James J Esq NEW36Ivan Magalhaes
1010Munro R MaletItaly2025-05-18Chanay, Jeffrey A Esq NEGOTIATION93Anna Fali
1011Isabel R GillianBrazil2025-05-27Printing Dimensions NEW15Elwin Sharvill
1012Jefferson J OldroydBrazil2025-06-12Feiner Bros NEW26Onyama Limba
1013Misaki X BologniaFrance2025-05-30Buckley Miller Wright RENEWAL15Elwin Sharvill
1014Ivar Y IturbideSpain2025-05-19Truhlar And Truhlar Attys UNQUALIFIED8Onyama Limba
1015Greenwood M FerenczGermany2025-05-23Rangoni Of Florence NEW20Elwin Sharvill
1016Mayumi A VocelkaItaly2025-05-24Printing Dimensions UNQUALIFIED95Bernardo Dominic
1017Darci R DoeRussia2025-06-04Benton, John B Jr QUALIFIED69Elwin Sharvill
1018Silvio E CampainItaly2025-06-13Chemel, James L Cpa UNQUALIFIED62Amy Elsner
1019Smith D KolmetzSpain2025-05-20Truhlar And Truhlar Attys PROPOSAL55Xuxue Feng
1020Claire L MacleadJapan2025-05-30Rangoni Of Florence PROPOSAL58Amy Elsner
1021Claire I GarufiFrance2025-05-29Benton, John B Jr UNQUALIFIED0Xuxue Feng
1022David V CaudyFrance2025-05-18Morlong Associates RENEWAL23Anna Fali
1023Rodrigues M DarakjyRussia2025-06-06Chemel, James L Cpa RENEWAL0Xuxue Feng
1024Octavia A FigeroaUnited Kingdom2025-05-21Chapman, Ross E Esq UNQUALIFIED43Stephen Shaw
1025Kadeem U ShinkoBrazil2025-05-20Rousseaux, Michael Esq NEW91Stephen Shaw
1026Salvatore F RimSpain2025-06-08Feiner Bros UNQUALIFIED35Asiya Javayant
1027Tony M WhobreyItaly2025-05-22Feiner Bros RENEWAL69Asiya Javayant
1028Wickens R OldroydIndia2025-06-08Morlong Associates NEW23Ivan Magalhaes
1029Jeanfrancois L IturbideUnited Kingdom2025-05-18Feltz Printing Service RENEWAL6Stephen Shaw
1030Smith Z StensethIndia2025-06-09Commercial Press QUALIFIED69Ioni Bowcher
1031Deepesh N MarrierUnited Kingdom2025-06-11Feltz Printing Service NEW28Bernardo Dominic
1032Greenwood X RulapaughGermany2025-05-15Truhlar And Truhlar Attys RENEWAL39Elwin Sharvill
1033Rodrigues O GlickUnited Kingdom2025-06-04Commercial Press UNQUALIFIED20Onyama Limba
1034Alejandro O KolmetzGermany2025-05-19Rousseaux, Michael Esq PROPOSAL94Ioni Bowcher
1035Julie M SergiItaly2025-06-05Feltz Printing Service UNQUALIFIED95Ioni Bowcher
1036Nicolas Z GarufiItaly2025-06-01King, Christopher A Esq UNQUALIFIED4Xuxue Feng
1037Jefferson A RutaJapan2025-06-02Truhlar And Truhlar Attys RENEWAL12Ioni Bowcher
1038Ricardo I RimRussia2025-06-10Printing Dimensions QUALIFIED31Bernardo Dominic
1039Clifford R GauchoRussia2025-05-19Dorl, James J Esq RENEWAL40Bernardo Dominic
1040Tony F VenereItaly2025-06-07Morlong Associates NEGOTIATION3Anna Fali
1041Claire B MacleadGermany2025-05-16Feltz Printing Service NEW25Bernardo Dominic
1042Ivar A BriddickFrance2025-05-20Benton, John B Jr RENEWAL75Ioni Bowcher
1043Adams M AmigonAustralia2025-06-11Morlong Associates QUALIFIED20Elwin Sharvill
1044Jennifer T WhobreyIndia2025-05-20Commercial Press QUALIFIED81Bernardo Dominic
1045Munro A BologniaCanada2025-06-01Dorl, James J Esq PROPOSAL55Xuxue Feng
1046Morrow O FlosiCanada2025-05-15Feltz Printing Service PROPOSAL11Asiya Javayant
1047Alejandro W SergiIndia2025-06-12Feiner Bros UNQUALIFIED17Onyama Limba
1048Leja X VocelkaFrance2025-05-22Benton, John B Jr UNQUALIFIED57Ivan Magalhaes
1049Aruna O CaldareraArgentina2025-05-24Feltz Printing Service NEGOTIATION51Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria D DarakjyItalyXuxue Feng PROPOSAL
David N BowleyFranceBernardo Dominic UNQUALIFIED
James Q BriddickGermanyAnna Fali PROPOSAL
Isabel Y CaldareraAustraliaAsiya Javayant NEW
Octavia Z InouyeJapanAnna Fali UNQUALIFIED
Silvio W RutaArgentinaElwin Sharvill UNQUALIFIED
Cody H OstroskyIndiaStephen Shaw NEGOTIATION
Antonio P DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Chavez E StensethArgentinaStephen Shaw UNQUALIFIED
Emily E FerenczGermanyElwin Sharvill NEGOTIATION
Octavia L NickaUnited KingdomElwin Sharvill QUALIFIED
Arvin C NestleItalyAnna Fali PROPOSAL
Ivar W OldroydJapanIoni Bowcher QUALIFIED
Antonio R KuskoBrazilBernardo Dominic QUALIFIED
Jefferson W MarrierArgentinaStephen Shaw UNQUALIFIED
Maisha D RoysterRussiaIvan Magalhaes NEW
Clifford D MorascaItalyElwin Sharvill NEGOTIATION
Adams X RimFranceAnna Fali NEW
Izzy N SaylorsSpainIvan Magalhaes RENEWAL
Ricardo W RutaUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin H RulapaughFranceAnna Fali PROPOSAL
Arvin V NestleArgentinaBernardo Dominic UNQUALIFIED
Kadeem J GlickCanadaStephen Shaw RENEWAL
David D GarufiBrazilBernardo Dominic RENEWAL
Rodrigues N SergiIndiaOnyama Limba UNQUALIFIED
Mujtaba J TollnerAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois N MacleadSpainIvan Magalhaes RENEWAL
Mujtaba S SchemmerRussiaAsiya Javayant NEW
Sinclair G PoquetteIndiaAsiya Javayant UNQUALIFIED
Mayumi E PerinCanadaIvan Magalhaes NEGOTIATION
Murillo S RutaJapanXuxue Feng QUALIFIED
Kadeem K BologniaAustraliaAsiya Javayant PROPOSAL
Wickens T RulapaughRussiaOnyama Limba UNQUALIFIED
Wickens P WhobreyUnited KingdomAnna Fali UNQUALIFIED
Deepesh N AmigonSpainElwin Sharvill NEGOTIATION
Kadeem X GillianGermanyAsiya Javayant UNQUALIFIED
Rodrigues D NickaBrazilStephen Shaw PROPOSAL
Maisha Q FerenczRussiaStephen Shaw UNQUALIFIED
Jones D SlusarskiUnited KingdomStephen Shaw RENEWAL
Jones Z VenereGermanyAnna Fali UNQUALIFIED
Aruna Z RulapaughFranceOnyama Limba QUALIFIED
Maria V AmigonJapanElwin Sharvill UNQUALIFIED
Clifford Q FlosiGermanyAnna Fali UNQUALIFIED
Rodrigues H CampainIndiaElwin Sharvill NEW
Wickens F FigeroaAustraliaElwin Sharvill QUALIFIED
Murillo P OldroydCanadaElwin Sharvill NEGOTIATION
Kaitlin L ShinkoJapanOnyama Limba NEGOTIATION
Antonio E AmigonAustraliaAnna Fali PROPOSAL
Sinclair B PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba P MacleadCanadaElwin Sharvill QUALIFIED
Frozen Columns
Name
Salvatore B Whobrey
Deepesh G Malet
Francesco G Ferencz
Wickens P Gaucho
Julie N Kolmetz
Leja T Tollner
Ashley V Caudy
Murillo O Shinko
David K Whobrey
Silvio T Caldarera
Aruna N Gillian
Wickens D Tollner
Nicolas Q Iturbide
Munro C Butt
Aditya Z Doe
Kadeem A Chui
Darci V Sergi
Cody D Sergi
Smith P Ostrosky
Aika H Paprocki
Emily E Gaucho
Maisha S Marrier
Kadeem I Venere
Clifford J Amigon
Chavez V Bolognia
Izzy S Vocelka
Ashley S Vocelka
Stacey P Darakjy
Ashley Q Rulapaugh
Francesco F Figeroa
Mujtaba P Campain
Octavia B Nestle
Ivar S Shinko
Darci K Caudy
Juan J Amigon
Misaki U Garufi
Cody P Bolognia
Tony O Morasca
Claire N Tollner
Maria G Dilliard
Julie R Briddick
Smith I Ruta
Jefferson H Wieser
Sinclair Y Rim
Jeanfrancois B Nicka
Greenwood E Marrier
Antonio A Ostrosky
Julie L Malet
Adams G Glick
Ricardo D Glick
IdCountryDate
1000Germany2025-05-24
1001Italy2025-05-22
1002Brazil2025-06-13
1003Russia2025-05-20
1004France2025-06-08
1005Spain2025-05-16
1006Russia2025-05-25
1007Italy2025-06-04
1008India2025-06-09
1009Argentina2025-05-27
1010Argentina2025-05-22
1011Brazil2025-05-21
1012France2025-05-30
1013Japan2025-06-04
1014Germany2025-06-07
1015India2025-05-15
1016Spain2025-05-29
1017Brazil2025-06-12
1018Italy2025-06-05
1019Spain2025-05-20
1020Canada2025-06-07
1021United Kingdom2025-05-22
1022Australia2025-05-24
1023Australia2025-06-12
1024Japan2025-05-18
1025Canada2025-05-26
1026France2025-06-08
1027Spain2025-06-03
1028Australia2025-06-12
1029Russia2025-06-12
1030Russia2025-05-27
1031Brazil2025-05-31
1032Japan2025-06-01
1033Argentina2025-06-12
1034Argentina2025-05-27
1035Australia2025-06-13
1036Germany2025-06-05
1037Germany2025-05-26
1038Australia2025-06-05
1039Japan2025-05-19
1040Brazil2025-06-13
1041Russia2025-05-23
1042Canada2025-06-05
1043Japan2025-06-04
1044France2025-06-05
1045France2025-06-01
1046France2025-05-16
1047Japan2025-05-20
1048France2025-05-22
1049United Kingdom2025-06-13

On-Demand Data

NameIdCountryDate
Munro T Rim1000Spain2025-05-24
James U Amigon1001Japan2025-06-09
Alejandro N Glick1002Argentina2025-06-09
Aruna J Figeroa1003United Kingdom2025-05-29
Kaitlin O Maclead1004Germany2025-05-30
Leja Q Caudy1005India2025-05-18
Aika T Paprocki1006Canada2025-05-27
Leja H Stenseth1007Brazil2025-05-26
Smith J Kolmetz1008Brazil2025-05-23
Kadeem M Marrier1009Russia2025-06-13
Mujtaba C Caudy1010Brazil2025-05-15
Murillo V Amigon1011Brazil2025-05-19
Adams X Perin1012Canada2025-06-08
Nicolas E Flosi1013Argentina2025-05-23
Jones M Gaucho1014India2025-06-05
Munro V Gillian1015France2025-06-09
Jones R Ferencz1016Brazil2025-05-21
Silvio H Briddick1017Japan2025-05-20
Nicolas D Royster1018Japan2025-06-01
Jeanfrancois N Flosi1019Russia2025-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna J FollerFranceAnna Fali QUALIFIED
Costa P CampainGermanyStephen Shaw RENEWAL
Chavez N CampainAustraliaIoni Bowcher NEW
Aika T MarrierAustraliaBernardo Dominic NEW
Munro D FollerGermanyOnyama Limba RENEWAL
Sinclair J DilliardJapanAsiya Javayant RENEWAL
Darci B MacleadFranceAmy Elsner NEW
Clifford K BriddickUnited KingdomIoni Bowcher NEW
Faith C PerinArgentinaAnna Fali RENEWAL
Jennifer I AmigonFranceStephen Shaw NEW
Izzy I BowleyCanadaAsiya Javayant NEGOTIATION
Rodrigues T GauchoIndiaBernardo Dominic PROPOSAL
Clifford W FigeroaAustraliaOnyama Limba UNQUALIFIED
Aika R MorascaArgentinaAmy Elsner RENEWAL
Munro P StensethRussiaBernardo Dominic NEGOTIATION
Claire Q CaudyUnited KingdomStephen Shaw RENEWAL
Jones S OstroskyCanadaBernardo Dominic NEW
Jennifer C KolmetzSpainElwin Sharvill RENEWAL
Kadeem X BowleyCanadaIvan Magalhaes QUALIFIED
Izzy H DilliardIndiaAnna Fali QUALIFIED
Isabel G MarrierItalyOnyama Limba UNQUALIFIED
Francesco E IturbideIndiaIvan Magalhaes PROPOSAL
Greenwood Z ChuiRussiaElwin Sharvill QUALIFIED
Greenwood L KolmetzItalyXuxue Feng RENEWAL
Wickens G DarakjyCanadaOnyama Limba PROPOSAL
Izzy J GauchoUnited KingdomXuxue Feng PROPOSAL
Julie W MaletFranceXuxue Feng PROPOSAL
Stacey L SergiIndiaBernardo Dominic NEGOTIATION
Kadeem P WaycottArgentinaAmy Elsner RENEWAL
Maria T OldroydUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues N CampainAustraliaStephen Shaw NEGOTIATION
Munro G RulapaughGermanyOnyama Limba QUALIFIED
Sinclair T StensethUnited KingdomAmy Elsner PROPOSAL
Deepesh J NickaIndiaIvan Magalhaes RENEWAL
Aika B BologniaCanadaBernardo Dominic QUALIFIED
Maisha Q OstroskySpainAmy Elsner PROPOSAL
Ivar V SchemmerGermanyIoni Bowcher PROPOSAL
Leon I GlickCanadaAnna Fali PROPOSAL
Alejandro I MaletAustraliaIoni Bowcher UNQUALIFIED
Maisha Q GlickItalyXuxue Feng NEW

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