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 V DarakjyUnited KingdomXuxue Feng PROPOSAL
Murillo B VocelkaIndiaElwin Sharvill NEW
Aditya D OldroydIndiaElwin Sharvill RENEWAL
Jefferson I GauchoSpainXuxue Feng NEW
Clifford J ShinkoGermanyAnna Fali PROPOSAL
Kadeem B KuskoGermanyStephen Shaw QUALIFIED
Mujtaba Y CaldareraRussiaXuxue Feng PROPOSAL
Misaki T MarrierJapanStephen Shaw PROPOSAL
Francesco E DarakjyUnited KingdomStephen Shaw PROPOSAL
Aruna Z AmigonSpainIoni Bowcher QUALIFIED
Ashley C CaldareraIndiaBernardo Dominic PROPOSAL
Nicolas W ChuiCanadaIoni Bowcher NEW
Ricardo Z SlusarskiFranceIvan Magalhaes QUALIFIED
Julie Q WaycottBrazilXuxue Feng RENEWAL
Ricardo F RimGermanyAnna Fali NEGOTIATION
Leon X BriddickAustraliaIvan Magalhaes PROPOSAL
Arvin D ShinkoCanadaBernardo Dominic NEGOTIATION
Ivar U FollerAustraliaBernardo Dominic RENEWAL
Chavez V PoquetteIndiaOnyama Limba NEGOTIATION
Aditya X TollnerItalyElwin Sharvill NEGOTIATION
Nicolas K MarrierUnited KingdomIoni Bowcher PROPOSAL
Wickens L CaudyIndiaAmy Elsner NEW
Juan J KolmetzFranceAnna Fali NEGOTIATION
Chavez O RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Aruna Z MaletFranceStephen Shaw UNQUALIFIED
Claire Y PaprockiArgentinaElwin Sharvill UNQUALIFIED
Izzy N NickaGermanyElwin Sharvill PROPOSAL
Jones Q StensethSpainIoni Bowcher UNQUALIFIED
Nicolas M InouyeBrazilBernardo Dominic PROPOSAL
Morrow Z AmigonArgentinaStephen Shaw NEW
Isabel Z PoquetteSpainAsiya Javayant QUALIFIED
Faith B MacleadCanadaStephen Shaw QUALIFIED
Stacey N BowleyJapanAmy Elsner UNQUALIFIED
Arvin L StockhamGermanyXuxue Feng NEW
Juan C VenereCanadaBernardo Dominic NEGOTIATION
Kaitlin A RimItalyElwin Sharvill RENEWAL
Mayumi I MorascaItalyAmy Elsner PROPOSAL
Mayumi Z FollerItalyIoni Bowcher QUALIFIED
Adams G FlosiAustraliaStephen Shaw UNQUALIFIED
Sinclair H MacleadAustraliaIvan Magalhaes UNQUALIFIED
Misaki W SlusarskiUnited KingdomElwin Sharvill NEW
Aruna R MarrierItalyAsiya Javayant QUALIFIED
Leon Q PaprockiCanadaBernardo Dominic NEGOTIATION
Izzy W OldroydBrazilAnna Fali RENEWAL
Jennifer X FigeroaBrazilXuxue Feng RENEWAL
Jefferson M PaprockiGermanyXuxue Feng NEW
Munro D AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi J DoeItalyAnna Fali NEW
Francesco C RoysterBrazilOnyama Limba PROPOSAL
Francesco C DoeBrazilIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore B CaldareraGermanyOnyama Limba NEGOTIATION
Maria F SergiItalyOnyama Limba UNQUALIFIED
Antonio P BriddickFranceOnyama Limba RENEWAL
Misaki V RutaGermanyAnna Fali RENEWAL
Alejandro U DilliardJapanElwin Sharvill NEGOTIATION
Misaki H FollerCanadaXuxue Feng QUALIFIED
Kadeem Y MorascaBrazilOnyama Limba NEGOTIATION
Ashley N StensethItalyAnna Fali NEW
Misaki T RoysterJapanOnyama Limba RENEWAL
Ivar K RoysterFranceIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro H GarufiIndia2026-09-19Feltz Printing Service UNQUALIFIED52Xuxue Feng
1001Kadeem F FollerGermany2026-08-30Rangoni Of Florence RENEWAL89Ioni Bowcher
1002Salvatore S CaldareraJapan2026-08-30Commercial Press NEGOTIATION42Stephen Shaw
1003James D FlosiIndia2026-09-10Truhlar And Truhlar Attys NEW8Asiya Javayant
1004Ivar S ShinkoRussia2026-09-07Buckley Miller Wright NEW64Amy Elsner
1005Costa U AmigonGermany2026-09-02Chemel, James L Cpa UNQUALIFIED56Asiya Javayant
1006Misaki V SaylorsRussia2026-09-14Commercial Press PROPOSAL97Onyama Limba
1007Costa D ShinkoIndia2026-09-10Truhlar And Truhlar Attys PROPOSAL50Asiya Javayant
1008Arvin Y NestleGermany2026-09-04Feltz Printing Service PROPOSAL62Stephen Shaw
1009Stacey Y MarrierIndia2026-09-21Chanay, Jeffrey A Esq PROPOSAL47Asiya Javayant
1010Octavia V MaletArgentina2026-08-30Dorl, James J Esq NEGOTIATION41Ivan Magalhaes
1011Jefferson X MacleadFrance2026-09-10Feltz Printing Service NEW10Ioni Bowcher
1012Arvin N RulapaughIndia2026-09-13Feltz Printing Service UNQUALIFIED17Elwin Sharvill
1013Nicolas E VenereGermany2026-09-02Dorl, James J Esq PROPOSAL94Stephen Shaw
1014Emily R FlosiUnited Kingdom2026-09-23Feiner Bros QUALIFIED49Anna Fali
1015Jefferson N GillianRussia2026-08-30Rousseaux, Michael Esq NEGOTIATION84Elwin Sharvill
1016Maisha H OldroydArgentina2026-09-18Commercial Press PROPOSAL36Ioni Bowcher
1017Octavia B AmigonFrance2026-09-07Commercial Press PROPOSAL18Elwin Sharvill
1018Deepesh R DilliardItaly2026-09-20Truhlar And Truhlar Attys UNQUALIFIED4Amy Elsner
1019Julie U ButtArgentina2026-09-19Rangoni Of Florence RENEWAL55Stephen Shaw
1020Morrow C ButtGermany2026-09-13Chanay, Jeffrey A Esq QUALIFIED51Bernardo Dominic
1021Cody Y IturbideGermany2026-09-21Chanay, Jeffrey A Esq UNQUALIFIED83Xuxue Feng
1022Claire Z MorascaItaly2026-09-18Buckley Miller Wright NEGOTIATION12Onyama Limba
1023Faith L DoeGermany2026-09-13Rousseaux, Michael Esq NEW44Stephen Shaw
1024Adams C CaudyIndia2026-09-13Printing Dimensions QUALIFIED54Amy Elsner
1025Kaitlin U CampainGermany2026-09-06Buckley Miller Wright QUALIFIED69Bernardo Dominic
1026Rodrigues H MaletSpain2026-09-12Benton, John B Jr RENEWAL74Bernardo Dominic
1027Misaki U IturbideSpain2026-09-23Rangoni Of Florence NEW19Elwin Sharvill
1028Kaitlin D MaletGermany2026-09-12Chemel, James L Cpa RENEWAL4Ivan Magalhaes
1029Adams E StockhamUnited Kingdom2026-09-08Truhlar And Truhlar Attys NEGOTIATION17Xuxue Feng
1030Arvin P MarrierIndia2026-08-30Chemel, James L Cpa NEGOTIATION71Xuxue Feng
1031Ashley X DilliardFrance2026-08-27King, Christopher A Esq NEW19Asiya Javayant
1032Darci X CaldareraSpain2026-08-30Truhlar And Truhlar Attys NEGOTIATION21Amy Elsner
1033Maisha X InouyeGermany2026-08-30Feiner Bros UNQUALIFIED37Bernardo Dominic
1034Emily G PerinBrazil2026-09-08Rangoni Of Florence QUALIFIED39Ivan Magalhaes
1035Emily K KolmetzSpain2026-09-14Chemel, James L Cpa UNQUALIFIED12Ivan Magalhaes
1036Costa K RutaBrazil2026-09-06Dorl, James J Esq NEGOTIATION79Ivan Magalhaes
1037Aika F BriddickCanada2026-08-31Commercial Press NEW21Onyama Limba
1038Chavez B WieserUnited Kingdom2026-08-26Feiner Bros UNQUALIFIED81Xuxue Feng
1039Alejandro D DilliardBrazil2026-09-02Benton, John B Jr RENEWAL21Anna Fali
1040Jones G GauchoArgentina2026-09-20Buckley Miller Wright NEW44Asiya Javayant
1041Morrow C IturbideItaly2026-09-22Morlong Associates UNQUALIFIED29Onyama Limba
1042Aika F MaletSpain2026-09-09Dorl, James J Esq RENEWAL77Elwin Sharvill
1043Julie H DoeIndia2026-09-04Printing Dimensions RENEWAL57Ioni Bowcher
1044Rodrigues L SaylorsJapan2026-09-10Commercial Press NEW41Stephen Shaw
1045James P DilliardAustralia2026-09-21Chanay, Jeffrey A Esq RENEWAL54Onyama Limba
1046Mayumi T SergiCanada2026-09-11Dorl, James J Esq UNQUALIFIED81Elwin Sharvill
1047Leon V VenereUnited Kingdom2026-09-23Chapman, Ross E Esq QUALIFIED61Bernardo Dominic
1048David P DoeBrazil2026-09-17Rousseaux, Michael Esq RENEWAL31Asiya Javayant
1049Leon Q StockhamFrance2026-09-13Feltz Printing Service NEW93Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leon A DarakjyGermanyIvan Magalhaes PROPOSAL
Murillo U ShinkoRussiaXuxue Feng UNQUALIFIED
Maisha C WhobreyJapanAsiya Javayant NEGOTIATION
Francesco E NestleIndiaAmy Elsner NEGOTIATION
Mujtaba R MacleadArgentinaIoni Bowcher PROPOSAL
Jones F WhobreyFranceStephen Shaw QUALIFIED
Emily Y WieserItalyElwin Sharvill PROPOSAL
Jefferson I BologniaRussiaAmy Elsner QUALIFIED
Antonio L FollerBrazilAmy Elsner QUALIFIED
Ricardo M FerenczGermanyAsiya Javayant NEGOTIATION
James S CampainCanadaAmy Elsner UNQUALIFIED
Jeanfrancois G AmigonJapanAsiya Javayant QUALIFIED
Jennifer L AmigonBrazilAnna Fali NEGOTIATION
Maria I GauchoBrazilAnna Fali NEGOTIATION
Darci A ShinkoSpainBernardo Dominic QUALIFIED
Cody K NestleRussiaElwin Sharvill PROPOSAL
Kadeem X DilliardItalyBernardo Dominic UNQUALIFIED
Julie E RimItalyIoni Bowcher PROPOSAL
Izzy B RutaRussiaXuxue Feng UNQUALIFIED
Wickens U TollnerCanadaOnyama Limba NEGOTIATION
David K GauchoJapanAmy Elsner UNQUALIFIED
Wickens F GarufiItalyIvan Magalhaes QUALIFIED
Aditya K GauchoBrazilIoni Bowcher NEW
Munro D TollnerSpainXuxue Feng QUALIFIED
Mujtaba T DilliardItalyStephen Shaw NEGOTIATION
Jefferson X KolmetzAustraliaXuxue Feng RENEWAL
Costa O MarrierItalyXuxue Feng NEGOTIATION
Munro W FigeroaBrazilXuxue Feng UNQUALIFIED
David A RimRussiaStephen Shaw NEGOTIATION
Clifford C AmigonSpainAmy Elsner QUALIFIED
Kadeem X MaletAustraliaOnyama Limba PROPOSAL
Murillo G InouyeItalyXuxue Feng PROPOSAL
Emily U TollnerCanadaElwin Sharvill NEW
Silvio J KuskoSpainElwin Sharvill RENEWAL
Antonio J SergiItalyXuxue Feng QUALIFIED
Maisha Z RutaGermanyBernardo Dominic NEW
Aditya B StockhamIndiaOnyama Limba PROPOSAL
Octavia Y PaprockiRussiaXuxue Feng NEW
Aruna G BologniaGermanyIvan Magalhaes NEW
Ricardo K MorascaRussiaBernardo Dominic PROPOSAL
Ashley V DilliardIndiaElwin Sharvill NEW
Emily W GarufiIndiaAsiya Javayant UNQUALIFIED
Claire I SaylorsIndiaAsiya Javayant PROPOSAL
Octavia I CaldareraItalyIvan Magalhaes NEW
Alejandro N AmigonGermanyBernardo Dominic UNQUALIFIED
Jennifer S InouyeSpainAsiya Javayant PROPOSAL
Ivar Y GauchoSpainXuxue Feng UNQUALIFIED
Ricardo E MacleadArgentinaBernardo Dominic NEGOTIATION
Arvin X MarrierCanadaIoni Bowcher UNQUALIFIED
Francesco P PerinUnited KingdomBernardo Dominic RENEWAL
Frozen Columns
Name
Salvatore S Maclead
Emily I Flosi
Julie W Briddick
Chavez M Flosi
Cody I Dilliard
Morrow T Flosi
Johnson L Campain
Rodrigues W Maclead
Alejandro Z Doe
Munro G Caldarera
Kaitlin D Doe
Ricardo A Venere
Maria C Royster
Adams A Tollner
Aditya N Flosi
Aika F Figeroa
Munro H Ostrosky
Ashley H Albares
Chavez C Briddick
Emily C Morasca
Ivar R Stenseth
Octavia L Whobrey
Johnson N Kolmetz
Alejandro Q Venere
Adams M Darakjy
Cody S Sergi
Antonio R Poquette
Jennifer A Rim
Aditya I Bolognia
Ivar C Royster
Ricardo L Amigon
Jennifer R Doe
Antonio N Chui
Stacey X Inouye
Leja Y Wieser
Adams U Butt
Alejandro M Maclead
Izzy J Garufi
Jennifer P Garufi
Cody W Bolognia
Juan R Butt
Francesco X Campain
Antonio Y Poquette
Mujtaba F Ruta
Jones H Ruta
Deepesh V Kolmetz
Rodrigues R Kusko
Tony W Foller
Salvatore O Foller
Adams V Nestle
IdCountryDate
1000India2026-09-06
1001United Kingdom2026-09-15
1002Brazil2026-09-22
1003United Kingdom2026-09-04
1004Russia2026-09-06
1005Japan2026-09-11
1006Japan2026-09-19
1007United Kingdom2026-09-14
1008Russia2026-09-12
1009Italy2026-08-31
1010India2026-09-12
1011France2026-09-18
1012Japan2026-09-11
1013Russia2026-09-06
1014Italy2026-09-13
1015India2026-09-14
1016Italy2026-09-08
1017Australia2026-09-20
1018Canada2026-09-14
1019Spain2026-09-18
1020Canada2026-08-30
1021Italy2026-09-03
1022Germany2026-09-15
1023India2026-08-31
1024India2026-09-05
1025Italy2026-09-08
1026Russia2026-09-19
1027Canada2026-09-10
1028Spain2026-09-11
1029Argentina2026-09-13
1030Brazil2026-09-08
1031Japan2026-09-12
1032France2026-08-26
1033Spain2026-09-01
1034Canada2026-09-06
1035Brazil2026-09-14
1036Argentina2026-09-07
1037Japan2026-09-21
1038India2026-09-10
1039India2026-08-28
1040Spain2026-09-03
1041Spain2026-09-04
1042Canada2026-09-17
1043Argentina2026-09-23
1044Germany2026-08-29
1045Canada2026-09-05
1046India2026-09-09
1047Germany2026-09-22
1048France2026-09-02
1049United Kingdom2026-09-15

On-Demand Data

NameIdCountryDate
James Y Malet1000Russia2026-09-14
Tony K Bowley1001Argentina2026-09-01
Clifford Y Malet1002Germany2026-09-22
Rodrigues D Whobrey1003Brazil2026-09-11
Francesco B Royster1004Italy2026-09-05
Chavez V Stockham1005Russia2026-09-24
Stacey C Malet1006Germany2026-09-08
Jones X Ostrosky1007Germany2026-09-10
Juan L Rim1008Italy2026-09-11
Antonio O Tollner1009India2026-09-01
Octavia N Schemmer1010France2026-09-07
Murillo T Figeroa1011India2026-08-26
Salvatore P Albares1012Russia2026-08-31
David Q Foller1013Germany2026-09-12
Silvio N Briddick1014Germany2026-09-20
Tony H Wieser1015Italy2026-09-08
Cody M Waycott1016Canada2026-09-17
Greenwood R Briddick1017France2026-08-29
Ricardo Q Malet1018Argentina2026-09-22
Maria I Bowley1019Russia2026-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire V PoquetteArgentinaAmy Elsner PROPOSAL
Murillo G PerinIndiaAsiya Javayant NEGOTIATION
Jennifer Q StockhamUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba Z BologniaJapanBernardo Dominic QUALIFIED
Greenwood Y FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Misaki Y FigeroaItalyAnna Fali NEW
Johnson Y AlbaresRussiaIoni Bowcher NEW
Costa X FlosiGermanyIoni Bowcher NEW
Maisha B ButtJapanIvan Magalhaes RENEWAL
Arvin W ShinkoRussiaIvan Magalhaes UNQUALIFIED
Kadeem C CampainGermanyElwin Sharvill PROPOSAL
Isabel X WieserJapanIvan Magalhaes UNQUALIFIED
Jennifer L StockhamUnited KingdomBernardo Dominic NEGOTIATION
Munro R FlosiSpainAmy Elsner NEGOTIATION
Aditya D MarrierItalyBernardo Dominic PROPOSAL
Wickens A NickaGermanyAmy Elsner UNQUALIFIED
Adams J SaylorsRussiaAnna Fali RENEWAL
Aruna Q StockhamCanadaAnna Fali UNQUALIFIED
Jeanfrancois N KolmetzGermanyXuxue Feng QUALIFIED
Jennifer W RimUnited KingdomBernardo Dominic NEGOTIATION
Emily Y SchemmerJapanElwin Sharvill RENEWAL
Julie P BologniaGermanyAsiya Javayant PROPOSAL
Emily W PaprockiBrazilXuxue Feng QUALIFIED
Clifford Q DarakjyIndiaOnyama Limba NEGOTIATION
Clifford S GlickFranceAnna Fali QUALIFIED
Maisha P GauchoItalyAsiya Javayant UNQUALIFIED
Leja U KolmetzRussiaOnyama Limba RENEWAL
Maisha E MorascaArgentinaIvan Magalhaes NEGOTIATION
James T SaylorsCanadaAnna Fali NEGOTIATION
Greenwood V DarakjyIndiaAnna Fali QUALIFIED
Octavia E PerinGermanyBernardo Dominic QUALIFIED
Stacey Z VenereRussiaAmy Elsner NEGOTIATION
Arvin Y GauchoArgentinaOnyama Limba NEGOTIATION
Stacey C ChuiIndiaAsiya Javayant RENEWAL
Costa N DilliardIndiaIoni Bowcher UNQUALIFIED
Alejandro P RutaGermanyAnna Fali NEW
Morrow X RimCanadaElwin Sharvill QUALIFIED
Smith G MaletFranceIoni Bowcher QUALIFIED
Murillo N CampainCanadaBernardo Dominic NEW
Octavia A NickaGermanyElwin Sharvill NEGOTIATION

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