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
Ashley L WieserIndiaIoni Bowcher NEW
Ashley U ShinkoArgentinaOnyama Limba NEGOTIATION
David F MaletItalyBernardo Dominic NEW
James H KolmetzGermanyStephen Shaw NEGOTIATION
Salvatore L RimItalyBernardo Dominic RENEWAL
Clifford F OldroydItalyAmy Elsner QUALIFIED
Maria V RulapaughFranceXuxue Feng QUALIFIED
Ivar F RoysterBrazilAsiya Javayant PROPOSAL
Sinclair T StensethBrazilXuxue Feng NEGOTIATION
Leja L NestleFranceAsiya Javayant UNQUALIFIED
Leja F GauchoRussiaAnna Fali PROPOSAL
Antonio H VenereArgentinaOnyama Limba UNQUALIFIED
Octavia A OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Clifford V KuskoUnited KingdomIvan Magalhaes NEGOTIATION
James X SchemmerBrazilIoni Bowcher NEW
Claire F FerenczIndiaIoni Bowcher PROPOSAL
Stacey Q RimGermanyElwin Sharvill UNQUALIFIED
Salvatore S FlosiBrazilAmy Elsner RENEWAL
Wickens Y MaletFranceAnna Fali UNQUALIFIED
Isabel U PerinRussiaOnyama Limba QUALIFIED
Greenwood W FlosiFranceAmy Elsner NEGOTIATION
Emily B GauchoFranceIvan Magalhaes QUALIFIED
Jones O PaprockiCanadaAnna Fali NEGOTIATION
Jennifer T MorascaUnited KingdomIvan Magalhaes RENEWAL
Jefferson D AlbaresJapanAmy Elsner NEW
Leja J RutaRussiaOnyama Limba QUALIFIED
Octavia H VocelkaUnited KingdomStephen Shaw NEW
Jeanfrancois R RoysterIndiaAnna Fali RENEWAL
Morrow C CaldareraItalyIvan Magalhaes QUALIFIED
James N MaletGermanyStephen Shaw RENEWAL
Wickens R SergiCanadaIvan Magalhaes NEGOTIATION
Arvin R IturbideIndiaElwin Sharvill UNQUALIFIED
Aditya V FlosiFranceIvan Magalhaes NEGOTIATION
Misaki G SaylorsJapanIvan Magalhaes RENEWAL
Rodrigues D GarufiAustraliaOnyama Limba PROPOSAL
Faith N KolmetzUnited KingdomStephen Shaw NEGOTIATION
Murillo E CaldareraItalyAsiya Javayant PROPOSAL
Julie J OldroydArgentinaIoni Bowcher PROPOSAL
Claire T MaletRussiaAsiya Javayant UNQUALIFIED
Aruna B RimJapanBernardo Dominic QUALIFIED
Clifford L IturbideCanadaIoni Bowcher RENEWAL
Nicolas Z ShinkoGermanyIoni Bowcher PROPOSAL
Claire G DoeUnited KingdomStephen Shaw QUALIFIED
Nicolas H SaylorsGermanyAmy Elsner UNQUALIFIED
Costa I RimItalyStephen Shaw NEW
Munro D OstroskyItalyOnyama Limba PROPOSAL
Aika E RimRussiaAnna Fali PROPOSAL
David A WaycottFranceAnna Fali PROPOSAL
Jennifer C BriddickJapanOnyama Limba UNQUALIFIED
David H BologniaJapanXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Maisha W RoysterAustraliaXuxue Feng QUALIFIED
Deepesh K ChuiGermanyIvan Magalhaes QUALIFIED
Mayumi S VocelkaUnited KingdomXuxue Feng NEW
Greenwood H NestleAustraliaIvan Magalhaes QUALIFIED
Johnson O SlusarskiBrazilElwin Sharvill NEGOTIATION
Octavia N DoeArgentinaIoni Bowcher NEW
Jones E KolmetzIndiaIoni Bowcher RENEWAL
Munro B CampainSpainIvan Magalhaes QUALIFIED
Jennifer G CaldareraItalyAsiya Javayant QUALIFIED
Isabel R MorascaFranceIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U FigeroaAustralia2025-05-25Buckley Miller Wright NEW87Ivan Magalhaes
1001Leja L GillianArgentina2025-06-05Chemel, James L Cpa RENEWAL28Xuxue Feng
1002Nicolas X StensethAustralia2025-06-03Buckley Miller Wright PROPOSAL74Ioni Bowcher
1003Chavez D MaletSpain2025-06-01Morlong Associates NEGOTIATION56Bernardo Dominic
1004Salvatore R RimJapan2025-06-14Printing Dimensions UNQUALIFIED62Elwin Sharvill
1005Leja O CaudySpain2025-06-06Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1006Cody C CampainJapan2025-05-31Chanay, Jeffrey A Esq NEW8Asiya Javayant
1007Aruna I NestleItaly2025-06-02Morlong Associates QUALIFIED41Anna Fali
1008Maisha W FollerArgentina2025-05-19Truhlar And Truhlar Attys QUALIFIED30Xuxue Feng
1009James J TollnerBrazil2025-05-19Printing Dimensions NEW25Amy Elsner
1010Emily R NickaUnited Kingdom2025-06-14Rousseaux, Michael Esq QUALIFIED90Elwin Sharvill
1011Costa Z NestleUnited Kingdom2025-05-29Dorl, James J Esq RENEWAL58Asiya Javayant
1012Isabel U VocelkaRussia2025-05-17Truhlar And Truhlar Attys RENEWAL96Bernardo Dominic
1013Darci R TollnerBrazil2025-05-19Benton, John B Jr RENEWAL5Ioni Bowcher
1014Leja U BologniaSpain2025-05-19Chapman, Ross E Esq NEGOTIATION27Asiya Javayant
1015Silvio H AmigonArgentina2025-05-30King, Christopher A Esq NEGOTIATION7Anna Fali
1016Emily O SlusarskiFrance2025-06-10Rousseaux, Michael Esq PROPOSAL61Bernardo Dominic
1017James B VocelkaUnited Kingdom2025-06-06Feltz Printing Service PROPOSAL19Ivan Magalhaes
1018Deepesh F OstroskyIndia2025-06-13Rousseaux, Michael Esq QUALIFIED24Xuxue Feng
1019Faith P SergiUnited Kingdom2025-06-05Commercial Press QUALIFIED32Xuxue Feng
1020Salvatore Y FollerItaly2025-05-22Rousseaux, Michael Esq NEGOTIATION62Bernardo Dominic
1021Smith B WaycottIndia2025-06-10Commercial Press NEGOTIATION52Elwin Sharvill
1022Smith E ShinkoItaly2025-06-13King, Christopher A Esq UNQUALIFIED66Asiya Javayant
1023Silvio W ShinkoRussia2025-05-29Truhlar And Truhlar Attys PROPOSAL27Xuxue Feng
1024David K MorascaItaly2025-05-27Chanay, Jeffrey A Esq NEGOTIATION38Bernardo Dominic
1025Wickens Q PoquetteFrance2025-05-24Chemel, James L Cpa QUALIFIED27Asiya Javayant
1026Deepesh V KuskoItaly2025-06-12Truhlar And Truhlar Attys RENEWAL88Stephen Shaw
1027James Z ChuiIndia2025-06-06Printing Dimensions NEGOTIATION70Xuxue Feng
1028Leon C KolmetzCanada2025-06-10Printing Dimensions UNQUALIFIED93Xuxue Feng
1029Francesco T FerenczRussia2025-06-12Feiner Bros UNQUALIFIED10Bernardo Dominic
1030Maria D GlickUnited Kingdom2025-06-06Rousseaux, Michael Esq PROPOSAL44Elwin Sharvill
1031Mujtaba S StensethIndia2025-06-09King, Christopher A Esq UNQUALIFIED41Elwin Sharvill
1032Leja E VocelkaFrance2025-06-08Chapman, Ross E Esq QUALIFIED9Bernardo Dominic
1033Aditya Y MacleadGermany2025-05-24Buckley Miller Wright QUALIFIED49Xuxue Feng
1034Kadeem R DoeArgentina2025-05-22Chanay, Jeffrey A Esq UNQUALIFIED9Bernardo Dominic
1035Nicolas G StensethGermany2025-05-27Commercial Press PROPOSAL76Elwin Sharvill
1036Munro L ChuiFrance2025-06-11Rangoni Of Florence UNQUALIFIED29Bernardo Dominic
1037Jennifer U WieserUnited Kingdom2025-05-29Benton, John B Jr UNQUALIFIED9Elwin Sharvill
1038Claire G SaylorsGermany2025-05-21Truhlar And Truhlar Attys NEW22Onyama Limba
1039Jeanfrancois W ChuiJapan2025-05-16Chanay, Jeffrey A Esq RENEWAL74Elwin Sharvill
1040Greenwood U IturbideGermany2025-05-24Buckley Miller Wright PROPOSAL94Bernardo Dominic
1041Greenwood C InouyeIndia2025-05-18Rangoni Of Florence NEW64Stephen Shaw
1042Jeanfrancois U DoeCanada2025-05-21Chapman, Ross E Esq NEGOTIATION66Ioni Bowcher
1043Claire N WieserRussia2025-05-22Feiner Bros UNQUALIFIED90Elwin Sharvill
1044Ashley Z KolmetzFrance2025-05-17Commercial Press RENEWAL95Stephen Shaw
1045Ivar M PaprockiAustralia2025-06-05Printing Dimensions NEW30Bernardo Dominic
1046Aika Y PaprockiSpain2025-05-17Benton, John B Jr UNQUALIFIED76Amy Elsner
1047Emily M GlickFrance2025-06-06Morlong Associates QUALIFIED27Anna Fali
1048Stacey A BowleyIndia2025-06-10Rangoni Of Florence UNQUALIFIED58Bernardo Dominic
1049Aditya E WaycottCanada2025-06-04Chemel, James L Cpa RENEWAL61Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Sinclair S SaylorsItalyXuxue Feng RENEWAL
Aruna K VenereFranceAmy Elsner QUALIFIED
Smith N FerenczUnited KingdomAnna Fali RENEWAL
Isabel G BologniaUnited KingdomAmy Elsner NEW
Jennifer J GarufiUnited KingdomAsiya Javayant NEW
Leon V WieserBrazilXuxue Feng UNQUALIFIED
Juan A KuskoGermanyStephen Shaw UNQUALIFIED
Francesco C AlbaresCanadaStephen Shaw QUALIFIED
Ricardo U ChuiIndiaIvan Magalhaes NEW
Leja S CampainJapanElwin Sharvill PROPOSAL
Claire Q NickaCanadaAmy Elsner NEGOTIATION
Misaki B GarufiCanadaAnna Fali RENEWAL
Murillo M PaprockiRussiaXuxue Feng UNQUALIFIED
Ashley B GarufiBrazilIoni Bowcher PROPOSAL
Johnson C PaprockiItalyAmy Elsner RENEWAL
Aika X VenereGermanyXuxue Feng QUALIFIED
Costa S IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Wickens Q MorascaJapanIvan Magalhaes PROPOSAL
James R KolmetzGermanyAmy Elsner QUALIFIED
Ivar T BowleyAustraliaAmy Elsner PROPOSAL
Aruna W KolmetzJapanIvan Magalhaes QUALIFIED
Octavia H VocelkaUnited KingdomStephen Shaw RENEWAL
Arvin L BologniaArgentinaIvan Magalhaes PROPOSAL
Alejandro E BologniaArgentinaIvan Magalhaes UNQUALIFIED
Wickens N BriddickAustraliaAmy Elsner RENEWAL
Leja P IturbideJapanElwin Sharvill NEW
David U StockhamJapanOnyama Limba RENEWAL
Cody I ChuiAustraliaIoni Bowcher NEGOTIATION
Clifford W BriddickBrazilOnyama Limba RENEWAL
Maria O FlosiJapanIvan Magalhaes QUALIFIED
Izzy J MorascaSpainIvan Magalhaes RENEWAL
David U StensethAustraliaStephen Shaw NEW
Morrow J FlosiRussiaAsiya Javayant UNQUALIFIED
Costa A KolmetzBrazilXuxue Feng QUALIFIED
Aditya U ButtUnited KingdomBernardo Dominic QUALIFIED
Julie R RimUnited KingdomIvan Magalhaes NEW
Cody E RulapaughCanadaAsiya Javayant NEGOTIATION
Aditya B CampainItalyXuxue Feng UNQUALIFIED
Johnson I DarakjyAustraliaIoni Bowcher NEW
Misaki E WaycottGermanyStephen Shaw RENEWAL
Ashley V GarufiSpainElwin Sharvill RENEWAL
Claire C PerinAustraliaXuxue Feng NEGOTIATION
Alejandro R WhobreyItalyIvan Magalhaes NEGOTIATION
Costa X PerinFranceStephen Shaw NEGOTIATION
Smith C FigeroaSpainXuxue Feng UNQUALIFIED
Darci H ChuiGermanyElwin Sharvill RENEWAL
Leja Z ChuiSpainStephen Shaw RENEWAL
Juan D RoysterUnited KingdomIvan Magalhaes RENEWAL
Emily U BriddickItalyOnyama Limba QUALIFIED
Costa I WaycottBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
Chavez B Campain
Octavia C Sergi
Ricardo N Campain
Kaitlin Z Glick
Juan O Doe
Jeanfrancois U Amigon
Alejandro W Kolmetz
Faith Q Perin
Jones N Malet
Tony T Caudy
Stacey O Malet
Tony L Kusko
Aditya L Paprocki
Costa X Ostrosky
Maria W Whobrey
Izzy X Figeroa
Jefferson K Wieser
Aruna O Glick
Costa H Caudy
Salvatore E Schemmer
Jones A Nestle
Tony X Kolmetz
Sinclair H Royster
Darci V Bowley
Jefferson M Flosi
Johnson L Vocelka
Aika D Inouye
Clifford K Wieser
Clifford L Saylors
Rodrigues P Gaucho
Mujtaba G Rulapaugh
Sinclair Q Venere
Claire W Darakjy
Murillo P Malet
David Z Whobrey
Munro R Maclead
Cody G Figeroa
Faith B Figeroa
Mayumi H Schemmer
Murillo C Vocelka
Mayumi F Ostrosky
Izzy S Butt
Ivar M Figeroa
Ivar N Inouye
Mayumi M Maclead
Salvatore X Darakjy
Mujtaba U Caldarera
Leja Z Rulapaugh
Darci L Flosi
Johnson B Schemmer
IdCountryDate
1000Australia2025-05-28
1001Brazil2025-06-08
1002Argentina2025-06-13
1003Argentina2025-06-02
1004Argentina2025-06-08
1005Germany2025-05-24
1006Russia2025-05-31
1007Italy2025-06-10
1008Australia2025-06-03
1009Canada2025-05-20
1010France2025-06-14
1011Italy2025-06-10
1012Canada2025-06-08
1013United Kingdom2025-05-24
1014Japan2025-05-19
1015Canada2025-05-16
1016Canada2025-06-12
1017United Kingdom2025-06-06
1018Canada2025-06-06
1019India2025-05-23
1020Canada2025-05-31
1021United Kingdom2025-05-18
1022Russia2025-05-27
1023France2025-06-05
1024Brazil2025-05-21
1025India2025-05-19
1026Brazil2025-06-09
1027Italy2025-05-26
1028France2025-06-11
1029Japan2025-06-09
1030Italy2025-05-31
1031India2025-06-07
1032Germany2025-06-06
1033Japan2025-05-28
1034Japan2025-05-20
1035Italy2025-05-19
1036Japan2025-05-26
1037Italy2025-06-14
1038India2025-05-16
1039Argentina2025-05-31
1040Brazil2025-06-03
1041India2025-05-23
1042India2025-06-08
1043Canada2025-06-08
1044Germany2025-05-17
1045Germany2025-05-19
1046United Kingdom2025-05-25
1047Argentina2025-05-19
1048Australia2025-05-25
1049Spain2025-06-09

On-Demand Data

NameIdCountryDate
Silvio I Tollner1000Canada2025-06-02
Aditya R Glick1001France2025-05-18
Isabel D Rulapaugh1002Argentina2025-06-10
Julie U Darakjy1003Australia2025-05-28
Leja X Briddick1004Spain2025-05-24
Darci R Iturbide1005Japan2025-06-06
Tony P Figeroa1006Canada2025-06-02
James U Oldroyd1007Italy2025-05-21
Stacey A Shinko1008Germany2025-05-22
Mujtaba D Shinko1009Brazil2025-06-06
Chavez C Caldarera1010Brazil2025-05-29
Izzy U Slusarski1011Italy2025-06-10
Darci R Flosi1012Russia2025-05-19
Stacey P Nicka1013India2025-05-21
Claire U Gaucho1014Japan2025-05-28
Antonio U Ostrosky1015Argentina2025-05-28
Stacey P Morasca1016Australia2025-05-29
Julie G Ostrosky1017United Kingdom2025-06-08
Nicolas G Amigon1018Spain2025-05-23
Morrow Z Sergi1019Russia2025-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer W BologniaGermanyOnyama Limba RENEWAL
Octavia I SchemmerRussiaAnna Fali PROPOSAL
Jefferson N NestleIndiaAnna Fali PROPOSAL
Murillo C VenereFranceAnna Fali UNQUALIFIED
Murillo Q FlosiSpainStephen Shaw PROPOSAL
David H VenereItalyBernardo Dominic UNQUALIFIED
Silvio Y BriddickJapanIvan Magalhaes NEGOTIATION
Chavez H BriddickUnited KingdomIvan Magalhaes RENEWAL
Claire M MaletIndiaStephen Shaw PROPOSAL
Jennifer I IturbideJapanElwin Sharvill NEGOTIATION
Arvin F GarufiRussiaAnna Fali UNQUALIFIED
Maisha B BriddickRussiaStephen Shaw UNQUALIFIED
James C PerinSpainAnna Fali PROPOSAL
Cody U OldroydBrazilAnna Fali PROPOSAL
Julie C OldroydFranceAnna Fali PROPOSAL
David Z DarakjyItalyAmy Elsner PROPOSAL
Stacey L FerenczJapanAsiya Javayant NEW
Jennifer Q MorascaArgentinaBernardo Dominic QUALIFIED
Darci P NestleFranceElwin Sharvill UNQUALIFIED
Jennifer T GarufiBrazilStephen Shaw QUALIFIED
Silvio J PaprockiArgentinaBernardo Dominic NEGOTIATION
Kaitlin Y AlbaresArgentinaStephen Shaw PROPOSAL
Ricardo F PerinUnited KingdomElwin Sharvill QUALIFIED
Munro P RoysterIndiaIvan Magalhaes NEGOTIATION
Ivar A PerinIndiaIvan Magalhaes NEW
Leja B WieserItalyOnyama Limba RENEWAL
Emily R RimCanadaXuxue Feng RENEWAL
Leja Z TollnerUnited KingdomIvan Magalhaes QUALIFIED
Chavez K GarufiArgentinaIvan Magalhaes NEGOTIATION
Deepesh J SaylorsCanadaAmy Elsner UNQUALIFIED
Jefferson K AmigonGermanyBernardo Dominic RENEWAL
Izzy G CaldareraGermanyBernardo Dominic UNQUALIFIED
Julie I AmigonIndiaAnna Fali NEGOTIATION
Jeanfrancois T TollnerAustraliaAnna Fali NEW
Leja O VocelkaItalyStephen Shaw QUALIFIED
Misaki F InouyeIndiaElwin Sharvill RENEWAL
Aditya D GarufiIndiaBernardo Dominic PROPOSAL
Leon G RulapaughJapanXuxue Feng RENEWAL
Chavez T VocelkaBrazilElwin Sharvill NEW
Aditya Q GlickIndiaBernardo Dominic RENEWAL

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