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
Murillo N WhobreyRussiaIvan Magalhaes NEW
Jefferson D FigeroaArgentinaAnna Fali PROPOSAL
Leon Z SaylorsArgentinaStephen Shaw RENEWAL
Wickens H VocelkaItalyIoni Bowcher UNQUALIFIED
Tony P PoquetteGermanyAmy Elsner PROPOSAL
Leon H OldroydBrazilAsiya Javayant RENEWAL
Costa C PerinUnited KingdomElwin Sharvill RENEWAL
Misaki L WaycottCanadaBernardo Dominic NEW
Deepesh A RulapaughCanadaElwin Sharvill QUALIFIED
Julie O PaprockiSpainAmy Elsner PROPOSAL
Leon T BowleyUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois M BriddickItalyXuxue Feng QUALIFIED
Izzy G ChuiIndiaIoni Bowcher QUALIFIED
Munro V KuskoBrazilIvan Magalhaes PROPOSAL
Ivar F VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Misaki K FlosiCanadaIvan Magalhaes QUALIFIED
Juan O NestleCanadaAsiya Javayant QUALIFIED
Julie K DarakjyRussiaIoni Bowcher RENEWAL
James X PaprockiSpainStephen Shaw QUALIFIED
Aruna M NestleJapanElwin Sharvill UNQUALIFIED
Darci E GlickSpainXuxue Feng NEGOTIATION
Rodrigues X CaudyUnited KingdomIoni Bowcher NEGOTIATION
Claire I ButtAustraliaBernardo Dominic NEGOTIATION
Arvin Q TollnerJapanAmy Elsner RENEWAL
Maisha S DoeSpainAsiya Javayant RENEWAL
Leja R TollnerAustraliaBernardo Dominic PROPOSAL
Jefferson V StockhamGermanyAsiya Javayant NEW
Alejandro H DoeSpainIoni Bowcher RENEWAL
Octavia T MaletFranceIoni Bowcher QUALIFIED
Morrow U VenereIndiaAsiya Javayant RENEWAL
Isabel V FlosiAustraliaAsiya Javayant RENEWAL
Morrow Z SchemmerCanadaIoni Bowcher PROPOSAL
Johnson A MaletSpainStephen Shaw RENEWAL
Ricardo G NestleArgentinaAmy Elsner PROPOSAL
Jennifer Q ButtArgentinaIoni Bowcher RENEWAL
Wickens H OstroskyArgentinaAnna Fali QUALIFIED
Maria U BowleyBrazilAnna Fali NEGOTIATION
Ivar K MarrierCanadaXuxue Feng QUALIFIED
Emily L TollnerGermanyAnna Fali NEW
Jeanfrancois D ButtJapanXuxue Feng NEW
Isabel A MacleadRussiaBernardo Dominic NEW
Leja V PoquetteAustraliaStephen Shaw RENEWAL
Maisha V IturbideAustraliaOnyama Limba UNQUALIFIED
Aika H SaylorsAustraliaIvan Magalhaes NEW
Jefferson Z GlickJapanOnyama Limba UNQUALIFIED
Ivar N FigeroaIndiaStephen Shaw NEW
Rodrigues Y InouyeItalyAmy Elsner QUALIFIED
Misaki V GauchoIndiaBernardo Dominic NEW
Stacey B FollerFranceAsiya Javayant QUALIFIED
Smith F ChuiAustraliaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya R InouyeItalyBernardo Dominic RENEWAL
Aruna I AmigonGermanyIoni Bowcher NEW
Aditya H MaletJapanElwin Sharvill NEW
Rodrigues X KuskoSpainIoni Bowcher QUALIFIED
Cody P RimJapanAmy Elsner NEW
Murillo E FollerRussiaAnna Fali PROPOSAL
Leja D TollnerCanadaAmy Elsner RENEWAL
Leon L PoquetteUnited KingdomIoni Bowcher PROPOSAL
Juan X RoysterJapanAsiya Javayant QUALIFIED
Salvatore X OldroydRussiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro I FollerSpain2024-05-30Buckley Miller Wright RENEWAL57Ivan Magalhaes
1001Ashley H FollerFrance2024-05-20Chemel, James L Cpa NEW61Ioni Bowcher
1002David I SchemmerAustralia2024-06-05Chanay, Jeffrey A Esq QUALIFIED7Elwin Sharvill
1003Francesco L CaldareraAustralia2024-05-22Truhlar And Truhlar Attys QUALIFIED56Amy Elsner
1004Misaki H RutaItaly2024-05-20Feltz Printing Service UNQUALIFIED4Bernardo Dominic
1005Izzy I SaylorsCanada2024-06-09Commercial Press UNQUALIFIED47Asiya Javayant
1006Nicolas B SlusarskiAustralia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED40Stephen Shaw
1007Jones Y KuskoGermany2024-05-31Chanay, Jeffrey A Esq NEW64Ioni Bowcher
1008Ashley E FerenczArgentina2024-06-05Chapman, Ross E Esq PROPOSAL51Elwin Sharvill
1009Izzy L ShinkoSpain2024-05-24Chapman, Ross E Esq RENEWAL29Anna Fali
1010Jennifer Y FigeroaArgentina2024-05-16Morlong Associates PROPOSAL38Xuxue Feng
1011Aditya M ChuiUnited Kingdom2024-05-21King, Christopher A Esq PROPOSAL74Onyama Limba
1012Wickens I KuskoRussia2024-06-04Commercial Press NEGOTIATION62Ioni Bowcher
1013Murillo P KuskoRussia2024-05-29Benton, John B Jr QUALIFIED65Amy Elsner
1014Aika S AmigonJapan2024-05-30Rangoni Of Florence RENEWAL29Onyama Limba
1015Julie I CampainIndia2024-06-09Benton, John B Jr NEGOTIATION74Ivan Magalhaes
1016James T WieserAustralia2024-06-03Dorl, James J Esq QUALIFIED56Amy Elsner
1017Aruna S GauchoFrance2024-06-11Dorl, James J Esq NEW34Amy Elsner
1018Johnson T BriddickItaly2024-06-05Chapman, Ross E Esq NEW70Onyama Limba
1019Murillo T ChuiRussia2024-05-21Truhlar And Truhlar Attys NEW5Xuxue Feng
1020Arvin G MaletCanada2024-05-21Benton, John B Jr NEW91Asiya Javayant
1021Ricardo O TollnerFrance2024-05-17Chanay, Jeffrey A Esq QUALIFIED44Ivan Magalhaes
1022Darci F VocelkaBrazil2024-06-02Dorl, James J Esq NEW6Onyama Limba
1023Adams S CampainJapan2024-06-06Feiner Bros UNQUALIFIED63Onyama Limba
1024Francesco T GauchoItaly2024-05-26Truhlar And Truhlar Attys RENEWAL10Ioni Bowcher
1025Ivar O RutaSpain2024-05-26Morlong Associates QUALIFIED30Ivan Magalhaes
1026Nicolas M InouyeAustralia2024-06-11Feltz Printing Service PROPOSAL98Ivan Magalhaes
1027David P NestleIndia2024-05-19Feltz Printing Service UNQUALIFIED19Onyama Limba
1028James F SaylorsJapan2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED46Onyama Limba
1029Smith T WhobreyBrazil2024-05-17Chapman, Ross E Esq NEW64Xuxue Feng
1030Aika G RutaUnited Kingdom2024-06-06Feiner Bros PROPOSAL41Onyama Limba
1031Claire D WhobreyJapan2024-06-09King, Christopher A Esq NEW74Bernardo Dominic
1032Deepesh J CaudyIndia2024-05-31Chapman, Ross E Esq NEW19Bernardo Dominic
1033Murillo C RulapaughUnited Kingdom2024-05-20Buckley Miller Wright NEGOTIATION23Bernardo Dominic
1034Darci F OstroskyAustralia2024-06-10Rangoni Of Florence NEW12Anna Fali
1035Munro L StensethCanada2024-05-28Commercial Press RENEWAL98Ivan Magalhaes
1036Rodrigues H BowleyFrance2024-05-25Chemel, James L Cpa NEW38Elwin Sharvill
1037Mayumi Q BowleyUnited Kingdom2024-06-08Chanay, Jeffrey A Esq NEW51Onyama Limba
1038Wickens H OstroskyIndia2024-05-28Chemel, James L Cpa PROPOSAL85Amy Elsner
1039Sinclair J RulapaughJapan2024-06-04Commercial Press NEGOTIATION31Asiya Javayant
1040Silvio T IturbideUnited Kingdom2024-05-28Commercial Press NEW13Stephen Shaw
1041Wickens W AmigonUnited Kingdom2024-06-10Rousseaux, Michael Esq RENEWAL54Xuxue Feng
1042Kadeem L RutaJapan2024-05-22King, Christopher A Esq UNQUALIFIED62Xuxue Feng
1043Salvatore J BowleyBrazil2024-06-02Chanay, Jeffrey A Esq NEW30Ivan Magalhaes
1044Deepesh E CaudyItaly2024-06-05Commercial Press NEGOTIATION69Amy Elsner
1045Jefferson A WhobreyUnited Kingdom2024-05-31Commercial Press PROPOSAL58Stephen Shaw
1046Nicolas N BologniaGermany2024-05-26Feiner Bros NEW99Ioni Bowcher
1047Ricardo F RutaCanada2024-06-01Rangoni Of Florence UNQUALIFIED28Ioni Bowcher
1048Aruna L SchemmerArgentina2024-05-23Printing Dimensions QUALIFIED68Elwin Sharvill
1049Isabel X OstroskyAustralia2024-06-11Dorl, James J Esq NEW85Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan H DoeCanadaXuxue Feng QUALIFIED
Kaitlin S MorascaCanadaOnyama Limba NEGOTIATION
Leja O DarakjySpainOnyama Limba QUALIFIED
Ricardo P PaprockiBrazilIoni Bowcher NEGOTIATION
Ricardo D BologniaIndiaAmy Elsner RENEWAL
James H MaletUnited KingdomAmy Elsner QUALIFIED
Maisha K PoquetteRussiaAnna Fali NEW
Wickens X PoquetteAustraliaStephen Shaw NEW
Cody T ButtIndiaAsiya Javayant NEGOTIATION
Wickens J FigeroaRussiaAnna Fali NEGOTIATION
James P SchemmerRussiaIvan Magalhaes PROPOSAL
Nicolas X WaycottItalyBernardo Dominic PROPOSAL
Octavia A CaudyCanadaStephen Shaw PROPOSAL
Faith G WieserGermanyBernardo Dominic QUALIFIED
Juan D StensethGermanyAnna Fali PROPOSAL
Wickens A ButtBrazilAmy Elsner QUALIFIED
Ashley S BriddickFranceBernardo Dominic UNQUALIFIED
Izzy J WaycottBrazilIvan Magalhaes PROPOSAL
Silvio E FerenczUnited KingdomBernardo Dominic NEW
Kadeem Q InouyeCanadaOnyama Limba PROPOSAL
Ivar V BologniaUnited KingdomElwin Sharvill NEW
Aika O RulapaughItalyAnna Fali PROPOSAL
Ricardo R StockhamFranceXuxue Feng NEGOTIATION
Clifford Q MarrierGermanyAsiya Javayant NEGOTIATION
Wickens Q StockhamBrazilAnna Fali QUALIFIED
Leon R IturbideArgentinaIvan Magalhaes UNQUALIFIED
Deepesh H NestleSpainXuxue Feng NEGOTIATION
James X StensethJapanAnna Fali UNQUALIFIED
Antonio D ButtRussiaAnna Fali QUALIFIED
Clifford F GauchoItalyAsiya Javayant NEW
Jeanfrancois N NickaBrazilElwin Sharvill RENEWAL
Smith E RutaArgentinaIoni Bowcher PROPOSAL
Juan E VocelkaSpainStephen Shaw NEGOTIATION
Costa V ChuiIndiaIvan Magalhaes UNQUALIFIED
Cody H DilliardGermanyBernardo Dominic PROPOSAL
Nicolas H MacleadRussiaIoni Bowcher NEGOTIATION
Leja R MorascaCanadaAmy Elsner NEGOTIATION
Ashley M FollerGermanyOnyama Limba PROPOSAL
Stacey T NestleAustraliaStephen Shaw NEGOTIATION
Maria E AlbaresJapanAsiya Javayant NEW
Costa O MaletFranceOnyama Limba RENEWAL
Silvio X CampainArgentinaIoni Bowcher UNQUALIFIED
Aruna D DilliardArgentinaIoni Bowcher PROPOSAL
Tony D ChuiAustraliaElwin Sharvill QUALIFIED
Clifford C DarakjyJapanBernardo Dominic NEW
Ricardo E PoquetteRussiaIoni Bowcher NEW
Jeanfrancois J MorascaFranceAnna Fali NEGOTIATION
Mujtaba O NestleFranceElwin Sharvill NEGOTIATION
Morrow U StockhamIndiaAnna Fali NEW
Murillo Z ShinkoCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Aruna P Kolmetz
Sinclair G Bolognia
Greenwood H Caldarera
Munro S Rulapaugh
Sinclair F Darakjy
Johnson U Garufi
Francesco L Bowley
Jones B Chui
Juan X Kolmetz
Octavia B Caldarera
Deepesh T Rim
Aika N Nestle
Misaki I Iturbide
Mayumi Y Waycott
Kaitlin A Schemmer
Stacey R Rulapaugh
Smith V Briddick
Faith G Briddick
Jeanfrancois X Marrier
Isabel Y Chui
Morrow X Caldarera
Sinclair I Morasca
Costa N Garufi
Munro R Iturbide
Izzy A Butt
Arvin O Foller
Mujtaba W Foller
Jones K Foller
David K Iturbide
Jennifer I Rulapaugh
Faith R Slusarski
Tony V Briddick
Jones C Ferencz
Izzy R Waycott
Ivar B Paprocki
Aruna B Glick
Morrow L Kolmetz
Jefferson C Paprocki
Greenwood X Venere
Tony V Perin
Isabel U Bolognia
Izzy H Schemmer
Wickens U Tollner
Deepesh M Garufi
Munro D Albares
Claire S Stockham
Izzy Y Poquette
Claire G Bolognia
Ivar R Royster
Misaki L Foller
IdCountryDate
1000Germany2024-06-12
1001Brazil2024-06-02
1002Argentina2024-05-31
1003Spain2024-06-03
1004Canada2024-05-25
1005United Kingdom2024-05-24
1006Brazil2024-05-20
1007India2024-05-20
1008India2024-05-30
1009United Kingdom2024-05-16
1010France2024-05-17
1011Germany2024-06-04
1012Australia2024-06-11
1013Canada2024-05-21
1014Germany2024-05-21
1015Brazil2024-05-23
1016Argentina2024-06-09
1017Russia2024-06-13
1018India2024-06-07
1019Russia2024-05-26
1020Italy2024-06-06
1021France2024-05-29
1022Canada2024-05-28
1023Germany2024-06-05
1024Canada2024-05-15
1025India2024-06-09
1026France2024-06-01
1027Spain2024-05-25
1028Australia2024-05-22
1029Russia2024-06-08
1030Brazil2024-05-31
1031India2024-05-27
1032France2024-06-02
1033Argentina2024-06-01
1034Brazil2024-06-01
1035Japan2024-05-23
1036United Kingdom2024-06-12
1037Brazil2024-06-01
1038Italy2024-06-09
1039Canada2024-06-13
1040India2024-06-07
1041Germany2024-05-29
1042Canada2024-05-17
1043Italy2024-05-19
1044Russia2024-06-02
1045Canada2024-05-27
1046United Kingdom2024-05-16
1047Australia2024-06-10
1048Spain2024-06-04
1049Spain2024-05-25

On-Demand Data

NameIdCountryDate
Octavia L Rim1000Brazil2024-06-10
Maria T Bolognia1001Brazil2024-05-18
Antonio Z Oldroyd1002Japan2024-05-26
Claire S Bowley1003Brazil2024-05-20
Juan Q Paprocki1004Spain2024-05-16
Nicolas Z Poquette1005Russia2024-05-15
Mayumi W Paprocki1006Italy2024-06-10
Jefferson P Garufi1007France2024-05-17
Johnson V Rulapaugh1008Brazil2024-06-02
Salvatore F Sergi1009Spain2024-05-19
Leja Z Vocelka1010Argentina2024-06-10
Rodrigues Q Shinko1011United Kingdom2024-05-23
Smith Q Malet1012United Kingdom2024-06-12
Kaitlin C Malet1013France2024-05-21
Stacey T Kolmetz1014Canada2024-05-25
Munro A Schemmer1015Canada2024-06-02
James M Vocelka1016Germany2024-05-29
Aditya Y Whobrey1017Japan2024-06-01
Misaki K Dilliard1018Spain2024-05-22
Leon R Wieser1019Spain2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson S MorascaBrazilStephen Shaw UNQUALIFIED
Kaitlin N CaldareraItalyElwin Sharvill QUALIFIED
Arvin Y GarufiSpainXuxue Feng NEGOTIATION
Faith E ButtIndiaAsiya Javayant NEGOTIATION
Maria P NickaJapanElwin Sharvill NEW
Johnson L DilliardItalyBernardo Dominic UNQUALIFIED
Izzy U KolmetzArgentinaOnyama Limba PROPOSAL
Smith B PoquetteFranceAnna Fali UNQUALIFIED
Misaki Y IturbideUnited KingdomAnna Fali UNQUALIFIED
Silvio L DoeAustraliaIoni Bowcher NEW
Emily C FollerRussiaOnyama Limba NEW
Octavia O WieserUnited KingdomXuxue Feng RENEWAL
Morrow C WieserItalyAnna Fali NEGOTIATION
Maria X MaletCanadaAsiya Javayant UNQUALIFIED
Aditya V DarakjyGermanyIvan Magalhaes RENEWAL
Aditya B MacleadAustraliaAsiya Javayant NEW
Emily A MorascaGermanyOnyama Limba QUALIFIED
Costa S TollnerFranceOnyama Limba PROPOSAL
Silvio P OldroydSpainStephen Shaw NEW
Maria A AlbaresRussiaAnna Fali RENEWAL
Silvio R RoysterRussiaElwin Sharvill PROPOSAL
Stacey R WaycottGermanyXuxue Feng RENEWAL
Misaki J FollerArgentinaElwin Sharvill NEW
Jones Y WhobreyGermanyAnna Fali QUALIFIED
Kaitlin I PerinGermanyXuxue Feng QUALIFIED
Juan P MaletItalyIoni Bowcher NEGOTIATION
Adams I RimIndiaIoni Bowcher NEW
Sinclair G BowleyAustraliaAmy Elsner RENEWAL
Cody B DoeAustraliaAnna Fali PROPOSAL
Aruna C GarufiRussiaStephen Shaw UNQUALIFIED
Julie Y FollerCanadaBernardo Dominic NEW
Kaitlin E NickaGermanyIvan Magalhaes RENEWAL
Adams A KolmetzFranceXuxue Feng RENEWAL
James Q NestleArgentinaXuxue Feng QUALIFIED
Tony D SlusarskiBrazilAnna Fali NEW
Aditya Q MacleadCanadaAnna Fali RENEWAL
Clifford W OstroskyFranceAnna Fali NEW
Aika H FlosiFranceBernardo Dominic UNQUALIFIED
Nicolas X CampainBrazilStephen Shaw NEGOTIATION
Izzy I MaletJapanXuxue Feng 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>