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
Isabel N GarufiCanadaStephen Shaw QUALIFIED
Murillo M WaycottJapanElwin Sharvill NEW
Nicolas X AlbaresAustraliaAsiya Javayant QUALIFIED
Jeanfrancois L BologniaUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois Q StockhamAustraliaElwin Sharvill NEW
Nicolas P OstroskyAustraliaIvan Magalhaes NEW
Cody V SlusarskiBrazilAsiya Javayant UNQUALIFIED
Smith N KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Misaki V GarufiItalyElwin Sharvill UNQUALIFIED
James A PoquetteIndiaXuxue Feng PROPOSAL
David I BowleyJapanElwin Sharvill NEGOTIATION
Mayumi H DilliardSpainAmy Elsner UNQUALIFIED
Munro P GlickGermanyBernardo Dominic NEW
Cody F FlosiCanadaAsiya Javayant NEW
Aditya X RoysterCanadaOnyama Limba RENEWAL
Smith D WieserArgentinaOnyama Limba NEW
Adams U MarrierJapanBernardo Dominic QUALIFIED
Ashley F FollerRussiaElwin Sharvill UNQUALIFIED
Ivar Z FerenczRussiaElwin Sharvill NEGOTIATION
Clifford Q GarufiIndiaAnna Fali PROPOSAL
Munro X FigeroaUnited KingdomAnna Fali QUALIFIED
James M VocelkaSpainIoni Bowcher RENEWAL
Nicolas K RoysterFranceIoni Bowcher UNQUALIFIED
Aika W AlbaresUnited KingdomAsiya Javayant RENEWAL
Faith X VocelkaAustraliaStephen Shaw QUALIFIED
Jones D RutaUnited KingdomIvan Magalhaes PROPOSAL
Sinclair A RulapaughSpainAmy Elsner UNQUALIFIED
Kadeem B DarakjyAustraliaIvan Magalhaes RENEWAL
Munro I WieserJapanStephen Shaw RENEWAL
Octavia C ButtGermanyBernardo Dominic RENEWAL
Maisha A SergiSpainIvan Magalhaes QUALIFIED
Sinclair H SchemmerCanadaOnyama Limba QUALIFIED
Maisha F StensethAustraliaOnyama Limba NEW
Johnson V CaudyBrazilAmy Elsner PROPOSAL
Juan Q MarrierRussiaElwin Sharvill UNQUALIFIED
Julie R SaylorsAustraliaXuxue Feng NEW
Stacey L NestleItalyStephen Shaw RENEWAL
Stacey X ButtUnited KingdomOnyama Limba UNQUALIFIED
Sinclair V ShinkoIndiaAsiya Javayant NEW
Munro S MaletSpainIoni Bowcher PROPOSAL
Rodrigues K GarufiUnited KingdomIvan Magalhaes NEW
David F GillianArgentinaAnna Fali UNQUALIFIED
Faith L GarufiFranceOnyama Limba QUALIFIED
Tony H GlickUnited KingdomStephen Shaw UNQUALIFIED
Maisha U MaletArgentinaAnna Fali QUALIFIED
Chavez U IturbideSpainAnna Fali UNQUALIFIED
Octavia R KolmetzIndiaIoni Bowcher PROPOSAL
Aruna R NickaRussiaBernardo Dominic UNQUALIFIED
Adams V BologniaSpainElwin Sharvill NEW
Nicolas O BriddickFranceAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Tony N DarakjyGermanyIoni Bowcher PROPOSAL
Morrow P RulapaughGermanyStephen Shaw UNQUALIFIED
Maria L SchemmerAustraliaAmy Elsner PROPOSAL
Greenwood K FollerUnited KingdomAmy Elsner UNQUALIFIED
Salvatore R ButtCanadaIoni Bowcher RENEWAL
Aruna L FlosiJapanAnna Fali NEW
Kadeem R AlbaresAustraliaIoni Bowcher UNQUALIFIED
Aditya E SchemmerAustraliaIoni Bowcher RENEWAL
Jones Y FlosiJapanAmy Elsner QUALIFIED
Jennifer N CaudyGermanyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David N OldroydGermany2026-09-29Dorl, James J Esq RENEWAL5Ivan Magalhaes
1001Smith Y IturbideSpain2026-09-15Chanay, Jeffrey A Esq NEGOTIATION27Elwin Sharvill
1002Stacey K AlbaresIndia2026-09-15Dorl, James J Esq UNQUALIFIED25Anna Fali
1003Arvin N BriddickFrance2026-09-16Buckley Miller Wright NEGOTIATION29Onyama Limba
1004Jones H StensethUnited Kingdom2026-09-20Morlong Associates PROPOSAL17Elwin Sharvill
1005Aditya G WieserBrazil2026-09-26Printing Dimensions PROPOSAL41Xuxue Feng
1006Julie M FlosiIndia2026-10-02Rangoni Of Florence RENEWAL98Anna Fali
1007Mayumi P FlosiFrance2026-09-30Printing Dimensions QUALIFIED65Amy Elsner
1008Claire X KolmetzJapan2026-09-21Chanay, Jeffrey A Esq RENEWAL80Asiya Javayant
1009Clifford N BriddickSpain2026-09-25King, Christopher A Esq QUALIFIED98Xuxue Feng
1010Greenwood Y KolmetzRussia2026-09-16Truhlar And Truhlar Attys NEW0Stephen Shaw
1011Greenwood I PoquetteIndia2026-09-27Truhlar And Truhlar Attys RENEWAL18Onyama Limba
1012Munro V NickaBrazil2026-09-19Chemel, James L Cpa NEW68Amy Elsner
1013Aruna T GillianBrazil2026-09-16Benton, John B Jr UNQUALIFIED40Amy Elsner
1014Julie N NestleItaly2026-10-04Commercial Press UNQUALIFIED82Asiya Javayant
1015Leja Q IturbideSpain2026-10-02Rangoni Of Florence UNQUALIFIED98Anna Fali
1016Deepesh M SaylorsFrance2026-09-15Printing Dimensions PROPOSAL61Ioni Bowcher
1017Mayumi N PaprockiRussia2026-09-18Feltz Printing Service RENEWAL99Amy Elsner
1018Nicolas F TollnerCanada2026-09-11Printing Dimensions RENEWAL2Onyama Limba
1019Stacey H FollerGermany2026-10-03Buckley Miller Wright QUALIFIED34Xuxue Feng
1020David I CaldareraArgentina2026-10-01Rousseaux, Michael Esq NEW51Xuxue Feng
1021Jones O SaylorsGermany2026-10-02Truhlar And Truhlar Attys QUALIFIED1Asiya Javayant
1022Johnson X GauchoItaly2026-09-11Chapman, Ross E Esq UNQUALIFIED14Stephen Shaw
1023Jefferson Z StensethBrazil2026-09-22Morlong Associates QUALIFIED7Elwin Sharvill
1024Wickens V WieserSpain2026-09-25Commercial Press RENEWAL61Onyama Limba
1025Adams O IturbideBrazil2026-09-19Rangoni Of Florence RENEWAL76Amy Elsner
1026Misaki R IturbideAustralia2026-10-04Commercial Press PROPOSAL37Amy Elsner
1027Aika B MacleadRussia2026-10-07Truhlar And Truhlar Attys UNQUALIFIED70Asiya Javayant
1028Rodrigues T IturbideSpain2026-09-13Rangoni Of Florence RENEWAL12Elwin Sharvill
1029Greenwood I GarufiArgentina2026-09-25Rangoni Of Florence RENEWAL79Amy Elsner
1030Rodrigues E ShinkoItaly2026-09-21Dorl, James J Esq RENEWAL64Onyama Limba
1031Kadeem E OldroydRussia2026-09-21Truhlar And Truhlar Attys NEGOTIATION72Anna Fali
1032Arvin J WhobreyBrazil2026-09-17Commercial Press RENEWAL80Amy Elsner
1033Silvio R RimSpain2026-10-03Rousseaux, Michael Esq RENEWAL92Onyama Limba
1034Maisha Y DarakjyRussia2026-09-17Buckley Miller Wright UNQUALIFIED20Asiya Javayant
1035Antonio D StockhamJapan2026-10-03Dorl, James J Esq RENEWAL82Ivan Magalhaes
1036Antonio N SlusarskiGermany2026-10-08Chapman, Ross E Esq NEGOTIATION44Xuxue Feng
1037Claire W NestleGermany2026-10-05Chanay, Jeffrey A Esq RENEWAL64Amy Elsner
1038Smith N CampainAustralia2026-09-19Buckley Miller Wright NEGOTIATION91Anna Fali
1039Maria Y OldroydJapan2026-09-29Commercial Press UNQUALIFIED39Asiya Javayant
1040Octavia K MarrierRussia2026-09-14Printing Dimensions PROPOSAL65Amy Elsner
1041Maria F ShinkoGermany2026-10-02King, Christopher A Esq RENEWAL72Stephen Shaw
1042Chavez L GauchoBrazil2026-09-30Benton, John B Jr RENEWAL51Amy Elsner
1043Isabel W SchemmerUnited Kingdom2026-09-18Commercial Press NEGOTIATION74Onyama Limba
1044Mujtaba Y OldroydIndia2026-09-23Chapman, Ross E Esq PROPOSAL98Stephen Shaw
1045Jones S ChuiCanada2026-09-17Truhlar And Truhlar Attys QUALIFIED71Ivan Magalhaes
1046Ashley L StockhamJapan2026-09-19Chanay, Jeffrey A Esq NEW54Ivan Magalhaes
1047Mayumi F BowleySpain2026-09-30Printing Dimensions QUALIFIED69Ivan Magalhaes
1048Faith P GlickAustralia2026-09-28Morlong Associates NEGOTIATION49Ioni Bowcher
1049Isabel O PaprockiItaly2026-10-07Benton, John B Jr PROPOSAL87Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki W FollerRussiaElwin Sharvill RENEWAL
Faith G KolmetzFranceOnyama Limba NEW
Julie F ShinkoIndiaOnyama Limba NEW
David Z FlosiSpainElwin Sharvill PROPOSAL
Cody Q GarufiItalyElwin Sharvill NEW
Adams Z RimUnited KingdomAnna Fali QUALIFIED
Jefferson B MacleadJapanAnna Fali RENEWAL
Johnson W CampainBrazilIvan Magalhaes NEGOTIATION
Ivar N TollnerGermanyAsiya Javayant QUALIFIED
Darci T MaletJapanIoni Bowcher NEGOTIATION
Kadeem H GauchoRussiaOnyama Limba NEW
Jennifer M BriddickArgentinaStephen Shaw QUALIFIED
Silvio R RulapaughIndiaElwin Sharvill UNQUALIFIED
Francesco Z MaletAustraliaAnna Fali NEW
Kadeem F StockhamJapanOnyama Limba NEGOTIATION
Adams P MaletFranceIoni Bowcher NEW
Morrow N DarakjyArgentinaStephen Shaw PROPOSAL
Chavez E RoysterAustraliaIoni Bowcher PROPOSAL
Maisha B InouyeSpainAnna Fali PROPOSAL
Arvin G PerinJapanElwin Sharvill UNQUALIFIED
Julie T PerinUnited KingdomElwin Sharvill NEGOTIATION
Salvatore S MorascaIndiaStephen Shaw UNQUALIFIED
Jeanfrancois P ButtSpainStephen Shaw UNQUALIFIED
Rodrigues O GarufiSpainIoni Bowcher NEW
Aruna T MacleadUnited KingdomAsiya Javayant PROPOSAL
Jefferson H WhobreyUnited KingdomIvan Magalhaes NEW
Octavia M KolmetzItalyXuxue Feng NEGOTIATION
Stacey B WieserGermanyAmy Elsner RENEWAL
Ricardo T AlbaresSpainAsiya Javayant RENEWAL
Aditya A BologniaIndiaIoni Bowcher RENEWAL
Deepesh G FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Tony S RoysterIndiaAnna Fali NEW
Stacey I OstroskyItalyAsiya Javayant PROPOSAL
Alejandro K ChuiFranceBernardo Dominic PROPOSAL
Claire O FlosiAustraliaOnyama Limba NEW
Nicolas R GillianUnited KingdomAsiya Javayant RENEWAL
Mayumi H PoquetteItalyIvan Magalhaes RENEWAL
Chavez L OstroskyBrazilAmy Elsner RENEWAL
Deepesh Q GarufiIndiaBernardo Dominic RENEWAL
Alejandro R RutaAustraliaStephen Shaw UNQUALIFIED
Kadeem B FerenczFranceXuxue Feng NEGOTIATION
Ivar O RoysterGermanyOnyama Limba NEW
Mujtaba A BriddickJapanAsiya Javayant UNQUALIFIED
Faith G DarakjyItalyOnyama Limba UNQUALIFIED
Jones G BriddickUnited KingdomAsiya Javayant NEGOTIATION
Silvio G RutaFranceOnyama Limba NEW
Salvatore F FigeroaItalyAsiya Javayant NEGOTIATION
Juan S TollnerAustraliaAsiya Javayant QUALIFIED
Julie H NickaIndiaBernardo Dominic NEW
Costa J PoquetteFranceAnna Fali PROPOSAL
Frozen Columns
Name
Greenwood M Ostrosky
Smith U Darakjy
Antonio G Iturbide
Antonio P Darakjy
Adams O Kolmetz
Leja C Gillian
Jennifer P Marrier
Leja P Malet
Ricardo U Glick
Maisha A Bowley
Antonio M Waycott
Isabel W Nestle
Cody S Wieser
James S Gaucho
Nicolas W Rulapaugh
Munro D Rim
Arvin A Kusko
Morrow G Chui
Jeanfrancois R Foller
Darci F Dilliard
Emily G Perin
Faith M Briddick
Julie T Kusko
Antonio W Bowley
Mujtaba H Figeroa
Aruna J Paprocki
Greenwood K Amigon
Izzy P Paprocki
Wickens W Garufi
Antonio U Wieser
Greenwood C Iturbide
Sinclair H Albares
Stacey G Vocelka
Emily S Slusarski
Deepesh Q Stockham
Darci M Saylors
Tony A Caldarera
Murillo F Figeroa
Aditya X Foller
Claire S Perin
Claire A Bolognia
Jennifer B Perin
Faith A Kolmetz
Maria C Bowley
Alejandro Y Perin
Izzy H Whobrey
Emily R Perin
Salvatore O Marrier
Ivar E Slusarski
Cody C Glick
IdCountryDate
1000Brazil2026-09-18
1001Argentina2026-09-27
1002France2026-09-11
1003Germany2026-09-15
1004Canada2026-09-30
1005Japan2026-09-12
1006Brazil2026-09-14
1007Argentina2026-09-10
1008Germany2026-09-22
1009Russia2026-09-20
1010Japan2026-10-03
1011France2026-10-09
1012Canada2026-10-05
1013Germany2026-09-10
1014Canada2026-09-15
1015Canada2026-10-08
1016Italy2026-10-02
1017Russia2026-09-10
1018Canada2026-09-20
1019Brazil2026-10-03
1020France2026-09-30
1021Australia2026-09-25
1022India2026-09-23
1023Russia2026-10-08
1024United Kingdom2026-10-03
1025Argentina2026-09-24
1026Argentina2026-09-18
1027Argentina2026-09-17
1028India2026-10-03
1029Germany2026-09-23
1030Brazil2026-09-30
1031Japan2026-09-28
1032Canada2026-10-02
1033Russia2026-09-19
1034India2026-09-29
1035Australia2026-09-19
1036Australia2026-09-26
1037Japan2026-09-11
1038Germany2026-09-24
1039Australia2026-10-03
1040Canada2026-10-08
1041Brazil2026-09-10
1042Germany2026-09-16
1043Brazil2026-09-24
1044Italy2026-09-20
1045Germany2026-09-13
1046Argentina2026-10-01
1047Germany2026-09-16
1048Italy2026-09-13
1049Japan2026-09-20

On-Demand Data

NameIdCountryDate
Cody X Schemmer1000India2026-09-30
Smith H Dilliard1001Brazil2026-09-22
Tony O Iturbide1002Brazil2026-09-19
Aditya H Nestle1003France2026-09-20
Octavia B Butt1004Argentina2026-09-22
Maria X Kolmetz1005Germany2026-10-07
Jennifer X Chui1006Japan2026-10-09
Octavia V Caudy1007Canada2026-10-08
Nicolas L Stenseth1008Germany2026-10-06
Mayumi A Marrier1009Argentina2026-09-19
Salvatore R Inouye1010Germany2026-09-24
Leon C Whobrey1011Spain2026-09-19
Maria T Sergi1012Brazil2026-09-11
Morrow A Caldarera1013Russia2026-09-18
Greenwood T Perin1014Spain2026-09-14
Francesco R Caldarera1015India2026-09-27
Octavia I Chui1016United Kingdom2026-10-08
Jeanfrancois K Iturbide1017Russia2026-09-30
Ivar C Briddick1018Canada2026-10-03
Nicolas O Foller1019Canada2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James E VenereItalyStephen Shaw QUALIFIED
Sinclair J OldroydItalyAmy Elsner RENEWAL
Claire B CaudyCanadaBernardo Dominic NEGOTIATION
Kaitlin W SergiArgentinaAnna Fali NEGOTIATION
Silvio R ShinkoFranceOnyama Limba NEW
Adams A FigeroaJapanElwin Sharvill UNQUALIFIED
Sinclair N ButtRussiaOnyama Limba NEGOTIATION
Silvio I VenereSpainXuxue Feng RENEWAL
Jennifer X FigeroaArgentinaAmy Elsner PROPOSAL
James E ShinkoJapanIvan Magalhaes NEW
Juan B OldroydIndiaStephen Shaw UNQUALIFIED
Leja X FollerFranceAmy Elsner QUALIFIED
Aditya L CampainIndiaAmy Elsner NEGOTIATION
Costa R DoeSpainIvan Magalhaes PROPOSAL
Stacey E RutaFranceElwin Sharvill QUALIFIED
Tony P WhobreyItalyIvan Magalhaes PROPOSAL
Misaki N AlbaresItalyBernardo Dominic UNQUALIFIED
Munro R CaldareraSpainAsiya Javayant QUALIFIED
Misaki E InouyeGermanyIoni Bowcher NEW
Rodrigues K DarakjyUnited KingdomIvan Magalhaes NEW
Misaki L RimFranceAnna Fali NEW
Greenwood K PerinJapanIoni Bowcher NEGOTIATION
Greenwood C BologniaBrazilStephen Shaw NEGOTIATION
Isabel C AmigonGermanyAsiya Javayant RENEWAL
Chavez Z GauchoBrazilStephen Shaw UNQUALIFIED
Emily B BriddickItalyIoni Bowcher PROPOSAL
Smith M BowleyRussiaXuxue Feng RENEWAL
Costa W RoysterUnited KingdomElwin Sharvill PROPOSAL
Claire U ButtArgentinaStephen Shaw NEGOTIATION
Sinclair E OldroydGermanyElwin Sharvill PROPOSAL
Antonio F SergiCanadaAmy Elsner UNQUALIFIED
Emily F TollnerGermanyXuxue Feng NEGOTIATION
David X StensethIndiaIoni Bowcher RENEWAL
Ricardo Q FerenczCanadaBernardo Dominic QUALIFIED
Smith H DarakjyFranceElwin Sharvill PROPOSAL
Francesco P RulapaughJapanAsiya Javayant RENEWAL
Munro P DarakjyIndiaIoni Bowcher QUALIFIED
Silvio B DarakjyArgentinaAmy Elsner PROPOSAL
Juan C AlbaresIndiaIvan Magalhaes QUALIFIED
Jefferson Y SlusarskiSpainIoni Bowcher 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>