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
Faith Y MorascaIndiaAnna Fali UNQUALIFIED
Jeanfrancois G DoeItalyStephen Shaw RENEWAL
Jeanfrancois Q FlosiArgentinaAnna Fali NEGOTIATION
Arvin P RoysterUnited KingdomStephen Shaw RENEWAL
Sinclair T VenereIndiaBernardo Dominic RENEWAL
Isabel W PoquetteGermanyIoni Bowcher RENEWAL
Jeanfrancois L StensethItalyBernardo Dominic NEW
David C WieserArgentinaBernardo Dominic RENEWAL
Antonio M ChuiArgentinaAnna Fali QUALIFIED
Faith A AmigonArgentinaOnyama Limba RENEWAL
Izzy K PaprockiGermanyIoni Bowcher UNQUALIFIED
Emily J MaletUnited KingdomAnna Fali NEW
Ivar H BologniaSpainIvan Magalhaes RENEWAL
Tony V KolmetzFranceAnna Fali RENEWAL
Antonio N AmigonArgentinaIoni Bowcher RENEWAL
Mayumi G AmigonUnited KingdomAnna Fali UNQUALIFIED
Morrow D RoysterIndiaOnyama Limba UNQUALIFIED
Arvin C MaletGermanyAnna Fali NEGOTIATION
Leon F AmigonAustraliaIvan Magalhaes RENEWAL
Silvio Z SchemmerSpainXuxue Feng PROPOSAL
Wickens B GarufiSpainElwin Sharvill QUALIFIED
Leja A ButtJapanOnyama Limba PROPOSAL
Mayumi R ShinkoFranceStephen Shaw UNQUALIFIED
Juan B WieserItalyAsiya Javayant NEW
Francesco E FlosiJapanIvan Magalhaes RENEWAL
Julie R RulapaughSpainElwin Sharvill PROPOSAL
Rodrigues W SergiUnited KingdomStephen Shaw QUALIFIED
Tony E SchemmerFranceIoni Bowcher NEW
Adams A RoysterItalyElwin Sharvill PROPOSAL
Nicolas O NestleArgentinaBernardo Dominic NEW
Tony F KolmetzCanadaIvan Magalhaes PROPOSAL
Juan N CaldareraBrazilElwin Sharvill PROPOSAL
Silvio W SlusarskiAustraliaOnyama Limba PROPOSAL
Darci W GlickJapanBernardo Dominic QUALIFIED
Murillo L BowleyFranceXuxue Feng PROPOSAL
Jones D GillianItalyOnyama Limba NEW
Kadeem O SergiJapanStephen Shaw PROPOSAL
Emily E MaletCanadaXuxue Feng RENEWAL
Jones J FlosiCanadaElwin Sharvill QUALIFIED
Isabel D StensethBrazilAmy Elsner NEW
Chavez I PaprockiRussiaAsiya Javayant PROPOSAL
James R GauchoGermanyElwin Sharvill QUALIFIED
Aruna B PaprockiUnited KingdomAsiya Javayant QUALIFIED
Jefferson P ShinkoGermanyAsiya Javayant UNQUALIFIED
Faith T AlbaresRussiaIvan Magalhaes QUALIFIED
Mujtaba V DoeGermanyBernardo Dominic QUALIFIED
Faith X WieserUnited KingdomIoni Bowcher NEW
Aika M GauchoJapanXuxue Feng QUALIFIED
Darci M PoquetteJapanAsiya Javayant PROPOSAL
Octavia X CampainAustraliaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem V PoquetteBrazilStephen Shaw NEW
Faith F VenereBrazilAsiya Javayant NEGOTIATION
Silvio R StockhamIndiaIoni Bowcher NEGOTIATION
James P PaprockiSpainAsiya Javayant NEW
Chavez V DoeCanadaAmy Elsner NEW
Leja N GauchoSpainBernardo Dominic PROPOSAL
Smith L FollerRussiaIvan Magalhaes NEW
Maria V GlickJapanAsiya Javayant QUALIFIED
Alejandro L ButtAustraliaBernardo Dominic NEGOTIATION
Wickens M ChuiItalyStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro X VenereAustralia2026-09-20Commercial Press RENEWAL26Bernardo Dominic
1001Jennifer G PerinSpain2026-09-22Printing Dimensions NEGOTIATION8Ioni Bowcher
1002Johnson Y NestleUnited Kingdom2026-09-17Benton, John B Jr NEW39Ivan Magalhaes
1003Aika B SlusarskiJapan2026-10-05Rangoni Of Florence NEGOTIATION64Asiya Javayant
1004Morrow V VenereArgentina2026-09-27King, Christopher A Esq PROPOSAL49Amy Elsner
1005Leon E RutaBrazil2026-09-29Chapman, Ross E Esq NEW93Elwin Sharvill
1006Greenwood U MacleadCanada2026-09-24Morlong Associates QUALIFIED76Anna Fali
1007Cody G FigeroaSpain2026-09-12Benton, John B Jr QUALIFIED9Stephen Shaw
1008Cody S NestleGermany2026-10-02Dorl, James J Esq PROPOSAL21Stephen Shaw
1009Nicolas D CampainArgentina2026-10-03Truhlar And Truhlar Attys UNQUALIFIED51Ioni Bowcher
1010Clifford Y RutaItaly2026-09-26Feiner Bros NEW58Anna Fali
1011James U AlbaresAustralia2026-09-29Morlong Associates QUALIFIED3Bernardo Dominic
1012Julie I RutaSpain2026-10-09Dorl, James J Esq QUALIFIED35Ioni Bowcher
1013David F CaldareraBrazil2026-09-24Commercial Press RENEWAL21Asiya Javayant
1014Wickens V RoysterSpain2026-09-17Benton, John B Jr RENEWAL15Elwin Sharvill
1015Arvin L PoquetteBrazil2026-09-30Feiner Bros QUALIFIED42Xuxue Feng
1016Kaitlin E BologniaAustralia2026-09-12Buckley Miller Wright QUALIFIED22Elwin Sharvill
1017Darci X PaprockiCanada2026-10-05Rousseaux, Michael Esq UNQUALIFIED62Stephen Shaw
1018Smith F MaletIndia2026-09-20Benton, John B Jr UNQUALIFIED71Elwin Sharvill
1019David U WhobreySpain2026-10-06King, Christopher A Esq QUALIFIED79Anna Fali
1020Emily K MaletUnited Kingdom2026-09-13Morlong Associates RENEWAL78Ivan Magalhaes
1021Munro V SaylorsSpain2026-09-13Chanay, Jeffrey A Esq NEGOTIATION30Amy Elsner
1022Jones J KolmetzItaly2026-09-12Commercial Press NEW69Ioni Bowcher
1023Tony N FollerAustralia2026-10-09Chemel, James L Cpa NEGOTIATION67Amy Elsner
1024Johnson K GarufiIndia2026-10-04Chemel, James L Cpa RENEWAL51Xuxue Feng
1025Maisha S StensethFrance2026-10-01Printing Dimensions NEGOTIATION4Stephen Shaw
1026Misaki H FigeroaFrance2026-09-18Chapman, Ross E Esq RENEWAL39Stephen Shaw
1027Smith K WaycottArgentina2026-09-17Rousseaux, Michael Esq NEW43Elwin Sharvill
1028Jefferson A ShinkoItaly2026-10-04Rangoni Of Florence UNQUALIFIED0Ioni Bowcher
1029Jones W VenereCanada2026-10-07Commercial Press NEW87Onyama Limba
1030Munro Q KuskoArgentina2026-09-27Feltz Printing Service QUALIFIED84Ivan Magalhaes
1031Sinclair K SchemmerJapan2026-09-11Chapman, Ross E Esq NEW68Anna Fali
1032James S GauchoCanada2026-09-13Commercial Press PROPOSAL94Asiya Javayant
1033Costa G FerenczGermany2026-09-13Truhlar And Truhlar Attys NEW39Elwin Sharvill
1034Darci K OldroydBrazil2026-09-29Rousseaux, Michael Esq NEGOTIATION80Asiya Javayant
1035Deepesh C StockhamIndia2026-09-22Commercial Press NEGOTIATION97Amy Elsner
1036Munro Q KuskoRussia2026-09-18Buckley Miller Wright NEW59Anna Fali
1037Kaitlin D FlosiUnited Kingdom2026-09-21Chanay, Jeffrey A Esq NEW12Elwin Sharvill
1038Murillo Q SchemmerUnited Kingdom2026-09-22Commercial Press QUALIFIED6Elwin Sharvill
1039Greenwood L MaletCanada2026-09-23Morlong Associates QUALIFIED77Amy Elsner
1040Ashley E NestleFrance2026-09-28Morlong Associates QUALIFIED14Onyama Limba
1041Jefferson P PoquetteSpain2026-09-23Feiner Bros QUALIFIED62Xuxue Feng
1042Sinclair W VenereCanada2026-09-25Printing Dimensions PROPOSAL22Bernardo Dominic
1043Jones A GillianArgentina2026-09-28Truhlar And Truhlar Attys PROPOSAL52Anna Fali
1044Julie F StockhamAustralia2026-09-25Rangoni Of Florence NEGOTIATION25Elwin Sharvill
1045Jones E WhobreyFrance2026-09-19Feltz Printing Service RENEWAL41Bernardo Dominic
1046Salvatore G CaldareraSpain2026-09-15Benton, John B Jr RENEWAL4Amy Elsner
1047Aditya P RimSpain2026-10-02Feiner Bros RENEWAL94Elwin Sharvill
1048Nicolas T GillianUnited Kingdom2026-10-01Feltz Printing Service PROPOSAL86Ioni Bowcher
1049David D InouyeItaly2026-10-08Dorl, James J Esq RENEWAL10Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia B DarakjyCanadaElwin Sharvill RENEWAL
Wickens W NickaAustraliaIoni Bowcher PROPOSAL
Chavez X BriddickGermanyStephen Shaw PROPOSAL
Adams S StockhamSpainElwin Sharvill NEW
James Y GarufiUnited KingdomElwin Sharvill PROPOSAL
Adams N KuskoJapanAmy Elsner RENEWAL
Wickens D MacleadGermanyXuxue Feng NEGOTIATION
Salvatore T SlusarskiIndiaElwin Sharvill NEGOTIATION
Arvin X KuskoArgentinaIvan Magalhaes UNQUALIFIED
James F IturbideIndiaBernardo Dominic UNQUALIFIED
Izzy Z BriddickCanadaAmy Elsner UNQUALIFIED
Deepesh R InouyeSpainAsiya Javayant UNQUALIFIED
Salvatore T WieserGermanyOnyama Limba NEW
Clifford C MorascaAustraliaIoni Bowcher UNQUALIFIED
Ricardo A KolmetzIndiaAmy Elsner RENEWAL
David Z AlbaresItalyIvan Magalhaes NEW
Stacey X AmigonIndiaAnna Fali NEGOTIATION
Sinclair Z NickaIndiaXuxue Feng QUALIFIED
Faith N VenereArgentinaIoni Bowcher NEGOTIATION
Antonio K NickaRussiaOnyama Limba PROPOSAL
Stacey W OstroskyIndiaIvan Magalhaes NEGOTIATION
Costa Z GarufiBrazilStephen Shaw PROPOSAL
Ricardo L KolmetzCanadaOnyama Limba NEW
Faith U RimRussiaXuxue Feng PROPOSAL
Kadeem E AmigonSpainAmy Elsner RENEWAL
Sinclair Z WieserGermanyAmy Elsner UNQUALIFIED
Johnson D StensethBrazilAsiya Javayant UNQUALIFIED
Arvin T VocelkaArgentinaAnna Fali QUALIFIED
Ricardo M BologniaBrazilAsiya Javayant RENEWAL
Izzy M RoysterBrazilAnna Fali RENEWAL
Tony P CampainJapanElwin Sharvill QUALIFIED
Smith X PaprockiFranceIvan Magalhaes NEGOTIATION
Greenwood D SaylorsRussiaAmy Elsner NEW
Greenwood J ShinkoArgentinaAnna Fali UNQUALIFIED
Clifford C BriddickUnited KingdomBernardo Dominic NEGOTIATION
Alejandro C FerenczBrazilStephen Shaw UNQUALIFIED
Octavia V PerinRussiaIvan Magalhaes NEW
Jefferson B OldroydCanadaXuxue Feng UNQUALIFIED
Greenwood V SaylorsArgentinaXuxue Feng QUALIFIED
Deepesh J VenereGermanyXuxue Feng NEGOTIATION
Darci U RulapaughGermanyOnyama Limba RENEWAL
Maisha A GauchoCanadaBernardo Dominic QUALIFIED
Jeanfrancois E MacleadIndiaIoni Bowcher PROPOSAL
Maisha U GlickJapanAnna Fali NEGOTIATION
James E FollerGermanyAsiya Javayant QUALIFIED
Ashley M VenereArgentinaElwin Sharvill NEGOTIATION
Mujtaba R WaycottArgentinaBernardo Dominic RENEWAL
Costa Y ShinkoJapanIoni Bowcher NEW
Aika R SlusarskiFranceOnyama Limba RENEWAL
Jennifer S WhobreyJapanXuxue Feng PROPOSAL
Frozen Columns
Name
Jones N Foller
Francesco S Malet
Salvatore M Nicka
Aika X Campain
David A Garufi
Deepesh D Iturbide
Ashley E Nicka
Costa T Garufi
Ashley X Albares
Juan O Poquette
Arvin A Doe
Leon Q Butt
Jones G Morasca
Kaitlin P Venere
Chavez H Malet
Leja J Flosi
Ashley X Oldroyd
Deepesh V Perin
Francesco J Schemmer
Costa N Waycott
Munro K Ostrosky
Maisha U Ruta
Faith W Albares
Mujtaba Y Foller
Adams U Iturbide
Alejandro B Darakjy
Deepesh J Saylors
Julie P Morasca
Silvio G Perin
Silvio Y Iturbide
Kadeem P Saylors
Ivar R Oldroyd
Maria K Campain
Maisha Y Briddick
Wickens W Oldroyd
Nicolas J Sergi
Rodrigues S Briddick
Clifford W Vocelka
Aruna F Whobrey
Jefferson D Whobrey
Tony F Iturbide
Aika A Butt
Stacey L Kusko
Leon Y Maclead
Tony R Chui
Misaki F Paprocki
Isabel R Garufi
Aika M Marrier
Maisha J Doe
Morrow Y Albares
IdCountryDate
1000Australia2026-09-10
1001Japan2026-09-20
1002Brazil2026-10-03
1003India2026-09-24
1004India2026-10-03
1005Argentina2026-10-09
1006Argentina2026-09-24
1007Russia2026-10-02
1008Japan2026-09-19
1009Italy2026-09-14
1010Brazil2026-09-12
1011Canada2026-10-04
1012Japan2026-09-13
1013United Kingdom2026-09-26
1014Canada2026-09-16
1015India2026-10-03
1016Japan2026-09-22
1017Germany2026-09-19
1018Russia2026-09-13
1019India2026-09-22
1020India2026-09-22
1021Argentina2026-09-27
1022Japan2026-09-22
1023United Kingdom2026-09-18
1024Germany2026-09-18
1025Canada2026-09-23
1026Argentina2026-09-24
1027Brazil2026-10-05
1028India2026-09-11
1029Germany2026-09-13
1030Argentina2026-10-06
1031Germany2026-10-07
1032Argentina2026-09-30
1033Russia2026-09-24
1034Germany2026-09-25
1035India2026-09-26
1036Brazil2026-10-09
1037Australia2026-09-23
1038India2026-09-26
1039France2026-09-25
1040India2026-09-21
1041India2026-09-11
1042Brazil2026-10-09
1043Japan2026-09-21
1044Spain2026-09-13
1045France2026-10-02
1046Germany2026-10-01
1047Russia2026-09-14
1048India2026-09-28
1049India2026-09-15

On-Demand Data

NameIdCountryDate
Ricardo S Figeroa1000Japan2026-10-07
Chavez R Gaucho1001Italy2026-09-23
Nicolas D Chui1002United Kingdom2026-09-20
Kaitlin G Bowley1003Japan2026-09-28
Octavia O Royster1004Japan2026-09-27
Jones X Dilliard1005United Kingdom2026-09-24
Mujtaba J Gillian1006Argentina2026-10-06
Jennifer I Whobrey1007Japan2026-10-02
Mujtaba G Paprocki1008Italy2026-09-18
Julie U Doe1009France2026-09-13
Jennifer R Flosi1010Russia2026-09-23
Julie L Caudy1011United Kingdom2026-09-17
Cody R Darakjy1012France2026-09-19
Adams G Maclead1013Canada2026-10-04
Faith K Maclead1014Brazil2026-10-01
Ricardo E Figeroa1015Italy2026-10-05
Ashley K Bolognia1016Italy2026-10-05
Ricardo Y Amigon1017Brazil2026-09-13
Julie P Rulapaugh1018India2026-09-22
Francesco E Caldarera1019United Kingdom2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci J SergiItalyAsiya Javayant NEW
Deepesh R FerenczBrazilAnna Fali UNQUALIFIED
Leja M RulapaughRussiaBernardo Dominic UNQUALIFIED
Alejandro G RimBrazilAmy Elsner UNQUALIFIED
Smith P WieserAustraliaElwin Sharvill UNQUALIFIED
Maisha U MacleadRussiaBernardo Dominic QUALIFIED
Aruna K ShinkoRussiaOnyama Limba NEGOTIATION
Octavia K StockhamArgentinaElwin Sharvill NEW
Stacey Q IturbideItalyIvan Magalhaes RENEWAL
Darci B PoquetteUnited KingdomAmy Elsner NEGOTIATION
Claire F NestleGermanyElwin Sharvill PROPOSAL
Kadeem T RutaCanadaAnna Fali NEW
Octavia I CampainBrazilIvan Magalhaes QUALIFIED
Mujtaba P FerenczSpainAnna Fali NEGOTIATION
Smith Q WhobreyCanadaAsiya Javayant QUALIFIED
Wickens R KuskoAustraliaIoni Bowcher UNQUALIFIED
Leon C MaletFranceElwin Sharvill RENEWAL
Mayumi G VenereBrazilBernardo Dominic NEW
Leja Y RulapaughArgentinaIvan Magalhaes NEGOTIATION
Ashley D CaldareraAustraliaBernardo Dominic PROPOSAL
Costa H SchemmerFranceXuxue Feng QUALIFIED
Arvin X AlbaresRussiaIvan Magalhaes NEW
Kaitlin G DilliardSpainOnyama Limba QUALIFIED
Julie Q PerinGermanyXuxue Feng PROPOSAL
Clifford L NickaAustraliaElwin Sharvill PROPOSAL
Morrow R RutaSpainAsiya Javayant UNQUALIFIED
Isabel Y PoquetteBrazilIvan Magalhaes NEGOTIATION
Alejandro S FigeroaArgentinaBernardo Dominic PROPOSAL
Sinclair Q GlickAustraliaXuxue Feng NEGOTIATION
Munro W FigeroaJapanIvan Magalhaes NEGOTIATION
Antonio S GarufiBrazilAnna Fali NEGOTIATION
Juan Q KolmetzBrazilIoni Bowcher UNQUALIFIED
Silvio C ChuiGermanyStephen Shaw QUALIFIED
Faith Z TollnerIndiaOnyama Limba QUALIFIED
Rodrigues Y InouyeFranceIvan Magalhaes NEW
Misaki I CaldareraIndiaOnyama Limba PROPOSAL
Alejandro J RimArgentinaOnyama Limba RENEWAL
Mujtaba T SlusarskiCanadaOnyama Limba UNQUALIFIED
Sinclair K KolmetzSpainAsiya Javayant NEW
Stacey J PerinSpainStephen Shaw PROPOSAL

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