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
Ashley V DilliardRussiaStephen Shaw RENEWAL
Greenwood C MaletCanadaBernardo Dominic NEW
Jennifer P ButtIndiaAmy Elsner RENEWAL
Salvatore H DilliardSpainIvan Magalhaes NEW
Maisha V NickaItalyElwin Sharvill PROPOSAL
Kadeem V RoysterJapanStephen Shaw PROPOSAL
Izzy Q RimJapanAsiya Javayant PROPOSAL
Octavia G RimUnited KingdomBernardo Dominic NEGOTIATION
Faith O FollerRussiaBernardo Dominic PROPOSAL
Ashley O IturbideJapanBernardo Dominic RENEWAL
Smith Q SchemmerCanadaElwin Sharvill NEGOTIATION
Darci P MacleadJapanOnyama Limba NEW
Aika V FlosiJapanAmy Elsner RENEWAL
Sinclair H VocelkaArgentinaBernardo Dominic NEW
Tony L WieserUnited KingdomIoni Bowcher PROPOSAL
Darci D ChuiSpainAnna Fali RENEWAL
Francesco W PerinUnited KingdomStephen Shaw NEGOTIATION
Leja R GauchoBrazilAmy Elsner RENEWAL
Kadeem M BologniaUnited KingdomElwin Sharvill RENEWAL
Aika T SlusarskiRussiaXuxue Feng NEGOTIATION
Leja Y OstroskyRussiaAnna Fali QUALIFIED
Leja M AlbaresGermanyXuxue Feng QUALIFIED
Aika B RutaGermanyOnyama Limba UNQUALIFIED
Munro T PoquetteRussiaAmy Elsner RENEWAL
Costa C ButtSpainBernardo Dominic UNQUALIFIED
Munro O AmigonFranceIvan Magalhaes PROPOSAL
Alejandro G FerenczFranceAsiya Javayant UNQUALIFIED
Maisha X SergiIndiaAsiya Javayant QUALIFIED
Aditya D IturbideFranceOnyama Limba PROPOSAL
Darci V GarufiIndiaAsiya Javayant PROPOSAL
Jones W IturbideCanadaAnna Fali NEW
Aditya G BowleyIndiaIvan Magalhaes UNQUALIFIED
Smith E MorascaBrazilStephen Shaw RENEWAL
Antonio V MaletIndiaAmy Elsner UNQUALIFIED
Jefferson K KolmetzBrazilElwin Sharvill NEGOTIATION
Sinclair H DoeBrazilXuxue Feng QUALIFIED
Maisha A FerenczIndiaXuxue Feng PROPOSAL
Wickens E CaldareraIndiaOnyama Limba RENEWAL
Morrow Q BowleyBrazilIoni Bowcher UNQUALIFIED
Maria G CaudyJapanXuxue Feng QUALIFIED
Jennifer Z NickaRussiaOnyama Limba UNQUALIFIED
Leja Q MorascaIndiaBernardo Dominic RENEWAL
Jeanfrancois D WhobreyIndiaBernardo Dominic RENEWAL
Cody V AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Octavia E ButtJapanIvan Magalhaes PROPOSAL
Munro P MacleadIndiaAsiya Javayant QUALIFIED
Arvin G DilliardAustraliaIoni Bowcher NEW
Maria K ButtArgentinaXuxue Feng NEW
Darci W PerinArgentinaStephen Shaw RENEWAL
Cody Y StensethCanadaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel W AlbaresArgentinaAnna Fali NEGOTIATION
Aruna C NestleFranceOnyama Limba UNQUALIFIED
David C FollerIndiaAmy Elsner UNQUALIFIED
James Q SlusarskiBrazilElwin Sharvill NEW
Misaki E PerinJapanXuxue Feng NEGOTIATION
Ivar F RoysterSpainBernardo Dominic RENEWAL
Kaitlin J ButtUnited KingdomAnna Fali NEW
Jennifer S DarakjyBrazilXuxue Feng NEGOTIATION
Jones Z MorascaGermanyIoni Bowcher NEW
Sinclair A OldroydIndiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie Y MaletItaly2025-07-28Truhlar And Truhlar Attys NEGOTIATION17Asiya Javayant
1001Morrow Q BowleySpain2025-07-28Rangoni Of Florence NEGOTIATION18Bernardo Dominic
1002Ashley B DilliardAustralia2025-08-13Chemel, James L Cpa QUALIFIED3Ioni Bowcher
1003Smith A GauchoBrazil2025-07-31Benton, John B Jr NEGOTIATION59Ioni Bowcher
1004Jefferson U StockhamCanada2025-07-26Truhlar And Truhlar Attys PROPOSAL77Anna Fali
1005Aditya W GarufiRussia2025-07-31Benton, John B Jr PROPOSAL62Bernardo Dominic
1006Ricardo K MacleadRussia2025-08-24Morlong Associates RENEWAL76Asiya Javayant
1007Aika Q KuskoAustralia2025-08-09Feiner Bros NEW37Asiya Javayant
1008Rodrigues V MaletUnited Kingdom2025-08-04Feiner Bros QUALIFIED22Amy Elsner
1009Kadeem T DilliardJapan2025-08-17Commercial Press PROPOSAL26Bernardo Dominic
1010Izzy O MaletItaly2025-08-15Morlong Associates NEGOTIATION72Stephen Shaw
1011Jones K FollerRussia2025-08-09Feiner Bros RENEWAL13Bernardo Dominic
1012Octavia A GillianSpain2025-08-11Rousseaux, Michael Esq NEGOTIATION6Elwin Sharvill
1013Alejandro L TollnerJapan2025-08-09Printing Dimensions NEGOTIATION66Elwin Sharvill
1014Misaki W WaycottIndia2025-07-26Chanay, Jeffrey A Esq NEGOTIATION61Stephen Shaw
1015Jefferson J SlusarskiJapan2025-08-02Chapman, Ross E Esq NEGOTIATION91Xuxue Feng
1016Sinclair P NickaAustralia2025-08-08Feiner Bros PROPOSAL27Ivan Magalhaes
1017Ricardo W AlbaresUnited Kingdom2025-08-02Dorl, James J Esq PROPOSAL57Xuxue Feng
1018Kaitlin I ButtFrance2025-08-10Rangoni Of Florence NEW99Onyama Limba
1019Aruna V BologniaSpain2025-08-04Feltz Printing Service PROPOSAL74Asiya Javayant
1020Cody R ButtRussia2025-08-13King, Christopher A Esq UNQUALIFIED69Stephen Shaw
1021Munro X RulapaughGermany2025-08-19Chanay, Jeffrey A Esq PROPOSAL34Onyama Limba
1022Antonio V WieserBrazil2025-08-02Benton, John B Jr NEGOTIATION34Bernardo Dominic
1023Jones W FlosiSpain2025-08-12Chemel, James L Cpa NEGOTIATION22Anna Fali
1024Kadeem B WieserItaly2025-08-06Morlong Associates RENEWAL53Xuxue Feng
1025Emily S InouyeAustralia2025-08-20Buckley Miller Wright RENEWAL52Anna Fali
1026Darci W CaudyArgentina2025-08-22Commercial Press QUALIFIED30Elwin Sharvill
1027Claire U CaldareraGermany2025-07-29Rousseaux, Michael Esq PROPOSAL35Elwin Sharvill
1028Kadeem F CampainUnited Kingdom2025-08-18Rousseaux, Michael Esq NEW97Bernardo Dominic
1029Rodrigues K InouyeRussia2025-08-13King, Christopher A Esq UNQUALIFIED32Ivan Magalhaes
1030Greenwood I PaprockiArgentina2025-08-20Feiner Bros RENEWAL84Anna Fali
1031Adams J NestleGermany2025-08-17Printing Dimensions QUALIFIED35Stephen Shaw
1032Salvatore I WaycottAustralia2025-08-08Chapman, Ross E Esq RENEWAL7Anna Fali
1033Costa E MarrierAustralia2025-08-09Chanay, Jeffrey A Esq NEGOTIATION21Stephen Shaw
1034Jones J AlbaresSpain2025-08-19Commercial Press QUALIFIED47Onyama Limba
1035Emily H FollerIndia2025-08-24Feltz Printing Service UNQUALIFIED76Bernardo Dominic
1036Jennifer Z PoquetteUnited Kingdom2025-08-17Rangoni Of Florence QUALIFIED52Xuxue Feng
1037Julie P BologniaRussia2025-07-26Chapman, Ross E Esq NEW67Amy Elsner
1038Nicolas I VocelkaFrance2025-08-20Rousseaux, Michael Esq QUALIFIED7Stephen Shaw
1039Adams J WieserIndia2025-08-12Truhlar And Truhlar Attys NEW7Stephen Shaw
1040Antonio U MaletJapan2025-08-19Buckley Miller Wright UNQUALIFIED68Amy Elsner
1041Aika S OstroskySpain2025-08-06Benton, John B Jr NEGOTIATION12Anna Fali
1042Sinclair R MorascaJapan2025-08-12Rangoni Of Florence UNQUALIFIED1Stephen Shaw
1043Francesco G FigeroaBrazil2025-08-06Chemel, James L Cpa PROPOSAL43Ivan Magalhaes
1044Claire K ChuiAustralia2025-07-31Rangoni Of Florence NEW70Ivan Magalhaes
1045Morrow F StockhamRussia2025-08-08Feltz Printing Service NEGOTIATION94Asiya Javayant
1046Kaitlin M NestleSpain2025-08-17Rangoni Of Florence NEGOTIATION40Xuxue Feng
1047Rodrigues F FollerArgentina2025-07-31Morlong Associates QUALIFIED86Ivan Magalhaes
1048Isabel Y WhobreyFrance2025-07-28Truhlar And Truhlar Attys PROPOSAL25Asiya Javayant
1049Octavia K RulapaughBrazil2025-08-15King, Christopher A Esq RENEWAL79Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aika B AmigonGermanyAmy Elsner QUALIFIED
Johnson E WaycottUnited KingdomAnna Fali NEGOTIATION
Sinclair D SlusarskiJapanBernardo Dominic RENEWAL
Claire R VocelkaBrazilIvan Magalhaes QUALIFIED
Kaitlin O AmigonCanadaXuxue Feng PROPOSAL
Clifford A DarakjyItalyIoni Bowcher RENEWAL
Maria P DarakjyItalyOnyama Limba QUALIFIED
Faith P IturbideRussiaXuxue Feng RENEWAL
Aditya U RoysterIndiaAmy Elsner QUALIFIED
Silvio K CampainIndiaOnyama Limba RENEWAL
Jeanfrancois I CaldareraFranceStephen Shaw QUALIFIED
James Z FlosiGermanyAsiya Javayant RENEWAL
Stacey R OldroydSpainOnyama Limba RENEWAL
Octavia D VocelkaSpainAnna Fali QUALIFIED
Faith E MorascaFranceIvan Magalhaes UNQUALIFIED
Juan D IturbideIndiaIvan Magalhaes NEGOTIATION
Leon J CaudyGermanyOnyama Limba QUALIFIED
Kaitlin B SaylorsBrazilStephen Shaw RENEWAL
Munro H CaldareraAustraliaXuxue Feng QUALIFIED
Sinclair O FerenczAustraliaStephen Shaw NEGOTIATION
Salvatore A MarrierCanadaAsiya Javayant PROPOSAL
Adams T PoquetteJapanElwin Sharvill NEW
James E RimAustraliaAmy Elsner NEW
Julie D NestleRussiaStephen Shaw RENEWAL
David Z PoquetteIndiaAsiya Javayant NEW
Alejandro Y AmigonGermanyAmy Elsner NEGOTIATION
Morrow Z GarufiUnited KingdomAnna Fali UNQUALIFIED
Darci R ChuiIndiaOnyama Limba NEGOTIATION
Jones E MarrierSpainAsiya Javayant QUALIFIED
Julie H CaldareraRussiaIvan Magalhaes RENEWAL
Leja S CaldareraIndiaBernardo Dominic UNQUALIFIED
Jennifer T ShinkoIndiaAnna Fali NEW
Francesco B OldroydRussiaAsiya Javayant RENEWAL
Costa M NickaCanadaIoni Bowcher QUALIFIED
James O RulapaughGermanyXuxue Feng RENEWAL
Julie V MaletFranceIoni Bowcher NEGOTIATION
Jefferson H FlosiItalyXuxue Feng UNQUALIFIED
Leon O ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Arvin P NestleJapanAmy Elsner RENEWAL
Wickens W FlosiItalyIoni Bowcher UNQUALIFIED
Francesco J WaycottRussiaAnna Fali PROPOSAL
Jennifer C ShinkoGermanyElwin Sharvill PROPOSAL
Misaki G GauchoRussiaAsiya Javayant PROPOSAL
Francesco H NestleUnited KingdomStephen Shaw QUALIFIED
Alejandro Q ChuiAustraliaAnna Fali NEGOTIATION
Alejandro N DilliardJapanElwin Sharvill NEGOTIATION
Misaki Q DoeAustraliaAnna Fali NEW
Cody U GlickUnited KingdomAsiya Javayant NEGOTIATION
Julie Z RulapaughSpainStephen Shaw NEGOTIATION
Clifford S BologniaAustraliaXuxue Feng NEW
Frozen Columns
Name
Francesco U Venere
Arvin L Malet
Ivar M Wieser
David S Gillian
Jones L Saylors
Kadeem J Butt
Julie Q Nestle
Jeanfrancois E Bolognia
Julie X Sergi
Jeanfrancois T Morasca
Rodrigues A Slusarski
Emily W Rim
Nicolas E Marrier
Sinclair S Doe
Munro R Ostrosky
Wickens C Campain
Ashley G Ostrosky
Tony F Vocelka
Chavez D Stenseth
Leon N Caudy
Aditya Y Royster
Sinclair G Inouye
Kadeem M Foller
Stacey E Maclead
Aruna L Bowley
Johnson E Perin
Misaki A Garufi
Ivar P Amigon
Faith W Morasca
Sinclair W Vocelka
Deepesh X Maclead
Clifford B Briddick
Ivar K Gaucho
Claire X Morasca
Izzy B Flosi
Jeanfrancois A Butt
Clifford B Stockham
Kadeem V Bowley
Faith M Ferencz
Kadeem B Stockham
Maisha T Darakjy
Izzy O Figeroa
Kadeem X Gaucho
Stacey L Butt
Silvio P Rim
Leja P Marrier
Alejandro B Sergi
Faith I Amigon
Alejandro H Shinko
Claire J Stenseth
IdCountryDate
1000Spain2025-08-08
1001Japan2025-08-04
1002Italy2025-08-09
1003Canada2025-08-04
1004Germany2025-08-08
1005Italy2025-08-05
1006Japan2025-08-19
1007Brazil2025-08-17
1008India2025-08-21
1009Italy2025-07-26
1010Japan2025-08-18
1011Germany2025-07-28
1012Japan2025-08-11
1013Russia2025-08-19
1014Russia2025-07-28
1015Argentina2025-08-16
1016Italy2025-08-23
1017France2025-08-10
1018Argentina2025-08-04
1019Australia2025-08-23
1020Canada2025-08-07
1021Spain2025-08-06
1022Brazil2025-08-17
1023Brazil2025-08-14
1024Canada2025-08-07
1025Spain2025-08-07
1026Russia2025-07-31
1027Japan2025-08-22
1028France2025-08-23
1029Russia2025-08-18
1030France2025-08-19
1031Brazil2025-08-03
1032France2025-08-06
1033India2025-08-21
1034Brazil2025-07-29
1035Russia2025-08-02
1036Australia2025-07-31
1037Russia2025-07-29
1038India2025-08-11
1039Italy2025-08-23
1040France2025-08-09
1041Japan2025-08-19
1042Brazil2025-08-23
1043India2025-07-28
1044Spain2025-08-09
1045Spain2025-08-15
1046Spain2025-08-17
1047Argentina2025-07-29
1048Spain2025-08-17
1049Spain2025-08-18

On-Demand Data

NameIdCountryDate
Aika Y Butt1000Brazil2025-08-22
Faith K Doe1001Spain2025-08-10
Maisha K Inouye1002Argentina2025-07-31
Darci U Darakjy1003United Kingdom2025-07-26
Kadeem D Whobrey1004Argentina2025-08-19
Aruna Q Glick1005Spain2025-07-27
David N Darakjy1006Japan2025-08-11
James Y Maclead1007Italy2025-08-19
Aruna L Doe1008Spain2025-08-16
Alejandro V Ferencz1009Canada2025-08-01
Antonio S Doe1010Brazil2025-08-17
Silvio K Bowley1011Japan2025-08-21
Jennifer V Ruta1012United Kingdom2025-08-17
Izzy O Poquette1013Japan2025-08-06
Johnson Q Gillian1014Argentina2025-08-21
Ashley X Paprocki1015Australia2025-08-24
Salvatore F Ruta1016Germany2025-08-16
Darci Y Saylors1017Italy2025-08-03
Octavia Q Perin1018Brazil2025-08-18
Izzy C Briddick1019Germany2025-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha B IturbideRussiaBernardo Dominic NEW
Chavez T RutaSpainAsiya Javayant QUALIFIED
James C KolmetzArgentinaOnyama Limba PROPOSAL
Leon Z MacleadCanadaIvan Magalhaes RENEWAL
Izzy O PaprockiGermanyAmy Elsner PROPOSAL
Adams B ChuiIndiaAnna Fali NEGOTIATION
Deepesh W RutaBrazilXuxue Feng UNQUALIFIED
Jones R NickaJapanAmy Elsner NEGOTIATION
Morrow V TollnerUnited KingdomXuxue Feng QUALIFIED
Nicolas R DilliardFranceIvan Magalhaes PROPOSAL
Aika J IturbideFranceIvan Magalhaes NEW
Rodrigues I FerenczRussiaIvan Magalhaes QUALIFIED
Alejandro D BriddickUnited KingdomIvan Magalhaes RENEWAL
Chavez R SergiUnited KingdomIoni Bowcher RENEWAL
Adams J GauchoAustraliaStephen Shaw NEW
Francesco B RimFranceAmy Elsner RENEWAL
Juan Z SlusarskiFranceIoni Bowcher UNQUALIFIED
Kadeem K AlbaresUnited KingdomStephen Shaw PROPOSAL
Sinclair O ChuiUnited KingdomOnyama Limba NEGOTIATION
Mayumi A RutaRussiaIvan Magalhaes RENEWAL
Maria B IturbideUnited KingdomXuxue Feng NEW
Aditya A SergiBrazilIvan Magalhaes NEW
Chavez N IturbideItalyAnna Fali QUALIFIED
Misaki T IturbideUnited KingdomAnna Fali NEW
Tony X RoysterAustraliaOnyama Limba RENEWAL
Salvatore M FigeroaSpainBernardo Dominic QUALIFIED
Tony G FigeroaItalyBernardo Dominic NEW
Smith U KuskoItalyOnyama Limba UNQUALIFIED
Rodrigues G DilliardItalyOnyama Limba UNQUALIFIED
Jefferson W RulapaughFranceOnyama Limba RENEWAL
Octavia V NestleJapanElwin Sharvill UNQUALIFIED
Mayumi K MarrierFranceStephen Shaw NEGOTIATION
Chavez E RimAustraliaStephen Shaw PROPOSAL
Emily Q GauchoJapanIoni Bowcher NEGOTIATION
Kadeem A ButtJapanBernardo Dominic NEW
Jennifer F NestleItalyElwin Sharvill RENEWAL
Adams J CaldareraIndiaXuxue Feng PROPOSAL
Ivar M AmigonSpainIvan Magalhaes NEW
Leja S CaldareraArgentinaAnna Fali NEW
Rodrigues D MarrierIndiaElwin Sharvill 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>