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
James C SlusarskiIndiaAmy Elsner PROPOSAL
Alejandro U GarufiJapanAnna Fali NEGOTIATION
Rodrigues E WaycottGermanyStephen Shaw QUALIFIED
Kadeem S CaudyRussiaAnna Fali NEGOTIATION
Aika L StockhamSpainOnyama Limba NEGOTIATION
Jennifer L WieserItalyAmy Elsner NEGOTIATION
Leja Q ButtArgentinaAsiya Javayant NEW
Maria A RimUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro I FigeroaFranceIoni Bowcher QUALIFIED
Sinclair N VocelkaArgentinaElwin Sharvill RENEWAL
Alejandro K ChuiFranceStephen Shaw UNQUALIFIED
Kadeem N MaletItalyXuxue Feng NEGOTIATION
Kaitlin B BologniaSpainIoni Bowcher RENEWAL
Smith W BologniaItalyBernardo Dominic QUALIFIED
Adams F NestleRussiaAmy Elsner UNQUALIFIED
Leja W InouyeFranceAmy Elsner NEGOTIATION
Misaki V IturbideFranceXuxue Feng UNQUALIFIED
Chavez M FlosiRussiaAmy Elsner NEW
Costa N KolmetzRussiaOnyama Limba NEGOTIATION
Emily I MorascaSpainAsiya Javayant NEW
Greenwood M ButtArgentinaXuxue Feng NEGOTIATION
Salvatore H PerinAustraliaIvan Magalhaes QUALIFIED
Adams E OldroydFranceBernardo Dominic NEGOTIATION
Tony G DarakjyArgentinaAsiya Javayant NEGOTIATION
Costa H ChuiArgentinaBernardo Dominic NEW
Adams Q GlickUnited KingdomElwin Sharvill PROPOSAL
Smith Q SlusarskiGermanyOnyama Limba UNQUALIFIED
David A RoysterGermanyOnyama Limba NEW
Silvio G SaylorsIndiaStephen Shaw NEW
Juan X GillianBrazilIoni Bowcher PROPOSAL
Maisha F DilliardBrazilStephen Shaw RENEWAL
Juan F RulapaughFranceIoni Bowcher NEW
Jones P MaletIndiaIoni Bowcher UNQUALIFIED
Leon Q MorascaCanadaBernardo Dominic NEGOTIATION
Nicolas Z StockhamAustraliaStephen Shaw RENEWAL
Izzy R GlickCanadaStephen Shaw PROPOSAL
Juan B RimItalyIoni Bowcher NEGOTIATION
Stacey Y KuskoItalyOnyama Limba NEGOTIATION
Ashley M IturbideArgentinaStephen Shaw NEGOTIATION
Sinclair K TollnerJapanBernardo Dominic RENEWAL
Murillo I AmigonSpainIoni Bowcher NEGOTIATION
Maisha D FlosiCanadaXuxue Feng QUALIFIED
Tony T ChuiRussiaAsiya Javayant NEW
Greenwood F FigeroaRussiaElwin Sharvill PROPOSAL
James D WhobreyAustraliaAnna Fali NEW
Cody T WaycottArgentinaIoni Bowcher UNQUALIFIED
David W MorascaIndiaOnyama Limba RENEWAL
Smith G GlickRussiaAmy Elsner QUALIFIED
Jones R CaudyArgentinaIoni Bowcher PROPOSAL
Isabel G VenereArgentinaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford M FollerCanadaIoni Bowcher NEGOTIATION
Juan Z ShinkoJapanBernardo Dominic NEGOTIATION
Cody O FlosiRussiaAmy Elsner PROPOSAL
Izzy H MarrierItalyBernardo Dominic NEW
Aruna X MorascaFranceXuxue Feng QUALIFIED
Kadeem S MacleadIndiaBernardo Dominic NEW
Mujtaba M GauchoJapanAnna Fali RENEWAL
Julie E AlbaresBrazilElwin Sharvill NEW
Mayumi B PerinArgentinaAmy Elsner NEGOTIATION
Jones Y PoquetteRussiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci J IturbideItaly2024-06-01Feltz Printing Service NEW81Stephen Shaw
1001Nicolas O AlbaresFrance2024-06-17Commercial Press QUALIFIED48Asiya Javayant
1002Maisha S PaprockiJapan2024-05-22Rangoni Of Florence PROPOSAL76Anna Fali
1003Jeanfrancois O WhobreyItaly2024-06-17Feiner Bros UNQUALIFIED92Amy Elsner
1004Antonio T StensethUnited Kingdom2024-05-26King, Christopher A Esq UNQUALIFIED11Bernardo Dominic
1005Deepesh P ChuiSpain2024-06-07Morlong Associates NEGOTIATION68Onyama Limba
1006Jones O DarakjyGermany2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED95Asiya Javayant
1007Munro T FlosiBrazil2024-05-30Truhlar And Truhlar Attys NEW64Elwin Sharvill
1008Aruna M FigeroaFrance2024-05-27Chemel, James L Cpa UNQUALIFIED40Ivan Magalhaes
1009Claire X NestleFrance2024-05-28Chemel, James L Cpa NEGOTIATION92Stephen Shaw
1010Julie Z GillianGermany2024-05-28Benton, John B Jr QUALIFIED16Amy Elsner
1011Mayumi V IturbideGermany2024-05-21King, Christopher A Esq NEW27Bernardo Dominic
1012Aika Q KolmetzCanada2024-06-18Chanay, Jeffrey A Esq PROPOSAL22Ivan Magalhaes
1013Octavia L DarakjyIndia2024-06-16Buckley Miller Wright PROPOSAL65Elwin Sharvill
1014Misaki Q DarakjyAustralia2024-06-07Benton, John B Jr NEGOTIATION59Amy Elsner
1015Maria K FlosiFrance2024-06-07Dorl, James J Esq NEGOTIATION37Elwin Sharvill
1016Juan W MorascaGermany2024-06-13Chemel, James L Cpa RENEWAL10Bernardo Dominic
1017Leja G KolmetzJapan2024-06-02King, Christopher A Esq QUALIFIED60Onyama Limba
1018Octavia D AmigonItaly2024-06-13Dorl, James J Esq NEW41Ivan Magalhaes
1019Salvatore D CaldareraCanada2024-05-22Chapman, Ross E Esq NEGOTIATION17Anna Fali
1020Smith W PoquetteIndia2024-06-16Chanay, Jeffrey A Esq NEGOTIATION45Stephen Shaw
1021Jennifer H DarakjySpain2024-06-12Buckley Miller Wright QUALIFIED58Ioni Bowcher
1022Greenwood G InouyeRussia2024-05-29Rousseaux, Michael Esq UNQUALIFIED74Stephen Shaw
1023Leja Y KuskoIndia2024-06-05Rousseaux, Michael Esq NEGOTIATION69Bernardo Dominic
1024Claire B AmigonUnited Kingdom2024-05-26Commercial Press QUALIFIED91Onyama Limba
1025Sinclair C VenereSpain2024-06-03Rangoni Of Florence NEW97Amy Elsner
1026Leja A SchemmerJapan2024-05-26Commercial Press UNQUALIFIED29Xuxue Feng
1027David Y DarakjyGermany2024-06-18Buckley Miller Wright PROPOSAL0Ioni Bowcher
1028Ashley C DoeGermany2024-06-01Feltz Printing Service UNQUALIFIED10Elwin Sharvill
1029Emily M GillianGermany2024-06-05King, Christopher A Esq UNQUALIFIED6Xuxue Feng
1030James F PaprockiArgentina2024-06-07Rangoni Of Florence PROPOSAL29Onyama Limba
1031Sinclair V PoquetteGermany2024-05-31Chapman, Ross E Esq RENEWAL3Amy Elsner
1032Juan A GlickItaly2024-06-07Morlong Associates RENEWAL70Elwin Sharvill
1033Faith F GarufiJapan2024-05-21Buckley Miller Wright RENEWAL58Bernardo Dominic
1034Clifford H InouyeJapan2024-06-09Rousseaux, Michael Esq QUALIFIED60Xuxue Feng
1035Aika S TollnerAustralia2024-06-03Printing Dimensions RENEWAL11Stephen Shaw
1036Johnson C RimRussia2024-06-03King, Christopher A Esq QUALIFIED23Xuxue Feng
1037Izzy E OldroydJapan2024-06-13Feiner Bros QUALIFIED53Bernardo Dominic
1038Arvin H TollnerArgentina2024-06-09Rousseaux, Michael Esq NEGOTIATION27Bernardo Dominic
1039Munro X InouyeBrazil2024-06-02Rangoni Of Florence NEW55Onyama Limba
1040Antonio E DilliardItaly2024-06-11Printing Dimensions PROPOSAL46Amy Elsner
1041Ivar D FlosiArgentina2024-06-05Chapman, Ross E Esq RENEWAL8Xuxue Feng
1042James W FlosiRussia2024-05-20Feiner Bros NEW62Ivan Magalhaes
1043Francesco H WieserUnited Kingdom2024-05-23King, Christopher A Esq PROPOSAL8Ivan Magalhaes
1044Ricardo G MacleadCanada2024-06-13Truhlar And Truhlar Attys NEW90Onyama Limba
1045Jennifer R FollerGermany2024-05-30Rousseaux, Michael Esq QUALIFIED93Anna Fali
1046Ivar Y MaletItaly2024-05-31Commercial Press QUALIFIED32Bernardo Dominic
1047Kaitlin R OstroskyCanada2024-05-20Buckley Miller Wright NEW82Stephen Shaw
1048Cody X MacleadSpain2024-06-14Printing Dimensions QUALIFIED8Ioni Bowcher
1049Wickens R FerenczSpain2024-06-06Truhlar And Truhlar Attys NEGOTIATION87Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi T ButtFranceIoni Bowcher NEW
Morrow W DoeItalyAmy Elsner PROPOSAL
Wickens C DilliardIndiaAnna Fali QUALIFIED
Adams F DilliardUnited KingdomStephen Shaw PROPOSAL
Salvatore I CaldareraSpainBernardo Dominic NEGOTIATION
Mayumi S SchemmerIndiaAmy Elsner RENEWAL
Faith O WhobreyRussiaStephen Shaw RENEWAL
Leon I NestleCanadaIoni Bowcher QUALIFIED
Claire B DilliardCanadaStephen Shaw RENEWAL
Silvio I BowleyFranceIvan Magalhaes RENEWAL
Misaki P AlbaresArgentinaAsiya Javayant QUALIFIED
Silvio B FerenczRussiaAmy Elsner PROPOSAL
Wickens C SergiBrazilIoni Bowcher PROPOSAL
Chavez E KuskoRussiaIoni Bowcher NEGOTIATION
Emily C BologniaGermanyAnna Fali RENEWAL
Kadeem P DoeArgentinaBernardo Dominic NEGOTIATION
Antonio J VocelkaItalyAsiya Javayant QUALIFIED
Juan J NestleCanadaIvan Magalhaes UNQUALIFIED
Clifford U PoquetteSpainIoni Bowcher QUALIFIED
Silvio S PerinFranceOnyama Limba PROPOSAL
Chavez K RimBrazilIvan Magalhaes NEW
James C PaprockiUnited KingdomIvan Magalhaes NEW
Cody V SlusarskiBrazilXuxue Feng PROPOSAL
Francesco N WaycottSpainAnna Fali RENEWAL
Misaki D DarakjyAustraliaBernardo Dominic NEGOTIATION
Maisha F CaudyItalyElwin Sharvill PROPOSAL
Izzy S AlbaresFranceIvan Magalhaes NEW
Aika L CaudyIndiaIoni Bowcher NEGOTIATION
Jones N TollnerBrazilBernardo Dominic QUALIFIED
Aruna P SaylorsItalyIvan Magalhaes QUALIFIED
Chavez F CampainItalyAnna Fali NEW
Arvin S SaylorsBrazilXuxue Feng RENEWAL
Ricardo L KuskoCanadaXuxue Feng NEW
Tony Q MorascaFranceIoni Bowcher NEGOTIATION
Kadeem K FlosiItalyAmy Elsner PROPOSAL
Maisha N WaycottSpainIoni Bowcher QUALIFIED
Salvatore B IturbideIndiaAsiya Javayant PROPOSAL
Stacey D SchemmerBrazilElwin Sharvill UNQUALIFIED
Jennifer A GauchoGermanyElwin Sharvill NEW
Wickens G FigeroaRussiaElwin Sharvill NEGOTIATION
Alejandro O RoysterJapanIoni Bowcher QUALIFIED
Adams K PoquetteIndiaOnyama Limba PROPOSAL
Morrow D BologniaUnited KingdomAmy Elsner PROPOSAL
Misaki W SergiSpainAsiya Javayant NEW
Clifford B WaycottItalyAnna Fali NEGOTIATION
Munro F SaylorsBrazilXuxue Feng PROPOSAL
Faith W DoeUnited KingdomStephen Shaw PROPOSAL
Clifford J ShinkoAustraliaBernardo Dominic NEW
Francesco H PaprockiBrazilAsiya Javayant QUALIFIED
Aruna H ShinkoItalyBernardo Dominic PROPOSAL
Frozen Columns
Name
Sinclair X Ostrosky
Clifford Y Inouye
Wickens Q Saylors
Arvin P Albares
Antonio E Figeroa
Faith X Saylors
Nicolas Z Doe
Kadeem K Rim
Johnson V Garufi
Mujtaba J Venere
Leon T Glick
Silvio L Saylors
Kaitlin C Shinko
Cody X Flosi
Chavez B Slusarski
Misaki K Dilliard
Wickens V Figeroa
Morrow P Poquette
Ricardo V Chui
Alejandro C Rim
Claire E Bolognia
Silvio H Slusarski
Ricardo C Butt
Maisha B Briddick
Leon P Maclead
Morrow T Malet
Arvin E Maclead
Greenwood L Inouye
Silvio G Kolmetz
Juan R Waycott
Adams E Stockham
Alejandro V Butt
Claire B Ferencz
Sinclair K Chui
Leja Y Bolognia
Adams U Glick
Tony P Royster
Isabel Q Ferencz
Ashley Z Amigon
Emily T Flosi
David R Rulapaugh
Isabel E Caudy
Salvatore S Vocelka
Kaitlin G Rim
Morrow H Rulapaugh
Wickens D Gillian
Silvio E Chui
Rodrigues B Wieser
Ashley P Flosi
Francesco Q Glick
IdCountryDate
1000India2024-05-27
1001Spain2024-05-25
1002Japan2024-05-23
1003Germany2024-06-18
1004Argentina2024-06-14
1005Russia2024-06-16
1006United Kingdom2024-06-11
1007Russia2024-05-29
1008Germany2024-05-22
1009Russia2024-06-05
1010Germany2024-05-20
1011Russia2024-06-07
1012Russia2024-05-21
1013France2024-05-27
1014United Kingdom2024-05-23
1015India2024-06-01
1016Spain2024-05-25
1017Brazil2024-06-10
1018Japan2024-06-07
1019Germany2024-06-15
1020France2024-05-23
1021Spain2024-06-17
1022Australia2024-05-30
1023Argentina2024-05-22
1024France2024-05-28
1025Argentina2024-06-15
1026Canada2024-05-25
1027Brazil2024-05-31
1028Spain2024-06-14
1029United Kingdom2024-06-10
1030Italy2024-06-02
1031India2024-06-12
1032France2024-06-12
1033Canada2024-05-29
1034Argentina2024-06-11
1035Canada2024-06-13
1036Russia2024-05-20
1037Spain2024-05-29
1038France2024-06-17
1039United Kingdom2024-06-18
1040Japan2024-06-01
1041Italy2024-06-07
1042Spain2024-06-11
1043India2024-05-23
1044Japan2024-05-31
1045Italy2024-06-18
1046Italy2024-06-18
1047Spain2024-05-30
1048Australia2024-05-20
1049India2024-05-23

On-Demand Data

NameIdCountryDate
Munro U Shinko1000Japan2024-06-10
Alejandro K Saylors1001Japan2024-06-05
Jeanfrancois E Caldarera1002United Kingdom2024-06-08
Stacey A Royster1003Italy2024-05-22
Darci T Amigon1004United Kingdom2024-06-10
Emily I Kusko1005India2024-05-23
Kadeem G Maclead1006France2024-06-11
Kaitlin E Inouye1007Spain2024-05-21
Juan W Gillian1008Spain2024-06-15
Salvatore G Campain1009Italy2024-06-07
Mayumi J Nestle1010Brazil2024-05-25
Faith J Malet1011Argentina2024-05-29
Aditya X Kolmetz1012Italy2024-05-31
Jefferson O Campain1013Germany2024-06-09
Rodrigues E Doe1014Canada2024-05-25
Kadeem W Wieser1015Japan2024-06-03
Silvio H Gaucho1016France2024-06-08
Aika S Poquette1017Italy2024-05-24
Ivar P Morasca1018France2024-06-09
Adams D Wieser1019Canada2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan U ButtIndiaBernardo Dominic NEW
Silvio V GlickRussiaAsiya Javayant NEGOTIATION
Arvin N OldroydFranceElwin Sharvill UNQUALIFIED
Ashley Z IturbideFranceIvan Magalhaes UNQUALIFIED
David Z PaprockiRussiaBernardo Dominic QUALIFIED
Clifford Y BologniaIndiaIvan Magalhaes RENEWAL
Nicolas Y AmigonAustraliaIvan Magalhaes RENEWAL
Wickens X StockhamAustraliaElwin Sharvill UNQUALIFIED
Jennifer I DilliardGermanyStephen Shaw NEW
Adams Q TollnerGermanyXuxue Feng PROPOSAL
Deepesh Z GlickUnited KingdomIvan Magalhaes NEGOTIATION
Wickens K GlickItalyOnyama Limba RENEWAL
Jones D SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Sinclair M VenereArgentinaIoni Bowcher NEW
Emily E GauchoCanadaXuxue Feng NEW
Mujtaba C WieserItalyAmy Elsner UNQUALIFIED
Aika G PerinRussiaElwin Sharvill QUALIFIED
Izzy X StensethSpainAmy Elsner RENEWAL
David V WhobreyBrazilAsiya Javayant NEW
Arvin O DoeFranceAmy Elsner RENEWAL
Claire X WaycottArgentinaIvan Magalhaes QUALIFIED
Jefferson S NestleFranceAsiya Javayant NEW
Alejandro E GauchoJapanElwin Sharvill RENEWAL
Aditya Y CaldareraJapanStephen Shaw RENEWAL
Chavez B FerenczSpainStephen Shaw PROPOSAL
Jennifer Z PoquetteAustraliaStephen Shaw QUALIFIED
Kadeem N WhobreyAustraliaXuxue Feng UNQUALIFIED
Murillo G OldroydArgentinaStephen Shaw UNQUALIFIED
Mujtaba V SaylorsAustraliaIvan Magalhaes NEGOTIATION
Misaki N MorascaIndiaAsiya Javayant NEW
Deepesh L SergiAustraliaElwin Sharvill QUALIFIED
Mujtaba O PoquetteIndiaXuxue Feng QUALIFIED
Jefferson F KuskoItalyIoni Bowcher QUALIFIED
Ashley K MacleadGermanyBernardo Dominic RENEWAL
Maria R KuskoItalyAmy Elsner PROPOSAL
Salvatore E OstroskyUnited KingdomElwin Sharvill RENEWAL
Costa T InouyeBrazilIvan Magalhaes RENEWAL
Salvatore Y PerinCanadaAnna Fali QUALIFIED
Maisha R DoeItalyIoni Bowcher NEW
Ashley V DoeItalyElwin Sharvill 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>