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
David H ButtRussiaOnyama Limba PROPOSAL
Ricardo L KuskoFranceAmy Elsner UNQUALIFIED
Munro A RutaBrazilIoni Bowcher RENEWAL
Ashley F NestleSpainAsiya Javayant QUALIFIED
Emily B FigeroaAustraliaAsiya Javayant NEW
Faith L WieserAustraliaBernardo Dominic NEGOTIATION
Stacey P WaycottSpainStephen Shaw NEW
Costa T OldroydFranceStephen Shaw RENEWAL
Salvatore A NestleIndiaElwin Sharvill UNQUALIFIED
Wickens R RoysterRussiaXuxue Feng QUALIFIED
Maisha P SergiRussiaBernardo Dominic RENEWAL
Cody X DarakjyGermanyIvan Magalhaes NEGOTIATION
Jefferson Q DarakjyIndiaXuxue Feng UNQUALIFIED
Juan S WhobreyJapanXuxue Feng NEGOTIATION
Adams I FigeroaSpainStephen Shaw NEW
Murillo X RoysterArgentinaIvan Magalhaes QUALIFIED
Deepesh B SergiSpainElwin Sharvill NEW
Alejandro H SlusarskiIndiaAmy Elsner NEGOTIATION
Morrow H NestleGermanyXuxue Feng NEGOTIATION
Salvatore F BriddickIndiaIoni Bowcher NEW
Kaitlin J GlickSpainAnna Fali NEW
Adams W FerenczFranceStephen Shaw RENEWAL
Smith Q CaudySpainAsiya Javayant QUALIFIED
Stacey N MacleadJapanElwin Sharvill NEW
Octavia Y KuskoArgentinaOnyama Limba RENEWAL
Cody X PerinAustraliaAsiya Javayant UNQUALIFIED
Izzy E DilliardIndiaIoni Bowcher RENEWAL
Jones W FlosiArgentinaIvan Magalhaes PROPOSAL
Maisha H MarrierArgentinaAmy Elsner UNQUALIFIED
Maisha Q VocelkaItalyXuxue Feng PROPOSAL
Maisha J WaycottCanadaElwin Sharvill UNQUALIFIED
Aika K DoeAustraliaElwin Sharvill UNQUALIFIED
Rodrigues Z MaletArgentinaXuxue Feng PROPOSAL
Arvin F MaletAustraliaIoni Bowcher RENEWAL
Emily T AmigonUnited KingdomAmy Elsner QUALIFIED
Morrow W ChuiCanadaAmy Elsner UNQUALIFIED
Greenwood E GillianItalyAmy Elsner QUALIFIED
Smith D MacleadCanadaIoni Bowcher QUALIFIED
Ricardo O BologniaBrazilXuxue Feng PROPOSAL
Nicolas Z RutaAustraliaStephen Shaw NEGOTIATION
Costa I WaycottSpainAnna Fali RENEWAL
Deepesh A PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Darci W GauchoJapanAnna Fali PROPOSAL
Jones P WhobreyJapanIvan Magalhaes NEW
Emily Y RimBrazilStephen Shaw RENEWAL
Arvin J BologniaSpainIoni Bowcher RENEWAL
Izzy I GauchoItalyXuxue Feng NEW
Ricardo Z WaycottRussiaOnyama Limba PROPOSAL
Kadeem I GauchoItalyStephen Shaw PROPOSAL
Morrow Z WhobreyCanadaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ivar P VenereBrazilAmy Elsner NEW
Octavia B StockhamJapanAnna Fali UNQUALIFIED
Nicolas T AlbaresFranceElwin Sharvill PROPOSAL
Maisha I WieserAustraliaBernardo Dominic QUALIFIED
Tony P WhobreyIndiaIvan Magalhaes QUALIFIED
Adams I FigeroaItalyIoni Bowcher NEGOTIATION
Morrow X NickaUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba G KuskoIndiaBernardo Dominic NEGOTIATION
Aruna U AmigonFranceIoni Bowcher RENEWAL
Ivar V CaldareraGermanyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer Q FollerItaly2024-05-24Printing Dimensions PROPOSAL44Amy Elsner
1001Nicolas J WaycottBrazil2024-05-31Feiner Bros UNQUALIFIED74Asiya Javayant
1002Juan L VocelkaAustralia2024-06-07Rangoni Of Florence PROPOSAL22Xuxue Feng
1003Julie I MacleadIndia2024-06-18Rangoni Of Florence NEGOTIATION47Asiya Javayant
1004Misaki D BowleyItaly2024-06-20Feltz Printing Service UNQUALIFIED66Ivan Magalhaes
1005Jones H TollnerAustralia2024-06-08Buckley Miller Wright NEW62Ivan Magalhaes
1006Aruna S WieserAustralia2024-05-28Benton, John B Jr UNQUALIFIED53Anna Fali
1007Deepesh L PerinBrazil2024-06-20King, Christopher A Esq NEGOTIATION41Bernardo Dominic
1008Ricardo I MorascaJapan2024-05-24Feiner Bros NEGOTIATION61Bernardo Dominic
1009Kaitlin Z PaprockiUnited Kingdom2024-06-09Chanay, Jeffrey A Esq QUALIFIED26Elwin Sharvill
1010Jefferson Z SlusarskiItaly2024-05-24Chapman, Ross E Esq NEW40Asiya Javayant
1011Smith G KolmetzArgentina2024-05-28Commercial Press NEGOTIATION28Amy Elsner
1012Jeanfrancois T GillianSpain2024-06-10Rangoni Of Florence UNQUALIFIED21Asiya Javayant
1013Antonio U SaylorsBrazil2024-05-29Rousseaux, Michael Esq RENEWAL86Bernardo Dominic
1014Jones K RulapaughBrazil2024-06-04Morlong Associates RENEWAL81Ioni Bowcher
1015David P NestleArgentina2024-06-14Feltz Printing Service UNQUALIFIED47Amy Elsner
1016Rodrigues B ChuiArgentina2024-06-12Commercial Press RENEWAL43Bernardo Dominic
1017Salvatore H TollnerItaly2024-06-03Commercial Press UNQUALIFIED25Bernardo Dominic
1018Isabel I ShinkoAustralia2024-06-05Benton, John B Jr NEGOTIATION66Xuxue Feng
1019Aruna K PoquetteAustralia2024-05-31Morlong Associates UNQUALIFIED36Asiya Javayant
1020Murillo F ButtAustralia2024-05-29Benton, John B Jr NEGOTIATION18Elwin Sharvill
1021Murillo M FerenczAustralia2024-05-25King, Christopher A Esq QUALIFIED42Onyama Limba
1022Octavia Y NickaRussia2024-06-01Chapman, Ross E Esq UNQUALIFIED28Anna Fali
1023James K MaletSpain2024-05-24Truhlar And Truhlar Attys QUALIFIED13Ioni Bowcher
1024Murillo D FollerArgentina2024-05-30Dorl, James J Esq NEGOTIATION75Elwin Sharvill
1025Ashley W FollerUnited Kingdom2024-06-18Truhlar And Truhlar Attys NEGOTIATION62Amy Elsner
1026Juan R RimAustralia2024-06-04Printing Dimensions PROPOSAL41Onyama Limba
1027Johnson O BriddickBrazil2024-05-26King, Christopher A Esq NEGOTIATION23Ioni Bowcher
1028Maria Q GlickGermany2024-05-24Feltz Printing Service NEGOTIATION98Onyama Limba
1029James R RoysterAustralia2024-06-21Chapman, Ross E Esq RENEWAL41Ivan Magalhaes
1030Kadeem V SlusarskiIndia2024-06-04Rousseaux, Michael Esq QUALIFIED85Onyama Limba
1031James T BologniaRussia2024-06-17Commercial Press RENEWAL87Ioni Bowcher
1032Julie R SlusarskiSpain2024-05-26Commercial Press NEW0Stephen Shaw
1033Stacey H DoeJapan2024-05-26Feltz Printing Service PROPOSAL5Stephen Shaw
1034Leja F RoysterRussia2024-06-14Chanay, Jeffrey A Esq NEGOTIATION84Elwin Sharvill
1035Jefferson F GauchoGermany2024-05-26Commercial Press NEW74Anna Fali
1036Claire U MaletIndia2024-06-19Morlong Associates UNQUALIFIED43Bernardo Dominic
1037Alejandro Q PerinAustralia2024-06-16Printing Dimensions NEW2Asiya Javayant
1038Maria U MarrierUnited Kingdom2024-06-17Printing Dimensions RENEWAL64Bernardo Dominic
1039Ricardo Q DilliardIndia2024-06-06Rangoni Of Florence QUALIFIED53Amy Elsner
1040Sinclair G DoeAustralia2024-06-20Morlong Associates QUALIFIED41Amy Elsner
1041Jennifer F MaletArgentina2024-05-31Chanay, Jeffrey A Esq RENEWAL83Elwin Sharvill
1042Jefferson Q AlbaresSpain2024-06-21Rousseaux, Michael Esq NEW26Onyama Limba
1043Costa J DoeIndia2024-06-02Feiner Bros PROPOSAL10Elwin Sharvill
1044Arvin E RimAustralia2024-06-13Truhlar And Truhlar Attys PROPOSAL7Amy Elsner
1045Julie E DoeBrazil2024-06-15Rangoni Of Florence RENEWAL44Stephen Shaw
1046Stacey H RoysterBrazil2024-05-29Chapman, Ross E Esq UNQUALIFIED39Ioni Bowcher
1047Aruna Q GillianBrazil2024-06-13Dorl, James J Esq PROPOSAL74Ioni Bowcher
1048Isabel Z GarufiJapan2024-06-04King, Christopher A Esq RENEWAL29Anna Fali
1049James X DarakjyCanada2024-06-06Truhlar And Truhlar Attys NEW60Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin N BriddickUnited KingdomIoni Bowcher NEW
Morrow W BriddickSpainAnna Fali PROPOSAL
Jennifer T WieserFranceIoni Bowcher NEGOTIATION
Jones U GarufiFranceOnyama Limba NEW
Arvin B GarufiFranceXuxue Feng UNQUALIFIED
Johnson S NickaItalyIoni Bowcher NEW
Jefferson A BriddickCanadaElwin Sharvill QUALIFIED
Mayumi J ChuiUnited KingdomIoni Bowcher QUALIFIED
Chavez J ShinkoArgentinaOnyama Limba NEW
Maria F PoquetteAustraliaAsiya Javayant QUALIFIED
Jefferson H KuskoSpainStephen Shaw PROPOSAL
Darci C DarakjyBrazilAnna Fali NEW
Costa N StensethAustraliaXuxue Feng QUALIFIED
Johnson X FlosiIndiaElwin Sharvill NEGOTIATION
Alejandro J SaylorsJapanStephen Shaw NEW
Kaitlin J WieserGermanyIoni Bowcher QUALIFIED
Smith T TollnerJapanElwin Sharvill RENEWAL
Stacey Y KolmetzSpainAmy Elsner NEW
Claire O PaprockiBrazilElwin Sharvill QUALIFIED
Johnson D FollerRussiaIvan Magalhaes UNQUALIFIED
Francesco B MaletUnited KingdomOnyama Limba PROPOSAL
Francesco N OldroydItalyOnyama Limba NEGOTIATION
James W ShinkoCanadaStephen Shaw RENEWAL
Mayumi M ChuiSpainOnyama Limba UNQUALIFIED
Morrow C FollerRussiaIoni Bowcher UNQUALIFIED
Arvin M CaudyGermanyXuxue Feng UNQUALIFIED
Maria Z BriddickFranceIoni Bowcher UNQUALIFIED
Costa A FigeroaIndiaXuxue Feng NEGOTIATION
Octavia S IturbideItalyBernardo Dominic NEW
Ricardo V FigeroaUnited KingdomXuxue Feng NEW
Leon Y DoeBrazilOnyama Limba NEGOTIATION
Rodrigues F FlosiJapanXuxue Feng PROPOSAL
Wickens T BowleyGermanyIvan Magalhaes RENEWAL
Ashley P MacleadBrazilIvan Magalhaes UNQUALIFIED
Octavia G MaletFranceStephen Shaw QUALIFIED
Darci Z OstroskyFranceAnna Fali UNQUALIFIED
Kaitlin M PerinItalyStephen Shaw UNQUALIFIED
Antonio V GarufiJapanIvan Magalhaes QUALIFIED
Francesco P MaletAustraliaIvan Magalhaes UNQUALIFIED
Jennifer L DoeFranceXuxue Feng NEW
Adams Z StockhamAustraliaOnyama Limba RENEWAL
Kadeem V MaletUnited KingdomXuxue Feng QUALIFIED
Salvatore E RulapaughItalyAsiya Javayant RENEWAL
Emily S VocelkaJapanXuxue Feng UNQUALIFIED
Adams I VenereIndiaBernardo Dominic NEW
Antonio J WieserArgentinaIvan Magalhaes NEGOTIATION
Munro S VenereBrazilIoni Bowcher NEGOTIATION
Aika G BologniaGermanyBernardo Dominic NEGOTIATION
Mayumi Z AmigonGermanyIvan Magalhaes NEW
Francesco I RimSpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Murillo C Perin
Cody L Perin
Ivar U Iturbide
Kadeem I Bolognia
Julie S Ruta
Murillo E Amigon
James V Glick
Emily T Slusarski
Munro A Bowley
Greenwood Y Morasca
Kaitlin G Amigon
Jefferson T Vocelka
Aika B Oldroyd
Misaki Y Schemmer
Stacey R Tollner
Johnson O Garufi
Aditya P Campain
Faith N Stenseth
Izzy K Poquette
Francesco O Garufi
Morrow O Briddick
Jennifer C Caudy
Alejandro U Gaucho
Alejandro G Vocelka
Ashley U Paprocki
Aditya S Maclead
Maisha W Dilliard
Aika E Malet
Smith Q Kolmetz
Ivar T Figeroa
Murillo V Bolognia
Leon P Bowley
Ricardo M Nestle
Darci F Marrier
Claire J Garufi
Darci Z Chui
Chavez Q Briddick
Salvatore F Rulapaugh
Julie W Stenseth
Jeanfrancois M Caldarera
Morrow R Bolognia
Adams J Ruta
Alejandro W Perin
Jefferson W Malet
Arvin V Chui
Leja I Shinko
Izzy G Caudy
Arvin G Rulapaugh
Nicolas G Rim
Chavez W Foller
IdCountryDate
1000Brazil2024-06-19
1001Australia2024-06-03
1002Germany2024-06-14
1003Italy2024-06-08
1004Russia2024-05-23
1005Russia2024-06-17
1006Canada2024-05-29
1007Spain2024-06-19
1008Japan2024-06-01
1009Japan2024-06-18
1010Germany2024-06-02
1011United Kingdom2024-05-29
1012Australia2024-05-24
1013Canada2024-06-14
1014Australia2024-06-12
1015Spain2024-06-21
1016Russia2024-06-05
1017Canada2024-05-29
1018Italy2024-06-14
1019United Kingdom2024-06-04
1020India2024-06-05
1021United Kingdom2024-06-06
1022Argentina2024-06-16
1023United Kingdom2024-06-15
1024United Kingdom2024-06-14
1025Japan2024-05-25
1026Spain2024-05-25
1027Germany2024-05-29
1028Argentina2024-05-24
1029India2024-06-19
1030France2024-06-03
1031Japan2024-06-12
1032Spain2024-06-10
1033India2024-06-05
1034Japan2024-06-08
1035Argentina2024-06-08
1036Canada2024-06-17
1037Spain2024-06-21
1038Spain2024-06-19
1039Australia2024-06-06
1040Italy2024-06-12
1041Canada2024-06-12
1042Spain2024-06-12
1043Japan2024-06-04
1044Australia2024-06-09
1045France2024-06-04
1046India2024-06-08
1047France2024-06-11
1048Australia2024-06-16
1049Germany2024-05-24

On-Demand Data

NameIdCountryDate
Sinclair X Caldarera1000United Kingdom2024-05-26
Aditya G Wieser1001Germany2024-06-05
Octavia N Rim1002France2024-06-07
Kadeem M Dilliard1003Spain2024-06-10
Ivar L Malet1004Italy2024-06-12
Juan F Nestle1005France2024-06-01
Adams B Caldarera1006Germany2024-06-12
Octavia V Tollner1007Brazil2024-06-14
Maria P Oldroyd1008India2024-05-24
Sinclair U Garufi1009Italy2024-06-01
Juan I Paprocki1010Canada2024-06-10
Stacey U Royster1011France2024-06-14
Mujtaba O Butt1012United Kingdom2024-06-02
Tony U Vocelka1013Russia2024-06-12
Ashley V Stenseth1014India2024-05-30
Darci Z Shinko1015Australia2024-06-13
Morrow V Gaucho1016United Kingdom2024-06-10
David Q Poquette1017Australia2024-06-17
Julie O Tollner1018Japan2024-06-19
Julie R Chui1019Brazil2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford X RutaBrazilStephen Shaw NEGOTIATION
Leon U RulapaughGermanyIvan Magalhaes RENEWAL
Nicolas A BowleyArgentinaOnyama Limba QUALIFIED
Octavia A NickaUnited KingdomIoni Bowcher RENEWAL
Jones T SergiGermanyStephen Shaw QUALIFIED
Stacey G StockhamCanadaAsiya Javayant NEGOTIATION
Wickens J NestleCanadaBernardo Dominic NEW
Greenwood T KolmetzAustraliaOnyama Limba NEW
Jeanfrancois H SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Juan I MaletSpainBernardo Dominic NEW
Ricardo Z MaletIndiaIvan Magalhaes UNQUALIFIED
Stacey Y BowleyRussiaStephen Shaw QUALIFIED
Cody U RimUnited KingdomIoni Bowcher RENEWAL
Deepesh V RulapaughIndiaElwin Sharvill NEW
Maisha F CampainBrazilIoni Bowcher RENEWAL
Octavia R SchemmerRussiaOnyama Limba UNQUALIFIED
Cody U GarufiCanadaXuxue Feng PROPOSAL
Ricardo V MacleadRussiaAnna Fali RENEWAL
Chavez D FlosiFranceIoni Bowcher UNQUALIFIED
Johnson K GillianArgentinaBernardo Dominic PROPOSAL
Costa L FerenczItalyAsiya Javayant NEGOTIATION
Deepesh C FerenczRussiaBernardo Dominic QUALIFIED
Leja E OldroydJapanIvan Magalhaes NEW
Aika W OstroskySpainStephen Shaw RENEWAL
Adams X PerinBrazilElwin Sharvill NEW
Kadeem A CampainUnited KingdomStephen Shaw UNQUALIFIED
Nicolas G WaycottJapanXuxue Feng QUALIFIED
Ashley M KuskoCanadaStephen Shaw QUALIFIED
Smith N WieserBrazilElwin Sharvill QUALIFIED
Clifford A VenereJapanAnna Fali UNQUALIFIED
Maria S RulapaughAustraliaIoni Bowcher NEGOTIATION
Deepesh V AlbaresRussiaElwin Sharvill PROPOSAL
Aika N BriddickJapanAsiya Javayant RENEWAL
Antonio R WaycottFranceAnna Fali UNQUALIFIED
Mayumi G DarakjyItalyBernardo Dominic PROPOSAL
Isabel C AlbaresGermanyAsiya Javayant NEW
Morrow C GillianIndiaStephen Shaw RENEWAL
Wickens J GauchoItalyXuxue Feng NEGOTIATION
Emily D StockhamItalyIoni Bowcher UNQUALIFIED
Aika G SlusarskiBrazilAsiya Javayant PROPOSAL

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