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
Isabel F NestleCanadaIvan Magalhaes UNQUALIFIED
Izzy H WaycottGermanyAnna Fali QUALIFIED
Murillo J DoeJapanAmy Elsner UNQUALIFIED
Rodrigues E MaletFranceElwin Sharvill NEW
Sinclair J BowleyGermanyXuxue Feng NEGOTIATION
Leon Z KolmetzSpainAnna Fali NEGOTIATION
Leon O PaprockiSpainIoni Bowcher NEGOTIATION
Smith S PaprockiRussiaAsiya Javayant NEW
Greenwood A BriddickAustraliaAsiya Javayant NEGOTIATION
Maisha D FlosiSpainIoni Bowcher UNQUALIFIED
Kaitlin J ButtBrazilAsiya Javayant PROPOSAL
Adams K MaletRussiaAmy Elsner NEW
Aika U KolmetzUnited KingdomBernardo Dominic RENEWAL
Jennifer C RimAustraliaStephen Shaw RENEWAL
Claire F BowleyAustraliaAnna Fali NEGOTIATION
Claire M CaldareraFranceIoni Bowcher QUALIFIED
Johnson O BriddickBrazilStephen Shaw PROPOSAL
Maria Y ChuiRussiaStephen Shaw QUALIFIED
Stacey N OldroydCanadaOnyama Limba PROPOSAL
Alejandro U InouyeBrazilAmy Elsner NEW
Alejandro H ChuiRussiaBernardo Dominic PROPOSAL
Mayumi G NickaIndiaOnyama Limba PROPOSAL
Greenwood C SaylorsSpainIoni Bowcher RENEWAL
Aditya Y CaldareraFranceIoni Bowcher NEGOTIATION
Leon U FollerFranceElwin Sharvill RENEWAL
James D WaycottArgentinaBernardo Dominic RENEWAL
Maria K OldroydArgentinaXuxue Feng NEGOTIATION
Faith M BologniaCanadaXuxue Feng PROPOSAL
Tony A NestleJapanIoni Bowcher RENEWAL
Silvio U VocelkaGermanyAnna Fali QUALIFIED
Leja F NickaRussiaElwin Sharvill UNQUALIFIED
Cody E WieserSpainOnyama Limba NEW
Clifford L BowleyBrazilElwin Sharvill NEW
Ashley X MaletFranceAnna Fali RENEWAL
Salvatore K SlusarskiSpainAnna Fali QUALIFIED
Wickens X FollerBrazilOnyama Limba NEGOTIATION
Ivar K CaldareraGermanyElwin Sharvill NEGOTIATION
Murillo I GarufiIndiaBernardo Dominic PROPOSAL
Munro V MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Stacey I FerenczArgentinaAmy Elsner UNQUALIFIED
Aditya J ShinkoIndiaBernardo Dominic PROPOSAL
Maisha Q AmigonItalyIvan Magalhaes NEW
Wickens O FollerGermanyBernardo Dominic NEW
Maisha J BologniaRussiaStephen Shaw PROPOSAL
Darci W MacleadGermanyAnna Fali NEGOTIATION
Alejandro A SaylorsArgentinaAnna Fali UNQUALIFIED
Jones S IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Ashley C WaycottItalyXuxue Feng PROPOSAL
Kaitlin W FollerItalyAnna Fali RENEWAL
Deepesh F BowleyCanadaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer V PoquetteAustraliaStephen Shaw QUALIFIED
Morrow J TollnerSpainStephen Shaw QUALIFIED
Ashley U RoysterSpainAmy Elsner RENEWAL
Maria S BowleyItalyAnna Fali NEW
Costa W MacleadGermanyOnyama Limba UNQUALIFIED
Mujtaba E SlusarskiItalyElwin Sharvill PROPOSAL
Greenwood G FlosiGermanyIoni Bowcher NEGOTIATION
David G CaldareraIndiaOnyama Limba PROPOSAL
Darci E IturbideRussiaElwin Sharvill PROPOSAL
Ashley Q SergiAustraliaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel W StockhamRussia2025-09-16Rangoni Of Florence RENEWAL7Elwin Sharvill
1001Misaki Q FerenczBrazil2025-09-25Dorl, James J Esq NEGOTIATION20Amy Elsner
1002Darci P VenereItaly2025-10-04Truhlar And Truhlar Attys QUALIFIED99Anna Fali
1003Darci B VocelkaGermany2025-10-12Chapman, Ross E Esq QUALIFIED52Anna Fali
1004Darci X OstroskyAustralia2025-10-04Truhlar And Truhlar Attys RENEWAL97Elwin Sharvill
1005Alejandro B BologniaGermany2025-10-11Printing Dimensions QUALIFIED75Amy Elsner
1006Aditya G RimCanada2025-09-21Rangoni Of Florence UNQUALIFIED2Xuxue Feng
1007Greenwood M IturbideSpain2025-10-03Chemel, James L Cpa NEGOTIATION95Elwin Sharvill
1008Claire A FlosiCanada2025-10-09Morlong Associates NEGOTIATION97Onyama Limba
1009Alejandro A CampainRussia2025-10-09Feltz Printing Service RENEWAL84Stephen Shaw
1010Alejandro W IturbideSpain2025-09-30King, Christopher A Esq NEGOTIATION75Anna Fali
1011Darci Q SchemmerItaly2025-10-02Feltz Printing Service NEGOTIATION79Bernardo Dominic
1012Greenwood R GillianGermany2025-10-01Chapman, Ross E Esq NEGOTIATION24Ioni Bowcher
1013Nicolas B ButtUnited Kingdom2025-10-07Chemel, James L Cpa QUALIFIED94Anna Fali
1014Murillo Z InouyeBrazil2025-09-27Chanay, Jeffrey A Esq RENEWAL87Xuxue Feng
1015Arvin C MaletGermany2025-10-06Chapman, Ross E Esq NEW82Onyama Limba
1016Ricardo T PerinIndia2025-10-11Dorl, James J Esq NEGOTIATION30Stephen Shaw
1017Julie Z FerenczIndia2025-09-29King, Christopher A Esq UNQUALIFIED69Elwin Sharvill
1018Isabel Y KolmetzAustralia2025-09-30Printing Dimensions UNQUALIFIED83Ivan Magalhaes
1019Darci O VenereRussia2025-09-19Benton, John B Jr PROPOSAL57Elwin Sharvill
1020Faith Y FerenczIndia2025-09-27Rousseaux, Michael Esq NEW66Xuxue Feng
1021Francesco H WaycottItaly2025-10-05Buckley Miller Wright UNQUALIFIED88Ivan Magalhaes
1022Kadeem N ShinkoUnited Kingdom2025-10-08Benton, John B Jr NEGOTIATION53Onyama Limba
1023Nicolas W SergiBrazil2025-09-17Commercial Press PROPOSAL9Ioni Bowcher
1024Smith F FigeroaUnited Kingdom2025-09-27Feltz Printing Service NEGOTIATION67Ivan Magalhaes
1025Greenwood S KuskoFrance2025-09-24Rousseaux, Michael Esq PROPOSAL71Amy Elsner
1026Arvin G OldroydArgentina2025-09-27Truhlar And Truhlar Attys PROPOSAL60Stephen Shaw
1027Wickens Q OstroskyFrance2025-09-21Rousseaux, Michael Esq NEGOTIATION51Anna Fali
1028Misaki Y StensethArgentina2025-10-11Dorl, James J Esq UNQUALIFIED39Asiya Javayant
1029James Q GarufiAustralia2025-10-02Morlong Associates QUALIFIED95Ioni Bowcher
1030Izzy O InouyeBrazil2025-09-18Commercial Press RENEWAL66Asiya Javayant
1031Julie K RoysterSpain2025-10-08Benton, John B Jr UNQUALIFIED84Ivan Magalhaes
1032Julie H RutaUnited Kingdom2025-09-20King, Christopher A Esq PROPOSAL79Ioni Bowcher
1033David Z InouyeItaly2025-10-02King, Christopher A Esq UNQUALIFIED23Elwin Sharvill
1034Maria I CampainJapan2025-09-23Chanay, Jeffrey A Esq RENEWAL82Xuxue Feng
1035Faith I BologniaCanada2025-09-17Chemel, James L Cpa QUALIFIED36Onyama Limba
1036Chavez N ChuiFrance2025-10-09Dorl, James J Esq UNQUALIFIED55Anna Fali
1037Ivar C MarrierAustralia2025-09-24Truhlar And Truhlar Attys PROPOSAL83Ivan Magalhaes
1038Stacey P FerenczGermany2025-10-08Chapman, Ross E Esq NEGOTIATION64Anna Fali
1039Murillo B PaprockiItaly2025-09-29Chapman, Ross E Esq QUALIFIED8Ioni Bowcher
1040Costa O BologniaRussia2025-10-06Chanay, Jeffrey A Esq QUALIFIED92Ioni Bowcher
1041Adams M MaletJapan2025-09-19Chemel, James L Cpa UNQUALIFIED90Asiya Javayant
1042Alejandro Q GillianBrazil2025-09-16Truhlar And Truhlar Attys PROPOSAL61Stephen Shaw
1043Mujtaba X MarrierSpain2025-10-05Printing Dimensions PROPOSAL59Onyama Limba
1044Aditya I RulapaughAustralia2025-10-07Truhlar And Truhlar Attys NEGOTIATION7Ioni Bowcher
1045Ricardo S FerenczRussia2025-09-16Feltz Printing Service UNQUALIFIED93Asiya Javayant
1046Aika E OldroydCanada2025-10-11Dorl, James J Esq RENEWAL4Asiya Javayant
1047Leon J SchemmerFrance2025-09-15Chemel, James L Cpa QUALIFIED85Onyama Limba
1048Juan W RutaItaly2025-10-03Chanay, Jeffrey A Esq RENEWAL49Bernardo Dominic
1049Octavia M TollnerArgentina2025-09-13Dorl, James J Esq RENEWAL46Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Faith T IturbideUnited KingdomBernardo Dominic QUALIFIED
Johnson H KuskoArgentinaElwin Sharvill UNQUALIFIED
Emily J FigeroaFranceBernardo Dominic QUALIFIED
Octavia M NickaSpainAnna Fali RENEWAL
Francesco K RoysterCanadaStephen Shaw QUALIFIED
Munro P AmigonAustraliaXuxue Feng QUALIFIED
Leon V FigeroaArgentinaAnna Fali QUALIFIED
Costa K DilliardGermanyStephen Shaw NEW
Octavia N PoquetteIndiaOnyama Limba NEGOTIATION
Ivar Y BologniaArgentinaIvan Magalhaes QUALIFIED
Sinclair C BriddickFranceAmy Elsner NEGOTIATION
Greenwood L PerinRussiaStephen Shaw NEW
Stacey A CampainSpainAsiya Javayant UNQUALIFIED
Mujtaba M CaudyRussiaOnyama Limba RENEWAL
Chavez V GlickGermanyAnna Fali UNQUALIFIED
Johnson R DilliardItalyIvan Magalhaes UNQUALIFIED
Adams Y AmigonAustraliaAmy Elsner PROPOSAL
Jeanfrancois B PoquetteFranceBernardo Dominic PROPOSAL
Wickens E SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Johnson F KolmetzBrazilIoni Bowcher UNQUALIFIED
Octavia H CaldareraCanadaStephen Shaw RENEWAL
Silvio U WhobreyAustraliaXuxue Feng NEW
Jeanfrancois A NestleCanadaXuxue Feng NEW
Murillo F PerinCanadaAnna Fali QUALIFIED
Mayumi S DilliardIndiaOnyama Limba UNQUALIFIED
Mujtaba F ShinkoIndiaOnyama Limba QUALIFIED
Leja P CampainFranceIvan Magalhaes NEGOTIATION
Isabel X GarufiGermanyAnna Fali NEGOTIATION
Rodrigues N KuskoGermanyAmy Elsner NEW
Misaki D MarrierArgentinaOnyama Limba UNQUALIFIED
Darci R SergiSpainIoni Bowcher RENEWAL
Rodrigues V StockhamSpainIvan Magalhaes QUALIFIED
Ashley E WhobreyAustraliaXuxue Feng NEGOTIATION
Aika G RimBrazilAsiya Javayant NEGOTIATION
Aika S NestleFranceIoni Bowcher RENEWAL
Kadeem V RoysterAustraliaIoni Bowcher RENEWAL
Aditya P TollnerAustraliaStephen Shaw RENEWAL
Emily B SaylorsGermanyBernardo Dominic UNQUALIFIED
Ashley R BowleyIndiaOnyama Limba PROPOSAL
Munro X StensethCanadaAsiya Javayant QUALIFIED
Izzy A NickaItalyOnyama Limba UNQUALIFIED
Isabel H NestleArgentinaStephen Shaw QUALIFIED
Jefferson O CaldareraUnited KingdomIoni Bowcher PROPOSAL
Antonio T StockhamGermanyAnna Fali NEW
Kadeem Z DoeIndiaOnyama Limba PROPOSAL
Emily X WieserUnited KingdomIoni Bowcher QUALIFIED
Francesco Q RulapaughAustraliaAmy Elsner NEW
Maria P SaylorsUnited KingdomIoni Bowcher PROPOSAL
Nicolas H IturbideSpainOnyama Limba NEGOTIATION
Silvio I StockhamSpainIvan Magalhaes NEW
Frozen Columns
Name
Claire O Inouye
Stacey V Nicka
Morrow X Foller
Murillo I Morasca
Johnson A Waycott
Wickens G Gillian
Isabel T Bolognia
Arvin O Amigon
Chavez G Iturbide
Octavia B Chui
Salvatore F Gaucho
Alejandro H Sergi
Misaki D Bowley
Johnson L Caudy
Chavez Y Butt
Leon J Wieser
Morrow T Bolognia
Darci R Briddick
Deepesh W Garufi
Jeanfrancois E Bolognia
Nicolas M Gillian
Rodrigues M Flosi
Aika S Gillian
Aruna X Rulapaugh
Munro R Waycott
David X Maclead
Alejandro H Saylors
Juan N Paprocki
Stacey O Amigon
Mujtaba Y Poquette
Maria V Caudy
Clifford V Malet
Jeanfrancois E Tollner
Cody T Poquette
Mujtaba O Caudy
Rodrigues O Ferencz
Arvin N Figeroa
Jeanfrancois Z Butt
Sinclair N Dilliard
Octavia Y Whobrey
Sinclair J Tollner
Leon H Morasca
Costa Z Iturbide
Maisha W Foller
Ricardo C Kolmetz
Murillo P Nicka
Salvatore I Figeroa
Wickens M Sergi
Jones G Poquette
Ivar X Slusarski
IdCountryDate
1000Brazil2025-09-20
1001Argentina2025-09-28
1002Brazil2025-09-19
1003India2025-09-13
1004India2025-10-02
1005Germany2025-10-04
1006United Kingdom2025-09-26
1007Japan2025-09-16
1008Italy2025-09-22
1009India2025-10-09
1010France2025-10-04
1011Russia2025-10-04
1012Argentina2025-09-23
1013Argentina2025-09-24
1014Russia2025-09-26
1015Canada2025-09-20
1016Spain2025-10-06
1017India2025-10-10
1018Argentina2025-10-08
1019Argentina2025-10-01
1020Italy2025-10-06
1021Australia2025-09-16
1022Brazil2025-10-06
1023Canada2025-09-29
1024Italy2025-09-20
1025Italy2025-10-06
1026Brazil2025-09-23
1027Australia2025-09-27
1028Spain2025-09-22
1029Australia2025-10-06
1030Spain2025-09-28
1031Argentina2025-09-22
1032Japan2025-09-13
1033India2025-09-18
1034Germany2025-10-08
1035Australia2025-09-15
1036Russia2025-10-06
1037Brazil2025-09-29
1038Canada2025-09-15
1039Japan2025-10-05
1040Spain2025-10-01
1041Germany2025-10-12
1042Italy2025-09-24
1043Canada2025-10-11
1044Russia2025-09-16
1045Italy2025-09-18
1046Australia2025-09-16
1047Australia2025-09-23
1048Italy2025-09-19
1049Spain2025-09-22

On-Demand Data

NameIdCountryDate
Kadeem X Poquette1000Canada2025-09-28
Kaitlin E Tollner1001Russia2025-09-27
Izzy L Morasca1002Germany2025-09-23
Ricardo F Maclead1003Argentina2025-09-25
James R Albares1004Australia2025-09-13
Jeanfrancois G Garufi1005Russia2025-10-02
Julie T Figeroa1006Russia2025-09-21
David T Saylors1007United Kingdom2025-09-26
James L Kolmetz1008Italy2025-10-04
Costa E Nestle1009Japan2025-10-09
Emily R Venere1010Japan2025-09-19
Emily J Iturbide1011Australia2025-10-05
Kaitlin Y Gaucho1012Brazil2025-10-02
Jeanfrancois P Ruta1013France2025-09-26
Jefferson K Kolmetz1014Brazil2025-09-14
Salvatore T Figeroa1015France2025-10-05
Mayumi T Foller1016India2025-09-17
Rodrigues T Nestle1017Germany2025-10-09
Stacey E Stenseth1018France2025-09-13
Deepesh D Bolognia1019India2025-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois X MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Jeanfrancois Z MacleadArgentinaStephen Shaw QUALIFIED
Octavia M RoysterGermanyStephen Shaw RENEWAL
Deepesh F DoeAustraliaAmy Elsner UNQUALIFIED
Ivar S ChuiCanadaAnna Fali RENEWAL
Ashley W PaprockiArgentinaIoni Bowcher NEW
Munro O StensethCanadaAsiya Javayant RENEWAL
Nicolas S FigeroaUnited KingdomAmy Elsner RENEWAL
Emily R StensethCanadaIoni Bowcher NEGOTIATION
Jones P FigeroaFranceElwin Sharvill UNQUALIFIED
Jones Q OldroydItalyAnna Fali RENEWAL
Leon L PerinSpainAmy Elsner QUALIFIED
Adams O MaletItalyIoni Bowcher NEGOTIATION
Leon A RulapaughArgentinaAnna Fali NEGOTIATION
Maisha J KolmetzItalyAmy Elsner UNQUALIFIED
Sinclair N WieserSpainBernardo Dominic NEGOTIATION
Nicolas S RimRussiaAnna Fali PROPOSAL
Johnson A NickaSpainElwin Sharvill RENEWAL
Arvin Q CaudyArgentinaXuxue Feng UNQUALIFIED
Julie P WieserAustraliaBernardo Dominic PROPOSAL
Leon T NestleJapanStephen Shaw PROPOSAL
Octavia L MaletItalyIoni Bowcher NEW
Maria N GillianFranceAnna Fali NEW
Arvin I PerinAustraliaBernardo Dominic RENEWAL
Cody P BowleyFranceIoni Bowcher NEW
Costa A AmigonJapanStephen Shaw NEW
David J CaudyAustraliaAmy Elsner NEW
Darci N PoquetteItalyAsiya Javayant QUALIFIED
Wickens S FerenczGermanyBernardo Dominic QUALIFIED
Julie V CaldareraBrazilAmy Elsner NEGOTIATION
Julie P WhobreyGermanyAsiya Javayant NEGOTIATION
Octavia M WhobreyFranceElwin Sharvill PROPOSAL
Mayumi B OldroydRussiaAsiya Javayant UNQUALIFIED
Aditya Q TollnerBrazilAnna Fali RENEWAL
Jeanfrancois T TollnerRussiaAsiya Javayant QUALIFIED
Murillo N FlosiGermanyXuxue Feng QUALIFIED
Mujtaba D SergiItalyBernardo Dominic UNQUALIFIED
Silvio U IturbideAustraliaAmy Elsner QUALIFIED
Kaitlin L FlosiIndiaIvan Magalhaes NEW
Rodrigues K KolmetzFranceIvan Magalhaes PROPOSAL

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