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
Aditya O VenereFranceAnna Fali UNQUALIFIED
Wickens S MaletRussiaBernardo Dominic QUALIFIED
Faith Q RutaRussiaOnyama Limba NEW
Juan T FigeroaJapanAsiya Javayant UNQUALIFIED
Stacey W CaudyItalyElwin Sharvill NEGOTIATION
Greenwood Z KuskoSpainStephen Shaw PROPOSAL
Ashley D MarrierArgentinaIvan Magalhaes UNQUALIFIED
James D ButtJapanAmy Elsner RENEWAL
Tony I RutaGermanyAsiya Javayant UNQUALIFIED
Ivar C NestleRussiaAsiya Javayant UNQUALIFIED
Aruna A PerinFranceAnna Fali NEW
Cody F OldroydAustraliaIvan Magalhaes NEW
Ricardo K RulapaughItalyOnyama Limba NEW
Sinclair L FollerArgentinaElwin Sharvill UNQUALIFIED
David L KolmetzItalyAnna Fali NEGOTIATION
Chavez F OldroydUnited KingdomXuxue Feng PROPOSAL
Ricardo T CaldareraRussiaAnna Fali RENEWAL
Munro S SergiItalyIvan Magalhaes NEGOTIATION
Izzy B GlickBrazilAsiya Javayant PROPOSAL
Julie B MaletArgentinaIvan Magalhaes QUALIFIED
Ivar Y WieserSpainOnyama Limba UNQUALIFIED
Leja X MaletArgentinaAmy Elsner QUALIFIED
Aika Y FlosiBrazilIvan Magalhaes PROPOSAL
Antonio R GauchoFranceAsiya Javayant NEGOTIATION
Jefferson H ShinkoRussiaAsiya Javayant RENEWAL
Izzy R OstroskyFranceOnyama Limba NEW
Tony O WhobreyJapanAnna Fali NEW
Johnson E FigeroaItalyStephen Shaw UNQUALIFIED
Ricardo U CaudyJapanXuxue Feng PROPOSAL
David M RoysterAustraliaXuxue Feng NEW
Maisha G RutaFranceIvan Magalhaes NEW
Jefferson Q DarakjySpainAmy Elsner QUALIFIED
Jeanfrancois R RutaGermanyBernardo Dominic NEW
Jones F OldroydIndiaAsiya Javayant UNQUALIFIED
Chavez E ShinkoAustraliaBernardo Dominic NEW
Jeanfrancois F BowleyCanadaAnna Fali UNQUALIFIED
Stacey U RutaCanadaIoni Bowcher UNQUALIFIED
Murillo E StockhamAustraliaElwin Sharvill PROPOSAL
Francesco V VocelkaFranceXuxue Feng RENEWAL
Munro M AlbaresGermanyAmy Elsner PROPOSAL
Alejandro J RutaJapanXuxue Feng QUALIFIED
Clifford B SaylorsRussiaAmy Elsner QUALIFIED
Johnson R InouyeItalyAnna Fali RENEWAL
Greenwood Z VenereGermanyAsiya Javayant PROPOSAL
Faith C WhobreyCanadaStephen Shaw NEGOTIATION
Murillo Q KolmetzIndiaAnna Fali UNQUALIFIED
Kaitlin G MarrierAustraliaOnyama Limba UNQUALIFIED
Aditya G NickaFranceXuxue Feng QUALIFIED
Aditya U SchemmerJapanBernardo Dominic QUALIFIED
Jones K OstroskySpainAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas V GauchoCanadaElwin Sharvill UNQUALIFIED
Deepesh G BriddickItalyOnyama Limba QUALIFIED
Misaki Z WaycottFranceIoni Bowcher UNQUALIFIED
Clifford P FlosiGermanyIvan Magalhaes NEGOTIATION
Mujtaba E DoeIndiaAsiya Javayant QUALIFIED
Arvin E DoeSpainXuxue Feng NEGOTIATION
Aika P PaprockiArgentinaAsiya Javayant PROPOSAL
Alejandro Y FerenczAustraliaStephen Shaw PROPOSAL
Antonio S RimJapanIoni Bowcher QUALIFIED
Leja A TollnerJapanAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi A ShinkoIndia2025-06-13Feiner Bros NEGOTIATION8Xuxue Feng
1001Emily T OstroskyCanada2025-05-25Benton, John B Jr QUALIFIED0Amy Elsner
1002Cody R BologniaItaly2025-06-11Rangoni Of Florence PROPOSAL19Xuxue Feng
1003Emily Q MorascaRussia2025-06-09Buckley Miller Wright QUALIFIED10Stephen Shaw
1004Kadeem A ShinkoJapan2025-05-23Chemel, James L Cpa RENEWAL49Amy Elsner
1005Francesco R NickaFrance2025-06-12Morlong Associates PROPOSAL84Asiya Javayant
1006Smith O DilliardFrance2025-05-31Feiner Bros RENEWAL17Bernardo Dominic
1007James S FigeroaSpain2025-05-20Feiner Bros RENEWAL14Elwin Sharvill
1008Adams H NickaAustralia2025-05-29Chemel, James L Cpa PROPOSAL86Xuxue Feng
1009Salvatore C GlickItaly2025-05-21Truhlar And Truhlar Attys QUALIFIED96Bernardo Dominic
1010Maria X CaldareraIndia2025-05-27Chanay, Jeffrey A Esq NEGOTIATION6Asiya Javayant
1011Wickens U PaprockiBrazil2025-06-02Feltz Printing Service RENEWAL65Onyama Limba
1012Chavez R FollerRussia2025-05-31Rousseaux, Michael Esq NEGOTIATION68Asiya Javayant
1013Faith L NickaUnited Kingdom2025-06-01Rangoni Of Florence UNQUALIFIED97Xuxue Feng
1014Jefferson J SergiBrazil2025-05-31Chemel, James L Cpa QUALIFIED73Elwin Sharvill
1015David Y NestleBrazil2025-05-29Rangoni Of Florence UNQUALIFIED3Amy Elsner
1016Smith I StensethCanada2025-06-05Dorl, James J Esq NEGOTIATION87Asiya Javayant
1017Claire I IturbideIndia2025-05-31Dorl, James J Esq UNQUALIFIED70Ivan Magalhaes
1018Jeanfrancois Q GlickSpain2025-06-09Chemel, James L Cpa PROPOSAL45Onyama Limba
1019Ivar Z SlusarskiRussia2025-06-08Morlong Associates NEW67Anna Fali
1020Alejandro H SchemmerBrazil2025-06-01Feiner Bros NEGOTIATION10Asiya Javayant
1021Ricardo R MaletUnited Kingdom2025-06-09Feltz Printing Service NEW70Amy Elsner
1022Aika Z GauchoRussia2025-05-18Commercial Press NEW3Ivan Magalhaes
1023Julie P InouyeUnited Kingdom2025-05-23Chapman, Ross E Esq NEW94Anna Fali
1024Stacey I ButtSpain2025-05-22Chemel, James L Cpa QUALIFIED85Onyama Limba
1025Ricardo P RutaCanada2025-05-30Feltz Printing Service NEW51Stephen Shaw
1026Murillo B TollnerIndia2025-05-31Chanay, Jeffrey A Esq NEGOTIATION90Bernardo Dominic
1027Maisha Y FlosiFrance2025-06-01Feltz Printing Service NEW23Asiya Javayant
1028Tony M CaldareraBrazil2025-05-23Printing Dimensions RENEWAL71Ivan Magalhaes
1029Faith K MorascaArgentina2025-06-12Buckley Miller Wright NEGOTIATION62Asiya Javayant
1030James Q CaudyBrazil2025-06-05Chemel, James L Cpa UNQUALIFIED70Xuxue Feng
1031Leon P ShinkoFrance2025-05-21Chanay, Jeffrey A Esq NEW26Ivan Magalhaes
1032Cody T OldroydIndia2025-06-10Chapman, Ross E Esq UNQUALIFIED24Anna Fali
1033Jennifer I AmigonArgentina2025-06-09Dorl, James J Esq NEW59Onyama Limba
1034Sinclair K MorascaSpain2025-05-19Chanay, Jeffrey A Esq PROPOSAL56Xuxue Feng
1035Jeanfrancois J OldroydArgentina2025-06-07Commercial Press PROPOSAL95Anna Fali
1036Ivar M OldroydFrance2025-05-28Buckley Miller Wright PROPOSAL20Stephen Shaw
1037Leja P VenereFrance2025-06-12Chanay, Jeffrey A Esq RENEWAL42Ioni Bowcher
1038Misaki P BologniaItaly2025-05-22Truhlar And Truhlar Attys PROPOSAL2Elwin Sharvill
1039Mujtaba B FerenczJapan2025-05-18Commercial Press RENEWAL7Asiya Javayant
1040Maria C StockhamUnited Kingdom2025-06-12Morlong Associates PROPOSAL23Stephen Shaw
1041Sinclair S WhobreyGermany2025-05-29Rangoni Of Florence PROPOSAL17Bernardo Dominic
1042Mayumi R AlbaresJapan2025-06-07Printing Dimensions NEGOTIATION82Asiya Javayant
1043Arvin R RimItaly2025-06-15Feltz Printing Service PROPOSAL14Anna Fali
1044Clifford H ButtIndia2025-06-01Feiner Bros UNQUALIFIED13Anna Fali
1045Costa W SlusarskiBrazil2025-06-09Chemel, James L Cpa PROPOSAL9Ivan Magalhaes
1046Ricardo W ChuiUnited Kingdom2025-06-15Chemel, James L Cpa PROPOSAL3Amy Elsner
1047Cody Z DilliardUnited Kingdom2025-05-22Feltz Printing Service PROPOSAL69Elwin Sharvill
1048Tony N SaylorsFrance2025-05-29Printing Dimensions NEGOTIATION91Amy Elsner
1049Faith K RimGermany2025-06-12Chapman, Ross E Esq NEW39Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro U BowleyArgentinaAnna Fali PROPOSAL
Francesco P ChuiIndiaStephen Shaw QUALIFIED
Adams J CaldareraUnited KingdomElwin Sharvill PROPOSAL
Faith D KuskoJapanElwin Sharvill NEGOTIATION
Aditya I IturbideAustraliaElwin Sharvill UNQUALIFIED
Jones X MaletJapanXuxue Feng RENEWAL
Clifford Q KuskoJapanElwin Sharvill UNQUALIFIED
Adams I FerenczFranceIvan Magalhaes NEW
Sinclair G WaycottFranceIoni Bowcher NEW
Deepesh W NickaUnited KingdomXuxue Feng NEGOTIATION
Silvio L RoysterSpainOnyama Limba PROPOSAL
Murillo O RutaGermanyBernardo Dominic RENEWAL
Wickens F PoquetteArgentinaOnyama Limba NEW
Arvin L OldroydUnited KingdomAmy Elsner RENEWAL
Clifford S AmigonFranceAnna Fali NEW
Jones A OldroydIndiaBernardo Dominic PROPOSAL
Arvin G GarufiFranceElwin Sharvill NEW
Adams N SergiGermanyStephen Shaw QUALIFIED
Chavez T OldroydJapanBernardo Dominic QUALIFIED
Alejandro I CaldareraJapanXuxue Feng UNQUALIFIED
Smith W MacleadGermanyIvan Magalhaes UNQUALIFIED
Johnson N KolmetzIndiaBernardo Dominic QUALIFIED
Aika Q InouyeAustraliaAnna Fali RENEWAL
Izzy Z DoeIndiaIoni Bowcher UNQUALIFIED
Jennifer Z MaletSpainIoni Bowcher QUALIFIED
Antonio I DarakjyGermanyOnyama Limba NEW
Leon T PoquetteJapanIvan Magalhaes NEW
Faith C CaudySpainElwin Sharvill RENEWAL
David F VocelkaAustraliaAsiya Javayant PROPOSAL
Salvatore C PaprockiCanadaIoni Bowcher QUALIFIED
Salvatore C StensethRussiaIoni Bowcher RENEWAL
Ivar W OstroskyJapanIvan Magalhaes QUALIFIED
Misaki C WhobreyGermanyIvan Magalhaes QUALIFIED
Aika U PerinSpainBernardo Dominic UNQUALIFIED
Octavia F GillianGermanyIvan Magalhaes PROPOSAL
Wickens J ChuiUnited KingdomAnna Fali NEW
Arvin I RutaUnited KingdomIvan Magalhaes RENEWAL
Izzy Z DilliardJapanAnna Fali PROPOSAL
Claire T SlusarskiSpainElwin Sharvill UNQUALIFIED
Aruna T MarrierAustraliaAsiya Javayant RENEWAL
Ashley Z GillianUnited KingdomBernardo Dominic QUALIFIED
Adams O PoquetteGermanyBernardo Dominic RENEWAL
Sinclair D MacleadCanadaElwin Sharvill NEW
Salvatore S InouyeFranceAmy Elsner UNQUALIFIED
Johnson U AlbaresItalyAnna Fali RENEWAL
Ivar R SlusarskiRussiaBernardo Dominic NEW
Wickens T SaylorsItalyIvan Magalhaes UNQUALIFIED
Stacey F FerenczBrazilBernardo Dominic RENEWAL
Izzy I ChuiItalyXuxue Feng PROPOSAL
Arvin A ChuiFranceAnna Fali UNQUALIFIED
Frozen Columns
Name
Salvatore R Briddick
Kadeem T Ruta
Emily K Kusko
Morrow T Morasca
Jones Z Briddick
Octavia O Darakjy
Claire C Doe
Francesco Y Caldarera
Jeanfrancois I Saylors
Jones T Ostrosky
Tony U Ruta
Ivar A Maclead
Ivar B Bolognia
Francesco Q Darakjy
Johnson U Venere
Leon F Iturbide
Morrow K Kolmetz
Murillo J Malet
Jefferson X Oldroyd
Ricardo X Albares
Faith I Flosi
Ivar D Iturbide
Leja L Ferencz
Jennifer F Rulapaugh
Clifford S Briddick
Leja Y Ruta
Claire X Glick
Ricardo S Nicka
Leja E Maclead
Misaki A Saylors
Faith L Figeroa
Julie O Rim
Murillo F Ostrosky
Alejandro V Nestle
Claire B Gillian
Claire W Briddick
Morrow X Nestle
Jennifer L Royster
Greenwood J Bolognia
Murillo X Shinko
Smith R Nestle
Maisha H Rim
Munro A Stockham
Aruna V Perin
Leja L Maclead
Julie K Bolognia
Aruna C Caldarera
Aika J Amigon
Aika E Inouye
Ashley V Rulapaugh
IdCountryDate
1000Germany2025-05-21
1001India2025-05-22
1002Argentina2025-05-19
1003Argentina2025-05-24
1004United Kingdom2025-05-23
1005Australia2025-05-22
1006Germany2025-06-03
1007Brazil2025-06-03
1008France2025-05-27
1009Canada2025-06-08
1010Spain2025-06-07
1011Russia2025-06-07
1012United Kingdom2025-06-04
1013Russia2025-05-18
1014Spain2025-05-25
1015Germany2025-05-26
1016Brazil2025-06-01
1017France2025-05-21
1018Argentina2025-06-10
1019Italy2025-05-19
1020Canada2025-05-28
1021Canada2025-06-06
1022Japan2025-05-23
1023Canada2025-06-01
1024Germany2025-05-18
1025Japan2025-06-09
1026India2025-05-24
1027Russia2025-05-28
1028Canada2025-06-12
1029Argentina2025-05-24
1030France2025-05-27
1031Argentina2025-06-10
1032Canada2025-06-05
1033Japan2025-06-09
1034Germany2025-05-25
1035Canada2025-05-19
1036United Kingdom2025-05-21
1037France2025-05-30
1038France2025-06-04
1039Italy2025-06-06
1040Russia2025-06-04
1041France2025-05-18
1042Germany2025-05-29
1043Russia2025-05-21
1044Germany2025-06-16
1045India2025-05-27
1046Italy2025-06-12
1047United Kingdom2025-06-07
1048Brazil2025-06-09
1049Argentina2025-06-14

On-Demand Data

NameIdCountryDate
Maisha L Malet1000Japan2025-06-04
Adams V Amigon1001Canada2025-06-07
Isabel I Doe1002Canada2025-06-13
Mayumi V Nestle1003Italy2025-06-04
Faith W Stenseth1004Canada2025-06-14
Murillo V Caudy1005Japan2025-06-08
Ricardo W Iturbide1006Canada2025-05-25
Emily U Ostrosky1007United Kingdom2025-05-22
Kadeem J Schemmer1008Italy2025-06-13
Juan W Bolognia1009Spain2025-06-12
Johnson N Saylors1010Argentina2025-06-15
Sinclair D Inouye1011Italy2025-05-24
Rodrigues J Venere1012Spain2025-06-10
Silvio Y Chui1013India2025-06-01
Octavia P Paprocki1014United Kingdom2025-05-22
Deepesh M Caldarera1015Canada2025-05-27
Morrow C Shinko1016Japan2025-06-12
Juan H Ostrosky1017Spain2025-06-03
Mayumi I Sergi1018Argentina2025-06-02
Octavia S Maclead1019Argentina2025-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow T SlusarskiBrazilOnyama Limba QUALIFIED
Adams L CaldareraAustraliaElwin Sharvill UNQUALIFIED
Smith Y MaletAustraliaXuxue Feng RENEWAL
Greenwood R SlusarskiRussiaElwin Sharvill QUALIFIED
Misaki B MacleadUnited KingdomOnyama Limba RENEWAL
Munro P RimAustraliaOnyama Limba UNQUALIFIED
Greenwood D FollerJapanAmy Elsner UNQUALIFIED
Costa T NickaIndiaBernardo Dominic NEGOTIATION
Mujtaba C TollnerIndiaAsiya Javayant NEGOTIATION
Rodrigues G PoquetteAustraliaStephen Shaw NEW
Misaki W DilliardGermanyIvan Magalhaes QUALIFIED
Jefferson T BologniaBrazilIvan Magalhaes UNQUALIFIED
Juan J PerinArgentinaBernardo Dominic UNQUALIFIED
Morrow L VocelkaFranceBernardo Dominic NEGOTIATION
Faith U NestleArgentinaIoni Bowcher RENEWAL
Munro S StensethItalyBernardo Dominic QUALIFIED
Clifford B KolmetzFranceIoni Bowcher NEGOTIATION
Clifford Q NestleIndiaOnyama Limba QUALIFIED
Faith G ShinkoItalyAnna Fali UNQUALIFIED
Isabel N NickaGermanyXuxue Feng NEW
Ivar E RoysterJapanAmy Elsner NEGOTIATION
Octavia I StensethArgentinaBernardo Dominic RENEWAL
Maria J BowleyArgentinaStephen Shaw RENEWAL
Kaitlin A FollerArgentinaAmy Elsner QUALIFIED
Isabel U SaylorsFranceXuxue Feng UNQUALIFIED
Deepesh J FigeroaAustraliaStephen Shaw PROPOSAL
Rodrigues L FollerItalyElwin Sharvill PROPOSAL
Ricardo W DoeItalyAsiya Javayant NEGOTIATION
James Z ChuiFranceAsiya Javayant QUALIFIED
Ivar C BriddickItalyElwin Sharvill NEGOTIATION
Kaitlin T MaletJapanAsiya Javayant UNQUALIFIED
Deepesh G ChuiSpainOnyama Limba NEGOTIATION
Alejandro S RoysterRussiaIoni Bowcher UNQUALIFIED
Murillo O WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Cody H GarufiIndiaAnna Fali QUALIFIED
Kadeem D SaylorsArgentinaAmy Elsner NEW
Murillo J MaletJapanElwin Sharvill NEGOTIATION
Costa T DarakjyBrazilAsiya Javayant PROPOSAL
Faith V MacleadCanadaBernardo Dominic UNQUALIFIED
Jones P MarrierFranceOnyama Limba 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>