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
Adams D GillianGermanyXuxue Feng NEW
Costa J WaycottFranceStephen Shaw NEW
Jones T StockhamFranceAnna Fali NEW
Murillo M RoysterAustraliaStephen Shaw NEW
Stacey M PaprockiFranceElwin Sharvill UNQUALIFIED
James L KuskoAustraliaAmy Elsner NEGOTIATION
Sinclair U OldroydItalyIoni Bowcher NEGOTIATION
Aditya T FollerIndiaStephen Shaw RENEWAL
Mujtaba W BologniaGermanyAsiya Javayant PROPOSAL
Alejandro Z InouyeGermanyStephen Shaw PROPOSAL
Clifford R ChuiArgentinaStephen Shaw NEW
Nicolas M WaycottUnited KingdomAnna Fali UNQUALIFIED
Nicolas S SlusarskiIndiaBernardo Dominic PROPOSAL
Arvin E StockhamFranceXuxue Feng NEW
Salvatore G StockhamCanadaElwin Sharvill NEGOTIATION
Octavia P OstroskyItalyElwin Sharvill PROPOSAL
Alejandro L VenereBrazilXuxue Feng NEW
Nicolas E RutaFranceAsiya Javayant NEW
David Z CampainIndiaElwin Sharvill RENEWAL
Nicolas X WieserRussiaOnyama Limba QUALIFIED
Morrow U VocelkaJapanIoni Bowcher PROPOSAL
Darci Q WieserGermanyXuxue Feng UNQUALIFIED
Aika M PaprockiSpainXuxue Feng NEGOTIATION
Maisha E CampainFranceBernardo Dominic QUALIFIED
Antonio A OldroydJapanIoni Bowcher NEW
Aditya F NestleRussiaAnna Fali QUALIFIED
Greenwood O NestleSpainBernardo Dominic QUALIFIED
Kadeem W SlusarskiUnited KingdomIvan Magalhaes NEW
Jones D FollerCanadaOnyama Limba PROPOSAL
Silvio Z NickaJapanIvan Magalhaes QUALIFIED
Johnson T OstroskyJapanAnna Fali NEGOTIATION
Octavia O GillianUnited KingdomBernardo Dominic NEW
Mujtaba B FollerAustraliaElwin Sharvill PROPOSAL
Aditya O NickaCanadaOnyama Limba UNQUALIFIED
Juan M DilliardAustraliaXuxue Feng NEGOTIATION
Misaki W FerenczAustraliaAsiya Javayant QUALIFIED
Arvin Y VocelkaItalyBernardo Dominic RENEWAL
Costa M StensethUnited KingdomStephen Shaw PROPOSAL
Jones H PerinSpainXuxue Feng QUALIFIED
Kadeem O WhobreyArgentinaXuxue Feng NEGOTIATION
Antonio L ButtGermanyOnyama Limba PROPOSAL
Jones B FlosiRussiaIoni Bowcher RENEWAL
Julie E FerenczUnited KingdomBernardo Dominic PROPOSAL
Munro L KolmetzBrazilBernardo Dominic NEW
Rodrigues H OldroydUnited KingdomBernardo Dominic NEGOTIATION
Silvio A MaletItalyOnyama Limba RENEWAL
Clifford B FigeroaAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois G VenereSpainIvan Magalhaes RENEWAL
Adams M FollerFranceAnna Fali UNQUALIFIED
Johnson B VenereAustraliaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood S RutaFranceXuxue Feng NEW
Octavia K FerenczItalyElwin Sharvill RENEWAL
Wickens B DarakjyGermanyIoni Bowcher PROPOSAL
Kaitlin L FerenczGermanyIoni Bowcher PROPOSAL
Emily X AlbaresBrazilElwin Sharvill RENEWAL
Greenwood R WieserGermanyStephen Shaw NEGOTIATION
Octavia Z PerinAustraliaIvan Magalhaes UNQUALIFIED
Murillo B GillianIndiaAsiya Javayant RENEWAL
Misaki S FollerCanadaAmy Elsner QUALIFIED
Stacey Y VocelkaFranceAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire K WieserJapan2025-04-24Buckley Miller Wright UNQUALIFIED29Asiya Javayant
1001Ashley Y AlbaresCanada2025-04-27Commercial Press PROPOSAL57Ioni Bowcher
1002Juan C RulapaughItaly2025-04-18Truhlar And Truhlar Attys PROPOSAL55Stephen Shaw
1003Morrow B VenereCanada2025-04-30Printing Dimensions PROPOSAL55Xuxue Feng
1004Aika T RulapaughAustralia2025-04-25Dorl, James J Esq QUALIFIED61Anna Fali
1005Darci Z VocelkaRussia2025-04-06Morlong Associates QUALIFIED40Bernardo Dominic
1006Deepesh S AlbaresAustralia2025-04-24Feltz Printing Service RENEWAL39Elwin Sharvill
1007Silvio Q CaldareraSpain2025-04-07Printing Dimensions QUALIFIED23Amy Elsner
1008Rodrigues Q DoeAustralia2025-04-07Morlong Associates QUALIFIED4Ioni Bowcher
1009Juan E WhobreyFrance2025-04-26Commercial Press NEGOTIATION72Xuxue Feng
1010Aditya E GauchoSpain2025-04-26Printing Dimensions RENEWAL62Xuxue Feng
1011Chavez H MacleadItaly2025-04-30Dorl, James J Esq NEW50Anna Fali
1012Nicolas J IturbideItaly2025-04-03Feltz Printing Service UNQUALIFIED49Stephen Shaw
1013Sinclair Y InouyeBrazil2025-04-24Rangoni Of Florence NEW56Ivan Magalhaes
1014Munro R SchemmerUnited Kingdom2025-04-09Chemel, James L Cpa NEW77Stephen Shaw
1015Chavez Y BologniaSpain2025-04-01Truhlar And Truhlar Attys PROPOSAL40Xuxue Feng
1016Leon K SaylorsJapan2025-04-20Feltz Printing Service UNQUALIFIED65Stephen Shaw
1017Mayumi I BriddickArgentina2025-04-03Truhlar And Truhlar Attys NEW27Ioni Bowcher
1018Darci P BriddickCanada2025-04-19Chemel, James L Cpa RENEWAL9Anna Fali
1019Jefferson N PaprockiItaly2025-04-25Feltz Printing Service NEW81Xuxue Feng
1020Arvin R SergiJapan2025-04-14Chemel, James L Cpa QUALIFIED27Bernardo Dominic
1021Francesco K InouyeRussia2025-04-28Buckley Miller Wright NEW3Onyama Limba
1022Greenwood E StockhamUnited Kingdom2025-04-12Chemel, James L Cpa PROPOSAL33Ioni Bowcher
1023Cody G WhobreyCanada2025-04-20Truhlar And Truhlar Attys PROPOSAL80Onyama Limba
1024Kadeem G VocelkaAustralia2025-04-21Chapman, Ross E Esq NEGOTIATION93Amy Elsner
1025Julie Q DarakjyFrance2025-04-01Dorl, James J Esq RENEWAL25Xuxue Feng
1026Stacey O BriddickIndia2025-04-12Dorl, James J Esq PROPOSAL25Bernardo Dominic
1027Clifford Z KuskoFrance2025-04-14Chemel, James L Cpa UNQUALIFIED73Anna Fali
1028Francesco G SlusarskiBrazil2025-04-07Rangoni Of Florence NEW6Asiya Javayant
1029Ricardo C GarufiItaly2025-04-15Commercial Press RENEWAL4Ivan Magalhaes
1030Octavia B PoquetteJapan2025-04-13Rangoni Of Florence NEW74Xuxue Feng
1031Ivar T PaprockiGermany2025-04-08Chanay, Jeffrey A Esq PROPOSAL17Ivan Magalhaes
1032Mujtaba U IturbideRussia2025-04-19Buckley Miller Wright NEW6Elwin Sharvill
1033Kaitlin C ButtJapan2025-04-01King, Christopher A Esq PROPOSAL17Amy Elsner
1034Ricardo I StensethCanada2025-04-02Benton, John B Jr NEGOTIATION9Amy Elsner
1035Jones Q RutaAustralia2025-04-04Morlong Associates NEW4Bernardo Dominic
1036Octavia T VenereCanada2025-04-18Chapman, Ross E Esq RENEWAL15Ivan Magalhaes
1037Jefferson R CaudyCanada2025-04-26Rangoni Of Florence NEGOTIATION83Xuxue Feng
1038Leon L RulapaughFrance2025-04-02Buckley Miller Wright UNQUALIFIED71Elwin Sharvill
1039Leja H AlbaresFrance2025-04-07Truhlar And Truhlar Attys NEW66Anna Fali
1040Smith R RulapaughAustralia2025-04-03Printing Dimensions PROPOSAL85Asiya Javayant
1041Wickens C VenereFrance2025-04-24Chanay, Jeffrey A Esq QUALIFIED75Bernardo Dominic
1042Isabel Q PerinIndia2025-04-18Feltz Printing Service PROPOSAL88Stephen Shaw
1043Deepesh N SchemmerFrance2025-04-24Morlong Associates NEGOTIATION88Onyama Limba
1044Octavia S MarrierArgentina2025-04-08Dorl, James J Esq UNQUALIFIED81Xuxue Feng
1045Wickens G IturbideUnited Kingdom2025-04-01Truhlar And Truhlar Attys QUALIFIED86Xuxue Feng
1046Faith K ButtRussia2025-04-29Buckley Miller Wright RENEWAL74Onyama Limba
1047Aditya A MaletSpain2025-04-19Feiner Bros UNQUALIFIED54Onyama Limba
1048James Y OldroydGermany2025-04-22Buckley Miller Wright RENEWAL87Amy Elsner
1049Faith R AlbaresSpain2025-04-23Morlong Associates NEW65Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan C FigeroaIndiaAmy Elsner NEW
Isabel L FollerRussiaXuxue Feng UNQUALIFIED
Kaitlin C GlickFranceStephen Shaw QUALIFIED
Silvio N InouyeUnited KingdomStephen Shaw RENEWAL
Smith A RimBrazilStephen Shaw NEGOTIATION
Aruna Y DoeGermanyOnyama Limba NEGOTIATION
Maria Q SergiIndiaAmy Elsner NEGOTIATION
Deepesh G BologniaFranceIoni Bowcher PROPOSAL
Mujtaba S RulapaughRussiaElwin Sharvill NEGOTIATION
Silvio B WhobreyArgentinaXuxue Feng PROPOSAL
Munro H BologniaFranceElwin Sharvill UNQUALIFIED
Wickens F CampainFranceBernardo Dominic UNQUALIFIED
Ashley I FollerIndiaStephen Shaw RENEWAL
Jeanfrancois F ButtArgentinaAmy Elsner NEW
Antonio Z FollerArgentinaBernardo Dominic QUALIFIED
Ivar M BologniaJapanStephen Shaw UNQUALIFIED
Chavez C GillianJapanAnna Fali NEW
Smith G ChuiBrazilIoni Bowcher NEW
Jefferson F FerenczFranceAmy Elsner PROPOSAL
Kaitlin A FlosiUnited KingdomStephen Shaw NEW
Rodrigues S BologniaItalyIvan Magalhaes RENEWAL
Sinclair P FigeroaCanadaAnna Fali RENEWAL
Claire M WaycottBrazilStephen Shaw RENEWAL
Cody P VocelkaAustraliaElwin Sharvill RENEWAL
Kaitlin I BowleyGermanyElwin Sharvill PROPOSAL
Munro A TollnerArgentinaIvan Magalhaes UNQUALIFIED
Francesco A DoeGermanyAmy Elsner RENEWAL
Antonio E BriddickRussiaOnyama Limba UNQUALIFIED
Greenwood K DilliardUnited KingdomXuxue Feng NEGOTIATION
Julie H ButtJapanOnyama Limba NEW
Mayumi V FlosiUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois M AlbaresFranceStephen Shaw RENEWAL
Leon Q GlickArgentinaStephen Shaw UNQUALIFIED
Arvin T FerenczSpainElwin Sharvill PROPOSAL
Emily Z OstroskyArgentinaAmy Elsner NEGOTIATION
Maisha D StensethGermanyStephen Shaw QUALIFIED
Isabel E MorascaIndiaElwin Sharvill PROPOSAL
Misaki X GlickJapanIvan Magalhaes NEGOTIATION
Aditya I SergiArgentinaElwin Sharvill NEW
Munro Z AmigonGermanyElwin Sharvill PROPOSAL
Antonio I SaylorsArgentinaOnyama Limba QUALIFIED
Stacey H DilliardItalyAsiya Javayant NEGOTIATION
Julie E OstroskyAustraliaStephen Shaw RENEWAL
Jennifer D WaycottItalyXuxue Feng NEW
Stacey M RulapaughGermanyIoni Bowcher QUALIFIED
Jeanfrancois F WhobreyAustraliaOnyama Limba QUALIFIED
Jeanfrancois R GlickArgentinaBernardo Dominic PROPOSAL
Stacey O FerenczFranceBernardo Dominic RENEWAL
Jones N GlickAustraliaOnyama Limba RENEWAL
Jennifer G CaldareraRussiaAmy Elsner QUALIFIED
Frozen Columns
Name
David S Caudy
Tony V Venere
Deepesh H Campain
Rodrigues F Oldroyd
Izzy W Nestle
Jeanfrancois O Vocelka
Chavez I Gaucho
Morrow Y Campain
Darci R Ostrosky
Jefferson W Briddick
Tony E Venere
Julie X Maclead
Silvio T Briddick
Maisha J Ruta
Leja J Gillian
James M Gillian
Leon K Royster
Stacey E Malet
Izzy S Schemmer
Isabel Z Flosi
Smith B Sergi
Morrow C Flosi
Clifford Q Caudy
Chavez K Whobrey
Aika S Malet
Julie O Briddick
Jefferson K Venere
Arvin S Gaucho
Smith Z Bolognia
Leja J Ruta
Greenwood O Nicka
Arvin D Gaucho
Silvio V Oldroyd
Kadeem G Kusko
Alejandro J Nestle
Emily S Gillian
Salvatore K Doe
Arvin V Figeroa
Costa H Royster
Kadeem T Albares
Ivar F Ostrosky
Nicolas Y Morasca
Silvio C Schemmer
Wickens F Gillian
Sinclair P Venere
Faith G Shinko
Antonio G Rulapaugh
Clifford X Waycott
Morrow F Royster
James D Vocelka
IdCountryDate
1000Spain2025-04-18
1001France2025-04-17
1002Canada2025-04-20
1003Spain2025-04-13
1004France2025-04-22
1005Italy2025-04-08
1006Australia2025-04-27
1007France2025-04-13
1008France2025-04-03
1009United Kingdom2025-04-02
1010Australia2025-04-05
1011India2025-04-17
1012Australia2025-04-12
1013Germany2025-04-23
1014Italy2025-04-21
1015India2025-04-05
1016Russia2025-04-21
1017Argentina2025-04-19
1018Australia2025-04-18
1019Germany2025-04-23
1020Brazil2025-04-29
1021India2025-04-14
1022Japan2025-04-11
1023Australia2025-04-23
1024Brazil2025-04-10
1025Spain2025-04-11
1026Spain2025-04-21
1027Argentina2025-04-23
1028France2025-04-28
1029Canada2025-04-10
1030Russia2025-04-06
1031Brazil2025-04-11
1032Russia2025-04-20
1033Australia2025-04-13
1034Russia2025-04-14
1035Australia2025-04-03
1036Italy2025-04-23
1037Spain2025-04-23
1038Australia2025-04-27
1039Russia2025-04-30
1040Australia2025-04-29
1041India2025-04-22
1042Canada2025-04-02
1043Spain2025-04-09
1044Canada2025-04-08
1045India2025-04-12
1046Australia2025-04-26
1047Germany2025-04-26
1048India2025-04-24
1049Italy2025-04-23

On-Demand Data

NameIdCountryDate
Costa M Poquette1000Japan2025-04-21
Kadeem B Ruta1001Germany2025-04-23
James U Doe1002France2025-04-14
Tony J Bowley1003India2025-04-02
Smith U Oldroyd1004France2025-04-09
Morrow P Caldarera1005Japan2025-04-14
Cody R Wieser1006Australia2025-04-24
Chavez H Perin1007Australia2025-04-27
Julie J Stenseth1008Brazil2025-04-16
Tony E Gaucho1009Spain2025-04-08
Octavia A Stockham1010India2025-04-10
Francesco G Malet1011Italy2025-04-09
Julie R Poquette1012Japan2025-04-06
Julie D Caudy1013Argentina2025-04-29
Darci D Maclead1014United Kingdom2025-04-18
Clifford K Maclead1015Canada2025-04-19
Misaki I Darakjy1016Argentina2025-04-09
Octavia Q Waycott1017Germany2025-04-27
David H Amigon1018Brazil2025-04-03
Leja L Ostrosky1019Brazil2025-04-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio Y StockhamRussiaXuxue Feng RENEWAL
Maria Y RoysterSpainAsiya Javayant PROPOSAL
Silvio H StensethArgentinaAsiya Javayant PROPOSAL
Arvin S SergiFranceAsiya Javayant NEGOTIATION
Adams A MaletIndiaStephen Shaw RENEWAL
Jeanfrancois G TollnerArgentinaIoni Bowcher PROPOSAL
Misaki P SergiBrazilStephen Shaw RENEWAL
Darci Y OldroydIndiaAmy Elsner NEW
Deepesh W GauchoRussiaXuxue Feng NEW
Maisha Z NestleAustraliaIoni Bowcher NEGOTIATION
Aika X BriddickUnited KingdomAnna Fali QUALIFIED
Arvin P SergiCanadaAnna Fali QUALIFIED
Alejandro F TollnerItalyOnyama Limba NEGOTIATION
Arvin I FigeroaSpainStephen Shaw RENEWAL
Smith B NickaBrazilBernardo Dominic QUALIFIED
Maisha S CaudyAustraliaElwin Sharvill NEGOTIATION
Chavez R StockhamCanadaXuxue Feng NEGOTIATION
Jennifer P InouyeRussiaAmy Elsner NEW
Murillo M BologniaUnited KingdomStephen Shaw NEGOTIATION
Mujtaba R OstroskyRussiaIvan Magalhaes QUALIFIED
Sinclair Q BriddickCanadaStephen Shaw RENEWAL
Chavez Q StockhamBrazilAmy Elsner RENEWAL
James U GlickArgentinaElwin Sharvill NEW
Darci L RoysterIndiaAmy Elsner QUALIFIED
Tony U OldroydArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois Y StensethGermanyOnyama Limba QUALIFIED
Costa G OldroydItalyIvan Magalhaes QUALIFIED
Izzy F StockhamBrazilAnna Fali NEW
Arvin G CaudyUnited KingdomIvan Magalhaes PROPOSAL
Octavia E OstroskyFranceAmy Elsner NEW
Jeanfrancois Y CaudyUnited KingdomStephen Shaw RENEWAL
Octavia M WieserRussiaOnyama Limba QUALIFIED
Morrow W MacleadJapanElwin Sharvill UNQUALIFIED
Sinclair M GlickAustraliaXuxue Feng NEGOTIATION
Alejandro B RimCanadaOnyama Limba RENEWAL
Deepesh Z OstroskyFranceBernardo Dominic PROPOSAL
Mayumi A MarrierSpainAmy Elsner PROPOSAL
Mujtaba K SaylorsFranceElwin Sharvill NEW
Faith T WaycottSpainBernardo Dominic NEW
Cody H RutaAustraliaAmy Elsner 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>