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
Ricardo H RoysterItalyAsiya Javayant PROPOSAL
Munro N MarrierSpainOnyama Limba PROPOSAL
Sinclair J SergiJapanIvan Magalhaes RENEWAL
Ashley X FigeroaUnited KingdomBernardo Dominic NEW
Jennifer E SchemmerArgentinaStephen Shaw RENEWAL
Johnson T InouyeFranceAmy Elsner NEW
Kaitlin F IturbideSpainIoni Bowcher RENEWAL
Jennifer L KolmetzCanadaAmy Elsner UNQUALIFIED
Antonio R PaprockiAustraliaXuxue Feng NEW
Munro Q WieserJapanAsiya Javayant QUALIFIED
Aditya A NickaCanadaOnyama Limba UNQUALIFIED
Jennifer M ChuiUnited KingdomElwin Sharvill NEW
Faith I RimGermanyAsiya Javayant NEGOTIATION
Darci M FlosiGermanyBernardo Dominic NEGOTIATION
Rodrigues Y CampainBrazilAsiya Javayant PROPOSAL
Jefferson T PerinBrazilAnna Fali PROPOSAL
Mujtaba N RimFranceStephen Shaw QUALIFIED
Aruna I PerinItalyStephen Shaw NEW
James Z RoysterBrazilAmy Elsner NEW
Rodrigues Y MaletRussiaElwin Sharvill UNQUALIFIED
Claire F GauchoAustraliaAmy Elsner RENEWAL
Chavez E DarakjyAustraliaIvan Magalhaes QUALIFIED
Ashley O MacleadRussiaAmy Elsner NEGOTIATION
Francesco L BriddickItalyAsiya Javayant RENEWAL
Clifford K FollerRussiaStephen Shaw UNQUALIFIED
Aika U KolmetzArgentinaAsiya Javayant UNQUALIFIED
Alejandro J KuskoCanadaAmy Elsner PROPOSAL
Rodrigues L RutaIndiaIvan Magalhaes RENEWAL
Chavez U BowleyUnited KingdomAnna Fali RENEWAL
Jennifer E SlusarskiSpainOnyama Limba RENEWAL
Leja Y WieserBrazilIoni Bowcher NEW
Darci J CampainFranceOnyama Limba PROPOSAL
Morrow V BowleyUnited KingdomAsiya Javayant QUALIFIED
Stacey T FigeroaCanadaXuxue Feng RENEWAL
Aditya S SlusarskiGermanyAnna Fali NEGOTIATION
Arvin G ShinkoGermanyElwin Sharvill QUALIFIED
Francesco F PerinAustraliaAsiya Javayant RENEWAL
Ricardo W RutaArgentinaXuxue Feng RENEWAL
Emily I GarufiFranceElwin Sharvill NEW
Smith N PaprockiSpainElwin Sharvill UNQUALIFIED
Aruna B FerenczItalyElwin Sharvill RENEWAL
Jeanfrancois M SlusarskiArgentinaAnna Fali QUALIFIED
Ricardo F AlbaresArgentinaXuxue Feng PROPOSAL
Ashley I MaletBrazilBernardo Dominic PROPOSAL
Antonio L KuskoArgentinaAmy Elsner NEGOTIATION
Aika S VocelkaItalyBernardo Dominic UNQUALIFIED
Leja J MaletIndiaAsiya Javayant UNQUALIFIED
Octavia D DilliardCanadaAsiya Javayant UNQUALIFIED
Aditya U WaycottBrazilElwin Sharvill NEW
Salvatore X FigeroaUnited KingdomAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna Q RulapaughBrazilBernardo Dominic NEGOTIATION
Ashley R TollnerCanadaXuxue Feng RENEWAL
Mujtaba Y PoquetteUnited KingdomElwin Sharvill RENEWAL
Julie Q RutaIndiaAnna Fali PROPOSAL
Adams G BriddickAustraliaAmy Elsner RENEWAL
Sinclair A IturbideItalyStephen Shaw RENEWAL
Mujtaba O PoquetteIndiaIvan Magalhaes RENEWAL
Leja A AmigonGermanyStephen Shaw PROPOSAL
Deepesh W DilliardArgentinaElwin Sharvill NEW
Maria P RulapaughAustraliaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Z GarufiGermany2026-09-12Printing Dimensions NEW37Ioni Bowcher
1001Emily F RimBrazil2026-09-04Chemel, James L Cpa UNQUALIFIED20Bernardo Dominic
1002Izzy J NestleItaly2026-09-15Feiner Bros NEGOTIATION63Xuxue Feng
1003Ivar A SaylorsAustralia2026-09-20Chemel, James L Cpa QUALIFIED83Ioni Bowcher
1004Aditya A DilliardGermany2026-09-03Feltz Printing Service QUALIFIED41Anna Fali
1005Murillo O MaletFrance2026-08-28Printing Dimensions RENEWAL93Onyama Limba
1006Munro T BologniaBrazil2026-09-13Chapman, Ross E Esq PROPOSAL9Amy Elsner
1007Juan W OldroydCanada2026-09-11Benton, John B Jr UNQUALIFIED32Ivan Magalhaes
1008Jones N FollerAustralia2026-09-11Morlong Associates UNQUALIFIED6Stephen Shaw
1009David Z GillianAustralia2026-09-02Commercial Press PROPOSAL45Bernardo Dominic
1010Izzy T AlbaresFrance2026-09-04Chemel, James L Cpa RENEWAL41Stephen Shaw
1011Nicolas N SlusarskiArgentina2026-09-13Printing Dimensions NEW38Anna Fali
1012Morrow U PerinArgentina2026-09-01Morlong Associates PROPOSAL54Amy Elsner
1013Salvatore W MaletJapan2026-09-19Benton, John B Jr NEW68Ioni Bowcher
1014Leja K RutaGermany2026-08-31Buckley Miller Wright NEW30Amy Elsner
1015James D GlickSpain2026-09-13Benton, John B Jr QUALIFIED27Ioni Bowcher
1016Kadeem V BologniaIndia2026-09-13Morlong Associates UNQUALIFIED78Asiya Javayant
1017Aika E RoysterBrazil2026-08-26Chapman, Ross E Esq NEW68Stephen Shaw
1018Aditya T MaletAustralia2026-09-13Feltz Printing Service NEGOTIATION62Asiya Javayant
1019Clifford J OstroskyArgentina2026-08-27Morlong Associates PROPOSAL4Ioni Bowcher
1020Sinclair Z MorascaRussia2026-09-19Chapman, Ross E Esq NEW28Amy Elsner
1021David O KuskoCanada2026-09-15Chemel, James L Cpa UNQUALIFIED14Anna Fali
1022Misaki Z WaycottSpain2026-09-13Truhlar And Truhlar Attys NEGOTIATION93Asiya Javayant
1023Aditya J FerenczJapan2026-09-23King, Christopher A Esq NEW75Asiya Javayant
1024Sinclair D FlosiRussia2026-09-15Morlong Associates UNQUALIFIED12Ivan Magalhaes
1025Rodrigues B ChuiArgentina2026-09-11Truhlar And Truhlar Attys NEW87Anna Fali
1026Octavia J MarrierArgentina2026-09-20Chapman, Ross E Esq QUALIFIED56Xuxue Feng
1027Faith A RimAustralia2026-08-29Chemel, James L Cpa NEW26Amy Elsner
1028Tony E FlosiSpain2026-09-01Rangoni Of Florence RENEWAL18Bernardo Dominic
1029Adams Z GlickUnited Kingdom2026-08-27Feltz Printing Service UNQUALIFIED7Asiya Javayant
1030Arvin M MorascaFrance2026-09-03Commercial Press NEGOTIATION91Elwin Sharvill
1031Sinclair X TollnerAustralia2026-09-23Feltz Printing Service NEGOTIATION66Stephen Shaw
1032Ashley X SchemmerCanada2026-09-02Benton, John B Jr QUALIFIED44Ioni Bowcher
1033Adams W GauchoGermany2026-09-08Chapman, Ross E Esq QUALIFIED25Onyama Limba
1034Julie P RulapaughBrazil2026-09-15Buckley Miller Wright NEGOTIATION11Ivan Magalhaes
1035Maria R OstroskyJapan2026-09-14Rangoni Of Florence QUALIFIED17Anna Fali
1036Smith F OstroskyItaly2026-09-07Chapman, Ross E Esq RENEWAL98Amy Elsner
1037Darci Z WieserUnited Kingdom2026-09-16Rousseaux, Michael Esq PROPOSAL62Ivan Magalhaes
1038Misaki O BologniaSpain2026-08-31Chanay, Jeffrey A Esq RENEWAL24Ioni Bowcher
1039Jefferson I SergiIndia2026-09-05Feiner Bros RENEWAL31Onyama Limba
1040Deepesh Z DilliardCanada2026-09-02Rangoni Of Florence NEW81Onyama Limba
1041Izzy H RulapaughBrazil2026-09-15Morlong Associates RENEWAL52Ioni Bowcher
1042Deepesh P KolmetzBrazil2026-09-05Truhlar And Truhlar Attys PROPOSAL47Amy Elsner
1043Ricardo V ShinkoRussia2026-09-18King, Christopher A Esq PROPOSAL98Ioni Bowcher
1044Cody E WaycottIndia2026-09-06Dorl, James J Esq UNQUALIFIED52Anna Fali
1045Aruna X NickaFrance2026-09-21Dorl, James J Esq NEW31Asiya Javayant
1046Jones A NestleUnited Kingdom2026-08-29Benton, John B Jr RENEWAL63Amy Elsner
1047Leon N StensethRussia2026-08-26Printing Dimensions QUALIFIED64Bernardo Dominic
1048Jeanfrancois W SlusarskiUnited Kingdom2026-08-29Benton, John B Jr NEW2Ivan Magalhaes
1049Ivar J MacleadGermany2026-09-21Feltz Printing Service UNQUALIFIED53Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mayumi R MaletSpainIvan Magalhaes PROPOSAL
Mujtaba S SchemmerSpainAnna Fali RENEWAL
Izzy Q InouyeFranceStephen Shaw NEW
Aditya F PaprockiCanadaElwin Sharvill QUALIFIED
James M AmigonUnited KingdomIoni Bowcher RENEWAL
Cody D RulapaughGermanyAsiya Javayant NEGOTIATION
Francesco B VocelkaCanadaElwin Sharvill NEW
Alejandro K CampainSpainStephen Shaw PROPOSAL
Rodrigues B SergiCanadaAmy Elsner UNQUALIFIED
Cody G FerenczIndiaIvan Magalhaes QUALIFIED
Chavez T NickaCanadaIoni Bowcher NEW
Mujtaba B BologniaRussiaStephen Shaw NEGOTIATION
Emily U SlusarskiFranceAmy Elsner NEGOTIATION
Ricardo F MaletSpainAnna Fali NEW
Juan J SlusarskiItalyAnna Fali NEW
Emily I GillianIndiaAsiya Javayant NEGOTIATION
Jones B CaldareraCanadaAsiya Javayant UNQUALIFIED
Clifford S RimIndiaIoni Bowcher UNQUALIFIED
Ashley W PoquetteJapanXuxue Feng PROPOSAL
Adams A IturbideRussiaAsiya Javayant PROPOSAL
Mujtaba A MaletFranceAnna Fali PROPOSAL
Ricardo W NestleItalyOnyama Limba QUALIFIED
Greenwood L VenereSpainAnna Fali NEW
Morrow S InouyeJapanIvan Magalhaes RENEWAL
Silvio O KuskoItalyAnna Fali NEW
Aditya E ShinkoCanadaIvan Magalhaes NEW
Tony T GillianSpainOnyama Limba UNQUALIFIED
Tony Z NickaRussiaBernardo Dominic NEW
Darci T CampainSpainOnyama Limba NEW
Kaitlin K MacleadFranceAsiya Javayant UNQUALIFIED
Faith B RoysterRussiaIvan Magalhaes PROPOSAL
Munro M BriddickGermanyBernardo Dominic PROPOSAL
Faith R BowleyRussiaIvan Magalhaes NEGOTIATION
Claire Z FigeroaArgentinaAnna Fali RENEWAL
Emily Y FerenczFranceAnna Fali QUALIFIED
Claire A InouyeIndiaElwin Sharvill QUALIFIED
Deepesh Y MorascaBrazilStephen Shaw PROPOSAL
Ivar T PoquetteGermanyAsiya Javayant PROPOSAL
Smith X MaletAustraliaAmy Elsner NEW
Deepesh R OstroskyCanadaStephen Shaw UNQUALIFIED
Claire Z WaycottRussiaAmy Elsner UNQUALIFIED
Ricardo K DilliardFranceElwin Sharvill UNQUALIFIED
Morrow L ChuiArgentinaBernardo Dominic UNQUALIFIED
Aika E PoquetteFranceBernardo Dominic PROPOSAL
Francesco P DoeIndiaElwin Sharvill NEW
David N VenereFranceStephen Shaw QUALIFIED
Aditya X MaletItalyAsiya Javayant UNQUALIFIED
Stacey L OstroskyAustraliaBernardo Dominic UNQUALIFIED
Francesco P NickaGermanyElwin Sharvill NEW
Alejandro H MaletGermanyAnna Fali UNQUALIFIED
Frozen Columns
Name
Aruna G Vocelka
Jennifer U Royster
Deepesh R Ruta
Kadeem M Doe
Octavia S Malet
Adams M Caudy
Faith X Stockham
Claire D Stockham
Stacey Z Kusko
Arvin B Maclead
Maria J Nestle
Maisha G Foller
Munro C Bowley
Isabel C Caldarera
Jeanfrancois X Dilliard
Maisha N Chui
Leja F Garufi
Johnson E Slusarski
Mujtaba N Stockham
Sinclair I Briddick
Claire O Shinko
Julie G Schemmer
Emily U Amigon
Maisha V Waycott
Julie E Iturbide
Munro V Maclead
Tony W Inouye
Alejandro B Campain
Silvio H Flosi
Wickens J Whobrey
Alejandro T Darakjy
Ivar R Wieser
Alejandro U Oldroyd
Aika Q Tollner
Misaki A Whobrey
Aruna Q Briddick
Antonio Z Ferencz
Darci A Nestle
Antonio V Nicka
Tony F Slusarski
Darci E Tollner
Leja I Ruta
Sinclair D Gillian
Ivar R Rulapaugh
Jeanfrancois L Stenseth
Rodrigues P Iturbide
Ivar V Slusarski
James J Venere
Deepesh W Inouye
Ricardo S Morasca
IdCountryDate
1000Argentina2026-08-29
1001Japan2026-09-07
1002Spain2026-09-06
1003India2026-08-30
1004United Kingdom2026-09-14
1005Argentina2026-09-16
1006Brazil2026-09-09
1007United Kingdom2026-08-28
1008Canada2026-08-26
1009Spain2026-09-11
1010Brazil2026-09-01
1011United Kingdom2026-09-06
1012Australia2026-08-30
1013United Kingdom2026-09-21
1014Argentina2026-09-14
1015Japan2026-09-09
1016Russia2026-09-23
1017Argentina2026-09-21
1018Australia2026-09-06
1019Russia2026-09-04
1020India2026-09-17
1021United Kingdom2026-09-17
1022Brazil2026-09-07
1023Japan2026-09-16
1024Brazil2026-09-06
1025Brazil2026-09-18
1026Australia2026-08-30
1027France2026-09-22
1028Japan2026-09-19
1029United Kingdom2026-09-04
1030Australia2026-09-07
1031Germany2026-09-18
1032France2026-09-19
1033France2026-09-23
1034Japan2026-09-06
1035Japan2026-08-28
1036Argentina2026-09-17
1037Italy2026-09-17
1038Russia2026-08-30
1039Japan2026-09-04
1040Germany2026-09-11
1041Australia2026-09-11
1042Australia2026-09-18
1043France2026-09-01
1044Canada2026-09-14
1045Canada2026-09-10
1046India2026-09-18
1047Argentina2026-09-17
1048Germany2026-09-09
1049Russia2026-08-28

On-Demand Data

NameIdCountryDate
Francesco A Nestle1000Italy2026-09-21
Nicolas D Perin1001United Kingdom2026-08-31
Clifford P Caldarera1002United Kingdom2026-09-20
Ashley F Nicka1003France2026-09-04
Mujtaba K Malet1004Russia2026-08-30
Deepesh C Ostrosky1005France2026-09-21
Cody R Paprocki1006Russia2026-09-01
Chavez P Malet1007Russia2026-09-12
David X Venere1008Russia2026-09-18
Leja C Venere1009Russia2026-09-07
Murillo Z Dilliard1010France2026-09-22
Clifford H Chui1011Russia2026-09-16
Aditya E Ruta1012United Kingdom2026-09-22
Kadeem H Ruta1013United Kingdom2026-09-07
Leja N Morasca1014Germany2026-09-21
Rodrigues Z Butt1015Australia2026-09-08
Maria Q Gaucho1016Italy2026-08-31
Darci L Butt1017Spain2026-09-09
Leja U Bolognia1018Australia2026-09-01
Darci E Maclead1019India2026-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya S BologniaAustraliaAmy Elsner RENEWAL
Darci W ChuiRussiaIvan Magalhaes RENEWAL
Ricardo U AlbaresIndiaIvan Magalhaes RENEWAL
Morrow L WieserItalyOnyama Limba NEW
Jefferson J SlusarskiSpainAsiya Javayant UNQUALIFIED
Alejandro N RutaIndiaAmy Elsner UNQUALIFIED
Morrow Z MaletUnited KingdomIvan Magalhaes QUALIFIED
Cody Y BowleyIndiaBernardo Dominic RENEWAL
Clifford M IturbideArgentinaIvan Magalhaes RENEWAL
Ashley S NickaArgentinaBernardo Dominic NEGOTIATION
Francesco P InouyeJapanAnna Fali NEW
Faith W InouyeCanadaAnna Fali QUALIFIED
Octavia G DoeJapanBernardo Dominic NEW
Johnson G GarufiJapanBernardo Dominic QUALIFIED
Munro Z BologniaIndiaIoni Bowcher PROPOSAL
Misaki N IturbideAustraliaIvan Magalhaes UNQUALIFIED
Juan M ShinkoJapanStephen Shaw UNQUALIFIED
Leja K MacleadGermanyAsiya Javayant UNQUALIFIED
Juan L PoquetteRussiaAmy Elsner NEW
Alejandro E InouyeArgentinaAmy Elsner RENEWAL
Ricardo A FollerCanadaAmy Elsner RENEWAL
Ashley Q SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Murillo D ButtCanadaElwin Sharvill RENEWAL
Jeanfrancois Q PaprockiIndiaXuxue Feng PROPOSAL
Sinclair K InouyeArgentinaElwin Sharvill NEW
Faith F VenereGermanyAnna Fali UNQUALIFIED
Costa S MarrierBrazilStephen Shaw RENEWAL
Leja D ShinkoAustraliaIoni Bowcher QUALIFIED
Aika A GarufiBrazilStephen Shaw QUALIFIED
Mayumi S MaletSpainAsiya Javayant QUALIFIED
Alejandro X DoeUnited KingdomIvan Magalhaes NEW
James Z WaycottFranceBernardo Dominic QUALIFIED
Aruna W FigeroaArgentinaIoni Bowcher NEW
Tony N RoysterUnited KingdomBernardo Dominic NEW
Wickens M WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Morrow C RutaRussiaIoni Bowcher RENEWAL
Izzy K CampainCanadaAmy Elsner NEW
David C CampainFranceStephen Shaw RENEWAL
Johnson Q RoysterArgentinaOnyama Limba NEGOTIATION
Emily L FigeroaArgentinaIoni Bowcher RENEWAL

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