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
Salvatore C GillianIndiaIoni Bowcher UNQUALIFIED
Jones M OldroydCanadaElwin Sharvill QUALIFIED
Morrow G SergiFranceIoni Bowcher QUALIFIED
Greenwood Q InouyeAustraliaElwin Sharvill PROPOSAL
Octavia C PoquetteGermanyIvan Magalhaes NEGOTIATION
Jefferson Y InouyeItalyAsiya Javayant PROPOSAL
Mayumi Q KuskoArgentinaXuxue Feng QUALIFIED
Cody J NickaIndiaBernardo Dominic NEW
Arvin W GauchoItalyIvan Magalhaes PROPOSAL
Aditya X FlosiCanadaElwin Sharvill NEGOTIATION
Alejandro Y DilliardIndiaAsiya Javayant RENEWAL
Clifford N SaylorsJapanAmy Elsner NEW
Maisha H KuskoBrazilIvan Magalhaes RENEWAL
Jones Y SergiJapanElwin Sharvill PROPOSAL
Faith G SlusarskiArgentinaXuxue Feng UNQUALIFIED
Maria U AlbaresUnited KingdomIoni Bowcher PROPOSAL
Deepesh B InouyeRussiaAmy Elsner RENEWAL
Francesco M ChuiAustraliaElwin Sharvill UNQUALIFIED
Faith L FerenczSpainAnna Fali NEW
Clifford D SergiUnited KingdomOnyama Limba NEW
Claire C SergiArgentinaStephen Shaw NEW
Leja Q BriddickAustraliaXuxue Feng PROPOSAL
Jones Z RulapaughBrazilAsiya Javayant UNQUALIFIED
Darci C RimItalyIoni Bowcher PROPOSAL
Stacey R WieserAustraliaOnyama Limba NEW
Salvatore M AlbaresJapanAnna Fali PROPOSAL
Juan N WaycottCanadaIvan Magalhaes PROPOSAL
Mujtaba Z WieserBrazilStephen Shaw UNQUALIFIED
Kadeem I GarufiGermanyStephen Shaw RENEWAL
Stacey F ChuiSpainAsiya Javayant UNQUALIFIED
Stacey Q MorascaUnited KingdomAmy Elsner QUALIFIED
Leja W WhobreyIndiaBernardo Dominic NEGOTIATION
Julie T CampainRussiaAnna Fali UNQUALIFIED
Ivar V CaldareraSpainIoni Bowcher NEW
Jones S GauchoIndiaOnyama Limba NEW
David B AmigonSpainAsiya Javayant PROPOSAL
Johnson M KuskoCanadaBernardo Dominic NEW
Darci A SaylorsCanadaIoni Bowcher NEW
Maria A NestleRussiaBernardo Dominic PROPOSAL
Antonio Q VenereGermanyAmy Elsner NEW
Cody C FigeroaUnited KingdomBernardo Dominic QUALIFIED
Maisha J SchemmerArgentinaXuxue Feng RENEWAL
Jones W RulapaughJapanBernardo Dominic PROPOSAL
Nicolas B SergiBrazilIoni Bowcher NEGOTIATION
Octavia I KolmetzItalyAmy Elsner UNQUALIFIED
Faith S IturbideAustraliaOnyama Limba UNQUALIFIED
Jennifer K InouyeSpainStephen Shaw NEW
Johnson D VenereItalyIvan Magalhaes PROPOSAL
Wickens X FerenczUnited KingdomAnna Fali RENEWAL
James L PaprockiArgentinaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem C ShinkoItalyXuxue Feng NEW
Ivar D RutaJapanAmy Elsner RENEWAL
Izzy L StensethCanadaAmy Elsner NEW
Alejandro D KolmetzFranceStephen Shaw PROPOSAL
Rodrigues I SchemmerIndiaAmy Elsner QUALIFIED
Misaki D IturbideGermanyAnna Fali QUALIFIED
Francesco M MaletFranceOnyama Limba NEGOTIATION
Alejandro D MarrierIndiaAnna Fali NEW
Emily O PaprockiIndiaElwin Sharvill RENEWAL
Alejandro C FerenczFranceOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams C InouyeIndia2026-08-31Dorl, James J Esq QUALIFIED75Xuxue Feng
1001Clifford F GauchoBrazil2026-09-15Printing Dimensions QUALIFIED46Amy Elsner
1002Rodrigues E WieserAustralia2026-09-08Chapman, Ross E Esq NEGOTIATION49Stephen Shaw
1003Faith D BologniaSpain2026-09-09Rousseaux, Michael Esq NEGOTIATION77Ioni Bowcher
1004Kadeem J CampainBrazil2026-08-30Rousseaux, Michael Esq RENEWAL17Bernardo Dominic
1005Antonio R BowleyRussia2026-09-02King, Christopher A Esq QUALIFIED50Elwin Sharvill
1006Greenwood N StockhamAustralia2026-09-07Commercial Press NEW77Onyama Limba
1007Jones E RutaRussia2026-09-10Rousseaux, Michael Esq QUALIFIED10Asiya Javayant
1008Claire H MacleadFrance2026-08-22Commercial Press PROPOSAL13Ioni Bowcher
1009Nicolas S SergiBrazil2026-09-02Feiner Bros RENEWAL50Onyama Limba
1010Murillo J DilliardBrazil2026-09-07Rangoni Of Florence PROPOSAL40Anna Fali
1011Aika N IturbideFrance2026-09-09King, Christopher A Esq NEW41Xuxue Feng
1012James R DoeAustralia2026-08-22Rousseaux, Michael Esq UNQUALIFIED28Ivan Magalhaes
1013Alejandro T DarakjyFrance2026-09-12Morlong Associates NEW82Stephen Shaw
1014Octavia P GarufiIndia2026-09-07Feiner Bros NEW69Onyama Limba
1015Ivar M MacleadIndia2026-08-22Chemel, James L Cpa NEW17Anna Fali
1016Nicolas E RimBrazil2026-09-16Chemel, James L Cpa PROPOSAL53Ioni Bowcher
1017Costa M DilliardArgentina2026-09-08Benton, John B Jr QUALIFIED85Bernardo Dominic
1018Johnson G BologniaBrazil2026-09-06Truhlar And Truhlar Attys UNQUALIFIED86Asiya Javayant
1019Leja X StensethBrazil2026-09-08Commercial Press RENEWAL76Amy Elsner
1020Rodrigues G FerenczGermany2026-09-02Benton, John B Jr QUALIFIED42Ioni Bowcher
1021Adams E AlbaresJapan2026-08-30Morlong Associates UNQUALIFIED78Elwin Sharvill
1022Chavez B PoquetteAustralia2026-08-28Buckley Miller Wright PROPOSAL41Onyama Limba
1023Jones Y ChuiUnited Kingdom2026-09-14Feiner Bros PROPOSAL68Asiya Javayant
1024Murillo B ButtFrance2026-09-04Printing Dimensions UNQUALIFIED8Anna Fali
1025Julie J OldroydAustralia2026-09-18Chanay, Jeffrey A Esq NEGOTIATION88Asiya Javayant
1026Leon O KuskoArgentina2026-09-04Chanay, Jeffrey A Esq NEW83Anna Fali
1027Sinclair L ShinkoAustralia2026-08-23Chapman, Ross E Esq UNQUALIFIED43Elwin Sharvill
1028Costa X InouyeUnited Kingdom2026-09-04Printing Dimensions QUALIFIED13Ioni Bowcher
1029Ivar B GlickBrazil2026-08-28Chapman, Ross E Esq QUALIFIED90Elwin Sharvill
1030Ricardo Y FigeroaItaly2026-09-03Chanay, Jeffrey A Esq QUALIFIED95Xuxue Feng
1031Claire R AlbaresGermany2026-09-15Rousseaux, Michael Esq PROPOSAL14Onyama Limba
1032Leon O InouyeRussia2026-08-28Benton, John B Jr QUALIFIED46Amy Elsner
1033Misaki X GarufiArgentina2026-09-10Dorl, James J Esq QUALIFIED97Onyama Limba
1034Kaitlin J RoysterGermany2026-08-21Feltz Printing Service UNQUALIFIED74Amy Elsner
1035David O KuskoAustralia2026-08-26Rousseaux, Michael Esq PROPOSAL66Xuxue Feng
1036Jeanfrancois K MorascaGermany2026-09-10Commercial Press RENEWAL78Anna Fali
1037Tony H CaudyCanada2026-09-11King, Christopher A Esq PROPOSAL90Stephen Shaw
1038Kadeem F CaldareraSpain2026-09-08King, Christopher A Esq NEGOTIATION28Amy Elsner
1039Leja Y MaletUnited Kingdom2026-09-12Chanay, Jeffrey A Esq PROPOSAL86Ivan Magalhaes
1040Nicolas Y StockhamJapan2026-09-03Commercial Press NEW45Anna Fali
1041Sinclair I BologniaGermany2026-09-06Feiner Bros NEW86Amy Elsner
1042James S IturbideUnited Kingdom2026-08-27King, Christopher A Esq NEW39Onyama Limba
1043Ivar G FerenczFrance2026-09-14Truhlar And Truhlar Attys UNQUALIFIED43Ioni Bowcher
1044Ivar Y BologniaItaly2026-08-20Chapman, Ross E Esq UNQUALIFIED54Anna Fali
1045Ashley G KolmetzBrazil2026-08-28Chanay, Jeffrey A Esq UNQUALIFIED40Xuxue Feng
1046Antonio B SlusarskiFrance2026-08-20Chanay, Jeffrey A Esq NEW13Elwin Sharvill
1047Juan F BologniaArgentina2026-08-28Morlong Associates QUALIFIED27Xuxue Feng
1048Clifford E ShinkoItaly2026-09-17Chemel, James L Cpa NEGOTIATION65Ioni Bowcher
1049Salvatore W RutaItaly2026-08-27Feltz Printing Service PROPOSAL49Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin P CaldareraSpainBernardo Dominic NEW
Francesco D SlusarskiJapanIvan Magalhaes PROPOSAL
Aruna G DoeCanadaIoni Bowcher QUALIFIED
Salvatore F MaletBrazilXuxue Feng NEW
Ashley Y KolmetzCanadaAnna Fali UNQUALIFIED
Deepesh T MaletBrazilXuxue Feng NEW
Isabel E MaletIndiaIoni Bowcher NEGOTIATION
Aika T BriddickFranceAnna Fali QUALIFIED
James A GarufiRussiaAsiya Javayant NEGOTIATION
Clifford C BowleySpainOnyama Limba NEW
Adams V SlusarskiGermanyBernardo Dominic PROPOSAL
Deepesh R SaylorsBrazilIvan Magalhaes UNQUALIFIED
Munro W AlbaresBrazilStephen Shaw UNQUALIFIED
Antonio R PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Kaitlin X BriddickJapanOnyama Limba QUALIFIED
Murillo J VenereCanadaXuxue Feng UNQUALIFIED
Sinclair Q WhobreyGermanyStephen Shaw UNQUALIFIED
Jones U ShinkoItalyIvan Magalhaes NEGOTIATION
Kaitlin P StensethArgentinaAmy Elsner QUALIFIED
Salvatore S RulapaughJapanAsiya Javayant PROPOSAL
Juan O DilliardAustraliaIoni Bowcher NEW
Antonio U RimCanadaBernardo Dominic QUALIFIED
Octavia V WhobreyAustraliaStephen Shaw NEGOTIATION
Smith C BologniaRussiaBernardo Dominic RENEWAL
Izzy I FlosiGermanyAsiya Javayant UNQUALIFIED
Arvin Z FerenczItalyStephen Shaw NEW
Smith U SergiUnited KingdomXuxue Feng UNQUALIFIED
Mayumi O SergiJapanIvan Magalhaes RENEWAL
Jones S WieserIndiaXuxue Feng QUALIFIED
Aika M PoquetteArgentinaAnna Fali PROPOSAL
Isabel M FollerFranceIvan Magalhaes NEW
Rodrigues X RulapaughJapanAnna Fali RENEWAL
Julie H MarrierRussiaAmy Elsner RENEWAL
Adams Y NickaBrazilAmy Elsner QUALIFIED
Maria C StensethAustraliaXuxue Feng UNQUALIFIED
Misaki W FigeroaFranceAmy Elsner NEGOTIATION
Francesco X NickaUnited KingdomAsiya Javayant RENEWAL
Clifford T BologniaBrazilAnna Fali UNQUALIFIED
Chavez Z StensethIndiaIoni Bowcher RENEWAL
Ivar E InouyeBrazilOnyama Limba RENEWAL
Morrow O MaletCanadaBernardo Dominic UNQUALIFIED
Jennifer F TollnerBrazilIvan Magalhaes RENEWAL
Leon B AmigonUnited KingdomIvan Magalhaes PROPOSAL
Tony K FigeroaAustraliaStephen Shaw NEW
Claire Z OldroydUnited KingdomIoni Bowcher NEGOTIATION
Aika S StockhamIndiaBernardo Dominic RENEWAL
Aruna U DarakjyItalyElwin Sharvill UNQUALIFIED
Emily U RutaBrazilIoni Bowcher NEW
Chavez P VenereFranceStephen Shaw NEW
Murillo T InouyeRussiaElwin Sharvill NEW
Frozen Columns
Name
David T Stockham
Chavez L Bowley
Jones Q Whobrey
Cody B Paprocki
Ashley W Caudy
Jefferson M Nestle
Misaki E Paprocki
Deepesh N Saylors
Jefferson N Vocelka
Julie J Gillian
Tony F Rim
Smith D Maclead
Arvin E Darakjy
Juan L Schemmer
Kaitlin E Butt
Kadeem W Inouye
Nicolas P Kusko
Wickens B Nestle
Johnson F Briddick
Johnson M Nestle
Clifford B Iturbide
Leon Y Ostrosky
Ricardo K Malet
Jennifer H Morasca
Leja A Sergi
Sinclair V Whobrey
Isabel A Gillian
Isabel L Dilliard
Salvatore O Nicka
Maisha E Sergi
Ashley J Gaucho
Mayumi I Malet
Aditya E Marrier
Deepesh S Garufi
Alejandro D Campain
Rodrigues G Paprocki
Mayumi F Iturbide
Leja U Butt
Sinclair H Briddick
Claire G Schemmer
Leon Z Morasca
Cody D Slusarski
Aika F Bolognia
Maria A Kolmetz
Mujtaba V Marrier
Maria J Stockham
Kaitlin T Garufi
Octavia Z Campain
Julie D Maclead
Jeanfrancois B Nestle
IdCountryDate
1000India2026-08-30
1001India2026-09-04
1002India2026-09-12
1003India2026-08-21
1004France2026-09-01
1005Canada2026-09-13
1006Spain2026-09-10
1007Germany2026-09-18
1008Spain2026-09-11
1009Argentina2026-09-09
1010Canada2026-09-04
1011France2026-08-20
1012Japan2026-08-30
1013Brazil2026-08-31
1014Spain2026-08-28
1015India2026-09-10
1016Canada2026-08-22
1017Japan2026-09-02
1018United Kingdom2026-09-12
1019Japan2026-08-27
1020Russia2026-09-07
1021France2026-09-07
1022Australia2026-09-03
1023Argentina2026-09-14
1024Brazil2026-08-27
1025Russia2026-09-10
1026Brazil2026-09-02
1027Canada2026-09-08
1028Canada2026-09-03
1029Australia2026-09-08
1030Australia2026-08-25
1031United Kingdom2026-09-10
1032Brazil2026-09-05
1033Japan2026-09-10
1034Italy2026-08-23
1035Brazil2026-09-12
1036Brazil2026-09-03
1037Canada2026-08-20
1038Russia2026-08-20
1039United Kingdom2026-09-18
1040France2026-09-09
1041Canada2026-08-24
1042Australia2026-08-29
1043Australia2026-09-13
1044Japan2026-09-08
1045Brazil2026-09-01
1046Russia2026-09-11
1047Argentina2026-09-11
1048Australia2026-09-15
1049Brazil2026-09-14

On-Demand Data

NameIdCountryDate
Ivar B Albares1000Argentina2026-08-21
Maria A Morasca1001Italy2026-08-31
Greenwood N Sergi1002Canada2026-08-20
Rodrigues V Shinko1003Canada2026-09-02
Smith D Doe1004Germany2026-09-18
Misaki R Gillian1005Italy2026-09-14
Rodrigues A Glick1006United Kingdom2026-08-28
David B Darakjy1007Japan2026-08-22
Sinclair G Campain1008India2026-09-03
Rodrigues Q Figeroa1009Canada2026-09-12
David U Gaucho1010Japan2026-09-12
Kadeem N Ruta1011Australia2026-08-30
Izzy K Butt1012India2026-08-24
Maria V Poquette1013Canada2026-09-11
Chavez D Tollner1014Canada2026-09-05
Maria O Stenseth1015United Kingdom2026-09-08
Stacey E Glick1016India2026-09-05
Aditya M Campain1017Italy2026-09-16
Alejandro N Rulapaugh1018Brazil2026-08-30
Misaki K Kusko1019Spain2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro R MorascaAustraliaAsiya Javayant QUALIFIED
Silvio O SergiGermanyElwin Sharvill NEGOTIATION
Aika G OstroskyGermanyBernardo Dominic QUALIFIED
Mayumi N VocelkaSpainBernardo Dominic UNQUALIFIED
Costa Q VenereRussiaStephen Shaw NEW
Jones L IturbideRussiaStephen Shaw RENEWAL
Rodrigues V CaldareraRussiaStephen Shaw NEW
Aditya K BriddickArgentinaAnna Fali UNQUALIFIED
Aruna R AlbaresCanadaXuxue Feng NEGOTIATION
Ricardo Q NestleFranceBernardo Dominic QUALIFIED
Wickens N SlusarskiSpainXuxue Feng PROPOSAL
Francesco X MaletBrazilAmy Elsner UNQUALIFIED
Sinclair W KuskoBrazilAsiya Javayant UNQUALIFIED
Stacey X MacleadItalyStephen Shaw PROPOSAL
Ashley C IturbideArgentinaAmy Elsner RENEWAL
Jennifer D MacleadJapanAsiya Javayant NEW
Nicolas Q FerenczRussiaAnna Fali QUALIFIED
Stacey I CampainBrazilAsiya Javayant NEW
Ivar Y NestleIndiaIoni Bowcher QUALIFIED
Arvin X GauchoCanadaXuxue Feng NEW
Ricardo B KuskoItalyAsiya Javayant UNQUALIFIED
Izzy H VocelkaUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois O MaletCanadaIvan Magalhaes UNQUALIFIED
Johnson P ChuiAustraliaElwin Sharvill QUALIFIED
Wickens V CaldareraCanadaAmy Elsner NEW
Arvin Q DoeFranceXuxue Feng NEW
Jeanfrancois I FollerIndiaBernardo Dominic UNQUALIFIED
Aditya U NickaUnited KingdomStephen Shaw UNQUALIFIED
Murillo L MorascaAustraliaAnna Fali NEW
Antonio B TollnerIndiaAnna Fali RENEWAL
Wickens J MaletArgentinaAnna Fali NEW
Julie P PerinUnited KingdomBernardo Dominic QUALIFIED
Jefferson Y ButtArgentinaIoni Bowcher RENEWAL
Darci H GarufiAustraliaAsiya Javayant UNQUALIFIED
James T ButtIndiaAsiya Javayant PROPOSAL
Costa C KolmetzRussiaIoni Bowcher QUALIFIED
Sinclair E RulapaughFranceAnna Fali NEW
Salvatore I GlickItalyBernardo Dominic NEW
Kadeem I CaudyBrazilOnyama Limba UNQUALIFIED
Wickens U GillianIndiaAmy Elsner 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>