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 B WhobreyRussiaStephen Shaw NEW
Aika M KuskoBrazilOnyama Limba NEW
Jeanfrancois K FigeroaAustraliaStephen Shaw UNQUALIFIED
Misaki F PoquetteArgentinaIoni Bowcher NEW
Tony Q FlosiArgentinaStephen Shaw NEGOTIATION
David D CampainAustraliaAnna Fali PROPOSAL
Aika Q MacleadIndiaElwin Sharvill NEW
Ricardo B OstroskyArgentinaAsiya Javayant PROPOSAL
Isabel H VocelkaFranceIoni Bowcher NEGOTIATION
Julie Z StensethFranceIoni Bowcher QUALIFIED
Stacey J BologniaGermanyAnna Fali NEGOTIATION
Adams G GauchoUnited KingdomAmy Elsner NEGOTIATION
Octavia O DilliardFranceAsiya Javayant NEW
Alejandro I PoquetteIndiaIoni Bowcher RENEWAL
Antonio O DarakjySpainStephen Shaw NEW
Darci J NickaGermanyBernardo Dominic UNQUALIFIED
Aika M DarakjyUnited KingdomBernardo Dominic NEW
Antonio J SchemmerBrazilBernardo Dominic QUALIFIED
Maisha H MaletRussiaIvan Magalhaes QUALIFIED
Smith J PaprockiSpainIvan Magalhaes UNQUALIFIED
Sinclair L RimRussiaOnyama Limba NEW
Munro H RulapaughBrazilAsiya Javayant NEGOTIATION
Claire Q GarufiUnited KingdomOnyama Limba UNQUALIFIED
Ivar D TollnerBrazilStephen Shaw PROPOSAL
Isabel T CaldareraAustraliaAnna Fali PROPOSAL
Ivar I KuskoItalyAnna Fali PROPOSAL
Munro Y AmigonFranceStephen Shaw UNQUALIFIED
David J MaletItalyIvan Magalhaes NEW
Murillo H MaletGermanyXuxue Feng UNQUALIFIED
Tony C PaprockiUnited KingdomElwin Sharvill RENEWAL
Adams L FlosiUnited KingdomStephen Shaw NEGOTIATION
Maria P ChuiAustraliaAmy Elsner PROPOSAL
Aruna V VenereRussiaOnyama Limba NEW
Alejandro T SaylorsGermanyStephen Shaw UNQUALIFIED
Murillo S RutaSpainIvan Magalhaes PROPOSAL
James G DoeRussiaAnna Fali NEGOTIATION
Silvio Y PoquetteFranceBernardo Dominic NEW
Antonio N CaldareraGermanyIoni Bowcher RENEWAL
Juan N NickaArgentinaElwin Sharvill RENEWAL
Mujtaba S KolmetzUnited KingdomIoni Bowcher PROPOSAL
Ricardo S TollnerRussiaElwin Sharvill PROPOSAL
Emily E WieserArgentinaXuxue Feng RENEWAL
Smith F RulapaughJapanOnyama Limba NEW
Aditya E RulapaughIndiaStephen Shaw PROPOSAL
Jennifer X GarufiFranceStephen Shaw RENEWAL
Kaitlin G AlbaresBrazilIvan Magalhaes NEGOTIATION
Maria K CaudyUnited KingdomXuxue Feng QUALIFIED
Arvin Q GarufiItalyAmy Elsner UNQUALIFIED
Jennifer U ChuiItalyXuxue Feng NEGOTIATION
Munro Z NickaRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer A CaldareraGermanyAmy Elsner RENEWAL
Ivar D GauchoRussiaBernardo Dominic QUALIFIED
James O CaudyAustraliaAnna Fali UNQUALIFIED
Adams A VocelkaFranceOnyama Limba PROPOSAL
Johnson O RulapaughBrazilElwin Sharvill PROPOSAL
Maisha V VocelkaAustraliaOnyama Limba QUALIFIED
Rodrigues E InouyeIndiaAsiya Javayant UNQUALIFIED
Aika Y TollnerArgentinaIoni Bowcher PROPOSAL
Antonio A KuskoGermanyStephen Shaw RENEWAL
Wickens R MaletGermanyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha H WaycottJapan2026-09-20Chemel, James L Cpa NEW56Amy Elsner
1001Tony J ChuiItaly2026-09-17Commercial Press UNQUALIFIED55Ivan Magalhaes
1002Clifford C WieserItaly2026-09-21Rousseaux, Michael Esq UNQUALIFIED45Bernardo Dominic
1003Munro D RoysterCanada2026-08-31Rangoni Of Florence UNQUALIFIED97Anna Fali
1004Wickens W SlusarskiIndia2026-09-22King, Christopher A Esq PROPOSAL39Onyama Limba
1005Jones W AmigonFrance2026-09-06Chapman, Ross E Esq UNQUALIFIED14Anna Fali
1006James R VocelkaBrazil2026-09-16Rangoni Of Florence RENEWAL41Xuxue Feng
1007Mujtaba I PoquetteUnited Kingdom2026-09-12Chemel, James L Cpa PROPOSAL36Anna Fali
1008Alejandro S RoysterFrance2026-09-02Rousseaux, Michael Esq RENEWAL13Asiya Javayant
1009Aruna P TollnerIndia2026-09-24Commercial Press NEGOTIATION84Xuxue Feng
1010Mayumi M StensethRussia2026-09-16Chapman, Ross E Esq QUALIFIED23Anna Fali
1011Izzy O CaudyJapan2026-09-17King, Christopher A Esq NEGOTIATION42Bernardo Dominic
1012Leon P FigeroaUnited Kingdom2026-09-18Rousseaux, Michael Esq RENEWAL47Stephen Shaw
1013Octavia L NickaSpain2026-09-14Commercial Press PROPOSAL33Onyama Limba
1014Murillo M PerinItaly2026-09-20Chapman, Ross E Esq UNQUALIFIED57Anna Fali
1015Silvio O CaldareraJapan2026-09-23Feltz Printing Service QUALIFIED11Onyama Limba
1016Arvin F WhobreyRussia2026-09-15Chapman, Ross E Esq PROPOSAL15Elwin Sharvill
1017Deepesh Z PaprockiBrazil2026-09-19Feltz Printing Service PROPOSAL58Asiya Javayant
1018Costa Q PoquetteBrazil2026-09-23King, Christopher A Esq UNQUALIFIED87Amy Elsner
1019Salvatore N KolmetzCanada2026-08-27Buckley Miller Wright NEW51Xuxue Feng
1020Izzy T ShinkoUnited Kingdom2026-09-17Printing Dimensions QUALIFIED98Ivan Magalhaes
1021Jennifer V SaylorsCanada2026-09-07King, Christopher A Esq QUALIFIED44Bernardo Dominic
1022Izzy U BowleyCanada2026-09-08Morlong Associates RENEWAL74Elwin Sharvill
1023James U CaudyJapan2026-08-31Feiner Bros UNQUALIFIED96Ivan Magalhaes
1024Smith B DoeRussia2026-09-10Rousseaux, Michael Esq NEW27Asiya Javayant
1025Tony E TollnerAustralia2026-09-15Feltz Printing Service QUALIFIED91Onyama Limba
1026Salvatore P VocelkaIndia2026-09-16Chapman, Ross E Esq RENEWAL0Elwin Sharvill
1027Julie J BowleyCanada2026-09-15King, Christopher A Esq NEW58Ivan Magalhaes
1028Kadeem B GillianJapan2026-09-10Commercial Press QUALIFIED97Amy Elsner
1029Ricardo I IturbideUnited Kingdom2026-09-08King, Christopher A Esq RENEWAL95Bernardo Dominic
1030Chavez O PaprockiAustralia2026-09-18Rangoni Of Florence QUALIFIED38Bernardo Dominic
1031Salvatore D SlusarskiBrazil2026-08-30Chapman, Ross E Esq RENEWAL57Anna Fali
1032Maria B MaletRussia2026-09-08Rousseaux, Michael Esq PROPOSAL10Ivan Magalhaes
1033Maisha L FollerGermany2026-09-25Commercial Press RENEWAL6Anna Fali
1034Francesco D CaldareraSpain2026-09-01Morlong Associates NEGOTIATION2Amy Elsner
1035Mayumi R MorascaItaly2026-09-06Rousseaux, Michael Esq NEW97Elwin Sharvill
1036Tony S MorascaCanada2026-08-27Truhlar And Truhlar Attys UNQUALIFIED48Onyama Limba
1037Kaitlin X SlusarskiItaly2026-09-07Printing Dimensions UNQUALIFIED44Stephen Shaw
1038Aika I RimBrazil2026-09-17Dorl, James J Esq UNQUALIFIED48Ivan Magalhaes
1039Ashley Y InouyeUnited Kingdom2026-09-03Feltz Printing Service RENEWAL4Asiya Javayant
1040Kaitlin D ChuiFrance2026-09-24Commercial Press PROPOSAL38Anna Fali
1041Jeanfrancois W DilliardRussia2026-09-25Feiner Bros NEW82Elwin Sharvill
1042Emily K GillianRussia2026-09-24Morlong Associates NEW71Elwin Sharvill
1043Johnson A StensethCanada2026-08-29Rousseaux, Michael Esq NEW13Asiya Javayant
1044Leon L CaudyFrance2026-08-27Chapman, Ross E Esq NEGOTIATION40Xuxue Feng
1045Leja T SlusarskiRussia2026-09-17Dorl, James J Esq RENEWAL89Asiya Javayant
1046Wickens G MaletSpain2026-09-12Chemel, James L Cpa UNQUALIFIED80Onyama Limba
1047Johnson X CampainBrazil2026-08-27Chemel, James L Cpa QUALIFIED80Xuxue Feng
1048Jones N ShinkoUnited Kingdom2026-09-19Chemel, James L Cpa NEW65Onyama Limba
1049Leja C KuskoCanada2026-09-08Buckley Miller Wright NEW25Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Misaki W VenereCanadaAsiya Javayant RENEWAL
Leja J ShinkoJapanOnyama Limba NEGOTIATION
Chavez X GillianSpainOnyama Limba NEGOTIATION
Jennifer Q MarrierSpainXuxue Feng NEGOTIATION
Claire M TollnerSpainAnna Fali UNQUALIFIED
Johnson D GlickJapanStephen Shaw RENEWAL
Deepesh K MaletFranceAmy Elsner RENEWAL
James Q GarufiSpainStephen Shaw NEGOTIATION
David W PaprockiJapanXuxue Feng RENEWAL
Darci U MaletBrazilIvan Magalhaes RENEWAL
Deepesh L MaletUnited KingdomIoni Bowcher QUALIFIED
Jones C BowleyJapanAsiya Javayant UNQUALIFIED
David X SergiItalyAmy Elsner UNQUALIFIED
Darci L StensethBrazilXuxue Feng QUALIFIED
Maisha J MacleadRussiaIvan Magalhaes RENEWAL
Jennifer N FigeroaCanadaXuxue Feng NEW
Cody O GlickUnited KingdomStephen Shaw QUALIFIED
Julie N KuskoGermanyStephen Shaw NEGOTIATION
Claire G GarufiJapanBernardo Dominic NEGOTIATION
Clifford F SchemmerArgentinaAmy Elsner QUALIFIED
Sinclair W MacleadItalyIoni Bowcher NEGOTIATION
Stacey E MorascaCanadaAnna Fali NEGOTIATION
Jennifer W FerenczBrazilOnyama Limba RENEWAL
Arvin F BologniaIndiaStephen Shaw QUALIFIED
Leja M PaprockiSpainIvan Magalhaes QUALIFIED
Izzy F BowleyIndiaAmy Elsner NEW
Morrow T AmigonGermanyBernardo Dominic RENEWAL
Costa O BowleyFranceAnna Fali UNQUALIFIED
Juan H GillianGermanyStephen Shaw QUALIFIED
Aika R SchemmerSpainOnyama Limba RENEWAL
Faith B WaycottArgentinaXuxue Feng QUALIFIED
Jennifer F FollerUnited KingdomElwin Sharvill NEW
Ashley I RutaBrazilOnyama Limba PROPOSAL
Jeanfrancois U RutaFranceAmy Elsner NEW
Jennifer K PerinIndiaIoni Bowcher QUALIFIED
Johnson J IturbideArgentinaIvan Magalhaes NEGOTIATION
Faith N PaprockiAustraliaXuxue Feng NEW
Silvio M AlbaresGermanyAmy Elsner RENEWAL
Salvatore P WieserIndiaIvan Magalhaes PROPOSAL
Leja A VenereArgentinaOnyama Limba PROPOSAL
Johnson V RulapaughGermanyBernardo Dominic UNQUALIFIED
Misaki N ButtIndiaXuxue Feng NEGOTIATION
Deepesh P KolmetzJapanStephen Shaw NEGOTIATION
David I MacleadRussiaBernardo Dominic NEW
Sinclair U DilliardFranceOnyama Limba PROPOSAL
Wickens W BologniaItalyAsiya Javayant NEGOTIATION
Kaitlin O CampainArgentinaElwin Sharvill NEW
Claire G AlbaresFranceAsiya Javayant PROPOSAL
Salvatore T RoysterUnited KingdomIoni Bowcher NEW
Deepesh B MarrierItalyAmy Elsner QUALIFIED
Frozen Columns
Name
Morrow I Nicka
Misaki O Doe
Nicolas E Flosi
Arvin X Inouye
Aruna C Nestle
Deepesh W Foller
James R Wieser
Johnson M Whobrey
Cody L Vocelka
Jennifer S Poquette
Greenwood P Stenseth
Julie O Ferencz
Deepesh F Waycott
James U Malet
Francesco D Rim
Ricardo Q Garufi
Greenwood J Malet
Alejandro J Dilliard
Wickens R Butt
Johnson P Bolognia
Aika N Sergi
Ashley J Chui
Misaki E Campain
Aika V Caudy
Julie T Foller
Jones V Caudy
Smith S Dilliard
Aditya V Foller
Ricardo G Oldroyd
Jones C Bolognia
Clifford M Sergi
Claire M Kolmetz
Ivar E Stenseth
James K Garufi
Ashley X Stockham
Silvio M Maclead
Chavez J Poquette
Tony V Nicka
Julie M Doe
Costa W Morasca
Munro W Marrier
Claire H Tollner
James J Vocelka
Aditya P Venere
Izzy U Iturbide
Jones B Briddick
Octavia X Bowley
Claire Z Morasca
Clifford A Morasca
Faith I Royster
IdCountryDate
1000Russia2026-09-03
1001Japan2026-09-06
1002France2026-09-09
1003Australia2026-09-25
1004Australia2026-09-20
1005Canada2026-08-31
1006Italy2026-09-21
1007Australia2026-09-06
1008France2026-09-03
1009Canada2026-09-22
1010Italy2026-09-07
1011Russia2026-08-27
1012Japan2026-09-14
1013Italy2026-09-09
1014United Kingdom2026-08-27
1015Spain2026-09-03
1016Canada2026-09-18
1017United Kingdom2026-09-14
1018Brazil2026-09-21
1019Brazil2026-09-25
1020Russia2026-09-11
1021India2026-08-28
1022Argentina2026-09-22
1023Russia2026-09-05
1024Spain2026-08-30
1025Japan2026-08-27
1026Japan2026-09-04
1027Australia2026-09-23
1028Germany2026-09-10
1029Russia2026-09-14
1030Italy2026-09-22
1031Argentina2026-09-21
1032United Kingdom2026-08-31
1033France2026-09-05
1034Canada2026-09-22
1035France2026-09-07
1036Italy2026-09-22
1037Australia2026-09-05
1038Russia2026-09-18
1039Russia2026-09-13
1040Japan2026-09-16
1041Brazil2026-09-03
1042India2026-09-24
1043Brazil2026-09-16
1044Argentina2026-09-18
1045Germany2026-09-24
1046Japan2026-09-17
1047Argentina2026-09-10
1048Russia2026-09-11
1049Italy2026-09-15

On-Demand Data

NameIdCountryDate
Alejandro V Malet1000Argentina2026-09-25
David V Albares1001Japan2026-08-30
Chavez N Slusarski1002Germany2026-09-10
Arvin R Marrier1003Canada2026-08-29
Kadeem V Stockham1004Russia2026-09-22
Sinclair K Schemmer1005Japan2026-09-18
James N Ostrosky1006Australia2026-09-24
Stacey O Foller1007Australia2026-09-03
Cody Y Campain1008Australia2026-09-11
Ricardo C Stockham1009Argentina2026-09-13
Silvio W Rim1010Italy2026-09-10
Smith Y Foller1011Russia2026-09-03
Ivar L Dilliard1012Spain2026-08-29
Claire P Malet1013Italy2026-08-27
Maria Q Figeroa1014Germany2026-09-23
Deepesh Y Campain1015France2026-09-07
Wickens U Ferencz1016France2026-08-29
Morrow G Gaucho1017Italy2026-09-13
Juan P Saylors1018Argentina2026-09-18
James Q Ruta1019Brazil2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo D ButtSpainIvan Magalhaes RENEWAL
Murillo H MacleadSpainOnyama Limba RENEWAL
Cody L NickaGermanyAsiya Javayant UNQUALIFIED
Jennifer J SchemmerAustraliaAmy Elsner NEGOTIATION
Juan T BriddickSpainAnna Fali RENEWAL
Chavez J SlusarskiRussiaOnyama Limba UNQUALIFIED
Munro B IturbideAustraliaElwin Sharvill QUALIFIED
Francesco G DarakjySpainOnyama Limba RENEWAL
Mayumi P StockhamCanadaAmy Elsner NEGOTIATION
Maria E SchemmerBrazilIvan Magalhaes RENEWAL
Jones P KuskoIndiaElwin Sharvill NEW
Jennifer C FigeroaArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois K RimJapanOnyama Limba NEW
Tony N ShinkoUnited KingdomAsiya Javayant RENEWAL
Juan H FerenczIndiaAnna Fali RENEWAL
Kaitlin Y MaletIndiaXuxue Feng QUALIFIED
Silvio G ButtSpainOnyama Limba NEGOTIATION
Clifford G GarufiArgentinaElwin Sharvill NEGOTIATION
Mayumi T MorascaRussiaAnna Fali QUALIFIED
Maria A FollerFranceAnna Fali UNQUALIFIED
Faith J InouyeBrazilBernardo Dominic QUALIFIED
Alejandro H CaldareraArgentinaBernardo Dominic RENEWAL
Faith L ChuiArgentinaAnna Fali RENEWAL
Ricardo W NickaAustraliaXuxue Feng PROPOSAL
Jefferson F CampainCanadaAmy Elsner RENEWAL
Deepesh I IturbideUnited KingdomAsiya Javayant QUALIFIED
Misaki O DoeCanadaBernardo Dominic NEW
Deepesh G DoeJapanIoni Bowcher NEGOTIATION
Isabel J InouyeCanadaElwin Sharvill UNQUALIFIED
Claire B BowleyRussiaElwin Sharvill NEGOTIATION
Aruna G DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Chavez U SergiIndiaBernardo Dominic RENEWAL
Alejandro P CaldareraFranceIvan Magalhaes UNQUALIFIED
Francesco U StockhamAustraliaIoni Bowcher QUALIFIED
Ashley C RimIndiaIoni Bowcher RENEWAL
Morrow I MaletUnited KingdomXuxue Feng QUALIFIED
Maisha F MacleadItalyElwin Sharvill QUALIFIED
Ivar E VenereItalyAmy Elsner QUALIFIED
Adams Y AmigonArgentinaBernardo Dominic NEGOTIATION
Salvatore S OldroydIndiaAsiya Javayant 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>