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
Chavez S ChuiRussiaXuxue Feng NEGOTIATION
Jefferson V MaletAustraliaIvan Magalhaes NEW
Octavia W FigeroaItalyIvan Magalhaes PROPOSAL
David D GlickSpainIoni Bowcher RENEWAL
Johnson I RimCanadaAmy Elsner QUALIFIED
Maisha C MorascaArgentinaAsiya Javayant NEGOTIATION
Julie B FerenczUnited KingdomIvan Magalhaes QUALIFIED
Antonio Y BowleyJapanAnna Fali NEW
Ivar H MaletItalyAmy Elsner RENEWAL
Jennifer S TollnerGermanyOnyama Limba NEGOTIATION
Stacey W WhobreyFranceStephen Shaw QUALIFIED
Silvio U BologniaArgentinaStephen Shaw NEW
Sinclair F VocelkaCanadaAnna Fali NEW
Antonio N RoysterBrazilIvan Magalhaes RENEWAL
Ricardo V IturbideFranceAmy Elsner NEW
Arvin Q StockhamFranceBernardo Dominic PROPOSAL
Jeanfrancois I CaudyIndiaAsiya Javayant NEGOTIATION
James O FerenczAustraliaBernardo Dominic NEW
Arvin R RimRussiaElwin Sharvill NEGOTIATION
Aruna D RoysterGermanyXuxue Feng QUALIFIED
Maisha T BologniaRussiaBernardo Dominic UNQUALIFIED
Adams S SlusarskiAustraliaElwin Sharvill RENEWAL
Mayumi E WieserArgentinaAnna Fali PROPOSAL
Sinclair F GarufiAustraliaXuxue Feng QUALIFIED
Chavez G OstroskyUnited KingdomXuxue Feng NEGOTIATION
Stacey R SchemmerBrazilXuxue Feng NEGOTIATION
Emily Y FlosiJapanIvan Magalhaes NEW
Emily Y AlbaresBrazilElwin Sharvill NEGOTIATION
Aika H PerinBrazilAsiya Javayant PROPOSAL
Leja T MaletAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois G OldroydRussiaAnna Fali UNQUALIFIED
Chavez X MaletRussiaAsiya Javayant RENEWAL
Jones B ButtBrazilBernardo Dominic NEGOTIATION
Rodrigues X KolmetzCanadaIvan Magalhaes RENEWAL
Aditya G FollerJapanStephen Shaw UNQUALIFIED
Mujtaba P WaycottSpainAnna Fali NEW
Leja M CaudyFranceBernardo Dominic PROPOSAL
Claire I VenereBrazilOnyama Limba NEW
Jennifer T WaycottRussiaStephen Shaw QUALIFIED
Munro U MorascaBrazilAsiya Javayant UNQUALIFIED
Wickens M SaylorsCanadaOnyama Limba NEW
Antonio D PoquetteCanadaBernardo Dominic NEW
Ivar T SlusarskiJapanIvan Magalhaes UNQUALIFIED
Mayumi D CaudySpainIvan Magalhaes RENEWAL
Emily E AmigonIndiaStephen Shaw RENEWAL
Adams K SaylorsJapanOnyama Limba QUALIFIED
Rodrigues X TollnerItalyXuxue Feng QUALIFIED
Costa F NestleAustraliaBernardo Dominic QUALIFIED
Morrow F BriddickRussiaAsiya Javayant UNQUALIFIED
Greenwood T AmigonSpainOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem N WieserSpainStephen Shaw NEW
Mayumi T RimGermanyAmy Elsner RENEWAL
Morrow D FigeroaCanadaXuxue Feng NEGOTIATION
Octavia B InouyeUnited KingdomAnna Fali PROPOSAL
Deepesh Y SchemmerSpainElwin Sharvill RENEWAL
Claire Y CaldareraJapanStephen Shaw RENEWAL
Munro J WhobreyAustraliaAsiya Javayant NEGOTIATION
Cody S TollnerItalyOnyama Limba RENEWAL
Maisha Z FlosiCanadaXuxue Feng RENEWAL
Smith X WieserFranceOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro E MorascaBrazil2026-10-25Chemel, James L Cpa RENEWAL79Amy Elsner
1001Maria D NestleFrance2026-10-17Feiner Bros NEGOTIATION64Anna Fali
1002Jennifer J VenereBrazil2026-10-19King, Christopher A Esq NEGOTIATION69Amy Elsner
1003Antonio I IturbideRussia2026-10-25Morlong Associates UNQUALIFIED77Amy Elsner
1004Smith S MacleadItaly2026-10-23Truhlar And Truhlar Attys NEGOTIATION87Ivan Magalhaes
1005Izzy O RutaArgentina2026-10-25Chapman, Ross E Esq QUALIFIED21Elwin Sharvill
1006Murillo K OstroskyUnited Kingdom2026-11-05Benton, John B Jr NEGOTIATION94Bernardo Dominic
1007Mayumi W DilliardJapan2026-10-29Chapman, Ross E Esq NEW38Amy Elsner
1008Misaki V VocelkaFrance2026-10-29Morlong Associates NEGOTIATION44Xuxue Feng
1009Deepesh U GauchoItaly2026-10-18Chapman, Ross E Esq NEGOTIATION55Bernardo Dominic
1010Claire G MaletJapan2026-10-29Chemel, James L Cpa QUALIFIED14Asiya Javayant
1011Munro G RulapaughUnited Kingdom2026-10-26Truhlar And Truhlar Attys RENEWAL56Stephen Shaw
1012Cody V SergiArgentina2026-11-05Truhlar And Truhlar Attys NEGOTIATION58Amy Elsner
1013Jeanfrancois X MaletBrazil2026-10-21Feltz Printing Service UNQUALIFIED36Xuxue Feng
1014Salvatore P DoeFrance2026-10-30Printing Dimensions NEW43Asiya Javayant
1015Alejandro G KuskoGermany2026-10-16Chemel, James L Cpa UNQUALIFIED81Amy Elsner
1016Jennifer G MorascaSpain2026-11-10Chemel, James L Cpa NEW80Bernardo Dominic
1017Salvatore O FollerIndia2026-11-05Chemel, James L Cpa NEGOTIATION17Onyama Limba
1018Aika I KuskoBrazil2026-11-04Buckley Miller Wright NEW24Stephen Shaw
1019Ashley X FerenczUnited Kingdom2026-10-19Chapman, Ross E Esq UNQUALIFIED51Anna Fali
1020Maria N PerinIndia2026-10-24Printing Dimensions PROPOSAL97Elwin Sharvill
1021Darci Z IturbideItaly2026-11-12Dorl, James J Esq UNQUALIFIED89Onyama Limba
1022Jones Y MacleadRussia2026-11-07Chanay, Jeffrey A Esq RENEWAL18Anna Fali
1023Leon E FigeroaIndia2026-10-26Commercial Press UNQUALIFIED15Amy Elsner
1024Juan K MaletCanada2026-11-12Rousseaux, Michael Esq NEGOTIATION72Bernardo Dominic
1025Aruna B KolmetzItaly2026-10-25King, Christopher A Esq PROPOSAL22Ivan Magalhaes
1026Francesco T RutaRussia2026-11-05Chemel, James L Cpa RENEWAL16Asiya Javayant
1027Nicolas C DarakjyRussia2026-11-09Chemel, James L Cpa PROPOSAL55Elwin Sharvill
1028Isabel Q OldroydCanada2026-10-31Buckley Miller Wright PROPOSAL68Xuxue Feng
1029Jennifer Z SaylorsBrazil2026-10-18Rangoni Of Florence UNQUALIFIED70Stephen Shaw
1030Kadeem K SergiUnited Kingdom2026-11-03Morlong Associates QUALIFIED6Xuxue Feng
1031Isabel Y CaldareraSpain2026-10-29Truhlar And Truhlar Attys NEGOTIATION48Onyama Limba
1032Leon L FollerGermany2026-11-14Feltz Printing Service NEGOTIATION34Onyama Limba
1033Aruna R WhobreyRussia2026-10-18Truhlar And Truhlar Attys RENEWAL85Amy Elsner
1034Nicolas O FigeroaCanada2026-10-27Truhlar And Truhlar Attys NEW58Stephen Shaw
1035Leja W SaylorsUnited Kingdom2026-10-19Rangoni Of Florence UNQUALIFIED67Stephen Shaw
1036Kaitlin Y SchemmerIndia2026-10-26Buckley Miller Wright UNQUALIFIED42Anna Fali
1037Ashley O ButtGermany2026-10-31Rangoni Of Florence UNQUALIFIED20Asiya Javayant
1038Cody G DoeArgentina2026-10-30Benton, John B Jr PROPOSAL14Amy Elsner
1039Jennifer B CampainSpain2026-10-30Buckley Miller Wright RENEWAL85Amy Elsner
1040Munro J CaldareraIndia2026-11-08Commercial Press RENEWAL53Ioni Bowcher
1041Leja L PerinUnited Kingdom2026-11-02Dorl, James J Esq PROPOSAL43Xuxue Feng
1042Cody Y RoysterIndia2026-10-23Benton, John B Jr PROPOSAL83Ivan Magalhaes
1043Faith I StensethItaly2026-11-05Printing Dimensions RENEWAL92Ioni Bowcher
1044Adams O FlosiUnited Kingdom2026-11-02Chapman, Ross E Esq UNQUALIFIED42Asiya Javayant
1045Adams U FerenczGermany2026-10-18Chapman, Ross E Esq UNQUALIFIED98Ioni Bowcher
1046Aruna E CampainGermany2026-10-23Rousseaux, Michael Esq PROPOSAL65Xuxue Feng
1047Nicolas A SergiGermany2026-10-26Rangoni Of Florence QUALIFIED11Elwin Sharvill
1048Kadeem W PoquetteJapan2026-11-08Chanay, Jeffrey A Esq PROPOSAL41Anna Fali
1049Claire A InouyeCanada2026-10-19Feltz Printing Service PROPOSAL90Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maria I DarakjyArgentinaElwin Sharvill NEW
James F AmigonAustraliaIoni Bowcher PROPOSAL
Cody J RutaUnited KingdomAnna Fali RENEWAL
Aruna M CampainAustraliaAmy Elsner UNQUALIFIED
Stacey N RutaFranceOnyama Limba QUALIFIED
Claire L IturbideUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois F InouyeArgentinaIoni Bowcher RENEWAL
Clifford U BriddickAustraliaAmy Elsner PROPOSAL
Smith Z MarrierCanadaXuxue Feng PROPOSAL
Arvin T SchemmerUnited KingdomIoni Bowcher QUALIFIED
Jefferson D WaycottBrazilElwin Sharvill RENEWAL
Smith A MorascaFranceBernardo Dominic UNQUALIFIED
Wickens O MarrierUnited KingdomStephen Shaw QUALIFIED
Ivar C ShinkoFranceIvan Magalhaes NEGOTIATION
Maisha U ChuiArgentinaAmy Elsner PROPOSAL
Maria T PaprockiItalyAsiya Javayant RENEWAL
Leja H NickaIndiaAmy Elsner QUALIFIED
Greenwood P KolmetzAustraliaStephen Shaw NEW
Octavia K FollerJapanAnna Fali PROPOSAL
Arvin J WhobreyItalyIvan Magalhaes PROPOSAL
Clifford K IturbideSpainIvan Magalhaes UNQUALIFIED
Jennifer B IturbideArgentinaIoni Bowcher UNQUALIFIED
Mujtaba P DoeJapanStephen Shaw NEW
Alejandro Y MorascaIndiaAmy Elsner RENEWAL
David G MaletUnited KingdomStephen Shaw NEW
Ivar B GauchoSpainAnna Fali QUALIFIED
Arvin C SergiRussiaIoni Bowcher PROPOSAL
Clifford P GarufiJapanBernardo Dominic UNQUALIFIED
Izzy V RutaBrazilAmy Elsner NEGOTIATION
Antonio V GlickBrazilAmy Elsner NEW
Aditya L ButtSpainIoni Bowcher QUALIFIED
Adams I BologniaAustraliaStephen Shaw NEW
Adams Y InouyeFranceAmy Elsner NEW
Faith B MaletUnited KingdomOnyama Limba RENEWAL
Adams D SaylorsArgentinaIvan Magalhaes RENEWAL
Ivar Q GlickIndiaAnna Fali NEW
Kaitlin U PerinCanadaIvan Magalhaes UNQUALIFIED
Smith E RutaBrazilAmy Elsner QUALIFIED
Munro A InouyeSpainAsiya Javayant RENEWAL
Jennifer O OstroskyBrazilAnna Fali PROPOSAL
James O DilliardCanadaAnna Fali UNQUALIFIED
Maisha P CaudyCanadaIvan Magalhaes RENEWAL
Nicolas H SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Mujtaba O GauchoIndiaIoni Bowcher QUALIFIED
Darci Q InouyeSpainElwin Sharvill NEW
Nicolas V CampainUnited KingdomAmy Elsner RENEWAL
Ashley J CampainArgentinaAsiya Javayant PROPOSAL
Misaki G BowleyJapanAnna Fali NEGOTIATION
Johnson J MarrierUnited KingdomOnyama Limba RENEWAL
Stacey Q VocelkaFranceOnyama Limba RENEWAL
Frozen Columns
Name
Maria O Darakjy
Sinclair Q Waycott
Jennifer X Amigon
Chavez J Wieser
Arvin M Darakjy
Leja K Sergi
Johnson N Maclead
Juan U Nicka
Munro E Kusko
Leja S Darakjy
Kadeem Q Gaucho
Darci P Ferencz
Jeanfrancois L Campain
Johnson A Rulapaugh
Adams P Shinko
Murillo E Figeroa
Leja O Dilliard
Alejandro O Foller
Morrow L Stenseth
Mayumi M Shinko
Adams U Ostrosky
Tony V Stockham
Antonio F Albares
Izzy L Stenseth
Maisha V Campain
Morrow O Figeroa
Morrow V Whobrey
Emily I Stockham
Maisha B Stenseth
Kaitlin E Whobrey
Costa F Schemmer
Aruna Z Stockham
Leon L Bowley
Jennifer B Stockham
Ashley B Glick
Misaki K Morasca
Chavez W Poquette
Chavez Z Doe
Costa U Albares
Faith W Briddick
Tony H Glick
Munro R Venere
Silvio X Malet
Wickens U Amigon
Aika S Saylors
Clifford E Butt
Murillo B Poquette
Leja L Sergi
Aditya C Gaucho
Jones J Darakjy
IdCountryDate
1000Japan2026-10-21
1001United Kingdom2026-11-07
1002France2026-10-28
1003Germany2026-10-18
1004Australia2026-11-03
1005Spain2026-11-13
1006Canada2026-11-06
1007India2026-11-14
1008Australia2026-10-21
1009France2026-11-12
1010United Kingdom2026-10-28
1011Canada2026-10-24
1012Germany2026-11-06
1013France2026-10-30
1014Spain2026-11-09
1015Russia2026-11-08
1016Argentina2026-11-14
1017Germany2026-11-07
1018Brazil2026-10-23
1019United Kingdom2026-11-08
1020Germany2026-10-23
1021India2026-11-02
1022France2026-11-10
1023Japan2026-11-10
1024France2026-10-20
1025Germany2026-10-24
1026Canada2026-11-12
1027Australia2026-10-28
1028Italy2026-10-29
1029Canada2026-10-18
1030Germany2026-10-31
1031Italy2026-11-12
1032Brazil2026-11-09
1033Germany2026-10-28
1034France2026-10-16
1035Japan2026-11-05
1036Canada2026-10-24
1037India2026-11-01
1038France2026-10-25
1039Germany2026-11-06
1040Russia2026-10-21
1041United Kingdom2026-10-27
1042Canada2026-10-20
1043Australia2026-10-17
1044Argentina2026-10-27
1045Japan2026-10-17
1046India2026-10-17
1047United Kingdom2026-11-09
1048Canada2026-11-08
1049Argentina2026-11-03

On-Demand Data

NameIdCountryDate
Aruna F Nicka1000Canada2026-11-12
Johnson Y Royster1001Australia2026-11-14
Emily Y Bolognia1002Canada2026-10-24
Aruna K Butt1003Brazil2026-11-08
Julie H Foller1004Japan2026-10-29
Ivar T Figeroa1005Canada2026-10-21
Alejandro T Chui1006Japan2026-10-21
Ricardo U Briddick1007Canada2026-10-31
Sinclair T Malet1008Australia2026-10-25
Emily B Perin1009Japan2026-11-11
Morrow X Wieser1010India2026-10-19
Darci K Whobrey1011United Kingdom2026-10-18
Faith U Kusko1012Argentina2026-10-22
Aruna J Stenseth1013United Kingdom2026-11-01
Jones M Slusarski1014United Kingdom2026-11-03
Octavia N Morasca1015France2026-11-03
Cody S Figeroa1016Australia2026-10-26
Deepesh C Flosi1017France2026-11-12
Stacey F Nestle1018Germany2026-10-30
Maria D Saylors1019Canada2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro V GlickCanadaIoni Bowcher PROPOSAL
James C VenereCanadaAmy Elsner UNQUALIFIED
Mayumi Y OldroydBrazilXuxue Feng NEGOTIATION
Stacey D FerenczArgentinaXuxue Feng UNQUALIFIED
Darci J MaletJapanXuxue Feng QUALIFIED
Greenwood U KuskoFranceAsiya Javayant QUALIFIED
Costa E FollerFranceAnna Fali PROPOSAL
Adams J FerenczItalyAsiya Javayant UNQUALIFIED
Smith Y AmigonRussiaOnyama Limba QUALIFIED
Greenwood G GillianGermanyElwin Sharvill QUALIFIED
Stacey P PaprockiBrazilAsiya Javayant NEW
Maria B PaprockiFranceOnyama Limba NEGOTIATION
Deepesh G VenereSpainElwin Sharvill NEW
Aika J MarrierSpainStephen Shaw RENEWAL
Leja M CampainUnited KingdomAmy Elsner UNQUALIFIED
Leja S MaletGermanyStephen Shaw PROPOSAL
Greenwood U MacleadGermanyAnna Fali NEW
Sinclair F ButtBrazilBernardo Dominic NEW
Costa A ButtItalyAnna Fali RENEWAL
Octavia W VocelkaRussiaElwin Sharvill RENEWAL
Isabel R InouyeSpainBernardo Dominic RENEWAL
Izzy C RoysterRussiaElwin Sharvill QUALIFIED
Morrow F BowleyCanadaIvan Magalhaes PROPOSAL
Tony V BologniaIndiaStephen Shaw PROPOSAL
Aika V DarakjyItalyXuxue Feng NEW
Chavez E DoeArgentinaAsiya Javayant RENEWAL
Maisha N ShinkoCanadaAnna Fali UNQUALIFIED
Darci O OldroydCanadaAmy Elsner NEGOTIATION
Kaitlin K ChuiItalyAnna Fali RENEWAL
Alejandro F PoquetteArgentinaAmy Elsner UNQUALIFIED
Ricardo H ShinkoFranceAnna Fali NEGOTIATION
Aruna T ChuiItalyElwin Sharvill NEGOTIATION
Jefferson I BriddickIndiaAmy Elsner NEW
Jennifer A RoysterUnited KingdomIoni Bowcher QUALIFIED
Johnson T WhobreyIndiaIoni Bowcher UNQUALIFIED
Chavez M VocelkaJapanStephen Shaw QUALIFIED
Julie Z StensethCanadaAnna Fali NEW
Ivar E InouyeRussiaAsiya Javayant RENEWAL
Kaitlin Z SchemmerRussiaStephen Shaw RENEWAL
Deepesh D SchemmerJapanAmy Elsner UNQUALIFIED

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