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
Leon Q BriddickFranceBernardo Dominic PROPOSAL
Francesco Q BologniaSpainIoni Bowcher UNQUALIFIED
Ricardo Q TollnerUnited KingdomIoni Bowcher NEW
Kaitlin C AmigonBrazilAnna Fali NEW
Antonio T OldroydArgentinaAmy Elsner UNQUALIFIED
Alejandro B OstroskyJapanAnna Fali UNQUALIFIED
Tony Z DoeIndiaAnna Fali PROPOSAL
Ricardo L FlosiBrazilAsiya Javayant NEGOTIATION
Francesco C StockhamRussiaIoni Bowcher QUALIFIED
Izzy T DoeCanadaOnyama Limba QUALIFIED
Adams I ShinkoCanadaAsiya Javayant PROPOSAL
Faith P OldroydJapanXuxue Feng UNQUALIFIED
Arvin D WaycottGermanyStephen Shaw QUALIFIED
Clifford U ChuiBrazilBernardo Dominic UNQUALIFIED
Maria T FigeroaArgentinaAmy Elsner PROPOSAL
Ricardo Z NickaBrazilStephen Shaw UNQUALIFIED
Salvatore A WieserUnited KingdomIvan Magalhaes QUALIFIED
Adams F RulapaughGermanyAnna Fali UNQUALIFIED
Maria U WaycottArgentinaAnna Fali QUALIFIED
Mujtaba C OldroydRussiaAnna Fali QUALIFIED
Leon X SaylorsSpainXuxue Feng RENEWAL
Silvio B BriddickJapanAnna Fali NEW
Costa H KolmetzBrazilXuxue Feng QUALIFIED
Leja F MarrierItalyIvan Magalhaes RENEWAL
Aika U WaycottSpainAnna Fali PROPOSAL
Wickens O AmigonGermanyBernardo Dominic UNQUALIFIED
Isabel A CaldareraRussiaAmy Elsner NEGOTIATION
Stacey C FlosiArgentinaOnyama Limba NEW
Antonio W AmigonJapanXuxue Feng NEGOTIATION
Johnson Q RutaGermanyBernardo Dominic RENEWAL
Francesco P PoquetteBrazilOnyama Limba UNQUALIFIED
Mujtaba P MorascaUnited KingdomStephen Shaw UNQUALIFIED
Tony K KuskoGermanyIvan Magalhaes UNQUALIFIED
Darci G BowleyItalyAmy Elsner RENEWAL
Kadeem F FigeroaIndiaAnna Fali NEW
Leja S CaudySpainStephen Shaw RENEWAL
Deepesh H PaprockiSpainOnyama Limba NEW
Octavia K MorascaIndiaOnyama Limba NEGOTIATION
Ashley O ButtJapanIvan Magalhaes NEW
David A CaldareraUnited KingdomIvan Magalhaes RENEWAL
Isabel R ShinkoSpainOnyama Limba NEGOTIATION
James O NestleArgentinaOnyama Limba RENEWAL
Wickens S RoysterUnited KingdomAsiya Javayant PROPOSAL
Tony J PerinRussiaIvan Magalhaes NEGOTIATION
Wickens X SlusarskiAustraliaAsiya Javayant RENEWAL
Antonio Q FlosiAustraliaStephen Shaw NEW
Costa M KolmetzFranceAsiya Javayant QUALIFIED
James Z GarufiJapanIvan Magalhaes NEGOTIATION
Jennifer J VenereArgentinaIoni Bowcher RENEWAL
Izzy W SlusarskiItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood H FigeroaItalyXuxue Feng PROPOSAL
Misaki E DoeJapanStephen Shaw UNQUALIFIED
Maisha G NickaItalyStephen Shaw PROPOSAL
Silvio H FollerJapanAsiya Javayant RENEWAL
Deepesh W ButtArgentinaIoni Bowcher UNQUALIFIED
Leon P ChuiUnited KingdomAmy Elsner NEW
Aruna R KolmetzCanadaXuxue Feng NEGOTIATION
Arvin Y MacleadRussiaOnyama Limba RENEWAL
Leja S DarakjyArgentinaElwin Sharvill QUALIFIED
Johnson Z StockhamItalyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Q OldroydJapan2024-05-17Truhlar And Truhlar Attys RENEWAL96Asiya Javayant
1001Wickens F GillianAustralia2024-05-10Chapman, Ross E Esq UNQUALIFIED11Anna Fali
1002Salvatore P SergiFrance2024-05-10Morlong Associates UNQUALIFIED96Onyama Limba
1003Juan J VocelkaRussia2024-05-10Commercial Press RENEWAL50Stephen Shaw
1004Johnson C KuskoCanada2024-05-01Benton, John B Jr PROPOSAL88Bernardo Dominic
1005Silvio B BriddickCanada2024-05-02Morlong Associates UNQUALIFIED25Asiya Javayant
1006Wickens O SaylorsBrazil2024-05-03Chanay, Jeffrey A Esq UNQUALIFIED85Ioni Bowcher
1007Faith S WhobreyAustralia2024-05-09Chapman, Ross E Esq RENEWAL97Ioni Bowcher
1008Kadeem Q NestleItaly2024-05-06Feltz Printing Service PROPOSAL48Asiya Javayant
1009Kaitlin O MaletArgentina2024-05-23Feltz Printing Service QUALIFIED64Anna Fali
1010Deepesh A FlosiUnited Kingdom2024-05-06Dorl, James J Esq UNQUALIFIED85Xuxue Feng
1011Ivar D StockhamArgentina2024-05-18Commercial Press RENEWAL89Bernardo Dominic
1012Faith C MaletIndia2024-05-27King, Christopher A Esq NEGOTIATION47Onyama Limba
1013Munro H IturbideRussia2024-05-02Chanay, Jeffrey A Esq QUALIFIED74Ioni Bowcher
1014Antonio N StockhamItaly2024-05-20Feltz Printing Service QUALIFIED58Bernardo Dominic
1015Stacey O TollnerItaly2024-05-10Feiner Bros PROPOSAL57Amy Elsner
1016Stacey K VocelkaFrance2024-05-07Rousseaux, Michael Esq UNQUALIFIED7Xuxue Feng
1017Jones D ChuiItaly2024-05-09Benton, John B Jr NEW53Elwin Sharvill
1018Juan L GarufiRussia2024-05-10Morlong Associates QUALIFIED40Xuxue Feng
1019Murillo S AlbaresRussia2024-05-07Chapman, Ross E Esq QUALIFIED93Ioni Bowcher
1020Munro T ButtFrance2024-05-02Commercial Press NEW2Onyama Limba
1021Octavia R VenereArgentina2024-05-12Dorl, James J Esq UNQUALIFIED21Amy Elsner
1022Ricardo G DilliardFrance2024-05-22Dorl, James J Esq NEGOTIATION66Bernardo Dominic
1023Faith D StockhamAustralia2024-05-07Truhlar And Truhlar Attys NEW53Stephen Shaw
1024Maisha M RulapaughAustralia2024-05-25Rangoni Of Florence UNQUALIFIED77Xuxue Feng
1025Wickens D KolmetzJapan2024-05-27Truhlar And Truhlar Attys PROPOSAL51Bernardo Dominic
1026Stacey E WhobreyJapan2024-05-07Chanay, Jeffrey A Esq NEGOTIATION83Asiya Javayant
1027Tony D OstroskyFrance2024-05-03Chanay, Jeffrey A Esq PROPOSAL25Asiya Javayant
1028Clifford Y InouyeCanada2024-05-16Dorl, James J Esq PROPOSAL70Onyama Limba
1029Aika F WhobreyBrazil2024-05-20Feiner Bros RENEWAL62Asiya Javayant
1030Jeanfrancois P SlusarskiAustralia2024-05-11King, Christopher A Esq RENEWAL5Onyama Limba
1031Mayumi H MarrierFrance2024-05-18Rousseaux, Michael Esq QUALIFIED76Bernardo Dominic
1032James N GlickAustralia2024-04-30Feltz Printing Service UNQUALIFIED94Anna Fali
1033Johnson L WaycottBrazil2024-04-28Feiner Bros PROPOSAL61Ivan Magalhaes
1034Octavia F RulapaughSpain2024-05-11Feiner Bros UNQUALIFIED83Stephen Shaw
1035Aditya G CaudyGermany2024-05-11Rousseaux, Michael Esq PROPOSAL86Elwin Sharvill
1036Greenwood E PoquetteGermany2024-05-25Rangoni Of Florence NEGOTIATION0Ioni Bowcher
1037Alejandro I StensethJapan2024-05-15Rangoni Of Florence NEGOTIATION71Ioni Bowcher
1038Johnson T OstroskyAustralia2024-05-25Chanay, Jeffrey A Esq RENEWAL83Xuxue Feng
1039Johnson P KolmetzUnited Kingdom2024-05-05Benton, John B Jr NEW17Bernardo Dominic
1040Claire P GarufiSpain2024-05-26Rousseaux, Michael Esq NEGOTIATION74Anna Fali
1041Alejandro O MacleadRussia2024-05-02Commercial Press RENEWAL5Anna Fali
1042Kaitlin V NestleGermany2024-05-25Rangoni Of Florence RENEWAL95Onyama Limba
1043Jefferson H FlosiFrance2024-05-07Truhlar And Truhlar Attys UNQUALIFIED13Elwin Sharvill
1044Maria M SaylorsAustralia2024-05-22Chemel, James L Cpa QUALIFIED54Asiya Javayant
1045Kaitlin L WieserUnited Kingdom2024-05-07Rousseaux, Michael Esq PROPOSAL0Ivan Magalhaes
1046Mayumi T DarakjyItaly2024-05-18Commercial Press RENEWAL61Elwin Sharvill
1047Octavia F WhobreyGermany2024-05-05Dorl, James J Esq NEW65Xuxue Feng
1048Costa O ButtSpain2024-05-23Truhlar And Truhlar Attys RENEWAL48Ivan Magalhaes
1049Emily M FigeroaGermany2024-05-12Rangoni Of Florence RENEWAL99Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood P FerenczRussiaXuxue Feng RENEWAL
Mujtaba G OldroydJapanOnyama Limba UNQUALIFIED
Tony G BologniaArgentinaBernardo Dominic QUALIFIED
Claire L KuskoGermanyAsiya Javayant QUALIFIED
Leon M BriddickIndiaIoni Bowcher NEGOTIATION
Mujtaba F MaletRussiaIoni Bowcher NEW
Francesco Z MarrierSpainOnyama Limba NEGOTIATION
Wickens I OldroydJapanAsiya Javayant QUALIFIED
Claire P NestleBrazilIvan Magalhaes RENEWAL
Ashley U CaudyIndiaBernardo Dominic NEW
Deepesh D FlosiFranceAmy Elsner RENEWAL
Clifford J CaudyGermanyXuxue Feng QUALIFIED
Aruna J CaudyBrazilBernardo Dominic QUALIFIED
Misaki M KolmetzRussiaIvan Magalhaes QUALIFIED
Chavez I CaudyIndiaIvan Magalhaes UNQUALIFIED
Isabel W SergiIndiaIoni Bowcher QUALIFIED
Kaitlin X WhobreyBrazilAsiya Javayant UNQUALIFIED
Aditya D CaldareraSpainIoni Bowcher UNQUALIFIED
Aruna Q StockhamRussiaXuxue Feng UNQUALIFIED
Darci G VenereGermanyAmy Elsner NEW
Mujtaba O RoysterRussiaOnyama Limba PROPOSAL
Faith Z RoysterArgentinaIvan Magalhaes QUALIFIED
Wickens O DarakjyUnited KingdomAmy Elsner NEW
Claire L CaudyUnited KingdomAnna Fali NEW
Tony M AmigonCanadaOnyama Limba PROPOSAL
Ashley N SchemmerBrazilStephen Shaw NEW
Rodrigues R FollerSpainIvan Magalhaes QUALIFIED
Mujtaba F OstroskyIndiaAsiya Javayant PROPOSAL
Aditya C BologniaUnited KingdomStephen Shaw PROPOSAL
Ricardo S DarakjyCanadaAnna Fali PROPOSAL
Emily G MaletFranceStephen Shaw NEW
Costa P RutaBrazilAnna Fali NEGOTIATION
Alejandro Q SchemmerFranceAmy Elsner RENEWAL
Faith J CaudyJapanAsiya Javayant QUALIFIED
Deepesh O FlosiCanadaStephen Shaw NEW
Izzy Q DoeCanadaBernardo Dominic NEW
Aruna F RimItalyIoni Bowcher PROPOSAL
Sinclair A InouyeUnited KingdomElwin Sharvill NEW
Octavia X RimFranceBernardo Dominic NEGOTIATION
Francesco X SchemmerSpainXuxue Feng NEGOTIATION
Antonio B DarakjyFranceAnna Fali UNQUALIFIED
Maisha G OstroskyUnited KingdomAnna Fali PROPOSAL
Izzy Y FollerCanadaOnyama Limba NEGOTIATION
Sinclair L RutaJapanAsiya Javayant NEGOTIATION
Francesco Z RoysterCanadaAmy Elsner RENEWAL
Tony K ShinkoJapanAmy Elsner RENEWAL
Johnson B AmigonItalyXuxue Feng QUALIFIED
Julie M MacleadJapanStephen Shaw PROPOSAL
Aditya F FerenczItalyIoni Bowcher NEGOTIATION
Darci V CaldareraBrazilStephen Shaw QUALIFIED
Frozen Columns
Name
Jennifer Y Bolognia
Jefferson J Oldroyd
Claire X Caldarera
James Q Foller
Adams C Paprocki
Izzy W Glick
Maria E Perin
Munro K Kusko
Morrow H Royster
Isabel M Amigon
Jones P Glick
Morrow T Gillian
Aditya Z Slusarski
Greenwood M Nicka
James L Caudy
Julie X Sergi
Octavia M Campain
Aditya Y Dilliard
Maria T Shinko
Leon B Chui
Mayumi B Gillian
Costa J Ruta
Costa U Waycott
Octavia Q Shinko
Deepesh X Caldarera
Leja J Saylors
Munro O Bowley
Nicolas U Foller
Jennifer R Wieser
Faith E Bolognia
Munro S Shinko
Salvatore J Bowley
Adams U Rim
Izzy R Inouye
Octavia W Bowley
Juan G Foller
Munro J Caldarera
Leon F Venere
Kaitlin J Inouye
Ricardo C Vocelka
Clifford N Sergi
Mayumi B Poquette
Mujtaba H Butt
Misaki R Stenseth
Misaki X Kusko
Emily P Stockham
Izzy S Malet
James P Morasca
Murillo M Campain
Aditya P Oldroyd
IdCountryDate
1000France2024-05-23
1001Russia2024-05-10
1002Germany2024-05-15
1003Canada2024-05-23
1004Italy2024-05-18
1005Japan2024-05-11
1006Australia2024-05-19
1007Germany2024-05-04
1008United Kingdom2024-05-08
1009United Kingdom2024-05-24
1010Russia2024-05-17
1011Italy2024-05-12
1012Australia2024-05-20
1013Russia2024-05-01
1014Germany2024-05-23
1015India2024-05-12
1016France2024-05-13
1017Spain2024-04-30
1018Canada2024-05-18
1019India2024-05-21
1020Argentina2024-05-25
1021Brazil2024-05-23
1022Italy2024-05-25
1023United Kingdom2024-05-19
1024India2024-05-16
1025Germany2024-05-19
1026Canada2024-05-25
1027United Kingdom2024-04-30
1028Canada2024-05-16
1029Brazil2024-05-05
1030Canada2024-05-17
1031Australia2024-05-23
1032United Kingdom2024-05-23
1033Russia2024-05-21
1034United Kingdom2024-05-26
1035Spain2024-05-02
1036Italy2024-05-25
1037Italy2024-05-12
1038Japan2024-05-17
1039Italy2024-05-06
1040Japan2024-05-24
1041Italy2024-05-10
1042Canada2024-05-01
1043United Kingdom2024-05-09
1044Brazil2024-05-13
1045Italy2024-05-25
1046Germany2024-05-06
1047Italy2024-04-28
1048France2024-04-28
1049Spain2024-05-14

On-Demand Data

NameIdCountryDate
Arvin J Vocelka1000Russia2024-05-11
Tony W Perin1001Argentina2024-05-15
Maria J Rulapaugh1002Japan2024-05-02
Leon I Royster1003Brazil2024-05-12
Clifford W Shinko1004Japan2024-05-14
Leon U Marrier1005Spain2024-04-30
Antonio G Gillian1006India2024-05-23
Morrow M Garufi1007Argentina2024-05-05
Tony H Briddick1008Brazil2024-05-22
Leon S Morasca1009France2024-05-03
Costa S Gillian1010Canada2024-05-01
Francesco O Albares1011Russia2024-05-19
Leja T Wieser1012India2024-05-18
Leja C Amigon1013France2024-05-16
Munro Y Glick1014Russia2024-05-17
Deepesh P Ruta1015Argentina2024-05-05
Leon O Rulapaugh1016United Kingdom2024-05-25
Nicolas Q Kolmetz1017Germany2024-05-16
Silvio V Garufi1018Canada2024-05-27
Adams M Shinko1019Canada2024-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Q FigeroaBrazilElwin Sharvill QUALIFIED
Darci L PoquetteFranceAmy Elsner QUALIFIED
Costa F MacleadFranceBernardo Dominic NEGOTIATION
Sinclair V MorascaIndiaXuxue Feng PROPOSAL
Deepesh S BowleyBrazilAmy Elsner RENEWAL
David J FlosiItalyBernardo Dominic RENEWAL
Costa C GlickRussiaAsiya Javayant UNQUALIFIED
Aruna K RutaCanadaXuxue Feng PROPOSAL
Adams G PerinBrazilIoni Bowcher QUALIFIED
Aruna S PerinBrazilBernardo Dominic RENEWAL
Deepesh V ShinkoRussiaBernardo Dominic RENEWAL
Juan E NestleUnited KingdomBernardo Dominic QUALIFIED
Salvatore R PoquetteUnited KingdomBernardo Dominic QUALIFIED
Jennifer F BowleyBrazilAnna Fali PROPOSAL
Isabel E GlickFranceElwin Sharvill RENEWAL
James A KuskoJapanAsiya Javayant NEW
Maria F IturbideSpainAmy Elsner NEW
Rodrigues V GarufiCanadaBernardo Dominic QUALIFIED
James G IturbideRussiaBernardo Dominic NEW
Chavez V MorascaArgentinaStephen Shaw UNQUALIFIED
Kadeem S NickaIndiaBernardo Dominic NEW
Smith C RulapaughGermanyIoni Bowcher PROPOSAL
Jennifer R FollerSpainBernardo Dominic RENEWAL
Jones U CampainGermanyIvan Magalhaes NEGOTIATION
Jones J DoeSpainElwin Sharvill UNQUALIFIED
Alejandro W FlosiItalyIvan Magalhaes PROPOSAL
Emily U StockhamUnited KingdomOnyama Limba PROPOSAL
Arvin Y ShinkoItalyStephen Shaw UNQUALIFIED
Ivar G AlbaresArgentinaAmy Elsner PROPOSAL
Octavia J PoquetteJapanAsiya Javayant NEW
Ivar T KolmetzAustraliaIvan Magalhaes QUALIFIED
Murillo O GlickFranceBernardo Dominic NEW
Stacey H GarufiBrazilOnyama Limba NEW
Ricardo Q SlusarskiIndiaStephen Shaw PROPOSAL
Chavez M KuskoGermanyIoni Bowcher RENEWAL
Sinclair F TollnerArgentinaXuxue Feng NEW
Morrow A KuskoArgentinaOnyama Limba RENEWAL
Jefferson Z RulapaughBrazilIvan Magalhaes NEGOTIATION
Maria O MaletArgentinaElwin Sharvill NEW
Isabel B StockhamIndiaIvan Magalhaes 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>