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
Octavia G WhobreyUnited KingdomAsiya Javayant PROPOSAL
Aditya I GauchoBrazilStephen Shaw NEW
Cody V DoeIndiaAsiya Javayant UNQUALIFIED
Antonio N AmigonArgentinaXuxue Feng PROPOSAL
Sinclair L RoysterItalyAsiya Javayant PROPOSAL
Maria B SaylorsGermanyIvan Magalhaes QUALIFIED
David Y InouyeAustraliaAnna Fali PROPOSAL
Leja B WhobreyAustraliaAsiya Javayant NEGOTIATION
Sinclair L ChuiRussiaAsiya Javayant NEW
Wickens I SchemmerItalyElwin Sharvill QUALIFIED
Jennifer Z VenereSpainElwin Sharvill RENEWAL
Mujtaba L GarufiSpainAmy Elsner QUALIFIED
Cody W GarufiFranceIoni Bowcher PROPOSAL
Jones B SergiGermanyAsiya Javayant RENEWAL
Arvin C SchemmerUnited KingdomBernardo Dominic PROPOSAL
Alejandro J ShinkoBrazilOnyama Limba NEGOTIATION
Salvatore T KuskoGermanyIoni Bowcher QUALIFIED
Antonio N DoeGermanyAnna Fali UNQUALIFIED
Leon B RimBrazilStephen Shaw RENEWAL
Jennifer S StockhamRussiaAmy Elsner RENEWAL
Munro D SchemmerRussiaIvan Magalhaes NEGOTIATION
Cody G RutaArgentinaAmy Elsner NEW
Darci W NestleJapanOnyama Limba NEW
Tony I PoquetteFranceAnna Fali RENEWAL
Leon B TollnerArgentinaAnna Fali QUALIFIED
Rodrigues E KuskoItalyStephen Shaw PROPOSAL
Maria T KuskoItalyStephen Shaw UNQUALIFIED
Stacey D MaletSpainElwin Sharvill PROPOSAL
Morrow U RimGermanyIoni Bowcher QUALIFIED
Cody W RoysterIndiaXuxue Feng NEGOTIATION
Francesco X KuskoGermanyAmy Elsner NEW
Jefferson X GarufiAustraliaXuxue Feng UNQUALIFIED
Deepesh L DarakjyIndiaAnna Fali NEW
Mayumi A StensethIndiaStephen Shaw NEW
Mujtaba L SchemmerJapanAnna Fali NEW
Murillo M GillianItalyIvan Magalhaes PROPOSAL
Ashley W PerinArgentinaIvan Magalhaes NEW
Costa X IturbideIndiaAnna Fali NEW
Maria Z VocelkaUnited KingdomAnna Fali NEW
Leja L TollnerItalyAsiya Javayant NEGOTIATION
Juan I StensethFranceIoni Bowcher UNQUALIFIED
Arvin H DilliardGermanyBernardo Dominic PROPOSAL
Claire I SlusarskiFranceIvan Magalhaes UNQUALIFIED
Darci H NestleIndiaAnna Fali UNQUALIFIED
Aditya T StensethAustraliaBernardo Dominic QUALIFIED
Antonio X AlbaresArgentinaStephen Shaw NEGOTIATION
Juan W RutaAustraliaStephen Shaw UNQUALIFIED
Maria H OldroydBrazilIoni Bowcher NEGOTIATION
Darci S MorascaBrazilIvan Magalhaes QUALIFIED
Jefferson C OldroydCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ivar Z KolmetzFranceIoni Bowcher UNQUALIFIED
Jones X OldroydBrazilIvan Magalhaes QUALIFIED
Aditya B TollnerUnited KingdomOnyama Limba QUALIFIED
David Q CampainBrazilOnyama Limba UNQUALIFIED
Izzy O CaldareraArgentinaIvan Magalhaes QUALIFIED
Adams H ChuiRussiaAmy Elsner PROPOSAL
Chavez I FlosiGermanyAsiya Javayant QUALIFIED
Kaitlin W GillianGermanyXuxue Feng NEGOTIATION
Aika K GauchoItalyElwin Sharvill RENEWAL
David I AlbaresAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James K AlbaresSpain2025-05-03Chanay, Jeffrey A Esq PROPOSAL6Bernardo Dominic
1001Greenwood S MacleadJapan2025-04-18Rousseaux, Michael Esq NEGOTIATION30Ioni Bowcher
1002Clifford C ChuiJapan2025-04-15Chanay, Jeffrey A Esq QUALIFIED38Amy Elsner
1003Faith B VenereRussia2025-04-15Truhlar And Truhlar Attys PROPOSAL29Xuxue Feng
1004Jefferson C SergiArgentina2025-04-26Morlong Associates QUALIFIED33Elwin Sharvill
1005Johnson D WhobreyRussia2025-05-01Commercial Press NEGOTIATION78Ioni Bowcher
1006Clifford X GauchoAustralia2025-04-12Printing Dimensions NEW78Anna Fali
1007Sinclair D InouyeItaly2025-04-26Printing Dimensions PROPOSAL22Bernardo Dominic
1008Clifford D WieserGermany2025-04-27Rangoni Of Florence NEGOTIATION92Anna Fali
1009Stacey J RulapaughAustralia2025-05-08Chapman, Ross E Esq UNQUALIFIED16Asiya Javayant
1010Salvatore B SchemmerUnited Kingdom2025-04-21Buckley Miller Wright NEGOTIATION82Elwin Sharvill
1011James F AmigonArgentina2025-04-26Commercial Press NEW4Ivan Magalhaes
1012Clifford Y NestleSpain2025-04-22Rousseaux, Michael Esq PROPOSAL62Xuxue Feng
1013Jennifer V OstroskyJapan2025-04-27Dorl, James J Esq UNQUALIFIED60Onyama Limba
1014Rodrigues D RutaGermany2025-04-29Morlong Associates PROPOSAL23Amy Elsner
1015Kadeem Q CampainSpain2025-04-28Benton, John B Jr QUALIFIED41Ioni Bowcher
1016Ashley Y DarakjyArgentina2025-04-18Benton, John B Jr QUALIFIED74Elwin Sharvill
1017Costa M RulapaughUnited Kingdom2025-05-01Feltz Printing Service UNQUALIFIED15Stephen Shaw
1018Leon U TollnerItaly2025-04-25Rangoni Of Florence QUALIFIED81Xuxue Feng
1019Jefferson Q DoeSpain2025-05-04Commercial Press UNQUALIFIED66Onyama Limba
1020Greenwood B RutaRussia2025-05-04Commercial Press QUALIFIED75Anna Fali
1021Aika R GillianFrance2025-05-02Chapman, Ross E Esq QUALIFIED12Ioni Bowcher
1022Chavez S DoeFrance2025-04-25Feiner Bros NEW45Elwin Sharvill
1023Tony R OstroskyFrance2025-04-13Chemel, James L Cpa NEGOTIATION99Stephen Shaw
1024Murillo J DilliardIndia2025-05-10Morlong Associates RENEWAL43Asiya Javayant
1025Rodrigues P GauchoBrazil2025-04-11Chanay, Jeffrey A Esq PROPOSAL27Xuxue Feng
1026Claire G StensethIndia2025-04-27Morlong Associates NEGOTIATION13Ivan Magalhaes
1027Juan D NestleFrance2025-04-24Chapman, Ross E Esq PROPOSAL63Stephen Shaw
1028Stacey Z WieserAustralia2025-05-02Buckley Miller Wright QUALIFIED3Xuxue Feng
1029Maria P MacleadItaly2025-05-02Morlong Associates RENEWAL18Anna Fali
1030Clifford A AlbaresFrance2025-05-06Feltz Printing Service UNQUALIFIED65Amy Elsner
1031Kadeem U InouyeGermany2025-04-13Feltz Printing Service QUALIFIED10Asiya Javayant
1032Emily X MarrierRussia2025-04-19Buckley Miller Wright QUALIFIED47Stephen Shaw
1033Ricardo S SergiBrazil2025-05-07Benton, John B Jr NEGOTIATION3Ivan Magalhaes
1034Kaitlin R GarufiGermany2025-04-14Chanay, Jeffrey A Esq PROPOSAL7Elwin Sharvill
1035Salvatore I RoysterCanada2025-04-28Truhlar And Truhlar Attys UNQUALIFIED36Amy Elsner
1036Francesco K BowleySpain2025-04-13Truhlar And Truhlar Attys NEW8Anna Fali
1037Wickens D DilliardIndia2025-05-10Feiner Bros RENEWAL49Anna Fali
1038Mayumi W IturbideFrance2025-04-26Rousseaux, Michael Esq RENEWAL49Stephen Shaw
1039Izzy I BowleyCanada2025-04-16Buckley Miller Wright QUALIFIED93Ioni Bowcher
1040Aditya I SergiGermany2025-04-12Rousseaux, Michael Esq UNQUALIFIED69Amy Elsner
1041Salvatore Q RoysterSpain2025-05-08Chapman, Ross E Esq PROPOSAL21Bernardo Dominic
1042Ricardo X MarrierIndia2025-05-01Printing Dimensions NEGOTIATION92Elwin Sharvill
1043Salvatore B InouyeRussia2025-04-23Chanay, Jeffrey A Esq RENEWAL39Elwin Sharvill
1044Isabel K WhobreyIndia2025-04-15Rousseaux, Michael Esq NEW34Onyama Limba
1045Jennifer E StensethIndia2025-04-25Benton, John B Jr PROPOSAL68Anna Fali
1046Smith X ShinkoSpain2025-04-17Dorl, James J Esq NEGOTIATION54Amy Elsner
1047Juan W RimArgentina2025-04-18Chapman, Ross E Esq NEW4Amy Elsner
1048Silvio G SaylorsGermany2025-04-14Printing Dimensions PROPOSAL98Asiya Javayant
1049Aditya P FerenczFrance2025-04-14Feltz Printing Service RENEWAL87Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Francesco X BowleyRussiaAsiya Javayant PROPOSAL
Morrow H FlosiUnited KingdomIvan Magalhaes NEW
Ivar N OstroskyUnited KingdomIoni Bowcher QUALIFIED
Murillo V NestleItalyXuxue Feng QUALIFIED
Tony T ShinkoUnited KingdomBernardo Dominic QUALIFIED
Julie S PaprockiCanadaIvan Magalhaes QUALIFIED
Nicolas Y FollerSpainElwin Sharvill PROPOSAL
Alejandro O CampainFranceXuxue Feng NEGOTIATION
Misaki H RimAustraliaIvan Magalhaes NEGOTIATION
Ashley Z TollnerGermanyOnyama Limba PROPOSAL
Aditya B RutaCanadaElwin Sharvill QUALIFIED
Maisha W MarrierFranceXuxue Feng NEGOTIATION
Alejandro U RoysterAustraliaElwin Sharvill UNQUALIFIED
Leon S CampainItalyIoni Bowcher UNQUALIFIED
Smith W PoquetteIndiaOnyama Limba RENEWAL
Juan Q MaletArgentinaOnyama Limba RENEWAL
Maria X BologniaUnited KingdomElwin Sharvill NEW
Emily G SaylorsJapanElwin Sharvill UNQUALIFIED
Deepesh I PaprockiCanadaBernardo Dominic UNQUALIFIED
David F TollnerUnited KingdomOnyama Limba UNQUALIFIED
Mayumi W GillianFranceAsiya Javayant PROPOSAL
Leon B ButtUnited KingdomStephen Shaw UNQUALIFIED
Claire L FlosiAustraliaBernardo Dominic NEGOTIATION
Silvio I RoysterGermanyAnna Fali NEW
Mayumi E ShinkoIndiaIvan Magalhaes UNQUALIFIED
Maria I OstroskyCanadaAnna Fali PROPOSAL
Tony L MaletBrazilAmy Elsner NEGOTIATION
Rodrigues I KolmetzAustraliaAsiya Javayant RENEWAL
Jeanfrancois F BowleyArgentinaStephen Shaw NEGOTIATION
Arvin Y StensethArgentinaElwin Sharvill NEW
Nicolas L SlusarskiFranceXuxue Feng RENEWAL
Julie J MorascaBrazilIoni Bowcher NEGOTIATION
Maria Y SaylorsUnited KingdomIoni Bowcher QUALIFIED
Leja O ButtIndiaElwin Sharvill RENEWAL
Tony K ShinkoRussiaAsiya Javayant PROPOSAL
Clifford Z GarufiCanadaIoni Bowcher NEGOTIATION
Arvin E ShinkoItalyAsiya Javayant RENEWAL
Mayumi J PerinJapanIoni Bowcher PROPOSAL
Jones S GarufiUnited KingdomAnna Fali QUALIFIED
Adams M NestleSpainBernardo Dominic NEGOTIATION
Juan F KolmetzArgentinaIvan Magalhaes QUALIFIED
Aditya O PoquetteIndiaIoni Bowcher NEGOTIATION
Antonio J MorascaCanadaBernardo Dominic PROPOSAL
Octavia R SaylorsBrazilElwin Sharvill RENEWAL
Octavia M RutaAustraliaIoni Bowcher RENEWAL
Leon Q FigeroaJapanIvan Magalhaes NEW
Alejandro U NestleArgentinaOnyama Limba QUALIFIED
Nicolas X OstroskySpainIoni Bowcher RENEWAL
Clifford V StockhamBrazilIvan Magalhaes NEW
Emily O TollnerAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Silvio N Bowley
Morrow T Malet
Alejandro J Foller
Kadeem J Stockham
Sinclair C Waycott
Kaitlin R Amigon
Francesco R Dilliard
Adams A Nicka
Mujtaba X Marrier
Mayumi M Darakjy
Leja X Malet
Aruna Q Vocelka
Stacey G Butt
Kaitlin Q Malet
Julie T Kusko
Arvin J Ruta
Misaki A Flosi
Misaki P Stenseth
Arvin U Oldroyd
Izzy N Poquette
Isabel R Rulapaugh
Silvio F Sergi
Jennifer Z Rim
Wickens D Gaucho
Rodrigues W Butt
Ivar N Caldarera
Juan Z Ostrosky
Arvin A Malet
Aditya Q Kolmetz
Chavez I Paprocki
Tony J Perin
Deepesh S Marrier
Silvio U Bowley
Kadeem E Poquette
Deepesh W Caldarera
Aruna U Doe
Costa V Ostrosky
Aruna L Shinko
Juan T Bolognia
Maria J Poquette
Ivar R Caldarera
Wickens I Briddick
Claire W Waycott
Sinclair C Inouye
Mayumi Y Rim
Ricardo O Tollner
Misaki U Whobrey
Arvin X Amigon
Wickens Z Shinko
Maisha T Kusko
IdCountryDate
1000France2025-04-14
1001Japan2025-04-30
1002France2025-05-09
1003Canada2025-04-24
1004Australia2025-05-05
1005Canada2025-04-18
1006Spain2025-05-04
1007Japan2025-04-30
1008Brazil2025-05-10
1009France2025-04-21
1010Germany2025-04-29
1011Germany2025-04-18
1012France2025-04-30
1013Russia2025-05-08
1014Russia2025-04-26
1015India2025-04-12
1016Italy2025-04-12
1017United Kingdom2025-04-15
1018Argentina2025-04-26
1019India2025-04-19
1020Japan2025-04-13
1021Australia2025-04-21
1022France2025-04-24
1023France2025-04-14
1024Spain2025-05-02
1025Brazil2025-05-10
1026Spain2025-04-18
1027United Kingdom2025-04-18
1028Germany2025-04-26
1029Russia2025-05-05
1030United Kingdom2025-05-06
1031India2025-04-13
1032Spain2025-04-25
1033France2025-04-19
1034United Kingdom2025-04-20
1035Russia2025-05-08
1036France2025-04-13
1037Australia2025-05-04
1038Argentina2025-04-22
1039Japan2025-04-26
1040Argentina2025-04-15
1041France2025-05-04
1042Australia2025-04-12
1043Spain2025-04-27
1044France2025-04-23
1045Japan2025-05-04
1046France2025-05-06
1047Germany2025-05-09
1048Australia2025-05-01
1049United Kingdom2025-05-03

On-Demand Data

NameIdCountryDate
Darci C Garufi1000Australia2025-04-20
Misaki G Marrier1001Australia2025-05-03
Maria D Tollner1002Canada2025-04-17
Mujtaba H Malet1003Italy2025-04-22
Maria Z Amigon1004Australia2025-05-04
Jeanfrancois I Rim1005France2025-04-26
Aruna N Bowley1006France2025-04-16
Darci E Maclead1007Argentina2025-04-12
Leon A Stenseth1008India2025-05-06
Morrow U Morasca1009India2025-04-24
Antonio B Dilliard1010India2025-05-06
Morrow S Saylors1011Spain2025-05-09
Mayumi O Doe1012United Kingdom2025-05-02
Faith P Morasca1013Australia2025-05-07
Stacey I Foller1014France2025-04-22
Jeanfrancois U Briddick1015United Kingdom2025-04-19
Maisha Y Gillian1016Australia2025-04-15
Salvatore R Tollner1017India2025-05-10
Antonio R Foller1018Italy2025-05-03
Maisha D Poquette1019Canada2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro D BowleyUnited KingdomXuxue Feng NEGOTIATION
Nicolas D MaletBrazilAnna Fali RENEWAL
Jeanfrancois V GillianAustraliaBernardo Dominic NEW
Rodrigues D BriddickCanadaXuxue Feng NEW
Silvio O NickaAustraliaIoni Bowcher RENEWAL
Aruna C ButtRussiaAnna Fali RENEWAL
Morrow L ShinkoAustraliaElwin Sharvill QUALIFIED
Kadeem C RutaIndiaXuxue Feng UNQUALIFIED
Julie J WhobreyRussiaStephen Shaw UNQUALIFIED
Arvin Y RoysterGermanyIvan Magalhaes QUALIFIED
Ivar A StensethGermanyXuxue Feng QUALIFIED
Octavia Z AlbaresFranceBernardo Dominic QUALIFIED
Antonio Q BriddickArgentinaBernardo Dominic PROPOSAL
Kaitlin X RoysterAustraliaOnyama Limba QUALIFIED
Darci A MarrierRussiaElwin Sharvill NEW
Aditya F MacleadRussiaIvan Magalhaes QUALIFIED
Ashley M MaletBrazilIvan Magalhaes UNQUALIFIED
Kaitlin M ShinkoSpainIoni Bowcher PROPOSAL
Julie N WaycottRussiaAmy Elsner NEW
Izzy E WhobreySpainXuxue Feng RENEWAL
Stacey F GarufiSpainIoni Bowcher PROPOSAL
Deepesh B VenereFranceIvan Magalhaes QUALIFIED
Emily I WhobreyArgentinaBernardo Dominic NEGOTIATION
Francesco O StensethCanadaStephen Shaw UNQUALIFIED
Ricardo A SchemmerAustraliaStephen Shaw PROPOSAL
Jennifer C FollerGermanyAmy Elsner PROPOSAL
Cody C WaycottSpainOnyama Limba NEW
Chavez F MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Tony X NestleBrazilIoni Bowcher PROPOSAL
Mayumi T CaldareraGermanyOnyama Limba PROPOSAL
Greenwood P KuskoSpainAnna Fali QUALIFIED
Leja U VenereCanadaElwin Sharvill QUALIFIED
Jeanfrancois H RulapaughArgentinaOnyama Limba RENEWAL
Leja M DoeIndiaOnyama Limba NEGOTIATION
Deepesh D SchemmerSpainIoni Bowcher PROPOSAL
Maria S VenereRussiaBernardo Dominic QUALIFIED
Johnson I IturbideAustraliaIoni Bowcher NEW
Aruna N OstroskyAustraliaStephen Shaw NEGOTIATION
Costa A DoeSpainIoni Bowcher RENEWAL
Juan G WaycottSpainXuxue Feng NEW

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