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
Maria X AlbaresUnited KingdomBernardo Dominic NEW
Misaki A RulapaughArgentinaAsiya Javayant QUALIFIED
Leja F SaylorsSpainIoni Bowcher QUALIFIED
Juan K ShinkoArgentinaIoni Bowcher RENEWAL
Smith D KolmetzRussiaAnna Fali UNQUALIFIED
Misaki S VenereCanadaAmy Elsner UNQUALIFIED
Sinclair W WhobreyCanadaXuxue Feng UNQUALIFIED
Sinclair K FigeroaArgentinaIvan Magalhaes NEW
Misaki X ChuiJapanXuxue Feng UNQUALIFIED
Wickens V WaycottFranceOnyama Limba QUALIFIED
Salvatore N MaletBrazilAsiya Javayant PROPOSAL
Rodrigues S AmigonArgentinaOnyama Limba RENEWAL
Kaitlin W ChuiIndiaXuxue Feng NEW
Rodrigues Q SlusarskiFranceBernardo Dominic QUALIFIED
Wickens C ShinkoArgentinaBernardo Dominic PROPOSAL
Antonio B ButtFranceIoni Bowcher NEGOTIATION
Munro X MorascaJapanIvan Magalhaes QUALIFIED
Deepesh X IturbideGermanyStephen Shaw NEW
Jones T WieserCanadaAnna Fali NEGOTIATION
Faith O FerenczCanadaAnna Fali UNQUALIFIED
Nicolas U SchemmerIndiaAnna Fali PROPOSAL
Faith D VocelkaCanadaStephen Shaw QUALIFIED
Antonio G CaldareraFranceIvan Magalhaes NEGOTIATION
Antonio T TollnerIndiaAsiya Javayant UNQUALIFIED
Darci A FlosiIndiaElwin Sharvill NEGOTIATION
Octavia E SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Leon S DilliardBrazilXuxue Feng NEGOTIATION
Izzy V SlusarskiItalyIvan Magalhaes NEGOTIATION
Antonio E DoeBrazilXuxue Feng RENEWAL
Silvio O MaletSpainIoni Bowcher PROPOSAL
Maria O MaletAustraliaXuxue Feng QUALIFIED
Alejandro Q NickaJapanXuxue Feng UNQUALIFIED
Kadeem I BologniaRussiaIoni Bowcher RENEWAL
Smith Q StensethArgentinaXuxue Feng NEGOTIATION
Aruna R RulapaughUnited KingdomAmy Elsner UNQUALIFIED
Mayumi B WieserFranceXuxue Feng QUALIFIED
Francesco X OldroydBrazilElwin Sharvill RENEWAL
Jennifer E CampainIndiaIvan Magalhaes QUALIFIED
Jones Q CaldareraAustraliaStephen Shaw QUALIFIED
Deepesh S ButtFranceIvan Magalhaes PROPOSAL
Deepesh Q VenereCanadaAmy Elsner NEW
Johnson G MacleadJapanStephen Shaw QUALIFIED
Ricardo S BriddickSpainAmy Elsner NEGOTIATION
Claire K PaprockiCanadaAmy Elsner NEW
Nicolas M MaletSpainBernardo Dominic NEGOTIATION
Stacey F WhobreyAustraliaIvan Magalhaes NEW
Ivar N SaylorsRussiaBernardo Dominic QUALIFIED
David G StensethItalyIoni Bowcher NEW
Aruna Y DoeItalyStephen Shaw NEW
Rodrigues M MacleadRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon W PaprockiJapanAmy Elsner UNQUALIFIED
Maisha T MaletRussiaIoni Bowcher PROPOSAL
Maisha A AmigonJapanAnna Fali PROPOSAL
Nicolas F FerenczCanadaBernardo Dominic QUALIFIED
Francesco O MarrierSpainXuxue Feng NEW
Salvatore B ButtUnited KingdomStephen Shaw QUALIFIED
Isabel S SchemmerAustraliaXuxue Feng RENEWAL
Stacey B SaylorsAustraliaXuxue Feng PROPOSAL
Rodrigues N RimItalyIvan Magalhaes PROPOSAL
David K ChuiBrazilIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily T PoquetteCanada2024-06-09Printing Dimensions NEW50Ioni Bowcher
1001Francesco L DilliardFrance2024-06-06Commercial Press RENEWAL26Bernardo Dominic
1002Juan B DilliardRussia2024-05-26Rousseaux, Michael Esq UNQUALIFIED56Bernardo Dominic
1003Silvio J FerenczBrazil2024-06-01Feiner Bros QUALIFIED62Elwin Sharvill
1004Jefferson G StensethFrance2024-06-17Printing Dimensions RENEWAL61Elwin Sharvill
1005Mayumi J AmigonArgentina2024-05-27Truhlar And Truhlar Attys NEGOTIATION62Elwin Sharvill
1006Ivar O StensethArgentina2024-06-09Rangoni Of Florence RENEWAL38Stephen Shaw
1007Rodrigues P AmigonCanada2024-05-24Truhlar And Truhlar Attys UNQUALIFIED44Onyama Limba
1008Salvatore P GillianRussia2024-06-14Commercial Press RENEWAL55Asiya Javayant
1009Aruna J WieserBrazil2024-06-11King, Christopher A Esq NEGOTIATION34Onyama Limba
1010Leja N WieserIndia2024-06-12Chemel, James L Cpa UNQUALIFIED41Xuxue Feng
1011Munro T RoysterSpain2024-06-18Dorl, James J Esq NEGOTIATION32Xuxue Feng
1012Jennifer S GauchoCanada2024-05-27Chemel, James L Cpa PROPOSAL20Bernardo Dominic
1013Misaki G MacleadRussia2024-06-14King, Christopher A Esq NEGOTIATION31Xuxue Feng
1014Faith Q OldroydItaly2024-05-29Morlong Associates UNQUALIFIED10Asiya Javayant
1015Ivar O GlickRussia2024-05-26Chapman, Ross E Esq QUALIFIED28Amy Elsner
1016Antonio P CaldareraIndia2024-06-09Morlong Associates PROPOSAL97Onyama Limba
1017Tony G ShinkoArgentina2024-06-11Morlong Associates RENEWAL66Ivan Magalhaes
1018Kadeem J MacleadBrazil2024-05-31Feiner Bros NEW96Xuxue Feng
1019Leja X DoeCanada2024-06-15Morlong Associates RENEWAL21Stephen Shaw
1020Francesco Z WaycottIndia2024-05-27Printing Dimensions PROPOSAL40Anna Fali
1021Juan N TollnerRussia2024-05-27Rangoni Of Florence RENEWAL72Ioni Bowcher
1022Deepesh Y CaudyBrazil2024-06-02Feiner Bros PROPOSAL51Elwin Sharvill
1023Aruna Y CampainBrazil2024-06-07Chanay, Jeffrey A Esq NEGOTIATION67Elwin Sharvill
1024Mayumi B CampainItaly2024-05-24Rangoni Of Florence PROPOSAL39Elwin Sharvill
1025Greenwood N FlosiUnited Kingdom2024-05-30Commercial Press NEGOTIATION46Xuxue Feng
1026Chavez S InouyeAustralia2024-06-02Feiner Bros RENEWAL64Xuxue Feng
1027Arvin Z DarakjyAustralia2024-06-12Chanay, Jeffrey A Esq NEGOTIATION58Stephen Shaw
1028Isabel Z GarufiAustralia2024-05-29Commercial Press RENEWAL19Ivan Magalhaes
1029Sinclair G SchemmerItaly2024-06-14Feiner Bros RENEWAL52Ioni Bowcher
1030Tony X VocelkaUnited Kingdom2024-06-16Feltz Printing Service NEGOTIATION63Ivan Magalhaes
1031Chavez G ButtRussia2024-06-15Chemel, James L Cpa QUALIFIED96Amy Elsner
1032Tony V FigeroaBrazil2024-06-20Truhlar And Truhlar Attys NEW43Asiya Javayant
1033Izzy B RoysterArgentina2024-06-02Chemel, James L Cpa NEGOTIATION8Xuxue Feng
1034Maisha W AlbaresItaly2024-06-03Feltz Printing Service RENEWAL78Ioni Bowcher
1035Ricardo Y BologniaCanada2024-06-14King, Christopher A Esq QUALIFIED73Amy Elsner
1036Antonio R CaldareraJapan2024-06-11Benton, John B Jr RENEWAL73Ioni Bowcher
1037Chavez Z CampainGermany2024-06-19Morlong Associates NEGOTIATION13Anna Fali
1038Claire I FlosiJapan2024-06-13Feltz Printing Service NEGOTIATION9Ioni Bowcher
1039Mayumi V KolmetzArgentina2024-05-29Chapman, Ross E Esq NEW27Bernardo Dominic
1040Sinclair I FerenczRussia2024-06-09Rangoni Of Florence NEW14Anna Fali
1041Francesco E PoquetteIndia2024-06-08Dorl, James J Esq NEGOTIATION94Asiya Javayant
1042David N ShinkoRussia2024-05-28Truhlar And Truhlar Attys NEGOTIATION44Bernardo Dominic
1043Francesco G CaudyBrazil2024-05-28Commercial Press QUALIFIED37Stephen Shaw
1044Arvin D RoysterFrance2024-06-15Chemel, James L Cpa PROPOSAL39Elwin Sharvill
1045Kaitlin F RutaJapan2024-05-30Printing Dimensions UNQUALIFIED25Bernardo Dominic
1046Mujtaba Y SlusarskiCanada2024-06-19Printing Dimensions UNQUALIFIED2Xuxue Feng
1047Emily Q WieserUnited Kingdom2024-05-27Chapman, Ross E Esq QUALIFIED31Amy Elsner
1048Kaitlin W CaudyItaly2024-06-01Buckley Miller Wright UNQUALIFIED6Ivan Magalhaes
1049Aditya Q MaletAustralia2024-06-15Feltz Printing Service NEW26Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya P ChuiArgentinaAmy Elsner RENEWAL
Arvin R BowleyBrazilIoni Bowcher NEGOTIATION
Maisha F RimRussiaStephen Shaw UNQUALIFIED
Sinclair A FlosiSpainIvan Magalhaes PROPOSAL
Aruna K GillianGermanyIoni Bowcher UNQUALIFIED
Jones M DoeItalyIoni Bowcher RENEWAL
Leja O RoysterIndiaBernardo Dominic QUALIFIED
Deepesh T ShinkoUnited KingdomAsiya Javayant NEW
Morrow V GauchoItalyAmy Elsner NEGOTIATION
Rodrigues C MaletFranceXuxue Feng NEW
Ricardo C DilliardRussiaStephen Shaw NEGOTIATION
Chavez L FlosiArgentinaAnna Fali NEGOTIATION
Morrow C InouyeRussiaElwin Sharvill RENEWAL
Stacey Q KuskoGermanyBernardo Dominic RENEWAL
Silvio T GauchoJapanXuxue Feng RENEWAL
Clifford J BowleyGermanyAmy Elsner RENEWAL
Salvatore A RutaRussiaOnyama Limba UNQUALIFIED
Juan L SlusarskiRussiaXuxue Feng NEW
Sinclair R SlusarskiSpainAsiya Javayant PROPOSAL
Kaitlin U CaldareraUnited KingdomOnyama Limba NEW
Morrow R WieserBrazilIvan Magalhaes QUALIFIED
Smith L NestleRussiaAmy Elsner PROPOSAL
Clifford I ButtIndiaIvan Magalhaes PROPOSAL
Chavez Z BologniaArgentinaAsiya Javayant UNQUALIFIED
Arvin X GlickIndiaIvan Magalhaes QUALIFIED
Cody N BriddickIndiaAsiya Javayant PROPOSAL
Aika D AmigonRussiaAnna Fali NEGOTIATION
Silvio L MorascaCanadaIvan Magalhaes NEW
Murillo X GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio Z CaldareraFranceOnyama Limba QUALIFIED
Costa C CaldareraJapanIoni Bowcher UNQUALIFIED
Rodrigues D WhobreyIndiaBernardo Dominic NEGOTIATION
Rodrigues A MaletAustraliaElwin Sharvill QUALIFIED
Misaki K MorascaJapanAmy Elsner NEW
Greenwood P VenereCanadaXuxue Feng NEW
Kadeem G BowleyRussiaIvan Magalhaes NEW
Kaitlin Y KolmetzRussiaOnyama Limba PROPOSAL
Greenwood Q RutaJapanBernardo Dominic UNQUALIFIED
Arvin H PoquetteIndiaAmy Elsner QUALIFIED
David J TollnerJapanAmy Elsner RENEWAL
Murillo J MacleadSpainIoni Bowcher NEW
Julie N KolmetzFranceIoni Bowcher QUALIFIED
Ashley I SchemmerGermanyElwin Sharvill QUALIFIED
Faith P OstroskyArgentinaOnyama Limba NEGOTIATION
Murillo C RoysterBrazilIvan Magalhaes UNQUALIFIED
Jennifer A GarufiAustraliaIvan Magalhaes QUALIFIED
Jennifer D ButtCanadaAmy Elsner PROPOSAL
Wickens S InouyeFranceIvan Magalhaes PROPOSAL
Juan F PoquetteGermanyIoni Bowcher PROPOSAL
Jennifer D BologniaIndiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Kaitlin W Dilliard
Salvatore M Malet
Aditya S Figeroa
Ashley F Stenseth
Jennifer S Tollner
Arvin V Ferencz
Murillo P Maclead
Salvatore W Nestle
Claire Y Waycott
Maisha R Flosi
Johnson Y Garufi
Chavez T Stenseth
Chavez T Nicka
Salvatore N Malet
Morrow B Inouye
Claire G Amigon
Emily N Stockham
Julie R Malet
Ashley S Nestle
Cody A Stenseth
Cody L Bolognia
Greenwood M Wieser
Misaki Q Bowley
Sinclair Y Figeroa
Emily X Paprocki
Silvio Q Garufi
Costa I Malet
Aika Z Ruta
Maisha R Shinko
Arvin V Chui
Claire M Slusarski
Aruna V Shinko
Wickens B Amigon
Ashley I Shinko
Ivar G Marrier
Ivar B Caldarera
Jeanfrancois W Dilliard
Ivar L Schemmer
Salvatore D Maclead
Munro W Maclead
Sinclair H Caldarera
Kadeem H Amigon
Smith P Stenseth
Ashley W Flosi
Leja F Butt
Ashley I Dilliard
Izzy L Albares
Wickens A Ostrosky
Sinclair X Royster
Mujtaba B Sergi
IdCountryDate
1000Germany2024-05-23
1001Italy2024-06-03
1002India2024-06-09
1003Argentina2024-05-24
1004India2024-06-12
1005France2024-06-04
1006United Kingdom2024-06-19
1007Argentina2024-06-17
1008Australia2024-06-11
1009Spain2024-06-20
1010France2024-06-20
1011Spain2024-06-15
1012Australia2024-06-20
1013Australia2024-06-20
1014Argentina2024-06-13
1015Russia2024-06-21
1016India2024-06-19
1017Germany2024-05-25
1018Germany2024-06-11
1019Australia2024-06-17
1020Spain2024-05-25
1021India2024-06-18
1022Japan2024-05-29
1023Canada2024-06-03
1024Canada2024-06-11
1025Brazil2024-06-18
1026Japan2024-06-13
1027Australia2024-06-03
1028Japan2024-06-12
1029United Kingdom2024-06-08
1030Italy2024-06-09
1031France2024-06-16
1032Japan2024-06-04
1033Russia2024-06-06
1034Japan2024-06-01
1035Germany2024-05-23
1036Italy2024-05-31
1037India2024-06-18
1038Italy2024-06-03
1039Japan2024-06-14
1040Brazil2024-06-21
1041Argentina2024-05-31
1042Germany2024-06-21
1043United Kingdom2024-05-31
1044Japan2024-06-01
1045Australia2024-06-08
1046Brazil2024-06-03
1047Japan2024-05-27
1048Argentina2024-06-16
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Darci N Shinko1000Canada2024-06-01
Faith L Darakjy1001France2024-06-15
Aika T Saylors1002France2024-06-20
Francesco Z Tollner1003France2024-06-07
Stacey F Wieser1004Australia2024-05-24
Rodrigues R Dilliard1005Brazil2024-05-29
Francesco O Stockham1006Italy2024-05-29
Mayumi T Rim1007Japan2024-06-07
Greenwood O Wieser1008India2024-06-04
Jones R Darakjy1009India2024-06-12
Claire V Campain1010Spain2024-06-17
Silvio G Foller1011United Kingdom2024-05-23
Jeanfrancois G Vocelka1012United Kingdom2024-06-16
Arvin Y Shinko1013Germany2024-06-08
Maisha K Perin1014Japan2024-06-17
Arvin Y Poquette1015India2024-06-16
Arvin N Ruta1016Argentina2024-05-31
Kadeem N Iturbide1017Japan2024-06-16
Chavez L Briddick1018Italy2024-05-30
Aika B Sergi1019India2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson W PoquetteJapanStephen Shaw NEGOTIATION
Jennifer N WhobreyFranceAnna Fali RENEWAL
Maria B DoeCanadaAmy Elsner QUALIFIED
Ashley V OstroskyCanadaIoni Bowcher QUALIFIED
Kadeem F DilliardFranceIvan Magalhaes NEGOTIATION
Francesco H BowleyRussiaAmy Elsner PROPOSAL
Chavez A VenereFranceElwin Sharvill NEGOTIATION
Wickens D DoeCanadaXuxue Feng RENEWAL
Salvatore Y SaylorsSpainAsiya Javayant UNQUALIFIED
David S FerenczArgentinaElwin Sharvill PROPOSAL
Sinclair S FlosiUnited KingdomBernardo Dominic PROPOSAL
Izzy A GarufiJapanAsiya Javayant RENEWAL
Deepesh E BowleyJapanOnyama Limba QUALIFIED
Cody G DarakjyJapanElwin Sharvill PROPOSAL
Stacey Z GlickUnited KingdomOnyama Limba PROPOSAL
Morrow A FerenczItalyAmy Elsner RENEWAL
Salvatore D SergiSpainBernardo Dominic RENEWAL
Nicolas Z SchemmerSpainStephen Shaw QUALIFIED
James D KuskoArgentinaStephen Shaw NEW
Ivar X SaylorsFranceElwin Sharvill NEW
Darci Z KuskoUnited KingdomOnyama Limba NEGOTIATION
Wickens X MaletIndiaElwin Sharvill UNQUALIFIED
Adams H FerenczSpainIoni Bowcher QUALIFIED
Izzy G KuskoUnited KingdomAmy Elsner NEW
Leja R CampainJapanElwin Sharvill RENEWAL
Chavez M MaletArgentinaIoni Bowcher QUALIFIED
Maria Q FollerItalyBernardo Dominic UNQUALIFIED
Darci D FerenczArgentinaAmy Elsner UNQUALIFIED
Aika N FigeroaJapanIoni Bowcher PROPOSAL
James R StensethBrazilXuxue Feng NEW
Leon R BowleyAustraliaXuxue Feng UNQUALIFIED
Murillo A FlosiCanadaAmy Elsner NEW
Arvin B SchemmerUnited KingdomIvan Magalhaes NEGOTIATION
Munro V WaycottSpainIoni Bowcher QUALIFIED
Leon H KolmetzGermanyAmy Elsner QUALIFIED
Chavez C GarufiItalyBernardo Dominic NEW
Kaitlin O FigeroaFranceAmy Elsner NEW
Chavez J ButtItalyOnyama Limba NEW
James V ChuiItalyIoni Bowcher PROPOSAL
Chavez E NickaItalyIoni Bowcher 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>