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
Claire Q KolmetzSpainAsiya Javayant UNQUALIFIED
Morrow J RutaRussiaAnna Fali NEGOTIATION
Clifford Q RutaUnited KingdomStephen Shaw RENEWAL
Jeanfrancois P SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Sinclair I IturbideBrazilIvan Magalhaes NEGOTIATION
Nicolas R OstroskyGermanyIoni Bowcher UNQUALIFIED
Deepesh A MaletIndiaIvan Magalhaes UNQUALIFIED
Izzy E FerenczUnited KingdomAmy Elsner UNQUALIFIED
Misaki U VocelkaFranceIvan Magalhaes UNQUALIFIED
Leon M PerinUnited KingdomStephen Shaw PROPOSAL
Mayumi A WieserIndiaIvan Magalhaes RENEWAL
Stacey W VocelkaRussiaAsiya Javayant NEW
Mayumi G NestleBrazilAmy Elsner NEGOTIATION
Silvio D NickaFranceIvan Magalhaes QUALIFIED
Darci Q CampainBrazilOnyama Limba UNQUALIFIED
Deepesh V BriddickRussiaAsiya Javayant NEW
Emily X DarakjyCanadaAmy Elsner QUALIFIED
Izzy L RimIndiaIvan Magalhaes NEGOTIATION
Clifford K PerinCanadaAnna Fali RENEWAL
Leon Z AlbaresFranceAnna Fali QUALIFIED
Munro P RutaArgentinaAnna Fali NEGOTIATION
Claire X IturbideJapanIoni Bowcher NEGOTIATION
Kadeem S GarufiArgentinaOnyama Limba NEW
Jefferson T AmigonJapanIvan Magalhaes NEGOTIATION
Faith J VocelkaJapanElwin Sharvill QUALIFIED
Greenwood G WhobreyFranceStephen Shaw PROPOSAL
Greenwood N PerinIndiaStephen Shaw NEGOTIATION
Leon X MacleadCanadaIvan Magalhaes NEW
Darci G IturbideSpainElwin Sharvill NEGOTIATION
Clifford S MacleadGermanyElwin Sharvill QUALIFIED
Deepesh H PerinAustraliaStephen Shaw NEW
Arvin U NickaAustraliaAmy Elsner QUALIFIED
Smith K RutaIndiaAnna Fali NEGOTIATION
Adams M CaudyGermanyIoni Bowcher NEGOTIATION
Juan A CampainSpainAnna Fali NEW
Nicolas Z SlusarskiUnited KingdomOnyama Limba PROPOSAL
Cody K ShinkoGermanyXuxue Feng UNQUALIFIED
Johnson X OstroskyFranceXuxue Feng NEW
Silvio C DoeArgentinaIoni Bowcher QUALIFIED
Aika F PoquetteItalyIvan Magalhaes UNQUALIFIED
Cody C OldroydAustraliaAnna Fali RENEWAL
Costa W MaletFranceBernardo Dominic PROPOSAL
Leja T OldroydBrazilElwin Sharvill QUALIFIED
Juan Z SchemmerAustraliaStephen Shaw RENEWAL
Ivar O VocelkaIndiaAnna Fali NEW
Greenwood W BologniaCanadaElwin Sharvill NEGOTIATION
Jennifer Y DoeSpainAsiya Javayant UNQUALIFIED
Jennifer S BowleyArgentinaXuxue Feng NEW
Cody X FlosiRussiaOnyama Limba PROPOSAL
Greenwood S CaldareraJapanIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ivar X FerenczItalyOnyama Limba NEW
Alejandro N MaletJapanOnyama Limba NEGOTIATION
Greenwood O RoysterUnited KingdomXuxue Feng PROPOSAL
Maisha X BologniaSpainIvan Magalhaes PROPOSAL
Munro B MorascaIndiaStephen Shaw RENEWAL
Salvatore A StockhamBrazilAmy Elsner NEGOTIATION
Misaki V DoeSpainIvan Magalhaes QUALIFIED
Johnson M StensethArgentinaOnyama Limba NEW
Murillo E KuskoItalyAnna Fali NEGOTIATION
Emily I OstroskyBrazilAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio S GarufiFrance2025-09-28Printing Dimensions UNQUALIFIED49Ioni Bowcher
1001Sinclair Z KuskoRussia2025-09-21Feltz Printing Service NEW37Bernardo Dominic
1002Francesco R ShinkoUnited Kingdom2025-10-08Truhlar And Truhlar Attys QUALIFIED55Elwin Sharvill
1003Silvio Y MacleadSpain2025-09-18Truhlar And Truhlar Attys NEW16Asiya Javayant
1004Costa O ButtAustralia2025-09-18Chanay, Jeffrey A Esq NEGOTIATION25Bernardo Dominic
1005Jefferson U StockhamSpain2025-10-09Buckley Miller Wright NEW24Elwin Sharvill
1006Aditya N StockhamRussia2025-10-04Feltz Printing Service PROPOSAL80Onyama Limba
1007Clifford Q DilliardJapan2025-10-13Chapman, Ross E Esq UNQUALIFIED35Asiya Javayant
1008Rodrigues B RulapaughFrance2025-09-17Benton, John B Jr QUALIFIED62Elwin Sharvill
1009Isabel Q CaldareraJapan2025-10-01Rousseaux, Michael Esq RENEWAL69Amy Elsner
1010Wickens M MaletUnited Kingdom2025-10-11Truhlar And Truhlar Attys RENEWAL41Ioni Bowcher
1011Wickens U FigeroaArgentina2025-09-28Rousseaux, Michael Esq NEGOTIATION23Onyama Limba
1012Mujtaba X FollerUnited Kingdom2025-10-07Chapman, Ross E Esq PROPOSAL66Xuxue Feng
1013Aditya K OldroydRussia2025-09-15Chanay, Jeffrey A Esq PROPOSAL11Bernardo Dominic
1014Nicolas B OldroydUnited Kingdom2025-09-29Feiner Bros NEW32Stephen Shaw
1015Aruna B CaudySpain2025-09-23Chemel, James L Cpa QUALIFIED12Asiya Javayant
1016David N WaycottIndia2025-10-04Feltz Printing Service QUALIFIED26Ioni Bowcher
1017Emily M ButtArgentina2025-10-12Rousseaux, Michael Esq NEGOTIATION14Asiya Javayant
1018Nicolas B OstroskySpain2025-09-28King, Christopher A Esq NEW20Stephen Shaw
1019Silvio O FollerRussia2025-09-28Rousseaux, Michael Esq UNQUALIFIED92Amy Elsner
1020Ricardo R GauchoAustralia2025-09-22Dorl, James J Esq QUALIFIED86Stephen Shaw
1021Maisha N OstroskyGermany2025-09-19Dorl, James J Esq NEW57Stephen Shaw
1022Sinclair V MorascaItaly2025-09-30Rangoni Of Florence UNQUALIFIED11Ivan Magalhaes
1023Johnson N MaletGermany2025-10-11Chapman, Ross E Esq PROPOSAL1Elwin Sharvill
1024Ivar O RutaIndia2025-10-09Rousseaux, Michael Esq RENEWAL40Amy Elsner
1025Salvatore Y FigeroaArgentina2025-09-16Dorl, James J Esq NEW68Amy Elsner
1026Jones U GlickJapan2025-09-22Feiner Bros NEW21Onyama Limba
1027Octavia B CaudyFrance2025-09-29King, Christopher A Esq UNQUALIFIED93Onyama Limba
1028Emily M WieserUnited Kingdom2025-09-30Feltz Printing Service RENEWAL1Bernardo Dominic
1029Leon P FerenczUnited Kingdom2025-09-18Printing Dimensions UNQUALIFIED13Onyama Limba
1030Maisha W StockhamJapan2025-10-04Rangoni Of Florence NEW44Elwin Sharvill
1031Misaki B FerenczFrance2025-10-07Feiner Bros UNQUALIFIED96Anna Fali
1032Adams Y MorascaArgentina2025-09-17Rangoni Of Florence PROPOSAL54Amy Elsner
1033Silvio P GillianJapan2025-09-30Commercial Press NEW90Ivan Magalhaes
1034Misaki G OldroydArgentina2025-10-10Chanay, Jeffrey A Esq NEGOTIATION32Anna Fali
1035Rodrigues G NickaRussia2025-09-17Truhlar And Truhlar Attys PROPOSAL93Ioni Bowcher
1036Octavia N SergiIndia2025-10-03Truhlar And Truhlar Attys NEW4Amy Elsner
1037Jeanfrancois M GarufiIndia2025-09-23Feltz Printing Service UNQUALIFIED26Asiya Javayant
1038Maria I GauchoItaly2025-10-08Commercial Press PROPOSAL52Stephen Shaw
1039Rodrigues O FlosiJapan2025-09-15Feltz Printing Service NEW46Anna Fali
1040Misaki O AmigonFrance2025-09-27Feiner Bros QUALIFIED33Onyama Limba
1041Alejandro N ButtGermany2025-09-27Printing Dimensions RENEWAL84Asiya Javayant
1042Stacey I WieserUnited Kingdom2025-09-23Morlong Associates QUALIFIED43Anna Fali
1043David V AmigonGermany2025-09-19Chapman, Ross E Esq RENEWAL70Asiya Javayant
1044Kaitlin O AlbaresGermany2025-10-10Chemel, James L Cpa PROPOSAL37Amy Elsner
1045Izzy N IturbideJapan2025-10-14Chemel, James L Cpa NEW73Amy Elsner
1046David G FollerArgentina2025-09-16Dorl, James J Esq NEW53Asiya Javayant
1047Mayumi C SchemmerCanada2025-09-30King, Christopher A Esq QUALIFIED29Anna Fali
1048Rodrigues D OstroskyArgentina2025-10-14Morlong Associates UNQUALIFIED0Anna Fali
1049Mujtaba B RulapaughSpain2025-09-28King, Christopher A Esq RENEWAL34Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson K FollerFranceXuxue Feng QUALIFIED
Nicolas Z BriddickBrazilXuxue Feng RENEWAL
Aditya Q WaycottIndiaIoni Bowcher QUALIFIED
Alejandro I SergiAustraliaAsiya Javayant NEW
Ricardo A GauchoCanadaIoni Bowcher NEGOTIATION
Chavez C InouyeSpainAnna Fali UNQUALIFIED
Jefferson R NestleUnited KingdomIoni Bowcher NEW
Claire T BriddickAustraliaIoni Bowcher UNQUALIFIED
Munro R MaletJapanOnyama Limba UNQUALIFIED
Ricardo M MarrierRussiaAsiya Javayant NEGOTIATION
Juan N FerenczItalyXuxue Feng PROPOSAL
Wickens D StensethRussiaStephen Shaw QUALIFIED
Darci X MorascaCanadaStephen Shaw RENEWAL
Smith V RimUnited KingdomIoni Bowcher NEW
Johnson U RutaBrazilIvan Magalhaes NEW
Misaki D RulapaughGermanyIvan Magalhaes NEGOTIATION
Octavia D GauchoAustraliaIoni Bowcher RENEWAL
Kaitlin X OstroskySpainIvan Magalhaes UNQUALIFIED
Leja L FlosiSpainAnna Fali NEW
Greenwood P KuskoArgentinaXuxue Feng RENEWAL
Izzy O KolmetzGermanyIoni Bowcher QUALIFIED
Kaitlin G GillianFranceIvan Magalhaes QUALIFIED
Ashley R AlbaresIndiaStephen Shaw PROPOSAL
Wickens C StockhamBrazilIvan Magalhaes QUALIFIED
Costa V FerenczSpainIvan Magalhaes NEGOTIATION
Emily M VocelkaGermanyStephen Shaw UNQUALIFIED
Darci N GillianBrazilElwin Sharvill RENEWAL
James H NickaUnited KingdomIoni Bowcher QUALIFIED
Maisha D BriddickAustraliaXuxue Feng RENEWAL
Jeanfrancois M FigeroaJapanStephen Shaw PROPOSAL
Tony U WaycottCanadaBernardo Dominic QUALIFIED
Emily M ShinkoJapanIoni Bowcher NEW
Murillo X VenereArgentinaAsiya Javayant RENEWAL
Kadeem B StensethCanadaElwin Sharvill NEGOTIATION
Aika B OstroskyJapanOnyama Limba NEW
Arvin F RimItalyIoni Bowcher NEGOTIATION
Johnson N SaylorsFranceAmy Elsner NEGOTIATION
Smith A RulapaughCanadaXuxue Feng NEW
Tony L NickaIndiaAsiya Javayant PROPOSAL
Kaitlin S WhobreyUnited KingdomIoni Bowcher PROPOSAL
Ivar G GauchoJapanOnyama Limba PROPOSAL
Aika N SchemmerGermanyAmy Elsner RENEWAL
Tony P CampainAustraliaAmy Elsner QUALIFIED
Antonio F RoysterFranceStephen Shaw NEW
Octavia T MaletAustraliaOnyama Limba NEGOTIATION
Tony J MarrierAustraliaBernardo Dominic NEW
Arvin P DoeGermanyXuxue Feng PROPOSAL
Octavia C DoeJapanIoni Bowcher NEGOTIATION
Wickens R DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Tony Y RoysterAustraliaOnyama Limba NEW
Frozen Columns
Name
Aika D Shinko
Maisha J Garufi
Mujtaba N Stenseth
Cody S Bowley
Julie T Briddick
Rodrigues B Figeroa
Stacey Q Inouye
James J Shinko
Isabel T Nestle
Aika I Ferencz
Kaitlin Q Rulapaugh
Aruna U Inouye
Kaitlin H Gaucho
Tony K Royster
Leja G Butt
Emily T Vocelka
Jefferson E Albares
Misaki O Wieser
Nicolas U Doe
Izzy N Perin
Ashley A Malet
Maria K Maclead
Isabel B Saylors
Arvin D Royster
Murillo M Ostrosky
Faith H Wieser
Aika L Ruta
Munro U Bowley
Jones J Iturbide
Maisha B Saylors
Tony B Darakjy
Chavez Y Kolmetz
Aruna H Stockham
Greenwood N Ostrosky
Isabel U Foller
Emily N Inouye
Maria N Oldroyd
Aika A Darakjy
Munro C Ferencz
Misaki H Briddick
Leja S Butt
Leja N Morasca
Aruna A Flosi
Alejandro D Stenseth
Aruna I Stockham
Aika M Flosi
Nicolas Y Gaucho
Alejandro B Slusarski
Adams V Royster
Faith H Malet
IdCountryDate
1000United Kingdom2025-09-18
1001Canada2025-09-16
1002United Kingdom2025-09-18
1003United Kingdom2025-09-27
1004France2025-09-15
1005India2025-10-13
1006Brazil2025-10-01
1007Russia2025-09-21
1008United Kingdom2025-09-24
1009Spain2025-09-21
1010Russia2025-09-24
1011Brazil2025-09-16
1012France2025-10-08
1013Australia2025-10-04
1014Germany2025-10-05
1015Australia2025-10-09
1016Brazil2025-09-16
1017India2025-10-14
1018Russia2025-10-04
1019Germany2025-10-11
1020Australia2025-09-17
1021United Kingdom2025-09-20
1022Germany2025-09-22
1023Brazil2025-10-06
1024Japan2025-10-04
1025Canada2025-09-25
1026Italy2025-09-20
1027Japan2025-10-08
1028Canada2025-09-15
1029Germany2025-09-21
1030France2025-09-18
1031Italy2025-09-20
1032Germany2025-09-29
1033Australia2025-09-29
1034Argentina2025-10-14
1035Spain2025-09-17
1036Australia2025-09-19
1037Japan2025-10-09
1038Italy2025-10-14
1039India2025-10-01
1040United Kingdom2025-09-15
1041Australia2025-09-20
1042Japan2025-09-25
1043France2025-09-25
1044United Kingdom2025-10-06
1045Argentina2025-09-17
1046Russia2025-10-10
1047Japan2025-09-28
1048Brazil2025-10-07
1049France2025-09-25

On-Demand Data

NameIdCountryDate
Claire M Stenseth1000Germany2025-09-16
Wickens B Malet1001Germany2025-09-18
David I Rim1002Italy2025-09-18
Izzy J Sergi1003Japan2025-10-10
Arvin A Bowley1004Spain2025-10-11
Maria F Flosi1005Japan2025-10-04
Alejandro T Glick1006Australia2025-09-27
Jefferson T Briddick1007Australia2025-10-04
Munro V Doe1008Italy2025-10-05
Nicolas Y Rulapaugh1009Spain2025-10-13
Mujtaba M Stenseth1010United Kingdom2025-10-11
Deepesh U Chui1011Brazil2025-10-09
Adams R Wieser1012Germany2025-10-14
Jeanfrancois K Garufi1013France2025-09-18
Alejandro Q Bowley1014Germany2025-10-09
Darci V Stockham1015Germany2025-09-28
Darci J Iturbide1016Italy2025-10-13
Costa E Marrier1017Spain2025-09-19
Izzy Q Caudy1018Argentina2025-10-11
Isabel S Marrier1019Russia2025-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo I ChuiCanadaAnna Fali NEW
Aika J ChuiGermanyXuxue Feng PROPOSAL
Francesco B VenereRussiaStephen Shaw PROPOSAL
Greenwood R TollnerBrazilStephen Shaw NEW
Faith I NestleAustraliaStephen Shaw RENEWAL
Aruna Z ButtRussiaElwin Sharvill NEGOTIATION
Octavia W ButtIndiaIvan Magalhaes NEGOTIATION
Greenwood E DilliardIndiaBernardo Dominic RENEWAL
Salvatore E CaudyJapanAmy Elsner RENEWAL
Munro Q NickaCanadaStephen Shaw NEW
Kaitlin P RimFranceAmy Elsner PROPOSAL
Rodrigues W GarufiAustraliaElwin Sharvill PROPOSAL
Darci S ShinkoGermanyAnna Fali QUALIFIED
Arvin C GauchoItalyStephen Shaw UNQUALIFIED
Cody E MacleadGermanyAmy Elsner PROPOSAL
Ricardo G DarakjyAustraliaBernardo Dominic NEGOTIATION
Kaitlin B CampainSpainAmy Elsner QUALIFIED
Misaki S GlickRussiaAsiya Javayant RENEWAL
Adams B CaudyIndiaOnyama Limba RENEWAL
Morrow M SlusarskiItalyIoni Bowcher RENEWAL
Deepesh U KolmetzJapanIoni Bowcher UNQUALIFIED
Claire Y SergiFranceAnna Fali RENEWAL
Jeanfrancois J StensethAustraliaOnyama Limba QUALIFIED
Maria C GarufiCanadaBernardo Dominic NEW
Ivar X RutaUnited KingdomOnyama Limba PROPOSAL
Julie T CampainAustraliaAnna Fali UNQUALIFIED
Mayumi B DilliardBrazilOnyama Limba UNQUALIFIED
Chavez P CampainArgentinaOnyama Limba NEGOTIATION
Cody J DoeIndiaStephen Shaw QUALIFIED
Jones P GauchoArgentinaXuxue Feng NEW
Jones E RutaIndiaStephen Shaw PROPOSAL
Greenwood N InouyeUnited KingdomBernardo Dominic RENEWAL
Jones U SergiJapanElwin Sharvill RENEWAL
Emily W MarrierItalyXuxue Feng PROPOSAL
Kaitlin V MorascaBrazilBernardo Dominic NEGOTIATION
Juan G RimItalyXuxue Feng PROPOSAL
Tony X MorascaRussiaBernardo Dominic NEW
Julie F WhobreyCanadaAnna Fali UNQUALIFIED
Jeanfrancois B MaletUnited KingdomIoni Bowcher NEGOTIATION
Octavia I WieserFranceAsiya Javayant UNQUALIFIED

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