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
Rodrigues S SergiFranceAnna Fali NEGOTIATION
Deepesh N FollerItalyElwin Sharvill RENEWAL
Leja U FollerItalyAnna Fali QUALIFIED
Stacey X SaylorsArgentinaBernardo Dominic UNQUALIFIED
Tony B GarufiGermanyXuxue Feng NEW
Maisha M CampainRussiaOnyama Limba PROPOSAL
Leja Y SergiGermanyElwin Sharvill RENEWAL
Darci H GlickJapanXuxue Feng UNQUALIFIED
Greenwood G SchemmerUnited KingdomAmy Elsner RENEWAL
James J PerinRussiaBernardo Dominic QUALIFIED
Tony T FlosiBrazilIoni Bowcher NEW
Sinclair D StockhamSpainStephen Shaw UNQUALIFIED
Rodrigues F FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi O KolmetzBrazilIoni Bowcher NEW
Ivar I RutaFranceAsiya Javayant RENEWAL
Jeanfrancois H MaletCanadaIoni Bowcher RENEWAL
Jefferson C CampainBrazilAnna Fali PROPOSAL
Jones C SaylorsArgentinaIoni Bowcher PROPOSAL
Stacey O AlbaresJapanXuxue Feng NEGOTIATION
Smith C VocelkaAustraliaElwin Sharvill UNQUALIFIED
Greenwood X CaudyItalyAsiya Javayant PROPOSAL
Juan Q StensethFranceIoni Bowcher PROPOSAL
Isabel U ShinkoJapanOnyama Limba RENEWAL
Chavez K MorascaAustraliaIoni Bowcher PROPOSAL
Deepesh J PoquetteSpainAmy Elsner NEGOTIATION
Ivar N RutaAustraliaAnna Fali QUALIFIED
Jennifer R MaletJapanStephen Shaw RENEWAL
Greenwood F GauchoItalyOnyama Limba PROPOSAL
Chavez F StockhamBrazilXuxue Feng NEW
Izzy T MorascaSpainOnyama Limba RENEWAL
Morrow M FlosiRussiaBernardo Dominic NEGOTIATION
Alejandro S GlickSpainStephen Shaw PROPOSAL
Ashley G FerenczGermanyXuxue Feng NEGOTIATION
Johnson M RulapaughJapanIvan Magalhaes PROPOSAL
Clifford A WhobreyArgentinaAsiya Javayant PROPOSAL
Faith B KolmetzJapanStephen Shaw NEW
Kaitlin V StockhamFranceXuxue Feng PROPOSAL
Adams K MorascaFranceAmy Elsner RENEWAL
Antonio Q GauchoUnited KingdomStephen Shaw NEGOTIATION
Wickens C KolmetzIndiaAsiya Javayant QUALIFIED
Chavez U MaletArgentinaBernardo Dominic RENEWAL
Silvio B OldroydCanadaAsiya Javayant PROPOSAL
Sinclair D IturbideIndiaElwin Sharvill NEGOTIATION
Johnson Z DoeIndiaAnna Fali NEGOTIATION
Ricardo U WieserBrazilXuxue Feng NEGOTIATION
Morrow F PoquetteSpainAnna Fali RENEWAL
Johnson K RoysterUnited KingdomAmy Elsner RENEWAL
Stacey A BriddickFranceIvan Magalhaes NEW
Clifford X DoeCanadaIvan Magalhaes NEW
Alejandro L SergiGermanyBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro D DoeFranceXuxue Feng NEGOTIATION
Jones D FlosiSpainAnna Fali UNQUALIFIED
Izzy M RimAustraliaBernardo Dominic NEW
Faith A OstroskyArgentinaXuxue Feng NEGOTIATION
Munro P RimItalyAsiya Javayant UNQUALIFIED
Aditya T WaycottSpainXuxue Feng NEGOTIATION
Jeanfrancois Q AmigonIndiaOnyama Limba RENEWAL
Ricardo L SlusarskiRussiaIvan Magalhaes NEW
Aruna R OstroskyRussiaAnna Fali UNQUALIFIED
Johnson K WhobreyGermanyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood J RutaItaly2025-08-01Feltz Printing Service UNQUALIFIED0Stephen Shaw
1001Ivar G SlusarskiAustralia2025-07-28Feltz Printing Service NEW26Xuxue Feng
1002Wickens Q AmigonItaly2025-08-07Feiner Bros RENEWAL96Onyama Limba
1003Costa V MaletUnited Kingdom2025-08-03Dorl, James J Esq QUALIFIED37Asiya Javayant
1004Maria O CaudySpain2025-08-12Feltz Printing Service UNQUALIFIED19Ioni Bowcher
1005Aditya Y CaudyArgentina2025-08-08Commercial Press NEGOTIATION57Xuxue Feng
1006Leja H KolmetzSpain2025-08-15Chemel, James L Cpa PROPOSAL96Amy Elsner
1007Munro V DarakjyBrazil2025-08-06Chapman, Ross E Esq PROPOSAL33Xuxue Feng
1008Kadeem D DilliardGermany2025-08-09King, Christopher A Esq QUALIFIED63Stephen Shaw
1009Murillo B WieserJapan2025-08-08Chemel, James L Cpa UNQUALIFIED80Ivan Magalhaes
1010Aika O SaylorsFrance2025-08-03Printing Dimensions NEGOTIATION99Bernardo Dominic
1011Kadeem L WhobreyJapan2025-08-19King, Christopher A Esq PROPOSAL74Onyama Limba
1012Antonio O RimUnited Kingdom2025-08-07Printing Dimensions NEGOTIATION47Onyama Limba
1013Francesco P BriddickIndia2025-08-03Rangoni Of Florence NEGOTIATION25Ioni Bowcher
1014Juan T MaletJapan2025-08-14Feltz Printing Service NEW26Amy Elsner
1015Smith C CaudyRussia2025-08-06Rangoni Of Florence NEW62Xuxue Feng
1016Izzy L RulapaughIndia2025-08-04Morlong Associates QUALIFIED74Xuxue Feng
1017Antonio J DilliardAustralia2025-08-19Feiner Bros UNQUALIFIED27Ivan Magalhaes
1018Nicolas P StockhamArgentina2025-08-12Rousseaux, Michael Esq UNQUALIFIED96Asiya Javayant
1019Chavez F CaudyRussia2025-08-11Feltz Printing Service PROPOSAL84Amy Elsner
1020Jeanfrancois R AmigonItaly2025-08-13Dorl, James J Esq RENEWAL84Onyama Limba
1021Chavez T SlusarskiBrazil2025-07-30Rangoni Of Florence NEW93Asiya Javayant
1022Kaitlin Y RimUnited Kingdom2025-08-04Feiner Bros RENEWAL97Xuxue Feng
1023Stacey X CampainJapan2025-08-14Dorl, James J Esq UNQUALIFIED79Ivan Magalhaes
1024Aditya T VenereItaly2025-08-12Chemel, James L Cpa QUALIFIED19Stephen Shaw
1025Rodrigues D MaletUnited Kingdom2025-08-20Truhlar And Truhlar Attys RENEWAL95Asiya Javayant
1026Morrow K PoquetteAustralia2025-08-01Chapman, Ross E Esq NEW96Stephen Shaw
1027Rodrigues I ButtBrazil2025-08-09Printing Dimensions UNQUALIFIED36Stephen Shaw
1028Rodrigues G FlosiArgentina2025-08-16Chemel, James L Cpa QUALIFIED47Stephen Shaw
1029Deepesh O PerinAustralia2025-08-15Truhlar And Truhlar Attys PROPOSAL20Ivan Magalhaes
1030Francesco Y ShinkoUnited Kingdom2025-08-03Chapman, Ross E Esq UNQUALIFIED70Asiya Javayant
1031Jeanfrancois Z RutaArgentina2025-08-09King, Christopher A Esq RENEWAL16Onyama Limba
1032Greenwood N FlosiItaly2025-08-17Rousseaux, Michael Esq NEW87Bernardo Dominic
1033Isabel K StockhamBrazil2025-08-23Commercial Press NEW27Anna Fali
1034Nicolas S RoysterIndia2025-08-12Buckley Miller Wright NEW68Ivan Magalhaes
1035Maria Y WaycottRussia2025-07-27Benton, John B Jr UNQUALIFIED91Onyama Limba
1036Nicolas W StensethSpain2025-08-01Commercial Press NEW90Onyama Limba
1037Aruna G CaudyCanada2025-07-31Feltz Printing Service PROPOSAL82Onyama Limba
1038Cody Z MorascaFrance2025-07-31Buckley Miller Wright UNQUALIFIED83Amy Elsner
1039Ashley E FlosiGermany2025-07-27Rangoni Of Florence NEGOTIATION57Stephen Shaw
1040Wickens M KuskoArgentina2025-08-21Chanay, Jeffrey A Esq NEW58Amy Elsner
1041Costa W GlickRussia2025-07-29Printing Dimensions PROPOSAL60Ivan Magalhaes
1042Costa O MacleadAustralia2025-08-21Commercial Press NEW97Bernardo Dominic
1043Ricardo W PaprockiCanada2025-08-12Buckley Miller Wright NEGOTIATION24Bernardo Dominic
1044Antonio S OldroydRussia2025-07-30Dorl, James J Esq QUALIFIED44Stephen Shaw
1045Rodrigues Z RoysterArgentina2025-08-09Commercial Press QUALIFIED26Onyama Limba
1046Julie A DarakjyIndia2025-08-02Chapman, Ross E Esq QUALIFIED79Ioni Bowcher
1047Clifford Q BowleyJapan2025-08-02Morlong Associates NEW4Amy Elsner
1048Darci T SlusarskiAustralia2025-08-06Feiner Bros NEW3Ivan Magalhaes
1049Aika K MarrierBrazil2025-08-12Rousseaux, Michael Esq UNQUALIFIED97Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley W KolmetzItalyBernardo Dominic UNQUALIFIED
Salvatore O BologniaGermanyBernardo Dominic QUALIFIED
Costa E DarakjyCanadaOnyama Limba RENEWAL
Ashley F FigeroaFranceOnyama Limba PROPOSAL
David C MacleadRussiaStephen Shaw UNQUALIFIED
Alejandro G CampainBrazilBernardo Dominic UNQUALIFIED
Maria S BologniaJapanStephen Shaw PROPOSAL
Antonio C StensethItalyIoni Bowcher PROPOSAL
Ricardo M PaprockiAustraliaIoni Bowcher PROPOSAL
Costa P MaletArgentinaAmy Elsner NEGOTIATION
Chavez P MaletIndiaIoni Bowcher NEW
David S SaylorsRussiaStephen Shaw QUALIFIED
Aika F MarrierAustraliaXuxue Feng NEGOTIATION
Costa X DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Morrow Q GillianSpainElwin Sharvill QUALIFIED
Izzy G SchemmerCanadaOnyama Limba UNQUALIFIED
Costa P MaletBrazilElwin Sharvill NEGOTIATION
Silvio C FlosiSpainIoni Bowcher PROPOSAL
David S RoysterGermanyAnna Fali NEGOTIATION
Mujtaba N CaldareraRussiaElwin Sharvill UNQUALIFIED
Nicolas H NickaRussiaIvan Magalhaes NEGOTIATION
Ivar W DoeGermanyXuxue Feng NEGOTIATION
Aika U RutaCanadaStephen Shaw QUALIFIED
Darci I StensethFranceAnna Fali UNQUALIFIED
Johnson D DoeBrazilStephen Shaw NEGOTIATION
Sinclair J KuskoAustraliaStephen Shaw NEW
Izzy O VenereRussiaElwin Sharvill NEGOTIATION
Mujtaba F AlbaresUnited KingdomAsiya Javayant RENEWAL
Tony C VocelkaRussiaOnyama Limba QUALIFIED
Kadeem X MaletRussiaStephen Shaw NEW
Morrow D GlickBrazilAmy Elsner PROPOSAL
Munro O AmigonUnited KingdomOnyama Limba NEW
Jennifer M GarufiCanadaAsiya Javayant PROPOSAL
Darci L IturbideSpainIvan Magalhaes UNQUALIFIED
Tony W KuskoAustraliaOnyama Limba NEGOTIATION
Rodrigues B KuskoRussiaAnna Fali QUALIFIED
Jeanfrancois B PoquetteAustraliaAnna Fali QUALIFIED
Faith Z RulapaughFranceElwin Sharvill RENEWAL
Jeanfrancois O DarakjyCanadaXuxue Feng RENEWAL
Francesco A RimBrazilElwin Sharvill NEW
Kaitlin H MaletIndiaXuxue Feng NEGOTIATION
Aika M DarakjyCanadaAmy Elsner NEW
Stacey I MaletIndiaStephen Shaw NEGOTIATION
Costa O MorascaSpainXuxue Feng UNQUALIFIED
Aruna S RimCanadaAsiya Javayant NEW
James N KuskoBrazilBernardo Dominic QUALIFIED
Wickens W SchemmerSpainStephen Shaw UNQUALIFIED
Antonio Q SlusarskiUnited KingdomXuxue Feng PROPOSAL
Maria J MacleadItalyStephen Shaw PROPOSAL
Izzy U OldroydSpainIvan Magalhaes RENEWAL
Frozen Columns
Name
Jeanfrancois W Briddick
Cody W Waycott
Darci D Maclead
Chavez B Shinko
Leon Z Figeroa
Aruna E Bolognia
Munro V Marrier
Tony U Campain
Clifford P Garufi
Kadeem P Iturbide
Emily M Caldarera
David E Amigon
Jennifer H Stockham
Chavez B Wieser
Leon T Kusko
Aruna T Royster
Stacey T Waycott
Rodrigues O Oldroyd
James X Amigon
Alejandro X Morasca
Francesco D Albares
Aruna N Nicka
Claire H Wieser
James N Kusko
Smith A Caldarera
Adams E Foller
Silvio Y Oldroyd
Misaki Z Ferencz
Costa R Perin
Francesco V Saylors
Kadeem D Gillian
James Z Flosi
Stacey Y Wieser
Jeanfrancois H Oldroyd
Rodrigues M Venere
Chavez F Glick
Silvio R Stenseth
James U Venere
James U Campain
Isabel P Malet
Ivar T Butt
Maria Y Malet
Kaitlin D Whobrey
Claire F Flosi
Chavez Q Campain
Sinclair I Maclead
Smith R Stockham
Silvio U Whobrey
Jeanfrancois G Royster
Leja I Whobrey
IdCountryDate
1000France2025-08-12
1001India2025-08-06
1002Germany2025-08-09
1003United Kingdom2025-08-04
1004United Kingdom2025-08-23
1005Spain2025-08-08
1006Spain2025-08-05
1007Germany2025-08-20
1008Japan2025-08-17
1009Russia2025-07-26
1010Russia2025-08-14
1011Japan2025-07-31
1012Australia2025-08-18
1013France2025-08-08
1014United Kingdom2025-08-04
1015India2025-07-25
1016Japan2025-08-01
1017India2025-08-08
1018Canada2025-08-19
1019India2025-07-26
1020Italy2025-08-04
1021Australia2025-07-28
1022Russia2025-08-04
1023Canada2025-08-21
1024Australia2025-07-26
1025Spain2025-08-16
1026Argentina2025-08-05
1027Germany2025-07-26
1028Japan2025-07-25
1029France2025-08-18
1030France2025-07-25
1031Argentina2025-08-09
1032Argentina2025-08-09
1033Canada2025-08-16
1034Spain2025-07-25
1035Argentina2025-08-16
1036Brazil2025-07-27
1037Australia2025-08-04
1038United Kingdom2025-08-21
1039United Kingdom2025-08-21
1040Canada2025-08-16
1041France2025-07-29
1042Japan2025-08-18
1043Canada2025-08-17
1044Russia2025-07-29
1045Japan2025-08-11
1046Russia2025-07-28
1047France2025-08-20
1048Australia2025-07-30
1049Brazil2025-08-09

On-Demand Data

NameIdCountryDate
Leon Z Caudy1000Canada2025-08-08
Emily U Morasca1001Japan2025-08-17
Salvatore Q Waycott1002India2025-07-30
Mujtaba U Malet1003Canada2025-08-04
Leja B Briddick1004France2025-07-28
Ricardo R Nestle1005Australia2025-08-12
Murillo P Amigon1006Australia2025-08-17
Rodrigues I Rim1007Germany2025-08-09
Jefferson F Rim1008Spain2025-07-27
Mujtaba X Maclead1009Italy2025-08-09
Ricardo F Darakjy1010France2025-08-21
Sinclair E Ostrosky1011Germany2025-08-13
Juan L Rim1012Argentina2025-08-08
Kadeem M Gillian1013Spain2025-07-25
Chavez E Darakjy1014Spain2025-08-14
Jennifer W Malet1015Russia2025-08-14
David A Darakjy1016Spain2025-08-23
Salvatore Q Doe1017Canada2025-08-23
Alejandro B Dilliard1018Argentina2025-08-10
Arvin L Dilliard1019Brazil2025-07-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria W CaudyRussiaOnyama Limba RENEWAL
Mujtaba P BriddickGermanyIvan Magalhaes RENEWAL
Izzy Y RoysterSpainAnna Fali NEW
Wickens J SaylorsAustraliaAmy Elsner QUALIFIED
Tony E NestleBrazilIoni Bowcher PROPOSAL
Silvio Y AmigonAustraliaElwin Sharvill RENEWAL
Mayumi H SergiJapanStephen Shaw PROPOSAL
Stacey B GlickCanadaStephen Shaw PROPOSAL
Kadeem N PerinFranceOnyama Limba RENEWAL
Emily R OstroskyAustraliaElwin Sharvill NEGOTIATION
Wickens Y CaldareraItalyAmy Elsner QUALIFIED
Ashley J RimUnited KingdomOnyama Limba UNQUALIFIED
Antonio M ShinkoUnited KingdomElwin Sharvill NEW
Alejandro G SchemmerAustraliaElwin Sharvill QUALIFIED
Wickens U DilliardArgentinaIvan Magalhaes QUALIFIED
Salvatore P CaudyJapanElwin Sharvill NEW
Francesco A InouyeCanadaAsiya Javayant RENEWAL
Emily L RoysterFranceAnna Fali RENEWAL
Nicolas E PerinIndiaAsiya Javayant PROPOSAL
Claire A VocelkaRussiaOnyama Limba UNQUALIFIED
Ricardo E MaletArgentinaXuxue Feng NEW
Arvin I MarrierArgentinaElwin Sharvill UNQUALIFIED
Nicolas S CampainCanadaAnna Fali QUALIFIED
Aruna K KuskoUnited KingdomAsiya Javayant NEW
Deepesh F ButtIndiaAsiya Javayant NEGOTIATION
Johnson Q DarakjyGermanyStephen Shaw RENEWAL
James C CampainSpainAsiya Javayant QUALIFIED
Wickens V ButtItalyElwin Sharvill QUALIFIED
Antonio N MorascaJapanXuxue Feng NEGOTIATION
Greenwood B MarrierSpainElwin Sharvill QUALIFIED
Sinclair G DilliardIndiaIvan Magalhaes UNQUALIFIED
Ashley H CaudyUnited KingdomOnyama Limba NEW
Silvio M RoysterBrazilAsiya Javayant QUALIFIED
Wickens J DilliardSpainElwin Sharvill NEW
Chavez X WaycottSpainXuxue Feng QUALIFIED
Emily H BriddickGermanyIvan Magalhaes RENEWAL
James L GauchoArgentinaAmy Elsner NEGOTIATION
Rodrigues J VenereBrazilIvan Magalhaes UNQUALIFIED
Smith H CampainJapanAmy Elsner PROPOSAL
Maisha O OstroskyArgentinaIoni Bowcher RENEWAL

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