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
Mayumi R SaylorsJapanXuxue Feng QUALIFIED
Tony H WaycottCanadaAmy Elsner NEW
Leja G FlosiAustraliaAnna Fali NEGOTIATION
Antonio B WhobreyJapanElwin Sharvill RENEWAL
Tony G WaycottJapanAnna Fali NEGOTIATION
Ashley Y AmigonGermanyAnna Fali RENEWAL
Antonio F RulapaughAustraliaIvan Magalhaes QUALIFIED
Leja Q MarrierFranceBernardo Dominic NEW
Clifford F FlosiGermanyIvan Magalhaes QUALIFIED
Alejandro G KuskoUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin O WieserAustraliaAmy Elsner PROPOSAL
Tony A MorascaUnited KingdomAmy Elsner RENEWAL
Sinclair J CaldareraJapanIoni Bowcher PROPOSAL
Maria P VenereIndiaElwin Sharvill PROPOSAL
Ashley A WhobreyFranceIoni Bowcher PROPOSAL
Aika F VocelkaGermanyAsiya Javayant PROPOSAL
Antonio K KuskoCanadaOnyama Limba NEW
Adams N WhobreyJapanStephen Shaw RENEWAL
Maria U AmigonJapanOnyama Limba NEW
Kaitlin Q RutaCanadaOnyama Limba RENEWAL
Nicolas T PaprockiRussiaAnna Fali NEW
Salvatore Q PoquetteArgentinaIoni Bowcher NEW
Jones U PaprockiRussiaIoni Bowcher PROPOSAL
Chavez M SlusarskiBrazilBernardo Dominic RENEWAL
Murillo I NestleSpainXuxue Feng RENEWAL
Emily W NickaIndiaXuxue Feng RENEWAL
Kaitlin Q KuskoSpainElwin Sharvill UNQUALIFIED
Jennifer U SlusarskiJapanElwin Sharvill UNQUALIFIED
Sinclair P ChuiBrazilAsiya Javayant QUALIFIED
Mujtaba K WieserItalyIvan Magalhaes NEGOTIATION
Aditya K KuskoItalyElwin Sharvill NEGOTIATION
Chavez J MarrierBrazilOnyama Limba PROPOSAL
Emily U NickaCanadaOnyama Limba NEGOTIATION
Claire K BologniaArgentinaAnna Fali PROPOSAL
Maria P NestleBrazilIvan Magalhaes QUALIFIED
Chavez V IturbideAustraliaBernardo Dominic QUALIFIED
Wickens W FlosiArgentinaIoni Bowcher UNQUALIFIED
Smith K FlosiAustraliaAmy Elsner NEW
Claire X BriddickAustraliaAsiya Javayant RENEWAL
Stacey A FigeroaIndiaAsiya Javayant NEW
Maisha P RoysterBrazilElwin Sharvill RENEWAL
David P PoquetteFranceAmy Elsner NEGOTIATION
Salvatore L StensethIndiaIoni Bowcher NEGOTIATION
Maisha S FollerCanadaBernardo Dominic UNQUALIFIED
Aruna J FigeroaGermanyAmy Elsner UNQUALIFIED
Maria S KolmetzAustraliaAmy Elsner RENEWAL
Jefferson L OstroskyFranceBernardo Dominic UNQUALIFIED
Isabel X CaldareraIndiaAmy Elsner NEW
Emily I BriddickAustraliaIoni Bowcher UNQUALIFIED
Cody Q RutaUnited KingdomIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues D MaletBrazilIvan Magalhaes NEW
Mujtaba G MorascaCanadaStephen Shaw NEW
Octavia R AmigonAustraliaStephen Shaw NEGOTIATION
Jeanfrancois N BologniaArgentinaXuxue Feng PROPOSAL
Maisha L TollnerJapanIvan Magalhaes RENEWAL
Julie O MaletCanadaElwin Sharvill QUALIFIED
Darci Q WieserIndiaAmy Elsner QUALIFIED
Salvatore I OstroskyCanadaIoni Bowcher UNQUALIFIED
Ivar C PaprockiCanadaBernardo Dominic QUALIFIED
Juan V AmigonCanadaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson N GauchoGermany2024-05-16Printing Dimensions NEW35Bernardo Dominic
1001Misaki D KuskoJapan2024-05-09Truhlar And Truhlar Attys NEGOTIATION77Ioni Bowcher
1002Izzy V IturbideJapan2024-05-02Morlong Associates UNQUALIFIED6Stephen Shaw
1003Jeanfrancois O PaprockiCanada2024-05-16Chemel, James L Cpa RENEWAL31Onyama Limba
1004Faith G StensethItaly2024-05-13Buckley Miller Wright UNQUALIFIED3Anna Fali
1005Mayumi L BologniaBrazil2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED26Ioni Bowcher
1006Jones F StockhamIndia2024-05-14Rangoni Of Florence NEGOTIATION72Bernardo Dominic
1007Greenwood L KuskoAustralia2024-05-13Rousseaux, Michael Esq PROPOSAL40Bernardo Dominic
1008Jefferson I MorascaUnited Kingdom2024-05-20Rousseaux, Michael Esq NEGOTIATION91Amy Elsner
1009Smith V ButtFrance2024-05-04Chemel, James L Cpa RENEWAL34Ivan Magalhaes
1010Ashley L CaldareraArgentina2024-05-08Chapman, Ross E Esq NEGOTIATION67Asiya Javayant
1011Salvatore X NickaSpain2024-05-02Feiner Bros NEGOTIATION73Onyama Limba
1012Rodrigues F NestleIndia2024-05-27Rousseaux, Michael Esq NEW15Bernardo Dominic
1013Francesco R ButtSpain2024-05-03Benton, John B Jr UNQUALIFIED72Stephen Shaw
1014Deepesh Z StensethRussia2024-05-05Commercial Press QUALIFIED58Xuxue Feng
1015Aika E WaycottCanada2024-05-17Dorl, James J Esq RENEWAL10Ioni Bowcher
1016Stacey G BologniaGermany2024-05-10Rangoni Of Florence PROPOSAL24Amy Elsner
1017Munro T KuskoSpain2024-05-27Buckley Miller Wright PROPOSAL59Xuxue Feng
1018Ricardo K RutaUnited Kingdom2024-05-04Feiner Bros UNQUALIFIED31Stephen Shaw
1019Octavia F VocelkaFrance2024-05-02Rangoni Of Florence QUALIFIED14Bernardo Dominic
1020Emily Z CaudyGermany2024-05-21Feiner Bros QUALIFIED60Xuxue Feng
1021Chavez W OldroydItaly2024-05-02Benton, John B Jr NEGOTIATION53Xuxue Feng
1022Octavia D DilliardJapan2024-05-08Truhlar And Truhlar Attys RENEWAL97Elwin Sharvill
1023Kaitlin R AlbaresUnited Kingdom2024-05-01Dorl, James J Esq PROPOSAL83Amy Elsner
1024Izzy P ChuiCanada2024-05-27Buckley Miller Wright NEW53Ivan Magalhaes
1025Isabel H RimSpain2024-05-07Printing Dimensions UNQUALIFIED92Asiya Javayant
1026Alejandro D MorascaUnited Kingdom2024-05-27Chanay, Jeffrey A Esq NEW40Ivan Magalhaes
1027Clifford C RimGermany2024-05-24Chapman, Ross E Esq NEGOTIATION20Onyama Limba
1028Leja T GauchoFrance2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED97Bernardo Dominic
1029Misaki K MaletFrance2024-05-27Chemel, James L Cpa QUALIFIED97Onyama Limba
1030James W WhobreyJapan2024-04-28Benton, John B Jr UNQUALIFIED90Ivan Magalhaes
1031Munro V WieserArgentina2024-05-27Rangoni Of Florence QUALIFIED6Elwin Sharvill
1032Adams D FollerCanada2024-05-26Buckley Miller Wright RENEWAL59Ioni Bowcher
1033Aditya N WaycottCanada2024-05-09Dorl, James J Esq NEW23Ivan Magalhaes
1034James Z InouyeJapan2024-05-04Rangoni Of Florence UNQUALIFIED4Bernardo Dominic
1035Ivar F MarrierSpain2024-05-14Morlong Associates QUALIFIED62Onyama Limba
1036Costa S StockhamGermany2024-05-16Truhlar And Truhlar Attys UNQUALIFIED88Asiya Javayant
1037Jennifer O CaudyGermany2024-04-30Feiner Bros NEW48Anna Fali
1038Kadeem J MaletRussia2024-05-19Printing Dimensions PROPOSAL84Anna Fali
1039Mayumi K DoeBrazil2024-05-08Buckley Miller Wright RENEWAL34Stephen Shaw
1040Rodrigues Q DarakjyJapan2024-05-11King, Christopher A Esq UNQUALIFIED26Stephen Shaw
1041Maria N MaletRussia2024-05-27Printing Dimensions QUALIFIED13Stephen Shaw
1042Emily D MorascaJapan2024-05-13King, Christopher A Esq PROPOSAL64Stephen Shaw
1043Ivar Z StockhamGermany2024-05-05Benton, John B Jr PROPOSAL89Asiya Javayant
1044Adams N SchemmerBrazil2024-05-09Benton, John B Jr RENEWAL86Ivan Magalhaes
1045Jennifer Q NickaCanada2024-05-02Dorl, James J Esq QUALIFIED9Bernardo Dominic
1046Darci P MaletRussia2024-05-14Rousseaux, Michael Esq QUALIFIED61Stephen Shaw
1047Kadeem B BriddickGermany2024-05-11Rousseaux, Michael Esq NEGOTIATION49Asiya Javayant
1048Juan D AmigonRussia2024-05-06Rousseaux, Michael Esq PROPOSAL71Bernardo Dominic
1049David A FigeroaGermany2024-05-26King, Christopher A Esq QUALIFIED13Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy E KolmetzItalyBernardo Dominic RENEWAL
Rodrigues I GauchoIndiaIoni Bowcher RENEWAL
Jefferson B CaldareraArgentinaXuxue Feng QUALIFIED
Rodrigues Y CaldareraItalyAnna Fali QUALIFIED
Maria W FigeroaCanadaAnna Fali NEGOTIATION
Maisha C ChuiJapanAmy Elsner NEGOTIATION
Aika A AlbaresGermanyOnyama Limba QUALIFIED
Sinclair D AlbaresArgentinaOnyama Limba PROPOSAL
Claire V KolmetzCanadaElwin Sharvill QUALIFIED
Julie H WieserIndiaIoni Bowcher RENEWAL
Nicolas T NickaItalyElwin Sharvill UNQUALIFIED
Mujtaba L RutaRussiaBernardo Dominic UNQUALIFIED
Kaitlin W TollnerAustraliaBernardo Dominic NEGOTIATION
James V PoquetteAustraliaAmy Elsner UNQUALIFIED
Kaitlin H SaylorsBrazilAsiya Javayant NEGOTIATION
Salvatore I MaletGermanyOnyama Limba NEW
Smith Q InouyeAustraliaOnyama Limba UNQUALIFIED
Aruna N SaylorsBrazilAmy Elsner NEGOTIATION
Maria O WieserGermanyBernardo Dominic NEW
Kadeem U TollnerSpainOnyama Limba NEW
Munro B PerinFranceXuxue Feng PROPOSAL
Aditya L GauchoSpainXuxue Feng NEGOTIATION
Stacey B VenereIndiaAsiya Javayant QUALIFIED
Leon O MaletArgentinaXuxue Feng NEGOTIATION
Ivar N SergiRussiaElwin Sharvill QUALIFIED
Arvin A MarrierBrazilOnyama Limba PROPOSAL
Alejandro Y ButtUnited KingdomOnyama Limba NEW
Adams Y SaylorsRussiaElwin Sharvill PROPOSAL
David J PoquetteCanadaAsiya Javayant PROPOSAL
Wickens I RimJapanElwin Sharvill NEW
Antonio U WaycottRussiaElwin Sharvill UNQUALIFIED
David I GauchoArgentinaIvan Magalhaes RENEWAL
Adams A SlusarskiCanadaOnyama Limba PROPOSAL
Tony E WieserFranceBernardo Dominic QUALIFIED
Antonio F WhobreyAustraliaAnna Fali UNQUALIFIED
Clifford R VenereArgentinaBernardo Dominic PROPOSAL
Kaitlin S BowleyAustraliaOnyama Limba QUALIFIED
Darci P NestleUnited KingdomIoni Bowcher NEGOTIATION
James S MaletSpainStephen Shaw QUALIFIED
Johnson D FigeroaArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois S RutaUnited KingdomAsiya Javayant PROPOSAL
Emily Y WieserUnited KingdomOnyama Limba RENEWAL
Ashley Z NestleRussiaAnna Fali UNQUALIFIED
Emily F GillianCanadaAsiya Javayant PROPOSAL
Jefferson H RulapaughCanadaAsiya Javayant RENEWAL
Aruna H CampainArgentinaAnna Fali UNQUALIFIED
Juan I RutaAustraliaOnyama Limba UNQUALIFIED
Claire V StensethGermanyIoni Bowcher PROPOSAL
Aika T IturbideFranceStephen Shaw PROPOSAL
Jeanfrancois T DoeGermanyBernardo Dominic PROPOSAL
Frozen Columns
Name
Francesco V Inouye
Antonio C Stenseth
Aika Z Tollner
Kaitlin M Caudy
Kadeem G Amigon
Maisha R Whobrey
Clifford J Paprocki
Izzy S Amigon
Deepesh A Perin
Darci P Stenseth
Salvatore X Royster
Kaitlin B Ruta
James W Ferencz
Octavia G Wieser
Isabel C Caldarera
Smith F Shinko
Jennifer R Inouye
Ashley S Sergi
Kadeem W Poquette
Stacey O Chui
Clifford W Chui
David J Sergi
Munro V Dilliard
Nicolas T Morasca
Emily B Doe
James L Doe
Johnson R Ferencz
Emily O Ruta
Adams N Schemmer
Deepesh P Stockham
Jones T Ferencz
Jennifer K Inouye
David B Poquette
Chavez L Nicka
Izzy L Albares
Adams N Darakjy
Leja S Malet
Munro T Maclead
Johnson Y Malet
Rodrigues G Figeroa
Isabel W Maclead
Jeanfrancois V Schemmer
Ivar F Waycott
Emily M Waycott
Mayumi Z Nestle
Salvatore T Campain
Aika D Amigon
Emily P Vocelka
Kadeem B Wieser
Mayumi K Darakjy
IdCountryDate
1000Germany2024-05-03
1001France2024-04-29
1002Australia2024-05-11
1003France2024-05-12
1004Argentina2024-05-18
1005United Kingdom2024-05-06
1006Canada2024-05-10
1007Germany2024-05-25
1008Australia2024-05-27
1009Argentina2024-05-03
1010France2024-04-29
1011Germany2024-05-11
1012Brazil2024-04-29
1013Canada2024-05-11
1014Brazil2024-05-24
1015Italy2024-04-29
1016United Kingdom2024-05-04
1017India2024-04-29
1018United Kingdom2024-05-05
1019Canada2024-05-06
1020Canada2024-05-11
1021Japan2024-05-12
1022India2024-05-09
1023Russia2024-05-23
1024Australia2024-05-14
1025Russia2024-05-07
1026Japan2024-05-25
1027Australia2024-05-21
1028Spain2024-04-28
1029Russia2024-05-02
1030France2024-05-13
1031Japan2024-05-03
1032Japan2024-05-17
1033Russia2024-05-15
1034Australia2024-05-14
1035Spain2024-05-22
1036Australia2024-05-11
1037United Kingdom2024-05-20
1038France2024-05-20
1039Argentina2024-05-06
1040Argentina2024-05-12
1041Italy2024-05-11
1042United Kingdom2024-05-03
1043United Kingdom2024-05-06
1044United Kingdom2024-05-22
1045Brazil2024-05-17
1046Australia2024-05-09
1047Canada2024-05-23
1048Australia2024-05-15
1049India2024-05-18

On-Demand Data

NameIdCountryDate
Octavia K Nestle1000Italy2024-05-25
Aika V Foller1001Spain2024-05-20
Misaki N Amigon1002Germany2024-05-08
Jefferson A Iturbide1003Australia2024-05-27
Tony M Slusarski1004Brazil2024-05-24
Nicolas X Kolmetz1005India2024-05-16
Faith Q Gaucho1006India2024-05-18
Ashley V Waycott1007Canada2024-05-01
Deepesh V Wieser1008Argentina2024-05-18
Kadeem V Darakjy1009United Kingdom2024-05-25
Alejandro O Briddick1010Germany2024-05-13
Silvio S Ostrosky1011Argentina2024-05-01
Jones A Kolmetz1012India2024-05-07
Maisha D Malet1013Russia2024-05-08
Jefferson D Chui1014Australia2024-05-23
Jeanfrancois S Stenseth1015India2024-05-01
Mujtaba D Glick1016Argentina2024-05-16
Francesco D Rulapaugh1017Japan2024-05-14
Jeanfrancois M Darakjy1018Brazil2024-05-19
Costa K Campain1019Spain2024-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Q MorascaRussiaIoni Bowcher RENEWAL
Antonio J GillianUnited KingdomElwin Sharvill PROPOSAL
Julie N GlickArgentinaIvan Magalhaes RENEWAL
Wickens O NestleUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood G RutaGermanyStephen Shaw RENEWAL
Aika B RimAustraliaXuxue Feng QUALIFIED
Maisha W WaycottSpainElwin Sharvill QUALIFIED
Wickens Q SlusarskiItalyElwin Sharvill NEGOTIATION
Claire V InouyeArgentinaStephen Shaw NEW
Tony C FollerAustraliaAnna Fali RENEWAL
Kadeem N RoysterCanadaAnna Fali RENEWAL
Claire M MarrierCanadaAnna Fali PROPOSAL
Johnson M WaycottAustraliaAsiya Javayant PROPOSAL
Cody V RimGermanyAnna Fali PROPOSAL
Ricardo G RulapaughJapanElwin Sharvill PROPOSAL
Mayumi H ShinkoFranceElwin Sharvill PROPOSAL
Juan P RoysterAustraliaAmy Elsner RENEWAL
Darci R DilliardRussiaAsiya Javayant QUALIFIED
Deepesh W MarrierCanadaAnna Fali RENEWAL
Greenwood C DilliardCanadaStephen Shaw UNQUALIFIED
Leja N ShinkoItalyOnyama Limba UNQUALIFIED
Adams N BriddickIndiaAsiya Javayant UNQUALIFIED
Murillo T BologniaItalyAsiya Javayant RENEWAL
Silvio R WhobreyItalyAmy Elsner QUALIFIED
Mayumi W PoquetteGermanyBernardo Dominic NEW
Jefferson Y RoysterSpainElwin Sharvill NEW
Ivar U WaycottRussiaAnna Fali NEW
Misaki G RoysterJapanAnna Fali QUALIFIED
Emily E NickaItalyAsiya Javayant PROPOSAL
Juan V DarakjyItalyAnna Fali QUALIFIED
Alejandro S SchemmerUnited KingdomOnyama Limba NEGOTIATION
Misaki F MarrierItalyElwin Sharvill PROPOSAL
Johnson O SergiCanadaAsiya Javayant PROPOSAL
Octavia Y OstroskyJapanElwin Sharvill PROPOSAL
Silvio M VocelkaAustraliaAsiya Javayant NEW
Jennifer J GillianFranceBernardo Dominic QUALIFIED
Misaki A WhobreyGermanyAnna Fali NEGOTIATION
Chavez J MacleadGermanyOnyama Limba NEW
Rodrigues Q MarrierFranceAsiya Javayant NEW
Emily G FigeroaUnited KingdomAnna Fali UNQUALIFIED

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