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
Johnson L WaycottGermanyAmy Elsner UNQUALIFIED
Antonio Y CampainUnited KingdomElwin Sharvill QUALIFIED
Kaitlin W FerenczJapanIvan Magalhaes RENEWAL
David Y CaudyUnited KingdomAsiya Javayant NEW
Arvin X BriddickFranceIvan Magalhaes PROPOSAL
Alejandro V SergiGermanyIvan Magalhaes NEW
Claire K FerenczUnited KingdomAnna Fali PROPOSAL
Darci G OstroskyCanadaOnyama Limba NEGOTIATION
Ricardo H SaylorsRussiaStephen Shaw NEW
Stacey E GauchoJapanAnna Fali NEGOTIATION
Ricardo Z PerinIndiaXuxue Feng RENEWAL
Kaitlin M SlusarskiCanadaXuxue Feng PROPOSAL
Ivar B RulapaughCanadaAnna Fali NEW
Aruna Y SchemmerRussiaAsiya Javayant QUALIFIED
Sinclair Z GlickJapanElwin Sharvill UNQUALIFIED
Kaitlin X FigeroaCanadaStephen Shaw RENEWAL
Octavia M DarakjyFranceAmy Elsner PROPOSAL
James A OldroydAustraliaIvan Magalhaes QUALIFIED
Greenwood U PoquetteGermanyOnyama Limba UNQUALIFIED
Kadeem S DoeJapanIvan Magalhaes PROPOSAL
Maria X RoysterUnited KingdomAnna Fali QUALIFIED
Faith U DoeGermanyAsiya Javayant NEW
Aditya D WieserRussiaAsiya Javayant NEW
Silvio W DoeItalyBernardo Dominic NEW
Stacey T ButtArgentinaElwin Sharvill PROPOSAL
Maisha L StensethCanadaXuxue Feng NEGOTIATION
Kadeem Y CaudySpainAmy Elsner QUALIFIED
Antonio J IturbideArgentinaElwin Sharvill RENEWAL
Jennifer A WieserSpainIoni Bowcher RENEWAL
Johnson A VenereCanadaXuxue Feng UNQUALIFIED
David O GillianBrazilElwin Sharvill PROPOSAL
Jefferson Q GauchoAustraliaBernardo Dominic UNQUALIFIED
Ashley G CaudyBrazilAsiya Javayant QUALIFIED
Nicolas F RutaCanadaAsiya Javayant PROPOSAL
Nicolas V SaylorsFranceAmy Elsner NEGOTIATION
Leja E RutaAustraliaIoni Bowcher QUALIFIED
Jennifer Z BologniaGermanyAmy Elsner NEGOTIATION
Cody N FlosiJapanBernardo Dominic NEGOTIATION
Clifford T SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Leja Q SaylorsRussiaAmy Elsner RENEWAL
Claire R StensethFranceOnyama Limba RENEWAL
Darci P VenereItalyElwin Sharvill NEW
Aditya R BologniaBrazilIvan Magalhaes PROPOSAL
Mayumi A MorascaRussiaElwin Sharvill NEW
Mujtaba W GarufiArgentinaStephen Shaw NEW
Juan U BologniaJapanIvan Magalhaes UNQUALIFIED
Emily A IturbideJapanXuxue Feng UNQUALIFIED
Munro D WieserItalyAnna Fali PROPOSAL
Antonio Z CaudyCanadaIoni Bowcher RENEWAL
Claire D BriddickArgentinaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci V CaudyItalyBernardo Dominic NEGOTIATION
Silvio W RulapaughUnited KingdomAnna Fali PROPOSAL
Faith C SlusarskiBrazilBernardo Dominic QUALIFIED
Tony T RoysterFranceAsiya Javayant RENEWAL
Juan K InouyeArgentinaAnna Fali PROPOSAL
Clifford B GlickFranceIvan Magalhaes RENEWAL
Octavia F AmigonArgentinaIoni Bowcher UNQUALIFIED
Costa H MaletUnited KingdomXuxue Feng NEW
Darci R NestleSpainStephen Shaw NEW
Silvio K GillianAustraliaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria V SchemmerUnited Kingdom2025-05-01Chanay, Jeffrey A Esq RENEWAL3Elwin Sharvill
1001Arvin Y WhobreySpain2025-05-09Truhlar And Truhlar Attys UNQUALIFIED58Ioni Bowcher
1002Cody W CampainSpain2025-04-27King, Christopher A Esq QUALIFIED17Anna Fali
1003Jefferson F MarrierArgentina2025-04-27Rousseaux, Michael Esq UNQUALIFIED19Asiya Javayant
1004Jeanfrancois B WhobreyItaly2025-04-24Buckley Miller Wright NEGOTIATION21Asiya Javayant
1005Sinclair K FlosiIndia2025-04-23Truhlar And Truhlar Attys PROPOSAL10Anna Fali
1006Jones K SchemmerRussia2025-05-15Chapman, Ross E Esq NEGOTIATION31Asiya Javayant
1007Greenwood R BologniaItaly2025-05-02Rousseaux, Michael Esq RENEWAL98Bernardo Dominic
1008Murillo J OstroskyCanada2025-04-30Feltz Printing Service RENEWAL42Onyama Limba
1009Silvio C FollerGermany2025-04-28King, Christopher A Esq NEW75Onyama Limba
1010Jennifer F OldroydIndia2025-04-26Feltz Printing Service RENEWAL6Onyama Limba
1011Faith S VenereArgentina2025-05-15Dorl, James J Esq QUALIFIED16Amy Elsner
1012Emily N CaldareraFrance2025-05-04Morlong Associates RENEWAL71Asiya Javayant
1013Jeanfrancois H StensethIndia2025-05-01Chemel, James L Cpa NEGOTIATION90Bernardo Dominic
1014David D RoysterIndia2025-05-08Benton, John B Jr RENEWAL1Xuxue Feng
1015Nicolas R BologniaCanada2025-04-27Chemel, James L Cpa QUALIFIED74Anna Fali
1016Juan N BologniaAustralia2025-05-03Rangoni Of Florence PROPOSAL50Onyama Limba
1017Johnson I KuskoArgentina2025-05-11Buckley Miller Wright UNQUALIFIED16Anna Fali
1018Darci I GauchoIndia2025-04-17Feltz Printing Service NEW26Xuxue Feng
1019Morrow G BowleyIndia2025-04-21Printing Dimensions RENEWAL32Xuxue Feng
1020Aditya X ButtItaly2025-05-12Dorl, James J Esq RENEWAL7Anna Fali
1021Izzy M DarakjyUnited Kingdom2025-05-04Rangoni Of Florence RENEWAL47Ivan Magalhaes
1022Ivar T NestleSpain2025-04-27Chemel, James L Cpa RENEWAL12Asiya Javayant
1023Tony V PoquetteJapan2025-05-08Rangoni Of Florence NEGOTIATION52Elwin Sharvill
1024Silvio X SlusarskiBrazil2025-04-17Benton, John B Jr QUALIFIED96Onyama Limba
1025Julie F AlbaresFrance2025-04-28Buckley Miller Wright RENEWAL27Asiya Javayant
1026Morrow T AmigonAustralia2025-04-24Morlong Associates UNQUALIFIED5Ioni Bowcher
1027Octavia A WaycottSpain2025-04-25Truhlar And Truhlar Attys RENEWAL80Anna Fali
1028Murillo L WhobreyRussia2025-04-17Dorl, James J Esq RENEWAL62Ivan Magalhaes
1029Morrow B CampainAustralia2025-05-06Dorl, James J Esq QUALIFIED38Onyama Limba
1030Darci B SergiItaly2025-05-09Chapman, Ross E Esq UNQUALIFIED84Stephen Shaw
1031Alejandro A GlickRussia2025-04-25Feltz Printing Service NEGOTIATION17Onyama Limba
1032Alejandro G TollnerBrazil2025-05-13Rangoni Of Florence PROPOSAL69Onyama Limba
1033Chavez P KuskoAustralia2025-05-10Chapman, Ross E Esq NEGOTIATION58Ivan Magalhaes
1034Juan A VocelkaItaly2025-04-20Feltz Printing Service PROPOSAL11Ioni Bowcher
1035Cody A StensethSpain2025-05-02King, Christopher A Esq NEW74Bernardo Dominic
1036Juan I StensethArgentina2025-05-11Commercial Press NEGOTIATION7Bernardo Dominic
1037Clifford D StensethIndia2025-04-22Truhlar And Truhlar Attys NEGOTIATION57Asiya Javayant
1038Ricardo S ButtUnited Kingdom2025-04-24Printing Dimensions NEGOTIATION60Onyama Limba
1039Jeanfrancois X FollerItaly2025-05-07Feltz Printing Service NEGOTIATION32Elwin Sharvill
1040Juan M OstroskyUnited Kingdom2025-05-10Chemel, James L Cpa NEGOTIATION28Anna Fali
1041Julie K ButtGermany2025-05-06Feltz Printing Service QUALIFIED65Ivan Magalhaes
1042Kaitlin L SaylorsIndia2025-05-01Chemel, James L Cpa RENEWAL23Anna Fali
1043Adams U ChuiJapan2025-05-03Rousseaux, Michael Esq NEGOTIATION38Amy Elsner
1044Darci A RulapaughIndia2025-05-03Chapman, Ross E Esq QUALIFIED35Stephen Shaw
1045Jefferson D CaldareraCanada2025-05-08Printing Dimensions QUALIFIED21Amy Elsner
1046Misaki Y BologniaGermany2025-04-30Benton, John B Jr QUALIFIED80Asiya Javayant
1047Sinclair L CaldareraGermany2025-04-18Chemel, James L Cpa PROPOSAL7Asiya Javayant
1048Aika C OldroydCanada2025-05-02Dorl, James J Esq QUALIFIED92Onyama Limba
1049Maisha T MarrierUnited Kingdom2025-05-02Feltz Printing Service NEGOTIATION58Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Cody R PaprockiArgentinaBernardo Dominic NEW
Wickens F VocelkaAustraliaAsiya Javayant RENEWAL
Cody O WhobreyArgentinaIvan Magalhaes QUALIFIED
Darci A AlbaresBrazilElwin Sharvill NEGOTIATION
Julie D SlusarskiFranceIvan Magalhaes NEGOTIATION
Adams U RutaBrazilStephen Shaw NEGOTIATION
James R CaudyBrazilAsiya Javayant QUALIFIED
James N MorascaBrazilOnyama Limba RENEWAL
Clifford Q IturbideFranceIoni Bowcher NEGOTIATION
Jones A DoeUnited KingdomElwin Sharvill RENEWAL
Leon W CaldareraIndiaAsiya Javayant PROPOSAL
Deepesh A OstroskyItalyIvan Magalhaes NEW
Johnson G BriddickBrazilIoni Bowcher NEGOTIATION
Aika U TollnerRussiaElwin Sharvill NEGOTIATION
Octavia R DarakjySpainElwin Sharvill NEW
Alejandro Y CaldareraGermanyElwin Sharvill NEW
Isabel N BriddickAustraliaElwin Sharvill QUALIFIED
Clifford N FlosiItalyAmy Elsner NEGOTIATION
James Q VenereFranceAsiya Javayant NEW
Izzy Q WhobreyAustraliaBernardo Dominic UNQUALIFIED
Chavez Q RoysterItalyXuxue Feng NEGOTIATION
Smith U MaletCanadaAnna Fali UNQUALIFIED
Claire Z CaldareraItalyXuxue Feng UNQUALIFIED
Arvin T FigeroaJapanBernardo Dominic NEW
James N GillianJapanStephen Shaw RENEWAL
Ivar U PoquetteBrazilStephen Shaw QUALIFIED
James Y PoquetteSpainOnyama Limba NEW
Adams O KuskoAustraliaIoni Bowcher RENEWAL
Johnson G MorascaUnited KingdomAnna Fali PROPOSAL
James J MorascaJapanAsiya Javayant RENEWAL
James F MorascaCanadaAmy Elsner RENEWAL
Juan T GarufiJapanElwin Sharvill QUALIFIED
Claire M InouyeBrazilAmy Elsner NEGOTIATION
Silvio C VenereRussiaAnna Fali UNQUALIFIED
Antonio O TollnerFranceAsiya Javayant QUALIFIED
Mujtaba X FollerSpainIvan Magalhaes NEW
Cody L MaletArgentinaAnna Fali NEGOTIATION
Juan R GarufiGermanyAmy Elsner QUALIFIED
Kaitlin F SlusarskiRussiaBernardo Dominic PROPOSAL
Izzy T DarakjyRussiaStephen Shaw UNQUALIFIED
James N ShinkoGermanyAnna Fali UNQUALIFIED
Mayumi O FerenczCanadaElwin Sharvill QUALIFIED
Tony E FollerArgentinaBernardo Dominic PROPOSAL
Wickens L GarufiSpainXuxue Feng NEW
Jefferson D VenereAustraliaXuxue Feng RENEWAL
Kadeem W SaylorsFranceOnyama Limba NEGOTIATION
Cody S BowleyRussiaBernardo Dominic QUALIFIED
Julie Z NickaRussiaAmy Elsner QUALIFIED
Deepesh T KuskoFranceBernardo Dominic PROPOSAL
Greenwood X VocelkaArgentinaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Munro D Waycott
Aruna U Sergi
Wickens L Dilliard
Antonio H Shinko
Arvin Y Whobrey
Stacey M Morasca
Mujtaba T Stockham
Murillo S Venere
Mujtaba L Venere
Alejandro Y Stockham
Darci F Saylors
Wickens A Tollner
Aika O Morasca
Jefferson B Sergi
Sinclair X Gaucho
Misaki A Oldroyd
Chavez O Nestle
Kadeem I Slusarski
Kadeem Y Briddick
Adams N Darakjy
Francesco W Venere
Maria R Nicka
Claire H Stockham
Deepesh B Shinko
Ricardo N Caldarera
Jefferson D Doe
Murillo D Shinko
Aruna I Darakjy
Aditya D Albares
Darci X Iturbide
Julie J Poquette
Jennifer F Maclead
Nicolas T Darakjy
Maisha T Garufi
Jones F Gillian
Leja H Schemmer
Mujtaba O Venere
Deepesh U Amigon
Misaki L Butt
Arvin H Bowley
Smith P Shinko
Jeanfrancois W Gaucho
Maisha V Foller
Stacey D Darakjy
Greenwood P Waycott
Claire C Marrier
Jones F Kolmetz
Salvatore L Royster
Stacey O Bowley
Julie X Figeroa
IdCountryDate
1000Brazil2025-04-24
1001Australia2025-04-23
1002Spain2025-05-14
1003France2025-05-11
1004Spain2025-05-01
1005Germany2025-04-26
1006Germany2025-05-05
1007Japan2025-05-13
1008Spain2025-05-07
1009Germany2025-04-30
1010United Kingdom2025-05-02
1011Argentina2025-05-11
1012Canada2025-04-28
1013France2025-04-20
1014India2025-05-08
1015Russia2025-04-28
1016India2025-04-19
1017Spain2025-04-18
1018Italy2025-05-16
1019France2025-05-15
1020France2025-05-08
1021France2025-05-05
1022France2025-04-17
1023Spain2025-04-18
1024Germany2025-05-13
1025Australia2025-05-08
1026Russia2025-05-10
1027India2025-04-23
1028Brazil2025-04-29
1029France2025-04-29
1030Brazil2025-05-04
1031Italy2025-04-18
1032France2025-04-30
1033Italy2025-05-08
1034Argentina2025-04-20
1035Canada2025-04-18
1036Canada2025-04-27
1037India2025-04-17
1038Germany2025-05-01
1039Russia2025-05-12
1040Germany2025-04-24
1041Germany2025-05-06
1042United Kingdom2025-04-28
1043Japan2025-05-09
1044Australia2025-04-17
1045Canada2025-05-09
1046France2025-05-10
1047India2025-05-01
1048Spain2025-05-08
1049Argentina2025-05-06

On-Demand Data

NameIdCountryDate
Murillo K Darakjy1000Argentina2025-05-10
Julie B Nestle1001Brazil2025-05-05
Kaitlin S Paprocki1002Spain2025-05-05
Emily X Perin1003Canada2025-04-19
Murillo P Iturbide1004Canada2025-05-14
Darci X Caudy1005Spain2025-04-21
David L Sergi1006India2025-05-10
Antonio Z Poquette1007India2025-04-23
Juan M Royster1008Australia2025-05-15
Darci S Slusarski1009Australia2025-04-20
Johnson M Doe1010Japan2025-04-28
Chavez V Perin1011Russia2025-04-20
Aditya F Gaucho1012United Kingdom2025-04-23
Munro H Doe1013United Kingdom2025-04-26
Murillo L Doe1014France2025-05-05
Adams Y Iturbide1015Japan2025-04-30
Maria Z Kolmetz1016Brazil2025-04-21
Claire C Bolognia1017France2025-04-24
Isabel N Dilliard1018Brazil2025-05-11
Cody E Butt1019United Kingdom2025-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Y StockhamArgentinaXuxue Feng RENEWAL
Cody M WaycottArgentinaIvan Magalhaes UNQUALIFIED
Francesco P MarrierRussiaXuxue Feng NEW
Leon M RoysterRussiaAsiya Javayant NEGOTIATION
Claire G GauchoAustraliaOnyama Limba PROPOSAL
Silvio H ShinkoGermanyAsiya Javayant QUALIFIED
Kadeem J ChuiFranceAmy Elsner RENEWAL
Darci P PoquetteJapanOnyama Limba RENEWAL
Antonio G ButtJapanXuxue Feng UNQUALIFIED
Kaitlin C CaudyRussiaBernardo Dominic NEW
Sinclair F ChuiAustraliaBernardo Dominic UNQUALIFIED
Claire Y MaletAustraliaOnyama Limba NEW
Isabel D GillianJapanElwin Sharvill NEW
Isabel K VenereJapanBernardo Dominic UNQUALIFIED
Aditya V RoysterFranceIoni Bowcher NEGOTIATION
Jefferson H PoquetteRussiaAmy Elsner PROPOSAL
Maria R RimArgentinaStephen Shaw QUALIFIED
Jones D ChuiIndiaAmy Elsner UNQUALIFIED
Clifford J NestleRussiaStephen Shaw NEW
Misaki F WieserItalyAmy Elsner QUALIFIED
Maria D PoquetteRussiaElwin Sharvill NEW
Clifford Q CaudyJapanBernardo Dominic NEGOTIATION
Jennifer F PaprockiArgentinaXuxue Feng UNQUALIFIED
Arvin Q VenereJapanStephen Shaw UNQUALIFIED
Silvio X PerinUnited KingdomStephen Shaw UNQUALIFIED
Leja S GillianArgentinaStephen Shaw QUALIFIED
Jennifer U OstroskyFranceElwin Sharvill NEW
Jefferson W WieserJapanOnyama Limba NEGOTIATION
Tony T GillianSpainAmy Elsner UNQUALIFIED
Ricardo S BriddickFranceIvan Magalhaes NEGOTIATION
Octavia V AmigonIndiaElwin Sharvill RENEWAL
Tony Z CaudyRussiaOnyama Limba NEGOTIATION
Faith A OstroskyRussiaOnyama Limba NEW
Aika K FollerUnited KingdomAnna Fali NEW
Aika Q RoysterSpainAmy Elsner NEW
Alejandro P PerinItalyIvan Magalhaes RENEWAL
Arvin D ShinkoSpainAnna Fali NEGOTIATION
David J OstroskyBrazilAnna Fali QUALIFIED
Juan P StensethBrazilOnyama Limba NEGOTIATION
Chavez Y CampainArgentinaElwin Sharvill 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>