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
Sinclair H VenereJapanBernardo Dominic UNQUALIFIED
Claire N DarakjyJapanIoni Bowcher RENEWAL
Ivar P MaletUnited KingdomElwin Sharvill RENEWAL
Emily U SchemmerBrazilIvan Magalhaes QUALIFIED
Claire O CampainItalyStephen Shaw UNQUALIFIED
Leja E FollerFranceXuxue Feng NEW
Ashley D ShinkoJapanStephen Shaw RENEWAL
Emily U BriddickCanadaAsiya Javayant NEGOTIATION
Julie J CaudyItalyOnyama Limba UNQUALIFIED
Deepesh I SlusarskiItalyIvan Magalhaes NEW
Juan D CaudyFranceAnna Fali QUALIFIED
Aditya K KuskoCanadaIvan Magalhaes UNQUALIFIED
Mayumi I WaycottArgentinaXuxue Feng PROPOSAL
Misaki K BowleyFranceElwin Sharvill UNQUALIFIED
Jennifer U VenereCanadaBernardo Dominic NEW
Aika C MarrierRussiaXuxue Feng UNQUALIFIED
Jefferson B VocelkaBrazilOnyama Limba QUALIFIED
Aika U InouyeFranceAnna Fali NEGOTIATION
Antonio E BriddickArgentinaXuxue Feng QUALIFIED
Arvin L GarufiUnited KingdomOnyama Limba RENEWAL
Izzy M DarakjyBrazilAmy Elsner QUALIFIED
Izzy V OldroydJapanIvan Magalhaes RENEWAL
Johnson D CampainIndiaIvan Magalhaes PROPOSAL
Murillo N BologniaArgentinaElwin Sharvill NEW
Nicolas V SaylorsBrazilAmy Elsner RENEWAL
Maria C GarufiGermanyIvan Magalhaes PROPOSAL
Rodrigues W MaletRussiaAmy Elsner QUALIFIED
Isabel W PerinFranceXuxue Feng RENEWAL
Aika O WieserGermanyAnna Fali NEW
Aika Q GillianIndiaIoni Bowcher UNQUALIFIED
Wickens L SlusarskiUnited KingdomBernardo Dominic RENEWAL
Clifford L CaldareraItalyIvan Magalhaes QUALIFIED
Smith O MaletSpainIoni Bowcher UNQUALIFIED
Darci F RulapaughSpainElwin Sharvill NEGOTIATION
Francesco J TollnerSpainIoni Bowcher NEW
Jennifer C BowleyIndiaElwin Sharvill UNQUALIFIED
Aditya P DoeArgentinaElwin Sharvill PROPOSAL
Jeanfrancois K TollnerCanadaAnna Fali NEW
Tony K ChuiRussiaBernardo Dominic NEGOTIATION
Kaitlin I DoeBrazilOnyama Limba NEGOTIATION
Maria J BologniaAustraliaBernardo Dominic QUALIFIED
Chavez K ButtBrazilAsiya Javayant PROPOSAL
Aruna I FigeroaSpainElwin Sharvill UNQUALIFIED
Leon W DarakjyJapanXuxue Feng QUALIFIED
Nicolas H ChuiSpainIvan Magalhaes QUALIFIED
Adams W CampainFranceBernardo Dominic RENEWAL
Tony D PaprockiCanadaStephen Shaw PROPOSAL
Jefferson O StensethIndiaIvan Magalhaes UNQUALIFIED
Claire H CampainRussiaAnna Fali NEGOTIATION
Morrow C VenereSpainAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley L FollerGermanyAnna Fali NEW
Nicolas U RimFranceElwin Sharvill PROPOSAL
Clifford Z GlickJapanBernardo Dominic NEGOTIATION
Kaitlin Q FerenczCanadaBernardo Dominic QUALIFIED
Francesco N InouyeItalyStephen Shaw QUALIFIED
Tony X MacleadUnited KingdomAnna Fali QUALIFIED
Juan E DarakjyAustraliaStephen Shaw QUALIFIED
Arvin Q SaylorsSpainStephen Shaw NEGOTIATION
Deepesh R RoysterUnited KingdomIoni Bowcher QUALIFIED
Mujtaba U StensethAustraliaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar G KolmetzCanada2025-09-28Buckley Miller Wright NEW80Anna Fali
1001Jefferson P DarakjyAustralia2025-09-15Benton, John B Jr UNQUALIFIED68Onyama Limba
1002Murillo O OstroskyGermany2025-09-22Chemel, James L Cpa RENEWAL78Ivan Magalhaes
1003David U PerinItaly2025-09-22Chanay, Jeffrey A Esq NEGOTIATION83Ivan Magalhaes
1004Jeanfrancois O SlusarskiUnited Kingdom2025-09-12Truhlar And Truhlar Attys RENEWAL87Xuxue Feng
1005Murillo D BowleyUnited Kingdom2025-10-07Buckley Miller Wright NEGOTIATION76Elwin Sharvill
1006Isabel Z NestleBrazil2025-09-19Feltz Printing Service UNQUALIFIED17Stephen Shaw
1007Arvin F MorascaRussia2025-09-29King, Christopher A Esq QUALIFIED70Amy Elsner
1008Jeanfrancois I MarrierUnited Kingdom2025-09-25Rangoni Of Florence UNQUALIFIED77Stephen Shaw
1009Nicolas M SchemmerItaly2025-09-12Morlong Associates NEGOTIATION8Ivan Magalhaes
1010Julie I CaudyCanada2025-09-20Feiner Bros NEW15Xuxue Feng
1011Leon D FigeroaSpain2025-09-28Rangoni Of Florence RENEWAL78Amy Elsner
1012Isabel V TollnerGermany2025-10-01King, Christopher A Esq NEW67Amy Elsner
1013Maisha P NickaIndia2025-09-22King, Christopher A Esq UNQUALIFIED36Amy Elsner
1014Mayumi M WieserArgentina2025-09-10Feltz Printing Service NEGOTIATION85Anna Fali
1015Izzy A OldroydAustralia2025-09-14Rangoni Of Florence NEW35Bernardo Dominic
1016James D GlickGermany2025-09-13Rousseaux, Michael Esq RENEWAL83Stephen Shaw
1017Maria M InouyeJapan2025-10-02Morlong Associates PROPOSAL72Ioni Bowcher
1018Greenwood D DarakjyRussia2025-10-08Chanay, Jeffrey A Esq QUALIFIED39Elwin Sharvill
1019Ivar H OldroydAustralia2025-09-20Buckley Miller Wright NEGOTIATION59Xuxue Feng
1020Ivar D TollnerUnited Kingdom2025-09-28King, Christopher A Esq UNQUALIFIED49Onyama Limba
1021Leon E StensethFrance2025-10-08Chemel, James L Cpa NEGOTIATION27Amy Elsner
1022James U StensethBrazil2025-09-21Rousseaux, Michael Esq NEGOTIATION43Elwin Sharvill
1023Jones N DoeItaly2025-09-27Dorl, James J Esq PROPOSAL54Asiya Javayant
1024Tony U StockhamJapan2025-09-27Commercial Press NEW27Ioni Bowcher
1025Ashley H DarakjyFrance2025-09-09Dorl, James J Esq PROPOSAL40Bernardo Dominic
1026Mayumi U RutaSpain2025-09-15Printing Dimensions QUALIFIED28Elwin Sharvill
1027Ashley K CampainUnited Kingdom2025-09-11Feiner Bros RENEWAL61Anna Fali
1028Ricardo I StensethGermany2025-09-09Feiner Bros NEW46Anna Fali
1029Ashley X MarrierGermany2025-09-13King, Christopher A Esq NEGOTIATION14Bernardo Dominic
1030Tony C KolmetzSpain2025-09-12Feltz Printing Service UNQUALIFIED10Bernardo Dominic
1031Morrow L CampainAustralia2025-09-27Morlong Associates NEW21Ivan Magalhaes
1032Kaitlin A DilliardJapan2025-09-21Dorl, James J Esq NEGOTIATION43Ioni Bowcher
1033Salvatore F ShinkoBrazil2025-09-18Benton, John B Jr NEW78Stephen Shaw
1034Faith Z BologniaAustralia2025-09-21Feiner Bros RENEWAL11Ivan Magalhaes
1035Ricardo T MorascaGermany2025-09-23Printing Dimensions PROPOSAL92Onyama Limba
1036Alejandro C BriddickJapan2025-09-10Rangoni Of Florence NEGOTIATION19Elwin Sharvill
1037Juan V ButtRussia2025-09-13Rousseaux, Michael Esq UNQUALIFIED11Xuxue Feng
1038Aditya Y ButtCanada2025-09-17Feiner Bros RENEWAL8Elwin Sharvill
1039Isabel Q BologniaIndia2025-09-13King, Christopher A Esq UNQUALIFIED9Bernardo Dominic
1040Silvio B RutaBrazil2025-09-30Feiner Bros NEGOTIATION32Onyama Limba
1041Octavia C SergiBrazil2025-10-08Commercial Press PROPOSAL67Ivan Magalhaes
1042Chavez D SaylorsCanada2025-09-21Feltz Printing Service NEGOTIATION57Anna Fali
1043Silvio T AmigonGermany2025-09-23Buckley Miller Wright QUALIFIED98Stephen Shaw
1044Leja J VocelkaBrazil2025-09-21Commercial Press QUALIFIED11Xuxue Feng
1045Stacey W SergiCanada2025-09-17Feltz Printing Service NEGOTIATION76Bernardo Dominic
1046Nicolas H GauchoJapan2025-09-25Dorl, James J Esq PROPOSAL39Onyama Limba
1047Silvio A FerenczAustralia2025-09-20Buckley Miller Wright PROPOSAL69Ioni Bowcher
1048Misaki Y KuskoArgentina2025-09-30Commercial Press QUALIFIED85Bernardo Dominic
1049Darci M MacleadArgentina2025-09-22Feltz Printing Service NEW35Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson R FollerJapanBernardo Dominic PROPOSAL
Maria R GarufiJapanAmy Elsner NEW
Murillo O PerinAustraliaAnna Fali NEGOTIATION
Isabel R PaprockiUnited KingdomIoni Bowcher NEW
Morrow L GarufiItalyBernardo Dominic RENEWAL
Mayumi L CaldareraRussiaElwin Sharvill NEGOTIATION
Tony Y KuskoGermanyOnyama Limba QUALIFIED
Stacey S PaprockiBrazilIoni Bowcher PROPOSAL
Ricardo D KuskoRussiaElwin Sharvill NEW
Mayumi M VocelkaFranceElwin Sharvill NEGOTIATION
Aruna J RoysterIndiaAmy Elsner PROPOSAL
Jeanfrancois U MacleadUnited KingdomAnna Fali NEW
Ashley W StensethGermanyStephen Shaw NEW
Aditya K RutaAustraliaIvan Magalhaes UNQUALIFIED
Adams W MarrierJapanIoni Bowcher QUALIFIED
Aditya Y ShinkoIndiaAnna Fali RENEWAL
Maria W RimIndiaOnyama Limba UNQUALIFIED
Ivar E SaylorsUnited KingdomIoni Bowcher QUALIFIED
Isabel H GlickBrazilIoni Bowcher PROPOSAL
Stacey J ChuiArgentinaElwin Sharvill QUALIFIED
Deepesh O GillianItalyAmy Elsner NEW
Aditya C RutaAustraliaXuxue Feng NEW
Octavia O RutaJapanIvan Magalhaes QUALIFIED
Octavia O MarrierCanadaAmy Elsner NEGOTIATION
Johnson D CampainAustraliaElwin Sharvill PROPOSAL
Octavia R GlickRussiaAnna Fali UNQUALIFIED
Leja S GarufiUnited KingdomBernardo Dominic PROPOSAL
Deepesh F RimBrazilAnna Fali NEGOTIATION
Silvio V SlusarskiSpainBernardo Dominic NEW
Misaki J WhobreyIndiaAsiya Javayant QUALIFIED
Isabel N IturbideCanadaIoni Bowcher NEW
Aika W StockhamIndiaAsiya Javayant RENEWAL
Aika H CaldareraCanadaStephen Shaw RENEWAL
Ivar Z CaudyFranceAsiya Javayant PROPOSAL
Faith X FollerRussiaBernardo Dominic RENEWAL
Maria H PaprockiGermanyStephen Shaw PROPOSAL
Jefferson N OstroskyAustraliaIoni Bowcher NEGOTIATION
Ashley R FerenczIndiaElwin Sharvill NEGOTIATION
Morrow Z AlbaresArgentinaXuxue Feng UNQUALIFIED
Munro F FlosiCanadaIoni Bowcher UNQUALIFIED
David V RimRussiaAnna Fali UNQUALIFIED
Jennifer C KuskoRussiaAmy Elsner UNQUALIFIED
Costa C VocelkaRussiaAsiya Javayant PROPOSAL
Greenwood M DoeItalyIoni Bowcher NEGOTIATION
Adams S RoysterJapanStephen Shaw UNQUALIFIED
Salvatore L SaylorsBrazilAmy Elsner NEW
Murillo C PerinSpainElwin Sharvill RENEWAL
Aruna N GarufiSpainOnyama Limba PROPOSAL
Julie U WaycottRussiaAmy Elsner NEGOTIATION
Salvatore T DoeAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Ricardo I Kolmetz
Maria Z Rulapaugh
Stacey I Saylors
Maria T Waycott
Izzy Y Rulapaugh
Izzy A Morasca
Jefferson K Campain
Clifford K Caldarera
Claire C Waycott
Faith P Foller
Greenwood U Royster
Antonio J Sergi
Silvio X Amigon
Faith I Rim
Maria K Maclead
Ricardo V Caudy
Isabel Z Foller
Tony B Caldarera
Sinclair X Shinko
Clifford U Chui
Jones Z Sergi
Leon S Malet
Rodrigues T Gillian
Smith L Garufi
Maria Y Amigon
Maria N Inouye
Tony R Garufi
Darci L Albares
Ashley T Garufi
Kaitlin D Shinko
Munro J Nicka
Aika M Bowley
Jones H Vocelka
Isabel P Iturbide
Claire X Oldroyd
Stacey M Perin
Greenwood V Albares
Izzy J Waycott
Claire M Schemmer
Aruna V Caldarera
Leja P Slusarski
Leon S Briddick
Claire O Slusarski
Arvin P Royster
Emily J Ferencz
Rodrigues O Sergi
Arvin F Foller
Salvatore U Stockham
Sinclair B Malet
Cody X Royster
IdCountryDate
1000Argentina2025-09-29
1001Canada2025-10-08
1002Germany2025-09-28
1003Germany2025-09-25
1004Russia2025-09-28
1005Germany2025-09-13
1006Brazil2025-09-17
1007United Kingdom2025-09-21
1008Argentina2025-09-14
1009United Kingdom2025-09-10
1010Italy2025-09-21
1011Germany2025-09-30
1012India2025-09-09
1013Russia2025-10-01
1014United Kingdom2025-09-20
1015France2025-09-24
1016India2025-09-30
1017Italy2025-09-12
1018India2025-10-01
1019France2025-10-01
1020France2025-09-17
1021Australia2025-10-05
1022Australia2025-09-11
1023Russia2025-09-09
1024United Kingdom2025-10-08
1025France2025-10-04
1026Brazil2025-10-02
1027Australia2025-09-14
1028Germany2025-10-08
1029Germany2025-09-16
1030Argentina2025-09-12
1031Argentina2025-10-01
1032Australia2025-09-11
1033Italy2025-09-24
1034Argentina2025-10-06
1035Russia2025-09-25
1036Russia2025-10-03
1037Brazil2025-09-24
1038Germany2025-10-06
1039Russia2025-09-27
1040France2025-09-21
1041Japan2025-10-08
1042France2025-09-09
1043United Kingdom2025-09-09
1044Russia2025-10-01
1045Italy2025-10-05
1046Australia2025-10-05
1047Australia2025-09-16
1048Argentina2025-09-10
1049Brazil2025-09-25

On-Demand Data

NameIdCountryDate
Aditya I Slusarski1000Japan2025-10-08
Rodrigues L Rim1001Germany2025-09-16
Maria K Ostrosky1002India2025-09-19
Johnson C Saylors1003France2025-10-08
Ivar G Campain1004Japan2025-09-16
Greenwood D Tollner1005Australia2025-09-14
Murillo P Venere1006Canada2025-10-06
Francesco Z Gillian1007Brazil2025-10-03
Aruna L Bolognia1008Canada2025-09-23
Faith V Malet1009Brazil2025-10-07
Octavia I Shinko1010France2025-09-27
Darci S Gaucho1011Australia2025-09-13
Izzy H Caudy1012Russia2025-09-30
Clifford F Darakjy1013Spain2025-09-17
Murillo N Sergi1014Russia2025-10-04
Murillo L Saylors1015Russia2025-09-25
Kaitlin E Dilliard1016Germany2025-09-21
Jeanfrancois V Stockham1017Russia2025-09-30
Mujtaba T Campain1018Canada2025-09-19
Silvio X Marrier1019France2025-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan D ShinkoIndiaIoni Bowcher PROPOSAL
Stacey T StensethGermanyOnyama Limba NEGOTIATION
Izzy A OstroskyArgentinaOnyama Limba NEW
Mayumi C MaletUnited KingdomStephen Shaw UNQUALIFIED
Julie F KolmetzUnited KingdomElwin Sharvill NEW
Jennifer C GillianFranceIvan Magalhaes NEW
Ricardo T ButtAustraliaXuxue Feng QUALIFIED
Aika L FigeroaCanadaAmy Elsner RENEWAL
Mujtaba G RutaJapanOnyama Limba PROPOSAL
Ricardo B FerenczUnited KingdomAmy Elsner RENEWAL
Claire E ShinkoJapanBernardo Dominic NEGOTIATION
Francesco R BologniaRussiaIvan Magalhaes NEGOTIATION
Alejandro H DilliardRussiaStephen Shaw PROPOSAL
Adams I NickaRussiaIoni Bowcher QUALIFIED
Emily F InouyeArgentinaIvan Magalhaes QUALIFIED
Aika X BriddickArgentinaIoni Bowcher UNQUALIFIED
Izzy E WaycottJapanIoni Bowcher NEGOTIATION
Wickens K MacleadArgentinaAsiya Javayant UNQUALIFIED
Jefferson V KolmetzItalyAsiya Javayant UNQUALIFIED
Alejandro U StensethRussiaIvan Magalhaes QUALIFIED
Mujtaba F BologniaFranceOnyama Limba RENEWAL
Aika V KolmetzCanadaBernardo Dominic PROPOSAL
Darci J OldroydFranceAmy Elsner NEGOTIATION
Clifford Y SlusarskiArgentinaXuxue Feng UNQUALIFIED
Kadeem L MacleadUnited KingdomBernardo Dominic PROPOSAL
Darci F BriddickItalyIvan Magalhaes QUALIFIED
Greenwood T FerenczCanadaAmy Elsner QUALIFIED
Salvatore T GarufiCanadaBernardo Dominic NEW
Jefferson A NestleBrazilStephen Shaw NEW
Izzy H ChuiFranceIoni Bowcher RENEWAL
Misaki Z PerinCanadaAsiya Javayant RENEWAL
Julie N FollerUnited KingdomAmy Elsner NEGOTIATION
Izzy S CaldareraSpainBernardo Dominic UNQUALIFIED
Tony T RoysterJapanElwin Sharvill RENEWAL
Aruna J IturbideGermanyStephen Shaw NEGOTIATION
Murillo Q GauchoFranceBernardo Dominic PROPOSAL
Julie W RoysterBrazilIoni Bowcher UNQUALIFIED
Claire N MacleadRussiaOnyama Limba RENEWAL
Darci A AlbaresArgentinaBernardo Dominic NEW
Mayumi J WaycottItalyAmy Elsner NEGOTIATION

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