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
Octavia I FlosiCanadaElwin Sharvill PROPOSAL
Munro Y MaletFranceAsiya Javayant PROPOSAL
Izzy C RutaFranceXuxue Feng NEGOTIATION
Nicolas D MaletCanadaOnyama Limba NEW
Leja Z MacleadBrazilOnyama Limba QUALIFIED
Octavia U IturbideAustraliaAnna Fali RENEWAL
Julie F SergiAustraliaBernardo Dominic NEW
Arvin F ShinkoGermanyAsiya Javayant PROPOSAL
Izzy J OstroskyCanadaElwin Sharvill NEGOTIATION
Jones O GauchoBrazilOnyama Limba NEW
Tony L WaycottFranceIoni Bowcher RENEWAL
Deepesh N GlickBrazilAsiya Javayant QUALIFIED
Kaitlin Z FerenczArgentinaIoni Bowcher NEW
Izzy Q WaycottSpainIvan Magalhaes NEW
Maisha E SergiFranceOnyama Limba PROPOSAL
Costa G GauchoGermanyElwin Sharvill RENEWAL
Stacey O BologniaFranceIvan Magalhaes PROPOSAL
Emily A MarrierSpainAmy Elsner RENEWAL
Aditya N SchemmerUnited KingdomXuxue Feng NEGOTIATION
Rodrigues E IturbideSpainAmy Elsner NEW
Jennifer J OstroskyItalyIoni Bowcher PROPOSAL
Izzy N FigeroaFranceBernardo Dominic NEGOTIATION
Greenwood G FerenczRussiaIvan Magalhaes NEW
Nicolas G StensethJapanAnna Fali PROPOSAL
Mujtaba P FigeroaBrazilIoni Bowcher QUALIFIED
Wickens A MarrierBrazilXuxue Feng UNQUALIFIED
Aika P InouyeItalyStephen Shaw PROPOSAL
Arvin B DilliardFranceIvan Magalhaes RENEWAL
Emily R CampainSpainXuxue Feng UNQUALIFIED
David D StockhamSpainStephen Shaw NEW
Mayumi J ShinkoArgentinaBernardo Dominic UNQUALIFIED
Stacey J OldroydFranceAnna Fali NEW
Jones M IturbideCanadaStephen Shaw NEW
Alejandro Q VenereItalyAsiya Javayant PROPOSAL
Silvio T WaycottBrazilStephen Shaw RENEWAL
Chavez G SlusarskiGermanyAsiya Javayant UNQUALIFIED
Nicolas O SaylorsRussiaBernardo Dominic PROPOSAL
Adams U WieserRussiaAsiya Javayant RENEWAL
Darci L FerenczUnited KingdomBernardo Dominic NEGOTIATION
David V IturbideArgentinaAnna Fali NEW
Cody A OstroskyFranceAmy Elsner QUALIFIED
Faith E BowleyAustraliaOnyama Limba UNQUALIFIED
Arvin Y InouyeItalyXuxue Feng NEW
Tony L SlusarskiAustraliaAmy Elsner UNQUALIFIED
Jefferson N DilliardItalyIvan Magalhaes PROPOSAL
Octavia B CampainItalyBernardo Dominic UNQUALIFIED
Francesco F OldroydGermanyElwin Sharvill RENEWAL
Deepesh J SlusarskiGermanyAsiya Javayant QUALIFIED
Sinclair Y PaprockiUnited KingdomStephen Shaw PROPOSAL
Silvio H KolmetzBrazilAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Morrow M FollerAustraliaXuxue Feng QUALIFIED
Ricardo D InouyeSpainAsiya Javayant NEW
Maisha H SlusarskiIndiaIoni Bowcher NEGOTIATION
Clifford V StensethIndiaAmy Elsner UNQUALIFIED
Kaitlin U ChuiRussiaElwin Sharvill NEGOTIATION
Wickens L IturbideSpainStephen Shaw NEGOTIATION
Kaitlin N PaprockiFranceAnna Fali PROPOSAL
Ricardo S AmigonIndiaXuxue Feng UNQUALIFIED
Deepesh I FigeroaBrazilXuxue Feng UNQUALIFIED
Isabel V RutaFranceAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon A AmigonGermany2026-10-19Commercial Press RENEWAL38Ioni Bowcher
1001Jefferson Y MorascaFrance2026-10-18Chapman, Ross E Esq NEW38Stephen Shaw
1002Deepesh Q GlickFrance2026-10-12Truhlar And Truhlar Attys NEW16Bernardo Dominic
1003Faith W WhobreyCanada2026-11-04Feltz Printing Service RENEWAL58Bernardo Dominic
1004Octavia Y SlusarskiAustralia2026-10-18Truhlar And Truhlar Attys RENEWAL53Bernardo Dominic
1005Kadeem Y RutaBrazil2026-10-31Printing Dimensions PROPOSAL0Ivan Magalhaes
1006Jones X FollerGermany2026-10-18Feltz Printing Service QUALIFIED58Ivan Magalhaes
1007Emily B ChuiSpain2026-10-12Feltz Printing Service NEW7Ivan Magalhaes
1008Kaitlin N CaldareraBrazil2026-10-11Feiner Bros UNQUALIFIED22Asiya Javayant
1009Jeanfrancois I NickaBrazil2026-10-30Truhlar And Truhlar Attys QUALIFIED58Anna Fali
1010Wickens K PaprockiUnited Kingdom2026-11-06Commercial Press QUALIFIED35Stephen Shaw
1011Juan G ButtArgentina2026-10-28Rangoni Of Florence UNQUALIFIED48Amy Elsner
1012Claire S VenereItaly2026-10-26Rangoni Of Florence PROPOSAL25Stephen Shaw
1013Maisha J SaylorsItaly2026-11-07King, Christopher A Esq NEGOTIATION32Ivan Magalhaes
1014Emily D SergiItaly2026-10-23Printing Dimensions NEW84Onyama Limba
1015Aditya R OstroskyIndia2026-11-06Chemel, James L Cpa UNQUALIFIED54Ioni Bowcher
1016Aruna V MaletFrance2026-11-08Rangoni Of Florence QUALIFIED79Anna Fali
1017Kaitlin S VocelkaCanada2026-10-24Feltz Printing Service UNQUALIFIED52Anna Fali
1018Mayumi R MacleadSpain2026-11-03Printing Dimensions PROPOSAL9Amy Elsner
1019Arvin H SchemmerCanada2026-10-12Truhlar And Truhlar Attys PROPOSAL40Ioni Bowcher
1020Greenwood G TollnerGermany2026-10-30Chapman, Ross E Esq QUALIFIED96Asiya Javayant
1021Maria E KolmetzSpain2026-11-08Printing Dimensions QUALIFIED21Bernardo Dominic
1022Smith O BowleyAustralia2026-10-21Benton, John B Jr NEW66Onyama Limba
1023Leon U MarrierAustralia2026-11-07Chanay, Jeffrey A Esq RENEWAL81Ioni Bowcher
1024James W OstroskyAustralia2026-10-29Morlong Associates QUALIFIED84Ioni Bowcher
1025Munro X GarufiJapan2026-11-01Morlong Associates NEGOTIATION63Elwin Sharvill
1026Claire K FigeroaGermany2026-10-21Feiner Bros QUALIFIED64Asiya Javayant
1027Silvio Q DilliardIndia2026-11-02Benton, John B Jr NEGOTIATION18Elwin Sharvill
1028Stacey I DarakjyJapan2026-10-23Chanay, Jeffrey A Esq NEGOTIATION89Onyama Limba
1029Kadeem S OstroskyFrance2026-11-02Feiner Bros NEW33Onyama Limba
1030Darci W SergiArgentina2026-10-11Morlong Associates RENEWAL50Elwin Sharvill
1031Mayumi M DoeArgentina2026-11-06King, Christopher A Esq QUALIFIED89Bernardo Dominic
1032Isabel B FollerSpain2026-10-20Rangoni Of Florence NEGOTIATION76Onyama Limba
1033Silvio T BologniaRussia2026-10-16Buckley Miller Wright QUALIFIED68Stephen Shaw
1034Antonio S StockhamIndia2026-11-05Feltz Printing Service NEGOTIATION59Stephen Shaw
1035Smith S NickaItaly2026-10-27Commercial Press PROPOSAL96Ivan Magalhaes
1036Mujtaba I RutaSpain2026-10-26Chapman, Ross E Esq QUALIFIED78Anna Fali
1037Jones U GlickAustralia2026-10-14Feiner Bros UNQUALIFIED33Onyama Limba
1038Rodrigues Y KolmetzItaly2026-10-21Rangoni Of Florence PROPOSAL2Ivan Magalhaes
1039Maisha O CaudyArgentina2026-11-05Feltz Printing Service RENEWAL51Bernardo Dominic
1040Deepesh U FerenczIndia2026-11-03Feltz Printing Service QUALIFIED6Bernardo Dominic
1041Juan E SergiIndia2026-10-27Chanay, Jeffrey A Esq UNQUALIFIED33Asiya Javayant
1042Tony S SchemmerRussia2026-10-19Truhlar And Truhlar Attys QUALIFIED83Bernardo Dominic
1043Kadeem Z MarrierSpain2026-10-14Printing Dimensions RENEWAL37Xuxue Feng
1044Murillo H NickaIndia2026-11-05Commercial Press QUALIFIED36Onyama Limba
1045Stacey Q StockhamGermany2026-10-30Buckley Miller Wright UNQUALIFIED24Xuxue Feng
1046Cody C KolmetzFrance2026-10-19Buckley Miller Wright NEGOTIATION48Asiya Javayant
1047Kadeem N StensethRussia2026-10-16Commercial Press UNQUALIFIED39Elwin Sharvill
1048Tony L GarufiUnited Kingdom2026-10-30Morlong Associates RENEWAL66Anna Fali
1049Darci O FerenczBrazil2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED94Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Darci P GillianCanadaOnyama Limba NEW
Leon H DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Isabel M TollnerArgentinaIvan Magalhaes NEW
Ricardo W SlusarskiSpainAmy Elsner QUALIFIED
Izzy I PerinFranceIvan Magalhaes NEW
Faith P SlusarskiJapanXuxue Feng NEGOTIATION
Francesco J FigeroaSpainIvan Magalhaes QUALIFIED
Leon U WaycottArgentinaXuxue Feng PROPOSAL
Morrow R GlickUnited KingdomAsiya Javayant NEGOTIATION
Munro C GlickIndiaBernardo Dominic QUALIFIED
Isabel G WaycottRussiaIvan Magalhaes NEW
Morrow C FerenczJapanElwin Sharvill NEW
Faith G DoeCanadaElwin Sharvill NEW
Maisha F PerinFranceAmy Elsner NEW
Kadeem X MorascaJapanElwin Sharvill UNQUALIFIED
Deepesh Y BriddickRussiaIoni Bowcher PROPOSAL
Aika G PaprockiArgentinaOnyama Limba NEW
Mujtaba P SergiItalyStephen Shaw RENEWAL
Ricardo C BowleyJapanAmy Elsner NEGOTIATION
Maria V WieserGermanyBernardo Dominic NEGOTIATION
Tony R BologniaRussiaOnyama Limba NEW
Antonio E DarakjyUnited KingdomAmy Elsner NEGOTIATION
Leon F DoeGermanyOnyama Limba QUALIFIED
Antonio P FigeroaAustraliaIvan Magalhaes QUALIFIED
Isabel L MorascaJapanAnna Fali RENEWAL
Stacey V SergiAustraliaIoni Bowcher NEW
Leja V MacleadIndiaAnna Fali QUALIFIED
James N DarakjyJapanBernardo Dominic QUALIFIED
Tony K TollnerIndiaBernardo Dominic NEGOTIATION
Darci W OstroskyGermanyAsiya Javayant UNQUALIFIED
Nicolas D InouyeCanadaAmy Elsner PROPOSAL
Arvin X RimAustraliaIoni Bowcher NEGOTIATION
Cody X BriddickFranceIoni Bowcher NEW
Murillo G MaletFranceOnyama Limba QUALIFIED
Leja Z MarrierAustraliaAnna Fali RENEWAL
Claire R OldroydGermanyElwin Sharvill NEGOTIATION
Jones I NickaItalyBernardo Dominic RENEWAL
Kaitlin U CaldareraCanadaOnyama Limba QUALIFIED
Sinclair Q StockhamRussiaBernardo Dominic PROPOSAL
Jennifer L SergiJapanAnna Fali NEGOTIATION
Julie E BowleyBrazilAmy Elsner QUALIFIED
Ashley D SlusarskiSpainIvan Magalhaes NEGOTIATION
Darci O GillianArgentinaStephen Shaw RENEWAL
Wickens V SlusarskiCanadaBernardo Dominic NEGOTIATION
Costa U BowleyRussiaXuxue Feng RENEWAL
Leon B RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Leja R RoysterSpainAsiya Javayant PROPOSAL
Mujtaba P PerinSpainAmy Elsner PROPOSAL
Aruna Y MarrierUnited KingdomAnna Fali RENEWAL
Maisha S WaycottIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Mayumi P Stenseth
Rodrigues Z Vocelka
Juan Q Caldarera
Jones U Campain
Kaitlin P Royster
Izzy M Garufi
Tony U Bowley
Smith L Iturbide
Jennifer C Caudy
Murillo O Gillian
Kaitlin Y Perin
Aditya W Malet
Octavia X Stenseth
Jennifer G Saylors
Nicolas K Iturbide
Clifford W Foller
Francesco N Gillian
Faith W Saylors
Alejandro N Malet
James C Ferencz
Darci F Wieser
Emily K Malet
Darci T Caudy
Morrow G Paprocki
Adams H Sergi
Aruna E Tollner
Wickens R Morasca
Emily T Kusko
Izzy N Figeroa
Deepesh U Darakjy
Smith P Rim
Chavez Q Stockham
Stacey Y Slusarski
Nicolas I Marrier
Emily O Darakjy
Maisha L Rulapaugh
Ashley S Wieser
Greenwood E Darakjy
Costa S Amigon
Mujtaba E Waycott
Jefferson R Malet
Nicolas Q Vocelka
James G Butt
Morrow G Tollner
Jefferson X Garufi
Claire R Paprocki
Munro T Perin
Octavia F Bolognia
Tony A Flosi
Maisha B Marrier
IdCountryDate
1000Canada2026-10-20
1001Japan2026-10-26
1002Germany2026-11-07
1003France2026-10-21
1004Russia2026-10-14
1005United Kingdom2026-10-27
1006France2026-10-31
1007Germany2026-11-09
1008France2026-11-04
1009United Kingdom2026-10-17
1010Australia2026-11-09
1011Canada2026-10-15
1012Australia2026-11-01
1013France2026-10-16
1014India2026-11-03
1015Italy2026-10-23
1016Germany2026-11-02
1017Spain2026-10-12
1018Brazil2026-11-07
1019Germany2026-10-17
1020India2026-10-24
1021Brazil2026-10-18
1022Argentina2026-11-08
1023India2026-10-29
1024Germany2026-10-20
1025Argentina2026-10-30
1026United Kingdom2026-10-23
1027Australia2026-10-30
1028Brazil2026-11-09
1029United Kingdom2026-11-05
1030India2026-10-11
1031Italy2026-10-30
1032Argentina2026-10-14
1033United Kingdom2026-10-20
1034Russia2026-10-16
1035Russia2026-10-16
1036Australia2026-10-26
1037United Kingdom2026-11-09
1038Argentina2026-11-09
1039Italy2026-10-17
1040France2026-10-11
1041Russia2026-11-04
1042India2026-10-18
1043India2026-10-28
1044Brazil2026-10-21
1045Canada2026-11-03
1046Japan2026-10-14
1047Spain2026-10-20
1048Russia2026-10-19
1049Japan2026-10-26

On-Demand Data

NameIdCountryDate
Deepesh Y Foller1000Russia2026-10-11
Costa C Bowley1001Canada2026-10-16
Emily V Figeroa1002Argentina2026-10-12
Juan Y Gillian1003Italy2026-10-26
Rodrigues N Poquette1004India2026-11-02
Wickens W Bolognia1005Germany2026-10-23
Aika F Gaucho1006Russia2026-11-08
David Q Gillian1007France2026-10-18
Ivar J Campain1008Australia2026-10-26
Leja N Kusko1009Germany2026-10-23
Costa K Malet1010United Kingdom2026-10-27
Jennifer U Nicka1011Spain2026-10-16
Jones C Ruta1012Australia2026-11-02
Sinclair V Malet1013Brazil2026-10-17
Tony O Briddick1014Canada2026-11-02
Alejandro H Stenseth1015Argentina2026-10-31
Salvatore Q Glick1016Spain2026-11-09
James L Glick1017India2026-11-03
Juan T Tollner1018Russia2026-10-27
Smith K Gaucho1019United Kingdom2026-10-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco N GarufiGermanyAnna Fali PROPOSAL
Tony W CampainRussiaElwin Sharvill NEW
Smith X KuskoUnited KingdomAnna Fali PROPOSAL
Jeanfrancois P CaudyArgentinaAnna Fali QUALIFIED
Wickens F WieserIndiaElwin Sharvill QUALIFIED
Cody V ShinkoFranceAmy Elsner RENEWAL
Isabel S GlickItalyBernardo Dominic RENEWAL
Jennifer H DarakjyGermanyIoni Bowcher QUALIFIED
Claire U SergiArgentinaIvan Magalhaes RENEWAL
Jones U SchemmerBrazilAnna Fali QUALIFIED
David Z GauchoIndiaXuxue Feng QUALIFIED
Tony I ButtSpainElwin Sharvill RENEWAL
Jefferson P RutaCanadaElwin Sharvill QUALIFIED
Stacey S WhobreyGermanyIoni Bowcher NEGOTIATION
Leja G ChuiJapanStephen Shaw PROPOSAL
Deepesh T WieserGermanyOnyama Limba UNQUALIFIED
Claire N MaletRussiaBernardo Dominic QUALIFIED
Wickens T BriddickBrazilStephen Shaw NEW
Alejandro Y PaprockiIndiaXuxue Feng NEGOTIATION
Kadeem P SergiCanadaAsiya Javayant UNQUALIFIED
Greenwood E WhobreyBrazilIvan Magalhaes PROPOSAL
Stacey G NestleBrazilXuxue Feng NEW
Smith B GlickUnited KingdomElwin Sharvill QUALIFIED
Misaki Q GarufiFranceIvan Magalhaes NEW
Jennifer F SchemmerBrazilAmy Elsner QUALIFIED
Chavez S MaletUnited KingdomElwin Sharvill NEW
Kaitlin J DilliardRussiaAsiya Javayant PROPOSAL
Antonio S CampainGermanyAnna Fali NEGOTIATION
Adams X PaprockiAustraliaStephen Shaw UNQUALIFIED
Leon I PoquetteSpainAnna Fali UNQUALIFIED
Deepesh E StockhamCanadaIvan Magalhaes PROPOSAL
Isabel G MacleadSpainIvan Magalhaes UNQUALIFIED
Maisha N BowleyGermanyIvan Magalhaes UNQUALIFIED
Johnson U MorascaBrazilStephen Shaw NEGOTIATION
Leon R MaletItalyAsiya Javayant PROPOSAL
James R ShinkoAustraliaStephen Shaw NEGOTIATION
Clifford X StockhamAustraliaBernardo Dominic RENEWAL
Wickens Y GillianIndiaAsiya Javayant RENEWAL
Jeanfrancois G DoeSpainIoni Bowcher NEGOTIATION
Aruna F PaprockiJapanIvan 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>