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
Jeanfrancois I SergiRussiaElwin Sharvill UNQUALIFIED
Morrow J FerenczIndiaAmy Elsner NEW
Smith G SergiItalyIoni Bowcher UNQUALIFIED
Isabel B SchemmerAustraliaElwin Sharvill PROPOSAL
Silvio N BriddickFranceAnna Fali RENEWAL
Rodrigues L BologniaSpainIoni Bowcher RENEWAL
Leon C VenereAustraliaAsiya Javayant QUALIFIED
Aika D DarakjySpainXuxue Feng PROPOSAL
David N NickaArgentinaBernardo Dominic RENEWAL
Isabel F OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Morrow A GillianUnited KingdomAmy Elsner UNQUALIFIED
Claire C DoeSpainAsiya Javayant NEW
Chavez M OldroydGermanyAnna Fali PROPOSAL
Mayumi G MarrierBrazilIvan Magalhaes PROPOSAL
Johnson M FollerRussiaAnna Fali QUALIFIED
Francesco X RutaGermanyOnyama Limba NEGOTIATION
Claire U RoysterSpainElwin Sharvill QUALIFIED
Greenwood E FollerArgentinaAnna Fali QUALIFIED
Ricardo V MaletGermanyAmy Elsner NEW
Alejandro C BologniaRussiaAmy Elsner RENEWAL
Tony F SlusarskiAustraliaXuxue Feng NEW
Costa I ButtRussiaOnyama Limba RENEWAL
Silvio J RulapaughAustraliaAsiya Javayant QUALIFIED
Aruna N PerinAustraliaAsiya Javayant RENEWAL
Jennifer O GillianIndiaAmy Elsner PROPOSAL
Greenwood P AlbaresAustraliaAsiya Javayant NEW
Kadeem X OstroskyAustraliaAmy Elsner QUALIFIED
Rodrigues L BologniaBrazilBernardo Dominic UNQUALIFIED
Munro Z PerinAustraliaAmy Elsner NEGOTIATION
Wickens S RoysterIndiaAnna Fali NEGOTIATION
Costa G OstroskyJapanBernardo Dominic RENEWAL
Murillo S PerinFranceOnyama Limba NEW
Jennifer T RutaItalyAsiya Javayant UNQUALIFIED
Aruna A KolmetzGermanyElwin Sharvill PROPOSAL
Salvatore O CampainArgentinaAnna Fali NEGOTIATION
Rodrigues G DarakjySpainAnna Fali QUALIFIED
Jefferson Z KuskoItalyElwin Sharvill QUALIFIED
Kaitlin B ChuiRussiaElwin Sharvill PROPOSAL
Salvatore S GlickJapanXuxue Feng RENEWAL
Tony I CaudyFranceXuxue Feng PROPOSAL
Stacey S RulapaughItalyStephen Shaw NEW
Chavez J GlickItalyBernardo Dominic NEW
Salvatore J StockhamAustraliaOnyama Limba NEW
Clifford E ChuiFranceOnyama Limba RENEWAL
Rodrigues M PerinCanadaElwin Sharvill QUALIFIED
Julie E RutaFranceOnyama Limba RENEWAL
Stacey Q IturbideAustraliaElwin Sharvill NEW
Octavia Q CaudyGermanyAmy Elsner RENEWAL
Mujtaba B PerinJapanAsiya Javayant PROPOSAL
Johnson V CampainJapanIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel U DoeRussiaIoni Bowcher QUALIFIED
Cody D StockhamJapanAsiya Javayant NEGOTIATION
Deepesh S DarakjyBrazilElwin Sharvill RENEWAL
Maria M TollnerFranceIvan Magalhaes QUALIFIED
Adams I CaudyFranceStephen Shaw NEW
Silvio O WhobreySpainBernardo Dominic NEW
Mujtaba E NestleGermanyBernardo Dominic PROPOSAL
Mayumi H IturbideItalyIoni Bowcher RENEWAL
Isabel X CaldareraGermanyBernardo Dominic NEGOTIATION
Deepesh N SergiFranceElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith C ButtBrazil2025-04-14Feiner Bros RENEWAL36Ivan Magalhaes
1001Faith P KuskoFrance2025-04-12Feltz Printing Service NEGOTIATION60Amy Elsner
1002Antonio L VenereUnited Kingdom2025-04-08Morlong Associates NEGOTIATION21Onyama Limba
1003Munro N FlosiItaly2025-04-05Chemel, James L Cpa PROPOSAL85Xuxue Feng
1004Juan N FerenczFrance2025-04-13Truhlar And Truhlar Attys NEW79Anna Fali
1005Kadeem Q GlickArgentina2025-04-21Rousseaux, Michael Esq UNQUALIFIED76Elwin Sharvill
1006Arvin N VocelkaUnited Kingdom2025-04-30Feiner Bros QUALIFIED18Bernardo Dominic
1007Maria X InouyeAustralia2025-04-15Dorl, James J Esq UNQUALIFIED9Amy Elsner
1008Salvatore B AlbaresRussia2025-04-19Morlong Associates PROPOSAL21Xuxue Feng
1009Izzy T VocelkaArgentina2025-04-23King, Christopher A Esq UNQUALIFIED26Ioni Bowcher
1010Octavia M SchemmerArgentina2025-04-10Rangoni Of Florence UNQUALIFIED30Amy Elsner
1011Tony Z TollnerBrazil2025-04-09Feiner Bros UNQUALIFIED26Amy Elsner
1012Jones I VocelkaAustralia2025-04-10Feltz Printing Service NEW10Xuxue Feng
1013Maisha P WieserBrazil2025-04-29Buckley Miller Wright NEGOTIATION26Amy Elsner
1014Claire V OstroskyBrazil2025-05-01Chemel, James L Cpa NEW89Ivan Magalhaes
1015Aruna A StockhamIndia2025-04-09Chapman, Ross E Esq PROPOSAL27Asiya Javayant
1016Jeanfrancois M FollerBrazil2025-04-16Chanay, Jeffrey A Esq NEGOTIATION85Ioni Bowcher
1017Aika C MaletGermany2025-04-17Rousseaux, Michael Esq PROPOSAL65Onyama Limba
1018Wickens O ShinkoFrance2025-04-13Commercial Press PROPOSAL84Amy Elsner
1019Clifford J MacleadGermany2025-04-28Printing Dimensions NEGOTIATION34Anna Fali
1020Stacey F CaldareraGermany2025-04-20Commercial Press NEW32Ioni Bowcher
1021Ivar X WaycottBrazil2025-04-02Commercial Press QUALIFIED78Stephen Shaw
1022Claire N MorascaArgentina2025-04-03Commercial Press QUALIFIED99Elwin Sharvill
1023Nicolas X MaletIndia2025-04-06Dorl, James J Esq QUALIFIED86Asiya Javayant
1024Clifford B GauchoFrance2025-04-02Rousseaux, Michael Esq QUALIFIED35Amy Elsner
1025Aruna U BowleyArgentina2025-04-12Rousseaux, Michael Esq UNQUALIFIED88Elwin Sharvill
1026Munro Q WieserJapan2025-04-15Printing Dimensions UNQUALIFIED96Ioni Bowcher
1027Maisha E ChuiBrazil2025-04-22Rousseaux, Michael Esq RENEWAL82Elwin Sharvill
1028Munro Y FigeroaAustralia2025-04-04Chapman, Ross E Esq UNQUALIFIED31Ivan Magalhaes
1029Julie B PoquetteBrazil2025-04-24Chanay, Jeffrey A Esq NEW76Stephen Shaw
1030Morrow P WaycottAustralia2025-04-11King, Christopher A Esq NEGOTIATION7Bernardo Dominic
1031Jones F WaycottUnited Kingdom2025-04-27King, Christopher A Esq QUALIFIED76Xuxue Feng
1032Rodrigues X ChuiJapan2025-04-08Rangoni Of Florence NEGOTIATION39Amy Elsner
1033Emily T FerenczIndia2025-04-03Morlong Associates NEW90Onyama Limba
1034Rodrigues U AlbaresItaly2025-04-26Morlong Associates PROPOSAL73Onyama Limba
1035Morrow M BowleyGermany2025-04-04Benton, John B Jr PROPOSAL97Ivan Magalhaes
1036Jeanfrancois S MacleadSpain2025-04-28Morlong Associates PROPOSAL77Asiya Javayant
1037Jeanfrancois W CaldareraRussia2025-04-21Chemel, James L Cpa PROPOSAL97Ioni Bowcher
1038Arvin F ShinkoItaly2025-04-21Dorl, James J Esq QUALIFIED90Onyama Limba
1039Aika S PoquetteRussia2025-04-04Feltz Printing Service PROPOSAL79Ioni Bowcher
1040Ricardo Y BologniaRussia2025-04-12Rousseaux, Michael Esq QUALIFIED37Xuxue Feng
1041James M MacleadItaly2025-04-27Rousseaux, Michael Esq NEW7Asiya Javayant
1042Jennifer O MacleadSpain2025-04-26Chanay, Jeffrey A Esq NEGOTIATION19Anna Fali
1043Emily N MaletRussia2025-04-20Rangoni Of Florence PROPOSAL13Amy Elsner
1044Octavia X GlickRussia2025-04-19Printing Dimensions PROPOSAL98Stephen Shaw
1045Salvatore F DarakjyItaly2025-04-28Chanay, Jeffrey A Esq RENEWAL87Ioni Bowcher
1046Darci J RoysterSpain2025-05-01Buckley Miller Wright NEGOTIATION0Onyama Limba
1047Leon S AlbaresItaly2025-04-11Chanay, Jeffrey A Esq NEW68Anna Fali
1048Ricardo T RoysterRussia2025-04-13Morlong Associates UNQUALIFIED11Stephen Shaw
1049Greenwood T CaudyCanada2025-04-30Chapman, Ross E Esq PROPOSAL49Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Francesco T PaprockiRussiaStephen Shaw PROPOSAL
Isabel W DarakjyFranceXuxue Feng UNQUALIFIED
Aruna E KuskoIndiaAsiya Javayant RENEWAL
Tony G MarrierAustraliaAmy Elsner UNQUALIFIED
Clifford U FlosiCanadaStephen Shaw NEW
Aruna P BowleyFranceXuxue Feng NEW
Costa W ChuiCanadaAmy Elsner QUALIFIED
Jones B KuskoGermanyStephen Shaw RENEWAL
Salvatore P MorascaGermanyElwin Sharvill RENEWAL
Claire L WieserSpainIoni Bowcher NEGOTIATION
Jeanfrancois Y MacleadCanadaElwin Sharvill UNQUALIFIED
Misaki N MaletItalyIvan Magalhaes NEGOTIATION
Murillo K WieserCanadaAmy Elsner RENEWAL
James T BriddickBrazilStephen Shaw PROPOSAL
Salvatore W WaycottArgentinaAnna Fali UNQUALIFIED
Darci V DoeGermanyAnna Fali UNQUALIFIED
Smith I CampainAustraliaElwin Sharvill RENEWAL
Wickens F DilliardSpainXuxue Feng NEGOTIATION
Nicolas Z StockhamFranceIvan Magalhaes UNQUALIFIED
Munro R CaldareraFranceIvan Magalhaes NEGOTIATION
Greenwood E WaycottRussiaAmy Elsner NEGOTIATION
Munro O BriddickRussiaOnyama Limba RENEWAL
David E GillianBrazilOnyama Limba UNQUALIFIED
Wickens W ChuiRussiaAmy Elsner NEGOTIATION
Aruna G KuskoJapanXuxue Feng QUALIFIED
Kaitlin D CaldareraBrazilIoni Bowcher PROPOSAL
Greenwood Y InouyeAustraliaXuxue Feng RENEWAL
Julie U RimRussiaXuxue Feng NEW
Mayumi D AlbaresItalyAmy Elsner UNQUALIFIED
Juan M DarakjyRussiaElwin Sharvill RENEWAL
Leon C NestleGermanyOnyama Limba UNQUALIFIED
Arvin M SchemmerAustraliaOnyama Limba RENEWAL
Emily U GlickSpainStephen Shaw RENEWAL
Emily Z ShinkoRussiaStephen Shaw RENEWAL
Silvio H MorascaUnited KingdomAnna Fali QUALIFIED
Darci X AlbaresGermanyAmy Elsner NEGOTIATION
Jefferson V NestleCanadaStephen Shaw PROPOSAL
Emily O BriddickAustraliaElwin Sharvill UNQUALIFIED
Arvin Y TollnerGermanyElwin Sharvill NEW
Stacey V OstroskySpainAnna Fali QUALIFIED
Sinclair L ButtCanadaBernardo Dominic RENEWAL
Morrow Y CaudyBrazilIoni Bowcher QUALIFIED
Mujtaba R StockhamJapanElwin Sharvill RENEWAL
Claire L KolmetzCanadaBernardo Dominic NEW
Emily P DoeArgentinaIvan Magalhaes RENEWAL
David U MarrierIndiaIvan Magalhaes NEW
Clifford F WhobreyJapanElwin Sharvill PROPOSAL
Maisha O NestleGermanyIoni Bowcher QUALIFIED
Clifford O GlickSpainAsiya Javayant UNQUALIFIED
Darci Q PoquetteGermanyAsiya Javayant NEW
Frozen Columns
Name
Antonio I Darakjy
Leon C Shinko
Jefferson B Tollner
David I Doe
Costa Z Nestle
Murillo B Chui
Silvio N Poquette
Octavia M Butt
Silvio F Caudy
Johnson F Shinko
Izzy J Schemmer
Mujtaba X Perin
Mayumi G Caudy
Clifford P Perin
Morrow R Shinko
Clifford P Chui
Deepesh G Ferencz
Jones Y Garufi
James W Malet
Smith L Tollner
Rodrigues T Rulapaugh
Wickens U Doe
Mayumi H Flosi
Johnson W Slusarski
Greenwood B Ruta
Rodrigues G Bowley
Leja O Flosi
Maisha V Saylors
Antonio K Foller
Juan D Marrier
Leja Y Waycott
Wickens C Darakjy
Salvatore Z Stenseth
Alejandro B Campain
Sinclair E Perin
Mujtaba O Wieser
Claire P Oldroyd
Greenwood M Doe
Isabel W Morasca
Maria G Shinko
Mujtaba Y Slusarski
Octavia H Marrier
David B Caudy
Aika Z Marrier
Silvio N Kusko
Rodrigues T Caudy
Chavez D Caudy
Stacey P Morasca
Maisha D Whobrey
Faith N Marrier
IdCountryDate
1000Canada2025-04-15
1001Japan2025-04-09
1002France2025-04-23
1003Germany2025-05-01
1004Argentina2025-04-05
1005Russia2025-04-10
1006Australia2025-04-20
1007Brazil2025-04-26
1008Argentina2025-04-14
1009Canada2025-04-03
1010Italy2025-04-08
1011Brazil2025-04-28
1012Italy2025-04-09
1013India2025-04-14
1014Argentina2025-04-24
1015United Kingdom2025-04-30
1016Germany2025-04-07
1017India2025-04-02
1018Brazil2025-04-06
1019Canada2025-04-27
1020Russia2025-04-17
1021France2025-04-03
1022Spain2025-04-06
1023Italy2025-04-23
1024Japan2025-04-26
1025France2025-04-17
1026Russia2025-04-10
1027Canada2025-04-25
1028India2025-04-22
1029Japan2025-04-13
1030Italy2025-04-07
1031Brazil2025-04-13
1032Italy2025-04-07
1033Brazil2025-04-22
1034Australia2025-04-25
1035Canada2025-04-02
1036India2025-04-14
1037Argentina2025-04-21
1038India2025-04-20
1039Brazil2025-04-21
1040Brazil2025-04-04
1041Italy2025-04-05
1042Japan2025-04-09
1043Spain2025-04-27
1044France2025-04-22
1045Italy2025-04-03
1046France2025-04-05
1047Brazil2025-04-26
1048Australia2025-04-24
1049France2025-04-12

On-Demand Data

NameIdCountryDate
Jones H Butt1000Japan2025-04-16
Murillo R Malet1001United Kingdom2025-04-15
Ivar W Gillian1002Australia2025-04-09
Maria J Shinko1003Spain2025-04-18
Jeanfrancois O Ferencz1004Argentina2025-04-06
Misaki Z Malet1005Spain2025-04-16
Antonio W Glick1006United Kingdom2025-04-25
Clifford P Ruta1007Canada2025-04-30
Claire V Marrier1008Canada2025-04-12
Stacey G Shinko1009United Kingdom2025-04-07
Ashley E Oldroyd1010Australia2025-04-13
Leon B Nestle1011Canada2025-04-06
Nicolas F Iturbide1012Italy2025-04-15
Aika U Poquette1013United Kingdom2025-04-20
Sinclair C Doe1014Brazil2025-04-15
Izzy X Caudy1015Italy2025-04-13
David T Rulapaugh1016Germany2025-04-08
Jones J Vocelka1017Italy2025-04-04
Jennifer V Dilliard1018Italy2025-04-06
Aika W Tollner1019Japan2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer L WaycottGermanyBernardo Dominic RENEWAL
Mujtaba Z FigeroaIndiaStephen Shaw QUALIFIED
Aruna V TollnerJapanStephen Shaw PROPOSAL
Clifford M InouyeGermanyAsiya Javayant NEW
Faith Y TollnerIndiaXuxue Feng NEW
Alejandro I SaylorsGermanyIvan Magalhaes RENEWAL
Jefferson Q SchemmerIndiaIoni Bowcher NEW
Leja B PerinSpainAsiya Javayant NEGOTIATION
Antonio V IturbideArgentinaAmy Elsner QUALIFIED
Adams R GillianItalyIoni Bowcher PROPOSAL
Jennifer M RutaAustraliaAmy Elsner NEW
Tony O CaudyItalyIoni Bowcher QUALIFIED
Clifford U NickaJapanAnna Fali NEGOTIATION
Ashley W FlosiGermanyAmy Elsner RENEWAL
Munro H DilliardAustraliaIvan Magalhaes QUALIFIED
Kadeem R VenereBrazilAnna Fali RENEWAL
Murillo I SlusarskiGermanyIvan Magalhaes PROPOSAL
Chavez D CampainSpainAnna Fali PROPOSAL
Antonio P StensethIndiaElwin Sharvill UNQUALIFIED
Rodrigues S InouyeArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois M MacleadSpainBernardo Dominic PROPOSAL
Murillo P NestleSpainBernardo Dominic PROPOSAL
Faith J MaletBrazilStephen Shaw NEGOTIATION
Nicolas H GlickRussiaAmy Elsner QUALIFIED
Deepesh S BologniaArgentinaIoni Bowcher QUALIFIED
Adams P TollnerUnited KingdomAsiya Javayant QUALIFIED
Rodrigues Z ButtSpainBernardo Dominic NEW
Leon A MacleadBrazilStephen Shaw PROPOSAL
Emily Q InouyeItalyAmy Elsner NEW
Kaitlin H BologniaItalyAmy Elsner PROPOSAL
Chavez T GauchoArgentinaIoni Bowcher RENEWAL
Francesco K ButtGermanyXuxue Feng QUALIFIED
Adams N AmigonJapanXuxue Feng NEGOTIATION
Claire X SergiJapanAnna Fali PROPOSAL
Arvin Q StockhamGermanyStephen Shaw UNQUALIFIED
Alejandro N BowleyArgentinaOnyama Limba QUALIFIED
Munro X DilliardAustraliaAnna Fali NEGOTIATION
Aruna V CaudyGermanyXuxue Feng NEGOTIATION
David J ChuiGermanyIoni Bowcher PROPOSAL
Francesco K GillianUnited KingdomXuxue 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>