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 B RutaGermanyBernardo Dominic RENEWAL
Wickens Q InouyeBrazilXuxue Feng RENEWAL
Johnson P AmigonAustraliaAsiya Javayant NEW
Kadeem E AmigonJapanIoni Bowcher PROPOSAL
Sinclair Y WhobreyJapanAsiya Javayant UNQUALIFIED
Smith W RimSpainIoni Bowcher NEGOTIATION
Salvatore Y FollerIndiaAmy Elsner QUALIFIED
Clifford Q FerenczUnited KingdomStephen Shaw RENEWAL
Salvatore G MacleadArgentinaStephen Shaw NEW
Misaki D KuskoRussiaIvan Magalhaes NEGOTIATION
Nicolas P ChuiAustraliaIvan Magalhaes NEW
Chavez X WaycottFranceOnyama Limba RENEWAL
Jefferson Y SchemmerCanadaAsiya Javayant UNQUALIFIED
Tony V RimAustraliaIoni Bowcher NEW
Nicolas I InouyeGermanyIvan Magalhaes NEGOTIATION
Clifford Z SaylorsBrazilAmy Elsner UNQUALIFIED
Morrow A StensethIndiaElwin Sharvill NEGOTIATION
Mayumi I BriddickCanadaOnyama Limba UNQUALIFIED
Mayumi N BologniaJapanElwin Sharvill NEGOTIATION
Ivar X MorascaRussiaElwin Sharvill RENEWAL
Ivar B ShinkoItalyAnna Fali NEW
Aika D GauchoItalyStephen Shaw NEGOTIATION
David S CampainIndiaIoni Bowcher NEGOTIATION
Izzy M WaycottRussiaAnna Fali QUALIFIED
Mayumi C ChuiItalyAsiya Javayant NEGOTIATION
Rodrigues S WieserAustraliaAsiya Javayant NEW
Leon S FlosiFranceStephen Shaw QUALIFIED
Chavez E CaudyRussiaOnyama Limba NEW
Cody Y GauchoJapanIvan Magalhaes RENEWAL
David V OstroskyGermanyAnna Fali QUALIFIED
Aika O OstroskyJapanAsiya Javayant NEGOTIATION
Sinclair T SchemmerCanadaXuxue Feng UNQUALIFIED
Deepesh C ChuiJapanAnna Fali PROPOSAL
Chavez L IturbideRussiaBernardo Dominic RENEWAL
Emily R PerinRussiaXuxue Feng RENEWAL
Ricardo E RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Maria Q GauchoCanadaOnyama Limba NEGOTIATION
Tony Q GlickArgentinaOnyama Limba PROPOSAL
Maisha U GillianFranceIoni Bowcher RENEWAL
Cody U CampainSpainAsiya Javayant RENEWAL
Jennifer B FigeroaBrazilIvan Magalhaes QUALIFIED
Alejandro E ButtIndiaBernardo Dominic NEW
Maisha W FlosiFranceXuxue Feng QUALIFIED
Julie Q WieserArgentinaOnyama Limba RENEWAL
Ivar Z VocelkaSpainAsiya Javayant NEW
Wickens G FigeroaRussiaStephen Shaw PROPOSAL
Jones E SlusarskiIndiaBernardo Dominic RENEWAL
Deepesh P NickaArgentinaXuxue Feng PROPOSAL
Aika N NestleUnited KingdomIoni Bowcher PROPOSAL
Munro H RulapaughSpainIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Wickens X ButtRussiaStephen Shaw NEW
Darci I RimGermanyAsiya Javayant RENEWAL
Kadeem W NestleArgentinaOnyama Limba NEGOTIATION
Sinclair N OldroydUnited KingdomStephen Shaw QUALIFIED
Maisha R VocelkaFranceAnna Fali QUALIFIED
Chavez D BowleyAustraliaStephen Shaw UNQUALIFIED
Darci T MarrierIndiaXuxue Feng QUALIFIED
Silvio C SchemmerAustraliaAnna Fali UNQUALIFIED
Mayumi S GillianRussiaAmy Elsner UNQUALIFIED
Emily L FerenczBrazilBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon L WieserCanada2025-04-05Dorl, James J Esq UNQUALIFIED34Onyama Limba
1001Leon F MorascaRussia2025-04-07Dorl, James J Esq QUALIFIED64Ivan Magalhaes
1002Kadeem N GauchoBrazil2025-04-24Morlong Associates UNQUALIFIED90Xuxue Feng
1003Jones H GarufiJapan2025-04-14Truhlar And Truhlar Attys UNQUALIFIED50Ioni Bowcher
1004Isabel B OldroydItaly2025-04-16Chapman, Ross E Esq PROPOSAL58Stephen Shaw
1005Mayumi T VocelkaCanada2025-04-28Commercial Press NEW33Ivan Magalhaes
1006James K WaycottUnited Kingdom2025-04-02Dorl, James J Esq NEGOTIATION32Asiya Javayant
1007Smith Z VocelkaFrance2025-04-10Feltz Printing Service NEGOTIATION39Anna Fali
1008Nicolas A WaycottBrazil2025-04-18Buckley Miller Wright NEGOTIATION37Ioni Bowcher
1009Arvin X BologniaCanada2025-04-17Feiner Bros QUALIFIED30Bernardo Dominic
1010David C ShinkoCanada2025-04-24Rangoni Of Florence PROPOSAL28Xuxue Feng
1011Aika G MarrierArgentina2025-04-26Chanay, Jeffrey A Esq PROPOSAL51Onyama Limba
1012Emily U DilliardSpain2025-04-15Printing Dimensions PROPOSAL31Elwin Sharvill
1013Jeanfrancois F BriddickSpain2025-04-07Chemel, James L Cpa UNQUALIFIED72Anna Fali
1014Tony L BowleyUnited Kingdom2025-04-02Benton, John B Jr QUALIFIED94Ivan Magalhaes
1015Rodrigues H GauchoSpain2025-04-25Chanay, Jeffrey A Esq UNQUALIFIED18Amy Elsner
1016Clifford X TollnerSpain2025-04-15Chanay, Jeffrey A Esq PROPOSAL95Elwin Sharvill
1017Murillo T FlosiGermany2025-04-02Rousseaux, Michael Esq UNQUALIFIED3Asiya Javayant
1018Arvin M RutaBrazil2025-04-16Rousseaux, Michael Esq QUALIFIED54Elwin Sharvill
1019Antonio H WieserIndia2025-04-11Commercial Press RENEWAL68Ioni Bowcher
1020Munro T ShinkoItaly2025-04-04King, Christopher A Esq PROPOSAL59Bernardo Dominic
1021Kadeem L SergiIndia2025-04-02Buckley Miller Wright RENEWAL62Elwin Sharvill
1022Ivar V InouyeUnited Kingdom2025-04-20Rangoni Of Florence QUALIFIED17Anna Fali
1023Maisha W VocelkaJapan2025-04-06Chemel, James L Cpa NEGOTIATION58Asiya Javayant
1024Izzy S StockhamAustralia2025-04-28Printing Dimensions UNQUALIFIED23Xuxue Feng
1025Kadeem K OstroskyArgentina2025-04-11Dorl, James J Esq QUALIFIED32Elwin Sharvill
1026Kaitlin T StockhamGermany2025-04-19Feiner Bros QUALIFIED40Elwin Sharvill
1027Aruna B MorascaRussia2025-04-25Feltz Printing Service NEW8Anna Fali
1028Aditya S CaudyItaly2025-04-28Printing Dimensions NEW45Ioni Bowcher
1029Costa N MarrierAustralia2025-04-19Buckley Miller Wright RENEWAL83Asiya Javayant
1030Silvio M RulapaughIndia2025-04-26Feiner Bros RENEWAL1Asiya Javayant
1031Leja I CaldareraItaly2025-04-13Benton, John B Jr PROPOSAL25Anna Fali
1032Isabel J KuskoFrance2025-04-11Chemel, James L Cpa QUALIFIED39Stephen Shaw
1033Kadeem A VenereBrazil2025-04-21Chapman, Ross E Esq UNQUALIFIED80Onyama Limba
1034Mujtaba D PoquetteIndia2025-04-25Chemel, James L Cpa UNQUALIFIED86Onyama Limba
1035Jefferson I MaletIndia2025-04-27Chapman, Ross E Esq RENEWAL35Asiya Javayant
1036Alejandro G GlickAustralia2025-04-24Chanay, Jeffrey A Esq RENEWAL83Asiya Javayant
1037Kaitlin A RimJapan2025-04-06Chapman, Ross E Esq NEW59Anna Fali
1038Julie R VocelkaJapan2025-04-17Dorl, James J Esq RENEWAL18Ioni Bowcher
1039Aditya P KuskoAustralia2025-04-03Truhlar And Truhlar Attys NEGOTIATION21Elwin Sharvill
1040Costa S StockhamArgentina2025-04-10Chanay, Jeffrey A Esq PROPOSAL59Anna Fali
1041Kadeem K FollerCanada2025-04-21Rangoni Of Florence NEW39Elwin Sharvill
1042Rodrigues G TollnerBrazil2025-04-05Printing Dimensions PROPOSAL72Xuxue Feng
1043Ivar K PoquetteSpain2025-04-12Chanay, Jeffrey A Esq UNQUALIFIED57Amy Elsner
1044Munro Y VenereJapan2025-04-14Commercial Press NEGOTIATION5Stephen Shaw
1045Misaki X BowleyCanada2025-04-02Truhlar And Truhlar Attys NEGOTIATION14Stephen Shaw
1046Adams U StockhamItaly2025-04-27Feiner Bros PROPOSAL82Bernardo Dominic
1047Kadeem F MaletItaly2025-04-17Feiner Bros QUALIFIED72Onyama Limba
1048Clifford I BologniaSpain2025-04-10Chapman, Ross E Esq QUALIFIED18Ioni Bowcher
1049Juan W ChuiFrance2025-04-28Printing Dimensions PROPOSAL57Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leja N WaycottUnited KingdomBernardo Dominic NEGOTIATION
Leja B MaletAustraliaIvan Magalhaes NEW
Salvatore X WhobreyAustraliaAnna Fali UNQUALIFIED
Wickens G FigeroaSpainIoni Bowcher RENEWAL
Leja V CaudyIndiaOnyama Limba PROPOSAL
Salvatore W ShinkoSpainOnyama Limba RENEWAL
Tony K FollerSpainIoni Bowcher NEW
James P BologniaAustraliaIoni Bowcher UNQUALIFIED
Isabel G WaycottIndiaAsiya Javayant PROPOSAL
Salvatore W VocelkaItalyBernardo Dominic PROPOSAL
Mayumi Z FerenczUnited KingdomAmy Elsner NEGOTIATION
Chavez S NestleIndiaIoni Bowcher RENEWAL
Johnson D PoquetteItalyBernardo Dominic NEW
Chavez B ShinkoCanadaElwin Sharvill UNQUALIFIED
Wickens V MorascaIndiaAsiya Javayant RENEWAL
Darci I PaprockiCanadaAnna Fali PROPOSAL
Greenwood T GarufiItalyElwin Sharvill NEGOTIATION
Aruna X RutaJapanAmy Elsner PROPOSAL
Ricardo K DilliardAustraliaOnyama Limba QUALIFIED
Rodrigues R ChuiJapanIoni Bowcher NEW
Jones O PaprockiRussiaAnna Fali UNQUALIFIED
Kadeem Q FlosiGermanyOnyama Limba NEGOTIATION
Costa X AlbaresUnited KingdomOnyama Limba QUALIFIED
Francesco G VenereGermanyStephen Shaw NEW
Arvin P SergiBrazilOnyama Limba UNQUALIFIED
Darci W NestleRussiaAsiya Javayant NEGOTIATION
David M FollerCanadaOnyama Limba RENEWAL
Antonio S PoquetteFranceAnna Fali NEGOTIATION
Sinclair B RulapaughFranceIvan Magalhaes NEW
Ashley A GauchoIndiaAsiya Javayant NEW
Jennifer O VenereJapanAsiya Javayant UNQUALIFIED
Misaki T StensethRussiaIoni Bowcher NEW
Wickens J ButtCanadaStephen Shaw QUALIFIED
Faith T RimItalyIoni Bowcher NEW
Mujtaba U FollerRussiaOnyama Limba NEW
Octavia P SergiArgentinaIoni Bowcher NEW
Tony Y PaprockiBrazilAnna Fali PROPOSAL
Leja I StockhamFranceAsiya Javayant RENEWAL
Adams I GlickIndiaIoni Bowcher QUALIFIED
Tony V InouyeBrazilElwin Sharvill RENEWAL
Aika O PerinSpainElwin Sharvill PROPOSAL
Smith X SaylorsBrazilBernardo Dominic NEW
Sinclair P TollnerArgentinaAsiya Javayant QUALIFIED
Ashley J CaudyFranceBernardo Dominic QUALIFIED
Morrow P PoquetteIndiaIvan Magalhaes RENEWAL
Clifford E MacleadFranceIoni Bowcher QUALIFIED
Morrow E AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair X FlosiJapanElwin Sharvill RENEWAL
Sinclair Z SergiSpainIvan Magalhaes NEGOTIATION
Sinclair G FerenczSpainIoni Bowcher PROPOSAL
Frozen Columns
Name
Juan Q Gaucho
Salvatore E Waycott
Kadeem F Garufi
Mujtaba J Foller
Smith H Morasca
Claire A Butt
Deepesh T Albares
Nicolas P Iturbide
Nicolas C Albares
Clifford X Poquette
Jennifer Q Malet
Ashley Q Saylors
Faith S Bolognia
Smith K Perin
Nicolas V Bolognia
Isabel I Rim
Nicolas W Ruta
Kadeem L Schemmer
Leon U Figeroa
Kaitlin Z Figeroa
James N Darakjy
Aruna E Campain
Rodrigues K Stenseth
Antonio Z Schemmer
Juan D Caudy
Mayumi Y Venere
Rodrigues G Tollner
Octavia T Albares
Murillo N Shinko
Faith O Nestle
Tony R Caudy
Jennifer X Gillian
Jeanfrancois U Marrier
Claire K Stenseth
Claire W Iturbide
Jefferson H Iturbide
Tony F Marrier
Octavia F Dilliard
Francesco G Shinko
Silvio L Maclead
Munro U Nestle
Jeanfrancois Q Poquette
Sinclair W Morasca
Julie Q Bowley
Costa U Chui
Jefferson A Bolognia
Cody Q Marrier
Emily S Kolmetz
Chavez E Garufi
Emily P Darakjy
IdCountryDate
1000Germany2025-04-06
1001Australia2025-04-20
1002Canada2025-04-09
1003Japan2025-04-25
1004United Kingdom2025-04-30
1005Spain2025-04-05
1006Argentina2025-04-23
1007United Kingdom2025-04-18
1008India2025-04-21
1009United Kingdom2025-04-22
1010Germany2025-04-29
1011Japan2025-04-14
1012Russia2025-04-21
1013Spain2025-04-02
1014Germany2025-04-03
1015Italy2025-04-16
1016Russia2025-04-09
1017Germany2025-04-09
1018India2025-04-23
1019Germany2025-04-16
1020United Kingdom2025-04-29
1021Japan2025-04-02
1022United Kingdom2025-04-10
1023Japan2025-04-18
1024Japan2025-04-08
1025France2025-04-21
1026Italy2025-05-01
1027France2025-04-23
1028Brazil2025-04-13
1029United Kingdom2025-04-07
1030Australia2025-04-23
1031Brazil2025-04-21
1032Japan2025-04-06
1033Canada2025-04-05
1034Argentina2025-04-20
1035Spain2025-04-30
1036United Kingdom2025-04-28
1037India2025-04-11
1038Canada2025-04-15
1039Japan2025-04-30
1040Italy2025-04-03
1041India2025-04-09
1042Spain2025-04-08
1043United Kingdom2025-04-23
1044Italy2025-04-08
1045Australia2025-04-20
1046India2025-04-25
1047Spain2025-04-28
1048Italy2025-04-09
1049United Kingdom2025-04-08

On-Demand Data

NameIdCountryDate
Morrow D Iturbide1000United Kingdom2025-04-05
David P Whobrey1001Germany2025-04-11
Aika I Gillian1002Argentina2025-04-16
Greenwood C Malet1003Russia2025-04-04
Juan G Ferencz1004Brazil2025-04-25
Silvio V Gillian1005Germany2025-04-12
Jeanfrancois U Whobrey1006India2025-04-09
Jones Q Figeroa1007Germany2025-04-25
Jones Y Kusko1008Brazil2025-04-15
Mayumi S Saylors1009Russia2025-05-01
Maisha M Sergi1010Brazil2025-04-24
Costa H Butt1011Germany2025-04-27
Maisha M Kolmetz1012Canada2025-04-30
Octavia I Butt1013Brazil2025-04-26
Darci I Royster1014India2025-04-05
Costa Y Poquette1015France2025-04-23
Adams Q Sergi1016United Kingdom2025-04-11
Francesco N Oldroyd1017France2025-04-19
Jennifer O Ruta1018Spain2025-04-25
Arvin J Caldarera1019Russia2025-04-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo C GauchoArgentinaAmy Elsner QUALIFIED
Silvio A FlosiRussiaOnyama Limba RENEWAL
Mujtaba B FollerGermanyAsiya Javayant RENEWAL
Aditya S MaletSpainAsiya Javayant RENEWAL
Costa Q FerenczFranceStephen Shaw UNQUALIFIED
Cody Z StensethJapanElwin Sharvill RENEWAL
Munro R WhobreyCanadaXuxue Feng RENEWAL
Misaki Z BowleyFranceAmy Elsner QUALIFIED
Francesco B FlosiArgentinaBernardo Dominic NEW
Ivar K ChuiArgentinaAnna Fali PROPOSAL
Greenwood Y NestleRussiaBernardo Dominic RENEWAL
Salvatore A GarufiIndiaIoni Bowcher NEGOTIATION
Arvin J WaycottBrazilAmy Elsner NEW
Nicolas G NickaCanadaXuxue Feng NEW
Jeanfrancois K VocelkaRussiaOnyama Limba RENEWAL
Greenwood V AlbaresUnited KingdomElwin Sharvill NEW
Adams Q ShinkoIndiaIvan Magalhaes QUALIFIED
Morrow K BowleyIndiaStephen Shaw RENEWAL
Mayumi E GlickGermanyAmy Elsner UNQUALIFIED
Arvin Y VenereUnited KingdomAnna Fali RENEWAL
Clifford R FlosiItalyBernardo Dominic RENEWAL
Adams P SaylorsGermanyBernardo Dominic NEW
David F SergiSpainAnna Fali RENEWAL
Costa F MacleadAustraliaElwin Sharvill QUALIFIED
Johnson S WaycottItalyAnna Fali NEGOTIATION
Sinclair T CaudyArgentinaBernardo Dominic PROPOSAL
Greenwood Z AlbaresUnited KingdomAnna Fali NEW
Isabel P WieserGermanyAsiya Javayant NEGOTIATION
Cody V KuskoFranceBernardo Dominic UNQUALIFIED
Leja G MaletAustraliaOnyama Limba QUALIFIED
David A GillianGermanyAsiya Javayant NEW
Costa F WaycottItalyXuxue Feng UNQUALIFIED
Morrow P BowleyFranceIoni Bowcher NEW
Ivar I PerinAustraliaBernardo Dominic RENEWAL
Julie G DoeAustraliaXuxue Feng NEGOTIATION
James A ButtRussiaOnyama Limba QUALIFIED
Rodrigues D VocelkaSpainStephen Shaw RENEWAL
Nicolas D SlusarskiArgentinaAmy Elsner UNQUALIFIED
Francesco N FigeroaUnited KingdomOnyama Limba PROPOSAL
Ricardo I RoysterCanadaXuxue Feng 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>