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 KuskoArgentinaBernardo Dominic UNQUALIFIED
Isabel S FigeroaBrazilAmy Elsner NEGOTIATION
Misaki C WaycottSpainXuxue Feng PROPOSAL
Jeanfrancois H MaletBrazilIoni Bowcher PROPOSAL
Misaki L FerenczRussiaIoni Bowcher NEW
Rodrigues B VocelkaGermanyAsiya Javayant NEGOTIATION
Julie L KuskoUnited KingdomXuxue Feng NEGOTIATION
Aika B OstroskyGermanyBernardo Dominic PROPOSAL
Aditya R DilliardGermanyBernardo Dominic NEGOTIATION
Aika X DoeIndiaElwin Sharvill NEW
James Z VocelkaIndiaAmy Elsner PROPOSAL
Rodrigues L GauchoItalyAsiya Javayant QUALIFIED
Antonio Y GlickSpainAnna Fali UNQUALIFIED
Ricardo N NickaGermanyIoni Bowcher NEGOTIATION
Smith O PerinAustraliaBernardo Dominic NEGOTIATION
Arvin D DoeGermanyBernardo Dominic UNQUALIFIED
Faith V PoquetteSpainIoni Bowcher QUALIFIED
Misaki D RutaFranceElwin Sharvill PROPOSAL
Greenwood O DoeAustraliaIoni Bowcher RENEWAL
Misaki Q ButtFranceIoni Bowcher NEW
Izzy E PoquetteSpainBernardo Dominic NEW
Sinclair V ChuiSpainBernardo Dominic NEGOTIATION
Stacey N AlbaresRussiaAmy Elsner UNQUALIFIED
Isabel J ChuiGermanyAmy Elsner RENEWAL
Jeanfrancois R OstroskyIndiaStephen Shaw NEW
Kaitlin L WieserGermanyElwin Sharvill NEGOTIATION
Jeanfrancois K PerinCanadaAsiya Javayant PROPOSAL
Claire T NestleGermanyElwin Sharvill UNQUALIFIED
Leon X PaprockiJapanIvan Magalhaes RENEWAL
Deepesh Z RulapaughUnited KingdomAnna Fali NEGOTIATION
Francesco P RutaAustraliaIvan Magalhaes UNQUALIFIED
Greenwood M CaldareraArgentinaOnyama Limba QUALIFIED
Sinclair W RimBrazilIvan Magalhaes NEW
Arvin Z GillianRussiaStephen Shaw QUALIFIED
Arvin Q VenereBrazilElwin Sharvill QUALIFIED
Adams C MaletCanadaIoni Bowcher NEGOTIATION
Aruna V NestleRussiaElwin Sharvill UNQUALIFIED
Ashley K GlickItalyAsiya Javayant NEW
Tony Q VocelkaJapanStephen Shaw UNQUALIFIED
Maisha O BowleyFranceIoni Bowcher QUALIFIED
Leon K RoysterUnited KingdomAmy Elsner PROPOSAL
Ashley Q FollerGermanyBernardo Dominic UNQUALIFIED
Mujtaba L WieserUnited KingdomOnyama Limba NEW
Clifford S AmigonGermanyIvan Magalhaes NEW
Stacey X CaudyArgentinaXuxue Feng UNQUALIFIED
Leon I MacleadArgentinaOnyama Limba NEGOTIATION
Wickens Y OldroydFranceBernardo Dominic NEW
Octavia D PoquetteFranceBernardo Dominic QUALIFIED
Nicolas I StockhamBrazilStephen Shaw RENEWAL
Silvio R SchemmerItalyAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie R PaprockiGermanyIvan Magalhaes NEW
Nicolas A StensethArgentinaIoni Bowcher QUALIFIED
Tony P BowleyJapanAsiya Javayant NEW
Jefferson F MacleadArgentinaBernardo Dominic RENEWAL
Aditya X CaldareraIndiaIvan Magalhaes NEW
Maria A FerenczRussiaAsiya Javayant QUALIFIED
Clifford Q StensethGermanyIvan Magalhaes QUALIFIED
Ricardo C SchemmerItalyStephen Shaw UNQUALIFIED
Jeanfrancois U OldroydFranceElwin Sharvill PROPOSAL
Cody Y FollerJapanIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones W RimAustralia2026-09-27King, Christopher A Esq NEW28Amy Elsner
1001Wickens X RutaJapan2026-09-29Feiner Bros QUALIFIED84Asiya Javayant
1002Adams J FigeroaIndia2026-09-28Buckley Miller Wright NEW88Xuxue Feng
1003Wickens T SergiGermany2026-09-20Commercial Press PROPOSAL73Amy Elsner
1004Mujtaba P ButtJapan2026-10-04Rangoni Of Florence RENEWAL76Ivan Magalhaes
1005Wickens V NestleAustralia2026-09-24Rangoni Of Florence PROPOSAL49Onyama Limba
1006Jefferson D ChuiIndia2026-09-30Feiner Bros NEGOTIATION24Xuxue Feng
1007Morrow S CampainAustralia2026-09-16Truhlar And Truhlar Attys PROPOSAL66Xuxue Feng
1008Sinclair R SchemmerRussia2026-10-06Chapman, Ross E Esq NEW76Elwin Sharvill
1009Costa A GarufiRussia2026-09-28Truhlar And Truhlar Attys QUALIFIED3Asiya Javayant
1010Octavia Y DarakjyArgentina2026-09-30Dorl, James J Esq RENEWAL39Bernardo Dominic
1011Murillo V NickaArgentina2026-09-23Feltz Printing Service NEGOTIATION12Asiya Javayant
1012Mujtaba O MarrierIndia2026-09-30Dorl, James J Esq UNQUALIFIED41Asiya Javayant
1013Faith G MaletSpain2026-09-16King, Christopher A Esq QUALIFIED4Elwin Sharvill
1014Aditya S DoeIndia2026-10-05Buckley Miller Wright QUALIFIED44Ivan Magalhaes
1015Maria K InouyeGermany2026-09-17Chapman, Ross E Esq QUALIFIED16Asiya Javayant
1016Maria G WieserGermany2026-10-11Chapman, Ross E Esq NEGOTIATION6Amy Elsner
1017Adams H KolmetzUnited Kingdom2026-09-27Feltz Printing Service QUALIFIED63Stephen Shaw
1018Stacey A SaylorsIndia2026-09-16Rousseaux, Michael Esq NEW6Ivan Magalhaes
1019Aditya I BologniaRussia2026-10-09Feltz Printing Service PROPOSAL42Amy Elsner
1020Johnson D ButtIndia2026-10-06Morlong Associates NEW78Anna Fali
1021Maria U CaldareraRussia2026-09-25Chapman, Ross E Esq UNQUALIFIED94Asiya Javayant
1022Deepesh F GarufiCanada2026-10-05King, Christopher A Esq PROPOSAL89Elwin Sharvill
1023Silvio F ShinkoGermany2026-09-27Chemel, James L Cpa NEW51Onyama Limba
1024Rodrigues C SaylorsRussia2026-09-25King, Christopher A Esq RENEWAL17Anna Fali
1025Arvin C RutaIndia2026-10-07Chapman, Ross E Esq PROPOSAL50Asiya Javayant
1026Ivar E CaudyIndia2026-09-29Dorl, James J Esq RENEWAL93Amy Elsner
1027Emily R AmigonIndia2026-10-03Rousseaux, Michael Esq NEW4Bernardo Dominic
1028Nicolas Y NestleIndia2026-09-21Feiner Bros NEGOTIATION71Elwin Sharvill
1029Jeanfrancois G SlusarskiArgentina2026-09-20Dorl, James J Esq QUALIFIED68Elwin Sharvill
1030Cody O RoysterSpain2026-09-12Morlong Associates UNQUALIFIED22Onyama Limba
1031Stacey K IturbideIndia2026-09-18Chemel, James L Cpa NEW23Stephen Shaw
1032Salvatore H ButtCanada2026-10-06Rangoni Of Florence QUALIFIED19Amy Elsner
1033James V CaudyFrance2026-09-17Benton, John B Jr UNQUALIFIED3Ioni Bowcher
1034Faith Y CaldareraGermany2026-09-22Chapman, Ross E Esq RENEWAL5Elwin Sharvill
1035Aika H WaycottGermany2026-09-24Chanay, Jeffrey A Esq NEGOTIATION26Onyama Limba
1036Stacey X StockhamBrazil2026-10-03Chemel, James L Cpa RENEWAL96Bernardo Dominic
1037Cody I FollerIndia2026-10-10Chemel, James L Cpa UNQUALIFIED31Ivan Magalhaes
1038James Y OldroydSpain2026-10-04Commercial Press PROPOSAL8Asiya Javayant
1039Darci V NestleSpain2026-10-01Buckley Miller Wright UNQUALIFIED84Stephen Shaw
1040Aditya J DoeGermany2026-10-01Truhlar And Truhlar Attys NEW86Bernardo Dominic
1041Nicolas Z GillianRussia2026-09-18Rousseaux, Michael Esq RENEWAL99Bernardo Dominic
1042Misaki A AlbaresJapan2026-09-30Truhlar And Truhlar Attys QUALIFIED77Anna Fali
1043Izzy Z FlosiCanada2026-09-17Dorl, James J Esq RENEWAL1Amy Elsner
1044Morrow W VenereSpain2026-10-10Morlong Associates NEW53Asiya Javayant
1045Smith C InouyeSpain2026-09-13Truhlar And Truhlar Attys NEW21Elwin Sharvill
1046Antonio X VenereBrazil2026-09-23Commercial Press UNQUALIFIED61Xuxue Feng
1047Mujtaba N SlusarskiFrance2026-10-02Commercial Press QUALIFIED37Ioni Bowcher
1048Ivar B VenereIndia2026-09-13Morlong Associates NEGOTIATION59Elwin Sharvill
1049Jeanfrancois D KolmetzCanada2026-10-08Benton, John B Jr PROPOSAL83Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Isabel Z BowleyItalyAsiya Javayant PROPOSAL
Aditya O MorascaItalyElwin Sharvill NEGOTIATION
Johnson T WaycottGermanyStephen Shaw NEW
Leon N ChuiAustraliaElwin Sharvill RENEWAL
Ashley T VenereUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba N RoysterCanadaAsiya Javayant QUALIFIED
Maria U GauchoArgentinaStephen Shaw PROPOSAL
Leon U GlickSpainAmy Elsner NEGOTIATION
Jefferson B TollnerUnited KingdomXuxue Feng NEGOTIATION
Maria Y SergiSpainBernardo Dominic QUALIFIED
Murillo Q DoeSpainIoni Bowcher NEW
Greenwood F DilliardIndiaXuxue Feng PROPOSAL
Emily H RutaSpainXuxue Feng UNQUALIFIED
Salvatore U VenereArgentinaElwin Sharvill RENEWAL
Deepesh S IturbideCanadaStephen Shaw UNQUALIFIED
Stacey T GlickBrazilBernardo Dominic RENEWAL
Ashley W SaylorsIndiaAsiya Javayant QUALIFIED
Julie H IturbideItalyIoni Bowcher PROPOSAL
Jones N BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Darci S MarrierGermanyElwin Sharvill NEW
Aika O FlosiAustraliaBernardo Dominic UNQUALIFIED
Isabel P IturbideArgentinaXuxue Feng UNQUALIFIED
Cody P FerenczJapanIvan Magalhaes NEW
Sinclair N KolmetzCanadaOnyama Limba NEW
Isabel K RutaAustraliaOnyama Limba QUALIFIED
Kaitlin R VocelkaFranceOnyama Limba UNQUALIFIED
Greenwood I KolmetzGermanyStephen Shaw NEW
Munro F RoysterItalyAsiya Javayant NEGOTIATION
Wickens R DarakjyAustraliaAnna Fali UNQUALIFIED
Aika G MorascaSpainAnna Fali NEW
Isabel B BriddickSpainOnyama Limba RENEWAL
Leon S ShinkoGermanyBernardo Dominic NEGOTIATION
Jefferson P MarrierUnited KingdomIoni Bowcher RENEWAL
Deepesh M GarufiBrazilAnna Fali NEGOTIATION
Kaitlin Z SlusarskiJapanAnna Fali NEW
Johnson I FlosiBrazilAnna Fali NEGOTIATION
Ivar D DilliardUnited KingdomStephen Shaw PROPOSAL
Misaki W InouyeRussiaBernardo Dominic QUALIFIED
Morrow B CampainSpainXuxue Feng PROPOSAL
Stacey V ButtSpainBernardo Dominic PROPOSAL
Ashley M WhobreyItalyIvan Magalhaes RENEWAL
Ricardo N ShinkoSpainIvan Magalhaes NEGOTIATION
Aika G ButtAustraliaStephen Shaw NEGOTIATION
Wickens W FigeroaGermanyElwin Sharvill UNQUALIFIED
Leja N VenereFranceElwin Sharvill UNQUALIFIED
Claire Q DilliardSpainAsiya Javayant NEW
Aika L VocelkaSpainStephen Shaw UNQUALIFIED
Aruna X ShinkoItalyBernardo Dominic NEW
Mujtaba T OldroydCanadaIvan Magalhaes UNQUALIFIED
Julie N CampainItalyIoni Bowcher RENEWAL
Frozen Columns
Name
Kaitlin Q Caudy
Mujtaba B Foller
Leon E Iturbide
Aditya N Nestle
Greenwood P Stenseth
Ashley W Royster
Jennifer B Ostrosky
Isabel T Marrier
Clifford F Garufi
Ivar W Iturbide
Jones S Bowley
Jones F Caldarera
Deepesh S Sergi
Morrow W Campain
Tony B Caudy
James A Rim
Ashley L Morasca
Darci O Nestle
Jeanfrancois R Rulapaugh
Isabel J Tollner
David D Inouye
Johnson U Poquette
Izzy V Figeroa
Sinclair A Nicka
Octavia A Dilliard
Darci Q Saylors
Ricardo T Briddick
Salvatore C Waycott
David B Amigon
Arvin I Ostrosky
Julie W Schemmer
Aditya I Sergi
Adams N Bolognia
Ashley Z Wieser
Octavia D Schemmer
Deepesh M Campain
Mujtaba W Caudy
Jeanfrancois M Vocelka
Deepesh N Marrier
Tony U Whobrey
Aruna V Saylors
Rodrigues Y Whobrey
Cody N Rulapaugh
Kaitlin Y Morasca
Izzy O Garufi
Jennifer P Iturbide
Isabel S Inouye
Clifford M Gaucho
Claire I Stockham
Emily Q Sergi
IdCountryDate
1000Canada2026-09-12
1001Spain2026-09-17
1002India2026-10-09
1003India2026-09-16
1004India2026-10-07
1005India2026-10-02
1006India2026-10-08
1007Canada2026-09-22
1008Canada2026-09-12
1009Spain2026-09-15
1010Australia2026-09-27
1011Brazil2026-10-09
1012Canada2026-10-07
1013India2026-09-25
1014Japan2026-10-08
1015Argentina2026-10-09
1016Spain2026-09-30
1017Brazil2026-09-14
1018India2026-10-04
1019Germany2026-10-01
1020Russia2026-10-05
1021Russia2026-09-20
1022Spain2026-09-17
1023India2026-10-07
1024India2026-09-25
1025India2026-10-07
1026India2026-09-22
1027Argentina2026-10-07
1028United Kingdom2026-10-10
1029Italy2026-10-10
1030Argentina2026-09-14
1031India2026-09-13
1032United Kingdom2026-09-14
1033Japan2026-09-15
1034Russia2026-09-12
1035Russia2026-09-22
1036Russia2026-09-24
1037Brazil2026-09-24
1038Japan2026-09-12
1039India2026-10-07
1040Brazil2026-09-29
1041Australia2026-09-13
1042Canada2026-09-22
1043Argentina2026-09-18
1044Canada2026-09-30
1045Argentina2026-10-09
1046Argentina2026-10-08
1047Australia2026-09-18
1048United Kingdom2026-10-10
1049Germany2026-09-21

On-Demand Data

NameIdCountryDate
Maria H Amigon1000Japan2026-09-19
Aruna S Bolognia1001Italy2026-09-18
Arvin M Venere1002Russia2026-10-08
Alejandro R Rulapaugh1003Japan2026-09-22
Leon J Venere1004India2026-09-24
Murillo F Dilliard1005Brazil2026-10-10
Sinclair X Bolognia1006Argentina2026-09-25
Costa C Gillian1007Germany2026-10-09
Claire Q Gillian1008Russia2026-09-22
Alejandro N Poquette1009Germany2026-09-22
Aruna Q Maclead1010Italy2026-10-07
Mayumi Y Malet1011United Kingdom2026-10-05
Kadeem I Stockham1012France2026-09-16
Leja Y Saylors1013Russia2026-09-13
Stacey T Bolognia1014India2026-10-08
Aika P Poquette1015Russia2026-10-09
Faith D Caldarera1016Spain2026-09-21
Kadeem Z Butt1017United Kingdom2026-10-05
Leon F Waycott1018Germany2026-09-17
Misaki E Ferencz1019Canada2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony S CaudySpainIvan Magalhaes NEW
Emily G RutaUnited KingdomAsiya Javayant NEW
Johnson A WhobreyFranceBernardo Dominic UNQUALIFIED
Arvin V StensethRussiaIoni Bowcher PROPOSAL
Morrow C SergiJapanXuxue Feng NEW
Stacey I AmigonAustraliaBernardo Dominic NEW
Misaki E KolmetzBrazilElwin Sharvill NEGOTIATION
Salvatore R PerinSpainBernardo Dominic NEW
Ashley J CaldareraSpainElwin Sharvill QUALIFIED
Sinclair L RulapaughSpainIvan Magalhaes UNQUALIFIED
Leja R DilliardJapanIvan Magalhaes NEGOTIATION
Aruna W FollerItalyElwin Sharvill RENEWAL
Greenwood V NickaIndiaAnna Fali RENEWAL
Aditya G FlosiIndiaIoni Bowcher NEW
Maria V RimGermanyIvan Magalhaes NEW
Wickens U KuskoJapanIvan Magalhaes PROPOSAL
Emily X ButtBrazilXuxue Feng QUALIFIED
Murillo C CampainItalyStephen Shaw NEGOTIATION
Leja G DarakjySpainStephen Shaw UNQUALIFIED
Greenwood Z RutaIndiaBernardo Dominic QUALIFIED
Johnson O BowleyIndiaXuxue Feng NEW
Ricardo A StockhamItalyIoni Bowcher RENEWAL
Julie U PerinRussiaAsiya Javayant RENEWAL
Claire T StensethSpainElwin Sharvill QUALIFIED
Juan I DilliardIndiaXuxue Feng RENEWAL
Mujtaba Q KuskoGermanyStephen Shaw RENEWAL
Tony J SlusarskiSpainXuxue Feng QUALIFIED
Silvio H CaudyAustraliaElwin Sharvill NEGOTIATION
Maisha M RimFranceIvan Magalhaes QUALIFIED
Stacey F SaylorsItalyXuxue Feng QUALIFIED
Adams S AmigonUnited KingdomOnyama Limba UNQUALIFIED
Francesco M RutaItalyXuxue Feng NEW
Misaki J WaycottRussiaStephen Shaw RENEWAL
Mujtaba A StockhamArgentinaOnyama Limba NEGOTIATION
Rodrigues I CaudyFranceAsiya Javayant NEGOTIATION
Alejandro R KuskoJapanXuxue Feng QUALIFIED
Mayumi T DarakjyIndiaIoni Bowcher NEGOTIATION
Faith X SlusarskiFranceAsiya Javayant RENEWAL
Rodrigues L BowleyGermanyOnyama Limba NEGOTIATION
Leon Q WhobreySpainOnyama Limba PROPOSAL

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