Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
James V AmigonArgentinaStephen Shaw NEGOTIATION
Alejandro B FerenczRussiaAsiya Javayant PROPOSAL
Murillo L VenereFranceAnna Fali RENEWAL
Jennifer C CaudyItalyXuxue Feng QUALIFIED
James Q VenereCanadaAsiya Javayant NEGOTIATION
Kaitlin I WhobreyAustraliaXuxue Feng NEW
Kadeem C RulapaughFranceStephen Shaw NEGOTIATION
David G PerinRussiaAnna Fali PROPOSAL
Jefferson A DarakjyGermanyXuxue Feng NEGOTIATION
Arvin S CaldareraItalyAsiya Javayant NEGOTIATION
Murillo P DilliardRussiaAnna Fali UNQUALIFIED
Nicolas C VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Julie V SaylorsAustraliaIoni Bowcher RENEWAL
Jones I CampainItalyIvan Magalhaes UNQUALIFIED
Aditya X WaycottRussiaBernardo Dominic NEW
Octavia S FlosiGermanyAmy Elsner NEW
Sinclair G RimJapanIvan Magalhaes UNQUALIFIED
Stacey P FollerItalyIoni Bowcher UNQUALIFIED
Stacey A MarrierGermanyElwin Sharvill PROPOSAL
Maria P FerenczBrazilAmy Elsner PROPOSAL
Claire N DarakjyBrazilIvan Magalhaes NEGOTIATION
Francesco I FlosiArgentinaAmy Elsner RENEWAL
Jones P MacleadItalyAnna Fali RENEWAL
Maisha B MaletFranceOnyama Limba RENEWAL
Darci C StensethJapanAmy Elsner NEW
Faith P ChuiRussiaAmy Elsner NEW
Jefferson W MaletItalyAmy Elsner PROPOSAL
Murillo D KuskoBrazilIvan Magalhaes PROPOSAL
Maisha W ShinkoItalyIvan Magalhaes NEGOTIATION
Darci P TollnerIndiaAmy Elsner NEGOTIATION
Arvin L PerinBrazilBernardo Dominic QUALIFIED
Leja M PaprockiRussiaIoni Bowcher UNQUALIFIED
Chavez O GlickSpainAmy Elsner PROPOSAL
Smith Q GillianAustraliaAmy Elsner PROPOSAL
Aruna C PaprockiIndiaIoni Bowcher QUALIFIED
Smith M BriddickBrazilAmy Elsner RENEWAL
Salvatore W DarakjyGermanyXuxue Feng QUALIFIED
Sinclair R IturbideFranceOnyama Limba NEGOTIATION
Smith H WhobreyBrazilAsiya Javayant RENEWAL
Sinclair P VenereJapanAmy Elsner NEGOTIATION
Mayumi V GarufiBrazilAsiya Javayant RENEWAL
Silvio O OldroydBrazilIvan Magalhaes NEW
Aruna I KuskoGermanyAnna Fali QUALIFIED
Kadeem X MacleadRussiaAnna Fali PROPOSAL
Greenwood S OldroydBrazilBernardo Dominic NEW
Sinclair U GauchoRussiaStephen Shaw NEW
Wickens S ButtCanadaBernardo Dominic PROPOSAL
Ivar I KuskoIndiaIoni Bowcher RENEWAL
Mujtaba X VocelkaFranceAmy Elsner UNQUALIFIED
Jones J SlusarskiItalyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem L VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Deepesh U GauchoIndiaStephen Shaw RENEWAL
Emily W MorascaSpainIoni Bowcher NEGOTIATION
Johnson V RoysterCanadaAnna Fali PROPOSAL
Aruna S FigeroaArgentinaStephen Shaw UNQUALIFIED
Maria N FollerJapanBernardo Dominic QUALIFIED
Smith E RutaJapanIoni Bowcher PROPOSAL
Salvatore I KolmetzItalyAmy Elsner RENEWAL
Jennifer A SaylorsSpainOnyama Limba UNQUALIFIED
Leon Z MaletSpainBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily H DarakjyCanada2025-07-19Rangoni Of Florence QUALIFIED1Anna Fali
1001Darci B ShinkoIndia2025-07-06Commercial Press UNQUALIFIED35Asiya Javayant
1002Izzy Z NickaItaly2025-07-26Chanay, Jeffrey A Esq PROPOSAL70Anna Fali
1003Jennifer Z FerenczArgentina2025-07-14Benton, John B Jr QUALIFIED12Stephen Shaw
1004David A IturbideIndia2025-07-08Rangoni Of Florence NEGOTIATION56Xuxue Feng
1005Salvatore J MaletItaly2025-07-04King, Christopher A Esq NEW68Asiya Javayant
1006Munro W PoquetteCanada2025-07-04Chanay, Jeffrey A Esq NEGOTIATION73Stephen Shaw
1007Jeanfrancois E BriddickItaly2025-07-18Rousseaux, Michael Esq NEGOTIATION20Anna Fali
1008Adams V PerinItaly2025-07-04Feltz Printing Service UNQUALIFIED29Onyama Limba
1009Jones J DarakjyAustralia2025-07-20Feltz Printing Service NEW32Anna Fali
1010Claire K GillianItaly2025-07-07Truhlar And Truhlar Attys RENEWAL41Anna Fali
1011Sinclair Q PerinIndia2025-07-09King, Christopher A Esq QUALIFIED94Ioni Bowcher
1012Deepesh T DoeUnited Kingdom2025-07-15Buckley Miller Wright NEW14Elwin Sharvill
1013Mujtaba J DilliardBrazil2025-07-25Morlong Associates NEGOTIATION0Stephen Shaw
1014Mayumi D MaletIndia2025-07-26Printing Dimensions NEW46Anna Fali
1015Cody O VocelkaIndia2025-07-26Morlong Associates UNQUALIFIED49Elwin Sharvill
1016Chavez Y KuskoIndia2025-07-15Feiner Bros RENEWAL66Onyama Limba
1017Juan U BologniaIndia2025-07-20Dorl, James J Esq UNQUALIFIED27Elwin Sharvill
1018Maisha I KuskoItaly2025-07-27Rangoni Of Florence NEW0Xuxue Feng
1019Jennifer O VenereSpain2025-07-26Truhlar And Truhlar Attys PROPOSAL89Bernardo Dominic
1020Nicolas G GarufiCanada2025-07-06King, Christopher A Esq NEGOTIATION97Elwin Sharvill
1021Nicolas I OldroydItaly2025-07-01Truhlar And Truhlar Attys UNQUALIFIED98Stephen Shaw
1022Ashley B PaprockiSpain2025-07-28Chemel, James L Cpa NEGOTIATION64Elwin Sharvill
1023Cody M TollnerArgentina2025-07-19Rousseaux, Michael Esq PROPOSAL79Stephen Shaw
1024Ashley C MorascaArgentina2025-07-02Dorl, James J Esq NEW93Amy Elsner
1025Claire N AlbaresIndia2025-07-11Rangoni Of Florence NEW21Onyama Limba
1026Smith A CampainItaly2025-07-19King, Christopher A Esq UNQUALIFIED80Amy Elsner
1027Antonio I MarrierSpain2025-06-30Buckley Miller Wright NEGOTIATION23Xuxue Feng
1028Maria H PoquetteCanada2025-07-09Rousseaux, Michael Esq NEW88Elwin Sharvill
1029Nicolas N BriddickRussia2025-07-23Chanay, Jeffrey A Esq NEW62Asiya Javayant
1030Maisha B RimBrazil2025-07-10Rousseaux, Michael Esq QUALIFIED75Elwin Sharvill
1031Johnson B BriddickFrance2025-07-21Feiner Bros RENEWAL81Anna Fali
1032Salvatore Z VenereRussia2025-07-28Chapman, Ross E Esq NEW99Asiya Javayant
1033Maisha I IturbideGermany2025-07-27Benton, John B Jr NEGOTIATION39Bernardo Dominic
1034David N AlbaresArgentina2025-07-12Commercial Press NEGOTIATION74Onyama Limba
1035Ivar F DarakjyItaly2025-07-10Rousseaux, Michael Esq NEW82Ioni Bowcher
1036Costa B CaudyGermany2025-07-15Buckley Miller Wright NEW54Onyama Limba
1037Smith F KolmetzRussia2025-07-11Rangoni Of Florence QUALIFIED4Ivan Magalhaes
1038Isabel S CampainItaly2025-07-07Truhlar And Truhlar Attys UNQUALIFIED86Ivan Magalhaes
1039Aruna S OldroydBrazil2025-07-17Truhlar And Truhlar Attys NEGOTIATION79Asiya Javayant
1040Mujtaba U FerenczSpain2025-07-11Chapman, Ross E Esq RENEWAL72Xuxue Feng
1041Wickens I BriddickBrazil2025-06-30Commercial Press NEGOTIATION39Elwin Sharvill
1042Alejandro C BriddickAustralia2025-07-07Truhlar And Truhlar Attys NEGOTIATION26Onyama Limba
1043Salvatore C WhobreyAustralia2025-07-07Chanay, Jeffrey A Esq NEW77Ioni Bowcher
1044Wickens A WaycottSpain2025-07-17Printing Dimensions UNQUALIFIED30Stephen Shaw
1045Juan P DarakjyRussia2025-07-18Feltz Printing Service NEGOTIATION68Amy Elsner
1046Isabel A InouyeJapan2025-07-22Morlong Associates QUALIFIED8Bernardo Dominic
1047Aruna K KolmetzAustralia2025-07-26Chapman, Ross E Esq UNQUALIFIED56Asiya Javayant
1048Tony U MaletRussia2025-06-30Truhlar And Truhlar Attys NEW83Anna Fali
1049Adams I VocelkaAustralia2025-07-08Dorl, James J Esq NEW81Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody O PoquetteAustraliaAmy Elsner UNQUALIFIED
Johnson G RimSpainAmy Elsner QUALIFIED
Wickens W KuskoFranceBernardo Dominic UNQUALIFIED
Emily V StensethIndiaIoni Bowcher UNQUALIFIED
Greenwood N GillianSpainElwin Sharvill PROPOSAL
Francesco Q NestleBrazilOnyama Limba QUALIFIED
Salvatore R KuskoItalyOnyama Limba UNQUALIFIED
Claire W AmigonUnited KingdomAmy Elsner PROPOSAL
Nicolas X MacleadIndiaStephen Shaw NEW
Julie F WhobreyIndiaElwin Sharvill UNQUALIFIED
Leon W DilliardIndiaAmy Elsner PROPOSAL
James C GarufiRussiaAnna Fali QUALIFIED
Munro H RimJapanAmy Elsner RENEWAL
Clifford U AlbaresJapanStephen Shaw RENEWAL
Izzy Z InouyeSpainElwin Sharvill NEW
Salvatore Z WaycottJapanOnyama Limba RENEWAL
James V ShinkoBrazilIoni Bowcher NEW
Silvio N RoysterFranceBernardo Dominic PROPOSAL
Morrow C PaprockiRussiaAsiya Javayant NEGOTIATION
Silvio Z KolmetzBrazilAmy Elsner QUALIFIED
Leja B RutaCanadaAnna Fali RENEWAL
Darci L BowleyCanadaIvan Magalhaes QUALIFIED
Julie S MaletGermanyStephen Shaw QUALIFIED
Adams J CaudyCanadaAmy Elsner NEW
Darci P GlickBrazilOnyama Limba QUALIFIED
James K WhobreyIndiaAsiya Javayant NEGOTIATION
Claire E GauchoGermanyOnyama Limba UNQUALIFIED
Clifford F FollerFranceAnna Fali NEW
Greenwood O SchemmerArgentinaXuxue Feng RENEWAL
Faith B FigeroaArgentinaStephen Shaw QUALIFIED
Salvatore E BriddickCanadaXuxue Feng UNQUALIFIED
Jefferson L TollnerArgentinaXuxue Feng UNQUALIFIED
Aditya K BowleyCanadaOnyama Limba NEW
David T OldroydAustraliaXuxue Feng QUALIFIED
Cody W MorascaArgentinaElwin Sharvill QUALIFIED
Francesco P StensethUnited KingdomBernardo Dominic NEW
Kaitlin C BowleyGermanyBernardo Dominic QUALIFIED
Nicolas D FerenczAustraliaElwin Sharvill RENEWAL
James K CampainBrazilElwin Sharvill QUALIFIED
Morrow H SchemmerItalyIvan Magalhaes RENEWAL
Deepesh F FerenczFranceAsiya Javayant RENEWAL
Kaitlin A WieserRussiaBernardo Dominic UNQUALIFIED
Darci X TollnerBrazilAsiya Javayant RENEWAL
Arvin C FlosiAustraliaAsiya Javayant NEW
Kaitlin E RoysterSpainAsiya Javayant UNQUALIFIED
Kadeem Q KuskoGermanyIvan Magalhaes PROPOSAL
Aika W OldroydIndiaBernardo Dominic UNQUALIFIED
Leja D FerenczGermanyOnyama Limba RENEWAL
Deepesh C InouyeGermanyOnyama Limba RENEWAL
James T MarrierRussiaElwin Sharvill RENEWAL
Frozen Columns
Name
Maria P Kusko
Jefferson R Stockham
Tony L Ruta
David X Ostrosky
Claire Y Glick
Jefferson H Waycott
Cody I Perin
Nicolas Z Wieser
Stacey F Royster
Jennifer I Waycott
Clifford E Ruta
Darci I Perin
James H Slusarski
Faith K Caudy
Silvio G Gillian
Cody G Stockham
Nicolas R Venere
Ricardo R Bowley
Costa V Doe
Aditya S Maclead
Salvatore V Ruta
Rodrigues E Rulapaugh
Leja Z Ferencz
Faith X Ruta
Emily K Paprocki
Octavia I Inouye
Isabel M Nestle
Antonio M Kolmetz
Sinclair F Glick
Chavez N Bolognia
Tony Y Figeroa
Darci R Figeroa
Morrow A Nicka
Munro V Perin
Aruna S Gillian
Julie W Nicka
Maisha E Albares
Costa P Vocelka
Jennifer O Malet
Kadeem H Wieser
Stacey R Kusko
Tony G Albares
Munro X Maclead
Costa V Shinko
Kadeem L Nestle
Munro U Perin
Clifford I Iturbide
Isabel U Iturbide
Leja X Sergi
Claire M Glick
IdCountryDate
1000Spain2025-07-27
1001Japan2025-07-08
1002United Kingdom2025-07-27
1003Germany2025-07-23
1004Argentina2025-07-14
1005Germany2025-07-27
1006Germany2025-07-17
1007Russia2025-07-03
1008Germany2025-07-26
1009Argentina2025-07-09
1010Canada2025-07-23
1011India2025-07-12
1012Germany2025-07-10
1013Argentina2025-07-11
1014Australia2025-07-21
1015Brazil2025-07-07
1016Brazil2025-07-04
1017Russia2025-07-15
1018United Kingdom2025-07-14
1019Brazil2025-07-25
1020Japan2025-07-27
1021Spain2025-06-30
1022Italy2025-07-22
1023Australia2025-07-13
1024Spain2025-07-19
1025France2025-07-07
1026Argentina2025-06-30
1027Argentina2025-07-19
1028Canada2025-07-15
1029Argentina2025-07-02
1030India2025-07-12
1031Canada2025-07-16
1032India2025-07-28
1033Spain2025-07-08
1034United Kingdom2025-07-04
1035Brazil2025-07-04
1036Spain2025-06-30
1037Russia2025-07-01
1038India2025-07-19
1039France2025-07-28
1040Russia2025-07-19
1041United Kingdom2025-07-23
1042Japan2025-07-25
1043Japan2025-07-11
1044Brazil2025-07-05
1045Germany2025-07-13
1046Argentina2025-07-24
1047Italy2025-07-15
1048Japan2025-07-24
1049India2025-07-07

On-Demand Data

NameIdCountryDate
Aika V Briddick1000India2025-07-25
Cody K Schemmer1001United Kingdom2025-07-16
Aditya J Nestle1002Brazil2025-07-09
Ivar Y Rim1003United Kingdom2025-07-18
Jennifer V Malet1004Argentina2025-07-29
Emily V Sergi1005Spain2025-07-27
Johnson K Briddick1006United Kingdom2025-07-27
David C Doe1007France2025-07-15
Costa W Caldarera1008Japan2025-07-13
Francesco R Royster1009Australia2025-07-23
Kadeem H Vocelka1010Brazil2025-07-06
Arvin G Poquette1011Brazil2025-07-02
Rodrigues B Campain1012India2025-07-12
Leja J Briddick1013India2025-07-03
Tony A Briddick1014Germany2025-07-15
Misaki U Inouye1015Canada2025-07-24
Leon Z Shinko1016Brazil2025-07-29
Wickens W Stockham1017Spain2025-07-22
Faith Q Dilliard1018Australia2025-07-08
Emily W Amigon1019Germany2025-07-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi S RimGermanyAsiya Javayant RENEWAL
Octavia A KolmetzAustraliaAmy Elsner NEGOTIATION
Arvin W FerenczItalyAmy Elsner QUALIFIED
Emily N WieserBrazilOnyama Limba PROPOSAL
Mujtaba C KolmetzJapanXuxue Feng NEW
Jennifer P SlusarskiSpainBernardo Dominic QUALIFIED
James Y MaletCanadaIoni Bowcher QUALIFIED
Ashley R MacleadGermanyIvan Magalhaes UNQUALIFIED
Ashley D OstroskyBrazilIoni Bowcher PROPOSAL
Aika Q SergiItalyBernardo Dominic PROPOSAL
Nicolas A StockhamGermanyBernardo Dominic NEGOTIATION
Clifford Y SchemmerSpainAnna Fali NEW
Jennifer U MacleadRussiaAnna Fali NEGOTIATION
Ricardo S MaletIndiaElwin Sharvill UNQUALIFIED
Nicolas A AmigonFranceAsiya Javayant NEGOTIATION
Johnson I StockhamGermanyAsiya Javayant NEW
David M MacleadCanadaAsiya Javayant PROPOSAL
Alejandro J AmigonGermanyAnna Fali NEGOTIATION
Izzy R GarufiAustraliaStephen Shaw NEW
David Q ShinkoSpainXuxue Feng PROPOSAL
Claire A AlbaresSpainStephen Shaw NEW
Juan M SlusarskiCanadaElwin Sharvill NEGOTIATION
Emily R FerenczUnited KingdomElwin Sharvill QUALIFIED
Morrow F CampainBrazilAnna Fali PROPOSAL
Kaitlin W FollerFranceAmy Elsner NEW
Izzy T IturbideFranceXuxue Feng NEW
Costa E TollnerRussiaXuxue Feng PROPOSAL
Stacey Q NestleSpainElwin Sharvill RENEWAL
Alejandro J GillianUnited KingdomIvan Magalhaes PROPOSAL
David F NestleAustraliaIoni Bowcher RENEWAL
Izzy V AmigonFranceStephen Shaw NEW
Faith J DoeJapanIvan Magalhaes UNQUALIFIED
Arvin M PaprockiArgentinaIvan Magalhaes NEGOTIATION
Octavia N ShinkoRussiaXuxue Feng UNQUALIFIED
Misaki U MacleadSpainOnyama Limba UNQUALIFIED
Ricardo A FollerIndiaAsiya Javayant QUALIFIED
Misaki D RutaAustraliaElwin Sharvill QUALIFIED
Sinclair O FlosiAustraliaAnna Fali UNQUALIFIED
Mayumi M TollnerFranceAsiya Javayant PROPOSAL
Johnson O WhobreyJapanAnna Fali 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>