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
Octavia G AmigonItalyIvan Magalhaes PROPOSAL
Salvatore C SchemmerJapanBernardo Dominic NEW
Rodrigues H SaylorsArgentinaIoni Bowcher NEW
Francesco C ShinkoAustraliaIvan Magalhaes RENEWAL
Leja P FerenczRussiaAnna Fali QUALIFIED
Jefferson Z VenereJapanIoni Bowcher NEGOTIATION
Cody W AmigonCanadaXuxue Feng NEW
Francesco C WaycottCanadaXuxue Feng RENEWAL
Chavez W BowleyRussiaXuxue Feng NEW
Stacey B WaycottSpainOnyama Limba UNQUALIFIED
Aruna W PoquetteAustraliaIvan Magalhaes PROPOSAL
Salvatore K GlickFranceAmy Elsner NEGOTIATION
Antonio R VocelkaSpainOnyama Limba NEGOTIATION
Wickens T StensethJapanElwin Sharvill RENEWAL
Munro U WieserAustraliaIvan Magalhaes PROPOSAL
Octavia G OstroskyUnited KingdomXuxue Feng PROPOSAL
David V AmigonRussiaElwin Sharvill NEW
Deepesh D SchemmerFranceStephen Shaw PROPOSAL
Francesco W NickaJapanXuxue Feng RENEWAL
Octavia N NestleRussiaAsiya Javayant NEW
Francesco K GauchoArgentinaStephen Shaw PROPOSAL
Faith J TollnerCanadaBernardo Dominic NEW
Arvin W NestleGermanyOnyama Limba NEW
Sinclair V KolmetzArgentinaElwin Sharvill PROPOSAL
Maria J ShinkoItalyIoni Bowcher NEW
Adams E MorascaCanadaXuxue Feng NEGOTIATION
Claire D NestleBrazilXuxue Feng QUALIFIED
Kaitlin A RimCanadaIoni Bowcher RENEWAL
Darci V WieserSpainIoni Bowcher NEW
Jefferson D VenereGermanyXuxue Feng UNQUALIFIED
Juan V VocelkaCanadaAmy Elsner QUALIFIED
James Y FerenczCanadaXuxue Feng PROPOSAL
Aditya T ButtJapanStephen Shaw NEW
Ashley U GauchoItalyOnyama Limba QUALIFIED
Ashley T FollerGermanyAnna Fali NEGOTIATION
Clifford M StensethIndiaXuxue Feng NEW
Ricardo A FollerGermanyBernardo Dominic RENEWAL
Aika D ShinkoGermanyStephen Shaw QUALIFIED
Faith Y NestleArgentinaOnyama Limba UNQUALIFIED
Costa M MaletFranceAnna Fali UNQUALIFIED
Darci B OstroskyCanadaIoni Bowcher NEGOTIATION
Antonio Y RulapaughArgentinaAsiya Javayant QUALIFIED
Jones Q KuskoBrazilOnyama Limba NEGOTIATION
Emily Q FigeroaItalyBernardo Dominic QUALIFIED
Kaitlin V StockhamBrazilXuxue Feng QUALIFIED
Jones H ChuiItalyXuxue Feng NEW
Morrow Y OstroskyItalyAmy Elsner QUALIFIED
David H PerinJapanIoni Bowcher RENEWAL
Isabel U SaylorsGermanyOnyama Limba UNQUALIFIED
Wickens P WhobreyBrazilBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore W DarakjyIndiaOnyama Limba QUALIFIED
Leon I RutaItalyAnna Fali NEW
Antonio A SchemmerAustraliaStephen Shaw PROPOSAL
Morrow S ChuiIndiaAnna Fali PROPOSAL
Maisha R BriddickRussiaAsiya Javayant NEW
Tony O OldroydFranceAnna Fali QUALIFIED
Cody M FollerJapanIvan Magalhaes UNQUALIFIED
James M CampainSpainAsiya Javayant UNQUALIFIED
Claire H CaudyFranceXuxue Feng RENEWAL
Antonio A NickaCanadaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja D AlbaresJapan2025-06-09Rangoni Of Florence RENEWAL86Bernardo Dominic
1001Maria Y BriddickItaly2025-05-20Benton, John B Jr QUALIFIED75Stephen Shaw
1002Francesco M KolmetzFrance2025-06-06Rousseaux, Michael Esq QUALIFIED53Bernardo Dominic
1003Munro V StockhamFrance2025-06-11Benton, John B Jr NEGOTIATION50Stephen Shaw
1004Silvio W DoeAustralia2025-06-07Benton, John B Jr RENEWAL90Ioni Bowcher
1005Arvin Y DoeCanada2025-05-29King, Christopher A Esq NEW81Anna Fali
1006Nicolas J WhobreyIndia2025-05-27Feiner Bros RENEWAL22Elwin Sharvill
1007Francesco C OldroydRussia2025-06-03Buckley Miller Wright NEW2Ioni Bowcher
1008Mujtaba O FlosiGermany2025-06-07Feiner Bros NEGOTIATION43Amy Elsner
1009Chavez L SergiUnited Kingdom2025-06-09Dorl, James J Esq QUALIFIED35Asiya Javayant
1010Misaki U OstroskySpain2025-05-18Morlong Associates NEGOTIATION32Xuxue Feng
1011Tony C PoquetteRussia2025-06-01Printing Dimensions QUALIFIED20Ioni Bowcher
1012Alejandro E VenereArgentina2025-06-06Feiner Bros NEGOTIATION65Onyama Limba
1013Murillo K CaudyIndia2025-06-15Rousseaux, Michael Esq NEW52Amy Elsner
1014Tony A DarakjyAustralia2025-06-11King, Christopher A Esq RENEWAL60Bernardo Dominic
1015Clifford O GlickGermany2025-05-18Rousseaux, Michael Esq RENEWAL45Asiya Javayant
1016Munro P DarakjyArgentina2025-05-18Chanay, Jeffrey A Esq NEGOTIATION46Stephen Shaw
1017Leon L AmigonAustralia2025-06-13Chanay, Jeffrey A Esq NEW3Amy Elsner
1018Kadeem Y NestleItaly2025-06-05Chemel, James L Cpa UNQUALIFIED0Anna Fali
1019Aruna A RulapaughCanada2025-06-09Buckley Miller Wright NEGOTIATION3Asiya Javayant
1020Aika S NestleGermany2025-06-12Buckley Miller Wright RENEWAL68Amy Elsner
1021Smith V CampainArgentina2025-06-10Feiner Bros NEW90Stephen Shaw
1022Wickens W RimSpain2025-05-22King, Christopher A Esq NEW0Onyama Limba
1023Nicolas S OldroydAustralia2025-06-02Chanay, Jeffrey A Esq NEW97Ioni Bowcher
1024Antonio A KuskoItaly2025-05-30King, Christopher A Esq NEGOTIATION51Bernardo Dominic
1025Arvin H GarufiRussia2025-06-11Commercial Press NEGOTIATION4Ivan Magalhaes
1026Chavez S MaletGermany2025-06-16Rangoni Of Florence RENEWAL0Bernardo Dominic
1027Greenwood T RimFrance2025-05-21Chanay, Jeffrey A Esq NEGOTIATION53Amy Elsner
1028James C WieserGermany2025-06-01King, Christopher A Esq UNQUALIFIED63Amy Elsner
1029Maria S FigeroaArgentina2025-05-25Commercial Press NEW98Stephen Shaw
1030Silvio C DoeJapan2025-05-24Buckley Miller Wright QUALIFIED10Xuxue Feng
1031Alejandro V SergiRussia2025-06-05Commercial Press UNQUALIFIED89Amy Elsner
1032James K RoysterRussia2025-06-02Chemel, James L Cpa RENEWAL12Asiya Javayant
1033Julie S VenereCanada2025-05-25Printing Dimensions QUALIFIED61Amy Elsner
1034Costa I IturbideIndia2025-05-19King, Christopher A Esq NEGOTIATION8Anna Fali
1035Julie V KuskoJapan2025-06-15Chapman, Ross E Esq UNQUALIFIED10Anna Fali
1036Faith V AlbaresIndia2025-06-16Dorl, James J Esq NEGOTIATION52Ivan Magalhaes
1037James A InouyeItaly2025-06-13Chemel, James L Cpa QUALIFIED13Bernardo Dominic
1038Francesco A GlickCanada2025-05-23Morlong Associates UNQUALIFIED3Anna Fali
1039Darci Z ChuiSpain2025-06-02Morlong Associates RENEWAL79Stephen Shaw
1040Maria G CaudyAustralia2025-06-01Morlong Associates PROPOSAL66Anna Fali
1041Octavia P FlosiJapan2025-05-29Printing Dimensions NEW55Onyama Limba
1042Ashley A PoquetteBrazil2025-06-11Chapman, Ross E Esq NEGOTIATION69Xuxue Feng
1043Rodrigues Y GlickCanada2025-05-27Morlong Associates PROPOSAL92Asiya Javayant
1044David C RulapaughArgentina2025-06-14Benton, John B Jr RENEWAL88Ioni Bowcher
1045Smith K PaprockiGermany2025-06-11Rangoni Of Florence PROPOSAL28Asiya Javayant
1046James U WhobreyGermany2025-05-31Feiner Bros PROPOSAL32Anna Fali
1047Jennifer S CampainUnited Kingdom2025-06-02Rousseaux, Michael Esq NEW35Anna Fali
1048Salvatore B RimUnited Kingdom2025-05-19Printing Dimensions UNQUALIFIED81Bernardo Dominic
1049Greenwood V DilliardFrance2025-05-27Chemel, James L Cpa QUALIFIED61Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
David Z SergiGermanyBernardo Dominic UNQUALIFIED
Isabel C ButtBrazilIoni Bowcher NEW
Arvin G WhobreyRussiaAmy Elsner RENEWAL
Silvio L OstroskyGermanyAsiya Javayant NEGOTIATION
Jennifer O NestleBrazilIvan Magalhaes UNQUALIFIED
Kadeem A WhobreyCanadaAsiya Javayant PROPOSAL
Johnson L RutaArgentinaBernardo Dominic UNQUALIFIED
Alejandro U RulapaughSpainStephen Shaw QUALIFIED
James G MacleadGermanyOnyama Limba NEGOTIATION
Misaki Q GlickCanadaIvan Magalhaes RENEWAL
Murillo H InouyeGermanyElwin Sharvill NEGOTIATION
Juan F RulapaughAustraliaElwin Sharvill UNQUALIFIED
Faith B SergiIndiaStephen Shaw NEW
Emily N NestleSpainXuxue Feng RENEWAL
Maisha B FollerBrazilAnna Fali QUALIFIED
Murillo Q WaycottCanadaIvan Magalhaes QUALIFIED
Clifford G CaldareraItalyAsiya Javayant RENEWAL
Johnson E GauchoJapanOnyama Limba QUALIFIED
Aika V DoeJapanElwin Sharvill NEW
Chavez F TollnerCanadaAnna Fali QUALIFIED
Isabel A DilliardRussiaAmy Elsner RENEWAL
Maria T StockhamSpainStephen Shaw QUALIFIED
Aditya T RulapaughSpainStephen Shaw NEW
Leja K MorascaGermanyBernardo Dominic UNQUALIFIED
Johnson V VocelkaArgentinaIvan Magalhaes NEGOTIATION
Adams N FlosiArgentinaIvan Magalhaes NEGOTIATION
Leon R DoeCanadaAsiya Javayant QUALIFIED
Silvio U OldroydIndiaAsiya Javayant NEW
Munro R NickaCanadaAmy Elsner PROPOSAL
Jones F SergiIndiaOnyama Limba NEW
Emily L MacleadJapanBernardo Dominic UNQUALIFIED
Adams B AlbaresFranceIvan Magalhaes NEW
Munro N SlusarskiItalyElwin Sharvill RENEWAL
Darci M StensethBrazilIvan Magalhaes QUALIFIED
Costa I SlusarskiFranceAmy Elsner NEGOTIATION
Greenwood H BriddickArgentinaIoni Bowcher UNQUALIFIED
Darci O WhobreyFranceElwin Sharvill NEGOTIATION
Rodrigues B SaylorsSpainAnna Fali RENEWAL
Claire I ShinkoRussiaElwin Sharvill PROPOSAL
Mujtaba Z NickaCanadaAnna Fali PROPOSAL
David H GlickGermanyIoni Bowcher NEW
Munro Q DoeSpainIoni Bowcher NEW
Cody E DoeIndiaAsiya Javayant QUALIFIED
Alejandro U DilliardArgentinaOnyama Limba UNQUALIFIED
Ricardo J RutaCanadaBernardo Dominic NEW
Faith M InouyeSpainAsiya Javayant NEGOTIATION
Cody O GlickBrazilXuxue Feng PROPOSAL
Arvin S SaylorsItalyAmy Elsner NEW
Stacey S MacleadAustraliaBernardo Dominic PROPOSAL
Francesco D FerenczItalyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Jones D Butt
Aika W Sergi
Ashley K Wieser
Ricardo R Malet
Stacey D Glick
Darci Y Morasca
Stacey J Ruta
Faith F Maclead
Ivar J Ferencz
Francesco U Royster
Mujtaba O Figeroa
Kadeem C Ruta
Isabel D Ruta
Tony U Sergi
Cody S Amigon
Adams G Saylors
Aruna I Wieser
Jefferson H Royster
Jefferson U Glick
Morrow M Darakjy
Salvatore N Paprocki
Mayumi W Paprocki
Juan W Saylors
Mujtaba S Caldarera
Maisha V Campain
Cody V Waycott
Cody P Stenseth
Arvin U Rulapaugh
Aditya J Figeroa
Maria L Perin
Rodrigues F Malet
Arvin M Gillian
Leon F Stenseth
Octavia A Ostrosky
Izzy J Doe
Sinclair X Bowley
James S Gaucho
Aruna Z Ostrosky
Salvatore J Figeroa
Wickens H Schemmer
Emily K Stenseth
Emily J Stenseth
Mayumi F Poquette
Greenwood V Tollner
Isabel D Rim
Sinclair F Albares
Morrow Z Iturbide
Alejandro T Gillian
Jeanfrancois G Inouye
Murillo S Poquette
IdCountryDate
1000Brazil2025-06-04
1001United Kingdom2025-06-03
1002Italy2025-05-24
1003Australia2025-06-14
1004United Kingdom2025-06-04
1005Australia2025-06-01
1006United Kingdom2025-05-31
1007France2025-06-07
1008Spain2025-05-29
1009Russia2025-05-18
1010Spain2025-05-31
1011India2025-05-18
1012Spain2025-06-13
1013Germany2025-06-05
1014Spain2025-05-24
1015Italy2025-06-06
1016Italy2025-06-02
1017Argentina2025-06-11
1018France2025-05-31
1019Germany2025-06-12
1020Spain2025-05-23
1021Canada2025-05-28
1022Spain2025-06-07
1023Russia2025-05-25
1024Spain2025-06-02
1025Canada2025-05-27
1026Germany2025-06-16
1027Canada2025-06-06
1028Japan2025-06-01
1029Russia2025-06-03
1030Argentina2025-06-03
1031India2025-06-01
1032Germany2025-06-15
1033Brazil2025-05-24
1034Italy2025-06-10
1035India2025-06-14
1036Brazil2025-05-23
1037Australia2025-06-16
1038Canada2025-06-02
1039Italy2025-05-21
1040France2025-06-02
1041Italy2025-05-22
1042Japan2025-05-18
1043Spain2025-06-03
1044Argentina2025-06-15
1045United Kingdom2025-06-14
1046France2025-06-06
1047India2025-05-21
1048Russia2025-05-25
1049Australia2025-06-03

On-Demand Data

NameIdCountryDate
Murillo G Whobrey1000Russia2025-06-04
Aika Q Ostrosky1001France2025-05-29
David K Gillian1002Brazil2025-06-05
Maisha H Amigon1003Canada2025-05-20
Morrow G Ruta1004Australia2025-05-23
Ricardo P Caldarera1005Germany2025-05-28
Tony L Malet1006Russia2025-05-23
Ricardo H Amigon1007Spain2025-05-25
Nicolas K Whobrey1008Argentina2025-06-09
Wickens I Bolognia1009Brazil2025-05-29
Tony J Albares1010Canada2025-06-05
Aditya F Wieser1011India2025-05-21
Costa Z Flosi1012Spain2025-05-22
Clifford H Kolmetz1013United Kingdom2025-05-31
Smith L Ferencz1014Germany2025-05-31
Cody C Tollner1015Argentina2025-05-26
Cody I Venere1016Argentina2025-05-31
Claire Z Bowley1017Japan2025-05-28
Juan P Ferencz1018Germany2025-06-07
Arvin P Waycott1019Italy2025-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin J InouyeBrazilAmy Elsner QUALIFIED
Misaki J ChuiJapanBernardo Dominic NEW
Aika J FerenczGermanyAmy Elsner QUALIFIED
Maria K OstroskyFranceAnna Fali NEW
Emily T ButtAustraliaBernardo Dominic UNQUALIFIED
Leja P VenereIndiaOnyama Limba RENEWAL
Jeanfrancois L CaudyItalyBernardo Dominic PROPOSAL
Silvio G PoquetteIndiaOnyama Limba NEW
Stacey P CaudyArgentinaStephen Shaw RENEWAL
Darci G BowleyItalyOnyama Limba RENEWAL
Salvatore E DarakjyGermanyIoni Bowcher QUALIFIED
Izzy D WhobreyCanadaStephen Shaw NEW
Alejandro K FerenczUnited KingdomIvan Magalhaes RENEWAL
Mujtaba K DilliardJapanBernardo Dominic QUALIFIED
Silvio C SergiBrazilAmy Elsner PROPOSAL
James R IturbideFranceAsiya Javayant QUALIFIED
Antonio O MorascaRussiaAmy Elsner NEGOTIATION
Leon H BologniaUnited KingdomAmy Elsner NEW
Sinclair B GauchoRussiaOnyama Limba PROPOSAL
Emily W SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Emily N MorascaUnited KingdomIoni Bowcher NEW
Salvatore O RoysterBrazilIvan Magalhaes RENEWAL
Adams V CampainGermanyAmy Elsner UNQUALIFIED
Nicolas E GauchoSpainStephen Shaw PROPOSAL
Aruna S RimRussiaAnna Fali NEGOTIATION
Darci T MorascaUnited KingdomOnyama Limba RENEWAL
Aditya B BriddickRussiaOnyama Limba QUALIFIED
Sinclair B MaletBrazilBernardo Dominic NEW
Jones X AmigonArgentinaXuxue Feng QUALIFIED
Izzy Q GarufiBrazilIvan Magalhaes RENEWAL
Wickens K AlbaresJapanBernardo Dominic RENEWAL
Costa V DilliardCanadaAnna Fali UNQUALIFIED
Juan W GillianRussiaIvan Magalhaes RENEWAL
Aruna I MorascaIndiaOnyama Limba RENEWAL
Ashley N KuskoCanadaAmy Elsner NEW
Wickens X ShinkoArgentinaElwin Sharvill PROPOSAL
Stacey P ButtCanadaBernardo Dominic QUALIFIED
Izzy S FlosiFranceElwin Sharvill UNQUALIFIED
David X GlickIndiaAnna Fali NEGOTIATION
Francesco Y AlbaresItalyAmy Elsner QUALIFIED

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