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
Izzy X MorascaBrazilIvan Magalhaes UNQUALIFIED
Johnson V FerenczBrazilElwin Sharvill QUALIFIED
Maisha E GauchoRussiaStephen Shaw NEW
Johnson I SergiIndiaBernardo Dominic RENEWAL
Mayumi N GarufiRussiaIoni Bowcher UNQUALIFIED
Kadeem X BriddickIndiaXuxue Feng UNQUALIFIED
Silvio P KolmetzRussiaElwin Sharvill NEW
Aditya H SchemmerArgentinaAnna Fali UNQUALIFIED
David D KuskoSpainBernardo Dominic QUALIFIED
Greenwood L OldroydCanadaOnyama Limba PROPOSAL
Murillo U VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Aika O GauchoItalyOnyama Limba PROPOSAL
Kaitlin M AlbaresAustraliaBernardo Dominic QUALIFIED
Leon M ButtIndiaBernardo Dominic PROPOSAL
Jeanfrancois U RoysterSpainAnna Fali NEGOTIATION
David N WieserSpainAmy Elsner PROPOSAL
Jefferson E RoysterArgentinaAmy Elsner PROPOSAL
Adams W StensethSpainStephen Shaw QUALIFIED
Darci X TollnerJapanBernardo Dominic PROPOSAL
Darci D FollerIndiaOnyama Limba PROPOSAL
Wickens Y GarufiUnited KingdomIoni Bowcher RENEWAL
Salvatore Q BowleyIndiaOnyama Limba QUALIFIED
Ivar V GarufiCanadaIoni Bowcher NEW
Maisha O BowleyFranceXuxue Feng QUALIFIED
Maria M SergiIndiaAmy Elsner UNQUALIFIED
Adams F SlusarskiFranceXuxue Feng NEW
Francesco A AmigonCanadaStephen Shaw NEW
Isabel P StockhamGermanyAsiya Javayant NEGOTIATION
Kadeem K DilliardRussiaAnna Fali QUALIFIED
Munro Y NickaRussiaXuxue Feng UNQUALIFIED
Jones V PerinJapanOnyama Limba QUALIFIED
Ricardo V DilliardItalyIoni Bowcher QUALIFIED
Ashley I GlickFranceIvan Magalhaes NEGOTIATION
Arvin A GillianItalyIoni Bowcher NEW
Octavia F CaldareraFranceXuxue Feng NEGOTIATION
Mujtaba R DoeJapanStephen Shaw PROPOSAL
Ricardo L CampainJapanBernardo Dominic NEGOTIATION
Julie J KuskoRussiaAmy Elsner QUALIFIED
Leon O FlosiJapanElwin Sharvill UNQUALIFIED
Costa H PoquetteUnited KingdomAnna Fali NEW
Sinclair L MaletJapanXuxue Feng NEGOTIATION
Ivar N FollerUnited KingdomIvan Magalhaes QUALIFIED
Alejandro P BriddickUnited KingdomBernardo Dominic QUALIFIED
James R RimRussiaIvan Magalhaes NEW
Emily B SlusarskiItalyAsiya Javayant PROPOSAL
Cody Z WieserIndiaOnyama Limba UNQUALIFIED
Ashley J CampainCanadaStephen Shaw NEGOTIATION
Jennifer C CaldareraItalyIoni Bowcher NEW
Jennifer F AmigonFranceIvan Magalhaes NEW
Octavia F MaletAustraliaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith P WieserArgentinaIvan Magalhaes QUALIFIED
David V DarakjySpainAnna Fali NEGOTIATION
Julie V DilliardBrazilIvan Magalhaes RENEWAL
Greenwood X GillianFranceAsiya Javayant NEGOTIATION
Claire K DilliardBrazilOnyama Limba NEGOTIATION
Stacey B OstroskyIndiaIvan Magalhaes UNQUALIFIED
Sinclair N FerenczUnited KingdomAmy Elsner UNQUALIFIED
Jennifer E BowleyItalyAnna Fali NEW
Nicolas X KuskoJapanBernardo Dominic RENEWAL
Nicolas W IturbideJapanAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin Z SergiCanada2026-09-22Chanay, Jeffrey A Esq NEGOTIATION99Amy Elsner
1001Stacey K AmigonBrazil2026-09-11Benton, John B Jr RENEWAL41Onyama Limba
1002Aruna O MaletAustralia2026-09-15Truhlar And Truhlar Attys PROPOSAL81Onyama Limba
1003Arvin P SlusarskiJapan2026-09-22Rangoni Of Florence UNQUALIFIED84Bernardo Dominic
1004Chavez C AlbaresUnited Kingdom2026-09-02Buckley Miller Wright QUALIFIED42Ivan Magalhaes
1005James V PerinIndia2026-09-12Feltz Printing Service NEGOTIATION87Onyama Limba
1006Salvatore N CampainIndia2026-09-28Rangoni Of Florence NEW40Anna Fali
1007Clifford K WieserFrance2026-09-12Morlong Associates NEW98Anna Fali
1008Jones W StensethCanada2026-09-19Printing Dimensions NEGOTIATION50Onyama Limba
1009Arvin P DoeJapan2026-09-18Morlong Associates UNQUALIFIED60Asiya Javayant
1010Leja S CampainRussia2026-09-14Feltz Printing Service RENEWAL66Stephen Shaw
1011Rodrigues W MaletJapan2026-09-30Chanay, Jeffrey A Esq QUALIFIED44Asiya Javayant
1012Ivar T MarrierJapan2026-09-24Dorl, James J Esq PROPOSAL99Amy Elsner
1013Darci W RutaAustralia2026-09-05King, Christopher A Esq UNQUALIFIED78Stephen Shaw
1014Stacey Q PoquetteJapan2026-09-26Commercial Press PROPOSAL39Xuxue Feng
1015Stacey Q PoquetteRussia2026-09-13Printing Dimensions NEW30Amy Elsner
1016Mujtaba W MarrierUnited Kingdom2026-09-25Commercial Press NEW29Ivan Magalhaes
1017James R InouyeAustralia2026-09-24Commercial Press PROPOSAL80Anna Fali
1018Jennifer O GarufiCanada2026-09-03Commercial Press RENEWAL29Stephen Shaw
1019Izzy O AlbaresAustralia2026-09-19King, Christopher A Esq NEW20Amy Elsner
1020David X GarufiItaly2026-09-09Chapman, Ross E Esq NEGOTIATION60Stephen Shaw
1021Antonio G KolmetzJapan2026-09-04Buckley Miller Wright PROPOSAL9Bernardo Dominic
1022Ricardo H RutaFrance2026-09-08Chanay, Jeffrey A Esq PROPOSAL95Bernardo Dominic
1023Wickens G SaylorsItaly2026-09-18Chapman, Ross E Esq NEGOTIATION3Anna Fali
1024Cody A ChuiGermany2026-09-28Dorl, James J Esq UNQUALIFIED88Stephen Shaw
1025Smith L KuskoArgentina2026-09-15Chemel, James L Cpa NEW1Ioni Bowcher
1026Adams K WaycottSpain2026-09-05Chapman, Ross E Esq QUALIFIED8Onyama Limba
1027Mujtaba P CaldareraIndia2026-09-02Rousseaux, Michael Esq QUALIFIED90Stephen Shaw
1028Murillo S StensethItaly2026-09-23King, Christopher A Esq PROPOSAL19Bernardo Dominic
1029Izzy T RutaBrazil2026-09-20Rangoni Of Florence NEGOTIATION94Anna Fali
1030Octavia F GauchoRussia2026-09-06Buckley Miller Wright NEW18Elwin Sharvill
1031Deepesh F SchemmerSpain2026-09-08Morlong Associates RENEWAL32Ivan Magalhaes
1032Smith M ChuiAustralia2026-09-07Truhlar And Truhlar Attys QUALIFIED78Ivan Magalhaes
1033Clifford Z OstroskyRussia2026-09-17Truhlar And Truhlar Attys NEW2Anna Fali
1034Rodrigues N AlbaresBrazil2026-09-10Buckley Miller Wright PROPOSAL21Asiya Javayant
1035Ricardo K PerinArgentina2026-09-08Chanay, Jeffrey A Esq NEGOTIATION37Elwin Sharvill
1036David C MarrierArgentina2026-09-02Feltz Printing Service PROPOSAL70Asiya Javayant
1037Leja M StockhamJapan2026-09-09Rousseaux, Michael Esq NEGOTIATION3Stephen Shaw
1038Chavez H CampainBrazil2026-09-14Feltz Printing Service UNQUALIFIED70Asiya Javayant
1039Stacey M StensethJapan2026-09-30Chemel, James L Cpa UNQUALIFIED74Elwin Sharvill
1040Ivar F ChuiAustralia2026-09-09Morlong Associates QUALIFIED69Onyama Limba
1041Greenwood Y GlickAustralia2026-09-26Rousseaux, Michael Esq PROPOSAL32Amy Elsner
1042Kaitlin O AlbaresRussia2026-09-28Dorl, James J Esq RENEWAL79Xuxue Feng
1043Johnson B CaldareraFrance2026-09-21Truhlar And Truhlar Attys NEW61Asiya Javayant
1044Jones Z InouyeJapan2026-09-22Rangoni Of Florence NEW28Ivan Magalhaes
1045Cody G GauchoUnited Kingdom2026-09-19Feiner Bros NEW10Anna Fali
1046Jefferson P RulapaughUnited Kingdom2026-09-25Truhlar And Truhlar Attys NEGOTIATION65Bernardo Dominic
1047Clifford O CaldareraJapan2026-09-26Chapman, Ross E Esq QUALIFIED83Asiya Javayant
1048Darci D DarakjyJapan2026-09-11Chapman, Ross E Esq NEW94Asiya Javayant
1049Julie X RoysterFrance2026-09-16Printing Dimensions PROPOSAL91Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Deepesh B RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas W SergiItalyStephen Shaw PROPOSAL
Emily L NestleJapanXuxue Feng NEGOTIATION
Mujtaba A FlosiIndiaBernardo Dominic RENEWAL
Alejandro H CaldareraArgentinaIoni Bowcher NEGOTIATION
Claire G CaudyBrazilOnyama Limba UNQUALIFIED
Morrow Q BowleySpainIoni Bowcher NEGOTIATION
Munro R CaudyJapanBernardo Dominic NEW
Maria N TollnerJapanBernardo Dominic UNQUALIFIED
Munro V InouyeCanadaIvan Magalhaes QUALIFIED
Rodrigues X AmigonBrazilAmy Elsner UNQUALIFIED
Leon Q CampainArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues K BowleyUnited KingdomStephen Shaw QUALIFIED
Greenwood C NestleIndiaBernardo Dominic RENEWAL
Francesco M RoysterArgentinaAnna Fali QUALIFIED
Stacey P DoeGermanyXuxue Feng UNQUALIFIED
Francesco I VenereItalyIvan Magalhaes RENEWAL
Isabel T OstroskyAustraliaElwin Sharvill PROPOSAL
Octavia T BowleyAustraliaOnyama Limba RENEWAL
Ashley X CaudyGermanyAnna Fali NEGOTIATION
Tony T KuskoItalyBernardo Dominic NEGOTIATION
Rodrigues I RulapaughSpainIvan Magalhaes PROPOSAL
Octavia U GarufiJapanElwin Sharvill PROPOSAL
Antonio M SaylorsIndiaAmy Elsner UNQUALIFIED
Leon P RimFranceXuxue Feng PROPOSAL
Jeanfrancois W WhobreyFranceIoni Bowcher PROPOSAL
Silvio N RulapaughJapanElwin Sharvill QUALIFIED
Maria W DarakjyRussiaStephen Shaw PROPOSAL
Mujtaba O MorascaAustraliaStephen Shaw NEW
Morrow T ChuiRussiaAnna Fali QUALIFIED
Jones R TollnerUnited KingdomStephen Shaw NEW
Aditya W ShinkoArgentinaXuxue Feng QUALIFIED
Alejandro Q SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Aika D GillianFranceAsiya Javayant NEW
Maisha B SergiUnited KingdomBernardo Dominic UNQUALIFIED
Nicolas W GauchoFranceIoni Bowcher UNQUALIFIED
Isabel L SaylorsItalyAnna Fali QUALIFIED
Rodrigues X CaldareraFranceXuxue Feng NEGOTIATION
Silvio D PaprockiArgentinaXuxue Feng NEW
James C BologniaSpainStephen Shaw NEW
Ivar P VenereGermanyAnna Fali PROPOSAL
Nicolas U NestleCanadaElwin Sharvill PROPOSAL
Ivar G ShinkoAustraliaAmy Elsner NEGOTIATION
Adams T GlickSpainOnyama Limba RENEWAL
Juan R FollerJapanXuxue Feng RENEWAL
James G VocelkaIndiaElwin Sharvill QUALIFIED
Arvin V CampainGermanyAmy Elsner UNQUALIFIED
Salvatore S TollnerGermanyElwin Sharvill NEW
Ricardo J AmigonFranceAnna Fali NEGOTIATION
Deepesh S SlusarskiItalyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Tony E Doe
Jones K Marrier
Salvatore B Stockham
Aditya V Slusarski
Kadeem W Ruta
Ricardo S Malet
Jennifer P Shinko
Emily J Campain
Jennifer T Waycott
Silvio U Kusko
Ivar J Paprocki
Ashley Y Malet
Jones R Morasca
Julie D Ferencz
Chavez G Venere
Adams Z Stenseth
David X Perin
Jones F Morasca
Deepesh E Iturbide
Adams E Morasca
Chavez Y Schemmer
Silvio W Morasca
Arvin F Schemmer
James N Bolognia
Jeanfrancois J Amigon
David B Darakjy
Adams V Inouye
Cody J Campain
Claire V Rim
Ricardo I Darakjy
Ricardo T Wieser
Cody D Royster
Emily L Gaucho
Julie I Garufi
Leja L Gaucho
Faith Q Wieser
David L Maclead
Misaki Z Venere
Clifford C Flosi
Ivar C Ferencz
Misaki G Butt
Leon E Royster
Ricardo V Campain
Morrow V Schemmer
Claire P Malet
Stacey A Ostrosky
Chavez D Dilliard
Ricardo M Stenseth
Adams T Inouye
Juan O Foller
IdCountryDate
1000Russia2026-09-07
1001Brazil2026-09-08
1002Germany2026-09-19
1003Argentina2026-09-22
1004Germany2026-09-16
1005United Kingdom2026-09-12
1006Spain2026-09-24
1007Spain2026-09-14
1008Russia2026-09-03
1009Australia2026-09-19
1010Germany2026-09-22
1011France2026-09-04
1012United Kingdom2026-09-13
1013Japan2026-09-05
1014Spain2026-09-25
1015United Kingdom2026-09-28
1016Australia2026-09-16
1017Argentina2026-09-04
1018Argentina2026-09-08
1019Argentina2026-09-16
1020Germany2026-09-21
1021Germany2026-09-28
1022Argentina2026-09-25
1023Spain2026-09-16
1024Italy2026-09-19
1025Japan2026-09-06
1026Japan2026-09-29
1027Canada2026-09-14
1028Brazil2026-09-30
1029Canada2026-09-17
1030Argentina2026-09-27
1031Brazil2026-09-03
1032Japan2026-09-16
1033Canada2026-09-20
1034Argentina2026-09-01
1035Australia2026-09-22
1036Australia2026-09-30
1037Brazil2026-09-25
1038Russia2026-09-13
1039Australia2026-09-10
1040Brazil2026-09-01
1041Russia2026-09-19
1042United Kingdom2026-09-16
1043Russia2026-09-27
1044Japan2026-09-20
1045Italy2026-09-18
1046Italy2026-09-21
1047Argentina2026-09-02
1048India2026-09-23
1049Canada2026-09-14

On-Demand Data

NameIdCountryDate
Francesco M Kusko1000France2026-09-01
Clifford U Vocelka1001Canada2026-09-15
Julie L Ferencz1002France2026-09-16
Leja E Malet1003Italy2026-09-06
Mayumi U Kolmetz1004Spain2026-09-23
Emily V Marrier1005Australia2026-09-09
Misaki Z Briddick1006Germany2026-09-20
Maisha E Nestle1007Australia2026-09-27
James L Amigon1008Italy2026-09-21
Arvin R Sergi1009Brazil2026-09-29
Aika S Chui1010Japan2026-09-04
Isabel E Rulapaugh1011Japan2026-09-16
Kaitlin Z Maclead1012Argentina2026-09-29
David T Caldarera1013Canada2026-09-25
Leja W Bolognia1014India2026-09-20
Misaki T Doe1015Russia2026-09-03
Julie U Figeroa1016Russia2026-09-27
Claire J Ruta1017Germany2026-09-05
Octavia U Nicka1018Russia2026-09-16
Darci Q Marrier1019Canada2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens M FigeroaItalyAsiya Javayant RENEWAL
Claire M MarrierCanadaOnyama Limba NEGOTIATION
Nicolas O VenereCanadaAmy Elsner NEGOTIATION
Johnson L BologniaFranceIvan Magalhaes RENEWAL
Misaki Y DilliardItalyStephen Shaw NEGOTIATION
Leja V ButtArgentinaAsiya Javayant QUALIFIED
Rodrigues A GauchoAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois N MorascaBrazilXuxue Feng NEGOTIATION
Adams X IturbideJapanAnna Fali PROPOSAL
Greenwood N VenereCanadaElwin Sharvill QUALIFIED
Darci C NickaUnited KingdomBernardo Dominic PROPOSAL
Wickens O BologniaGermanyAsiya Javayant NEGOTIATION
Isabel F MorascaBrazilIoni Bowcher RENEWAL
Aruna O BowleyItalyAmy Elsner RENEWAL
Octavia M MorascaGermanyAsiya Javayant UNQUALIFIED
Ricardo W MarrierFranceOnyama Limba UNQUALIFIED
Greenwood Z GlickArgentinaStephen Shaw PROPOSAL
Claire G GarufiSpainStephen Shaw NEW
Smith C DoeUnited KingdomStephen Shaw NEW
Jones Q FerenczIndiaIvan Magalhaes QUALIFIED
Rodrigues Y BriddickUnited KingdomBernardo Dominic PROPOSAL
Isabel C BriddickSpainXuxue Feng PROPOSAL
Tony S GlickGermanyAsiya Javayant RENEWAL
Leja B RulapaughItalyStephen Shaw NEGOTIATION
Izzy Q MacleadIndiaIvan Magalhaes NEGOTIATION
Morrow L KolmetzItalyIvan Magalhaes RENEWAL
Clifford C StensethBrazilIoni Bowcher PROPOSAL
Sinclair X CaldareraAustraliaAsiya Javayant NEGOTIATION
Smith T CaldareraGermanyBernardo Dominic NEW
Deepesh O SergiJapanStephen Shaw RENEWAL
Greenwood M SchemmerJapanIoni Bowcher NEW
James Z KuskoSpainIvan Magalhaes PROPOSAL
James Q MorascaJapanIoni Bowcher NEW
Kadeem Z OldroydJapanIoni Bowcher QUALIFIED
Jones E NestleAustraliaIoni Bowcher NEW
James M StensethSpainIvan Magalhaes PROPOSAL
Rodrigues J GauchoJapanAsiya Javayant QUALIFIED
Wickens Q GillianGermanyIvan Magalhaes QUALIFIED
Munro A GarufiArgentinaAnna Fali UNQUALIFIED
Mayumi Y GarufiBrazilIvan Magalhaes 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>