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
Jeanfrancois R ChuiGermanyStephen Shaw NEW
Octavia W GauchoJapanOnyama Limba UNQUALIFIED
Leon L BowleyCanadaOnyama Limba PROPOSAL
Adams B GarufiIndiaAmy Elsner RENEWAL
Jennifer P ShinkoGermanyAsiya Javayant NEGOTIATION
James W BologniaGermanyBernardo Dominic QUALIFIED
Kaitlin J MarrierSpainAmy Elsner PROPOSAL
Costa R RimRussiaAnna Fali PROPOSAL
Kaitlin P IturbideRussiaIoni Bowcher PROPOSAL
Jones X AmigonFranceStephen Shaw NEGOTIATION
Greenwood X PaprockiSpainStephen Shaw PROPOSAL
Julie F StensethAustraliaStephen Shaw UNQUALIFIED
Mujtaba Z CampainCanadaXuxue Feng QUALIFIED
Arvin S KolmetzGermanyElwin Sharvill NEW
Faith F GillianFranceIoni Bowcher PROPOSAL
Stacey Q StockhamBrazilBernardo Dominic QUALIFIED
Johnson H MacleadJapanAnna Fali NEW
Alejandro Y StensethJapanAnna Fali NEW
Julie Q VocelkaIndiaAsiya Javayant QUALIFIED
Faith K StensethArgentinaIvan Magalhaes QUALIFIED
James V DilliardItalyAmy Elsner PROPOSAL
Arvin T AmigonArgentinaElwin Sharvill RENEWAL
Mayumi T SergiUnited KingdomAnna Fali UNQUALIFIED
Adams Y SlusarskiJapanAsiya Javayant NEGOTIATION
Munro T ButtBrazilAnna Fali UNQUALIFIED
Nicolas I WieserGermanyOnyama Limba RENEWAL
Adams L MaletArgentinaXuxue Feng NEGOTIATION
Aika Y InouyeFranceBernardo Dominic RENEWAL
Smith D DoeAustraliaBernardo Dominic UNQUALIFIED
Jennifer Y MorascaSpainIvan Magalhaes QUALIFIED
Misaki D RoysterCanadaIoni Bowcher NEGOTIATION
Claire V SaylorsFranceOnyama Limba NEGOTIATION
Isabel Y MaletBrazilAsiya Javayant PROPOSAL
Claire U TollnerSpainStephen Shaw NEW
Chavez K SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Juan Y DilliardArgentinaBernardo Dominic NEGOTIATION
Maria T BriddickGermanyXuxue Feng PROPOSAL
Ricardo M FlosiBrazilAnna Fali QUALIFIED
James L WaycottArgentinaIoni Bowcher RENEWAL
Antonio T RoysterItalyAnna Fali QUALIFIED
Leon D CaudyUnited KingdomAsiya Javayant NEW
Greenwood E WhobreyRussiaAsiya Javayant PROPOSAL
Murillo P StensethSpainXuxue Feng QUALIFIED
David M MaletIndiaXuxue Feng NEGOTIATION
Faith F VenereArgentinaIvan Magalhaes NEGOTIATION
Munro V WieserGermanyAsiya Javayant RENEWAL
Alejandro N RoysterItalyAnna Fali NEGOTIATION
Ricardo X BologniaItalyAnna Fali NEGOTIATION
Ivar S WhobreySpainElwin Sharvill RENEWAL
Maria A MorascaGermanyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David B StensethSpainIoni Bowcher NEGOTIATION
Antonio L OldroydFranceAmy Elsner QUALIFIED
Salvatore I ShinkoArgentinaIvan Magalhaes QUALIFIED
Rodrigues Q PerinAustraliaAnna Fali UNQUALIFIED
Claire S AmigonFranceIoni Bowcher QUALIFIED
Deepesh W FollerGermanyAnna Fali NEW
Mujtaba Q SlusarskiSpainIoni Bowcher NEW
Salvatore X MaletAustraliaBernardo Dominic NEW
Alejandro N SlusarskiFranceAnna Fali NEW
Costa O NestleFranceBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa R SergiUnited Kingdom2024-06-05King, Christopher A Esq RENEWAL19Ivan Magalhaes
1001Munro E ShinkoItaly2024-06-16Rousseaux, Michael Esq NEW29Onyama Limba
1002Alejandro A OstroskyIndia2024-05-21Truhlar And Truhlar Attys PROPOSAL52Stephen Shaw
1003Mayumi Z BowleyBrazil2024-05-20King, Christopher A Esq UNQUALIFIED91Ioni Bowcher
1004Munro V IturbideIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL69Xuxue Feng
1005Jennifer U RutaBrazil2024-06-17Dorl, James J Esq RENEWAL55Ivan Magalhaes
1006Maria P WieserCanada2024-06-12Truhlar And Truhlar Attys RENEWAL84Asiya Javayant
1007Tony W InouyeSpain2024-05-21Dorl, James J Esq QUALIFIED25Asiya Javayant
1008James I NestleItaly2024-06-11King, Christopher A Esq RENEWAL46Stephen Shaw
1009Wickens X WhobreyItaly2024-06-18Truhlar And Truhlar Attys QUALIFIED69Stephen Shaw
1010Kadeem P ShinkoFrance2024-06-02Rangoni Of Florence NEGOTIATION53Anna Fali
1011Adams U FollerIndia2024-05-30Rangoni Of Florence UNQUALIFIED13Elwin Sharvill
1012Antonio R GillianArgentina2024-06-08Feiner Bros QUALIFIED66Elwin Sharvill
1013Murillo R VenereCanada2024-05-21Morlong Associates NEW22Anna Fali
1014Ricardo F SergiCanada2024-06-08Dorl, James J Esq UNQUALIFIED8Xuxue Feng
1015Salvatore U DilliardItaly2024-06-11Truhlar And Truhlar Attys PROPOSAL57Ivan Magalhaes
1016Mayumi L MaletCanada2024-06-16Benton, John B Jr NEW1Ivan Magalhaes
1017Adams P OldroydJapan2024-06-16Rousseaux, Michael Esq UNQUALIFIED98Ioni Bowcher
1018Ashley O SlusarskiAustralia2024-06-03Chapman, Ross E Esq QUALIFIED19Ivan Magalhaes
1019Ricardo O WieserIndia2024-06-14Commercial Press PROPOSAL98Anna Fali
1020Misaki Q CampainFrance2024-06-08Printing Dimensions PROPOSAL2Asiya Javayant
1021Isabel X GillianIndia2024-05-31Feiner Bros PROPOSAL92Ivan Magalhaes
1022Cody I FigeroaRussia2024-06-10Chanay, Jeffrey A Esq RENEWAL28Amy Elsner
1023Leja V GarufiBrazil2024-05-30Rangoni Of Florence NEGOTIATION68Amy Elsner
1024James Y NestleRussia2024-05-25Rousseaux, Michael Esq NEGOTIATION59Bernardo Dominic
1025Sinclair V StockhamGermany2024-06-04Chanay, Jeffrey A Esq QUALIFIED98Asiya Javayant
1026Wickens U StockhamGermany2024-05-20Buckley Miller Wright NEW45Ioni Bowcher
1027Sinclair F FigeroaRussia2024-05-27Chapman, Ross E Esq PROPOSAL38Stephen Shaw
1028Antonio T DarakjySpain2024-05-23Dorl, James J Esq NEGOTIATION70Anna Fali
1029Greenwood Z TollnerFrance2024-06-01Rangoni Of Florence PROPOSAL62Ivan Magalhaes
1030Aditya M PaprockiAustralia2024-06-03Chapman, Ross E Esq RENEWAL82Ivan Magalhaes
1031Kadeem P FollerRussia2024-06-15Truhlar And Truhlar Attys QUALIFIED26Ivan Magalhaes
1032Leon J DilliardFrance2024-06-18Morlong Associates RENEWAL54Ioni Bowcher
1033Ashley C ShinkoBrazil2024-06-06King, Christopher A Esq RENEWAL62Asiya Javayant
1034Munro U BowleySpain2024-05-28Morlong Associates UNQUALIFIED83Onyama Limba
1035Misaki T BriddickRussia2024-06-08Chanay, Jeffrey A Esq QUALIFIED89Xuxue Feng
1036Alejandro M RimAustralia2024-06-13Dorl, James J Esq QUALIFIED72Xuxue Feng
1037Nicolas K CaudyItaly2024-06-10King, Christopher A Esq PROPOSAL13Ioni Bowcher
1038Salvatore A DilliardItaly2024-05-22Morlong Associates QUALIFIED4Stephen Shaw
1039Ricardo C FlosiFrance2024-06-11Commercial Press QUALIFIED86Xuxue Feng
1040Deepesh Y MaletAustralia2024-06-11Dorl, James J Esq QUALIFIED73Bernardo Dominic
1041Smith P AmigonSpain2024-06-03Chanay, Jeffrey A Esq QUALIFIED12Elwin Sharvill
1042Sinclair V MarrierFrance2024-06-06Commercial Press PROPOSAL75Xuxue Feng
1043Kaitlin Y GarufiItaly2024-06-08Benton, John B Jr PROPOSAL0Asiya Javayant
1044Kaitlin V AlbaresSpain2024-06-09Truhlar And Truhlar Attys UNQUALIFIED60Bernardo Dominic
1045Rodrigues E MarrierFrance2024-06-14Buckley Miller Wright QUALIFIED32Ioni Bowcher
1046Adams O StockhamRussia2024-05-28Feltz Printing Service RENEWAL50Onyama Limba
1047Jennifer E IturbideIndia2024-05-24Rousseaux, Michael Esq UNQUALIFIED6Ioni Bowcher
1048Maria M WieserFrance2024-06-06Truhlar And Truhlar Attys UNQUALIFIED28Bernardo Dominic
1049Aditya S SlusarskiBrazil2024-06-12Feltz Printing Service UNQUALIFIED6Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ivar F RutaAustraliaIvan Magalhaes NEW
Claire T GauchoRussiaStephen Shaw NEW
David U GarufiArgentinaAnna Fali QUALIFIED
Aika C CampainSpainAnna Fali QUALIFIED
Izzy E MorascaRussiaStephen Shaw PROPOSAL
Nicolas D MaletRussiaAnna Fali QUALIFIED
Morrow Y OstroskyAustraliaElwin Sharvill NEGOTIATION
Claire N ButtCanadaAnna Fali PROPOSAL
Isabel Y FigeroaIndiaStephen Shaw QUALIFIED
Costa F StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin Z AmigonUnited KingdomElwin Sharvill PROPOSAL
Silvio X TollnerFranceXuxue Feng NEW
Aruna E OstroskyIndiaStephen Shaw PROPOSAL
Isabel U RimIndiaIvan Magalhaes RENEWAL
Ricardo K FigeroaUnited KingdomBernardo Dominic RENEWAL
Juan A BowleyBrazilXuxue Feng PROPOSAL
Mujtaba C AlbaresIndiaElwin Sharvill RENEWAL
Francesco D MacleadItalyBernardo Dominic PROPOSAL
Izzy G NestleCanadaAnna Fali NEW
Maisha R AmigonBrazilIvan Magalhaes UNQUALIFIED
Morrow N DoeAustraliaIvan Magalhaes QUALIFIED
Francesco R VocelkaUnited KingdomBernardo Dominic QUALIFIED
Costa U WhobreyGermanyAnna Fali RENEWAL
Costa X PaprockiRussiaOnyama Limba PROPOSAL
Deepesh S KolmetzGermanyAsiya Javayant RENEWAL
Maisha O OstroskyItalyBernardo Dominic QUALIFIED
David Y RulapaughAustraliaOnyama Limba QUALIFIED
Emily V ButtGermanyAnna Fali UNQUALIFIED
Salvatore X VenereSpainIvan Magalhaes UNQUALIFIED
Maria Q RutaJapanAnna Fali NEGOTIATION
Wickens D CaudyGermanyAsiya Javayant RENEWAL
Munro I ShinkoUnited KingdomIoni Bowcher QUALIFIED
Smith X CampainUnited KingdomAmy Elsner PROPOSAL
Mayumi M OldroydIndiaElwin Sharvill PROPOSAL
Octavia V MacleadCanadaXuxue Feng RENEWAL
James E AlbaresFranceAnna Fali QUALIFIED
Aruna D SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore O BologniaItalyBernardo Dominic QUALIFIED
Ivar X KolmetzIndiaIvan Magalhaes NEGOTIATION
Deepesh Y IturbideCanadaIvan Magalhaes NEW
Kaitlin U BologniaRussiaElwin Sharvill PROPOSAL
Aruna B PoquetteFranceStephen Shaw QUALIFIED
Tony G SaylorsIndiaOnyama Limba QUALIFIED
Faith Z RutaJapanIvan Magalhaes PROPOSAL
Tony A PerinIndiaAnna Fali UNQUALIFIED
Adams N RimFranceIvan Magalhaes RENEWAL
Mayumi M DoeIndiaAmy Elsner QUALIFIED
Julie N InouyeFranceXuxue Feng NEW
Silvio A GarufiArgentinaStephen Shaw NEW
Greenwood B FerenczAustraliaAsiya Javayant NEW
Frozen Columns
Name
Salvatore W Kusko
Johnson F Royster
Nicolas L Butt
Morrow N Shinko
Mayumi B Tollner
Maria N Rulapaugh
Salvatore N Flosi
Francesco B Malet
Antonio S Ostrosky
Clifford H Bolognia
Aditya P Waycott
Smith X Schemmer
Emily D Nicka
Morrow G Royster
Greenwood W Waycott
Kadeem Y Poquette
Octavia X Iturbide
Antonio X Gaucho
Costa Q Bolognia
Costa Z Saylors
Antonio H Paprocki
Jeanfrancois Y Paprocki
Kadeem H Nestle
Sinclair O Campain
Francesco C Whobrey
Silvio S Malet
Faith M Maclead
Emily T Foller
Wickens E Foller
Silvio K Ferencz
Morrow B Kolmetz
Misaki M Inouye
Leon U Butt
Costa L Foller
Francesco Y Malet
Adams J Sergi
Mujtaba O Albares
Alejandro J Wieser
Cody D Perin
Johnson K Ruta
Jeanfrancois I Flosi
Tony S Foller
Francesco J Wieser
Stacey S Glick
Aditya G Foller
Smith B Slusarski
Jefferson L Tollner
Maria W Nestle
Costa I Ruta
Sinclair H Tollner
IdCountryDate
1000Japan2024-06-10
1001Canada2024-06-07
1002Italy2024-05-23
1003Italy2024-06-14
1004Argentina2024-05-23
1005Japan2024-06-06
1006United Kingdom2024-06-15
1007Japan2024-05-25
1008Italy2024-06-14
1009Brazil2024-06-08
1010Australia2024-05-21
1011Italy2024-05-29
1012Brazil2024-06-12
1013Spain2024-06-04
1014Russia2024-05-29
1015Canada2024-06-02
1016Japan2024-05-26
1017Argentina2024-06-15
1018Brazil2024-05-23
1019Russia2024-05-27
1020Italy2024-06-03
1021Italy2024-06-13
1022Russia2024-06-10
1023India2024-05-29
1024Germany2024-05-20
1025Canada2024-06-08
1026Brazil2024-06-10
1027Australia2024-06-05
1028Argentina2024-05-30
1029Spain2024-05-26
1030Russia2024-06-16
1031Canada2024-06-11
1032Australia2024-06-17
1033Australia2024-05-29
1034Canada2024-05-22
1035Argentina2024-06-16
1036Australia2024-06-13
1037France2024-06-15
1038Brazil2024-05-22
1039Australia2024-05-28
1040Russia2024-05-27
1041Canada2024-06-18
1042Italy2024-05-28
1043Russia2024-05-26
1044France2024-06-16
1045Argentina2024-05-31
1046Japan2024-05-20
1047Germany2024-06-01
1048Canada2024-06-11
1049Argentina2024-06-05

On-Demand Data

NameIdCountryDate
Greenwood X Maclead1000India2024-06-18
Kaitlin P Albares1001Italy2024-05-27
Octavia F Maclead1002France2024-05-29
David H Malet1003Spain2024-06-15
Aditya V Briddick1004Brazil2024-05-21
Arvin H Paprocki1005Germany2024-06-17
Aruna E Chui1006Italy2024-05-24
Leja S Rulapaugh1007Brazil2024-05-25
Clifford H Foller1008Spain2024-05-31
Greenwood H Iturbide1009France2024-06-11
Rodrigues Y Flosi1010Australia2024-06-14
Adams L Rulapaugh1011India2024-05-27
Salvatore T Campain1012Argentina2024-05-24
Juan Y Flosi1013Canada2024-06-14
Jones K Oldroyd1014Brazil2024-06-04
Clifford F Caldarera1015India2024-06-18
Cody J Nestle1016Canada2024-06-07
Johnson S Kusko1017Germany2024-06-06
Adams T Maclead1018Brazil2024-05-29
Kadeem F Nestle1019United Kingdom2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki P MaletJapanElwin Sharvill QUALIFIED
James R BowleyIndiaAmy Elsner PROPOSAL
Aditya H InouyeArgentinaXuxue Feng NEW
Salvatore B BowleyBrazilBernardo Dominic RENEWAL
Mayumi N RimBrazilIvan Magalhaes NEW
Leon H GlickSpainIvan Magalhaes UNQUALIFIED
Salvatore P CampainItalyAmy Elsner NEGOTIATION
Nicolas H OstroskySpainXuxue Feng UNQUALIFIED
Claire P StensethCanadaBernardo Dominic PROPOSAL
Jeanfrancois J MaletFranceXuxue Feng NEW
Mayumi D RimRussiaElwin Sharvill UNQUALIFIED
Ivar V CampainCanadaElwin Sharvill QUALIFIED
Chavez S AlbaresAustraliaAnna Fali QUALIFIED
Munro T NickaCanadaXuxue Feng NEW
Julie K DilliardItalyAmy Elsner QUALIFIED
David T RimUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair A GarufiAustraliaAnna Fali NEW
Nicolas L CampainCanadaElwin Sharvill RENEWAL
Cody O BologniaJapanStephen Shaw UNQUALIFIED
Deepesh P FollerFranceStephen Shaw PROPOSAL
Mayumi X TollnerArgentinaAnna Fali NEGOTIATION
Alejandro H PoquetteCanadaElwin Sharvill UNQUALIFIED
James P StensethSpainAnna Fali NEW
Emily I MorascaBrazilBernardo Dominic PROPOSAL
Misaki X NestleItalyAnna Fali QUALIFIED
Julie U WaycottRussiaStephen Shaw RENEWAL
Salvatore T MaletFranceIvan Magalhaes NEGOTIATION
Ricardo A SergiFranceElwin Sharvill RENEWAL
Faith R SlusarskiJapanAmy Elsner QUALIFIED
David J PaprockiAustraliaIoni Bowcher NEGOTIATION
Mayumi W WaycottRussiaBernardo Dominic PROPOSAL
Antonio N MarrierGermanyOnyama Limba NEW
Darci Y RulapaughUnited KingdomXuxue Feng NEW
Stacey W PaprockiCanadaIvan Magalhaes RENEWAL
Nicolas L DarakjyItalyBernardo Dominic PROPOSAL
Juan P GarufiArgentinaIvan Magalhaes UNQUALIFIED
David P GarufiCanadaStephen Shaw UNQUALIFIED
Misaki V KuskoAustraliaAsiya Javayant NEGOTIATION
Tony Z CaudyJapanXuxue Feng QUALIFIED
Antonio R StensethUnited KingdomIvan Magalhaes 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>