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 X RutaUnited KingdomStephen Shaw NEW
Kaitlin P BologniaFranceStephen Shaw QUALIFIED
Sinclair X MarrierItalyElwin Sharvill PROPOSAL
Maria W TollnerUnited KingdomBernardo Dominic NEGOTIATION
Leon U BowleyCanadaElwin Sharvill NEW
Leja B MorascaGermanyAsiya Javayant NEGOTIATION
Aruna Y ButtArgentinaAnna Fali UNQUALIFIED
Munro Z MaletRussiaIvan Magalhaes PROPOSAL
Tony G ButtCanadaAnna Fali NEGOTIATION
Jefferson D ShinkoCanadaXuxue Feng NEW
Aditya C MaletJapanIvan Magalhaes RENEWAL
Julie Y ChuiRussiaIoni Bowcher PROPOSAL
Octavia Q StensethUnited KingdomAmy Elsner PROPOSAL
Sinclair I SaylorsUnited KingdomBernardo Dominic QUALIFIED
Claire X ShinkoAustraliaXuxue Feng UNQUALIFIED
Claire A CaldareraFranceStephen Shaw PROPOSAL
Jennifer F StockhamSpainBernardo Dominic NEW
Tony T PerinAustraliaXuxue Feng QUALIFIED
Deepesh G RulapaughSpainAmy Elsner UNQUALIFIED
Leon G SergiRussiaXuxue Feng NEGOTIATION
Aika Y FigeroaSpainElwin Sharvill QUALIFIED
James T AmigonSpainIvan Magalhaes NEW
Murillo J AlbaresCanadaAsiya Javayant UNQUALIFIED
Cody L GlickUnited KingdomStephen Shaw NEGOTIATION
Greenwood F DarakjyItalyElwin Sharvill NEGOTIATION
Stacey N RoysterAustraliaAnna Fali QUALIFIED
Rodrigues K SaylorsFranceXuxue Feng PROPOSAL
Silvio R GarufiItalyAnna Fali UNQUALIFIED
Leja S RutaBrazilAnna Fali NEW
Faith Q FerenczGermanyElwin Sharvill PROPOSAL
Tony A PerinJapanXuxue Feng QUALIFIED
Maisha Y BowleyJapanXuxue Feng NEGOTIATION
Emily P VocelkaJapanAmy Elsner NEW
Juan F BriddickAustraliaAnna Fali QUALIFIED
Aditya B PoquetteItalyAmy Elsner RENEWAL
Clifford V GauchoBrazilXuxue Feng QUALIFIED
Izzy Q OldroydSpainBernardo Dominic NEW
Jennifer M StensethIndiaStephen Shaw RENEWAL
Deepesh Q OstroskyArgentinaAsiya Javayant NEW
Ricardo K IturbideFranceAsiya Javayant QUALIFIED
Greenwood L MaletBrazilAnna Fali UNQUALIFIED
Ashley Z BriddickGermanyIvan Magalhaes RENEWAL
Jeanfrancois M RulapaughUnited KingdomXuxue Feng NEW
Francesco T BowleyIndiaOnyama Limba RENEWAL
Ivar X CaudyCanadaOnyama Limba UNQUALIFIED
Claire S DarakjyBrazilStephen Shaw PROPOSAL
Jennifer T NickaBrazilIoni Bowcher PROPOSAL
Ashley Z MarrierArgentinaStephen Shaw NEGOTIATION
Francesco L ChuiFranceIoni Bowcher NEGOTIATION
David D DoeItalyBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon S PerinGermanyStephen Shaw NEW
Rodrigues E AlbaresBrazilAsiya Javayant RENEWAL
James W RutaBrazilAmy Elsner NEGOTIATION
Smith X RulapaughBrazilXuxue Feng RENEWAL
David E ShinkoGermanyStephen Shaw QUALIFIED
Chavez I FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson E WaycottRussiaIoni Bowcher NEGOTIATION
Octavia J MaletFranceOnyama Limba UNQUALIFIED
Johnson N FollerSpainStephen Shaw NEW
Mujtaba Z FerenczSpainAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James E FigeroaBrazil2024-06-17Truhlar And Truhlar Attys QUALIFIED0Asiya Javayant
1001Aditya Q KuskoJapan2024-06-16Truhlar And Truhlar Attys NEW0Onyama Limba
1002Faith K VocelkaItaly2024-06-05Chanay, Jeffrey A Esq PROPOSAL96Stephen Shaw
1003Munro E ChuiBrazil2024-06-14Commercial Press PROPOSAL9Amy Elsner
1004Ashley S MorascaGermany2024-06-15Rangoni Of Florence UNQUALIFIED40Amy Elsner
1005Costa W ButtGermany2024-06-03Chapman, Ross E Esq NEGOTIATION59Anna Fali
1006Leja N BowleyUnited Kingdom2024-06-21Dorl, James J Esq RENEWAL11Anna Fali
1007Octavia K SlusarskiRussia2024-06-04Chemel, James L Cpa QUALIFIED7Onyama Limba
1008Kadeem W KuskoFrance2024-06-14Rangoni Of Florence QUALIFIED67Bernardo Dominic
1009Clifford M ChuiRussia2024-06-21Rangoni Of Florence QUALIFIED94Amy Elsner
1010Deepesh D PaprockiSpain2024-06-01Morlong Associates UNQUALIFIED95Ioni Bowcher
1011Kadeem U SergiItaly2024-06-22Commercial Press QUALIFIED25Ioni Bowcher
1012Faith H DoeCanada2024-05-24Dorl, James J Esq QUALIFIED63Xuxue Feng
1013Aditya D FigeroaCanada2024-06-17Commercial Press NEGOTIATION29Xuxue Feng
1014Murillo Z SlusarskiGermany2024-06-19Feltz Printing Service NEGOTIATION9Xuxue Feng
1015Kadeem R VocelkaBrazil2024-06-14Chanay, Jeffrey A Esq QUALIFIED78Bernardo Dominic
1016Costa L IturbideRussia2024-06-05Rousseaux, Michael Esq PROPOSAL52Asiya Javayant
1017Wickens U MaletArgentina2024-05-25Dorl, James J Esq PROPOSAL25Stephen Shaw
1018Darci T RutaItaly2024-06-19Truhlar And Truhlar Attys NEGOTIATION51Ivan Magalhaes
1019Greenwood F NestleAustralia2024-06-01Buckley Miller Wright QUALIFIED6Elwin Sharvill
1020Isabel G AmigonFrance2024-05-29Rousseaux, Michael Esq QUALIFIED30Asiya Javayant
1021Sinclair M SergiFrance2024-06-08Morlong Associates UNQUALIFIED36Asiya Javayant
1022Munro A AmigonArgentina2024-06-04Dorl, James J Esq RENEWAL19Amy Elsner
1023James M RimRussia2024-06-15Benton, John B Jr NEGOTIATION9Onyama Limba
1024Tony H CaldareraSpain2024-06-06Commercial Press NEGOTIATION77Anna Fali
1025Silvio Q PerinItaly2024-06-07Buckley Miller Wright PROPOSAL99Asiya Javayant
1026Alejandro J MarrierRussia2024-06-19Chapman, Ross E Esq QUALIFIED1Onyama Limba
1027Mujtaba S StockhamCanada2024-06-06Dorl, James J Esq NEGOTIATION82Asiya Javayant
1028Rodrigues C RoysterAustralia2024-06-10Feltz Printing Service QUALIFIED23Ivan Magalhaes
1029Claire J FigeroaIndia2024-06-11King, Christopher A Esq PROPOSAL96Anna Fali
1030Murillo M AmigonItaly2024-05-25Benton, John B Jr UNQUALIFIED31Bernardo Dominic
1031Maisha Y CampainRussia2024-06-19Commercial Press NEGOTIATION47Asiya Javayant
1032Cody F MaletGermany2024-06-16Feltz Printing Service PROPOSAL28Stephen Shaw
1033Morrow M MorascaArgentina2024-06-02Chemel, James L Cpa UNQUALIFIED1Amy Elsner
1034Isabel B IturbideItaly2024-06-12King, Christopher A Esq UNQUALIFIED36Amy Elsner
1035Salvatore D KolmetzJapan2024-06-09King, Christopher A Esq PROPOSAL28Anna Fali
1036Sinclair J FerenczSpain2024-06-07Commercial Press RENEWAL31Onyama Limba
1037Nicolas L WhobreyAustralia2024-06-17Rousseaux, Michael Esq PROPOSAL32Ioni Bowcher
1038Aditya Q InouyeCanada2024-06-11Dorl, James J Esq PROPOSAL0Ivan Magalhaes
1039Wickens Z ShinkoJapan2024-05-24Chapman, Ross E Esq QUALIFIED10Elwin Sharvill
1040Jones U FerenczBrazil2024-05-31Dorl, James J Esq UNQUALIFIED1Xuxue Feng
1041Jeanfrancois O GlickGermany2024-06-14Chapman, Ross E Esq NEGOTIATION47Xuxue Feng
1042Leon D DarakjyFrance2024-05-28Feiner Bros QUALIFIED51Elwin Sharvill
1043Aruna B GlickBrazil2024-05-28Morlong Associates NEW46Asiya Javayant
1044Darci H PerinSpain2024-05-29Rangoni Of Florence NEGOTIATION47Ioni Bowcher
1045Octavia K FerenczArgentina2024-06-08Rangoni Of Florence UNQUALIFIED41Ioni Bowcher
1046Octavia J RulapaughSpain2024-05-27Truhlar And Truhlar Attys NEW22Onyama Limba
1047David O SlusarskiIndia2024-05-28Commercial Press QUALIFIED84Amy Elsner
1048Chavez V CaudyCanada2024-06-20Chemel, James L Cpa RENEWAL18Asiya Javayant
1049Johnson U CaudyBrazil2024-05-29Commercial Press PROPOSAL63Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna I BologniaArgentinaAsiya Javayant PROPOSAL
Leja Z RoysterBrazilIvan Magalhaes QUALIFIED
Leon F MacleadIndiaAsiya Javayant NEW
Munro Q VocelkaGermanyAsiya Javayant PROPOSAL
Morrow P PerinSpainElwin Sharvill RENEWAL
Costa S AlbaresJapanElwin Sharvill RENEWAL
Cody R InouyeCanadaElwin Sharvill NEW
Morrow U DarakjyBrazilOnyama Limba UNQUALIFIED
Smith E GillianSpainBernardo Dominic UNQUALIFIED
Ricardo H RoysterItalyBernardo Dominic NEW
Julie M CaudyFranceIoni Bowcher PROPOSAL
Izzy K RutaSpainOnyama Limba PROPOSAL
Murillo F WaycottUnited KingdomElwin Sharvill RENEWAL
Juan Y SaylorsBrazilElwin Sharvill PROPOSAL
Mujtaba O SlusarskiJapanXuxue Feng QUALIFIED
Izzy Z PaprockiItalyBernardo Dominic RENEWAL
Ricardo M WieserFranceBernardo Dominic PROPOSAL
Silvio T DilliardAustraliaOnyama Limba NEW
Jennifer D SaylorsItalyXuxue Feng UNQUALIFIED
Silvio R StensethIndiaStephen Shaw NEW
Faith M GauchoUnited KingdomStephen Shaw NEGOTIATION
Tony A GillianArgentinaElwin Sharvill QUALIFIED
Maisha N PerinAustraliaIoni Bowcher PROPOSAL
Emily O DilliardJapanXuxue Feng QUALIFIED
Nicolas M NickaBrazilOnyama Limba UNQUALIFIED
Murillo D MaletBrazilBernardo Dominic UNQUALIFIED
Arvin H BowleyArgentinaOnyama Limba UNQUALIFIED
Leja A RimRussiaIvan Magalhaes RENEWAL
Nicolas Y StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Leja C OldroydGermanyAsiya Javayant QUALIFIED
Francesco A MaletJapanOnyama Limba RENEWAL
Jefferson K MaletArgentinaStephen Shaw UNQUALIFIED
Deepesh D StockhamFranceIvan Magalhaes UNQUALIFIED
Silvio D InouyeBrazilAmy Elsner PROPOSAL
Stacey A PaprockiIndiaXuxue Feng RENEWAL
Costa G BologniaIndiaXuxue Feng PROPOSAL
Claire R WhobreyBrazilElwin Sharvill RENEWAL
Rodrigues M ButtItalyStephen Shaw PROPOSAL
Clifford M WhobreyItalyOnyama Limba NEGOTIATION
Francesco B SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Adams L PoquetteAustraliaAsiya Javayant NEGOTIATION
Mayumi Q KolmetzArgentinaBernardo Dominic NEGOTIATION
Juan X ButtIndiaBernardo Dominic NEW
Claire A WaycottFranceXuxue Feng QUALIFIED
Alejandro U WaycottIndiaOnyama Limba NEGOTIATION
Nicolas R AlbaresSpainElwin Sharvill RENEWAL
Leon W MaletJapanOnyama Limba PROPOSAL
Izzy A WhobreyFranceStephen Shaw NEW
Rodrigues X InouyeSpainIvan Magalhaes PROPOSAL
David Q KuskoSpainElwin Sharvill NEGOTIATION
Frozen Columns
Name
Jennifer I Poquette
Murillo U Waycott
Stacey Z Iturbide
Octavia B Briddick
Izzy L Slusarski
Kaitlin O Kolmetz
Munro O Paprocki
Adams W Albares
Isabel Q Rulapaugh
Juan T Gaucho
Munro Q Whobrey
David O Poquette
Izzy Q Ruta
Salvatore Q Inouye
Izzy S Foller
Jennifer U Rim
Maisha A Royster
Antonio U Rim
Kaitlin T Saylors
Arvin L Schemmer
Munro W Venere
Darci R Shinko
James N Shinko
Johnson B Wieser
Jefferson X Stenseth
Morrow Z Butt
Nicolas T Ferencz
Darci E Shinko
Julie V Ruta
Izzy H Morasca
Aditya Y Paprocki
Jeanfrancois S Gillian
Julie B Bolognia
Adams J Nestle
Kadeem B Gillian
Octavia M Doe
Sinclair A Rulapaugh
Aika W Bowley
James Q Marrier
Antonio G Inouye
Mujtaba L Nestle
Jennifer R Sergi
Octavia I Ostrosky
Julie G Shinko
Sinclair Q Darakjy
Alejandro H Caudy
Nicolas R Schemmer
Silvio N Doe
Ivar F Schemmer
Isabel X Caudy
IdCountryDate
1000India2024-05-24
1001Brazil2024-06-02
1002Italy2024-06-03
1003Brazil2024-06-10
1004Argentina2024-06-21
1005Spain2024-05-27
1006Argentina2024-06-21
1007Canada2024-05-28
1008Italy2024-05-25
1009Italy2024-06-07
1010Spain2024-06-06
1011France2024-06-20
1012Russia2024-06-16
1013Russia2024-05-24
1014Australia2024-05-28
1015India2024-06-01
1016Italy2024-06-15
1017Argentina2024-05-26
1018Brazil2024-06-02
1019India2024-06-10
1020Canada2024-06-21
1021Russia2024-05-31
1022United Kingdom2024-06-07
1023Spain2024-06-05
1024France2024-06-05
1025United Kingdom2024-06-07
1026Germany2024-05-26
1027Japan2024-05-26
1028Argentina2024-06-01
1029Germany2024-06-13
1030France2024-05-27
1031United Kingdom2024-05-31
1032Brazil2024-05-29
1033Germany2024-06-15
1034Argentina2024-06-07
1035Brazil2024-06-17
1036France2024-06-02
1037Spain2024-06-20
1038Brazil2024-06-11
1039Italy2024-06-13
1040Argentina2024-06-09
1041India2024-06-22
1042Argentina2024-06-04
1043Japan2024-06-06
1044Germany2024-06-04
1045Argentina2024-05-24
1046Italy2024-06-08
1047Australia2024-06-02
1048Germany2024-06-05
1049Australia2024-05-29

On-Demand Data

NameIdCountryDate
Clifford H Maclead1000Australia2024-05-31
Misaki J Oldroyd1001Brazil2024-06-07
Ivar X Schemmer1002Australia2024-06-18
Darci O Marrier1003Spain2024-06-20
Misaki L Schemmer1004Australia2024-06-03
Aruna V Rim1005Russia2024-06-16
Morrow N Kolmetz1006Spain2024-06-18
Cody W Stenseth1007Japan2024-06-07
Jeanfrancois V Iturbide1008Spain2024-05-25
Izzy A Garufi1009France2024-05-24
Darci E Vocelka1010Argentina2024-06-16
Wickens A Malet1011Australia2024-06-01
Stacey A Schemmer1012Russia2024-06-14
Ashley O Campain1013Canada2024-06-03
Juan X Amigon1014Italy2024-05-28
Stacey R Malet1015United Kingdom2024-05-28
Smith K Tollner1016Brazil2024-06-20
Greenwood T Bowley1017United Kingdom2024-05-29
Jeanfrancois Q Inouye1018Australia2024-06-21
Nicolas G Morasca1019Japan2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo V CampainAustraliaElwin Sharvill NEGOTIATION
Deepesh M RoysterUnited KingdomOnyama Limba UNQUALIFIED
Costa J ButtBrazilAnna Fali UNQUALIFIED
Munro V SaylorsUnited KingdomBernardo Dominic PROPOSAL
Tony C BologniaAustraliaAmy Elsner NEW
Salvatore B PaprockiIndiaElwin Sharvill PROPOSAL
David F TollnerIndiaXuxue Feng NEW
Izzy T IturbideIndiaBernardo Dominic NEW
Maisha G GlickCanadaXuxue Feng NEW
Ivar W IturbideIndiaAmy Elsner PROPOSAL
James O NickaIndiaStephen Shaw RENEWAL
Salvatore B RoysterBrazilElwin Sharvill RENEWAL
Smith C RoysterUnited KingdomXuxue Feng NEW
Greenwood I KuskoFranceElwin Sharvill QUALIFIED
Julie I GarufiJapanBernardo Dominic PROPOSAL
Izzy V CaudyAustraliaAmy Elsner NEW
Murillo O CaudyIndiaIvan Magalhaes UNQUALIFIED
Silvio S GarufiBrazilOnyama Limba QUALIFIED
Arvin X SchemmerArgentinaBernardo Dominic NEW
Smith A SchemmerCanadaOnyama Limba NEGOTIATION
Wickens M FollerItalyAsiya Javayant PROPOSAL
Adams X SaylorsFranceIvan Magalhaes RENEWAL
Jennifer B ShinkoIndiaAsiya Javayant PROPOSAL
Leon Z GarufiAustraliaAsiya Javayant PROPOSAL
Leon Q DilliardCanadaElwin Sharvill RENEWAL
Costa V SaylorsJapanIvan Magalhaes UNQUALIFIED
David Z WieserAustraliaAnna Fali NEGOTIATION
Mayumi B WaycottBrazilBernardo Dominic PROPOSAL
Kadeem P DoeJapanXuxue Feng RENEWAL
Ashley W AmigonUnited KingdomIvan Magalhaes PROPOSAL
Francesco Y DarakjyCanadaIvan Magalhaes QUALIFIED
Silvio Q VenereSpainBernardo Dominic NEW
Morrow X FlosiUnited KingdomBernardo Dominic QUALIFIED
Adams D NestleGermanyAnna Fali NEW
Stacey L OstroskyJapanAnna Fali RENEWAL
Tony D CaldareraBrazilElwin Sharvill PROPOSAL
Leja N OstroskyFranceAnna Fali RENEWAL
Jeanfrancois P CaudyIndiaStephen Shaw NEW
Silvio R NestleCanadaIvan Magalhaes RENEWAL
Munro X NestleRussiaBernardo Dominic 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>