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
Costa L FerenczItalyStephen Shaw RENEWAL
Ivar C BologniaArgentinaAsiya Javayant PROPOSAL
Wickens L AlbaresFranceElwin Sharvill RENEWAL
Kadeem J GauchoCanadaXuxue Feng NEGOTIATION
Cody E RutaAustraliaIoni Bowcher NEW
Aika A DarakjyArgentinaIoni Bowcher RENEWAL
Francesco B KolmetzCanadaXuxue Feng NEGOTIATION
Ivar X MacleadAustraliaStephen Shaw NEGOTIATION
Maisha I OldroydSpainAmy Elsner NEGOTIATION
Jeanfrancois U DoeJapanStephen Shaw NEGOTIATION
Rodrigues S StensethIndiaXuxue Feng NEGOTIATION
Ricardo H ChuiGermanyBernardo Dominic NEW
Aika J FlosiGermanyIoni Bowcher RENEWAL
Deepesh Z SlusarskiAustraliaBernardo Dominic NEGOTIATION
Sinclair B AmigonBrazilIvan Magalhaes NEGOTIATION
Emily R TollnerItalyAmy Elsner NEW
Emily V MorascaFranceBernardo Dominic UNQUALIFIED
Antonio J IturbideGermanyIoni Bowcher NEGOTIATION
Izzy M FerenczArgentinaAmy Elsner RENEWAL
Octavia E CaldareraFranceOnyama Limba PROPOSAL
Cody N RimUnited KingdomIoni Bowcher PROPOSAL
Greenwood K WaycottIndiaIoni Bowcher PROPOSAL
Jeanfrancois Y ChuiIndiaAnna Fali QUALIFIED
Ivar J GauchoCanadaBernardo Dominic NEGOTIATION
Smith U GlickAustraliaAnna Fali UNQUALIFIED
Darci W CaudyRussiaElwin Sharvill QUALIFIED
James E ButtAustraliaStephen Shaw PROPOSAL
Leon C FigeroaArgentinaOnyama Limba NEW
Aruna P GillianArgentinaAnna Fali PROPOSAL
Leon S BriddickJapanAnna Fali NEGOTIATION
Ivar X FigeroaBrazilXuxue Feng PROPOSAL
Misaki K InouyeIndiaOnyama Limba QUALIFIED
Sinclair E OstroskyGermanyAnna Fali RENEWAL
Smith W TollnerRussiaIoni Bowcher UNQUALIFIED
Murillo C DoeAustraliaStephen Shaw PROPOSAL
Salvatore W RoysterUnited KingdomAnna Fali NEW
Salvatore V RoysterItalyAsiya Javayant NEW
Mayumi Z SlusarskiCanadaAmy Elsner PROPOSAL
Murillo S InouyeRussiaStephen Shaw PROPOSAL
Darci O FollerUnited KingdomIoni Bowcher UNQUALIFIED
Stacey V GillianCanadaElwin Sharvill UNQUALIFIED
Maisha C RimItalyElwin Sharvill QUALIFIED
Stacey U BowleyBrazilXuxue Feng PROPOSAL
Alejandro B WhobreyUnited KingdomAnna Fali NEW
Kaitlin D GarufiIndiaAmy Elsner NEW
Cody O NickaBrazilIvan Magalhaes RENEWAL
Maisha H VenereSpainIoni Bowcher RENEWAL
Maria Q ChuiItalyAsiya Javayant NEW
Misaki P StensethCanadaElwin Sharvill NEW
Rodrigues G WaycottIndiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Costa I KuskoGermanyIvan Magalhaes NEW
Alejandro Q GlickArgentinaBernardo Dominic UNQUALIFIED
Isabel T WaycottRussiaXuxue Feng QUALIFIED
Sinclair R VenereItalyAnna Fali QUALIFIED
Smith N SchemmerJapanIoni Bowcher NEW
Deepesh Q SaylorsItalyAnna Fali RENEWAL
Darci F MacleadBrazilIvan Magalhaes UNQUALIFIED
Isabel N ShinkoSpainAnna Fali RENEWAL
Kadeem M FollerBrazilIoni Bowcher UNQUALIFIED
Munro H GillianItalyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony J AmigonBrazil2024-05-28Rangoni Of Florence UNQUALIFIED58Elwin Sharvill
1001Ricardo Q PoquetteAustralia2024-05-16Chemel, James L Cpa RENEWAL96Elwin Sharvill
1002Jennifer V FlosiItaly2024-06-09Chanay, Jeffrey A Esq QUALIFIED83Anna Fali
1003Deepesh Y ButtJapan2024-06-10Chanay, Jeffrey A Esq QUALIFIED63Xuxue Feng
1004Nicolas H BriddickAustralia2024-06-13Feiner Bros PROPOSAL91Bernardo Dominic
1005Antonio R FerenczBrazil2024-05-20Truhlar And Truhlar Attys RENEWAL86Anna Fali
1006Aruna D FlosiGermany2024-06-03Feiner Bros NEW54Amy Elsner
1007Rodrigues N IturbideAustralia2024-05-28Buckley Miller Wright UNQUALIFIED93Onyama Limba
1008Isabel B AmigonJapan2024-05-22Commercial Press NEW79Stephen Shaw
1009James K MaletRussia2024-05-18Truhlar And Truhlar Attys RENEWAL87Bernardo Dominic
1010Salvatore H CampainItaly2024-05-18King, Christopher A Esq PROPOSAL28Asiya Javayant
1011Francesco X RoysterArgentina2024-05-24Chapman, Ross E Esq UNQUALIFIED42Elwin Sharvill
1012Rodrigues Z RulapaughItaly2024-05-27Rousseaux, Michael Esq NEW0Amy Elsner
1013Ashley Z SlusarskiIndia2024-06-04Chemel, James L Cpa PROPOSAL76Onyama Limba
1014Johnson O DarakjyJapan2024-06-03Morlong Associates NEGOTIATION5Anna Fali
1015Jeanfrancois E NickaIndia2024-05-25Benton, John B Jr UNQUALIFIED36Asiya Javayant
1016Maria F OldroydIndia2024-06-05Commercial Press UNQUALIFIED90Ioni Bowcher
1017Deepesh B GarufiRussia2024-05-31Chapman, Ross E Esq UNQUALIFIED32Bernardo Dominic
1018Emily B MorascaUnited Kingdom2024-05-16Printing Dimensions PROPOSAL73Asiya Javayant
1019Munro B GlickJapan2024-05-20Printing Dimensions RENEWAL15Bernardo Dominic
1020Costa C GillianJapan2024-05-30Truhlar And Truhlar Attys NEGOTIATION78Stephen Shaw
1021Leon K KolmetzCanada2024-05-20Chemel, James L Cpa UNQUALIFIED57Asiya Javayant
1022Murillo K RutaCanada2024-05-18Buckley Miller Wright PROPOSAL67Onyama Limba
1023Jefferson M BowleyGermany2024-05-18Dorl, James J Esq UNQUALIFIED19Bernardo Dominic
1024Greenwood Y WaycottGermany2024-05-23Rangoni Of Florence QUALIFIED48Xuxue Feng
1025Julie W SergiGermany2024-05-29Printing Dimensions QUALIFIED85Stephen Shaw
1026Claire Q StensethArgentina2024-05-23Chapman, Ross E Esq UNQUALIFIED25Ivan Magalhaes
1027Maisha L DilliardArgentina2024-05-16Rangoni Of Florence NEGOTIATION79Anna Fali
1028Isabel K ShinkoGermany2024-05-26Commercial Press UNQUALIFIED34Xuxue Feng
1029Mujtaba L CampainFrance2024-06-08Truhlar And Truhlar Attys RENEWAL65Stephen Shaw
1030Aika G BriddickItaly2024-06-04Feltz Printing Service RENEWAL14Ioni Bowcher
1031Claire F MorascaSpain2024-06-13King, Christopher A Esq UNQUALIFIED31Xuxue Feng
1032Francesco N FlosiArgentina2024-05-16Rousseaux, Michael Esq RENEWAL5Onyama Limba
1033Emily I FigeroaBrazil2024-06-02Feiner Bros QUALIFIED53Stephen Shaw
1034Faith K GauchoIndia2024-06-06Benton, John B Jr NEW74Ivan Magalhaes
1035Claire M SchemmerGermany2024-05-26King, Christopher A Esq PROPOSAL13Asiya Javayant
1036Greenwood J PoquetteBrazil2024-06-08Morlong Associates RENEWAL13Ioni Bowcher
1037Isabel L GlickFrance2024-06-11King, Christopher A Esq RENEWAL75Asiya Javayant
1038Antonio M RulapaughJapan2024-06-11Feiner Bros QUALIFIED39Asiya Javayant
1039Tony W InouyeGermany2024-06-10Commercial Press NEGOTIATION8Onyama Limba
1040Ashley V KuskoItaly2024-05-22Buckley Miller Wright RENEWAL21Amy Elsner
1041Antonio P SergiRussia2024-06-09King, Christopher A Esq RENEWAL52Xuxue Feng
1042Ivar X DarakjyCanada2024-05-19Feltz Printing Service RENEWAL23Asiya Javayant
1043Maisha U ButtUnited Kingdom2024-06-08Chapman, Ross E Esq RENEWAL4Elwin Sharvill
1044Darci S AmigonAustralia2024-05-18Chapman, Ross E Esq PROPOSAL19Bernardo Dominic
1045Misaki W BriddickItaly2024-05-17Truhlar And Truhlar Attys NEW85Elwin Sharvill
1046Nicolas L TollnerUnited Kingdom2024-05-23Buckley Miller Wright PROPOSAL61Ioni Bowcher
1047Deepesh E RulapaughSpain2024-06-08Chanay, Jeffrey A Esq NEW55Asiya Javayant
1048Munro L SlusarskiAustralia2024-06-12Printing Dimensions NEW59Anna Fali
1049Claire B DoeFrance2024-06-13Feiner Bros NEGOTIATION35Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Wickens Y CampainUnited KingdomBernardo Dominic RENEWAL
Octavia U CaudyArgentinaElwin Sharvill PROPOSAL
Nicolas G FollerUnited KingdomStephen Shaw RENEWAL
Murillo S PoquetteBrazilIoni Bowcher RENEWAL
Arvin C VocelkaGermanyIvan Magalhaes UNQUALIFIED
Morrow Y SaylorsRussiaElwin Sharvill NEGOTIATION
Maria Z TollnerJapanIvan Magalhaes NEW
Jefferson J InouyeSpainBernardo Dominic NEGOTIATION
Aditya N MacleadArgentinaOnyama Limba QUALIFIED
Francesco O RoysterFranceXuxue Feng QUALIFIED
Costa O TollnerJapanElwin Sharvill UNQUALIFIED
Johnson A MaletIndiaIvan Magalhaes UNQUALIFIED
Maisha U AlbaresBrazilAmy Elsner RENEWAL
Mayumi V CaudyBrazilAmy Elsner RENEWAL
Isabel U MacleadGermanyAmy Elsner NEW
Munro Y GillianJapanAmy Elsner QUALIFIED
Misaki W WaycottIndiaStephen Shaw NEGOTIATION
Aika Q FlosiItalyAnna Fali NEW
Jennifer D DilliardArgentinaIoni Bowcher NEGOTIATION
Ricardo G InouyeCanadaXuxue Feng PROPOSAL
Costa H AmigonIndiaAnna Fali PROPOSAL
Deepesh S FerenczUnited KingdomAnna Fali UNQUALIFIED
Aditya O DilliardItalyOnyama Limba QUALIFIED
Misaki O PaprockiIndiaAnna Fali NEW
Wickens N BologniaCanadaAnna Fali QUALIFIED
Emily Y ShinkoAustraliaBernardo Dominic NEGOTIATION
Morrow E OldroydIndiaXuxue Feng PROPOSAL
Kaitlin A RutaFranceIoni Bowcher NEW
Murillo Q DoeIndiaAnna Fali NEGOTIATION
Isabel X InouyeRussiaStephen Shaw NEGOTIATION
Izzy L CaldareraAustraliaAsiya Javayant QUALIFIED
Jeanfrancois M GauchoIndiaStephen Shaw QUALIFIED
Mujtaba V PerinItalyAmy Elsner UNQUALIFIED
Isabel F GauchoBrazilStephen Shaw NEGOTIATION
Salvatore F KuskoItalyOnyama Limba NEGOTIATION
Ricardo G CampainSpainAnna Fali PROPOSAL
Izzy Q WieserItalyElwin Sharvill NEGOTIATION
Claire H CaudySpainXuxue Feng NEGOTIATION
Aika I DoeBrazilIoni Bowcher UNQUALIFIED
Leon T RimArgentinaAmy Elsner RENEWAL
Rodrigues J FigeroaBrazilBernardo Dominic QUALIFIED
Darci A OldroydGermanyIoni Bowcher NEGOTIATION
Misaki Q NestleIndiaBernardo Dominic QUALIFIED
Morrow T GlickUnited KingdomBernardo Dominic QUALIFIED
Alejandro T VenereIndiaStephen Shaw NEGOTIATION
Cody S FlosiIndiaOnyama Limba NEGOTIATION
Mujtaba Q PaprockiIndiaAmy Elsner QUALIFIED
Silvio B VocelkaCanadaOnyama Limba QUALIFIED
Maria P MaletArgentinaAsiya Javayant PROPOSAL
Kadeem B KuskoUnited KingdomElwin Sharvill NEGOTIATION
Frozen Columns
Name
Isabel M Vocelka
James W Figeroa
Smith Y Chui
Claire Q Poquette
Aruna C Stockham
Izzy D Inouye
Francesco Y Caudy
Jefferson H Caudy
Claire Q Garufi
Jennifer W Sergi
Alejandro K Amigon
Kadeem R Marrier
Stacey R Slusarski
Jefferson A Maclead
Maisha X Royster
Silvio T Poquette
Maria K Malet
Greenwood P Marrier
Mujtaba P Glick
Murillo X Rulapaugh
Adams V Ruta
Cody Z Rulapaugh
Alejandro I Royster
Misaki T Paprocki
Sinclair R Malet
Greenwood F Stenseth
Juan C Kolmetz
Sinclair M Royster
Alejandro C Foller
David Q Ostrosky
Francesco G Dilliard
Jeanfrancois V Venere
Alejandro K Malet
Tony O Slusarski
Clifford P Amigon
Leja X Briddick
Maria O Rulapaugh
Izzy E Foller
Chavez S Ostrosky
Emily N Rim
James L Oldroyd
Ashley Y Morasca
Adams X Iturbide
Alejandro R Venere
Leon A Butt
Francesco T Shinko
Aruna S Rim
Leon T Kolmetz
Francesco X Caldarera
Johnson V Stockham
IdCountryDate
1000India2024-05-21
1001Canada2024-06-01
1002Russia2024-05-19
1003Brazil2024-06-09
1004India2024-06-07
1005Brazil2024-06-12
1006India2024-06-07
1007Russia2024-06-12
1008Spain2024-06-03
1009Brazil2024-06-06
1010Germany2024-05-29
1011France2024-06-08
1012France2024-05-18
1013Italy2024-05-16
1014Canada2024-05-15
1015Spain2024-05-21
1016Spain2024-06-09
1017Japan2024-05-23
1018Australia2024-06-11
1019France2024-06-12
1020United Kingdom2024-06-03
1021Canada2024-05-23
1022Brazil2024-05-30
1023Australia2024-06-11
1024Brazil2024-05-23
1025Japan2024-05-31
1026Spain2024-06-06
1027Italy2024-05-29
1028India2024-06-03
1029Brazil2024-05-18
1030Spain2024-05-29
1031Russia2024-06-03
1032India2024-05-16
1033France2024-05-18
1034United Kingdom2024-05-26
1035Canada2024-06-04
1036Germany2024-05-26
1037Spain2024-05-30
1038Brazil2024-06-10
1039Spain2024-06-10
1040Italy2024-05-31
1041Spain2024-05-21
1042Canada2024-06-04
1043Spain2024-06-13
1044Germany2024-05-27
1045Canada2024-05-21
1046Spain2024-06-03
1047Russia2024-06-05
1048India2024-05-18
1049Argentina2024-06-12

On-Demand Data

NameIdCountryDate
Emily U Nestle1000Germany2024-05-25
Claire B Nestle1001United Kingdom2024-06-09
Adams H Waycott1002Argentina2024-06-07
Antonio Y Tollner1003Russia2024-06-10
Ivar E Malet1004Canada2024-05-24
Leon O Stockham1005France2024-05-24
Cody U Rim1006Australia2024-05-26
Deepesh U Kolmetz1007United Kingdom2024-05-19
Greenwood M Campain1008Argentina2024-05-31
Faith O Campain1009France2024-06-09
Jones X Rulapaugh1010Australia2024-06-07
Isabel F Iturbide1011Australia2024-06-03
Maisha K Waycott1012Argentina2024-06-09
Adams E Foller1013India2024-06-02
Tony Q Bolognia1014Canada2024-06-07
Jefferson D Whobrey1015Brazil2024-06-04
Sinclair B Oldroyd1016Canada2024-05-15
Salvatore X Gillian1017France2024-05-16
Munro D Dilliard1018United Kingdom2024-06-02
Isabel L Waycott1019United Kingdom2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James V GillianBrazilAmy Elsner NEGOTIATION
Emily U RutaSpainElwin Sharvill RENEWAL
Leja T WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Izzy L SergiGermanyAmy Elsner PROPOSAL
Salvatore W RimItalyAnna Fali NEW
Silvio Z BriddickFranceBernardo Dominic UNQUALIFIED
Ivar W MorascaItalyAmy Elsner PROPOSAL
Sinclair N FollerFranceElwin Sharvill UNQUALIFIED
Ivar L MorascaSpainIoni Bowcher UNQUALIFIED
Stacey U ButtBrazilAsiya Javayant NEW
Munro K NickaRussiaAnna Fali RENEWAL
Ivar C CampainRussiaAnna Fali NEW
Ricardo Y AmigonCanadaOnyama Limba PROPOSAL
Arvin B NickaUnited KingdomXuxue Feng RENEWAL
Maisha I MaletSpainBernardo Dominic PROPOSAL
Kadeem X SchemmerIndiaXuxue Feng QUALIFIED
Chavez O InouyeRussiaAmy Elsner NEW
Adams J NestleSpainBernardo Dominic RENEWAL
Ivar V BriddickSpainAnna Fali RENEWAL
Sinclair G RutaJapanXuxue Feng NEW
Antonio A AlbaresUnited KingdomOnyama Limba NEW
David U MaletAustraliaIvan Magalhaes RENEWAL
Isabel H RulapaughAustraliaStephen Shaw NEGOTIATION
Leja I DarakjyGermanyOnyama Limba RENEWAL
Cody S WaycottItalyAsiya Javayant NEGOTIATION
Munro T FerenczItalyAmy Elsner UNQUALIFIED
Octavia F BologniaIndiaElwin Sharvill PROPOSAL
Jeanfrancois H DoeCanadaStephen Shaw PROPOSAL
Greenwood T SchemmerRussiaAsiya Javayant UNQUALIFIED
Mayumi C PaprockiGermanyXuxue Feng RENEWAL
Aika E RoysterAustraliaElwin Sharvill NEW
Izzy O NickaAustraliaAsiya Javayant PROPOSAL
Sinclair T SchemmerJapanAmy Elsner UNQUALIFIED
Faith A StensethGermanyAsiya Javayant NEGOTIATION
Murillo A GlickFranceBernardo Dominic UNQUALIFIED
Silvio J GillianCanadaOnyama Limba QUALIFIED
Misaki F RutaIndiaStephen Shaw NEGOTIATION
Deepesh V DarakjyGermanyBernardo Dominic RENEWAL
Tony T BowleyRussiaAmy Elsner QUALIFIED
Costa F WaycottCanadaAsiya 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>