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
Smith D GillianItalyAmy Elsner NEGOTIATION
Mujtaba K DilliardGermanyAnna Fali NEGOTIATION
Claire M GauchoBrazilAsiya Javayant NEW
Jefferson T PerinArgentinaElwin Sharvill NEGOTIATION
Leon U SaylorsGermanyAsiya Javayant NEW
Silvio X WaycottRussiaAsiya Javayant NEW
Jefferson B RutaUnited KingdomIvan Magalhaes NEGOTIATION
Smith I OldroydBrazilElwin Sharvill PROPOSAL
Claire U AlbaresItalyStephen Shaw UNQUALIFIED
Aika B FerenczRussiaIvan Magalhaes QUALIFIED
Rodrigues W VenereArgentinaXuxue Feng PROPOSAL
Izzy I CampainBrazilAsiya Javayant QUALIFIED
Julie Z RulapaughIndiaAmy Elsner QUALIFIED
Kaitlin Q AmigonBrazilAnna Fali PROPOSAL
James P MaletRussiaAsiya Javayant RENEWAL
Greenwood P FerenczIndiaAsiya Javayant NEGOTIATION
Morrow U WhobreyFranceAnna Fali NEW
Sinclair I VenereSpainAnna Fali QUALIFIED
Munro G SergiSpainElwin Sharvill RENEWAL
Ricardo Z SlusarskiUnited KingdomAnna Fali NEGOTIATION
Aditya Y PaprockiSpainBernardo Dominic RENEWAL
Maria Y GarufiUnited KingdomAnna Fali QUALIFIED
Murillo A MaletIndiaAnna Fali RENEWAL
Francesco C CaudyItalyAnna Fali UNQUALIFIED
Arvin Y PerinSpainXuxue Feng QUALIFIED
Juan V TollnerItalyIoni Bowcher UNQUALIFIED
Antonio Q GlickIndiaIoni Bowcher NEW
Wickens X SaylorsGermanyIvan Magalhaes UNQUALIFIED
Chavez Q DoeAustraliaOnyama Limba PROPOSAL
Kadeem G WieserBrazilIoni Bowcher RENEWAL
Wickens N SergiGermanyIvan Magalhaes RENEWAL
Leon K GauchoFranceXuxue Feng QUALIFIED
Misaki N AmigonItalyOnyama Limba PROPOSAL
Munro Y SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Maria B SchemmerFranceAmy Elsner NEW
Aruna S StensethItalyAmy Elsner UNQUALIFIED
Ricardo R GlickUnited KingdomStephen Shaw UNQUALIFIED
Costa H FollerCanadaXuxue Feng RENEWAL
Faith F SchemmerFranceBernardo Dominic RENEWAL
Juan A ChuiBrazilAnna Fali PROPOSAL
Adams Q MorascaIndiaAsiya Javayant QUALIFIED
Maria G DilliardIndiaAnna Fali QUALIFIED
Alejandro U OldroydCanadaIvan Magalhaes QUALIFIED
Silvio V FigeroaGermanyXuxue Feng NEGOTIATION
Misaki Z VocelkaArgentinaXuxue Feng RENEWAL
Kadeem L ChuiRussiaElwin Sharvill PROPOSAL
Misaki Q WhobreySpainAmy Elsner NEW
Salvatore P SlusarskiFranceBernardo Dominic UNQUALIFIED
Arvin C AmigonJapanIoni Bowcher NEW
Kadeem W SergiArgentinaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois L TollnerArgentinaStephen Shaw QUALIFIED
Adams E CaldareraIndiaXuxue Feng QUALIFIED
Francesco F BriddickItalyIvan Magalhaes UNQUALIFIED
Mujtaba J OstroskySpainIvan Magalhaes PROPOSAL
David P MacleadItalyBernardo Dominic RENEWAL
Maisha H TollnerFranceIvan Magalhaes QUALIFIED
Leja X SaylorsBrazilBernardo Dominic PROPOSAL
James P FerenczRussiaIvan Magalhaes PROPOSAL
Mujtaba Q VocelkaSpainAnna Fali QUALIFIED
Morrow Q KuskoAustraliaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin W SergiArgentina2024-05-30Rangoni Of Florence NEW69Stephen Shaw
1001Murillo J StockhamItaly2024-06-13Benton, John B Jr NEW2Asiya Javayant
1002Izzy O FollerArgentina2024-06-05Benton, John B Jr QUALIFIED25Onyama Limba
1003Leja D MacleadArgentina2024-06-20Feltz Printing Service NEW89Ivan Magalhaes
1004Kaitlin T NestleSpain2024-05-27Benton, John B Jr NEGOTIATION17Xuxue Feng
1005Stacey Q TollnerSpain2024-05-27Chanay, Jeffrey A Esq QUALIFIED19Elwin Sharvill
1006Misaki E FollerGermany2024-05-25Rousseaux, Michael Esq NEGOTIATION21Stephen Shaw
1007Sinclair X StensethItaly2024-05-31Feltz Printing Service UNQUALIFIED36Ivan Magalhaes
1008Kadeem Z CampainSpain2024-06-07Truhlar And Truhlar Attys NEW91Stephen Shaw
1009Misaki W BowleyGermany2024-06-13Feltz Printing Service NEGOTIATION77Elwin Sharvill
1010Deepesh T ShinkoRussia2024-06-17Benton, John B Jr RENEWAL80Onyama Limba
1011Darci S RulapaughFrance2024-06-10Commercial Press QUALIFIED41Stephen Shaw
1012Leja I MaletCanada2024-06-08Chemel, James L Cpa UNQUALIFIED27Ivan Magalhaes
1013Isabel W MarrierIndia2024-06-06Morlong Associates QUALIFIED54Bernardo Dominic
1014Aruna W GauchoGermany2024-06-14Feiner Bros NEW50Onyama Limba
1015Darci Q FlosiAustralia2024-06-14King, Christopher A Esq PROPOSAL84Ioni Bowcher
1016James G OstroskyJapan2024-06-22Feltz Printing Service UNQUALIFIED24Stephen Shaw
1017Aruna E RutaIndia2024-06-06King, Christopher A Esq NEW17Amy Elsner
1018Johnson H NestleGermany2024-06-01Rangoni Of Florence NEW26Onyama Limba
1019Jennifer B WaycottAustralia2024-06-12Rousseaux, Michael Esq RENEWAL26Elwin Sharvill
1020Chavez C OstroskyUnited Kingdom2024-06-22Rangoni Of Florence UNQUALIFIED40Ivan Magalhaes
1021Silvio T ButtSpain2024-06-19Truhlar And Truhlar Attys PROPOSAL40Ioni Bowcher
1022Ricardo Q WaycottItaly2024-06-08Morlong Associates QUALIFIED72Amy Elsner
1023Maisha R TollnerJapan2024-06-14Truhlar And Truhlar Attys PROPOSAL25Amy Elsner
1024Jennifer B MacleadItaly2024-05-29Chanay, Jeffrey A Esq NEGOTIATION89Amy Elsner
1025Costa D KuskoAustralia2024-06-19Chapman, Ross E Esq NEGOTIATION45Elwin Sharvill
1026Julie Q RimCanada2024-05-30Morlong Associates PROPOSAL71Ioni Bowcher
1027Mujtaba Q StensethCanada2024-06-20Benton, John B Jr QUALIFIED16Bernardo Dominic
1028Darci B KuskoRussia2024-06-05Feltz Printing Service UNQUALIFIED82Stephen Shaw
1029Chavez Q RutaGermany2024-06-21Printing Dimensions QUALIFIED12Ivan Magalhaes
1030Jefferson I DoeCanada2024-06-19Chapman, Ross E Esq NEW77Amy Elsner
1031Ivar F MorascaUnited Kingdom2024-06-10Dorl, James J Esq QUALIFIED57Ivan Magalhaes
1032Costa Q ShinkoCanada2024-05-28Chapman, Ross E Esq QUALIFIED60Stephen Shaw
1033Greenwood X OstroskyCanada2024-06-07Commercial Press PROPOSAL55Bernardo Dominic
1034Greenwood D FigeroaFrance2024-06-08Morlong Associates NEW27Ivan Magalhaes
1035Darci U MaletCanada2024-06-06Printing Dimensions NEW94Xuxue Feng
1036Arvin P DoeIndia2024-05-24Benton, John B Jr QUALIFIED39Elwin Sharvill
1037Greenwood X FigeroaSpain2024-06-08Rousseaux, Michael Esq RENEWAL21Anna Fali
1038Leja N PoquetteCanada2024-06-04Chanay, Jeffrey A Esq PROPOSAL58Elwin Sharvill
1039Johnson X CampainUnited Kingdom2024-06-18Truhlar And Truhlar Attys NEW47Xuxue Feng
1040Smith F BologniaArgentina2024-06-03Benton, John B Jr RENEWAL72Amy Elsner
1041Octavia J DarakjyItaly2024-05-25Commercial Press RENEWAL13Asiya Javayant
1042Murillo V MacleadAustralia2024-05-24Benton, John B Jr QUALIFIED30Ioni Bowcher
1043Claire O DilliardJapan2024-06-17Chemel, James L Cpa NEW55Anna Fali
1044Kadeem D StensethGermany2024-06-05Dorl, James J Esq NEW61Bernardo Dominic
1045Leon O RutaGermany2024-05-29Printing Dimensions NEW47Elwin Sharvill
1046Leon A TollnerRussia2024-06-01Chemel, James L Cpa NEW19Xuxue Feng
1047Aruna Z PoquetteIndia2024-06-04Chapman, Ross E Esq UNQUALIFIED40Amy Elsner
1048Costa C OldroydJapan2024-06-13Morlong Associates RENEWAL50Anna Fali
1049Faith D IturbideUnited Kingdom2024-06-04Chemel, James L Cpa NEW98Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore I RutaGermanyStephen Shaw QUALIFIED
Munro Z ChuiJapanElwin Sharvill QUALIFIED
Arvin K MorascaUnited KingdomBernardo Dominic RENEWAL
Emily R InouyeGermanyBernardo Dominic RENEWAL
Emily L KolmetzItalyAnna Fali NEW
Mujtaba C DoeBrazilElwin Sharvill RENEWAL
Jennifer D RutaRussiaAmy Elsner NEGOTIATION
Jeanfrancois F GillianItalyAnna Fali RENEWAL
Johnson S CaldareraBrazilOnyama Limba QUALIFIED
Chavez I MorascaJapanStephen Shaw QUALIFIED
Leon C NestleRussiaAsiya Javayant QUALIFIED
Clifford Q NickaArgentinaXuxue Feng QUALIFIED
Salvatore F RulapaughIndiaAnna Fali NEW
Mayumi Z AmigonUnited KingdomAnna Fali NEGOTIATION
Morrow Z CampainCanadaBernardo Dominic PROPOSAL
Maisha O AlbaresFranceElwin Sharvill RENEWAL
Leon W PaprockiAustraliaBernardo Dominic NEW
Jennifer K NickaUnited KingdomElwin Sharvill NEW
Cody U OstroskyRussiaOnyama Limba QUALIFIED
Stacey C VenereItalyXuxue Feng QUALIFIED
Deepesh L DarakjySpainXuxue Feng RENEWAL
Emily A RutaJapanOnyama Limba QUALIFIED
Aditya D VenereRussiaBernardo Dominic NEW
Aditya G DoeGermanyOnyama Limba QUALIFIED
Aditya T RutaFranceBernardo Dominic UNQUALIFIED
Faith I GauchoRussiaXuxue Feng NEW
Faith I RimItalyElwin Sharvill QUALIFIED
Johnson S InouyeGermanyAmy Elsner UNQUALIFIED
Claire L FerenczFranceAmy Elsner NEGOTIATION
Munro D IturbideFranceAsiya Javayant PROPOSAL
Stacey C CaudyIndiaBernardo Dominic NEGOTIATION
Mujtaba Q FollerJapanAsiya Javayant UNQUALIFIED
Jennifer X DilliardBrazilStephen Shaw QUALIFIED
David D KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Munro K DarakjyArgentinaIoni Bowcher RENEWAL
Costa D WieserJapanAmy Elsner NEGOTIATION
Arvin V BowleyArgentinaOnyama Limba QUALIFIED
Maria O NestleCanadaAnna Fali PROPOSAL
Francesco C BowleyCanadaAsiya Javayant NEW
Francesco Q ButtFranceIoni Bowcher QUALIFIED
Claire J VocelkaFranceAmy Elsner NEGOTIATION
Faith N WaycottRussiaAsiya Javayant PROPOSAL
Mujtaba K GarufiRussiaAnna Fali NEGOTIATION
Rodrigues D PaprockiGermanyOnyama Limba PROPOSAL
Adams N TollnerCanadaStephen Shaw NEW
Francesco K OldroydCanadaOnyama Limba NEGOTIATION
Aruna U WieserFranceStephen Shaw PROPOSAL
Ricardo Q PaprockiJapanIvan Magalhaes NEGOTIATION
Nicolas B DoeJapanElwin Sharvill PROPOSAL
Kaitlin H NickaAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Izzy V Iturbide
Greenwood V Iturbide
Murillo B Gaucho
Izzy B Iturbide
Sinclair H Gillian
Jones H Darakjy
Adams Z Nicka
Aditya T Butt
Claire X Iturbide
Johnson O Figeroa
Aruna A Tollner
Silvio A Inouye
Jefferson F Bolognia
Adams P Vocelka
Jefferson D Nestle
Deepesh C Nestle
Salvatore F Nicka
Kadeem K Foller
Morrow F Stockham
Greenwood W Paprocki
Johnson R Paprocki
Jefferson A Vocelka
Claire M Tollner
Greenwood S Gillian
Ivar J Malet
Johnson E Briddick
Rodrigues R Figeroa
Jefferson F Bolognia
Claire P Stenseth
Leon F Garufi
Kaitlin C Rim
Silvio A Venere
Cody S Amigon
Antonio Y Dilliard
Mayumi P Chui
Chavez B Paprocki
Clifford K Nicka
Kaitlin D Glick
Deepesh I Figeroa
Ivar I Glick
Munro J Venere
Chavez E Stockham
Clifford R Bolognia
Leja P Vocelka
Jeanfrancois X Schemmer
David G Wieser
David O Sergi
Morrow N Bolognia
Kaitlin B Waycott
Aditya G Shinko
IdCountryDate
1000France2024-06-03
1001Australia2024-05-24
1002Japan2024-06-21
1003Germany2024-06-18
1004Brazil2024-06-01
1005Argentina2024-05-24
1006Germany2024-05-31
1007Australia2024-05-24
1008Canada2024-06-06
1009Italy2024-05-24
1010United Kingdom2024-06-19
1011Japan2024-05-24
1012France2024-06-04
1013Germany2024-05-30
1014France2024-05-26
1015Spain2024-06-05
1016Germany2024-05-31
1017Germany2024-06-17
1018United Kingdom2024-06-12
1019Australia2024-05-27
1020Japan2024-05-28
1021Argentina2024-06-22
1022Brazil2024-06-22
1023Germany2024-05-24
1024Italy2024-06-11
1025France2024-06-11
1026Japan2024-06-17
1027Russia2024-06-22
1028Italy2024-06-15
1029United Kingdom2024-06-20
1030Australia2024-06-09
1031India2024-05-31
1032Canada2024-05-28
1033United Kingdom2024-06-21
1034United Kingdom2024-05-29
1035Italy2024-06-11
1036Argentina2024-06-19
1037United Kingdom2024-05-28
1038India2024-06-19
1039Brazil2024-06-04
1040Russia2024-06-20
1041Russia2024-06-21
1042France2024-06-20
1043Argentina2024-06-05
1044Argentina2024-06-07
1045France2024-06-18
1046Argentina2024-05-28
1047Argentina2024-06-04
1048Italy2024-05-28
1049Australia2024-06-04

On-Demand Data

NameIdCountryDate
Munro K Wieser1000France2024-06-18
Johnson B Caudy1001Japan2024-06-11
Ricardo G Malet1002Australia2024-06-06
Stacey V Ruta1003Italy2024-06-20
Maria G Shinko1004Germany2024-06-08
Francesco O Garufi1005India2024-06-14
Clifford U Oldroyd1006Argentina2024-05-31
Jefferson U Gillian1007Italy2024-06-13
Alejandro B Paprocki1008Argentina2024-05-28
Maria J Morasca1009India2024-06-22
James S Ruta1010Spain2024-06-13
Alejandro K Briddick1011Spain2024-05-28
Claire I Paprocki1012India2024-06-09
Murillo A Whobrey1013Argentina2024-05-27
Kaitlin C Ostrosky1014India2024-06-13
Sinclair T Saylors1015India2024-05-24
Sinclair N Caldarera1016Germany2024-06-01
Jennifer S Iturbide1017Canada2024-06-05
Jones D Wieser1018Germany2024-06-22
Aditya G Nestle1019Australia2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford F PerinSpainIoni Bowcher UNQUALIFIED
Kaitlin V GlickBrazilIvan Magalhaes QUALIFIED
Izzy J BologniaUnited KingdomStephen Shaw NEW
Isabel Q BologniaBrazilXuxue Feng NEW
Francesco R DarakjySpainStephen Shaw UNQUALIFIED
Cody J SchemmerIndiaBernardo Dominic UNQUALIFIED
Maisha Y WaycottUnited KingdomAsiya Javayant PROPOSAL
Antonio N ChuiRussiaIvan Magalhaes NEW
Silvio K GauchoItalyAsiya Javayant UNQUALIFIED
Maisha F MacleadItalyOnyama Limba QUALIFIED
Mujtaba Y VocelkaFranceIoni Bowcher QUALIFIED
Antonio S SaylorsItalyAnna Fali UNQUALIFIED
Alejandro J TollnerGermanyAnna Fali RENEWAL
Aditya Q BriddickBrazilOnyama Limba QUALIFIED
Leon Y StockhamFranceBernardo Dominic RENEWAL
Sinclair W WhobreyJapanIvan Magalhaes QUALIFIED
Maisha A DarakjyFranceIvan Magalhaes PROPOSAL
Emily K WaycottCanadaElwin Sharvill NEW
Cody X VenereBrazilAnna Fali PROPOSAL
Ricardo V ChuiBrazilOnyama Limba PROPOSAL
Morrow T SchemmerAustraliaStephen Shaw UNQUALIFIED
Octavia O NestleUnited KingdomAsiya Javayant UNQUALIFIED
Faith I MacleadArgentinaOnyama Limba PROPOSAL
Francesco X VenereGermanyXuxue Feng UNQUALIFIED
Wickens Q ChuiBrazilOnyama Limba UNQUALIFIED
Octavia W GillianArgentinaBernardo Dominic QUALIFIED
Maisha T RulapaughRussiaAmy Elsner UNQUALIFIED
Cody H PerinBrazilXuxue Feng UNQUALIFIED
Alejandro K OldroydArgentinaBernardo Dominic NEW
Mayumi G PaprockiFranceBernardo Dominic PROPOSAL
Maisha B OstroskyRussiaAsiya Javayant RENEWAL
Aika F KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Murillo P CaudyUnited KingdomXuxue Feng NEGOTIATION
Wickens P BriddickItalyIoni Bowcher QUALIFIED
Munro P PoquetteCanadaAmy Elsner RENEWAL
Leon K TollnerFranceAmy Elsner QUALIFIED
Kadeem I DilliardRussiaAmy Elsner RENEWAL
Aditya R RutaArgentinaAnna Fali RENEWAL
Aika E KuskoSpainIoni Bowcher RENEWAL
Silvio P ShinkoRussiaIvan Magalhaes 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>