Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Juan Z BriddickGermanyElwin Sharvill RENEWAL
Salvatore O MorascaJapanXuxue Feng UNQUALIFIED
Faith D ButtAustraliaIvan Magalhaes QUALIFIED
Sinclair B RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson V AlbaresBrazilXuxue Feng RENEWAL
Maria H ShinkoSpainAnna Fali NEGOTIATION
Misaki V InouyeFranceIvan Magalhaes NEW
Maria T GlickSpainAnna Fali QUALIFIED
Octavia A ShinkoRussiaStephen Shaw RENEWAL
Julie R GauchoSpainBernardo Dominic NEW
Aruna C RulapaughAustraliaElwin Sharvill PROPOSAL
Salvatore R OstroskyIndiaXuxue Feng PROPOSAL
Aruna B FerenczItalyBernardo Dominic UNQUALIFIED
Aruna Q TollnerJapanIoni Bowcher QUALIFIED
James M GarufiFranceIoni Bowcher PROPOSAL
James P BriddickUnited KingdomIvan Magalhaes NEW
Izzy I DarakjyFranceElwin Sharvill NEW
Ashley T WaycottSpainAsiya Javayant RENEWAL
Silvio K MarrierCanadaAmy Elsner QUALIFIED
Arvin S PerinBrazilAmy Elsner RENEWAL
Nicolas V RimSpainIvan Magalhaes PROPOSAL
Leon E BowleyAustraliaBernardo Dominic UNQUALIFIED
Munro T SergiRussiaStephen Shaw NEGOTIATION
Aditya I FerenczBrazilXuxue Feng RENEWAL
Aika H BowleyArgentinaXuxue Feng PROPOSAL
Isabel S PaprockiJapanStephen Shaw NEW
Cody H CaudyCanadaAsiya Javayant PROPOSAL
David P KuskoFranceOnyama Limba PROPOSAL
Smith X TollnerItalyIoni Bowcher PROPOSAL
Jones L MacleadCanadaXuxue Feng NEGOTIATION
Misaki Z MacleadGermanyAnna Fali RENEWAL
Kaitlin G PerinAustraliaAnna Fali NEW
Antonio V FerenczFranceIoni Bowcher QUALIFIED
Sinclair A RulapaughItalyAsiya Javayant NEGOTIATION
Johnson X MorascaItalyAnna Fali UNQUALIFIED
Mayumi Z GillianFranceAsiya Javayant NEGOTIATION
Isabel K GillianBrazilStephen Shaw NEGOTIATION
Arvin W InouyeGermanyAnna Fali RENEWAL
Ashley L MaletRussiaAsiya Javayant NEW
Salvatore X RoysterCanadaAnna Fali NEGOTIATION
Faith U RutaGermanyIoni Bowcher PROPOSAL
Kaitlin H SergiItalyIvan Magalhaes NEW
Mayumi M TollnerFranceBernardo Dominic RENEWAL
Salvatore A NestleAustraliaAsiya Javayant UNQUALIFIED
Morrow K RulapaughGermanyIvan Magalhaes PROPOSAL
Aruna S ChuiGermanyStephen Shaw QUALIFIED
Leja G AmigonCanadaIoni Bowcher RENEWAL
Maisha L StensethBrazilAmy Elsner QUALIFIED
Aditya E OstroskyBrazilAnna Fali NEW
Kaitlin X MacleadJapanStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James X BologniaJapanOnyama Limba RENEWAL
Wickens S FlosiFranceStephen Shaw RENEWAL
Julie D IturbideCanadaBernardo Dominic PROPOSAL
Alejandro F KuskoFranceBernardo Dominic RENEWAL
Kadeem H VenereUnited KingdomOnyama Limba QUALIFIED
Isabel F GarufiArgentinaAmy Elsner NEGOTIATION
Ivar P NickaAustraliaAmy Elsner NEW
Ivar D GlickBrazilAsiya Javayant RENEWAL
David X VocelkaSpainOnyama Limba NEW
Ashley Z KuskoCanadaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco K DilliardCanada2025-08-14Buckley Miller Wright NEW61Ivan Magalhaes
1001Rodrigues M VocelkaCanada2025-08-09Feiner Bros PROPOSAL43Onyama Limba
1002Jones E IturbideRussia2025-07-20King, Christopher A Esq QUALIFIED28Ioni Bowcher
1003Munro L DoeUnited Kingdom2025-08-01Dorl, James J Esq QUALIFIED86Ivan Magalhaes
1004Darci Y AlbaresFrance2025-08-10Chemel, James L Cpa PROPOSAL76Bernardo Dominic
1005Costa Y GlickJapan2025-07-30Buckley Miller Wright UNQUALIFIED62Amy Elsner
1006Mayumi X ShinkoItaly2025-07-28Printing Dimensions PROPOSAL38Ivan Magalhaes
1007Kadeem W GillianAustralia2025-07-30King, Christopher A Esq PROPOSAL82Amy Elsner
1008Ashley S IturbideUnited Kingdom2025-08-02Buckley Miller Wright RENEWAL42Onyama Limba
1009Mujtaba L DoeIndia2025-08-01Benton, John B Jr RENEWAL7Ivan Magalhaes
1010Costa U RutaGermany2025-08-12Benton, John B Jr NEGOTIATION62Stephen Shaw
1011Greenwood T FollerBrazil2025-07-28Dorl, James J Esq RENEWAL82Anna Fali
1012Deepesh L BologniaItaly2025-08-09Printing Dimensions RENEWAL93Ivan Magalhaes
1013Chavez G SlusarskiJapan2025-08-03Buckley Miller Wright RENEWAL54Anna Fali
1014James E OstroskyItaly2025-07-31Chemel, James L Cpa QUALIFIED69Anna Fali
1015Maisha N RulapaughJapan2025-08-03Chapman, Ross E Esq UNQUALIFIED62Ioni Bowcher
1016Leon E KolmetzCanada2025-08-05Printing Dimensions NEW82Stephen Shaw
1017Costa J RoysterAustralia2025-08-09Commercial Press PROPOSAL82Amy Elsner
1018Deepesh H WaycottCanada2025-07-25Printing Dimensions QUALIFIED89Ioni Bowcher
1019Aditya P MorascaCanada2025-08-08Chanay, Jeffrey A Esq UNQUALIFIED47Onyama Limba
1020Arvin E StensethAustralia2025-07-22Truhlar And Truhlar Attys UNQUALIFIED13Ioni Bowcher
1021Darci J StockhamItaly2025-07-29Morlong Associates PROPOSAL82Amy Elsner
1022Jefferson Z MaletBrazil2025-08-02Feltz Printing Service PROPOSAL77Stephen Shaw
1023Faith Y MorascaGermany2025-08-17King, Christopher A Esq QUALIFIED0Onyama Limba
1024Costa U VenereCanada2025-07-22Buckley Miller Wright NEW4Asiya Javayant
1025Ricardo T KuskoGermany2025-08-02Rangoni Of Florence UNQUALIFIED19Anna Fali
1026Adams J GlickSpain2025-07-30King, Christopher A Esq UNQUALIFIED39Elwin Sharvill
1027Smith R WieserUnited Kingdom2025-08-03Rousseaux, Michael Esq PROPOSAL80Anna Fali
1028Izzy E InouyeRussia2025-08-17Dorl, James J Esq PROPOSAL54Onyama Limba
1029Cody D RoysterUnited Kingdom2025-08-17Rangoni Of Florence PROPOSAL91Onyama Limba
1030Emily P KuskoCanada2025-08-05Buckley Miller Wright UNQUALIFIED12Anna Fali
1031Maisha V ButtJapan2025-08-03Benton, John B Jr NEGOTIATION58Xuxue Feng
1032Antonio L DarakjyBrazil2025-08-04Rangoni Of Florence PROPOSAL60Ivan Magalhaes
1033Aruna G PerinArgentina2025-08-03Dorl, James J Esq RENEWAL87Stephen Shaw
1034Leon K PaprockiItaly2025-08-16Rangoni Of Florence QUALIFIED66Bernardo Dominic
1035Aruna X SaylorsBrazil2025-07-20Printing Dimensions NEW64Onyama Limba
1036Kaitlin N KolmetzIndia2025-08-05Rousseaux, Michael Esq RENEWAL60Bernardo Dominic
1037Emily A VenereJapan2025-08-11Chemel, James L Cpa QUALIFIED85Amy Elsner
1038Octavia A DilliardGermany2025-07-24Truhlar And Truhlar Attys QUALIFIED39Amy Elsner
1039Salvatore J BriddickBrazil2025-08-16Truhlar And Truhlar Attys PROPOSAL76Elwin Sharvill
1040Misaki K NickaJapan2025-08-09Rousseaux, Michael Esq NEW97Elwin Sharvill
1041Ricardo U MaletArgentina2025-08-09Morlong Associates RENEWAL72Stephen Shaw
1042Mayumi L IturbideUnited Kingdom2025-08-05Rousseaux, Michael Esq QUALIFIED21Onyama Limba
1043Julie M FlosiCanada2025-08-12Rousseaux, Michael Esq QUALIFIED85Xuxue Feng
1044Claire H VocelkaRussia2025-08-05Commercial Press UNQUALIFIED47Stephen Shaw
1045Ricardo G GarufiFrance2025-08-15Truhlar And Truhlar Attys RENEWAL29Anna Fali
1046Faith Z CaldareraItaly2025-08-10Rangoni Of Florence PROPOSAL27Asiya Javayant
1047Chavez R GarufiUnited Kingdom2025-08-15Commercial Press QUALIFIED28Amy Elsner
1048Isabel X NestleJapan2025-07-26Chapman, Ross E Esq RENEWAL15Xuxue Feng
1049Kadeem M FlosiIndia2025-07-30Truhlar And Truhlar Attys QUALIFIED1Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba P ShinkoBrazilStephen Shaw NEGOTIATION
Alejandro O RimFranceAsiya Javayant NEGOTIATION
James W OldroydUnited KingdomIvan Magalhaes NEW
Aditya K GlickCanadaXuxue Feng QUALIFIED
Aruna V RutaGermanyIoni Bowcher PROPOSAL
Munro A VenereJapanIvan Magalhaes QUALIFIED
Costa K OldroydJapanBernardo Dominic NEGOTIATION
James W VenereRussiaAmy Elsner NEW
Nicolas U KuskoAustraliaOnyama Limba RENEWAL
Francesco F FerenczIndiaAsiya Javayant QUALIFIED
Chavez Z RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Munro C SlusarskiAustraliaIvan Magalhaes NEW
Sinclair H BriddickJapanOnyama Limba QUALIFIED
Kadeem H ShinkoGermanyXuxue Feng QUALIFIED
Stacey W WieserGermanyOnyama Limba NEGOTIATION
Adams Q FollerGermanyElwin Sharvill NEGOTIATION
Kaitlin N TollnerArgentinaStephen Shaw RENEWAL
Ashley Z FigeroaArgentinaAnna Fali UNQUALIFIED
Maria F BriddickItalyAnna Fali RENEWAL
Claire F BologniaAustraliaBernardo Dominic UNQUALIFIED
Aika K KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer R RimBrazilAsiya Javayant PROPOSAL
Clifford W GarufiJapanBernardo Dominic NEGOTIATION
Ricardo C RimRussiaIoni Bowcher RENEWAL
Darci C BologniaUnited KingdomOnyama Limba RENEWAL
Jeanfrancois P KuskoCanadaBernardo Dominic NEGOTIATION
Emily H PaprockiBrazilIoni Bowcher NEW
Jeanfrancois S DarakjyCanadaOnyama Limba QUALIFIED
Jennifer M BriddickFranceAnna Fali NEGOTIATION
Deepesh E AmigonRussiaElwin Sharvill RENEWAL
Aika G MacleadJapanElwin Sharvill QUALIFIED
Wickens S RulapaughCanadaStephen Shaw PROPOSAL
Wickens Q NickaRussiaStephen Shaw UNQUALIFIED
Darci A IturbideSpainIvan Magalhaes UNQUALIFIED
Maria Y FollerRussiaBernardo Dominic NEGOTIATION
Jefferson G BriddickArgentinaOnyama Limba QUALIFIED
Maisha B SaylorsArgentinaStephen Shaw UNQUALIFIED
Emily A WaycottBrazilAsiya Javayant QUALIFIED
Claire C WhobreyGermanyXuxue Feng QUALIFIED
Aditya E BriddickBrazilAsiya Javayant NEW
Alejandro V TollnerJapanXuxue Feng QUALIFIED
Darci R BowleyBrazilAsiya Javayant UNQUALIFIED
Leja K OstroskyCanadaElwin Sharvill PROPOSAL
Jefferson N MaletCanadaElwin Sharvill QUALIFIED
Julie D NickaFranceIvan Magalhaes NEGOTIATION
Adams T GlickRussiaIoni Bowcher RENEWAL
Salvatore G NickaArgentinaAmy Elsner NEGOTIATION
Chavez V RimFranceOnyama Limba NEW
Maisha W CaudyJapanAmy Elsner RENEWAL
Tony A PoquetteJapanElwin Sharvill QUALIFIED
Frozen Columns
Name
Arvin E Royster
Deepesh Z Shinko
Julie Y Shinko
Nicolas D Oldroyd
Maria P Vocelka
Chavez B Rim
Jennifer X Perin
Stacey I Ostrosky
Darci R Briddick
Alejandro A Shinko
Aika J Darakjy
Maisha M Dilliard
Izzy G Ostrosky
Tony A Vocelka
Salvatore U Nicka
Kadeem V Saylors
Maisha J Darakjy
David N Nestle
Munro A Schemmer
Antonio L Kusko
Juan D Kolmetz
Isabel C Nicka
Julie I Gaucho
Kaitlin S Glick
Leon W Darakjy
Jefferson F Bowley
Julie J Marrier
Kaitlin D Albares
Aruna C Bowley
Maisha I Kusko
Adams J Vocelka
Chavez G Flosi
Deepesh N Shinko
Cody Y Glick
Silvio M Royster
Juan Q Caldarera
Maisha I Ostrosky
Sinclair P Vocelka
Francesco I Foller
Stacey Z Darakjy
Maisha U Amigon
Johnson Z Stockham
Cody L Albares
Tony W Schemmer
Alejandro Y Garufi
Wickens D Bowley
Ivar K Stenseth
Jefferson R Flosi
Rodrigues Y Bolognia
Johnson W Stenseth
IdCountryDate
1000Canada2025-07-20
1001Canada2025-08-18
1002Brazil2025-08-11
1003Argentina2025-08-08
1004United Kingdom2025-08-12
1005Spain2025-07-25
1006Brazil2025-08-13
1007Australia2025-07-22
1008Argentina2025-08-18
1009India2025-08-04
1010Japan2025-08-09
1011Russia2025-08-01
1012United Kingdom2025-08-13
1013Italy2025-07-27
1014Italy2025-08-11
1015Canada2025-08-14
1016Russia2025-08-15
1017Spain2025-08-14
1018Australia2025-07-24
1019Italy2025-07-27
1020Brazil2025-08-18
1021Russia2025-07-31
1022Brazil2025-08-08
1023France2025-08-13
1024Canada2025-08-08
1025Brazil2025-08-12
1026France2025-08-01
1027Japan2025-08-07
1028Russia2025-08-13
1029Russia2025-08-13
1030Italy2025-07-27
1031Brazil2025-07-25
1032Japan2025-07-22
1033France2025-08-13
1034Japan2025-08-10
1035Japan2025-08-02
1036Spain2025-07-23
1037India2025-07-26
1038Japan2025-07-20
1039Russia2025-08-06
1040Italy2025-07-26
1041Canada2025-08-13
1042United Kingdom2025-08-03
1043Canada2025-08-16
1044Germany2025-08-06
1045India2025-08-14
1046Germany2025-08-18
1047Russia2025-07-28
1048Germany2025-07-28
1049Spain2025-07-28

On-Demand Data

NameIdCountryDate
Cody Z Ferencz1000Germany2025-08-02
Johnson L Oldroyd1001Spain2025-07-25
Claire T Kusko1002United Kingdom2025-07-21
Izzy N Albares1003Argentina2025-08-10
Misaki R Dilliard1004Canada2025-08-02
Ricardo B Figeroa1005Australia2025-08-18
Wickens T Bolognia1006Argentina2025-08-06
Rodrigues D Butt1007Italy2025-07-21
Clifford C Albares1008Japan2025-07-21
Jeanfrancois N Flosi1009Italy2025-07-20
Jefferson Y Albares1010Canada2025-08-05
Chavez O Caudy1011India2025-07-27
Misaki Q Bolognia1012Canada2025-07-26
Maisha I Rulapaugh1013Russia2025-08-01
Jennifer X Waycott1014Spain2025-07-30
David K Saylors1015Japan2025-08-08
Izzy F Stenseth1016France2025-07-28
David G Kolmetz1017India2025-08-16
Aruna D Flosi1018Russia2025-08-10
Ashley L Caudy1019Germany2025-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones U FollerIndiaElwin Sharvill UNQUALIFIED
Emily Q ChuiUnited KingdomAmy Elsner UNQUALIFIED
Faith T OstroskyAustraliaBernardo Dominic RENEWAL
Cody R MacleadIndiaStephen Shaw UNQUALIFIED
James L AmigonBrazilIvan Magalhaes NEW
Smith W GillianBrazilIvan Magalhaes PROPOSAL
Leja U WaycottArgentinaXuxue Feng RENEWAL
Adams R AlbaresGermanyAnna Fali RENEWAL
Ashley P IturbideGermanyBernardo Dominic QUALIFIED
Claire U RutaAustraliaBernardo Dominic NEW
Jeanfrancois Y FerenczUnited KingdomIvan Magalhaes QUALIFIED
Aruna P ShinkoFranceAsiya Javayant PROPOSAL
Maisha T StockhamItalyStephen Shaw NEW
Aika N RutaSpainStephen Shaw NEGOTIATION
Jefferson V RulapaughBrazilElwin Sharvill QUALIFIED
Munro N MaletItalyBernardo Dominic QUALIFIED
Tony L OstroskyIndiaBernardo Dominic QUALIFIED
Tony X PerinJapanAsiya Javayant NEGOTIATION
Maisha W CampainCanadaXuxue Feng PROPOSAL
Aditya H BriddickRussiaAsiya Javayant NEW
Aruna D ShinkoRussiaAsiya Javayant NEW
Deepesh G FlosiJapanAmy Elsner NEGOTIATION
Maria H WieserCanadaOnyama Limba NEGOTIATION
Francesco S NestleCanadaBernardo Dominic NEW
Maisha T WaycottJapanElwin Sharvill UNQUALIFIED
Nicolas U ShinkoAustraliaXuxue Feng PROPOSAL
Tony H MorascaArgentinaXuxue Feng NEGOTIATION
Izzy E TollnerJapanBernardo Dominic UNQUALIFIED
Antonio G PerinGermanyOnyama Limba UNQUALIFIED
Julie Q OldroydGermanyStephen Shaw UNQUALIFIED
Misaki U RulapaughSpainElwin Sharvill NEGOTIATION
Maria H SergiIndiaOnyama Limba PROPOSAL
Emily L FerenczRussiaIoni Bowcher QUALIFIED
Emily U CampainFranceElwin Sharvill QUALIFIED
Costa R StockhamItalyBernardo Dominic PROPOSAL
Johnson E ShinkoSpainXuxue Feng NEGOTIATION
David R RutaItalyIvan Magalhaes NEGOTIATION
Smith P StensethRussiaOnyama Limba NEGOTIATION
Izzy J StensethJapanAnna Fali QUALIFIED
Jeanfrancois Y DarakjyAustraliaOnyama Limba PROPOSAL

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