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
David X TollnerUnited KingdomIvan Magalhaes NEGOTIATION
Francesco Z RulapaughArgentinaAsiya Javayant RENEWAL
Deepesh B GlickGermanyAnna Fali NEGOTIATION
Darci J ButtGermanyAsiya Javayant RENEWAL
Octavia M ShinkoArgentinaIvan Magalhaes PROPOSAL
Francesco U WaycottIndiaOnyama Limba RENEWAL
Tony P CaldareraCanadaIvan Magalhaes NEGOTIATION
Deepesh P ButtArgentinaAmy Elsner PROPOSAL
Kadeem T ShinkoSpainAnna Fali UNQUALIFIED
Faith R SaylorsAustraliaStephen Shaw QUALIFIED
Kadeem S AmigonCanadaAsiya Javayant PROPOSAL
Nicolas G AlbaresUnited KingdomOnyama Limba PROPOSAL
Clifford F KolmetzCanadaAmy Elsner QUALIFIED
Ashley M DoeUnited KingdomAnna Fali RENEWAL
Darci W ShinkoRussiaStephen Shaw PROPOSAL
Ivar V SergiArgentinaElwin Sharvill PROPOSAL
Aruna R FerenczFranceElwin Sharvill RENEWAL
Rodrigues D CaudyArgentinaXuxue Feng RENEWAL
Costa X MaletCanadaXuxue Feng UNQUALIFIED
Greenwood G CaldareraRussiaAsiya Javayant QUALIFIED
Nicolas K OldroydSpainAmy Elsner QUALIFIED
Morrow Z WaycottArgentinaStephen Shaw UNQUALIFIED
Alejandro V FollerUnited KingdomAmy Elsner NEGOTIATION
Faith Y GauchoCanadaAmy Elsner NEGOTIATION
Adams R RimItalyXuxue Feng RENEWAL
Faith S WhobreyFranceIvan Magalhaes PROPOSAL
Izzy K StensethArgentinaElwin Sharvill RENEWAL
Juan N CaudyBrazilBernardo Dominic UNQUALIFIED
Izzy A DarakjyBrazilIvan Magalhaes UNQUALIFIED
Leon W MacleadAustraliaIvan Magalhaes RENEWAL
Jennifer Q PaprockiFranceIoni Bowcher NEGOTIATION
Aruna C SchemmerSpainIvan Magalhaes NEW
Alejandro V BologniaItalyXuxue Feng RENEWAL
Emily U StockhamFranceOnyama Limba RENEWAL
Ashley B MarrierJapanXuxue Feng PROPOSAL
Julie W SergiUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues Q MorascaItalyXuxue Feng QUALIFIED
Mujtaba T FollerGermanyAnna Fali PROPOSAL
Clifford K ShinkoBrazilXuxue Feng PROPOSAL
Maisha P ShinkoRussiaAsiya Javayant NEW
Mayumi W BriddickCanadaIoni Bowcher PROPOSAL
Juan B CampainJapanBernardo Dominic UNQUALIFIED
Munro G PerinRussiaAmy Elsner NEW
Izzy Y PaprockiArgentinaIvan Magalhaes PROPOSAL
Greenwood V BriddickSpainBernardo Dominic RENEWAL
Misaki R WhobreyArgentinaStephen Shaw QUALIFIED
Chavez Q ShinkoSpainOnyama Limba UNQUALIFIED
Juan K NickaJapanOnyama Limba NEGOTIATION
Isabel Z MarrierFranceBernardo Dominic NEW
Jones G SergiJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez L FollerJapanAmy Elsner QUALIFIED
Jefferson J PaprockiItalyAmy Elsner NEW
Arvin Q MaletRussiaBernardo Dominic NEGOTIATION
Adams J SergiSpainAmy Elsner NEGOTIATION
Kaitlin Z FigeroaItalyIvan Magalhaes RENEWAL
Antonio X DoeAustraliaOnyama Limba NEW
Maisha S WaycottUnited KingdomAnna Fali UNQUALIFIED
Kadeem I WaycottSpainAnna Fali NEGOTIATION
Clifford P KuskoRussiaIvan Magalhaes NEW
James L BologniaItalyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo L AlbaresJapan2025-04-18Feltz Printing Service NEW43Ivan Magalhaes
1001Mayumi I CaldareraArgentina2025-04-23Commercial Press QUALIFIED73Ivan Magalhaes
1002Smith Q AmigonCanada2025-04-20Buckley Miller Wright UNQUALIFIED41Xuxue Feng
1003Emily C MarrierBrazil2025-04-30King, Christopher A Esq RENEWAL93Xuxue Feng
1004Leon B MaletFrance2025-04-23Morlong Associates NEGOTIATION88Anna Fali
1005Ashley H NestleFrance2025-04-03Rangoni Of Florence QUALIFIED82Ivan Magalhaes
1006Jones M ChuiBrazil2025-04-08King, Christopher A Esq UNQUALIFIED1Amy Elsner
1007Izzy Y StensethCanada2025-04-14Truhlar And Truhlar Attys PROPOSAL95Anna Fali
1008Tony Q GillianSpain2025-04-24Chemel, James L Cpa QUALIFIED70Asiya Javayant
1009Leja C VocelkaJapan2025-04-12Morlong Associates QUALIFIED26Onyama Limba
1010Wickens L WieserFrance2025-04-04Chemel, James L Cpa NEW54Ioni Bowcher
1011Aika K SchemmerRussia2025-04-11King, Christopher A Esq UNQUALIFIED1Amy Elsner
1012Aika J AmigonItaly2025-04-24Rangoni Of Florence PROPOSAL86Elwin Sharvill
1013Octavia A GlickArgentina2025-04-27Morlong Associates UNQUALIFIED74Ivan Magalhaes
1014Jennifer D GauchoRussia2025-04-22Truhlar And Truhlar Attys QUALIFIED41Anna Fali
1015Tony B TollnerIndia2025-04-09Rangoni Of Florence QUALIFIED23Bernardo Dominic
1016Kadeem Z CampainCanada2025-04-16Dorl, James J Esq PROPOSAL37Elwin Sharvill
1017Arvin Q BologniaItaly2025-04-01Dorl, James J Esq NEW52Ioni Bowcher
1018Claire H DilliardJapan2025-04-10Commercial Press NEW39Ioni Bowcher
1019Leja V GauchoArgentina2025-04-29Rousseaux, Michael Esq RENEWAL5Bernardo Dominic
1020Jones G VenereFrance2025-04-03Rangoni Of Florence PROPOSAL95Xuxue Feng
1021Aruna K SaylorsFrance2025-04-18Morlong Associates UNQUALIFIED84Ioni Bowcher
1022Deepesh Q NestleIndia2025-04-18Chapman, Ross E Esq NEGOTIATION30Bernardo Dominic
1023Johnson D OstroskyArgentina2025-04-17Printing Dimensions PROPOSAL6Ioni Bowcher
1024Octavia M FigeroaArgentina2025-04-13Chemel, James L Cpa QUALIFIED23Onyama Limba
1025Adams H RulapaughCanada2025-04-28Commercial Press RENEWAL88Onyama Limba
1026Silvio N IturbideJapan2025-04-18King, Christopher A Esq PROPOSAL37Anna Fali
1027Jefferson R OstroskyGermany2025-04-14Printing Dimensions NEW88Xuxue Feng
1028Mujtaba N GillianJapan2025-04-21Buckley Miller Wright UNQUALIFIED66Ioni Bowcher
1029Leja A TollnerSpain2025-04-14Rousseaux, Michael Esq NEW52Stephen Shaw
1030Ashley L PoquetteIndia2025-04-01Truhlar And Truhlar Attys RENEWAL72Xuxue Feng
1031Claire V GlickRussia2025-04-18Feltz Printing Service QUALIFIED67Bernardo Dominic
1032Octavia P FigeroaUnited Kingdom2025-04-19Truhlar And Truhlar Attys NEW47Onyama Limba
1033Leja K VocelkaRussia2025-04-27Commercial Press NEW81Xuxue Feng
1034Murillo L GillianCanada2025-04-29Buckley Miller Wright NEW54Stephen Shaw
1035Chavez D PaprockiSpain2025-04-24Dorl, James J Esq RENEWAL69Amy Elsner
1036Munro Y GarufiGermany2025-04-11Truhlar And Truhlar Attys NEW58Amy Elsner
1037Misaki T CaudyFrance2025-04-20Dorl, James J Esq QUALIFIED65Onyama Limba
1038Aika V PaprockiBrazil2025-04-03Rangoni Of Florence RENEWAL59Amy Elsner
1039Jefferson M FlosiRussia2025-04-02Truhlar And Truhlar Attys UNQUALIFIED15Stephen Shaw
1040David P BriddickGermany2025-04-06Printing Dimensions QUALIFIED42Anna Fali
1041Misaki J SergiCanada2025-04-18Rangoni Of Florence PROPOSAL55Xuxue Feng
1042Stacey Y StockhamBrazil2025-04-03Rangoni Of Florence PROPOSAL41Anna Fali
1043Izzy B IturbideAustralia2025-04-12Rangoni Of Florence UNQUALIFIED57Anna Fali
1044Juan C TollnerGermany2025-04-14Feiner Bros NEW32Anna Fali
1045Stacey P WieserBrazil2025-04-02Chapman, Ross E Esq NEW81Onyama Limba
1046Jeanfrancois U PoquetteGermany2025-04-19Feiner Bros NEGOTIATION98Elwin Sharvill
1047Kadeem A GauchoCanada2025-04-03Buckley Miller Wright PROPOSAL29Ioni Bowcher
1048Alejandro D RutaJapan2025-04-09Rangoni Of Florence PROPOSAL0Anna Fali
1049Isabel H SergiSpain2025-04-11Chemel, James L Cpa QUALIFIED56Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo C KolmetzJapanIvan Magalhaes NEW
Isabel U GillianSpainBernardo Dominic QUALIFIED
Jefferson T FollerSpainAnna Fali UNQUALIFIED
Morrow R MaletFranceXuxue Feng QUALIFIED
Claire Q InouyeAustraliaStephen Shaw RENEWAL
Antonio E OstroskyItalyAnna Fali UNQUALIFIED
Mayumi U DarakjyJapanXuxue Feng QUALIFIED
Emily C RulapaughCanadaStephen Shaw NEGOTIATION
Costa M DoeFranceOnyama Limba UNQUALIFIED
Darci A KolmetzCanadaAnna Fali UNQUALIFIED
Sinclair C InouyeArgentinaElwin Sharvill UNQUALIFIED
Wickens L RutaRussiaElwin Sharvill UNQUALIFIED
Cody D CaudyAustraliaAsiya Javayant RENEWAL
Smith X CampainRussiaIvan Magalhaes NEGOTIATION
Aruna Q InouyeCanadaIvan Magalhaes NEW
Ricardo U RulapaughItalyIvan Magalhaes RENEWAL
Jeanfrancois G CaudyBrazilBernardo Dominic NEGOTIATION
Silvio C DoeGermanyStephen Shaw RENEWAL
Aruna F ChuiRussiaAnna Fali QUALIFIED
Adams V CampainSpainBernardo Dominic NEW
Leon X KuskoIndiaAnna Fali NEW
Wickens K ButtUnited KingdomXuxue Feng RENEWAL
Smith X NickaRussiaAsiya Javayant UNQUALIFIED
Kaitlin A MaletFranceOnyama Limba NEGOTIATION
Francesco M BologniaArgentinaXuxue Feng NEW
Alejandro E AlbaresBrazilStephen Shaw QUALIFIED
Julie O ShinkoJapanXuxue Feng NEGOTIATION
Aruna V KuskoFranceAnna Fali UNQUALIFIED
Maria B MaletBrazilElwin Sharvill QUALIFIED
Wickens X MorascaGermanyAnna Fali PROPOSAL
Ivar W FollerFranceOnyama Limba QUALIFIED
Wickens N StockhamBrazilStephen Shaw NEW
Isabel A MaletGermanyStephen Shaw RENEWAL
Silvio P GauchoJapanAnna Fali NEW
Izzy L VenereFranceAnna Fali UNQUALIFIED
Rodrigues D RutaGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois B CaldareraFranceAmy Elsner NEW
David P PerinJapanOnyama Limba RENEWAL
Ricardo W WaycottFranceElwin Sharvill RENEWAL
Sinclair E WieserAustraliaAnna Fali RENEWAL
Murillo X BriddickJapanIoni Bowcher PROPOSAL
Antonio F AlbaresJapanElwin Sharvill NEW
Wickens X TollnerGermanyOnyama Limba RENEWAL
Murillo Z GarufiIndiaIoni Bowcher NEGOTIATION
Maisha N SchemmerSpainOnyama Limba PROPOSAL
Salvatore F NickaJapanIvan Magalhaes PROPOSAL
Munro Y NickaCanadaIoni Bowcher PROPOSAL
Murillo J IturbideRussiaBernardo Dominic QUALIFIED
Alejandro R MorascaItalyElwin Sharvill UNQUALIFIED
Ricardo S PerinBrazilOnyama Limba QUALIFIED
Frozen Columns
Name
Julie E Poquette
Sinclair V Briddick
Adams Z Malet
Antonio K Ostrosky
Maria U Albares
Rodrigues M Poquette
Kadeem J Maclead
Ricardo D Marrier
James K Paprocki
Tony F Stenseth
Francesco C Malet
Alejandro D Tollner
Maisha L Albares
Aditya V Inouye
Silvio N Inouye
Claire D Rim
Jones V Venere
Greenwood Y Kusko
Mayumi L Inouye
Adams T Ostrosky
Chavez W Saylors
Mayumi O Chui
Ivar S Vocelka
Leon Z Ferencz
Nicolas K Marrier
Smith F Foller
Maria O Glick
Jones G Tollner
Jones H Butt
Greenwood W Schemmer
Deepesh Z Perin
Juan T Ferencz
Darci Z Vocelka
Silvio X Kusko
Deepesh Q Saylors
Leon A Poquette
Jeanfrancois W Nicka
Ashley W Flosi
Faith S Kusko
Jeanfrancois A Malet
Stacey Q Shinko
Murillo D Ruta
Julie H Wieser
Isabel R Rim
Misaki T Inouye
Arvin P Nicka
Aika H Dilliard
Stacey C Doe
Jefferson E Rulapaugh
Tony H Garufi
IdCountryDate
1000Italy2025-04-09
1001Italy2025-04-30
1002Argentina2025-04-03
1003Brazil2025-04-30
1004India2025-04-29
1005Spain2025-04-05
1006Canada2025-04-09
1007India2025-04-28
1008Argentina2025-04-13
1009Brazil2025-04-16
1010Argentina2025-04-16
1011Germany2025-04-04
1012Australia2025-04-11
1013Italy2025-04-16
1014Russia2025-04-23
1015Australia2025-04-21
1016Canada2025-04-02
1017Brazil2025-04-26
1018United Kingdom2025-04-15
1019United Kingdom2025-04-11
1020United Kingdom2025-04-30
1021Brazil2025-04-28
1022Germany2025-04-25
1023Japan2025-04-25
1024Australia2025-04-28
1025Spain2025-04-15
1026France2025-04-30
1027Italy2025-04-10
1028Canada2025-04-05
1029Australia2025-04-09
1030Spain2025-04-29
1031Italy2025-04-13
1032Spain2025-04-19
1033United Kingdom2025-04-12
1034Argentina2025-04-08
1035Russia2025-04-05
1036Canada2025-04-09
1037Spain2025-04-09
1038Australia2025-04-04
1039Australia2025-04-20
1040Italy2025-04-08
1041Spain2025-04-27
1042Russia2025-04-22
1043France2025-04-01
1044India2025-04-21
1045Canada2025-04-06
1046France2025-04-05
1047Russia2025-04-26
1048Germany2025-04-02
1049Italy2025-04-19

On-Demand Data

NameIdCountryDate
Kaitlin F Amigon1000United Kingdom2025-04-22
Kaitlin U Poquette1001Japan2025-04-13
Kadeem A Chui1002Italy2025-04-22
Mujtaba E Nicka1003Australia2025-04-14
Antonio G Waycott1004Argentina2025-04-25
Costa R Caudy1005Germany2025-04-24
Adams K Inouye1006France2025-04-28
Jeanfrancois Y Ruta1007Argentina2025-04-29
Aditya B Figeroa1008United Kingdom2025-04-02
Wickens K Saylors1009United Kingdom2025-04-03
Jeanfrancois G Saylors1010United Kingdom2025-04-16
Munro W Chui1011Argentina2025-04-07
Tony J Morasca1012Spain2025-04-01
Nicolas X Shinko1013Argentina2025-04-28
Maisha G Darakjy1014Spain2025-04-07
Jennifer T Campain1015India2025-04-20
Kadeem I Ruta1016Canada2025-04-10
Juan O Saylors1017Canada2025-04-08
Antonio D Caldarera1018Russia2025-04-26
Chavez I Dilliard1019Canada2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues F WaycottItalyIvan Magalhaes PROPOSAL
Ashley C MaletArgentinaBernardo Dominic QUALIFIED
Misaki I VenereBrazilXuxue Feng QUALIFIED
Ricardo T StockhamArgentinaAmy Elsner NEW
Antonio D VocelkaIndiaBernardo Dominic RENEWAL
Francesco X WaycottArgentinaIvan Magalhaes RENEWAL
Ashley H ButtSpainAsiya Javayant NEW
Chavez R GarufiArgentinaStephen Shaw UNQUALIFIED
Isabel Y VocelkaFranceAsiya Javayant NEGOTIATION
Tony P PaprockiRussiaAnna Fali NEW
David Y GauchoFranceAmy Elsner RENEWAL
Darci J VenereUnited KingdomStephen Shaw RENEWAL
Mujtaba Y InouyeFranceAnna Fali PROPOSAL
Chavez O CampainUnited KingdomAsiya Javayant NEW
Jeanfrancois G GarufiUnited KingdomBernardo Dominic QUALIFIED
Mujtaba A RoysterItalyElwin Sharvill NEW
Jennifer R AmigonArgentinaStephen Shaw NEGOTIATION
Chavez W VocelkaGermanyElwin Sharvill PROPOSAL
Kaitlin V PerinIndiaAnna Fali NEGOTIATION
Jennifer Z KolmetzItalyAnna Fali PROPOSAL
Isabel C WieserGermanyElwin Sharvill NEW
Rodrigues N InouyeArgentinaIoni Bowcher UNQUALIFIED
Isabel E PerinItalyIvan Magalhaes NEGOTIATION
Arvin H OstroskyCanadaAmy Elsner NEGOTIATION
Kadeem D DarakjyBrazilXuxue Feng NEGOTIATION
James F GlickAustraliaIoni Bowcher NEGOTIATION
Morrow T AlbaresUnited KingdomStephen Shaw PROPOSAL
Isabel V FerenczGermanyStephen Shaw RENEWAL
Johnson J WaycottIndiaOnyama Limba RENEWAL
Costa Z BriddickGermanyAsiya Javayant RENEWAL
Kaitlin U RoysterBrazilBernardo Dominic NEGOTIATION
Ashley K CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Ashley A VocelkaCanadaBernardo Dominic NEW
Costa H SergiIndiaStephen Shaw QUALIFIED
Mujtaba S GarufiFranceAnna Fali PROPOSAL
Jennifer T PoquetteJapanOnyama Limba PROPOSAL
Jones J BologniaFranceXuxue Feng UNQUALIFIED
Isabel D SergiJapanOnyama Limba RENEWAL
Sinclair A DilliardCanadaAsiya Javayant RENEWAL
Maria L RimSpainBernardo Dominic RENEWAL

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