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
Costa O NickaFranceBernardo Dominic QUALIFIED
Kaitlin J FollerJapanOnyama Limba RENEWAL
Darci H RutaIndiaOnyama Limba RENEWAL
Juan O BowleyFranceAsiya Javayant NEW
Jeanfrancois U MaletCanadaAnna Fali QUALIFIED
Arvin A ShinkoFranceStephen Shaw NEGOTIATION
Maisha C RulapaughBrazilAnna Fali RENEWAL
Mujtaba O MacleadIndiaAsiya Javayant RENEWAL
Ashley N CaldareraIndiaIvan Magalhaes NEW
Kadeem E RulapaughBrazilOnyama Limba NEGOTIATION
Sinclair H VenereFranceIoni Bowcher QUALIFIED
Aditya I AlbaresRussiaAmy Elsner NEW
Emily P VocelkaAustraliaIoni Bowcher RENEWAL
Jennifer Q PoquetteItalyBernardo Dominic QUALIFIED
Ivar W DilliardRussiaBernardo Dominic NEGOTIATION
Smith D AmigonArgentinaAmy Elsner UNQUALIFIED
Silvio J ShinkoSpainIoni Bowcher QUALIFIED
Murillo Z VenereSpainAmy Elsner NEW
Aika S ButtArgentinaElwin Sharvill PROPOSAL
Izzy H CaldareraAustraliaIvan Magalhaes QUALIFIED
Rodrigues T DarakjyItalyXuxue Feng NEGOTIATION
Munro R TollnerArgentinaAmy Elsner NEW
Maria L SlusarskiSpainXuxue Feng UNQUALIFIED
Izzy U RimIndiaIvan Magalhaes PROPOSAL
Chavez H SaylorsCanadaAnna Fali QUALIFIED
Jennifer I WieserIndiaElwin Sharvill NEGOTIATION
Jones M IturbideArgentinaBernardo Dominic RENEWAL
Ashley A NickaCanadaAsiya Javayant PROPOSAL
Alejandro N BowleyBrazilXuxue Feng QUALIFIED
Sinclair O MaletItalyElwin Sharvill QUALIFIED
Kaitlin L MaletIndiaAmy Elsner PROPOSAL
Julie J MarrierFranceAnna Fali NEGOTIATION
Deepesh Y StockhamItalyIoni Bowcher NEW
Ivar G BologniaRussiaBernardo Dominic QUALIFIED
Maria F PaprockiBrazilElwin Sharvill PROPOSAL
Misaki W WieserSpainOnyama Limba PROPOSAL
Aika O MarrierGermanyOnyama Limba NEGOTIATION
Mayumi H FollerItalyIvan Magalhaes PROPOSAL
Octavia T KolmetzGermanyOnyama Limba NEGOTIATION
Emily I RutaItalyXuxue Feng RENEWAL
Sinclair R BologniaGermanyBernardo Dominic PROPOSAL
Clifford N WaycottRussiaAnna Fali NEGOTIATION
Murillo Z SergiArgentinaElwin Sharvill UNQUALIFIED
Nicolas I TollnerFranceAsiya Javayant QUALIFIED
David R FerenczSpainAsiya Javayant QUALIFIED
Mayumi O WaycottRussiaBernardo Dominic PROPOSAL
Leon W NestleCanadaStephen Shaw QUALIFIED
Chavez W KuskoRussiaIvan Magalhaes PROPOSAL
Smith A OldroydFranceAnna Fali NEW
Mujtaba T GarufiFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel J NestleJapanElwin Sharvill NEGOTIATION
Johnson A MorascaSpainAnna Fali NEGOTIATION
Juan A WhobreyArgentinaOnyama Limba NEGOTIATION
Julie I CampainItalyIvan Magalhaes PROPOSAL
Johnson X VocelkaUnited KingdomElwin Sharvill PROPOSAL
Kadeem I MaletItalyIoni Bowcher PROPOSAL
Stacey R AmigonGermanyXuxue Feng NEW
Jefferson E FigeroaSpainAmy Elsner RENEWAL
Morrow K KolmetzArgentinaIvan Magalhaes NEW
Antonio S FlosiGermanyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin P MarrierArgentina2024-06-10Morlong Associates NEGOTIATION0Amy Elsner
1001Emily Z FlosiArgentina2024-06-09Printing Dimensions NEW83Anna Fali
1002Greenwood T NickaCanada2024-05-28Printing Dimensions RENEWAL35Xuxue Feng
1003Aruna K NickaFrance2024-06-05Benton, John B Jr NEGOTIATION70Asiya Javayant
1004Murillo L CaudyBrazil2024-06-24Benton, John B Jr NEGOTIATION80Onyama Limba
1005Misaki K KuskoGermany2024-06-14Truhlar And Truhlar Attys NEW66Amy Elsner
1006Misaki O VenereCanada2024-06-02Feltz Printing Service QUALIFIED17Stephen Shaw
1007Leon O FlosiBrazil2024-06-21Feiner Bros PROPOSAL44Ivan Magalhaes
1008Murillo Y SergiItaly2024-06-05Chemel, James L Cpa QUALIFIED11Bernardo Dominic
1009Mayumi B BowleyFrance2024-06-19King, Christopher A Esq NEW49Stephen Shaw
1010Faith Q IturbideRussia2024-06-12Rangoni Of Florence UNQUALIFIED27Ivan Magalhaes
1011Alejandro O MaletItaly2024-06-17Chemel, James L Cpa PROPOSAL16Ioni Bowcher
1012Rodrigues S SergiSpain2024-06-09Feltz Printing Service NEW71Elwin Sharvill
1013Wickens J MarrierArgentina2024-05-29Rangoni Of Florence QUALIFIED41Onyama Limba
1014Izzy Z WhobreyIndia2024-06-03Printing Dimensions QUALIFIED76Stephen Shaw
1015Ricardo Q SergiBrazil2024-06-06Chapman, Ross E Esq NEW10Amy Elsner
1016Octavia Z SergiUnited Kingdom2024-06-13Chemel, James L Cpa RENEWAL47Asiya Javayant
1017Smith Q KolmetzFrance2024-05-26King, Christopher A Esq UNQUALIFIED89Ioni Bowcher
1018Mayumi L GillianJapan2024-06-14Morlong Associates NEW78Ioni Bowcher
1019David J AmigonSpain2024-05-31Chemel, James L Cpa UNQUALIFIED22Amy Elsner
1020Misaki W TollnerIndia2024-06-09Rangoni Of Florence RENEWAL84Asiya Javayant
1021Murillo K KuskoJapan2024-06-10Chanay, Jeffrey A Esq QUALIFIED20Bernardo Dominic
1022Costa C OldroydCanada2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED17Xuxue Feng
1023Misaki P NestleCanada2024-05-27Dorl, James J Esq NEGOTIATION42Elwin Sharvill
1024Maisha O PerinIndia2024-06-24Feltz Printing Service RENEWAL74Bernardo Dominic
1025Wickens N CaldareraSpain2024-06-14Chanay, Jeffrey A Esq NEGOTIATION50Asiya Javayant
1026Kadeem H GillianFrance2024-05-29Buckley Miller Wright RENEWAL58Bernardo Dominic
1027Nicolas B MorascaAustralia2024-06-24Dorl, James J Esq PROPOSAL4Stephen Shaw
1028Leja S SaylorsItaly2024-05-27Morlong Associates NEW77Stephen Shaw
1029Kadeem X KolmetzCanada2024-06-11Feiner Bros PROPOSAL64Xuxue Feng
1030Costa Q RimUnited Kingdom2024-06-24Printing Dimensions NEW14Ioni Bowcher
1031Ricardo I FollerJapan2024-06-09King, Christopher A Esq RENEWAL93Xuxue Feng
1032David A StockhamCanada2024-06-22Rousseaux, Michael Esq PROPOSAL85Asiya Javayant
1033Costa P PoquetteJapan2024-06-13Printing Dimensions UNQUALIFIED59Ioni Bowcher
1034Claire X AmigonIndia2024-05-27Chanay, Jeffrey A Esq QUALIFIED1Amy Elsner
1035Juan Z FigeroaUnited Kingdom2024-05-27Buckley Miller Wright RENEWAL18Asiya Javayant
1036Clifford H ShinkoUnited Kingdom2024-06-15Truhlar And Truhlar Attys RENEWAL95Anna Fali
1037Silvio E FollerSpain2024-06-19Chemel, James L Cpa UNQUALIFIED21Asiya Javayant
1038Salvatore Q VocelkaSpain2024-06-16Commercial Press UNQUALIFIED10Xuxue Feng
1039Munro X FerenczJapan2024-06-02Truhlar And Truhlar Attys RENEWAL0Ivan Magalhaes
1040Jennifer E FigeroaJapan2024-05-30Benton, John B Jr PROPOSAL48Amy Elsner
1041Johnson L MaletBrazil2024-06-18Rangoni Of Florence QUALIFIED21Anna Fali
1042Sinclair F DarakjyItaly2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED88Elwin Sharvill
1043Stacey N ButtJapan2024-06-02Benton, John B Jr PROPOSAL89Stephen Shaw
1044Morrow X DilliardGermany2024-06-23Dorl, James J Esq PROPOSAL54Onyama Limba
1045Adams A BriddickIndia2024-06-15Commercial Press UNQUALIFIED49Bernardo Dominic
1046Aditya A DoeBrazil2024-06-21Rangoni Of Florence RENEWAL21Xuxue Feng
1047Rodrigues X DarakjyItaly2024-05-26Chemel, James L Cpa NEW36Onyama Limba
1048Kadeem Y CaldareraUnited Kingdom2024-06-20King, Christopher A Esq PROPOSAL52Onyama Limba
1049Ashley Y SchemmerArgentina2024-06-10Commercial Press QUALIFIED77Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi W RimIndiaBernardo Dominic NEW
Smith N CampainRussiaElwin Sharvill UNQUALIFIED
Clifford A ButtAustraliaIvan Magalhaes NEGOTIATION
Clifford S DilliardItalyIvan Magalhaes NEGOTIATION
Julie R RulapaughBrazilIoni Bowcher PROPOSAL
Morrow Z NickaSpainOnyama Limba PROPOSAL
Isabel Q GauchoItalyBernardo Dominic NEW
Jones C BologniaItalyAsiya Javayant UNQUALIFIED
Jefferson J MaletArgentinaAsiya Javayant QUALIFIED
Chavez H SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Tony Z RoysterCanadaAsiya Javayant QUALIFIED
Octavia C NestleItalyAmy Elsner NEW
Murillo D FollerGermanyAsiya Javayant QUALIFIED
Isabel M ButtAustraliaIoni Bowcher QUALIFIED
Nicolas A PaprockiRussiaXuxue Feng NEW
Juan I OldroydBrazilAsiya Javayant UNQUALIFIED
Julie L FigeroaIndiaIoni Bowcher QUALIFIED
Aika L RoysterCanadaBernardo Dominic QUALIFIED
Leja Z IturbideItalyXuxue Feng QUALIFIED
Emily O PoquetteCanadaAnna Fali RENEWAL
Emily K AmigonCanadaAnna Fali UNQUALIFIED
Stacey N DilliardAustraliaBernardo Dominic NEW
Aditya J MacleadRussiaIoni Bowcher RENEWAL
Jeanfrancois U CaudyAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois B CampainUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin Q StockhamCanadaStephen Shaw NEW
Jennifer R PoquetteBrazilAsiya Javayant NEW
Claire Z GarufiSpainIoni Bowcher NEGOTIATION
Cody P GauchoJapanIvan Magalhaes NEGOTIATION
Clifford D SchemmerAustraliaOnyama Limba PROPOSAL
Francesco I GauchoFranceAnna Fali QUALIFIED
Nicolas B GarufiCanadaAsiya Javayant QUALIFIED
Misaki J KuskoRussiaAmy Elsner UNQUALIFIED
Mayumi M MaletIndiaAnna Fali NEGOTIATION
Jeanfrancois T TollnerRussiaBernardo Dominic QUALIFIED
Juan Y GarufiItalyIoni Bowcher NEGOTIATION
Darci X MaletRussiaAsiya Javayant UNQUALIFIED
Rodrigues T ButtAustraliaAmy Elsner RENEWAL
David Q WhobreyUnited KingdomAnna Fali NEGOTIATION
Cody W BriddickItalyBernardo Dominic PROPOSAL
Costa E RoysterRussiaIvan Magalhaes UNQUALIFIED
Ashley Q DilliardIndiaElwin Sharvill UNQUALIFIED
Deepesh C PaprockiIndiaAnna Fali UNQUALIFIED
Munro V StockhamItalyAnna Fali NEW
Arvin J GlickSpainIoni Bowcher NEW
Morrow D MaletItalyBernardo Dominic NEGOTIATION
Antonio C MaletBrazilIvan Magalhaes RENEWAL
Francesco P FigeroaBrazilBernardo Dominic UNQUALIFIED
Deepesh P AlbaresRussiaAnna Fali NEW
Deepesh A DarakjyArgentinaAnna Fali NEGOTIATION
Frozen Columns
Name
Leon W Bolognia
Smith M Paprocki
Leja P Marrier
Kadeem Q Albares
Ricardo E Chui
Johnson X Chui
Francesco E Vocelka
Silvio R Figeroa
Murillo Q Gaucho
Mujtaba F Slusarski
Tony Q Bolognia
Johnson B Doe
Leja E Campain
Munro Z Paprocki
Nicolas R Rim
Salvatore K Marrier
Ivar S Caldarera
Johnson U Tollner
Maria P Caldarera
Tony T Caudy
Maisha S Maclead
Costa E Rulapaugh
Jones M Venere
Izzy F Briddick
Wickens G Darakjy
Kadeem D Briddick
Munro E Slusarski
Smith C Iturbide
Morrow K Rim
Deepesh X Nestle
Ashley N Poquette
Jeanfrancois Y Stockham
Julie B Foller
Cody F Rim
Cody C Nicka
Maria E Gillian
Jones C Doe
Aika T Foller
Emily M Malet
James A Royster
Kadeem Z Stockham
Isabel S Kolmetz
Ivar Q Saylors
Silvio Y Maclead
Octavia B Royster
Leja Q Sergi
Morrow K Maclead
Maisha I Malet
Arvin S Gillian
Arvin B Royster
IdCountryDate
1000Brazil2024-05-29
1001Spain2024-05-28
1002France2024-05-30
1003Russia2024-06-15
1004United Kingdom2024-06-12
1005Germany2024-06-17
1006Brazil2024-06-13
1007Japan2024-06-17
1008Russia2024-06-01
1009Russia2024-06-23
1010Japan2024-06-12
1011Argentina2024-06-16
1012Spain2024-06-10
1013Spain2024-06-03
1014Brazil2024-06-20
1015Italy2024-06-02
1016United Kingdom2024-05-28
1017France2024-06-12
1018India2024-06-10
1019United Kingdom2024-06-19
1020France2024-05-30
1021Canada2024-06-15
1022United Kingdom2024-06-16
1023Brazil2024-06-01
1024Brazil2024-05-26
1025Brazil2024-06-02
1026Canada2024-06-04
1027Australia2024-06-19
1028India2024-05-31
1029Canada2024-06-10
1030Germany2024-05-27
1031Canada2024-06-03
1032Japan2024-06-20
1033Brazil2024-06-20
1034Germany2024-06-21
1035France2024-05-29
1036Russia2024-06-17
1037United Kingdom2024-06-23
1038India2024-06-16
1039Australia2024-06-24
1040India2024-06-23
1041Germany2024-06-13
1042Japan2024-06-01
1043France2024-05-29
1044Italy2024-05-26
1045Italy2024-06-21
1046Japan2024-06-13
1047Japan2024-06-01
1048France2024-06-20
1049United Kingdom2024-06-14

On-Demand Data

NameIdCountryDate
Costa A Nicka1000Japan2024-06-20
Arvin Z Kolmetz1001France2024-06-17
Silvio J Bolognia1002United Kingdom2024-05-27
Nicolas N Doe1003Germany2024-06-17
Smith C Paprocki1004Argentina2024-06-24
Johnson Z Iturbide1005Japan2024-06-17
Isabel Q Gillian1006United Kingdom2024-05-29
Wickens M Bowley1007Japan2024-06-16
Aika N Campain1008Brazil2024-06-22
Mayumi F Stockham1009France2024-05-27
Clifford S Caudy1010Russia2024-06-22
James Y Ferencz1011Brazil2024-05-31
Jones R Ferencz1012Spain2024-06-16
Clifford U Paprocki1013Italy2024-06-06
Tony Y Ostrosky1014Canada2024-05-28
Francesco J Ostrosky1015United Kingdom2024-06-04
Izzy F Ruta1016Russia2024-06-02
Clifford U Butt1017France2024-06-20
Darci R Saylors1018Italy2024-06-10
Antonio R Waycott1019Argentina2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody D StockhamFranceStephen Shaw NEGOTIATION
Claire K KuskoSpainAmy Elsner NEW
Julie A BowleyGermanyStephen Shaw UNQUALIFIED
Ricardo Y PaprockiRussiaStephen Shaw PROPOSAL
Mayumi K SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Munro X CaudyCanadaAnna Fali QUALIFIED
Mayumi X RulapaughRussiaAmy Elsner PROPOSAL
Juan F InouyeAustraliaStephen Shaw UNQUALIFIED
Mujtaba G GarufiSpainXuxue Feng NEGOTIATION
Aditya I VocelkaArgentinaAsiya Javayant NEGOTIATION
Jones H DarakjyIndiaIvan Magalhaes UNQUALIFIED
Costa P KolmetzUnited KingdomXuxue Feng PROPOSAL
Francesco Y OldroydArgentinaIvan Magalhaes RENEWAL
Arvin G MacleadBrazilOnyama Limba RENEWAL
Isabel Z CaudyArgentinaXuxue Feng NEW
Aruna B NickaJapanElwin Sharvill UNQUALIFIED
Mujtaba Y DilliardIndiaAmy Elsner QUALIFIED
Leja F BriddickArgentinaIoni Bowcher RENEWAL
Kaitlin L RimGermanyAmy Elsner UNQUALIFIED
Claire W MarrierFranceAmy Elsner NEW
Antonio H OstroskySpainAsiya Javayant RENEWAL
Julie C DoeCanadaAsiya Javayant RENEWAL
Ashley Q SaylorsSpainOnyama Limba QUALIFIED
Isabel Q NickaSpainAmy Elsner NEGOTIATION
Morrow Q AmigonArgentinaAmy Elsner PROPOSAL
Stacey X DilliardJapanXuxue Feng NEGOTIATION
Wickens G RulapaughIndiaIoni Bowcher NEGOTIATION
Wickens M MarrierCanadaIvan Magalhaes UNQUALIFIED
Claire R GarufiItalyIoni Bowcher UNQUALIFIED
Aditya L PoquetteGermanyAnna Fali NEGOTIATION
Jones G RulapaughFranceAsiya Javayant QUALIFIED
Kaitlin H StockhamAustraliaAmy Elsner NEW
Antonio H GauchoCanadaElwin Sharvill NEW
Francesco U MorascaCanadaAmy Elsner RENEWAL
David I AlbaresFranceAsiya Javayant NEGOTIATION
Salvatore C NickaBrazilXuxue Feng NEW
Wickens V NestleIndiaIvan Magalhaes QUALIFIED
Leon Z KolmetzIndiaOnyama Limba PROPOSAL
Leon H KolmetzItalyElwin Sharvill NEW
Rodrigues T PerinAustraliaBernardo 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>