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
Clifford P FerenczItalyAnna Fali NEW
Ashley H VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Greenwood R SergiBrazilOnyama Limba NEW
Jeanfrancois K WaycottSpainAmy Elsner NEGOTIATION
Aditya H AlbaresGermanyBernardo Dominic UNQUALIFIED
Aruna T VocelkaBrazilElwin Sharvill QUALIFIED
Kadeem M KolmetzArgentinaBernardo Dominic PROPOSAL
Clifford L RoysterRussiaOnyama Limba PROPOSAL
Mayumi I PerinIndiaAmy Elsner RENEWAL
Ricardo M ShinkoItalyOnyama Limba NEW
Nicolas T FollerGermanyXuxue Feng QUALIFIED
Cody C GauchoGermanyElwin Sharvill QUALIFIED
Morrow U ShinkoCanadaIoni Bowcher RENEWAL
Mujtaba K KolmetzSpainAsiya Javayant QUALIFIED
Izzy U MorascaBrazilStephen Shaw QUALIFIED
Aika B WaycottJapanStephen Shaw NEGOTIATION
Stacey Z GillianItalyOnyama Limba UNQUALIFIED
Kadeem J StockhamBrazilXuxue Feng QUALIFIED
Cody M MaletUnited KingdomBernardo Dominic QUALIFIED
Jennifer I ShinkoJapanAsiya Javayant UNQUALIFIED
Kaitlin C TollnerFranceBernardo Dominic UNQUALIFIED
Cody H NestleArgentinaAnna Fali PROPOSAL
Ashley D MaletItalyAnna Fali UNQUALIFIED
Nicolas R PerinAustraliaAnna Fali UNQUALIFIED
Ivar C ButtSpainIoni Bowcher PROPOSAL
Aruna P BologniaBrazilAmy Elsner PROPOSAL
Clifford Q MarrierIndiaStephen Shaw PROPOSAL
Greenwood V MarrierItalyAsiya Javayant NEGOTIATION
Antonio Q GillianRussiaIvan Magalhaes QUALIFIED
Jeanfrancois C ChuiGermanyIvan Magalhaes RENEWAL
Maria V WhobreyRussiaAsiya Javayant QUALIFIED
Ivar R PoquetteGermanyIvan Magalhaes QUALIFIED
Izzy O WaycottBrazilAsiya Javayant PROPOSAL
Aika C GlickGermanyBernardo Dominic QUALIFIED
Arvin H SergiAustraliaBernardo Dominic NEW
Johnson U PerinIndiaIoni Bowcher RENEWAL
Izzy U SchemmerIndiaAsiya Javayant UNQUALIFIED
Darci P KuskoCanadaBernardo Dominic NEW
Sinclair H DarakjyAustraliaIvan Magalhaes NEW
Claire N VocelkaRussiaAnna Fali NEGOTIATION
Aika R ChuiBrazilIvan Magalhaes UNQUALIFIED
Smith Q TollnerArgentinaOnyama Limba RENEWAL
Antonio Q FerenczArgentinaBernardo Dominic QUALIFIED
Jennifer N BriddickBrazilElwin Sharvill QUALIFIED
Tony L MarrierIndiaAsiya Javayant UNQUALIFIED
Smith O VocelkaCanadaElwin Sharvill RENEWAL
Adams C OldroydBrazilAnna Fali PROPOSAL
Juan M CaldareraJapanIvan Magalhaes UNQUALIFIED
Alejandro R AlbaresFranceAsiya Javayant QUALIFIED
Cody E MaletUnited KingdomBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood Y SaylorsAustraliaBernardo Dominic NEW
Munro N VocelkaItalyBernardo Dominic NEGOTIATION
Silvio C MacleadArgentinaElwin Sharvill NEGOTIATION
Silvio K VenereBrazilAsiya Javayant RENEWAL
Mujtaba D OstroskyUnited KingdomOnyama Limba QUALIFIED
Julie P OldroydRussiaXuxue Feng PROPOSAL
Salvatore F NickaRussiaAmy Elsner RENEWAL
Maria M MaletIndiaIoni Bowcher NEW
Leja L GarufiRussiaOnyama Limba NEW
Leon M CaldareraFranceIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin E RutaFrance2024-05-10Dorl, James J Esq UNQUALIFIED41Stephen Shaw
1001Morrow V AlbaresFrance2024-05-06Buckley Miller Wright RENEWAL91Anna Fali
1002Johnson Y FerenczBrazil2024-05-08Chapman, Ross E Esq RENEWAL10Ioni Bowcher
1003Silvio R WhobreyItaly2024-05-04Dorl, James J Esq PROPOSAL74Ivan Magalhaes
1004Salvatore H GillianRussia2024-05-21Rousseaux, Michael Esq QUALIFIED14Onyama Limba
1005Greenwood U OldroydArgentina2024-05-25Rangoni Of Florence QUALIFIED25Stephen Shaw
1006Maria D VocelkaJapan2024-05-09Chanay, Jeffrey A Esq PROPOSAL86Xuxue Feng
1007Ricardo A OstroskyAustralia2024-05-07Commercial Press NEGOTIATION42Bernardo Dominic
1008Claire C DoeUnited Kingdom2024-05-21Truhlar And Truhlar Attys PROPOSAL39Amy Elsner
1009Salvatore C SchemmerFrance2024-05-04Chemel, James L Cpa UNQUALIFIED30Xuxue Feng
1010Stacey S OstroskyRussia2024-05-09Dorl, James J Esq UNQUALIFIED49Bernardo Dominic
1011Sinclair U BriddickBrazil2024-05-14Printing Dimensions RENEWAL77Onyama Limba
1012Jeanfrancois J GauchoIndia2024-05-24Morlong Associates RENEWAL98Amy Elsner
1013Ivar G ChuiCanada2024-05-17Feltz Printing Service PROPOSAL49Asiya Javayant
1014Arvin B ChuiSpain2024-04-30King, Christopher A Esq RENEWAL9Anna Fali
1015Antonio X SergiItaly2024-05-02Dorl, James J Esq NEW6Anna Fali
1016Kadeem X CaudyRussia2024-05-10Morlong Associates NEW41Xuxue Feng
1017Maisha Z WaycottSpain2024-05-27King, Christopher A Esq UNQUALIFIED22Ivan Magalhaes
1018Murillo C ShinkoGermany2024-05-23Feltz Printing Service RENEWAL29Asiya Javayant
1019Clifford F StensethJapan2024-05-05Rangoni Of Florence NEGOTIATION60Onyama Limba
1020Cody B BowleyFrance2024-05-21Buckley Miller Wright UNQUALIFIED91Onyama Limba
1021Nicolas R WhobreyJapan2024-05-10Truhlar And Truhlar Attys QUALIFIED76Bernardo Dominic
1022Emily D ButtIndia2024-05-20Morlong Associates PROPOSAL71Ivan Magalhaes
1023Silvio I IturbideUnited Kingdom2024-05-10Commercial Press NEW0Asiya Javayant
1024Leja W CampainAustralia2024-05-03Buckley Miller Wright UNQUALIFIED22Anna Fali
1025Aruna U FlosiArgentina2024-05-13Commercial Press RENEWAL27Bernardo Dominic
1026Clifford Q RoysterArgentina2024-05-09Truhlar And Truhlar Attys RENEWAL41Onyama Limba
1027Wickens B FollerBrazil2024-04-30Morlong Associates UNQUALIFIED32Ivan Magalhaes
1028Tony V MacleadBrazil2024-05-21Chanay, Jeffrey A Esq QUALIFIED89Asiya Javayant
1029Tony U GarufiIndia2024-05-08Truhlar And Truhlar Attys PROPOSAL70Ivan Magalhaes
1030Maria M FerenczUnited Kingdom2024-05-18Truhlar And Truhlar Attys UNQUALIFIED87Xuxue Feng
1031Rodrigues J DoeSpain2024-05-02Buckley Miller Wright QUALIFIED35Ioni Bowcher
1032Maisha B StockhamItaly2024-05-26Chemel, James L Cpa PROPOSAL52Xuxue Feng
1033Adams E MarrierArgentina2024-05-15Truhlar And Truhlar Attys PROPOSAL93Ivan Magalhaes
1034Aika K ChuiAustralia2024-05-03Truhlar And Truhlar Attys QUALIFIED20Bernardo Dominic
1035Francesco J OstroskyJapan2024-05-22Benton, John B Jr RENEWAL14Amy Elsner
1036Antonio X OstroskyItaly2024-05-18Dorl, James J Esq UNQUALIFIED10Asiya Javayant
1037Leon Z PoquetteItaly2024-05-01King, Christopher A Esq QUALIFIED41Amy Elsner
1038Greenwood T CampainItaly2024-04-29Buckley Miller Wright QUALIFIED59Xuxue Feng
1039Mayumi S ShinkoCanada2024-05-27Feltz Printing Service QUALIFIED46Asiya Javayant
1040Kaitlin K CampainCanada2024-05-09Rousseaux, Michael Esq UNQUALIFIED78Elwin Sharvill
1041Aditya M SaylorsFrance2024-05-02Chanay, Jeffrey A Esq RENEWAL61Bernardo Dominic
1042Francesco Z DilliardBrazil2024-05-04Chapman, Ross E Esq PROPOSAL30Asiya Javayant
1043Arvin L FigeroaFrance2024-05-09Benton, John B Jr UNQUALIFIED28Bernardo Dominic
1044Johnson P BriddickUnited Kingdom2024-05-05Buckley Miller Wright UNQUALIFIED74Ivan Magalhaes
1045Sinclair M BologniaFrance2024-05-19Morlong Associates PROPOSAL93Asiya Javayant
1046Ashley N CaldareraItaly2024-05-11Printing Dimensions PROPOSAL54Elwin Sharvill
1047Isabel B SlusarskiGermany2024-05-13Feiner Bros RENEWAL63Onyama Limba
1048Darci U MarrierJapan2024-05-11Rousseaux, Michael Esq RENEWAL43Xuxue Feng
1049Munro G VenereJapan2024-05-09Chemel, James L Cpa UNQUALIFIED97Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy C FlosiCanadaElwin Sharvill RENEWAL
Morrow Y RutaGermanyBernardo Dominic RENEWAL
Kaitlin G NestleFranceElwin Sharvill PROPOSAL
Maria Y MaletItalyElwin Sharvill PROPOSAL
Ashley M FerenczAustraliaElwin Sharvill RENEWAL
Jefferson C GillianUnited KingdomAnna Fali PROPOSAL
Morrow X DarakjyFranceElwin Sharvill RENEWAL
Cody H RulapaughIndiaAsiya Javayant NEGOTIATION
Faith Z BowleyFranceAmy Elsner NEGOTIATION
Munro F IturbideArgentinaIoni Bowcher NEW
Aika V GauchoRussiaIoni Bowcher UNQUALIFIED
Deepesh G StockhamRussiaElwin Sharvill UNQUALIFIED
Munro B OldroydJapanIvan Magalhaes PROPOSAL
Mayumi J MarrierIndiaStephen Shaw QUALIFIED
Silvio K FollerUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro D FlosiAustraliaAsiya Javayant PROPOSAL
Salvatore H AmigonSpainStephen Shaw UNQUALIFIED
Faith N VocelkaItalyElwin Sharvill RENEWAL
Chavez H MaletItalyAmy Elsner NEGOTIATION
Mujtaba V PerinUnited KingdomAnna Fali UNQUALIFIED
Cody G MorascaArgentinaAnna Fali NEW
David H AmigonFranceAmy Elsner PROPOSAL
Stacey P SaylorsCanadaIoni Bowcher PROPOSAL
Antonio X RutaIndiaAnna Fali NEGOTIATION
Arvin O BriddickIndiaXuxue Feng NEW
Ricardo I PoquetteIndiaIvan Magalhaes UNQUALIFIED
Stacey I GillianArgentinaXuxue Feng QUALIFIED
Francesco P RutaBrazilStephen Shaw NEGOTIATION
Sinclair K DilliardCanadaAsiya Javayant QUALIFIED
Antonio F WhobreyBrazilElwin Sharvill UNQUALIFIED
Chavez I AmigonBrazilAnna Fali UNQUALIFIED
Cody E SergiFranceAnna Fali NEGOTIATION
Smith O PaprockiUnited KingdomElwin Sharvill QUALIFIED
Aditya D BowleyBrazilAmy Elsner QUALIFIED
Kaitlin H BriddickUnited KingdomAsiya Javayant NEW
Aruna X FlosiUnited KingdomIvan Magalhaes RENEWAL
Rodrigues D KolmetzFranceBernardo Dominic QUALIFIED
Aruna M VenereUnited KingdomXuxue Feng QUALIFIED
Nicolas T KuskoGermanyAsiya Javayant RENEWAL
Kadeem P WieserJapanAsiya Javayant RENEWAL
Aruna N NestleArgentinaStephen Shaw NEGOTIATION
Kadeem W GillianIndiaIoni Bowcher QUALIFIED
Maisha Y WaycottSpainAmy Elsner NEGOTIATION
Salvatore J MacleadItalyIvan Magalhaes PROPOSAL
Arvin A KuskoUnited KingdomIvan Magalhaes RENEWAL
Silvio F DilliardItalyIvan Magalhaes NEW
Tony Z KolmetzArgentinaOnyama Limba NEGOTIATION
James G ShinkoSpainIoni Bowcher NEW
James D BowleyCanadaAsiya Javayant NEGOTIATION
Aika C WhobreyIndiaElwin Sharvill NEW
Frozen Columns
Name
James K Malet
Mayumi H Flosi
Silvio O Wieser
David U Poquette
Ashley L Darakjy
Isabel E Caldarera
Sinclair W Waycott
Wickens H Stockham
Francesco T Vocelka
Greenwood X Rim
Nicolas Z Campain
Maria V Royster
Emily N Perin
Rodrigues M Tollner
Smith H Schemmer
Jones Q Iturbide
Antonio N Vocelka
Morrow O Ferencz
Aditya E Waycott
Tony S Chui
Arvin U Vocelka
James P Whobrey
Johnson X Bowley
Silvio C Schemmer
Emily Z Malet
Morrow D Inouye
Francesco X Whobrey
Antonio F Ferencz
Kadeem R Malet
Juan J Nicka
Salvatore R Schemmer
Costa Q Stenseth
Jones L Venere
Chavez D Slusarski
Chavez N Morasca
Mujtaba H Nicka
Kadeem R Ruta
Leon W Ostrosky
Francesco L Albares
Kadeem L Glick
Nicolas J Ostrosky
Leja G Malet
Izzy Y Ostrosky
Faith I Briddick
Deepesh C Royster
Greenwood N Stockham
Cody U Dilliard
Jeanfrancois A Nicka
Rodrigues A Stenseth
Munro X Ruta
IdCountryDate
1000France2024-05-14
1001Canada2024-05-23
1002France2024-05-08
1003Germany2024-05-12
1004Argentina2024-05-07
1005Canada2024-05-07
1006France2024-05-04
1007Spain2024-05-02
1008Australia2024-05-25
1009Italy2024-05-17
1010Japan2024-05-02
1011Canada2024-05-04
1012Argentina2024-05-01
1013Argentina2024-05-17
1014Argentina2024-05-16
1015India2024-05-05
1016Spain2024-05-14
1017Germany2024-05-10
1018Russia2024-05-16
1019Japan2024-05-11
1020Argentina2024-05-18
1021Canada2024-05-07
1022Spain2024-04-30
1023Brazil2024-05-26
1024Canada2024-05-06
1025Argentina2024-05-02
1026Argentina2024-05-26
1027Australia2024-05-15
1028Australia2024-05-25
1029Japan2024-05-01
1030United Kingdom2024-05-19
1031Canada2024-05-02
1032Italy2024-05-25
1033France2024-05-09
1034Russia2024-05-15
1035Argentina2024-05-02
1036Japan2024-05-04
1037Spain2024-05-25
1038Australia2024-05-12
1039Russia2024-05-15
1040Italy2024-05-01
1041France2024-05-04
1042United Kingdom2024-05-17
1043Australia2024-04-29
1044Italy2024-05-02
1045Spain2024-05-25
1046Italy2024-05-02
1047United Kingdom2024-05-08
1048Brazil2024-05-08
1049Argentina2024-05-06

On-Demand Data

NameIdCountryDate
Isabel K Stenseth1000Italy2024-05-09
Isabel P Perin1001Italy2024-05-05
Aditya T Marrier1002Australia2024-05-05
Deepesh I Nestle1003Argentina2024-05-05
Maria W Shinko1004Canada2024-04-29
Claire N Whobrey1005Argentina2024-05-22
Clifford Y Tollner1006Spain2024-05-23
Rodrigues R Sergi1007India2024-04-28
Johnson W Bowley1008Russia2024-04-28
Julie T Stenseth1009Argentina2024-05-22
Ricardo J Kusko1010United Kingdom2024-05-08
Francesco O Venere1011Australia2024-05-21
Wickens L Slusarski1012Australia2024-05-18
Morrow X Doe1013Spain2024-05-10
Arvin Q Saylors1014Japan2024-04-29
Isabel U Campain1015Canada2024-04-28
Aruna Y Malet1016United Kingdom2024-05-11
Jennifer C Wieser1017Japan2024-05-18
Costa Y Paprocki1018Japan2024-05-16
Tony S Stenseth1019Brazil2024-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow G DilliardBrazilAsiya Javayant QUALIFIED
Julie K DarakjySpainBernardo Dominic PROPOSAL
Chavez Z OldroydIndiaIoni Bowcher PROPOSAL
Sinclair Q FlosiAustraliaElwin Sharvill NEGOTIATION
Misaki A FollerGermanyAnna Fali UNQUALIFIED
Juan K MorascaIndiaBernardo Dominic UNQUALIFIED
Stacey M RimJapanIoni Bowcher PROPOSAL
Jennifer P ButtItalyAnna Fali NEGOTIATION
Octavia X GlickAustraliaIoni Bowcher QUALIFIED
James R MaletItalyElwin Sharvill UNQUALIFIED
Aika O StensethIndiaXuxue Feng RENEWAL
Arvin I AlbaresFranceBernardo Dominic RENEWAL
Wickens M FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin F VocelkaUnited KingdomElwin Sharvill PROPOSAL
Smith Q VenereIndiaIvan Magalhaes QUALIFIED
Murillo J MacleadArgentinaIvan Magalhaes PROPOSAL
Munro R CampainCanadaAmy Elsner NEW
Stacey K GlickBrazilAnna Fali UNQUALIFIED
Leja T StensethJapanOnyama Limba NEGOTIATION
Cody Z KolmetzGermanyOnyama Limba PROPOSAL
Salvatore A SlusarskiFranceIoni Bowcher NEGOTIATION
Cody L SaylorsJapanIoni Bowcher PROPOSAL
Emily D StensethCanadaIoni Bowcher UNQUALIFIED
Stacey H RutaArgentinaAsiya Javayant PROPOSAL
Deepesh M OldroydIndiaOnyama Limba NEW
Maisha X OstroskySpainAsiya Javayant QUALIFIED
Faith S KolmetzSpainBernardo Dominic QUALIFIED
Salvatore U BriddickUnited KingdomIoni Bowcher NEGOTIATION
Tony V WaycottAustraliaBernardo Dominic QUALIFIED
Johnson V GarufiSpainXuxue Feng NEW
Morrow D WhobreyJapanXuxue Feng QUALIFIED
Jones P MarrierArgentinaIoni Bowcher QUALIFIED
Murillo I FerenczUnited KingdomElwin Sharvill NEW
Jeanfrancois Z InouyeJapanElwin Sharvill NEGOTIATION
Octavia N OldroydIndiaXuxue Feng RENEWAL
Rodrigues G MacleadBrazilXuxue Feng PROPOSAL
Leon W FollerFranceElwin Sharvill RENEWAL
Jeanfrancois O RoysterCanadaXuxue Feng NEW
Emily Z FollerUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi A OstroskyIndiaElwin Sharvill 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>