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
Salvatore C NestleJapanAnna Fali QUALIFIED
Costa I GillianGermanyAsiya Javayant QUALIFIED
Stacey V SergiFranceAsiya Javayant QUALIFIED
Wickens W RoysterBrazilBernardo Dominic NEGOTIATION
Maria N RulapaughItalyAsiya Javayant UNQUALIFIED
Francesco K CaldareraJapanIvan Magalhaes PROPOSAL
Kaitlin V GauchoSpainStephen Shaw NEW
Jeanfrancois Z PoquetteBrazilAnna Fali PROPOSAL
Claire G RoysterArgentinaAmy Elsner RENEWAL
Faith F GillianJapanBernardo Dominic RENEWAL
James T RulapaughRussiaOnyama Limba UNQUALIFIED
Salvatore F AmigonSpainElwin Sharvill NEGOTIATION
Jeanfrancois K PerinArgentinaElwin Sharvill UNQUALIFIED
Smith K PaprockiJapanAmy Elsner RENEWAL
Clifford D IturbideArgentinaIoni Bowcher QUALIFIED
Jennifer E MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Maria O DilliardIndiaAmy Elsner NEW
Silvio U TollnerBrazilElwin Sharvill RENEWAL
Kadeem F RoysterAustraliaXuxue Feng QUALIFIED
Claire Z GauchoGermanyBernardo Dominic UNQUALIFIED
Aditya B NestleIndiaAnna Fali NEGOTIATION
Darci Z MaletAustraliaOnyama Limba NEGOTIATION
Emily E MorascaBrazilXuxue Feng PROPOSAL
Francesco J RimItalyXuxue Feng NEGOTIATION
Smith A RutaAustraliaElwin Sharvill UNQUALIFIED
Tony B WhobreyUnited KingdomXuxue Feng QUALIFIED
Aruna P RimAustraliaAnna Fali PROPOSAL
Maisha J KuskoGermanyBernardo Dominic NEGOTIATION
Faith M AmigonBrazilStephen Shaw RENEWAL
David O NestleArgentinaIoni Bowcher NEW
Claire G VocelkaFranceAsiya Javayant NEW
Izzy N MacleadSpainAnna Fali PROPOSAL
Kadeem B KuskoBrazilOnyama Limba QUALIFIED
Sinclair S GarufiFranceAsiya Javayant NEGOTIATION
Murillo Y SergiItalyXuxue Feng UNQUALIFIED
Leon Y GillianRussiaBernardo Dominic RENEWAL
Izzy L ChuiBrazilAmy Elsner PROPOSAL
Greenwood Z NickaArgentinaAnna Fali PROPOSAL
Isabel B OldroydUnited KingdomAmy Elsner NEW
Misaki V IturbideSpainOnyama Limba UNQUALIFIED
Maria U AmigonAustraliaIoni Bowcher NEW
Murillo L MarrierFranceIvan Magalhaes UNQUALIFIED
Juan P IturbideCanadaAnna Fali UNQUALIFIED
Isabel T FollerAustraliaAnna Fali NEGOTIATION
Ricardo N MarrierGermanyBernardo Dominic RENEWAL
Darci Q MarrierRussiaAmy Elsner NEW
Faith X RoysterAustraliaIoni Bowcher PROPOSAL
Kadeem U DoeIndiaStephen Shaw PROPOSAL
Izzy T VenereFranceBernardo Dominic PROPOSAL
Stacey G CampainRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon G MarrierIndiaIvan Magalhaes NEW
Kaitlin B PaprockiItalyAmy Elsner NEGOTIATION
Costa A MacleadAustraliaElwin Sharvill NEW
Rodrigues I StockhamFranceIoni Bowcher UNQUALIFIED
Octavia G StensethRussiaElwin Sharvill QUALIFIED
Mayumi M RutaItalyIoni Bowcher PROPOSAL
Stacey E InouyeCanadaIoni Bowcher NEW
Isabel Q CaudySpainStephen Shaw PROPOSAL
Nicolas U ButtBrazilAmy Elsner PROPOSAL
Costa Q ShinkoCanadaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa F GauchoCanada2026-11-02Rangoni Of Florence NEW7Onyama Limba
1001Kadeem X MacleadRussia2026-10-23Chapman, Ross E Esq PROPOSAL23Amy Elsner
1002Nicolas K CaldareraCanada2026-10-19Rangoni Of Florence QUALIFIED6Asiya Javayant
1003Juan R GarufiCanada2026-10-31Commercial Press UNQUALIFIED83Ivan Magalhaes
1004Deepesh X OstroskyArgentina2026-10-29Feiner Bros RENEWAL60Stephen Shaw
1005Francesco Y OldroydBrazil2026-11-10Buckley Miller Wright QUALIFIED63Anna Fali
1006Antonio J MorascaUnited Kingdom2026-10-13Feiner Bros PROPOSAL95Amy Elsner
1007Kadeem T NickaAustralia2026-10-23Commercial Press NEW97Ivan Magalhaes
1008Rodrigues B BriddickArgentina2026-10-22King, Christopher A Esq NEGOTIATION38Ivan Magalhaes
1009Tony V DarakjyJapan2026-10-14Dorl, James J Esq QUALIFIED19Stephen Shaw
1010Kaitlin I StensethItaly2026-11-03Chapman, Ross E Esq PROPOSAL79Stephen Shaw
1011Silvio L CampainFrance2026-10-27Chapman, Ross E Esq NEGOTIATION27Bernardo Dominic
1012Aika C AmigonIndia2026-10-28Truhlar And Truhlar Attys UNQUALIFIED77Amy Elsner
1013Antonio E FerenczUnited Kingdom2026-10-21Chapman, Ross E Esq NEGOTIATION5Ivan Magalhaes
1014Francesco E RoysterAustralia2026-10-14Feltz Printing Service UNQUALIFIED69Ivan Magalhaes
1015Cody B StensethBrazil2026-10-16Printing Dimensions NEGOTIATION10Asiya Javayant
1016Alejandro A BologniaGermany2026-10-15Rousseaux, Michael Esq RENEWAL81Elwin Sharvill
1017Clifford U NickaBrazil2026-11-04King, Christopher A Esq PROPOSAL49Anna Fali
1018Emily Z MarrierFrance2026-10-22Chapman, Ross E Esq RENEWAL85Elwin Sharvill
1019Ashley H PoquetteRussia2026-11-02Chapman, Ross E Esq QUALIFIED68Amy Elsner
1020Emily S AmigonAustralia2026-11-06Benton, John B Jr PROPOSAL52Bernardo Dominic
1021Salvatore X DarakjyUnited Kingdom2026-10-26Buckley Miller Wright NEW38Onyama Limba
1022Izzy H FerenczGermany2026-11-04Feltz Printing Service NEGOTIATION16Onyama Limba
1023Julie Y StockhamGermany2026-10-23Feltz Printing Service UNQUALIFIED80Xuxue Feng
1024David P KolmetzGermany2026-11-09Rangoni Of Florence NEGOTIATION71Onyama Limba
1025Jeanfrancois N GlickFrance2026-10-16Chapman, Ross E Esq RENEWAL23Onyama Limba
1026Jones C TollnerJapan2026-10-24Commercial Press UNQUALIFIED80Onyama Limba
1027Darci N WhobreyJapan2026-10-22Buckley Miller Wright NEGOTIATION97Ivan Magalhaes
1028Murillo J PaprockiJapan2026-10-19Chapman, Ross E Esq PROPOSAL61Stephen Shaw
1029Leon M TollnerBrazil2026-11-11Benton, John B Jr QUALIFIED18Onyama Limba
1030James E ChuiIndia2026-10-23Buckley Miller Wright NEGOTIATION82Bernardo Dominic
1031Nicolas O AlbaresSpain2026-11-07Rousseaux, Michael Esq RENEWAL47Amy Elsner
1032Costa Y ShinkoItaly2026-11-08Chapman, Ross E Esq NEW55Asiya Javayant
1033Silvio W MarrierFrance2026-11-01Rangoni Of Florence NEW95Bernardo Dominic
1034Maisha T VocelkaJapan2026-10-29Morlong Associates UNQUALIFIED41Amy Elsner
1035Alejandro O VocelkaItaly2026-10-14Chapman, Ross E Esq NEW23Bernardo Dominic
1036Maisha B ButtIndia2026-10-20Commercial Press PROPOSAL73Ioni Bowcher
1037Deepesh U GauchoItaly2026-10-26Buckley Miller Wright PROPOSAL97Asiya Javayant
1038Salvatore J MarrierUnited Kingdom2026-10-21Printing Dimensions NEGOTIATION96Onyama Limba
1039Aditya B GarufiAustralia2026-11-09Commercial Press PROPOSAL48Asiya Javayant
1040Chavez Z PaprockiGermany2026-10-24Chapman, Ross E Esq PROPOSAL33Bernardo Dominic
1041Ricardo I RutaGermany2026-11-02Chemel, James L Cpa NEGOTIATION34Amy Elsner
1042David R RulapaughCanada2026-10-21Chemel, James L Cpa QUALIFIED63Xuxue Feng
1043Jones I WieserRussia2026-10-27Commercial Press QUALIFIED39Onyama Limba
1044Stacey C FigeroaIndia2026-10-29Printing Dimensions NEW73Bernardo Dominic
1045Nicolas T BowleyGermany2026-10-18Dorl, James J Esq NEGOTIATION43Bernardo Dominic
1046Munro I PaprockiArgentina2026-10-15Rangoni Of Florence QUALIFIED18Elwin Sharvill
1047Jeanfrancois W MaletJapan2026-10-17Dorl, James J Esq NEW98Asiya Javayant
1048Silvio P MarrierFrance2026-10-20Chapman, Ross E Esq NEW62Ivan Magalhaes
1049Aika V RulapaughBrazil2026-11-09Rangoni Of Florence PROPOSAL20Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jones F MaletGermanyStephen Shaw PROPOSAL
James C SaylorsCanadaIoni Bowcher QUALIFIED
David X ShinkoFranceAsiya Javayant RENEWAL
Deepesh Z NickaBrazilXuxue Feng PROPOSAL
David I SergiAustraliaStephen Shaw NEW
Morrow W OstroskyUnited KingdomAnna Fali RENEWAL
Costa R MaletIndiaAsiya Javayant RENEWAL
Julie M RoysterSpainElwin Sharvill NEW
Darci F ShinkoArgentinaOnyama Limba RENEWAL
Jeanfrancois D RulapaughGermanyIvan Magalhaes QUALIFIED
Kadeem B ShinkoAustraliaElwin Sharvill PROPOSAL
Faith P FlosiCanadaAmy Elsner PROPOSAL
Kadeem R MarrierRussiaIvan Magalhaes RENEWAL
Jefferson R WieserAustraliaAnna Fali NEGOTIATION
Adams Q ShinkoFranceAmy Elsner NEGOTIATION
Ivar U FerenczRussiaAmy Elsner RENEWAL
Arvin J PoquetteAustraliaIoni Bowcher UNQUALIFIED
Cody N MaletCanadaXuxue Feng UNQUALIFIED
Mayumi O WhobreyRussiaAsiya Javayant QUALIFIED
Isabel G SlusarskiFranceAnna Fali NEW
Tony G StockhamCanadaOnyama Limba NEGOTIATION
Smith L ChuiUnited KingdomIoni Bowcher NEGOTIATION
Jennifer O FlosiItalyAnna Fali QUALIFIED
Morrow Q AmigonCanadaXuxue Feng NEGOTIATION
Octavia U WieserUnited KingdomBernardo Dominic NEW
Maria G DilliardCanadaStephen Shaw RENEWAL
Murillo D StensethIndiaBernardo Dominic NEW
Faith F MarrierCanadaOnyama Limba PROPOSAL
Arvin F MarrierRussiaAmy Elsner QUALIFIED
Stacey K MacleadSpainAmy Elsner UNQUALIFIED
Isabel N ChuiUnited KingdomXuxue Feng UNQUALIFIED
Kadeem U RoysterItalyStephen Shaw QUALIFIED
Rodrigues E OldroydCanadaOnyama Limba UNQUALIFIED
Wickens I IturbideCanadaBernardo Dominic PROPOSAL
Faith M BowleyBrazilIoni Bowcher QUALIFIED
Munro E SergiArgentinaBernardo Dominic RENEWAL
James M PoquetteArgentinaXuxue Feng UNQUALIFIED
Stacey C NestleCanadaElwin Sharvill PROPOSAL
Antonio P DarakjyCanadaIvan Magalhaes RENEWAL
Mujtaba F FlosiArgentinaXuxue Feng RENEWAL
Leon S RulapaughSpainIoni Bowcher QUALIFIED
Stacey R PerinRussiaAsiya Javayant RENEWAL
Jennifer R RimSpainAnna Fali NEGOTIATION
Julie I GauchoUnited KingdomAsiya Javayant NEW
Nicolas S NestleCanadaBernardo Dominic QUALIFIED
Maisha W StensethGermanyStephen Shaw NEW
Ivar U MorascaFranceOnyama Limba RENEWAL
Ashley M CampainAustraliaBernardo Dominic QUALIFIED
Emily O FigeroaSpainElwin Sharvill PROPOSAL
Ricardo R VocelkaJapanXuxue Feng UNQUALIFIED
Frozen Columns
Name
Tony V Whobrey
Emily D Briddick
Silvio G Flosi
Faith T Stenseth
Sinclair T Schemmer
Octavia N Caldarera
Rodrigues M Rulapaugh
Munro E Gillian
Stacey O Inouye
Jennifer S Maclead
Izzy Z Bolognia
Aditya L Doe
Ricardo H Foller
Aditya X Albares
Ashley B Vocelka
Mayumi Y Iturbide
Alejandro V Schemmer
Ashley J Dilliard
Izzy R Oldroyd
Adams I Amigon
Stacey R Caudy
Darci Y Ostrosky
David Y Ferencz
Jennifer J Venere
Alejandro Q Glick
Wickens M Kusko
Morrow B Darakjy
Faith O Chui
Jefferson A Waycott
Jones E Doe
Murillo E Venere
Sinclair M Rulapaugh
Alejandro N Wieser
Ricardo J Schemmer
Ivar F Wieser
Greenwood R Campain
Isabel O Stockham
Jeanfrancois U Ferencz
Claire A Bolognia
Darci F Malet
Chavez G Ostrosky
Mayumi E Caldarera
Leja P Schemmer
Tony D Glick
Juan U Nestle
Ricardo S Foller
Costa E Malet
Alejandro H Chui
Maria X Kusko
Rodrigues M Shinko
IdCountryDate
1000Russia2026-10-15
1001Brazil2026-10-13
1002Brazil2026-11-02
1003Spain2026-10-30
1004Italy2026-11-04
1005Japan2026-10-23
1006India2026-10-14
1007Russia2026-10-25
1008Japan2026-10-24
1009Italy2026-10-23
1010France2026-11-10
1011Canada2026-10-17
1012Spain2026-10-16
1013Argentina2026-11-11
1014India2026-10-16
1015Canada2026-10-29
1016Germany2026-10-25
1017Canada2026-10-30
1018Russia2026-11-03
1019Argentina2026-10-26
1020Japan2026-11-06
1021India2026-10-20
1022Spain2026-10-20
1023Italy2026-10-17
1024Spain2026-11-06
1025Brazil2026-10-19
1026Canada2026-10-19
1027Brazil2026-10-31
1028Spain2026-10-28
1029Brazil2026-10-26
1030United Kingdom2026-10-31
1031Spain2026-10-27
1032Spain2026-11-05
1033Russia2026-11-06
1034United Kingdom2026-10-24
1035Germany2026-10-17
1036Japan2026-10-21
1037Russia2026-10-22
1038Brazil2026-10-23
1039Italy2026-10-16
1040Italy2026-11-05
1041France2026-11-03
1042France2026-10-30
1043Australia2026-11-08
1044France2026-10-24
1045Canada2026-11-11
1046Brazil2026-11-11
1047Australia2026-11-06
1048Canada2026-10-17
1049United Kingdom2026-10-20

On-Demand Data

NameIdCountryDate
Smith H Vocelka1000France2026-10-19
Tony U Kusko1001Australia2026-10-29
Faith E Campain1002Canada2026-10-29
Wickens E Glick1003India2026-11-08
Stacey S Glick1004France2026-10-27
Mujtaba G Gaucho1005Japan2026-10-25
Rodrigues M Butt1006Australia2026-10-29
Julie L Whobrey1007Russia2026-10-14
Alejandro B Glick1008United Kingdom2026-10-20
Leja Q Foller1009Argentina2026-10-18
Alejandro Z Doe1010Argentina2026-11-11
Ashley B Slusarski1011Spain2026-10-17
Leja M Nicka1012Canada2026-10-13
Leon N Darakjy1013Brazil2026-10-16
Jefferson K Tollner1014Argentina2026-10-31
Aditya O Morasca1015France2026-10-28
Jeanfrancois M Morasca1016Germany2026-11-06
Munro T Venere1017India2026-11-08
Aruna X Figeroa1018Brazil2026-11-07
Jefferson J Malet1019Germany2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams L OstroskyRussiaIvan Magalhaes NEGOTIATION
Juan G KuskoCanadaAnna Fali NEGOTIATION
Izzy V ButtSpainElwin Sharvill RENEWAL
Ricardo A KuskoUnited KingdomStephen Shaw UNQUALIFIED
Deepesh I CaudyFranceAmy Elsner UNQUALIFIED
Leja V GlickItalyAnna Fali QUALIFIED
Emily U RoysterJapanBernardo Dominic NEW
Morrow X DilliardArgentinaOnyama Limba QUALIFIED
James E DarakjySpainAsiya Javayant RENEWAL
Francesco T AlbaresSpainStephen Shaw PROPOSAL
Ricardo E VenereItalyStephen Shaw NEGOTIATION
Jennifer I PaprockiIndiaAnna Fali UNQUALIFIED
Mujtaba W BologniaArgentinaBernardo Dominic UNQUALIFIED
Isabel V SergiUnited KingdomXuxue Feng RENEWAL
Silvio Z OldroydIndiaElwin Sharvill RENEWAL
Jefferson X FollerItalyAmy Elsner NEW
Murillo G PaprockiFranceAsiya Javayant RENEWAL
Darci B MaletAustraliaBernardo Dominic RENEWAL
Cody P ButtBrazilIvan Magalhaes NEGOTIATION
Ashley O MarrierGermanyAsiya Javayant UNQUALIFIED
Juan T MaletFranceIvan Magalhaes RENEWAL
Jeanfrancois Y NestleBrazilBernardo Dominic NEGOTIATION
Nicolas M CaudyJapanAmy Elsner NEGOTIATION
Smith G RulapaughItalyXuxue Feng RENEWAL
Leon N RutaIndiaElwin Sharvill UNQUALIFIED
Emily O CaldareraRussiaAnna Fali NEGOTIATION
Emily K TollnerJapanStephen Shaw NEW
Alejandro M RulapaughFranceBernardo Dominic UNQUALIFIED
Clifford U GarufiCanadaAnna Fali QUALIFIED
Rodrigues S VenereCanadaAnna Fali UNQUALIFIED
Cody Q SaylorsRussiaIoni Bowcher PROPOSAL
Chavez T CampainRussiaElwin Sharvill RENEWAL
Leon Y IturbideRussiaStephen Shaw RENEWAL
Cody C MacleadRussiaAmy Elsner QUALIFIED
Maria D WaycottBrazilIoni Bowcher NEW
Jones A MacleadSpainOnyama Limba PROPOSAL
Kaitlin D ButtFranceStephen Shaw NEGOTIATION
Antonio F SergiArgentinaBernardo Dominic QUALIFIED
Isabel F RutaIndiaAsiya Javayant QUALIFIED
Kaitlin L MaletItalyAmy Elsner 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>