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
Jones Q PoquetteCanadaAnna Fali PROPOSAL
Jeanfrancois H CampainRussiaIoni Bowcher QUALIFIED
Silvio Q RimRussiaIoni Bowcher NEGOTIATION
Jones X GauchoIndiaIoni Bowcher QUALIFIED
Leja Y SaylorsArgentinaAmy Elsner QUALIFIED
Cody G FerenczUnited KingdomOnyama Limba UNQUALIFIED
Kadeem V SergiBrazilIvan Magalhaes NEGOTIATION
Emily I BologniaRussiaIoni Bowcher PROPOSAL
Sinclair Y RutaIndiaXuxue Feng RENEWAL
Costa P SaylorsFranceAsiya Javayant NEGOTIATION
Mayumi Z DarakjyGermanyAsiya Javayant RENEWAL
Antonio P ShinkoUnited KingdomAnna Fali NEW
David V SlusarskiCanadaAsiya Javayant UNQUALIFIED
Aika U RoysterArgentinaXuxue Feng QUALIFIED
Salvatore D SchemmerUnited KingdomElwin Sharvill RENEWAL
Aika X MorascaRussiaAsiya Javayant QUALIFIED
Aruna Z CampainJapanIvan Magalhaes PROPOSAL
Jennifer T ShinkoJapanOnyama Limba PROPOSAL
Greenwood S GlickItalyAsiya Javayant UNQUALIFIED
Rodrigues W StensethArgentinaBernardo Dominic UNQUALIFIED
Arvin E AlbaresArgentinaBernardo Dominic NEGOTIATION
James H RoysterIndiaBernardo Dominic QUALIFIED
Maria T MaletCanadaIoni Bowcher UNQUALIFIED
Julie Q MorascaCanadaOnyama Limba NEGOTIATION
David Q FlosiBrazilAsiya Javayant NEGOTIATION
Greenwood H DoeGermanyIoni Bowcher RENEWAL
Silvio V MacleadArgentinaAsiya Javayant PROPOSAL
Kadeem Y WhobreyUnited KingdomBernardo Dominic PROPOSAL
Johnson V MorascaBrazilXuxue Feng QUALIFIED
Smith A WieserUnited KingdomIvan Magalhaes RENEWAL
Deepesh R MaletSpainIoni Bowcher UNQUALIFIED
Leja D SchemmerArgentinaAnna Fali RENEWAL
Salvatore W NickaUnited KingdomOnyama Limba NEGOTIATION
David Z OldroydAustraliaBernardo Dominic QUALIFIED
Jefferson Y CaudySpainAsiya Javayant NEW
James T AmigonIndiaIvan Magalhaes NEGOTIATION
Octavia K DilliardRussiaStephen Shaw PROPOSAL
Julie G FollerAustraliaOnyama Limba RENEWAL
Greenwood T SergiAustraliaIoni Bowcher RENEWAL
Ricardo B GillianBrazilIoni Bowcher NEW
Maria E NestleFranceAsiya Javayant NEGOTIATION
Leon L GauchoSpainBernardo Dominic QUALIFIED
Izzy J GarufiItalyOnyama Limba NEW
Clifford U MacleadRussiaOnyama Limba RENEWAL
Ashley F WaycottGermanyIvan Magalhaes NEW
Aika N GillianGermanyXuxue Feng NEW
Ricardo L StockhamFranceAsiya Javayant RENEWAL
Aruna B WhobreyJapanOnyama Limba UNQUALIFIED
Kadeem H KuskoIndiaIoni Bowcher QUALIFIED
Adams Q DarakjyRussiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio H MaletAustraliaIvan Magalhaes RENEWAL
Greenwood Z BriddickBrazilOnyama Limba QUALIFIED
Arvin D BowleyArgentinaAsiya Javayant PROPOSAL
Mayumi M SchemmerItalyXuxue Feng NEW
James B ChuiAustraliaStephen Shaw QUALIFIED
Stacey R FerenczItalyXuxue Feng NEW
Murillo B MorascaAustraliaAnna Fali NEGOTIATION
Aika F CampainRussiaIvan Magalhaes NEGOTIATION
David C FerenczBrazilXuxue Feng RENEWAL
Greenwood B MaletFranceIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki X FlosiArgentina2025-06-07Printing Dimensions UNQUALIFIED78Amy Elsner
1001Maria I VocelkaCanada2025-06-01Morlong Associates NEGOTIATION46Bernardo Dominic
1002Cody J PoquetteSpain2025-06-04Chapman, Ross E Esq UNQUALIFIED9Anna Fali
1003Chavez W FlosiUnited Kingdom2025-06-16Dorl, James J Esq PROPOSAL83Xuxue Feng
1004Leja H CampainIndia2025-06-02Commercial Press RENEWAL99Stephen Shaw
1005Costa U GarufiCanada2025-05-31Commercial Press NEGOTIATION72Ioni Bowcher
1006Deepesh H BowleyAustralia2025-05-30Benton, John B Jr NEGOTIATION50Xuxue Feng
1007Claire H CampainSpain2025-05-29Chanay, Jeffrey A Esq UNQUALIFIED47Asiya Javayant
1008Maisha F RulapaughItaly2025-06-06Morlong Associates NEGOTIATION83Amy Elsner
1009Ricardo S VenereSpain2025-06-15King, Christopher A Esq PROPOSAL22Stephen Shaw
1010Ivar J RulapaughItaly2025-06-05Chanay, Jeffrey A Esq QUALIFIED62Ioni Bowcher
1011Claire R FerenczRussia2025-06-07Rousseaux, Michael Esq NEGOTIATION63Anna Fali
1012Ricardo C IturbideCanada2025-05-24Commercial Press QUALIFIED50Xuxue Feng
1013Juan M DarakjyGermany2025-06-04Printing Dimensions PROPOSAL47Bernardo Dominic
1014Wickens E SlusarskiSpain2025-06-12Chapman, Ross E Esq RENEWAL39Elwin Sharvill
1015Smith B CampainSpain2025-05-25Buckley Miller Wright NEW48Asiya Javayant
1016Sinclair O MaletAustralia2025-05-22Printing Dimensions QUALIFIED23Elwin Sharvill
1017Mujtaba G MarrierRussia2025-06-05Printing Dimensions RENEWAL98Bernardo Dominic
1018Morrow Z FerenczBrazil2025-06-03Morlong Associates RENEWAL52Asiya Javayant
1019Wickens H WieserUnited Kingdom2025-06-01Chapman, Ross E Esq NEW80Anna Fali
1020Kadeem T AmigonArgentina2025-05-21Printing Dimensions UNQUALIFIED45Elwin Sharvill
1021Ivar C WaycottBrazil2025-06-05King, Christopher A Esq RENEWAL63Xuxue Feng
1022Rodrigues S PerinBrazil2025-06-05Chanay, Jeffrey A Esq UNQUALIFIED28Amy Elsner
1023Clifford Q RutaIndia2025-05-27Buckley Miller Wright QUALIFIED34Asiya Javayant
1024Morrow M MorascaUnited Kingdom2025-05-25Morlong Associates QUALIFIED21Ivan Magalhaes
1025Aika P MaletBrazil2025-05-27Rousseaux, Michael Esq RENEWAL12Anna Fali
1026Morrow H BriddickJapan2025-05-19Printing Dimensions NEGOTIATION50Asiya Javayant
1027Julie J FlosiJapan2025-05-27Truhlar And Truhlar Attys RENEWAL19Asiya Javayant
1028Johnson U FlosiIndia2025-06-06Feiner Bros RENEWAL74Stephen Shaw
1029Jennifer Q InouyeAustralia2025-06-16Chapman, Ross E Esq UNQUALIFIED60Stephen Shaw
1030Julie X IturbideSpain2025-05-30Buckley Miller Wright PROPOSAL56Anna Fali
1031Ashley U FigeroaJapan2025-06-03Chanay, Jeffrey A Esq PROPOSAL13Asiya Javayant
1032Darci J FerenczBrazil2025-05-23Feiner Bros UNQUALIFIED64Ioni Bowcher
1033Octavia D AmigonGermany2025-06-08Chemel, James L Cpa PROPOSAL93Onyama Limba
1034Costa O StockhamFrance2025-06-02Chapman, Ross E Esq NEGOTIATION71Amy Elsner
1035Maria J ChuiBrazil2025-05-24Buckley Miller Wright PROPOSAL44Ivan Magalhaes
1036Adams M RulapaughIndia2025-05-29Morlong Associates UNQUALIFIED92Bernardo Dominic
1037Juan L DilliardIndia2025-05-28Truhlar And Truhlar Attys NEGOTIATION15Ivan Magalhaes
1038Stacey X MorascaArgentina2025-06-10Commercial Press UNQUALIFIED8Onyama Limba
1039Mujtaba H RulapaughSpain2025-06-15Rousseaux, Michael Esq NEGOTIATION32Ioni Bowcher
1040Chavez H CaudyUnited Kingdom2025-06-09Benton, John B Jr PROPOSAL53Ivan Magalhaes
1041Maria N InouyeJapan2025-05-26Feltz Printing Service NEGOTIATION13Asiya Javayant
1042Arvin R NickaCanada2025-05-28Feltz Printing Service NEGOTIATION52Onyama Limba
1043Darci Q FollerSpain2025-05-31Rangoni Of Florence RENEWAL14Ioni Bowcher
1044Maisha W GillianSpain2025-06-03Benton, John B Jr QUALIFIED12Elwin Sharvill
1045Julie B TollnerAustralia2025-06-11Feiner Bros PROPOSAL88Ioni Bowcher
1046Deepesh P CaudyGermany2025-06-11Feltz Printing Service QUALIFIED67Amy Elsner
1047Chavez X WaycottFrance2025-05-30Rousseaux, Michael Esq NEW86Stephen Shaw
1048Morrow V ShinkoRussia2025-05-28Morlong Associates UNQUALIFIED32Anna Fali
1049Silvio Q SchemmerJapan2025-05-27Truhlar And Truhlar Attys PROPOSAL2Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Antonio U InouyeItalyStephen Shaw NEGOTIATION
Jennifer V AmigonJapanElwin Sharvill RENEWAL
Johnson Y WaycottBrazilIoni Bowcher QUALIFIED
Claire Q VocelkaArgentinaAsiya Javayant NEGOTIATION
Johnson U MarrierBrazilIoni Bowcher QUALIFIED
Ivar L StockhamJapanXuxue Feng PROPOSAL
Clifford Y MaletItalyXuxue Feng UNQUALIFIED
Ivar Q StockhamBrazilStephen Shaw PROPOSAL
Jones T OldroydSpainOnyama Limba NEW
Izzy V RoysterUnited KingdomAnna Fali NEGOTIATION
Leja T NestleUnited KingdomXuxue Feng PROPOSAL
James L FlosiRussiaAnna Fali UNQUALIFIED
Jeanfrancois M WaycottAustraliaXuxue Feng PROPOSAL
Darci G VenereUnited KingdomIvan Magalhaes NEW
Izzy P MorascaArgentinaAnna Fali UNQUALIFIED
Johnson W KuskoBrazilBernardo Dominic NEGOTIATION
James U SaylorsSpainAnna Fali RENEWAL
Clifford T FollerUnited KingdomAmy Elsner PROPOSAL
Faith Q ButtCanadaBernardo Dominic NEGOTIATION
Claire B KuskoBrazilStephen Shaw RENEWAL
Aditya M CampainUnited KingdomAmy Elsner RENEWAL
David U SaylorsItalyIoni Bowcher RENEWAL
Salvatore R CampainSpainStephen Shaw NEGOTIATION
Misaki W GarufiItalyBernardo Dominic RENEWAL
Alejandro B FerenczArgentinaAsiya Javayant NEGOTIATION
Clifford P DoeIndiaIvan Magalhaes RENEWAL
Leja I BriddickSpainElwin Sharvill NEGOTIATION
Alejandro S WhobreyIndiaStephen Shaw NEGOTIATION
Claire Y DarakjyRussiaBernardo Dominic PROPOSAL
Tony M GauchoItalyIoni Bowcher NEGOTIATION
Silvio G VenereItalyOnyama Limba QUALIFIED
Juan Z RutaSpainIvan Magalhaes RENEWAL
Misaki E WaycottItalyBernardo Dominic PROPOSAL
Alejandro M ShinkoAustraliaOnyama Limba NEW
Julie K CaudyUnited KingdomAmy Elsner RENEWAL
Tony M RimBrazilXuxue Feng RENEWAL
Emily O GillianSpainAsiya Javayant NEW
Octavia Q MacleadAustraliaBernardo Dominic NEGOTIATION
Misaki A ButtSpainAmy Elsner PROPOSAL
Alejandro M DilliardBrazilAsiya Javayant NEW
Francesco S CaudyAustraliaIvan Magalhaes RENEWAL
Maria H BriddickRussiaAsiya Javayant NEGOTIATION
Misaki Y FlosiGermanyAsiya Javayant RENEWAL
Aika G PerinIndiaAmy Elsner QUALIFIED
Munro A GlickArgentinaXuxue Feng UNQUALIFIED
Aruna D AlbaresCanadaIoni Bowcher PROPOSAL
Jeanfrancois S StensethUnited KingdomAnna Fali RENEWAL
Murillo P BologniaAustraliaAsiya Javayant PROPOSAL
Aditya E AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo R OstroskyIndiaIoni Bowcher RENEWAL
Frozen Columns
Name
Cody B Waycott
Adams W Kusko
Kaitlin F Bowley
Juan K Wieser
Izzy S Morasca
Arvin T Maclead
David F Stenseth
Nicolas G Gaucho
Juan N Flosi
Octavia U Malet
Izzy L Tollner
Morrow L Caldarera
Arvin N Oldroyd
Arvin K Paprocki
Adams N Nicka
Claire K Flosi
Johnson T Saylors
Emily Z Briddick
Leon H Iturbide
Rodrigues O Nestle
Clifford W Caldarera
Isabel C Darakjy
Jones Y Malet
Salvatore I Saylors
Greenwood T Paprocki
Kadeem Z Caudy
Leon D Malet
Costa Y Caldarera
Alejandro D Figeroa
Leja Q Inouye
Aika U Figeroa
Aika L Gillian
Faith H Doe
Stacey P Briddick
Ricardo L Wieser
Cody P Perin
Aruna M Glick
Emily N Chui
Izzy L Darakjy
Kaitlin W Paprocki
Antonio F Whobrey
Deepesh A Waycott
Cody H Amigon
Costa O Campain
Jeanfrancois O Saylors
Izzy V Darakjy
Francesco P Doe
Tony V Saylors
Wickens M Ostrosky
Salvatore Y Bolognia
IdCountryDate
1000Germany2025-05-23
1001United Kingdom2025-05-18
1002Canada2025-05-18
1003Spain2025-05-23
1004Germany2025-05-18
1005France2025-05-29
1006Brazil2025-06-12
1007Germany2025-06-05
1008Germany2025-05-27
1009United Kingdom2025-05-20
1010Russia2025-06-11
1011Italy2025-05-18
1012India2025-05-26
1013Argentina2025-05-29
1014United Kingdom2025-06-05
1015Canada2025-06-08
1016Russia2025-05-18
1017India2025-05-26
1018Spain2025-05-31
1019Russia2025-05-23
1020Canada2025-06-03
1021Argentina2025-05-31
1022Russia2025-05-20
1023Argentina2025-06-02
1024Germany2025-05-21
1025Australia2025-05-21
1026United Kingdom2025-06-04
1027United Kingdom2025-06-04
1028France2025-06-15
1029Argentina2025-06-08
1030Australia2025-05-31
1031Canada2025-06-15
1032Germany2025-05-19
1033Russia2025-06-13
1034Japan2025-06-14
1035Italy2025-05-25
1036Germany2025-06-03
1037Spain2025-06-15
1038Brazil2025-05-22
1039Argentina2025-06-04
1040Germany2025-06-10
1041Spain2025-06-04
1042Spain2025-06-02
1043France2025-05-21
1044Canada2025-06-13
1045Brazil2025-06-02
1046France2025-06-02
1047Germany2025-06-01
1048Canada2025-06-07
1049Russia2025-05-23

On-Demand Data

NameIdCountryDate
Sinclair H Kolmetz1000Argentina2025-06-06
Sinclair S Garufi1001Australia2025-05-22
Nicolas J Flosi1002Russia2025-05-26
Sinclair Z Stockham1003United Kingdom2025-05-22
Ashley Z Butt1004Spain2025-06-16
Isabel S Bowley1005Japan2025-06-10
Maria L Albares1006Japan2025-05-21
Mujtaba D Butt1007India2025-05-30
Deepesh F Amigon1008India2025-06-09
Rodrigues I Darakjy1009United Kingdom2025-06-15
Octavia D Flosi1010Spain2025-06-05
Kaitlin L Perin1011Australia2025-06-11
Stacey H Campain1012France2025-05-20
Stacey H Nicka1013Argentina2025-05-28
Nicolas Z Oldroyd1014United Kingdom2025-05-24
Rodrigues C Albares1015Australia2025-05-23
Wickens X Dilliard1016United Kingdom2025-06-02
Jennifer S Albares1017Brazil2025-05-28
Munro W Kolmetz1018India2025-06-07
Leon Y Nestle1019Brazil2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa K GarufiBrazilIoni Bowcher NEGOTIATION
Greenwood S CampainUnited KingdomAnna Fali UNQUALIFIED
Stacey Q GarufiCanadaAnna Fali RENEWAL
Murillo D RulapaughCanadaAmy Elsner NEGOTIATION
Isabel O KuskoAustraliaIoni Bowcher NEGOTIATION
Sinclair U OstroskySpainAnna Fali NEGOTIATION
Alejandro K MaletItalyAmy Elsner NEGOTIATION
Morrow Z CaldareraGermanyIvan Magalhaes NEGOTIATION
Claire P SchemmerCanadaStephen Shaw NEW
Faith O OldroydSpainOnyama Limba QUALIFIED
Morrow S PaprockiItalyStephen Shaw PROPOSAL
Misaki I SaylorsItalyAnna Fali RENEWAL
Octavia L ChuiFranceIvan Magalhaes NEW
Mujtaba A FerenczCanadaXuxue Feng NEW
Johnson R MaletCanadaAmy Elsner PROPOSAL
Isabel U MaletBrazilAmy Elsner UNQUALIFIED
Juan K DilliardIndiaAmy Elsner RENEWAL
Ricardo Y GillianUnited KingdomAnna Fali PROPOSAL
Adams T VocelkaRussiaAmy Elsner PROPOSAL
Wickens U VenereSpainStephen Shaw QUALIFIED
Cody P GillianFranceAnna Fali NEW
Sinclair M PaprockiIndiaBernardo Dominic RENEWAL
Jones J WieserFranceAnna Fali QUALIFIED
Murillo Z FollerJapanAsiya Javayant PROPOSAL
Jefferson E RutaUnited KingdomStephen Shaw NEGOTIATION
Rodrigues W NestleArgentinaAmy Elsner RENEWAL
Jefferson L OstroskySpainAnna Fali NEW
Costa K RimSpainAnna Fali RENEWAL
Ashley V KolmetzUnited KingdomAnna Fali QUALIFIED
Aika E WaycottIndiaXuxue Feng NEW
Clifford F GauchoJapanXuxue Feng RENEWAL
Alejandro Z SergiJapanOnyama Limba NEW
Kadeem U FlosiFranceIoni Bowcher RENEWAL
Darci S CampainGermanyIvan Magalhaes UNQUALIFIED
Smith N GauchoUnited KingdomElwin Sharvill NEW
Jeanfrancois H RutaAustraliaIoni Bowcher PROPOSAL
Faith V PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Murillo U RimGermanyBernardo Dominic UNQUALIFIED
Chavez U BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Leon L WhobreyUnited KingdomXuxue Feng NEW

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