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
Francesco I AmigonCanadaBernardo Dominic NEGOTIATION
Costa S CampainIndiaElwin Sharvill NEW
Claire X FerenczArgentinaStephen Shaw QUALIFIED
Emily G InouyeCanadaAmy Elsner PROPOSAL
Kaitlin M SaylorsFranceIvan Magalhaes RENEWAL
Silvio W ButtBrazilElwin Sharvill RENEWAL
Aruna R ShinkoBrazilAnna Fali PROPOSAL
Munro H ChuiIndiaIvan Magalhaes PROPOSAL
Ricardo F OstroskyIndiaAmy Elsner NEGOTIATION
Antonio A OstroskyFranceXuxue Feng UNQUALIFIED
Johnson E VenereIndiaAmy Elsner NEW
Kaitlin W BowleyCanadaAnna Fali UNQUALIFIED
Claire R VocelkaItalyAsiya Javayant NEW
Jennifer W WhobreyJapanXuxue Feng UNQUALIFIED
Leon E FerenczItalyXuxue Feng UNQUALIFIED
James C SergiUnited KingdomXuxue Feng NEGOTIATION
Ricardo O VenereSpainAsiya Javayant RENEWAL
Kaitlin Z InouyeArgentinaAmy Elsner QUALIFIED
Mayumi U WhobreyAustraliaXuxue Feng RENEWAL
Kadeem H VocelkaIndiaElwin Sharvill PROPOSAL
Francesco Z BriddickCanadaIvan Magalhaes UNQUALIFIED
Ivar I RimBrazilIoni Bowcher NEW
Rodrigues T SergiFranceIvan Magalhaes NEGOTIATION
Mujtaba E WaycottArgentinaStephen Shaw NEGOTIATION
David L WaycottGermanyAnna Fali PROPOSAL
Alejandro Y MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Munro H CaudyAustraliaStephen Shaw RENEWAL
James O GarufiCanadaOnyama Limba NEGOTIATION
David K PaprockiJapanAmy Elsner QUALIFIED
Silvio S PoquetteItalyIvan Magalhaes QUALIFIED
Arvin Q WieserItalyBernardo Dominic RENEWAL
Sinclair U NestleIndiaAnna Fali UNQUALIFIED
Nicolas E TollnerIndiaElwin Sharvill NEW
Ivar P WaycottFranceIvan Magalhaes NEW
Kadeem K MorascaUnited KingdomIvan Magalhaes PROPOSAL
Johnson U MacleadIndiaAsiya Javayant RENEWAL
James H WhobreyCanadaIvan Magalhaes UNQUALIFIED
Rodrigues J CaldareraIndiaIvan Magalhaes UNQUALIFIED
Aditya D VenereSpainIvan Magalhaes QUALIFIED
Alejandro T BriddickSpainIoni Bowcher PROPOSAL
Stacey S FerenczItalyOnyama Limba UNQUALIFIED
Francesco Z RimAustraliaAsiya Javayant UNQUALIFIED
Ricardo T ChuiAustraliaStephen Shaw NEGOTIATION
Smith L AmigonItalyOnyama Limba PROPOSAL
Morrow K GarufiItalyElwin Sharvill UNQUALIFIED
Faith G CaudySpainIoni Bowcher QUALIFIED
Silvio P AmigonRussiaOnyama Limba NEGOTIATION
Faith L StensethFranceBernardo Dominic NEGOTIATION
Leon G MorascaJapanStephen Shaw QUALIFIED
David H InouyeRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel K GlickRussiaIoni Bowcher NEGOTIATION
Munro H MorascaJapanOnyama Limba QUALIFIED
Aika K RulapaughFranceBernardo Dominic NEW
Julie M KolmetzJapanAnna Fali NEGOTIATION
Nicolas L WhobreyGermanyStephen Shaw RENEWAL
Antonio K InouyeCanadaOnyama Limba UNQUALIFIED
Chavez G BologniaJapanOnyama Limba UNQUALIFIED
Ivar D SaylorsSpainOnyama Limba NEGOTIATION
Aditya H DilliardRussiaIvan Magalhaes QUALIFIED
Misaki X NestleCanadaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie T ShinkoSpain2026-10-08Chanay, Jeffrey A Esq QUALIFIED84Ioni Bowcher
1001Ivar P FlosiCanada2026-10-11Dorl, James J Esq NEGOTIATION86Amy Elsner
1002Tony J RimArgentina2026-10-02Commercial Press QUALIFIED63Ioni Bowcher
1003Ricardo K SergiFrance2026-09-23Truhlar And Truhlar Attys PROPOSAL98Elwin Sharvill
1004Jones N StockhamGermany2026-09-28Morlong Associates NEW19Onyama Limba
1005Jefferson F BologniaJapan2026-10-02Printing Dimensions QUALIFIED84Onyama Limba
1006Leja I TollnerAustralia2026-09-27Chanay, Jeffrey A Esq NEW34Anna Fali
1007Julie M SaylorsArgentina2026-10-06King, Christopher A Esq NEGOTIATION16Stephen Shaw
1008Johnson D ChuiSpain2026-10-15Feltz Printing Service NEW54Stephen Shaw
1009Aruna Z WaycottSpain2026-10-17Morlong Associates PROPOSAL38Onyama Limba
1010Costa X SchemmerGermany2026-10-03Commercial Press QUALIFIED94Amy Elsner
1011Maisha I VocelkaAustralia2026-09-20Chanay, Jeffrey A Esq UNQUALIFIED47Ioni Bowcher
1012Claire Q IturbideIndia2026-09-22Commercial Press QUALIFIED18Amy Elsner
1013Munro E RutaArgentina2026-10-03Chemel, James L Cpa RENEWAL60Ioni Bowcher
1014Mayumi W GlickGermany2026-09-27Chapman, Ross E Esq PROPOSAL29Onyama Limba
1015Greenwood J MaletFrance2026-10-05Rangoni Of Florence NEGOTIATION87Onyama Limba
1016Sinclair U MaletBrazil2026-10-15Benton, John B Jr RENEWAL3Anna Fali
1017Clifford H RoysterCanada2026-09-29Commercial Press NEW91Elwin Sharvill
1018Jefferson F OstroskyGermany2026-10-14Commercial Press NEW11Elwin Sharvill
1019David O FigeroaItaly2026-09-27Printing Dimensions NEW86Xuxue Feng
1020Juan O NickaGermany2026-10-06Benton, John B Jr PROPOSAL84Onyama Limba
1021Jones E DilliardAustralia2026-10-16Truhlar And Truhlar Attys UNQUALIFIED76Elwin Sharvill
1022Julie L SergiCanada2026-10-10Commercial Press PROPOSAL43Anna Fali
1023Alejandro F GillianGermany2026-09-25Benton, John B Jr NEW69Bernardo Dominic
1024Aruna J PoquetteUnited Kingdom2026-09-29Chanay, Jeffrey A Esq RENEWAL41Anna Fali
1025Antonio D AmigonJapan2026-10-10Feltz Printing Service QUALIFIED40Xuxue Feng
1026Jones L PoquetteCanada2026-09-23Dorl, James J Esq UNQUALIFIED94Bernardo Dominic
1027Aika G RulapaughFrance2026-09-29Rangoni Of Florence QUALIFIED58Anna Fali
1028Juan V FigeroaFrance2026-10-08Chemel, James L Cpa QUALIFIED17Xuxue Feng
1029Leja N MaletIndia2026-10-11Truhlar And Truhlar Attys UNQUALIFIED84Asiya Javayant
1030Aruna L RimBrazil2026-10-08Truhlar And Truhlar Attys QUALIFIED73Onyama Limba
1031Aika N NestleBrazil2026-10-01Buckley Miller Wright QUALIFIED42Stephen Shaw
1032Arvin Y StensethUnited Kingdom2026-10-02Feiner Bros PROPOSAL33Anna Fali
1033Cody Z OstroskyCanada2026-09-25Benton, John B Jr PROPOSAL99Ivan Magalhaes
1034Leon B DarakjyAustralia2026-10-11Feltz Printing Service NEGOTIATION15Ioni Bowcher
1035Izzy G ChuiArgentina2026-10-16Chanay, Jeffrey A Esq NEW56Elwin Sharvill
1036Silvio B RulapaughItaly2026-10-12Chanay, Jeffrey A Esq RENEWAL25Xuxue Feng
1037Misaki D MacleadSpain2026-10-06Truhlar And Truhlar Attys UNQUALIFIED94Xuxue Feng
1038Aruna F PaprockiUnited Kingdom2026-09-20Benton, John B Jr QUALIFIED63Bernardo Dominic
1039David V GauchoBrazil2026-10-15Buckley Miller Wright UNQUALIFIED94Elwin Sharvill
1040Darci Z CaldareraIndia2026-10-07Feiner Bros QUALIFIED22Ivan Magalhaes
1041Adams V PoquetteGermany2026-10-05Rousseaux, Michael Esq PROPOSAL59Bernardo Dominic
1042Silvio O AmigonIndia2026-09-24King, Christopher A Esq PROPOSAL16Anna Fali
1043Munro Y WaycottArgentina2026-09-20Buckley Miller Wright QUALIFIED41Amy Elsner
1044Leja A AmigonRussia2026-10-10Chapman, Ross E Esq NEGOTIATION32Xuxue Feng
1045Costa W DoeUnited Kingdom2026-09-19King, Christopher A Esq RENEWAL58Stephen Shaw
1046Faith W DoeIndia2026-10-03Feltz Printing Service PROPOSAL9Asiya Javayant
1047Maisha I FerenczJapan2026-09-27Truhlar And Truhlar Attys RENEWAL81Asiya Javayant
1048Maisha Y ChuiSpain2026-09-22Chapman, Ross E Esq QUALIFIED83Asiya Javayant
1049Nicolas Y SergiGermany2026-09-23Truhlar And Truhlar Attys NEW75Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Y StensethJapanOnyama Limba QUALIFIED
Leon M GlickArgentinaAmy Elsner RENEWAL
Aruna P DilliardGermanyBernardo Dominic RENEWAL
Maria Q KolmetzCanadaOnyama Limba NEW
Misaki E WieserCanadaIvan Magalhaes NEW
Faith O VocelkaBrazilIoni Bowcher UNQUALIFIED
Cody D StensethIndiaAmy Elsner UNQUALIFIED
Adams U IturbideUnited KingdomAmy Elsner NEW
Julie R WaycottCanadaStephen Shaw UNQUALIFIED
Ricardo Y ChuiAustraliaIoni Bowcher NEGOTIATION
David Z RutaFranceStephen Shaw PROPOSAL
Juan J SergiSpainStephen Shaw NEW
Julie C CampainCanadaStephen Shaw NEGOTIATION
Clifford W DarakjyUnited KingdomOnyama Limba RENEWAL
Morrow E BriddickGermanyOnyama Limba QUALIFIED
James H NickaCanadaIvan Magalhaes PROPOSAL
Stacey F PerinFranceOnyama Limba NEW
Nicolas H SchemmerFranceAnna Fali UNQUALIFIED
Morrow S WieserAustraliaStephen Shaw QUALIFIED
Tony K MarrierArgentinaAmy Elsner NEGOTIATION
Leja F AlbaresSpainAmy Elsner RENEWAL
Jones R SergiBrazilBernardo Dominic RENEWAL
Leja A MaletGermanyXuxue Feng UNQUALIFIED
Jefferson V ChuiRussiaIvan Magalhaes NEGOTIATION
Munro V PoquetteCanadaIvan Magalhaes RENEWAL
Tony I DarakjySpainAsiya Javayant PROPOSAL
Jennifer Y BriddickFranceElwin Sharvill UNQUALIFIED
Deepesh Y KuskoItalyBernardo Dominic NEGOTIATION
Stacey B DilliardBrazilXuxue Feng PROPOSAL
Juan J MaletFranceAnna Fali UNQUALIFIED
David N SchemmerCanadaBernardo Dominic NEW
Leja A RoysterGermanyElwin Sharvill UNQUALIFIED
Faith N PoquetteIndiaStephen Shaw PROPOSAL
Izzy A VenereUnited KingdomIoni Bowcher PROPOSAL
Costa J ChuiCanadaAmy Elsner NEGOTIATION
Tony Q InouyeBrazilBernardo Dominic NEGOTIATION
Jeanfrancois Q IturbideFranceBernardo Dominic NEGOTIATION
Kaitlin A BologniaSpainIvan Magalhaes QUALIFIED
Mayumi J SaylorsIndiaIoni Bowcher UNQUALIFIED
Jefferson L PoquetteCanadaAmy Elsner RENEWAL
Morrow Y WieserBrazilXuxue Feng PROPOSAL
Maisha J RutaItalyAsiya Javayant RENEWAL
Jefferson O ShinkoArgentinaOnyama Limba NEGOTIATION
Nicolas G DarakjyFranceOnyama Limba RENEWAL
Kadeem P SchemmerIndiaAmy Elsner RENEWAL
Clifford L ChuiBrazilOnyama Limba PROPOSAL
Francesco J OstroskyArgentinaStephen Shaw RENEWAL
Emily J MarrierUnited KingdomAsiya Javayant QUALIFIED
Deepesh E ShinkoItalyStephen Shaw NEGOTIATION
Izzy Q CampainUnited KingdomBernardo Dominic NEGOTIATION
Frozen Columns
Name
Jones C Flosi
Aika P Flosi
Johnson N Iturbide
Aditya U Slusarski
David L Ostrosky
David S Albares
Misaki U Stockham
Ashley T Briddick
Kadeem B Foller
Francesco V Bowley
Greenwood V Figeroa
Emily F Sergi
Ashley H Bowley
Ivar V Bolognia
Aruna S Caudy
Darci L Whobrey
James A Royster
Darci J Malet
Kadeem R Bolognia
Murillo R Darakjy
Leja H Iturbide
Juan V Ruta
Ricardo S Kusko
Mayumi V Albares
Kaitlin B Foller
Kaitlin G Whobrey
Ashley Z Dilliard
Isabel L Dilliard
Greenwood L Inouye
Costa N Schemmer
Chavez J Nicka
Emily R Figeroa
Deepesh G Perin
Jeanfrancois R Ruta
Aditya F Flosi
Costa O Whobrey
Alejandro M Figeroa
Sinclair L Dilliard
Izzy P Glick
Silvio X Rulapaugh
Misaki Y Briddick
Faith K Stenseth
Misaki P Caudy
Cody Z Inouye
Alejandro H Morasca
David A Nicka
Nicolas K Schemmer
Francesco K Morasca
Faith R Bowley
Antonio X Rim
IdCountryDate
1000United Kingdom2026-10-14
1001Russia2026-09-25
1002Russia2026-09-29
1003Canada2026-09-23
1004France2026-09-27
1005India2026-10-09
1006Australia2026-10-11
1007United Kingdom2026-10-10
1008Spain2026-10-11
1009France2026-10-02
1010Australia2026-10-18
1011Japan2026-10-09
1012Spain2026-09-21
1013Germany2026-10-02
1014Canada2026-10-12
1015Canada2026-09-24
1016Spain2026-09-27
1017Spain2026-09-23
1018Argentina2026-10-17
1019Japan2026-09-20
1020United Kingdom2026-09-26
1021India2026-09-29
1022Brazil2026-10-04
1023India2026-10-09
1024Spain2026-10-18
1025Australia2026-10-01
1026France2026-10-05
1027Argentina2026-10-09
1028Argentina2026-10-03
1029Italy2026-09-22
1030Italy2026-10-06
1031United Kingdom2026-10-18
1032Spain2026-10-13
1033Russia2026-10-13
1034Canada2026-10-11
1035Brazil2026-10-10
1036Canada2026-10-14
1037Germany2026-10-18
1038Canada2026-10-11
1039United Kingdom2026-09-29
1040Italy2026-09-21
1041Russia2026-10-01
1042Australia2026-10-03
1043Italy2026-10-18
1044United Kingdom2026-10-14
1045Russia2026-10-17
1046Germany2026-09-20
1047Spain2026-10-16
1048France2026-10-13
1049Canada2026-09-25

On-Demand Data

NameIdCountryDate
Sinclair Z Garufi1000Italy2026-10-13
Darci C Tollner1001Russia2026-10-18
Jones N Malet1002France2026-10-07
Alejandro S Campain1003Brazil2026-10-02
Clifford V Malet1004Spain2026-09-27
Juan H Whobrey1005India2026-10-04
Octavia N Kolmetz1006Russia2026-10-18
Sinclair S Gillian1007Italy2026-10-05
Chavez W Vocelka1008India2026-10-18
Smith S Morasca1009Russia2026-09-27
Costa Y Stenseth1010Spain2026-10-06
Nicolas E Glick1011Argentina2026-09-24
Chavez M Tollner1012Italy2026-09-24
Aditya W Figeroa1013Germany2026-09-28
Juan Q Bowley1014Argentina2026-10-16
Arvin A Schemmer1015Spain2026-10-11
Rodrigues Z Amigon1016Italy2026-10-12
Stacey G Caudy1017Argentina2026-09-23
David Y Shinko1018United Kingdom2026-10-02
Silvio O Paprocki1019India2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore P AlbaresCanadaBernardo Dominic PROPOSAL
Deepesh L SlusarskiUnited KingdomBernardo Dominic NEW
Ashley T RulapaughFranceAnna Fali PROPOSAL
Darci J FlosiArgentinaIoni Bowcher PROPOSAL
Francesco Z DilliardUnited KingdomBernardo Dominic NEW
Claire E WaycottIndiaElwin Sharvill QUALIFIED
Octavia C BologniaIndiaBernardo Dominic NEW
Alejandro U WaycottCanadaElwin Sharvill NEW
Maria U GillianBrazilIoni Bowcher RENEWAL
Aruna T StensethIndiaOnyama Limba PROPOSAL
Silvio D OstroskyIndiaIvan Magalhaes UNQUALIFIED
Antonio M WhobreySpainOnyama Limba NEW
Antonio O CaudyItalyStephen Shaw QUALIFIED
Chavez O CampainAustraliaStephen Shaw NEW
Salvatore V SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
David Z FerenczJapanIvan Magalhaes NEW
Maisha J VenereIndiaIoni Bowcher PROPOSAL
Jennifer M AmigonIndiaAnna Fali PROPOSAL
Antonio H SlusarskiBrazilIoni Bowcher QUALIFIED
Nicolas P TollnerCanadaStephen Shaw NEW
Costa H SergiCanadaBernardo Dominic RENEWAL
Maisha K GauchoJapanAsiya Javayant PROPOSAL
Alejandro D WhobreyBrazilIoni Bowcher PROPOSAL
Aditya T MaletBrazilAsiya Javayant NEW
Leon Y SergiCanadaIvan Magalhaes UNQUALIFIED
Francesco P MarrierItalyStephen Shaw NEW
David N SlusarskiCanadaBernardo Dominic QUALIFIED
Silvio M BriddickFranceElwin Sharvill NEW
Morrow M ShinkoItalyXuxue Feng PROPOSAL
Munro U PaprockiBrazilAmy Elsner PROPOSAL
Maisha T FigeroaRussiaOnyama Limba QUALIFIED
Claire V SaylorsUnited KingdomStephen Shaw NEW
Alejandro V VocelkaRussiaIvan Magalhaes NEW
Julie T MaletIndiaAsiya Javayant QUALIFIED
Aika K RimAustraliaXuxue Feng QUALIFIED
Maisha G MarrierRussiaOnyama Limba NEGOTIATION
Darci K BriddickFranceAnna Fali QUALIFIED
Emily S PoquetteJapanAsiya Javayant NEW
Johnson X FollerIndiaOnyama Limba QUALIFIED
Mayumi E RoysterIndiaIoni 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>