November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Adams T OstroskyItalyStephen Shaw NEW
Tony C VenereJapanAsiya Javayant NEGOTIATION
Ashley Y FlosiItalyAnna Fali RENEWAL
Clifford B FigeroaSpainBernardo Dominic NEGOTIATION
Claire X BriddickJapanAnna Fali RENEWAL
Leon L GlickArgentinaAnna Fali RENEWAL
Clifford P BriddickFranceAmy Elsner RENEWAL
Maria U CampainArgentinaAmy Elsner UNQUALIFIED
Misaki Z KuskoArgentinaIvan Magalhaes UNQUALIFIED
Darci R GauchoRussiaBernardo Dominic UNQUALIFIED
Darci I PaprockiAustraliaOnyama Limba QUALIFIED
Leon R VenereUnited KingdomIvan Magalhaes RENEWAL
Murillo M MaletAustraliaAnna Fali QUALIFIED
Smith Q RimBrazilOnyama Limba QUALIFIED
Adams L GillianGermanyStephen Shaw PROPOSAL
Cody S GauchoFranceElwin Sharvill NEW
Morrow A NickaArgentinaOnyama Limba QUALIFIED
Leja G SergiArgentinaOnyama Limba PROPOSAL
Mujtaba W DilliardBrazilStephen Shaw QUALIFIED
Adams B GauchoArgentinaStephen Shaw NEGOTIATION
Chavez H GauchoCanadaOnyama Limba UNQUALIFIED
Nicolas G MaletRussiaAsiya Javayant RENEWAL
Silvio Q PerinAustraliaIoni Bowcher NEGOTIATION
Darci R SlusarskiItalyAnna Fali PROPOSAL
Silvio I StockhamAustraliaAnna Fali QUALIFIED
Nicolas B BriddickItalyIvan Magalhaes NEGOTIATION
Kadeem Q KuskoRussiaElwin Sharvill UNQUALIFIED
Misaki A OstroskyJapanElwin Sharvill RENEWAL
Tony F KuskoCanadaAnna Fali NEGOTIATION
Misaki B GillianFranceStephen Shaw UNQUALIFIED
Isabel I FerenczBrazilIoni Bowcher UNQUALIFIED
Antonio L MarrierSpainIoni Bowcher NEW
Costa K DoeSpainStephen Shaw PROPOSAL
Munro O WieserCanadaXuxue Feng UNQUALIFIED
Deepesh X AlbaresIndiaIvan Magalhaes NEGOTIATION
Stacey D DilliardAustraliaIoni Bowcher UNQUALIFIED
Mayumi W RulapaughJapanIvan Magalhaes UNQUALIFIED
Costa Y NestleSpainElwin Sharvill NEGOTIATION
Misaki N WhobreyBrazilIoni Bowcher NEGOTIATION
Claire Q RulapaughIndiaOnyama Limba NEW
Wickens O VocelkaArgentinaOnyama Limba RENEWAL
Misaki T ShinkoIndiaXuxue Feng UNQUALIFIED
Mayumi S IturbideIndiaAmy Elsner PROPOSAL
Stacey L FigeroaBrazilXuxue Feng UNQUALIFIED
Darci X ButtJapanStephen Shaw RENEWAL
Misaki Z SlusarskiSpainXuxue Feng QUALIFIED
David Q FerenczCanadaBernardo Dominic UNQUALIFIED
Antonio H NestleJapanXuxue Feng QUALIFIED
Munro U IturbideGermanyElwin Sharvill NEGOTIATION
Francesco E GillianGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar O WaycottCanadaAnna Fali PROPOSAL
Cody Z SchemmerArgentinaXuxue Feng RENEWAL
Adams B RoysterCanadaIvan Magalhaes PROPOSAL
Misaki D ChuiFranceXuxue Feng NEW
Maisha B PaprockiAustraliaAmy Elsner PROPOSAL
Aruna I WieserBrazilAnna Fali RENEWAL
Octavia A BologniaCanadaOnyama Limba NEW
Francesco K FerenczAustraliaIvan Magalhaes NEW
Mayumi T DilliardItalyIoni Bowcher NEGOTIATION
Ivar X DoeUnited KingdomBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey T CampainAustralia2026-10-23Rousseaux, Michael Esq PROPOSAL74Amy Elsner
1001Kaitlin R SaylorsJapan2026-09-29King, Christopher A Esq QUALIFIED61Ivan Magalhaes
1002Chavez Q ChuiArgentina2026-10-23Feltz Printing Service PROPOSAL2Onyama Limba
1003Alejandro B FerenczItaly2026-09-29Buckley Miller Wright QUALIFIED4Anna Fali
1004Ricardo J PerinGermany2026-10-22Rangoni Of Florence NEW48Stephen Shaw
1005Greenwood V CaudyBrazil2026-09-30Chanay, Jeffrey A Esq NEW52Anna Fali
1006Cody H MaletGermany2026-10-14Morlong Associates PROPOSAL25Ivan Magalhaes
1007Chavez Y PoquetteUnited Kingdom2026-10-17Rangoni Of Florence UNQUALIFIED90Amy Elsner
1008Stacey G CaudySpain2026-10-20Feltz Printing Service UNQUALIFIED43Anna Fali
1009Julie G GauchoArgentina2026-10-18Feiner Bros NEGOTIATION45Amy Elsner
1010Munro D PerinAustralia2026-09-30Morlong Associates UNQUALIFIED76Xuxue Feng
1011Aruna A AlbaresAustralia2026-10-16Feltz Printing Service NEW66Asiya Javayant
1012James A FlosiIndia2026-09-28King, Christopher A Esq UNQUALIFIED30Bernardo Dominic
1013James S DilliardUnited Kingdom2026-10-03Benton, John B Jr RENEWAL57Elwin Sharvill
1014Isabel F IturbideItaly2026-10-25Chanay, Jeffrey A Esq UNQUALIFIED58Bernardo Dominic
1015Claire Z GarufiIndia2026-10-11Printing Dimensions UNQUALIFIED26Ivan Magalhaes
1016Alejandro N MarrierBrazil2026-10-01Truhlar And Truhlar Attys NEGOTIATION10Anna Fali
1017Clifford R GarufiIndia2026-10-25Commercial Press QUALIFIED85Ivan Magalhaes
1018Aditya M GlickBrazil2026-10-05Buckley Miller Wright UNQUALIFIED36Elwin Sharvill
1019Salvatore W RutaUnited Kingdom2026-10-21Chanay, Jeffrey A Esq PROPOSAL82Onyama Limba
1020Julie S VocelkaCanada2026-09-28Rangoni Of Florence QUALIFIED12Xuxue Feng
1021Maisha V OldroydJapan2026-10-02Morlong Associates NEW93Anna Fali
1022Sinclair W CaudyJapan2026-10-02Commercial Press RENEWAL33Onyama Limba
1023Cody B BowleySpain2026-09-30Buckley Miller Wright UNQUALIFIED72Onyama Limba
1024Stacey H RimGermany2026-10-20Rangoni Of Florence RENEWAL8Elwin Sharvill
1025Leon F PaprockiJapan2026-09-29Rangoni Of Florence NEGOTIATION2Xuxue Feng
1026Alejandro X CampainRussia2026-10-14Chapman, Ross E Esq RENEWAL80Ivan Magalhaes
1027Isabel Q WaycottJapan2026-10-12Buckley Miller Wright NEW22Bernardo Dominic
1028Jeanfrancois U IturbideArgentina2026-10-07Chanay, Jeffrey A Esq RENEWAL31Stephen Shaw
1029Mujtaba T GillianSpain2026-10-13Morlong Associates NEW40Onyama Limba
1030Faith N WaycottUnited Kingdom2026-10-04Commercial Press UNQUALIFIED41Onyama Limba
1031Emily B GillianFrance2026-10-14Chemel, James L Cpa NEGOTIATION41Ioni Bowcher
1032Jefferson I ShinkoGermany2026-10-20Buckley Miller Wright UNQUALIFIED88Elwin Sharvill
1033Sinclair X WieserSpain2026-10-24Dorl, James J Esq NEW53Xuxue Feng
1034Ivar S RulapaughItaly2026-10-13Chapman, Ross E Esq NEW8Xuxue Feng
1035Kadeem R ChuiSpain2026-10-03Commercial Press NEW54Asiya Javayant
1036Ivar P MarrierJapan2026-10-07King, Christopher A Esq NEW58Ioni Bowcher
1037Octavia R SlusarskiSpain2026-10-20Morlong Associates NEW15Stephen Shaw
1038Jefferson K AmigonIndia2026-10-12King, Christopher A Esq RENEWAL7Xuxue Feng
1039Chavez L CampainJapan2026-10-20Buckley Miller Wright UNQUALIFIED1Elwin Sharvill
1040Octavia Q ChuiSpain2026-09-29Chanay, Jeffrey A Esq NEW96Xuxue Feng
1041Silvio U PerinIndia2026-10-17Morlong Associates RENEWAL66Ioni Bowcher
1042Leon X BriddickItaly2026-10-25Chemel, James L Cpa UNQUALIFIED98Asiya Javayant
1043Claire O ChuiUnited Kingdom2026-09-28Truhlar And Truhlar Attys QUALIFIED91Anna Fali
1044Darci U FerenczRussia2026-10-16Printing Dimensions UNQUALIFIED88Onyama Limba
1045Maisha C WieserCanada2026-10-05Benton, John B Jr PROPOSAL61Amy Elsner
1046Salvatore H VenereJapan2026-10-22Feltz Printing Service RENEWAL40Xuxue Feng
1047Munro Q GlickJapan2026-10-15King, Christopher A Esq UNQUALIFIED27Bernardo Dominic
1048Maria A WieserRussia2026-10-02Truhlar And Truhlar Attys UNQUALIFIED87Xuxue Feng
1049Ivar U SlusarskiSpain2026-10-23Chanay, Jeffrey A Esq UNQUALIFIED55Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maria N FerenczCanadaStephen Shaw NEW
Aika T KolmetzFranceXuxue Feng QUALIFIED
Jennifer G MorascaGermanyOnyama Limba RENEWAL
Izzy D PerinJapanAnna Fali NEW
Greenwood B DoeAustraliaIoni Bowcher UNQUALIFIED
Rodrigues V GarufiJapanIoni Bowcher NEW
Tony Q MaletSpainXuxue Feng RENEWAL
Mayumi T OstroskyJapanBernardo Dominic NEGOTIATION
Isabel N FerenczJapanElwin Sharvill NEGOTIATION
Alejandro E MorascaSpainAmy Elsner NEGOTIATION
Deepesh Z SlusarskiBrazilBernardo Dominic NEGOTIATION
David G OldroydBrazilElwin Sharvill RENEWAL
Mujtaba D MaletUnited KingdomStephen Shaw RENEWAL
Antonio M MacleadArgentinaStephen Shaw UNQUALIFIED
David S RulapaughJapanStephen Shaw NEW
Mayumi K PaprockiRussiaIvan Magalhaes PROPOSAL
Antonio E WhobreyJapanIoni Bowcher NEGOTIATION
Munro D GarufiFranceAmy Elsner UNQUALIFIED
Kaitlin D ShinkoSpainStephen Shaw PROPOSAL
Deepesh W PoquetteBrazilIvan Magalhaes NEW
Octavia S FigeroaItalyStephen Shaw NEGOTIATION
Smith H OstroskyGermanyAnna Fali RENEWAL
Aruna Q TollnerIndiaBernardo Dominic NEW
Arvin I WhobreyGermanyIoni Bowcher NEW
Maisha H AlbaresFranceAsiya Javayant NEGOTIATION
Antonio T RoysterGermanyElwin Sharvill RENEWAL
Cody Q GillianSpainIvan Magalhaes RENEWAL
Jones M RutaSpainAnna Fali UNQUALIFIED
Sinclair C PerinFranceAmy Elsner NEGOTIATION
Octavia L FlosiIndiaIvan Magalhaes PROPOSAL
Kadeem W StockhamIndiaIoni Bowcher UNQUALIFIED
Claire D RimGermanyOnyama Limba UNQUALIFIED
David A TollnerItalyXuxue Feng RENEWAL
James I FigeroaArgentinaAnna Fali UNQUALIFIED
Deepesh R MaletItalyAsiya Javayant NEGOTIATION
Costa Z WieserGermanyIoni Bowcher UNQUALIFIED
Izzy K StensethGermanyOnyama Limba NEW
Cody G FigeroaIndiaOnyama Limba RENEWAL
Rodrigues E GlickGermanyXuxue Feng RENEWAL
James D KolmetzGermanyBernardo Dominic NEGOTIATION
Mayumi X VenereCanadaXuxue Feng NEGOTIATION
Tony C FerenczItalyOnyama Limba UNQUALIFIED
Maria E RutaRussiaOnyama Limba PROPOSAL
Aditya U FigeroaUnited KingdomAnna Fali UNQUALIFIED
Octavia A DoeArgentinaIoni Bowcher PROPOSAL
Isabel F MacleadAustraliaAnna Fali PROPOSAL
Aditya D RimItalyElwin Sharvill UNQUALIFIED
Chavez D CaudyUnited KingdomBernardo Dominic NEW
Isabel C MacleadSpainIvan Magalhaes QUALIFIED
Alejandro X CaldareraIndiaBernardo Dominic NEW
Frozen Columns
Name
Juan T Slusarski
Aruna Y Marrier
David Z Chui
Jefferson T Schemmer
Emily S Ruta
Emily R Tollner
Jeanfrancois Q Maclead
Alejandro N Gillian
Jefferson T Ostrosky
Nicolas G Paprocki
Arvin Q Albares
Adams W Rulapaugh
Tony H Malet
Claire A Campain
Jeanfrancois G Maclead
Isabel S Bowley
Silvio J Rulapaugh
Julie F Dilliard
Murillo Z Gaucho
Julie Q Shinko
Ashley T Tollner
Aditya N Tollner
Octavia N Marrier
Nicolas M Morasca
Jefferson N Waycott
Silvio T Marrier
Leja K Doe
Faith Z Butt
Greenwood K Nestle
Claire X Malet
Jennifer X Bowley
Leon P Oldroyd
Cody S Glick
Nicolas Q Briddick
Smith A Malet
Izzy T Kolmetz
Julie X Rulapaugh
Johnson U Iturbide
Julie W Caudy
Morrow M Gaucho
Mayumi V Gaucho
Aika C Doe
Arvin D Perin
Izzy L Ferencz
Jefferson U Maclead
Nicolas P Amigon
Aruna B Ferencz
Juan Y Inouye
Claire E Stenseth
Julie P Rim
IdCountryDate
1000Russia2026-10-19
1001United Kingdom2026-10-04
1002United Kingdom2026-10-25
1003United Kingdom2026-10-16
1004India2026-10-10
1005Italy2026-10-09
1006Australia2026-09-28
1007Spain2026-10-16
1008Australia2026-09-28
1009France2026-10-23
1010Russia2026-10-23
1011France2026-10-14
1012Germany2026-10-12
1013Italy2026-10-11
1014Russia2026-09-27
1015Brazil2026-10-12
1016Germany2026-10-06
1017Germany2026-10-15
1018Brazil2026-10-16
1019France2026-10-13
1020India2026-10-15
1021Canada2026-10-07
1022Canada2026-09-29
1023United Kingdom2026-09-29
1024India2026-09-26
1025Canada2026-10-15
1026Russia2026-10-06
1027France2026-09-28
1028India2026-10-06
1029Brazil2026-10-05
1030Italy2026-09-26
1031Germany2026-10-23
1032France2026-10-04
1033France2026-09-29
1034India2026-10-22
1035United Kingdom2026-10-16
1036Japan2026-10-17
1037Brazil2026-10-09
1038Italy2026-09-29
1039Germany2026-09-26
1040Japan2026-10-16
1041United Kingdom2026-10-19
1042Spain2026-10-05
1043Germany2026-10-22
1044Australia2026-10-12
1045Australia2026-10-17
1046Japan2026-09-26
1047Russia2026-10-23
1048Russia2026-10-05
1049India2026-09-27

On-Demand Data

NameIdCountryDate
Octavia X Briddick1000France2026-10-23
Mujtaba J Gillian1001Germany2026-09-30
Francesco N Gillian1002Japan2026-10-07
Aruna V Amigon1003Spain2026-10-01
Deepesh H Gillian1004Italy2026-10-07
Clifford W Morasca1005Canada2026-10-02
Munro Y Figeroa1006Brazil2026-10-14
Isabel R Malet1007Russia2026-10-05
Maisha H Vocelka1008Italy2026-09-30
Greenwood P Kolmetz1009Argentina2026-09-29
Mujtaba M Chui1010Germany2026-10-24
Ricardo H Shinko1011Japan2026-09-29
Alejandro P Gaucho1012France2026-10-18
Wickens G Gillian1013France2026-10-18
Isabel L Inouye1014Italy2026-10-11
Aditya M Kolmetz1015Canada2026-10-13
Rodrigues M Wieser1016Russia2026-10-20
Misaki A Doe1017Canada2026-10-02
Cody X Dilliard1018Japan2026-10-09
Jones G Inouye1019Japan2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio E GauchoJapanBernardo Dominic QUALIFIED
Kadeem I StockhamCanadaIvan Magalhaes NEGOTIATION
Kadeem H SaylorsGermanyAmy Elsner PROPOSAL
Chavez K BowleyGermanyAmy Elsner NEGOTIATION
Salvatore S BowleyArgentinaBernardo Dominic NEGOTIATION
James E GarufiArgentinaAmy Elsner RENEWAL
Maria V RutaFranceOnyama Limba NEW
Chavez F WhobreyCanadaBernardo Dominic RENEWAL
Maisha K FollerBrazilStephen Shaw NEW
Emily O WieserArgentinaIoni Bowcher NEGOTIATION
Maria N CaudyRussiaAmy Elsner NEW
Jeanfrancois C WieserGermanyAmy Elsner UNQUALIFIED
Greenwood H AlbaresIndiaBernardo Dominic RENEWAL
Nicolas T IturbideGermanyAsiya Javayant QUALIFIED
Alejandro D MaletItalyElwin Sharvill NEW
Johnson I MorascaIndiaElwin Sharvill NEGOTIATION
Leja W KuskoCanadaElwin Sharvill QUALIFIED
Ashley K SergiBrazilIoni Bowcher NEGOTIATION
Julie V TollnerBrazilBernardo Dominic NEW
Mayumi B VenereAustraliaBernardo Dominic NEGOTIATION
Nicolas E GarufiCanadaElwin Sharvill UNQUALIFIED
Aika D InouyeArgentinaXuxue Feng QUALIFIED
Ivar K ChuiIndiaAsiya Javayant NEGOTIATION
Rodrigues G FerenczRussiaElwin Sharvill PROPOSAL
Munro T GarufiAustraliaAsiya Javayant NEW
Mujtaba J SlusarskiJapanElwin Sharvill NEW
Morrow W WieserArgentinaIoni Bowcher NEW
Antonio V VenereBrazilBernardo Dominic RENEWAL
Juan D ShinkoUnited KingdomBernardo Dominic QUALIFIED
Octavia U DarakjyAustraliaOnyama Limba UNQUALIFIED
Jefferson S SergiBrazilAsiya Javayant PROPOSAL
Leon D ButtItalyAmy Elsner NEGOTIATION
Juan X FerenczCanadaXuxue Feng QUALIFIED
Silvio D OldroydUnited KingdomStephen Shaw NEW
James A SlusarskiAustraliaXuxue Feng QUALIFIED
Rodrigues Z RulapaughJapanAsiya Javayant UNQUALIFIED
Ivar W SchemmerIndiaAnna Fali PROPOSAL
Ricardo Z FigeroaAustraliaStephen Shaw PROPOSAL
Antonio V GillianArgentinaElwin Sharvill PROPOSAL
Stacey J MorascaArgentinaAnna Fali 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" frozenColumnsAlignment="left">
            <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>