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
Antonio E NestleItalyOnyama Limba RENEWAL
James F NickaRussiaElwin Sharvill PROPOSAL
Julie T PoquetteIndiaAmy Elsner NEW
Misaki Y DilliardSpainOnyama Limba RENEWAL
Sinclair R VenereUnited KingdomIoni Bowcher PROPOSAL
Aika U WieserJapanIvan Magalhaes PROPOSAL
James U SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Aruna J GarufiCanadaAsiya Javayant QUALIFIED
Murillo M BowleyItalyIvan Magalhaes QUALIFIED
Emily F CampainRussiaIoni Bowcher NEW
Mujtaba H PoquetteSpainElwin Sharvill NEGOTIATION
Ricardo Q ButtRussiaIvan Magalhaes NEGOTIATION
Misaki Y SergiAustraliaAsiya Javayant UNQUALIFIED
Chavez X RutaCanadaOnyama Limba NEW
Arvin P BologniaCanadaStephen Shaw NEGOTIATION
Kadeem N WhobreySpainIvan Magalhaes RENEWAL
Aditya Y MaletIndiaXuxue Feng PROPOSAL
Clifford N IturbideUnited KingdomXuxue Feng UNQUALIFIED
Wickens M NestleGermanyAmy Elsner NEGOTIATION
Chavez C TollnerFranceIoni Bowcher RENEWAL
Tony P BowleyFranceAmy Elsner NEW
Cody N SaylorsSpainIoni Bowcher UNQUALIFIED
Francesco Z NestleRussiaAnna Fali UNQUALIFIED
Julie E ChuiAustraliaXuxue Feng RENEWAL
Ivar Y ButtUnited KingdomXuxue Feng UNQUALIFIED
Nicolas R VenereAustraliaBernardo Dominic PROPOSAL
Johnson I DilliardFranceIvan Magalhaes QUALIFIED
Aika G RoysterBrazilIvan Magalhaes UNQUALIFIED
Jennifer U CampainRussiaIvan Magalhaes RENEWAL
Silvio Z SchemmerItalyXuxue Feng UNQUALIFIED
Greenwood R MaletBrazilIoni Bowcher PROPOSAL
Cody W MaletAustraliaBernardo Dominic UNQUALIFIED
Wickens Q TollnerIndiaOnyama Limba QUALIFIED
Jones S DarakjyFranceAnna Fali UNQUALIFIED
Rodrigues M PerinJapanAsiya Javayant NEGOTIATION
Ricardo I MaletBrazilBernardo Dominic NEW
Jennifer R FollerJapanOnyama Limba UNQUALIFIED
Rodrigues H WhobreyAustraliaStephen Shaw PROPOSAL
Jones Y MacleadFranceBernardo Dominic PROPOSAL
Maria Y CampainSpainBernardo Dominic NEGOTIATION
Mujtaba K MacleadRussiaAsiya Javayant PROPOSAL
Leja B RutaIndiaElwin Sharvill RENEWAL
Jones N VenereGermanyIvan Magalhaes NEGOTIATION
Misaki S GauchoItalyAmy Elsner QUALIFIED
Claire U OldroydRussiaXuxue Feng RENEWAL
Jennifer P InouyeCanadaAnna Fali QUALIFIED
Jennifer P SlusarskiAustraliaAsiya Javayant NEW
Wickens D KuskoBrazilBernardo Dominic PROPOSAL
Sinclair E RoysterAustraliaAsiya Javayant RENEWAL
Kadeem N KolmetzAustraliaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Murillo Z ButtArgentinaAmy Elsner UNQUALIFIED
Clifford K BriddickGermanyIoni Bowcher NEGOTIATION
Wickens M TollnerIndiaElwin Sharvill QUALIFIED
Morrow X BowleyArgentinaElwin Sharvill UNQUALIFIED
Leon F FerenczArgentinaIvan Magalhaes PROPOSAL
Kadeem H FigeroaGermanyIvan Magalhaes PROPOSAL
Aditya D BowleyRussiaIvan Magalhaes NEGOTIATION
Clifford S ChuiBrazilIvan Magalhaes PROPOSAL
Wickens O GauchoGermanyAnna Fali PROPOSAL
David R DarakjyBrazilStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony E GlickIndia2024-05-22Morlong Associates QUALIFIED88Stephen Shaw
1001Octavia N ShinkoGermany2024-05-25Chemel, James L Cpa UNQUALIFIED44Asiya Javayant
1002Ivar Q CaldareraBrazil2024-06-01Truhlar And Truhlar Attys NEGOTIATION33Amy Elsner
1003Aika J SaylorsSpain2024-06-10Rousseaux, Michael Esq UNQUALIFIED70Ioni Bowcher
1004Cody N RoysterUnited Kingdom2024-05-29Rousseaux, Michael Esq PROPOSAL50Ioni Bowcher
1005Faith Q AmigonArgentina2024-05-20Chanay, Jeffrey A Esq NEGOTIATION67Asiya Javayant
1006Johnson Z SergiJapan2024-06-03Morlong Associates NEW78Bernardo Dominic
1007Salvatore D GillianSpain2024-06-01Dorl, James J Esq NEW33Bernardo Dominic
1008Ricardo T GillianCanada2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED73Anna Fali
1009Smith O GillianIndia2024-05-25Benton, John B Jr RENEWAL41Ivan Magalhaes
1010Rodrigues M MacleadRussia2024-05-26Buckley Miller Wright NEW0Ioni Bowcher
1011Alejandro O SergiJapan2024-05-14Morlong Associates QUALIFIED48Onyama Limba
1012Maisha Y WaycottItaly2024-06-08King, Christopher A Esq UNQUALIFIED56Ivan Magalhaes
1013Deepesh D FlosiIndia2024-06-11Benton, John B Jr UNQUALIFIED82Amy Elsner
1014Leon L ShinkoSpain2024-05-24Chanay, Jeffrey A Esq PROPOSAL29Xuxue Feng
1015Maria A PaprockiRussia2024-05-23Benton, John B Jr QUALIFIED89Bernardo Dominic
1016Maisha D SchemmerUnited Kingdom2024-05-15Chapman, Ross E Esq UNQUALIFIED80Ivan Magalhaes
1017David L GarufiArgentina2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED87Onyama Limba
1018David H StensethItaly2024-06-10Feiner Bros RENEWAL26Amy Elsner
1019Aditya D SergiUnited Kingdom2024-06-01Dorl, James J Esq UNQUALIFIED41Onyama Limba
1020Ashley F GlickIndia2024-06-10Buckley Miller Wright RENEWAL13Amy Elsner
1021Emily N MacleadFrance2024-05-17Chanay, Jeffrey A Esq QUALIFIED87Amy Elsner
1022Maisha L StensethRussia2024-06-09Benton, John B Jr QUALIFIED21Amy Elsner
1023Isabel Q VenereGermany2024-05-27Chemel, James L Cpa RENEWAL69Stephen Shaw
1024Mayumi F FigeroaBrazil2024-06-06Chemel, James L Cpa NEW80Bernardo Dominic
1025Antonio Y MarrierUnited Kingdom2024-05-20Feltz Printing Service NEW11Onyama Limba
1026Deepesh P MorascaUnited Kingdom2024-06-07Chemel, James L Cpa NEW85Elwin Sharvill
1027Faith G FerenczRussia2024-05-25Rangoni Of Florence NEW96Stephen Shaw
1028Wickens C BriddickGermany2024-06-02Buckley Miller Wright NEGOTIATION3Amy Elsner
1029Juan P PerinJapan2024-06-08Morlong Associates NEGOTIATION36Elwin Sharvill
1030Mayumi B ShinkoCanada2024-06-08Rousseaux, Michael Esq QUALIFIED34Stephen Shaw
1031Deepesh M DilliardRussia2024-05-21Chanay, Jeffrey A Esq NEGOTIATION44Ivan Magalhaes
1032Morrow O FollerGermany2024-06-07Morlong Associates QUALIFIED18Stephen Shaw
1033Silvio Y PaprockiFrance2024-06-03Printing Dimensions PROPOSAL66Stephen Shaw
1034Aika W RimUnited Kingdom2024-05-15King, Christopher A Esq UNQUALIFIED60Anna Fali
1035Johnson F TollnerJapan2024-05-21Printing Dimensions NEW35Anna Fali
1036Costa O KolmetzRussia2024-06-07Rousseaux, Michael Esq QUALIFIED63Onyama Limba
1037Johnson I PerinCanada2024-05-16Chapman, Ross E Esq PROPOSAL28Bernardo Dominic
1038Stacey L MarrierGermany2024-05-16Commercial Press RENEWAL10Onyama Limba
1039Jeanfrancois R RulapaughJapan2024-05-22Chemel, James L Cpa UNQUALIFIED9Bernardo Dominic
1040Munro M StensethSpain2024-05-15Rousseaux, Michael Esq NEW73Bernardo Dominic
1041Jones G MacleadJapan2024-06-08Feiner Bros PROPOSAL37Xuxue Feng
1042Jennifer O DoeUnited Kingdom2024-06-03Chemel, James L Cpa PROPOSAL65Xuxue Feng
1043Johnson N InouyeAustralia2024-05-19Truhlar And Truhlar Attys PROPOSAL7Asiya Javayant
1044Smith S TollnerFrance2024-06-10Chemel, James L Cpa QUALIFIED17Amy Elsner
1045Jennifer O VocelkaJapan2024-06-12Rousseaux, Michael Esq QUALIFIED9Anna Fali
1046Aika G GillianCanada2024-05-21Chapman, Ross E Esq PROPOSAL98Stephen Shaw
1047Jones N WaycottBrazil2024-05-26Feltz Printing Service RENEWAL60Amy Elsner
1048Maisha C InouyeItaly2024-05-31Dorl, James J Esq PROPOSAL90Stephen Shaw
1049Jeanfrancois E MarrierItaly2024-05-16Dorl, James J Esq UNQUALIFIED35Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
David G AlbaresRussiaBernardo Dominic NEW
Greenwood L StockhamIndiaElwin Sharvill UNQUALIFIED
Kaitlin K StensethAustraliaStephen Shaw QUALIFIED
Antonio F DilliardBrazilAmy Elsner NEW
Clifford V ButtGermanyBernardo Dominic RENEWAL
Octavia W StockhamCanadaAsiya Javayant NEGOTIATION
Munro M MarrierCanadaElwin Sharvill UNQUALIFIED
Kadeem G RoysterItalyXuxue Feng PROPOSAL
Cody I FollerUnited KingdomOnyama Limba NEW
Jeanfrancois F RulapaughAustraliaXuxue Feng QUALIFIED
Mujtaba F RoysterUnited KingdomStephen Shaw RENEWAL
Kaitlin O CaldareraFranceIvan Magalhaes NEW
Antonio X FlosiFranceXuxue Feng RENEWAL
Aika R OstroskyGermanyBernardo Dominic RENEWAL
Maria A FollerIndiaIvan Magalhaes RENEWAL
Juan W MacleadCanadaAsiya Javayant PROPOSAL
Wickens S SlusarskiCanadaOnyama Limba QUALIFIED
Jeanfrancois O ChuiArgentinaAmy Elsner UNQUALIFIED
Murillo Z WieserIndiaElwin Sharvill PROPOSAL
Maisha F RutaJapanAnna Fali NEW
Misaki T DilliardJapanAmy Elsner UNQUALIFIED
Mayumi G SaylorsItalyStephen Shaw NEW
Antonio J ButtGermanyAmy Elsner RENEWAL
Greenwood A IturbideJapanElwin Sharvill PROPOSAL
Claire Z ButtUnited KingdomElwin Sharvill PROPOSAL
Morrow H ChuiFranceXuxue Feng PROPOSAL
Chavez U GarufiItalyAmy Elsner RENEWAL
Leja I FlosiSpainAsiya Javayant UNQUALIFIED
Julie V DoeRussiaOnyama Limba NEGOTIATION
Ashley D SchemmerUnited KingdomXuxue Feng QUALIFIED
Kaitlin P WaycottAustraliaXuxue Feng NEGOTIATION
Ivar C GauchoUnited KingdomAsiya Javayant NEW
Adams L GarufiUnited KingdomStephen Shaw RENEWAL
Leja M FerenczRussiaStephen Shaw QUALIFIED
Darci X SchemmerFranceAsiya Javayant NEGOTIATION
Rodrigues I BriddickItalyOnyama Limba UNQUALIFIED
David I MaletIndiaIoni Bowcher QUALIFIED
Clifford V ShinkoSpainOnyama Limba PROPOSAL
Francesco A PerinJapanXuxue Feng RENEWAL
Stacey J NickaJapanOnyama Limba PROPOSAL
Kaitlin J SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Claire Q WieserIndiaStephen Shaw UNQUALIFIED
Alejandro T RulapaughArgentinaStephen Shaw RENEWAL
Chavez R DoeGermanyIvan Magalhaes NEGOTIATION
Isabel X OldroydUnited KingdomBernardo Dominic PROPOSAL
Claire S KolmetzItalyBernardo Dominic QUALIFIED
Jefferson K SchemmerRussiaAsiya Javayant UNQUALIFIED
Aruna W KolmetzFranceBernardo Dominic QUALIFIED
Mayumi G RimBrazilIoni Bowcher QUALIFIED
Ricardo Y VenereSpainAnna Fali NEGOTIATION
Frozen Columns
Name
Kaitlin M Iturbide
Kaitlin R Glick
Cody W Paprocki
Tony K Ostrosky
James L Inouye
Mujtaba M Kolmetz
Adams X Poquette
Mujtaba K Ostrosky
Jefferson N Ruta
Izzy E Perin
Misaki C Nicka
Leon R Amigon
Antonio D Tollner
Jones C Poquette
Mayumi F Vocelka
Francesco W Poquette
Kadeem V Gaucho
Nicolas V Tollner
Claire X Ferencz
Arvin Q Slusarski
Kadeem Q Morasca
Murillo G Caldarera
Izzy C Perin
Tony B Tollner
Murillo U Nicka
Tony D Schemmer
Jennifer Y Vocelka
Mujtaba Y Morasca
Alejandro M Kusko
Francesco R Kolmetz
Maria X Vocelka
Isabel O Rim
Leja J Bolognia
Arvin S Ostrosky
Aika Y Rulapaugh
Aika K Poquette
Aditya J Maclead
Jeanfrancois S Wieser
Deepesh V Bolognia
Maisha B Albares
Leon U Butt
Sinclair Y Nestle
Maria X Doe
Jeanfrancois Q Poquette
Maisha A Tollner
Morrow O Waycott
Ivar A Kusko
Smith O Marrier
Octavia G Tollner
Tony X Gaucho
IdCountryDate
1000Italy2024-05-30
1001Argentina2024-05-24
1002India2024-05-26
1003United Kingdom2024-05-29
1004Spain2024-05-21
1005Germany2024-05-20
1006Russia2024-05-20
1007United Kingdom2024-05-23
1008Canada2024-06-02
1009Argentina2024-05-14
1010France2024-06-09
1011Canada2024-06-07
1012Russia2024-05-17
1013Australia2024-05-21
1014Japan2024-05-20
1015Japan2024-05-27
1016Argentina2024-05-14
1017Canada2024-05-21
1018United Kingdom2024-05-14
1019Canada2024-05-26
1020Argentina2024-06-12
1021Australia2024-05-20
1022Japan2024-05-29
1023Germany2024-05-22
1024Australia2024-06-08
1025Italy2024-06-02
1026Canada2024-06-07
1027India2024-06-06
1028Germany2024-05-26
1029Russia2024-05-28
1030Germany2024-05-25
1031Japan2024-06-06
1032Argentina2024-05-14
1033Germany2024-05-22
1034Russia2024-06-10
1035Australia2024-06-09
1036Brazil2024-05-28
1037Italy2024-05-16
1038France2024-06-10
1039Argentina2024-05-18
1040Australia2024-06-06
1041Japan2024-05-26
1042Argentina2024-05-15
1043Italy2024-06-02
1044Australia2024-05-19
1045Australia2024-06-11
1046Argentina2024-05-30
1047Germany2024-05-19
1048India2024-06-03
1049India2024-05-19

On-Demand Data

NameIdCountryDate
Johnson C Butt1000Japan2024-05-28
Ivar V Stockham1001Russia2024-06-01
Cody E Amigon1002Russia2024-05-29
Munro D Vocelka1003Italy2024-06-08
Munro V Royster1004Japan2024-06-12
Izzy P Schemmer1005Russia2024-05-17
Octavia D Rulapaugh1006India2024-06-04
Mayumi Z Caudy1007India2024-05-22
Deepesh C Caldarera1008United Kingdom2024-06-11
Munro X Slusarski1009Brazil2024-05-18
Leja J Caldarera1010India2024-05-14
Munro I Whobrey1011Spain2024-05-27
Claire P Campain1012France2024-05-27
Juan G Garufi1013Japan2024-05-26
Aruna E Paprocki1014India2024-05-23
Aruna Q Glick1015India2024-05-23
Ricardo I Inouye1016Australia2024-05-30
Mujtaba F Malet1017Australia2024-06-01
Cody B Butt1018Russia2024-05-14
Aika Q Slusarski1019Russia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo R DilliardRussiaStephen Shaw UNQUALIFIED
Julie K RulapaughJapanElwin Sharvill QUALIFIED
Salvatore S SaylorsSpainOnyama Limba NEGOTIATION
Isabel U RoysterAustraliaIvan Magalhaes QUALIFIED
Wickens I NestleItalyIoni Bowcher UNQUALIFIED
Aditya X CaldareraIndiaAsiya Javayant RENEWAL
Mayumi L KolmetzJapanAmy Elsner NEW
Izzy R SaylorsGermanyAmy Elsner PROPOSAL
Munro X VocelkaGermanyIoni Bowcher NEGOTIATION
Jennifer Q NestleCanadaElwin Sharvill NEGOTIATION
Smith W GauchoRussiaOnyama Limba PROPOSAL
Octavia A FlosiGermanyXuxue Feng NEGOTIATION
Deepesh O SchemmerFranceStephen Shaw NEW
Kaitlin F ShinkoJapanAsiya Javayant PROPOSAL
Rodrigues L BologniaIndiaElwin Sharvill NEW
Ricardo A FerenczBrazilAmy Elsner UNQUALIFIED
Arvin D GarufiUnited KingdomStephen Shaw UNQUALIFIED
Octavia Q NestleCanadaIvan Magalhaes NEGOTIATION
Greenwood P NestleUnited KingdomElwin Sharvill NEW
Leon E CaudyBrazilAnna Fali UNQUALIFIED
Juan O BologniaBrazilOnyama Limba NEW
Emily P FerenczItalyElwin Sharvill RENEWAL
Silvio L IturbideJapanIvan Magalhaes RENEWAL
Kaitlin T SergiBrazilXuxue Feng NEW
Jennifer Z ShinkoRussiaOnyama Limba UNQUALIFIED
Munro N SchemmerItalyXuxue Feng NEGOTIATION
Murillo E AlbaresArgentinaXuxue Feng PROPOSAL
Jennifer I MaletArgentinaAmy Elsner RENEWAL
Johnson D InouyeItalyOnyama Limba UNQUALIFIED
Jeanfrancois S GarufiBrazilOnyama Limba NEGOTIATION
Misaki L PoquetteAustraliaElwin Sharvill PROPOSAL
Claire I FigeroaJapanIoni Bowcher RENEWAL
Claire Z MaletSpainAmy Elsner RENEWAL
Aruna O CaudyCanadaXuxue Feng UNQUALIFIED
Jones J PerinJapanAsiya Javayant NEW
Deepesh L FigeroaJapanXuxue Feng QUALIFIED
Smith K NickaRussiaAmy Elsner QUALIFIED
Tony E MaletRussiaAmy Elsner NEW
Leon V PaprockiJapanIvan Magalhaes NEW
Clifford T WhobreyBrazilAsiya Javayant 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>