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 B NestleIndiaOnyama Limba NEW
Kaitlin W InouyeSpainAmy Elsner NEGOTIATION
Kadeem W NickaRussiaIoni Bowcher NEW
Stacey J SlusarskiIndiaElwin Sharvill NEGOTIATION
Wickens P IturbideArgentinaStephen Shaw NEGOTIATION
Morrow N NestleCanadaXuxue Feng PROPOSAL
Izzy K PoquetteBrazilStephen Shaw QUALIFIED
Tony F AmigonArgentinaIoni Bowcher RENEWAL
Kadeem O RutaAustraliaAmy Elsner QUALIFIED
Faith R KolmetzRussiaIoni Bowcher UNQUALIFIED
Clifford N AlbaresGermanyStephen Shaw NEW
Antonio Z AmigonJapanAnna Fali RENEWAL
Julie O StensethRussiaOnyama Limba PROPOSAL
Arvin Z PoquetteFranceXuxue Feng PROPOSAL
Jeanfrancois V MaletIndiaXuxue Feng RENEWAL
Leon M SlusarskiBrazilBernardo Dominic RENEWAL
Jeanfrancois I SergiGermanyAsiya Javayant NEGOTIATION
Nicolas P KolmetzCanadaStephen Shaw UNQUALIFIED
Kadeem S AmigonItalyStephen Shaw UNQUALIFIED
Costa Z OstroskyRussiaIvan Magalhaes NEGOTIATION
Mayumi E RutaItalyAnna Fali PROPOSAL
Misaki Y GlickArgentinaAmy Elsner PROPOSAL
Aruna J DoeItalyXuxue Feng QUALIFIED
Adams U SaylorsGermanyOnyama Limba RENEWAL
Emily P RoysterItalyStephen Shaw QUALIFIED
Aika T SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Leon O GlickAustraliaIoni Bowcher QUALIFIED
Maisha J GarufiRussiaOnyama Limba PROPOSAL
Jefferson V DarakjyArgentinaStephen Shaw NEW
Octavia Y SlusarskiRussiaAsiya Javayant UNQUALIFIED
Emily R StockhamSpainOnyama Limba QUALIFIED
Claire J AlbaresArgentinaAmy Elsner QUALIFIED
Alejandro J SchemmerGermanyAsiya Javayant UNQUALIFIED
Kaitlin U DilliardArgentinaOnyama Limba PROPOSAL
Mayumi U WaycottIndiaBernardo Dominic NEW
Smith N VenereRussiaStephen Shaw NEW
Adams M AlbaresBrazilStephen Shaw NEW
Adams O GillianArgentinaXuxue Feng NEW
Francesco M StockhamSpainElwin Sharvill NEGOTIATION
Misaki X MorascaBrazilElwin Sharvill PROPOSAL
Silvio Q CaudyArgentinaXuxue Feng NEGOTIATION
Johnson S DarakjyCanadaElwin Sharvill UNQUALIFIED
Alejandro K AmigonArgentinaElwin Sharvill QUALIFIED
Smith O PoquetteArgentinaIoni Bowcher RENEWAL
Ivar F RutaGermanyAnna Fali QUALIFIED
Jefferson F FollerFranceBernardo Dominic NEGOTIATION
Deepesh Z StensethUnited KingdomStephen Shaw NEW
Greenwood T ShinkoItalyBernardo Dominic RENEWAL
Faith I BriddickArgentinaIvan Magalhaes QUALIFIED
Leja K StensethCanadaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow F CampainFranceBernardo Dominic QUALIFIED
David O RutaBrazilIvan Magalhaes PROPOSAL
Wickens K RulapaughRussiaAnna Fali QUALIFIED
Silvio D SaylorsGermanyIvan Magalhaes UNQUALIFIED
Mayumi Q GauchoBrazilIvan Magalhaes UNQUALIFIED
Leon U PerinBrazilIvan Magalhaes RENEWAL
Nicolas U MaletArgentinaAmy Elsner PROPOSAL
Salvatore Y SaylorsSpainIoni Bowcher PROPOSAL
Jennifer X SchemmerArgentinaBernardo Dominic QUALIFIED
Chavez N WhobreyIndiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio S GarufiUnited Kingdom2025-04-13Chanay, Jeffrey A Esq NEGOTIATION33Stephen Shaw
1001Mujtaba H OstroskyFrance2025-04-07King, Christopher A Esq UNQUALIFIED21Xuxue Feng
1002Leon Z CampainFrance2025-04-08Printing Dimensions NEW53Asiya Javayant
1003Aika C PaprockiIndia2025-04-22Rangoni Of Florence UNQUALIFIED49Asiya Javayant
1004Aruna P SchemmerUnited Kingdom2025-04-06Rousseaux, Michael Esq UNQUALIFIED7Bernardo Dominic
1005Ivar K KuskoUnited Kingdom2025-04-11Chanay, Jeffrey A Esq QUALIFIED49Ioni Bowcher
1006Alejandro W WieserArgentina2025-04-14Feiner Bros NEGOTIATION38Bernardo Dominic
1007Julie F MaletGermany2025-04-11Feiner Bros NEGOTIATION63Bernardo Dominic
1008Alejandro V CaldareraSpain2025-04-02Morlong Associates RENEWAL75Xuxue Feng
1009Rodrigues Z GillianRussia2025-04-27Rousseaux, Michael Esq RENEWAL70Stephen Shaw
1010Izzy Q MaletRussia2025-04-05Feltz Printing Service UNQUALIFIED20Ivan Magalhaes
1011Clifford L IturbideBrazil2025-04-17Printing Dimensions PROPOSAL73Onyama Limba
1012Wickens G StensethBrazil2025-04-22Dorl, James J Esq RENEWAL47Onyama Limba
1013Francesco P ChuiArgentina2025-04-26Dorl, James J Esq PROPOSAL92Bernardo Dominic
1014Kadeem S GarufiAustralia2025-04-21Rousseaux, Michael Esq NEGOTIATION77Onyama Limba
1015Wickens W TollnerCanada2025-04-03Feiner Bros NEGOTIATION98Xuxue Feng
1016Aika J StockhamArgentina2025-04-02Commercial Press NEW39Amy Elsner
1017Greenwood K MaletJapan2025-04-28Morlong Associates PROPOSAL64Xuxue Feng
1018Silvio W InouyeArgentina2025-04-30Rousseaux, Michael Esq PROPOSAL64Xuxue Feng
1019Chavez J WieserJapan2025-04-13Chapman, Ross E Esq NEW91Amy Elsner
1020Antonio J MaletCanada2025-04-22Chemel, James L Cpa QUALIFIED59Stephen Shaw
1021Morrow V MacleadBrazil2025-04-26Commercial Press QUALIFIED12Amy Elsner
1022Adams F TollnerJapan2025-04-15Commercial Press NEW98Ivan Magalhaes
1023Aditya X GarufiFrance2025-04-02Benton, John B Jr PROPOSAL90Amy Elsner
1024Smith I ShinkoArgentina2025-04-09Truhlar And Truhlar Attys QUALIFIED73Ivan Magalhaes
1025Salvatore W KolmetzItaly2025-04-05Chanay, Jeffrey A Esq NEGOTIATION46Xuxue Feng
1026Emily I RimArgentina2025-04-12Truhlar And Truhlar Attys NEGOTIATION6Bernardo Dominic
1027Aruna Z NestleItaly2025-04-05Dorl, James J Esq NEGOTIATION68Bernardo Dominic
1028Leon K StensethBrazil2025-04-06Feltz Printing Service PROPOSAL77Elwin Sharvill
1029Munro E FlosiJapan2025-04-03Feltz Printing Service RENEWAL63Ioni Bowcher
1030Isabel N PaprockiItaly2025-04-03Chemel, James L Cpa NEW38Asiya Javayant
1031Chavez W FerenczBrazil2025-04-13King, Christopher A Esq UNQUALIFIED56Onyama Limba
1032Mayumi F OstroskyCanada2025-04-05Buckley Miller Wright NEW28Anna Fali
1033Cody M VenereJapan2025-04-18Benton, John B Jr QUALIFIED23Ivan Magalhaes
1034Aruna R CaudyIndia2025-04-07Rousseaux, Michael Esq PROPOSAL8Asiya Javayant
1035Johnson Z MaletGermany2025-04-13Feltz Printing Service NEGOTIATION88Xuxue Feng
1036Sinclair X RoysterCanada2025-04-08Chapman, Ross E Esq RENEWAL67Elwin Sharvill
1037Stacey P FlosiArgentina2025-04-04Chanay, Jeffrey A Esq QUALIFIED62Amy Elsner
1038Ricardo Y VocelkaCanada2025-04-03Chemel, James L Cpa NEGOTIATION14Asiya Javayant
1039Jennifer X FigeroaUnited Kingdom2025-04-07King, Christopher A Esq RENEWAL78Onyama Limba
1040Greenwood Z AmigonArgentina2025-04-19Commercial Press QUALIFIED56Asiya Javayant
1041Ashley C InouyeJapan2025-04-19Feltz Printing Service NEW0Asiya Javayant
1042Johnson N StockhamBrazil2025-04-29Morlong Associates RENEWAL22Ivan Magalhaes
1043Costa K OstroskyJapan2025-04-13Chemel, James L Cpa PROPOSAL20Onyama Limba
1044Izzy X RutaCanada2025-04-21Rousseaux, Michael Esq NEW26Bernardo Dominic
1045Cody T IturbideGermany2025-04-04Chemel, James L Cpa NEGOTIATION48Stephen Shaw
1046Juan S WieserJapan2025-04-19Dorl, James J Esq UNQUALIFIED60Stephen Shaw
1047Alejandro V GlickIndia2025-04-16Feiner Bros NEW15Ivan Magalhaes
1048Leja G FlosiGermany2025-04-12Morlong Associates QUALIFIED25Amy Elsner
1049Johnson O WieserSpain2025-04-21Rousseaux, Michael Esq NEGOTIATION85Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba Z FigeroaJapanIvan Magalhaes PROPOSAL
Maria K CaldareraJapanStephen Shaw QUALIFIED
Emily X KuskoIndiaStephen Shaw NEGOTIATION
Chavez X GarufiAustraliaXuxue Feng RENEWAL
Julie F RulapaughJapanIoni Bowcher RENEWAL
Munro F FigeroaItalyElwin Sharvill PROPOSAL
Murillo Y TollnerIndiaXuxue Feng NEW
Johnson Y VocelkaFranceAnna Fali NEGOTIATION
Sinclair U BowleyFranceIvan Magalhaes NEGOTIATION
Deepesh U ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Maria G OldroydRussiaIoni Bowcher UNQUALIFIED
Mujtaba Y PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Jefferson P ChuiSpainIoni Bowcher UNQUALIFIED
Cody Z OstroskyGermanyBernardo Dominic NEGOTIATION
Jefferson L CaldareraRussiaAmy Elsner UNQUALIFIED
Maria L OstroskyBrazilAmy Elsner NEW
Darci D VenereAustraliaAnna Fali UNQUALIFIED
Claire U WhobreyJapanIvan Magalhaes UNQUALIFIED
Clifford G GillianBrazilAnna Fali QUALIFIED
Claire D GarufiIndiaBernardo Dominic QUALIFIED
Isabel V RutaArgentinaBernardo Dominic QUALIFIED
Kadeem Z PerinJapanIoni Bowcher UNQUALIFIED
Jennifer V GarufiUnited KingdomStephen Shaw NEW
David Z WieserSpainIoni Bowcher RENEWAL
Adams L ChuiJapanElwin Sharvill QUALIFIED
Rodrigues E StockhamBrazilStephen Shaw UNQUALIFIED
Adams R RimAustraliaAnna Fali PROPOSAL
Aika V NestleCanadaOnyama Limba PROPOSAL
Maisha Q FigeroaArgentinaIvan Magalhaes PROPOSAL
Misaki P GillianSpainAsiya Javayant UNQUALIFIED
Wickens W GauchoRussiaAmy Elsner QUALIFIED
Julie A MacleadAustraliaIvan Magalhaes RENEWAL
Izzy D GlickSpainIoni Bowcher NEGOTIATION
Ricardo I TollnerCanadaStephen Shaw NEW
Mujtaba P OstroskyFranceXuxue Feng QUALIFIED
Julie P RimItalyXuxue Feng RENEWAL
Cody P MarrierArgentinaIoni Bowcher NEGOTIATION
Aika B BowleyArgentinaIvan Magalhaes RENEWAL
Ricardo B ButtSpainOnyama Limba PROPOSAL
Kaitlin R MacleadCanadaStephen Shaw NEW
Wickens F CaldareraCanadaAsiya Javayant NEGOTIATION
Johnson T FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Jones A GlickBrazilIoni Bowcher QUALIFIED
Tony W DilliardArgentinaStephen Shaw NEW
Morrow B WieserCanadaXuxue Feng NEW
Octavia Q StockhamIndiaIoni Bowcher PROPOSAL
Chavez I AlbaresRussiaXuxue Feng UNQUALIFIED
James R StensethJapanIvan Magalhaes UNQUALIFIED
Aditya V RulapaughItalyElwin Sharvill PROPOSAL
Antonio I SergiSpainIvan Magalhaes NEW
Frozen Columns
Name
Wickens N Waycott
Faith S Garufi
Sinclair E Wieser
Deepesh T Poquette
Leja E Saylors
Mayumi I Amigon
Aruna L Maclead
Aditya Z Iturbide
Nicolas C Royster
Leon L Oldroyd
Murillo J Bowley
Alejandro C Schemmer
Cody K Ostrosky
Francesco A Albares
Aika Q Stenseth
Smith S Nestle
Darci D Kolmetz
Arvin Z Stockham
Leon Q Garufi
Leja V Dilliard
Ricardo E Stenseth
Maria G Morasca
Aika Q Amigon
Ricardo L Poquette
Ashley F Foller
Misaki Y Amigon
Faith B Royster
Izzy N Campain
Faith S Figeroa
Silvio G Vocelka
Cody Z Waycott
Aika K Kusko
Arvin R Sergi
Tony G Nicka
Morrow Y Ruta
Greenwood V Caldarera
Rodrigues D Kusko
Misaki O Flosi
Ricardo N Iturbide
Maisha T Chui
David X Glick
Emily P Briddick
Antonio N Figeroa
Kadeem X Glick
James U Stockham
Aditya D Figeroa
Johnson W Ferencz
Costa S Briddick
Misaki A Rim
Maria Z Caudy
IdCountryDate
1000Argentina2025-04-04
1001Argentina2025-04-28
1002Argentina2025-04-28
1003Russia2025-04-01
1004Canada2025-04-29
1005United Kingdom2025-04-09
1006Spain2025-04-03
1007United Kingdom2025-04-06
1008Canada2025-04-19
1009Spain2025-04-06
1010Spain2025-04-28
1011Germany2025-04-17
1012Brazil2025-04-28
1013Germany2025-04-17
1014Italy2025-04-17
1015Canada2025-04-27
1016India2025-04-04
1017Spain2025-04-28
1018Germany2025-04-25
1019Canada2025-04-17
1020Italy2025-04-24
1021Italy2025-04-03
1022Argentina2025-04-12
1023Germany2025-04-29
1024Australia2025-04-19
1025Argentina2025-04-07
1026Spain2025-04-26
1027Germany2025-04-13
1028India2025-04-01
1029Canada2025-04-26
1030United Kingdom2025-04-05
1031Japan2025-04-09
1032Russia2025-04-07
1033Russia2025-04-29
1034Italy2025-04-28
1035Spain2025-04-28
1036Brazil2025-04-19
1037Russia2025-04-21
1038Canada2025-04-08
1039Japan2025-04-27
1040Japan2025-04-03
1041India2025-04-09
1042Germany2025-04-09
1043United Kingdom2025-04-05
1044Spain2025-04-02
1045Germany2025-04-22
1046Brazil2025-04-13
1047United Kingdom2025-04-03
1048France2025-04-04
1049Argentina2025-04-22

On-Demand Data

NameIdCountryDate
Arvin E Ostrosky1000Japan2025-04-06
Deepesh G Flosi1001Germany2025-04-21
Silvio D Amigon1002India2025-04-14
Maisha H Flosi1003Spain2025-04-21
Isabel B Albares1004Spain2025-04-01
Octavia M Kusko1005India2025-04-08
Costa L Perin1006United Kingdom2025-04-16
Sinclair P Chui1007Canada2025-04-07
Greenwood T Butt1008Italy2025-04-07
Morrow U Paprocki1009France2025-04-16
Greenwood B Garufi1010Japan2025-04-13
Cody B Campain1011France2025-04-20
Ashley W Morasca1012India2025-04-15
Greenwood U Rulapaugh1013India2025-04-22
Murillo O Briddick1014France2025-04-26
Smith G Butt1015Germany2025-04-16
Arvin M Figeroa1016Brazil2025-04-12
Chavez J Dilliard1017France2025-04-11
Ivar I Darakjy1018Spain2025-04-17
Mayumi W Bolognia1019United Kingdom2025-04-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh T RimGermanyOnyama Limba PROPOSAL
Leon N MorascaBrazilBernardo Dominic RENEWAL
Antonio G IturbideCanadaAnna Fali PROPOSAL
Francesco S InouyeRussiaOnyama Limba NEGOTIATION
Rodrigues Q IturbideCanadaAsiya Javayant PROPOSAL
Greenwood V OstroskyFranceXuxue Feng PROPOSAL
Julie C DarakjyArgentinaIoni Bowcher RENEWAL
Stacey I MaletArgentinaBernardo Dominic RENEWAL
Stacey V ShinkoAustraliaStephen Shaw RENEWAL
Claire K MacleadIndiaAsiya Javayant NEW
Adams M FerenczBrazilStephen Shaw UNQUALIFIED
Aika D PaprockiCanadaAnna Fali RENEWAL
Deepesh D CampainJapanElwin Sharvill NEW
Mujtaba G PoquetteFranceAmy Elsner RENEWAL
Wickens N VenereAustraliaAnna Fali QUALIFIED
Chavez D GillianAustraliaOnyama Limba UNQUALIFIED
Jennifer X DarakjyBrazilBernardo Dominic UNQUALIFIED
Clifford O VocelkaItalyAnna Fali NEW
Aika B GarufiItalyElwin Sharvill NEGOTIATION
Francesco G MaletFranceAsiya Javayant UNQUALIFIED
Jeanfrancois J PerinBrazilIvan Magalhaes NEGOTIATION
Alejandro G DilliardItalyStephen Shaw UNQUALIFIED
David W FollerIndiaIoni Bowcher UNQUALIFIED
Julie T OstroskyIndiaIvan Magalhaes PROPOSAL
Kaitlin Y RimJapanIoni Bowcher NEW
Adams Z AlbaresUnited KingdomIvan Magalhaes RENEWAL
Mayumi V GauchoArgentinaIoni Bowcher UNQUALIFIED
Misaki S OstroskyArgentinaAsiya Javayant UNQUALIFIED
Aika O KolmetzRussiaIvan Magalhaes NEW
Jones I MorascaIndiaStephen Shaw NEW
David I DilliardAustraliaIvan Magalhaes UNQUALIFIED
Chavez K KolmetzGermanyOnyama Limba RENEWAL
Smith V TollnerAustraliaAnna Fali RENEWAL
Maria N RutaItalyElwin Sharvill NEGOTIATION
Jennifer O MorascaFranceBernardo Dominic UNQUALIFIED
Isabel G AlbaresRussiaElwin Sharvill UNQUALIFIED
Ashley J MacleadItalyBernardo Dominic PROPOSAL
Ricardo H OldroydItalyBernardo Dominic PROPOSAL
James S PerinJapanBernardo Dominic QUALIFIED
Wickens T AlbaresRussiaElwin Sharvill NEGOTIATION

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