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
Izzy D KolmetzSpainElwin Sharvill UNQUALIFIED
Jones U DoeBrazilAsiya Javayant QUALIFIED
Johnson N KuskoArgentinaIvan Magalhaes UNQUALIFIED
Clifford D FerenczFranceAsiya Javayant NEGOTIATION
Nicolas I VenereRussiaIoni Bowcher NEW
Silvio W RoysterJapanXuxue Feng UNQUALIFIED
Aditya Z GauchoGermanyAsiya Javayant QUALIFIED
Cody Z DoeRussiaBernardo Dominic UNQUALIFIED
Misaki Y MaletUnited KingdomAnna Fali UNQUALIFIED
Greenwood M FlosiJapanIvan Magalhaes NEW
Aika X DoeAustraliaIoni Bowcher UNQUALIFIED
Kaitlin P FollerBrazilAmy Elsner UNQUALIFIED
Alejandro Z IturbideBrazilAnna Fali NEGOTIATION
Antonio W RutaSpainXuxue Feng NEGOTIATION
Ivar Y AlbaresJapanBernardo Dominic QUALIFIED
Alejandro O BriddickFranceIoni Bowcher NEW
Salvatore E NestleFranceOnyama Limba NEGOTIATION
Mayumi A MaletUnited KingdomAnna Fali NEW
Rodrigues Q AmigonIndiaElwin Sharvill PROPOSAL
Aruna K AmigonArgentinaBernardo Dominic PROPOSAL
Octavia C RimJapanIvan Magalhaes QUALIFIED
Morrow W RulapaughAustraliaAnna Fali PROPOSAL
Deepesh X VenereRussiaAmy Elsner QUALIFIED
Alejandro K DarakjyRussiaBernardo Dominic UNQUALIFIED
Leon G ShinkoAustraliaAnna Fali RENEWAL
Jefferson Q PerinUnited KingdomAmy Elsner QUALIFIED
Mujtaba P DoeUnited KingdomIvan Magalhaes NEGOTIATION
Silvio H MarrierIndiaIoni Bowcher PROPOSAL
Smith J GlickSpainAsiya Javayant PROPOSAL
Ivar L InouyeGermanyIvan Magalhaes RENEWAL
Nicolas A FerenczGermanyOnyama Limba NEGOTIATION
Isabel O SergiCanadaBernardo Dominic QUALIFIED
Izzy Z RimUnited KingdomIoni Bowcher NEW
Clifford A DarakjySpainBernardo Dominic QUALIFIED
Julie C VocelkaCanadaAnna Fali NEGOTIATION
Sinclair M CaudyArgentinaXuxue Feng PROPOSAL
Maria L MorascaJapanAsiya Javayant PROPOSAL
Cody P GarufiArgentinaOnyama Limba NEW
Maria G MorascaIndiaAnna Fali RENEWAL
Jennifer J PerinCanadaIoni Bowcher PROPOSAL
Murillo P PoquetteSpainIvan Magalhaes RENEWAL
Aditya E MorascaItalyOnyama Limba NEGOTIATION
Ivar Z IturbideJapanIoni Bowcher NEW
Stacey C InouyeArgentinaBernardo Dominic NEGOTIATION
Sinclair X GlickAustraliaElwin Sharvill NEGOTIATION
Ashley A FigeroaRussiaAsiya Javayant QUALIFIED
Costa E WaycottGermanyIvan Magalhaes NEW
Munro S OstroskyGermanyIvan Magalhaes RENEWAL
Leon S DarakjyIndiaElwin Sharvill NEGOTIATION
Salvatore C GillianFranceAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio H WieserCanadaElwin Sharvill PROPOSAL
Maisha S AlbaresFranceAmy Elsner QUALIFIED
Silvio J SlusarskiArgentinaOnyama Limba PROPOSAL
Izzy X SlusarskiUnited KingdomOnyama Limba RENEWAL
Silvio K OldroydBrazilElwin Sharvill QUALIFIED
Clifford D PerinItalyAnna Fali NEGOTIATION
Clifford Y GlickSpainOnyama Limba RENEWAL
Chavez F NickaUnited KingdomAnna Fali PROPOSAL
Munro Y VenereIndiaIoni Bowcher NEW
Johnson G NickaAustraliaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi O PerinArgentina2024-05-20Chanay, Jeffrey A Esq QUALIFIED88Stephen Shaw
1001Deepesh O MaletItaly2024-06-14Commercial Press NEW45Amy Elsner
1002Ashley G NickaFrance2024-06-06Chemel, James L Cpa RENEWAL42Bernardo Dominic
1003Juan L WieserGermany2024-06-09Rangoni Of Florence RENEWAL29Onyama Limba
1004Kadeem H CampainGermany2024-05-28Chemel, James L Cpa UNQUALIFIED37Amy Elsner
1005Costa L SchemmerBrazil2024-06-12Commercial Press NEGOTIATION23Amy Elsner
1006Tony H AmigonRussia2024-06-10Feiner Bros PROPOSAL93Amy Elsner
1007Darci K PoquetteSpain2024-06-14Commercial Press RENEWAL70Onyama Limba
1008James T VocelkaItaly2024-05-30Commercial Press PROPOSAL34Anna Fali
1009Kaitlin P KolmetzCanada2024-05-30Feiner Bros UNQUALIFIED87Xuxue Feng
1010Leon H PaprockiFrance2024-05-25Dorl, James J Esq RENEWAL7Amy Elsner
1011Smith K BriddickAustralia2024-05-27Commercial Press PROPOSAL89Bernardo Dominic
1012Jones O PerinUnited Kingdom2024-06-02Benton, John B Jr QUALIFIED46Anna Fali
1013Darci Q VenereUnited Kingdom2024-06-15Truhlar And Truhlar Attys PROPOSAL91Onyama Limba
1014Greenwood P WieserFrance2024-06-08Rousseaux, Michael Esq PROPOSAL56Stephen Shaw
1015Wickens S RimAustralia2024-06-04Buckley Miller Wright NEW31Onyama Limba
1016Kaitlin V WhobreyRussia2024-06-06Morlong Associates UNQUALIFIED12Elwin Sharvill
1017Francesco X AmigonItaly2024-05-31Chanay, Jeffrey A Esq QUALIFIED97Elwin Sharvill
1018Rodrigues G MaletAustralia2024-05-26Chanay, Jeffrey A Esq NEW0Asiya Javayant
1019Octavia C RulapaughIndia2024-05-31Feiner Bros PROPOSAL18Onyama Limba
1020Faith F GauchoItaly2024-06-11Feltz Printing Service NEW47Amy Elsner
1021Maria A WieserFrance2024-05-22Truhlar And Truhlar Attys PROPOSAL78Amy Elsner
1022Faith A WaycottUnited Kingdom2024-06-17Rousseaux, Michael Esq QUALIFIED57Onyama Limba
1023Antonio V GillianIndia2024-06-13Benton, John B Jr NEGOTIATION45Asiya Javayant
1024Greenwood M VenereAustralia2024-06-04Commercial Press PROPOSAL79Onyama Limba
1025Izzy Q FigeroaJapan2024-06-02Dorl, James J Esq QUALIFIED24Xuxue Feng
1026Jennifer V KuskoRussia2024-06-07Chanay, Jeffrey A Esq PROPOSAL51Asiya Javayant
1027Aika D VocelkaFrance2024-05-22Printing Dimensions NEGOTIATION17Xuxue Feng
1028Munro B CampainIndia2024-05-25Feiner Bros UNQUALIFIED3Onyama Limba
1029Darci J BowleyFrance2024-06-10Feltz Printing Service RENEWAL14Onyama Limba
1030Jones K AlbaresFrance2024-05-27King, Christopher A Esq PROPOSAL24Ioni Bowcher
1031Aditya W CampainFrance2024-06-16Commercial Press UNQUALIFIED10Ivan Magalhaes
1032Arvin R RoysterAustralia2024-05-24Printing Dimensions UNQUALIFIED8Ivan Magalhaes
1033Chavez O SchemmerArgentina2024-06-05Feltz Printing Service UNQUALIFIED28Amy Elsner
1034Leon U IturbideCanada2024-06-09Morlong Associates PROPOSAL18Stephen Shaw
1035Isabel G VocelkaIndia2024-05-23Buckley Miller Wright QUALIFIED56Asiya Javayant
1036Francesco V DilliardArgentina2024-06-09Commercial Press UNQUALIFIED64Asiya Javayant
1037Rodrigues Z CampainItaly2024-06-08King, Christopher A Esq NEGOTIATION72Amy Elsner
1038Stacey N StensethRussia2024-06-05Benton, John B Jr UNQUALIFIED63Xuxue Feng
1039Emily B IturbideSpain2024-06-17Rousseaux, Michael Esq UNQUALIFIED87Amy Elsner
1040Stacey P TollnerJapan2024-05-29Feltz Printing Service RENEWAL79Anna Fali
1041Octavia I GauchoFrance2024-06-17Chemel, James L Cpa NEGOTIATION14Xuxue Feng
1042Aika D CampainAustralia2024-05-25Morlong Associates RENEWAL64Amy Elsner
1043Cody C MorascaCanada2024-05-20Printing Dimensions PROPOSAL21Xuxue Feng
1044Cody H ChuiItaly2024-05-26Feltz Printing Service NEGOTIATION71Anna Fali
1045Maria T GillianGermany2024-06-05Buckley Miller Wright PROPOSAL29Ioni Bowcher
1046Emily B MorascaIndia2024-06-13Morlong Associates NEGOTIATION60Stephen Shaw
1047Ricardo T BowleyUnited Kingdom2024-05-27Feltz Printing Service PROPOSAL96Bernardo Dominic
1048Deepesh G GauchoIndia2024-05-22Feltz Printing Service PROPOSAL69Onyama Limba
1049James C SchemmerCanada2024-06-13Feiner Bros UNQUALIFIED28Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba A AlbaresSpainIvan Magalhaes NEW
Aditya G StockhamSpainElwin Sharvill NEW
Greenwood S BriddickUnited KingdomOnyama Limba RENEWAL
Alejandro V MarrierBrazilAnna Fali NEGOTIATION
Tony Q AlbaresFranceBernardo Dominic RENEWAL
Francesco B ChuiCanadaXuxue Feng RENEWAL
Maisha R NestleCanadaOnyama Limba UNQUALIFIED
Maria I WieserFranceAmy Elsner PROPOSAL
Darci J GauchoFranceBernardo Dominic RENEWAL
Isabel T GauchoCanadaXuxue Feng RENEWAL
Faith G RoysterArgentinaOnyama Limba PROPOSAL
Claire Y FlosiCanadaStephen Shaw QUALIFIED
Kaitlin P GlickRussiaIvan Magalhaes RENEWAL
Adams O WieserAustraliaAmy Elsner RENEWAL
Jefferson K RimCanadaOnyama Limba RENEWAL
Salvatore P BowleySpainXuxue Feng NEW
Silvio W VocelkaGermanyOnyama Limba PROPOSAL
Jones Q PoquetteBrazilBernardo Dominic NEGOTIATION
Salvatore N DilliardAustraliaOnyama Limba UNQUALIFIED
Salvatore Z SaylorsBrazilStephen Shaw NEW
Mayumi K KolmetzGermanyBernardo Dominic NEW
Jennifer J AmigonItalyXuxue Feng NEGOTIATION
Rodrigues Y StensethUnited KingdomXuxue Feng QUALIFIED
Misaki N DarakjyAustraliaXuxue Feng PROPOSAL
Aruna R AmigonRussiaBernardo Dominic RENEWAL
Tony L DarakjyArgentinaStephen Shaw UNQUALIFIED
Aika F StockhamJapanIoni Bowcher QUALIFIED
Nicolas J PoquetteCanadaAsiya Javayant NEGOTIATION
Mayumi I WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Chavez A FigeroaItalyAsiya Javayant NEW
Cody B DilliardBrazilOnyama Limba UNQUALIFIED
Chavez C FigeroaFranceAsiya Javayant NEW
Aditya T BowleyCanadaBernardo Dominic PROPOSAL
Alejandro M PoquetteRussiaIvan Magalhaes NEW
Aditya Y ShinkoRussiaAmy Elsner PROPOSAL
Ashley P RutaUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin B MaletFranceBernardo Dominic RENEWAL
Morrow F CaudyFranceStephen Shaw NEW
Cody F WhobreyFranceIvan Magalhaes PROPOSAL
Jefferson L WieserBrazilStephen Shaw UNQUALIFIED
Aruna S KuskoJapanBernardo Dominic NEW
Kaitlin V CaldareraAustraliaAnna Fali PROPOSAL
Johnson F InouyeSpainAmy Elsner RENEWAL
Rodrigues D RimRussiaAmy Elsner PROPOSAL
Costa M DarakjyFranceStephen Shaw RENEWAL
Maria H CampainFranceOnyama Limba UNQUALIFIED
Faith R MacleadItalyAsiya Javayant PROPOSAL
Jeanfrancois A FlosiCanadaStephen Shaw NEW
Nicolas G WaycottAustraliaAsiya Javayant PROPOSAL
Arvin Z IturbideUnited KingdomIoni Bowcher NEGOTIATION
Frozen Columns
Name
Salvatore J Maclead
Salvatore X Royster
Chavez P Butt
Claire A Bolognia
Ivar S Briddick
Costa A Foller
Izzy L Amigon
Faith E Oldroyd
Isabel V Garufi
Jefferson G Ruta
Ivar Y Albares
Kaitlin Q Gaucho
Munro Q Gaucho
Silvio C Stenseth
Silvio A Paprocki
Aditya Y Figeroa
Deepesh F Wieser
Adams U Bowley
Kadeem P Malet
Mujtaba M Rulapaugh
Stacey U Gillian
Sinclair G Bowley
Leon B Royster
Salvatore Q Vocelka
Costa W Whobrey
Emily L Paprocki
Izzy R Briddick
Mayumi Q Malet
Emily J Nicka
Faith A Whobrey
Jefferson G Marrier
Morrow K Whobrey
Aruna E Vocelka
Jennifer V Caldarera
Rodrigues O Tollner
Arvin B Nicka
Antonio U Tollner
Leon B Tollner
Ashley Z Chui
Jeanfrancois P Ostrosky
Leon I Venere
Jones Q Figeroa
Juan R Wieser
Jones X Shinko
Darci G Bowley
Juan C Tollner
Jeanfrancois X Ruta
Izzy B Shinko
Mayumi O Morasca
Jennifer V Malet
IdCountryDate
1000India2024-05-21
1001Japan2024-05-24
1002Canada2024-05-23
1003Australia2024-05-29
1004Italy2024-05-23
1005Australia2024-05-23
1006Canada2024-05-31
1007Germany2024-05-22
1008Argentina2024-06-14
1009Germany2024-05-23
1010Argentina2024-05-28
1011United Kingdom2024-06-08
1012Argentina2024-06-02
1013Australia2024-06-15
1014Canada2024-06-18
1015Brazil2024-06-17
1016Italy2024-05-23
1017India2024-06-05
1018Russia2024-05-24
1019Argentina2024-06-09
1020Spain2024-05-26
1021Argentina2024-05-27
1022Germany2024-05-25
1023United Kingdom2024-06-13
1024Brazil2024-06-18
1025Brazil2024-06-01
1026Russia2024-06-12
1027Russia2024-05-21
1028Argentina2024-05-29
1029Australia2024-06-01
1030Argentina2024-05-22
1031Australia2024-06-02
1032Russia2024-06-15
1033Italy2024-06-04
1034Australia2024-05-28
1035France2024-05-24
1036France2024-06-04
1037France2024-05-23
1038Russia2024-05-29
1039India2024-06-17
1040Brazil2024-06-16
1041Australia2024-06-07
1042Italy2024-06-11
1043Germany2024-06-17
1044Spain2024-05-28
1045Germany2024-05-20
1046India2024-06-01
1047Italy2024-05-31
1048Japan2024-05-27
1049Argentina2024-06-18

On-Demand Data

NameIdCountryDate
Johnson F Chui1000India2024-06-05
Emily T Flosi1001Spain2024-05-27
Ashley J Kusko1002Italy2024-06-09
Adams Q Rulapaugh1003Italy2024-06-05
Aruna E Schemmer1004Japan2024-06-15
Tony C Glick1005Italy2024-06-08
Mayumi G Maclead1006Spain2024-05-25
Faith M Morasca1007India2024-05-31
Jones Y Slusarski1008Italy2024-06-03
Leon X Waycott1009Japan2024-06-17
James M Ferencz1010Russia2024-06-07
Sinclair H Rim1011Australia2024-06-07
Misaki P Slusarski1012Canada2024-05-24
Ivar E Inouye1013Canada2024-06-12
Isabel C Wieser1014Brazil2024-06-01
Antonio Q Malet1015Brazil2024-06-15
Maisha H Campain1016Russia2024-05-23
Morrow N Poquette1017Australia2024-05-28
Izzy O Amigon1018Spain2024-05-28
Leja R Malet1019Italy2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas E SergiCanadaStephen Shaw UNQUALIFIED
Isabel Q FerenczAustraliaAsiya Javayant NEW
Faith X BriddickArgentinaAmy Elsner QUALIFIED
Mayumi C WaycottRussiaStephen Shaw QUALIFIED
Adams E CampainUnited KingdomIoni Bowcher RENEWAL
Mayumi U BriddickArgentinaAmy Elsner PROPOSAL
Mayumi V RimItalyOnyama Limba PROPOSAL
Octavia E DilliardJapanIvan Magalhaes NEGOTIATION
Tony X RoysterIndiaAnna Fali RENEWAL
Alejandro C NestleUnited KingdomAmy Elsner NEW
James Q CampainIndiaAmy Elsner QUALIFIED
Greenwood I DoeAustraliaAmy Elsner NEW
David F MacleadCanadaAmy Elsner NEW
Aditya E RulapaughAustraliaOnyama Limba RENEWAL
Johnson Z VocelkaIndiaElwin Sharvill NEW
Octavia N StensethSpainXuxue Feng RENEWAL
Wickens F MorascaGermanyAsiya Javayant NEW
Juan H MaletSpainAmy Elsner QUALIFIED
Mayumi X VocelkaItalyElwin Sharvill UNQUALIFIED
Claire O RoysterIndiaIoni Bowcher NEW
Adams L CaudyGermanyBernardo Dominic NEW
Izzy J GillianUnited KingdomAnna Fali NEGOTIATION
Faith W DarakjyGermanyIvan Magalhaes QUALIFIED
Smith M MarrierBrazilAnna Fali UNQUALIFIED
Julie Y StockhamSpainElwin Sharvill UNQUALIFIED
Leja A KolmetzAustraliaOnyama Limba RENEWAL
Mayumi K NestleItalyXuxue Feng NEW
Rodrigues Q NickaUnited KingdomAnna Fali QUALIFIED
Murillo P MaletBrazilBernardo Dominic NEW
Darci K FigeroaCanadaIoni Bowcher UNQUALIFIED
Ashley M DoeJapanAmy Elsner QUALIFIED
Darci R DoeItalyAmy Elsner NEGOTIATION
Sinclair R VocelkaBrazilBernardo Dominic NEGOTIATION
Kaitlin R CaudyCanadaIoni Bowcher PROPOSAL
Clifford E StockhamFranceBernardo Dominic NEGOTIATION
Costa V PaprockiAustraliaAmy Elsner QUALIFIED
Silvio H FlosiArgentinaAmy Elsner NEGOTIATION
Jones E MarrierArgentinaIoni Bowcher NEGOTIATION
Kaitlin N SlusarskiGermanyIvan Magalhaes QUALIFIED
Costa O FollerUnited KingdomStephen Shaw 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>