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
Nicolas S GauchoJapanOnyama Limba NEW
Salvatore G RimItalyOnyama Limba NEGOTIATION
Rodrigues Y BowleyIndiaIvan Magalhaes RENEWAL
Salvatore F NickaAustraliaStephen Shaw NEGOTIATION
Mayumi A RulapaughSpainElwin Sharvill PROPOSAL
Maria V DoeUnited KingdomStephen Shaw NEGOTIATION
Adams H VocelkaGermanyIvan Magalhaes RENEWAL
Silvio L RoysterUnited KingdomOnyama Limba PROPOSAL
Johnson E WieserSpainOnyama Limba QUALIFIED
Tony M BriddickArgentinaAsiya Javayant UNQUALIFIED
Leja B PaprockiGermanyAsiya Javayant NEGOTIATION
Sinclair Y SaylorsAustraliaAsiya Javayant PROPOSAL
Antonio L RutaCanadaIvan Magalhaes RENEWAL
Jennifer R DarakjyArgentinaXuxue Feng RENEWAL
Tony V CaldareraBrazilIoni Bowcher QUALIFIED
Antonio L DoeSpainAnna Fali NEW
Francesco T VocelkaJapanAsiya Javayant NEW
Emily T WhobreyArgentinaAnna Fali UNQUALIFIED
Francesco P OstroskyAustraliaStephen Shaw UNQUALIFIED
Misaki Q ShinkoCanadaBernardo Dominic NEGOTIATION
Francesco L SchemmerRussiaAsiya Javayant NEGOTIATION
Tony F RimIndiaAnna Fali NEGOTIATION
Silvio U MacleadAustraliaXuxue Feng NEW
Greenwood V GauchoIndiaAmy Elsner QUALIFIED
Maria O PoquetteUnited KingdomXuxue Feng QUALIFIED
Silvio H FlosiGermanyOnyama Limba RENEWAL
Leja N GauchoSpainAnna Fali QUALIFIED
Antonio N VenereGermanyStephen Shaw RENEWAL
Morrow O IturbideRussiaIoni Bowcher QUALIFIED
Greenwood T PerinArgentinaXuxue Feng RENEWAL
Smith A GlickItalyStephen Shaw NEGOTIATION
Jefferson U CampainCanadaAmy Elsner PROPOSAL
Leja Q KolmetzAustraliaStephen Shaw NEGOTIATION
Aruna V MarrierGermanyAnna Fali QUALIFIED
Kaitlin N FerenczIndiaAsiya Javayant PROPOSAL
Wickens L MorascaFranceAsiya Javayant NEGOTIATION
Emily V DoeBrazilIoni Bowcher NEW
Silvio F PaprockiItalyBernardo Dominic NEGOTIATION
Deepesh U PoquetteUnited KingdomOnyama Limba RENEWAL
Costa S ShinkoArgentinaIoni Bowcher NEGOTIATION
Silvio M IturbideAustraliaStephen Shaw RENEWAL
Arvin U DarakjyItalyIvan Magalhaes UNQUALIFIED
Chavez N SergiItalyIoni Bowcher UNQUALIFIED
Nicolas I IturbideAustraliaXuxue Feng NEW
Clifford L GillianItalyIoni Bowcher QUALIFIED
Claire D RoysterRussiaIvan Magalhaes QUALIFIED
Ivar H CaldareraUnited KingdomAmy Elsner NEGOTIATION
Aruna W StockhamCanadaAsiya Javayant NEW
Jefferson M VenereAustraliaStephen Shaw NEW
Kadeem T BologniaAustraliaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ivar D FerenczSpainElwin Sharvill UNQUALIFIED
Cody Q VocelkaIndiaStephen Shaw QUALIFIED
Maisha N OstroskyBrazilAnna Fali UNQUALIFIED
Adams S FigeroaGermanyAmy Elsner UNQUALIFIED
Aditya P PoquetteCanadaElwin Sharvill PROPOSAL
Clifford C NestleRussiaAmy Elsner NEGOTIATION
Ricardo G AlbaresCanadaElwin Sharvill PROPOSAL
Clifford S OstroskyGermanyXuxue Feng PROPOSAL
Mayumi F MaletFranceXuxue Feng NEGOTIATION
Jeanfrancois T BologniaFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja B DarakjyBrazil2024-06-19Buckley Miller Wright PROPOSAL19Amy Elsner
1001Leon K VenereJapan2024-05-27Feltz Printing Service UNQUALIFIED9Elwin Sharvill
1002Maisha P RulapaughFrance2024-06-08Printing Dimensions QUALIFIED76Elwin Sharvill
1003Izzy X CaudyCanada2024-06-14Chanay, Jeffrey A Esq NEGOTIATION28Bernardo Dominic
1004Costa I MarrierIndia2024-05-22Morlong Associates PROPOSAL62Stephen Shaw
1005Jeanfrancois C NickaGermany2024-06-04Feiner Bros NEW98Ivan Magalhaes
1006Mujtaba Q IturbideSpain2024-06-04Feltz Printing Service NEW20Anna Fali
1007Nicolas I MaletItaly2024-06-02Chanay, Jeffrey A Esq RENEWAL38Anna Fali
1008Smith V MaletRussia2024-05-27Commercial Press RENEWAL83Onyama Limba
1009Aika Y RulapaughSpain2024-06-16Chemel, James L Cpa NEGOTIATION41Elwin Sharvill
1010Salvatore L MorascaGermany2024-05-29King, Christopher A Esq UNQUALIFIED41Bernardo Dominic
1011Salvatore T RoysterAustralia2024-05-31Commercial Press UNQUALIFIED57Bernardo Dominic
1012Claire F IturbideArgentina2024-06-16Rangoni Of Florence RENEWAL77Anna Fali
1013Jones O DoeBrazil2024-05-25Feltz Printing Service NEGOTIATION94Bernardo Dominic
1014Kadeem E VocelkaBrazil2024-05-22Morlong Associates QUALIFIED56Elwin Sharvill
1015Rodrigues F ButtUnited Kingdom2024-05-26Truhlar And Truhlar Attys QUALIFIED38Amy Elsner
1016Jennifer W CaudyGermany2024-06-05Truhlar And Truhlar Attys NEGOTIATION15Xuxue Feng
1017Izzy T MaletSpain2024-06-17Morlong Associates UNQUALIFIED75Xuxue Feng
1018Deepesh P KolmetzGermany2024-06-08Chemel, James L Cpa PROPOSAL66Stephen Shaw
1019Antonio X ButtAustralia2024-06-07Dorl, James J Esq RENEWAL12Asiya Javayant
1020Kadeem Q CaudyGermany2024-06-19Dorl, James J Esq QUALIFIED69Anna Fali
1021Aika E FollerIndia2024-06-05Dorl, James J Esq RENEWAL13Ivan Magalhaes
1022Alejandro E SlusarskiArgentina2024-06-19Rangoni Of Florence UNQUALIFIED12Asiya Javayant
1023Cody R OstroskyCanada2024-06-19Commercial Press QUALIFIED48Asiya Javayant
1024Mayumi W MaletUnited Kingdom2024-06-02Rangoni Of Florence QUALIFIED21Bernardo Dominic
1025Nicolas C DarakjyJapan2024-05-27Dorl, James J Esq NEW20Elwin Sharvill
1026Alejandro Q PerinIndia2024-06-06Chemel, James L Cpa QUALIFIED20Onyama Limba
1027Francesco P WhobreyGermany2024-05-26Benton, John B Jr RENEWAL77Elwin Sharvill
1028Aika S BologniaJapan2024-06-05Commercial Press QUALIFIED24Xuxue Feng
1029Izzy S OldroydCanada2024-06-19Dorl, James J Esq PROPOSAL64Xuxue Feng
1030Rodrigues C GarufiRussia2024-06-03Printing Dimensions PROPOSAL65Amy Elsner
1031Isabel S AlbaresArgentina2024-06-02Chanay, Jeffrey A Esq PROPOSAL45Stephen Shaw
1032David M SchemmerCanada2024-05-27Rousseaux, Michael Esq QUALIFIED74Amy Elsner
1033Costa H ButtUnited Kingdom2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED13Onyama Limba
1034Kadeem R WhobreyAustralia2024-06-03Chemel, James L Cpa QUALIFIED73Onyama Limba
1035Darci T RimFrance2024-05-28Feltz Printing Service NEW19Bernardo Dominic
1036Chavez N WhobreyFrance2024-06-15Commercial Press NEW75Onyama Limba
1037Cody J ChuiBrazil2024-06-16Chemel, James L Cpa PROPOSAL13Elwin Sharvill
1038Darci Q OstroskyCanada2024-06-10Morlong Associates UNQUALIFIED12Ioni Bowcher
1039Aika X GlickIndia2024-06-12King, Christopher A Esq RENEWAL99Asiya Javayant
1040Cody A CaudyRussia2024-06-01Dorl, James J Esq NEW13Anna Fali
1041Emily D WaycottItaly2024-06-08Chanay, Jeffrey A Esq NEW60Xuxue Feng
1042Nicolas R KuskoArgentina2024-06-13Commercial Press QUALIFIED13Xuxue Feng
1043Morrow O OldroydBrazil2024-05-22Benton, John B Jr NEGOTIATION53Asiya Javayant
1044Deepesh I PaprockiItaly2024-05-24Printing Dimensions PROPOSAL78Stephen Shaw
1045Silvio G RimCanada2024-06-10Rangoni Of Florence NEW4Stephen Shaw
1046Maisha D FerenczJapan2024-06-07Chanay, Jeffrey A Esq QUALIFIED37Bernardo Dominic
1047Kadeem S GlickFrance2024-06-15Buckley Miller Wright PROPOSAL3Ivan Magalhaes
1048Alejandro S VocelkaRussia2024-06-12Commercial Press RENEWAL30Amy Elsner
1049Leon B VenereRussia2024-06-07Chemel, James L Cpa UNQUALIFIED0Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Tony B FerenczJapanIvan Magalhaes RENEWAL
Emily L PerinArgentinaAnna Fali PROPOSAL
Francesco E AmigonJapanAsiya Javayant UNQUALIFIED
Ashley G MorascaArgentinaOnyama Limba UNQUALIFIED
Munro N SaylorsBrazilStephen Shaw QUALIFIED
Silvio T CaldareraFranceAsiya Javayant RENEWAL
Salvatore L VenereFranceIvan Magalhaes RENEWAL
Isabel D WieserRussiaIoni Bowcher NEW
Mujtaba O CaudyGermanyXuxue Feng PROPOSAL
Misaki C SchemmerBrazilIvan Magalhaes NEW
Chavez P IturbideBrazilOnyama Limba NEW
Jefferson V CaudyJapanXuxue Feng UNQUALIFIED
Francesco Z SchemmerJapanElwin Sharvill QUALIFIED
Jones U VocelkaJapanElwin Sharvill NEGOTIATION
Maria C IturbideGermanyOnyama Limba RENEWAL
Clifford Q BologniaItalyOnyama Limba PROPOSAL
Cody R MacleadRussiaStephen Shaw UNQUALIFIED
Murillo Q NickaIndiaIvan Magalhaes UNQUALIFIED
Ashley M MacleadFranceBernardo Dominic PROPOSAL
Leja F KolmetzCanadaXuxue Feng QUALIFIED
Aditya C BologniaIndiaStephen Shaw NEGOTIATION
Mujtaba E PaprockiSpainAnna Fali NEGOTIATION
Morrow L RutaIndiaIoni Bowcher QUALIFIED
Izzy N CaudyUnited KingdomIoni Bowcher RENEWAL
Nicolas I FollerUnited KingdomAnna Fali PROPOSAL
Aruna Y MorascaCanadaIoni Bowcher PROPOSAL
Antonio M KuskoItalyAnna Fali PROPOSAL
Jones N BriddickCanadaIvan Magalhaes RENEWAL
Isabel A KuskoFranceElwin Sharvill UNQUALIFIED
Claire A FollerBrazilElwin Sharvill NEGOTIATION
James D FerenczArgentinaIoni Bowcher NEW
Claire J RutaUnited KingdomAnna Fali RENEWAL
Aika T NickaCanadaAnna Fali RENEWAL
Aika F SlusarskiIndiaIvan Magalhaes QUALIFIED
Johnson C MacleadFranceAmy Elsner NEW
Leon C AmigonJapanIvan Magalhaes QUALIFIED
Munro N BologniaArgentinaBernardo Dominic NEGOTIATION
Leja D WaycottJapanStephen Shaw NEGOTIATION
Adams A GlickIndiaAmy Elsner PROPOSAL
Leon Y PerinItalyAnna Fali RENEWAL
Adams A DarakjyRussiaAnna Fali RENEWAL
Ricardo L StockhamJapanAnna Fali NEW
Costa B StockhamCanadaXuxue Feng UNQUALIFIED
Juan B NestleBrazilOnyama Limba NEW
Tony H NestleGermanyElwin Sharvill QUALIFIED
Sinclair Y VenereSpainAsiya Javayant PROPOSAL
Silvio B DarakjyAustraliaBernardo Dominic PROPOSAL
Silvio Q NestleAustraliaAmy Elsner NEW
Mujtaba A ButtJapanIoni Bowcher NEGOTIATION
Salvatore U RutaJapanAsiya Javayant QUALIFIED
Frozen Columns
Name
Aditya Q Royster
Nicolas K Rulapaugh
Faith Q Tollner
Ivar S Bowley
Jennifer O Slusarski
Jones P Caldarera
Smith Q Glick
Isabel M Kolmetz
Wickens F Campain
Munro H Bowley
Mayumi X Paprocki
Faith Y Foller
Emily V Vocelka
Kadeem S Caudy
Alejandro V Royster
Deepesh S Figeroa
Leon D Nicka
Deepesh S Bowley
Aditya O Marrier
Deepesh K Nestle
Jeanfrancois V Kusko
Ashley D Wieser
David D Ostrosky
Munro B Ferencz
Johnson P Venere
Munro G Glick
Francesco A Ruta
Aruna Z Albares
Smith M Figeroa
Clifford Z Paprocki
Izzy J Butt
Salvatore S Whobrey
Munro X Foller
Munro D Figeroa
Francesco B Wieser
Ashley K Malet
Darci J Maclead
Morrow C Ferencz
Munro A Nicka
Maisha V Campain
Munro P Shinko
Sinclair V Bolognia
Aditya Q Bowley
Murillo Y Shinko
Maisha Q Caudy
Francesco J Sergi
Salvatore Z Vocelka
Aika E Rim
Maria E Whobrey
Johnson D Briddick
IdCountryDate
1000United Kingdom2024-06-14
1001Japan2024-05-22
1002Brazil2024-06-20
1003Japan2024-06-13
1004Argentina2024-05-30
1005Canada2024-06-16
1006Italy2024-06-09
1007Russia2024-05-24
1008Japan2024-06-02
1009United Kingdom2024-05-25
1010Brazil2024-05-29
1011Australia2024-05-28
1012Japan2024-06-03
1013Italy2024-06-14
1014India2024-06-09
1015Italy2024-06-10
1016Germany2024-06-09
1017United Kingdom2024-06-06
1018France2024-06-15
1019India2024-06-05
1020India2024-06-13
1021Italy2024-06-18
1022Argentina2024-05-30
1023Russia2024-06-10
1024United Kingdom2024-06-17
1025Russia2024-06-01
1026Canada2024-05-28
1027Brazil2024-06-07
1028Brazil2024-06-18
1029Germany2024-06-07
1030United Kingdom2024-05-31
1031Italy2024-05-23
1032Brazil2024-06-08
1033Canada2024-06-02
1034Russia2024-05-29
1035Brazil2024-06-09
1036France2024-05-29
1037United Kingdom2024-06-15
1038Argentina2024-06-02
1039India2024-06-11
1040Italy2024-06-15
1041Brazil2024-05-28
1042Germany2024-05-23
1043Russia2024-06-01
1044Argentina2024-05-30
1045Australia2024-05-26
1046Argentina2024-05-26
1047United Kingdom2024-06-04
1048Germany2024-06-12
1049Brazil2024-05-22

On-Demand Data

NameIdCountryDate
Emily U Gaucho1000India2024-06-14
Greenwood H Stenseth1001Italy2024-06-14
Ashley D Whobrey1002Canada2024-06-04
Kaitlin Y Sergi1003Italy2024-05-22
Stacey P Ferencz1004France2024-06-10
Francesco V Garufi1005India2024-06-07
Aruna Q Gaucho1006Russia2024-05-30
Maria G Stockham1007France2024-06-05
Ashley V Sergi1008Japan2024-05-31
Cody D Bowley1009India2024-05-31
David X Maclead1010Japan2024-06-13
Adams H Bolognia1011India2024-06-17
Sinclair F Bolognia1012Canada2024-06-10
Maisha C Waycott1013Brazil2024-05-31
Juan M Whobrey1014United Kingdom2024-05-28
Deepesh Y Stenseth1015India2024-06-17
Jones B Bolognia1016Argentina2024-05-23
Julie X Tollner1017Italy2024-05-29
Smith G Albares1018Germany2024-06-09
Juan X Stenseth1019Japan2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro X MaletAustraliaIoni Bowcher NEGOTIATION
Leja F RutaUnited KingdomAmy Elsner NEGOTIATION
David R CaudyIndiaIoni Bowcher PROPOSAL
Cody T RutaGermanyStephen Shaw RENEWAL
Wickens A MacleadFranceAmy Elsner PROPOSAL
Juan V MacleadGermanyStephen Shaw UNQUALIFIED
Johnson E NickaItalyAmy Elsner PROPOSAL
Leja J StensethJapanOnyama Limba RENEWAL
Kadeem H MaletIndiaIoni Bowcher RENEWAL
Faith Z GlickCanadaElwin Sharvill QUALIFIED
Aika L PerinJapanAmy Elsner QUALIFIED
Ivar X TollnerCanadaElwin Sharvill PROPOSAL
Juan N GauchoCanadaAnna Fali PROPOSAL
Jennifer X WaycottFranceIvan Magalhaes QUALIFIED
Chavez W MarrierItalyBernardo Dominic PROPOSAL
Adams H IturbideBrazilAmy Elsner UNQUALIFIED
Silvio M GarufiRussiaAsiya Javayant NEW
Cody A BowleyCanadaBernardo Dominic PROPOSAL
Leja Q IturbideItalyXuxue Feng RENEWAL
Munro Z FigeroaItalyIoni Bowcher QUALIFIED
Emily V AmigonAustraliaStephen Shaw NEW
James P NestleRussiaXuxue Feng NEGOTIATION
Murillo W ShinkoFranceIoni Bowcher NEW
James C MacleadJapanBernardo Dominic NEW
Tony V WieserCanadaAmy Elsner QUALIFIED
Isabel E GillianUnited KingdomAmy Elsner PROPOSAL
Chavez W FollerBrazilIvan Magalhaes NEGOTIATION
Rodrigues X PaprockiSpainAsiya Javayant RENEWAL
Wickens W WieserItalyAnna Fali NEW
Antonio R MacleadFranceAsiya Javayant PROPOSAL
Emily V VenereItalyOnyama Limba PROPOSAL
Deepesh U FerenczRussiaIoni Bowcher PROPOSAL
Jefferson I ButtGermanyAmy Elsner PROPOSAL
Leon W CaudySpainIvan Magalhaes NEGOTIATION
Johnson C FollerRussiaIoni Bowcher RENEWAL
Morrow O MarrierJapanElwin Sharvill NEGOTIATION
Johnson Z RulapaughAustraliaAmy Elsner RENEWAL
Julie E NestleArgentinaBernardo Dominic QUALIFIED
Rodrigues S NickaAustraliaOnyama Limba RENEWAL
Octavia I KolmetzRussiaAnna Fali UNQUALIFIED

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