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
Silvio A GlickFranceXuxue Feng PROPOSAL
Antonio I RulapaughCanadaBernardo Dominic NEW
Octavia L BriddickJapanBernardo Dominic RENEWAL
Greenwood G ButtBrazilStephen Shaw UNQUALIFIED
Antonio K VocelkaCanadaAsiya Javayant NEW
Rodrigues N SergiJapanBernardo Dominic NEW
Antonio J NickaGermanyAmy Elsner NEW
Arvin B VocelkaItalyBernardo Dominic PROPOSAL
Jeanfrancois E MarrierGermanyBernardo Dominic UNQUALIFIED
Juan S MaletBrazilBernardo Dominic UNQUALIFIED
Deepesh N IturbideBrazilAsiya Javayant UNQUALIFIED
Deepesh G BriddickAustraliaAmy Elsner NEGOTIATION
Cody C MarrierBrazilAsiya Javayant RENEWAL
Greenwood I NickaBrazilIoni Bowcher NEW
Antonio X WhobreyGermanyOnyama Limba RENEWAL
Ivar V CampainItalyXuxue Feng NEGOTIATION
Cody S NestleAustraliaStephen Shaw NEW
Mayumi G SergiSpainIoni Bowcher PROPOSAL
Octavia X MorascaArgentinaElwin Sharvill PROPOSAL
Claire R PerinCanadaIvan Magalhaes NEGOTIATION
Alejandro Q MaletItalyAmy Elsner PROPOSAL
Deepesh F GarufiItalyElwin Sharvill QUALIFIED
Juan H StockhamIndiaElwin Sharvill UNQUALIFIED
Smith C AmigonCanadaElwin Sharvill UNQUALIFIED
Adams V RutaIndiaAsiya Javayant UNQUALIFIED
Ashley R NestleGermanyStephen Shaw PROPOSAL
Misaki B StockhamGermanyStephen Shaw UNQUALIFIED
Munro H RutaGermanyIvan Magalhaes PROPOSAL
Leja F WhobreyGermanyAsiya Javayant NEGOTIATION
James U GarufiUnited KingdomAsiya Javayant RENEWAL
Munro U KuskoArgentinaXuxue Feng RENEWAL
Leon R NickaBrazilXuxue Feng UNQUALIFIED
Rodrigues M BologniaAustraliaAnna Fali NEW
Leja B SchemmerIndiaIvan Magalhaes NEW
Nicolas N StockhamJapanXuxue Feng NEGOTIATION
Juan F WaycottAustraliaAmy Elsner NEW
David J TollnerAustraliaAmy Elsner QUALIFIED
Clifford H IturbideFranceStephen Shaw NEGOTIATION
Antonio Q TollnerArgentinaOnyama Limba UNQUALIFIED
Silvio U MorascaAustraliaAmy Elsner PROPOSAL
Morrow O InouyeAustraliaAsiya Javayant NEW
Izzy U FerenczItalyElwin Sharvill UNQUALIFIED
Faith R FerenczRussiaAmy Elsner NEGOTIATION
Murillo R VocelkaUnited KingdomXuxue Feng RENEWAL
Jefferson M WaycottGermanyStephen Shaw NEW
Clifford E CaldareraFranceIoni Bowcher UNQUALIFIED
Nicolas A SaylorsBrazilAnna Fali QUALIFIED
Chavez N KolmetzIndiaBernardo Dominic UNQUALIFIED
Chavez L MaletIndiaOnyama Limba RENEWAL
Ashley R MaletUnited KingdomIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony U NestleAustraliaAmy Elsner QUALIFIED
Silvio W GillianFranceOnyama Limba NEW
Silvio O StockhamRussiaStephen Shaw RENEWAL
Wickens C MarrierBrazilAmy Elsner PROPOSAL
Antonio S CaudyJapanXuxue Feng PROPOSAL
Ivar A FerenczArgentinaAnna Fali NEGOTIATION
Munro K MaletSpainXuxue Feng QUALIFIED
Alejandro U KolmetzBrazilAmy Elsner UNQUALIFIED
Aruna N WhobreyBrazilIoni Bowcher QUALIFIED
Ashley W MacleadIndiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika M DarakjyIndia2026-09-22Rousseaux, Michael Esq PROPOSAL97Anna Fali
1001Leon F SlusarskiRussia2026-09-23Printing Dimensions RENEWAL87Stephen Shaw
1002Darci V InouyeIndia2026-09-14Feltz Printing Service NEW33Stephen Shaw
1003Stacey J BriddickSpain2026-09-12Rousseaux, Michael Esq NEW45Bernardo Dominic
1004Claire E GlickArgentina2026-09-09Truhlar And Truhlar Attys RENEWAL36Anna Fali
1005Rodrigues I CaudyArgentina2026-09-16Feltz Printing Service PROPOSAL45Anna Fali
1006Ivar I FigeroaIndia2026-10-04Chapman, Ross E Esq QUALIFIED81Asiya Javayant
1007David U RimRussia2026-09-10Benton, John B Jr RENEWAL6Ioni Bowcher
1008Adams V WhobreyItaly2026-09-16Buckley Miller Wright QUALIFIED24Xuxue Feng
1009David W DoeArgentina2026-10-05Benton, John B Jr NEW60Ioni Bowcher
1010Ashley N GauchoCanada2026-09-29Dorl, James J Esq RENEWAL26Ioni Bowcher
1011Antonio X KuskoArgentina2026-10-04Printing Dimensions QUALIFIED21Stephen Shaw
1012Juan S AlbaresArgentina2026-09-25Rangoni Of Florence NEW62Ivan Magalhaes
1013Arvin S IturbideCanada2026-09-28Chapman, Ross E Esq QUALIFIED60Asiya Javayant
1014Emily J IturbideArgentina2026-09-08Truhlar And Truhlar Attys QUALIFIED12Ioni Bowcher
1015Sinclair Z RimRussia2026-10-05Buckley Miller Wright RENEWAL9Ivan Magalhaes
1016Chavez O SlusarskiArgentina2026-09-12Truhlar And Truhlar Attys RENEWAL14Ivan Magalhaes
1017David H RutaJapan2026-09-22Commercial Press RENEWAL4Amy Elsner
1018Misaki O DilliardItaly2026-09-24Morlong Associates NEW55Xuxue Feng
1019Rodrigues Y MaletIndia2026-09-26Rousseaux, Michael Esq NEW70Onyama Limba
1020Octavia R ShinkoFrance2026-09-20Commercial Press NEW48Amy Elsner
1021Faith X ButtGermany2026-09-08Feiner Bros NEGOTIATION97Amy Elsner
1022Emily O CaudyItaly2026-09-19Benton, John B Jr RENEWAL74Anna Fali
1023Greenwood A StensethJapan2026-09-26Printing Dimensions RENEWAL48Onyama Limba
1024Jeanfrancois S ShinkoIndia2026-10-05Rousseaux, Michael Esq RENEWAL49Anna Fali
1025Julie U ShinkoCanada2026-09-29King, Christopher A Esq UNQUALIFIED90Anna Fali
1026Cody E VenereBrazil2026-09-30Chapman, Ross E Esq NEGOTIATION47Anna Fali
1027Juan Z DilliardAustralia2026-10-01Chapman, Ross E Esq QUALIFIED44Anna Fali
1028Isabel T FigeroaItaly2026-09-07King, Christopher A Esq PROPOSAL79Asiya Javayant
1029Rodrigues N OstroskyItaly2026-09-29King, Christopher A Esq NEW34Stephen Shaw
1030Johnson V BowleyFrance2026-10-04Chemel, James L Cpa QUALIFIED67Onyama Limba
1031Smith G SlusarskiSpain2026-09-11Dorl, James J Esq NEW3Stephen Shaw
1032Johnson I NestleUnited Kingdom2026-09-27Truhlar And Truhlar Attys NEW36Bernardo Dominic
1033Leja F SchemmerIndia2026-09-17Benton, John B Jr RENEWAL42Elwin Sharvill
1034Darci V AmigonArgentina2026-09-25Rousseaux, Michael Esq NEGOTIATION50Elwin Sharvill
1035Juan Y CaudyUnited Kingdom2026-09-21Dorl, James J Esq NEW25Anna Fali
1036Kaitlin V PoquetteAustralia2026-09-28Chapman, Ross E Esq UNQUALIFIED35Stephen Shaw
1037Maria L BowleyArgentina2026-09-15Chanay, Jeffrey A Esq UNQUALIFIED3Amy Elsner
1038Misaki S OldroydBrazil2026-10-02Morlong Associates NEGOTIATION79Amy Elsner
1039Ashley V WaycottArgentina2026-09-12Rousseaux, Michael Esq RENEWAL30Xuxue Feng
1040Maisha Q ShinkoIndia2026-09-13Feltz Printing Service RENEWAL86Asiya Javayant
1041Faith W RulapaughFrance2026-10-05Chemel, James L Cpa PROPOSAL29Asiya Javayant
1042Maisha B MacleadFrance2026-09-20Chemel, James L Cpa PROPOSAL67Amy Elsner
1043Jennifer M FigeroaSpain2026-09-22Feltz Printing Service NEW94Onyama Limba
1044Costa K NickaArgentina2026-09-13Chemel, James L Cpa UNQUALIFIED32Ivan Magalhaes
1045James F PaprockiCanada2026-09-09Commercial Press UNQUALIFIED49Xuxue Feng
1046Claire M WhobreyBrazil2026-09-09Chemel, James L Cpa UNQUALIFIED59Stephen Shaw
1047Morrow G InouyeGermany2026-09-14Dorl, James J Esq UNQUALIFIED22Ioni Bowcher
1048Juan A OstroskyUnited Kingdom2026-09-12Chanay, Jeffrey A Esq PROPOSAL20Amy Elsner
1049Maria Y FerenczUnited Kingdom2026-10-02Chapman, Ross E Esq NEW8Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Morrow I MaletAustraliaAsiya Javayant QUALIFIED
James D GlickIndiaXuxue Feng QUALIFIED
Adams A KolmetzFranceBernardo Dominic PROPOSAL
Murillo E TollnerAustraliaStephen Shaw RENEWAL
Claire L MarrierSpainIvan Magalhaes NEGOTIATION
James T CaudyGermanyAmy Elsner NEW
Deepesh Q BriddickArgentinaStephen Shaw PROPOSAL
Claire W NestleArgentinaBernardo Dominic NEGOTIATION
Morrow I BriddickGermanyOnyama Limba NEGOTIATION
Aruna H ButtIndiaIvan Magalhaes UNQUALIFIED
Francesco R CaudyUnited KingdomAmy Elsner QUALIFIED
Kaitlin V AmigonCanadaElwin Sharvill NEW
Adams W InouyeGermanyAsiya Javayant NEW
Alejandro V TollnerBrazilBernardo Dominic QUALIFIED
Francesco N AmigonBrazilAnna Fali QUALIFIED
Morrow A MacleadItalyAsiya Javayant RENEWAL
Aika M CampainIndiaBernardo Dominic NEGOTIATION
Faith A BowleyBrazilElwin Sharvill NEGOTIATION
Claire S StockhamBrazilIvan Magalhaes NEGOTIATION
Jennifer J IturbideItalyElwin Sharvill PROPOSAL
David Y NickaRussiaAnna Fali UNQUALIFIED
Rodrigues V RulapaughRussiaOnyama Limba NEGOTIATION
Maria K BriddickItalyOnyama Limba RENEWAL
Chavez L IturbideRussiaIoni Bowcher RENEWAL
Alejandro O MaletItalyBernardo Dominic NEW
Misaki N ButtFranceIoni Bowcher NEGOTIATION
Leon X ShinkoArgentinaIoni Bowcher RENEWAL
Adams U RimArgentinaElwin Sharvill NEGOTIATION
Claire S CampainGermanyElwin Sharvill NEGOTIATION
Aditya K RulapaughUnited KingdomStephen Shaw QUALIFIED
Kadeem F KolmetzFranceAsiya Javayant PROPOSAL
Darci C TollnerSpainAmy Elsner PROPOSAL
Adams E KolmetzSpainXuxue Feng QUALIFIED
Rodrigues K PoquetteBrazilStephen Shaw NEGOTIATION
Mayumi Z NickaUnited KingdomIvan Magalhaes PROPOSAL
Sinclair C MaletRussiaElwin Sharvill NEW
Mayumi Z DarakjyJapanAmy Elsner RENEWAL
Faith Z MaletFranceBernardo Dominic RENEWAL
Morrow K DilliardSpainOnyama Limba QUALIFIED
Johnson C VenereRussiaIoni Bowcher UNQUALIFIED
Leja G AlbaresGermanyXuxue Feng NEW
Maisha J MaletUnited KingdomOnyama Limba UNQUALIFIED
Leon C WhobreyJapanIoni Bowcher UNQUALIFIED
Adams F TollnerJapanStephen Shaw UNQUALIFIED
Aruna O ShinkoAustraliaIoni Bowcher NEGOTIATION
Nicolas Y SchemmerCanadaIvan Magalhaes NEW
Faith D WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson J MaletItalyStephen Shaw NEW
Rodrigues C VenereCanadaOnyama Limba QUALIFIED
Leja D CaudyBrazilElwin Sharvill NEGOTIATION
Frozen Columns
Name
Jeanfrancois A Venere
Darci P Foller
Deepesh I Stenseth
James T Vocelka
Rodrigues C Stenseth
Cody R Gillian
Darci Y Royster
Ashley N Rulapaugh
Jefferson V Nicka
Ivar I Gillian
Mayumi H Inouye
Jeanfrancois D Royster
Stacey H Glick
Rodrigues C Figeroa
Ashley L Campain
Greenwood F Foller
Ashley B Briddick
Izzy V Royster
Faith I Kolmetz
Silvio E Stenseth
Silvio B Morasca
Murillo V Bowley
Leon H Iturbide
Izzy C Ferencz
Silvio B Malet
Munro I Bowley
Clifford D Rim
Sinclair J Paprocki
Murillo U Bolognia
Claire F Wieser
Morrow E Caudy
Alejandro S Amigon
Cody H Nicka
Munro O Kusko
Octavia A Malet
Juan O Gillian
Emily U Chui
Stacey I Nestle
Ashley U Ostrosky
Mujtaba K Chui
David V Perin
Munro L Gaucho
Leon O Caldarera
Wickens K Bowley
David T Waycott
Octavia H Ostrosky
Ashley T Inouye
Smith T Malet
Darci H Gaucho
Salvatore B Nestle
IdCountryDate
1000Japan2026-09-09
1001Argentina2026-09-30
1002Japan2026-09-27
1003India2026-09-29
1004Japan2026-10-03
1005United Kingdom2026-09-22
1006India2026-09-19
1007Canada2026-09-10
1008France2026-09-14
1009Canada2026-09-17
1010Spain2026-09-22
1011Spain2026-09-10
1012Argentina2026-09-25
1013Argentina2026-09-29
1014Japan2026-10-04
1015Germany2026-09-06
1016Germany2026-09-12
1017Argentina2026-10-03
1018Argentina2026-09-11
1019Australia2026-09-09
1020India2026-09-06
1021Italy2026-09-18
1022Spain2026-10-04
1023India2026-09-27
1024Canada2026-10-04
1025France2026-09-23
1026United Kingdom2026-09-27
1027Spain2026-09-18
1028Brazil2026-09-08
1029Spain2026-09-13
1030United Kingdom2026-09-20
1031Argentina2026-09-11
1032India2026-09-09
1033France2026-09-30
1034Italy2026-09-06
1035United Kingdom2026-10-04
1036Canada2026-09-14
1037Japan2026-09-21
1038Spain2026-10-05
1039Japan2026-09-11
1040Japan2026-10-02
1041Russia2026-09-06
1042Canada2026-10-02
1043Spain2026-09-12
1044Japan2026-09-24
1045Russia2026-09-30
1046Japan2026-09-26
1047Russia2026-09-17
1048France2026-09-16
1049United Kingdom2026-09-17

On-Demand Data

NameIdCountryDate
Isabel Z Slusarski1000Brazil2026-09-17
Jefferson Z Perin1001Germany2026-09-12
James H Shinko1002Brazil2026-09-15
Izzy E Kolmetz1003France2026-09-19
Mujtaba O Bowley1004Japan2026-09-19
Johnson M Gillian1005Spain2026-10-02
Emily C Marrier1006Italy2026-10-04
Nicolas F Caudy1007Canada2026-10-04
Nicolas Q Royster1008Germany2026-09-28
Octavia Q Gaucho1009Australia2026-10-01
Wickens Q Stockham1010Japan2026-10-04
Adams C Ferencz1011India2026-10-05
Greenwood N Stenseth1012Spain2026-09-06
Aika G Butt1013Germany2026-10-05
Stacey Z Inouye1014Canada2026-09-17
Wickens G Iturbide1015Spain2026-09-14
Aditya S Paprocki1016Australia2026-09-22
Silvio H Butt1017Italy2026-09-19
Emily Q Garufi1018Italy2026-09-06
James T Perin1019France2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens H SlusarskiFranceElwin Sharvill NEGOTIATION
Chavez O VenereGermanyIoni Bowcher UNQUALIFIED
Nicolas M VenereAustraliaAmy Elsner RENEWAL
Aditya J CaldareraIndiaOnyama Limba PROPOSAL
Faith M StensethJapanAnna Fali RENEWAL
Clifford E PerinItalyElwin Sharvill PROPOSAL
James Q WieserArgentinaBernardo Dominic UNQUALIFIED
Mayumi X RimItalyAnna Fali UNQUALIFIED
Kadeem P RoysterRussiaStephen Shaw RENEWAL
David T NickaJapanXuxue Feng PROPOSAL
Misaki H CaudyRussiaIoni Bowcher NEW
Jones T AlbaresArgentinaAsiya Javayant RENEWAL
Aruna Y SergiArgentinaAnna Fali UNQUALIFIED
Deepesh L CaudyGermanyXuxue Feng PROPOSAL
Francesco O CaldareraItalyOnyama Limba NEW
Jefferson Q KolmetzCanadaIoni Bowcher PROPOSAL
Isabel B WieserArgentinaStephen Shaw RENEWAL
Francesco X FlosiFranceStephen Shaw NEGOTIATION
Aika P MarrierRussiaIoni Bowcher RENEWAL
Jefferson P ChuiFranceIvan Magalhaes NEGOTIATION
Misaki D GarufiSpainIvan Magalhaes RENEWAL
Smith A DarakjyFranceAnna Fali NEGOTIATION
Wickens V VenereCanadaIvan Magalhaes NEW
David P CampainRussiaXuxue Feng NEGOTIATION
Francesco N CampainArgentinaStephen Shaw NEW
Clifford W IturbideRussiaIvan Magalhaes NEW
Adams F WhobreyJapanStephen Shaw NEW
Jennifer E WieserAustraliaAmy Elsner PROPOSAL
Chavez C AlbaresUnited KingdomBernardo Dominic NEW
Mayumi A BowleyAustraliaElwin Sharvill PROPOSAL
Darci E PoquetteItalyStephen Shaw NEW
Emily K DoeSpainAnna Fali QUALIFIED
Chavez B GauchoGermanyAnna Fali RENEWAL
Mayumi G KolmetzCanadaIvan Magalhaes RENEWAL
Costa K DarakjySpainAnna Fali NEGOTIATION
Wickens V OldroydSpainBernardo Dominic UNQUALIFIED
Rodrigues F NickaIndiaIvan Magalhaes PROPOSAL
Mayumi R WhobreySpainXuxue Feng NEGOTIATION
Mayumi J WaycottBrazilAmy Elsner PROPOSAL
Costa X SlusarskiItalyElwin Sharvill RENEWAL

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