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
Adams W SergiUnited KingdomStephen Shaw RENEWAL
Antonio B AmigonAustraliaElwin Sharvill PROPOSAL
Leon O CaldareraArgentinaBernardo Dominic PROPOSAL
Faith M IturbideUnited KingdomXuxue Feng NEGOTIATION
Ricardo S WhobreySpainIoni Bowcher NEW
Jennifer A AmigonBrazilAmy Elsner RENEWAL
Wickens G MorascaIndiaXuxue Feng QUALIFIED
Clifford R ButtGermanyOnyama Limba NEW
Alejandro O RutaCanadaXuxue Feng QUALIFIED
Stacey U AlbaresGermanyXuxue Feng QUALIFIED
Costa J VocelkaArgentinaElwin Sharvill PROPOSAL
Clifford U RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Ashley W MaletArgentinaIvan Magalhaes NEW
Morrow F MaletRussiaAsiya Javayant UNQUALIFIED
Octavia P RutaIndiaStephen Shaw UNQUALIFIED
Julie C VocelkaCanadaBernardo Dominic PROPOSAL
Sinclair N ButtUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer C BriddickAustraliaAnna Fali UNQUALIFIED
Cody I DilliardCanadaAmy Elsner NEW
Ricardo F FollerRussiaIvan Magalhaes PROPOSAL
Kadeem I PoquetteCanadaIoni Bowcher PROPOSAL
Arvin F RutaCanadaAnna Fali PROPOSAL
Cody X MaletRussiaIoni Bowcher RENEWAL
Morrow R MacleadCanadaAsiya Javayant PROPOSAL
Jefferson V WieserUnited KingdomBernardo Dominic QUALIFIED
Aditya V IturbideCanadaBernardo Dominic RENEWAL
Claire Z BowleyBrazilIvan Magalhaes UNQUALIFIED
Stacey N GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Wickens G ShinkoArgentinaElwin Sharvill NEW
Greenwood Q SlusarskiCanadaBernardo Dominic NEGOTIATION
Julie D DoeIndiaOnyama Limba QUALIFIED
Tony G RutaCanadaAsiya Javayant RENEWAL
Chavez A PoquetteItalyXuxue Feng RENEWAL
Clifford W RutaGermanyIvan Magalhaes QUALIFIED
Rodrigues D DoeBrazilAnna Fali UNQUALIFIED
Wickens G AmigonIndiaIvan Magalhaes RENEWAL
Tony O GauchoSpainAnna Fali NEW
Johnson J PaprockiItalyBernardo Dominic NEW
Rodrigues N RimIndiaElwin Sharvill QUALIFIED
Julie D ButtCanadaStephen Shaw PROPOSAL
Wickens G CampainGermanyStephen Shaw NEGOTIATION
Aditya O NickaAustraliaBernardo Dominic RENEWAL
Izzy Z WieserAustraliaAnna Fali UNQUALIFIED
Emily S FerenczBrazilAmy Elsner NEGOTIATION
Leon R WaycottAustraliaStephen Shaw PROPOSAL
Silvio F RulapaughJapanIvan Magalhaes UNQUALIFIED
Wickens S WhobreyGermanyAnna Fali PROPOSAL
Emily P VocelkaItalyStephen Shaw PROPOSAL
Ivar V NickaUnited KingdomOnyama Limba PROPOSAL
Aika B InouyeArgentinaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia V DoeBrazilIvan Magalhaes UNQUALIFIED
Izzy G SlusarskiArgentinaOnyama Limba QUALIFIED
Jennifer A VocelkaItalyOnyama Limba UNQUALIFIED
Faith E SergiCanadaAnna Fali NEW
Wickens C BriddickBrazilAsiya Javayant RENEWAL
Tony X FerenczUnited KingdomAmy Elsner QUALIFIED
Aruna C WhobreySpainBernardo Dominic RENEWAL
Aika W RimArgentinaOnyama Limba UNQUALIFIED
Chavez M MacleadArgentinaAsiya Javayant RENEWAL
Arvin R GillianFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair C CampainJapan2026-09-27Morlong Associates UNQUALIFIED21Amy Elsner
1001Tony F RulapaughCanada2026-09-27Chemel, James L Cpa RENEWAL80Amy Elsner
1002Claire M NickaJapan2026-09-30Morlong Associates NEGOTIATION63Amy Elsner
1003Mayumi O OldroydJapan2026-09-02King, Christopher A Esq RENEWAL61Ivan Magalhaes
1004Leja R FlosiSpain2026-10-01Rangoni Of Florence NEW91Stephen Shaw
1005Adams B ButtJapan2026-09-22Rousseaux, Michael Esq NEGOTIATION12Ivan Magalhaes
1006Aruna D GillianAustralia2026-09-23Chapman, Ross E Esq UNQUALIFIED16Ioni Bowcher
1007Julie P MorascaJapan2026-09-20Benton, John B Jr NEGOTIATION44Amy Elsner
1008Deepesh C RoysterSpain2026-09-02Feltz Printing Service UNQUALIFIED56Elwin Sharvill
1009Alejandro W MorascaUnited Kingdom2026-09-26Buckley Miller Wright UNQUALIFIED0Ioni Bowcher
1010Francesco A IturbideFrance2026-09-20Buckley Miller Wright NEW46Bernardo Dominic
1011Leja T PoquetteJapan2026-09-02Chanay, Jeffrey A Esq RENEWAL52Ivan Magalhaes
1012Silvio R MacleadCanada2026-09-09Commercial Press NEW49Ioni Bowcher
1013Izzy P FerenczFrance2026-09-06Morlong Associates NEW68Amy Elsner
1014Chavez N GarufiRussia2026-09-26Rangoni Of Florence RENEWAL34Ivan Magalhaes
1015Aditya I OstroskyJapan2026-09-18Chapman, Ross E Esq UNQUALIFIED48Ioni Bowcher
1016Arvin I BowleyJapan2026-09-29Benton, John B Jr PROPOSAL50Amy Elsner
1017Costa O StockhamBrazil2026-09-22Chemel, James L Cpa NEGOTIATION26Anna Fali
1018Ivar J SchemmerRussia2026-09-14Commercial Press NEGOTIATION99Amy Elsner
1019Deepesh X BowleyGermany2026-09-23Feiner Bros QUALIFIED4Elwin Sharvill
1020Rodrigues F DoeUnited Kingdom2026-09-13Rousseaux, Michael Esq RENEWAL18Xuxue Feng
1021Octavia E SchemmerBrazil2026-09-04Commercial Press NEGOTIATION36Elwin Sharvill
1022Munro J FlosiAustralia2026-09-17Chanay, Jeffrey A Esq NEW83Asiya Javayant
1023Alejandro E RulapaughCanada2026-09-22Printing Dimensions PROPOSAL53Anna Fali
1024Smith U VocelkaFrance2026-09-14Chanay, Jeffrey A Esq UNQUALIFIED7Asiya Javayant
1025Mayumi Z FollerBrazil2026-09-16Morlong Associates NEGOTIATION61Amy Elsner
1026Jennifer W SergiAustralia2026-09-11Dorl, James J Esq UNQUALIFIED11Ivan Magalhaes
1027Clifford D BowleyAustralia2026-09-23Chanay, Jeffrey A Esq QUALIFIED33Xuxue Feng
1028Antonio E MaletGermany2026-09-10Buckley Miller Wright NEGOTIATION90Ivan Magalhaes
1029Arvin N OstroskyFrance2026-09-11King, Christopher A Esq PROPOSAL29Amy Elsner
1030Claire C WieserCanada2026-09-19Commercial Press UNQUALIFIED27Asiya Javayant
1031Darci R AmigonJapan2026-09-17Truhlar And Truhlar Attys RENEWAL81Anna Fali
1032Sinclair R RutaIndia2026-09-02Chemel, James L Cpa UNQUALIFIED37Anna Fali
1033Greenwood E BriddickGermany2026-09-16Feltz Printing Service NEW4Ivan Magalhaes
1034Alejandro N CaldareraIndia2026-09-24Feiner Bros NEW88Stephen Shaw
1035Maria L CaudyJapan2026-09-09Benton, John B Jr UNQUALIFIED98Anna Fali
1036Maisha G MarrierAustralia2026-09-11Chemel, James L Cpa RENEWAL37Amy Elsner
1037Kadeem W DarakjyArgentina2026-09-18Chemel, James L Cpa RENEWAL52Elwin Sharvill
1038Faith W GlickJapan2026-09-04Buckley Miller Wright NEW15Elwin Sharvill
1039Ashley Q PoquetteIndia2026-09-19Feltz Printing Service PROPOSAL50Xuxue Feng
1040Isabel L ButtBrazil2026-09-04Chapman, Ross E Esq RENEWAL4Xuxue Feng
1041Mayumi O GarufiGermany2026-09-11Chemel, James L Cpa QUALIFIED47Xuxue Feng
1042Faith W DarakjyUnited Kingdom2026-09-07Dorl, James J Esq NEGOTIATION46Ivan Magalhaes
1043Morrow T WaycottBrazil2026-09-21Chapman, Ross E Esq UNQUALIFIED15Ioni Bowcher
1044Emily X FlosiGermany2026-09-23Feltz Printing Service NEGOTIATION13Amy Elsner
1045Chavez W NestleSpain2026-09-22Chemel, James L Cpa UNQUALIFIED8Xuxue Feng
1046Emily Q GarufiUnited Kingdom2026-09-12Feiner Bros NEW45Elwin Sharvill
1047Leon V FigeroaUnited Kingdom2026-09-22Chapman, Ross E Esq QUALIFIED92Elwin Sharvill
1048Aditya F RimJapan2026-09-08Commercial Press RENEWAL48Ivan Magalhaes
1049Julie B BriddickSpain2026-09-30Printing Dimensions UNQUALIFIED21Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mayumi Z KolmetzIndiaBernardo Dominic PROPOSAL
Isabel W DarakjyCanadaIoni Bowcher NEGOTIATION
Jones U StockhamItalyBernardo Dominic QUALIFIED
Jefferson D OldroydIndiaAnna Fali PROPOSAL
Antonio T DarakjyGermanyAsiya Javayant RENEWAL
Francesco A SchemmerJapanBernardo Dominic NEGOTIATION
Ivar A MorascaUnited KingdomIoni Bowcher RENEWAL
Morrow D RoysterArgentinaIoni Bowcher PROPOSAL
Costa E ButtIndiaStephen Shaw UNQUALIFIED
Clifford I StensethArgentinaBernardo Dominic UNQUALIFIED
Leon B RutaBrazilBernardo Dominic NEW
David E RulapaughRussiaOnyama Limba NEGOTIATION
Claire K RulapaughCanadaStephen Shaw QUALIFIED
Jeanfrancois Y FollerFranceXuxue Feng QUALIFIED
Munro X DoeGermanyOnyama Limba NEW
Munro L InouyeSpainAmy Elsner NEW
Octavia Y CaudyArgentinaElwin Sharvill PROPOSAL
David J InouyeIndiaElwin Sharvill NEGOTIATION
Salvatore Q StensethJapanAmy Elsner RENEWAL
Munro K PaprockiJapanOnyama Limba RENEWAL
Emily V NestleItalyAnna Fali QUALIFIED
Faith H SaylorsJapanOnyama Limba QUALIFIED
Smith K GauchoArgentinaStephen Shaw UNQUALIFIED
Leja W BologniaBrazilXuxue Feng QUALIFIED
Jeanfrancois U KuskoItalyElwin Sharvill RENEWAL
Emily A GillianUnited KingdomIoni Bowcher PROPOSAL
James X DarakjyItalyXuxue Feng QUALIFIED
Ashley G AlbaresRussiaIoni Bowcher QUALIFIED
Morrow E AmigonSpainElwin Sharvill UNQUALIFIED
Wickens F RutaRussiaAsiya Javayant RENEWAL
Deepesh U PaprockiAustraliaAsiya Javayant QUALIFIED
Salvatore B TollnerAustraliaElwin Sharvill PROPOSAL
Munro O KuskoGermanyAmy Elsner PROPOSAL
Ashley T SchemmerRussiaStephen Shaw PROPOSAL
Tony M WhobreyBrazilIoni Bowcher RENEWAL
Morrow P FollerFranceOnyama Limba NEW
Aruna R ButtArgentinaXuxue Feng NEW
Greenwood Z OldroydCanadaOnyama Limba PROPOSAL
Octavia N GlickGermanyIoni Bowcher NEGOTIATION
Sinclair V MacleadGermanyAsiya Javayant NEW
Adams X ShinkoRussiaIvan Magalhaes NEGOTIATION
Morrow G MarrierBrazilElwin Sharvill UNQUALIFIED
James J RutaRussiaAmy Elsner NEGOTIATION
James X InouyeItalyAmy Elsner QUALIFIED
Faith U GauchoArgentinaStephen Shaw QUALIFIED
Tony X CampainRussiaStephen Shaw NEGOTIATION
Jones E DilliardIndiaAsiya Javayant NEW
James S MacleadUnited KingdomAmy Elsner QUALIFIED
Jennifer M IturbideAustraliaElwin Sharvill UNQUALIFIED
Ivar C CaldareraFranceAsiya Javayant QUALIFIED
Frozen Columns
Name
Jeanfrancois R Kolmetz
Maria X Flosi
Aditya M Schemmer
Mayumi F Waycott
Jeanfrancois K Dilliard
Tony W Caudy
Maisha R Vocelka
Chavez E Schemmer
Misaki C Bolognia
Emily G Doe
Smith C Flosi
Alejandro W Perin
Silvio I Briddick
Claire L Iturbide
Arvin T Perin
Deepesh N Albares
Smith Y Ostrosky
Isabel Z Ostrosky
Arvin X Vocelka
James Z Ruta
Salvatore E Whobrey
Francesco Z Inouye
Leja I Saylors
Leja E Paprocki
Isabel Q Rulapaugh
Isabel Y Briddick
Francesco M Briddick
Juan S Kusko
Juan A Schemmer
Leja X Shinko
Faith X Briddick
Leon I Chui
Isabel N Bolognia
Jefferson P Chui
Mujtaba G Caudy
Morrow H Ruta
Antonio J Amigon
Mayumi A Chui
Misaki Y Caldarera
Claire P Wieser
Johnson D Gaucho
Ricardo G Waycott
Silvio H Darakjy
Mujtaba U Amigon
Adams P Kusko
Wickens W Garufi
Octavia R Campain
Jefferson Y Nicka
Jeanfrancois W Amigon
Jennifer Y Dilliard
IdCountryDate
1000United Kingdom2026-09-23
1001Italy2026-09-26
1002Spain2026-09-13
1003United Kingdom2026-09-07
1004Japan2026-09-02
1005Canada2026-09-02
1006India2026-10-01
1007Italy2026-09-07
1008Italy2026-09-08
1009Argentina2026-09-16
1010Australia2026-09-11
1011Germany2026-10-01
1012Brazil2026-09-26
1013Italy2026-09-12
1014United Kingdom2026-09-16
1015Russia2026-09-22
1016India2026-09-17
1017Japan2026-09-22
1018United Kingdom2026-09-11
1019Japan2026-09-19
1020Australia2026-09-24
1021Canada2026-09-23
1022Australia2026-09-25
1023Russia2026-09-27
1024Argentina2026-09-24
1025Germany2026-09-10
1026Spain2026-09-24
1027Canada2026-09-07
1028Spain2026-09-13
1029Australia2026-09-02
1030France2026-09-22
1031Spain2026-09-26
1032Japan2026-09-18
1033Italy2026-09-09
1034Japan2026-09-30
1035France2026-09-30
1036Brazil2026-09-13
1037India2026-09-04
1038Argentina2026-09-27
1039India2026-09-06
1040Spain2026-09-28
1041Brazil2026-09-29
1042Australia2026-09-23
1043India2026-09-26
1044Australia2026-09-12
1045Spain2026-09-20
1046Germany2026-09-14
1047Italy2026-10-01
1048Spain2026-09-20
1049Brazil2026-09-09

On-Demand Data

NameIdCountryDate
Faith I Briddick1000Japan2026-09-19
Wickens I Malet1001France2026-09-02
Alejandro U Tollner1002Brazil2026-09-03
Nicolas X Albares1003United Kingdom2026-09-09
Darci V Caudy1004Italy2026-09-06
Aruna I Slusarski1005Brazil2026-09-21
Jefferson U Bowley1006India2026-09-07
Adams X Ferencz1007United Kingdom2026-09-04
Greenwood I Shinko1008Australia2026-09-21
Kadeem M Rim1009India2026-09-21
Clifford V Saylors1010India2026-09-04
Antonio K Darakjy1011France2026-09-16
Maisha D Venere1012Russia2026-09-07
Julie F Rim1013Germany2026-09-02
Ricardo L Stenseth1014Argentina2026-09-03
Tony O Gillian1015France2026-09-02
Leon X Perin1016Japan2026-09-10
Sinclair P Kolmetz1017Argentina2026-09-07
Jennifer P Ostrosky1018Russia2026-09-26
Arvin B Albares1019Russia2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones R GillianFranceIoni Bowcher NEGOTIATION
Munro T AmigonJapanXuxue Feng NEW
Deepesh J PoquetteJapanOnyama Limba RENEWAL
Tony U MaletSpainElwin Sharvill RENEWAL
Ricardo B SlusarskiItalyAmy Elsner UNQUALIFIED
James K PoquetteUnited KingdomOnyama Limba PROPOSAL
Mayumi K BowleySpainAmy Elsner UNQUALIFIED
Costa H WaycottUnited KingdomOnyama Limba NEGOTIATION
Claire Q TollnerAustraliaOnyama Limba NEGOTIATION
Antonio E DarakjyAustraliaAsiya Javayant NEW
Francesco N WieserArgentinaBernardo Dominic RENEWAL
Morrow F PaprockiCanadaXuxue Feng PROPOSAL
Wickens Q FlosiUnited KingdomAnna Fali NEW
Silvio M InouyeFranceIvan Magalhaes NEW
Maisha N MorascaCanadaElwin Sharvill PROPOSAL
Silvio F RutaArgentinaAsiya Javayant NEW
Francesco A StockhamRussiaIvan Magalhaes NEGOTIATION
Smith X DilliardJapanAmy Elsner NEGOTIATION
Claire Z GlickUnited KingdomXuxue Feng QUALIFIED
Clifford S SchemmerGermanyAnna Fali QUALIFIED
Jennifer L RutaIndiaIoni Bowcher RENEWAL
Murillo L VenereJapanIoni Bowcher UNQUALIFIED
Leon K OstroskyIndiaBernardo Dominic NEGOTIATION
Jefferson K RimIndiaStephen Shaw NEGOTIATION
Nicolas L ButtFranceOnyama Limba RENEWAL
Wickens W GauchoFranceAsiya Javayant PROPOSAL
Jefferson K KuskoItalyStephen Shaw PROPOSAL
Ricardo G FerenczAustraliaOnyama Limba QUALIFIED
Jefferson E VocelkaBrazilStephen Shaw RENEWAL
Isabel X FigeroaFranceAnna Fali NEW
Jones O ShinkoArgentinaBernardo Dominic NEGOTIATION
Ivar C ButtJapanOnyama Limba NEW
James W RimAustraliaXuxue Feng NEW
Antonio V BowleyJapanAmy Elsner RENEWAL
Maisha W GlickFranceOnyama Limba RENEWAL
Wickens K PoquetteAustraliaOnyama Limba NEW
Juan D IturbideJapanAmy Elsner RENEWAL
Jones X TollnerGermanyBernardo Dominic PROPOSAL
Darci K SergiUnited KingdomOnyama Limba UNQUALIFIED
Jennifer C BologniaBrazilAsiya Javayant NEW

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