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
Sinclair B OstroskyUnited KingdomAsiya Javayant NEW
Mujtaba M WieserJapanBernardo Dominic NEGOTIATION
Aika T BriddickItalyAsiya Javayant QUALIFIED
Ivar D GauchoGermanyAnna Fali NEGOTIATION
Silvio W CaldareraAustraliaStephen Shaw QUALIFIED
Jeanfrancois Z GauchoIndiaAmy Elsner PROPOSAL
Claire Z MarrierJapanIvan Magalhaes NEW
Antonio W VenereAustraliaStephen Shaw QUALIFIED
Aditya E WaycottItalyXuxue Feng PROPOSAL
Chavez N DilliardGermanyStephen Shaw NEGOTIATION
Faith G KuskoBrazilBernardo Dominic PROPOSAL
Deepesh N PerinCanadaBernardo Dominic PROPOSAL
Adams S OldroydAustraliaXuxue Feng PROPOSAL
Murillo Z ChuiAustraliaIvan Magalhaes QUALIFIED
Aika U SchemmerAustraliaStephen Shaw PROPOSAL
Alejandro I SlusarskiGermanyAsiya Javayant NEW
Ricardo M FollerArgentinaAmy Elsner UNQUALIFIED
Kadeem I FlosiArgentinaIoni Bowcher RENEWAL
Adams F MaletSpainOnyama Limba QUALIFIED
Smith T BowleyGermanyAmy Elsner NEW
Tony W GauchoAustraliaIvan Magalhaes PROPOSAL
Jennifer X PoquetteArgentinaStephen Shaw PROPOSAL
Nicolas S RutaSpainAnna Fali NEGOTIATION
Maria V WieserItalyIoni Bowcher UNQUALIFIED
Jones K RulapaughItalyStephen Shaw QUALIFIED
Arvin U VocelkaCanadaStephen Shaw NEW
Claire V StockhamRussiaOnyama Limba RENEWAL
Jeanfrancois J AlbaresIndiaElwin Sharvill NEW
Costa T GauchoIndiaIoni Bowcher RENEWAL
Emily E GauchoGermanyAmy Elsner NEW
Aruna E DoeFranceAmy Elsner RENEWAL
Maria W BowleyUnited KingdomXuxue Feng UNQUALIFIED
Jones Z ChuiRussiaIvan Magalhaes PROPOSAL
Jennifer O CaldareraFranceIoni Bowcher RENEWAL
Aditya J WieserGermanyAnna Fali QUALIFIED
Wickens X StockhamCanadaStephen Shaw NEGOTIATION
Izzy J WieserIndiaAsiya Javayant NEGOTIATION
Kaitlin A InouyeCanadaIoni Bowcher UNQUALIFIED
Francesco F CampainCanadaOnyama Limba QUALIFIED
Arvin M GillianIndiaAnna Fali NEGOTIATION
Kaitlin I GauchoIndiaAsiya Javayant QUALIFIED
Cody N MaletUnited KingdomElwin Sharvill RENEWAL
Ricardo X SaylorsArgentinaAnna Fali NEW
Ricardo L PerinFranceAsiya Javayant UNQUALIFIED
Silvio H MarrierUnited KingdomElwin Sharvill PROPOSAL
Aika O FigeroaJapanAmy Elsner RENEWAL
Salvatore Y StensethAustraliaAsiya Javayant NEW
Aika A VocelkaUnited KingdomBernardo Dominic QUALIFIED
Isabel N FerenczFranceIvan Magalhaes QUALIFIED
Julie A CampainCanadaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson S GillianSpainXuxue Feng NEW
Arvin S SergiCanadaAnna Fali RENEWAL
Greenwood Q SaylorsCanadaAsiya Javayant RENEWAL
Wickens S StockhamCanadaOnyama Limba PROPOSAL
Salvatore Q PaprockiCanadaIoni Bowcher UNQUALIFIED
Chavez P BriddickGermanyIvan Magalhaes NEW
Murillo H StockhamRussiaBernardo Dominic RENEWAL
Maisha F PaprockiCanadaAmy Elsner NEW
Leja Z AlbaresItalyOnyama Limba NEGOTIATION
Smith M MarrierJapanXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David A CampainItaly2025-04-12Buckley Miller Wright UNQUALIFIED17Stephen Shaw
1001Ashley B AlbaresUnited Kingdom2025-04-28Benton, John B Jr UNQUALIFIED45Bernardo Dominic
1002Ivar L SergiJapan2025-04-16Printing Dimensions PROPOSAL27Ioni Bowcher
1003Alejandro X PerinCanada2025-04-15Chemel, James L Cpa NEGOTIATION91Amy Elsner
1004Misaki R StensethIndia2025-04-21Chanay, Jeffrey A Esq RENEWAL83Ioni Bowcher
1005Alejandro U MacleadFrance2025-04-18Benton, John B Jr NEGOTIATION23Bernardo Dominic
1006Aruna H BriddickJapan2025-04-26Commercial Press PROPOSAL94Asiya Javayant
1007Salvatore X FollerRussia2025-04-12Benton, John B Jr QUALIFIED30Bernardo Dominic
1008Faith T SchemmerSpain2025-04-11Morlong Associates UNQUALIFIED95Ioni Bowcher
1009Adams O GauchoSpain2025-04-23Buckley Miller Wright QUALIFIED84Bernardo Dominic
1010Greenwood E NestleItaly2025-04-27Rangoni Of Florence RENEWAL76Ioni Bowcher
1011Nicolas F NickaRussia2025-04-01Chanay, Jeffrey A Esq UNQUALIFIED99Onyama Limba
1012Izzy V DilliardRussia2025-04-17Feiner Bros PROPOSAL99Ivan Magalhaes
1013Silvio K DarakjyIndia2025-04-15Buckley Miller Wright UNQUALIFIED60Ioni Bowcher
1014Greenwood W MaletIndia2025-04-04Chanay, Jeffrey A Esq QUALIFIED2Ivan Magalhaes
1015Darci B KolmetzArgentina2025-04-19Chanay, Jeffrey A Esq NEGOTIATION51Xuxue Feng
1016Costa R ShinkoFrance2025-04-24Printing Dimensions UNQUALIFIED52Stephen Shaw
1017Mujtaba U KolmetzBrazil2025-04-22Printing Dimensions NEGOTIATION16Amy Elsner
1018Maria E OstroskyGermany2025-04-18Chanay, Jeffrey A Esq RENEWAL4Asiya Javayant
1019Johnson J InouyeCanada2025-04-14Benton, John B Jr QUALIFIED37Ioni Bowcher
1020Maisha I WaycottGermany2025-04-07King, Christopher A Esq QUALIFIED13Bernardo Dominic
1021Julie R GarufiItaly2025-04-12Feiner Bros RENEWAL67Anna Fali
1022Francesco P ButtAustralia2025-04-26Rousseaux, Michael Esq UNQUALIFIED15Elwin Sharvill
1023Sinclair Z CaudyIndia2025-04-27Dorl, James J Esq NEW26Onyama Limba
1024Rodrigues R FerenczArgentina2025-04-23Dorl, James J Esq UNQUALIFIED18Elwin Sharvill
1025Adams W RutaBrazil2025-04-09Dorl, James J Esq RENEWAL66Ivan Magalhaes
1026Sinclair H AmigonJapan2025-04-11Commercial Press NEGOTIATION13Stephen Shaw
1027Arvin U ChuiRussia2025-04-08Chanay, Jeffrey A Esq PROPOSAL98Xuxue Feng
1028Jones V MaletSpain2025-04-17Feltz Printing Service NEW88Ivan Magalhaes
1029Greenwood P AlbaresUnited Kingdom2025-04-20Truhlar And Truhlar Attys QUALIFIED84Ioni Bowcher
1030Murillo D WhobreyUnited Kingdom2025-04-06Feiner Bros PROPOSAL66Amy Elsner
1031Darci M OstroskyFrance2025-04-18Chemel, James L Cpa RENEWAL60Bernardo Dominic
1032Chavez A DilliardRussia2025-04-22Printing Dimensions NEW55Bernardo Dominic
1033Leja O DoeCanada2025-04-09Feiner Bros NEW66Asiya Javayant
1034Arvin L DilliardFrance2025-04-30Benton, John B Jr NEGOTIATION40Ioni Bowcher
1035Maria E WhobreyUnited Kingdom2025-04-11Dorl, James J Esq QUALIFIED96Bernardo Dominic
1036Smith U KuskoSpain2025-04-06King, Christopher A Esq RENEWAL99Anna Fali
1037Adams T ChuiBrazil2025-04-21Morlong Associates UNQUALIFIED78Bernardo Dominic
1038Misaki K OldroydIndia2025-04-13Buckley Miller Wright QUALIFIED57Xuxue Feng
1039Claire O PaprockiIndia2025-04-06Feiner Bros NEW59Ivan Magalhaes
1040Mujtaba G ShinkoAustralia2025-04-02Chemel, James L Cpa NEGOTIATION20Asiya Javayant
1041Costa L MorascaItaly2025-04-20Chemel, James L Cpa QUALIFIED63Xuxue Feng
1042Clifford A VenereArgentina2025-04-05Feiner Bros NEW10Anna Fali
1043Jennifer J WhobreyFrance2025-04-14Benton, John B Jr UNQUALIFIED66Ioni Bowcher
1044Maisha T DilliardRussia2025-04-04Printing Dimensions NEGOTIATION23Xuxue Feng
1045Misaki F OldroydItaly2025-04-27Dorl, James J Esq PROPOSAL68Ivan Magalhaes
1046Izzy W MacleadUnited Kingdom2025-04-03Dorl, James J Esq NEW44Asiya Javayant
1047David J IturbideIndia2025-04-01Morlong Associates NEGOTIATION69Elwin Sharvill
1048Aruna U PoquetteCanada2025-04-09Printing Dimensions QUALIFIED74Stephen Shaw
1049Maria I DarakjyCanada2025-04-08Commercial Press QUALIFIED92Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro S RutaArgentinaAsiya Javayant RENEWAL
Emily U ChuiBrazilOnyama Limba QUALIFIED
Deepesh J MaletItalyAsiya Javayant RENEWAL
Ashley H PerinUnited KingdomBernardo Dominic RENEWAL
Silvio C FerenczFranceAnna Fali NEW
Johnson X CaldareraJapanAmy Elsner RENEWAL
Alejandro B RulapaughArgentinaXuxue Feng UNQUALIFIED
Smith K RimFranceElwin Sharvill RENEWAL
Jefferson B PaprockiArgentinaElwin Sharvill NEGOTIATION
Greenwood E RutaBrazilElwin Sharvill RENEWAL
Tony R BowleyFranceAsiya Javayant NEGOTIATION
Francesco P BowleyIndiaAsiya Javayant QUALIFIED
Darci P MaletUnited KingdomBernardo Dominic NEW
Jefferson H GauchoGermanyAsiya Javayant NEW
Julie F CampainCanadaIvan Magalhaes QUALIFIED
Greenwood X ShinkoIndiaAnna Fali NEGOTIATION
Jones P MacleadGermanyAmy Elsner QUALIFIED
Jefferson E RoysterArgentinaAmy Elsner NEGOTIATION
Salvatore W KolmetzSpainStephen Shaw UNQUALIFIED
Ashley G CaldareraItalyStephen Shaw NEGOTIATION
Misaki R ButtAustraliaElwin Sharvill QUALIFIED
Mujtaba Q BriddickArgentinaAmy Elsner UNQUALIFIED
Jennifer P PoquetteRussiaOnyama Limba PROPOSAL
Stacey S AmigonAustraliaIoni Bowcher PROPOSAL
Kaitlin N AmigonItalyAmy Elsner QUALIFIED
Leja V DilliardRussiaAnna Fali PROPOSAL
Rodrigues K MorascaJapanStephen Shaw UNQUALIFIED
Maria Z MarrierArgentinaStephen Shaw RENEWAL
David Z CampainUnited KingdomElwin Sharvill NEGOTIATION
Costa Q GauchoItalyBernardo Dominic QUALIFIED
Emily K FlosiItalyOnyama Limba UNQUALIFIED
Chavez L CaudyJapanAmy Elsner NEW
Adams J WhobreyJapanAmy Elsner QUALIFIED
Juan Q FerenczArgentinaBernardo Dominic NEGOTIATION
Aditya G PoquetteRussiaXuxue Feng NEGOTIATION
Francesco S CaldareraItalyIvan Magalhaes UNQUALIFIED
Juan I FigeroaSpainAsiya Javayant NEW
Maisha B BriddickBrazilIoni Bowcher QUALIFIED
Nicolas E PoquetteIndiaAnna Fali NEGOTIATION
Isabel N NickaCanadaAmy Elsner RENEWAL
Stacey J BologniaCanadaIoni Bowcher QUALIFIED
Tony P NickaBrazilAnna Fali RENEWAL
Emily P DoeIndiaAmy Elsner NEGOTIATION
Alejandro Q CaldareraIndiaXuxue Feng RENEWAL
Sinclair M SlusarskiGermanyStephen Shaw NEGOTIATION
Aruna H OstroskyJapanIvan Magalhaes PROPOSAL
Nicolas G PoquetteCanadaIoni Bowcher RENEWAL
Maisha X StockhamSpainIvan Magalhaes UNQUALIFIED
Kadeem G AmigonFranceBernardo Dominic PROPOSAL
Arvin F MaletGermanyAsiya Javayant QUALIFIED
Frozen Columns
Name
Clifford P Nestle
Mujtaba S Royster
Claire X Whobrey
Stacey R Bolognia
Sinclair N Bowley
Nicolas W Gillian
Antonio D Shinko
Cody Z Briddick
David E Poquette
Silvio U Caudy
Alejandro I Oldroyd
Munro H Nicka
Aruna D Stockham
Jones I Foller
Smith Z Schemmer
Deepesh Z Paprocki
Juan Y Sergi
Greenwood V Saylors
Silvio K Figeroa
Mayumi O Campain
Juan P Iturbide
Maisha D Gaucho
Darci Y Briddick
Kadeem O Glick
Misaki O Nestle
James N Butt
Leja V Gillian
Aditya O Whobrey
Ricardo R Foller
Clifford D Garufi
Deepesh M Iturbide
Izzy C Wieser
Kaitlin Z Garufi
Mayumi L Schemmer
Alejandro W Flosi
Munro C Flosi
Jefferson O Vocelka
Stacey S Marrier
Aruna W Iturbide
Costa X Caldarera
Alejandro Q Poquette
Mujtaba C Waycott
Leja C Whobrey
Juan L Whobrey
Emily F Figeroa
Darci Y Marrier
Leja H Oldroyd
Adams D Stockham
Jones B Vocelka
Arvin L Ferencz
IdCountryDate
1000Germany2025-04-22
1001India2025-04-24
1002India2025-04-07
1003Italy2025-04-20
1004France2025-04-17
1005Spain2025-04-21
1006Russia2025-04-17
1007Brazil2025-04-15
1008India2025-04-17
1009Brazil2025-04-22
1010Russia2025-04-16
1011India2025-04-30
1012Russia2025-04-17
1013United Kingdom2025-04-11
1014Russia2025-04-04
1015Germany2025-04-17
1016Argentina2025-04-02
1017India2025-04-24
1018Brazil2025-04-11
1019France2025-04-01
1020Spain2025-04-19
1021Italy2025-04-01
1022United Kingdom2025-04-02
1023Germany2025-04-20
1024United Kingdom2025-04-16
1025Italy2025-04-15
1026India2025-04-12
1027Canada2025-04-23
1028United Kingdom2025-04-17
1029Canada2025-04-28
1030United Kingdom2025-04-18
1031Brazil2025-04-17
1032Canada2025-04-03
1033Australia2025-04-05
1034Canada2025-04-07
1035Canada2025-04-10
1036Germany2025-04-02
1037India2025-04-14
1038Japan2025-04-05
1039Russia2025-04-04
1040Italy2025-04-08
1041Australia2025-04-29
1042Spain2025-04-05
1043India2025-04-28
1044Italy2025-04-15
1045France2025-04-18
1046India2025-04-15
1047Russia2025-04-19
1048Germany2025-04-23
1049Australia2025-04-07

On-Demand Data

NameIdCountryDate
Nicolas Z Rim1000India2025-04-18
Morrow H Waycott1001Spain2025-04-30
Jeanfrancois C Figeroa1002Argentina2025-04-12
Rodrigues S Chui1003United Kingdom2025-04-21
Jefferson C Campain1004France2025-04-08
Munro Y Wieser1005Canada2025-04-01
Octavia E Kolmetz1006Japan2025-04-27
Kaitlin C Albares1007Spain2025-04-02
Greenwood M Gaucho1008United Kingdom2025-04-03
Chavez G Glick1009Japan2025-04-24
Stacey S Ostrosky1010Japan2025-04-05
Maria V Saylors1011United Kingdom2025-04-02
Wickens V Waycott1012United Kingdom2025-04-04
Emily J Caudy1013Germany2025-04-04
Nicolas G Ferencz1014Japan2025-04-07
Adams W Campain1015Italy2025-04-30
Aruna C Garufi1016Canada2025-04-19
Kadeem V Ruta1017Brazil2025-04-15
Misaki H Albares1018Canada2025-04-14
Kadeem H Stockham1019France2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio N RutaGermanyAsiya Javayant UNQUALIFIED
Mayumi R AmigonItalyIvan Magalhaes QUALIFIED
Izzy U PoquetteCanadaAsiya Javayant UNQUALIFIED
Morrow Q RulapaughArgentinaBernardo Dominic RENEWAL
Deepesh U NickaRussiaIoni Bowcher NEW
Cody F ShinkoGermanyBernardo Dominic NEW
Misaki G RimBrazilIvan Magalhaes NEW
Jeanfrancois M IturbideSpainOnyama Limba PROPOSAL
Francesco M FerenczItalyIoni Bowcher NEW
Julie G CaldareraSpainXuxue Feng RENEWAL
Salvatore M ChuiCanadaXuxue Feng NEW
Aruna A BologniaFranceIvan Magalhaes UNQUALIFIED
Morrow J ChuiCanadaStephen Shaw PROPOSAL
Munro P BologniaIndiaIoni Bowcher QUALIFIED
Jennifer K BologniaJapanElwin Sharvill PROPOSAL
Costa A SergiIndiaAmy Elsner RENEWAL
Isabel K BologniaItalyIoni Bowcher PROPOSAL
Munro F GillianUnited KingdomAnna Fali UNQUALIFIED
Ivar T SlusarskiJapanAmy Elsner UNQUALIFIED
Clifford Z WaycottSpainXuxue Feng UNQUALIFIED
Aditya A BologniaRussiaIoni Bowcher PROPOSAL
Isabel G TollnerIndiaBernardo Dominic NEW
Isabel Q CaudyFranceOnyama Limba NEW
Morrow O GauchoArgentinaIoni Bowcher RENEWAL
Silvio M DoeArgentinaElwin Sharvill RENEWAL
Chavez B FigeroaCanadaXuxue Feng PROPOSAL
Wickens J RulapaughFranceAmy Elsner NEGOTIATION
Clifford O MaletItalyAnna Fali UNQUALIFIED
Jones M ButtAustraliaAsiya Javayant RENEWAL
Julie V AmigonAustraliaStephen Shaw RENEWAL
Adams W KuskoUnited KingdomOnyama Limba RENEWAL
Misaki X WaycottIndiaStephen Shaw NEW
Jones K NickaJapanXuxue Feng QUALIFIED
Claire T CaldareraBrazilBernardo Dominic NEW
Clifford V ShinkoItalyAsiya Javayant NEW
Rodrigues L NestleArgentinaAsiya Javayant RENEWAL
Alejandro J SlusarskiItalyIvan Magalhaes NEW
Leon V MaletIndiaElwin Sharvill NEGOTIATION
Juan A RutaArgentinaAsiya Javayant NEW
Ivar F CaudyItalyIvan Magalhaes 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>