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
Aika X DoeRussiaAsiya Javayant NEW
Jeanfrancois D RutaRussiaAmy Elsner QUALIFIED
Kadeem M ShinkoUnited KingdomAmy Elsner NEGOTIATION
Maria A VocelkaCanadaBernardo Dominic PROPOSAL
Costa M CaldareraSpainIoni Bowcher QUALIFIED
David W MaletAustraliaXuxue Feng RENEWAL
Jennifer K WaycottItalyIoni Bowcher PROPOSAL
Rodrigues N OstroskyArgentinaIoni Bowcher RENEWAL
Mujtaba O MaletJapanOnyama Limba QUALIFIED
Francesco Z IturbideFranceOnyama Limba NEGOTIATION
Juan P GillianBrazilIvan Magalhaes PROPOSAL
Leon N FlosiArgentinaAsiya Javayant UNQUALIFIED
Tony U StensethBrazilElwin Sharvill RENEWAL
Chavez G MacleadJapanXuxue Feng QUALIFIED
Mujtaba M RimItalyAnna Fali RENEWAL
Ashley T MorascaRussiaBernardo Dominic NEGOTIATION
Clifford D VocelkaRussiaAnna Fali RENEWAL
Sinclair X PaprockiJapanBernardo Dominic NEW
Claire Y SaylorsGermanyAsiya Javayant QUALIFIED
Deepesh J CampainJapanStephen Shaw QUALIFIED
Julie E WaycottIndiaAsiya Javayant QUALIFIED
Ivar L DoeItalyIvan Magalhaes NEGOTIATION
Mayumi B GarufiJapanAmy Elsner PROPOSAL
Julie E SergiSpainElwin Sharvill UNQUALIFIED
Maisha B TollnerItalyIoni Bowcher UNQUALIFIED
Tony K OstroskySpainOnyama Limba QUALIFIED
Leja Z GlickBrazilOnyama Limba QUALIFIED
Kadeem K OstroskySpainBernardo Dominic PROPOSAL
Cody T ChuiCanadaElwin Sharvill QUALIFIED
Leja W WieserArgentinaStephen Shaw UNQUALIFIED
Kadeem Z CaldareraAustraliaBernardo Dominic NEW
Antonio O FigeroaBrazilOnyama Limba NEGOTIATION
Johnson Z GauchoAustraliaStephen Shaw NEGOTIATION
Smith J MarrierFranceBernardo Dominic UNQUALIFIED
Mayumi V RulapaughJapanIvan Magalhaes NEGOTIATION
Costa H VenereAustraliaBernardo Dominic PROPOSAL
Ashley N FollerGermanyAmy Elsner NEGOTIATION
Stacey F WieserSpainXuxue Feng NEW
David Z BologniaRussiaOnyama Limba NEW
Kadeem H KolmetzRussiaXuxue Feng PROPOSAL
Deepesh L SaylorsJapanStephen Shaw QUALIFIED
Octavia G TollnerRussiaIoni Bowcher PROPOSAL
Wickens I TollnerGermanyOnyama Limba RENEWAL
David F RutaBrazilIvan Magalhaes RENEWAL
Mayumi D GauchoCanadaXuxue Feng PROPOSAL
Wickens W AlbaresArgentinaBernardo Dominic QUALIFIED
Ricardo B ShinkoRussiaStephen Shaw NEGOTIATION
Leon X FerenczGermanyOnyama Limba NEGOTIATION
Misaki S TollnerArgentinaAsiya Javayant QUALIFIED
Salvatore S MaletCanadaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Alejandro C GillianFranceElwin Sharvill NEW
James A SlusarskiJapanStephen Shaw RENEWAL
Ricardo K InouyeAustraliaXuxue Feng NEGOTIATION
Maria V MarrierItalyAnna Fali UNQUALIFIED
Isabel M PerinGermanyAsiya Javayant QUALIFIED
Claire B WieserBrazilIoni Bowcher PROPOSAL
Wickens U MorascaGermanyXuxue Feng NEW
Wickens H WhobreySpainIoni Bowcher NEW
Claire W OldroydRussiaStephen Shaw QUALIFIED
Kaitlin Z SlusarskiSpainAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja V PerinAustralia2026-08-29Feiner Bros QUALIFIED53Elwin Sharvill
1001Deepesh L OstroskyArgentina2026-09-04Chapman, Ross E Esq QUALIFIED85Anna Fali
1002Juan I NickaJapan2026-09-18Chapman, Ross E Esq NEGOTIATION39Onyama Limba
1003Aditya D MacleadFrance2026-09-12Morlong Associates PROPOSAL47Onyama Limba
1004Leon N DarakjyArgentina2026-09-14Rangoni Of Florence RENEWAL71Bernardo Dominic
1005Aditya V SergiIndia2026-09-15Rangoni Of Florence UNQUALIFIED49Asiya Javayant
1006Alejandro T DilliardBrazil2026-09-05King, Christopher A Esq PROPOSAL93Amy Elsner
1007Mujtaba A AmigonSpain2026-09-11King, Christopher A Esq RENEWAL43Asiya Javayant
1008Juan A InouyeArgentina2026-09-17Buckley Miller Wright RENEWAL37Ivan Magalhaes
1009Stacey O NickaRussia2026-09-17Feltz Printing Service NEW44Asiya Javayant
1010Cody W WieserSpain2026-09-18Buckley Miller Wright RENEWAL65Elwin Sharvill
1011Stacey J StensethSpain2026-09-16Commercial Press QUALIFIED17Elwin Sharvill
1012Nicolas A RutaCanada2026-09-18Commercial Press QUALIFIED13Asiya Javayant
1013Jefferson F InouyeSpain2026-09-19Printing Dimensions PROPOSAL7Onyama Limba
1014Misaki U SlusarskiGermany2026-09-08Benton, John B Jr NEGOTIATION61Elwin Sharvill
1015Leja X AlbaresSpain2026-09-08Feltz Printing Service NEGOTIATION46Elwin Sharvill
1016Rodrigues H CampainBrazil2026-09-24Commercial Press PROPOSAL15Onyama Limba
1017Costa K MorascaItaly2026-09-12Chapman, Ross E Esq NEW65Onyama Limba
1018Juan U CaudyJapan2026-09-11Printing Dimensions RENEWAL13Bernardo Dominic
1019Tony C BowleyJapan2026-08-30Feiner Bros PROPOSAL60Xuxue Feng
1020Jones X OstroskyGermany2026-08-27Feltz Printing Service QUALIFIED60Asiya Javayant
1021Aika U MaletRussia2026-09-16Feltz Printing Service QUALIFIED22Stephen Shaw
1022Smith C NestleSpain2026-08-28Truhlar And Truhlar Attys NEW62Stephen Shaw
1023Ashley J RutaBrazil2026-08-28Printing Dimensions PROPOSAL90Bernardo Dominic
1024Alejandro J MorascaIndia2026-08-26Feiner Bros NEGOTIATION59Anna Fali
1025Munro V WhobreyRussia2026-08-29Chemel, James L Cpa UNQUALIFIED56Asiya Javayant
1026Jennifer T BriddickSpain2026-08-30Commercial Press UNQUALIFIED84Onyama Limba
1027Aruna R BologniaBrazil2026-09-03Feltz Printing Service RENEWAL51Onyama Limba
1028Munro A OldroydItaly2026-09-01Truhlar And Truhlar Attys UNQUALIFIED43Asiya Javayant
1029Smith L FollerJapan2026-09-03Chanay, Jeffrey A Esq RENEWAL1Ioni Bowcher
1030Johnson F ChuiRussia2026-09-06Benton, John B Jr RENEWAL20Elwin Sharvill
1031Emily X FlosiIndia2026-09-04Rangoni Of Florence NEW41Xuxue Feng
1032Ricardo E OldroydGermany2026-09-18Morlong Associates UNQUALIFIED84Anna Fali
1033Cody N SchemmerIndia2026-08-30Truhlar And Truhlar Attys QUALIFIED29Xuxue Feng
1034Smith B DoeArgentina2026-09-16Rousseaux, Michael Esq PROPOSAL60Stephen Shaw
1035Octavia N StensethRussia2026-09-21Printing Dimensions RENEWAL47Elwin Sharvill
1036Jeanfrancois I CampainGermany2026-09-16Printing Dimensions QUALIFIED90Amy Elsner
1037Isabel L GillianArgentina2026-08-30Feiner Bros RENEWAL56Bernardo Dominic
1038Stacey T ChuiArgentina2026-08-26Chanay, Jeffrey A Esq NEGOTIATION68Onyama Limba
1039Isabel R BologniaArgentina2026-08-27Truhlar And Truhlar Attys NEW87Bernardo Dominic
1040Salvatore M KuskoCanada2026-09-12Feiner Bros QUALIFIED16Bernardo Dominic
1041Arvin M NestleArgentina2026-08-26Truhlar And Truhlar Attys PROPOSAL79Amy Elsner
1042Munro C DilliardRussia2026-09-10Morlong Associates UNQUALIFIED47Ivan Magalhaes
1043Silvio U SchemmerIndia2026-08-27Chemel, James L Cpa RENEWAL43Onyama Limba
1044Mayumi V KolmetzRussia2026-08-29Rangoni Of Florence QUALIFIED83Onyama Limba
1045Aruna F RulapaughCanada2026-09-21Chanay, Jeffrey A Esq NEGOTIATION79Ivan Magalhaes
1046Jones V DilliardCanada2026-09-16Chanay, Jeffrey A Esq RENEWAL11Asiya Javayant
1047Julie T ChuiRussia2026-09-16Dorl, James J Esq NEW86Ioni Bowcher
1048Tony Y KolmetzItaly2026-09-18Buckley Miller Wright UNQUALIFIED36Xuxue Feng
1049Cody K WieserCanada2026-08-26King, Christopher A Esq UNQUALIFIED45Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Izzy N DilliardUnited KingdomAnna Fali UNQUALIFIED
Murillo Q WhobreyBrazilAmy Elsner NEW
Deepesh A DoeSpainXuxue Feng NEGOTIATION
Jennifer J PoquetteGermanyElwin Sharvill RENEWAL
Costa P BriddickSpainIvan Magalhaes NEW
Murillo M BowleyGermanyXuxue Feng NEW
Aika F BowleyCanadaAnna Fali QUALIFIED
Jones X RutaJapanElwin Sharvill NEGOTIATION
Stacey E WieserArgentinaStephen Shaw NEGOTIATION
Adams Z SaylorsUnited KingdomElwin Sharvill PROPOSAL
Misaki R DilliardRussiaBernardo Dominic NEW
Ivar S FigeroaGermanyOnyama Limba RENEWAL
Greenwood H FollerRussiaIoni Bowcher UNQUALIFIED
Smith J FlosiAustraliaXuxue Feng NEGOTIATION
Izzy L ShinkoFranceStephen Shaw NEGOTIATION
Jennifer U CaldareraSpainBernardo Dominic NEW
Wickens X DilliardRussiaAsiya Javayant UNQUALIFIED
Octavia R VocelkaItalyIvan Magalhaes NEW
Aditya H SergiSpainIvan Magalhaes PROPOSAL
Chavez P ChuiIndiaOnyama Limba UNQUALIFIED
Francesco D ShinkoIndiaIoni Bowcher NEW
Arvin R KuskoJapanAnna Fali RENEWAL
Faith M NickaCanadaIoni Bowcher NEGOTIATION
Claire S FerenczRussiaIoni Bowcher QUALIFIED
Kadeem C BologniaSpainAnna Fali PROPOSAL
James Z ChuiAustraliaBernardo Dominic RENEWAL
Costa G SchemmerCanadaXuxue Feng RENEWAL
Alejandro W OldroydFranceIvan Magalhaes RENEWAL
Ashley R VocelkaArgentinaOnyama Limba PROPOSAL
Ricardo B AmigonAustraliaAsiya Javayant UNQUALIFIED
Wickens L CaldareraArgentinaAsiya Javayant UNQUALIFIED
Kadeem D GauchoFranceXuxue Feng UNQUALIFIED
Octavia S WieserBrazilIoni Bowcher QUALIFIED
Darci U GauchoBrazilElwin Sharvill NEW
Octavia D KuskoRussiaXuxue Feng NEW
Izzy A PaprockiSpainAnna Fali RENEWAL
Aditya X MaletGermanyOnyama Limba NEW
Sinclair T MorascaCanadaAnna Fali NEGOTIATION
Cody F KolmetzCanadaAmy Elsner PROPOSAL
Nicolas B RutaIndiaIvan Magalhaes QUALIFIED
Maria U NickaArgentinaIoni Bowcher QUALIFIED
Kaitlin H WieserSpainXuxue Feng NEW
Salvatore O MorascaAustraliaStephen Shaw RENEWAL
Aika Z RutaArgentinaAmy Elsner QUALIFIED
Cody A InouyeAustraliaAnna Fali QUALIFIED
Octavia J VocelkaJapanElwin Sharvill PROPOSAL
Ashley J OldroydIndiaElwin Sharvill UNQUALIFIED
Aditya B MaletCanadaIoni Bowcher PROPOSAL
Faith E OldroydSpainStephen Shaw UNQUALIFIED
Julie P KuskoUnited KingdomBernardo Dominic NEGOTIATION
Frozen Columns
Name
Misaki Z Vocelka
Smith Z Malet
Izzy Y Butt
Johnson C Iturbide
Antonio Z Butt
Ashley N Amigon
Alejandro T Tollner
Jefferson A Kolmetz
Clifford B Kusko
Kaitlin Z Rulapaugh
Octavia U Flosi
Jefferson I Nestle
Clifford B Chui
Wickens C Nestle
Claire P Sergi
Kaitlin G Caldarera
Ivar H Dilliard
Mayumi N Ruta
Greenwood Y Rim
Maria U Kusko
Claire E Ostrosky
Octavia A Darakjy
Isabel W Saylors
Darci N Rulapaugh
James D Royster
Aika X Royster
Jones L Maclead
Ricardo B Rulapaugh
Aruna T Malet
Silvio J Kusko
Juan Q Caldarera
Tony P Gaucho
Munro B Amigon
Julie K Caldarera
Julie Y Nestle
Alejandro T Morasca
Faith H Saylors
Stacey R Foller
Morrow J Malet
Sinclair C Albares
Octavia D Waycott
Jefferson N Amigon
Smith J Iturbide
Nicolas M Figeroa
Rodrigues G Bolognia
Alejandro U Gaucho
Rodrigues C Oldroyd
Deepesh T Malet
Francesco X Kusko
Costa M Foller
IdCountryDate
1000India2026-09-22
1001Spain2026-09-21
1002Russia2026-09-11
1003Italy2026-09-06
1004Japan2026-09-09
1005Japan2026-09-24
1006Brazil2026-09-20
1007Canada2026-09-07
1008Russia2026-09-02
1009Argentina2026-09-24
1010India2026-09-24
1011Canada2026-09-07
1012Spain2026-09-20
1013Italy2026-09-08
1014United Kingdom2026-09-19
1015Canada2026-09-24
1016Russia2026-08-31
1017Spain2026-09-10
1018France2026-08-29
1019France2026-09-23
1020France2026-09-19
1021France2026-09-12
1022Brazil2026-09-20
1023United Kingdom2026-09-18
1024United Kingdom2026-09-21
1025Australia2026-09-17
1026France2026-09-20
1027Russia2026-09-09
1028Japan2026-09-23
1029Russia2026-09-06
1030France2026-09-02
1031Australia2026-09-07
1032Japan2026-09-03
1033Japan2026-09-17
1034Canada2026-09-19
1035France2026-09-08
1036Germany2026-08-27
1037France2026-09-08
1038France2026-09-23
1039Australia2026-09-06
1040Argentina2026-09-19
1041Canada2026-09-19
1042India2026-09-14
1043United Kingdom2026-09-18
1044Japan2026-09-01
1045Australia2026-09-15
1046France2026-09-24
1047Canada2026-09-21
1048Canada2026-09-22
1049United Kingdom2026-09-15

On-Demand Data

NameIdCountryDate
Aruna M Kolmetz1000Italy2026-08-28
Antonio X Rulapaugh1001Brazil2026-09-19
Isabel N Wieser1002Argentina2026-09-21
Aruna H Ostrosky1003Germany2026-09-21
Mujtaba J Bolognia1004Japan2026-09-21
Emily R Rulapaugh1005France2026-09-22
Kadeem D Albares1006Spain2026-09-08
Stacey L Darakjy1007Spain2026-09-04
Aika F Saylors1008Japan2026-09-23
Darci W Caudy1009United Kingdom2026-09-19
Antonio E Figeroa1010Russia2026-08-28
Kadeem Y Gaucho1011Germany2026-08-31
Jennifer L Schemmer1012Japan2026-09-17
Mayumi L Slusarski1013Australia2026-09-12
Tony C Nicka1014Germany2026-09-08
Chavez Z Stockham1015Brazil2026-09-24
Isabel V Campain1016India2026-09-22
Jennifer R Foller1017India2026-09-17
Chavez M Poquette1018Brazil2026-08-31
Aruna M Bolognia1019Canada2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh R FerenczRussiaAnna Fali UNQUALIFIED
Smith Y WieserUnited KingdomIvan Magalhaes PROPOSAL
Arvin F PoquetteFranceStephen Shaw NEW
Deepesh B StockhamJapanStephen Shaw QUALIFIED
Stacey P BowleyCanadaOnyama Limba RENEWAL
Rodrigues V PaprockiGermanyStephen Shaw PROPOSAL
Cody Y ShinkoItalyAmy Elsner QUALIFIED
Aika W PaprockiArgentinaXuxue Feng NEW
Chavez L SchemmerAustraliaXuxue Feng UNQUALIFIED
Jennifer T MorascaAustraliaAsiya Javayant UNQUALIFIED
James S PoquetteUnited KingdomAmy Elsner NEGOTIATION
Julie N GauchoRussiaStephen Shaw NEW
Smith E PaprockiItalyAmy Elsner QUALIFIED
Aditya Y CampainRussiaOnyama Limba UNQUALIFIED
Maria C FlosiBrazilIoni Bowcher QUALIFIED
Stacey H ChuiBrazilBernardo Dominic QUALIFIED
Aditya O GillianRussiaAnna Fali NEW
Isabel H RulapaughAustraliaAnna Fali NEGOTIATION
Aika O OldroydIndiaStephen Shaw NEGOTIATION
Munro D OldroydItalyBernardo Dominic QUALIFIED
Morrow P SchemmerArgentinaAmy Elsner RENEWAL
Cody I BologniaIndiaAnna Fali NEGOTIATION
Izzy P KolmetzAustraliaIoni Bowcher NEW
Tony Y FerenczUnited KingdomAnna Fali QUALIFIED
Octavia D WhobreyFranceAmy Elsner NEW
Jennifer A FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin A RutaJapanXuxue Feng NEW
Stacey J RulapaughBrazilIoni Bowcher NEW
Jones F FerenczGermanyIoni Bowcher QUALIFIED
Darci T RulapaughArgentinaXuxue Feng RENEWAL
Claire F GauchoGermanyIvan Magalhaes QUALIFIED
Deepesh S BowleyUnited KingdomXuxue Feng PROPOSAL
Greenwood N PaprockiBrazilOnyama Limba UNQUALIFIED
Maisha M BowleyRussiaAnna Fali UNQUALIFIED
Darci Z PaprockiJapanStephen Shaw NEGOTIATION
Aruna B SergiSpainAmy Elsner QUALIFIED
Cody Q CaudyItalyIoni Bowcher NEGOTIATION
Maria P PoquetteAustraliaIvan Magalhaes RENEWAL
Jennifer G GlickArgentinaXuxue Feng NEW
Izzy H KolmetzCanadaOnyama Limba 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>