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
Aika A SchemmerIndiaBernardo Dominic NEGOTIATION
Darci J AlbaresBrazilOnyama Limba QUALIFIED
Julie O StockhamCanadaXuxue Feng UNQUALIFIED
Antonio T PerinCanadaXuxue Feng RENEWAL
Mujtaba X RulapaughJapanStephen Shaw UNQUALIFIED
Adams U NestleUnited KingdomElwin Sharvill PROPOSAL
Munro J OldroydRussiaAnna Fali NEW
Maisha O OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Antonio Z GarufiJapanIoni Bowcher QUALIFIED
Clifford C PaprockiRussiaIvan Magalhaes NEGOTIATION
Jefferson S SergiAustraliaXuxue Feng UNQUALIFIED
Adams O WieserArgentinaAnna Fali QUALIFIED
Ashley I FigeroaSpainBernardo Dominic RENEWAL
Juan T RutaBrazilAmy Elsner PROPOSAL
Octavia F FigeroaSpainXuxue Feng RENEWAL
Misaki S PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Maisha Y PoquetteFranceElwin Sharvill NEGOTIATION
Cody W GillianIndiaAnna Fali NEW
Alejandro H RulapaughRussiaOnyama Limba PROPOSAL
Jefferson X KuskoJapanAnna Fali NEGOTIATION
Claire B MarrierArgentinaOnyama Limba UNQUALIFIED
Adams X SlusarskiUnited KingdomStephen Shaw RENEWAL
Faith D StensethBrazilElwin Sharvill QUALIFIED
Misaki V RimJapanIvan Magalhaes NEGOTIATION
Murillo U NickaArgentinaBernardo Dominic RENEWAL
Claire B BowleyArgentinaStephen Shaw RENEWAL
Alejandro Q RimItalyElwin Sharvill QUALIFIED
Stacey C StockhamGermanyAmy Elsner PROPOSAL
Alejandro P NickaCanadaXuxue Feng NEGOTIATION
Ashley Z VenereBrazilIoni Bowcher NEW
Leja N TollnerAustraliaXuxue Feng RENEWAL
Ricardo P SchemmerSpainAmy Elsner UNQUALIFIED
Silvio T MacleadCanadaIvan Magalhaes RENEWAL
Faith H BologniaUnited KingdomXuxue Feng PROPOSAL
Silvio F PoquetteRussiaAnna Fali UNQUALIFIED
Octavia Z TollnerCanadaIoni Bowcher RENEWAL
Costa E FlosiArgentinaOnyama Limba PROPOSAL
Johnson R WieserFranceAsiya Javayant RENEWAL
Julie H NickaBrazilIvan Magalhaes NEGOTIATION
Murillo C MaletAustraliaXuxue Feng PROPOSAL
Stacey Y SaylorsUnited KingdomIoni Bowcher PROPOSAL
Izzy R RutaBrazilAmy Elsner RENEWAL
Ricardo K GillianAustraliaAsiya Javayant QUALIFIED
Ashley S GillianIndiaStephen Shaw NEGOTIATION
James N PoquetteSpainBernardo Dominic NEGOTIATION
Costa W CaldareraBrazilAmy Elsner NEW
Izzy Y AmigonAustraliaElwin Sharvill RENEWAL
Mayumi G NickaRussiaXuxue Feng NEW
Leja A InouyeJapanElwin Sharvill RENEWAL
Francesco O GillianFranceOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ivar O CaudyIndiaBernardo Dominic NEW
Juan Q WaycottCanadaIvan Magalhaes NEGOTIATION
Adams P MaletArgentinaXuxue Feng RENEWAL
Ivar M DarakjyAustraliaOnyama Limba QUALIFIED
Johnson N StensethRussiaXuxue Feng NEW
Jeanfrancois Q FollerSpainOnyama Limba PROPOSAL
Sinclair Y WieserIndiaAmy Elsner RENEWAL
Salvatore V AlbaresJapanIoni Bowcher PROPOSAL
Aditya N RulapaughIndiaStephen Shaw QUALIFIED
Aditya W DilliardJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony C KolmetzAustralia2026-08-06Buckley Miller Wright UNQUALIFIED49Ivan Magalhaes
1001Claire E RutaIndia2026-07-17Buckley Miller Wright PROPOSAL83Anna Fali
1002Alejandro M GarufiItaly2026-08-07Feltz Printing Service UNQUALIFIED60Amy Elsner
1003Smith E IturbideAustralia2026-07-26King, Christopher A Esq PROPOSAL9Asiya Javayant
1004Mayumi F RulapaughFrance2026-07-27Chanay, Jeffrey A Esq UNQUALIFIED45Asiya Javayant
1005Isabel J RutaItaly2026-07-30Buckley Miller Wright PROPOSAL63Ivan Magalhaes
1006Morrow P FigeroaBrazil2026-07-23Feltz Printing Service RENEWAL74Bernardo Dominic
1007Francesco O ButtCanada2026-07-19Truhlar And Truhlar Attys UNQUALIFIED9Elwin Sharvill
1008Clifford L FollerUnited Kingdom2026-08-10Rousseaux, Michael Esq NEGOTIATION74Bernardo Dominic
1009Claire D RutaArgentina2026-07-24King, Christopher A Esq PROPOSAL10Amy Elsner
1010Sinclair V ShinkoAustralia2026-07-29Feiner Bros PROPOSAL18Stephen Shaw
1011Emily F KuskoRussia2026-07-31Chanay, Jeffrey A Esq RENEWAL57Anna Fali
1012David D DoeFrance2026-07-23Feiner Bros QUALIFIED7Ivan Magalhaes
1013Munro C FerenczItaly2026-07-22Chapman, Ross E Esq QUALIFIED93Anna Fali
1014Smith B NestleIndia2026-08-07Morlong Associates QUALIFIED81Ioni Bowcher
1015Arvin E FerenczAustralia2026-07-30Truhlar And Truhlar Attys RENEWAL47Asiya Javayant
1016Maria U CaldareraSpain2026-07-31Morlong Associates PROPOSAL97Asiya Javayant
1017Leon A RimCanada2026-07-29Printing Dimensions NEW54Anna Fali
1018Faith Z VenereSpain2026-08-13Truhlar And Truhlar Attys NEW12Stephen Shaw
1019Kadeem B WhobreyJapan2026-08-12Morlong Associates UNQUALIFIED29Amy Elsner
1020Jones M RulapaughIndia2026-08-10Buckley Miller Wright PROPOSAL2Bernardo Dominic
1021Wickens C NickaIndia2026-07-18Commercial Press RENEWAL91Bernardo Dominic
1022Salvatore T BowleyRussia2026-08-13Truhlar And Truhlar Attys PROPOSAL62Amy Elsner
1023Julie P StockhamBrazil2026-08-10Chemel, James L Cpa UNQUALIFIED28Asiya Javayant
1024Jones E RutaFrance2026-08-07Chapman, Ross E Esq UNQUALIFIED66Onyama Limba
1025Tony E RutaJapan2026-07-29Rousseaux, Michael Esq PROPOSAL40Stephen Shaw
1026Maisha O CampainRussia2026-07-16Chanay, Jeffrey A Esq NEW34Asiya Javayant
1027Costa Q OstroskyItaly2026-07-17Chemel, James L Cpa NEW59Ivan Magalhaes
1028Aika B StensethGermany2026-08-03Truhlar And Truhlar Attys NEW98Amy Elsner
1029Juan Z GarufiFrance2026-07-24Commercial Press NEGOTIATION7Xuxue Feng
1030Maria Q MaletItaly2026-08-03Morlong Associates NEW98Onyama Limba
1031Claire W NickaBrazil2026-07-22Chanay, Jeffrey A Esq NEW88Xuxue Feng
1032Costa X GlickIndia2026-07-30Commercial Press NEW37Amy Elsner
1033Smith T GlickBrazil2026-07-20Dorl, James J Esq RENEWAL66Asiya Javayant
1034Adams I FollerRussia2026-07-29Dorl, James J Esq PROPOSAL80Anna Fali
1035Alejandro M VenereUnited Kingdom2026-07-18Feiner Bros NEGOTIATION72Amy Elsner
1036Wickens X BowleyUnited Kingdom2026-07-24Benton, John B Jr RENEWAL97Anna Fali
1037Morrow Q IturbideArgentina2026-08-04Rangoni Of Florence UNQUALIFIED71Elwin Sharvill
1038Costa Z SergiRussia2026-07-24Truhlar And Truhlar Attys UNQUALIFIED30Bernardo Dominic
1039Rodrigues F OstroskyIndia2026-07-29Buckley Miller Wright UNQUALIFIED86Ivan Magalhaes
1040Claire L WieserArgentina2026-08-10Morlong Associates QUALIFIED29Stephen Shaw
1041Adams X GlickRussia2026-07-20Chanay, Jeffrey A Esq QUALIFIED21Ioni Bowcher
1042Faith U PaprockiArgentina2026-07-22King, Christopher A Esq UNQUALIFIED67Stephen Shaw
1043Morrow M KolmetzCanada2026-08-14Morlong Associates PROPOSAL16Onyama Limba
1044Alejandro E AmigonRussia2026-07-17Rousseaux, Michael Esq QUALIFIED69Xuxue Feng
1045Mayumi K PaprockiGermany2026-07-29Rousseaux, Michael Esq RENEWAL66Ioni Bowcher
1046James V RulapaughAustralia2026-08-12Chanay, Jeffrey A Esq QUALIFIED17Elwin Sharvill
1047Izzy U IturbideFrance2026-08-05Chapman, Ross E Esq RENEWAL26Asiya Javayant
1048Darci R SaylorsIndia2026-07-22Rangoni Of Florence QUALIFIED7Ivan Magalhaes
1049Mayumi D VocelkaAustralia2026-08-03Rousseaux, Michael Esq NEW70Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba D DoeUnited KingdomOnyama Limba PROPOSAL
Octavia B PoquetteCanadaIoni Bowcher PROPOSAL
Claire U ButtArgentinaIoni Bowcher QUALIFIED
Maisha Z SaylorsBrazilOnyama Limba NEGOTIATION
Smith G GillianSpainOnyama Limba RENEWAL
Salvatore U CaldareraIndiaElwin Sharvill PROPOSAL
Costa A StensethRussiaElwin Sharvill UNQUALIFIED
Clifford Y PerinFranceAnna Fali PROPOSAL
Sinclair E IturbideJapanAmy Elsner PROPOSAL
Octavia O FlosiItalyBernardo Dominic NEW
Ivar G MaletUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro P NestleUnited KingdomElwin Sharvill PROPOSAL
Cody L FlosiIndiaIvan Magalhaes UNQUALIFIED
James Z GauchoGermanyAsiya Javayant UNQUALIFIED
Francesco V MarrierSpainStephen Shaw RENEWAL
Emily G FerenczGermanyElwin Sharvill QUALIFIED
Izzy T MarrierGermanyElwin Sharvill RENEWAL
Cody G GarufiGermanyBernardo Dominic NEGOTIATION
Mujtaba M MaletCanadaIvan Magalhaes UNQUALIFIED
Julie D WieserRussiaAsiya Javayant NEGOTIATION
Claire O MacleadGermanyXuxue Feng QUALIFIED
Izzy Q CampainAustraliaBernardo Dominic NEGOTIATION
Aika B GauchoFranceOnyama Limba NEGOTIATION
Ivar S GarufiItalyElwin Sharvill UNQUALIFIED
Faith V SlusarskiUnited KingdomXuxue Feng RENEWAL
Maisha Z MarrierUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois M StockhamAustraliaAmy Elsner UNQUALIFIED
Deepesh V MorascaItalyBernardo Dominic QUALIFIED
Murillo W PerinSpainBernardo Dominic NEGOTIATION
Darci G PaprockiSpainAmy Elsner QUALIFIED
Maisha Z InouyeGermanyIoni Bowcher UNQUALIFIED
Julie E CaudyFranceOnyama Limba RENEWAL
Aruna Q MorascaJapanOnyama Limba UNQUALIFIED
Faith Z ShinkoUnited KingdomAmy Elsner RENEWAL
Tony A WaycottRussiaIoni Bowcher RENEWAL
Juan F SergiBrazilStephen Shaw RENEWAL
Arvin W StockhamCanadaIoni Bowcher QUALIFIED
Alejandro K RoysterIndiaIvan Magalhaes QUALIFIED
Mujtaba O StensethJapanStephen Shaw QUALIFIED
Greenwood T DarakjyAustraliaOnyama Limba NEW
Smith L VenereAustraliaAmy Elsner NEGOTIATION
Emily R BologniaIndiaElwin Sharvill RENEWAL
Julie R VocelkaUnited KingdomAnna Fali PROPOSAL
Mayumi P GarufiAustraliaAnna Fali RENEWAL
Adams G WieserItalyOnyama Limba NEW
Silvio J CaldareraIndiaOnyama Limba NEW
Stacey N WaycottArgentinaAnna Fali PROPOSAL
Wickens A CampainSpainIvan Magalhaes PROPOSAL
Maisha O SchemmerItalyAnna Fali PROPOSAL
Adams H AmigonArgentinaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Aruna O Caldarera
Isabel O Schemmer
Silvio L Caudy
Morrow X Paprocki
Octavia V Caldarera
Adams V Sergi
Clifford C Garufi
Mayumi S Kolmetz
Sinclair K Bowley
Aika X Campain
Adams T Campain
Jeanfrancois U Figeroa
Maria U Campain
Ricardo J Kolmetz
Jeanfrancois A Morasca
Arvin M Gillian
Maisha E Stenseth
Clifford F Shinko
Jefferson Q Dilliard
Chavez K Sergi
Alejandro M Briddick
Misaki P Caudy
Maisha C Gillian
Aika Z Marrier
Cody T Campain
Isabel A Nicka
Mayumi I Foller
Deepesh K Schemmer
Nicolas C Caudy
Juan P Chui
Francesco G Stockham
Stacey C Campain
Izzy W Malet
David P Briddick
Maria Y Malet
Antonio B Ruta
Wickens I Royster
Salvatore N Doe
Jeanfrancois O Gaucho
James R Gaucho
Mayumi Q Kusko
Octavia V Glick
Aruna M Butt
Munro B Briddick
Alejandro R Darakjy
Aika C Garufi
Julie F Perin
Salvatore U Butt
Jones X Kolmetz
Alejandro V Whobrey
IdCountryDate
1000Brazil2026-08-09
1001Russia2026-08-01
1002Australia2026-08-09
1003Germany2026-07-30
1004India2026-07-28
1005Brazil2026-08-07
1006Argentina2026-08-10
1007Spain2026-07-21
1008Russia2026-08-14
1009France2026-08-03
1010United Kingdom2026-07-20
1011Canada2026-08-05
1012Germany2026-07-28
1013Italy2026-08-04
1014Brazil2026-08-01
1015France2026-08-03
1016Germany2026-08-05
1017India2026-08-12
1018France2026-07-20
1019Australia2026-07-22
1020Japan2026-07-31
1021Italy2026-07-19
1022Italy2026-07-21
1023Australia2026-07-20
1024Brazil2026-07-28
1025Brazil2026-08-14
1026Japan2026-07-23
1027Canada2026-08-07
1028Italy2026-07-28
1029Australia2026-07-16
1030Canada2026-07-25
1031Argentina2026-07-20
1032Australia2026-07-25
1033Germany2026-07-25
1034Australia2026-07-22
1035Canada2026-07-27
1036Spain2026-07-16
1037Japan2026-08-06
1038Argentina2026-08-09
1039Argentina2026-08-06
1040Australia2026-08-05
1041Italy2026-07-26
1042Brazil2026-08-08
1043Italy2026-07-23
1044Italy2026-07-23
1045Argentina2026-07-17
1046Australia2026-07-22
1047Japan2026-08-01
1048India2026-07-27
1049Spain2026-07-20

On-Demand Data

NameIdCountryDate
Murillo J Glick1000Germany2026-07-21
Morrow W Wieser1001Argentina2026-08-10
Octavia Y Kusko1002Japan2026-07-30
Kaitlin Z Gillian1003Japan2026-07-16
Morrow A Stockham1004Brazil2026-07-20
Tony P Malet1005United Kingdom2026-08-07
Leja L Garufi1006Canada2026-07-30
Faith T Rulapaugh1007Russia2026-07-29
Arvin F Inouye1008Australia2026-08-11
Kaitlin P Ruta1009United Kingdom2026-08-03
Antonio N Marrier1010Argentina2026-07-24
Nicolas H Albares1011Germany2026-08-01
Francesco M Butt1012Italy2026-07-16
James B Wieser1013Germany2026-07-20
Ashley W Rulapaugh1014Japan2026-07-25
Isabel P Maclead1015India2026-07-25
Arvin G Rulapaugh1016Argentina2026-08-09
Johnson Q Bowley1017Canada2026-07-20
Maisha I Gaucho1018Argentina2026-08-14
Rodrigues D Nestle1019United Kingdom2026-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Z OldroydSpainAsiya Javayant NEGOTIATION
Greenwood C SaylorsJapanAsiya Javayant QUALIFIED
Darci J StockhamItalyIoni Bowcher NEW
Maisha R CampainAustraliaAsiya Javayant PROPOSAL
Greenwood L AlbaresRussiaXuxue Feng RENEWAL
Johnson V SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Maisha R StensethArgentinaAsiya Javayant NEW
Juan J GarufiSpainAmy Elsner PROPOSAL
Julie A DilliardRussiaAmy Elsner NEGOTIATION
Jefferson Z VenereFranceOnyama Limba NEGOTIATION
Alejandro Q InouyeArgentinaAnna Fali PROPOSAL
Adams V BriddickSpainAnna Fali NEGOTIATION
Mujtaba F GillianAustraliaElwin Sharvill PROPOSAL
Juan Y MarrierArgentinaAmy Elsner NEW
Wickens D BowleyIndiaBernardo Dominic UNQUALIFIED
Arvin R CaldareraIndiaXuxue Feng PROPOSAL
David K RutaUnited KingdomXuxue Feng RENEWAL
Greenwood Y GauchoUnited KingdomStephen Shaw RENEWAL
Misaki O PoquetteArgentinaIvan Magalhaes NEW
Ivar A PerinJapanIvan Magalhaes NEW
Darci C CaldareraSpainXuxue Feng NEW
Mayumi Y StensethJapanOnyama Limba RENEWAL
Claire Q BologniaAustraliaAnna Fali NEW
Kadeem L CaudySpainAnna Fali RENEWAL
Leon L MaletItalyStephen Shaw PROPOSAL
Jones M SlusarskiItalyOnyama Limba RENEWAL
Chavez C FlosiAustraliaStephen Shaw RENEWAL
Jefferson Z PaprockiSpainElwin Sharvill RENEWAL
Cody I VenereUnited KingdomStephen Shaw RENEWAL
Rodrigues E OldroydIndiaXuxue Feng NEW
Cody F AlbaresCanadaIoni Bowcher UNQUALIFIED
Clifford L RulapaughJapanAnna Fali NEGOTIATION
Kaitlin Y ButtIndiaAmy Elsner NEW
Jeanfrancois K KuskoSpainOnyama Limba PROPOSAL
Ricardo X MacleadJapanAnna Fali RENEWAL
Cody G ChuiCanadaXuxue Feng NEW
Julie T WhobreyArgentinaIvan Magalhaes PROPOSAL
Rodrigues I MorascaIndiaIvan Magalhaes RENEWAL
Wickens A PerinGermanyIvan Magalhaes NEW
Aruna O KuskoFranceXuxue 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>