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
Morrow U WhobreyCanadaStephen Shaw NEW
Aditya H NestleFranceAsiya Javayant NEGOTIATION
David G DarakjyRussiaXuxue Feng UNQUALIFIED
Antonio Z RimRussiaAnna Fali NEW
Ivar L MorascaArgentinaIvan Magalhaes NEGOTIATION
Claire V ChuiGermanyStephen Shaw RENEWAL
Mayumi W RutaArgentinaIvan Magalhaes UNQUALIFIED
Darci I OstroskyItalyAnna Fali QUALIFIED
Ivar W ButtCanadaAnna Fali NEGOTIATION
Mayumi R GauchoCanadaBernardo Dominic UNQUALIFIED
Kadeem R WaycottUnited KingdomAmy Elsner UNQUALIFIED
Salvatore W RutaItalyOnyama Limba NEGOTIATION
Kaitlin G InouyeArgentinaStephen Shaw RENEWAL
Arvin H AlbaresFranceOnyama Limba UNQUALIFIED
Greenwood J SchemmerIndiaStephen Shaw PROPOSAL
Antonio H ChuiArgentinaIvan Magalhaes NEGOTIATION
Kaitlin R GlickBrazilAsiya Javayant NEGOTIATION
Adams O ButtJapanIoni Bowcher UNQUALIFIED
Juan K WaycottBrazilAnna Fali NEW
Izzy E MarrierFranceIvan Magalhaes NEW
Chavez Q SchemmerIndiaAsiya Javayant NEW
Cody R KolmetzRussiaOnyama Limba NEGOTIATION
Murillo A BologniaAustraliaIvan Magalhaes NEGOTIATION
Sinclair H NestleUnited KingdomAnna Fali RENEWAL
Misaki N FerenczJapanAsiya Javayant RENEWAL
Salvatore S CaudyCanadaXuxue Feng UNQUALIFIED
Julie Q AmigonRussiaOnyama Limba QUALIFIED
Nicolas K IturbideJapanOnyama Limba PROPOSAL
Misaki H OstroskyGermanyAmy Elsner PROPOSAL
Ashley D SaylorsCanadaBernardo Dominic NEGOTIATION
Faith R BologniaSpainBernardo Dominic RENEWAL
Juan P WhobreyAustraliaAmy Elsner QUALIFIED
Aditya Q RimSpainXuxue Feng UNQUALIFIED
Salvatore S RutaItalyOnyama Limba PROPOSAL
Deepesh F SergiRussiaIoni Bowcher PROPOSAL
Mujtaba G MaletItalyXuxue Feng NEW
Alejandro N SergiFranceAsiya Javayant QUALIFIED
Kaitlin X AmigonIndiaElwin Sharvill PROPOSAL
Jones F WhobreyBrazilAsiya Javayant RENEWAL
Kaitlin I NestleItalyOnyama Limba RENEWAL
Rodrigues Z GarufiSpainElwin Sharvill PROPOSAL
Costa J RimAustraliaIoni Bowcher QUALIFIED
Francesco B PoquetteCanadaXuxue Feng PROPOSAL
Aditya H KolmetzSpainAsiya Javayant RENEWAL
Aika L MarrierSpainAnna Fali RENEWAL
Ivar U WieserFranceXuxue Feng QUALIFIED
Arvin M BowleyItalyAmy Elsner NEGOTIATION
Isabel K KolmetzArgentinaXuxue Feng UNQUALIFIED
Rodrigues G ShinkoGermanyAnna Fali UNQUALIFIED
Rodrigues K RulapaughAustraliaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem C FigeroaArgentinaIvan Magalhaes NEW
Ivar Q GauchoIndiaElwin Sharvill NEW
Leon F RoysterCanadaAnna Fali RENEWAL
Jeanfrancois A StensethSpainAnna Fali NEGOTIATION
Mayumi G SaylorsAustraliaAnna Fali UNQUALIFIED
Morrow T CampainBrazilAmy Elsner NEGOTIATION
Jennifer C CaldareraCanadaIoni Bowcher QUALIFIED
Nicolas B RoysterItalyBernardo Dominic NEGOTIATION
Aruna L BowleyIndiaAnna Fali NEGOTIATION
Morrow K MorascaBrazilBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio L ButtUnited Kingdom2026-09-27Morlong Associates RENEWAL18Elwin Sharvill
1001Jeanfrancois T SergiUnited Kingdom2026-09-17Chemel, James L Cpa UNQUALIFIED75Ioni Bowcher
1002Ashley V GauchoIndia2026-09-26Rangoni Of Florence RENEWAL26Ivan Magalhaes
1003Jennifer X WhobreyUnited Kingdom2026-09-24Commercial Press RENEWAL56Bernardo Dominic
1004Morrow K KuskoBrazil2026-09-17Buckley Miller Wright QUALIFIED73Elwin Sharvill
1005Claire Y MarrierIndia2026-09-05Buckley Miller Wright RENEWAL34Elwin Sharvill
1006Ivar E CampainArgentina2026-09-13Chapman, Ross E Esq NEGOTIATION22Amy Elsner
1007Juan B MarrierAustralia2026-08-30Morlong Associates RENEWAL2Stephen Shaw
1008Silvio U CampainItaly2026-09-17Benton, John B Jr NEGOTIATION45Ioni Bowcher
1009Mayumi U FigeroaCanada2026-09-08Chapman, Ross E Esq RENEWAL18Xuxue Feng
1010Ricardo D ButtFrance2026-09-22Printing Dimensions PROPOSAL39Onyama Limba
1011Ashley E IturbideRussia2026-09-17Chapman, Ross E Esq NEGOTIATION65Elwin Sharvill
1012Johnson X KolmetzJapan2026-09-19Printing Dimensions UNQUALIFIED7Ioni Bowcher
1013Ricardo B GauchoIndia2026-09-14Chanay, Jeffrey A Esq RENEWAL66Anna Fali
1014Aditya C PaprockiBrazil2026-09-26Morlong Associates NEW24Amy Elsner
1015Sinclair O GauchoIndia2026-08-30Rousseaux, Michael Esq NEW26Ivan Magalhaes
1016Ashley T ButtArgentina2026-09-17Chemel, James L Cpa PROPOSAL80Ioni Bowcher
1017Cody V SaylorsSpain2026-09-14Chapman, Ross E Esq NEW83Bernardo Dominic
1018Rodrigues F AlbaresCanada2026-09-06Benton, John B Jr NEW76Anna Fali
1019Misaki R NestleItaly2026-09-07Benton, John B Jr RENEWAL85Amy Elsner
1020Misaki T WieserGermany2026-09-09Rangoni Of Florence NEW12Bernardo Dominic
1021Greenwood L MacleadGermany2026-08-31Rangoni Of Florence PROPOSAL55Asiya Javayant
1022Darci P IturbideUnited Kingdom2026-09-03Chapman, Ross E Esq QUALIFIED48Bernardo Dominic
1023Claire T FigeroaJapan2026-09-27Truhlar And Truhlar Attys QUALIFIED28Onyama Limba
1024David P MaletCanada2026-09-16Printing Dimensions NEW89Amy Elsner
1025Antonio F InouyeIndia2026-09-11Commercial Press UNQUALIFIED81Ioni Bowcher
1026Alejandro T DoeBrazil2026-09-05Rousseaux, Michael Esq RENEWAL72Amy Elsner
1027Aruna P PaprockiJapan2026-09-19Commercial Press RENEWAL74Ioni Bowcher
1028Antonio G OstroskyItaly2026-09-04Commercial Press RENEWAL47Bernardo Dominic
1029Maria M PaprockiGermany2026-09-21Commercial Press NEW28Ivan Magalhaes
1030James V PaprockiFrance2026-09-04Rangoni Of Florence NEW49Onyama Limba
1031Jeanfrancois E WieserFrance2026-09-06Commercial Press NEGOTIATION73Xuxue Feng
1032Emily E KuskoBrazil2026-09-03Buckley Miller Wright QUALIFIED42Amy Elsner
1033Costa W WieserItaly2026-09-04King, Christopher A Esq PROPOSAL68Stephen Shaw
1034Munro O RulapaughGermany2026-09-04Commercial Press NEW89Ivan Magalhaes
1035Leja E FerenczSpain2026-09-16Rangoni Of Florence RENEWAL74Ioni Bowcher
1036Cody L MaletFrance2026-09-06Morlong Associates RENEWAL53Onyama Limba
1037Maria H CaldareraSpain2026-09-08Feiner Bros PROPOSAL79Stephen Shaw
1038Chavez O StockhamRussia2026-09-16Rousseaux, Michael Esq NEW44Bernardo Dominic
1039Nicolas G RulapaughAustralia2026-09-05King, Christopher A Esq RENEWAL68Xuxue Feng
1040Jefferson I AlbaresUnited Kingdom2026-09-22Dorl, James J Esq QUALIFIED99Stephen Shaw
1041Mayumi V DoeSpain2026-09-03King, Christopher A Esq QUALIFIED43Anna Fali
1042Emily I CampainBrazil2026-09-05Morlong Associates PROPOSAL77Elwin Sharvill
1043Nicolas X VenereFrance2026-08-31Chemel, James L Cpa NEGOTIATION65Onyama Limba
1044Alejandro U DilliardArgentina2026-09-08King, Christopher A Esq NEGOTIATION84Ivan Magalhaes
1045Chavez Z PerinSpain2026-09-02Chapman, Ross E Esq QUALIFIED30Stephen Shaw
1046Julie Z VenereAustralia2026-09-02Rangoni Of Florence QUALIFIED53Anna Fali
1047Ashley O MaletUnited Kingdom2026-09-12Feiner Bros NEW85Stephen Shaw
1048Mujtaba K NestleCanada2026-09-11Rangoni Of Florence RENEWAL48Bernardo Dominic
1049Maisha P MarrierSpain2026-09-16King, Christopher A Esq QUALIFIED63Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Faith T FlosiAustraliaIvan Magalhaes PROPOSAL
Mayumi A PerinSpainAsiya Javayant RENEWAL
Adams Y VocelkaUnited KingdomAmy Elsner UNQUALIFIED
David P GlickSpainElwin Sharvill PROPOSAL
Antonio P VocelkaRussiaStephen Shaw PROPOSAL
Johnson A VenereGermanyAsiya Javayant PROPOSAL
Ivar W BologniaBrazilBernardo Dominic UNQUALIFIED
Arvin I SaylorsJapanXuxue Feng NEW
Ricardo B ButtUnited KingdomStephen Shaw QUALIFIED
Adams I StensethGermanyAmy Elsner PROPOSAL
Munro X DoeArgentinaBernardo Dominic QUALIFIED
James W BriddickArgentinaIvan Magalhaes NEGOTIATION
Antonio Z MacleadArgentinaXuxue Feng QUALIFIED
Deepesh N RulapaughRussiaIvan Magalhaes NEGOTIATION
Aruna Q PerinCanadaAmy Elsner QUALIFIED
Jennifer H ChuiCanadaAnna Fali NEGOTIATION
Tony J AlbaresCanadaOnyama Limba RENEWAL
Nicolas L ButtUnited KingdomAsiya Javayant QUALIFIED
Kadeem V SchemmerArgentinaBernardo Dominic NEW
Tony Q WaycottBrazilAmy Elsner RENEWAL
Antonio R RutaJapanStephen Shaw PROPOSAL
Smith Z VocelkaFranceAnna Fali RENEWAL
Munro B MorascaFranceBernardo Dominic NEW
Ivar J MorascaRussiaIvan Magalhaes RENEWAL
Izzy Z IturbideFranceStephen Shaw UNQUALIFIED
Mujtaba R StensethIndiaIoni Bowcher UNQUALIFIED
Ivar G FigeroaRussiaIvan Magalhaes NEGOTIATION
Smith I MarrierItalyAsiya Javayant NEW
Costa O SlusarskiIndiaAsiya Javayant NEW
Morrow Z OldroydItalyAsiya Javayant NEGOTIATION
Murillo B MaletGermanyXuxue Feng PROPOSAL
Deepesh N RimSpainIoni Bowcher UNQUALIFIED
Morrow T RutaItalyOnyama Limba NEW
David Z RimFranceAnna Fali PROPOSAL
Alejandro S SergiSpainAsiya Javayant NEW
Kaitlin T DoeRussiaAsiya Javayant PROPOSAL
Salvatore X MacleadAustraliaXuxue Feng RENEWAL
Darci P DarakjyArgentinaOnyama Limba PROPOSAL
David T RimIndiaIoni Bowcher NEW
Johnson A StockhamBrazilIvan Magalhaes PROPOSAL
Arvin N NestleSpainAnna Fali UNQUALIFIED
Octavia K BriddickCanadaIoni Bowcher NEW
Murillo Q FerenczArgentinaAsiya Javayant NEGOTIATION
Clifford G BriddickGermanyIoni Bowcher NEGOTIATION
Isabel O AmigonItalyStephen Shaw RENEWAL
Adams T BowleyJapanOnyama Limba PROPOSAL
Johnson V NestleJapanAsiya Javayant QUALIFIED
Leja Q PaprockiBrazilIoni Bowcher PROPOSAL
Misaki G RulapaughIndiaIvan Magalhaes UNQUALIFIED
Antonio T RutaArgentinaXuxue Feng QUALIFIED
Frozen Columns
Name
Claire C Albares
Silvio J Foller
Ricardo I Whobrey
Kaitlin K Morasca
Smith K Garufi
Francesco Q Malet
Cody Q Ruta
Salvatore A Ruta
Francesco D Stockham
Clifford F Albares
Ashley C Kolmetz
Misaki U Slusarski
Aditya G Perin
Costa D Bolognia
Sinclair I Waycott
Jeanfrancois X Kolmetz
Izzy F Ferencz
Wickens G Flosi
David V Waycott
Salvatore C Iturbide
Francesco U Whobrey
Ivar Q Malet
Smith G Dilliard
Aditya Q Marrier
Antonio K Ostrosky
Munro Q Amigon
Juan Z Vocelka
Chavez J Kolmetz
Nicolas Y Doe
Jones W Bowley
Adams Y Nestle
Julie I Kusko
Darci X Vocelka
Cody D Waycott
Mayumi E Whobrey
Claire H Saylors
Jeanfrancois G Rim
Faith E Caldarera
Morrow G Shinko
Deepesh Q Caldarera
James A Iturbide
Leon Q Malet
Murillo U Ferencz
Jones Q Slusarski
Sinclair I Briddick
Antonio K Rulapaugh
Wickens O Butt
Mujtaba S Ostrosky
Jones J Bolognia
Francesco U Darakjy
IdCountryDate
1000Argentina2026-09-17
1001Canada2026-09-03
1002Brazil2026-09-01
1003Spain2026-09-23
1004Australia2026-09-21
1005India2026-09-27
1006Brazil2026-09-27
1007Russia2026-09-28
1008Spain2026-09-24
1009France2026-09-26
1010United Kingdom2026-09-23
1011Germany2026-08-30
1012France2026-09-16
1013Brazil2026-09-20
1014France2026-09-08
1015Japan2026-09-10
1016Argentina2026-09-23
1017Australia2026-09-07
1018Germany2026-09-26
1019United Kingdom2026-09-12
1020Germany2026-08-31
1021Italy2026-09-08
1022Canada2026-09-28
1023Italy2026-09-22
1024Italy2026-09-15
1025Argentina2026-08-30
1026Argentina2026-09-19
1027Italy2026-09-17
1028India2026-09-19
1029Germany2026-08-30
1030United Kingdom2026-09-12
1031Russia2026-09-07
1032Canada2026-09-09
1033United Kingdom2026-09-11
1034Canada2026-09-23
1035Italy2026-09-08
1036Brazil2026-09-11
1037France2026-09-08
1038Canada2026-09-14
1039Russia2026-09-18
1040Australia2026-09-11
1041Russia2026-09-11
1042Australia2026-09-22
1043India2026-09-06
1044Germany2026-09-05
1045Argentina2026-09-15
1046Brazil2026-09-07
1047Canada2026-09-27
1048Australia2026-09-19
1049Japan2026-09-15

On-Demand Data

NameIdCountryDate
Ashley E Saylors1000Australia2026-09-25
Aditya D Royster1001Australia2026-09-18
Misaki G Bowley1002United Kingdom2026-09-27
Aditya Q Saylors1003India2026-09-08
Tony R Rim1004India2026-09-03
Cody U Bowley1005Germany2026-09-07
Deepesh M Poquette1006Italy2026-09-22
James F Royster1007Germany2026-09-09
Kaitlin B Ferencz1008France2026-09-11
Nicolas A Gaucho1009India2026-09-04
Emily E Amigon1010Brazil2026-09-10
Claire W Royster1011Germany2026-09-24
Costa I Bolognia1012Italy2026-09-24
Faith K Caudy1013Spain2026-09-09
Jefferson Z Marrier1014France2026-09-23
David E Saylors1015United Kingdom2026-09-09
Salvatore O Maclead1016United Kingdom2026-09-13
Silvio R Morasca1017Brazil2026-08-30
Isabel H Royster1018Italy2026-09-14
Arvin F Glick1019Argentina2026-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Y NickaSpainIvan Magalhaes NEGOTIATION
Maria G MarrierArgentinaIoni Bowcher PROPOSAL
Munro W RimIndiaOnyama Limba PROPOSAL
Ivar C TollnerSpainAsiya Javayant NEW
Johnson X BowleyBrazilIoni Bowcher NEW
Nicolas U VenereBrazilBernardo Dominic RENEWAL
Aditya Q RoysterFranceElwin Sharvill PROPOSAL
Misaki K OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Sinclair M NestleIndiaIoni Bowcher RENEWAL
Mujtaba M VenereAustraliaAsiya Javayant NEW
Munro H AlbaresUnited KingdomElwin Sharvill NEW
Salvatore E VenereGermanyAsiya Javayant NEGOTIATION
Chavez D WaycottIndiaAnna Fali NEW
James H ShinkoFranceElwin Sharvill NEGOTIATION
Izzy N FlosiSpainElwin Sharvill RENEWAL
Darci G FerenczIndiaIvan Magalhaes NEW
Misaki G SergiGermanyOnyama Limba NEW
Aika E DarakjySpainBernardo Dominic NEGOTIATION
Faith I FigeroaCanadaIvan Magalhaes RENEWAL
Jeanfrancois G BriddickRussiaIvan Magalhaes PROPOSAL
Costa I StockhamSpainIvan Magalhaes QUALIFIED
Murillo T AlbaresSpainIvan Magalhaes NEW
Jennifer K CaldareraAustraliaIoni Bowcher NEGOTIATION
Jennifer U FigeroaIndiaXuxue Feng NEGOTIATION
Jeanfrancois R SlusarskiIndiaBernardo Dominic PROPOSAL
James C NickaArgentinaAsiya Javayant QUALIFIED
Deepesh B StockhamJapanElwin Sharvill RENEWAL
Mayumi J RimItalyStephen Shaw QUALIFIED
Ashley B WaycottCanadaBernardo Dominic NEGOTIATION
Greenwood R RulapaughGermanyIvan Magalhaes UNQUALIFIED
Misaki P AlbaresItalyStephen Shaw UNQUALIFIED
Faith U PoquetteCanadaIoni Bowcher QUALIFIED
Maria P ChuiSpainOnyama Limba UNQUALIFIED
Rodrigues B CaudySpainAnna Fali RENEWAL
Costa Y VenereArgentinaAsiya Javayant NEW
Salvatore V KuskoArgentinaIvan Magalhaes NEGOTIATION
Johnson D BologniaBrazilAmy Elsner QUALIFIED
Leja J FlosiBrazilAmy Elsner UNQUALIFIED
Greenwood U BologniaArgentinaAsiya Javayant QUALIFIED
Kadeem M DarakjyGermanyElwin Sharvill 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>