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 Z KolmetzBrazilAsiya Javayant UNQUALIFIED
Rodrigues E WaycottArgentinaStephen Shaw NEW
Wickens Y GauchoAustraliaStephen Shaw UNQUALIFIED
Leon C ShinkoArgentinaAsiya Javayant PROPOSAL
Nicolas H BriddickArgentinaOnyama Limba QUALIFIED
Darci D DilliardArgentinaIoni Bowcher PROPOSAL
Mujtaba X KuskoSpainOnyama Limba NEGOTIATION
Ashley B SchemmerGermanyAnna Fali PROPOSAL
Mayumi E SaylorsUnited KingdomAsiya Javayant RENEWAL
Silvio Q CaudyArgentinaElwin Sharvill QUALIFIED
David R MaletSpainOnyama Limba UNQUALIFIED
Rodrigues D BologniaBrazilStephen Shaw RENEWAL
Mayumi G ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Greenwood H AmigonFranceStephen Shaw NEGOTIATION
Francesco R StensethArgentinaStephen Shaw PROPOSAL
Morrow T BriddickSpainAsiya Javayant PROPOSAL
Maisha A ChuiBrazilXuxue Feng QUALIFIED
Antonio D ChuiCanadaIvan Magalhaes NEGOTIATION
Cody K CaldareraGermanyIoni Bowcher NEW
Misaki O MarrierBrazilIvan Magalhaes UNQUALIFIED
Jefferson E GillianGermanyOnyama Limba PROPOSAL
Jennifer X RimJapanElwin Sharvill RENEWAL
Faith I OldroydUnited KingdomXuxue Feng PROPOSAL
Jefferson B PerinUnited KingdomAsiya Javayant RENEWAL
Nicolas R MaletCanadaAmy Elsner NEGOTIATION
Morrow C BriddickAustraliaAmy Elsner UNQUALIFIED
Ashley P DilliardItalyAnna Fali NEW
Octavia D IturbideBrazilIoni Bowcher QUALIFIED
Antonio S FollerBrazilXuxue Feng NEW
Cody R GauchoUnited KingdomOnyama Limba NEW
Rodrigues J StensethItalyIoni Bowcher NEGOTIATION
Tony F OldroydArgentinaOnyama Limba PROPOSAL
Kadeem B SaylorsItalyAnna Fali QUALIFIED
Deepesh R MaletGermanyStephen Shaw NEGOTIATION
Johnson U StockhamArgentinaAmy Elsner NEW
Aika Z OldroydGermanyXuxue Feng QUALIFIED
Aruna J GarufiRussiaStephen Shaw NEW
Adams U GillianGermanyBernardo Dominic NEW
Greenwood K IturbideIndiaBernardo Dominic NEGOTIATION
Salvatore F OstroskyGermanyStephen Shaw PROPOSAL
Sinclair U MorascaBrazilAnna Fali NEW
David G KuskoCanadaAsiya Javayant PROPOSAL
Arvin Y RutaArgentinaAmy Elsner NEGOTIATION
Izzy T SchemmerAustraliaAnna Fali UNQUALIFIED
Costa D FerenczIndiaBernardo Dominic NEW
Faith N BologniaArgentinaStephen Shaw NEW
Wickens B WhobreyUnited KingdomAnna Fali PROPOSAL
Arvin E StockhamUnited KingdomStephen Shaw PROPOSAL
Chavez L TollnerRussiaBernardo Dominic RENEWAL
Kaitlin R ShinkoArgentinaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Morrow D DoeRussiaBernardo Dominic PROPOSAL
Rodrigues T PoquetteSpainAmy Elsner PROPOSAL
James M ChuiRussiaElwin Sharvill NEW
Smith V CaldareraJapanAmy Elsner PROPOSAL
Tony S KuskoCanadaAmy Elsner QUALIFIED
Ricardo Y PoquetteCanadaElwin Sharvill PROPOSAL
Costa Q SaylorsFranceIvan Magalhaes NEGOTIATION
Salvatore C GauchoSpainBernardo Dominic NEW
Munro Q TollnerAustraliaIvan Magalhaes PROPOSAL
Murillo J BriddickFranceStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Q AlbaresItaly2026-08-30King, Christopher A Esq NEW33Elwin Sharvill
1001Tony B GillianJapan2026-09-27Commercial Press UNQUALIFIED49Elwin Sharvill
1002Munro E OstroskyItaly2026-09-08Chapman, Ross E Esq QUALIFIED98Stephen Shaw
1003Claire B FollerCanada2026-08-29Dorl, James J Esq NEGOTIATION78Bernardo Dominic
1004Kaitlin A ChuiArgentina2026-09-13Chapman, Ross E Esq NEGOTIATION31Onyama Limba
1005Misaki C PaprockiBrazil2026-09-12Rangoni Of Florence UNQUALIFIED42Elwin Sharvill
1006Morrow C RimJapan2026-09-05Feltz Printing Service NEW21Amy Elsner
1007Mayumi B GarufiJapan2026-09-02Chemel, James L Cpa NEGOTIATION87Xuxue Feng
1008Faith H BologniaBrazil2026-09-05Commercial Press NEW91Xuxue Feng
1009Murillo S MaletCanada2026-09-26Morlong Associates UNQUALIFIED64Stephen Shaw
1010Jones D DarakjyCanada2026-09-08Commercial Press NEW21Onyama Limba
1011Leon B GlickCanada2026-09-26Buckley Miller Wright PROPOSAL87Onyama Limba
1012Adams F ChuiIndia2026-09-05Dorl, James J Esq UNQUALIFIED69Stephen Shaw
1013Antonio P DoeUnited Kingdom2026-09-07Rousseaux, Michael Esq RENEWAL1Ivan Magalhaes
1014Aditya J AmigonGermany2026-09-25Buckley Miller Wright RENEWAL4Ioni Bowcher
1015Leja V NestleIndia2026-09-10Commercial Press RENEWAL94Anna Fali
1016Aruna A RoysterRussia2026-09-14Benton, John B Jr QUALIFIED66Anna Fali
1017Mayumi L NickaJapan2026-09-16Feiner Bros NEGOTIATION37Ivan Magalhaes
1018Clifford R SergiIndia2026-09-19Rousseaux, Michael Esq RENEWAL65Anna Fali
1019Deepesh A CampainFrance2026-08-30Benton, John B Jr NEGOTIATION1Elwin Sharvill
1020Cody N BowleyItaly2026-09-03Chanay, Jeffrey A Esq NEW26Asiya Javayant
1021Maria B DilliardAustralia2026-09-24Chanay, Jeffrey A Esq NEW2Asiya Javayant
1022Francesco J MacleadAustralia2026-09-10Feltz Printing Service NEGOTIATION77Onyama Limba
1023Emily U GarufiAustralia2026-09-07Feiner Bros NEGOTIATION15Anna Fali
1024Aika O BriddickUnited Kingdom2026-09-13Dorl, James J Esq QUALIFIED3Elwin Sharvill
1025Stacey V BriddickUnited Kingdom2026-09-11Printing Dimensions NEGOTIATION22Xuxue Feng
1026Aditya G ShinkoArgentina2026-09-01Chanay, Jeffrey A Esq NEGOTIATION58Bernardo Dominic
1027Clifford C KuskoGermany2026-09-02Buckley Miller Wright UNQUALIFIED28Amy Elsner
1028Arvin G KuskoJapan2026-09-22Dorl, James J Esq RENEWAL52Ioni Bowcher
1029Silvio Z BologniaIndia2026-09-27King, Christopher A Esq UNQUALIFIED56Bernardo Dominic
1030Deepesh U IturbideItaly2026-09-06Feltz Printing Service NEGOTIATION71Onyama Limba
1031Ashley P GillianCanada2026-09-26Chanay, Jeffrey A Esq NEGOTIATION99Elwin Sharvill
1032Jeanfrancois Z AmigonAustralia2026-09-13Commercial Press NEW69Anna Fali
1033Adams W CaudyBrazil2026-09-11Feltz Printing Service PROPOSAL37Xuxue Feng
1034Tony Y SchemmerUnited Kingdom2026-08-30Truhlar And Truhlar Attys NEW71Bernardo Dominic
1035Aika S MaletItaly2026-09-27Feiner Bros NEW23Ivan Magalhaes
1036Stacey Y SaylorsArgentina2026-09-11Feltz Printing Service NEW20Ioni Bowcher
1037Leja O WieserJapan2026-09-19Rousseaux, Michael Esq NEW54Asiya Javayant
1038Costa B FerenczUnited Kingdom2026-09-02Morlong Associates QUALIFIED8Asiya Javayant
1039Izzy Z ShinkoIndia2026-09-13Rangoni Of Florence UNQUALIFIED45Stephen Shaw
1040Adams Y PaprockiItaly2026-09-10Printing Dimensions NEW8Elwin Sharvill
1041Ashley R ChuiGermany2026-09-14Buckley Miller Wright UNQUALIFIED87Amy Elsner
1042Emily D OstroskyRussia2026-09-10Benton, John B Jr QUALIFIED28Onyama Limba
1043Francesco F FlosiRussia2026-09-08Morlong Associates NEGOTIATION80Bernardo Dominic
1044Claire N FollerSpain2026-09-25Truhlar And Truhlar Attys QUALIFIED88Asiya Javayant
1045Jennifer G GillianIndia2026-09-13Morlong Associates UNQUALIFIED99Ivan Magalhaes
1046Juan F FerenczIndia2026-09-24Rangoni Of Florence NEW66Elwin Sharvill
1047Julie V VocelkaIndia2026-08-30Dorl, James J Esq UNQUALIFIED46Amy Elsner
1048Tony L KuskoFrance2026-09-04King, Christopher A Esq PROPOSAL56Elwin Sharvill
1049David G FigeroaBrazil2026-09-07Rousseaux, Michael Esq QUALIFIED27Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya J GlickJapanIvan Magalhaes NEGOTIATION
Johnson G ShinkoAustraliaAmy Elsner NEW
David L FollerUnited KingdomOnyama Limba NEW
Maria T GlickFranceAmy Elsner NEGOTIATION
Wickens N CaldareraSpainOnyama Limba RENEWAL
Munro T RulapaughJapanAmy Elsner UNQUALIFIED
Maisha Z IturbideGermanyElwin Sharvill QUALIFIED
Kadeem R BologniaIndiaBernardo Dominic UNQUALIFIED
Kadeem R OstroskyIndiaOnyama Limba NEGOTIATION
Clifford A PaprockiUnited KingdomAmy Elsner NEGOTIATION
Sinclair Z SaylorsSpainOnyama Limba PROPOSAL
Sinclair V BriddickJapanOnyama Limba NEW
Maria J CampainJapanBernardo Dominic NEGOTIATION
Chavez Y MaletIndiaIvan Magalhaes NEW
Emily G BowleyCanadaXuxue Feng UNQUALIFIED
Nicolas D RulapaughSpainElwin Sharvill PROPOSAL
Julie Q OstroskyRussiaIvan Magalhaes RENEWAL
Isabel D WieserAustraliaAnna Fali NEGOTIATION
Murillo D RoysterSpainAnna Fali NEW
Kadeem S NickaSpainIvan Magalhaes QUALIFIED
Emily S FerenczIndiaElwin Sharvill NEGOTIATION
Greenwood I CaldareraRussiaIvan Magalhaes NEGOTIATION
Kadeem F VenereCanadaIoni Bowcher PROPOSAL
Antonio T BriddickCanadaAsiya Javayant UNQUALIFIED
Leja N KuskoArgentinaIvan Magalhaes NEGOTIATION
Aditya X RutaFranceXuxue Feng RENEWAL
Isabel Y MaletSpainXuxue Feng NEW
Murillo A WieserAustraliaStephen Shaw RENEWAL
Salvatore K BowleyIndiaElwin Sharvill UNQUALIFIED
Izzy J WaycottJapanAmy Elsner PROPOSAL
Misaki R KuskoAustraliaAnna Fali PROPOSAL
Leon C BowleyIndiaBernardo Dominic RENEWAL
Claire S AlbaresFranceXuxue Feng RENEWAL
Maisha U GarufiRussiaElwin Sharvill PROPOSAL
Darci X RutaItalyAnna Fali UNQUALIFIED
Arvin O VocelkaIndiaIoni Bowcher RENEWAL
Ashley V DilliardUnited KingdomBernardo Dominic NEGOTIATION
Tony I RulapaughIndiaElwin Sharvill PROPOSAL
Ashley Y GlickRussiaElwin Sharvill NEGOTIATION
Aika S WhobreyCanadaBernardo Dominic RENEWAL
Arvin P StockhamAustraliaIvan Magalhaes NEW
James Q VocelkaFranceAmy Elsner PROPOSAL
Cody U InouyeRussiaBernardo Dominic RENEWAL
Jones M MarrierItalyIoni Bowcher NEGOTIATION
Izzy T DoeCanadaAsiya Javayant PROPOSAL
Ashley X PaprockiAustraliaAnna Fali UNQUALIFIED
Leon M VenereRussiaAmy Elsner NEGOTIATION
Leon B SaylorsIndiaStephen Shaw PROPOSAL
Juan V NickaJapanXuxue Feng PROPOSAL
Francesco D BowleyJapanOnyama Limba NEW
Frozen Columns
Name
Chavez S Doe
Jones S Campain
Jefferson C Bowley
Kadeem Z Bowley
Jeanfrancois P Darakjy
Mujtaba A Kusko
Ashley U Chui
David T Gillian
Chavez E Royster
Aditya H Glick
Silvio F Foller
Deepesh N Stenseth
Salvatore R Gaucho
Izzy P Wieser
Ivar T Nicka
Maisha J Darakjy
Cody Y Saylors
David P Albares
Chavez X Saylors
Clifford S Royster
Claire C Doe
Smith K Venere
Arvin A Wieser
Rodrigues H Nicka
Jefferson U Whobrey
Leon P Foller
Adams B Royster
Cody S Whobrey
Kadeem U Kusko
Jones O Morasca
Jennifer Q Ferencz
Emily W Royster
Leja K Gaucho
Alejandro C Whobrey
Maisha L Doe
Darci G Malet
James N Caldarera
Nicolas M Rim
Munro L Foller
James R Wieser
Chavez W Chui
James U Foller
Stacey X Malet
Mujtaba I Paprocki
James W Whobrey
Deepesh U Ferencz
Greenwood Q Maclead
Aruna A Figeroa
Greenwood V Campain
Kaitlin Y Venere
IdCountryDate
1000Russia2026-09-11
1001Brazil2026-09-24
1002Japan2026-09-16
1003France2026-09-01
1004United Kingdom2026-09-15
1005Spain2026-09-04
1006Brazil2026-09-16
1007Japan2026-09-12
1008Germany2026-09-26
1009Spain2026-09-18
1010Japan2026-09-15
1011Spain2026-09-22
1012Japan2026-09-17
1013Italy2026-09-14
1014Spain2026-09-09
1015Italy2026-09-01
1016India2026-09-08
1017France2026-09-06
1018Japan2026-09-24
1019India2026-09-22
1020Australia2026-09-06
1021Italy2026-09-04
1022Russia2026-09-22
1023Italy2026-09-15
1024Brazil2026-09-06
1025India2026-09-05
1026Argentina2026-08-31
1027India2026-09-27
1028Germany2026-09-07
1029Australia2026-09-27
1030Germany2026-09-17
1031Spain2026-09-10
1032Germany2026-09-16
1033Germany2026-09-18
1034Spain2026-09-25
1035United Kingdom2026-09-10
1036Italy2026-09-24
1037Argentina2026-09-27
1038Brazil2026-09-22
1039Argentina2026-09-06
1040Australia2026-09-15
1041Italy2026-08-29
1042Italy2026-09-11
1043Japan2026-09-23
1044Australia2026-08-31
1045Germany2026-09-07
1046Spain2026-09-20
1047Spain2026-09-01
1048Brazil2026-09-10
1049Russia2026-09-02

On-Demand Data

NameIdCountryDate
Deepesh C Dilliard1000Argentina2026-09-01
Cody R Campain1001France2026-09-06
Aika V Sergi1002India2026-09-08
Octavia S Vocelka1003Spain2026-09-18
David W Briddick1004Canada2026-09-06
Alejandro N Vocelka1005Australia2026-09-09
Ivar H Darakjy1006France2026-09-09
Adams N Marrier1007Spain2026-09-03
Cody D Bolognia1008India2026-09-05
Wickens T Slusarski1009Argentina2026-09-05
Munro H Venere1010Italy2026-09-26
Aika K Briddick1011Spain2026-08-29
Nicolas A Venere1012Italy2026-09-20
Ricardo G Caudy1013Spain2026-09-10
James N Figeroa1014Spain2026-09-15
Deepesh I Waycott1015Italy2026-09-26
Salvatore T Dilliard1016Spain2026-09-03
Jeanfrancois K Albares1017Germany2026-09-01
Francesco E Oldroyd1018France2026-09-12
Maisha E Shinko1019Brazil2026-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro D OstroskyFranceElwin Sharvill NEW
Adams H InouyeAustraliaAsiya Javayant RENEWAL
Chavez U RoysterAustraliaIoni Bowcher NEW
Rodrigues G SergiCanadaElwin Sharvill UNQUALIFIED
Leon R GlickIndiaElwin Sharvill UNQUALIFIED
Isabel C CaldareraJapanBernardo Dominic QUALIFIED
Stacey B FerenczSpainAmy Elsner QUALIFIED
Sinclair Y GauchoCanadaAnna Fali NEGOTIATION
Stacey I BowleyArgentinaIoni Bowcher RENEWAL
Leja J DilliardSpainIvan Magalhaes PROPOSAL
Costa G MacleadFranceElwin Sharvill QUALIFIED
Clifford B DilliardCanadaIoni Bowcher NEGOTIATION
Ricardo J FollerItalyIoni Bowcher NEW
Izzy D PerinCanadaElwin Sharvill UNQUALIFIED
Leon P NestleJapanAnna Fali NEGOTIATION
Smith N StockhamAustraliaStephen Shaw NEGOTIATION
Rodrigues L StensethGermanyElwin Sharvill UNQUALIFIED
Alejandro K MorascaItalyOnyama Limba NEW
Julie Z NickaBrazilAnna Fali UNQUALIFIED
Jones N PerinItalyAnna Fali NEW
Cody B SchemmerGermanyIoni Bowcher PROPOSAL
Clifford K BriddickArgentinaOnyama Limba UNQUALIFIED
Aika Q CaldareraAustraliaBernardo Dominic UNQUALIFIED
Tony C InouyeFranceAsiya Javayant NEW
Cody N RutaUnited KingdomStephen Shaw NEW
Ashley V FollerItalyXuxue Feng QUALIFIED
Cody H WieserJapanOnyama Limba QUALIFIED
Juan I FlosiJapanXuxue Feng RENEWAL
Jones L ButtBrazilXuxue Feng NEGOTIATION
Arvin L SaylorsUnited KingdomAnna Fali NEW
Aika K GlickUnited KingdomIvan Magalhaes QUALIFIED
Juan D VenereAustraliaBernardo Dominic PROPOSAL
Munro A WieserFranceAsiya Javayant RENEWAL
Morrow A PaprockiUnited KingdomXuxue Feng PROPOSAL
David K KolmetzArgentinaAnna Fali PROPOSAL
Kadeem I RulapaughRussiaAnna Fali PROPOSAL
Aruna R PaprockiArgentinaAnna Fali RENEWAL
David V MorascaGermanyOnyama Limba NEGOTIATION
Aruna K MarrierIndiaOnyama Limba RENEWAL
Cody X RutaCanadaStephen Shaw 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>