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
Juan B GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Octavia B MarrierFranceBernardo Dominic NEGOTIATION
Costa I MarrierBrazilAsiya Javayant NEGOTIATION
Izzy E GauchoAustraliaElwin Sharvill PROPOSAL
Stacey M CampainFranceAnna Fali UNQUALIFIED
Sinclair Z FollerGermanyAnna Fali PROPOSAL
Jeanfrancois Y FerenczBrazilIoni Bowcher NEGOTIATION
Isabel P PaprockiFranceOnyama Limba UNQUALIFIED
Cody M RulapaughArgentinaAsiya Javayant NEW
Darci Q VocelkaCanadaAnna Fali NEW
Tony B ChuiItalyIvan Magalhaes UNQUALIFIED
Julie P WaycottSpainStephen Shaw NEGOTIATION
Greenwood U KolmetzFranceOnyama Limba NEGOTIATION
Clifford I ButtJapanOnyama Limba PROPOSAL
Francesco B TollnerSpainElwin Sharvill PROPOSAL
Chavez V KolmetzCanadaElwin Sharvill PROPOSAL
Faith B AlbaresUnited KingdomXuxue Feng UNQUALIFIED
Smith G AlbaresArgentinaIoni Bowcher NEW
Sinclair W StockhamArgentinaAnna Fali UNQUALIFIED
Antonio X GillianUnited KingdomOnyama Limba UNQUALIFIED
Cody V ButtAustraliaIoni Bowcher PROPOSAL
Maisha G GlickGermanyAsiya Javayant NEGOTIATION
Claire S SergiCanadaAmy Elsner UNQUALIFIED
Arvin O AlbaresFranceAnna Fali RENEWAL
Adams N GarufiCanadaStephen Shaw PROPOSAL
Aruna C FollerCanadaElwin Sharvill RENEWAL
Antonio K GauchoGermanyIvan Magalhaes NEW
Juan F VenereItalyXuxue Feng PROPOSAL
David T FerenczGermanyStephen Shaw UNQUALIFIED
Greenwood T OstroskySpainIoni Bowcher PROPOSAL
Antonio S BriddickUnited KingdomIoni Bowcher NEGOTIATION
Antonio D RutaSpainIvan Magalhaes UNQUALIFIED
Alejandro W CaldareraCanadaElwin Sharvill RENEWAL
Greenwood I SergiCanadaXuxue Feng NEW
Maisha F GlickItalyIvan Magalhaes RENEWAL
Smith K PaprockiJapanXuxue Feng RENEWAL
Chavez V BowleyBrazilOnyama Limba QUALIFIED
Johnson T CaudyGermanyElwin Sharvill QUALIFIED
Kadeem E FollerFranceIoni Bowcher PROPOSAL
Juan Y GarufiGermanyStephen Shaw NEGOTIATION
Smith L MacleadGermanyAmy Elsner PROPOSAL
Morrow W DilliardItalyXuxue Feng NEW
Aditya G VocelkaItalyAmy Elsner NEW
Deepesh D RoysterUnited KingdomStephen Shaw UNQUALIFIED
Alejandro G SergiItalyStephen Shaw UNQUALIFIED
Maria K ButtSpainOnyama Limba QUALIFIED
Aditya B OldroydFranceAnna Fali NEW
Misaki I NickaIndiaAnna Fali UNQUALIFIED
Mayumi U MorascaUnited KingdomElwin Sharvill QUALIFIED
Nicolas I SergiUnited KingdomOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
David U StockhamUnited KingdomAmy Elsner QUALIFIED
Faith F DoeBrazilIoni Bowcher RENEWAL
Wickens A MorascaRussiaAsiya Javayant UNQUALIFIED
Francesco A GarufiRussiaElwin Sharvill PROPOSAL
Ricardo E GillianItalyAmy Elsner QUALIFIED
Faith K FollerGermanyElwin Sharvill QUALIFIED
Tony Z VenereJapanXuxue Feng QUALIFIED
Jones H IturbideFranceAmy Elsner NEGOTIATION
Greenwood K AmigonItalyIvan Magalhaes UNQUALIFIED
Mayumi G MaletRussiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya C FollerCanada2025-06-08Truhlar And Truhlar Attys PROPOSAL98Elwin Sharvill
1001Faith H WhobreyItaly2025-05-30Morlong Associates RENEWAL29Anna Fali
1002Aruna M BologniaJapan2025-05-21Dorl, James J Esq NEW57Xuxue Feng
1003Wickens W WieserBrazil2025-06-16Chemel, James L Cpa QUALIFIED17Ioni Bowcher
1004Silvio Y PoquetteRussia2025-05-30Chapman, Ross E Esq PROPOSAL48Ioni Bowcher
1005David D ChuiItaly2025-06-14Chapman, Ross E Esq NEW81Asiya Javayant
1006Johnson Y MorascaFrance2025-05-19Rousseaux, Michael Esq PROPOSAL24Asiya Javayant
1007Arvin J GarufiFrance2025-05-25Chanay, Jeffrey A Esq UNQUALIFIED72Onyama Limba
1008Julie V VocelkaSpain2025-05-21Buckley Miller Wright UNQUALIFIED66Bernardo Dominic
1009Greenwood Z SchemmerFrance2025-06-01Chemel, James L Cpa UNQUALIFIED33Xuxue Feng
1010Emily I PoquetteItaly2025-06-02Chemel, James L Cpa NEGOTIATION42Amy Elsner
1011Maisha P WaycottFrance2025-05-22Feiner Bros UNQUALIFIED49Xuxue Feng
1012Munro L IturbideCanada2025-06-14Printing Dimensions NEW95Asiya Javayant
1013Tony B KolmetzJapan2025-06-09Benton, John B Jr RENEWAL8Ioni Bowcher
1014Johnson X RutaArgentina2025-06-13Rousseaux, Michael Esq PROPOSAL46Asiya Javayant
1015Rodrigues Q SergiArgentina2025-05-30Rousseaux, Michael Esq NEW84Xuxue Feng
1016Leja C OldroydFrance2025-05-27King, Christopher A Esq NEGOTIATION20Asiya Javayant
1017Deepesh D CaudyCanada2025-06-08Chapman, Ross E Esq NEW77Stephen Shaw
1018Chavez O MaletAustralia2025-06-14Feltz Printing Service NEGOTIATION99Elwin Sharvill
1019Costa N BriddickAustralia2025-06-12Chanay, Jeffrey A Esq UNQUALIFIED53Anna Fali
1020Antonio V PaprockiGermany2025-05-27Dorl, James J Esq NEW7Xuxue Feng
1021Ashley R RoysterFrance2025-05-22Chapman, Ross E Esq RENEWAL77Asiya Javayant
1022Kaitlin N GillianRussia2025-06-13Buckley Miller Wright NEGOTIATION64Asiya Javayant
1023Greenwood B RulapaughCanada2025-06-15King, Christopher A Esq QUALIFIED53Asiya Javayant
1024Sinclair U VocelkaFrance2025-06-06Printing Dimensions RENEWAL66Onyama Limba
1025Greenwood L DoeCanada2025-06-15King, Christopher A Esq PROPOSAL80Elwin Sharvill
1026Deepesh R SaylorsUnited Kingdom2025-05-28Dorl, James J Esq PROPOSAL55Onyama Limba
1027Nicolas H FigeroaFrance2025-06-11Benton, John B Jr NEW25Asiya Javayant
1028Izzy P MorascaSpain2025-06-10Chemel, James L Cpa RENEWAL54Asiya Javayant
1029Isabel G CampainArgentina2025-05-23Chapman, Ross E Esq UNQUALIFIED92Ioni Bowcher
1030Octavia P MaletRussia2025-06-15Morlong Associates RENEWAL88Anna Fali
1031Mujtaba J MaletSpain2025-06-04Chanay, Jeffrey A Esq UNQUALIFIED91Ivan Magalhaes
1032Greenwood Q WhobreyItaly2025-06-03Truhlar And Truhlar Attys QUALIFIED46Bernardo Dominic
1033Aruna E SlusarskiAustralia2025-05-19Chemel, James L Cpa NEGOTIATION53Stephen Shaw
1034Julie X FerenczSpain2025-05-26Commercial Press QUALIFIED55Bernardo Dominic
1035Darci J WieserBrazil2025-06-01Buckley Miller Wright QUALIFIED6Amy Elsner
1036Johnson C DilliardGermany2025-05-19Rangoni Of Florence UNQUALIFIED49Ioni Bowcher
1037Isabel A CaldareraGermany2025-05-24Feltz Printing Service NEGOTIATION61Elwin Sharvill
1038Ricardo P KolmetzSpain2025-05-31Feiner Bros RENEWAL85Xuxue Feng
1039Arvin A FerenczAustralia2025-06-10Rangoni Of Florence RENEWAL44Onyama Limba
1040Adams S KuskoItaly2025-05-18Morlong Associates UNQUALIFIED99Xuxue Feng
1041Stacey U WhobreyFrance2025-05-25King, Christopher A Esq RENEWAL88Stephen Shaw
1042Chavez M WieserItaly2025-06-14Commercial Press PROPOSAL5Stephen Shaw
1043Leon C ButtArgentina2025-06-08Truhlar And Truhlar Attys NEW8Bernardo Dominic
1044Greenwood U WieserSpain2025-06-05Morlong Associates QUALIFIED73Onyama Limba
1045James M MacleadSpain2025-05-20Buckley Miller Wright NEGOTIATION14Elwin Sharvill
1046Morrow X RutaSpain2025-05-31King, Christopher A Esq NEW49Xuxue Feng
1047Nicolas V RimGermany2025-05-30Printing Dimensions PROPOSAL1Ioni Bowcher
1048Greenwood P MaletArgentina2025-06-02Chapman, Ross E Esq NEW27Bernardo Dominic
1049Faith W WaycottGermany2025-06-07Feltz Printing Service NEGOTIATION36Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams X FigeroaFranceOnyama Limba QUALIFIED
Ricardo Q RulapaughItalyAmy Elsner QUALIFIED
Juan T ChuiRussiaXuxue Feng NEGOTIATION
Julie O OstroskyRussiaOnyama Limba NEGOTIATION
David L OldroydFranceOnyama Limba NEW
Leja N NestleFranceBernardo Dominic RENEWAL
Murillo I StockhamSpainElwin Sharvill NEGOTIATION
Jeanfrancois H RimBrazilAsiya Javayant PROPOSAL
Jennifer U FerenczSpainAmy Elsner RENEWAL
Jones X AlbaresRussiaAnna Fali NEW
Isabel E SchemmerFranceOnyama Limba UNQUALIFIED
Maria G SaylorsGermanyAsiya Javayant RENEWAL
Arvin L MaletJapanIvan Magalhaes UNQUALIFIED
Johnson E WhobreyBrazilBernardo Dominic PROPOSAL
Jones B FlosiRussiaXuxue Feng QUALIFIED
Johnson Y CaldareraIndiaBernardo Dominic QUALIFIED
Rodrigues Z DarakjyArgentinaXuxue Feng NEW
Greenwood P OstroskyRussiaXuxue Feng RENEWAL
Kadeem E RulapaughItalyIoni Bowcher NEGOTIATION
James Y IturbideArgentinaAmy Elsner PROPOSAL
Ashley Z InouyeSpainStephen Shaw NEW
Silvio B PoquetteGermanyIvan Magalhaes QUALIFIED
Alejandro J MarrierFranceStephen Shaw UNQUALIFIED
Cody O BowleyUnited KingdomElwin Sharvill NEW
Cody B GauchoRussiaAnna Fali RENEWAL
Smith W BriddickIndiaAsiya Javayant PROPOSAL
Ashley T MorascaJapanElwin Sharvill NEW
Aruna M RimRussiaAmy Elsner PROPOSAL
Morrow U SergiItalyIoni Bowcher NEW
Antonio R SchemmerCanadaAsiya Javayant NEW
Alejandro C DoeItalyAmy Elsner NEGOTIATION
Izzy F BologniaAustraliaAnna Fali NEW
Mayumi C VenereItalyXuxue Feng PROPOSAL
Tony M KuskoFranceIoni Bowcher UNQUALIFIED
Costa Y PerinJapanIoni Bowcher QUALIFIED
Kaitlin I GillianArgentinaAnna Fali QUALIFIED
Rodrigues L GillianIndiaXuxue Feng UNQUALIFIED
Silvio B DarakjyItalyXuxue Feng NEGOTIATION
Munro A AmigonRussiaAmy Elsner NEGOTIATION
Julie V ButtAustraliaIvan Magalhaes UNQUALIFIED
Jones D NestleArgentinaIoni Bowcher RENEWAL
Kadeem P PerinCanadaElwin Sharvill PROPOSAL
Emily P MacleadRussiaStephen Shaw RENEWAL
Murillo J MorascaAustraliaElwin Sharvill NEW
David G RutaSpainOnyama Limba NEGOTIATION
Chavez K SchemmerBrazilBernardo Dominic QUALIFIED
Morrow X BriddickFranceElwin Sharvill RENEWAL
Octavia F FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Maria D StensethFranceXuxue Feng UNQUALIFIED
Ricardo I VocelkaSpainXuxue Feng QUALIFIED
Frozen Columns
Name
Misaki Z Schemmer
Ricardo V Foller
Faith T Glick
Cody K Sergi
Jeanfrancois X Wieser
Francesco J Morasca
Aditya O Albares
Leon A Rulapaugh
Darci S Rim
Mujtaba H Morasca
Francesco N Malet
Alejandro A Nicka
Jones E Shinko
Ricardo Y Rim
Aika X Paprocki
Tony N Glick
Murillo R Wieser
Francesco U Caudy
Aika C Figeroa
Clifford N Vocelka
Isabel B Amigon
Claire H Wieser
Silvio T Morasca
Tony T Foller
Ricardo E Inouye
Isabel R Foller
James L Nicka
James J Chui
Sinclair P Ruta
Claire S Tollner
Mayumi V Shinko
Francesco U Albares
Faith R Tollner
Murillo B Waycott
Aika R Slusarski
Kadeem Z Paprocki
Maisha J Flosi
Johnson J Nestle
Jeanfrancois U Inouye
Mayumi V Amigon
Aika F Maclead
Chavez T Malet
Silvio X Wieser
Johnson U Maclead
Octavia O Malet
Deepesh T Flosi
Rodrigues S Rim
Salvatore M Doe
Deepesh T Venere
Aditya N Venere
IdCountryDate
1000Italy2025-06-15
1001Russia2025-06-11
1002Argentina2025-05-25
1003Spain2025-05-22
1004Germany2025-05-29
1005Canada2025-05-30
1006Australia2025-05-27
1007Germany2025-05-21
1008Australia2025-06-14
1009Germany2025-06-14
1010United Kingdom2025-06-04
1011Japan2025-06-11
1012Australia2025-05-31
1013Canada2025-05-22
1014United Kingdom2025-05-30
1015Brazil2025-06-14
1016Germany2025-06-12
1017Brazil2025-06-02
1018Argentina2025-05-26
1019Argentina2025-06-09
1020Russia2025-06-01
1021Australia2025-05-27
1022India2025-06-05
1023India2025-06-09
1024Brazil2025-06-12
1025United Kingdom2025-06-14
1026United Kingdom2025-06-01
1027Italy2025-05-19
1028Argentina2025-05-18
1029France2025-06-12
1030Brazil2025-06-13
1031India2025-06-03
1032Germany2025-06-13
1033Australia2025-05-25
1034Brazil2025-05-28
1035India2025-05-22
1036Australia2025-05-20
1037France2025-05-24
1038Italy2025-06-13
1039France2025-06-15
1040Italy2025-06-13
1041Brazil2025-06-16
1042Russia2025-06-03
1043Japan2025-06-12
1044India2025-06-12
1045Germany2025-06-10
1046Russia2025-06-05
1047Japan2025-05-22
1048Brazil2025-06-02
1049Japan2025-06-07

On-Demand Data

NameIdCountryDate
Salvatore B Iturbide1000Argentina2025-06-04
Murillo H Poquette1001Russia2025-06-12
Deepesh Y Dilliard1002Germany2025-06-13
Maria O Saylors1003Canada2025-05-19
Costa Y Paprocki1004Australia2025-05-24
Costa N Dilliard1005Argentina2025-05-31
Kaitlin C Royster1006Germany2025-05-29
Costa G Paprocki1007France2025-06-13
Johnson M Poquette1008Japan2025-06-14
David X Foller1009France2025-05-30
Silvio P Bolognia1010Brazil2025-06-03
Adams W Caldarera1011Argentina2025-05-30
Clifford D Doe1012India2025-05-18
Jones E Venere1013India2025-06-07
James Y Whobrey1014Japan2025-05-20
Mayumi P Paprocki1015France2025-05-24
Alejandro T Paprocki1016Canada2025-06-10
Maisha D Butt1017Japan2025-06-04
Ricardo I Garufi1018Italy2025-06-05
David U Kolmetz1019France2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan A RutaGermanyIoni Bowcher PROPOSAL
Mayumi J CaldareraFranceAmy Elsner NEGOTIATION
Salvatore X StensethJapanOnyama Limba PROPOSAL
Murillo S PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Ashley T CaldareraGermanyXuxue Feng UNQUALIFIED
Morrow B MorascaCanadaElwin Sharvill UNQUALIFIED
Murillo G RutaCanadaAsiya Javayant NEGOTIATION
Juan Q BologniaFranceAmy Elsner RENEWAL
Julie F InouyeGermanyElwin Sharvill RENEWAL
Smith A MorascaGermanyAnna Fali NEGOTIATION
Kaitlin D GarufiSpainIvan Magalhaes NEW
Sinclair D SaylorsFranceXuxue Feng NEGOTIATION
Darci A KolmetzJapanIvan Magalhaes UNQUALIFIED
Munro W RutaJapanBernardo Dominic RENEWAL
Johnson M DarakjyUnited KingdomOnyama Limba NEGOTIATION
Juan R VenereFranceIoni Bowcher PROPOSAL
Claire U MacleadAustraliaElwin Sharvill NEW
Kadeem P PaprockiArgentinaAnna Fali NEW
Jeanfrancois G DarakjyArgentinaXuxue Feng NEW
Tony D KuskoIndiaAsiya Javayant NEGOTIATION
Arvin E GlickArgentinaAmy Elsner UNQUALIFIED
Leon Q IturbideJapanAmy Elsner NEW
Juan F RutaFranceAnna Fali NEW
Ivar I FollerCanadaElwin Sharvill NEGOTIATION
Silvio L AlbaresArgentinaStephen Shaw QUALIFIED
Adams U BriddickUnited KingdomAmy Elsner RENEWAL
Silvio C ButtAustraliaStephen Shaw UNQUALIFIED
Chavez V NestleSpainIoni Bowcher QUALIFIED
Faith M WieserGermanyElwin Sharvill NEW
Morrow U KuskoIndiaAmy Elsner UNQUALIFIED
Izzy P GarufiSpainAmy Elsner UNQUALIFIED
Greenwood V DoeJapanIvan Magalhaes NEGOTIATION
Claire J WaycottCanadaElwin Sharvill QUALIFIED
Chavez R BologniaBrazilElwin Sharvill NEGOTIATION
Munro P DilliardSpainXuxue Feng UNQUALIFIED
Octavia F CaudyItalyAmy Elsner PROPOSAL
Aditya D DilliardJapanStephen Shaw NEW
Deepesh N VenereGermanyIvan Magalhaes UNQUALIFIED
Nicolas R InouyeGermanyAnna Fali NEGOTIATION
Cody V WhobreyArgentinaElwin Sharvill 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>