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
Arvin G PoquetteGermanyStephen Shaw QUALIFIED
Adams C RimItalyBernardo Dominic RENEWAL
Ivar V RimItalyAsiya Javayant NEGOTIATION
Costa K RutaAustraliaBernardo Dominic PROPOSAL
Mayumi S AmigonFranceIvan Magalhaes NEGOTIATION
Faith S MorascaGermanyIoni Bowcher QUALIFIED
Jeanfrancois J WhobreyCanadaAmy Elsner RENEWAL
Munro D WieserSpainIvan Magalhaes RENEWAL
Antonio Y SchemmerArgentinaAsiya Javayant NEW
Jones G VenereSpainElwin Sharvill QUALIFIED
Costa Y RoysterBrazilOnyama Limba QUALIFIED
Smith I FigeroaIndiaAmy Elsner NEGOTIATION
Jefferson O IturbideItalyBernardo Dominic RENEWAL
Kaitlin O OstroskyAustraliaAnna Fali PROPOSAL
Johnson O SergiAustraliaOnyama Limba QUALIFIED
Octavia L BologniaSpainBernardo Dominic NEGOTIATION
Misaki L SergiSpainElwin Sharvill NEGOTIATION
Ashley E WieserRussiaAnna Fali UNQUALIFIED
Darci H TollnerFranceAnna Fali RENEWAL
Aruna R FollerGermanyStephen Shaw QUALIFIED
Wickens R OldroydUnited KingdomXuxue Feng NEGOTIATION
Claire J FigeroaIndiaIoni Bowcher RENEWAL
Aika O TollnerRussiaIoni Bowcher QUALIFIED
Munro F CaudyArgentinaIvan Magalhaes RENEWAL
Munro G RimJapanAnna Fali RENEWAL
Maisha B PoquetteBrazilIvan Magalhaes NEW
Jeanfrancois V ChuiArgentinaAsiya Javayant RENEWAL
Leon Q GarufiJapanXuxue Feng RENEWAL
Mujtaba X VenereFranceOnyama Limba NEW
David Q FerenczCanadaAsiya Javayant QUALIFIED
Mujtaba D CaldareraGermanyElwin Sharvill QUALIFIED
Octavia X SlusarskiSpainIvan Magalhaes UNQUALIFIED
Silvio T DarakjyAustraliaStephen Shaw NEW
Stacey F BologniaGermanyOnyama Limba NEGOTIATION
Misaki C StockhamAustraliaXuxue Feng PROPOSAL
Alejandro P VenereJapanOnyama Limba PROPOSAL
Juan Z StockhamItalyXuxue Feng RENEWAL
Leja W DilliardCanadaAmy Elsner QUALIFIED
Adams Q SergiCanadaIvan Magalhaes PROPOSAL
Octavia P KuskoGermanyIvan Magalhaes QUALIFIED
Ricardo G RoysterIndiaAmy Elsner NEW
Faith J RimCanadaIoni Bowcher QUALIFIED
Costa K RoysterFranceIoni Bowcher QUALIFIED
Costa E MarrierItalyIvan Magalhaes QUALIFIED
Julie E RoysterArgentinaBernardo Dominic QUALIFIED
Julie H MarrierCanadaXuxue Feng RENEWAL
Izzy W GarufiGermanyBernardo Dominic UNQUALIFIED
Julie E GarufiAustraliaXuxue Feng UNQUALIFIED
Clifford C BowleyAustraliaStephen Shaw NEGOTIATION
Greenwood B SaylorsCanadaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Isabel A SaylorsItalyXuxue Feng QUALIFIED
Maisha N PaprockiJapanBernardo Dominic PROPOSAL
Leja G FollerGermanyOnyama Limba UNQUALIFIED
Kaitlin U PoquetteJapanAnna Fali NEW
Aditya K InouyeBrazilAsiya Javayant NEW
Rodrigues A GarufiArgentinaElwin Sharvill NEW
Munro E AlbaresRussiaOnyama Limba QUALIFIED
Smith O FollerArgentinaBernardo Dominic RENEWAL
Murillo D SergiUnited KingdomAnna Fali UNQUALIFIED
Wickens A MorascaCanadaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo U ShinkoAustralia2026-09-12Dorl, James J Esq PROPOSAL67Ioni Bowcher
1001Izzy K InouyeRussia2026-09-08Chapman, Ross E Esq RENEWAL73Anna Fali
1002Tony U GillianJapan2026-09-12Commercial Press PROPOSAL60Amy Elsner
1003Maisha A WhobreyFrance2026-08-29Printing Dimensions RENEWAL18Ioni Bowcher
1004Francesco S WaycottArgentina2026-09-09Commercial Press QUALIFIED46Amy Elsner
1005Morrow D BologniaFrance2026-09-20Chapman, Ross E Esq PROPOSAL56Bernardo Dominic
1006Nicolas O IturbideItaly2026-09-14Dorl, James J Esq NEGOTIATION66Onyama Limba
1007Maisha O WieserIndia2026-09-13King, Christopher A Esq UNQUALIFIED26Asiya Javayant
1008Cody C CampainItaly2026-09-03Rangoni Of Florence NEGOTIATION47Ioni Bowcher
1009Isabel D PerinIndia2026-09-25Benton, John B Jr UNQUALIFIED93Anna Fali
1010Clifford Z RimAustralia2026-09-26Truhlar And Truhlar Attys QUALIFIED8Asiya Javayant
1011Aika M RulapaughBrazil2026-09-02Printing Dimensions NEGOTIATION79Bernardo Dominic
1012Murillo J KolmetzItaly2026-09-15Rousseaux, Michael Esq NEW56Stephen Shaw
1013Antonio R TollnerGermany2026-09-25Commercial Press PROPOSAL25Amy Elsner
1014Mayumi T PaprockiBrazil2026-09-21Rangoni Of Florence QUALIFIED54Amy Elsner
1015Alejandro F VenereIndia2026-09-15Chapman, Ross E Esq RENEWAL64Onyama Limba
1016Claire G MarrierRussia2026-09-15Morlong Associates RENEWAL10Ivan Magalhaes
1017Chavez H CampainSpain2026-09-10Chanay, Jeffrey A Esq RENEWAL56Amy Elsner
1018Kadeem P GillianRussia2026-08-29Commercial Press UNQUALIFIED72Asiya Javayant
1019Johnson A GlickJapan2026-09-21Chapman, Ross E Esq UNQUALIFIED30Xuxue Feng
1020Greenwood W NestleItaly2026-09-03Printing Dimensions QUALIFIED25Bernardo Dominic
1021Adams V GauchoItaly2026-09-17Feiner Bros NEW8Ioni Bowcher
1022Antonio Z CaudyArgentina2026-09-01Chapman, Ross E Esq RENEWAL88Ivan Magalhaes
1023James N SlusarskiBrazil2026-09-21King, Christopher A Esq PROPOSAL61Ivan Magalhaes
1024Tony K MacleadBrazil2026-09-01Commercial Press NEW29Elwin Sharvill
1025Aditya R OldroydFrance2026-09-02Feiner Bros QUALIFIED93Ioni Bowcher
1026Ricardo C FlosiSpain2026-09-09Dorl, James J Esq PROPOSAL99Elwin Sharvill
1027Wickens Q FigeroaFrance2026-09-17Buckley Miller Wright NEW87Asiya Javayant
1028Kaitlin I MarrierGermany2026-09-01Chemel, James L Cpa NEW88Bernardo Dominic
1029Adams Q NestleIndia2026-09-22Printing Dimensions RENEWAL85Bernardo Dominic
1030David A GillianUnited Kingdom2026-09-06Feltz Printing Service NEW40Bernardo Dominic
1031Smith U GillianIndia2026-09-11Feltz Printing Service NEGOTIATION35Xuxue Feng
1032Morrow C MaletBrazil2026-09-02Chanay, Jeffrey A Esq NEW56Bernardo Dominic
1033Ashley E AmigonItaly2026-09-24Truhlar And Truhlar Attys RENEWAL50Ioni Bowcher
1034Mayumi U SchemmerGermany2026-09-03Rousseaux, Michael Esq RENEWAL56Ivan Magalhaes
1035Mujtaba P MarrierItaly2026-09-26Commercial Press NEGOTIATION51Onyama Limba
1036Ivar K MarrierUnited Kingdom2026-09-09Benton, John B Jr UNQUALIFIED39Onyama Limba
1037Cody F ChuiItaly2026-09-19Commercial Press NEW41Ioni Bowcher
1038Alejandro Q CaldareraAustralia2026-09-22Benton, John B Jr QUALIFIED5Stephen Shaw
1039Morrow M ChuiItaly2026-09-20Feiner Bros NEW95Ioni Bowcher
1040Antonio Z InouyeJapan2026-09-27Rousseaux, Michael Esq QUALIFIED57Bernardo Dominic
1041Jones X RulapaughGermany2026-09-23Rangoni Of Florence NEGOTIATION46Elwin Sharvill
1042Kadeem H AmigonAustralia2026-09-23Chanay, Jeffrey A Esq PROPOSAL57Ioni Bowcher
1043Johnson F SergiGermany2026-09-20Chapman, Ross E Esq NEGOTIATION76Bernardo Dominic
1044Smith G RoysterUnited Kingdom2026-09-14Chanay, Jeffrey A Esq PROPOSAL80Amy Elsner
1045Ricardo W AlbaresSpain2026-09-21Dorl, James J Esq NEW0Elwin Sharvill
1046Faith F TollnerIndia2026-09-17Buckley Miller Wright NEW1Bernardo Dominic
1047James J ButtFrance2026-09-10King, Christopher A Esq PROPOSAL74Xuxue Feng
1048Leja I FlosiArgentina2026-09-13Dorl, James J Esq NEW58Onyama Limba
1049Wickens B RoysterUnited Kingdom2026-08-30Benton, John B Jr NEW74Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ivar V NestleArgentinaAmy Elsner UNQUALIFIED
Kaitlin H OldroydRussiaAmy Elsner NEW
Faith A MorascaItalyStephen Shaw NEW
Johnson B InouyeItalyXuxue Feng NEW
Kaitlin O MacleadArgentinaAmy Elsner NEW
Mujtaba F FigeroaCanadaElwin Sharvill NEW
Jennifer J CampainAustraliaXuxue Feng UNQUALIFIED
Darci P MorascaUnited KingdomAsiya Javayant RENEWAL
Clifford M MorascaIndiaOnyama Limba QUALIFIED
Greenwood A FlosiItalyXuxue Feng PROPOSAL
Wickens J StensethGermanyIvan Magalhaes PROPOSAL
Ivar Q BologniaFranceAnna Fali QUALIFIED
Juan M PaprockiArgentinaAnna Fali NEGOTIATION
Octavia I NestleFranceAmy Elsner QUALIFIED
Izzy B BowleyAustraliaXuxue Feng UNQUALIFIED
Adams W RoysterBrazilIoni Bowcher PROPOSAL
Kadeem Y VenereSpainIoni Bowcher PROPOSAL
Misaki Y TollnerBrazilIvan Magalhaes UNQUALIFIED
Alejandro Y SergiFranceXuxue Feng UNQUALIFIED
Leja J BowleyArgentinaAnna Fali PROPOSAL
Kadeem V VenereSpainAnna Fali NEGOTIATION
Cody R GillianUnited KingdomOnyama Limba QUALIFIED
Morrow A OstroskyUnited KingdomElwin Sharvill PROPOSAL
Adams J DarakjyBrazilXuxue Feng QUALIFIED
Alejandro O RutaSpainAmy Elsner QUALIFIED
Salvatore I FerenczUnited KingdomAsiya Javayant PROPOSAL
Claire I BologniaRussiaAmy Elsner RENEWAL
Greenwood P IturbideJapanOnyama Limba UNQUALIFIED
Antonio T RimUnited KingdomElwin Sharvill NEW
Chavez U BologniaCanadaBernardo Dominic NEW
Izzy X MacleadAustraliaOnyama Limba NEGOTIATION
Deepesh L VocelkaGermanyAmy Elsner NEGOTIATION
Jones N CampainBrazilOnyama Limba NEW
Adams E BologniaIndiaOnyama Limba NEGOTIATION
Aika N FlosiSpainBernardo Dominic QUALIFIED
James J RutaAustraliaBernardo Dominic NEW
Emily U AmigonJapanAmy Elsner QUALIFIED
Ashley A DoeCanadaXuxue Feng UNQUALIFIED
Francesco T OldroydRussiaIvan Magalhaes PROPOSAL
Jefferson C FerenczAustraliaAsiya Javayant UNQUALIFIED
Mujtaba W AmigonSpainIoni Bowcher NEW
Juan Q FerenczGermanyXuxue Feng QUALIFIED
Rodrigues J DarakjyCanadaIvan Magalhaes PROPOSAL
Isabel O RimItalyIvan Magalhaes RENEWAL
Jones Q WaycottUnited KingdomXuxue Feng NEW
Murillo B StensethGermanyAsiya Javayant NEGOTIATION
James X InouyeCanadaOnyama Limba RENEWAL
Greenwood N DoeJapanStephen Shaw PROPOSAL
Aruna S CaudyUnited KingdomAnna Fali NEGOTIATION
Emily R StockhamIndiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Jefferson T Briddick
Maisha H Ostrosky
Izzy A Stenseth
Alejandro H Rim
Stacey W Bowley
Mujtaba D Malet
Jennifer S Slusarski
Ricardo X Perin
Greenwood B Iturbide
Claire N Glick
Mujtaba N Chui
Octavia N Glick
Isabel H Figeroa
Tony E Darakjy
Morrow K Stenseth
Greenwood E Nicka
Jefferson O Chui
Stacey Q Tollner
Misaki T Albares
Tony O Royster
Costa V Rim
Ricardo B Sergi
Johnson O Glick
Izzy J Malet
Ashley W Caudy
Greenwood H Caldarera
Mujtaba S Vocelka
Ashley V Bolognia
Sinclair W Slusarski
Sinclair B Wieser
Ivar C Nicka
Aditya K Foller
Munro T Figeroa
James C Morasca
Salvatore I Saylors
Ivar E Dilliard
Morrow K Poquette
Kadeem X Foller
Murillo Y Flosi
Morrow W Perin
Faith P Briddick
Cody W Caudy
Chavez K Kolmetz
Mayumi I Rim
David J Doe
Mujtaba I Poquette
Jennifer Y Darakjy
Maria R Stenseth
Ashley U Oldroyd
Aika A Butt
IdCountryDate
1000Argentina2026-09-23
1001Australia2026-09-18
1002India2026-09-04
1003Japan2026-08-29
1004Italy2026-09-13
1005Japan2026-09-09
1006India2026-09-04
1007Brazil2026-09-19
1008Russia2026-09-03
1009India2026-09-03
1010Australia2026-09-16
1011Japan2026-09-14
1012Russia2026-09-20
1013Russia2026-09-06
1014Italy2026-09-24
1015France2026-09-17
1016Brazil2026-09-06
1017France2026-09-22
1018Spain2026-09-08
1019Japan2026-09-10
1020Brazil2026-09-27
1021Japan2026-09-16
1022France2026-08-30
1023Australia2026-09-04
1024Brazil2026-09-10
1025Spain2026-09-27
1026France2026-09-05
1027Canada2026-09-04
1028Germany2026-08-29
1029Argentina2026-09-07
1030Argentina2026-09-11
1031Japan2026-09-12
1032Germany2026-09-23
1033Spain2026-09-25
1034Australia2026-09-26
1035Brazil2026-09-09
1036Spain2026-09-01
1037Spain2026-09-15
1038Argentina2026-08-30
1039Australia2026-09-10
1040Spain2026-09-19
1041India2026-09-25
1042United Kingdom2026-09-27
1043Australia2026-09-04
1044United Kingdom2026-09-25
1045Brazil2026-09-11
1046France2026-09-17
1047Japan2026-09-23
1048Germany2026-09-16
1049United Kingdom2026-09-21

On-Demand Data

NameIdCountryDate
Costa X Bowley1000Italy2026-09-07
Ivar Y Butt1001United Kingdom2026-08-29
Johnson E Waycott1002Canada2026-09-16
Emily Z Shinko1003Argentina2026-09-24
Izzy D Venere1004France2026-09-07
Misaki Q Doe1005India2026-09-19
Clifford P Bowley1006Italy2026-08-31
Sinclair F Waycott1007France2026-09-08
Julie E Oldroyd1008United Kingdom2026-09-12
Smith M Caudy1009Canada2026-09-04
Alejandro E Morasca1010Spain2026-09-14
Maisha L Sergi1011Spain2026-08-31
Leon G Butt1012Canada2026-09-26
Costa P Stockham1013Argentina2026-09-01
Claire O Paprocki1014United Kingdom2026-09-03
Smith W Dilliard1015Canada2026-09-06
Juan N Maclead1016Brazil2026-09-27
Costa S Stockham1017Spain2026-09-24
Mujtaba K Campain1018Spain2026-09-14
Aditya G Glick1019Italy2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony P MorascaArgentinaAsiya Javayant NEW
Aika A IturbideRussiaOnyama Limba QUALIFIED
Isabel X CaldareraCanadaElwin Sharvill RENEWAL
Francesco G VocelkaCanadaOnyama Limba RENEWAL
Smith P AlbaresItalyAnna Fali NEW
Wickens B TollnerRussiaIoni Bowcher NEGOTIATION
Jennifer T CaldareraJapanAnna Fali QUALIFIED
Julie Y DarakjyIndiaBernardo Dominic RENEWAL
Darci M StockhamIndiaAnna Fali QUALIFIED
Faith A GarufiIndiaOnyama Limba PROPOSAL
Stacey A GillianBrazilXuxue Feng RENEWAL
Arvin P PoquetteUnited KingdomOnyama Limba NEW
Rodrigues M NickaJapanStephen Shaw NEW
Alejandro D PerinRussiaXuxue Feng PROPOSAL
Kadeem U GlickArgentinaAmy Elsner RENEWAL
Aika R NickaGermanyIoni Bowcher NEGOTIATION
Smith I AlbaresItalyIoni Bowcher QUALIFIED
Maisha G RutaIndiaXuxue Feng RENEWAL
Sinclair P NestleJapanAsiya Javayant NEW
Darci R WhobreyRussiaAmy Elsner NEGOTIATION
Nicolas N ButtAustraliaOnyama Limba UNQUALIFIED
Adams P CaldareraBrazilBernardo Dominic UNQUALIFIED
Morrow S DarakjyAustraliaOnyama Limba NEGOTIATION
Silvio I WaycottSpainAsiya Javayant NEGOTIATION
Johnson I KuskoUnited KingdomXuxue Feng RENEWAL
Jones V MorascaFranceBernardo Dominic PROPOSAL
Antonio A StensethGermanyAmy Elsner PROPOSAL
Emily I WaycottRussiaElwin Sharvill QUALIFIED
Mujtaba E RoysterGermanyElwin Sharvill NEGOTIATION
Isabel A InouyeGermanyElwin Sharvill QUALIFIED
Faith W SergiBrazilOnyama Limba PROPOSAL
Aika F MorascaItalyAsiya Javayant RENEWAL
Smith Z SchemmerIndiaIvan Magalhaes NEW
Jeanfrancois I WaycottCanadaBernardo Dominic QUALIFIED
Jeanfrancois X BologniaIndiaIoni Bowcher QUALIFIED
Smith E SlusarskiFranceStephen Shaw QUALIFIED
Kaitlin H WhobreyFranceElwin Sharvill UNQUALIFIED
Costa F ChuiAustraliaOnyama Limba NEW
Francesco B MarrierBrazilElwin Sharvill NEW
Jennifer D VocelkaAustraliaIoni Bowcher PROPOSAL

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