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
Arvin R BriddickSpainElwin Sharvill NEGOTIATION
Leja T CampainArgentinaAmy Elsner QUALIFIED
Aditya W AlbaresFranceXuxue Feng UNQUALIFIED
Murillo O GillianItalyOnyama Limba QUALIFIED
Antonio S ButtFranceIoni Bowcher PROPOSAL
Clifford D StensethAustraliaStephen Shaw PROPOSAL
Emily Q DarakjyItalyXuxue Feng NEW
Costa L RulapaughIndiaAmy Elsner QUALIFIED
Aditya V RimCanadaAsiya Javayant PROPOSAL
Antonio C SaylorsBrazilIvan Magalhaes NEW
Antonio P GillianJapanAsiya Javayant QUALIFIED
Ricardo H CaudyAustraliaAsiya Javayant PROPOSAL
Alejandro E InouyeSpainAmy Elsner NEGOTIATION
Faith L AmigonRussiaBernardo Dominic UNQUALIFIED
Octavia D DilliardJapanAmy Elsner RENEWAL
Tony G MarrierGermanyOnyama Limba UNQUALIFIED
Munro F ChuiIndiaIoni Bowcher QUALIFIED
Mujtaba X CaldareraUnited KingdomAmy Elsner RENEWAL
Aika E PoquetteGermanyXuxue Feng RENEWAL
Juan D MaletIndiaOnyama Limba RENEWAL
Tony C PaprockiAustraliaIvan Magalhaes PROPOSAL
Cody D WieserItalyAmy Elsner PROPOSAL
Chavez P RulapaughCanadaIoni Bowcher NEW
Juan U BriddickArgentinaXuxue Feng RENEWAL
Leja M OldroydArgentinaXuxue Feng UNQUALIFIED
Wickens I GarufiUnited KingdomElwin Sharvill PROPOSAL
Cody S SchemmerJapanOnyama Limba NEGOTIATION
Cody T VocelkaCanadaIoni Bowcher UNQUALIFIED
Jennifer L DoeSpainElwin Sharvill RENEWAL
Costa H MacleadGermanyStephen Shaw NEW
Isabel J NestleFranceXuxue Feng UNQUALIFIED
Alejandro M PaprockiFranceElwin Sharvill UNQUALIFIED
Rodrigues H CampainCanadaBernardo Dominic NEW
Arvin G GlickItalyStephen Shaw NEGOTIATION
Isabel J MacleadCanadaAnna Fali PROPOSAL
Smith U TollnerArgentinaAnna Fali UNQUALIFIED
Greenwood Q DoeIndiaXuxue Feng NEW
Greenwood C FollerIndiaXuxue Feng RENEWAL
Ashley Y TollnerAustraliaStephen Shaw RENEWAL
Ashley M BriddickItalyIvan Magalhaes RENEWAL
Francesco S KolmetzItalyOnyama Limba PROPOSAL
Darci I MaletBrazilAmy Elsner PROPOSAL
Izzy Q GillianCanadaIvan Magalhaes UNQUALIFIED
Claire D NestleIndiaOnyama Limba NEW
Jennifer H ShinkoAustraliaAsiya Javayant UNQUALIFIED
Aruna H PerinArgentinaAsiya Javayant UNQUALIFIED
Leja Z SlusarskiGermanyElwin Sharvill QUALIFIED
Faith C OldroydFranceBernardo Dominic NEGOTIATION
Chavez F PerinRussiaBernardo Dominic QUALIFIED
Rodrigues U SlusarskiFranceAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh C NestleFranceStephen Shaw PROPOSAL
Murillo P GillianAustraliaAmy Elsner PROPOSAL
Maisha V KuskoSpainIvan Magalhaes NEGOTIATION
Costa A SergiRussiaAsiya Javayant QUALIFIED
Arvin E BriddickUnited KingdomIvan Magalhaes PROPOSAL
Misaki F TollnerGermanyBernardo Dominic NEGOTIATION
Mujtaba Y FlosiFranceElwin Sharvill RENEWAL
Francesco L PerinSpainIoni Bowcher RENEWAL
Isabel E WieserItalyElwin Sharvill RENEWAL
Kaitlin U ShinkoFranceStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin P OldroydIndia2026-10-10Commercial Press NEW54Anna Fali
1001Izzy L SaylorsGermany2026-10-16Feiner Bros QUALIFIED71Amy Elsner
1002Murillo J MarrierRussia2026-10-19Chanay, Jeffrey A Esq NEGOTIATION71Bernardo Dominic
1003Juan W AlbaresSpain2026-09-25Chanay, Jeffrey A Esq PROPOSAL78Asiya Javayant
1004Ashley V GlickRussia2026-09-26Printing Dimensions NEW15Asiya Javayant
1005Deepesh P FerenczFrance2026-10-18Chemel, James L Cpa NEGOTIATION42Xuxue Feng
1006Darci L DoeArgentina2026-10-15Printing Dimensions UNQUALIFIED90Elwin Sharvill
1007Munro S WieserBrazil2026-10-09Rousseaux, Michael Esq PROPOSAL57Ivan Magalhaes
1008Leja C GillianIndia2026-10-11Chapman, Ross E Esq NEW97Ioni Bowcher
1009Cody Z SchemmerUnited Kingdom2026-10-12Truhlar And Truhlar Attys PROPOSAL44Anna Fali
1010Antonio R KuskoSpain2026-09-27Chanay, Jeffrey A Esq PROPOSAL26Amy Elsner
1011Ivar S FigeroaItaly2026-09-27Feiner Bros NEGOTIATION40Elwin Sharvill
1012Octavia E AlbaresSpain2026-10-05Morlong Associates RENEWAL64Ioni Bowcher
1013Morrow C SchemmerFrance2026-10-02Dorl, James J Esq NEGOTIATION84Onyama Limba
1014Mayumi D IturbideArgentina2026-10-14Chemel, James L Cpa NEW11Stephen Shaw
1015Silvio G SergiGermany2026-09-25Benton, John B Jr QUALIFIED1Xuxue Feng
1016Greenwood R OstroskyBrazil2026-10-07Feiner Bros PROPOSAL37Onyama Limba
1017Leja Q GlickFrance2026-10-11Feltz Printing Service NEGOTIATION25Xuxue Feng
1018Juan X BologniaRussia2026-10-04Dorl, James J Esq QUALIFIED39Stephen Shaw
1019Jones L RulapaughAustralia2026-10-13Chemel, James L Cpa NEW9Anna Fali
1020Jefferson H GlickIndia2026-10-08Rangoni Of Florence PROPOSAL96Asiya Javayant
1021Jefferson I BowleyItaly2026-10-16Chemel, James L Cpa NEGOTIATION6Xuxue Feng
1022Leja B FigeroaBrazil2026-10-20Dorl, James J Esq RENEWAL70Onyama Limba
1023Leja L DoeItaly2026-09-23Feiner Bros NEGOTIATION95Amy Elsner
1024Jefferson B WhobreyIndia2026-10-18Printing Dimensions PROPOSAL3Amy Elsner
1025Costa O GlickSpain2026-10-17Feiner Bros QUALIFIED61Ioni Bowcher
1026Mayumi D VenereAustralia2026-10-13Chemel, James L Cpa QUALIFIED77Bernardo Dominic
1027Arvin X ChuiItaly2026-10-13Printing Dimensions RENEWAL11Stephen Shaw
1028Julie H CampainIndia2026-10-04Chanay, Jeffrey A Esq NEGOTIATION55Bernardo Dominic
1029Darci U ButtAustralia2026-10-01Morlong Associates RENEWAL30Asiya Javayant
1030Kadeem Z CaldareraItaly2026-10-04Printing Dimensions RENEWAL92Asiya Javayant
1031Cody O VocelkaArgentina2026-10-16King, Christopher A Esq NEW63Onyama Limba
1032Ashley V MaletSpain2026-10-10King, Christopher A Esq UNQUALIFIED96Bernardo Dominic
1033Tony K BowleyGermany2026-10-15Chemel, James L Cpa NEW97Elwin Sharvill
1034Jefferson O ShinkoArgentina2026-10-14Benton, John B Jr NEW27Ivan Magalhaes
1035Alejandro Y TollnerJapan2026-09-24Feiner Bros NEGOTIATION96Ioni Bowcher
1036Mayumi T StensethCanada2026-10-18Chemel, James L Cpa PROPOSAL60Anna Fali
1037Nicolas U RulapaughArgentina2026-09-30Feltz Printing Service RENEWAL62Elwin Sharvill
1038Greenwood H FerenczFrance2026-09-27Chemel, James L Cpa NEGOTIATION64Amy Elsner
1039David T DarakjyIndia2026-09-27Feiner Bros QUALIFIED35Anna Fali
1040Mujtaba C OldroydItaly2026-10-19Benton, John B Jr NEW47Onyama Limba
1041Tony I ButtGermany2026-09-27Rangoni Of Florence UNQUALIFIED67Asiya Javayant
1042Greenwood R SergiIndia2026-09-23Truhlar And Truhlar Attys RENEWAL84Stephen Shaw
1043Jones R FollerSpain2026-09-30Commercial Press PROPOSAL86Anna Fali
1044Leon D DarakjyBrazil2026-09-23Chemel, James L Cpa PROPOSAL15Ioni Bowcher
1045Smith V GlickSpain2026-09-26King, Christopher A Esq NEGOTIATION68Amy Elsner
1046Chavez R OldroydIndia2026-10-20Feiner Bros PROPOSAL20Onyama Limba
1047Claire P OldroydIndia2026-10-11Benton, John B Jr UNQUALIFIED2Anna Fali
1048Adams W FlosiCanada2026-09-30Chapman, Ross E Esq RENEWAL39Stephen Shaw
1049Claire J GlickIndia2026-10-01Commercial Press NEGOTIATION50Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jones Q BologniaJapanXuxue Feng QUALIFIED
Juan S SlusarskiJapanXuxue Feng NEGOTIATION
Isabel O SaylorsIndiaXuxue Feng QUALIFIED
Jones H FlosiItalyXuxue Feng PROPOSAL
Misaki B RoysterSpainBernardo Dominic NEGOTIATION
Mayumi Q CaudyIndiaElwin Sharvill NEGOTIATION
Izzy E CampainSpainAsiya Javayant NEGOTIATION
Wickens T PerinCanadaIvan Magalhaes UNQUALIFIED
Mayumi O BowleyBrazilXuxue Feng RENEWAL
Leja V PoquetteSpainOnyama Limba RENEWAL
Silvio D WieserSpainXuxue Feng NEW
Aditya F DoeFranceBernardo Dominic NEGOTIATION
Wickens K DilliardGermanyIoni Bowcher RENEWAL
Cody C PaprockiItalyOnyama Limba QUALIFIED
Jefferson C DarakjyRussiaBernardo Dominic NEGOTIATION
Izzy J RulapaughArgentinaAnna Fali UNQUALIFIED
Maisha J MaletJapanOnyama Limba UNQUALIFIED
Aditya S ChuiItalyBernardo Dominic QUALIFIED
Greenwood P SaylorsAustraliaElwin Sharvill NEW
Deepesh T BriddickAustraliaIoni Bowcher QUALIFIED
Ashley D StensethArgentinaIvan Magalhaes RENEWAL
Morrow K VocelkaSpainBernardo Dominic PROPOSAL
Alejandro G CaudyItalyIoni Bowcher PROPOSAL
Misaki U MarrierJapanElwin Sharvill RENEWAL
Kaitlin P PoquetteSpainElwin Sharvill QUALIFIED
Claire T MorascaBrazilIvan Magalhaes NEW
Jones R ButtSpainStephen Shaw NEGOTIATION
Misaki H RulapaughUnited KingdomStephen Shaw RENEWAL
Deepesh B CaldareraSpainBernardo Dominic NEGOTIATION
James Z BriddickArgentinaElwin Sharvill NEW
Smith V MorascaCanadaIoni Bowcher RENEWAL
Deepesh P GillianSpainElwin Sharvill NEGOTIATION
Cody D IturbideSpainAmy Elsner PROPOSAL
Maisha P FollerJapanIoni Bowcher PROPOSAL
Jefferson O AlbaresArgentinaOnyama Limba UNQUALIFIED
Silvio I FigeroaArgentinaAnna Fali NEW
Faith Y WaycottItalyStephen Shaw RENEWAL
Costa V GauchoBrazilIvan Magalhaes NEW
Aika S CaudyCanadaIvan Magalhaes NEW
Claire R BologniaUnited KingdomIvan Magalhaes RENEWAL
Jefferson C PoquetteGermanyIvan Magalhaes PROPOSAL
Adams I StockhamGermanyStephen Shaw UNQUALIFIED
Claire P ChuiCanadaAsiya Javayant NEGOTIATION
Deepesh R BowleySpainIoni Bowcher UNQUALIFIED
Tony P WaycottGermanyStephen Shaw QUALIFIED
Morrow R KuskoAustraliaAmy Elsner UNQUALIFIED
Aika N ChuiFranceBernardo Dominic QUALIFIED
Maisha S WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro I DarakjyFranceAsiya Javayant UNQUALIFIED
Isabel K GauchoGermanyElwin Sharvill RENEWAL
Frozen Columns
Name
Chavez B Venere
Stacey Z Glick
Cody L Morasca
Darci I Waycott
Alejandro Y Vocelka
Jennifer I Marrier
James K Gillian
Juan G Caldarera
Greenwood N Sergi
Silvio T Dilliard
Maisha J Gillian
Jefferson T Butt
Mayumi G Amigon
Kaitlin Y Bowley
Nicolas P Oldroyd
Izzy J Poquette
Sinclair U Albares
Arvin Z Maclead
Smith N Albares
Aika X Glick
Maisha Z Morasca
Mayumi W Glick
Juan B Schemmer
David L Stenseth
David G Nestle
Nicolas S Gillian
Jefferson K Venere
Antonio N Stenseth
Aruna O Foller
Tony H Malet
Morrow S Caldarera
Julie O Figeroa
Octavia I Malet
Claire D Figeroa
Aruna H Rulapaugh
Misaki Q Nicka
Aika A Ferencz
Chavez V Glick
Misaki M Dilliard
Cody W Ruta
Cody R Bolognia
Jefferson Q Caudy
Emily W Malet
Misaki D Garufi
Munro U Gillian
Munro F Bowley
Leja X Glick
Jones O Flosi
Jeanfrancois M Saylors
Juan I Sergi
IdCountryDate
1000Japan2026-09-30
1001Spain2026-09-27
1002Australia2026-10-02
1003France2026-10-16
1004Brazil2026-09-25
1005Italy2026-10-13
1006Canada2026-09-22
1007Germany2026-10-11
1008Italy2026-10-17
1009Argentina2026-10-08
1010Australia2026-10-10
1011India2026-10-02
1012Spain2026-10-03
1013Argentina2026-10-15
1014Russia2026-10-18
1015Canada2026-10-06
1016Japan2026-10-10
1017Russia2026-09-25
1018Italy2026-10-05
1019Russia2026-10-11
1020Australia2026-09-22
1021Italy2026-09-22
1022Australia2026-10-02
1023Australia2026-09-29
1024United Kingdom2026-09-27
1025United Kingdom2026-10-09
1026Germany2026-10-07
1027Japan2026-10-19
1028Spain2026-10-08
1029India2026-09-25
1030Germany2026-10-11
1031Germany2026-10-15
1032Canada2026-10-03
1033Canada2026-09-24
1034Germany2026-09-28
1035Germany2026-10-04
1036Brazil2026-09-26
1037Canada2026-10-04
1038Australia2026-10-07
1039France2026-10-09
1040United Kingdom2026-10-15
1041Australia2026-09-22
1042Australia2026-10-14
1043India2026-10-06
1044Australia2026-10-02
1045India2026-10-02
1046Spain2026-09-30
1047Japan2026-10-14
1048Italy2026-09-25
1049Spain2026-09-23

On-Demand Data

NameIdCountryDate
Ricardo H Albares1000Spain2026-09-26
Darci Q Venere1001Spain2026-10-19
Nicolas A Rim1002France2026-10-19
Darci L Foller1003Germany2026-10-08
Rodrigues B Maclead1004Germany2026-10-18
Misaki D Stenseth1005France2026-10-12
Costa W Garufi1006Russia2026-10-19
Greenwood N Stockham1007Brazil2026-10-07
Aruna A Shinko1008Russia2026-10-19
Maria K Morasca1009France2026-10-10
Adams F Bowley1010Russia2026-10-10
Nicolas L Malet1011Spain2026-10-15
Arvin L Iturbide1012Argentina2026-10-03
Chavez R Rim1013Spain2026-09-28
Faith V Darakjy1014Canada2026-10-18
Aika H Flosi1015Canada2026-10-03
Isabel W Sergi1016France2026-10-21
Clifford P Dilliard1017India2026-09-29
Aika G Ostrosky1018France2026-10-20
Izzy V Waycott1019Spain2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki H BriddickSpainIvan Magalhaes RENEWAL
Mujtaba Q OstroskyItalyStephen Shaw NEW
Murillo K MaletIndiaIvan Magalhaes NEW
Cody B DilliardUnited KingdomAnna Fali NEW
Ivar J ShinkoBrazilOnyama Limba NEGOTIATION
Stacey Q ButtAustraliaXuxue Feng UNQUALIFIED
Deepesh Z AmigonSpainBernardo Dominic QUALIFIED
Stacey A KuskoSpainBernardo Dominic PROPOSAL
Julie J VocelkaAustraliaAsiya Javayant NEGOTIATION
Emily O VenereItalyElwin Sharvill NEGOTIATION
James X SaylorsItalyXuxue Feng RENEWAL
Arvin F NickaIndiaBernardo Dominic PROPOSAL
Nicolas D BriddickArgentinaOnyama Limba RENEWAL
Francesco L DarakjyJapanOnyama Limba UNQUALIFIED
Greenwood L ShinkoIndiaBernardo Dominic RENEWAL
Antonio J RoysterArgentinaStephen Shaw NEGOTIATION
Jones D DoeSpainAnna Fali PROPOSAL
Octavia H OstroskyArgentinaStephen Shaw PROPOSAL
Clifford V RimCanadaIoni Bowcher RENEWAL
Claire V ChuiArgentinaBernardo Dominic NEGOTIATION
Misaki V MorascaArgentinaElwin Sharvill NEW
Emily Q MorascaBrazilOnyama Limba NEGOTIATION
Izzy A AlbaresCanadaElwin Sharvill UNQUALIFIED
Tony F DarakjyRussiaOnyama Limba NEGOTIATION
Leon A SergiItalyAmy Elsner UNQUALIFIED
Adams I WaycottCanadaAsiya Javayant RENEWAL
Jones G AlbaresBrazilOnyama Limba PROPOSAL
Leon N SaylorsIndiaStephen Shaw NEGOTIATION
Mayumi A StensethCanadaStephen Shaw RENEWAL
Kaitlin Z OstroskyFranceIoni Bowcher UNQUALIFIED
James I DarakjyJapanBernardo Dominic NEGOTIATION
Julie N BologniaGermanyAmy Elsner NEW
Darci J SchemmerBrazilAmy Elsner QUALIFIED
Kadeem K VocelkaCanadaStephen Shaw NEW
Munro X OldroydBrazilIoni Bowcher QUALIFIED
Isabel N ButtFranceIoni Bowcher NEW
Jones K FerenczUnited KingdomIoni Bowcher NEW
Kadeem X IturbideItalyOnyama Limba QUALIFIED
Antonio J CaudyAustraliaAnna Fali QUALIFIED
Faith C GauchoItalyAnna Fali NEW

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