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
David Y BologniaBrazilStephen Shaw UNQUALIFIED
Antonio O MorascaGermanyOnyama Limba QUALIFIED
Mayumi R WhobreyUnited KingdomAsiya Javayant RENEWAL
Aruna Q BologniaAustraliaAmy Elsner PROPOSAL
Aruna K SaylorsUnited KingdomAsiya Javayant RENEWAL
Isabel V VenereGermanyAmy Elsner QUALIFIED
Maisha D MorascaBrazilStephen Shaw UNQUALIFIED
Jefferson Z GlickCanadaBernardo Dominic NEW
Darci Z PoquetteJapanIoni Bowcher NEGOTIATION
Cody Q BowleyBrazilAsiya Javayant RENEWAL
Ashley L RutaCanadaAsiya Javayant NEW
Francesco J SergiRussiaBernardo Dominic UNQUALIFIED
Munro Q ShinkoArgentinaIoni Bowcher NEGOTIATION
Maisha Q DilliardSpainAmy Elsner QUALIFIED
Nicolas Y CaudyItalyIoni Bowcher RENEWAL
Adams J FollerJapanIvan Magalhaes RENEWAL
Mayumi A CaldareraItalyBernardo Dominic NEW
Johnson Q SergiGermanyXuxue Feng QUALIFIED
Clifford O MarrierFranceIvan Magalhaes NEGOTIATION
Jennifer Q WhobreyBrazilBernardo Dominic NEGOTIATION
Nicolas D MaletJapanXuxue Feng NEW
Morrow P SlusarskiFranceIoni Bowcher QUALIFIED
Morrow L StensethAustraliaAmy Elsner NEGOTIATION
Mujtaba L GauchoBrazilBernardo Dominic PROPOSAL
Greenwood J BowleyArgentinaXuxue Feng UNQUALIFIED
Ivar B PaprockiRussiaAnna Fali NEW
David U WaycottGermanyAsiya Javayant PROPOSAL
Faith T FollerJapanAmy Elsner UNQUALIFIED
Claire B DilliardIndiaAmy Elsner UNQUALIFIED
Aditya T ShinkoSpainStephen Shaw QUALIFIED
Emily N FollerIndiaAmy Elsner NEGOTIATION
Alejandro N GarufiIndiaAnna Fali UNQUALIFIED
Clifford F MaletRussiaAsiya Javayant PROPOSAL
Julie Y AlbaresBrazilBernardo Dominic QUALIFIED
Mujtaba B GillianCanadaElwin Sharvill QUALIFIED
Cody W WhobreyGermanyElwin Sharvill NEW
Leja C MaletArgentinaAnna Fali NEW
Aika F GillianCanadaIoni Bowcher RENEWAL
Deepesh H SlusarskiSpainIoni Bowcher RENEWAL
Stacey X MaletRussiaOnyama Limba NEGOTIATION
Kadeem G FlosiCanadaElwin Sharvill NEW
Isabel S SaylorsItalyBernardo Dominic QUALIFIED
Murillo L OstroskyGermanyOnyama Limba QUALIFIED
Mayumi Y FigeroaJapanAsiya Javayant NEW
Adams W FigeroaBrazilAsiya Javayant RENEWAL
Munro M ButtAustraliaStephen Shaw NEGOTIATION
David Q FerenczCanadaOnyama Limba UNQUALIFIED
Smith A PerinIndiaAmy Elsner PROPOSAL
Alejandro K PerinGermanyXuxue Feng UNQUALIFIED
Johnson U AlbaresJapanElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Cody W ShinkoItalyBernardo Dominic NEGOTIATION
Maisha C DarakjyArgentinaAsiya Javayant NEW
Faith W InouyeBrazilAsiya Javayant NEGOTIATION
Tony L MacleadIndiaBernardo Dominic UNQUALIFIED
Darci I BowleyIndiaOnyama Limba NEW
Maria Y GarufiSpainAsiya Javayant NEW
Juan O PoquetteArgentinaAmy Elsner NEGOTIATION
Smith U KolmetzItalyElwin Sharvill PROPOSAL
Izzy U RoysterBrazilAnna Fali QUALIFIED
Mayumi B MaletCanadaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika E GauchoJapan2026-11-01Commercial Press NEGOTIATION82Elwin Sharvill
1001Claire L MaletBrazil2026-10-08Rangoni Of Florence QUALIFIED96Xuxue Feng
1002Misaki R MaletGermany2026-11-02Rousseaux, Michael Esq UNQUALIFIED25Asiya Javayant
1003Isabel D FigeroaUnited Kingdom2026-10-18Feiner Bros NEGOTIATION68Onyama Limba
1004Nicolas P DilliardRussia2026-10-18Rangoni Of Florence PROPOSAL20Anna Fali
1005Aditya I GarufiGermany2026-10-16Morlong Associates NEW58Amy Elsner
1006Emily Z RimFrance2026-10-25Dorl, James J Esq RENEWAL99Onyama Limba
1007Maisha N AlbaresArgentina2026-10-15Printing Dimensions RENEWAL76Ivan Magalhaes
1008Morrow T VenereJapan2026-10-07Benton, John B Jr PROPOSAL81Ioni Bowcher
1009Adams E DarakjySpain2026-10-22Rangoni Of Florence NEW32Bernardo Dominic
1010Aruna H VenereItaly2026-10-20Printing Dimensions UNQUALIFIED40Stephen Shaw
1011Jennifer Z PoquetteJapan2026-10-18Buckley Miller Wright RENEWAL94Onyama Limba
1012Mayumi L BriddickUnited Kingdom2026-10-04Commercial Press PROPOSAL66Bernardo Dominic
1013Greenwood O KuskoAustralia2026-10-26Dorl, James J Esq UNQUALIFIED24Onyama Limba
1014Greenwood H StensethUnited Kingdom2026-10-12Chapman, Ross E Esq QUALIFIED70Xuxue Feng
1015Julie H OldroydItaly2026-10-17Chanay, Jeffrey A Esq RENEWAL21Ivan Magalhaes
1016Claire M NestleArgentina2026-10-08Benton, John B Jr NEW13Anna Fali
1017Morrow O KuskoUnited Kingdom2026-10-05King, Christopher A Esq NEW53Bernardo Dominic
1018Arvin Q InouyeBrazil2026-10-22Commercial Press QUALIFIED52Onyama Limba
1019Adams W InouyeArgentina2026-10-12Buckley Miller Wright NEW56Amy Elsner
1020Mujtaba R VenereItaly2026-10-27Chanay, Jeffrey A Esq UNQUALIFIED59Asiya Javayant
1021Munro T NickaFrance2026-10-09Chemel, James L Cpa PROPOSAL12Xuxue Feng
1022Aruna F RulapaughBrazil2026-10-15King, Christopher A Esq NEGOTIATION32Anna Fali
1023Claire U RulapaughItaly2026-10-17Morlong Associates NEW73Stephen Shaw
1024Cody P TollnerIndia2026-10-26Buckley Miller Wright RENEWAL72Xuxue Feng
1025Munro W GillianArgentina2026-10-13Rangoni Of Florence NEGOTIATION30Elwin Sharvill
1026Juan V DarakjyJapan2026-10-31Dorl, James J Esq UNQUALIFIED21Ivan Magalhaes
1027Smith V PerinFrance2026-10-07Rousseaux, Michael Esq NEW97Ioni Bowcher
1028Ashley R FerenczGermany2026-11-01Dorl, James J Esq NEW51Asiya Javayant
1029Arvin R MaletIndia2026-10-28Rangoni Of Florence UNQUALIFIED3Xuxue Feng
1030Deepesh Z SaylorsAustralia2026-10-18Rousseaux, Michael Esq NEW2Xuxue Feng
1031Salvatore K RutaSpain2026-10-07Rangoni Of Florence NEGOTIATION91Bernardo Dominic
1032Francesco E PaprockiIndia2026-10-16Chemel, James L Cpa PROPOSAL58Anna Fali
1033Silvio D WhobreyRussia2026-10-14Chanay, Jeffrey A Esq RENEWAL85Anna Fali
1034Jefferson D GlickIndia2026-11-01Feltz Printing Service NEW11Bernardo Dominic
1035Octavia B MorascaUnited Kingdom2026-10-13Dorl, James J Esq UNQUALIFIED35Xuxue Feng
1036Julie U SergiBrazil2026-10-13Buckley Miller Wright NEW69Stephen Shaw
1037Murillo W SlusarskiItaly2026-10-30Chanay, Jeffrey A Esq NEW13Ioni Bowcher
1038Leon F GarufiBrazil2026-11-01Benton, John B Jr QUALIFIED85Xuxue Feng
1039Nicolas O FlosiItaly2026-10-29Truhlar And Truhlar Attys NEW62Ivan Magalhaes
1040James R FigeroaIndia2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED93Amy Elsner
1041Claire A TollnerIndia2026-10-21Feltz Printing Service NEGOTIATION0Onyama Limba
1042Maisha V FerenczBrazil2026-10-05Rousseaux, Michael Esq QUALIFIED87Elwin Sharvill
1043Kadeem M ShinkoJapan2026-10-26Truhlar And Truhlar Attys UNQUALIFIED46Anna Fali
1044Kadeem Y AlbaresGermany2026-10-15Feltz Printing Service PROPOSAL92Ivan Magalhaes
1045Jennifer Z GarufiIndia2026-10-23Benton, John B Jr UNQUALIFIED9Elwin Sharvill
1046Rodrigues U RutaItaly2026-10-23Feltz Printing Service QUALIFIED36Ioni Bowcher
1047Alejandro D FigeroaItaly2026-10-20Rousseaux, Michael Esq RENEWAL72Bernardo Dominic
1048Smith F IturbideRussia2026-10-18King, Christopher A Esq RENEWAL68Amy Elsner
1049Leja K MacleadCanada2026-10-06Printing Dimensions NEW87Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Chavez T SchemmerUnited KingdomBernardo Dominic RENEWAL
Adams R ButtIndiaAmy Elsner RENEWAL
Nicolas Q SaylorsJapanAmy Elsner NEW
Morrow W AmigonJapanElwin Sharvill UNQUALIFIED
Mujtaba U KuskoJapanBernardo Dominic RENEWAL
Greenwood E FollerCanadaIoni Bowcher UNQUALIFIED
Antonio J BowleyIndiaXuxue Feng RENEWAL
Munro L GauchoUnited KingdomIvan Magalhaes PROPOSAL
Julie E NickaGermanyIoni Bowcher RENEWAL
Chavez D RimBrazilAmy Elsner PROPOSAL
Johnson W SlusarskiFranceAsiya Javayant NEW
Octavia N SchemmerArgentinaAnna Fali QUALIFIED
Greenwood N NestleRussiaOnyama Limba NEGOTIATION
Jennifer M CaudyJapanXuxue Feng QUALIFIED
Isabel D KuskoUnited KingdomOnyama Limba PROPOSAL
Munro Y MarrierAustraliaAsiya Javayant NEW
Chavez W GlickCanadaIvan Magalhaes UNQUALIFIED
Ashley L RoysterBrazilBernardo Dominic QUALIFIED
Aditya Q InouyeRussiaIvan Magalhaes PROPOSAL
Silvio L GarufiSpainXuxue Feng QUALIFIED
Smith X WaycottBrazilIvan Magalhaes PROPOSAL
Kadeem T MacleadUnited KingdomBernardo Dominic RENEWAL
Leon S SchemmerCanadaOnyama Limba UNQUALIFIED
David U NestleArgentinaIoni Bowcher NEGOTIATION
Salvatore R ShinkoGermanyIoni Bowcher NEGOTIATION
Ricardo H BowleyRussiaBernardo Dominic RENEWAL
Ashley A GillianGermanyOnyama Limba PROPOSAL
Juan V DilliardFranceBernardo Dominic NEGOTIATION
Sinclair N RoysterItalyIvan Magalhaes QUALIFIED
Ashley O RoysterGermanyStephen Shaw NEW
Clifford G BologniaAustraliaElwin Sharvill NEW
Isabel U NickaSpainAsiya Javayant PROPOSAL
David E KuskoRussiaStephen Shaw NEGOTIATION
Julie M BriddickSpainElwin Sharvill NEW
James L MaletFranceXuxue Feng NEGOTIATION
Kaitlin H InouyeGermanyElwin Sharvill NEW
Antonio Z OstroskyIndiaOnyama Limba PROPOSAL
Jones Y BriddickSpainIvan Magalhaes NEGOTIATION
Adams Y GarufiArgentinaAmy Elsner NEGOTIATION
Antonio O GauchoCanadaStephen Shaw NEW
Sinclair T ButtSpainIvan Magalhaes UNQUALIFIED
Arvin H ShinkoAustraliaIvan Magalhaes NEW
Octavia O WieserIndiaElwin Sharvill NEGOTIATION
Juan I GillianSpainElwin Sharvill QUALIFIED
Salvatore U NickaGermanyIoni Bowcher NEGOTIATION
Adams G SaylorsSpainIvan Magalhaes UNQUALIFIED
Faith O TollnerFranceXuxue Feng PROPOSAL
Faith L StockhamRussiaBernardo Dominic NEW
Ivar D SchemmerJapanIoni Bowcher NEGOTIATION
Juan B GlickSpainIvan Magalhaes NEW
Frozen Columns
Name
Jefferson C Slusarski
Wickens Y Marrier
Stacey W Figeroa
Deepesh F Malet
Johnson N Paprocki
Mayumi O Gillian
Wickens E Inouye
David P Rim
Clifford H Maclead
Morrow Z Sergi
Francesco V Perin
Octavia A Iturbide
Darci E Malet
Izzy M Flosi
Claire Q Figeroa
Antonio C Shinko
Darci Y Rim
Julie C Slusarski
Salvatore T Shinko
Arvin R Rim
Octavia P Gaucho
Ashley G Slusarski
Juan A Caldarera
Octavia Z Venere
Adams W Amigon
Izzy Q Kusko
Jennifer D Perin
Maria L Malet
Munro V Shinko
Jeanfrancois H Butt
Francesco G Nicka
Ivar K Ostrosky
Maria R Kolmetz
Leja X Bolognia
Jones V Darakjy
Munro I Wieser
Nicolas W Saylors
Misaki K Kolmetz
Aditya E Figeroa
Cody F Rim
Juan I Paprocki
Smith R Perin
Faith K Poquette
Arvin U Sergi
David J Gillian
Ricardo R Saylors
Jefferson M Waycott
Kadeem U Maclead
Aika H Foller
Izzy K Darakjy
IdCountryDate
1000Spain2026-10-21
1001Italy2026-10-06
1002Australia2026-10-21
1003Brazil2026-10-04
1004Japan2026-10-12
1005France2026-10-21
1006Germany2026-10-28
1007Spain2026-10-17
1008United Kingdom2026-10-20
1009Brazil2026-10-07
1010Spain2026-10-15
1011India2026-10-29
1012Brazil2026-11-02
1013Japan2026-10-30
1014France2026-10-16
1015Spain2026-10-04
1016Germany2026-10-17
1017Spain2026-10-10
1018Italy2026-10-11
1019Canada2026-10-24
1020Brazil2026-10-23
1021Brazil2026-10-08
1022Australia2026-10-12
1023Argentina2026-10-12
1024Germany2026-10-09
1025Italy2026-10-06
1026Spain2026-10-19
1027France2026-10-27
1028Japan2026-11-02
1029Russia2026-10-22
1030Canada2026-11-02
1031Spain2026-10-17
1032Japan2026-10-20
1033Brazil2026-10-27
1034Germany2026-10-21
1035France2026-10-22
1036India2026-10-14
1037United Kingdom2026-10-18
1038Spain2026-10-14
1039Russia2026-10-24
1040Spain2026-10-19
1041Italy2026-10-20
1042Argentina2026-10-31
1043Canada2026-11-02
1044India2026-10-28
1045France2026-11-02
1046Russia2026-10-06
1047India2026-10-07
1048France2026-10-14
1049United Kingdom2026-11-01

On-Demand Data

NameIdCountryDate
Antonio H Stenseth1000Japan2026-10-11
Jennifer K Garufi1001Japan2026-10-30
Aditya D Glick1002Japan2026-10-05
Isabel Z Nicka1003Spain2026-10-24
Nicolas W Vocelka1004Canada2026-10-23
Izzy B Wieser1005Japan2026-10-11
Leja X Garufi1006France2026-10-06
Jennifer O Slusarski1007United Kingdom2026-10-06
Rodrigues I Campain1008Germany2026-10-18
Maria R Ostrosky1009Germany2026-10-17
Morrow W Garufi1010Australia2026-10-28
Ashley Z Perin1011India2026-10-25
Darci Y Caldarera1012India2026-10-29
Octavia V Rulapaugh1013United Kingdom2026-10-07
Octavia I Foller1014Italy2026-10-15
Sinclair C Sergi1015Germany2026-10-28
Octavia P Rim1016United Kingdom2026-10-29
Maisha P Butt1017India2026-10-14
Ricardo I Figeroa1018Italy2026-10-14
Francesco S Garufi1019Brazil2026-10-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David V MorascaRussiaXuxue Feng QUALIFIED
Johnson L OldroydJapanOnyama Limba NEW
Murillo J SaylorsGermanyIvan Magalhaes QUALIFIED
Ricardo L InouyeAustraliaXuxue Feng RENEWAL
Sinclair I KolmetzIndiaAsiya Javayant QUALIFIED
Johnson K WaycottArgentinaBernardo Dominic RENEWAL
Murillo Z BowleyFranceAmy Elsner UNQUALIFIED
Claire R GlickUnited KingdomIvan Magalhaes NEW
Adams L CampainUnited KingdomElwin Sharvill RENEWAL
Nicolas O PaprockiCanadaIvan Magalhaes QUALIFIED
Stacey J ButtCanadaElwin Sharvill UNQUALIFIED
Faith G ButtIndiaStephen Shaw PROPOSAL
Faith U VenereUnited KingdomBernardo Dominic PROPOSAL
Salvatore U SlusarskiFranceElwin Sharvill NEW
Leon U SchemmerItalyBernardo Dominic PROPOSAL
Kaitlin H MacleadCanadaXuxue Feng RENEWAL
Ricardo G VenereFranceIvan Magalhaes PROPOSAL
Isabel X InouyeArgentinaIvan Magalhaes QUALIFIED
Juan A KolmetzIndiaIoni Bowcher QUALIFIED
Deepesh O PoquetteItalyBernardo Dominic NEW
Ashley P SergiGermanyXuxue Feng QUALIFIED
Salvatore T InouyeArgentinaOnyama Limba NEGOTIATION
Rodrigues G FollerSpainElwin Sharvill RENEWAL
Antonio I WhobreyUnited KingdomBernardo Dominic NEW
Jeanfrancois Y SaylorsFranceAnna Fali NEGOTIATION
Jones Y TollnerJapanAmy Elsner NEGOTIATION
Faith N FollerFranceAsiya Javayant UNQUALIFIED
Ivar L AmigonArgentinaIoni Bowcher PROPOSAL
James X CaldareraJapanXuxue Feng NEW
Morrow L MaletItalyIoni Bowcher UNQUALIFIED
Francesco L VocelkaAustraliaStephen Shaw PROPOSAL
Costa P WieserIndiaIoni Bowcher QUALIFIED
Johnson J FerenczGermanyAsiya Javayant PROPOSAL
Ashley X BowleyAustraliaIoni Bowcher NEW
Misaki P PaprockiFranceStephen Shaw NEGOTIATION
Chavez V PoquetteGermanyBernardo Dominic RENEWAL
Sinclair I GauchoSpainXuxue Feng UNQUALIFIED
Arvin U RimGermanyStephen Shaw UNQUALIFIED
Sinclair Q WaycottJapanStephen Shaw NEW
Isabel H SlusarskiGermanyAnna Fali UNQUALIFIED

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