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
Jennifer N KuskoSpainElwin Sharvill RENEWAL
James M WaycottJapanXuxue Feng PROPOSAL
Deepesh C KolmetzSpainElwin Sharvill PROPOSAL
Darci O AlbaresRussiaBernardo Dominic NEW
David O MacleadJapanIvan Magalhaes NEW
Jeanfrancois G KolmetzItalyIoni Bowcher NEW
Ashley X CampainGermanyIvan Magalhaes NEGOTIATION
Alejandro G ButtGermanyOnyama Limba NEGOTIATION
Maria N PoquetteRussiaAsiya Javayant RENEWAL
Claire L BriddickFranceStephen Shaw RENEWAL
Aruna W GillianIndiaAnna Fali QUALIFIED
Munro T RoysterRussiaIvan Magalhaes QUALIFIED
Isabel U SlusarskiBrazilIvan Magalhaes NEW
Tony A FerenczRussiaBernardo Dominic NEGOTIATION
Salvatore O PerinFranceAnna Fali QUALIFIED
Kadeem T StensethUnited KingdomOnyama Limba NEW
Jennifer Q MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Smith U WaycottIndiaAnna Fali RENEWAL
Jennifer Z PaprockiCanadaAmy Elsner UNQUALIFIED
Silvio C GlickBrazilOnyama Limba UNQUALIFIED
Ricardo W PaprockiCanadaXuxue Feng UNQUALIFIED
Alejandro I GillianArgentinaElwin Sharvill NEW
Ricardo A CampainFranceXuxue Feng RENEWAL
Munro T CaldareraRussiaElwin Sharvill NEGOTIATION
Ivar Y NestleAustraliaStephen Shaw PROPOSAL
Wickens Q KolmetzGermanyAnna Fali UNQUALIFIED
Maria E MaletFranceBernardo Dominic RENEWAL
Greenwood M CampainFranceAsiya Javayant UNQUALIFIED
Jennifer U KolmetzBrazilOnyama Limba UNQUALIFIED
Smith T ButtJapanIvan Magalhaes PROPOSAL
Leja P NickaIndiaOnyama Limba RENEWAL
Faith Y BologniaIndiaAnna Fali QUALIFIED
Ricardo A MaletArgentinaOnyama Limba NEGOTIATION
Chavez O ButtJapanBernardo Dominic QUALIFIED
Kaitlin L RutaJapanOnyama Limba NEW
Costa D ButtGermanyElwin Sharvill RENEWAL
Costa M CaldareraGermanyIvan Magalhaes RENEWAL
Johnson R SergiGermanyOnyama Limba NEGOTIATION
Julie V SchemmerJapanAnna Fali RENEWAL
Jennifer N OstroskyBrazilOnyama Limba NEGOTIATION
David E GlickArgentinaElwin Sharvill NEGOTIATION
Izzy S VocelkaSpainOnyama Limba UNQUALIFIED
Julie F SlusarskiFranceAmy Elsner RENEWAL
Arvin T CampainSpainStephen Shaw QUALIFIED
Salvatore I CaudyIndiaAmy Elsner RENEWAL
Sinclair L ShinkoCanadaAmy Elsner NEW
Antonio O PerinRussiaElwin Sharvill NEW
David P IturbideGermanyOnyama Limba UNQUALIFIED
Mujtaba M PerinGermanyElwin Sharvill NEW
Ivar Q BologniaJapanAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio T DilliardJapanStephen Shaw RENEWAL
Greenwood T ShinkoAustraliaStephen Shaw NEGOTIATION
Wickens O FollerGermanyXuxue Feng QUALIFIED
Deepesh C PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Emily U SergiIndiaIvan Magalhaes UNQUALIFIED
Smith Z RimCanadaAmy Elsner UNQUALIFIED
David M FerenczUnited KingdomIvan Magalhaes QUALIFIED
Kadeem Z MarrierSpainBernardo Dominic PROPOSAL
Julie E NickaItalyAsiya Javayant QUALIFIED
Leja O TollnerArgentinaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley V TollnerCanada2026-08-28Chemel, James L Cpa NEW74Stephen Shaw
1001Claire N ButtGermany2026-09-06Chanay, Jeffrey A Esq RENEWAL68Amy Elsner
1002Leon R ChuiIndia2026-09-20Feiner Bros QUALIFIED76Stephen Shaw
1003Deepesh Y PoquetteCanada2026-09-10Rousseaux, Michael Esq NEW73Onyama Limba
1004Emily E DilliardUnited Kingdom2026-09-14Chemel, James L Cpa UNQUALIFIED94Anna Fali
1005Jennifer M ButtFrance2026-09-12Buckley Miller Wright QUALIFIED57Amy Elsner
1006Silvio P BologniaArgentina2026-09-16Printing Dimensions NEW23Anna Fali
1007Alejandro O CaudyItaly2026-09-01King, Christopher A Esq UNQUALIFIED72Elwin Sharvill
1008Morrow E RutaFrance2026-09-05Truhlar And Truhlar Attys NEW26Elwin Sharvill
1009Adams Q FigeroaBrazil2026-08-27Rousseaux, Michael Esq NEW98Ioni Bowcher
1010Salvatore N ShinkoSpain2026-09-02Printing Dimensions NEW12Anna Fali
1011Mayumi Q InouyeIndia2026-09-01Truhlar And Truhlar Attys PROPOSAL65Bernardo Dominic
1012Greenwood E BowleyArgentina2026-09-14Dorl, James J Esq PROPOSAL63Elwin Sharvill
1013Aruna T NestleIndia2026-09-24Feltz Printing Service NEW49Amy Elsner
1014David A SergiItaly2026-09-17Feltz Printing Service PROPOSAL57Asiya Javayant
1015Antonio V MarrierCanada2026-09-03Truhlar And Truhlar Attys NEW24Stephen Shaw
1016Costa O RoysterCanada2026-09-05Feltz Printing Service QUALIFIED2Stephen Shaw
1017Izzy N SergiCanada2026-08-30Printing Dimensions PROPOSAL40Asiya Javayant
1018Clifford A TollnerUnited Kingdom2026-09-13Chanay, Jeffrey A Esq NEGOTIATION63Asiya Javayant
1019Maisha M OstroskySpain2026-09-14Dorl, James J Esq QUALIFIED42Asiya Javayant
1020Leja O ChuiIndia2026-09-22Chemel, James L Cpa NEGOTIATION63Bernardo Dominic
1021Juan F MacleadSpain2026-09-02Buckley Miller Wright PROPOSAL67Xuxue Feng
1022Salvatore G MarrierUnited Kingdom2026-09-22Chemel, James L Cpa UNQUALIFIED16Ivan Magalhaes
1023Maisha R SergiItaly2026-09-07Commercial Press NEW73Onyama Limba
1024Aditya V PaprockiBrazil2026-08-28Benton, John B Jr NEW45Stephen Shaw
1025Johnson O FollerRussia2026-09-02Chanay, Jeffrey A Esq PROPOSAL63Asiya Javayant
1026Darci X GauchoAustralia2026-09-05Commercial Press PROPOSAL11Stephen Shaw
1027Sinclair Q OldroydArgentina2026-08-28Buckley Miller Wright UNQUALIFIED25Anna Fali
1028Ricardo A WieserGermany2026-09-07Printing Dimensions NEGOTIATION1Ivan Magalhaes
1029Salvatore B SaylorsIndia2026-08-27Printing Dimensions UNQUALIFIED88Stephen Shaw
1030Leja Z WieserArgentina2026-09-08Rousseaux, Michael Esq QUALIFIED18Ioni Bowcher
1031Kadeem Q WhobreyAustralia2026-08-30Printing Dimensions NEGOTIATION33Ioni Bowcher
1032Mayumi P MaletFrance2026-09-08Dorl, James J Esq QUALIFIED18Elwin Sharvill
1033Rodrigues T SchemmerBrazil2026-09-17Chapman, Ross E Esq UNQUALIFIED87Onyama Limba
1034Leja Y MarrierIndia2026-09-05Printing Dimensions UNQUALIFIED66Bernardo Dominic
1035Alejandro Z GillianBrazil2026-08-31Chemel, James L Cpa QUALIFIED69Stephen Shaw
1036Sinclair V NickaSpain2026-08-30Feiner Bros UNQUALIFIED62Elwin Sharvill
1037Julie N GlickIndia2026-09-01Feiner Bros NEGOTIATION86Onyama Limba
1038Johnson M IturbideCanada2026-09-24Feltz Printing Service NEGOTIATION59Anna Fali
1039Smith M NestleUnited Kingdom2026-09-16Dorl, James J Esq UNQUALIFIED47Stephen Shaw
1040Leon Z StockhamSpain2026-09-13Feiner Bros RENEWAL93Elwin Sharvill
1041Julie E ChuiIndia2026-09-16Morlong Associates NEGOTIATION21Asiya Javayant
1042Smith Z StensethRussia2026-09-12Buckley Miller Wright NEW2Onyama Limba
1043Jennifer X DoeUnited Kingdom2026-09-04Chemel, James L Cpa UNQUALIFIED67Bernardo Dominic
1044Jeanfrancois L DoeCanada2026-09-06Chemel, James L Cpa NEGOTIATION59Xuxue Feng
1045Wickens U GlickCanada2026-09-07Benton, John B Jr NEGOTIATION19Stephen Shaw
1046Ivar B VocelkaSpain2026-09-13Buckley Miller Wright RENEWAL86Elwin Sharvill
1047David J CampainIndia2026-09-12King, Christopher A Esq PROPOSAL46Xuxue Feng
1048Kadeem O OstroskyAustralia2026-09-20Benton, John B Jr NEGOTIATION29Anna Fali
1049Aika X MaletArgentina2026-09-21Morlong Associates NEGOTIATION71Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba M DilliardBrazilAnna Fali RENEWAL
Jones N GauchoBrazilIoni Bowcher UNQUALIFIED
Sinclair I FerenczBrazilAnna Fali UNQUALIFIED
Murillo G SlusarskiSpainElwin Sharvill NEGOTIATION
Alejandro O KolmetzBrazilXuxue Feng QUALIFIED
Isabel P GarufiJapanIvan Magalhaes RENEWAL
Jefferson F VenereJapanStephen Shaw NEW
Johnson Z WaycottIndiaXuxue Feng PROPOSAL
James B StensethItalyIoni Bowcher QUALIFIED
Emily Q VocelkaAustraliaAnna Fali UNQUALIFIED
Ivar C BologniaFranceAnna Fali NEGOTIATION
Clifford B StockhamRussiaAsiya Javayant QUALIFIED
Ashley K AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Leja Z SchemmerSpainAnna Fali NEW
Murillo L KolmetzItalyIvan Magalhaes NEGOTIATION
Julie O TollnerSpainXuxue Feng NEW
Octavia G SergiCanadaOnyama Limba RENEWAL
Adams Z BowleyGermanyXuxue Feng NEW
David U MacleadAustraliaAmy Elsner NEW
Jennifer O FlosiCanadaStephen Shaw UNQUALIFIED
Clifford J RutaGermanyAsiya Javayant RENEWAL
Costa H InouyeSpainIoni Bowcher UNQUALIFIED
Munro J WaycottArgentinaAsiya Javayant UNQUALIFIED
Aika Y AmigonItalyElwin Sharvill UNQUALIFIED
Rodrigues M MacleadFranceElwin Sharvill NEGOTIATION
Mujtaba N DoeBrazilOnyama Limba UNQUALIFIED
Tony O GlickAustraliaAmy Elsner QUALIFIED
Morrow W CampainGermanyElwin Sharvill QUALIFIED
Octavia L AmigonFranceOnyama Limba NEGOTIATION
Nicolas V VocelkaCanadaAmy Elsner NEW
Arvin F CampainFranceXuxue Feng NEW
Costa L RoysterCanadaAsiya Javayant NEGOTIATION
Octavia E ButtIndiaAsiya Javayant NEGOTIATION
Octavia E CaudyUnited KingdomOnyama Limba NEW
Stacey J MarrierJapanIoni Bowcher QUALIFIED
Rodrigues T RutaGermanyElwin Sharvill QUALIFIED
Rodrigues W MaletUnited KingdomStephen Shaw NEW
Aditya B NickaFranceElwin Sharvill QUALIFIED
Juan R NickaAustraliaAmy Elsner QUALIFIED
Jennifer A DarakjyIndiaIvan Magalhaes NEW
Leon S SergiSpainBernardo Dominic RENEWAL
Aika Z StensethUnited KingdomElwin Sharvill UNQUALIFIED
Silvio D ButtArgentinaElwin Sharvill UNQUALIFIED
Silvio X GlickGermanyBernardo Dominic PROPOSAL
Tony W PaprockiRussiaIoni Bowcher PROPOSAL
Smith S KolmetzGermanyAsiya Javayant UNQUALIFIED
Mayumi N DoeUnited KingdomStephen Shaw UNQUALIFIED
Chavez B WieserCanadaAnna Fali NEGOTIATION
Isabel M MaletRussiaAsiya Javayant QUALIFIED
Cody E WaycottGermanyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
David C Maclead
Rodrigues T Butt
Arvin Q Perin
David T Doe
Morrow V Inouye
James C Nestle
Ricardo O Doe
Nicolas E Schemmer
Smith V Stenseth
Mujtaba J Sergi
Silvio I Ruta
Jeanfrancois B Foller
Octavia Y Garufi
Octavia D Gaucho
Kadeem J Poquette
Antonio J Doe
Kaitlin Q Perin
Emily P Garufi
Darci P Darakjy
David S Oldroyd
Deepesh I Royster
Ashley F Glick
Deepesh F Gillian
Johnson N Kolmetz
Silvio C Nestle
James D Wieser
Costa X Ferencz
Aika D Stenseth
Tony C Schemmer
Leon C Tollner
Clifford A Poquette
David J Butt
Chavez Z Darakjy
Deepesh T Rulapaugh
Aditya A Slusarski
Tony P Kusko
Mayumi V Iturbide
Alejandro G Bowley
Mayumi Q Whobrey
Maria L Nicka
Wickens Z Butt
Costa M Malet
James Y Marrier
Ashley D Flosi
Juan P Rulapaugh
James P Dilliard
Arvin D Shinko
Ivar V Perin
Mujtaba E Perin
Aditya M Nestle
IdCountryDate
1000Russia2026-08-28
1001India2026-09-23
1002France2026-09-07
1003France2026-09-09
1004Russia2026-09-17
1005Spain2026-09-01
1006India2026-09-22
1007Spain2026-09-14
1008France2026-09-12
1009Canada2026-08-29
1010Australia2026-09-07
1011Spain2026-09-15
1012Germany2026-09-11
1013France2026-08-31
1014Germany2026-09-17
1015India2026-09-08
1016Russia2026-09-04
1017Russia2026-08-27
1018Argentina2026-09-24
1019Spain2026-09-03
1020Brazil2026-08-29
1021Italy2026-09-01
1022Spain2026-09-22
1023Argentina2026-09-15
1024India2026-09-05
1025Brazil2026-09-15
1026Italy2026-09-04
1027United Kingdom2026-09-09
1028Japan2026-09-08
1029Argentina2026-08-27
1030Japan2026-09-03
1031Brazil2026-09-10
1032Canada2026-09-13
1033Australia2026-09-23
1034Germany2026-09-15
1035Argentina2026-09-17
1036Germany2026-09-24
1037Australia2026-09-10
1038Japan2026-08-30
1039Brazil2026-09-04
1040Argentina2026-09-23
1041France2026-09-02
1042Spain2026-09-12
1043Australia2026-09-04
1044United Kingdom2026-08-31
1045Italy2026-09-13
1046Germany2026-09-12
1047United Kingdom2026-08-29
1048Argentina2026-09-15
1049Australia2026-09-05

On-Demand Data

NameIdCountryDate
Darci I Malet1000Argentina2026-09-17
Arvin Z Poquette1001Canada2026-09-16
Emily D Dilliard1002Spain2026-09-18
Aruna M Shinko1003Spain2026-09-12
Smith O Schemmer1004United Kingdom2026-09-13
Francesco C Poquette1005Japan2026-09-03
Isabel U Perin1006Japan2026-09-22
Francesco K Wieser1007Spain2026-09-20
Johnson A Rim1008United Kingdom2026-09-14
Cody L Darakjy1009Canada2026-09-05
Wickens K Rulapaugh1010Canada2026-09-23
Maisha K Rulapaugh1011Russia2026-09-14
Costa M Ferencz1012Canada2026-08-30
Mujtaba E Poquette1013Australia2026-09-12
Smith S Schemmer1014United Kingdom2026-09-12
Chavez Z Foller1015Australia2026-09-23
Alejandro E Whobrey1016Canada2026-09-01
Ashley P Bolognia1017United Kingdom2026-09-13
Ivar K Bolognia1018India2026-09-23
Murillo J Vocelka1019France2026-08-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo V MacleadJapanBernardo Dominic NEW
Ivar B MaletAustraliaElwin Sharvill RENEWAL
Jeanfrancois I DoeAustraliaAmy Elsner NEGOTIATION
Clifford O FigeroaAustraliaAmy Elsner NEW
Darci O MaletArgentinaBernardo Dominic RENEWAL
Nicolas P GlickIndiaAsiya Javayant NEGOTIATION
Murillo B RulapaughFranceAmy Elsner PROPOSAL
Aditya E AmigonItalyIvan Magalhaes UNQUALIFIED
Costa J MarrierArgentinaBernardo Dominic NEGOTIATION
Aditya B IturbideItalyIvan Magalhaes UNQUALIFIED
Jennifer Z DarakjyArgentinaStephen Shaw NEW
Maria H StensethAustraliaIvan Magalhaes NEW
Jennifer W VocelkaItalyElwin Sharvill NEW
Murillo H NickaAustraliaIoni Bowcher NEGOTIATION
Munro D BologniaFranceAmy Elsner PROPOSAL
David A FigeroaSpainStephen Shaw UNQUALIFIED
Mayumi J GarufiItalyIvan Magalhaes NEW
Julie J BriddickCanadaIoni Bowcher NEW
Arvin Q ButtCanadaAnna Fali RENEWAL
David V TollnerRussiaAnna Fali NEGOTIATION
Munro C OldroydSpainAnna Fali NEW
Adams Y StockhamUnited KingdomAnna Fali PROPOSAL
Jennifer P WieserIndiaOnyama Limba NEGOTIATION
Kadeem V SaylorsItalyAsiya Javayant NEGOTIATION
Ivar Z FlosiBrazilIoni Bowcher QUALIFIED
Aditya U CaldareraArgentinaStephen Shaw NEW
Stacey V FerenczUnited KingdomAnna Fali NEW
Leon R ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Mayumi D WaycottCanadaXuxue Feng NEGOTIATION
Juan I MarrierItalyIvan Magalhaes NEGOTIATION
Tony U TollnerGermanyAnna Fali UNQUALIFIED
Alejandro T KuskoCanadaAsiya Javayant UNQUALIFIED
Julie T VocelkaFranceXuxue Feng UNQUALIFIED
Leon Y DarakjyFranceBernardo Dominic RENEWAL
Faith B AmigonArgentinaOnyama Limba RENEWAL
Stacey G IturbideUnited KingdomStephen Shaw PROPOSAL
Clifford O WieserUnited KingdomElwin Sharvill UNQUALIFIED
Aditya W SchemmerJapanOnyama Limba RENEWAL
Munro Z SlusarskiFranceAnna Fali PROPOSAL
Kadeem F ChuiJapanAsiya Javayant UNQUALIFIED

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