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
Emily B FollerJapanElwin Sharvill RENEWAL
Morrow R VocelkaRussiaAsiya Javayant PROPOSAL
Aruna X ButtFranceIoni Bowcher PROPOSAL
Ivar B InouyeGermanyAsiya Javayant RENEWAL
Deepesh P RimRussiaOnyama Limba PROPOSAL
Morrow W GauchoBrazilXuxue Feng PROPOSAL
Morrow N GauchoRussiaOnyama Limba UNQUALIFIED
Johnson O FollerArgentinaAnna Fali UNQUALIFIED
Johnson H InouyeRussiaAnna Fali NEGOTIATION
Jefferson K PerinSpainAmy Elsner PROPOSAL
Misaki Y CaldareraGermanyIoni Bowcher RENEWAL
Wickens E RimBrazilAnna Fali NEW
Misaki P FollerFranceStephen Shaw NEGOTIATION
Rodrigues B RulapaughUnited KingdomAsiya Javayant PROPOSAL
Morrow S SlusarskiArgentinaAmy Elsner NEW
Antonio X KolmetzJapanElwin Sharvill NEW
Alejandro P DilliardBrazilAnna Fali NEW
Kadeem S BologniaArgentinaAmy Elsner RENEWAL
Arvin N WieserUnited KingdomIoni Bowcher PROPOSAL
Chavez G PerinSpainIvan Magalhaes PROPOSAL
Murillo J FlosiCanadaBernardo Dominic RENEWAL
Leja L CaudySpainAsiya Javayant UNQUALIFIED
Isabel O CaldareraGermanyOnyama Limba NEW
Salvatore X NickaAustraliaStephen Shaw PROPOSAL
Cody J ButtGermanyIoni Bowcher QUALIFIED
Leon S BowleySpainOnyama Limba QUALIFIED
Isabel Z RulapaughAustraliaAmy Elsner NEW
Rodrigues X NickaItalyAmy Elsner NEGOTIATION
Misaki W DoeArgentinaIoni Bowcher RENEWAL
Mayumi Z GauchoItalyIoni Bowcher RENEWAL
Leja X PerinGermanyBernardo Dominic NEGOTIATION
Ricardo P NestleItalyIoni Bowcher NEW
Aika P SaylorsJapanIvan Magalhaes NEW
Ivar K RutaFranceOnyama Limba NEW
Johnson U CaudyIndiaXuxue Feng QUALIFIED
Smith A OldroydIndiaStephen Shaw NEW
Costa A PoquetteIndiaElwin Sharvill PROPOSAL
Munro H PoquetteBrazilXuxue Feng PROPOSAL
Claire J MaletAustraliaOnyama Limba RENEWAL
Costa M BologniaSpainAnna Fali PROPOSAL
Izzy A DarakjyRussiaStephen Shaw UNQUALIFIED
Jeanfrancois G FollerRussiaAmy Elsner UNQUALIFIED
Izzy Y MorascaRussiaBernardo Dominic RENEWAL
Nicolas H RoysterIndiaStephen Shaw PROPOSAL
Claire V PaprockiRussiaAnna Fali RENEWAL
Maisha C DarakjyGermanyAnna Fali NEGOTIATION
Aditya A DilliardArgentinaAsiya Javayant RENEWAL
Cody P BriddickJapanIvan Magalhaes QUALIFIED
Costa E CaldareraItalyBernardo Dominic UNQUALIFIED
Murillo D CampainSpainXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley P FollerItalyXuxue Feng NEW
Chavez T GillianJapanElwin Sharvill NEW
Adams Y StockhamRussiaElwin Sharvill UNQUALIFIED
David N RimJapanBernardo Dominic RENEWAL
Maisha N NickaAustraliaAsiya Javayant NEGOTIATION
Faith X RoysterGermanyXuxue Feng UNQUALIFIED
Darci S SergiSpainIvan Magalhaes RENEWAL
Alejandro P StockhamArgentinaElwin Sharvill QUALIFIED
Francesco N PoquetteCanadaBernardo Dominic PROPOSAL
Silvio B CaudyGermanyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya L SchemmerBrazil2025-04-11King, Christopher A Esq UNQUALIFIED14Amy Elsner
1001Murillo B BologniaArgentina2025-04-29Benton, John B Jr PROPOSAL5Bernardo Dominic
1002Sinclair R SaylorsBrazil2025-04-29Benton, John B Jr NEW74Xuxue Feng
1003Faith T FerenczAustralia2025-04-13King, Christopher A Esq NEGOTIATION78Stephen Shaw
1004Kadeem H MarrierUnited Kingdom2025-04-26King, Christopher A Esq UNQUALIFIED54Anna Fali
1005Sinclair E RutaIndia2025-04-05Chemel, James L Cpa QUALIFIED1Stephen Shaw
1006Greenwood D ShinkoFrance2025-04-21Truhlar And Truhlar Attys PROPOSAL19Ioni Bowcher
1007Cody O DoeArgentina2025-04-26Benton, John B Jr NEW55Anna Fali
1008Clifford O WieserRussia2025-04-24Dorl, James J Esq PROPOSAL18Ioni Bowcher
1009Ivar D FigeroaBrazil2025-04-05Chanay, Jeffrey A Esq PROPOSAL83Elwin Sharvill
1010Ashley A FerenczSpain2025-04-29Morlong Associates RENEWAL14Ivan Magalhaes
1011Munro M KuskoCanada2025-04-19Buckley Miller Wright QUALIFIED25Stephen Shaw
1012Costa H StensethBrazil2025-04-01Truhlar And Truhlar Attys RENEWAL31Xuxue Feng
1013Wickens Z NickaAustralia2025-04-18Printing Dimensions NEW31Onyama Limba
1014Francesco C AmigonRussia2025-04-29Printing Dimensions QUALIFIED29Anna Fali
1015Ivar S RimSpain2025-04-28Feiner Bros NEW75Amy Elsner
1016Stacey E PerinJapan2025-04-14Truhlar And Truhlar Attys NEGOTIATION53Xuxue Feng
1017Darci N GillianGermany2025-04-05Chapman, Ross E Esq PROPOSAL92Asiya Javayant
1018Jeanfrancois M MaletIndia2025-04-09Printing Dimensions PROPOSAL80Amy Elsner
1019Nicolas O ChuiUnited Kingdom2025-04-09Benton, John B Jr NEGOTIATION18Bernardo Dominic
1020Faith U DarakjyJapan2025-04-10Commercial Press UNQUALIFIED14Ioni Bowcher
1021David H PaprockiJapan2025-04-19Feiner Bros RENEWAL58Onyama Limba
1022Misaki F BowleyFrance2025-04-21Morlong Associates RENEWAL87Stephen Shaw
1023Francesco D KuskoRussia2025-04-08Commercial Press RENEWAL79Amy Elsner
1024Sinclair N BriddickIndia2025-04-01Chemel, James L Cpa QUALIFIED83Stephen Shaw
1025Emily Z GarufiRussia2025-04-11Feltz Printing Service RENEWAL36Anna Fali
1026Kaitlin S WieserCanada2025-04-08Chapman, Ross E Esq PROPOSAL6Amy Elsner
1027Nicolas C SergiSpain2025-04-05Morlong Associates NEGOTIATION7Onyama Limba
1028Antonio O DarakjyCanada2025-04-25Printing Dimensions NEW49Stephen Shaw
1029Kadeem W KolmetzItaly2025-04-01King, Christopher A Esq PROPOSAL38Onyama Limba
1030Nicolas C SlusarskiGermany2025-04-24Dorl, James J Esq UNQUALIFIED92Onyama Limba
1031Sinclair E DarakjyCanada2025-04-03Feiner Bros QUALIFIED17Asiya Javayant
1032Jennifer W PaprockiIndia2025-04-12Rangoni Of Florence RENEWAL70Ivan Magalhaes
1033Mayumi P OldroydUnited Kingdom2025-04-28Chanay, Jeffrey A Esq RENEWAL81Onyama Limba
1034Julie Y RulapaughIndia2025-04-18Morlong Associates UNQUALIFIED44Anna Fali
1035Sinclair F StockhamIndia2025-04-15Printing Dimensions QUALIFIED23Stephen Shaw
1036Francesco Y ButtUnited Kingdom2025-04-17Commercial Press UNQUALIFIED88Xuxue Feng
1037Leja P SchemmerRussia2025-04-22Dorl, James J Esq NEW30Bernardo Dominic
1038Smith L ButtCanada2025-04-27Chemel, James L Cpa RENEWAL24Ioni Bowcher
1039Jones B FollerAustralia2025-04-22Truhlar And Truhlar Attys RENEWAL0Onyama Limba
1040Deepesh L DilliardCanada2025-04-02Rangoni Of Florence NEW56Asiya Javayant
1041Jefferson L GauchoGermany2025-04-24Rangoni Of Florence PROPOSAL9Elwin Sharvill
1042Octavia S OstroskyArgentina2025-04-03Rangoni Of Florence NEW51Asiya Javayant
1043Darci B TollnerUnited Kingdom2025-04-28Chanay, Jeffrey A Esq NEW3Amy Elsner
1044Nicolas M RimFrance2025-04-01King, Christopher A Esq PROPOSAL91Asiya Javayant
1045Kadeem E DoeIndia2025-04-04Dorl, James J Esq PROPOSAL61Amy Elsner
1046Greenwood B NickaItaly2025-04-27Chapman, Ross E Esq UNQUALIFIED20Elwin Sharvill
1047Tony U StensethSpain2025-04-26Feiner Bros NEW44Amy Elsner
1048Aruna D SlusarskiCanada2025-04-24Rousseaux, Michael Esq RENEWAL90Xuxue Feng
1049Silvio I RutaCanada2025-04-16Commercial Press UNQUALIFIED79Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin V SchemmerIndiaIoni Bowcher NEW
Jefferson U ShinkoAustraliaXuxue Feng NEW
Greenwood R PoquetteSpainIvan Magalhaes UNQUALIFIED
Maria F GarufiItalyAsiya Javayant RENEWAL
Antonio S GlickGermanyXuxue Feng UNQUALIFIED
Stacey N PaprockiIndiaIoni Bowcher PROPOSAL
Deepesh X NestleFranceStephen Shaw NEW
Munro Z SaylorsIndiaOnyama Limba UNQUALIFIED
Silvio F FollerAustraliaIoni Bowcher RENEWAL
James H WaycottCanadaBernardo Dominic RENEWAL
Murillo X PoquetteUnited KingdomAsiya Javayant PROPOSAL
Emily E BowleyBrazilStephen Shaw QUALIFIED
Greenwood P FerenczIndiaAnna Fali PROPOSAL
Misaki S GauchoBrazilBernardo Dominic RENEWAL
Tony U OldroydArgentinaOnyama Limba NEW
Mujtaba Z KuskoArgentinaIvan Magalhaes UNQUALIFIED
Sinclair X InouyeFranceStephen Shaw QUALIFIED
Jeanfrancois E RoysterBrazilIoni Bowcher NEW
Faith J CaudyItalyStephen Shaw PROPOSAL
Aditya E BriddickAustraliaIoni Bowcher QUALIFIED
Rodrigues T OstroskyJapanBernardo Dominic PROPOSAL
Johnson E StensethCanadaElwin Sharvill NEGOTIATION
Murillo P ChuiJapanElwin Sharvill QUALIFIED
Nicolas S SaylorsFranceXuxue Feng NEW
Ivar Y WaycottIndiaAmy Elsner UNQUALIFIED
Faith Z SchemmerSpainOnyama Limba PROPOSAL
Deepesh Z VocelkaBrazilIvan Magalhaes QUALIFIED
Aditya T CampainFranceElwin Sharvill NEW
Mujtaba V MacleadAustraliaXuxue Feng RENEWAL
Arvin U NestleBrazilXuxue Feng PROPOSAL
Sinclair E MacleadFranceOnyama Limba NEGOTIATION
Munro Y MaletFranceIoni Bowcher NEGOTIATION
Claire X MaletIndiaAsiya Javayant UNQUALIFIED
Smith R StensethIndiaIvan Magalhaes PROPOSAL
Wickens A GauchoAustraliaElwin Sharvill RENEWAL
Aruna X NickaArgentinaElwin Sharvill UNQUALIFIED
Darci M AlbaresFranceXuxue Feng RENEWAL
Johnson Y WaycottIndiaStephen Shaw RENEWAL
Mujtaba Z SchemmerRussiaAnna Fali NEGOTIATION
Francesco I KuskoCanadaIoni Bowcher UNQUALIFIED
Maisha T DarakjyGermanyXuxue Feng NEGOTIATION
Sinclair T GillianUnited KingdomIoni Bowcher PROPOSAL
Maisha B TollnerGermanyOnyama Limba PROPOSAL
Aditya Y SergiBrazilBernardo Dominic UNQUALIFIED
Maria R GillianArgentinaBernardo Dominic RENEWAL
Clifford O RoysterJapanAmy Elsner NEGOTIATION
Misaki T MacleadUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois H WieserBrazilElwin Sharvill PROPOSAL
Wickens X VenereSpainOnyama Limba PROPOSAL
Morrow Z GlickAustraliaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Wickens Q Ostrosky
Murillo E Inouye
Stacey K Rim
Isabel U Saylors
Leon T Iturbide
Aika R Chui
Antonio S Briddick
Ivar P Foller
Ashley P Tollner
Izzy P Saylors
Antonio Z Iturbide
Smith V Glick
Sinclair T Chui
Munro Y Malet
Morrow J Foller
Munro T Iturbide
Juan H Tollner
Maria M Figeroa
Arvin W Caudy
Julie H Garufi
Aditya F Saylors
Alejandro S Kolmetz
Juan H Morasca
Octavia L Flosi
Mujtaba U Nicka
Greenwood B Bowley
David C Stockham
Aika G Ferencz
Silvio U Bowley
James H Iturbide
Morrow E Albares
Costa X Iturbide
Faith X Tollner
Munro Y Darakjy
Alejandro X Nicka
Smith Z Gaucho
Johnson I Flosi
Misaki A Malet
Munro T Venere
Salvatore D Maclead
James W Foller
Rodrigues C Caldarera
Jennifer Z Gaucho
Nicolas H Bolognia
Munro V Malet
Morrow N Ruta
Sinclair D Paprocki
Julie V Caldarera
Ricardo K Perin
Darci Y Caudy
IdCountryDate
1000Russia2025-04-20
1001Russia2025-04-07
1002Japan2025-04-20
1003Argentina2025-04-18
1004Spain2025-03-31
1005France2025-04-13
1006Germany2025-04-08
1007Brazil2025-04-21
1008United Kingdom2025-04-25
1009France2025-04-23
1010Brazil2025-04-25
1011France2025-04-14
1012India2025-04-22
1013Canada2025-04-05
1014Argentina2025-04-25
1015Canada2025-04-16
1016France2025-04-11
1017Brazil2025-04-06
1018Italy2025-04-17
1019France2025-04-01
1020India2025-04-22
1021Russia2025-04-16
1022Japan2025-04-09
1023United Kingdom2025-04-21
1024Canada2025-04-18
1025United Kingdom2025-04-01
1026Brazil2025-04-01
1027India2025-04-21
1028Italy2025-04-16
1029Germany2025-04-09
1030Argentina2025-04-22
1031Australia2025-04-17
1032Australia2025-04-14
1033Germany2025-04-09
1034India2025-04-12
1035United Kingdom2025-04-14
1036Brazil2025-04-29
1037Australia2025-04-22
1038Spain2025-04-13
1039Spain2025-04-23
1040Russia2025-04-11
1041Australia2025-04-28
1042Russia2025-04-18
1043Spain2025-04-16
1044Germany2025-04-05
1045United Kingdom2025-04-12
1046Japan2025-03-31
1047United Kingdom2025-04-18
1048Japan2025-04-20
1049Spain2025-04-27

On-Demand Data

NameIdCountryDate
Arvin U Malet1000Canada2025-04-16
Juan V Shinko1001Italy2025-04-12
Octavia O Vocelka1002Argentina2025-04-03
Faith Q Perin1003Argentina2025-04-18
Greenwood G Marrier1004Germany2025-04-29
Salvatore P Oldroyd1005Japan2025-04-25
Aditya C Darakjy1006Canada2025-04-11
Mayumi Z Caldarera1007Argentina2025-04-15
David V Nicka1008Russia2025-04-15
Octavia O Rim1009Canada2025-04-04
Nicolas R Perin1010Italy2025-04-10
Munro Q Stenseth1011France2025-04-05
Alejandro P Glick1012Argentina2025-04-09
Ivar X Glick1013United Kingdom2025-04-03
Sinclair C Butt1014India2025-04-23
Murillo X Royster1015United Kingdom2025-04-12
Francesco V Ruta1016Russia2025-04-28
Wickens L Caudy1017Australia2025-04-24
Ivar U Vocelka1018Brazil2025-04-10
Salvatore N Darakjy1019Russia2025-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi V MarrierAustraliaAmy Elsner PROPOSAL
Clifford J NickaJapanOnyama Limba PROPOSAL
Antonio S BologniaIndiaAmy Elsner PROPOSAL
Jones W CaldareraFranceStephen Shaw QUALIFIED
Greenwood O AmigonFranceAsiya Javayant UNQUALIFIED
Ashley X RimGermanyXuxue Feng QUALIFIED
Deepesh D FlosiFranceAsiya Javayant RENEWAL
Faith C FerenczUnited KingdomIoni Bowcher PROPOSAL
Nicolas T GillianBrazilElwin Sharvill NEGOTIATION
Stacey L TollnerArgentinaBernardo Dominic UNQUALIFIED
Cody K MorascaBrazilXuxue Feng QUALIFIED
Rodrigues H NestleUnited KingdomBernardo Dominic UNQUALIFIED
Juan M OstroskyRussiaElwin Sharvill NEGOTIATION
Smith A IturbideFranceBernardo Dominic NEW
Ashley M PaprockiRussiaIvan Magalhaes PROPOSAL
Wickens Q FollerArgentinaStephen Shaw UNQUALIFIED
James O RutaRussiaOnyama Limba RENEWAL
Antonio T DoeRussiaIoni Bowcher PROPOSAL
Aditya E MacleadGermanyElwin Sharvill UNQUALIFIED
Sinclair E RulapaughAustraliaIoni Bowcher NEGOTIATION
Nicolas U MaletBrazilAsiya Javayant RENEWAL
Faith A InouyeGermanyXuxue Feng NEGOTIATION
Jefferson D SchemmerJapanOnyama Limba QUALIFIED
Faith T FerenczCanadaXuxue Feng PROPOSAL
Wickens M WhobreyFranceIvan Magalhaes QUALIFIED
Johnson Q DoeCanadaAmy Elsner NEW
Sinclair G GlickIndiaIvan Magalhaes PROPOSAL
Kadeem H OstroskyGermanyXuxue Feng RENEWAL
Salvatore E FigeroaIndiaStephen Shaw UNQUALIFIED
Aika Y DoeAustraliaIvan Magalhaes UNQUALIFIED
Salvatore T VocelkaIndiaAnna Fali QUALIFIED
Juan O IturbideJapanBernardo Dominic NEW
Jennifer M StensethRussiaAsiya Javayant NEW
Arvin A FlosiFranceIoni Bowcher NEW
Ricardo Q PaprockiFranceAsiya Javayant NEW
David O OldroydJapanStephen Shaw UNQUALIFIED
Johnson F OstroskyCanadaElwin Sharvill NEGOTIATION
Clifford A MaletRussiaElwin Sharvill QUALIFIED
Jones P AlbaresArgentinaStephen Shaw PROPOSAL
Francesco N KolmetzBrazilAsiya Javayant 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>