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
Leja X GillianIndiaIoni Bowcher NEGOTIATION
Izzy S MaletUnited KingdomAsiya Javayant RENEWAL
Cody P RoysterBrazilIoni Bowcher UNQUALIFIED
Izzy D MaletIndiaIvan Magalhaes UNQUALIFIED
Jennifer F RutaSpainIvan Magalhaes RENEWAL
Cody V BriddickArgentinaOnyama Limba NEW
Octavia A ChuiItalyAmy Elsner UNQUALIFIED
Rodrigues J NestleSpainElwin Sharvill NEGOTIATION
Arvin M WaycottArgentinaAnna Fali NEGOTIATION
Rodrigues M DoeIndiaBernardo Dominic RENEWAL
Deepesh D SergiSpainAnna Fali QUALIFIED
Claire C AmigonIndiaElwin Sharvill NEW
Mujtaba Z BowleyRussiaAnna Fali RENEWAL
Nicolas H OldroydUnited KingdomStephen Shaw RENEWAL
James O RimItalyIoni Bowcher NEW
Silvio H GarufiArgentinaElwin Sharvill PROPOSAL
Alejandro D MacleadIndiaAnna Fali NEGOTIATION
Kaitlin K FigeroaFranceAsiya Javayant NEGOTIATION
Octavia K PaprockiCanadaAsiya Javayant NEGOTIATION
Salvatore U CaldareraGermanyIoni Bowcher NEGOTIATION
Claire Q SlusarskiRussiaOnyama Limba NEW
Ashley D MarrierFranceAmy Elsner QUALIFIED
Stacey G SlusarskiFranceAsiya Javayant NEW
Kadeem A DoeSpainAmy Elsner NEW
Nicolas Y WieserItalyStephen Shaw RENEWAL
Tony P MaletGermanyElwin Sharvill RENEWAL
James Y FollerRussiaElwin Sharvill UNQUALIFIED
Aruna J ChuiGermanyStephen Shaw QUALIFIED
Wickens N BologniaUnited KingdomXuxue Feng PROPOSAL
Maria J MorascaCanadaAmy Elsner NEGOTIATION
Sinclair B GillianGermanyIvan Magalhaes RENEWAL
Smith E FerenczIndiaStephen Shaw QUALIFIED
Leon E RulapaughCanadaBernardo Dominic PROPOSAL
Rodrigues P PerinFranceAnna Fali UNQUALIFIED
Nicolas M NestleArgentinaAnna Fali NEW
Faith N RutaIndiaIvan Magalhaes PROPOSAL
Cody H OldroydBrazilAmy Elsner PROPOSAL
Tony H BowleyGermanyAmy Elsner NEW
Nicolas Y AlbaresCanadaBernardo Dominic NEW
Darci C MacleadRussiaIvan Magalhaes QUALIFIED
Silvio Q SaylorsItalyAmy Elsner NEW
Silvio N SergiItalyElwin Sharvill NEW
David D GillianSpainOnyama Limba QUALIFIED
Stacey Q SchemmerAustraliaXuxue Feng NEW
Aruna B ShinkoFranceAsiya Javayant NEGOTIATION
Adams M GarufiGermanyElwin Sharvill PROPOSAL
Mujtaba J GarufiUnited KingdomXuxue Feng PROPOSAL
Cody O BologniaCanadaAnna Fali RENEWAL
Claire W FerenczItalyAmy Elsner QUALIFIED
Izzy H BowleyBrazilIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois H GlickItalyAsiya Javayant PROPOSAL
Stacey J WhobreyAustraliaBernardo Dominic QUALIFIED
Jennifer U FollerAustraliaIvan Magalhaes RENEWAL
Mayumi B PerinIndiaElwin Sharvill PROPOSAL
Salvatore G MarrierBrazilAmy Elsner UNQUALIFIED
Jeanfrancois G RoysterItalyAsiya Javayant QUALIFIED
Silvio S SchemmerGermanyOnyama Limba UNQUALIFIED
Nicolas I ShinkoCanadaElwin Sharvill UNQUALIFIED
Ashley T MaletAustraliaStephen Shaw UNQUALIFIED
Chavez D SchemmerIndiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley P MaletGermany2026-10-11Rangoni Of Florence QUALIFIED72Ioni Bowcher
1001Maria I OstroskyGermany2026-10-07Feiner Bros UNQUALIFIED24Onyama Limba
1002Mayumi M WaycottBrazil2026-10-29Buckley Miller Wright NEGOTIATION92Anna Fali
1003Ivar W FerenczRussia2026-10-07Chapman, Ross E Esq RENEWAL93Amy Elsner
1004Maria W GillianSpain2026-10-06Feltz Printing Service RENEWAL10Elwin Sharvill
1005Emily K StockhamJapan2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED74Ivan Magalhaes
1006Greenwood X PoquetteUnited Kingdom2026-10-03Rangoni Of Florence NEGOTIATION27Ioni Bowcher
1007Arvin S StockhamAustralia2026-10-04Buckley Miller Wright NEGOTIATION46Ioni Bowcher
1008Misaki U GillianAustralia2026-10-29Chanay, Jeffrey A Esq PROPOSAL87Asiya Javayant
1009Stacey W MarrierBrazil2026-09-30Buckley Miller Wright PROPOSAL93Asiya Javayant
1010David I AlbaresAustralia2026-10-26Printing Dimensions NEGOTIATION72Asiya Javayant
1011Darci I FlosiArgentina2026-10-15Chapman, Ross E Esq NEGOTIATION61Elwin Sharvill
1012Smith B TollnerUnited Kingdom2026-10-28Benton, John B Jr NEGOTIATION12Ivan Magalhaes
1013Ashley S GarufiFrance2026-10-27Buckley Miller Wright NEW4Elwin Sharvill
1014Jeanfrancois S StensethItaly2026-10-12Chapman, Ross E Esq PROPOSAL52Amy Elsner
1015Julie W IturbideSpain2026-10-15Feiner Bros RENEWAL50Ioni Bowcher
1016Faith O PoquetteRussia2026-10-09Morlong Associates RENEWAL31Amy Elsner
1017Chavez A StensethRussia2026-10-26Feiner Bros NEGOTIATION8Amy Elsner
1018Aruna E MarrierGermany2026-10-05Rangoni Of Florence NEW83Bernardo Dominic
1019Leja T ShinkoSpain2026-10-26Buckley Miller Wright NEW70Amy Elsner
1020Cody C StensethGermany2026-10-08King, Christopher A Esq RENEWAL27Xuxue Feng
1021Kadeem H BowleyBrazil2026-10-18Truhlar And Truhlar Attys PROPOSAL5Ivan Magalhaes
1022Aika B SlusarskiCanada2026-10-05Truhlar And Truhlar Attys NEGOTIATION63Ioni Bowcher
1023Greenwood Z MorascaArgentina2026-10-15Benton, John B Jr NEW0Onyama Limba
1024Leja R ButtItaly2026-10-22King, Christopher A Esq PROPOSAL86Xuxue Feng
1025Kadeem C SchemmerArgentina2026-10-05Morlong Associates NEGOTIATION43Amy Elsner
1026Ashley M BriddickCanada2026-10-21Buckley Miller Wright PROPOSAL1Elwin Sharvill
1027James S OstroskyUnited Kingdom2026-10-10Rangoni Of Florence QUALIFIED71Onyama Limba
1028Aditya Q AlbaresCanada2026-10-05Dorl, James J Esq NEGOTIATION49Elwin Sharvill
1029James F GillianGermany2026-10-24Benton, John B Jr UNQUALIFIED70Ioni Bowcher
1030Murillo D RimItaly2026-09-30Dorl, James J Esq PROPOSAL22Anna Fali
1031Salvatore C VocelkaRussia2026-10-10Truhlar And Truhlar Attys RENEWAL3Stephen Shaw
1032Greenwood N InouyeSpain2026-10-16Chanay, Jeffrey A Esq RENEWAL23Bernardo Dominic
1033Darci J FerenczBrazil2026-10-06Chanay, Jeffrey A Esq RENEWAL65Elwin Sharvill
1034Stacey K MacleadAustralia2026-10-09Chemel, James L Cpa RENEWAL71Ioni Bowcher
1035Maria M FlosiCanada2026-10-06Printing Dimensions NEGOTIATION75Stephen Shaw
1036Isabel V DarakjyIndia2026-09-30Commercial Press RENEWAL91Bernardo Dominic
1037Darci H BriddickItaly2026-10-03Dorl, James J Esq NEW43Stephen Shaw
1038Aika D SaylorsArgentina2026-10-03Feiner Bros PROPOSAL63Ioni Bowcher
1039Nicolas R WieserFrance2026-10-23Feiner Bros NEGOTIATION95Amy Elsner
1040Wickens M CaudySpain2026-10-19Feiner Bros RENEWAL88Amy Elsner
1041Wickens O GarufiFrance2026-10-05Buckley Miller Wright QUALIFIED73Stephen Shaw
1042Wickens T RutaIndia2026-10-10Truhlar And Truhlar Attys UNQUALIFIED72Ioni Bowcher
1043Jennifer Y PoquetteGermany2026-10-01Chapman, Ross E Esq QUALIFIED94Anna Fali
1044David L SergiFrance2026-09-30Chemel, James L Cpa NEW27Ivan Magalhaes
1045Ricardo X GlickRussia2026-10-22Rousseaux, Michael Esq RENEWAL55Ioni Bowcher
1046Aruna D MorascaAustralia2026-10-08Chemel, James L Cpa NEW55Ioni Bowcher
1047Clifford L ShinkoCanada2026-10-24Commercial Press NEW0Asiya Javayant
1048Jennifer W CaldareraUnited Kingdom2026-10-22Buckley Miller Wright UNQUALIFIED2Onyama Limba
1049Claire O FlosiCanada2026-10-12Feltz Printing Service RENEWAL8Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
James A CampainArgentinaStephen Shaw PROPOSAL
Jefferson N MorascaArgentinaOnyama Limba QUALIFIED
Aika S FlosiGermanyAmy Elsner UNQUALIFIED
Juan B PoquetteArgentinaIoni Bowcher NEW
Faith A GauchoBrazilIvan Magalhaes NEGOTIATION
James I VocelkaUnited KingdomBernardo Dominic NEW
Munro U PaprockiBrazilAmy Elsner NEW
Jeanfrancois Q FlosiArgentinaAnna Fali RENEWAL
Maisha F MacleadGermanyElwin Sharvill RENEWAL
Murillo Z ShinkoCanadaAsiya Javayant PROPOSAL
Jennifer A StensethUnited KingdomElwin Sharvill PROPOSAL
Rodrigues X FollerGermanyAmy Elsner RENEWAL
Greenwood Y WaycottIndiaAmy Elsner NEW
Faith N CaudyJapanIoni Bowcher NEW
James V GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Arvin P StensethIndiaBernardo Dominic QUALIFIED
Stacey C IturbideSpainBernardo Dominic PROPOSAL
Munro F RulapaughFranceIvan Magalhaes PROPOSAL
Munro Q GauchoArgentinaAsiya Javayant NEW
Isabel E PoquetteItalyAsiya Javayant NEW
Maria D CaudyUnited KingdomAmy Elsner RENEWAL
Kadeem K TollnerJapanAmy Elsner UNQUALIFIED
Aruna Y StockhamFranceElwin Sharvill QUALIFIED
Johnson Y RulapaughArgentinaOnyama Limba PROPOSAL
Faith D KuskoIndiaBernardo Dominic PROPOSAL
David L TollnerItalyAnna Fali NEW
Tony O ChuiIndiaIoni Bowcher NEW
Munro O AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Jones O VenereIndiaAnna Fali UNQUALIFIED
Francesco N CaudyRussiaAnna Fali UNQUALIFIED
Cody G InouyeAustraliaAnna Fali UNQUALIFIED
Aditya F StensethSpainBernardo Dominic UNQUALIFIED
Faith L BologniaUnited KingdomElwin Sharvill PROPOSAL
Murillo X FigeroaCanadaElwin Sharvill NEW
Aditya H CampainCanadaXuxue Feng PROPOSAL
Cody R ButtFranceOnyama Limba QUALIFIED
Mujtaba M TollnerSpainElwin Sharvill NEW
Darci Z OldroydAustraliaIoni Bowcher NEW
Sinclair R OstroskyItalyIvan Magalhaes NEW
Ricardo M DilliardArgentinaBernardo Dominic RENEWAL
Sinclair K FlosiGermanyStephen Shaw PROPOSAL
Juan R WhobreyCanadaAmy Elsner UNQUALIFIED
Leon Z KuskoUnited KingdomStephen Shaw UNQUALIFIED
Cody E StensethSpainXuxue Feng RENEWAL
Ricardo O FollerItalyBernardo Dominic NEW
Kadeem A PerinUnited KingdomElwin Sharvill NEGOTIATION
Mujtaba K GillianFranceBernardo Dominic QUALIFIED
Clifford B DoeBrazilXuxue Feng PROPOSAL
Octavia D SergiIndiaElwin Sharvill RENEWAL
Ricardo X SlusarskiItalyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Jones D Caldarera
Costa A Venere
Jeanfrancois K Paprocki
Ashley Q Gaucho
Tony W Briddick
Smith O Paprocki
Rodrigues X Wieser
Wickens J Wieser
Ivar D Caudy
Emily N Amigon
Ivar Z Rim
Izzy A Foller
Mujtaba F Kusko
Antonio G Butt
Maria I Shinko
Chavez J Foller
Faith A Sergi
Kadeem N Glick
Kadeem E Royster
Chavez U Nestle
Leja Z Doe
Ricardo M Briddick
Octavia A Vocelka
Misaki D Bolognia
Rodrigues Q Dilliard
Munro E Saylors
Faith M Darakjy
Ricardo B Butt
Morrow R Wieser
Chavez W Nicka
Aika D Venere
Isabel B Stockham
Aditya W Ferencz
Maria T Malet
Aditya E Inouye
Mayumi Q Flosi
Johnson W Maclead
David Y Caudy
Kadeem T Caudy
Arvin B Paprocki
Nicolas Z Poquette
Cody E Rulapaugh
Chavez P Malet
Leon Z Sergi
Ricardo U Ruta
Aruna C Butt
Jones M Gillian
Octavia J Waycott
Isabel W Slusarski
Cody T Whobrey
IdCountryDate
1000Russia2026-10-29
1001Japan2026-10-13
1002Canada2026-10-09
1003Australia2026-10-23
1004Germany2026-10-08
1005Italy2026-10-03
1006Canada2026-10-14
1007Italy2026-10-18
1008India2026-10-25
1009India2026-10-24
1010Australia2026-09-30
1011India2026-10-06
1012Spain2026-10-05
1013Spain2026-10-27
1014Australia2026-10-21
1015Japan2026-10-05
1016Japan2026-10-11
1017Canada2026-10-03
1018Canada2026-10-28
1019India2026-09-30
1020Germany2026-10-11
1021Brazil2026-10-10
1022Italy2026-10-11
1023France2026-10-04
1024Brazil2026-10-16
1025Italy2026-10-11
1026France2026-10-11
1027Germany2026-09-30
1028Canada2026-10-01
1029Argentina2026-10-12
1030Japan2026-09-30
1031Italy2026-10-27
1032India2026-10-10
1033Australia2026-10-08
1034Spain2026-10-14
1035Russia2026-10-26
1036United Kingdom2026-10-19
1037Italy2026-10-21
1038Canada2026-10-03
1039Spain2026-10-29
1040Germany2026-10-10
1041France2026-10-17
1042United Kingdom2026-10-03
1043France2026-10-20
1044Argentina2026-10-24
1045Canada2026-10-13
1046Germany2026-10-01
1047France2026-10-29
1048Germany2026-10-21
1049Japan2026-10-18

On-Demand Data

NameIdCountryDate
Leon Q Maclead1000Brazil2026-10-13
Darci R Caldarera1001Australia2026-10-13
Leja K Briddick1002Spain2026-10-03
Jefferson Z Flosi1003India2026-10-06
Darci P Tollner1004Russia2026-10-29
Aruna M Malet1005Canada2026-10-13
Morrow I Garufi1006United Kingdom2026-10-22
Julie O Amigon1007Germany2026-10-22
Sinclair R Kusko1008Brazil2026-10-06
Juan U Doe1009Germany2026-10-25
Ashley J Perin1010India2026-10-07
Maisha H Malet1011Germany2026-10-24
Francesco F Rim1012Japan2026-10-12
Smith O Darakjy1013Russia2026-10-02
Ivar Z Bowley1014Argentina2026-10-05
Claire D Gaucho1015Argentina2026-10-02
Maria W Doe1016Canada2026-10-10
Arvin A Foller1017Germany2026-10-23
Wickens P Bolognia1018Italy2026-10-13
Isabel A Doe1019Japan2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin Z WhobreyBrazilStephen Shaw QUALIFIED
Antonio H StockhamCanadaXuxue Feng NEW
Chavez E MarrierBrazilStephen Shaw QUALIFIED
Sinclair I KuskoJapanBernardo Dominic PROPOSAL
Octavia V ChuiArgentinaBernardo Dominic QUALIFIED
Leon I SergiUnited KingdomOnyama Limba NEGOTIATION
James M SaylorsGermanyStephen Shaw UNQUALIFIED
David Q RulapaughUnited KingdomIvan Magalhaes RENEWAL
Wickens O DoeItalyXuxue Feng PROPOSAL
David W NestleFranceElwin Sharvill PROPOSAL
Arvin S BriddickArgentinaIoni Bowcher QUALIFIED
Mujtaba Z StockhamArgentinaXuxue Feng UNQUALIFIED
Maria H GarufiJapanIvan Magalhaes NEW
Nicolas Y MacleadFranceXuxue Feng NEW
Arvin V RulapaughFranceAnna Fali NEGOTIATION
Clifford I BologniaAustraliaIvan Magalhaes UNQUALIFIED
Faith R FigeroaCanadaIvan Magalhaes PROPOSAL
Rodrigues X ChuiSpainBernardo Dominic NEW
Octavia K KuskoUnited KingdomIvan Magalhaes RENEWAL
Darci H FerenczFranceAsiya Javayant RENEWAL
Costa K SlusarskiJapanElwin Sharvill NEGOTIATION
Kadeem B GillianSpainAmy Elsner UNQUALIFIED
Greenwood N AlbaresIndiaBernardo Dominic QUALIFIED
Maisha Q IturbideArgentinaAsiya Javayant QUALIFIED
Arvin L PerinAustraliaBernardo Dominic PROPOSAL
Alejandro O NickaUnited KingdomOnyama Limba QUALIFIED
Munro Y MaletGermanyStephen Shaw PROPOSAL
Leon U IturbideAustraliaAnna Fali RENEWAL
Jefferson F MarrierRussiaAmy Elsner RENEWAL
Mayumi Z AlbaresJapanXuxue Feng UNQUALIFIED
Faith S TollnerRussiaIvan Magalhaes RENEWAL
Stacey R StockhamUnited KingdomAsiya Javayant RENEWAL
Wickens H BriddickUnited KingdomAsiya Javayant NEW
Juan E WieserArgentinaAnna Fali PROPOSAL
Jefferson A RutaRussiaIvan Magalhaes NEGOTIATION
Ricardo X IturbideJapanBernardo Dominic RENEWAL
Francesco T AmigonFranceAsiya Javayant QUALIFIED
Mujtaba T ChuiCanadaIvan Magalhaes NEW
Ricardo W RoysterIndiaAmy Elsner NEW
Maria B KuskoIndiaStephen Shaw 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>