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
Emily X AmigonBrazilIoni Bowcher RENEWAL
Stacey L GlickArgentinaAsiya Javayant NEW
David G WaycottItalyBernardo Dominic PROPOSAL
Wickens O OldroydArgentinaStephen Shaw NEW
Tony M CaldareraArgentinaIoni Bowcher UNQUALIFIED
Aika O CaudyUnited KingdomBernardo Dominic QUALIFIED
Izzy A FigeroaUnited KingdomElwin Sharvill NEW
Antonio C GlickUnited KingdomAmy Elsner RENEWAL
Aditya D SergiRussiaXuxue Feng PROPOSAL
Arvin I FigeroaUnited KingdomStephen Shaw QUALIFIED
Silvio C GauchoJapanAmy Elsner UNQUALIFIED
James I RoysterArgentinaElwin Sharvill QUALIFIED
Leja Q CaudyAustraliaAsiya Javayant NEW
Murillo K ShinkoArgentinaBernardo Dominic NEGOTIATION
Ricardo L BologniaAustraliaAmy Elsner RENEWAL
Adams B WaycottJapanElwin Sharvill QUALIFIED
Morrow W TollnerAustraliaElwin Sharvill NEGOTIATION
Wickens I OstroskyCanadaAsiya Javayant NEW
Antonio Q GauchoRussiaElwin Sharvill NEGOTIATION
Tony Y BologniaAustraliaOnyama Limba NEGOTIATION
Aika M KuskoIndiaXuxue Feng UNQUALIFIED
Darci L GarufiCanadaOnyama Limba NEGOTIATION
Jones X TollnerArgentinaAnna Fali UNQUALIFIED
Kadeem B GauchoUnited KingdomElwin Sharvill NEW
Greenwood I GauchoBrazilAmy Elsner NEGOTIATION
Aika X TollnerGermanyStephen Shaw NEGOTIATION
Kaitlin G WaycottIndiaXuxue Feng PROPOSAL
Salvatore W MacleadFranceAnna Fali NEGOTIATION
Jeanfrancois U KolmetzRussiaElwin Sharvill UNQUALIFIED
Rodrigues H ChuiItalyAnna Fali QUALIFIED
Smith V StensethSpainXuxue Feng RENEWAL
Mujtaba O CampainJapanAnna Fali RENEWAL
Jefferson P DilliardBrazilElwin Sharvill NEGOTIATION
Maria Z MaletAustraliaIvan Magalhaes NEW
Adams Q PerinSpainAsiya Javayant PROPOSAL
Mayumi T KolmetzFranceAnna Fali QUALIFIED
Isabel P WaycottJapanXuxue Feng PROPOSAL
Morrow F ChuiJapanOnyama Limba NEGOTIATION
Adams D ShinkoAustraliaBernardo Dominic UNQUALIFIED
Claire Y MaletIndiaXuxue Feng PROPOSAL
Mujtaba C SchemmerIndiaStephen Shaw NEGOTIATION
Smith V BologniaIndiaIvan Magalhaes NEGOTIATION
Mujtaba L SchemmerSpainOnyama Limba QUALIFIED
Jones J SaylorsBrazilAmy Elsner RENEWAL
Claire M ShinkoGermanyAnna Fali NEW
Clifford B MorascaSpainBernardo Dominic UNQUALIFIED
Maisha J FlosiJapanAmy Elsner PROPOSAL
Deepesh F IturbideItalyOnyama Limba PROPOSAL
Misaki S KolmetzGermanyXuxue Feng UNQUALIFIED
Adams R GauchoFranceBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem J BowleyItalyOnyama Limba PROPOSAL
Antonio B PoquetteIndiaStephen Shaw UNQUALIFIED
Cody F ChuiUnited KingdomAmy Elsner PROPOSAL
Isabel O CampainRussiaOnyama Limba QUALIFIED
Wickens P MaletRussiaOnyama Limba PROPOSAL
Tony H CaudyAustraliaBernardo Dominic PROPOSAL
Kadeem Q RoysterRussiaBernardo Dominic PROPOSAL
Chavez H TollnerArgentinaIvan Magalhaes RENEWAL
Claire Y WaycottArgentinaBernardo Dominic NEW
Stacey O WhobreyGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Y DoeUnited Kingdom2026-08-07Chapman, Ross E Esq NEGOTIATION76Anna Fali
1001Johnson D FigeroaJapan2026-08-20Dorl, James J Esq QUALIFIED76Ivan Magalhaes
1002Darci T NestleAustralia2026-08-08Commercial Press NEW10Asiya Javayant
1003Cody T InouyeFrance2026-08-15Feiner Bros QUALIFIED48Ioni Bowcher
1004Silvio K InouyeCanada2026-08-16Morlong Associates NEW98Anna Fali
1005Sinclair K DoeSpain2026-08-16Feiner Bros NEW87Ivan Magalhaes
1006Mayumi N SlusarskiCanada2026-08-29Benton, John B Jr UNQUALIFIED24Amy Elsner
1007Morrow N MaletFrance2026-08-21Feltz Printing Service PROPOSAL74Onyama Limba
1008Darci Z ShinkoArgentina2026-08-04Feiner Bros NEGOTIATION52Stephen Shaw
1009Deepesh J MacleadRussia2026-08-23Chanay, Jeffrey A Esq UNQUALIFIED27Asiya Javayant
1010Chavez L WhobreyJapan2026-09-02Buckley Miller Wright NEW57Asiya Javayant
1011Cody M OstroskyIndia2026-08-26Feltz Printing Service NEW92Ivan Magalhaes
1012Wickens T WieserAustralia2026-08-28King, Christopher A Esq NEGOTIATION94Anna Fali
1013Nicolas H StockhamBrazil2026-08-23Commercial Press QUALIFIED42Ivan Magalhaes
1014Silvio O SchemmerRussia2026-08-12Truhlar And Truhlar Attys UNQUALIFIED13Onyama Limba
1015Greenwood M KolmetzRussia2026-08-31Morlong Associates NEGOTIATION99Xuxue Feng
1016Arvin U CaldareraBrazil2026-08-15Rangoni Of Florence QUALIFIED47Onyama Limba
1017Isabel U CaudyIndia2026-09-01Truhlar And Truhlar Attys QUALIFIED85Stephen Shaw
1018Murillo H OstroskySpain2026-08-17Rousseaux, Michael Esq QUALIFIED22Onyama Limba
1019Mujtaba B PaprockiBrazil2026-08-16Feltz Printing Service PROPOSAL80Asiya Javayant
1020Wickens X CaldareraUnited Kingdom2026-08-05Commercial Press RENEWAL80Xuxue Feng
1021Claire D StensethCanada2026-08-21Feltz Printing Service NEGOTIATION51Elwin Sharvill
1022Adams X MarrierItaly2026-08-27Chemel, James L Cpa UNQUALIFIED33Ioni Bowcher
1023Alejandro O VenereRussia2026-08-06Printing Dimensions NEGOTIATION40Elwin Sharvill
1024James V VenereRussia2026-09-02Feltz Printing Service UNQUALIFIED17Ivan Magalhaes
1025Johnson A FlosiArgentina2026-08-30Feltz Printing Service NEGOTIATION47Amy Elsner
1026Cody O TollnerGermany2026-09-01Commercial Press NEW75Onyama Limba
1027Octavia T WaycottArgentina2026-08-04Feltz Printing Service QUALIFIED34Anna Fali
1028Mujtaba V ChuiAustralia2026-08-04Feltz Printing Service NEGOTIATION10Amy Elsner
1029Adams T OstroskySpain2026-08-23Benton, John B Jr NEW63Amy Elsner
1030Claire Z RutaUnited Kingdom2026-08-12Dorl, James J Esq NEW16Elwin Sharvill
1031Kaitlin F FigeroaUnited Kingdom2026-08-07Feltz Printing Service UNQUALIFIED67Stephen Shaw
1032James Q DilliardIndia2026-08-19Chemel, James L Cpa RENEWAL86Asiya Javayant
1033Salvatore B MorascaIndia2026-08-16Truhlar And Truhlar Attys NEW56Xuxue Feng
1034Mujtaba K StensethSpain2026-08-31Chemel, James L Cpa NEGOTIATION39Ioni Bowcher
1035Ricardo H FlosiUnited Kingdom2026-08-28Truhlar And Truhlar Attys RENEWAL64Xuxue Feng
1036Silvio O SergiBrazil2026-08-27Chemel, James L Cpa QUALIFIED31Amy Elsner
1037Mayumi S RimFrance2026-08-19King, Christopher A Esq UNQUALIFIED65Amy Elsner
1038Julie T GlickBrazil2026-08-16Benton, John B Jr UNQUALIFIED51Elwin Sharvill
1039James U PerinIndia2026-08-08Feiner Bros NEGOTIATION97Ioni Bowcher
1040Morrow O BowleyJapan2026-08-08Benton, John B Jr RENEWAL54Asiya Javayant
1041Aruna C TollnerAustralia2026-08-22Rousseaux, Michael Esq NEW85Anna Fali
1042James A TollnerBrazil2026-08-08Rousseaux, Michael Esq PROPOSAL69Ivan Magalhaes
1043Costa Q KolmetzGermany2026-08-19Commercial Press QUALIFIED41Bernardo Dominic
1044Jeanfrancois U MarrierIndia2026-09-02Morlong Associates NEW67Ivan Magalhaes
1045Faith S GlickJapan2026-08-08Chanay, Jeffrey A Esq NEW23Ivan Magalhaes
1046Isabel D ChuiSpain2026-08-17King, Christopher A Esq NEGOTIATION86Stephen Shaw
1047Isabel L RoysterJapan2026-08-11Chanay, Jeffrey A Esq NEW65Stephen Shaw
1048Maisha L RimCanada2026-08-07King, Christopher A Esq NEW33Bernardo Dominic
1049Johnson W FlosiArgentina2026-08-20Buckley Miller Wright PROPOSAL71Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Isabel N BriddickCanadaOnyama Limba QUALIFIED
Leon H BowleyBrazilAsiya Javayant NEW
Mujtaba X SlusarskiCanadaStephen Shaw NEW
Ivar Q MorascaFranceStephen Shaw PROPOSAL
Alejandro Z FerenczUnited KingdomElwin Sharvill NEW
Morrow K BologniaGermanyAmy Elsner RENEWAL
Jeanfrancois H SchemmerFranceAsiya Javayant UNQUALIFIED
Izzy Y OstroskyJapanElwin Sharvill PROPOSAL
Munro Q BriddickArgentinaIoni Bowcher RENEWAL
Aika F KolmetzFranceIoni Bowcher RENEWAL
Emily L GauchoGermanyAnna Fali UNQUALIFIED
Leon Z GarufiCanadaIoni Bowcher QUALIFIED
Arvin N WieserFranceAmy Elsner RENEWAL
Johnson T DarakjyBrazilAnna Fali UNQUALIFIED
Maisha I ChuiItalyElwin Sharvill NEW
Alejandro L InouyeAustraliaElwin Sharvill RENEWAL
Aika L MaletUnited KingdomOnyama Limba UNQUALIFIED
Jones X MaletAustraliaAnna Fali QUALIFIED
Jones V CampainItalyAsiya Javayant UNQUALIFIED
Rodrigues H CaudyJapanElwin Sharvill RENEWAL
Maria W ShinkoArgentinaAsiya Javayant QUALIFIED
Mayumi T DarakjyFranceAnna Fali NEGOTIATION
Silvio T NestleItalyOnyama Limba QUALIFIED
Maria L GauchoFranceIoni Bowcher NEW
Francesco Z DarakjyRussiaBernardo Dominic QUALIFIED
Isabel P StensethCanadaStephen Shaw UNQUALIFIED
Faith V SchemmerArgentinaOnyama Limba NEGOTIATION
Arvin L PaprockiFranceXuxue Feng QUALIFIED
Maria Q SergiRussiaOnyama Limba RENEWAL
Juan Q GauchoIndiaAnna Fali PROPOSAL
Kadeem O DoeIndiaIvan Magalhaes NEGOTIATION
Morrow Z WieserGermanyStephen Shaw UNQUALIFIED
Chavez F PaprockiSpainStephen Shaw NEW
Costa S KuskoCanadaAnna Fali UNQUALIFIED
Salvatore O IturbideBrazilAsiya Javayant NEGOTIATION
Smith V StockhamIndiaStephen Shaw PROPOSAL
Stacey V BologniaJapanIvan Magalhaes RENEWAL
Wickens K SlusarskiGermanyElwin Sharvill NEGOTIATION
Mayumi L IturbideArgentinaOnyama Limba UNQUALIFIED
Greenwood D SlusarskiGermanyIoni Bowcher RENEWAL
Leja P ChuiBrazilBernardo Dominic PROPOSAL
James D SchemmerRussiaOnyama Limba QUALIFIED
Maisha E GillianSpainAnna Fali NEW
Faith T DoeCanadaAnna Fali NEW
Jennifer X VenereRussiaIvan Magalhaes NEW
Alejandro W MaletFranceIoni Bowcher QUALIFIED
Juan Z InouyeSpainAnna Fali PROPOSAL
Misaki Q MacleadFranceIoni Bowcher PROPOSAL
Tony C MaletGermanyOnyama Limba RENEWAL
Munro J AmigonFranceXuxue Feng QUALIFIED
Frozen Columns
Name
Nicolas H Briddick
Jennifer K Caudy
Isabel F Morasca
Darci G Amigon
Jeanfrancois H Ruta
Rodrigues F Foller
Jennifer W Stenseth
Mayumi W Ferencz
Mujtaba Z Iturbide
Greenwood W Iturbide
Kaitlin E Campain
Jeanfrancois O Foller
Stacey W Whobrey
Rodrigues N Flosi
Ashley F Campain
Darci F Morasca
Salvatore S Maclead
Francesco O Bowley
Francesco F Inouye
Adams K Figeroa
Stacey F Sergi
Munro Z Marrier
Alejandro F Malet
Deepesh Z Stockham
Ashley V Kusko
Tony D Tollner
Emily H Vocelka
Darci W Stockham
Mayumi G Albares
Arvin F Chui
Nicolas B Nestle
Jefferson D Rulapaugh
Alejandro R Malet
Wickens P Darakjy
Izzy K Paprocki
Murillo T Chui
Claire S Marrier
Johnson G Glick
Salvatore K Inouye
Ricardo X Shinko
David C Albares
Deepesh A Kolmetz
Emily M Butt
Leon N Paprocki
Jeanfrancois F Nicka
Aruna I Whobrey
Deepesh U Perin
Aditya M Caldarera
Alejandro V Waycott
Smith X Nestle
IdCountryDate
1000Spain2026-08-11
1001Spain2026-08-13
1002United Kingdom2026-08-11
1003Germany2026-08-29
1004United Kingdom2026-08-28
1005Russia2026-09-02
1006Australia2026-08-18
1007France2026-09-02
1008Russia2026-08-18
1009Brazil2026-09-02
1010Canada2026-08-06
1011Spain2026-08-16
1012Canada2026-08-13
1013Italy2026-08-08
1014Germany2026-08-08
1015Germany2026-08-17
1016Germany2026-08-31
1017Germany2026-08-14
1018Brazil2026-08-22
1019Argentina2026-08-05
1020Canada2026-08-30
1021Spain2026-08-12
1022Brazil2026-08-26
1023Spain2026-09-02
1024France2026-08-12
1025Japan2026-08-21
1026Germany2026-09-02
1027Brazil2026-08-23
1028Canada2026-08-08
1029France2026-08-26
1030United Kingdom2026-08-31
1031France2026-08-25
1032Brazil2026-08-17
1033India2026-08-09
1034Australia2026-08-24
1035India2026-08-15
1036Italy2026-08-18
1037France2026-08-29
1038France2026-09-02
1039Brazil2026-08-06
1040Argentina2026-08-31
1041Spain2026-08-05
1042Brazil2026-08-20
1043Argentina2026-08-29
1044Canada2026-08-27
1045France2026-08-20
1046United Kingdom2026-08-07
1047Canada2026-08-27
1048Japan2026-08-08
1049Russia2026-08-14

On-Demand Data

NameIdCountryDate
Morrow A Vocelka1000Argentina2026-08-10
Morrow N Gaucho1001Italy2026-08-25
Clifford W Albares1002Argentina2026-08-15
Rodrigues Y Stenseth1003Italy2026-09-01
Kaitlin Z Marrier1004Brazil2026-08-18
Leja E Inouye1005Brazil2026-08-25
Munro F Ruta1006Canada2026-08-11
Morrow G Ferencz1007France2026-08-24
Leja S Iturbide1008Brazil2026-08-18
Tony T Garufi1009Brazil2026-08-07
Francesco Q Iturbide1010Canada2026-08-11
Aruna I Butt1011Italy2026-08-28
Costa O Saylors1012Japan2026-08-06
Salvatore N Ostrosky1013Brazil2026-08-31
Emily W Iturbide1014Russia2026-08-04
Juan Q Gillian1015Canada2026-09-02
Kadeem Q Stenseth1016Italy2026-08-09
Costa K Waycott1017United Kingdom2026-08-12
Salvatore Q Perin1018Italy2026-08-25
Octavia P Bowley1019India2026-08-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie C RutaItalyElwin Sharvill NEGOTIATION
Ashley V InouyeSpainIoni Bowcher NEGOTIATION
Clifford A WhobreyGermanyIvan Magalhaes NEW
Rodrigues L WhobreyItalyElwin Sharvill NEGOTIATION
Chavez O GarufiItalyOnyama Limba NEGOTIATION
Claire Y WhobreyIndiaIoni Bowcher NEW
Mayumi B DarakjyRussiaIvan Magalhaes RENEWAL
Aruna K NestleSpainAsiya Javayant NEW
David N BologniaItalyOnyama Limba QUALIFIED
Deepesh Z BowleyFranceOnyama Limba QUALIFIED
Francesco X WaycottRussiaElwin Sharvill PROPOSAL
Deepesh M FollerFranceStephen Shaw PROPOSAL
Juan W BowleyArgentinaElwin Sharvill QUALIFIED
Johnson V FollerIndiaIoni Bowcher UNQUALIFIED
Greenwood K DarakjyFranceElwin Sharvill NEW
Francesco N DilliardFranceXuxue Feng NEW
Mujtaba Y GauchoItalyIvan Magalhaes NEW
Aruna N NestleGermanyStephen Shaw RENEWAL
Costa V GlickAustraliaAsiya Javayant UNQUALIFIED
Maisha K KuskoBrazilStephen Shaw RENEWAL
Faith D PerinJapanIoni Bowcher RENEWAL
Munro P GauchoAustraliaBernardo Dominic PROPOSAL
Aika N PoquetteIndiaBernardo Dominic NEW
Misaki X PaprockiFranceIoni Bowcher QUALIFIED
David S FlosiGermanyElwin Sharvill NEW
Murillo J KuskoAustraliaXuxue Feng RENEWAL
Maria Y WhobreySpainAsiya Javayant NEW
Alejandro R KuskoUnited KingdomOnyama Limba NEW
Julie D TollnerBrazilAnna Fali RENEWAL
Costa A PerinCanadaStephen Shaw NEW
Rodrigues F WaycottUnited KingdomStephen Shaw RENEWAL
Francesco D FlosiRussiaIvan Magalhaes PROPOSAL
Adams B FlosiRussiaElwin Sharvill PROPOSAL
James N MorascaUnited KingdomOnyama Limba PROPOSAL
Clifford P WieserAustraliaXuxue Feng NEGOTIATION
Maria M GillianFranceAmy Elsner NEW
Adams V SlusarskiJapanStephen Shaw NEW
Leon X DilliardJapanXuxue Feng NEW
Clifford J CaudyCanadaStephen Shaw QUALIFIED
Julie G BowleyGermanyElwin Sharvill NEGOTIATION

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