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
Francesco O MacleadArgentinaIoni Bowcher NEW
Rodrigues J OstroskyBrazilStephen Shaw QUALIFIED
Rodrigues T FlosiUnited KingdomIoni Bowcher RENEWAL
Tony D FlosiAustraliaXuxue Feng NEGOTIATION
Deepesh L FollerIndiaBernardo Dominic NEGOTIATION
Maisha E IturbideArgentinaAsiya Javayant UNQUALIFIED
Munro P MaletIndiaAnna Fali PROPOSAL
Chavez X MaletGermanyElwin Sharvill PROPOSAL
Cody K IturbideGermanyAnna Fali NEGOTIATION
Isabel K WaycottArgentinaAsiya Javayant PROPOSAL
Maria Y DoeJapanAmy Elsner NEW
Jones Y MaletFranceAnna Fali RENEWAL
Cody C FollerAustraliaAmy Elsner RENEWAL
Izzy R WhobreyRussiaBernardo Dominic NEW
Jefferson W WhobreyItalyElwin Sharvill PROPOSAL
Ashley X SaylorsGermanyElwin Sharvill RENEWAL
Johnson T GauchoGermanyIvan Magalhaes QUALIFIED
Mayumi O VocelkaBrazilAnna Fali NEGOTIATION
Antonio J MarrierRussiaAsiya Javayant NEGOTIATION
Murillo L ButtGermanyOnyama Limba PROPOSAL
Salvatore P PaprockiArgentinaIoni Bowcher UNQUALIFIED
Salvatore M GauchoCanadaAsiya Javayant PROPOSAL
Ivar U GillianFranceBernardo Dominic NEGOTIATION
Smith T FigeroaUnited KingdomBernardo Dominic NEW
Smith F GauchoUnited KingdomIoni Bowcher NEW
Deepesh J GarufiRussiaStephen Shaw NEW
Clifford V RulapaughAustraliaIoni Bowcher RENEWAL
Sinclair B ButtRussiaAnna Fali PROPOSAL
David D ShinkoJapanIoni Bowcher PROPOSAL
Clifford I OldroydAustraliaIoni Bowcher NEW
Maisha F BologniaBrazilStephen Shaw PROPOSAL
Darci M CampainSpainElwin Sharvill PROPOSAL
Kaitlin U RoysterCanadaStephen Shaw UNQUALIFIED
Kadeem I RimAustraliaElwin Sharvill QUALIFIED
Antonio C PoquetteGermanyAnna Fali PROPOSAL
Misaki F OstroskyRussiaIoni Bowcher NEW
Antonio K WhobreyBrazilIvan Magalhaes QUALIFIED
Maisha Y BriddickRussiaXuxue Feng QUALIFIED
Ricardo G TollnerAustraliaXuxue Feng RENEWAL
Ashley T MorascaUnited KingdomAmy Elsner RENEWAL
Greenwood O WhobreyJapanElwin Sharvill QUALIFIED
Izzy J ButtBrazilIvan Magalhaes NEGOTIATION
Murillo R IturbideItalyElwin Sharvill NEGOTIATION
Aditya I ChuiItalyOnyama Limba QUALIFIED
Stacey F FerenczGermanyBernardo Dominic QUALIFIED
Leja T GlickBrazilOnyama Limba UNQUALIFIED
Munro Q BowleyJapanIoni Bowcher RENEWAL
Deepesh A OldroydSpainOnyama Limba NEGOTIATION
Tony G NestleFranceIoni Bowcher PROPOSAL
Silvio T SchemmerArgentinaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki Q KuskoAustraliaIoni Bowcher PROPOSAL
Silvio M FigeroaArgentinaIoni Bowcher NEGOTIATION
Kaitlin C RulapaughAustraliaBernardo Dominic NEGOTIATION
James I GauchoItalyOnyama Limba NEGOTIATION
Jeanfrancois E FollerItalyIvan Magalhaes NEGOTIATION
Rodrigues P RutaRussiaBernardo Dominic NEW
Aditya Y WhobreySpainIoni Bowcher PROPOSAL
Misaki U WaycottRussiaAmy Elsner NEW
Ashley K NestleAustraliaBernardo Dominic UNQUALIFIED
Cody Y GillianAustraliaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo G RimIndia2026-09-15Printing Dimensions QUALIFIED23Asiya Javayant
1001Adams A GarufiJapan2026-09-13Rangoni Of Florence RENEWAL8Anna Fali
1002Darci J VocelkaUnited Kingdom2026-09-11Printing Dimensions NEW38Onyama Limba
1003David Z MaletCanada2026-08-31Rangoni Of Florence UNQUALIFIED88Asiya Javayant
1004Silvio X SchemmerSpain2026-09-04Morlong Associates PROPOSAL34Bernardo Dominic
1005David P DarakjyFrance2026-08-29Chemel, James L Cpa QUALIFIED14Bernardo Dominic
1006Arvin O PerinAustralia2026-09-19Rousseaux, Michael Esq PROPOSAL21Asiya Javayant
1007Octavia O NestleCanada2026-09-07Truhlar And Truhlar Attys NEGOTIATION45Ioni Bowcher
1008Deepesh M CampainCanada2026-09-13Feiner Bros UNQUALIFIED61Stephen Shaw
1009Jones T IturbideJapan2026-09-19King, Christopher A Esq NEGOTIATION93Ioni Bowcher
1010James Z BriddickAustralia2026-09-16Truhlar And Truhlar Attys NEGOTIATION80Anna Fali
1011Stacey N GillianUnited Kingdom2026-09-06Chanay, Jeffrey A Esq QUALIFIED67Amy Elsner
1012Aditya G RulapaughArgentina2026-09-15Chanay, Jeffrey A Esq UNQUALIFIED96Xuxue Feng
1013Kaitlin A WieserIndia2026-09-18Feltz Printing Service UNQUALIFIED46Elwin Sharvill
1014Leja O InouyeSpain2026-09-05Morlong Associates NEW64Asiya Javayant
1015Aika A SergiGermany2026-09-18Rousseaux, Michael Esq QUALIFIED0Ioni Bowcher
1016Ivar G SergiGermany2026-09-13Buckley Miller Wright PROPOSAL9Amy Elsner
1017Izzy G DoeJapan2026-09-17King, Christopher A Esq NEW15Asiya Javayant
1018Clifford Q SergiIndia2026-09-15Benton, John B Jr NEW68Ioni Bowcher
1019Darci E GillianFrance2026-09-12Feltz Printing Service RENEWAL33Stephen Shaw
1020Costa T VenereArgentina2026-09-09Benton, John B Jr PROPOSAL33Asiya Javayant
1021Mayumi M GauchoCanada2026-09-23Printing Dimensions PROPOSAL47Elwin Sharvill
1022Alejandro Z RoysterUnited Kingdom2026-09-03Rangoni Of Florence UNQUALIFIED41Stephen Shaw
1023Leon C RimArgentina2026-09-10Benton, John B Jr RENEWAL57Asiya Javayant
1024Smith T DoeSpain2026-09-20Printing Dimensions NEW92Xuxue Feng
1025Smith D MarrierJapan2026-09-05Feltz Printing Service NEW76Stephen Shaw
1026Julie E NestleSpain2026-08-28Chanay, Jeffrey A Esq UNQUALIFIED53Ivan Magalhaes
1027Wickens K DilliardCanada2026-09-10Feltz Printing Service QUALIFIED67Bernardo Dominic
1028Claire X WaycottGermany2026-09-25Rangoni Of Florence NEGOTIATION31Xuxue Feng
1029Salvatore B OldroydBrazil2026-09-22Commercial Press PROPOSAL21Stephen Shaw
1030Greenwood F MaletJapan2026-09-22Chemel, James L Cpa NEW91Amy Elsner
1031Cody Z GauchoItaly2026-09-12Commercial Press PROPOSAL90Xuxue Feng
1032Morrow O MaletCanada2026-08-30Feiner Bros RENEWAL93Amy Elsner
1033Leon V VocelkaIndia2026-09-02Feltz Printing Service PROPOSAL82Onyama Limba
1034Silvio W StockhamCanada2026-08-31Dorl, James J Esq NEGOTIATION2Stephen Shaw
1035Izzy S MaletGermany2026-09-22King, Christopher A Esq RENEWAL26Anna Fali
1036Mayumi X FlosiAustralia2026-09-07Printing Dimensions NEGOTIATION48Onyama Limba
1037Ashley B OldroydCanada2026-09-07Chapman, Ross E Esq RENEWAL76Onyama Limba
1038Ivar L VocelkaSpain2026-09-14Printing Dimensions UNQUALIFIED26Xuxue Feng
1039Chavez Q ButtSpain2026-09-15Commercial Press RENEWAL0Ivan Magalhaes
1040Aditya I RimFrance2026-09-06Rangoni Of Florence PROPOSAL49Elwin Sharvill
1041Leja Y GlickAustralia2026-09-23Rousseaux, Michael Esq NEGOTIATION7Anna Fali
1042Julie A StockhamFrance2026-09-25Chemel, James L Cpa RENEWAL91Elwin Sharvill
1043Faith A StockhamIndia2026-09-22Chapman, Ross E Esq RENEWAL30Asiya Javayant
1044Aditya R KuskoBrazil2026-09-12Morlong Associates PROPOSAL1Elwin Sharvill
1045Alejandro Y BriddickItaly2026-09-17Commercial Press NEGOTIATION15Anna Fali
1046Ivar T SlusarskiAustralia2026-09-09Dorl, James J Esq NEW20Anna Fali
1047Misaki X AlbaresUnited Kingdom2026-08-29Commercial Press NEGOTIATION5Ivan Magalhaes
1048Tony O MacleadItaly2026-09-19Chemel, James L Cpa QUALIFIED2Asiya Javayant
1049Aditya B WieserBrazil2026-09-02Rousseaux, Michael Esq UNQUALIFIED80Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ricardo M SaylorsItalyAsiya Javayant NEW
Alejandro R GarufiAustraliaAnna Fali RENEWAL
Claire O AlbaresSpainAsiya Javayant NEGOTIATION
Julie Y MacleadArgentinaIvan Magalhaes PROPOSAL
Jones M SchemmerSpainElwin Sharvill PROPOSAL
Julie Y DilliardItalyAnna Fali QUALIFIED
Antonio A KuskoFranceIvan Magalhaes QUALIFIED
Ricardo J DoeArgentinaOnyama Limba QUALIFIED
Izzy N GarufiBrazilXuxue Feng QUALIFIED
Rodrigues W MacleadFranceAmy Elsner UNQUALIFIED
Silvio F FigeroaIndiaAsiya Javayant NEW
Ricardo A KolmetzAustraliaIoni Bowcher RENEWAL
Costa V GarufiArgentinaBernardo Dominic RENEWAL
Emily N WieserBrazilOnyama Limba NEGOTIATION
Ashley S CaldareraAustraliaIoni Bowcher NEGOTIATION
Aditya S SergiFranceXuxue Feng QUALIFIED
Francesco Y WieserRussiaOnyama Limba PROPOSAL
Morrow D MaletFranceIvan Magalhaes PROPOSAL
Cody F PoquetteGermanyXuxue Feng QUALIFIED
Juan T CaudyCanadaIvan Magalhaes UNQUALIFIED
Aika Y DarakjySpainStephen Shaw NEW
Aruna F MorascaAustraliaIvan Magalhaes NEGOTIATION
Antonio T OldroydFranceStephen Shaw NEW
David B GillianSpainAsiya Javayant UNQUALIFIED
Silvio I PoquetteAustraliaElwin Sharvill QUALIFIED
Juan E PaprockiCanadaAsiya Javayant NEW
Ashley K VocelkaArgentinaAsiya Javayant UNQUALIFIED
Murillo A IturbideJapanXuxue Feng NEW
Ricardo I AmigonGermanyBernardo Dominic RENEWAL
Ivar E NestleBrazilIoni Bowcher QUALIFIED
Juan L CaldareraAustraliaStephen Shaw UNQUALIFIED
Aditya W VocelkaJapanXuxue Feng PROPOSAL
Chavez V CaudyUnited KingdomStephen Shaw RENEWAL
Misaki R DilliardRussiaIoni Bowcher NEW
Ricardo G PoquetteIndiaBernardo Dominic PROPOSAL
Murillo Y RimUnited KingdomIvan Magalhaes QUALIFIED
Aruna N NickaFranceAsiya Javayant NEGOTIATION
Chavez L DarakjyJapanAsiya Javayant PROPOSAL
Octavia F AmigonSpainAmy Elsner PROPOSAL
Jeanfrancois Q MorascaItalyOnyama Limba UNQUALIFIED
Antonio J ChuiJapanXuxue Feng QUALIFIED
Emily J WhobreyGermanyIoni Bowcher UNQUALIFIED
Darci K SergiJapanXuxue Feng NEW
Alejandro H StensethAustraliaStephen Shaw UNQUALIFIED
Wickens E NickaCanadaAmy Elsner PROPOSAL
Maisha I InouyeSpainXuxue Feng NEW
Adams R KolmetzUnited KingdomAmy Elsner QUALIFIED
David Q PaprockiArgentinaBernardo Dominic PROPOSAL
Octavia W VenereItalyXuxue Feng UNQUALIFIED
Octavia Q MorascaFranceElwin Sharvill NEGOTIATION
Frozen Columns
Name
Arvin N Gillian
Misaki V Malet
Johnson R Caldarera
Isabel U Morasca
Ivar X Rulapaugh
Kaitlin L Ferencz
Greenwood P Iturbide
Rodrigues J Dilliard
Francesco T Figeroa
Izzy V Glick
Aika H Caudy
Misaki V Tollner
Isabel K Slusarski
Murillo B Figeroa
Claire E Perin
Johnson O Dilliard
Francesco P Kusko
Jefferson Q Darakjy
Costa Q Maclead
Aika J Vocelka
Clifford M Albares
Francesco Y Malet
Sinclair E Sergi
Julie G Bowley
Maria Q Kolmetz
Adams J Ferencz
Ashley R Briddick
Claire B Marrier
Greenwood A Amigon
Maisha K Ostrosky
Tony A Bowley
Jennifer R Inouye
Salvatore Y Nestle
Leon F Ostrosky
Morrow T Butt
Faith D Rulapaugh
Munro O Iturbide
Sinclair G Malet
Clifford Z Royster
Leon E Oldroyd
Alejandro Y Kusko
Darci O Caldarera
Aika M Whobrey
Alejandro S Bowley
Alejandro F Nicka
Maria M Schemmer
Isabel Q Campain
Mujtaba X Caudy
Darci Y Poquette
Smith Y Royster
IdCountryDate
1000Russia2026-09-16
1001Russia2026-09-16
1002France2026-09-14
1003India2026-08-30
1004Canada2026-09-04
1005Spain2026-09-25
1006Spain2026-09-18
1007Argentina2026-09-12
1008Spain2026-09-16
1009Argentina2026-09-01
1010Germany2026-09-14
1011Argentina2026-09-03
1012Brazil2026-09-04
1013Germany2026-09-04
1014Canada2026-09-24
1015Canada2026-09-16
1016Russia2026-09-22
1017India2026-09-26
1018Spain2026-09-03
1019India2026-09-24
1020Germany2026-09-25
1021Spain2026-09-24
1022Australia2026-09-11
1023Germany2026-09-22
1024Argentina2026-09-22
1025India2026-09-02
1026France2026-08-28
1027Italy2026-09-24
1028Spain2026-09-09
1029Italy2026-09-06
1030India2026-09-20
1031Argentina2026-09-18
1032France2026-09-17
1033Japan2026-09-03
1034Argentina2026-09-11
1035France2026-09-13
1036France2026-09-23
1037Germany2026-09-13
1038Germany2026-09-06
1039Australia2026-09-01
1040Australia2026-09-20
1041Germany2026-09-25
1042France2026-09-17
1043United Kingdom2026-09-07
1044Canada2026-09-02
1045Canada2026-09-16
1046Spain2026-08-31
1047Japan2026-09-13
1048India2026-09-10
1049Spain2026-09-23

On-Demand Data

NameIdCountryDate
Rodrigues G Malet1000France2026-09-21
Deepesh V Royster1001Canada2026-09-03
Chavez I Doe1002Japan2026-09-14
Cody V Perin1003Canada2026-09-19
Darci H Saylors1004India2026-09-17
Emily W Inouye1005France2026-09-12
Jennifer N Butt1006Argentina2026-09-02
Morrow S Royster1007France2026-09-02
Clifford Z Inouye1008United Kingdom2026-09-26
Sinclair E Ruta1009United Kingdom2026-09-02
Jones A Saylors1010Japan2026-09-04
Leon W Campain1011Spain2026-09-06
Juan J Oldroyd1012Russia2026-09-24
Salvatore J Kusko1013India2026-09-12
Juan O Tollner1014Japan2026-09-24
Adams L Chui1015Canada2026-09-03
Wickens U Wieser1016Germany2026-09-25
Octavia F Ferencz1017Canada2026-09-05
Kadeem S Inouye1018Brazil2026-09-03
Jones C Waycott1019France2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James F PoquetteJapanIoni Bowcher PROPOSAL
Faith V MarrierGermanyXuxue Feng UNQUALIFIED
Chavez Q RutaItalyBernardo Dominic PROPOSAL
Isabel N VocelkaIndiaIvan Magalhaes NEGOTIATION
Cody P ShinkoGermanyAnna Fali PROPOSAL
Darci S ShinkoArgentinaAmy Elsner NEGOTIATION
James C MarrierCanadaStephen Shaw RENEWAL
Chavez E DoeItalyStephen Shaw NEW
Misaki G GillianCanadaStephen Shaw PROPOSAL
Leon N SchemmerSpainXuxue Feng RENEWAL
Alejandro E NickaItalyAnna Fali QUALIFIED
Arvin G WaycottGermanyXuxue Feng QUALIFIED
Aika I GillianArgentinaElwin Sharvill QUALIFIED
Chavez H GauchoItalyStephen Shaw QUALIFIED
Wickens P RulapaughJapanStephen Shaw NEGOTIATION
Adams E ChuiIndiaAmy Elsner UNQUALIFIED
Kaitlin W SergiUnited KingdomStephen Shaw RENEWAL
Francesco T KolmetzAustraliaElwin Sharvill QUALIFIED
Sinclair H GauchoCanadaStephen Shaw NEGOTIATION
Silvio L StensethItalyIvan Magalhaes NEW
Juan J OldroydSpainBernardo Dominic PROPOSAL
Leja J CaudyFranceStephen Shaw QUALIFIED
Kaitlin C ShinkoBrazilAsiya Javayant RENEWAL
Ricardo Q RulapaughAustraliaOnyama Limba NEW
Jeanfrancois S ShinkoSpainOnyama Limba UNQUALIFIED
Darci X GlickCanadaIoni Bowcher PROPOSAL
Darci W PaprockiFranceAnna Fali RENEWAL
Murillo M DilliardUnited KingdomXuxue Feng PROPOSAL
Ricardo V OstroskyFranceElwin Sharvill PROPOSAL
James X OstroskyAustraliaAsiya Javayant PROPOSAL
James U NickaUnited KingdomElwin Sharvill NEGOTIATION
Juan R AmigonRussiaAmy Elsner PROPOSAL
Misaki J CaudyBrazilAnna Fali QUALIFIED
Deepesh F RimBrazilStephen Shaw UNQUALIFIED
Munro T OstroskyFranceAsiya Javayant UNQUALIFIED
Octavia T CaudyBrazilAnna Fali QUALIFIED
Cody O PaprockiJapanXuxue Feng NEW
Wickens F MacleadCanadaXuxue Feng QUALIFIED
Francesco K VocelkaAustraliaIoni Bowcher QUALIFIED
Izzy I StensethFranceAnna Fali 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>