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
Clifford E WaycottBrazilOnyama Limba RENEWAL
Maisha C VenereArgentinaAmy Elsner QUALIFIED
Darci K SergiCanadaIoni Bowcher QUALIFIED
Leja E MaletCanadaElwin Sharvill QUALIFIED
Smith U IturbideSpainAmy Elsner UNQUALIFIED
Julie I FollerAustraliaXuxue Feng QUALIFIED
Ricardo A CaldareraSpainOnyama Limba UNQUALIFIED
James X BologniaSpainAsiya Javayant RENEWAL
Jefferson T FollerRussiaAmy Elsner NEW
Stacey B DilliardRussiaBernardo Dominic RENEWAL
Emily E MarrierItalyElwin Sharvill NEGOTIATION
Mujtaba R WhobreyArgentinaXuxue Feng QUALIFIED
Munro N RulapaughIndiaIoni Bowcher RENEWAL
Wickens P SergiSpainXuxue Feng QUALIFIED
Cody Z BologniaAustraliaXuxue Feng NEGOTIATION
Munro C KolmetzCanadaAnna Fali NEW
Darci A CaudySpainIoni Bowcher NEW
Clifford F CaldareraSpainAnna Fali QUALIFIED
Cody O DoeAustraliaStephen Shaw NEGOTIATION
Julie S RulapaughArgentinaElwin Sharvill NEW
Chavez B MorascaIndiaXuxue Feng RENEWAL
Rodrigues D BowleySpainIvan Magalhaes NEW
Emily H BowleyJapanAnna Fali NEGOTIATION
James W GarufiAustraliaElwin Sharvill PROPOSAL
Deepesh A NestleRussiaAsiya Javayant NEW
Alejandro L NestleIndiaIoni Bowcher UNQUALIFIED
Johnson W WhobreyRussiaIvan Magalhaes NEW
Isabel H IturbideFranceBernardo Dominic PROPOSAL
Julie D ChuiCanadaOnyama Limba NEW
Tony P BowleySpainOnyama Limba QUALIFIED
Mayumi M DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Leja J CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas L DilliardGermanyAmy Elsner UNQUALIFIED
Aruna K BriddickArgentinaOnyama Limba RENEWAL
James W RimItalyIoni Bowcher NEGOTIATION
James U RimCanadaStephen Shaw RENEWAL
Tony S InouyeIndiaAmy Elsner RENEWAL
Alejandro T AmigonSpainStephen Shaw NEW
Morrow S CaudyJapanIvan Magalhaes UNQUALIFIED
Leon V RutaBrazilStephen Shaw QUALIFIED
Jefferson G SergiRussiaBernardo Dominic UNQUALIFIED
Emily T BowleyItalyOnyama Limba UNQUALIFIED
Antonio E RulapaughRussiaAsiya Javayant NEW
Emily D AmigonRussiaIoni Bowcher NEW
Adams X OldroydBrazilBernardo Dominic NEW
Johnson B GarufiAustraliaIvan Magalhaes UNQUALIFIED
Tony V OstroskyBrazilIoni Bowcher RENEWAL
Ivar Y SergiFranceAsiya Javayant UNQUALIFIED
Chavez Q SaylorsCanadaAsiya Javayant NEGOTIATION
Kaitlin H FlosiArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood S SchemmerIndiaIvan Magalhaes UNQUALIFIED
Jones P OldroydJapanAmy Elsner PROPOSAL
Clifford Q FigeroaBrazilIoni Bowcher RENEWAL
Silvio B OldroydAustraliaAmy Elsner RENEWAL
Jefferson U DoeArgentinaIvan Magalhaes UNQUALIFIED
Johnson D BriddickItalyBernardo Dominic RENEWAL
Jefferson L MarrierIndiaOnyama Limba RENEWAL
Aruna K SchemmerRussiaStephen Shaw QUALIFIED
Mayumi R PaprockiJapanAsiya Javayant RENEWAL
David A MacleadCanadaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones P ButtAustralia2025-05-31King, Christopher A Esq QUALIFIED51Asiya Javayant
1001Salvatore R NickaUnited Kingdom2025-05-27Chapman, Ross E Esq NEW83Asiya Javayant
1002Clifford I CaldareraAustralia2025-06-15Commercial Press RENEWAL39Elwin Sharvill
1003Munro X NickaIndia2025-05-22Truhlar And Truhlar Attys RENEWAL53Elwin Sharvill
1004Faith E CampainItaly2025-05-18Feltz Printing Service PROPOSAL59Xuxue Feng
1005Faith O MaletUnited Kingdom2025-06-15Feltz Printing Service NEGOTIATION67Ioni Bowcher
1006Antonio R NestleAustralia2025-05-30Truhlar And Truhlar Attys UNQUALIFIED2Bernardo Dominic
1007Stacey P ShinkoAustralia2025-06-04Truhlar And Truhlar Attys NEGOTIATION10Xuxue Feng
1008Ricardo H StockhamCanada2025-05-23Rangoni Of Florence UNQUALIFIED80Ivan Magalhaes
1009Misaki V MarrierJapan2025-05-29Commercial Press PROPOSAL37Onyama Limba
1010Cody P InouyeItaly2025-05-27Rangoni Of Florence RENEWAL31Onyama Limba
1011Alejandro B InouyeCanada2025-05-30Morlong Associates RENEWAL20Ioni Bowcher
1012Maria P MarrierSpain2025-05-31Dorl, James J Esq UNQUALIFIED60Anna Fali
1013Deepesh F PaprockiBrazil2025-06-08Chemel, James L Cpa PROPOSAL77Stephen Shaw
1014Leja F MaletIndia2025-06-12King, Christopher A Esq QUALIFIED29Elwin Sharvill
1015Mujtaba C RulapaughRussia2025-06-10Chanay, Jeffrey A Esq NEW28Amy Elsner
1016Munro J BriddickBrazil2025-06-14Morlong Associates NEGOTIATION10Ivan Magalhaes
1017Jeanfrancois N MaletUnited Kingdom2025-06-16Morlong Associates UNQUALIFIED46Asiya Javayant
1018Smith F FigeroaFrance2025-06-13Chemel, James L Cpa RENEWAL35Bernardo Dominic
1019Leja E DilliardJapan2025-05-20Printing Dimensions NEW91Ioni Bowcher
1020Adams L GillianBrazil2025-05-28Truhlar And Truhlar Attys NEGOTIATION40Bernardo Dominic
1021Chavez S MaletFrance2025-05-21Morlong Associates NEW22Xuxue Feng
1022Darci Z SaylorsItaly2025-05-31Commercial Press NEW45Ivan Magalhaes
1023Kaitlin U GlickRussia2025-06-05King, Christopher A Esq NEGOTIATION11Ioni Bowcher
1024Isabel G StockhamAustralia2025-06-16Morlong Associates RENEWAL99Xuxue Feng
1025Aika E ButtJapan2025-06-06Feltz Printing Service NEW80Elwin Sharvill
1026Stacey R RutaGermany2025-06-12Feiner Bros QUALIFIED4Anna Fali
1027Jones Z StockhamFrance2025-05-30Commercial Press QUALIFIED7Amy Elsner
1028Mayumi P VocelkaItaly2025-06-05Feltz Printing Service PROPOSAL1Ivan Magalhaes
1029Sinclair B AlbaresArgentina2025-06-01Chemel, James L Cpa RENEWAL90Ivan Magalhaes
1030Kadeem F CaldareraCanada2025-05-20Buckley Miller Wright NEW94Onyama Limba
1031Mayumi W StockhamAustralia2025-06-12Rangoni Of Florence QUALIFIED3Stephen Shaw
1032Kadeem F StockhamSpain2025-06-07Benton, John B Jr PROPOSAL73Ivan Magalhaes
1033Maisha Z BowleyArgentina2025-05-25Feltz Printing Service NEW95Stephen Shaw
1034Deepesh W ShinkoItaly2025-05-21Feiner Bros UNQUALIFIED37Bernardo Dominic
1035Isabel O VocelkaItaly2025-06-11Rousseaux, Michael Esq UNQUALIFIED29Bernardo Dominic
1036Jennifer G KolmetzItaly2025-05-30King, Christopher A Esq QUALIFIED98Ivan Magalhaes
1037Misaki J SergiIndia2025-05-22Feltz Printing Service PROPOSAL63Onyama Limba
1038Greenwood Y NickaBrazil2025-05-30Morlong Associates NEGOTIATION64Elwin Sharvill
1039Jeanfrancois O FigeroaAustralia2025-05-21Chanay, Jeffrey A Esq NEGOTIATION88Bernardo Dominic
1040Aika A RimUnited Kingdom2025-06-03Morlong Associates NEGOTIATION98Elwin Sharvill
1041Tony D MaletBrazil2025-05-22Morlong Associates UNQUALIFIED97Ioni Bowcher
1042Ashley P WhobreyAustralia2025-05-30Rangoni Of Florence QUALIFIED18Amy Elsner
1043Johnson N RutaRussia2025-06-13Feiner Bros NEGOTIATION13Bernardo Dominic
1044Cody Q PerinBrazil2025-05-21Buckley Miller Wright QUALIFIED27Anna Fali
1045Jeanfrancois X InouyeSpain2025-06-16Printing Dimensions UNQUALIFIED58Stephen Shaw
1046Aruna Z GauchoAustralia2025-06-08Chanay, Jeffrey A Esq UNQUALIFIED88Ioni Bowcher
1047Julie P CampainGermany2025-05-20Dorl, James J Esq RENEWAL24Elwin Sharvill
1048Cody U NickaJapan2025-06-11Truhlar And Truhlar Attys PROPOSAL86Onyama Limba
1049Faith B SchemmerJapan2025-06-05Chanay, Jeffrey A Esq QUALIFIED34Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jennifer S RimGermanyXuxue Feng PROPOSAL
Jones G AmigonRussiaBernardo Dominic UNQUALIFIED
Adams Y RimFranceAmy Elsner NEGOTIATION
Octavia P NickaRussiaStephen Shaw RENEWAL
Juan R KuskoIndiaAsiya Javayant RENEWAL
Johnson I InouyeAustraliaElwin Sharvill PROPOSAL
Salvatore G MorascaRussiaIoni Bowcher PROPOSAL
Kaitlin T PerinUnited KingdomXuxue Feng NEW
Faith J FigeroaItalyAsiya Javayant QUALIFIED
Isabel H FollerFranceXuxue Feng PROPOSAL
Nicolas I AmigonSpainStephen Shaw QUALIFIED
Tony S CaudyFranceXuxue Feng RENEWAL
Aruna S SergiFranceStephen Shaw UNQUALIFIED
Emily G DarakjyArgentinaAmy Elsner PROPOSAL
James Y PerinRussiaStephen Shaw RENEWAL
Costa U FigeroaItalyXuxue Feng UNQUALIFIED
Costa C DarakjyCanadaIoni Bowcher PROPOSAL
Jones T MaletSpainXuxue Feng UNQUALIFIED
Maisha F AlbaresAustraliaIoni Bowcher QUALIFIED
Tony K DilliardFranceOnyama Limba NEW
Morrow U PerinSpainBernardo Dominic QUALIFIED
Alejandro X InouyeArgentinaAsiya Javayant NEW
Salvatore H GarufiIndiaElwin Sharvill NEGOTIATION
Silvio V CaldareraGermanyAmy Elsner QUALIFIED
Ricardo Z OldroydArgentinaIvan Magalhaes NEW
Aruna E MorascaCanadaAmy Elsner NEW
Jones I MarrierIndiaStephen Shaw PROPOSAL
Antonio R BriddickBrazilElwin Sharvill RENEWAL
Maria R RutaJapanBernardo Dominic NEGOTIATION
Maria Y ShinkoAustraliaIoni Bowcher NEW
Jones K KuskoJapanOnyama Limba UNQUALIFIED
Wickens U OldroydArgentinaStephen Shaw NEW
Morrow W PoquetteFranceIvan Magalhaes RENEWAL
Alejandro O PoquetteUnited KingdomAmy Elsner NEGOTIATION
Ashley E DarakjyUnited KingdomStephen Shaw NEGOTIATION
Kadeem H RulapaughItalyIvan Magalhaes NEW
Ivar N FerenczIndiaIvan Magalhaes UNQUALIFIED
Silvio A PerinRussiaAmy Elsner QUALIFIED
Julie Z FollerJapanIvan Magalhaes QUALIFIED
Aika O OstroskySpainBernardo Dominic UNQUALIFIED
Morrow F SlusarskiArgentinaAnna Fali RENEWAL
Tony R StensethGermanyAsiya Javayant UNQUALIFIED
Costa L PerinBrazilOnyama Limba QUALIFIED
Claire O PerinAustraliaIoni Bowcher NEGOTIATION
Ashley D StockhamItalyOnyama Limba PROPOSAL
Jones T SaylorsGermanyStephen Shaw NEGOTIATION
Jefferson I GarufiIndiaStephen Shaw NEGOTIATION
Jennifer W TollnerGermanyAnna Fali PROPOSAL
Chavez P FigeroaAustraliaIvan Magalhaes QUALIFIED
Izzy E MarrierIndiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Deepesh J Chui
Octavia D Wieser
Tony K Garufi
Deepesh B Stockham
Misaki A Campain
Faith R Stockham
Aruna V Malet
Jennifer P Gaucho
Kaitlin F Perin
Adams V Perin
Salvatore V Rim
Mayumi M Albares
Octavia E Briddick
Francesco H Bolognia
Salvatore P Garufi
Darci W Perin
Misaki G Marrier
Misaki X Tollner
Chavez C Kolmetz
Octavia J Amigon
Rodrigues T Venere
Smith Q Nestle
Morrow D Iturbide
Cody Y Schemmer
David N Campain
Deepesh W Rulapaugh
Juan Q Royster
Arvin V Poquette
Antonio E Malet
Julie Y Tollner
Greenwood S Poquette
Faith W Caldarera
Smith L Caudy
Aruna A Wieser
Jeanfrancois F Butt
James U Inouye
Sinclair Y Campain
Wickens I Schemmer
David G Paprocki
Sinclair Q Nestle
Isabel U Morasca
Morrow A Bowley
Sinclair A Whobrey
Misaki J Albares
Kaitlin L Venere
Jennifer N Rulapaugh
Julie S Campain
Salvatore N Poquette
Aika M Nestle
Morrow L Slusarski
IdCountryDate
1000Italy2025-06-10
1001Brazil2025-06-09
1002Germany2025-05-29
1003France2025-05-28
1004Argentina2025-05-21
1005Spain2025-06-01
1006Germany2025-05-22
1007Japan2025-05-20
1008Brazil2025-05-30
1009Brazil2025-05-20
1010Japan2025-06-10
1011Australia2025-05-21
1012Japan2025-05-18
1013United Kingdom2025-06-03
1014United Kingdom2025-06-03
1015Russia2025-05-26
1016Argentina2025-05-23
1017Germany2025-06-08
1018Italy2025-06-16
1019Germany2025-06-08
1020United Kingdom2025-05-19
1021Argentina2025-06-12
1022Argentina2025-05-18
1023Italy2025-06-07
1024United Kingdom2025-05-29
1025Russia2025-05-28
1026Italy2025-05-30
1027United Kingdom2025-05-27
1028Brazil2025-05-31
1029Japan2025-06-16
1030Australia2025-05-29
1031Canada2025-06-16
1032Germany2025-06-16
1033Germany2025-05-25
1034Australia2025-05-23
1035Australia2025-06-09
1036India2025-06-09
1037Argentina2025-05-26
1038Japan2025-06-07
1039Brazil2025-06-01
1040Brazil2025-05-19
1041Brazil2025-05-26
1042Australia2025-05-18
1043Canada2025-06-02
1044Italy2025-06-08
1045Russia2025-06-05
1046Brazil2025-06-06
1047Germany2025-06-08
1048Argentina2025-05-23
1049Brazil2025-05-28

On-Demand Data

NameIdCountryDate
Morrow K Campain1000Argentina2025-05-19
Mujtaba X Foller1001Italy2025-06-13
Antonio O Malet1002Germany2025-05-29
Faith N Perin1003France2025-06-11
Faith S Rim1004India2025-06-15
Mujtaba F Paprocki1005Russia2025-06-09
Leon U Iturbide1006Canada2025-05-28
Juan K Oldroyd1007Spain2025-05-30
Cody Q Bolognia1008Australia2025-05-20
Aditya D Whobrey1009Australia2025-06-12
Aruna S Flosi1010Australia2025-06-03
Wickens K Rim1011Germany2025-05-20
David O Albares1012France2025-05-22
Antonio A Shinko1013Brazil2025-06-13
Costa K Dilliard1014Canada2025-05-23
Aditya A Tollner1015Spain2025-06-06
Maria S Campain1016Spain2025-06-10
Adams W Glick1017Spain2025-06-10
Sinclair U Rim1018Germany2025-06-07
Aika J Stenseth1019France2025-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria D WaycottSpainOnyama Limba QUALIFIED
Johnson S GauchoBrazilBernardo Dominic QUALIFIED
Aditya N IturbideItalyBernardo Dominic QUALIFIED
Misaki L MaletCanadaXuxue Feng PROPOSAL
Tony S NickaBrazilStephen Shaw PROPOSAL
Maisha P WieserGermanyOnyama Limba NEGOTIATION
Claire D TollnerItalyStephen Shaw PROPOSAL
Francesco G ButtFranceIoni Bowcher NEW
Octavia L DilliardItalyAsiya Javayant NEGOTIATION
Costa R ShinkoArgentinaAnna Fali QUALIFIED
Clifford G MorascaSpainXuxue Feng RENEWAL
Wickens G RulapaughGermanyXuxue Feng NEW
Darci D SaylorsGermanyAnna Fali QUALIFIED
David G ButtGermanyOnyama Limba QUALIFIED
Julie P GillianBrazilBernardo Dominic UNQUALIFIED
Aika E DilliardFranceAmy Elsner NEW
Murillo S PaprockiAustraliaStephen Shaw NEW
Francesco X CaudyJapanAmy Elsner UNQUALIFIED
Ivar O OstroskyGermanyOnyama Limba RENEWAL
Faith C InouyeAustraliaElwin Sharvill NEGOTIATION
Nicolas S OldroydRussiaBernardo Dominic NEGOTIATION
Arvin L SergiItalyOnyama Limba UNQUALIFIED
Arvin H RulapaughRussiaAnna Fali PROPOSAL
Aruna L PaprockiIndiaBernardo Dominic NEW
Emily C MacleadBrazilStephen Shaw QUALIFIED
Costa H StensethJapanIvan Magalhaes PROPOSAL
Emily X GlickFranceBernardo Dominic UNQUALIFIED
Stacey Q RoysterJapanElwin Sharvill UNQUALIFIED
David Y FigeroaArgentinaStephen Shaw PROPOSAL
Aika N RoysterCanadaOnyama Limba NEGOTIATION
Misaki G GillianItalyBernardo Dominic UNQUALIFIED
Smith E CampainCanadaElwin Sharvill PROPOSAL
Maisha F GlickRussiaOnyama Limba UNQUALIFIED
Ivar K MacleadCanadaOnyama Limba RENEWAL
Costa C OstroskyGermanyIvan Magalhaes NEGOTIATION
Ivar X VocelkaBrazilAnna Fali NEGOTIATION
Faith V GillianIndiaAnna Fali PROPOSAL
Jones X BowleyJapanStephen Shaw QUALIFIED
Jennifer O FlosiItalyOnyama Limba UNQUALIFIED
Leon Q MaletGermanyOnyama Limba 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>