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
Aruna S BologniaGermanyXuxue Feng NEW
Darci Z KolmetzFranceElwin Sharvill QUALIFIED
Adams I CampainIndiaStephen Shaw QUALIFIED
Misaki Y CaudyCanadaIvan Magalhaes QUALIFIED
Arvin S GlickCanadaIoni Bowcher QUALIFIED
Ricardo R PoquetteRussiaBernardo Dominic RENEWAL
Claire P KolmetzJapanOnyama Limba UNQUALIFIED
Aika C VocelkaRussiaIvan Magalhaes QUALIFIED
Adams P ButtFranceElwin Sharvill PROPOSAL
Emily I SergiCanadaAmy Elsner NEW
Costa E WaycottUnited KingdomStephen Shaw RENEWAL
Alejandro X WieserSpainOnyama Limba PROPOSAL
Johnson M RimIndiaIvan Magalhaes QUALIFIED
David T BologniaBrazilStephen Shaw RENEWAL
Deepesh E GauchoAustraliaOnyama Limba NEGOTIATION
Chavez P MorascaIndiaStephen Shaw NEW
Darci X ChuiIndiaAnna Fali PROPOSAL
Leja Y FigeroaArgentinaIvan Magalhaes QUALIFIED
Isabel K PoquetteItalyIoni Bowcher PROPOSAL
Francesco Y MacleadItalyBernardo Dominic NEW
Murillo X InouyeArgentinaAmy Elsner QUALIFIED
Costa U MaletBrazilBernardo Dominic RENEWAL
Antonio U StensethJapanElwin Sharvill RENEWAL
Adams S BriddickUnited KingdomAmy Elsner NEGOTIATION
Arvin V DarakjyJapanIvan Magalhaes UNQUALIFIED
Kaitlin S OldroydFranceAmy Elsner NEGOTIATION
Chavez V StockhamCanadaAsiya Javayant PROPOSAL
Faith Q GlickAustraliaIvan Magalhaes PROPOSAL
Munro E BologniaFranceBernardo Dominic PROPOSAL
Emily Z ShinkoSpainIoni Bowcher NEGOTIATION
Jeanfrancois J BriddickArgentinaXuxue Feng RENEWAL
Aika M GarufiAustraliaXuxue Feng RENEWAL
Cody M ChuiIndiaIvan Magalhaes NEGOTIATION
Silvio S DilliardFranceXuxue Feng RENEWAL
Misaki J NestleBrazilXuxue Feng QUALIFIED
Johnson O WhobreyIndiaIoni Bowcher RENEWAL
Cody F GarufiJapanIoni Bowcher QUALIFIED
Alejandro F ChuiJapanAmy Elsner PROPOSAL
James S MorascaRussiaBernardo Dominic UNQUALIFIED
Johnson G BriddickAustraliaIoni Bowcher UNQUALIFIED
Morrow S TollnerCanadaBernardo Dominic PROPOSAL
Cody A BriddickAustraliaElwin Sharvill RENEWAL
Juan K CaldareraCanadaStephen Shaw NEW
Costa B StockhamCanadaOnyama Limba PROPOSAL
Maria C FigeroaIndiaXuxue Feng PROPOSAL
Adams L FigeroaUnited KingdomStephen Shaw RENEWAL
Ivar A ChuiJapanXuxue Feng RENEWAL
Antonio X MaletArgentinaIvan Magalhaes RENEWAL
Salvatore D BriddickUnited KingdomAnna Fali UNQUALIFIED
Maisha R WhobreyGermanyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy W ShinkoAustraliaAsiya Javayant PROPOSAL
Nicolas F FlosiFranceBernardo Dominic RENEWAL
Maisha K BriddickItalyXuxue Feng UNQUALIFIED
Greenwood M BriddickFranceAnna Fali UNQUALIFIED
Deepesh K WieserCanadaIvan Magalhaes NEW
Salvatore Q StockhamItalyOnyama Limba PROPOSAL
Francesco B NickaCanadaAnna Fali NEW
James I OstroskyUnited KingdomAsiya Javayant RENEWAL
Greenwood P OstroskyFranceAnna Fali QUALIFIED
Darci U WhobreyBrazilAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar J RutaAustralia2024-05-28Dorl, James J Esq NEW73Amy Elsner
1001Mayumi N InouyeJapan2024-06-21Commercial Press RENEWAL55Anna Fali
1002Maria E InouyeArgentina2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED6Stephen Shaw
1003Misaki E RimJapan2024-05-30Commercial Press UNQUALIFIED65Ivan Magalhaes
1004Cody U FerenczGermany2024-05-30Feiner Bros QUALIFIED40Elwin Sharvill
1005Wickens N AmigonSpain2024-06-04Feltz Printing Service QUALIFIED78Asiya Javayant
1006David J FlosiJapan2024-05-24Rangoni Of Florence UNQUALIFIED77Xuxue Feng
1007Leja X FlosiIndia2024-06-19Printing Dimensions RENEWAL21Asiya Javayant
1008Ivar L NestleArgentina2024-05-30Rangoni Of Florence PROPOSAL52Ioni Bowcher
1009Jones I FlosiUnited Kingdom2024-06-19Commercial Press QUALIFIED62Stephen Shaw
1010Sinclair D SergiFrance2024-05-25Dorl, James J Esq UNQUALIFIED31Ioni Bowcher
1011Aditya M RulapaughRussia2024-06-11Chapman, Ross E Esq NEW62Anna Fali
1012Morrow S KolmetzGermany2024-06-17Morlong Associates QUALIFIED28Xuxue Feng
1013James V CaldareraBrazil2024-06-22Dorl, James J Esq NEGOTIATION29Stephen Shaw
1014Jeanfrancois S VocelkaAustralia2024-06-13Commercial Press PROPOSAL82Bernardo Dominic
1015Isabel Y RimFrance2024-06-21Chemel, James L Cpa QUALIFIED67Anna Fali
1016Maria M MarrierItaly2024-06-07Truhlar And Truhlar Attys NEGOTIATION77Elwin Sharvill
1017Mujtaba G BologniaCanada2024-05-27Feltz Printing Service UNQUALIFIED18Xuxue Feng
1018Greenwood P DilliardItaly2024-06-14Benton, John B Jr PROPOSAL12Stephen Shaw
1019Jennifer H OstroskySpain2024-06-13Buckley Miller Wright NEW90Onyama Limba
1020Morrow I NickaCanada2024-06-11Chapman, Ross E Esq UNQUALIFIED18Xuxue Feng
1021Izzy T SaylorsJapan2024-06-22Chanay, Jeffrey A Esq NEW64Stephen Shaw
1022Misaki L TollnerIndia2024-06-16Buckley Miller Wright RENEWAL38Stephen Shaw
1023Julie A WaycottIndia2024-06-03Morlong Associates PROPOSAL50Asiya Javayant
1024Wickens U SchemmerItaly2024-06-08King, Christopher A Esq UNQUALIFIED58Xuxue Feng
1025Mayumi B KolmetzUnited Kingdom2024-06-04Benton, John B Jr NEGOTIATION93Ivan Magalhaes
1026James F MaletGermany2024-06-06Chanay, Jeffrey A Esq NEW67Anna Fali
1027Jeanfrancois T RutaArgentina2024-06-21Feiner Bros QUALIFIED34Ioni Bowcher
1028Emily I RulapaughRussia2024-06-05Rousseaux, Michael Esq PROPOSAL95Xuxue Feng
1029Ricardo E GauchoAustralia2024-06-04Benton, John B Jr NEW72Elwin Sharvill
1030Murillo Q OldroydGermany2024-06-06Morlong Associates NEGOTIATION69Ivan Magalhaes
1031Deepesh S BologniaUnited Kingdom2024-06-16Rousseaux, Michael Esq NEW84Stephen Shaw
1032Mujtaba J WhobreyRussia2024-06-13Chemel, James L Cpa RENEWAL67Xuxue Feng
1033Deepesh N VenereCanada2024-06-02Morlong Associates PROPOSAL26Onyama Limba
1034Nicolas G FollerFrance2024-06-12Morlong Associates NEGOTIATION18Xuxue Feng
1035Kadeem X MaletSpain2024-06-06Rangoni Of Florence QUALIFIED59Xuxue Feng
1036Kaitlin O DarakjyUnited Kingdom2024-06-22Dorl, James J Esq RENEWAL83Onyama Limba
1037Leon Z ShinkoGermany2024-06-17Rangoni Of Florence PROPOSAL62Xuxue Feng
1038Tony Z RulapaughUnited Kingdom2024-06-04Benton, John B Jr NEGOTIATION58Asiya Javayant
1039Francesco M MarrierGermany2024-06-05Chanay, Jeffrey A Esq NEW55Ivan Magalhaes
1040Kadeem X IturbideIndia2024-06-05Rousseaux, Michael Esq QUALIFIED26Amy Elsner
1041Sinclair L CaudyArgentina2024-06-17Dorl, James J Esq RENEWAL38Bernardo Dominic
1042Johnson T SlusarskiUnited Kingdom2024-06-08Feltz Printing Service UNQUALIFIED42Elwin Sharvill
1043Aditya N MaletJapan2024-06-16Benton, John B Jr RENEWAL62Ivan Magalhaes
1044Ashley O GarufiGermany2024-06-13Morlong Associates PROPOSAL94Asiya Javayant
1045Deepesh N AlbaresGermany2024-06-03Morlong Associates NEW24Ivan Magalhaes
1046Leja J AlbaresJapan2024-05-30Rousseaux, Michael Esq QUALIFIED47Ivan Magalhaes
1047Sinclair S CaudyFrance2024-06-15Chanay, Jeffrey A Esq NEW69Xuxue Feng
1048Mujtaba V RimFrance2024-05-26Chapman, Ross E Esq QUALIFIED1Onyama Limba
1049Cody D GillianFrance2024-06-10Rousseaux, Michael Esq NEGOTIATION12Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aruna Q SchemmerItalyAmy Elsner UNQUALIFIED
Ashley W CaudyFranceAmy Elsner QUALIFIED
Aruna L SaylorsBrazilIoni Bowcher QUALIFIED
Darci I TollnerAustraliaXuxue Feng RENEWAL
Adams P MacleadSpainElwin Sharvill PROPOSAL
Clifford T AmigonUnited KingdomAmy Elsner QUALIFIED
Misaki G GarufiSpainBernardo Dominic UNQUALIFIED
Deepesh Q BologniaJapanOnyama Limba RENEWAL
Izzy D StensethIndiaAmy Elsner RENEWAL
Wickens J ButtCanadaAnna Fali NEGOTIATION
Maisha F KuskoAustraliaAsiya Javayant NEGOTIATION
Emily M WaycottItalyBernardo Dominic QUALIFIED
Ashley M BowleyFranceAnna Fali NEW
Silvio J GillianGermanyAnna Fali UNQUALIFIED
Francesco H TollnerGermanyXuxue Feng NEW
James Y SlusarskiGermanyIvan Magalhaes RENEWAL
Jefferson D InouyeItalyStephen Shaw UNQUALIFIED
Faith V GarufiUnited KingdomBernardo Dominic NEW
Faith Y GauchoAustraliaIoni Bowcher NEW
Jennifer G InouyeGermanyAmy Elsner PROPOSAL
Deepesh L AmigonUnited KingdomAmy Elsner PROPOSAL
Leja X CaudyGermanyElwin Sharvill NEW
Aika S GarufiSpainAmy Elsner NEGOTIATION
Maisha Z BologniaUnited KingdomElwin Sharvill NEGOTIATION
Smith F CaudyFranceAsiya Javayant NEW
Kadeem U BologniaUnited KingdomIvan Magalhaes QUALIFIED
Izzy V DoeIndiaStephen Shaw RENEWAL
Johnson O RimFranceAnna Fali RENEWAL
Stacey D GlickCanadaBernardo Dominic UNQUALIFIED
Wickens F OldroydGermanyXuxue Feng RENEWAL
Jefferson E MorascaIndiaAsiya Javayant NEW
Juan W KuskoRussiaIoni Bowcher QUALIFIED
Maisha G PerinBrazilOnyama Limba QUALIFIED
Johnson H GillianJapanBernardo Dominic NEW
Ashley X DoeGermanyAnna Fali RENEWAL
Tony H WaycottAustraliaIvan Magalhaes NEW
Morrow W SaylorsJapanOnyama Limba RENEWAL
Darci S DilliardItalyStephen Shaw PROPOSAL
Izzy Z CaldareraRussiaIoni Bowcher PROPOSAL
Wickens R MaletArgentinaIoni Bowcher NEGOTIATION
Kadeem W SchemmerJapanXuxue Feng UNQUALIFIED
Salvatore D MarrierUnited KingdomIoni Bowcher PROPOSAL
Sinclair Q CampainBrazilElwin Sharvill QUALIFIED
Antonio C DilliardIndiaStephen Shaw PROPOSAL
Costa W PoquetteJapanStephen Shaw NEW
Francesco U GauchoAustraliaStephen Shaw RENEWAL
Johnson V BriddickUnited KingdomAnna Fali QUALIFIED
Murillo Z OstroskyIndiaAsiya Javayant RENEWAL
Silvio F WaycottBrazilIvan Magalhaes NEGOTIATION
Silvio Y VocelkaBrazilAnna Fali UNQUALIFIED
Frozen Columns
Name
Francesco T Bolognia
Clifford J Bowley
Rodrigues U Paprocki
David U Malet
Aditya C Poquette
Julie N Briddick
Leon U Ostrosky
Jefferson M Briddick
Emily B Nestle
David C Caudy
Aika E Slusarski
Ricardo G Venere
Aika Z Ruta
David D Bolognia
Jones K Bowley
Ricardo W Rulapaugh
Nicolas G Tollner
Maria D Rulapaugh
Wickens M Flosi
Smith H Saylors
Octavia A Inouye
Stacey H Venere
Kadeem S Albares
Costa D Paprocki
Morrow W Darakjy
Chavez O Saylors
Francesco U Bowley
Faith Y Garufi
Isabel W Amigon
Jennifer M Flosi
Tony T Butt
Maria V Marrier
Alejandro S Figeroa
Francesco X Ostrosky
Ricardo T Morasca
Tony K Slusarski
Arvin V Nicka
Mujtaba F Kusko
Stacey Q Stenseth
Silvio X Malet
Leon P Glick
Clifford A Butt
Chavez A Stenseth
Izzy Q Stockham
Darci O Caldarera
Alejandro M Oldroyd
Stacey Y Butt
Arvin O Nicka
Isabel Y Morasca
Wickens T Caldarera
IdCountryDate
1000France2024-05-24
1001Brazil2024-06-09
1002Australia2024-06-11
1003France2024-06-02
1004India2024-05-31
1005Spain2024-05-27
1006United Kingdom2024-05-28
1007France2024-06-04
1008Brazil2024-05-29
1009Italy2024-06-02
1010India2024-05-29
1011United Kingdom2024-06-02
1012Germany2024-06-21
1013Japan2024-06-19
1014Spain2024-06-19
1015Brazil2024-05-27
1016Italy2024-06-19
1017United Kingdom2024-05-25
1018Japan2024-06-06
1019Argentina2024-06-19
1020Canada2024-06-14
1021France2024-06-06
1022France2024-06-07
1023Japan2024-06-22
1024Russia2024-06-18
1025India2024-06-15
1026Russia2024-06-06
1027India2024-06-19
1028Argentina2024-06-06
1029Canada2024-06-13
1030Australia2024-06-15
1031Japan2024-06-16
1032India2024-06-04
1033Argentina2024-06-18
1034Brazil2024-06-07
1035Canada2024-06-21
1036Australia2024-06-08
1037Brazil2024-06-12
1038Spain2024-06-14
1039Australia2024-06-04
1040Argentina2024-05-26
1041Canada2024-06-10
1042Spain2024-06-13
1043Russia2024-06-06
1044Brazil2024-06-02
1045France2024-06-08
1046Australia2024-06-10
1047Germany2024-06-15
1048Italy2024-06-13
1049Brazil2024-06-01

On-Demand Data

NameIdCountryDate
Tony N Campain1000Canada2024-05-24
Johnson C Darakjy1001United Kingdom2024-06-12
Julie O Shinko1002Australia2024-05-26
Darci M Schemmer1003United Kingdom2024-06-21
Ricardo K Ferencz1004India2024-06-07
Francesco T Kolmetz1005Spain2024-06-09
Ivar D Malet1006Germany2024-06-15
Tony P Ferencz1007Spain2024-06-02
Leon M Schemmer1008United Kingdom2024-06-22
Darci I Bolognia1009India2024-06-04
Adams A Gaucho1010Canada2024-06-11
Juan D Doe1011Spain2024-06-22
Francesco A Rim1012Spain2024-06-11
Costa I Rim1013Canada2024-05-27
Costa S Waycott1014Italy2024-06-06
Smith K Stenseth1015Brazil2024-06-13
David Y Poquette1016Spain2024-06-15
Julie B Bolognia1017Canada2024-06-22
Emily U Bolognia1018Japan2024-06-11
Isabel O Sergi1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Q RutaBrazilElwin Sharvill UNQUALIFIED
Francesco H CaudyAustraliaAmy Elsner NEGOTIATION
Jeanfrancois F OldroydJapanIvan Magalhaes QUALIFIED
Rodrigues K PoquetteAustraliaAmy Elsner PROPOSAL
Jennifer C IturbideJapanBernardo Dominic PROPOSAL
Ivar P WieserJapanOnyama Limba NEGOTIATION
Jennifer X TollnerUnited KingdomBernardo Dominic NEW
Aditya N WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Juan W BriddickArgentinaAnna Fali RENEWAL
Costa C GlickIndiaXuxue Feng NEGOTIATION
Deepesh U FollerJapanAsiya Javayant QUALIFIED
Nicolas K PerinRussiaStephen Shaw UNQUALIFIED
Antonio X WaycottCanadaOnyama Limba UNQUALIFIED
Chavez P GauchoIndiaIvan Magalhaes RENEWAL
Aika J WieserGermanyAnna Fali NEW
Morrow S BowleyIndiaElwin Sharvill NEW
Isabel C AlbaresBrazilBernardo Dominic NEGOTIATION
Arvin A KolmetzArgentinaAnna Fali PROPOSAL
Aika C ChuiFranceIoni Bowcher UNQUALIFIED
Julie T SlusarskiIndiaXuxue Feng PROPOSAL
Izzy T WieserIndiaAmy Elsner NEW
Kaitlin Q OldroydUnited KingdomAsiya Javayant PROPOSAL
Aika J BowleyGermanyBernardo Dominic UNQUALIFIED
Mayumi F PoquetteArgentinaAnna Fali PROPOSAL
Chavez L InouyeRussiaBernardo Dominic QUALIFIED
Jennifer L MacleadBrazilAnna Fali QUALIFIED
Chavez Y GarufiFranceXuxue Feng UNQUALIFIED
Munro U KolmetzCanadaIvan Magalhaes NEW
Chavez V FigeroaIndiaElwin Sharvill PROPOSAL
Julie Q SchemmerIndiaElwin Sharvill PROPOSAL
Costa O RoysterIndiaAmy Elsner NEGOTIATION
Stacey M AlbaresItalyIvan Magalhaes NEGOTIATION
Leja V CaudyUnited KingdomStephen Shaw PROPOSAL
Salvatore V RimJapanElwin Sharvill PROPOSAL
James O CampainBrazilAnna Fali UNQUALIFIED
Munro X VenereFranceIoni Bowcher NEGOTIATION
Silvio I ChuiSpainIvan Magalhaes RENEWAL
David N ButtRussiaBernardo Dominic NEW
Leon W RulapaughGermanyAsiya Javayant UNQUALIFIED
James E ChuiItalyXuxue Feng RENEWAL

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