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
Isabel E VocelkaSpainIoni Bowcher NEW
Mayumi V OstroskyJapanOnyama Limba PROPOSAL
Cody T OstroskySpainAnna Fali NEGOTIATION
Jeanfrancois W TollnerBrazilIoni Bowcher PROPOSAL
Smith G FlosiUnited KingdomIoni Bowcher QUALIFIED
Juan B NestleJapanAnna Fali PROPOSAL
Morrow D GauchoFranceBernardo Dominic UNQUALIFIED
Costa K GarufiItalyElwin Sharvill PROPOSAL
Munro C DoeBrazilIoni Bowcher RENEWAL
Nicolas E VenereGermanyBernardo Dominic UNQUALIFIED
Greenwood R VocelkaFranceStephen Shaw QUALIFIED
Octavia P CaldareraBrazilElwin Sharvill NEW
Aruna J GarufiBrazilIoni Bowcher QUALIFIED
Julie V DarakjySpainAnna Fali NEGOTIATION
Stacey B FerenczRussiaBernardo Dominic NEW
Alejandro J FollerItalyIoni Bowcher PROPOSAL
Jeanfrancois R WaycottSpainAsiya Javayant QUALIFIED
Kadeem W OstroskyBrazilOnyama Limba NEGOTIATION
Alejandro L MorascaSpainXuxue Feng PROPOSAL
Arvin G DarakjyFranceElwin Sharvill NEGOTIATION
Faith V PerinGermanyXuxue Feng RENEWAL
Arvin O StockhamArgentinaAsiya Javayant QUALIFIED
Morrow X FollerGermanyElwin Sharvill QUALIFIED
Maisha M IturbideItalyIvan Magalhaes RENEWAL
Misaki H PoquetteUnited KingdomStephen Shaw QUALIFIED
Deepesh C GauchoGermanyBernardo Dominic NEGOTIATION
Maria I IturbideAustraliaAsiya Javayant QUALIFIED
Sinclair M AlbaresJapanIvan Magalhaes QUALIFIED
Jones V TollnerGermanyAsiya Javayant PROPOSAL
Aika Z TollnerIndiaAmy Elsner QUALIFIED
Munro Y OstroskyRussiaIvan Magalhaes PROPOSAL
David Z WhobreyRussiaXuxue Feng NEGOTIATION
Salvatore F TollnerIndiaXuxue Feng RENEWAL
Ivar Y OldroydCanadaElwin Sharvill NEGOTIATION
Alejandro W BriddickFranceAnna Fali QUALIFIED
Aruna Q ChuiArgentinaIvan Magalhaes QUALIFIED
Murillo X GlickUnited KingdomXuxue Feng UNQUALIFIED
Arvin F FlosiArgentinaAmy Elsner NEGOTIATION
Adams Q SlusarskiArgentinaOnyama Limba QUALIFIED
Aditya G ButtBrazilXuxue Feng NEGOTIATION
Arvin O BowleyItalyAnna Fali NEW
Jeanfrancois P WaycottIndiaElwin Sharvill NEW
Octavia M PaprockiCanadaElwin Sharvill RENEWAL
Leja N FollerAustraliaOnyama Limba QUALIFIED
Chavez I MorascaArgentinaStephen Shaw QUALIFIED
Aika R RimCanadaAsiya Javayant RENEWAL
Silvio G IturbideItalyAmy Elsner UNQUALIFIED
Tony U DilliardJapanAmy Elsner PROPOSAL
Mujtaba P KolmetzCanadaAnna Fali NEW
Claire C StensethAustraliaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair A MaletIndiaAmy Elsner UNQUALIFIED
Johnson C NickaRussiaAmy Elsner NEW
Kaitlin H MaletGermanyIoni Bowcher RENEWAL
Johnson N ChuiIndiaAnna Fali UNQUALIFIED
Cody B MacleadAustraliaStephen Shaw UNQUALIFIED
Juan H StockhamCanadaIvan Magalhaes PROPOSAL
Jennifer E MorascaJapanIvan Magalhaes UNQUALIFIED
Juan V DoeRussiaAmy Elsner NEGOTIATION
Munro M OldroydGermanyStephen Shaw QUALIFIED
Darci V CaudyArgentinaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer T GarufiRussia2026-08-08King, Christopher A Esq RENEWAL26Anna Fali
1001Mayumi X GillianAustralia2026-08-23King, Christopher A Esq NEW22Ivan Magalhaes
1002Mujtaba N SergiGermany2026-08-28Truhlar And Truhlar Attys QUALIFIED63Stephen Shaw
1003Silvio Q MaletGermany2026-08-24Buckley Miller Wright QUALIFIED25Stephen Shaw
1004Kadeem M RulapaughCanada2026-08-14Dorl, James J Esq NEGOTIATION63Bernardo Dominic
1005Ivar V TollnerIndia2026-08-16Morlong Associates NEGOTIATION91Ivan Magalhaes
1006Rodrigues M InouyeAustralia2026-08-21Printing Dimensions NEW76Asiya Javayant
1007Smith P BowleyArgentina2026-08-16Rangoni Of Florence NEW49Anna Fali
1008Juan C FollerCanada2026-08-08Printing Dimensions NEW62Amy Elsner
1009Octavia S KuskoItaly2026-08-24Buckley Miller Wright NEGOTIATION9Onyama Limba
1010Ricardo S BowleyCanada2026-08-25King, Christopher A Esq UNQUALIFIED88Ivan Magalhaes
1011Morrow S BologniaUnited Kingdom2026-08-25Chemel, James L Cpa NEW8Anna Fali
1012Arvin M SchemmerBrazil2026-08-04Rangoni Of Florence NEW90Ivan Magalhaes
1013Nicolas Q CaldareraUnited Kingdom2026-08-07Rangoni Of Florence NEW82Elwin Sharvill
1014Alejandro B FlosiFrance2026-08-13Chemel, James L Cpa PROPOSAL59Xuxue Feng
1015Claire T VenereIndia2026-08-07Feltz Printing Service RENEWAL37Bernardo Dominic
1016Wickens W RimJapan2026-08-17Buckley Miller Wright NEW65Stephen Shaw
1017Chavez X RulapaughCanada2026-08-05Morlong Associates QUALIFIED18Elwin Sharvill
1018Cody R GarufiIndia2026-08-07Dorl, James J Esq PROPOSAL19Stephen Shaw
1019Adams Z SaylorsUnited Kingdom2026-08-22Printing Dimensions QUALIFIED57Amy Elsner
1020Ashley N KuskoCanada2026-08-28Printing Dimensions UNQUALIFIED0Xuxue Feng
1021Claire W GauchoIndia2026-08-12Chemel, James L Cpa NEW30Elwin Sharvill
1022Munro Q WhobreyUnited Kingdom2026-08-05Chapman, Ross E Esq PROPOSAL51Anna Fali
1023Ashley H OstroskyIndia2026-08-16Printing Dimensions RENEWAL29Onyama Limba
1024Faith V DarakjyAustralia2026-08-31Feiner Bros NEW84Xuxue Feng
1025Ivar A BologniaArgentina2026-08-06King, Christopher A Esq RENEWAL62Stephen Shaw
1026Morrow A SaylorsUnited Kingdom2026-08-14Rangoni Of Florence UNQUALIFIED95Asiya Javayant
1027Tony Z StensethRussia2026-08-14Buckley Miller Wright PROPOSAL86Ivan Magalhaes
1028David K FlosiIndia2026-08-07Feltz Printing Service PROPOSAL59Ivan Magalhaes
1029Nicolas D DoeItaly2026-08-25Morlong Associates UNQUALIFIED65Ivan Magalhaes
1030Misaki O SchemmerFrance2026-08-21Truhlar And Truhlar Attys QUALIFIED54Onyama Limba
1031Leja A SchemmerCanada2026-08-03Chanay, Jeffrey A Esq UNQUALIFIED99Xuxue Feng
1032Ashley M DilliardArgentina2026-08-28Chemel, James L Cpa UNQUALIFIED11Ivan Magalhaes
1033Ricardo M VocelkaArgentina2026-08-27Morlong Associates NEW85Ioni Bowcher
1034Aditya M MaletRussia2026-08-28Morlong Associates QUALIFIED16Onyama Limba
1035Tony S FerenczJapan2026-08-10Benton, John B Jr NEGOTIATION85Ioni Bowcher
1036Tony L RimIndia2026-08-29Chemel, James L Cpa NEGOTIATION63Xuxue Feng
1037Isabel W KolmetzAustralia2026-08-31Feiner Bros PROPOSAL37Bernardo Dominic
1038Cody M GillianFrance2026-08-30Truhlar And Truhlar Attys NEGOTIATION13Ioni Bowcher
1039Misaki D WieserJapan2026-08-16Commercial Press NEW9Ivan Magalhaes
1040Maria I StensethCanada2026-08-14Chapman, Ross E Esq RENEWAL80Amy Elsner
1041Mayumi V BowleyAustralia2026-08-21Chapman, Ross E Esq QUALIFIED40Onyama Limba
1042Octavia H DilliardItaly2026-08-12Chanay, Jeffrey A Esq QUALIFIED77Amy Elsner
1043Tony Z KuskoGermany2026-08-10Rousseaux, Michael Esq NEW70Elwin Sharvill
1044Kaitlin S NestleBrazil2026-08-28Feiner Bros UNQUALIFIED97Onyama Limba
1045Mujtaba C WieserGermany2026-08-20Rangoni Of Florence UNQUALIFIED64Xuxue Feng
1046Deepesh W MaletGermany2026-08-14Printing Dimensions NEGOTIATION94Asiya Javayant
1047Leon W WhobreyJapan2026-08-07Rousseaux, Michael Esq PROPOSAL14Onyama Limba
1048Greenwood P ShinkoSpain2026-08-15Commercial Press UNQUALIFIED63Bernardo Dominic
1049Leja M SaylorsUnited Kingdom2026-08-20Benton, John B Jr NEW27Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan I GlickItalyElwin Sharvill NEGOTIATION
Ricardo P RoysterAustraliaIoni Bowcher NEW
Adams I DilliardArgentinaAsiya Javayant PROPOSAL
Mayumi N StensethSpainStephen Shaw RENEWAL
Stacey A BriddickBrazilAsiya Javayant PROPOSAL
Darci Q WieserRussiaIoni Bowcher PROPOSAL
Antonio X MarrierFranceXuxue Feng UNQUALIFIED
Maisha R OstroskyFranceStephen Shaw PROPOSAL
Chavez B MacleadCanadaAnna Fali UNQUALIFIED
Maria H OstroskyBrazilAsiya Javayant PROPOSAL
Alejandro Q NickaAustraliaOnyama Limba NEW
Darci A DilliardRussiaAsiya Javayant PROPOSAL
Ashley C VocelkaJapanXuxue Feng QUALIFIED
Arvin J FerenczUnited KingdomOnyama Limba NEW
Deepesh T TollnerCanadaIoni Bowcher NEGOTIATION
Octavia F TollnerFranceStephen Shaw PROPOSAL
Salvatore N MorascaIndiaIoni Bowcher RENEWAL
Murillo Q StensethBrazilStephen Shaw NEGOTIATION
Mujtaba E BowleyUnited KingdomAmy Elsner NEW
Deepesh E AmigonGermanyElwin Sharvill NEW
Aruna C CampainUnited KingdomXuxue Feng NEGOTIATION
Maisha N WaycottArgentinaXuxue Feng NEGOTIATION
Ivar T MaletItalyAsiya Javayant NEGOTIATION
Jefferson K FerenczBrazilAnna Fali UNQUALIFIED
Maisha F GarufiArgentinaElwin Sharvill PROPOSAL
David B IturbideIndiaElwin Sharvill PROPOSAL
Rodrigues H ShinkoItalyElwin Sharvill RENEWAL
Alejandro T BriddickGermanyIoni Bowcher RENEWAL
Cody A CaudyFranceIoni Bowcher PROPOSAL
Arvin S MaletGermanyAnna Fali RENEWAL
Mayumi V PerinGermanyOnyama Limba NEGOTIATION
Jones B MacleadItalyIoni Bowcher NEW
Nicolas P PerinFranceOnyama Limba PROPOSAL
James Y DarakjyIndiaElwin Sharvill PROPOSAL
Morrow N DarakjyGermanyXuxue Feng QUALIFIED
Kadeem Z VocelkaIndiaAsiya Javayant RENEWAL
Ivar X RimUnited KingdomElwin Sharvill RENEWAL
Silvio T RutaJapanAsiya Javayant QUALIFIED
Ricardo R FerenczSpainBernardo Dominic RENEWAL
Stacey F ButtAustraliaAsiya Javayant PROPOSAL
Ivar H CaudyFranceStephen Shaw UNQUALIFIED
Claire L MorascaCanadaBernardo Dominic QUALIFIED
Leja T SchemmerSpainOnyama Limba PROPOSAL
Jones D PaprockiCanadaElwin Sharvill NEGOTIATION
Octavia R CaudyJapanBernardo Dominic NEGOTIATION
Francesco E MarrierItalyAsiya Javayant UNQUALIFIED
Maria B FigeroaCanadaAmy Elsner NEW
Aditya S GarufiFranceBernardo Dominic RENEWAL
Munro A WhobreyItalyOnyama Limba QUALIFIED
Nicolas U AmigonJapanXuxue Feng NEGOTIATION
Frozen Columns
Name
Rodrigues Y Oldroyd
Leon L Amigon
Kadeem V Morasca
Stacey A Kolmetz
Wickens B Briddick
David E Doe
Ashley W Malet
Ricardo L Doe
Julie J Chui
Maisha X Shinko
Greenwood E Shinko
Costa H Stenseth
Aika U Perin
Costa Y Flosi
Leja Q Glick
Adams N Albares
Ashley R Flosi
Aika M Dilliard
Ivar V Kolmetz
Costa A Albares
Clifford W Caudy
Greenwood O Rulapaugh
Jennifer K Malet
Julie S Venere
Tony I Kusko
Stacey I Foller
James S Stenseth
Jefferson A Kolmetz
Faith K Maclead
Arvin X Sergi
Murillo Q Malet
James O Foller
Munro D Iturbide
Emily U Ferencz
Claire F Waycott
Cody C Whobrey
Darci U Stenseth
Silvio B Malet
James P Vocelka
Munro B Maclead
Kadeem B Kusko
Claire Y Maclead
Stacey S Gaucho
Greenwood Y Gillian
Francesco P Ostrosky
Greenwood G Malet
Jones B Venere
Leon T Albares
Sinclair S Ostrosky
Smith X Tollner
IdCountryDate
1000Canada2026-08-25
1001Japan2026-08-12
1002Spain2026-08-28
1003United Kingdom2026-08-29
1004Brazil2026-08-29
1005Australia2026-08-28
1006Argentina2026-08-19
1007Japan2026-08-17
1008India2026-08-13
1009Germany2026-08-23
1010Spain2026-08-12
1011Germany2026-08-14
1012Spain2026-09-01
1013Russia2026-08-06
1014Australia2026-08-27
1015Japan2026-08-23
1016Canada2026-08-04
1017Australia2026-08-11
1018Germany2026-08-14
1019Spain2026-08-18
1020United Kingdom2026-08-27
1021Germany2026-08-05
1022Spain2026-08-15
1023Argentina2026-08-13
1024Japan2026-08-16
1025Argentina2026-08-18
1026Japan2026-08-11
1027India2026-08-22
1028Argentina2026-08-25
1029Australia2026-08-14
1030Russia2026-08-09
1031Argentina2026-08-08
1032Australia2026-08-21
1033France2026-08-25
1034India2026-08-31
1035United Kingdom2026-08-22
1036Brazil2026-08-18
1037Germany2026-08-13
1038Russia2026-08-08
1039France2026-08-23
1040Spain2026-08-30
1041Argentina2026-08-30
1042India2026-08-06
1043France2026-08-07
1044Brazil2026-08-04
1045Japan2026-08-06
1046Australia2026-08-22
1047Italy2026-08-05
1048Brazil2026-08-12
1049Spain2026-08-25

On-Demand Data

NameIdCountryDate
Juan I Rim1000Japan2026-08-17
Juan F Flosi1001France2026-08-27
Kadeem F Whobrey1002Russia2026-08-13
Misaki Q Marrier1003Italy2026-08-27
Salvatore D Gillian1004Brazil2026-09-01
Smith I Inouye1005Italy2026-08-12
Jefferson O Campain1006Argentina2026-08-15
Emily U Albares1007Canada2026-08-06
Adams Y Tollner1008Japan2026-08-10
Jennifer R Slusarski1009Brazil2026-09-01
Nicolas S Tollner1010Argentina2026-08-31
Stacey K Foller1011United Kingdom2026-08-29
Aruna W Whobrey1012India2026-09-01
Sinclair S Caldarera1013Australia2026-08-08
Ashley K Kolmetz1014Canada2026-08-15
Morrow J Ruta1015Argentina2026-08-06
Sinclair Z Oldroyd1016Russia2026-08-03
Nicolas J Inouye1017Argentina2026-08-04
Jennifer D Maclead1018United Kingdom2026-08-19
Maisha X Perin1019Germany2026-08-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Z StensethArgentinaOnyama Limba UNQUALIFIED
Julie Z CaldareraRussiaIoni Bowcher NEW
Jeanfrancois W BologniaGermanyBernardo Dominic QUALIFIED
Stacey X SaylorsJapanElwin Sharvill QUALIFIED
Izzy R GillianIndiaXuxue Feng NEGOTIATION
Jeanfrancois F FollerCanadaAnna Fali UNQUALIFIED
Chavez A SergiBrazilStephen Shaw UNQUALIFIED
Aditya C GauchoCanadaAnna Fali PROPOSAL
Cody L GlickRussiaElwin Sharvill NEW
Cody J KolmetzItalyBernardo Dominic NEW
Alejandro O KolmetzArgentinaIvan Magalhaes QUALIFIED
Jefferson Y PoquetteArgentinaAmy Elsner NEW
Darci G RutaJapanIoni Bowcher NEGOTIATION
Mujtaba V OldroydSpainElwin Sharvill NEW
Morrow C KuskoCanadaElwin Sharvill NEW
Nicolas U BriddickRussiaOnyama Limba NEGOTIATION
Juan F OldroydCanadaOnyama Limba QUALIFIED
Costa D SchemmerAustraliaIoni Bowcher PROPOSAL
David R InouyeCanadaBernardo Dominic NEGOTIATION
Jefferson S RulapaughAustraliaAsiya Javayant QUALIFIED
Jennifer B DoeArgentinaIoni Bowcher RENEWAL
Mayumi H RutaJapanIvan Magalhaes PROPOSAL
Salvatore Q WhobreyIndiaAsiya Javayant NEGOTIATION
Morrow N SchemmerUnited KingdomIoni Bowcher QUALIFIED
Aika N CaldareraItalyStephen Shaw NEGOTIATION
Chavez X BowleyAustraliaIvan Magalhaes NEGOTIATION
Leja X PerinIndiaIvan Magalhaes NEGOTIATION
Darci H VocelkaBrazilElwin Sharvill QUALIFIED
Maria N CaudyUnited KingdomAmy Elsner NEW
Murillo G StensethRussiaElwin Sharvill QUALIFIED
Deepesh L RulapaughFranceIvan Magalhaes NEGOTIATION
Nicolas C KolmetzGermanyElwin Sharvill QUALIFIED
Nicolas Z SlusarskiCanadaStephen Shaw PROPOSAL
Murillo K PaprockiJapanIoni Bowcher RENEWAL
Adams U RoysterGermanyAmy Elsner NEW
Deepesh G VocelkaRussiaElwin Sharvill NEGOTIATION
Aditya S TollnerFranceAsiya Javayant QUALIFIED
Aruna K CaudyItalyIvan Magalhaes QUALIFIED
Claire G PoquetteGermanyIoni Bowcher NEW
Salvatore Z ChuiGermanyXuxue Feng QUALIFIED

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