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
Leon C WaycottFranceAnna Fali RENEWAL
Maria G AlbaresArgentinaStephen Shaw NEGOTIATION
Juan Q WaycottIndiaAmy Elsner PROPOSAL
Ricardo F WaycottRussiaBernardo Dominic PROPOSAL
Smith L ShinkoCanadaAsiya Javayant PROPOSAL
Tony W MaletItalyStephen Shaw QUALIFIED
James Z MarrierArgentinaAsiya Javayant NEGOTIATION
Misaki F BologniaItalyAsiya Javayant QUALIFIED
Murillo F GlickJapanBernardo Dominic RENEWAL
David R OstroskyJapanStephen Shaw PROPOSAL
Costa D RimArgentinaAmy Elsner NEGOTIATION
Octavia J ShinkoArgentinaElwin Sharvill NEW
Jeanfrancois O VocelkaIndiaIoni Bowcher UNQUALIFIED
Emily K GlickItalyStephen Shaw PROPOSAL
James Z FollerArgentinaXuxue Feng NEW
Aruna F IturbideIndiaAmy Elsner RENEWAL
Ivar F OstroskyFranceIvan Magalhaes PROPOSAL
Greenwood N AmigonRussiaIoni Bowcher NEGOTIATION
Aditya H FigeroaArgentinaElwin Sharvill RENEWAL
James W CaldareraItalyAmy Elsner UNQUALIFIED
Jones Y DilliardCanadaAmy Elsner QUALIFIED
Leja A StensethIndiaXuxue Feng NEW
Jennifer M ChuiAustraliaElwin Sharvill NEGOTIATION
Clifford I SergiArgentinaAmy Elsner QUALIFIED
Tony S RoysterFranceAnna Fali UNQUALIFIED
Mujtaba D GauchoBrazilBernardo Dominic UNQUALIFIED
Faith I GlickAustraliaAnna Fali NEGOTIATION
Adams K MaletGermanyElwin Sharvill PROPOSAL
Aruna V BowleyBrazilAmy Elsner PROPOSAL
Maria S MaletItalyIoni Bowcher NEGOTIATION
Leon N FollerSpainStephen Shaw QUALIFIED
Smith T VenereAustraliaAnna Fali NEW
Claire D ButtSpainBernardo Dominic UNQUALIFIED
Juan Z OldroydIndiaBernardo Dominic UNQUALIFIED
Ricardo Z DarakjyUnited KingdomAnna Fali UNQUALIFIED
Adams E StockhamCanadaOnyama Limba NEGOTIATION
Jennifer O StockhamFranceAmy Elsner QUALIFIED
Clifford W GlickItalyIoni Bowcher NEGOTIATION
Sinclair B SergiAustraliaBernardo Dominic NEGOTIATION
Aditya V GarufiItalyBernardo Dominic PROPOSAL
Deepesh R RimArgentinaIvan Magalhaes NEGOTIATION
Clifford U FerenczItalyStephen Shaw NEW
Leja Q GarufiAustraliaAmy Elsner PROPOSAL
Kadeem Y OldroydGermanyStephen Shaw NEW
Silvio D MaletFranceBernardo Dominic NEGOTIATION
Antonio A StensethRussiaXuxue Feng UNQUALIFIED
Jones C SchemmerRussiaOnyama Limba NEW
Leon R GauchoCanadaIoni Bowcher NEGOTIATION
Jennifer U ButtGermanyIoni Bowcher NEW
Darci E RulapaughBrazilStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
David O RoysterGermanyAnna Fali NEW
Wickens Y ChuiRussiaAnna Fali PROPOSAL
Aditya J CampainBrazilIoni Bowcher NEGOTIATION
Greenwood Y StockhamCanadaOnyama Limba PROPOSAL
Jefferson I GauchoGermanyStephen Shaw QUALIFIED
Aruna C WieserJapanOnyama Limba NEGOTIATION
Ricardo G MacleadAustraliaIvan Magalhaes NEGOTIATION
Aditya X MarrierGermanyAsiya Javayant RENEWAL
Leon O MaletAustraliaAsiya Javayant PROPOSAL
Maria I MaletRussiaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki I RulapaughItaly2026-09-13Feltz Printing Service RENEWAL53Elwin Sharvill
1001Murillo P PoquetteUnited Kingdom2026-09-10Buckley Miller Wright PROPOSAL41Stephen Shaw
1002James B FlosiJapan2026-09-11Commercial Press UNQUALIFIED7Anna Fali
1003Johnson Z SchemmerIndia2026-09-25Rangoni Of Florence NEGOTIATION33Ivan Magalhaes
1004Deepesh D NickaSpain2026-09-29Feltz Printing Service UNQUALIFIED50Amy Elsner
1005Arvin W NickaJapan2026-09-19Chapman, Ross E Esq NEW80Ivan Magalhaes
1006Maisha D FlosiCanada2026-09-03King, Christopher A Esq RENEWAL18Ioni Bowcher
1007Johnson Z RoysterSpain2026-09-12Chanay, Jeffrey A Esq NEW68Ioni Bowcher
1008Salvatore W SaylorsArgentina2026-09-07Dorl, James J Esq NEGOTIATION9Asiya Javayant
1009Sinclair K KuskoJapan2026-09-16Commercial Press QUALIFIED23Ioni Bowcher
1010Costa K CampainSpain2026-09-28Truhlar And Truhlar Attys QUALIFIED66Xuxue Feng
1011Cody X CaudyIndia2026-09-02Benton, John B Jr UNQUALIFIED83Onyama Limba
1012Emily U SaylorsBrazil2026-09-28Buckley Miller Wright NEW80Ioni Bowcher
1013Jeanfrancois W SergiGermany2026-09-29Printing Dimensions NEW35Ioni Bowcher
1014Maisha E NestleRussia2026-09-09Truhlar And Truhlar Attys QUALIFIED61Ivan Magalhaes
1015Jeanfrancois E AlbaresBrazil2026-09-12Buckley Miller Wright RENEWAL87Ivan Magalhaes
1016Leja X DilliardFrance2026-10-01Chanay, Jeffrey A Esq NEGOTIATION63Onyama Limba
1017Cody Q ChuiRussia2026-09-19Chemel, James L Cpa NEGOTIATION96Elwin Sharvill
1018Leja M NestleBrazil2026-09-07King, Christopher A Esq PROPOSAL77Elwin Sharvill
1019Jennifer O FlosiFrance2026-09-28Feiner Bros UNQUALIFIED8Ioni Bowcher
1020Greenwood G KuskoAustralia2026-09-03Buckley Miller Wright QUALIFIED4Onyama Limba
1021Octavia G DarakjyIndia2026-09-10Morlong Associates RENEWAL10Ioni Bowcher
1022Stacey X BriddickCanada2026-09-03Rousseaux, Michael Esq RENEWAL12Xuxue Feng
1023James C MaletUnited Kingdom2026-09-27Commercial Press NEGOTIATION45Onyama Limba
1024Cody S GillianCanada2026-09-19Truhlar And Truhlar Attys RENEWAL59Ivan Magalhaes
1025Julie C GarufiRussia2026-09-12Truhlar And Truhlar Attys PROPOSAL22Ioni Bowcher
1026Misaki D MarrierBrazil2026-09-28Truhlar And Truhlar Attys NEW33Amy Elsner
1027Jeanfrancois M PoquetteCanada2026-09-13King, Christopher A Esq UNQUALIFIED42Onyama Limba
1028Alejandro U RulapaughArgentina2026-09-17Chanay, Jeffrey A Esq NEW54Asiya Javayant
1029Rodrigues X PaprockiItaly2026-09-27Commercial Press QUALIFIED36Xuxue Feng
1030Greenwood V DarakjyIndia2026-09-25Feiner Bros NEGOTIATION81Bernardo Dominic
1031Ashley Y BriddickItaly2026-09-23Truhlar And Truhlar Attys NEW34Anna Fali
1032Maisha F InouyeIndia2026-09-10Chapman, Ross E Esq NEW40Ioni Bowcher
1033Munro V SergiGermany2026-09-03King, Christopher A Esq QUALIFIED36Stephen Shaw
1034Mujtaba D BriddickJapan2026-09-20Buckley Miller Wright PROPOSAL3Onyama Limba
1035Cody Y FollerAustralia2026-09-04Feltz Printing Service PROPOSAL13Onyama Limba
1036Clifford X MarrierArgentina2026-09-25Chanay, Jeffrey A Esq UNQUALIFIED79Stephen Shaw
1037Misaki Y PoquetteFrance2026-09-16Benton, John B Jr UNQUALIFIED34Xuxue Feng
1038Silvio O DoeItaly2026-09-28Truhlar And Truhlar Attys NEW43Stephen Shaw
1039Jeanfrancois O BriddickJapan2026-09-12Rousseaux, Michael Esq UNQUALIFIED49Elwin Sharvill
1040Sinclair G KuskoFrance2026-09-18Benton, John B Jr NEGOTIATION48Amy Elsner
1041Octavia V PaprockiGermany2026-09-26Buckley Miller Wright NEGOTIATION94Elwin Sharvill
1042Wickens C BriddickBrazil2026-09-02Benton, John B Jr NEGOTIATION15Onyama Limba
1043Jones N MarrierUnited Kingdom2026-09-14Buckley Miller Wright RENEWAL1Onyama Limba
1044Ivar A AmigonBrazil2026-09-10Rousseaux, Michael Esq UNQUALIFIED73Elwin Sharvill
1045Chavez J StensethJapan2026-09-05Buckley Miller Wright UNQUALIFIED71Asiya Javayant
1046David I PaprockiJapan2026-09-21Benton, John B Jr RENEWAL15Ivan Magalhaes
1047Wickens X BowleyAustralia2026-09-20Buckley Miller Wright PROPOSAL13Anna Fali
1048Morrow K SchemmerIndia2026-09-03Printing Dimensions UNQUALIFIED86Asiya Javayant
1049Maria P FollerCanada2026-09-08Printing Dimensions QUALIFIED0Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna T SergiItalyStephen Shaw NEGOTIATION
Ivar Z AmigonBrazilIvan Magalhaes QUALIFIED
Deepesh J MorascaArgentinaAmy Elsner UNQUALIFIED
Octavia X VocelkaSpainBernardo Dominic RENEWAL
Leja Q SaylorsFranceIvan Magalhaes PROPOSAL
Rodrigues J GauchoCanadaXuxue Feng NEW
James O RimArgentinaBernardo Dominic UNQUALIFIED
Nicolas V BowleyIndiaAmy Elsner NEW
David H PoquetteGermanyOnyama Limba NEW
Leon J WieserSpainIvan Magalhaes QUALIFIED
Mujtaba I GlickGermanyAsiya Javayant QUALIFIED
Mayumi E FlosiJapanXuxue Feng NEGOTIATION
Faith E GarufiCanadaXuxue Feng UNQUALIFIED
Cody L VocelkaSpainXuxue Feng NEW
Alejandro Q IturbideJapanBernardo Dominic UNQUALIFIED
Clifford V WhobreyFranceAnna Fali QUALIFIED
Morrow S MacleadGermanyOnyama Limba NEGOTIATION
Smith Z CaldareraSpainBernardo Dominic PROPOSAL
David I ButtFranceAnna Fali NEW
Francesco B RulapaughFranceXuxue Feng UNQUALIFIED
Stacey L FollerFranceOnyama Limba RENEWAL
Ricardo L MaletGermanyBernardo Dominic NEW
Clifford G InouyeIndiaOnyama Limba NEGOTIATION
Wickens I WieserGermanyOnyama Limba PROPOSAL
Faith Z FigeroaAustraliaAnna Fali UNQUALIFIED
Leja A MarrierGermanyIvan Magalhaes NEW
Julie K SaylorsJapanIvan Magalhaes PROPOSAL
Murillo F CaldareraIndiaOnyama Limba NEGOTIATION
Darci U VocelkaGermanyAnna Fali RENEWAL
Sinclair L NickaIndiaBernardo Dominic RENEWAL
Adams I InouyeSpainIvan Magalhaes QUALIFIED
Maisha C RoysterUnited KingdomElwin Sharvill QUALIFIED
Juan H SaylorsAustraliaStephen Shaw NEW
Cody H MacleadCanadaBernardo Dominic NEGOTIATION
James F AmigonRussiaXuxue Feng UNQUALIFIED
Rodrigues R FerenczBrazilElwin Sharvill QUALIFIED
Wickens V MarrierSpainIvan Magalhaes UNQUALIFIED
Costa B RutaGermanyOnyama Limba RENEWAL
Adams O FigeroaSpainElwin Sharvill RENEWAL
Leja R FigeroaJapanIvan Magalhaes RENEWAL
Murillo D KuskoItalyElwin Sharvill QUALIFIED
Antonio M CampainGermanyAsiya Javayant UNQUALIFIED
Aruna D FerenczItalyAmy Elsner PROPOSAL
Maria B SchemmerIndiaElwin Sharvill UNQUALIFIED
Izzy I IturbideRussiaXuxue Feng UNQUALIFIED
Deepesh Q WieserItalyAnna Fali NEGOTIATION
Arvin X RulapaughGermanyIoni Bowcher PROPOSAL
Deepesh L InouyeAustraliaIvan Magalhaes QUALIFIED
Wickens Z RutaBrazilOnyama Limba QUALIFIED
David M MarrierAustraliaAmy Elsner NEGOTIATION
Frozen Columns
Name
Jennifer T Paprocki
Leja Q Sergi
Claire X Morasca
James L Stockham
Wickens G Ruta
Ivar B Tollner
Deepesh C Slusarski
Aika N Malet
Rodrigues O Stenseth
Greenwood S Garufi
Alejandro V Chui
Faith S Campain
Octavia J Glick
Darci P Nicka
Arvin X Bolognia
Wickens U Gillian
Aruna L Whobrey
Aditya G Caudy
Isabel L Slusarski
Leja O Figeroa
Silvio A Malet
Julie D Malet
Darci V Butt
Sinclair D Ruta
Antonio M Oldroyd
Clifford Z Rim
Tony H Vocelka
Salvatore V Butt
Stacey L Paprocki
Chavez R Gaucho
Maisha M Nestle
Greenwood B Foller
Deepesh K Vocelka
Aruna S Iturbide
Antonio R Gillian
Smith F Malet
Aruna J Butt
Adams U Perin
Johnson F Royster
Misaki J Oldroyd
Jefferson T Paprocki
Deepesh Y Marrier
Costa Q Perin
Clifford P Ferencz
Ivar P Nicka
Mayumi H Malet
Mayumi J Campain
Maisha G Rulapaugh
Silvio O Venere
David X Chui
IdCountryDate
1000Canada2026-09-03
1001Spain2026-09-16
1002Australia2026-10-01
1003Spain2026-09-06
1004Italy2026-09-24
1005Russia2026-09-03
1006Italy2026-09-04
1007Japan2026-09-26
1008Spain2026-09-07
1009Canada2026-09-09
1010India2026-09-27
1011Canada2026-09-22
1012India2026-10-01
1013United Kingdom2026-09-27
1014Italy2026-09-28
1015India2026-09-03
1016Brazil2026-09-22
1017Spain2026-10-01
1018Italy2026-09-12
1019Germany2026-09-21
1020Germany2026-09-17
1021Japan2026-09-26
1022India2026-09-28
1023Argentina2026-09-07
1024India2026-09-13
1025Spain2026-09-07
1026Japan2026-09-29
1027Spain2026-09-16
1028Canada2026-09-19
1029France2026-09-02
1030Brazil2026-09-22
1031Canada2026-09-20
1032Argentina2026-09-25
1033India2026-09-25
1034Spain2026-09-27
1035Australia2026-09-26
1036Russia2026-09-06
1037United Kingdom2026-09-08
1038Russia2026-09-22
1039United Kingdom2026-09-22
1040Italy2026-09-29
1041India2026-09-26
1042Spain2026-09-24
1043India2026-09-11
1044Spain2026-09-29
1045Argentina2026-09-09
1046Canada2026-09-15
1047Brazil2026-09-25
1048Italy2026-09-21
1049Germany2026-09-25

On-Demand Data

NameIdCountryDate
Aruna H Inouye1000Argentina2026-09-06
James U Inouye1001Russia2026-09-23
Maria Z Caldarera1002Russia2026-09-08
Maisha L Garufi1003Russia2026-09-07
Mujtaba X Kolmetz1004United Kingdom2026-09-08
Nicolas L Morasca1005Spain2026-09-08
Juan R Bolognia1006Japan2026-09-05
Leon A Slusarski1007Russia2026-09-30
Morrow N Kolmetz1008Brazil2026-09-24
Claire R Ostrosky1009Australia2026-09-06
Aditya S Albares1010United Kingdom2026-09-27
Julie Z Waycott1011Canada2026-09-28
Jeanfrancois Q Nestle1012Argentina2026-09-10
Munro M Briddick1013Brazil2026-09-06
Greenwood C Doe1014Germany2026-09-07
Jefferson Y Nicka1015France2026-09-21
Kadeem H Sergi1016United Kingdom2026-09-07
Smith D Ferencz1017Japan2026-09-09
Octavia Q Wieser1018Spain2026-09-20
Wickens M Poquette1019Argentina2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams R CaudyAustraliaStephen Shaw NEGOTIATION
Jones J AmigonJapanAnna Fali UNQUALIFIED
Sinclair B VenereFranceIoni Bowcher RENEWAL
Emily Y PaprockiJapanIvan Magalhaes NEW
Stacey R GlickArgentinaStephen Shaw NEW
Chavez N OldroydFranceElwin Sharvill NEGOTIATION
Alejandro T PerinCanadaIvan Magalhaes PROPOSAL
Julie O PoquetteRussiaStephen Shaw NEW
Morrow K NestleArgentinaOnyama Limba RENEWAL
Kaitlin H KolmetzItalyAmy Elsner PROPOSAL
Octavia A StensethItalyStephen Shaw RENEWAL
Arvin Y AlbaresGermanyBernardo Dominic QUALIFIED
Cody P SaylorsSpainAnna Fali PROPOSAL
Mayumi J VenereAustraliaStephen Shaw PROPOSAL
Jones Q BriddickJapanStephen Shaw QUALIFIED
Ricardo K FerenczItalyXuxue Feng UNQUALIFIED
Maisha P GauchoJapanAsiya Javayant NEW
Misaki N SaylorsAustraliaAsiya Javayant UNQUALIFIED
Mujtaba K NestleIndiaOnyama Limba RENEWAL
David G RulapaughJapanIvan Magalhaes NEGOTIATION
Costa J RulapaughGermanyOnyama Limba UNQUALIFIED
Smith Y WieserGermanyOnyama Limba PROPOSAL
Adams A FigeroaArgentinaAmy Elsner NEGOTIATION
Maria N NickaUnited KingdomIvan Magalhaes PROPOSAL
Octavia L WaycottIndiaStephen Shaw PROPOSAL
Ivar W MorascaGermanyStephen Shaw NEW
Maria G RulapaughIndiaOnyama Limba NEW
Greenwood E DoeSpainIoni Bowcher NEW
Kaitlin B KolmetzBrazilAsiya Javayant QUALIFIED
Francesco G DarakjyIndiaXuxue Feng RENEWAL
Faith P SergiItalyIvan Magalhaes RENEWAL
Octavia T FerenczGermanyStephen Shaw NEW
Smith A TollnerItalyAsiya Javayant NEW
Misaki S ShinkoRussiaStephen Shaw NEW
David S MarrierIndiaBernardo Dominic NEW
Francesco O RimBrazilBernardo Dominic QUALIFIED
Nicolas Q BowleyJapanOnyama Limba PROPOSAL
Aika F CampainSpainAsiya Javayant PROPOSAL
Chavez Z BriddickAustraliaElwin Sharvill PROPOSAL
Rodrigues D DilliardSpainAnna Fali PROPOSAL

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