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
Costa X StockhamIndiaBernardo Dominic QUALIFIED
Salvatore J FollerRussiaOnyama Limba UNQUALIFIED
Francesco O AlbaresCanadaBernardo Dominic NEGOTIATION
Stacey P DoeGermanyBernardo Dominic UNQUALIFIED
Chavez K SaylorsItalyElwin Sharvill NEW
Julie O FlosiIndiaElwin Sharvill UNQUALIFIED
David R FerenczRussiaAnna Fali UNQUALIFIED
Sinclair O OldroydIndiaBernardo Dominic RENEWAL
Murillo A DarakjyIndiaIvan Magalhaes QUALIFIED
Costa A WhobreyBrazilIvan Magalhaes PROPOSAL
Greenwood Z OldroydSpainAmy Elsner NEGOTIATION
Emily C FollerGermanyIoni Bowcher NEW
Arvin S TollnerItalyAnna Fali UNQUALIFIED
Clifford T MacleadAustraliaStephen Shaw QUALIFIED
Cody X WaycottAustraliaXuxue Feng PROPOSAL
Leon N PaprockiIndiaStephen Shaw RENEWAL
Nicolas D FigeroaIndiaAnna Fali QUALIFIED
Kadeem I PaprockiGermanyAsiya Javayant PROPOSAL
Munro Y FerenczAustraliaIoni Bowcher RENEWAL
Jefferson Z MaletAustraliaStephen Shaw UNQUALIFIED
Wickens X GarufiUnited KingdomAmy Elsner NEGOTIATION
Adams A KolmetzBrazilStephen Shaw PROPOSAL
Arvin T GarufiRussiaIvan Magalhaes UNQUALIFIED
Octavia E AlbaresCanadaElwin Sharvill NEW
Leon S WieserBrazilIvan Magalhaes NEGOTIATION
Francesco M DoeAustraliaIvan Magalhaes QUALIFIED
Costa Z FlosiAustraliaAsiya Javayant NEGOTIATION
Mujtaba Z DoeRussiaStephen Shaw NEW
Greenwood W CaudyRussiaStephen Shaw QUALIFIED
Emily J VenereItalyStephen Shaw NEW
Mayumi K VenereSpainIoni Bowcher NEGOTIATION
Leon Y WaycottArgentinaIvan Magalhaes QUALIFIED
Maria U VenereJapanIoni Bowcher UNQUALIFIED
Antonio Z FerenczCanadaElwin Sharvill NEGOTIATION
Octavia L GlickSpainAsiya Javayant QUALIFIED
Jeanfrancois J RimItalyAsiya Javayant NEGOTIATION
Munro T ChuiIndiaOnyama Limba QUALIFIED
Claire U FlosiJapanIoni Bowcher NEGOTIATION
Munro Y NestleFranceXuxue Feng RENEWAL
Jones D OldroydBrazilStephen Shaw NEGOTIATION
Ricardo K VenereUnited KingdomIoni Bowcher UNQUALIFIED
Juan B ShinkoIndiaIoni Bowcher QUALIFIED
Johnson Y MaletArgentinaAnna Fali PROPOSAL
Murillo N PoquetteBrazilAnna Fali NEW
Ashley X RimJapanElwin Sharvill UNQUALIFIED
Maria Q FollerArgentinaStephen Shaw NEGOTIATION
Aruna Z PerinArgentinaOnyama Limba NEW
Mujtaba A WieserGermanyStephen Shaw NEW
Adams W RutaIndiaOnyama Limba NEW
Rodrigues H StockhamIndiaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow Q WhobreyJapanStephen Shaw NEW
Mayumi W WieserAustraliaIvan Magalhaes NEGOTIATION
Julie X TollnerCanadaAsiya Javayant NEGOTIATION
Antonio U StensethIndiaStephen Shaw NEGOTIATION
Darci W VocelkaCanadaElwin Sharvill RENEWAL
Clifford S GlickFranceIoni Bowcher NEW
Rodrigues X SchemmerRussiaAnna Fali RENEWAL
Ivar R DilliardSpainAsiya Javayant NEGOTIATION
Alejandro S BowleyGermanyIvan Magalhaes NEGOTIATION
Silvio U IturbideGermanyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire C FollerAustralia2026-10-03Truhlar And Truhlar Attys PROPOSAL4Ioni Bowcher
1001Salvatore F RutaArgentina2026-10-15Chapman, Ross E Esq RENEWAL6Amy Elsner
1002Chavez D DoeArgentina2026-10-06Rousseaux, Michael Esq PROPOSAL35Bernardo Dominic
1003Adams U WaycottBrazil2026-10-02Rangoni Of Florence RENEWAL32Ivan Magalhaes
1004Clifford B StockhamItaly2026-09-30Chanay, Jeffrey A Esq NEGOTIATION45Anna Fali
1005Juan I PaprockiSpain2026-10-19Rangoni Of Florence UNQUALIFIED17Ivan Magalhaes
1006Ivar T CaudyFrance2026-10-06Feltz Printing Service NEW76Xuxue Feng
1007Chavez F WhobreyAustralia2026-10-05Feltz Printing Service UNQUALIFIED98Amy Elsner
1008Tony R SlusarskiRussia2026-09-27Benton, John B Jr RENEWAL74Ivan Magalhaes
1009Mujtaba U AlbaresAustralia2026-10-18Commercial Press PROPOSAL55Stephen Shaw
1010Chavez Y PaprockiBrazil2026-10-01Rangoni Of Florence RENEWAL62Bernardo Dominic
1011Izzy B CaudySpain2026-10-13Benton, John B Jr RENEWAL41Anna Fali
1012Wickens K ShinkoFrance2026-10-22Commercial Press NEW25Amy Elsner
1013Deepesh N CaldareraBrazil2026-10-01Rousseaux, Michael Esq NEW42Amy Elsner
1014Darci Z GillianBrazil2026-09-30Truhlar And Truhlar Attys QUALIFIED39Elwin Sharvill
1015Maisha X IturbideBrazil2026-09-29King, Christopher A Esq RENEWAL32Elwin Sharvill
1016Adams U DoeIndia2026-10-03Feiner Bros RENEWAL77Ioni Bowcher
1017Ashley O CaldareraCanada2026-09-27Feltz Printing Service NEGOTIATION35Elwin Sharvill
1018Francesco V KolmetzBrazil2026-09-26Chanay, Jeffrey A Esq UNQUALIFIED53Onyama Limba
1019Chavez I VocelkaRussia2026-09-30Dorl, James J Esq UNQUALIFIED73Anna Fali
1020Emily L RutaArgentina2026-10-08Dorl, James J Esq PROPOSAL74Bernardo Dominic
1021Emily U PaprockiIndia2026-10-09Chemel, James L Cpa NEGOTIATION93Amy Elsner
1022Kaitlin Q NestleGermany2026-10-24Printing Dimensions UNQUALIFIED79Asiya Javayant
1023Leja W InouyeRussia2026-10-11King, Christopher A Esq NEW28Onyama Limba
1024Misaki Q GauchoUnited Kingdom2026-10-15Commercial Press NEGOTIATION82Xuxue Feng
1025Kadeem O MaletBrazil2026-10-17Truhlar And Truhlar Attys UNQUALIFIED76Elwin Sharvill
1026Isabel O NestleGermany2026-10-08Benton, John B Jr NEGOTIATION46Amy Elsner
1027Smith B FlosiBrazil2026-10-23Buckley Miller Wright NEW43Bernardo Dominic
1028Aditya L CaldareraCanada2026-10-17Chapman, Ross E Esq RENEWAL76Stephen Shaw
1029James O BriddickFrance2026-10-24Feiner Bros PROPOSAL99Bernardo Dominic
1030Wickens P RimIndia2026-10-23Truhlar And Truhlar Attys NEW8Anna Fali
1031Juan Q SlusarskiFrance2026-10-05King, Christopher A Esq NEGOTIATION16Amy Elsner
1032Emily Q TollnerCanada2026-10-07Morlong Associates QUALIFIED0Elwin Sharvill
1033Isabel N KuskoFrance2026-09-28Printing Dimensions NEGOTIATION17Stephen Shaw
1034Leon N BowleyBrazil2026-10-17Chemel, James L Cpa NEW88Asiya Javayant
1035Morrow B ChuiJapan2026-10-03Morlong Associates PROPOSAL5Asiya Javayant
1036Greenwood Z FigeroaUnited Kingdom2026-09-29Buckley Miller Wright NEGOTIATION14Onyama Limba
1037Wickens E BowleyBrazil2026-10-20Truhlar And Truhlar Attys QUALIFIED40Elwin Sharvill
1038Ivar V SlusarskiFrance2026-10-16Truhlar And Truhlar Attys NEGOTIATION44Elwin Sharvill
1039Alejandro J WaycottJapan2026-10-24Buckley Miller Wright PROPOSAL37Amy Elsner
1040Aditya N SaylorsItaly2026-10-19Rangoni Of Florence UNQUALIFIED82Ioni Bowcher
1041Rodrigues W VenereUnited Kingdom2026-10-01King, Christopher A Esq RENEWAL63Ivan Magalhaes
1042David L MorascaBrazil2026-10-04Rousseaux, Michael Esq RENEWAL76Stephen Shaw
1043Chavez A PaprockiItaly2026-10-21Commercial Press UNQUALIFIED23Ivan Magalhaes
1044Nicolas G DilliardFrance2026-10-20Buckley Miller Wright UNQUALIFIED76Stephen Shaw
1045Misaki F SchemmerCanada2026-10-17Feiner Bros UNQUALIFIED79Onyama Limba
1046David Q CampainCanada2026-10-11Feiner Bros PROPOSAL32Ivan Magalhaes
1047Faith A DoeJapan2026-10-13Rangoni Of Florence UNQUALIFIED48Onyama Limba
1048David S SaylorsGermany2026-09-27Chapman, Ross E Esq RENEWAL50Amy Elsner
1049Costa G GillianBrazil2026-10-21Truhlar And Truhlar Attys RENEWAL74Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
James E MaletCanadaIvan Magalhaes NEW
Greenwood M StockhamUnited KingdomOnyama Limba UNQUALIFIED
Munro J GillianIndiaStephen Shaw NEW
Leon O VocelkaGermanyBernardo Dominic NEW
Alejandro Z KuskoGermanyAnna Fali UNQUALIFIED
Jennifer F AlbaresArgentinaOnyama Limba NEGOTIATION
Kadeem P KuskoItalyAnna Fali RENEWAL
Cody R ShinkoAustraliaBernardo Dominic UNQUALIFIED
Jefferson J StockhamRussiaAnna Fali RENEWAL
Mujtaba Z NestleFranceIvan Magalhaes UNQUALIFIED
Morrow W RimArgentinaIoni Bowcher UNQUALIFIED
Juan X StensethBrazilIoni Bowcher QUALIFIED
Ashley C GauchoSpainStephen Shaw NEW
Leon J MacleadJapanXuxue Feng UNQUALIFIED
Isabel D GarufiGermanyIoni Bowcher NEW
Tony B MaletRussiaAnna Fali UNQUALIFIED
Aruna I AlbaresGermanyIvan Magalhaes NEGOTIATION
Tony I CampainItalyAmy Elsner NEW
Leja Y WaycottIndiaElwin Sharvill QUALIFIED
Johnson V RimFranceAnna Fali QUALIFIED
Chavez V InouyeUnited KingdomStephen Shaw UNQUALIFIED
Leja A MacleadFranceXuxue Feng NEW
James U ShinkoJapanXuxue Feng NEGOTIATION
Isabel N MaletUnited KingdomAnna Fali NEW
Izzy J PaprockiCanadaAmy Elsner PROPOSAL
Misaki K MaletItalyXuxue Feng NEGOTIATION
Kaitlin V WhobreyCanadaAnna Fali NEGOTIATION
Kadeem Y MarrierAustraliaAnna Fali NEGOTIATION
Mayumi D KolmetzGermanyIvan Magalhaes PROPOSAL
Cody N CaudyArgentinaXuxue Feng RENEWAL
Johnson F ChuiSpainElwin Sharvill RENEWAL
Emily F SchemmerBrazilElwin Sharvill QUALIFIED
Ashley J StensethItalyOnyama Limba RENEWAL
Chavez Y DilliardSpainAsiya Javayant NEGOTIATION
Mujtaba Z NestleRussiaElwin Sharvill PROPOSAL
Emily O GarufiItalyElwin Sharvill QUALIFIED
Wickens W SergiGermanyStephen Shaw QUALIFIED
Ivar C KolmetzJapanXuxue Feng RENEWAL
Ivar X AmigonBrazilStephen Shaw NEGOTIATION
Smith C TollnerItalyBernardo Dominic UNQUALIFIED
Tony S BologniaArgentinaIoni Bowcher PROPOSAL
Ashley T VenereBrazilAmy Elsner UNQUALIFIED
Aika C SergiAustraliaIoni Bowcher NEGOTIATION
Maisha L GauchoItalyAmy Elsner NEGOTIATION
Munro I FlosiJapanAnna Fali UNQUALIFIED
Ivar G DoeArgentinaXuxue Feng PROPOSAL
David V PoquetteItalyIvan Magalhaes NEGOTIATION
Aika O SlusarskiSpainElwin Sharvill UNQUALIFIED
Ashley M RutaItalyAmy Elsner NEW
Ivar S ChuiGermanyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Juan B Perin
Ricardo N Vocelka
Misaki N Oldroyd
Leja Z Morasca
Jefferson C Tollner
Mayumi T Gaucho
James A Ruta
Jones P Wieser
Adams S Vocelka
Jones W Waycott
Wickens D Nestle
Morrow W Bolognia
Aika T Venere
Mujtaba M Nestle
Johnson B Kolmetz
Maria U Waycott
Jeanfrancois M Marrier
Ricardo J Nestle
Silvio N Rim
Salvatore M Garufi
Arvin Q Waycott
Claire T Inouye
Leon Q Caldarera
Wickens U Saylors
Maisha W Stockham
Izzy R Inouye
Kaitlin R Figeroa
Antonio X Caudy
Morrow E Ruta
Cody B Campain
Darci W Gaucho
Ashley Z Waycott
Izzy K Doe
Silvio T Marrier
Morrow R Maclead
Izzy Z Maclead
Costa J Wieser
Costa B Stenseth
Rodrigues Q Ferencz
Misaki X Bolognia
Murillo S Glick
Leon I Foller
Morrow W Foller
Murillo X Malet
Ashley B Ruta
Octavia I Royster
Munro A Slusarski
David S Bowley
Misaki B Vocelka
Cody M Inouye
IdCountryDate
1000Italy2026-10-12
1001Australia2026-10-15
1002France2026-10-12
1003Australia2026-10-15
1004Russia2026-10-10
1005Spain2026-10-05
1006Canada2026-10-12
1007Brazil2026-10-20
1008Brazil2026-10-01
1009India2026-10-13
1010Brazil2026-09-25
1011Russia2026-10-04
1012Japan2026-09-28
1013India2026-10-21
1014France2026-10-05
1015Italy2026-09-30
1016Japan2026-10-05
1017Japan2026-10-02
1018United Kingdom2026-10-14
1019Italy2026-09-28
1020Germany2026-10-13
1021Brazil2026-10-05
1022Spain2026-10-17
1023Japan2026-10-23
1024Spain2026-09-29
1025Italy2026-10-24
1026Japan2026-10-24
1027Germany2026-10-11
1028Russia2026-10-09
1029Argentina2026-10-22
1030Italy2026-10-23
1031Italy2026-10-17
1032Spain2026-09-28
1033Spain2026-09-26
1034Italy2026-10-21
1035France2026-10-10
1036Russia2026-10-20
1037Russia2026-10-08
1038Germany2026-10-01
1039Italy2026-09-29
1040Argentina2026-10-14
1041France2026-10-17
1042Spain2026-10-15
1043France2026-10-23
1044Italy2026-10-06
1045Australia2026-10-10
1046India2026-10-02
1047Canada2026-10-19
1048Germany2026-09-29
1049Australia2026-09-29

On-Demand Data

NameIdCountryDate
Murillo C Butt1000Canada2026-09-28
Smith C Flosi1001United Kingdom2026-10-20
Deepesh D Chui1002France2026-09-28
Mujtaba R Bolognia1003Argentina2026-10-20
Octavia E Gillian1004Russia2026-09-28
Izzy M Rulapaugh1005France2026-10-24
Ashley G Nestle1006Canada2026-10-16
Kadeem D Rim1007Russia2026-10-03
Tony K Schemmer1008Spain2026-09-25
Jennifer C Kolmetz1009Italy2026-10-13
Misaki L Vocelka1010Italy2026-10-16
Aruna R Saylors1011Italy2026-10-03
Chavez N Whobrey1012Spain2026-09-29
Adams Q Campain1013Italy2026-10-24
Aruna F Ferencz1014Canada2026-10-10
Jeanfrancois G Morasca1015Australia2026-10-16
James Q Bolognia1016Canada2026-10-11
Isabel G Malet1017France2026-10-04
Morrow Y Whobrey1018Italy2026-10-18
Cody D Nestle1019Argentina2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy W GauchoGermanyElwin Sharvill PROPOSAL
Ashley Q WieserItalyXuxue Feng NEW
Izzy P GauchoFranceIoni Bowcher QUALIFIED
Rodrigues J MorascaSpainAmy Elsner NEGOTIATION
Clifford M WieserItalyXuxue Feng RENEWAL
Costa C FerenczUnited KingdomAsiya Javayant NEGOTIATION
Claire Z IturbideArgentinaOnyama Limba NEGOTIATION
Salvatore H GarufiItalyStephen Shaw QUALIFIED
James F FigeroaArgentinaXuxue Feng NEGOTIATION
Arvin R SchemmerUnited KingdomBernardo Dominic NEW
Juan K CaudyCanadaElwin Sharvill NEW
Morrow P GlickItalyXuxue Feng NEW
Emily G WaycottArgentinaOnyama Limba PROPOSAL
Izzy O ButtItalyOnyama Limba NEW
Salvatore G InouyeSpainIoni Bowcher RENEWAL
Ashley S BowleyAustraliaAsiya Javayant QUALIFIED
Arvin G FerenczArgentinaIvan Magalhaes PROPOSAL
Wickens Q VenereSpainAnna Fali NEW
Aditya N NestleArgentinaBernardo Dominic NEW
Antonio E MorascaRussiaXuxue Feng UNQUALIFIED
Sinclair R AlbaresArgentinaBernardo Dominic UNQUALIFIED
Darci O IturbideSpainIvan Magalhaes UNQUALIFIED
Rodrigues W RoysterRussiaBernardo Dominic UNQUALIFIED
Morrow B DarakjyItalyIoni Bowcher QUALIFIED
Tony V OstroskyItalyBernardo Dominic UNQUALIFIED
Johnson X OstroskyArgentinaBernardo Dominic PROPOSAL
Isabel F RimBrazilIoni Bowcher NEGOTIATION
Greenwood M FigeroaJapanAmy Elsner QUALIFIED
Misaki Z SchemmerFranceIvan Magalhaes UNQUALIFIED
Jennifer T BowleyJapanIvan Magalhaes RENEWAL
Aditya P CaldareraCanadaAsiya Javayant UNQUALIFIED
Maria A RimBrazilOnyama Limba UNQUALIFIED
Silvio K StockhamGermanyAsiya Javayant UNQUALIFIED
Aditya J StockhamJapanAsiya Javayant NEW
Alejandro D MorascaItalyAsiya Javayant NEW
Jefferson Y NestleFranceBernardo Dominic NEGOTIATION
Misaki H WhobreyRussiaIoni Bowcher NEW
Leja G CaudyRussiaIoni Bowcher UNQUALIFIED
Jennifer H FlosiBrazilIoni Bowcher UNQUALIFIED
Julie T NickaFranceAsiya Javayant 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>