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
Munro U WieserUnited KingdomAsiya Javayant NEW
Rodrigues Q AlbaresBrazilElwin Sharvill NEGOTIATION
Aruna N PoquetteArgentinaBernardo Dominic NEW
Tony I OldroydGermanyElwin Sharvill NEW
Isabel H PaprockiSpainAsiya Javayant RENEWAL
Adams U PaprockiJapanAmy Elsner NEGOTIATION
Murillo D DilliardFranceOnyama Limba UNQUALIFIED
Jefferson E FigeroaCanadaAsiya Javayant RENEWAL
Francesco P StensethJapanStephen Shaw RENEWAL
Jennifer C InouyeFranceOnyama Limba PROPOSAL
Smith S SlusarskiGermanyAsiya Javayant UNQUALIFIED
Sinclair L SergiSpainAsiya Javayant UNQUALIFIED
Chavez W FigeroaGermanyAmy Elsner NEGOTIATION
Maisha N PaprockiFranceAmy Elsner QUALIFIED
Jennifer D GillianItalyAmy Elsner RENEWAL
Smith Y RutaJapanOnyama Limba NEW
Jones A TollnerRussiaStephen Shaw QUALIFIED
Silvio L FlosiIndiaAsiya Javayant NEW
Stacey G KuskoIndiaAnna Fali PROPOSAL
Ashley K NickaIndiaAmy Elsner QUALIFIED
Aika T InouyeGermanyIoni Bowcher PROPOSAL
Sinclair F DilliardRussiaBernardo Dominic NEGOTIATION
Francesco X StockhamIndiaAnna Fali NEW
Kaitlin C RulapaughIndiaIvan Magalhaes RENEWAL
Maisha M WieserAustraliaAsiya Javayant QUALIFIED
Adams N BriddickJapanIvan Magalhaes RENEWAL
Johnson X SchemmerAustraliaXuxue Feng UNQUALIFIED
Maisha K BriddickCanadaAmy Elsner PROPOSAL
Clifford N NestleArgentinaXuxue Feng RENEWAL
Kaitlin Y GlickArgentinaAmy Elsner NEGOTIATION
Aika P MarrierItalyElwin Sharvill NEGOTIATION
James I WieserGermanyIoni Bowcher PROPOSAL
Greenwood X RoysterArgentinaBernardo Dominic PROPOSAL
Tony S PaprockiBrazilAnna Fali UNQUALIFIED
Jones C RimRussiaElwin Sharvill NEW
Maria H DoeSpainElwin Sharvill PROPOSAL
Ivar O PerinJapanIvan Magalhaes QUALIFIED
Morrow D AmigonItalyBernardo Dominic RENEWAL
Aika B KolmetzItalyOnyama Limba NEW
Mayumi D IturbideCanadaOnyama Limba NEW
Izzy Q GillianFranceAmy Elsner RENEWAL
Ricardo S GauchoSpainStephen Shaw QUALIFIED
Adams Z ChuiSpainBernardo Dominic QUALIFIED
Mujtaba F SaylorsGermanyAnna Fali RENEWAL
Costa U CaudyRussiaAsiya Javayant RENEWAL
Maria L SaylorsCanadaBernardo Dominic QUALIFIED
Faith Z BowleySpainOnyama Limba NEGOTIATION
Silvio H FigeroaArgentinaElwin Sharvill RENEWAL
Leon K InouyeCanadaIvan Magalhaes PROPOSAL
Stacey Q DarakjySpainIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire Q BologniaIndiaAmy Elsner UNQUALIFIED
Morrow F MaletAustraliaAnna Fali UNQUALIFIED
Costa K GauchoFranceIvan Magalhaes NEW
Rodrigues X ButtAustraliaAsiya Javayant UNQUALIFIED
Morrow H ShinkoBrazilStephen Shaw QUALIFIED
Aditya A ShinkoAustraliaStephen Shaw QUALIFIED
Nicolas J RoysterUnited KingdomBernardo Dominic NEGOTIATION
David F SergiArgentinaIoni Bowcher UNQUALIFIED
Isabel B GarufiCanadaElwin Sharvill RENEWAL
Claire S PerinFranceIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia G FigeroaRussia2026-10-05Benton, John B Jr NEW33Anna Fali
1001Costa M WhobreyItaly2026-10-03Morlong Associates RENEWAL24Bernardo Dominic
1002Ivar Q BowleyGermany2026-09-29Feiner Bros NEW69Amy Elsner
1003Aditya R GlickSpain2026-09-28Printing Dimensions NEW43Asiya Javayant
1004Johnson H FollerJapan2026-09-28Benton, John B Jr PROPOSAL79Anna Fali
1005Greenwood X VenereItaly2026-10-21Buckley Miller Wright PROPOSAL49Xuxue Feng
1006Salvatore K TollnerAustralia2026-10-21Chapman, Ross E Esq NEGOTIATION39Stephen Shaw
1007Jennifer V KolmetzAustralia2026-10-22Morlong Associates NEW64Onyama Limba
1008Claire D DoeItaly2026-10-05Dorl, James J Esq NEW14Xuxue Feng
1009Johnson E KolmetzUnited Kingdom2026-09-30Dorl, James J Esq NEW42Anna Fali
1010Jennifer U IturbideRussia2026-10-11Chapman, Ross E Esq NEGOTIATION16Asiya Javayant
1011Nicolas W MacleadJapan2026-09-29Rangoni Of Florence NEGOTIATION38Bernardo Dominic
1012Kadeem O GlickIndia2026-10-22Feiner Bros PROPOSAL52Ivan Magalhaes
1013Costa E NestleSpain2026-09-25King, Christopher A Esq NEGOTIATION2Bernardo Dominic
1014Stacey U SchemmerIndia2026-10-05Chapman, Ross E Esq QUALIFIED91Ioni Bowcher
1015Greenwood F DoeFrance2026-10-22Commercial Press UNQUALIFIED73Elwin Sharvill
1016Octavia Q CampainRussia2026-10-15Printing Dimensions RENEWAL25Elwin Sharvill
1017Aditya D FigeroaRussia2026-10-14Chemel, James L Cpa PROPOSAL30Amy Elsner
1018Maisha G RoysterRussia2026-10-13Rangoni Of Florence NEW28Amy Elsner
1019Jennifer D BriddickGermany2026-09-30King, Christopher A Esq PROPOSAL34Anna Fali
1020Nicolas A DilliardArgentina2026-10-08Chemel, James L Cpa NEW71Amy Elsner
1021Isabel N SchemmerJapan2026-10-09Morlong Associates PROPOSAL61Onyama Limba
1022Mujtaba R SchemmerIndia2026-10-10Printing Dimensions RENEWAL24Anna Fali
1023Arvin X VocelkaSpain2026-10-17Buckley Miller Wright UNQUALIFIED73Ioni Bowcher
1024Aruna P AmigonJapan2026-10-13Truhlar And Truhlar Attys UNQUALIFIED85Bernardo Dominic
1025Jones N GarufiArgentina2026-10-13Feiner Bros PROPOSAL68Bernardo Dominic
1026Aditya K MaletCanada2026-10-10Benton, John B Jr UNQUALIFIED73Stephen Shaw
1027Mujtaba Z FlosiCanada2026-10-02Dorl, James J Esq QUALIFIED69Asiya Javayant
1028Darci B MaletIndia2026-10-09Morlong Associates NEGOTIATION68Ivan Magalhaes
1029Misaki U KolmetzItaly2026-09-29Rangoni Of Florence NEW17Bernardo Dominic
1030Salvatore D DilliardCanada2026-10-17Feiner Bros NEW4Stephen Shaw
1031Aika H BriddickRussia2026-09-26Printing Dimensions QUALIFIED20Stephen Shaw
1032Costa W BologniaItaly2026-10-10Chanay, Jeffrey A Esq NEGOTIATION23Ivan Magalhaes
1033Leon A PaprockiUnited Kingdom2026-10-13Rangoni Of Florence UNQUALIFIED64Ioni Bowcher
1034Clifford J RoysterAustralia2026-10-01Commercial Press NEGOTIATION4Ioni Bowcher
1035Smith G DilliardArgentina2026-10-19Feiner Bros QUALIFIED51Xuxue Feng
1036Murillo C NickaArgentina2026-10-15Truhlar And Truhlar Attys RENEWAL21Bernardo Dominic
1037Aruna V BriddickRussia2026-10-07Dorl, James J Esq NEGOTIATION37Elwin Sharvill
1038Salvatore B CaudyIndia2026-10-16Chemel, James L Cpa NEGOTIATION7Onyama Limba
1039David T TollnerBrazil2026-09-29Buckley Miller Wright NEW8Xuxue Feng
1040Ivar M FollerFrance2026-10-15King, Christopher A Esq NEW32Stephen Shaw
1041Maria H MorascaItaly2026-10-19Truhlar And Truhlar Attys PROPOSAL81Amy Elsner
1042Jeanfrancois J BowleyFrance2026-10-19King, Christopher A Esq UNQUALIFIED12Asiya Javayant
1043Kaitlin P GillianAustralia2026-09-24Buckley Miller Wright UNQUALIFIED6Ivan Magalhaes
1044Alejandro X GillianCanada2026-10-15Benton, John B Jr NEW2Xuxue Feng
1045Clifford B BowleyRussia2026-10-04Chemel, James L Cpa QUALIFIED96Ivan Magalhaes
1046Silvio N WhobreyUnited Kingdom2026-10-13Truhlar And Truhlar Attys PROPOSAL9Bernardo Dominic
1047Jefferson T CaudyFrance2026-10-14Rousseaux, Michael Esq RENEWAL40Onyama Limba
1048Leja I RimJapan2026-10-11Morlong Associates NEW64Amy Elsner
1049James X VocelkaJapan2026-10-06Chapman, Ross E Esq UNQUALIFIED95Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leja N GarufiSpainXuxue Feng QUALIFIED
Faith W SaylorsItalyAnna Fali UNQUALIFIED
Costa L DoeJapanAnna Fali RENEWAL
Darci B SlusarskiSpainElwin Sharvill RENEWAL
Jeanfrancois F OldroydItalyAsiya Javayant QUALIFIED
Alejandro P VocelkaFranceStephen Shaw NEGOTIATION
Jones D DilliardSpainIvan Magalhaes NEGOTIATION
Jeanfrancois X SergiCanadaOnyama Limba NEW
Misaki S StensethSpainOnyama Limba UNQUALIFIED
Darci C GarufiAustraliaXuxue Feng NEW
Jefferson I NickaCanadaIvan Magalhaes RENEWAL
Leon V DilliardGermanyIvan Magalhaes NEW
Mayumi P VenereCanadaXuxue Feng NEW
Nicolas C BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Munro J PaprockiArgentinaBernardo Dominic PROPOSAL
Kadeem I KolmetzAustraliaAsiya Javayant UNQUALIFIED
Deepesh D RoysterCanadaAmy Elsner NEGOTIATION
Sinclair J StensethItalyElwin Sharvill QUALIFIED
Francesco K AmigonUnited KingdomStephen Shaw UNQUALIFIED
Costa H GlickAustraliaXuxue Feng NEW
Cody T DilliardAustraliaXuxue Feng PROPOSAL
Aruna A DarakjyBrazilOnyama Limba UNQUALIFIED
Jeanfrancois Y KuskoAustraliaXuxue Feng RENEWAL
Kaitlin N TollnerSpainStephen Shaw RENEWAL
Mayumi B NickaBrazilAsiya Javayant RENEWAL
Deepesh V MorascaRussiaBernardo Dominic NEGOTIATION
Munro V GlickItalyAmy Elsner UNQUALIFIED
Emily C OldroydCanadaElwin Sharvill RENEWAL
Jennifer B FlosiArgentinaBernardo Dominic NEW
Mayumi T CaudyAustraliaAsiya Javayant RENEWAL
Ricardo B WhobreyIndiaBernardo Dominic PROPOSAL
Maisha K RimUnited KingdomAmy Elsner NEGOTIATION
Munro H SchemmerRussiaIvan Magalhaes UNQUALIFIED
Octavia U PaprockiArgentinaAnna Fali NEGOTIATION
Chavez R GillianBrazilIoni Bowcher RENEWAL
Deepesh Y RulapaughUnited KingdomStephen Shaw NEGOTIATION
Maisha E MaletFranceElwin Sharvill NEW
Izzy H CaldareraRussiaOnyama Limba QUALIFIED
Francesco F BriddickAustraliaStephen Shaw QUALIFIED
Julie E DilliardCanadaAsiya Javayant RENEWAL
Francesco F NickaUnited KingdomIoni Bowcher PROPOSAL
Mujtaba R AlbaresCanadaIoni Bowcher UNQUALIFIED
Adams Y SergiUnited KingdomAmy Elsner UNQUALIFIED
Aika H MaletFranceAnna Fali UNQUALIFIED
Salvatore N RutaFranceAnna Fali NEGOTIATION
Wickens I GarufiBrazilAmy Elsner NEW
Misaki V FollerBrazilOnyama Limba UNQUALIFIED
Costa H SchemmerBrazilElwin Sharvill NEW
Ivar H CaudyBrazilXuxue Feng PROPOSAL
Jones S StockhamSpainIvan Magalhaes QUALIFIED
Frozen Columns
Name
Murillo Q Caudy
Julie K Kolmetz
Sinclair N Rim
Smith Y Darakjy
Murillo K Iturbide
Tony S Perin
Wickens S Butt
Aruna I Stenseth
Johnson N Albares
Leja M Ostrosky
Greenwood T Schemmer
Ivar D Bolognia
Kaitlin N Ferencz
Antonio N Rulapaugh
Antonio D Inouye
Sinclair U Paprocki
Salvatore A Morasca
Leon G Dilliard
Maisha Z Gillian
Mayumi I Doe
Antonio H Stenseth
Deepesh C Inouye
Leja P Oldroyd
James E Briddick
Jefferson C Gillian
Isabel Z Ruta
Jennifer X Morasca
Ivar D Dilliard
Aditya R Gaucho
Maria J Wieser
Tony D Waycott
Silvio S Marrier
James L Doe
Morrow I Amigon
Silvio W Marrier
Cody O Chui
Costa M Rim
Sinclair A Perin
Maisha L Garufi
Morrow T Wieser
Aditya B Maclead
Jones F Gaucho
Misaki P Garufi
Morrow P Saylors
Jennifer O Perin
Ivar J Darakjy
Maria T Gaucho
Smith I Kusko
Chavez U Briddick
Claire M Amigon
IdCountryDate
1000Australia2026-10-08
1001Brazil2026-09-29
1002Japan2026-10-03
1003France2026-10-10
1004Russia2026-10-08
1005Italy2026-09-25
1006Brazil2026-10-05
1007Australia2026-09-25
1008India2026-10-05
1009Russia2026-10-16
1010Canada2026-09-27
1011Argentina2026-10-07
1012Italy2026-09-26
1013Brazil2026-10-03
1014Argentina2026-10-13
1015France2026-10-14
1016Australia2026-10-08
1017Australia2026-09-27
1018Russia2026-10-13
1019Canada2026-09-28
1020Spain2026-09-25
1021Argentina2026-10-05
1022Brazil2026-10-22
1023Argentina2026-09-29
1024France2026-10-18
1025Canada2026-10-13
1026Spain2026-10-06
1027India2026-10-21
1028Spain2026-10-17
1029Australia2026-09-26
1030Australia2026-10-22
1031Russia2026-10-13
1032Germany2026-10-17
1033Australia2026-09-27
1034Japan2026-09-23
1035Australia2026-10-07
1036France2026-10-08
1037Japan2026-09-24
1038Germany2026-10-17
1039United Kingdom2026-09-30
1040France2026-10-11
1041Germany2026-10-03
1042Germany2026-10-22
1043United Kingdom2026-10-17
1044Japan2026-10-04
1045France2026-10-22
1046Australia2026-10-15
1047Russia2026-10-05
1048Russia2026-10-21
1049France2026-10-06

On-Demand Data

NameIdCountryDate
Salvatore N Gaucho1000Argentina2026-10-22
Munro C Ruta1001United Kingdom2026-10-20
Murillo I Kolmetz1002France2026-10-14
Chavez V Rulapaugh1003Canada2026-10-01
Costa F Malet1004Spain2026-10-11
Adams A Royster1005Italy2026-10-20
Ashley H Foller1006United Kingdom2026-10-11
Jefferson L Paprocki1007India2026-10-14
Clifford A Royster1008France2026-10-12
Ricardo C Garufi1009Australia2026-10-04
Cody J Iturbide1010Brazil2026-10-08
Salvatore I Glick1011Argentina2026-10-08
Greenwood I Maclead1012Brazil2026-10-21
Jones E Marrier1013Brazil2026-09-25
Wickens M Saylors1014Italy2026-10-17
Adams J Morasca1015Japan2026-10-14
Smith A Poquette1016Italy2026-10-18
Arvin H Stockham1017Russia2026-10-02
Ashley K Gillian1018Russia2026-10-15
Costa K Royster1019Russia2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James G DoeFranceOnyama Limba UNQUALIFIED
Cody M KolmetzFranceAmy Elsner RENEWAL
Murillo G NickaRussiaElwin Sharvill NEW
Sinclair U FerenczRussiaAmy Elsner PROPOSAL
Arvin K StensethAustraliaStephen Shaw UNQUALIFIED
Arvin K IturbideItalyAmy Elsner QUALIFIED
Leon R MaletJapanXuxue Feng PROPOSAL
Kadeem L RutaBrazilAsiya Javayant RENEWAL
Misaki W MarrierBrazilIoni Bowcher RENEWAL
Maria W FlosiIndiaElwin Sharvill PROPOSAL
Faith X WaycottJapanBernardo Dominic PROPOSAL
Kadeem V OstroskyRussiaOnyama Limba QUALIFIED
Johnson E PaprockiCanadaBernardo Dominic PROPOSAL
Arvin D FlosiSpainOnyama Limba NEW
Leon I KolmetzRussiaIoni Bowcher RENEWAL
Julie F GillianCanadaIvan Magalhaes QUALIFIED
Arvin W DoeAustraliaStephen Shaw PROPOSAL
Misaki X ChuiJapanAnna Fali RENEWAL
Stacey J GillianIndiaAsiya Javayant NEW
James L RoysterGermanyIoni Bowcher PROPOSAL
Silvio M InouyeSpainIoni Bowcher NEW
Sinclair Q OldroydAustraliaIvan Magalhaes QUALIFIED
Ashley V SergiIndiaOnyama Limba NEGOTIATION
Aika J GauchoRussiaIvan Magalhaes NEGOTIATION
Jefferson D VenereGermanyAmy Elsner NEW
Claire R MarrierCanadaIvan Magalhaes RENEWAL
Isabel M RoysterSpainElwin Sharvill QUALIFIED
Octavia R NickaSpainIvan Magalhaes RENEWAL
Greenwood X BriddickUnited KingdomElwin Sharvill NEW
Wickens M GauchoAustraliaAnna Fali PROPOSAL
Sinclair G SergiIndiaXuxue Feng NEW
Izzy R DoeSpainXuxue Feng PROPOSAL
Clifford T IturbideUnited KingdomStephen Shaw UNQUALIFIED
Greenwood E MacleadFranceBernardo Dominic QUALIFIED
Aditya Q OstroskyFranceIvan Magalhaes PROPOSAL
Munro A IturbideSpainXuxue Feng RENEWAL
Leja N SergiFranceAnna Fali UNQUALIFIED
Greenwood I OstroskyRussiaIoni Bowcher UNQUALIFIED
Octavia J GarufiFranceStephen Shaw RENEWAL
James Y MorascaAustraliaOnyama Limba QUALIFIED

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