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
Deepesh E NickaGermanyIoni Bowcher UNQUALIFIED
Juan H MacleadJapanAsiya Javayant UNQUALIFIED
Silvio H KuskoFranceAsiya Javayant RENEWAL
Darci Z VenereCanadaAnna Fali NEGOTIATION
Murillo X ButtCanadaXuxue Feng RENEWAL
Jennifer B MorascaSpainAmy Elsner NEW
Aditya Z KolmetzItalyAsiya Javayant NEGOTIATION
Jefferson W RoysterItalyOnyama Limba PROPOSAL
Arvin M NestleAustraliaAnna Fali QUALIFIED
James W FerenczSpainAmy Elsner PROPOSAL
Aika N RimItalyIoni Bowcher UNQUALIFIED
Faith Y FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin B NestleIndiaAsiya Javayant PROPOSAL
Octavia A StockhamSpainXuxue Feng PROPOSAL
Aditya B NickaIndiaOnyama Limba PROPOSAL
Jennifer G OldroydSpainBernardo Dominic QUALIFIED
Cody Y TollnerAustraliaOnyama Limba RENEWAL
Silvio X NickaItalyBernardo Dominic NEW
Sinclair O FlosiItalyAnna Fali QUALIFIED
Morrow T PaprockiRussiaIvan Magalhaes NEGOTIATION
Munro A InouyeUnited KingdomStephen Shaw PROPOSAL
Maisha S WaycottIndiaIoni Bowcher UNQUALIFIED
Maisha R GillianRussiaElwin Sharvill QUALIFIED
Clifford F MacleadFranceAnna Fali PROPOSAL
Jefferson M PerinBrazilAmy Elsner UNQUALIFIED
Kadeem M VenereBrazilOnyama Limba NEW
Greenwood W BriddickSpainOnyama Limba RENEWAL
Silvio C SlusarskiRussiaStephen Shaw NEGOTIATION
Mujtaba A AlbaresCanadaAmy Elsner QUALIFIED
Cody R FlosiIndiaAsiya Javayant QUALIFIED
David Q KolmetzJapanStephen Shaw RENEWAL
Aditya H FigeroaArgentinaAmy Elsner NEGOTIATION
Greenwood B NickaRussiaBernardo Dominic NEGOTIATION
Rodrigues K CaldareraCanadaBernardo Dominic NEGOTIATION
Aruna N WaycottJapanAsiya Javayant UNQUALIFIED
Silvio X MaletSpainIvan Magalhaes NEW
Isabel B VenereCanadaElwin Sharvill NEGOTIATION
Julie B GillianIndiaOnyama Limba UNQUALIFIED
Aruna N CaldareraFranceXuxue Feng RENEWAL
Tony T SaylorsSpainAnna Fali PROPOSAL
Darci G PaprockiBrazilAnna Fali RENEWAL
David E WaycottJapanAnna Fali QUALIFIED
Smith H BriddickUnited KingdomStephen Shaw NEW
Mujtaba X RimSpainBernardo Dominic RENEWAL
Murillo S ShinkoFranceAnna Fali QUALIFIED
Alejandro D ShinkoRussiaXuxue Feng RENEWAL
Salvatore V ButtSpainOnyama Limba QUALIFIED
Darci E GillianCanadaIvan Magalhaes QUALIFIED
Leja G DoeItalyAsiya Javayant UNQUALIFIED
Mayumi R MorascaArgentinaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith X FollerItalyIoni Bowcher UNQUALIFIED
Claire B KolmetzBrazilIoni Bowcher NEW
Aruna A GauchoGermanyAmy Elsner UNQUALIFIED
Morrow B GauchoFranceOnyama Limba RENEWAL
Leon X SchemmerItalyBernardo Dominic NEW
Murillo J MarrierIndiaIvan Magalhaes PROPOSAL
Jeanfrancois O KuskoCanadaStephen Shaw UNQUALIFIED
Greenwood D WaycottFranceAnna Fali PROPOSAL
Tony N FlosiGermanyStephen Shaw NEGOTIATION
Aruna D CaudySpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna T PerinFrance2026-09-20Commercial Press NEGOTIATION27Asiya Javayant
1001Juan I MaletAustralia2026-09-02Printing Dimensions NEGOTIATION60Xuxue Feng
1002Kaitlin Y RutaBrazil2026-09-25Chanay, Jeffrey A Esq QUALIFIED9Asiya Javayant
1003Tony V ButtGermany2026-08-31Chapman, Ross E Esq NEGOTIATION38Ivan Magalhaes
1004Deepesh W IturbideSpain2026-08-31Benton, John B Jr NEGOTIATION47Ivan Magalhaes
1005Costa K MaletAustralia2026-09-04King, Christopher A Esq UNQUALIFIED62Bernardo Dominic
1006Tony A RutaRussia2026-09-15Morlong Associates RENEWAL48Onyama Limba
1007Francesco Y MaletIndia2026-09-08Chemel, James L Cpa PROPOSAL20Anna Fali
1008Stacey V OstroskyBrazil2026-09-29King, Christopher A Esq QUALIFIED51Xuxue Feng
1009Emily D CampainItaly2026-09-29Chapman, Ross E Esq PROPOSAL21Xuxue Feng
1010Nicolas G StockhamBrazil2026-09-02Printing Dimensions PROPOSAL41Xuxue Feng
1011Emily W WieserIndia2026-09-23King, Christopher A Esq PROPOSAL65Onyama Limba
1012Ricardo C VenereFrance2026-09-11Rousseaux, Michael Esq QUALIFIED67Onyama Limba
1013Tony N StockhamAustralia2026-09-28Chapman, Ross E Esq QUALIFIED14Ioni Bowcher
1014Salvatore C VocelkaRussia2026-09-29King, Christopher A Esq RENEWAL75Asiya Javayant
1015Wickens I ButtItaly2026-09-14Feiner Bros PROPOSAL94Elwin Sharvill
1016Arvin F IturbideIndia2026-09-06Benton, John B Jr RENEWAL70Xuxue Feng
1017Mujtaba N BologniaCanada2026-09-04Benton, John B Jr PROPOSAL51Amy Elsner
1018Greenwood H DilliardAustralia2026-09-02Rangoni Of Florence RENEWAL98Amy Elsner
1019Leja K RutaCanada2026-09-14Chemel, James L Cpa RENEWAL29Ivan Magalhaes
1020Cody X IturbideArgentina2026-09-20Truhlar And Truhlar Attys UNQUALIFIED48Ivan Magalhaes
1021Deepesh X VocelkaGermany2026-09-16Morlong Associates NEW40Bernardo Dominic
1022Nicolas J WhobreyArgentina2026-09-14Feiner Bros QUALIFIED89Stephen Shaw
1023Ricardo C BologniaArgentina2026-08-31Printing Dimensions QUALIFIED21Anna Fali
1024Cody K MaletIndia2026-09-19Dorl, James J Esq RENEWAL2Onyama Limba
1025Johnson V RutaArgentina2026-09-03Rangoni Of Florence RENEWAL26Asiya Javayant
1026Greenwood T OstroskyUnited Kingdom2026-09-16Printing Dimensions QUALIFIED40Ivan Magalhaes
1027Wickens C InouyeSpain2026-09-09Chanay, Jeffrey A Esq RENEWAL26Stephen Shaw
1028Morrow Q GarufiRussia2026-08-31Buckley Miller Wright PROPOSAL59Stephen Shaw
1029Izzy M PerinArgentina2026-09-03Rangoni Of Florence NEGOTIATION5Asiya Javayant
1030Izzy Z FigeroaBrazil2026-09-10Rangoni Of Florence UNQUALIFIED76Anna Fali
1031Ricardo V FigeroaRussia2026-09-29King, Christopher A Esq RENEWAL31Elwin Sharvill
1032Maisha G BologniaAustralia2026-09-02Dorl, James J Esq RENEWAL65Amy Elsner
1033Jennifer W AmigonGermany2026-09-29King, Christopher A Esq NEGOTIATION84Ivan Magalhaes
1034Murillo L StockhamSpain2026-08-31Chanay, Jeffrey A Esq QUALIFIED98Anna Fali
1035Francesco K VocelkaUnited Kingdom2026-09-08Dorl, James J Esq UNQUALIFIED90Bernardo Dominic
1036Maria C VocelkaIndia2026-09-21Chanay, Jeffrey A Esq QUALIFIED43Ioni Bowcher
1037Johnson C FerenczArgentina2026-09-09Dorl, James J Esq NEW99Stephen Shaw
1038Izzy Q NickaArgentina2026-09-08Printing Dimensions RENEWAL37Amy Elsner
1039Izzy H CampainBrazil2026-09-15Feltz Printing Service NEGOTIATION56Bernardo Dominic
1040Leja I PerinAustralia2026-09-24Buckley Miller Wright UNQUALIFIED76Bernardo Dominic
1041Francesco B CaldareraIndia2026-09-16Commercial Press QUALIFIED68Bernardo Dominic
1042Tony J PerinRussia2026-08-31Chanay, Jeffrey A Esq NEGOTIATION60Xuxue Feng
1043James D CampainSpain2026-09-02Chemel, James L Cpa PROPOSAL72Amy Elsner
1044Leon Q RimJapan2026-09-21Chapman, Ross E Esq NEW53Anna Fali
1045Jones Q WhobreyRussia2026-09-15Printing Dimensions UNQUALIFIED58Ivan Magalhaes
1046Alejandro X GillianIndia2026-09-10Rousseaux, Michael Esq NEW13Onyama Limba
1047Tony W WaycottGermany2026-09-26Dorl, James J Esq NEGOTIATION74Asiya Javayant
1048Munro W FollerRussia2026-09-21Rousseaux, Michael Esq UNQUALIFIED89Xuxue Feng
1049Rodrigues B DarakjyAustralia2026-09-20Truhlar And Truhlar Attys NEGOTIATION25Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aruna C CaudyBrazilStephen Shaw NEW
Faith I NestleCanadaBernardo Dominic NEGOTIATION
Morrow C NestleRussiaIoni Bowcher PROPOSAL
Deepesh K CaldareraBrazilAsiya Javayant QUALIFIED
Aika L PerinItalyXuxue Feng PROPOSAL
Sinclair T CampainRussiaAsiya Javayant NEW
Juan S PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Octavia M RimIndiaElwin Sharvill PROPOSAL
Faith B BologniaGermanyIvan Magalhaes NEGOTIATION
Izzy W CaudyBrazilAsiya Javayant UNQUALIFIED
Silvio S KuskoAustraliaOnyama Limba QUALIFIED
Isabel M FigeroaArgentinaIoni Bowcher PROPOSAL
Murillo H FerenczJapanStephen Shaw QUALIFIED
Stacey C DilliardAustraliaAnna Fali NEGOTIATION
Maria K MorascaGermanyStephen Shaw RENEWAL
Leon M OstroskyAustraliaBernardo Dominic RENEWAL
Maisha M InouyeJapanBernardo Dominic RENEWAL
Tony P RulapaughFranceStephen Shaw QUALIFIED
Jeanfrancois G PaprockiJapanAnna Fali PROPOSAL
Tony O VocelkaGermanyElwin Sharvill UNQUALIFIED
Izzy N FollerIndiaOnyama Limba UNQUALIFIED
Cody G VenereGermanyIoni Bowcher QUALIFIED
Mujtaba W GlickGermanyXuxue Feng RENEWAL
Arvin Q GlickRussiaXuxue Feng NEGOTIATION
Costa O StensethSpainAnna Fali NEGOTIATION
Claire O TollnerItalyElwin Sharvill QUALIFIED
Tony U OstroskyArgentinaIoni Bowcher PROPOSAL
Jennifer X NickaAustraliaIvan Magalhaes UNQUALIFIED
Leon E CaudyIndiaOnyama Limba NEW
Jefferson M NestleJapanXuxue Feng NEGOTIATION
Clifford E MaletRussiaBernardo Dominic RENEWAL
Maria Q KuskoIndiaIoni Bowcher QUALIFIED
Darci T GlickCanadaBernardo Dominic NEW
Murillo L MorascaUnited KingdomXuxue Feng QUALIFIED
Jones C MarrierItalyXuxue Feng RENEWAL
Ivar P MacleadArgentinaStephen Shaw RENEWAL
Octavia T ShinkoAustraliaIvan Magalhaes RENEWAL
Francesco E ChuiGermanyOnyama Limba QUALIFIED
Deepesh H SchemmerSpainBernardo Dominic PROPOSAL
Ricardo M StensethCanadaXuxue Feng NEGOTIATION
Francesco D FerenczJapanAnna Fali RENEWAL
Aditya H MaletBrazilIoni Bowcher PROPOSAL
Antonio N FlosiSpainOnyama Limba NEW
Mayumi Q MaletFranceBernardo Dominic NEW
Jefferson I SchemmerItalyStephen Shaw RENEWAL
Mayumi P FlosiGermanyXuxue Feng RENEWAL
Kadeem V RutaItalyIoni Bowcher RENEWAL
Chavez D KolmetzJapanStephen Shaw UNQUALIFIED
Claire H DilliardGermanyOnyama Limba PROPOSAL
Jefferson L FigeroaUnited KingdomIvan Magalhaes RENEWAL
Frozen Columns
Name
Kaitlin B Briddick
Costa I Stockham
Murillo V Morasca
Ricardo K Slusarski
Sinclair I Venere
Stacey J Whobrey
Francesco P Rulapaugh
Faith Z Nestle
Chavez X Ostrosky
Nicolas Q Garufi
Darci W Doe
Clifford G Bolognia
Darci U Amigon
Julie P Stockham
Mujtaba F Malet
Rodrigues A Malet
Arvin Q Glick
Salvatore J Foller
David U Bolognia
Antonio B Stockham
Morrow Y Ferencz
Kaitlin M Sergi
Ivar D Nicka
Leon G Shinko
Kaitlin Z Ruta
Francesco H Slusarski
Silvio R Morasca
Silvio Y Oldroyd
Francesco N Saylors
Mayumi Y Sergi
Aditya Q Saylors
Leon R Gillian
Chavez K Nestle
Greenwood Y Flosi
Silvio A Chui
Misaki U Iturbide
Wickens W Rim
Emily A Chui
Aika L Gaucho
Misaki J Campain
Faith Q Chui
Munro V Tollner
Greenwood I Campain
Ricardo B Bolognia
Faith X Malet
David M Stockham
Mayumi V Bowley
Chavez F Glick
Julie O Paprocki
Juan M Kolmetz
IdCountryDate
1000Canada2026-09-25
1001India2026-09-29
1002United Kingdom2026-09-29
1003India2026-09-09
1004Italy2026-09-07
1005Spain2026-09-20
1006Japan2026-09-21
1007Spain2026-09-01
1008India2026-08-31
1009Australia2026-09-15
1010Australia2026-09-13
1011France2026-09-27
1012India2026-09-27
1013Australia2026-09-06
1014Russia2026-09-19
1015Brazil2026-09-24
1016Canada2026-09-11
1017Italy2026-09-05
1018United Kingdom2026-09-05
1019Germany2026-08-31
1020France2026-09-04
1021United Kingdom2026-09-01
1022India2026-09-18
1023France2026-09-11
1024United Kingdom2026-09-04
1025Russia2026-09-06
1026Canada2026-09-17
1027Canada2026-09-08
1028France2026-09-09
1029Italy2026-09-11
1030United Kingdom2026-09-11
1031India2026-09-13
1032Germany2026-09-16
1033Spain2026-09-20
1034Russia2026-09-24
1035Spain2026-09-16
1036Russia2026-09-03
1037France2026-09-02
1038India2026-09-15
1039Australia2026-09-21
1040Spain2026-09-15
1041Russia2026-09-04
1042Russia2026-09-25
1043Russia2026-09-12
1044Argentina2026-09-11
1045Canada2026-09-27
1046Brazil2026-09-19
1047Japan2026-09-20
1048Italy2026-09-10
1049Argentina2026-08-31

On-Demand Data

NameIdCountryDate
Mayumi X Oldroyd1000Italy2026-09-25
Maria T Malet1001Australia2026-09-09
Jones U Flosi1002Canada2026-09-20
Alejandro Q Briddick1003Argentina2026-09-21
Smith J Poquette1004Japan2026-09-07
Maisha Q Figeroa1005Australia2026-09-29
Leon A Maclead1006Russia2026-09-29
Aika Y Chui1007United Kingdom2026-09-22
Aditya M Kolmetz1008Brazil2026-09-01
Leon Q Wieser1009Canada2026-09-13
Smith G Stockham1010Australia2026-09-02
Isabel C Albares1011Canada2026-09-03
Ashley O Amigon1012Germany2026-09-02
Smith W Rim1013Australia2026-09-16
Greenwood D Inouye1014Canada2026-09-02
Francesco V Stockham1015Australia2026-09-08
Smith U Malet1016India2026-09-29
Emily W Morasca1017Brazil2026-09-10
Murillo E Slusarski1018Spain2026-09-11
Maria S Slusarski1019Russia2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh Z BowleyCanadaXuxue Feng PROPOSAL
Francesco Y BologniaUnited KingdomBernardo Dominic QUALIFIED
David W GlickIndiaIoni Bowcher UNQUALIFIED
Faith G WieserGermanyOnyama Limba UNQUALIFIED
Leja G DilliardSpainBernardo Dominic QUALIFIED
Costa D InouyeItalyAmy Elsner UNQUALIFIED
Chavez J OstroskyGermanyOnyama Limba QUALIFIED
Clifford N AmigonJapanAnna Fali QUALIFIED
Kaitlin P MorascaGermanyBernardo Dominic PROPOSAL
Leon Y WhobreyBrazilStephen Shaw UNQUALIFIED
Salvatore I RutaJapanAmy Elsner RENEWAL
Salvatore J RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Johnson F BologniaItalyElwin Sharvill PROPOSAL
Ricardo I GauchoGermanyElwin Sharvill RENEWAL
Morrow P SergiRussiaIvan Magalhaes PROPOSAL
Jennifer G SergiFranceElwin Sharvill NEGOTIATION
Morrow G GlickSpainAnna Fali PROPOSAL
Jennifer H RoysterIndiaIoni Bowcher RENEWAL
Clifford K RutaItalyElwin Sharvill QUALIFIED
Ivar J VocelkaCanadaAmy Elsner PROPOSAL
Ricardo F BriddickItalyAnna Fali NEW
Ricardo I RimCanadaAnna Fali UNQUALIFIED
Faith A CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Aika P KolmetzFranceBernardo Dominic RENEWAL
Deepesh A OldroydAustraliaElwin Sharvill NEGOTIATION
Sinclair H MaletSpainAsiya Javayant QUALIFIED
Jones J RulapaughGermanyIvan Magalhaes UNQUALIFIED
Adams V DarakjyGermanyOnyama Limba PROPOSAL
Silvio D RutaJapanStephen Shaw RENEWAL
Salvatore O PerinAustraliaBernardo Dominic NEGOTIATION
Mujtaba V SchemmerCanadaBernardo Dominic QUALIFIED
James E DoeUnited KingdomElwin Sharvill NEW
Leja J PoquetteItalyAnna Fali NEW
Maria S NestleUnited KingdomBernardo Dominic QUALIFIED
Wickens P VenereGermanyIoni Bowcher PROPOSAL
Izzy R WieserRussiaElwin Sharvill QUALIFIED
Jennifer C StensethFranceBernardo Dominic NEW
Greenwood O WaycottCanadaXuxue Feng UNQUALIFIED
Adams Q DilliardSpainAmy Elsner NEGOTIATION
Morrow F WhobreyItalyStephen Shaw 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>