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
Maisha T NickaCanadaAnna Fali PROPOSAL
Nicolas A InouyeRussiaBernardo Dominic RENEWAL
Aditya Y StensethGermanyIoni Bowcher RENEWAL
Jennifer D MaletUnited KingdomOnyama Limba NEGOTIATION
Francesco H GarufiArgentinaIoni Bowcher RENEWAL
Aika C MaletBrazilIvan Magalhaes RENEWAL
Arvin N SaylorsRussiaStephen Shaw UNQUALIFIED
Misaki W DarakjyArgentinaAmy Elsner PROPOSAL
Izzy U RutaArgentinaElwin Sharvill UNQUALIFIED
Greenwood N DoeRussiaIoni Bowcher NEW
Silvio E GlickFranceAnna Fali RENEWAL
Sinclair X GillianFranceStephen Shaw PROPOSAL
Claire V TollnerUnited KingdomAnna Fali QUALIFIED
Rodrigues L WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Smith P RoysterAustraliaStephen Shaw NEW
Kadeem Q PaprockiSpainAsiya Javayant NEW
Wickens B SchemmerGermanyIoni Bowcher QUALIFIED
Ashley Q PaprockiJapanBernardo Dominic RENEWAL
Juan L RoysterAustraliaIoni Bowcher NEGOTIATION
Aditya C SlusarskiIndiaElwin Sharvill NEW
Cody K BowleyUnited KingdomAsiya Javayant NEGOTIATION
Julie M BowleyArgentinaIoni Bowcher PROPOSAL
Morrow V RutaArgentinaElwin Sharvill QUALIFIED
Tony P RulapaughItalyIoni Bowcher NEW
Maria K RutaRussiaAnna Fali NEW
Jones T PaprockiAustraliaIvan Magalhaes NEGOTIATION
Francesco R PerinCanadaAnna Fali NEGOTIATION
Mayumi T KolmetzCanadaIvan Magalhaes NEGOTIATION
Mayumi A KolmetzIndiaAmy Elsner UNQUALIFIED
Mujtaba X CampainArgentinaXuxue Feng NEGOTIATION
Jeanfrancois H NestleArgentinaOnyama Limba UNQUALIFIED
Izzy D BowleyBrazilAsiya Javayant QUALIFIED
Faith K DoeCanadaAnna Fali NEGOTIATION
Smith Q OstroskyRussiaOnyama Limba QUALIFIED
Tony K SergiGermanyIvan Magalhaes NEW
Cody V ShinkoCanadaIvan Magalhaes NEGOTIATION
Smith D VocelkaRussiaBernardo Dominic UNQUALIFIED
Chavez F BologniaSpainAnna Fali NEW
Munro N InouyeIndiaIvan Magalhaes NEGOTIATION
Chavez Z ChuiArgentinaIvan Magalhaes UNQUALIFIED
Misaki H KolmetzRussiaAsiya Javayant QUALIFIED
Deepesh E SergiArgentinaAmy Elsner RENEWAL
Jefferson K PerinItalyStephen Shaw NEW
Leon S VocelkaSpainAsiya Javayant UNQUALIFIED
Maisha U BowleyJapanIoni Bowcher NEW
Francesco K MaletIndiaAnna Fali NEW
Izzy D GlickIndiaAnna Fali UNQUALIFIED
Faith U SchemmerItalyAsiya Javayant NEGOTIATION
Arvin Q CaudyGermanyAmy Elsner NEW
Aruna Z VocelkaFranceAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel X SchemmerItalyOnyama Limba QUALIFIED
Faith Y KuskoAustraliaBernardo Dominic PROPOSAL
Juan L FerenczRussiaAsiya Javayant RENEWAL
Rodrigues Q BriddickFranceIoni Bowcher PROPOSAL
Leja G OstroskyBrazilOnyama Limba RENEWAL
Alejandro C IturbideBrazilBernardo Dominic NEW
Kaitlin F BriddickArgentinaBernardo Dominic NEW
Alejandro W RutaSpainIoni Bowcher PROPOSAL
Chavez S WaycottArgentinaXuxue Feng NEGOTIATION
Ivar Q SchemmerItalyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily O InouyeRussia2026-09-08Dorl, James J Esq RENEWAL35Elwin Sharvill
1001Kaitlin K KolmetzGermany2026-09-03Morlong Associates RENEWAL99Stephen Shaw
1002Kaitlin M GlickRussia2026-09-05Chapman, Ross E Esq UNQUALIFIED49Amy Elsner
1003Smith Y SlusarskiAustralia2026-09-06Chanay, Jeffrey A Esq RENEWAL10Ivan Magalhaes
1004Kadeem W OstroskyGermany2026-08-28Rangoni Of Florence UNQUALIFIED28Bernardo Dominic
1005Arvin P SlusarskiRussia2026-09-19Rangoni Of Florence UNQUALIFIED41Elwin Sharvill
1006Jefferson N GarufiAustralia2026-08-25Feltz Printing Service UNQUALIFIED66Xuxue Feng
1007Arvin J DoeAustralia2026-09-06King, Christopher A Esq NEW27Onyama Limba
1008Mayumi Q WaycottCanada2026-09-19Commercial Press RENEWAL72Anna Fali
1009Sinclair B NickaUnited Kingdom2026-09-03Feiner Bros NEW85Asiya Javayant
1010Smith J GillianRussia2026-09-16Printing Dimensions PROPOSAL41Amy Elsner
1011Claire W VocelkaCanada2026-09-19Benton, John B Jr NEW89Ioni Bowcher
1012Chavez I FerenczAustralia2026-08-27Chanay, Jeffrey A Esq NEGOTIATION79Stephen Shaw
1013Morrow J MarrierIndia2026-09-16Benton, John B Jr UNQUALIFIED25Ioni Bowcher
1014Jeanfrancois S MacleadUnited Kingdom2026-08-27Feiner Bros UNQUALIFIED99Elwin Sharvill
1015Jones V KolmetzCanada2026-08-29Rousseaux, Michael Esq RENEWAL31Ivan Magalhaes
1016Jones I VenereIndia2026-09-11Rousseaux, Michael Esq UNQUALIFIED61Bernardo Dominic
1017Aditya B AmigonSpain2026-08-31Truhlar And Truhlar Attys PROPOSAL22Anna Fali
1018Claire U WhobreyArgentina2026-09-04Printing Dimensions PROPOSAL82Amy Elsner
1019Octavia M WhobreyArgentina2026-09-11Printing Dimensions NEGOTIATION35Amy Elsner
1020Kadeem Z NestleFrance2026-09-02Rousseaux, Michael Esq NEW24Amy Elsner
1021Maria T AmigonGermany2026-09-14Buckley Miller Wright NEW74Elwin Sharvill
1022Jones N PoquetteJapan2026-09-03King, Christopher A Esq PROPOSAL28Asiya Javayant
1023James V RulapaughAustralia2026-09-16Chemel, James L Cpa UNQUALIFIED94Asiya Javayant
1024Murillo F StockhamSpain2026-09-22Rousseaux, Michael Esq UNQUALIFIED76Amy Elsner
1025James A TollnerRussia2026-08-29Dorl, James J Esq QUALIFIED10Anna Fali
1026Clifford J NestleArgentina2026-09-15Feltz Printing Service NEGOTIATION79Stephen Shaw
1027Antonio Q SergiArgentina2026-09-17King, Christopher A Esq NEGOTIATION79Ivan Magalhaes
1028Kadeem X StockhamArgentina2026-09-12Buckley Miller Wright NEGOTIATION4Onyama Limba
1029Greenwood W OldroydGermany2026-09-09Feiner Bros RENEWAL8Bernardo Dominic
1030Antonio H RoysterJapan2026-09-15Commercial Press NEGOTIATION22Elwin Sharvill
1031Silvio L VocelkaBrazil2026-09-09Feiner Bros RENEWAL72Bernardo Dominic
1032Smith J RimJapan2026-09-04Feiner Bros UNQUALIFIED45Bernardo Dominic
1033Antonio Z ShinkoAustralia2026-08-30Morlong Associates PROPOSAL5Elwin Sharvill
1034Kaitlin P MacleadIndia2026-09-14Feiner Bros UNQUALIFIED23Xuxue Feng
1035Darci A FlosiJapan2026-09-04Chapman, Ross E Esq UNQUALIFIED20Xuxue Feng
1036Francesco L WhobreyAustralia2026-09-09Commercial Press NEW74Anna Fali
1037Morrow T PerinBrazil2026-09-07Printing Dimensions RENEWAL29Elwin Sharvill
1038Kadeem C WhobreyItaly2026-09-05Feltz Printing Service NEGOTIATION87Ivan Magalhaes
1039Clifford R FollerItaly2026-09-12Chapman, Ross E Esq QUALIFIED10Stephen Shaw
1040Darci A RoysterSpain2026-09-09Feltz Printing Service NEW55Anna Fali
1041Misaki N BologniaAustralia2026-09-01Benton, John B Jr NEW67Xuxue Feng
1042Wickens K VenereSpain2026-09-04Chapman, Ross E Esq QUALIFIED81Onyama Limba
1043Stacey L MacleadFrance2026-09-22Chemel, James L Cpa UNQUALIFIED35Ioni Bowcher
1044Stacey K ShinkoGermany2026-08-29Feltz Printing Service PROPOSAL87Elwin Sharvill
1045Adams A WieserFrance2026-09-22Rangoni Of Florence NEGOTIATION64Ivan Magalhaes
1046Misaki T StensethJapan2026-08-24Rangoni Of Florence NEGOTIATION20Anna Fali
1047Maria S DilliardArgentina2026-09-08Rousseaux, Michael Esq RENEWAL10Ioni Bowcher
1048Faith H InouyeRussia2026-09-01Chemel, James L Cpa UNQUALIFIED5Ioni Bowcher
1049Antonio V GillianGermany2026-09-17Morlong Associates NEW29Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues B NickaItalyStephen Shaw PROPOSAL
Jeanfrancois E DarakjySpainIvan Magalhaes NEGOTIATION
Wickens T StockhamRussiaIoni Bowcher PROPOSAL
Antonio G WaycottBrazilElwin Sharvill NEGOTIATION
Antonio Z FollerAustraliaBernardo Dominic RENEWAL
Cody H RoysterBrazilAmy Elsner RENEWAL
James N KolmetzBrazilOnyama Limba NEGOTIATION
Isabel I FigeroaCanadaAmy Elsner QUALIFIED
Silvio G SergiUnited KingdomIoni Bowcher UNQUALIFIED
Emily J AmigonIndiaAsiya Javayant QUALIFIED
Morrow M RimItalyStephen Shaw QUALIFIED
Darci V SergiFranceAnna Fali NEW
Jennifer O GauchoGermanyIoni Bowcher PROPOSAL
Rodrigues A StensethUnited KingdomXuxue Feng QUALIFIED
Chavez U NestleBrazilElwin Sharvill NEGOTIATION
Izzy Q CaudyAustraliaOnyama Limba UNQUALIFIED
Maisha X GlickItalyElwin Sharvill RENEWAL
Isabel U FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Octavia E GauchoRussiaBernardo Dominic RENEWAL
Juan X KuskoFranceStephen Shaw RENEWAL
Ricardo V PoquetteFranceIvan Magalhaes UNQUALIFIED
Kadeem V DoeArgentinaStephen Shaw NEGOTIATION
Mayumi N DarakjyUnited KingdomIvan Magalhaes NEW
Izzy K WieserItalyIoni Bowcher UNQUALIFIED
Faith H FigeroaCanadaAnna Fali RENEWAL
Stacey S CaldareraArgentinaAnna Fali RENEWAL
Kaitlin W InouyeIndiaXuxue Feng NEW
Alejandro X FollerGermanyAnna Fali NEGOTIATION
Alejandro H SchemmerArgentinaAnna Fali UNQUALIFIED
Juan V NestleRussiaElwin Sharvill UNQUALIFIED
Munro N StockhamGermanyXuxue Feng QUALIFIED
Ricardo W TollnerUnited KingdomStephen Shaw NEGOTIATION
Mayumi R BologniaFranceBernardo Dominic NEW
Aika V CaudyItalyBernardo Dominic QUALIFIED
Mujtaba Z CaudyJapanBernardo Dominic UNQUALIFIED
Izzy S FlosiArgentinaAmy Elsner PROPOSAL
Emily I SergiItalyElwin Sharvill PROPOSAL
Kaitlin Q InouyeIndiaAmy Elsner QUALIFIED
Aditya G SergiGermanyElwin Sharvill RENEWAL
Greenwood U DarakjyAustraliaAmy Elsner NEW
Cody H MacleadItalyElwin Sharvill NEGOTIATION
Wickens Y StockhamArgentinaElwin Sharvill NEW
Claire Y OldroydJapanAnna Fali NEGOTIATION
Jefferson J KolmetzArgentinaElwin Sharvill NEGOTIATION
Nicolas M CaldareraGermanyIoni Bowcher NEGOTIATION
Smith M RoysterRussiaAnna Fali NEW
Maisha W GauchoAustraliaOnyama Limba QUALIFIED
Mujtaba Q OstroskyRussiaIoni Bowcher PROPOSAL
Leon J NestleUnited KingdomXuxue Feng NEW
Jennifer U FlosiAustraliaAmy Elsner NEGOTIATION
Frozen Columns
Name
Izzy I Tollner
Johnson A Perin
Cody E Rim
Kaitlin G Wieser
Jefferson Y Rim
Maria F Stenseth
Rodrigues H Darakjy
Aika U Amigon
Faith R Waycott
Misaki Y Briddick
Jeanfrancois B Albares
Claire J Kusko
Julie K Ferencz
Adams S Caudy
Jefferson T Flosi
Misaki R Campain
Rodrigues G Bowley
Claire R Malet
Deepesh L Rim
Isabel I Ruta
Rodrigues Q Amigon
Morrow Q Waycott
Sinclair E Waycott
Aditya H Venere
Emily W Bowley
David B Maclead
Salvatore Y Saylors
Arvin H Bowley
Smith V Nestle
Juan N Kusko
Mujtaba H Butt
Aruna S Shinko
Mujtaba U Amigon
Leja N Nicka
Wickens Q Venere
Clifford M Amigon
Adams P Gillian
Arvin X Darakjy
Ricardo B Inouye
Maria J Amigon
Jennifer M Campain
Emily P Gillian
Morrow T Royster
Ricardo R Foller
Jones Q Schemmer
James J Nicka
Salvatore W Gillian
Maisha C Perin
Chavez R Shinko
Ashley O Stockham
IdCountryDate
1000Japan2026-08-28
1001Australia2026-09-15
1002Canada2026-09-19
1003Australia2026-09-09
1004Canada2026-09-07
1005Spain2026-09-15
1006Canada2026-09-18
1007United Kingdom2026-09-22
1008India2026-09-20
1009Australia2026-09-21
1010Russia2026-09-17
1011Spain2026-08-28
1012United Kingdom2026-09-03
1013Germany2026-09-08
1014Russia2026-09-14
1015Brazil2026-09-04
1016Italy2026-09-12
1017Russia2026-08-30
1018Canada2026-09-13
1019Italy2026-09-19
1020India2026-09-09
1021France2026-09-02
1022Brazil2026-09-14
1023Spain2026-09-15
1024France2026-09-12
1025Brazil2026-08-27
1026Germany2026-09-06
1027France2026-09-22
1028Argentina2026-09-16
1029Germany2026-09-18
1030Italy2026-09-05
1031Germany2026-09-09
1032India2026-09-15
1033Argentina2026-09-13
1034India2026-08-31
1035Italy2026-08-29
1036Germany2026-09-15
1037Italy2026-08-27
1038United Kingdom2026-08-27
1039Brazil2026-08-24
1040Brazil2026-08-27
1041Brazil2026-09-02
1042Canada2026-09-09
1043Germany2026-08-27
1044Canada2026-08-26
1045France2026-08-27
1046France2026-09-05
1047India2026-08-25
1048France2026-09-14
1049India2026-08-29

On-Demand Data

NameIdCountryDate
Stacey T Saylors1000France2026-09-17
Clifford J Ostrosky1001Japan2026-08-27
David X Malet1002India2026-08-29
Adams E Flosi1003Brazil2026-08-24
Ashley N Malet1004Argentina2026-08-24
Kaitlin F Rulapaugh1005Australia2026-08-29
Leon X Ferencz1006Australia2026-09-14
Ashley H Garufi1007Argentina2026-09-20
Misaki H Doe1008India2026-09-20
Munro P Tollner1009Argentina2026-09-16
Nicolas J Albares1010Australia2026-08-31
Faith K Iturbide1011Japan2026-09-10
Kaitlin H Wieser1012Argentina2026-09-12
Arvin A Butt1013India2026-09-15
Faith C Caudy1014Italy2026-08-28
Johnson V Vocelka1015Japan2026-08-24
Izzy N Figeroa1016United Kingdom2026-08-27
Ashley R Rim1017India2026-09-17
Jennifer U Venere1018Australia2026-09-11
Alejandro F Chui1019Spain2026-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika V StockhamBrazilAsiya Javayant NEW
Jones M AlbaresGermanyAsiya Javayant PROPOSAL
Wickens V KuskoItalyOnyama Limba PROPOSAL
Rodrigues B CampainJapanXuxue Feng NEGOTIATION
Rodrigues E FerenczArgentinaStephen Shaw NEW
Alejandro X MorascaBrazilIvan Magalhaes PROPOSAL
Ricardo M GillianBrazilStephen Shaw QUALIFIED
Morrow Q ButtRussiaAmy Elsner NEGOTIATION
Francesco H GillianArgentinaAsiya Javayant QUALIFIED
Stacey D DoeCanadaIoni Bowcher RENEWAL
Aika A MaletBrazilBernardo Dominic QUALIFIED
Leon H PoquetteAustraliaXuxue Feng NEGOTIATION
Jefferson H OldroydFranceAmy Elsner NEW
Izzy X IturbideGermanyBernardo Dominic UNQUALIFIED
David D PerinSpainIvan Magalhaes QUALIFIED
Aruna L AmigonFranceStephen Shaw RENEWAL
Silvio H StensethSpainIvan Magalhaes NEGOTIATION
Faith S TollnerJapanElwin Sharvill UNQUALIFIED
Jeanfrancois E PoquetteRussiaStephen Shaw PROPOSAL
Maisha Y DarakjyGermanyAsiya Javayant QUALIFIED
Claire K KuskoFranceStephen Shaw PROPOSAL
Munro M PoquetteAustraliaOnyama Limba UNQUALIFIED
Leja H ButtCanadaElwin Sharvill NEGOTIATION
Arvin F WaycottFranceStephen Shaw NEGOTIATION
Costa F PaprockiIndiaAsiya Javayant NEGOTIATION
James C AlbaresUnited KingdomStephen Shaw QUALIFIED
Rodrigues X RimRussiaXuxue Feng QUALIFIED
Darci V CaldareraGermanyAsiya Javayant UNQUALIFIED
Aruna X NickaItalyIvan Magalhaes RENEWAL
Mujtaba J DilliardSpainOnyama Limba RENEWAL
Izzy A ShinkoArgentinaBernardo Dominic UNQUALIFIED
Alejandro E BowleyBrazilXuxue Feng NEW
Nicolas G VenereBrazilAmy Elsner NEW
Jennifer S OldroydIndiaIvan Magalhaes UNQUALIFIED
Aditya M FigeroaJapanElwin Sharvill RENEWAL
Arvin F WhobreyRussiaElwin Sharvill RENEWAL
Maisha H KolmetzGermanyAmy Elsner RENEWAL
Aditya D FlosiCanadaOnyama Limba NEW
Claire H IturbideSpainXuxue Feng NEGOTIATION
Chavez C RimUnited KingdomIvan Magalhaes RENEWAL

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