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
David T FerenczSpainStephen Shaw UNQUALIFIED
Emily Z DilliardAustraliaBernardo Dominic NEGOTIATION
Kaitlin A KolmetzUnited KingdomOnyama Limba NEW
Isabel M WaycottIndiaIvan Magalhaes NEW
Cody R ShinkoJapanStephen Shaw PROPOSAL
Darci C VocelkaArgentinaAsiya Javayant NEW
Leon D GillianIndiaIoni Bowcher QUALIFIED
Leon B CaldareraBrazilIoni Bowcher UNQUALIFIED
Smith Z GarufiArgentinaXuxue Feng UNQUALIFIED
Aditya H IturbideSpainElwin Sharvill RENEWAL
David Q VenereJapanIvan Magalhaes RENEWAL
Leon R FlosiRussiaAmy Elsner NEGOTIATION
Kadeem C GarufiJapanAsiya Javayant PROPOSAL
Cody F SergiCanadaAsiya Javayant RENEWAL
Alejandro C ShinkoJapanIvan Magalhaes UNQUALIFIED
Chavez Z FlosiIndiaAmy Elsner UNQUALIFIED
Kadeem H GarufiGermanyOnyama Limba NEGOTIATION
Francesco X InouyeCanadaAsiya Javayant UNQUALIFIED
Isabel P RimCanadaAnna Fali NEW
Faith G IturbideItalyAnna Fali NEW
Kadeem S PoquetteItalyStephen Shaw QUALIFIED
Aditya C CaudyArgentinaXuxue Feng NEGOTIATION
Murillo W ShinkoSpainBernardo Dominic QUALIFIED
Leja F VenereArgentinaAnna Fali RENEWAL
Kaitlin Z CaudyRussiaStephen Shaw NEW
Faith N FerenczIndiaIoni Bowcher QUALIFIED
Deepesh P IturbideSpainAsiya Javayant NEGOTIATION
Emily Q StockhamGermanyAnna Fali RENEWAL
Ashley N PaprockiArgentinaOnyama Limba UNQUALIFIED
Darci G MacleadRussiaAnna Fali NEGOTIATION
Ivar H ShinkoRussiaOnyama Limba QUALIFIED
Maisha B NestleCanadaBernardo Dominic UNQUALIFIED
Kaitlin V MaletBrazilAmy Elsner PROPOSAL
Stacey E RulapaughBrazilElwin Sharvill NEGOTIATION
Claire R GauchoBrazilStephen Shaw PROPOSAL
Kaitlin Q SergiArgentinaIoni Bowcher NEW
Aika N InouyeFranceAmy Elsner RENEWAL
Aruna R ChuiArgentinaAnna Fali QUALIFIED
Maisha G FollerArgentinaAnna Fali NEGOTIATION
Aruna P GarufiSpainXuxue Feng NEGOTIATION
Rodrigues O SergiArgentinaXuxue Feng RENEWAL
Jeanfrancois L MorascaFranceIoni Bowcher UNQUALIFIED
Jefferson N NickaSpainAmy Elsner NEW
Salvatore K BriddickCanadaAmy Elsner NEGOTIATION
Alejandro D CaldareraArgentinaIvan Magalhaes NEW
Rodrigues T SergiUnited KingdomStephen Shaw NEW
Morrow L IturbideGermanyIoni Bowcher NEW
Darci B InouyeCanadaElwin Sharvill UNQUALIFIED
Jennifer T MarrierIndiaIoni Bowcher NEW
Tony D VocelkaCanadaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Cody X MaletArgentinaElwin Sharvill RENEWAL
Mayumi R MacleadGermanyIvan Magalhaes UNQUALIFIED
Stacey U SaylorsAustraliaIvan Magalhaes QUALIFIED
Aditya Z SaylorsSpainOnyama Limba RENEWAL
Aditya B CampainFranceIoni Bowcher NEGOTIATION
Costa F SergiCanadaStephen Shaw RENEWAL
Francesco M IturbideItalyAsiya Javayant NEGOTIATION
Silvio P GarufiGermanyAmy Elsner NEW
Maisha Q DarakjyFranceStephen Shaw QUALIFIED
Leja M WieserIndiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio D StockhamCanada2026-11-03Dorl, James J Esq PROPOSAL34Ioni Bowcher
1001Maisha W MorascaGermany2026-10-23Rangoni Of Florence UNQUALIFIED16Anna Fali
1002Juan H BologniaIndia2026-10-19Commercial Press UNQUALIFIED18Amy Elsner
1003James Y DilliardUnited Kingdom2026-11-05Chemel, James L Cpa NEGOTIATION8Ioni Bowcher
1004David Q DarakjySpain2026-11-04Feiner Bros NEGOTIATION47Onyama Limba
1005Jennifer Y MorascaGermany2026-10-31Printing Dimensions QUALIFIED71Stephen Shaw
1006Jones N DoeCanada2026-10-23Feltz Printing Service UNQUALIFIED99Ioni Bowcher
1007Aruna K StensethJapan2026-10-14Commercial Press NEGOTIATION93Elwin Sharvill
1008Tony W IturbideItaly2026-10-29King, Christopher A Esq NEGOTIATION90Stephen Shaw
1009Silvio P BologniaRussia2026-10-17Buckley Miller Wright RENEWAL8Xuxue Feng
1010Sinclair G SergiAustralia2026-10-13Dorl, James J Esq RENEWAL63Onyama Limba
1011Aika C SergiFrance2026-10-13Morlong Associates RENEWAL38Onyama Limba
1012Morrow X TollnerArgentina2026-10-15Feiner Bros RENEWAL65Xuxue Feng
1013Mujtaba Y CaldareraBrazil2026-11-02Benton, John B Jr QUALIFIED21Elwin Sharvill
1014Aika B ShinkoIndia2026-10-15Morlong Associates QUALIFIED75Amy Elsner
1015Jeanfrancois F GillianAustralia2026-10-24Benton, John B Jr QUALIFIED82Stephen Shaw
1016Costa I RulapaughJapan2026-10-19Truhlar And Truhlar Attys QUALIFIED94Amy Elsner
1017Mayumi M KolmetzSpain2026-11-03Printing Dimensions QUALIFIED13Elwin Sharvill
1018Jones J ButtArgentina2026-10-10Printing Dimensions UNQUALIFIED91Anna Fali
1019Costa J OstroskyItaly2026-10-20Feltz Printing Service NEW11Xuxue Feng
1020Mujtaba M OstroskyCanada2026-10-28Printing Dimensions UNQUALIFIED0Xuxue Feng
1021Ashley E GlickBrazil2026-10-13Chanay, Jeffrey A Esq QUALIFIED25Asiya Javayant
1022Ivar P VenereItaly2026-10-14Rousseaux, Michael Esq RENEWAL72Ioni Bowcher
1023Jones F OstroskyArgentina2026-10-27Buckley Miller Wright QUALIFIED68Stephen Shaw
1024Jones H ChuiItaly2026-11-04Chemel, James L Cpa PROPOSAL8Ivan Magalhaes
1025Julie O ChuiIndia2026-11-04Chemel, James L Cpa NEW69Elwin Sharvill
1026Maria I NestleArgentina2026-10-22Truhlar And Truhlar Attys PROPOSAL31Onyama Limba
1027Octavia N StockhamSpain2026-10-14Dorl, James J Esq NEGOTIATION58Amy Elsner
1028Mayumi M AmigonUnited Kingdom2026-10-15Feiner Bros NEGOTIATION54Stephen Shaw
1029Wickens W PaprockiCanada2026-10-09Truhlar And Truhlar Attys UNQUALIFIED20Amy Elsner
1030Leja R FigeroaCanada2026-10-27Chemel, James L Cpa UNQUALIFIED81Asiya Javayant
1031Alejandro G OstroskyUnited Kingdom2026-10-13Chemel, James L Cpa UNQUALIFIED63Elwin Sharvill
1032Costa Y DarakjyCanada2026-10-14King, Christopher A Esq NEGOTIATION63Ivan Magalhaes
1033Silvio H BowleyIndia2026-10-30Chemel, James L Cpa NEW80Bernardo Dominic
1034Mayumi N StockhamRussia2026-10-07Printing Dimensions RENEWAL40Ioni Bowcher
1035Aruna F WhobreyFrance2026-10-19Commercial Press RENEWAL73Asiya Javayant
1036Izzy D ButtAustralia2026-10-22Chapman, Ross E Esq RENEWAL66Onyama Limba
1037Greenwood E WaycottSpain2026-11-03Rangoni Of Florence UNQUALIFIED5Elwin Sharvill
1038Emily I WaycottArgentina2026-10-21Chapman, Ross E Esq UNQUALIFIED35Onyama Limba
1039Aditya M RutaGermany2026-10-07Feiner Bros QUALIFIED46Asiya Javayant
1040Stacey K CaudyJapan2026-10-16Feltz Printing Service RENEWAL40Bernardo Dominic
1041Izzy S StockhamArgentina2026-11-05King, Christopher A Esq PROPOSAL61Xuxue Feng
1042Smith R WieserJapan2026-10-13Feltz Printing Service PROPOSAL49Elwin Sharvill
1043Silvio V RutaFrance2026-10-07Benton, John B Jr NEW13Anna Fali
1044Izzy J PaprockiBrazil2026-11-04Buckley Miller Wright UNQUALIFIED44Amy Elsner
1045Tony A NestleArgentina2026-10-27Buckley Miller Wright NEW54Ivan Magalhaes
1046Julie V AlbaresSpain2026-10-19Feltz Printing Service NEGOTIATION25Bernardo Dominic
1047Mayumi C AmigonIndia2026-10-27Dorl, James J Esq QUALIFIED50Stephen Shaw
1048Aditya P VenereCanada2026-10-18Chemel, James L Cpa QUALIFIED79Amy Elsner
1049Kadeem X PoquetteItaly2026-10-08Feiner Bros RENEWAL68Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Julie E RulapaughUnited KingdomIoni Bowcher PROPOSAL
Maisha O DoeRussiaIoni Bowcher UNQUALIFIED
Salvatore V InouyeSpainElwin Sharvill NEGOTIATION
Aika V PoquetteSpainOnyama Limba UNQUALIFIED
Leja N GillianFranceAnna Fali NEGOTIATION
Aruna K NickaUnited KingdomAnna Fali RENEWAL
Jeanfrancois D IturbideJapanOnyama Limba RENEWAL
Izzy I NestleFranceElwin Sharvill PROPOSAL
Kaitlin B FollerCanadaAmy Elsner QUALIFIED
Smith V CaudyCanadaAsiya Javayant NEW
Emily D FlosiFranceIvan Magalhaes QUALIFIED
Ashley V RulapaughGermanyOnyama Limba PROPOSAL
David M AlbaresUnited KingdomXuxue Feng QUALIFIED
Sinclair M GauchoIndiaAnna Fali NEGOTIATION
Ivar R GauchoSpainAnna Fali QUALIFIED
Adams F PoquetteBrazilElwin Sharvill NEW
Leon H BologniaJapanAnna Fali NEW
Chavez B NestleBrazilIoni Bowcher NEW
Clifford Y ButtBrazilAmy Elsner PROPOSAL
Jeanfrancois Y PoquetteJapanStephen Shaw QUALIFIED
Leja W WaycottFranceXuxue Feng RENEWAL
Jones F RoysterCanadaBernardo Dominic PROPOSAL
Mayumi V SchemmerRussiaOnyama Limba NEGOTIATION
Adams Q DilliardBrazilIvan Magalhaes PROPOSAL
Johnson N GauchoJapanBernardo Dominic QUALIFIED
Costa B AlbaresJapanAnna Fali QUALIFIED
Chavez T GauchoFranceXuxue Feng UNQUALIFIED
Salvatore Z NickaGermanyIoni Bowcher NEW
Jones K GlickBrazilElwin Sharvill NEGOTIATION
Nicolas Q SaylorsIndiaAmy Elsner NEGOTIATION
Sinclair J OldroydSpainAmy Elsner PROPOSAL
Aika Q MacleadIndiaAsiya Javayant QUALIFIED
Ashley M GarufiCanadaAmy Elsner RENEWAL
Stacey K MacleadIndiaOnyama Limba NEW
Aruna N FollerFranceXuxue Feng UNQUALIFIED
Kaitlin B DarakjyJapanStephen Shaw QUALIFIED
James K AmigonIndiaIvan Magalhaes QUALIFIED
Jefferson J DarakjyItalyIvan Magalhaes RENEWAL
Ashley V DoeIndiaAnna Fali NEW
Darci A WaycottGermanyAnna Fali NEGOTIATION
Leon B ButtBrazilAnna Fali RENEWAL
Mayumi J SaylorsItalyStephen Shaw UNQUALIFIED
Clifford G BologniaUnited KingdomIvan Magalhaes NEW
Julie H KolmetzAustraliaElwin Sharvill NEGOTIATION
David L GillianItalyAmy Elsner QUALIFIED
Aika S StockhamItalyStephen Shaw QUALIFIED
Misaki J SchemmerBrazilAmy Elsner NEW
Kaitlin I AlbaresBrazilAnna Fali NEGOTIATION
Greenwood F AmigonSpainElwin Sharvill UNQUALIFIED
Tony U GauchoBrazilAnna Fali PROPOSAL
Frozen Columns
Name
Maisha H Poquette
Kadeem F Stockham
Murillo N Gaucho
Ashley S Foller
Jeanfrancois Y Ferencz
Ricardo O Nestle
Isabel H Gaucho
Nicolas J Darakjy
Tony F Royster
Nicolas K Whobrey
Sinclair K Briddick
Isabel R Darakjy
Aditya Q Poquette
Jefferson W Figeroa
David J Gaucho
Emily O Gillian
Ricardo L Venere
Stacey L Royster
Aika U Gaucho
Leja D Saylors
Cody Z Bolognia
Cody G Schemmer
Alejandro C Stenseth
Maisha R Campain
Claire F Flosi
Cody K Shinko
Greenwood Y Ostrosky
Salvatore E Doe
Aika D Bolognia
Aruna E Shinko
Leja W Ferencz
Misaki F Bolognia
Cody J Oldroyd
Jefferson N Garufi
Leja Y Vocelka
Greenwood R Chui
Salvatore C Stenseth
Wickens L Kolmetz
Costa U Malet
Maisha R Nestle
Misaki A Dilliard
Francesco E Caudy
Costa S Nestle
Maisha S Glick
Murillo V Rulapaugh
Tony P Morasca
Nicolas F Campain
Adams O Sergi
Darci L Ruta
Julie X Ferencz
IdCountryDate
1000Brazil2026-10-16
1001Japan2026-10-10
1002Germany2026-10-18
1003Canada2026-10-15
1004United Kingdom2026-10-20
1005France2026-10-21
1006India2026-10-28
1007Brazil2026-11-05
1008Brazil2026-10-09
1009Russia2026-11-01
1010United Kingdom2026-10-28
1011France2026-11-05
1012Canada2026-10-17
1013Japan2026-11-04
1014Russia2026-10-31
1015Spain2026-10-16
1016Brazil2026-10-28
1017India2026-10-19
1018Spain2026-10-12
1019Spain2026-11-05
1020Japan2026-10-26
1021France2026-10-10
1022Australia2026-10-24
1023Brazil2026-10-29
1024United Kingdom2026-10-26
1025Germany2026-10-28
1026Italy2026-10-20
1027United Kingdom2026-10-16
1028Spain2026-11-01
1029France2026-10-23
1030Argentina2026-10-07
1031Italy2026-10-07
1032Australia2026-10-13
1033Russia2026-10-25
1034Spain2026-11-03
1035Spain2026-11-02
1036Russia2026-10-11
1037Argentina2026-10-22
1038Australia2026-10-31
1039Australia2026-11-04
1040India2026-10-30
1041Japan2026-11-02
1042Spain2026-10-22
1043Canada2026-10-18
1044Russia2026-10-26
1045Italy2026-10-07
1046Italy2026-10-11
1047India2026-10-14
1048Spain2026-10-26
1049Australia2026-10-27

On-Demand Data

NameIdCountryDate
Francesco N Briddick1000Argentina2026-10-22
Antonio T Rulapaugh1001Russia2026-10-14
Octavia Z Albares1002Australia2026-10-30
Costa K Rulapaugh1003Brazil2026-10-14
Francesco S Doe1004India2026-11-03
Salvatore H Caldarera1005Germany2026-11-04
Jennifer N Bolognia1006Japan2026-10-13
Murillo G Glick1007Argentina2026-10-20
Isabel Q Paprocki1008Australia2026-10-17
Chavez I Chui1009Italy2026-10-14
Jeanfrancois H Ostrosky1010Australia2026-10-09
Julie Y Whobrey1011Germany2026-10-11
Stacey J Whobrey1012United Kingdom2026-10-07
Kaitlin V Oldroyd1013Russia2026-10-19
Mayumi V Vocelka1014Germany2026-10-15
Mayumi N Iturbide1015United Kingdom2026-10-11
Mujtaba K Flosi1016Australia2026-10-13
Faith X Marrier1017Spain2026-10-28
Chavez U Shinko1018Argentina2026-10-21
Salvatore F Doe1019Australia2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair G RoysterIndiaIoni Bowcher NEGOTIATION
Aditya C CaldareraRussiaAnna Fali UNQUALIFIED
Murillo I VocelkaSpainOnyama Limba NEW
Greenwood U TollnerItalyIoni Bowcher NEGOTIATION
Johnson N GillianJapanOnyama Limba RENEWAL
Mayumi Z CaldareraItalyElwin Sharvill NEGOTIATION
James I KuskoGermanyStephen Shaw RENEWAL
Aruna E WieserFranceAnna Fali PROPOSAL
Alejandro K KolmetzJapanStephen Shaw NEGOTIATION
Leon M FollerRussiaIvan Magalhaes UNQUALIFIED
Mayumi C PerinArgentinaIoni Bowcher PROPOSAL
James I SaylorsBrazilOnyama Limba NEW
Mujtaba J NestleItalyIvan Magalhaes NEGOTIATION
Jones M RulapaughUnited KingdomAsiya Javayant PROPOSAL
Octavia T NestleIndiaXuxue Feng PROPOSAL
Juan E KolmetzFranceAmy Elsner QUALIFIED
Silvio R VocelkaJapanIvan Magalhaes NEW
Chavez F VenereGermanyStephen Shaw RENEWAL
Octavia U BowleyItalyBernardo Dominic PROPOSAL
Aruna Z FollerUnited KingdomAmy Elsner QUALIFIED
Jennifer U MaletRussiaStephen Shaw PROPOSAL
Salvatore E RulapaughCanadaIoni Bowcher PROPOSAL
Greenwood Q SaylorsBrazilBernardo Dominic NEW
James K VenereAustraliaAmy Elsner NEGOTIATION
Juan D AlbaresRussiaStephen Shaw RENEWAL
Nicolas O TollnerBrazilStephen Shaw UNQUALIFIED
Jones X KolmetzCanadaStephen Shaw NEGOTIATION
Mujtaba V SlusarskiItalyXuxue Feng QUALIFIED
Kadeem Q ChuiItalyIoni Bowcher UNQUALIFIED
Silvio P KolmetzGermanyIvan Magalhaes NEW
Ivar W StockhamJapanBernardo Dominic NEGOTIATION
Aditya M MorascaFranceXuxue Feng UNQUALIFIED
Salvatore Z StockhamItalyXuxue Feng RENEWAL
Stacey X FollerJapanXuxue Feng NEGOTIATION
Aruna V ButtRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois L DilliardFranceXuxue Feng QUALIFIED
Izzy U MarrierJapanOnyama Limba NEGOTIATION
Sinclair U PaprockiItalyAmy Elsner QUALIFIED
Mujtaba T VocelkaFranceStephen Shaw PROPOSAL
Ivar Q SaylorsBrazilIoni Bowcher QUALIFIED

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