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
Ashley W MorascaCanadaXuxue Feng PROPOSAL
Clifford Y AlbaresGermanyIvan Magalhaes QUALIFIED
Kadeem U NestleItalyStephen Shaw PROPOSAL
Kadeem N KuskoJapanXuxue Feng RENEWAL
Claire Y DoeAustraliaIvan Magalhaes PROPOSAL
Deepesh E CaldareraBrazilBernardo Dominic PROPOSAL
Aruna T AlbaresCanadaStephen Shaw UNQUALIFIED
Leja O FigeroaAustraliaAmy Elsner NEGOTIATION
Deepesh R InouyeRussiaBernardo Dominic RENEWAL
Morrow I RoysterBrazilAsiya Javayant NEGOTIATION
Wickens H IturbideRussiaOnyama Limba PROPOSAL
Juan J FigeroaGermanyIoni Bowcher NEW
Aruna Z GlickUnited KingdomIvan Magalhaes NEGOTIATION
Leon A ButtGermanyOnyama Limba UNQUALIFIED
Silvio N NickaFranceAsiya Javayant PROPOSAL
Smith E VenereSpainIoni Bowcher PROPOSAL
Munro N OldroydAustraliaBernardo Dominic QUALIFIED
Octavia S KuskoArgentinaAnna Fali PROPOSAL
Juan S DoeIndiaStephen Shaw QUALIFIED
Jefferson M SaylorsFranceAnna Fali RENEWAL
Maria V ButtFranceAsiya Javayant PROPOSAL
Salvatore G MacleadJapanIoni Bowcher PROPOSAL
Ashley S KuskoRussiaBernardo Dominic NEW
Maria K RimFranceIoni Bowcher PROPOSAL
Aditya Y GauchoSpainStephen Shaw UNQUALIFIED
Deepesh H NestleAustraliaAmy Elsner NEGOTIATION
Misaki V BologniaItalyXuxue Feng PROPOSAL
Aruna J DoeJapanBernardo Dominic UNQUALIFIED
Arvin P MaletAustraliaXuxue Feng RENEWAL
Leja L NickaSpainOnyama Limba PROPOSAL
Ricardo A MarrierArgentinaAsiya Javayant RENEWAL
Ashley R CaldareraAustraliaElwin Sharvill QUALIFIED
Nicolas W GillianArgentinaElwin Sharvill UNQUALIFIED
James E RimArgentinaAsiya Javayant NEGOTIATION
Maisha Q BriddickSpainIvan Magalhaes NEW
Julie B PoquetteGermanyIoni Bowcher NEW
Rodrigues F CaldareraFranceStephen Shaw RENEWAL
Adams U CaldareraRussiaIvan Magalhaes UNQUALIFIED
Arvin C FollerFranceAmy Elsner UNQUALIFIED
Faith E TollnerGermanyIoni Bowcher RENEWAL
Arvin X FollerBrazilOnyama Limba NEGOTIATION
Kadeem G RoysterUnited KingdomAnna Fali RENEWAL
Smith B BologniaItalyXuxue Feng QUALIFIED
Chavez D DilliardRussiaAnna Fali QUALIFIED
Juan C ShinkoAustraliaOnyama Limba NEGOTIATION
Sinclair C GillianItalyBernardo Dominic PROPOSAL
Kaitlin K RulapaughIndiaOnyama Limba NEW
Isabel J CampainCanadaIoni Bowcher NEW
Leon C SergiItalyXuxue Feng NEW
Murillo K InouyeRussiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez O MaletBrazilOnyama Limba RENEWAL
Juan H OstroskyFranceElwin Sharvill RENEWAL
Tony N WieserRussiaIoni Bowcher NEW
Kaitlin X PoquetteGermanyXuxue Feng NEW
Greenwood Q GlickFranceXuxue Feng QUALIFIED
Clifford P PerinItalyIoni Bowcher RENEWAL
Antonio A GillianGermanyIvan Magalhaes QUALIFIED
Jennifer W BowleyFranceIvan Magalhaes UNQUALIFIED
Wickens V AlbaresItalyElwin Sharvill QUALIFIED
Aruna D DarakjyIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley C OstroskyItaly2024-06-10Feiner Bros NEGOTIATION84Xuxue Feng
1001Mujtaba Q AmigonJapan2024-05-30Rousseaux, Michael Esq NEGOTIATION81Stephen Shaw
1002Maria B DilliardBrazil2024-06-06Chanay, Jeffrey A Esq RENEWAL81Ioni Bowcher
1003Rodrigues E SchemmerArgentina2024-06-01Printing Dimensions UNQUALIFIED96Xuxue Feng
1004Ivar G VenereJapan2024-06-09Chemel, James L Cpa PROPOSAL70Asiya Javayant
1005Johnson Q WieserCanada2024-06-17Truhlar And Truhlar Attys PROPOSAL48Anna Fali
1006Arvin D NickaItaly2024-05-30Truhlar And Truhlar Attys QUALIFIED61Amy Elsner
1007Izzy A SaylorsArgentina2024-06-03Feiner Bros QUALIFIED92Amy Elsner
1008James L RulapaughCanada2024-05-27Buckley Miller Wright NEW8Bernardo Dominic
1009Juan F AlbaresRussia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED23Stephen Shaw
1010Silvio P FigeroaAustralia2024-06-01Printing Dimensions PROPOSAL69Amy Elsner
1011Nicolas O StockhamArgentina2024-05-28Printing Dimensions QUALIFIED4Anna Fali
1012Mujtaba I OldroydFrance2024-06-09Rangoni Of Florence QUALIFIED75Xuxue Feng
1013Aika X CampainFrance2024-06-19Chanay, Jeffrey A Esq QUALIFIED29Anna Fali
1014Wickens L KolmetzArgentina2024-06-17Feltz Printing Service NEGOTIATION47Elwin Sharvill
1015Alejandro H WaycottSpain2024-06-01Morlong Associates NEW88Bernardo Dominic
1016James W PaprockiBrazil2024-05-27Feltz Printing Service NEGOTIATION20Stephen Shaw
1017Maisha M OstroskyAustralia2024-06-14Dorl, James J Esq UNQUALIFIED73Xuxue Feng
1018Silvio W TollnerArgentina2024-06-04Chapman, Ross E Esq PROPOSAL41Amy Elsner
1019Chavez J OldroydFrance2024-06-10Rousseaux, Michael Esq UNQUALIFIED18Anna Fali
1020Nicolas T TollnerFrance2024-06-21Commercial Press UNQUALIFIED48Amy Elsner
1021Ivar B VocelkaSpain2024-06-18Buckley Miller Wright PROPOSAL23Amy Elsner
1022Kaitlin K WieserCanada2024-06-05Chanay, Jeffrey A Esq RENEWAL52Bernardo Dominic
1023Nicolas R RimRussia2024-06-19Commercial Press RENEWAL29Onyama Limba
1024Aruna T SaylorsItaly2024-05-24Dorl, James J Esq NEW97Amy Elsner
1025Leon C OstroskyItaly2024-05-31Printing Dimensions NEGOTIATION25Stephen Shaw
1026David T StensethFrance2024-06-13Chapman, Ross E Esq NEGOTIATION87Ioni Bowcher
1027Claire A FlosiRussia2024-06-02Feiner Bros UNQUALIFIED80Ivan Magalhaes
1028Alejandro Y WhobreyRussia2024-06-13Rousseaux, Michael Esq QUALIFIED26Ioni Bowcher
1029Aika D AlbaresArgentina2024-06-08Rousseaux, Michael Esq NEGOTIATION48Ioni Bowcher
1030Nicolas E GillianGermany2024-06-19Chapman, Ross E Esq QUALIFIED8Xuxue Feng
1031Ashley M FigeroaRussia2024-06-14Feltz Printing Service QUALIFIED74Amy Elsner
1032Rodrigues B SlusarskiGermany2024-06-05Truhlar And Truhlar Attys NEW9Anna Fali
1033Izzy O MarrierIndia2024-06-11Printing Dimensions RENEWAL41Ivan Magalhaes
1034Aruna Q MarrierFrance2024-05-28Feltz Printing Service UNQUALIFIED67Asiya Javayant
1035James J WhobreyAustralia2024-06-14Feiner Bros RENEWAL35Asiya Javayant
1036Costa N InouyeFrance2024-06-10King, Christopher A Esq RENEWAL94Ivan Magalhaes
1037Tony B CaudyGermany2024-05-26Chapman, Ross E Esq NEW33Onyama Limba
1038Alejandro R SaylorsSpain2024-06-20King, Christopher A Esq NEGOTIATION70Ivan Magalhaes
1039Leon S PoquetteBrazil2024-06-08Printing Dimensions RENEWAL94Stephen Shaw
1040Greenwood N OstroskyBrazil2024-06-11Feiner Bros NEW96Amy Elsner
1041Salvatore V CampainRussia2024-05-31Chemel, James L Cpa QUALIFIED64Asiya Javayant
1042Smith D AlbaresItaly2024-06-21Rangoni Of Florence NEGOTIATION1Onyama Limba
1043Kadeem Q ButtArgentina2024-06-20Commercial Press UNQUALIFIED39Anna Fali
1044Aditya Y IturbideIndia2024-05-26Commercial Press NEW73Onyama Limba
1045Darci B WaycottSpain2024-06-04Dorl, James J Esq RENEWAL65Ioni Bowcher
1046Arvin X PoquetteArgentina2024-05-27Feltz Printing Service QUALIFIED27Elwin Sharvill
1047Ricardo H FerenczSpain2024-06-10Morlong Associates QUALIFIED43Elwin Sharvill
1048Aika W VocelkaGermany2024-05-27Chapman, Ross E Esq UNQUALIFIED46Xuxue Feng
1049Nicolas Z DoeUnited Kingdom2024-05-31Benton, John B Jr NEGOTIATION17Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Izzy W StockhamFranceAsiya Javayant PROPOSAL
Antonio F FerenczCanadaAmy Elsner PROPOSAL
David J BriddickJapanStephen Shaw NEGOTIATION
Silvio Q DilliardItalyXuxue Feng QUALIFIED
Kaitlin P SaylorsGermanyAsiya Javayant PROPOSAL
Arvin O CaudyItalyXuxue Feng RENEWAL
Jones G DoeItalyAsiya Javayant RENEWAL
Leon E WhobreyBrazilElwin Sharvill QUALIFIED
Claire O TollnerSpainAnna Fali PROPOSAL
Mayumi T TollnerGermanyIvan Magalhaes NEW
Julie D OstroskyArgentinaOnyama Limba PROPOSAL
Faith A WhobreyJapanIoni Bowcher QUALIFIED
Jones Q VocelkaSpainIvan Magalhaes UNQUALIFIED
Silvio J GlickCanadaXuxue Feng NEGOTIATION
Mayumi L RulapaughUnited KingdomBernardo Dominic PROPOSAL
Jefferson U RoysterUnited KingdomAmy Elsner UNQUALIFIED
Tony O StensethBrazilElwin Sharvill RENEWAL
Octavia R WaycottGermanyIoni Bowcher PROPOSAL
Stacey D PaprockiJapanAmy Elsner NEGOTIATION
Misaki G FigeroaGermanyElwin Sharvill RENEWAL
Misaki W MaletBrazilStephen Shaw PROPOSAL
Cody W RutaFranceOnyama Limba RENEWAL
Kadeem F PaprockiItalyElwin Sharvill NEW
Ashley Z StockhamFranceAsiya Javayant NEW
Murillo A MacleadFranceXuxue Feng PROPOSAL
Chavez X InouyeSpainAmy Elsner NEW
Maisha P TollnerCanadaBernardo Dominic RENEWAL
Izzy K GauchoItalyXuxue Feng PROPOSAL
Costa Q BriddickRussiaBernardo Dominic UNQUALIFIED
Silvio H PoquetteUnited KingdomOnyama Limba RENEWAL
Julie K ButtUnited KingdomAnna Fali QUALIFIED
Aruna B ChuiAustraliaStephen Shaw NEW
James Q ShinkoAustraliaXuxue Feng NEGOTIATION
Antonio O TollnerAustraliaAsiya Javayant NEGOTIATION
Francesco S FlosiJapanAmy Elsner UNQUALIFIED
Greenwood I CampainJapanBernardo Dominic NEW
Salvatore N RimArgentinaAnna Fali QUALIFIED
Mujtaba B AmigonAustraliaOnyama Limba RENEWAL
Aika D DoeJapanXuxue Feng NEW
Juan H ButtAustraliaStephen Shaw UNQUALIFIED
Murillo Z InouyeCanadaOnyama Limba RENEWAL
Ricardo G PoquetteGermanyStephen Shaw UNQUALIFIED
Silvio H FollerRussiaStephen Shaw NEW
Mujtaba K GarufiUnited KingdomIoni Bowcher QUALIFIED
Jennifer Z KolmetzArgentinaElwin Sharvill NEW
Octavia E OldroydCanadaXuxue Feng NEGOTIATION
Deepesh C PaprockiIndiaAnna Fali NEW
Leon X PaprockiItalyAsiya Javayant UNQUALIFIED
Johnson C OldroydBrazilOnyama Limba NEGOTIATION
Tony L OstroskyCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Francesco K Campain
Ashley G Iturbide
Mayumi C Campain
Maisha E Inouye
Leon D Foller
Clifford Z Ruta
Cody R Whobrey
Silvio S Whobrey
Jones J Malet
Isabel B Kolmetz
Misaki W Maclead
Jones A Amigon
Jennifer X Waycott
Rodrigues I Slusarski
Mayumi X Nicka
Murillo E Briddick
Smith F Ferencz
Darci P Dilliard
Nicolas E Sergi
Deepesh I Foller
Leon D Saylors
Aruna G Iturbide
Munro N Malet
Francesco J Bowley
Emily S Ferencz
Isabel B Glick
Silvio R Amigon
Arvin T Flosi
Isabel I Rulapaugh
Clifford H Inouye
Izzy M Malet
Ashley L Amigon
Misaki C Foller
Darci U Saylors
Johnson L Ruta
Deepesh A Rim
David D Royster
Claire N Schemmer
Darci Q Perin
Izzy O Marrier
Greenwood G Kusko
Salvatore I Glick
Ricardo R Glick
Aika X Flosi
Cody Z Butt
Cody E Campain
Rodrigues S Royster
Sinclair R Venere
Jeanfrancois U Malet
Julie V Maclead
IdCountryDate
1000Germany2024-06-06
1001Germany2024-06-01
1002Australia2024-06-22
1003Spain2024-06-04
1004Italy2024-06-12
1005Australia2024-05-25
1006Australia2024-06-13
1007Germany2024-06-09
1008Japan2024-06-17
1009Argentina2024-06-14
1010Brazil2024-06-07
1011Russia2024-06-22
1012Australia2024-05-25
1013United Kingdom2024-06-03
1014Spain2024-06-17
1015Germany2024-06-19
1016Spain2024-05-26
1017Argentina2024-06-06
1018Australia2024-06-06
1019Australia2024-06-03
1020Canada2024-06-17
1021France2024-06-16
1022Australia2024-06-07
1023Russia2024-05-25
1024United Kingdom2024-06-17
1025Argentina2024-06-03
1026Italy2024-06-18
1027Australia2024-06-22
1028France2024-05-25
1029Russia2024-06-11
1030Australia2024-06-07
1031France2024-05-31
1032Germany2024-06-19
1033Canada2024-06-07
1034Brazil2024-06-05
1035France2024-06-12
1036Italy2024-06-22
1037Argentina2024-05-28
1038Italy2024-06-10
1039Germany2024-05-26
1040India2024-06-04
1041United Kingdom2024-05-28
1042Canada2024-06-17
1043France2024-06-18
1044Russia2024-06-07
1045France2024-06-11
1046Italy2024-06-03
1047India2024-06-22
1048United Kingdom2024-06-01
1049Canada2024-06-15

On-Demand Data

NameIdCountryDate
Francesco O Gillian1000Italy2024-06-12
Kadeem N Iturbide1001Spain2024-06-15
Claire H Caldarera1002Spain2024-06-01
Antonio B Chui1003Russia2024-05-30
Kadeem B Venere1004Australia2024-06-14
Costa Z Poquette1005Argentina2024-05-29
Cody R Bolognia1006Brazil2024-05-26
Octavia M Waycott1007Brazil2024-06-22
Juan W Doe1008United Kingdom2024-06-10
Rodrigues N Caldarera1009Russia2024-06-10
Adams T Amigon1010Argentina2024-06-03
Aruna K Schemmer1011Canada2024-06-11
Smith C Sergi1012Spain2024-05-30
Jefferson O Perin1013Brazil2024-06-19
Chavez M Oldroyd1014Italy2024-06-07
Nicolas G Foller1015France2024-06-11
Arvin N Malet1016Italy2024-06-10
Ivar R Gillian1017Canada2024-06-21
Leja T Malet1018Canada2024-06-09
Maria T Gaucho1019Germany2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro Y MorascaFranceXuxue Feng NEW
Maria K BowleyJapanXuxue Feng PROPOSAL
Adams H AmigonIndiaAsiya Javayant QUALIFIED
Isabel I StensethFranceStephen Shaw NEW
Nicolas E CaudyGermanyAnna Fali PROPOSAL
Stacey E DoeUnited KingdomAmy Elsner NEW
Murillo L BowleyBrazilXuxue Feng NEGOTIATION
Isabel Y CaldareraArgentinaOnyama Limba QUALIFIED
Antonio P SaylorsJapanOnyama Limba UNQUALIFIED
Ivar Q RimSpainIvan Magalhaes RENEWAL
Misaki A CaudyCanadaStephen Shaw RENEWAL
Juan E BowleyFranceOnyama Limba RENEWAL
Morrow S GarufiUnited KingdomIoni Bowcher PROPOSAL
Munro I VenereSpainAsiya Javayant NEW
Kadeem V BowleyAustraliaAmy Elsner NEGOTIATION
Aruna X WieserFranceIoni Bowcher NEW
Leja Y ChuiUnited KingdomIoni Bowcher QUALIFIED
Faith R AmigonUnited KingdomAmy Elsner UNQUALIFIED
Ivar O SlusarskiGermanyOnyama Limba QUALIFIED
Aruna Y ButtUnited KingdomIvan Magalhaes NEGOTIATION
Claire U KolmetzUnited KingdomAnna Fali UNQUALIFIED
Antonio S InouyeRussiaElwin Sharvill UNQUALIFIED
Clifford I InouyeRussiaIoni Bowcher RENEWAL
Francesco H SergiIndiaElwin Sharvill QUALIFIED
Darci U BriddickGermanyBernardo Dominic UNQUALIFIED
Smith F TollnerFranceElwin Sharvill PROPOSAL
Jones D MacleadItalyElwin Sharvill NEW
Arvin M FigeroaFranceIvan Magalhaes QUALIFIED
Claire R ShinkoItalyBernardo Dominic RENEWAL
David O VocelkaItalyAnna Fali QUALIFIED
Wickens M MaletArgentinaStephen Shaw NEGOTIATION
Rodrigues L BriddickIndiaBernardo Dominic QUALIFIED
Isabel S WhobreyUnited KingdomElwin Sharvill PROPOSAL
Octavia O SergiBrazilXuxue Feng NEW
Claire V MarrierJapanStephen Shaw UNQUALIFIED
Maria Y NestleCanadaIoni Bowcher UNQUALIFIED
Costa H RoysterAustraliaBernardo Dominic UNQUALIFIED
Darci H SergiArgentinaAsiya Javayant RENEWAL
Greenwood J KuskoFranceElwin Sharvill QUALIFIED
Julie L MaletGermanyAmy 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>