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
Sinclair N MacleadSpainIoni Bowcher NEGOTIATION
Emily Z PaprockiItalyIvan Magalhaes PROPOSAL
Mujtaba N InouyeCanadaIvan Magalhaes UNQUALIFIED
Jefferson X SlusarskiJapanIvan Magalhaes NEW
Morrow F CaudyIndiaElwin Sharvill NEW
Maria I ShinkoArgentinaBernardo Dominic RENEWAL
Jennifer S MacleadItalyIvan Magalhaes UNQUALIFIED
Aruna Y PerinUnited KingdomAsiya Javayant NEW
Octavia D CaldareraUnited KingdomBernardo Dominic NEW
Aruna I GillianAustraliaAmy Elsner NEGOTIATION
Julie Y CaudyUnited KingdomOnyama Limba UNQUALIFIED
Izzy V SchemmerItalyAmy Elsner RENEWAL
Emily Z GauchoSpainElwin Sharvill NEW
Leon O BriddickIndiaBernardo Dominic RENEWAL
Maria V MarrierUnited KingdomStephen Shaw RENEWAL
Jennifer I MacleadUnited KingdomAsiya Javayant NEW
Izzy B SlusarskiJapanAnna Fali NEGOTIATION
Kadeem V IturbideBrazilAmy Elsner NEGOTIATION
Sinclair I BriddickRussiaIvan Magalhaes PROPOSAL
Misaki Q GarufiAustraliaStephen Shaw UNQUALIFIED
Tony E StensethArgentinaAnna Fali RENEWAL
Maisha D IturbideFranceBernardo Dominic NEGOTIATION
Izzy X SergiSpainIvan Magalhaes PROPOSAL
Sinclair H WaycottIndiaElwin Sharvill RENEWAL
Octavia C WieserRussiaAmy Elsner PROPOSAL
Alejandro C RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Greenwood F SchemmerRussiaIvan Magalhaes QUALIFIED
Maisha P BowleyArgentinaAnna Fali RENEWAL
Rodrigues S VenereAustraliaXuxue Feng NEGOTIATION
Jones A TollnerUnited KingdomAmy Elsner RENEWAL
Misaki Z GlickCanadaAnna Fali NEW
Clifford N KuskoAustraliaAnna Fali NEGOTIATION
Smith D OldroydIndiaElwin Sharvill RENEWAL
Claire X ChuiBrazilStephen Shaw NEGOTIATION
Silvio W BologniaIndiaAmy Elsner PROPOSAL
Misaki U GillianBrazilAmy Elsner NEGOTIATION
Leja Z MarrierArgentinaElwin Sharvill UNQUALIFIED
Juan O MaletCanadaAsiya Javayant RENEWAL
Mayumi P WaycottJapanOnyama Limba PROPOSAL
Kadeem B GillianItalyXuxue Feng NEW
Julie I MacleadBrazilIoni Bowcher NEW
James M TollnerJapanIvan Magalhaes NEW
Ricardo A ChuiUnited KingdomIvan Magalhaes NEW
Claire F SergiSpainAsiya Javayant QUALIFIED
Antonio H MorascaRussiaElwin Sharvill RENEWAL
Smith T DilliardIndiaOnyama Limba PROPOSAL
Aditya V InouyeBrazilElwin Sharvill NEGOTIATION
Maisha F DilliardRussiaAnna Fali NEGOTIATION
Faith O WieserGermanyAnna Fali NEGOTIATION
Mayumi A DoeRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford K RoysterCanadaElwin Sharvill NEGOTIATION
Munro Y MarrierAustraliaXuxue Feng RENEWAL
Deepesh D WaycottFranceXuxue Feng NEW
Jefferson T RutaCanadaAmy Elsner PROPOSAL
Tony E PoquetteArgentinaXuxue Feng RENEWAL
Maria O ShinkoItalyAmy Elsner NEGOTIATION
Arvin S MarrierGermanyAmy Elsner UNQUALIFIED
Maisha H BriddickIndiaBernardo Dominic NEGOTIATION
Chavez E GauchoAustraliaAmy Elsner NEGOTIATION
Faith L NickaArgentinaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi A ChuiAustralia2025-06-15Buckley Miller Wright RENEWAL81Amy Elsner
1001Aruna G MarrierUnited Kingdom2025-05-24Rousseaux, Michael Esq QUALIFIED67Amy Elsner
1002Claire O WhobreyFrance2025-05-29Rangoni Of Florence NEGOTIATION86Anna Fali
1003Costa L IturbideArgentina2025-06-08Benton, John B Jr UNQUALIFIED25Xuxue Feng
1004Aruna O BologniaGermany2025-05-21Dorl, James J Esq NEGOTIATION31Amy Elsner
1005Izzy C PaprockiFrance2025-06-08Rousseaux, Michael Esq RENEWAL17Amy Elsner
1006Jones H PoquetteCanada2025-06-04Feiner Bros NEW75Amy Elsner
1007Costa K CaldareraItaly2025-05-24Rangoni Of Florence RENEWAL13Xuxue Feng
1008Izzy P IturbideJapan2025-05-26Chanay, Jeffrey A Esq UNQUALIFIED20Xuxue Feng
1009Mayumi A PoquetteArgentina2025-05-21King, Christopher A Esq NEW11Elwin Sharvill
1010Nicolas D ButtArgentina2025-05-23Printing Dimensions UNQUALIFIED14Onyama Limba
1011Johnson F KolmetzArgentina2025-06-14Chanay, Jeffrey A Esq QUALIFIED26Ivan Magalhaes
1012Ricardo K RimJapan2025-05-18Feiner Bros NEGOTIATION75Onyama Limba
1013Arvin W WaycottBrazil2025-05-25Feltz Printing Service RENEWAL80Stephen Shaw
1014David P MaletCanada2025-05-27Feiner Bros NEGOTIATION18Asiya Javayant
1015Aika M StensethCanada2025-05-31King, Christopher A Esq UNQUALIFIED90Xuxue Feng
1016Chavez N StensethJapan2025-06-09Truhlar And Truhlar Attys NEW80Xuxue Feng
1017Misaki B DilliardItaly2025-06-16Printing Dimensions RENEWAL18Ioni Bowcher
1018Morrow R GauchoSpain2025-05-19Commercial Press RENEWAL52Elwin Sharvill
1019Murillo P MacleadFrance2025-06-12Chapman, Ross E Esq NEGOTIATION95Amy Elsner
1020David W VocelkaUnited Kingdom2025-05-26Chapman, Ross E Esq UNQUALIFIED31Elwin Sharvill
1021Ricardo Q CampainArgentina2025-05-19Buckley Miller Wright NEW35Ivan Magalhaes
1022Tony K GarufiAustralia2025-06-13Truhlar And Truhlar Attys RENEWAL55Asiya Javayant
1023David P RoysterGermany2025-06-14Dorl, James J Esq QUALIFIED16Stephen Shaw
1024Mayumi A SlusarskiCanada2025-05-27Truhlar And Truhlar Attys RENEWAL4Xuxue Feng
1025Munro E IturbideItaly2025-06-09Printing Dimensions PROPOSAL10Elwin Sharvill
1026Arvin N MacleadRussia2025-06-03Rangoni Of Florence UNQUALIFIED45Ivan Magalhaes
1027Alejandro W NickaArgentina2025-06-05Feiner Bros NEGOTIATION34Asiya Javayant
1028Ivar F RulapaughJapan2025-06-11Rousseaux, Michael Esq RENEWAL44Ivan Magalhaes
1029Arvin F PoquetteCanada2025-06-09Benton, John B Jr QUALIFIED16Amy Elsner
1030Silvio Y BologniaArgentina2025-05-27Buckley Miller Wright QUALIFIED30Ioni Bowcher
1031Antonio A PoquetteCanada2025-06-12Dorl, James J Esq RENEWAL91Xuxue Feng
1032Francesco W WieserJapan2025-05-28Benton, John B Jr QUALIFIED92Xuxue Feng
1033Ivar W FollerRussia2025-05-28Buckley Miller Wright UNQUALIFIED14Bernardo Dominic
1034Jennifer Y KolmetzJapan2025-06-02Dorl, James J Esq PROPOSAL43Stephen Shaw
1035David W WaycottFrance2025-05-25Feiner Bros QUALIFIED49Elwin Sharvill
1036Ashley Q PaprockiSpain2025-06-06Commercial Press QUALIFIED30Onyama Limba
1037Arvin T BowleyCanada2025-06-05Dorl, James J Esq RENEWAL65Onyama Limba
1038Aditya G AmigonBrazil2025-06-03Morlong Associates NEGOTIATION65Bernardo Dominic
1039Jennifer Q GarufiUnited Kingdom2025-06-15Morlong Associates UNQUALIFIED13Asiya Javayant
1040Cody Q TollnerUnited Kingdom2025-06-02Feiner Bros PROPOSAL72Amy Elsner
1041Mayumi B RulapaughSpain2025-06-09King, Christopher A Esq RENEWAL41Anna Fali
1042Juan M KuskoFrance2025-05-19Morlong Associates RENEWAL79Asiya Javayant
1043Morrow B MaletAustralia2025-05-27Printing Dimensions NEGOTIATION80Onyama Limba
1044Isabel H SergiIndia2025-06-11Rousseaux, Michael Esq PROPOSAL51Stephen Shaw
1045Clifford U WaycottRussia2025-05-21Buckley Miller Wright PROPOSAL82Anna Fali
1046Darci Z ButtAustralia2025-05-30Truhlar And Truhlar Attys RENEWAL84Asiya Javayant
1047Jeanfrancois B RutaCanada2025-05-28Feltz Printing Service QUALIFIED55Stephen Shaw
1048Aruna V StensethBrazil2025-06-08Feltz Printing Service NEW34Onyama Limba
1049Morrow W NestleCanada2025-05-24King, Christopher A Esq PROPOSAL43Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ricardo U MaletRussiaAsiya Javayant PROPOSAL
Isabel Z RutaIndiaIoni Bowcher NEGOTIATION
Munro W PaprockiAustraliaElwin Sharvill RENEWAL
Aruna L SaylorsCanadaAnna Fali UNQUALIFIED
Maisha B StensethArgentinaElwin Sharvill NEGOTIATION
Francesco N TollnerFranceStephen Shaw QUALIFIED
Maisha U NestleJapanIvan Magalhaes NEW
Leja B ButtJapanXuxue Feng NEW
Julie E BologniaFranceAmy Elsner RENEWAL
Mujtaba G SlusarskiUnited KingdomXuxue Feng NEW
Misaki R CaudyJapanStephen Shaw NEW
Costa S RoysterBrazilBernardo Dominic QUALIFIED
Sinclair G OldroydItalyIoni Bowcher NEGOTIATION
Johnson R RutaAustraliaAmy Elsner RENEWAL
Johnson R MorascaAustraliaOnyama Limba RENEWAL
Clifford N VenereAustraliaIoni Bowcher UNQUALIFIED
Rodrigues P PoquetteUnited KingdomOnyama Limba UNQUALIFIED
Wickens O ButtArgentinaAsiya Javayant NEW
Cody N PaprockiSpainAnna Fali UNQUALIFIED
Maisha K AlbaresCanadaBernardo Dominic NEGOTIATION
Claire I NestleAustraliaXuxue Feng QUALIFIED
Ivar R CampainGermanyIvan Magalhaes NEW
Tony X TollnerCanadaAmy Elsner NEW
Alejandro S PoquetteSpainStephen Shaw PROPOSAL
Jones E ChuiUnited KingdomAnna Fali NEGOTIATION
Octavia M StensethGermanyElwin Sharvill NEW
Arvin B DarakjyBrazilIoni Bowcher QUALIFIED
Maria M AmigonRussiaAmy Elsner UNQUALIFIED
Faith L FerenczRussiaXuxue Feng RENEWAL
Claire J WieserJapanAmy Elsner RENEWAL
Munro K KolmetzFranceAmy Elsner NEW
Tony Z GillianCanadaXuxue Feng PROPOSAL
Arvin N WieserUnited KingdomAsiya Javayant NEW
Munro Q InouyeAustraliaBernardo Dominic UNQUALIFIED
Mujtaba I SaylorsCanadaAnna Fali RENEWAL
Wickens V TollnerUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois V ButtSpainAsiya Javayant QUALIFIED
Salvatore V MarrierArgentinaAsiya Javayant UNQUALIFIED
David H StensethJapanXuxue Feng NEGOTIATION
Mujtaba T BologniaJapanAsiya Javayant RENEWAL
Costa G WieserCanadaIvan Magalhaes UNQUALIFIED
Johnson W CaudyBrazilElwin Sharvill NEGOTIATION
Aika P ChuiRussiaXuxue Feng PROPOSAL
Jones J RoysterSpainXuxue Feng RENEWAL
Chavez Y ButtArgentinaIoni Bowcher NEW
Izzy E RoysterBrazilElwin Sharvill PROPOSAL
Julie A GlickAustraliaAnna Fali QUALIFIED
David C GillianGermanyElwin Sharvill NEW
Maisha I FlosiUnited KingdomXuxue Feng PROPOSAL
Jennifer O SlusarskiJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Nicolas U Flosi
Darci E Poquette
Murillo T Caudy
Octavia X Schemmer
Chavez H Nicka
Murillo B Foller
David D Tollner
Tony O Ferencz
Greenwood C Garufi
Aditya O Darakjy
Maisha I Paprocki
Sinclair B Ferencz
Emily F Caudy
Stacey D Ruta
Leja R Butt
Maisha E Albares
Jeanfrancois U Kolmetz
Jefferson Q Malet
Kadeem S Malet
Wickens Q Vocelka
Stacey R Foller
David U Caudy
Antonio X Kolmetz
Maisha U Nicka
Juan B Darakjy
Clifford J Nestle
Aditya Z Nestle
Kadeem O Amigon
Aditya W Gaucho
Smith M Paprocki
Wickens L Briddick
Morrow X Ruta
Ricardo G Briddick
Nicolas E Garufi
Emily S Perin
Izzy J Iturbide
Misaki E Ruta
Alejandro V Royster
Rodrigues R Flosi
Greenwood J Sergi
Jones L Vocelka
Aika S Caudy
Faith A Vocelka
Adams F Morasca
Silvio F Shinko
Clifford M Ferencz
Leon X Darakjy
Adams A Shinko
Mujtaba M Ferencz
Antonio M Foller
IdCountryDate
1000Spain2025-05-31
1001India2025-05-25
1002United Kingdom2025-06-02
1003Russia2025-05-21
1004Argentina2025-06-14
1005Argentina2025-05-28
1006Argentina2025-05-21
1007Argentina2025-06-15
1008France2025-05-30
1009Spain2025-06-03
1010Canada2025-05-22
1011Italy2025-06-11
1012Spain2025-06-09
1013Spain2025-06-14
1014Argentina2025-05-26
1015France2025-06-06
1016United Kingdom2025-06-02
1017Argentina2025-06-01
1018Spain2025-06-05
1019Australia2025-05-21
1020France2025-05-18
1021Japan2025-05-27
1022Russia2025-06-14
1023India2025-06-04
1024Canada2025-06-08
1025Australia2025-05-25
1026Germany2025-06-14
1027Argentina2025-06-13
1028Australia2025-06-13
1029Japan2025-05-25
1030Japan2025-06-15
1031France2025-05-26
1032United Kingdom2025-06-06
1033Spain2025-06-09
1034Argentina2025-06-03
1035Italy2025-05-19
1036Australia2025-06-11
1037Argentina2025-06-12
1038Brazil2025-05-26
1039Germany2025-05-25
1040Japan2025-05-31
1041France2025-06-16
1042India2025-05-22
1043India2025-05-29
1044France2025-05-31
1045India2025-06-09
1046France2025-06-12
1047Spain2025-06-01
1048Germany2025-06-06
1049Japan2025-05-25

On-Demand Data

NameIdCountryDate
Wickens M Waycott1000Russia2025-05-23
Alejandro P Schemmer1001Argentina2025-06-04
Johnson T Whobrey1002Australia2025-06-03
Juan D Bolognia1003Brazil2025-06-15
Johnson R Marrier1004India2025-06-16
Kadeem C Poquette1005Italy2025-06-14
Salvatore E Gillian1006Canada2025-06-06
Jennifer V Oldroyd1007Spain2025-06-15
Sinclair K Chui1008Spain2025-05-24
Rodrigues X Nestle1009Japan2025-06-11
Kadeem Z Saylors1010Australia2025-05-20
Isabel B Marrier1011France2025-06-10
Mujtaba V Stenseth1012Brazil2025-06-16
Isabel P Albares1013Canada2025-06-15
Jefferson U Saylors1014Canada2025-06-12
Munro U Dilliard1015Australia2025-05-27
Costa C Darakjy1016France2025-05-19
James F Vocelka1017Brazil2025-06-04
Stacey F Campain1018Brazil2025-05-22
Kadeem V Kusko1019India2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi S MaletUnited KingdomAmy Elsner NEW
Faith J IturbideRussiaBernardo Dominic NEW
Johnson J VocelkaFranceAsiya Javayant UNQUALIFIED
James F SaylorsCanadaAnna Fali NEW
Greenwood H WaycottBrazilBernardo Dominic NEW
Jones B BriddickSpainOnyama Limba RENEWAL
Nicolas E RimRussiaAnna Fali PROPOSAL
Aika W ButtAustraliaAmy Elsner PROPOSAL
Adams K SaylorsSpainXuxue Feng QUALIFIED
Stacey C BologniaRussiaAsiya Javayant NEGOTIATION
Chavez J MaletSpainIvan Magalhaes PROPOSAL
Nicolas W PoquetteRussiaIvan Magalhaes UNQUALIFIED
Aruna T WaycottFranceAnna Fali RENEWAL
Alejandro S DarakjyUnited KingdomAmy Elsner RENEWAL
Ivar Y CampainCanadaXuxue Feng PROPOSAL
Chavez Q SaylorsBrazilOnyama Limba PROPOSAL
Aditya W RoysterGermanyBernardo Dominic RENEWAL
Izzy R BologniaRussiaAnna Fali PROPOSAL
Isabel S IturbideItalyIoni Bowcher QUALIFIED
Octavia I AmigonJapanXuxue Feng NEGOTIATION
Morrow W MaletRussiaOnyama Limba UNQUALIFIED
Ivar P KolmetzAustraliaAmy Elsner RENEWAL
Adams J TollnerUnited KingdomAmy Elsner PROPOSAL
Cody A SergiBrazilStephen Shaw RENEWAL
Ivar Z DilliardUnited KingdomAmy Elsner NEW
Jefferson D ShinkoIndiaAmy Elsner NEGOTIATION
Jefferson M KuskoUnited KingdomAsiya Javayant NEW
Juan J SaylorsFranceStephen Shaw RENEWAL
Francesco J DilliardJapanIoni Bowcher PROPOSAL
Kadeem K GauchoUnited KingdomIoni Bowcher NEGOTIATION
Munro R MaletAustraliaBernardo Dominic NEW
Francesco B VenereItalyElwin Sharvill UNQUALIFIED
Rodrigues N BriddickFranceAmy Elsner NEW
Johnson G GillianItalyBernardo Dominic NEGOTIATION
Murillo N BowleyIndiaAnna Fali UNQUALIFIED
Leja J DilliardGermanyOnyama Limba QUALIFIED
Jeanfrancois N KolmetzAustraliaAsiya Javayant NEW
Greenwood F ShinkoRussiaStephen Shaw RENEWAL
Faith D GarufiBrazilXuxue Feng RENEWAL
Mayumi D BologniaJapanAsiya Javayant PROPOSAL

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