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
Aditya Y OstroskyIndiaXuxue Feng PROPOSAL
Clifford E GillianArgentinaIvan Magalhaes RENEWAL
Wickens E TollnerAustraliaElwin Sharvill NEGOTIATION
James I IturbideSpainAmy Elsner NEGOTIATION
Leon B GlickBrazilStephen Shaw UNQUALIFIED
Aika L ShinkoItalyAnna Fali RENEWAL
Aika G MorascaFranceAnna Fali RENEWAL
Francesco O RoysterUnited KingdomAnna Fali RENEWAL
David D BologniaFranceIoni Bowcher PROPOSAL
Claire F RimFranceElwin Sharvill NEW
Alejandro F PoquetteAustraliaAsiya Javayant RENEWAL
Stacey Z MacleadAustraliaOnyama Limba RENEWAL
Smith S MarrierBrazilIvan Magalhaes NEGOTIATION
Misaki S VenereGermanyOnyama Limba PROPOSAL
Octavia R SlusarskiIndiaOnyama Limba NEW
Arvin R GauchoFranceStephen Shaw UNQUALIFIED
Morrow B StockhamFranceAmy Elsner PROPOSAL
Isabel B ButtCanadaElwin Sharvill UNQUALIFIED
Kadeem T StensethRussiaAmy Elsner RENEWAL
Kaitlin O BologniaJapanAnna Fali NEW
Kadeem T PaprockiJapanIvan Magalhaes NEW
Jeanfrancois D WieserCanadaOnyama Limba NEGOTIATION
Emily C NickaJapanElwin Sharvill UNQUALIFIED
Jones P GarufiAustraliaStephen Shaw NEW
Jennifer B CaudyBrazilOnyama Limba PROPOSAL
Stacey X WieserGermanyXuxue Feng QUALIFIED
Munro I BologniaAustraliaAnna Fali RENEWAL
Deepesh V SlusarskiAustraliaAnna Fali RENEWAL
Stacey C NestleJapanElwin Sharvill QUALIFIED
Silvio E WhobreyBrazilIoni Bowcher QUALIFIED
Jeanfrancois G NickaIndiaIvan Magalhaes NEGOTIATION
Deepesh F GarufiFranceElwin Sharvill UNQUALIFIED
Kaitlin B FerenczCanadaXuxue Feng RENEWAL
Isabel O MaletIndiaElwin Sharvill NEW
Kaitlin S MacleadJapanAsiya Javayant NEGOTIATION
Faith U CaudyGermanyElwin Sharvill NEW
Nicolas A DarakjyJapanAnna Fali NEW
Cody N GillianRussiaAsiya Javayant UNQUALIFIED
Smith M RimUnited KingdomAmy Elsner RENEWAL
Deepesh C NickaGermanyXuxue Feng NEGOTIATION
Adams P SergiCanadaElwin Sharvill NEW
Murillo T PoquetteFranceAsiya Javayant PROPOSAL
Chavez T IturbideUnited KingdomOnyama Limba RENEWAL
Deepesh R MorascaBrazilOnyama Limba UNQUALIFIED
Nicolas F DoeFranceAnna Fali UNQUALIFIED
Cody U SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Jennifer Q ShinkoIndiaElwin Sharvill NEGOTIATION
Alejandro I GarufiArgentinaIvan Magalhaes QUALIFIED
Salvatore H KuskoAustraliaIvan Magalhaes QUALIFIED
Julie Y DarakjySpainXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba D FollerGermanyStephen Shaw NEGOTIATION
Jefferson H RimFranceOnyama Limba NEGOTIATION
Murillo D WaycottSpainStephen Shaw RENEWAL
Faith S VocelkaCanadaAsiya Javayant PROPOSAL
Johnson S CaudySpainIvan Magalhaes UNQUALIFIED
Murillo P GauchoBrazilBernardo Dominic QUALIFIED
Maria A InouyeAustraliaXuxue Feng UNQUALIFIED
Murillo N VenereJapanAmy Elsner RENEWAL
Johnson I GillianFranceAsiya Javayant QUALIFIED
Aditya D MaletBrazilAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Z MacleadBrazil2025-04-12Benton, John B Jr UNQUALIFIED46Elwin Sharvill
1001Juan F GarufiUnited Kingdom2025-04-28Benton, John B Jr UNQUALIFIED0Anna Fali
1002Deepesh A MacleadItaly2025-04-26Morlong Associates UNQUALIFIED68Bernardo Dominic
1003Izzy Q VocelkaFrance2025-04-18Chapman, Ross E Esq UNQUALIFIED55Stephen Shaw
1004Izzy G GarufiGermany2025-04-25Chapman, Ross E Esq PROPOSAL20Xuxue Feng
1005Deepesh A GlickCanada2025-04-07Morlong Associates NEW21Anna Fali
1006Isabel L DarakjyCanada2025-04-16Chapman, Ross E Esq NEGOTIATION8Xuxue Feng
1007Tony O ShinkoSpain2025-04-20Commercial Press RENEWAL30Elwin Sharvill
1008Jennifer A AmigonFrance2025-04-20Printing Dimensions RENEWAL42Xuxue Feng
1009Aruna H GillianGermany2025-04-18Truhlar And Truhlar Attys PROPOSAL13Onyama Limba
1010Stacey D NestleAustralia2025-04-26Printing Dimensions NEGOTIATION59Ivan Magalhaes
1011Ricardo W FerenczBrazil2025-04-06King, Christopher A Esq NEGOTIATION66Asiya Javayant
1012Stacey Z NickaUnited Kingdom2025-04-26Feltz Printing Service UNQUALIFIED29Elwin Sharvill
1013Jones R DarakjyArgentina2025-04-07Dorl, James J Esq QUALIFIED90Ioni Bowcher
1014Chavez X VenereBrazil2025-04-03Chanay, Jeffrey A Esq NEW74Amy Elsner
1015Deepesh O ShinkoGermany2025-04-25Feltz Printing Service NEGOTIATION19Xuxue Feng
1016Kadeem F DarakjyUnited Kingdom2025-04-02Chemel, James L Cpa UNQUALIFIED96Stephen Shaw
1017Maisha Z KuskoArgentina2025-04-26Rousseaux, Michael Esq UNQUALIFIED80Bernardo Dominic
1018Mujtaba R BologniaIndia2025-04-05Truhlar And Truhlar Attys RENEWAL69Anna Fali
1019Ricardo O GlickBrazil2025-04-16Morlong Associates PROPOSAL15Xuxue Feng
1020Isabel W SaylorsArgentina2025-04-19Chapman, Ross E Esq PROPOSAL86Ivan Magalhaes
1021Izzy Q TollnerUnited Kingdom2025-04-22Morlong Associates NEW24Bernardo Dominic
1022Nicolas S SergiJapan2025-04-03Benton, John B Jr UNQUALIFIED29Asiya Javayant
1023James L VocelkaUnited Kingdom2025-04-29Rangoni Of Florence RENEWAL34Bernardo Dominic
1024Isabel C SergiAustralia2025-04-05Chapman, Ross E Esq NEGOTIATION77Anna Fali
1025Clifford K MorascaJapan2025-04-01Chemel, James L Cpa PROPOSAL43Ivan Magalhaes
1026Juan E FollerItaly2025-04-19Dorl, James J Esq PROPOSAL49Anna Fali
1027Kadeem W WhobreyJapan2025-04-04Buckley Miller Wright UNQUALIFIED20Ivan Magalhaes
1028Murillo H CaudyFrance2025-04-03Chanay, Jeffrey A Esq UNQUALIFIED69Amy Elsner
1029Ashley P OstroskyCanada2025-04-11Morlong Associates PROPOSAL50Xuxue Feng
1030Chavez T BowleyJapan2025-04-05Commercial Press NEW29Xuxue Feng
1031Antonio W MacleadJapan2025-04-21Chemel, James L Cpa UNQUALIFIED18Onyama Limba
1032Deepesh U InouyeGermany2025-04-17Feltz Printing Service NEW40Xuxue Feng
1033Tony G FollerRussia2025-04-29Chemel, James L Cpa QUALIFIED74Xuxue Feng
1034Arvin G InouyeItaly2025-04-10Chanay, Jeffrey A Esq PROPOSAL18Xuxue Feng
1035Aika P AlbaresCanada2025-04-29Chanay, Jeffrey A Esq QUALIFIED35Xuxue Feng
1036Antonio R RulapaughCanada2025-04-26Truhlar And Truhlar Attys UNQUALIFIED74Ivan Magalhaes
1037Mayumi M ShinkoArgentina2025-04-09Printing Dimensions NEW44Xuxue Feng
1038Ricardo W BologniaCanada2025-04-17Morlong Associates UNQUALIFIED88Xuxue Feng
1039David R AlbaresFrance2025-04-27Truhlar And Truhlar Attys QUALIFIED76Elwin Sharvill
1040Jones K MarrierUnited Kingdom2025-04-23Feltz Printing Service QUALIFIED41Elwin Sharvill
1041Greenwood P FlosiCanada2025-04-10Commercial Press NEW2Onyama Limba
1042Nicolas C RutaFrance2025-04-05King, Christopher A Esq QUALIFIED4Anna Fali
1043Tony E VocelkaItaly2025-04-16Benton, John B Jr NEW13Anna Fali
1044Mayumi D WaycottArgentina2025-04-27Dorl, James J Esq UNQUALIFIED56Stephen Shaw
1045Misaki S CaudySpain2025-04-07Benton, John B Jr NEW72Elwin Sharvill
1046David D InouyeArgentina2025-04-09Morlong Associates NEW48Ivan Magalhaes
1047Jeanfrancois U NickaFrance2025-04-07Rousseaux, Michael Esq NEGOTIATION95Bernardo Dominic
1048Rodrigues Q NickaFrance2025-04-26Truhlar And Truhlar Attys RENEWAL75Xuxue Feng
1049Aruna C MarrierJapan2025-04-28Printing Dimensions UNQUALIFIED65Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika X TollnerUnited KingdomElwin Sharvill QUALIFIED
Isabel S NickaIndiaOnyama Limba NEW
Silvio O FlosiSpainAnna Fali PROPOSAL
Juan V KuskoGermanyOnyama Limba RENEWAL
Silvio A MaletGermanyOnyama Limba UNQUALIFIED
Claire G SergiJapanAnna Fali QUALIFIED
Ricardo T BriddickBrazilAmy Elsner NEW
Wickens R ButtFranceAnna Fali QUALIFIED
Wickens X PoquetteCanadaIvan Magalhaes NEGOTIATION
Aruna C SlusarskiCanadaAmy Elsner UNQUALIFIED
Ricardo V AmigonItalyIvan Magalhaes UNQUALIFIED
Aika J InouyeUnited KingdomStephen Shaw PROPOSAL
Francesco W BowleyBrazilElwin Sharvill NEW
Silvio M OldroydAustraliaOnyama Limba PROPOSAL
Salvatore J PaprockiUnited KingdomAnna Fali NEW
Cody M SaylorsItalyIvan Magalhaes PROPOSAL
Claire G GarufiIndiaAmy Elsner NEGOTIATION
Munro F StensethAustraliaBernardo Dominic PROPOSAL
Murillo E RimFranceBernardo Dominic UNQUALIFIED
Tony V GlickJapanIvan Magalhaes QUALIFIED
Maria L BriddickItalyIoni Bowcher NEGOTIATION
Greenwood P SlusarskiFranceAnna Fali PROPOSAL
Adams A DilliardSpainStephen Shaw QUALIFIED
Greenwood V GlickIndiaXuxue Feng PROPOSAL
Adams O FollerArgentinaOnyama Limba PROPOSAL
Jones F WieserJapanXuxue Feng QUALIFIED
Smith G RulapaughAustraliaXuxue Feng UNQUALIFIED
Claire G GauchoBrazilAsiya Javayant UNQUALIFIED
Juan B SergiRussiaAmy Elsner NEW
Izzy S KuskoItalyAnna Fali QUALIFIED
Greenwood S BriddickItalyAnna Fali NEW
Salvatore G GlickBrazilOnyama Limba UNQUALIFIED
Costa Y OldroydSpainAsiya Javayant UNQUALIFIED
Kaitlin F FlosiBrazilAmy Elsner PROPOSAL
Kadeem M GarufiItalyStephen Shaw PROPOSAL
Jeanfrancois B VocelkaCanadaOnyama Limba UNQUALIFIED
Francesco Z ShinkoItalyIoni Bowcher UNQUALIFIED
Jefferson N PoquetteUnited KingdomBernardo Dominic NEW
Maria E StockhamBrazilXuxue Feng PROPOSAL
Darci P WhobreyAustraliaIoni Bowcher QUALIFIED
Aika U GillianAustraliaAmy Elsner NEW
Claire I InouyeItalyIoni Bowcher NEW
Cody B RoysterArgentinaBernardo Dominic UNQUALIFIED
Ashley T InouyeSpainAsiya Javayant QUALIFIED
Deepesh H AmigonIndiaAnna Fali RENEWAL
Leja Y MacleadIndiaXuxue Feng QUALIFIED
Salvatore X TollnerRussiaIoni Bowcher QUALIFIED
Mujtaba E MacleadCanadaXuxue Feng NEW
Emily T OldroydCanadaXuxue Feng QUALIFIED
Jeanfrancois P DoeAustraliaAmy Elsner NEW
Frozen Columns
Name
Faith N Whobrey
Aika E Flosi
Leja P Flosi
Francesco O Shinko
Juan V Stenseth
Sinclair Y Oldroyd
Aditya P Briddick
Maria L Nestle
Izzy S Vocelka
James P Chui
Adams C Venere
Octavia B Slusarski
Francesco M Wieser
Julie O Stenseth
Kaitlin Y Figeroa
Jeanfrancois V Darakjy
Maisha O Tollner
Jennifer B Inouye
Jones F Sergi
Aditya I Dilliard
Johnson G Sergi
Mayumi C Royster
Chavez E Bowley
Silvio W Vocelka
Francesco P Maclead
Adams G Doe
Clifford B Albares
Smith K Stenseth
Isabel M Iturbide
Sinclair Q Vocelka
Tony B Stenseth
Morrow Q Vocelka
Faith A Ruta
Misaki G Shinko
Leja K Whobrey
David E Iturbide
Mayumi K Glick
Johnson Q Whobrey
Jeanfrancois O Gaucho
Misaki J Garufi
Tony J Garufi
Kaitlin W Inouye
Maria O Butt
Chavez J Perin
Francesco A Campain
Mujtaba G Stenseth
Adams V Caldarera
Morrow I Nicka
Mujtaba I Foller
Nicolas H Bowley
IdCountryDate
1000Italy2025-04-17
1001United Kingdom2025-04-28
1002India2025-04-13
1003Australia2025-04-11
1004Russia2025-04-13
1005Canada2025-04-24
1006Russia2025-04-16
1007Brazil2025-04-30
1008Germany2025-04-05
1009Canada2025-04-02
1010Spain2025-04-22
1011Argentina2025-04-07
1012Japan2025-04-02
1013Australia2025-04-03
1014India2025-04-15
1015Germany2025-04-29
1016India2025-04-04
1017Spain2025-04-24
1018France2025-04-23
1019Canada2025-04-08
1020Argentina2025-04-30
1021Argentina2025-04-04
1022Spain2025-04-19
1023India2025-04-06
1024Italy2025-04-22
1025Italy2025-04-23
1026Germany2025-04-04
1027Russia2025-04-03
1028Canada2025-04-23
1029Italy2025-04-03
1030Australia2025-04-05
1031Argentina2025-04-14
1032United Kingdom2025-04-09
1033Germany2025-04-25
1034Australia2025-04-04
1035Germany2025-04-06
1036Australia2025-04-23
1037France2025-04-21
1038Germany2025-04-05
1039Russia2025-04-01
1040Japan2025-04-06
1041India2025-04-01
1042Japan2025-04-30
1043Italy2025-04-11
1044Spain2025-04-15
1045Italy2025-04-26
1046Russia2025-04-04
1047Brazil2025-04-14
1048Brazil2025-04-22
1049Japan2025-04-09

On-Demand Data

NameIdCountryDate
Kadeem Z Gillian1000Brazil2025-04-20
Darci V Bowley1001Germany2025-04-27
Mayumi V Nestle1002United Kingdom2025-04-15
Murillo P Rulapaugh1003Italy2025-04-12
Misaki S Morasca1004Canada2025-04-13
Leon G Chui1005Brazil2025-04-26
Alejandro S Doe1006Canada2025-04-13
Leja C Oldroyd1007France2025-04-20
Ashley W Perin1008France2025-04-13
Mayumi M Bowley1009Australia2025-04-02
Adams Y Rim1010Australia2025-04-27
Wickens E Royster1011Brazil2025-04-28
Maisha M Paprocki1012Brazil2025-04-14
James S Vocelka1013Russia2025-04-02
Kadeem B Campain1014Germany2025-04-05
Emily G Caldarera1015Spain2025-04-19
Aditya S Tollner1016Spain2025-04-05
Antonio C Sergi1017France2025-04-08
Cody T Foller1018Argentina2025-04-21
Sinclair I Bowley1019Germany2025-04-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar L PaprockiJapanElwin Sharvill NEGOTIATION
Isabel T GauchoGermanyIoni Bowcher PROPOSAL
Nicolas D NickaBrazilAmy Elsner RENEWAL
Mayumi Q CampainSpainXuxue Feng RENEWAL
Juan N MacleadBrazilAmy Elsner RENEWAL
Johnson M PoquetteUnited KingdomElwin Sharvill QUALIFIED
Ricardo C AmigonIndiaElwin Sharvill PROPOSAL
Murillo P VocelkaItalyAsiya Javayant NEW
Misaki L GauchoRussiaXuxue Feng RENEWAL
Smith O KuskoBrazilElwin Sharvill RENEWAL
Leja G DilliardJapanBernardo Dominic RENEWAL
Julie Z NickaSpainIvan Magalhaes UNQUALIFIED
Chavez D SchemmerSpainOnyama Limba PROPOSAL
Emily T FlosiItalyStephen Shaw NEW
Kaitlin Q ButtAustraliaIvan Magalhaes NEW
Cody B GarufiJapanBernardo Dominic UNQUALIFIED
Tony N VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Leon D OstroskyArgentinaXuxue Feng RENEWAL
Maisha W ShinkoItalyAnna Fali QUALIFIED
Aruna B InouyeCanadaIoni Bowcher UNQUALIFIED
Francesco N FigeroaItalyAsiya Javayant RENEWAL
Clifford K CampainJapanElwin Sharvill NEGOTIATION
Isabel W RulapaughRussiaIvan Magalhaes UNQUALIFIED
Jefferson T InouyeItalyStephen Shaw UNQUALIFIED
Clifford B OldroydIndiaIvan Magalhaes NEGOTIATION
Darci W AmigonSpainIoni Bowcher RENEWAL
Stacey Y PerinSpainOnyama Limba NEGOTIATION
Clifford Z RulapaughGermanyOnyama Limba RENEWAL
Francesco A ButtAustraliaAsiya Javayant RENEWAL
Chavez I SergiFranceStephen Shaw QUALIFIED
Claire P PerinRussiaBernardo Dominic PROPOSAL
Jeanfrancois B RulapaughArgentinaStephen Shaw UNQUALIFIED
Sinclair F DilliardArgentinaOnyama Limba NEW
Rodrigues T ChuiIndiaElwin Sharvill UNQUALIFIED
Kaitlin C GauchoAustraliaAsiya Javayant UNQUALIFIED
Murillo V VenereSpainAnna Fali NEW
Wickens F CampainJapanAsiya Javayant NEGOTIATION
Kadeem G PerinFranceElwin Sharvill QUALIFIED
James J RoysterItalyElwin Sharvill RENEWAL
Arvin O WhobreyGermanyBernardo Dominic 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>