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
Ivar H InouyeGermanyAmy Elsner UNQUALIFIED
Darci K WaycottArgentinaElwin Sharvill PROPOSAL
Salvatore A OldroydFranceAsiya Javayant NEW
Greenwood B GauchoBrazilAsiya Javayant RENEWAL
Nicolas W GarufiFranceOnyama Limba NEGOTIATION
Johnson S NickaGermanyStephen Shaw UNQUALIFIED
Mayumi Y CaldareraRussiaBernardo Dominic NEW
Morrow F DarakjyCanadaStephen Shaw UNQUALIFIED
Cody R ButtRussiaIoni Bowcher RENEWAL
Adams X FollerUnited KingdomOnyama Limba NEW
Claire G OstroskyUnited KingdomAmy Elsner QUALIFIED
Kaitlin Q PoquetteSpainAnna Fali NEW
Smith F IturbideSpainAmy Elsner NEGOTIATION
Stacey S FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Antonio B ButtFranceXuxue Feng RENEWAL
Jeanfrancois R KuskoJapanIoni Bowcher UNQUALIFIED
Wickens H SergiArgentinaAnna Fali QUALIFIED
Adams E BologniaAustraliaOnyama Limba QUALIFIED
Leon S InouyeBrazilOnyama Limba NEGOTIATION
Juan Y BowleyIndiaBernardo Dominic UNQUALIFIED
Jennifer F MaletRussiaElwin Sharvill NEGOTIATION
Julie A OldroydArgentinaAsiya Javayant RENEWAL
Emily H PaprockiUnited KingdomBernardo Dominic NEW
Maisha B ButtSpainOnyama Limba UNQUALIFIED
Adams E PaprockiAustraliaElwin Sharvill NEW
Misaki J PaprockiArgentinaIoni Bowcher NEW
Darci D RoysterAustraliaElwin Sharvill QUALIFIED
Ashley C AmigonSpainIvan Magalhaes PROPOSAL
Jones W SergiItalyElwin Sharvill UNQUALIFIED
Murillo W GauchoRussiaAsiya Javayant PROPOSAL
Clifford H MarrierBrazilBernardo Dominic UNQUALIFIED
Silvio K GillianArgentinaBernardo Dominic QUALIFIED
Tony Q GillianUnited KingdomAsiya Javayant RENEWAL
Leja Q NickaArgentinaStephen Shaw NEW
Silvio O DarakjyUnited KingdomStephen Shaw RENEWAL
Alejandro U AmigonFranceIoni Bowcher QUALIFIED
Leja C OldroydGermanyOnyama Limba NEW
Tony U FigeroaRussiaOnyama Limba NEGOTIATION
Claire H BowleyCanadaStephen Shaw UNQUALIFIED
Wickens J ChuiSpainIoni Bowcher PROPOSAL
Jones H WieserGermanyStephen Shaw QUALIFIED
Jones F PerinIndiaXuxue Feng NEW
Johnson Q MorascaJapanElwin Sharvill PROPOSAL
Munro F RulapaughUnited KingdomStephen Shaw NEW
Maisha G GarufiJapanAnna Fali PROPOSAL
Aditya X WhobreyBrazilAmy Elsner UNQUALIFIED
Francesco M SlusarskiFranceIvan Magalhaes NEW
Mujtaba U FerenczFranceXuxue Feng PROPOSAL
Aruna T WaycottBrazilXuxue Feng NEGOTIATION
Ivar A ShinkoIndiaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David L StensethArgentinaStephen Shaw NEW
Ashley D NickaIndiaElwin Sharvill PROPOSAL
James F CaudyGermanyOnyama Limba QUALIFIED
James W DoeGermanyElwin Sharvill QUALIFIED
Misaki N SchemmerBrazilBernardo Dominic QUALIFIED
Juan B InouyeArgentinaAmy Elsner PROPOSAL
Izzy Y ChuiCanadaElwin Sharvill RENEWAL
Aruna O ButtRussiaStephen Shaw NEGOTIATION
Mayumi E WhobreyAustraliaAmy Elsner PROPOSAL
Salvatore I DarakjyFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio W WieserBrazil2024-06-03Dorl, James J Esq PROPOSAL9Amy Elsner
1001Adams U VocelkaBrazil2024-06-12Chapman, Ross E Esq QUALIFIED80Asiya Javayant
1002Maria N ChuiJapan2024-05-27Truhlar And Truhlar Attys PROPOSAL13Xuxue Feng
1003Isabel S FlosiFrance2024-05-25Rangoni Of Florence UNQUALIFIED95Ioni Bowcher
1004Ivar D WhobreyBrazil2024-06-04Rangoni Of Florence QUALIFIED71Elwin Sharvill
1005Tony O RimUnited Kingdom2024-05-27Rousseaux, Michael Esq PROPOSAL26Stephen Shaw
1006Smith D MacleadFrance2024-05-27Chapman, Ross E Esq RENEWAL96Bernardo Dominic
1007Ricardo Y ButtArgentina2024-06-09Chemel, James L Cpa UNQUALIFIED38Anna Fali
1008Tony V CaldareraSpain2024-05-26Chapman, Ross E Esq NEGOTIATION24Xuxue Feng
1009James B SchemmerItaly2024-05-29Chanay, Jeffrey A Esq NEGOTIATION25Amy Elsner
1010Ivar S OldroydSpain2024-05-28Buckley Miller Wright NEW34Ioni Bowcher
1011Darci V GlickItaly2024-06-14Benton, John B Jr UNQUALIFIED65Bernardo Dominic
1012Costa O MarrierArgentina2024-06-07Chemel, James L Cpa PROPOSAL41Bernardo Dominic
1013David J PerinJapan2024-06-05Buckley Miller Wright NEGOTIATION53Elwin Sharvill
1014Ashley S PerinGermany2024-06-18Printing Dimensions NEW81Ivan Magalhaes
1015Leon P GlickJapan2024-06-06King, Christopher A Esq PROPOSAL82Ivan Magalhaes
1016Ricardo Y AlbaresGermany2024-05-27Rousseaux, Michael Esq PROPOSAL88Elwin Sharvill
1017Leja V WaycottIndia2024-05-23Truhlar And Truhlar Attys QUALIFIED44Bernardo Dominic
1018Jennifer G PaprockiRussia2024-06-18Truhlar And Truhlar Attys NEW44Xuxue Feng
1019Tony Q IturbideSpain2024-05-21Dorl, James J Esq PROPOSAL13Ivan Magalhaes
1020Jefferson L SergiIndia2024-06-08Morlong Associates PROPOSAL67Anna Fali
1021Leja K VocelkaItaly2024-06-05King, Christopher A Esq UNQUALIFIED72Ioni Bowcher
1022Julie J TollnerCanada2024-05-24Commercial Press RENEWAL18Ioni Bowcher
1023Clifford T GauchoRussia2024-05-27Benton, John B Jr UNQUALIFIED97Bernardo Dominic
1024Octavia F PoquetteBrazil2024-06-07Buckley Miller Wright UNQUALIFIED69Ivan Magalhaes
1025Mayumi J RimAustralia2024-05-23Chemel, James L Cpa UNQUALIFIED19Amy Elsner
1026Wickens K OstroskyItaly2024-06-04Buckley Miller Wright UNQUALIFIED28Xuxue Feng
1027Adams R RimArgentina2024-05-25King, Christopher A Esq UNQUALIFIED32Amy Elsner
1028Darci W WieserArgentina2024-05-22King, Christopher A Esq RENEWAL35Stephen Shaw
1029Maria Y TollnerAustralia2024-06-11Dorl, James J Esq PROPOSAL94Bernardo Dominic
1030Tony O CaudyFrance2024-06-13Feltz Printing Service NEGOTIATION48Asiya Javayant
1031David Z DarakjySpain2024-06-01Feltz Printing Service NEGOTIATION9Amy Elsner
1032Smith G WaycottUnited Kingdom2024-06-12Feiner Bros RENEWAL96Onyama Limba
1033Emily E PaprockiJapan2024-06-06Chapman, Ross E Esq RENEWAL21Amy Elsner
1034Aruna Z StockhamBrazil2024-05-22Feltz Printing Service QUALIFIED47Onyama Limba
1035Ashley P SaylorsRussia2024-05-30King, Christopher A Esq NEGOTIATION18Ioni Bowcher
1036Octavia T WieserGermany2024-06-15Rangoni Of Florence NEW5Xuxue Feng
1037Jennifer G PerinUnited Kingdom2024-05-27Benton, John B Jr NEW83Onyama Limba
1038Sinclair X WaycottSpain2024-06-07Morlong Associates RENEWAL51Bernardo Dominic
1039Kadeem H ChuiIndia2024-06-05Feltz Printing Service NEW34Anna Fali
1040Aditya S AmigonCanada2024-06-05Morlong Associates NEW17Asiya Javayant
1041Francesco R OldroydGermany2024-05-31King, Christopher A Esq RENEWAL11Amy Elsner
1042Aruna J BowleyJapan2024-05-26Chapman, Ross E Esq NEGOTIATION95Xuxue Feng
1043Aika P RimRussia2024-06-07Rousseaux, Michael Esq UNQUALIFIED14Bernardo Dominic
1044Leja C NickaIndia2024-06-11Truhlar And Truhlar Attys UNQUALIFIED12Xuxue Feng
1045Maria A GarufiArgentina2024-06-13King, Christopher A Esq UNQUALIFIED23Elwin Sharvill
1046Morrow Z MaletJapan2024-05-21Chemel, James L Cpa NEGOTIATION59Ioni Bowcher
1047Leon E RoysterCanada2024-06-04Truhlar And Truhlar Attys NEW15Ivan Magalhaes
1048Ricardo I MaletAustralia2024-06-08Morlong Associates NEW94Amy Elsner
1049Arvin V FerenczAustralia2024-05-20Chapman, Ross E Esq PROPOSAL79Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki M MarrierSpainOnyama Limba UNQUALIFIED
Rodrigues B VocelkaGermanyXuxue Feng UNQUALIFIED
Izzy K WaycottAustraliaIoni Bowcher UNQUALIFIED
Faith W BriddickSpainOnyama Limba PROPOSAL
Ashley X CaudyGermanyIvan Magalhaes NEGOTIATION
Murillo H WaycottIndiaAsiya Javayant UNQUALIFIED
Mayumi T PerinBrazilAsiya Javayant QUALIFIED
Tony Q IturbideCanadaStephen Shaw UNQUALIFIED
Tony X BowleyIndiaAsiya Javayant QUALIFIED
Francesco Y NestleArgentinaIoni Bowcher PROPOSAL
Kaitlin K SaylorsItalyAnna Fali NEW
Kadeem Z IturbideSpainIoni Bowcher RENEWAL
Stacey L VocelkaCanadaOnyama Limba NEW
Aditya O PerinUnited KingdomStephen Shaw RENEWAL
Tony D ShinkoUnited KingdomIvan Magalhaes RENEWAL
Mayumi V DilliardUnited KingdomAmy Elsner RENEWAL
Faith R VenereFranceIvan Magalhaes NEGOTIATION
Deepesh A BologniaItalyBernardo Dominic PROPOSAL
Jennifer C FlosiItalyAnna Fali RENEWAL
James L SlusarskiAustraliaIoni Bowcher NEGOTIATION
Claire V SergiIndiaAnna Fali UNQUALIFIED
Morrow X WieserRussiaAmy Elsner PROPOSAL
Emily G SergiGermanyAmy Elsner RENEWAL
Arvin S CampainFranceAsiya Javayant QUALIFIED
Salvatore D StensethGermanyXuxue Feng NEGOTIATION
Leon S ChuiSpainXuxue Feng NEGOTIATION
Claire Z AmigonAustraliaXuxue Feng QUALIFIED
Isabel J MorascaCanadaXuxue Feng UNQUALIFIED
Aditya J WhobreyJapanXuxue Feng NEW
Kadeem P FlosiFranceAsiya Javayant QUALIFIED
Mujtaba Z CaldareraCanadaStephen Shaw UNQUALIFIED
Antonio H GillianCanadaElwin Sharvill UNQUALIFIED
Aika D PerinSpainIoni Bowcher PROPOSAL
Smith Y MarrierAustraliaXuxue Feng NEW
Faith B GillianRussiaIoni Bowcher RENEWAL
Mujtaba D NickaArgentinaAmy Elsner NEGOTIATION
Aika Z WieserSpainBernardo Dominic NEGOTIATION
Julie G OstroskySpainElwin Sharvill RENEWAL
Maisha B GillianItalyAsiya Javayant NEGOTIATION
Clifford O VocelkaItalyStephen Shaw UNQUALIFIED
Misaki S AlbaresGermanyIvan Magalhaes NEW
Jennifer B PoquetteAustraliaAsiya Javayant PROPOSAL
Darci I PoquetteCanadaIvan Magalhaes UNQUALIFIED
Kadeem N RoysterRussiaStephen Shaw RENEWAL
Deepesh S RulapaughArgentinaBernardo Dominic QUALIFIED
Aika R GlickSpainAsiya Javayant RENEWAL
Johnson M IturbideJapanIoni Bowcher NEGOTIATION
Juan K WieserAustraliaBernardo Dominic RENEWAL
James A FollerFranceAnna Fali NEGOTIATION
Aika A PoquetteBrazilStephen Shaw NEW
Frozen Columns
Name
Stacey A Campain
Maria C Paprocki
Maria E Darakjy
Antonio J Perin
Costa H Perin
Cody T Glick
Juan D Gillian
Munro Y Tollner
Ricardo T Ferencz
Johnson Z Paprocki
Ashley J Foller
Nicolas M Oldroyd
Sinclair G Figeroa
Jennifer Y Figeroa
Octavia O Inouye
Silvio B Oldroyd
David A Poquette
Ashley B Figeroa
Jefferson F Morasca
Leon J Gillian
Munro R Sergi
Emily P Poquette
Deepesh Q Campain
Antonio P Gaucho
Morrow S Perin
Clifford F Kusko
Aika Q Tollner
Costa M Gillian
Clifford V Doe
Antonio W Ferencz
Izzy V Rim
Faith Q Sergi
Isabel B Oldroyd
Adams M Ferencz
Izzy A Doe
Aditya G Shinko
Morrow B Ruta
Jefferson K Bolognia
Arvin Y Malet
Maisha S Nicka
Aika M Shinko
Greenwood E Glick
Deepesh J Nicka
Emily I Briddick
Mayumi A Amigon
Mayumi C Whobrey
Kaitlin U Chui
David M Bolognia
Costa V Vocelka
Ricardo Z Royster
IdCountryDate
1000United Kingdom2024-06-08
1001Australia2024-06-11
1002Spain2024-05-22
1003Spain2024-06-17
1004Spain2024-05-23
1005Spain2024-06-03
1006Russia2024-06-11
1007Russia2024-06-17
1008Brazil2024-05-21
1009Spain2024-05-20
1010Argentina2024-05-21
1011Argentina2024-06-16
1012United Kingdom2024-06-10
1013United Kingdom2024-05-31
1014United Kingdom2024-06-02
1015Brazil2024-06-07
1016Brazil2024-06-17
1017Germany2024-06-09
1018Spain2024-05-29
1019Canada2024-05-25
1020Canada2024-06-04
1021Canada2024-06-04
1022Australia2024-05-24
1023Canada2024-06-02
1024Germany2024-06-08
1025Japan2024-05-31
1026India2024-06-12
1027Italy2024-06-13
1028Russia2024-06-13
1029Russia2024-06-03
1030United Kingdom2024-05-24
1031Argentina2024-06-07
1032Russia2024-06-10
1033Australia2024-05-20
1034Australia2024-05-31
1035Argentina2024-05-25
1036France2024-06-01
1037Canada2024-05-21
1038Argentina2024-06-08
1039Spain2024-05-24
1040Canada2024-06-16
1041United Kingdom2024-06-07
1042Italy2024-05-26
1043Argentina2024-06-17
1044Japan2024-06-11
1045Russia2024-06-15
1046Russia2024-06-15
1047Italy2024-06-17
1048United Kingdom2024-05-22
1049India2024-06-15

On-Demand Data

NameIdCountryDate
Deepesh O Campain1000Italy2024-06-14
Ivar Y Flosi1001Russia2024-06-05
Leon U Amigon1002Japan2024-05-28
Arvin S Malet1003Australia2024-06-03
Arvin U Albares1004Argentina2024-06-09
Izzy B Figeroa1005Russia2024-05-21
Morrow O Ferencz1006Argentina2024-05-27
Morrow M Bolognia1007India2024-05-29
Aika R Rulapaugh1008France2024-05-28
Isabel V Maclead1009Brazil2024-05-29
Misaki F Rulapaugh1010Canada2024-05-29
James L Briddick1011Canada2024-06-12
Deepesh D Tollner1012Russia2024-05-24
Maria Y Amigon1013Australia2024-06-15
Juan W Venere1014Japan2024-05-27
Clifford H Iturbide1015Australia2024-06-18
Smith J Albares1016Canada2024-06-02
Sinclair C Vocelka1017Brazil2024-05-22
Jefferson C Sergi1018Canada2024-06-12
Aruna P Tollner1019Japan2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro A PerinCanadaOnyama Limba UNQUALIFIED
Maisha U OstroskyJapanStephen Shaw NEW
Claire Y DarakjyGermanyOnyama Limba RENEWAL
Maisha X GillianCanadaStephen Shaw RENEWAL
Mayumi Z DilliardArgentinaAsiya Javayant PROPOSAL
Arvin X FollerJapanOnyama Limba UNQUALIFIED
Kaitlin Q PoquetteGermanyAnna Fali PROPOSAL
Rodrigues A DilliardIndiaIvan Magalhaes PROPOSAL
Wickens R GarufiSpainXuxue Feng UNQUALIFIED
Jennifer O GarufiSpainIvan Magalhaes NEW
Smith L BowleyFranceIvan Magalhaes PROPOSAL
Aruna U FigeroaUnited KingdomIvan Magalhaes RENEWAL
Greenwood N MarrierAustraliaOnyama Limba RENEWAL
Jefferson Y BriddickIndiaStephen Shaw RENEWAL
Izzy F GlickSpainXuxue Feng NEW
Mujtaba R SlusarskiArgentinaXuxue Feng NEW
Costa X DoeSpainIvan Magalhaes QUALIFIED
James P DarakjyRussiaElwin Sharvill NEGOTIATION
Sinclair B FigeroaBrazilAmy Elsner RENEWAL
Francesco Q RulapaughAustraliaAnna Fali NEGOTIATION
Claire E MaletJapanAmy Elsner QUALIFIED
Munro V DilliardItalyIvan Magalhaes QUALIFIED
Darci W AmigonItalyAmy Elsner RENEWAL
Julie L VocelkaRussiaElwin Sharvill RENEWAL
David R SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Leja P MaletBrazilXuxue Feng NEGOTIATION
Jefferson X RoysterGermanyAmy Elsner NEW
Leja Z WieserSpainIoni Bowcher PROPOSAL
Octavia V GillianItalyAnna Fali NEW
Maisha G PaprockiGermanyXuxue Feng UNQUALIFIED
Costa M SlusarskiIndiaOnyama Limba NEW
Antonio A WieserRussiaElwin Sharvill PROPOSAL
Cody D BriddickAustraliaAnna Fali UNQUALIFIED
James N DarakjyGermanyAsiya Javayant UNQUALIFIED
Morrow G SlusarskiCanadaBernardo Dominic QUALIFIED
Jennifer R KuskoArgentinaAmy Elsner NEW
James H PaprockiJapanOnyama Limba QUALIFIED
Costa Y GarufiGermanyAsiya Javayant RENEWAL
Juan Q CampainRussiaAnna Fali NEW
Leja D PoquetteBrazilAsiya Javayant UNQUALIFIED

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