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
Smith N StockhamGermanyAnna Fali UNQUALIFIED
Jeanfrancois F SchemmerGermanyXuxue Feng UNQUALIFIED
Jeanfrancois K WhobreyRussiaAmy Elsner QUALIFIED
Tony J RutaBrazilOnyama Limba NEW
Jones Y FlosiArgentinaBernardo Dominic PROPOSAL
Salvatore S MaletCanadaIoni Bowcher QUALIFIED
Kadeem Y StockhamIndiaIvan Magalhaes RENEWAL
Leon Y DoeCanadaOnyama Limba PROPOSAL
Faith R BowleyItalyIvan Magalhaes PROPOSAL
Darci M SchemmerGermanyAmy Elsner PROPOSAL
Ricardo H GarufiJapanOnyama Limba UNQUALIFIED
Cody X WieserUnited KingdomElwin Sharvill PROPOSAL
Costa K NestleSpainAnna Fali QUALIFIED
James A StensethCanadaIoni Bowcher NEGOTIATION
Maisha S CampainBrazilAnna Fali RENEWAL
Chavez O RoysterFranceElwin Sharvill QUALIFIED
Silvio G AlbaresGermanyIoni Bowcher UNQUALIFIED
Greenwood Q BologniaSpainAnna Fali RENEWAL
Kaitlin G ButtGermanyBernardo Dominic NEGOTIATION
Cody M SaylorsFranceBernardo Dominic NEGOTIATION
Darci F RulapaughUnited KingdomAmy Elsner PROPOSAL
Sinclair C DarakjyFranceAmy Elsner NEW
Morrow B MacleadCanadaElwin Sharvill UNQUALIFIED
Clifford M FerenczItalyOnyama Limba PROPOSAL
Darci G WaycottIndiaStephen Shaw QUALIFIED
Adams N TollnerCanadaXuxue Feng UNQUALIFIED
Julie M WhobreyBrazilBernardo Dominic NEW
Munro C AlbaresAustraliaStephen Shaw QUALIFIED
Octavia M InouyeSpainBernardo Dominic UNQUALIFIED
Alejandro R GarufiFranceElwin Sharvill NEW
Arvin G DarakjyArgentinaAsiya Javayant PROPOSAL
Aika Z PerinRussiaOnyama Limba NEW
Aruna E GauchoSpainIoni Bowcher NEGOTIATION
Faith N FigeroaArgentinaElwin Sharvill NEW
Mayumi S GauchoBrazilElwin Sharvill QUALIFIED
Aika J WieserJapanAsiya Javayant RENEWAL
Smith I MarrierGermanyStephen Shaw UNQUALIFIED
Jeanfrancois N PaprockiCanadaAnna Fali UNQUALIFIED
Stacey C NestleArgentinaAsiya Javayant NEW
Maisha D FerenczFranceOnyama Limba NEW
Ricardo U MacleadSpainAnna Fali PROPOSAL
James Q MacleadUnited KingdomAnna Fali UNQUALIFIED
Clifford P StockhamJapanAnna Fali RENEWAL
Stacey N CaldareraGermanyAmy Elsner UNQUALIFIED
Kaitlin Q VocelkaAustraliaElwin Sharvill RENEWAL
Jennifer I SergiIndiaOnyama Limba RENEWAL
Aditya N MaletJapanAnna Fali PROPOSAL
Izzy B RutaAustraliaBernardo Dominic RENEWAL
Maria T DilliardCanadaOnyama Limba UNQUALIFIED
Izzy P DilliardIndiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Jones S SchemmerIndiaBernardo Dominic QUALIFIED
James L RulapaughCanadaStephen Shaw PROPOSAL
David G FollerUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin L VocelkaCanadaIoni Bowcher QUALIFIED
Jeanfrancois L FlosiBrazilStephen Shaw NEW
Jennifer L DilliardRussiaOnyama Limba QUALIFIED
Octavia T StockhamFranceIoni Bowcher PROPOSAL
Misaki N DilliardIndiaStephen Shaw UNQUALIFIED
James I DarakjyItalyAsiya Javayant UNQUALIFIED
Ricardo Z MaletIndiaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi B PaprockiIndia2025-09-05Chanay, Jeffrey A Esq RENEWAL85Ivan Magalhaes
1001Antonio W ShinkoIndia2025-09-02Benton, John B Jr PROPOSAL55Ivan Magalhaes
1002Juan B PoquetteCanada2025-09-12Rangoni Of Florence NEW15Bernardo Dominic
1003Jones H VenereFrance2025-09-04Chemel, James L Cpa QUALIFIED27Onyama Limba
1004Misaki D ShinkoRussia2025-08-17Morlong Associates PROPOSAL28Stephen Shaw
1005Juan B SergiGermany2025-08-19Rousseaux, Michael Esq NEW32Asiya Javayant
1006Sinclair T IturbideSpain2025-09-09Buckley Miller Wright QUALIFIED75Amy Elsner
1007Salvatore D WhobreyCanada2025-08-24Chanay, Jeffrey A Esq NEW69Onyama Limba
1008Leon X AmigonGermany2025-09-09Feltz Printing Service PROPOSAL19Stephen Shaw
1009Claire J KuskoAustralia2025-09-04Feltz Printing Service NEW55Elwin Sharvill
1010Emily P MaletItaly2025-09-06Commercial Press PROPOSAL14Amy Elsner
1011Munro V SlusarskiArgentina2025-08-24Benton, John B Jr QUALIFIED80Elwin Sharvill
1012Francesco T SaylorsRussia2025-08-19Feiner Bros UNQUALIFIED47Amy Elsner
1013Clifford D NickaBrazil2025-08-29Printing Dimensions NEW71Onyama Limba
1014Ashley V RutaAustralia2025-08-16Chapman, Ross E Esq NEGOTIATION10Bernardo Dominic
1015Maria B VocelkaCanada2025-09-11King, Christopher A Esq NEGOTIATION13Amy Elsner
1016Cody D AmigonRussia2025-09-09Chanay, Jeffrey A Esq NEW35Elwin Sharvill
1017Sinclair W AlbaresBrazil2025-08-29King, Christopher A Esq NEW97Anna Fali
1018Johnson M CaldareraIndia2025-08-16Benton, John B Jr QUALIFIED50Xuxue Feng
1019Ricardo K CampainFrance2025-08-19Feltz Printing Service UNQUALIFIED53Elwin Sharvill
1020Stacey F StockhamRussia2025-08-18Buckley Miller Wright UNQUALIFIED65Asiya Javayant
1021Claire R DoeFrance2025-08-19Printing Dimensions NEGOTIATION73Anna Fali
1022Emily X DarakjyItaly2025-08-20Rousseaux, Michael Esq QUALIFIED30Ivan Magalhaes
1023Chavez E WhobreyArgentina2025-08-19Printing Dimensions UNQUALIFIED98Bernardo Dominic
1024Wickens V ShinkoIndia2025-08-30Buckley Miller Wright QUALIFIED65Anna Fali
1025Francesco U VocelkaGermany2025-09-09Feiner Bros UNQUALIFIED57Ivan Magalhaes
1026Costa O MarrierBrazil2025-08-31Feiner Bros NEW79Ivan Magalhaes
1027Smith B StensethAustralia2025-09-05Truhlar And Truhlar Attys QUALIFIED5Asiya Javayant
1028David R DoeCanada2025-08-22Benton, John B Jr UNQUALIFIED15Bernardo Dominic
1029Faith G IturbideGermany2025-08-29Feltz Printing Service NEGOTIATION12Anna Fali
1030Stacey D PerinFrance2025-08-25King, Christopher A Esq QUALIFIED11Ioni Bowcher
1031Jefferson N MaletGermany2025-09-10Feiner Bros NEW84Elwin Sharvill
1032Ashley R KolmetzItaly2025-09-11Commercial Press NEGOTIATION96Asiya Javayant
1033Silvio Z RulapaughRussia2025-09-08Chapman, Ross E Esq NEGOTIATION49Stephen Shaw
1034Rodrigues M RoysterIndia2025-08-23Feltz Printing Service NEGOTIATION72Ivan Magalhaes
1035Wickens T RoysterCanada2025-09-14Buckley Miller Wright UNQUALIFIED16Bernardo Dominic
1036Cody I FigeroaSpain2025-08-24Truhlar And Truhlar Attys UNQUALIFIED92Elwin Sharvill
1037Faith J AmigonItaly2025-08-25Feltz Printing Service PROPOSAL39Xuxue Feng
1038Jefferson K NestleAustralia2025-09-14Chemel, James L Cpa RENEWAL63Elwin Sharvill
1039Deepesh K MarrierUnited Kingdom2025-08-25Truhlar And Truhlar Attys PROPOSAL71Onyama Limba
1040Deepesh O KolmetzSpain2025-09-11Feiner Bros NEGOTIATION29Ioni Bowcher
1041Mujtaba B OldroydCanada2025-08-18Dorl, James J Esq RENEWAL12Stephen Shaw
1042Arvin J MorascaArgentina2025-08-22Dorl, James J Esq QUALIFIED31Onyama Limba
1043Clifford H DoeIndia2025-09-03Truhlar And Truhlar Attys UNQUALIFIED50Onyama Limba
1044Silvio B ShinkoAustralia2025-09-12Rangoni Of Florence QUALIFIED88Amy Elsner
1045Aditya A SaylorsJapan2025-08-29King, Christopher A Esq PROPOSAL75Asiya Javayant
1046Aruna E ChuiFrance2025-09-08Commercial Press NEW97Amy Elsner
1047Antonio A InouyeCanada2025-09-06Commercial Press UNQUALIFIED76Amy Elsner
1048Faith A WieserItaly2025-09-14Rangoni Of Florence RENEWAL50Bernardo Dominic
1049Jefferson C FlosiAustralia2025-08-31Chanay, Jeffrey A Esq NEW0Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leon W BriddickItalyAmy Elsner RENEWAL
Nicolas T MarrierFranceIoni Bowcher QUALIFIED
Jones N PoquetteUnited KingdomElwin Sharvill PROPOSAL
Octavia X BriddickRussiaAnna Fali NEGOTIATION
Smith C FerenczSpainAsiya Javayant QUALIFIED
Kadeem E DarakjyUnited KingdomElwin Sharvill QUALIFIED
Mujtaba V TollnerCanadaBernardo Dominic PROPOSAL
Darci N ChuiArgentinaBernardo Dominic QUALIFIED
Kadeem N SergiGermanyXuxue Feng NEGOTIATION
Claire D SlusarskiBrazilXuxue Feng NEW
Morrow C IturbideSpainOnyama Limba NEGOTIATION
Greenwood M VenereCanadaIoni Bowcher UNQUALIFIED
Chavez M NickaUnited KingdomStephen Shaw QUALIFIED
Leon U FollerAustraliaIvan Magalhaes QUALIFIED
David I RulapaughRussiaIvan Magalhaes UNQUALIFIED
Johnson Y CampainItalyStephen Shaw QUALIFIED
Misaki R BologniaItalyAsiya Javayant NEW
Morrow T PaprockiSpainStephen Shaw RENEWAL
Alejandro J FigeroaRussiaOnyama Limba QUALIFIED
Deepesh Q MacleadArgentinaStephen Shaw PROPOSAL
Salvatore U GillianCanadaOnyama Limba UNQUALIFIED
Ricardo L FollerItalyElwin Sharvill NEW
Maria N VenereAustraliaStephen Shaw UNQUALIFIED
Munro B WhobreySpainBernardo Dominic PROPOSAL
Tony D ShinkoBrazilXuxue Feng PROPOSAL
Tony P IturbideBrazilAmy Elsner QUALIFIED
Jennifer L SergiArgentinaElwin Sharvill RENEWAL
Julie J CampainSpainAnna Fali NEW
Emily N ShinkoRussiaElwin Sharvill RENEWAL
Clifford E StockhamGermanyAnna Fali QUALIFIED
Maria J KuskoAustraliaOnyama Limba QUALIFIED
Octavia E CaudyCanadaAmy Elsner UNQUALIFIED
Ricardo X ShinkoBrazilXuxue Feng QUALIFIED
Rodrigues Y DarakjyJapanBernardo Dominic NEGOTIATION
Mujtaba D GillianRussiaIvan Magalhaes UNQUALIFIED
Juan W RutaCanadaXuxue Feng PROPOSAL
Munro A OldroydRussiaAnna Fali UNQUALIFIED
Mujtaba D CaudyArgentinaAsiya Javayant RENEWAL
Ricardo M IturbideGermanyOnyama Limba PROPOSAL
Wickens H GauchoUnited KingdomElwin Sharvill PROPOSAL
Ashley I MacleadIndiaOnyama Limba PROPOSAL
Nicolas C IturbideArgentinaAsiya Javayant QUALIFIED
Munro J IturbideGermanyBernardo Dominic UNQUALIFIED
Alejandro C KuskoFranceIvan Magalhaes QUALIFIED
Claire H MaletIndiaElwin Sharvill RENEWAL
Jefferson Z RutaRussiaOnyama Limba UNQUALIFIED
Tony W OldroydGermanyElwin Sharvill UNQUALIFIED
Isabel A WieserItalyIvan Magalhaes PROPOSAL
Aditya W AlbaresJapanAmy Elsner RENEWAL
Mujtaba U CaudyAustraliaIoni Bowcher RENEWAL
Frozen Columns
Name
Deepesh T Kusko
Chavez U Schemmer
Antonio V Chui
Ashley Y Flosi
Faith V Malet
Murillo O Malet
Rodrigues A Nestle
Aditya G Nestle
Ivar K Nestle
Aruna M Wieser
Juan X Iturbide
Jennifer C Darakjy
Jefferson R Schemmer
Leon Y Garufi
Sinclair Y Waycott
Arvin P Malet
Kaitlin T Butt
Rodrigues Q Chui
Adams D Malet
Nicolas D Wieser
Maria J Caudy
Mujtaba G Morasca
Rodrigues J Schemmer
Stacey P Rulapaugh
Deepesh R Poquette
Mujtaba J Tollner
Jeanfrancois B Campain
Emily B Kolmetz
Rodrigues Q Slusarski
Antonio Q Amigon
Jennifer I Ruta
Emily T Marrier
Jefferson U Doe
Octavia G Marrier
Octavia W Malet
Kaitlin N Glick
Faith S Stockham
Leja O Garufi
Misaki U Nicka
Wickens Y Marrier
Sinclair M Chui
Morrow C Albares
Silvio U Paprocki
Francesco I Chui
Jefferson W Maclead
Mayumi Y Stenseth
Maria N Flosi
Juan G Garufi
David X Venere
Johnson P Gillian
IdCountryDate
1000Australia2025-08-18
1001Brazil2025-08-30
1002United Kingdom2025-08-17
1003Russia2025-08-26
1004Argentina2025-08-26
1005Brazil2025-09-10
1006India2025-09-14
1007Brazil2025-09-10
1008Russia2025-09-04
1009Germany2025-08-30
1010Argentina2025-08-26
1011Brazil2025-08-30
1012United Kingdom2025-08-28
1013Italy2025-08-27
1014Italy2025-08-26
1015Germany2025-08-25
1016Japan2025-08-28
1017United Kingdom2025-08-24
1018Russia2025-08-30
1019Brazil2025-08-19
1020Italy2025-08-24
1021Brazil2025-08-31
1022Japan2025-08-24
1023France2025-08-26
1024India2025-09-13
1025Italy2025-08-23
1026Japan2025-09-01
1027France2025-08-20
1028Brazil2025-08-29
1029Germany2025-08-19
1030Canada2025-08-30
1031Argentina2025-09-06
1032Canada2025-09-14
1033Brazil2025-09-07
1034Germany2025-08-31
1035Russia2025-09-02
1036India2025-09-10
1037Russia2025-09-07
1038Brazil2025-09-12
1039Russia2025-08-20
1040United Kingdom2025-08-27
1041Argentina2025-08-19
1042India2025-08-21
1043Russia2025-08-17
1044Brazil2025-08-31
1045Japan2025-09-08
1046Australia2025-09-03
1047Brazil2025-09-11
1048France2025-08-21
1049Spain2025-09-10

On-Demand Data

NameIdCountryDate
Rodrigues F Morasca1000Japan2025-09-08
David H Albares1001Spain2025-08-28
Izzy Y Chui1002Germany2025-08-24
Juan L Butt1003United Kingdom2025-09-10
Nicolas U Darakjy1004Canada2025-09-12
Faith Y Dilliard1005Canada2025-09-12
Antonio K Malet1006Brazil2025-09-04
Maria E Caldarera1007Japan2025-09-14
Julie Y Nicka1008Germany2025-08-25
Munro A Campain1009Germany2025-09-08
Mujtaba N Figeroa1010Japan2025-08-29
Munro C Malet1011Australia2025-08-22
Mujtaba H Amigon1012Argentina2025-08-20
Jefferson E Rulapaugh1013Spain2025-08-25
Tony Z Nicka1014Argentina2025-09-04
Izzy C Royster1015Canada2025-09-01
Mujtaba O Garufi1016India2025-08-21
Leon G Chui1017Italy2025-08-19
Munro Z Slusarski1018Germany2025-08-31
Izzy H Tollner1019Brazil2025-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David R MorascaAustraliaAmy Elsner QUALIFIED
Ivar L SlusarskiUnited KingdomXuxue Feng RENEWAL
Antonio L PerinSpainStephen Shaw NEGOTIATION
Aruna G IturbideBrazilXuxue Feng PROPOSAL
Johnson Y VenereGermanyAnna Fali NEGOTIATION
Juan Q OstroskySpainAmy Elsner PROPOSAL
Maria J SaylorsGermanyOnyama Limba RENEWAL
Aditya B IturbideIndiaIoni Bowcher UNQUALIFIED
Ivar V NestleAustraliaAsiya Javayant NEW
Cody Q BriddickUnited KingdomIvan Magalhaes RENEWAL
Francesco D BowleyArgentinaStephen Shaw PROPOSAL
Aditya N RulapaughIndiaXuxue Feng RENEWAL
Johnson S MacleadGermanyIoni Bowcher NEW
Antonio S MacleadBrazilAnna Fali NEGOTIATION
Greenwood H DarakjyCanadaAsiya Javayant NEGOTIATION
Kadeem X PaprockiJapanStephen Shaw RENEWAL
Sinclair U BologniaGermanyStephen Shaw NEGOTIATION
Silvio A SlusarskiGermanyAsiya Javayant UNQUALIFIED
Tony T SlusarskiJapanAnna Fali NEW
Aruna X KuskoAustraliaStephen Shaw QUALIFIED
Jennifer G OstroskyAustraliaIoni Bowcher PROPOSAL
Adams Y NestleAustraliaStephen Shaw PROPOSAL
Salvatore B StensethSpainIoni Bowcher RENEWAL
Silvio J PaprockiFranceElwin Sharvill RENEWAL
Munro O CaldareraItalyAsiya Javayant QUALIFIED
Claire U InouyeArgentinaIvan Magalhaes RENEWAL
Leon C DoeJapanBernardo Dominic PROPOSAL
Octavia H GillianIndiaAmy Elsner PROPOSAL
Wickens F AlbaresItalyAmy Elsner NEGOTIATION
Jennifer Q OstroskyJapanStephen Shaw UNQUALIFIED
Salvatore M RutaBrazilIvan Magalhaes RENEWAL
Faith F FerenczSpainElwin Sharvill RENEWAL
Smith M NestleItalyAsiya Javayant QUALIFIED
Jefferson D StockhamRussiaXuxue Feng NEGOTIATION
David K DilliardItalyOnyama Limba NEW
Mujtaba Z ShinkoCanadaAsiya Javayant QUALIFIED
Adams S GarufiItalyOnyama Limba QUALIFIED
Maisha B FerenczFranceIvan Magalhaes PROPOSAL
Rodrigues P FerenczAustraliaIvan Magalhaes RENEWAL
Wickens E SlusarskiArgentinaIoni 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>