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
Leon V GlickAustraliaXuxue Feng RENEWAL
Antonio F OldroydItalyAmy Elsner PROPOSAL
Johnson N AlbaresArgentinaOnyama Limba QUALIFIED
Faith W SchemmerJapanIvan Magalhaes NEGOTIATION
Salvatore U OldroydCanadaIvan Magalhaes RENEWAL
Claire G OstroskySpainIoni Bowcher UNQUALIFIED
David Z CaudyJapanOnyama Limba QUALIFIED
Francesco D OstroskyUnited KingdomStephen Shaw NEW
Sinclair F DilliardCanadaBernardo Dominic RENEWAL
Nicolas F ChuiItalyIoni Bowcher UNQUALIFIED
Mujtaba H SaylorsAustraliaIoni Bowcher UNQUALIFIED
Kaitlin T ShinkoRussiaAnna Fali PROPOSAL
Stacey C GillianAustraliaXuxue Feng RENEWAL
Deepesh Z RutaCanadaAsiya Javayant NEGOTIATION
Maria U InouyeJapanIoni Bowcher UNQUALIFIED
Darci T OldroydArgentinaAsiya Javayant RENEWAL
Salvatore G PerinItalyAsiya Javayant RENEWAL
Ashley P ShinkoArgentinaElwin Sharvill NEGOTIATION
Maria L SlusarskiGermanyAsiya Javayant RENEWAL
Izzy B OldroydRussiaAnna Fali PROPOSAL
Aika A DoeIndiaAnna Fali QUALIFIED
Julie Z SergiJapanStephen Shaw QUALIFIED
Kadeem I StockhamIndiaStephen Shaw NEGOTIATION
Murillo U GarufiSpainIvan Magalhaes QUALIFIED
Faith B MorascaGermanyOnyama Limba NEW
Jefferson L PoquetteFranceAmy Elsner UNQUALIFIED
Faith H SchemmerCanadaOnyama Limba NEGOTIATION
Chavez I SergiAustraliaAsiya Javayant PROPOSAL
Costa O NestleArgentinaAmy Elsner UNQUALIFIED
Antonio F WaycottUnited KingdomStephen Shaw UNQUALIFIED
Cody I AmigonItalyStephen Shaw NEW
Maisha K GillianIndiaElwin Sharvill PROPOSAL
Maisha O BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Costa S FollerRussiaIoni Bowcher RENEWAL
Greenwood S FlosiArgentinaAsiya Javayant NEW
Leja D PerinUnited KingdomOnyama Limba UNQUALIFIED
Chavez S CaldareraGermanyBernardo Dominic RENEWAL
Costa Y GlickIndiaXuxue Feng NEGOTIATION
Arvin N StockhamCanadaElwin Sharvill QUALIFIED
Emily E CaudyIndiaElwin Sharvill NEW
Leon E OstroskyFranceAmy Elsner PROPOSAL
Isabel F PoquetteIndiaAsiya Javayant NEGOTIATION
Antonio U MacleadFranceAsiya Javayant QUALIFIED
David T FigeroaUnited KingdomElwin Sharvill QUALIFIED
Nicolas X PoquetteFranceStephen Shaw QUALIFIED
Arvin S GauchoFranceIvan Magalhaes UNQUALIFIED
Clifford B CampainRussiaElwin Sharvill QUALIFIED
Jefferson I StockhamIndiaOnyama Limba RENEWAL
Maisha P PaprockiUnited KingdomOnyama Limba QUALIFIED
Costa C BologniaAustraliaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya Z CaldareraIndiaBernardo Dominic NEW
Munro D SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Murillo P CaldareraGermanyAnna Fali UNQUALIFIED
Morrow K FlosiSpainXuxue Feng QUALIFIED
Aruna J KuskoSpainBernardo Dominic NEGOTIATION
Greenwood L RulapaughIndiaXuxue Feng NEW
Arvin L CaldareraSpainAsiya Javayant NEGOTIATION
Juan S GarufiUnited KingdomXuxue Feng RENEWAL
Aditya Q RulapaughSpainOnyama Limba NEGOTIATION
Misaki M MaletArgentinaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson L OldroydItaly2024-05-09Truhlar And Truhlar Attys QUALIFIED31Xuxue Feng
1001Maria V GlickCanada2024-05-09Dorl, James J Esq RENEWAL7Ioni Bowcher
1002Jefferson V MorascaItaly2024-05-21Truhlar And Truhlar Attys NEGOTIATION94Elwin Sharvill
1003Jennifer S MaletCanada2024-05-01Morlong Associates PROPOSAL43Elwin Sharvill
1004Ashley Z GauchoCanada2024-05-15Printing Dimensions RENEWAL32Anna Fali
1005Juan D NickaUnited Kingdom2024-05-15Feiner Bros UNQUALIFIED11Onyama Limba
1006Octavia O TollnerJapan2024-05-16King, Christopher A Esq QUALIFIED58Ivan Magalhaes
1007Kaitlin F AlbaresCanada2024-05-21Dorl, James J Esq RENEWAL23Bernardo Dominic
1008Jeanfrancois Q CampainArgentina2024-05-16Buckley Miller Wright NEW53Anna Fali
1009Maria Q CaudyBrazil2024-05-09Chapman, Ross E Esq UNQUALIFIED51Onyama Limba
1010Claire E WieserCanada2024-05-20Rangoni Of Florence UNQUALIFIED2Anna Fali
1011Clifford K AmigonBrazil2024-04-26Dorl, James J Esq PROPOSAL79Ivan Magalhaes
1012Jones J StockhamSpain2024-05-18Chapman, Ross E Esq NEGOTIATION36Xuxue Feng
1013Aditya V WieserJapan2024-05-20King, Christopher A Esq NEW6Ivan Magalhaes
1014Darci H IturbideIndia2024-04-26Chanay, Jeffrey A Esq PROPOSAL24Stephen Shaw
1015Chavez K DoeBrazil2024-05-11Benton, John B Jr UNQUALIFIED13Amy Elsner
1016Kaitlin Y MacleadArgentina2024-05-13Feiner Bros NEGOTIATION77Amy Elsner
1017Maria G MaletRussia2024-05-09Rangoni Of Florence PROPOSAL57Anna Fali
1018Faith V AmigonSpain2024-05-17Chemel, James L Cpa UNQUALIFIED11Ivan Magalhaes
1019Silvio Q StockhamArgentina2024-05-06Chapman, Ross E Esq PROPOSAL68Xuxue Feng
1020Alejandro H PaprockiUnited Kingdom2024-05-01Morlong Associates NEGOTIATION82Bernardo Dominic
1021Silvio Z FerenczGermany2024-05-08Buckley Miller Wright RENEWAL0Amy Elsner
1022Sinclair H MaletCanada2024-05-18Buckley Miller Wright PROPOSAL45Elwin Sharvill
1023Aika F AmigonArgentina2024-05-06Chanay, Jeffrey A Esq QUALIFIED65Elwin Sharvill
1024Emily O BowleyFrance2024-05-05Truhlar And Truhlar Attys NEW76Ivan Magalhaes
1025Aika E PoquetteSpain2024-05-19Buckley Miller Wright PROPOSAL28Elwin Sharvill
1026Costa R DarakjyGermany2024-05-17Feiner Bros NEW27Onyama Limba
1027Clifford L ButtAustralia2024-05-21Feltz Printing Service NEW45Stephen Shaw
1028Aika H RoysterArgentina2024-05-23Truhlar And Truhlar Attys NEW13Xuxue Feng
1029Alejandro G OstroskyRussia2024-05-05Rousseaux, Michael Esq NEW49Onyama Limba
1030Silvio U WhobreyRussia2024-04-30Feltz Printing Service NEGOTIATION21Ioni Bowcher
1031Aika P GauchoBrazil2024-05-11Chapman, Ross E Esq PROPOSAL79Stephen Shaw
1032Sinclair L CampainRussia2024-05-04Chapman, Ross E Esq QUALIFIED4Xuxue Feng
1033Clifford M BowleyBrazil2024-05-03Truhlar And Truhlar Attys NEW95Asiya Javayant
1034Izzy P RimAustralia2024-05-20Truhlar And Truhlar Attys NEGOTIATION70Asiya Javayant
1035Rodrigues W KolmetzGermany2024-05-16Buckley Miller Wright RENEWAL2Stephen Shaw
1036Jefferson N IturbideIndia2024-05-12Chapman, Ross E Esq NEGOTIATION22Bernardo Dominic
1037Arvin B PoquetteUnited Kingdom2024-04-25Dorl, James J Esq RENEWAL93Onyama Limba
1038Julie A DilliardSpain2024-05-16Buckley Miller Wright RENEWAL99Amy Elsner
1039Ashley K BologniaAustralia2024-04-29Feltz Printing Service UNQUALIFIED14Stephen Shaw
1040Francesco H CaudyFrance2024-05-09Rousseaux, Michael Esq NEGOTIATION14Bernardo Dominic
1041Misaki X MaletUnited Kingdom2024-05-06Chemel, James L Cpa NEGOTIATION20Xuxue Feng
1042Murillo N FlosiBrazil2024-05-06Feiner Bros QUALIFIED12Stephen Shaw
1043Cody L FigeroaFrance2024-05-05Commercial Press QUALIFIED46Ivan Magalhaes
1044Francesco N AmigonUnited Kingdom2024-05-18Rangoni Of Florence PROPOSAL69Anna Fali
1045Faith Q GlickCanada2024-05-13Benton, John B Jr PROPOSAL96Bernardo Dominic
1046Aruna T MorascaArgentina2024-04-28Buckley Miller Wright UNQUALIFIED99Bernardo Dominic
1047Faith J RutaRussia2024-05-17Rangoni Of Florence RENEWAL78Asiya Javayant
1048Nicolas F AlbaresAustralia2024-05-23Chemel, James L Cpa UNQUALIFIED14Anna Fali
1049Mujtaba U BologniaUnited Kingdom2024-05-08Feiner Bros RENEWAL65Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy N StensethJapanIoni Bowcher PROPOSAL
Jennifer Z RulapaughSpainBernardo Dominic RENEWAL
Ivar W WhobreyAustraliaAnna Fali NEW
Julie S PaprockiGermanyElwin Sharvill NEGOTIATION
Costa B VenereIndiaIoni Bowcher NEGOTIATION
Maria J SlusarskiSpainAsiya Javayant PROPOSAL
Deepesh W KuskoJapanAsiya Javayant PROPOSAL
Leja Y OldroydRussiaAsiya Javayant PROPOSAL
Faith K IturbideBrazilOnyama Limba NEGOTIATION
Leja C PoquetteAustraliaBernardo Dominic QUALIFIED
Jennifer V StockhamFranceAnna Fali QUALIFIED
Antonio M FigeroaBrazilAmy Elsner NEW
Julie H StensethJapanStephen Shaw NEGOTIATION
Wickens U GarufiItalyBernardo Dominic NEW
Mayumi K SergiFranceIoni Bowcher UNQUALIFIED
Sinclair H RutaSpainOnyama Limba QUALIFIED
Smith B NickaAustraliaAsiya Javayant PROPOSAL
Ricardo K WaycottAustraliaIvan Magalhaes NEGOTIATION
Claire C SaylorsFranceAnna Fali UNQUALIFIED
Izzy J MaletIndiaAsiya Javayant NEGOTIATION
Nicolas Y SaylorsAustraliaAnna Fali NEGOTIATION
Adams D CaldareraSpainOnyama Limba UNQUALIFIED
Jeanfrancois F MarrierCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois C KuskoIndiaElwin Sharvill NEW
Octavia W WhobreyUnited KingdomAnna Fali RENEWAL
Nicolas W WieserArgentinaAsiya Javayant UNQUALIFIED
Jones U WhobreyJapanStephen Shaw NEW
Johnson N WieserFranceXuxue Feng NEGOTIATION
Misaki V ButtArgentinaElwin Sharvill UNQUALIFIED
Greenwood Z OldroydGermanyOnyama Limba QUALIFIED
Alejandro B ChuiItalyIvan Magalhaes RENEWAL
Ricardo Q FerenczRussiaBernardo Dominic NEGOTIATION
Greenwood B GauchoRussiaStephen Shaw NEGOTIATION
Leja G SaylorsRussiaStephen Shaw NEW
Smith Z AlbaresIndiaIvan Magalhaes RENEWAL
Sinclair D GillianFranceIvan Magalhaes UNQUALIFIED
Sinclair G AlbaresCanadaStephen Shaw QUALIFIED
Chavez Q CaldareraItalyElwin Sharvill NEW
Salvatore I GarufiSpainAnna Fali NEW
Costa Z PoquetteArgentinaIvan Magalhaes RENEWAL
Ashley J PaprockiAustraliaAmy Elsner UNQUALIFIED
Maria B FlosiBrazilIoni Bowcher UNQUALIFIED
Ricardo O FlosiArgentinaAsiya Javayant QUALIFIED
Arvin Y SergiIndiaStephen Shaw QUALIFIED
Kadeem T FigeroaArgentinaAmy Elsner NEW
Murillo V SlusarskiGermanyOnyama Limba NEW
Johnson F BologniaCanadaXuxue Feng NEW
Jefferson G InouyeUnited KingdomBernardo Dominic RENEWAL
Kaitlin C KolmetzArgentinaAsiya Javayant NEGOTIATION
Mayumi K RutaUnited KingdomAsiya Javayant NEGOTIATION
Frozen Columns
Name
Aruna U Figeroa
Faith G Doe
Sinclair P Caldarera
Ricardo O Bowley
James C Stockham
Isabel E Butt
Smith N Campain
Isabel W Paprocki
Nicolas O Stenseth
Ashley K Malet
Chavez I Darakjy
Kadeem U Tollner
Izzy D Rulapaugh
Leja U Amigon
Antonio T Poquette
Misaki I Kolmetz
Chavez P Campain
Claire C Morasca
Greenwood T Whobrey
Arvin Z Vocelka
Leon I Stockham
Costa X Vocelka
Kaitlin Y Ostrosky
Sinclair I Oldroyd
Salvatore T Saylors
Emily K Morasca
Nicolas J Oldroyd
Deepesh F Rulapaugh
Sinclair F Ostrosky
Rodrigues I Gillian
Leon W Royster
Silvio D Gaucho
Leja X Ostrosky
Aika L Oldroyd
Mujtaba S Dilliard
Deepesh C Paprocki
Maria E Poquette
Leja Q Glick
Arvin B Maclead
Emily A Tollner
Johnson H Caudy
Maria L Amigon
Clifford O Malet
Aika R Bowley
Arvin J Marrier
Tony Q Slusarski
Aika W Nestle
Greenwood J Poquette
Alejandro T Chui
Ivar I Bowley
IdCountryDate
1000Canada2024-04-28
1001Argentina2024-04-30
1002Canada2024-05-16
1003United Kingdom2024-05-23
1004Russia2024-05-06
1005Argentina2024-05-21
1006Japan2024-05-18
1007United Kingdom2024-05-02
1008France2024-05-02
1009Japan2024-05-03
1010Russia2024-05-19
1011Italy2024-05-01
1012Brazil2024-05-04
1013Australia2024-04-27
1014Russia2024-05-10
1015Brazil2024-05-05
1016France2024-05-11
1017Italy2024-04-28
1018Japan2024-05-23
1019India2024-05-12
1020France2024-05-05
1021Italy2024-05-08
1022Argentina2024-05-15
1023Spain2024-05-17
1024Japan2024-05-13
1025India2024-05-07
1026Brazil2024-05-05
1027Brazil2024-05-21
1028Canada2024-05-24
1029Russia2024-05-16
1030Japan2024-04-27
1031Canada2024-05-13
1032France2024-05-16
1033Russia2024-04-26
1034Brazil2024-04-27
1035Australia2024-04-25
1036Russia2024-05-14
1037Australia2024-05-24
1038Spain2024-05-12
1039Canada2024-05-22
1040Spain2024-05-16
1041Germany2024-05-02
1042Spain2024-05-21
1043Germany2024-05-14
1044Spain2024-04-30
1045India2024-04-28
1046Australia2024-05-02
1047Spain2024-05-18
1048Canada2024-05-14
1049Spain2024-05-20

On-Demand Data

NameIdCountryDate
Silvio C Ostrosky1000United Kingdom2024-04-27
Kaitlin L Whobrey1001Brazil2024-05-01
Aditya O Wieser1002United Kingdom2024-05-19
Clifford Z Darakjy1003Russia2024-05-17
Nicolas S Vocelka1004United Kingdom2024-05-03
Juan K Bolognia1005Australia2024-05-05
Misaki P Gillian1006United Kingdom2024-05-22
Murillo P Ferencz1007United Kingdom2024-05-05
Antonio I Nicka1008Germany2024-05-16
Jennifer J Paprocki1009India2024-05-09
Arvin Y Nestle1010Russia2024-05-02
James K Sergi1011United Kingdom2024-05-09
Misaki S Doe1012Japan2024-04-27
Izzy X Maclead1013Australia2024-05-16
Misaki I Wieser1014Canada2024-05-21
Misaki J Doe1015India2024-05-02
Francesco D Malet1016Australia2024-04-25
Greenwood B Caldarera1017Spain2024-05-16
Cody I Garufi1018Spain2024-05-19
Greenwood D Glick1019Russia2024-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois V OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Darci G FlosiAustraliaXuxue Feng PROPOSAL
Cody A GarufiRussiaOnyama Limba QUALIFIED
Octavia C RutaGermanyAsiya Javayant RENEWAL
Kaitlin L BriddickArgentinaOnyama Limba UNQUALIFIED
Claire H OstroskyAustraliaIvan Magalhaes RENEWAL
Silvio E FerenczGermanyBernardo Dominic PROPOSAL
Jefferson J SchemmerIndiaStephen Shaw PROPOSAL
Misaki A InouyeSpainIoni Bowcher UNQUALIFIED
Julie A BriddickCanadaOnyama Limba PROPOSAL
Wickens N PerinGermanyOnyama Limba NEGOTIATION
Salvatore T StensethSpainIoni Bowcher NEGOTIATION
Juan Z ButtFranceIvan Magalhaes QUALIFIED
Greenwood V OstroskyItalyAmy Elsner PROPOSAL
Leon V ButtSpainBernardo Dominic NEW
Murillo F MorascaSpainAnna Fali UNQUALIFIED
Kadeem M MorascaGermanyIoni Bowcher UNQUALIFIED
Nicolas O StockhamUnited KingdomOnyama Limba NEGOTIATION
Aika G TollnerArgentinaAmy Elsner NEGOTIATION
Aruna N DoeAustraliaStephen Shaw NEGOTIATION
Kaitlin C GauchoIndiaAnna Fali NEW
Claire A KuskoCanadaAsiya Javayant NEW
Clifford C TollnerAustraliaXuxue Feng NEW
Maria P MaletRussiaOnyama Limba UNQUALIFIED
Mujtaba Y ShinkoIndiaBernardo Dominic NEGOTIATION
James A FlosiRussiaIoni Bowcher RENEWAL
Morrow E StensethJapanStephen Shaw UNQUALIFIED
Aika L MaletCanadaOnyama Limba NEGOTIATION
Cody X NestleJapanIoni Bowcher RENEWAL
Arvin C VocelkaGermanyElwin Sharvill QUALIFIED
Stacey Z ButtJapanAmy Elsner QUALIFIED
Kaitlin P MacleadGermanyStephen Shaw NEW
Salvatore T RoysterCanadaIvan Magalhaes QUALIFIED
Francesco Q CaldareraCanadaXuxue Feng RENEWAL
Wickens U StockhamAustraliaElwin Sharvill QUALIFIED
Munro I SlusarskiCanadaElwin Sharvill RENEWAL
Nicolas A VenereSpainAsiya Javayant QUALIFIED
Murillo Z GillianSpainAnna Fali QUALIFIED
Faith U IturbideGermanyBernardo Dominic PROPOSAL
Silvio P GlickRussiaAmy Elsner 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>