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
Isabel G VocelkaUnited KingdomBernardo Dominic QUALIFIED
Ashley R WieserGermanyElwin Sharvill NEGOTIATION
Octavia E BriddickItalyAmy Elsner QUALIFIED
Darci Y SaylorsSpainXuxue Feng PROPOSAL
Aruna M AmigonAustraliaAnna Fali UNQUALIFIED
Jefferson P SlusarskiItalyAsiya Javayant RENEWAL
Isabel S CampainJapanAmy Elsner RENEWAL
Faith C RoysterAustraliaXuxue Feng RENEWAL
Wickens F FigeroaBrazilXuxue Feng NEW
Jennifer S CaudyIndiaBernardo Dominic UNQUALIFIED
Stacey U FlosiBrazilXuxue Feng NEGOTIATION
Kadeem S OldroydAustraliaOnyama Limba QUALIFIED
Alejandro V WieserItalyAsiya Javayant QUALIFIED
Arvin F FerenczIndiaIvan Magalhaes QUALIFIED
Tony F SchemmerAustraliaBernardo Dominic RENEWAL
Cody Y IturbideBrazilAsiya Javayant QUALIFIED
Munro Q WieserArgentinaAmy Elsner NEGOTIATION
Misaki V RoysterIndiaStephen Shaw RENEWAL
Ricardo E FlosiGermanyAsiya Javayant NEGOTIATION
Octavia G IturbideJapanXuxue Feng UNQUALIFIED
Smith T BologniaBrazilXuxue Feng NEW
Costa A DarakjyJapanXuxue Feng PROPOSAL
Nicolas Y GlickFranceIoni Bowcher UNQUALIFIED
Antonio F ButtItalyBernardo Dominic QUALIFIED
Leon D NickaBrazilAnna Fali RENEWAL
Mayumi G MacleadArgentinaElwin Sharvill NEGOTIATION
Sinclair R PerinAustraliaStephen Shaw QUALIFIED
Juan T DarakjyAustraliaBernardo Dominic PROPOSAL
Murillo M CampainBrazilIoni Bowcher NEW
Aika B MaletGermanyXuxue Feng UNQUALIFIED
Leja K FerenczBrazilXuxue Feng RENEWAL
Francesco U NestleAustraliaStephen Shaw RENEWAL
Smith Y IturbideBrazilBernardo Dominic RENEWAL
Wickens G RutaSpainElwin Sharvill PROPOSAL
Salvatore E VenereUnited KingdomAnna Fali PROPOSAL
Francesco Z MaletArgentinaXuxue Feng RENEWAL
Smith Z FollerIndiaIoni Bowcher QUALIFIED
Clifford W StensethItalyStephen Shaw NEGOTIATION
Francesco F CampainAustraliaAsiya Javayant PROPOSAL
Jefferson F ButtFranceAnna Fali QUALIFIED
Antonio K StockhamArgentinaAnna Fali NEGOTIATION
Silvio M MaletSpainIoni Bowcher QUALIFIED
Johnson W MaletItalyAsiya Javayant QUALIFIED
Darci M MarrierUnited KingdomXuxue Feng NEW
Maisha U ChuiRussiaXuxue Feng NEW
Tony S WieserCanadaStephen Shaw NEGOTIATION
Alejandro U BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Johnson J PaprockiArgentinaOnyama Limba QUALIFIED
Cody B VenereFranceAmy Elsner NEW
Mayumi T IturbideItalyXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson W NestleGermanyIoni Bowcher QUALIFIED
Leja T FlosiItalyElwin Sharvill NEW
Munro M GauchoFranceElwin Sharvill PROPOSAL
Sinclair J FerenczJapanStephen Shaw UNQUALIFIED
Ashley L WaycottAustraliaXuxue Feng PROPOSAL
Smith P MaletBrazilBernardo Dominic NEW
Tony X VocelkaGermanyXuxue Feng RENEWAL
Cody B PoquetteBrazilAnna Fali QUALIFIED
Jefferson U GauchoIndiaAnna Fali RENEWAL
Kadeem G PerinSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy S OldroydUnited Kingdom2026-10-15Buckley Miller Wright NEGOTIATION2Ioni Bowcher
1001Maria H MarrierIndia2026-10-18Chanay, Jeffrey A Esq NEGOTIATION26Stephen Shaw
1002Juan W StockhamBrazil2026-11-06Rousseaux, Michael Esq NEW34Asiya Javayant
1003Morrow Y FigeroaArgentina2026-11-01Printing Dimensions NEW14Ivan Magalhaes
1004Mayumi N RoysterItaly2026-11-11Truhlar And Truhlar Attys NEW54Xuxue Feng
1005Leon Q StensethJapan2026-10-17King, Christopher A Esq UNQUALIFIED8Ivan Magalhaes
1006Aika L ButtCanada2026-10-24Benton, John B Jr UNQUALIFIED20Elwin Sharvill
1007Antonio K SaylorsRussia2026-10-28Feltz Printing Service NEGOTIATION76Asiya Javayant
1008Octavia M FollerBrazil2026-11-08Chanay, Jeffrey A Esq NEW69Anna Fali
1009Clifford F SaylorsUnited Kingdom2026-11-07Rousseaux, Michael Esq RENEWAL87Asiya Javayant
1010Chavez R WhobreyArgentina2026-10-18Dorl, James J Esq NEW55Amy Elsner
1011Jefferson T ButtCanada2026-11-02Dorl, James J Esq QUALIFIED88Onyama Limba
1012Aruna I FlosiRussia2026-10-28Dorl, James J Esq NEW41Asiya Javayant
1013Greenwood W KolmetzAustralia2026-10-17Chemel, James L Cpa UNQUALIFIED44Xuxue Feng
1014Kadeem A GillianArgentina2026-10-17Chemel, James L Cpa NEGOTIATION68Amy Elsner
1015Arvin O MaletGermany2026-11-02King, Christopher A Esq RENEWAL52Ioni Bowcher
1016Francesco G SaylorsFrance2026-10-26Truhlar And Truhlar Attys NEGOTIATION28Onyama Limba
1017Aditya P FlosiIndia2026-11-07Feiner Bros PROPOSAL91Elwin Sharvill
1018Maisha Y DarakjyJapan2026-11-03King, Christopher A Esq NEW31Ivan Magalhaes
1019Kaitlin V AmigonSpain2026-10-31Commercial Press PROPOSAL24Amy Elsner
1020Tony B SergiFrance2026-11-01King, Christopher A Esq RENEWAL15Ivan Magalhaes
1021Silvio W OldroydJapan2026-10-16Rousseaux, Michael Esq NEW5Asiya Javayant
1022Antonio Z StensethBrazil2026-10-21Chemel, James L Cpa QUALIFIED86Asiya Javayant
1023Octavia M SlusarskiItaly2026-10-28Printing Dimensions UNQUALIFIED74Stephen Shaw
1024Julie B KuskoIndia2026-10-15King, Christopher A Esq NEGOTIATION53Ioni Bowcher
1025Julie C GlickFrance2026-10-30Printing Dimensions QUALIFIED45Amy Elsner
1026Ricardo C GarufiJapan2026-11-05Rangoni Of Florence QUALIFIED96Onyama Limba
1027Izzy X CampainJapan2026-11-07Truhlar And Truhlar Attys RENEWAL61Elwin Sharvill
1028Antonio L GauchoSpain2026-11-03Chapman, Ross E Esq NEW20Stephen Shaw
1029Morrow N BriddickRussia2026-10-22Morlong Associates NEW97Stephen Shaw
1030Ashley Q ShinkoFrance2026-10-19Buckley Miller Wright RENEWAL48Onyama Limba
1031Smith E SergiRussia2026-10-25Feiner Bros UNQUALIFIED17Stephen Shaw
1032Cody K SergiArgentina2026-10-31Rangoni Of Florence NEGOTIATION39Asiya Javayant
1033Leon M KolmetzIndia2026-10-16Buckley Miller Wright PROPOSAL4Stephen Shaw
1034Smith V WhobreySpain2026-11-03Chapman, Ross E Esq RENEWAL38Ivan Magalhaes
1035Aika Z WieserGermany2026-11-08Printing Dimensions PROPOSAL7Elwin Sharvill
1036Salvatore O RoysterArgentina2026-11-08Printing Dimensions PROPOSAL59Ivan Magalhaes
1037Adams A OldroydAustralia2026-10-30Truhlar And Truhlar Attys NEW97Ivan Magalhaes
1038Ricardo V RoysterGermany2026-11-04King, Christopher A Esq RENEWAL37Amy Elsner
1039David S DoeAustralia2026-10-15King, Christopher A Esq NEW53Stephen Shaw
1040Jones N WieserFrance2026-10-16Feltz Printing Service PROPOSAL94Anna Fali
1041Smith X VocelkaSpain2026-10-26Chemel, James L Cpa NEW54Elwin Sharvill
1042Johnson M ChuiItaly2026-10-20Printing Dimensions NEW13Asiya Javayant
1043Ashley D AmigonSpain2026-10-14Chapman, Ross E Esq QUALIFIED15Elwin Sharvill
1044Kadeem Q StensethBrazil2026-10-27Chapman, Ross E Esq UNQUALIFIED29Stephen Shaw
1045Alejandro N IturbideBrazil2026-11-11Feltz Printing Service QUALIFIED31Anna Fali
1046Kaitlin V GillianUnited Kingdom2026-11-08Feiner Bros RENEWAL61Asiya Javayant
1047Claire H RulapaughFrance2026-10-24Chanay, Jeffrey A Esq NEW78Ivan Magalhaes
1048Mujtaba M MaletItaly2026-10-25Printing Dimensions QUALIFIED2Asiya Javayant
1049Mayumi N BologniaUnited Kingdom2026-10-20Feiner Bros UNQUALIFIED38Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba I FlosiGermanyElwin Sharvill NEW
Ashley I DoeGermanyBernardo Dominic QUALIFIED
Tony V ChuiSpainStephen Shaw QUALIFIED
Rodrigues Q KolmetzAustraliaAnna Fali PROPOSAL
Ricardo W InouyeJapanStephen Shaw QUALIFIED
Adams T RulapaughSpainAnna Fali QUALIFIED
Aika H PoquetteRussiaBernardo Dominic QUALIFIED
Kadeem N VocelkaGermanyBernardo Dominic PROPOSAL
Adams Q MarrierAustraliaStephen Shaw NEW
Ashley J BologniaRussiaBernardo Dominic NEW
Darci V DoeItalyOnyama Limba PROPOSAL
Alejandro S PoquetteGermanyAnna Fali QUALIFIED
Faith A ChuiCanadaOnyama Limba NEGOTIATION
Juan F RutaJapanOnyama Limba NEW
Maria F MorascaGermanyOnyama Limba NEGOTIATION
Costa U RutaBrazilAmy Elsner NEW
Isabel V RutaIndiaStephen Shaw PROPOSAL
Maisha I FerenczIndiaBernardo Dominic UNQUALIFIED
Julie V StockhamUnited KingdomAnna Fali RENEWAL
Alejandro K BowleyGermanyBernardo Dominic NEW
Murillo B VocelkaFranceElwin Sharvill NEGOTIATION
Claire O BologniaSpainBernardo Dominic RENEWAL
David H BologniaRussiaOnyama Limba QUALIFIED
Munro I StockhamItalyAnna Fali NEW
Isabel V RimAustraliaIvan Magalhaes NEGOTIATION
Leon Y GillianGermanyAsiya Javayant UNQUALIFIED
Greenwood Z KolmetzSpainAmy Elsner NEGOTIATION
Sinclair L MarrierItalyAnna Fali NEGOTIATION
Octavia T SergiFranceAnna Fali QUALIFIED
Julie Q IturbideGermanyXuxue Feng PROPOSAL
Salvatore L MaletSpainAmy Elsner RENEWAL
Mayumi Y BologniaFranceXuxue Feng QUALIFIED
Faith S RimArgentinaXuxue Feng NEW
Julie Q RoysterAustraliaBernardo Dominic NEGOTIATION
Ricardo V ChuiUnited KingdomAsiya Javayant QUALIFIED
Arvin Q RulapaughSpainXuxue Feng NEGOTIATION
Jones K ButtArgentinaIoni Bowcher UNQUALIFIED
James J NestleRussiaAnna Fali NEW
Cody N WaycottBrazilOnyama Limba NEW
Jeanfrancois B MarrierFranceOnyama Limba RENEWAL
Jones C SchemmerGermanyOnyama Limba NEW
Rodrigues R SaylorsArgentinaAmy Elsner NEW
Mayumi V RoysterSpainOnyama Limba NEW
Izzy X BologniaRussiaElwin Sharvill RENEWAL
Tony X OstroskySpainOnyama Limba UNQUALIFIED
Isabel J GlickArgentinaIvan Magalhaes RENEWAL
Aika Z RoysterCanadaAsiya Javayant NEW
Aruna D FigeroaRussiaOnyama Limba RENEWAL
Tony Z BriddickFranceAsiya Javayant UNQUALIFIED
Isabel J PaprockiItalyAnna Fali UNQUALIFIED
Frozen Columns
Name
Ashley P Gillian
Rodrigues M Venere
Darci C Venere
Arvin Z Saylors
Nicolas D Bowley
Darci H Sergi
Antonio D Dilliard
Emily J Paprocki
Smith Y Gaucho
Aditya T Caudy
Murillo I Tollner
Aika H Whobrey
Jeanfrancois T Venere
Izzy X Inouye
Cody Y Sergi
Munro N Nestle
Faith H Shinko
Greenwood H Bolognia
Deepesh F Stenseth
Jeanfrancois L Malet
Izzy S Sergi
Wickens X Royster
Morrow L Waycott
Leon A Kolmetz
Claire R Rulapaugh
Murillo R Stockham
Greenwood B Amigon
Chavez K Rulapaugh
Murillo G Ostrosky
Chavez W Butt
Juan P Tollner
Deepesh I Albares
Maisha G Whobrey
Salvatore N Kolmetz
Misaki N Figeroa
Jennifer F Vocelka
Johnson V Amigon
Octavia P Oldroyd
Darci I Briddick
Arvin J Albares
Francesco V Caldarera
Munro E Gillian
Claire E Rim
Mayumi H Butt
Mayumi X Dilliard
Octavia G Nicka
Darci Q Kolmetz
Maria H Chui
Mujtaba E Marrier
Morrow H Flosi
IdCountryDate
1000Australia2026-10-18
1001Argentina2026-10-16
1002Australia2026-10-21
1003India2026-10-18
1004Italy2026-11-04
1005Japan2026-10-31
1006Australia2026-10-18
1007Brazil2026-10-17
1008Australia2026-10-16
1009Canada2026-10-13
1010Argentina2026-10-25
1011Russia2026-10-15
1012Japan2026-10-13
1013Canada2026-10-25
1014United Kingdom2026-11-03
1015Japan2026-10-19
1016Japan2026-11-10
1017Italy2026-10-16
1018Australia2026-11-07
1019France2026-10-14
1020Germany2026-11-01
1021United Kingdom2026-10-24
1022Brazil2026-10-22
1023Canada2026-10-14
1024Russia2026-11-05
1025India2026-11-03
1026Japan2026-10-30
1027Brazil2026-10-28
1028Germany2026-10-30
1029Russia2026-10-29
1030Australia2026-11-07
1031India2026-10-23
1032Canada2026-11-06
1033Spain2026-11-08
1034United Kingdom2026-10-17
1035Italy2026-10-29
1036Spain2026-11-04
1037Spain2026-10-30
1038India2026-10-31
1039Italy2026-11-09
1040India2026-11-05
1041Spain2026-10-28
1042Canada2026-11-10
1043Russia2026-11-08
1044United Kingdom2026-10-24
1045Argentina2026-11-01
1046Japan2026-11-09
1047Argentina2026-11-05
1048Brazil2026-10-22
1049Canada2026-10-15

On-Demand Data

NameIdCountryDate
Alejandro Y Bowley1000Canada2026-10-18
Aditya L Morasca1001Canada2026-11-06
Octavia A Flosi1002Russia2026-10-20
Greenwood G Doe1003Russia2026-10-16
Leon Z Malet1004Spain2026-11-06
Leon E Glick1005India2026-10-29
Juan V Slusarski1006France2026-10-18
Isabel H Gaucho1007Argentina2026-10-28
Izzy T Slusarski1008India2026-11-07
Aruna P Stockham1009Russia2026-10-23
Julie O Kolmetz1010India2026-11-07
Ashley Y Nestle1011Spain2026-11-02
Claire M Kolmetz1012Germany2026-11-04
Murillo L Campain1013Spain2026-10-22
Kadeem W Ferencz1014Spain2026-10-19
Stacey K Waycott1015Russia2026-11-10
Salvatore K Malet1016France2026-10-27
Faith F Albares1017Germany2026-11-02
Rodrigues E Stenseth1018Canada2026-10-21
Emily C Saylors1019United Kingdom2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci A MaletJapanStephen Shaw NEW
Mayumi Y AmigonIndiaIvan Magalhaes PROPOSAL
Ricardo O MorascaJapanElwin Sharvill QUALIFIED
Aruna N MaletArgentinaElwin Sharvill QUALIFIED
Rodrigues S DilliardCanadaAsiya Javayant NEW
Aditya Y SchemmerUnited KingdomOnyama Limba NEGOTIATION
Clifford E ChuiGermanyBernardo Dominic UNQUALIFIED
Johnson D CampainBrazilIvan Magalhaes NEGOTIATION
Chavez L DilliardAustraliaElwin Sharvill PROPOSAL
Jennifer N OldroydFranceAmy Elsner PROPOSAL
Arvin J PerinGermanyAmy Elsner QUALIFIED
Kadeem B RulapaughRussiaXuxue Feng NEGOTIATION
Jones S PerinIndiaOnyama Limba NEW
Ashley J WhobreyArgentinaIoni Bowcher RENEWAL
Emily W AlbaresArgentinaIvan Magalhaes QUALIFIED
Jones N KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Emily H WieserBrazilAsiya Javayant RENEWAL
James W DoeAustraliaAmy Elsner QUALIFIED
Misaki Y NestleFranceXuxue Feng NEW
Jones F VocelkaItalyXuxue Feng NEW
Ashley L NickaArgentinaXuxue Feng PROPOSAL
Stacey R RimUnited KingdomAmy Elsner UNQUALIFIED
Kadeem N FerenczFranceAmy Elsner PROPOSAL
Cody S IturbideGermanyIvan Magalhaes NEGOTIATION
Chavez M FerenczRussiaAsiya Javayant PROPOSAL
Silvio Z CaudyIndiaIvan Magalhaes NEW
Aika C BologniaArgentinaElwin Sharvill NEGOTIATION
James J WhobreyJapanStephen Shaw NEW
Jennifer C VocelkaFranceXuxue Feng QUALIFIED
Chavez V MacleadUnited KingdomXuxue Feng NEW
Morrow H SchemmerAustraliaStephen Shaw QUALIFIED
Smith V BowleyBrazilXuxue Feng NEW
Jones U MacleadFranceAmy Elsner PROPOSAL
Deepesh H NickaIndiaIvan Magalhaes PROPOSAL
Johnson T AmigonSpainIoni Bowcher RENEWAL
Francesco N MacleadIndiaAmy Elsner NEW
Munro T MarrierFranceStephen Shaw UNQUALIFIED
Isabel C PoquetteAustraliaOnyama Limba QUALIFIED
Maria H NestleAustraliaIoni Bowcher NEGOTIATION
Kadeem F SergiUnited KingdomAsiya 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>