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
Morrow E RulapaughIndiaElwin Sharvill NEW
Alejandro W SlusarskiJapanXuxue Feng NEGOTIATION
Isabel E FollerRussiaIoni Bowcher UNQUALIFIED
Jennifer I CaldareraJapanIoni Bowcher RENEWAL
Costa S FollerSpainStephen Shaw RENEWAL
Nicolas Y BologniaGermanyAmy Elsner RENEWAL
Munro E PaprockiRussiaBernardo Dominic NEGOTIATION
Wickens S CaudyFranceIoni Bowcher PROPOSAL
Isabel Y MorascaArgentinaIvan Magalhaes RENEWAL
Francesco S PerinRussiaIvan Magalhaes RENEWAL
Jones C StensethJapanIoni Bowcher NEGOTIATION
Mayumi Z IturbideSpainXuxue Feng NEGOTIATION
Izzy M SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Antonio R SaylorsFranceXuxue Feng PROPOSAL
Ashley G DarakjyItalyStephen Shaw PROPOSAL
Nicolas V CampainIndiaAsiya Javayant PROPOSAL
Murillo V SlusarskiUnited KingdomOnyama Limba UNQUALIFIED
Emily L WieserGermanyBernardo Dominic UNQUALIFIED
Ricardo A ChuiItalyXuxue Feng PROPOSAL
Stacey G KolmetzGermanyAmy Elsner PROPOSAL
Francesco D GarufiUnited KingdomStephen Shaw PROPOSAL
Sinclair K StensethJapanAsiya Javayant QUALIFIED
Greenwood J CaudyRussiaStephen Shaw NEW
Juan O StockhamSpainBernardo Dominic RENEWAL
Misaki T TollnerGermanyIoni Bowcher PROPOSAL
Aika X WieserItalyIoni Bowcher NEGOTIATION
Salvatore N ChuiGermanyXuxue Feng PROPOSAL
Francesco S AmigonUnited KingdomAsiya Javayant NEGOTIATION
Clifford D RulapaughArgentinaElwin Sharvill QUALIFIED
Jennifer E StockhamJapanOnyama Limba NEGOTIATION
Mujtaba W GillianCanadaXuxue Feng NEGOTIATION
Murillo D DilliardCanadaAnna Fali PROPOSAL
Mayumi Y DarakjyBrazilXuxue Feng QUALIFIED
Leja E PerinJapanOnyama Limba QUALIFIED
Stacey F KuskoUnited KingdomIvan Magalhaes RENEWAL
Izzy R KolmetzIndiaElwin Sharvill QUALIFIED
Sinclair R KuskoSpainAmy Elsner QUALIFIED
Mujtaba M StockhamJapanOnyama Limba NEW
James R KuskoCanadaAmy Elsner UNQUALIFIED
Costa B RimAustraliaStephen Shaw NEW
Nicolas Y AlbaresCanadaAnna Fali RENEWAL
Isabel L CaldareraGermanyIvan Magalhaes NEW
Francesco Q BowleyFranceXuxue Feng QUALIFIED
Leon D ChuiBrazilAmy Elsner RENEWAL
Antonio X PerinFranceAsiya Javayant PROPOSAL
Alejandro E SlusarskiUnited KingdomIoni Bowcher NEW
Kaitlin A DoeCanadaElwin Sharvill UNQUALIFIED
Ricardo S StensethJapanAnna Fali UNQUALIFIED
Ashley S StockhamJapanOnyama Limba NEW
Aika W DoeSpainOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo B GillianFranceIvan Magalhaes PROPOSAL
Aruna Z MaletRussiaElwin Sharvill RENEWAL
Morrow Z SchemmerArgentinaAsiya Javayant UNQUALIFIED
Salvatore G ButtJapanXuxue Feng UNQUALIFIED
Juan I RoysterSpainXuxue Feng RENEWAL
Leja A SergiArgentinaElwin Sharvill QUALIFIED
Nicolas N StensethGermanyIoni Bowcher UNQUALIFIED
Ivar U NickaCanadaAsiya Javayant RENEWAL
Greenwood H AlbaresJapanAnna Fali RENEWAL
Antonio B KolmetzIndiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith L ChuiUnited Kingdom2026-09-07Rangoni Of Florence UNQUALIFIED97Ioni Bowcher
1001Salvatore G AmigonUnited Kingdom2026-09-14Buckley Miller Wright NEGOTIATION92Stephen Shaw
1002Julie T MarrierJapan2026-09-08Dorl, James J Esq NEW57Onyama Limba
1003Leon P DoeRussia2026-09-19Dorl, James J Esq UNQUALIFIED65Anna Fali
1004Silvio R RulapaughBrazil2026-09-11Chapman, Ross E Esq PROPOSAL26Amy Elsner
1005Octavia C TollnerArgentina2026-09-28Morlong Associates NEGOTIATION15Ioni Bowcher
1006Ivar T PoquetteArgentina2026-09-17Feiner Bros NEGOTIATION63Asiya Javayant
1007Maria F MarrierCanada2026-09-09Rousseaux, Michael Esq QUALIFIED85Xuxue Feng
1008Sinclair P KolmetzRussia2026-10-03Chemel, James L Cpa PROPOSAL79Stephen Shaw
1009Misaki K InouyeArgentina2026-09-30Feiner Bros PROPOSAL63Bernardo Dominic
1010Deepesh P DilliardUnited Kingdom2026-09-12Feltz Printing Service QUALIFIED77Asiya Javayant
1011Munro X FerenczItaly2026-09-17Rangoni Of Florence NEW4Xuxue Feng
1012Kaitlin W SchemmerRussia2026-09-10Chemel, James L Cpa QUALIFIED94Onyama Limba
1013Alejandro O ShinkoIndia2026-10-01King, Christopher A Esq UNQUALIFIED76Elwin Sharvill
1014Adams T VocelkaUnited Kingdom2026-09-20Printing Dimensions QUALIFIED31Onyama Limba
1015Darci E KuskoIndia2026-10-03Truhlar And Truhlar Attys PROPOSAL63Stephen Shaw
1016Chavez D MorascaJapan2026-09-18Printing Dimensions NEW56Onyama Limba
1017Emily G MaletIndia2026-09-19Chanay, Jeffrey A Esq NEW9Bernardo Dominic
1018Ivar T ChuiSpain2026-09-11Feiner Bros UNQUALIFIED0Onyama Limba
1019Smith R DoeSpain2026-10-03Feiner Bros RENEWAL2Anna Fali
1020Stacey G PerinFrance2026-09-08Rousseaux, Michael Esq RENEWAL83Stephen Shaw
1021Alejandro R AlbaresJapan2026-09-13Chanay, Jeffrey A Esq RENEWAL1Bernardo Dominic
1022Jennifer B CaldareraItaly2026-09-26Chanay, Jeffrey A Esq NEGOTIATION44Ivan Magalhaes
1023Mayumi E NestleAustralia2026-10-03Feltz Printing Service QUALIFIED45Ioni Bowcher
1024Jennifer N NickaJapan2026-09-25Feiner Bros QUALIFIED20Xuxue Feng
1025Maria H RimJapan2026-09-07Rangoni Of Florence QUALIFIED27Stephen Shaw
1026James W PaprockiFrance2026-09-28Printing Dimensions NEW72Onyama Limba
1027Juan Q OldroydArgentina2026-09-16Chanay, Jeffrey A Esq RENEWAL29Xuxue Feng
1028Misaki S NickaFrance2026-09-23Morlong Associates RENEWAL98Elwin Sharvill
1029Clifford T FigeroaArgentina2026-09-07Feiner Bros NEGOTIATION15Xuxue Feng
1030Salvatore U FigeroaUnited Kingdom2026-09-04Buckley Miller Wright RENEWAL93Anna Fali
1031Clifford X DarakjyJapan2026-09-20Rangoni Of Florence RENEWAL45Bernardo Dominic
1032Morrow Z KuskoBrazil2026-09-19Buckley Miller Wright QUALIFIED54Xuxue Feng
1033Munro E SchemmerAustralia2026-09-24Rousseaux, Michael Esq QUALIFIED42Asiya Javayant
1034Isabel M CampainSpain2026-09-23Printing Dimensions NEGOTIATION26Ivan Magalhaes
1035Cody F DoeGermany2026-09-28Rousseaux, Michael Esq UNQUALIFIED98Ioni Bowcher
1036Isabel B AlbaresUnited Kingdom2026-09-07King, Christopher A Esq PROPOSAL40Asiya Javayant
1037Alejandro M TollnerFrance2026-09-12Rangoni Of Florence QUALIFIED2Ivan Magalhaes
1038Ashley H FollerJapan2026-09-26Morlong Associates QUALIFIED83Anna Fali
1039Aditya X PaprockiIndia2026-09-25Truhlar And Truhlar Attys NEGOTIATION10Amy Elsner
1040Costa T CampainIndia2026-09-25Feltz Printing Service QUALIFIED47Ioni Bowcher
1041Jefferson N GlickIndia2026-09-20Dorl, James J Esq NEW75Asiya Javayant
1042Darci X CaudyCanada2026-09-28Feltz Printing Service RENEWAL40Stephen Shaw
1043Julie B VocelkaArgentina2026-09-26Morlong Associates UNQUALIFIED10Stephen Shaw
1044Kaitlin J SergiSpain2026-10-01Morlong Associates NEGOTIATION50Onyama Limba
1045Morrow O RutaAustralia2026-09-04Buckley Miller Wright RENEWAL71Anna Fali
1046Jones W SchemmerJapan2026-09-14Rangoni Of Florence QUALIFIED96Stephen Shaw
1047Misaki D AlbaresFrance2026-10-03Chapman, Ross E Esq NEGOTIATION42Ivan Magalhaes
1048Mujtaba S DarakjyUnited Kingdom2026-09-27Benton, John B Jr NEW91Stephen Shaw
1049Francesco M SlusarskiJapan2026-09-21Commercial Press RENEWAL15Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony W FigeroaBrazilXuxue Feng PROPOSAL
Greenwood T FerenczItalyAnna Fali RENEWAL
Greenwood X FlosiGermanyBernardo Dominic RENEWAL
Mayumi M WhobreyAustraliaBernardo Dominic RENEWAL
Kadeem E TollnerJapanAmy Elsner NEW
Greenwood T FollerGermanyAsiya Javayant PROPOSAL
Ashley W WhobreyCanadaStephen Shaw NEGOTIATION
Johnson H WhobreySpainOnyama Limba NEW
Antonio E VenereSpainBernardo Dominic QUALIFIED
Jones J IturbideCanadaStephen Shaw NEW
Alejandro J DoeBrazilElwin Sharvill NEW
Murillo J GarufiGermanyStephen Shaw PROPOSAL
Silvio Q ShinkoRussiaStephen Shaw PROPOSAL
Mayumi O BriddickJapanBernardo Dominic RENEWAL
Emily O CaudyRussiaStephen Shaw NEW
Antonio Z StockhamAustraliaIvan Magalhaes RENEWAL
Jones L MarrierIndiaElwin Sharvill RENEWAL
Faith T GauchoItalyAmy Elsner RENEWAL
Leja M GarufiUnited KingdomIvan Magalhaes QUALIFIED
Leja N StockhamArgentinaAmy Elsner UNQUALIFIED
Aruna H OldroydSpainOnyama Limba QUALIFIED
Francesco T DoeSpainBernardo Dominic PROPOSAL
Claire H FigeroaUnited KingdomAsiya Javayant QUALIFIED
James F NickaUnited KingdomStephen Shaw NEGOTIATION
Isabel O MaletSpainIvan Magalhaes UNQUALIFIED
Maisha S OldroydGermanyStephen Shaw QUALIFIED
Darci G BowleyFranceStephen Shaw NEGOTIATION
Arvin Z FerenczFranceAmy Elsner RENEWAL
Sinclair V PaprockiCanadaIoni Bowcher UNQUALIFIED
Faith O TollnerIndiaOnyama Limba NEW
Ashley W MarrierAustraliaOnyama Limba RENEWAL
Smith K BowleyRussiaOnyama Limba NEGOTIATION
Nicolas Q FlosiUnited KingdomAnna Fali RENEWAL
Morrow M RulapaughCanadaElwin Sharvill NEW
Alejandro S PoquetteGermanyOnyama Limba RENEWAL
Francesco Q GlickAustraliaXuxue Feng NEW
Stacey H WaycottArgentinaElwin Sharvill RENEWAL
Morrow C FollerFranceBernardo Dominic RENEWAL
Kadeem C AlbaresIndiaBernardo Dominic QUALIFIED
Mujtaba D BologniaRussiaIoni Bowcher NEW
Chavez G MacleadBrazilXuxue Feng UNQUALIFIED
Misaki Y RoysterUnited KingdomXuxue Feng QUALIFIED
Maria E GillianGermanyAsiya Javayant RENEWAL
Silvio I InouyeSpainBernardo Dominic NEW
Misaki G IturbideBrazilStephen Shaw PROPOSAL
James Q FerenczRussiaIoni Bowcher NEGOTIATION
Chavez O MacleadAustraliaElwin Sharvill NEGOTIATION
Sinclair U WhobreyFranceIoni Bowcher QUALIFIED
Julie E GillianRussiaXuxue Feng NEW
Aruna K FerenczArgentinaOnyama Limba RENEWAL
Frozen Columns
Name
Aditya I Gaucho
Kadeem D Kolmetz
Aika L Doe
Juan P Ruta
Darci D Vocelka
Wickens L Chui
Maisha Z Poquette
Octavia F Iturbide
Maria K Royster
Jefferson K Ruta
Jefferson Y Marrier
Greenwood V Rulapaugh
Cody U Whobrey
Smith Y Slusarski
Octavia P Darakjy
Francesco X Marrier
Faith T Ostrosky
Julie H Waycott
Aditya T Malet
Clifford E Figeroa
Claire R Darakjy
Nicolas K Caudy
Aika A Venere
Stacey L Schemmer
Clifford W Bolognia
Kaitlin H Malet
Nicolas J Darakjy
Aditya H Marrier
Leja B Morasca
Stacey J Rulapaugh
Antonio P Nestle
Aditya N Nicka
Salvatore H Inouye
Johnson S Butt
Isabel I Paprocki
Kadeem U Campain
Misaki Y Garufi
Chavez B Malet
Juan Y Flosi
Mujtaba X Royster
Murillo A Briddick
Octavia K Chui
Costa M Slusarski
Greenwood G Foller
Leon E Maclead
Chavez E Slusarski
Izzy X Dilliard
Smith J Shinko
Francesco E Ruta
Ashley O Gaucho
IdCountryDate
1000Japan2026-09-23
1001Japan2026-09-07
1002Brazil2026-09-27
1003Italy2026-09-12
1004Brazil2026-09-29
1005Japan2026-09-05
1006Russia2026-09-26
1007France2026-09-24
1008Germany2026-09-04
1009Italy2026-09-08
1010Spain2026-09-20
1011Italy2026-09-18
1012Brazil2026-09-04
1013Russia2026-09-18
1014Canada2026-09-07
1015India2026-09-07
1016Australia2026-09-24
1017India2026-09-05
1018Germany2026-09-08
1019India2026-09-23
1020Canada2026-09-12
1021France2026-10-01
1022Italy2026-09-09
1023Argentina2026-09-30
1024United Kingdom2026-09-05
1025Italy2026-09-14
1026Russia2026-09-13
1027India2026-09-13
1028France2026-09-07
1029Russia2026-09-07
1030Australia2026-09-18
1031France2026-10-01
1032India2026-09-30
1033France2026-09-27
1034Russia2026-09-13
1035India2026-09-06
1036Australia2026-09-10
1037Canada2026-09-07
1038Japan2026-09-25
1039Argentina2026-09-17
1040Japan2026-09-19
1041Italy2026-09-11
1042France2026-09-13
1043United Kingdom2026-09-30
1044Germany2026-09-16
1045United Kingdom2026-09-26
1046Australia2026-09-27
1047Canada2026-09-10
1048Germany2026-09-12
1049Canada2026-09-13

On-Demand Data

NameIdCountryDate
Aika M Slusarski1000Germany2026-09-08
Nicolas J Nicka1001Spain2026-09-23
Ricardo U Campain1002Italy2026-09-29
Tony M Marrier1003United Kingdom2026-09-22
Deepesh J Tollner1004Italy2026-09-05
Claire A Malet1005Spain2026-09-04
Johnson M Saylors1006Australia2026-09-04
Nicolas F Briddick1007India2026-09-29
Alejandro Z Malet1008Canada2026-09-13
Leja Z Ferencz1009Argentina2026-09-15
Jones R Briddick1010Australia2026-09-10
Mayumi S Venere1011United Kingdom2026-09-24
Stacey Y Venere1012Japan2026-09-12
Jennifer Y Poquette1013Canada2026-09-08
Salvatore I Nestle1014Brazil2026-09-18
Emily Q Iturbide1015Argentina2026-10-01
Adams B Caudy1016Argentina2026-10-02
Silvio F Rulapaugh1017United Kingdom2026-09-12
Greenwood V Bolognia1018Spain2026-09-14
Deepesh S Rulapaugh1019Japan2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith X BowleyJapanXuxue Feng QUALIFIED
Deepesh H CaudyGermanyIvan Magalhaes NEW
Silvio E VocelkaJapanElwin Sharvill QUALIFIED
Adams R RutaRussiaIoni Bowcher UNQUALIFIED
Aruna D KuskoRussiaElwin Sharvill NEW
Francesco N CampainFranceStephen Shaw QUALIFIED
Clifford X SaylorsUnited KingdomAmy Elsner PROPOSAL
Kaitlin S MaletRussiaAmy Elsner PROPOSAL
Aruna Q OldroydIndiaIvan Magalhaes PROPOSAL
Aruna J OldroydAustraliaElwin Sharvill NEGOTIATION
Wickens L NickaCanadaIoni Bowcher RENEWAL
James X KuskoAustraliaIvan Magalhaes QUALIFIED
Alejandro U FigeroaUnited KingdomAnna Fali PROPOSAL
Ivar T BologniaItalyAsiya Javayant NEW
Ivar S OstroskyUnited KingdomAsiya Javayant QUALIFIED
Cody U MaletFranceAsiya Javayant NEW
Darci R FigeroaItalyElwin Sharvill QUALIFIED
Juan P MaletIndiaIvan Magalhaes QUALIFIED
Ivar U SchemmerIndiaIvan Magalhaes RENEWAL
Ashley D RoysterRussiaAsiya Javayant NEW
Deepesh T SergiSpainAnna Fali NEGOTIATION
Murillo E CampainJapanAmy Elsner QUALIFIED
Nicolas T BriddickFranceIoni Bowcher PROPOSAL
Octavia J FigeroaRussiaAnna Fali RENEWAL
David N KuskoJapanBernardo Dominic NEW
Francesco U DoeArgentinaBernardo Dominic RENEWAL
Nicolas N VenereItalyBernardo Dominic RENEWAL
Julie L SchemmerBrazilXuxue Feng NEGOTIATION
Antonio U PaprockiBrazilAnna Fali PROPOSAL
Arvin A ButtUnited KingdomBernardo Dominic PROPOSAL
Clifford H VenereUnited KingdomAmy Elsner PROPOSAL
Aika G FlosiJapanIvan Magalhaes NEW
Morrow D KolmetzItalyAnna Fali PROPOSAL
Smith A CaudyCanadaAnna Fali UNQUALIFIED
Jones J MacleadRussiaXuxue Feng NEW
Greenwood L GillianUnited KingdomBernardo Dominic QUALIFIED
Antonio E RutaIndiaElwin Sharvill UNQUALIFIED
Alejandro I VenereBrazilStephen Shaw NEW
Chavez D CaldareraJapanXuxue Feng NEW
Misaki F GillianGermanyIoni Bowcher 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>