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
Izzy R DoeArgentinaOnyama Limba UNQUALIFIED
Antonio Q StockhamCanadaStephen Shaw NEGOTIATION
Ivar H FerenczIndiaBernardo Dominic PROPOSAL
Emily U FerenczItalyStephen Shaw RENEWAL
Munro G PerinRussiaIvan Magalhaes UNQUALIFIED
Munro L GauchoJapanStephen Shaw NEGOTIATION
Antonio U FigeroaItalyOnyama Limba PROPOSAL
Aditya C DarakjyRussiaXuxue Feng UNQUALIFIED
Sinclair A MarrierItalyStephen Shaw RENEWAL
Jeanfrancois G CampainItalyAnna Fali PROPOSAL
Francesco J GlickIndiaAmy Elsner RENEWAL
Smith Z BowleyCanadaIoni Bowcher NEW
Murillo U MorascaSpainXuxue Feng NEW
Mujtaba G GillianGermanyAmy Elsner RENEWAL
Aika R ChuiAustraliaXuxue Feng PROPOSAL
Ivar I DoeAustraliaIoni Bowcher UNQUALIFIED
Izzy W RimJapanAsiya Javayant QUALIFIED
Johnson S VenereArgentinaIoni Bowcher QUALIFIED
Chavez L NickaFranceIoni Bowcher QUALIFIED
Izzy M RulapaughJapanIvan Magalhaes RENEWAL
Deepesh J MacleadSpainOnyama Limba RENEWAL
Jeanfrancois V SlusarskiBrazilAnna Fali PROPOSAL
Jennifer U DarakjyArgentinaOnyama Limba PROPOSAL
Aditya A GarufiBrazilAsiya Javayant UNQUALIFIED
Ricardo C GarufiFranceAnna Fali PROPOSAL
Julie N StensethJapanElwin Sharvill UNQUALIFIED
Mayumi B WhobreyItalyStephen Shaw UNQUALIFIED
Cody Z DarakjyIndiaXuxue Feng UNQUALIFIED
Silvio E VenereJapanAsiya Javayant QUALIFIED
Claire S GillianUnited KingdomXuxue Feng NEGOTIATION
Murillo C FollerSpainIoni Bowcher QUALIFIED
Juan P StensethAustraliaOnyama Limba PROPOSAL
Adams T StockhamGermanyIvan Magalhaes UNQUALIFIED
Smith X FigeroaJapanAmy Elsner UNQUALIFIED
Mujtaba F RoysterAustraliaAmy Elsner NEW
Jeanfrancois C PoquetteIndiaElwin Sharvill QUALIFIED
Aditya P TollnerAustraliaXuxue Feng RENEWAL
Salvatore G ChuiFranceAmy Elsner QUALIFIED
Claire L FerenczBrazilXuxue Feng UNQUALIFIED
Francesco W PoquetteItalyElwin Sharvill NEGOTIATION
Francesco Y MorascaArgentinaAnna Fali UNQUALIFIED
Francesco Z MaletBrazilOnyama Limba RENEWAL
David P VenereItalyIvan Magalhaes UNQUALIFIED
Emily H KolmetzGermanyAnna Fali NEW
Stacey O MorascaRussiaOnyama Limba QUALIFIED
Mujtaba W VocelkaIndiaElwin Sharvill NEW
Francesco O MorascaIndiaStephen Shaw NEW
Emily X FerenczRussiaOnyama Limba RENEWAL
Maisha W SergiItalyIvan Magalhaes NEGOTIATION
Alejandro G DilliardIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci C RimJapanIvan Magalhaes UNQUALIFIED
Mayumi J ChuiAustraliaOnyama Limba QUALIFIED
Maria V CaldareraFranceXuxue Feng NEGOTIATION
Aditya K RutaRussiaAsiya Javayant NEGOTIATION
Alejandro T WhobreyGermanyIoni Bowcher PROPOSAL
Rodrigues F InouyeAustraliaAsiya Javayant UNQUALIFIED
Chavez A AmigonSpainIoni Bowcher QUALIFIED
Munro N PerinCanadaAmy Elsner RENEWAL
Maria M SchemmerFranceAnna Fali QUALIFIED
Leon F CaldareraFranceIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire P DarakjyFrance2025-07-31Buckley Miller Wright UNQUALIFIED40Onyama Limba
1001Maria W BriddickUnited Kingdom2025-07-26Chapman, Ross E Esq NEW62Onyama Limba
1002Faith E GlickBrazil2025-08-23Benton, John B Jr QUALIFIED71Ivan Magalhaes
1003Izzy G ButtSpain2025-08-07King, Christopher A Esq RENEWAL16Xuxue Feng
1004Wickens V TollnerCanada2025-08-15Morlong Associates UNQUALIFIED77Asiya Javayant
1005Silvio N MarrierFrance2025-07-29Chemel, James L Cpa UNQUALIFIED76Elwin Sharvill
1006Murillo X FerenczAustralia2025-08-02Chemel, James L Cpa NEGOTIATION99Asiya Javayant
1007Kaitlin A BowleyArgentina2025-08-03Commercial Press QUALIFIED82Ivan Magalhaes
1008Tony U PaprockiSpain2025-08-19Rousseaux, Michael Esq QUALIFIED13Ioni Bowcher
1009Leja Y PoquetteUnited Kingdom2025-08-12Chanay, Jeffrey A Esq RENEWAL34Onyama Limba
1010Murillo D BologniaSpain2025-08-10King, Christopher A Esq RENEWAL18Anna Fali
1011Smith S NickaRussia2025-07-27King, Christopher A Esq UNQUALIFIED66Ioni Bowcher
1012Deepesh B CaudyUnited Kingdom2025-08-03Benton, John B Jr NEW86Ivan Magalhaes
1013Sinclair I IturbideCanada2025-08-10Buckley Miller Wright RENEWAL10Ioni Bowcher
1014Darci E WhobreyAustralia2025-08-23Feiner Bros RENEWAL96Elwin Sharvill
1015Johnson T KuskoSpain2025-08-14Truhlar And Truhlar Attys NEGOTIATION49Ioni Bowcher
1016Silvio F MaletJapan2025-08-14Buckley Miller Wright UNQUALIFIED34Amy Elsner
1017Murillo Q WieserIndia2025-07-25Commercial Press QUALIFIED39Amy Elsner
1018Stacey V PoquetteCanada2025-08-03Commercial Press NEGOTIATION25Ioni Bowcher
1019Jefferson I KuskoAustralia2025-08-09Printing Dimensions NEGOTIATION35Elwin Sharvill
1020Aditya I WaycottRussia2025-08-18Feiner Bros QUALIFIED25Xuxue Feng
1021Stacey F VenereItaly2025-07-29Chapman, Ross E Esq RENEWAL79Elwin Sharvill
1022Chavez N MarrierFrance2025-08-20King, Christopher A Esq QUALIFIED37Ivan Magalhaes
1023Smith N SchemmerUnited Kingdom2025-07-26Chapman, Ross E Esq QUALIFIED21Bernardo Dominic
1024Clifford N SchemmerGermany2025-07-26Truhlar And Truhlar Attys NEGOTIATION72Ivan Magalhaes
1025Ivar K GarufiArgentina2025-07-25Commercial Press QUALIFIED8Amy Elsner
1026James O TollnerAustralia2025-08-05Morlong Associates RENEWAL1Xuxue Feng
1027Alejandro Z SlusarskiGermany2025-08-18King, Christopher A Esq NEW70Ivan Magalhaes
1028Alejandro Z PoquetteAustralia2025-08-08Rangoni Of Florence PROPOSAL71Onyama Limba
1029Johnson A RutaUnited Kingdom2025-08-08Commercial Press UNQUALIFIED96Ivan Magalhaes
1030Kaitlin R WhobreyGermany2025-07-26Feiner Bros NEGOTIATION6Anna Fali
1031Darci V GarufiSpain2025-08-19Rousseaux, Michael Esq QUALIFIED28Bernardo Dominic
1032Misaki Q OstroskyJapan2025-08-15Chanay, Jeffrey A Esq PROPOSAL50Asiya Javayant
1033Ashley K RimGermany2025-08-11Commercial Press QUALIFIED79Amy Elsner
1034Mayumi T FlosiUnited Kingdom2025-08-08Buckley Miller Wright NEW72Asiya Javayant
1035Aika U FigeroaUnited Kingdom2025-08-16Rousseaux, Michael Esq UNQUALIFIED74Stephen Shaw
1036Juan O NestleCanada2025-07-26Morlong Associates UNQUALIFIED95Onyama Limba
1037Darci Y NestleRussia2025-08-07King, Christopher A Esq UNQUALIFIED42Onyama Limba
1038Juan W RulapaughSpain2025-08-11Dorl, James J Esq UNQUALIFIED48Ioni Bowcher
1039Sinclair Q MarrierArgentina2025-08-20Feiner Bros UNQUALIFIED50Bernardo Dominic
1040Octavia Y GarufiSpain2025-08-22Printing Dimensions QUALIFIED47Xuxue Feng
1041Clifford X OldroydSpain2025-08-18King, Christopher A Esq PROPOSAL97Ivan Magalhaes
1042Silvio T RoysterIndia2025-08-07Dorl, James J Esq QUALIFIED71Ioni Bowcher
1043Smith H VocelkaFrance2025-08-19Commercial Press UNQUALIFIED11Stephen Shaw
1044Aditya E SchemmerSpain2025-07-30Benton, John B Jr PROPOSAL81Ioni Bowcher
1045Jefferson N InouyeSpain2025-07-27Morlong Associates NEGOTIATION72Xuxue Feng
1046Octavia D VocelkaIndia2025-07-29Feiner Bros QUALIFIED34Xuxue Feng
1047Greenwood G GauchoUnited Kingdom2025-08-21Truhlar And Truhlar Attys RENEWAL51Onyama Limba
1048Antonio E RutaArgentina2025-08-01Chanay, Jeffrey A Esq QUALIFIED86Xuxue Feng
1049Deepesh U GillianJapan2025-08-04Rousseaux, Michael Esq QUALIFIED77Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
David G IturbideArgentinaIvan Magalhaes NEGOTIATION
Morrow Y VenereUnited KingdomIvan Magalhaes PROPOSAL
Antonio U KuskoRussiaAmy Elsner NEGOTIATION
Mujtaba G PoquetteArgentinaBernardo Dominic QUALIFIED
Ivar B GarufiUnited KingdomAsiya Javayant NEW
Alejandro A RoysterIndiaElwin Sharvill UNQUALIFIED
Leja I CaudySpainXuxue Feng PROPOSAL
Izzy D GauchoItalyXuxue Feng NEGOTIATION
Kaitlin P FollerBrazilBernardo Dominic RENEWAL
Kadeem V BologniaSpainElwin Sharvill NEW
Mayumi U AlbaresAustraliaIvan Magalhaes NEW
Smith V MacleadJapanXuxue Feng UNQUALIFIED
Salvatore W GillianGermanyBernardo Dominic UNQUALIFIED
Izzy Q BologniaJapanElwin Sharvill PROPOSAL
Clifford H RoysterAustraliaXuxue Feng PROPOSAL
Isabel U CampainBrazilIoni Bowcher NEGOTIATION
Mayumi M ShinkoIndiaElwin Sharvill QUALIFIED
Izzy M GillianRussiaAmy Elsner RENEWAL
Kaitlin Q InouyeArgentinaAsiya Javayant RENEWAL
Jones K WhobreyIndiaAsiya Javayant NEGOTIATION
Isabel Z BologniaRussiaBernardo Dominic NEGOTIATION
Munro E MaletUnited KingdomBernardo Dominic NEGOTIATION
Emily V GlickCanadaXuxue Feng NEGOTIATION
Costa J MarrierItalyStephen Shaw PROPOSAL
Ashley V KuskoGermanyBernardo Dominic QUALIFIED
Emily C DoeRussiaIoni Bowcher RENEWAL
Isabel H SchemmerUnited KingdomBernardo Dominic RENEWAL
Ivar C NestleRussiaAsiya Javayant QUALIFIED
Adams Y TollnerGermanyAsiya Javayant QUALIFIED
Arvin I FlosiIndiaBernardo Dominic RENEWAL
Maria A GlickItalyAmy Elsner PROPOSAL
Octavia G MaletBrazilIvan Magalhaes UNQUALIFIED
Wickens D DoeGermanyElwin Sharvill QUALIFIED
Maisha N KuskoItalyIvan Magalhaes NEGOTIATION
Nicolas N VenereCanadaXuxue Feng NEGOTIATION
Emily P CaudySpainAmy Elsner PROPOSAL
Mujtaba Z FollerArgentinaXuxue Feng UNQUALIFIED
Johnson D GarufiCanadaStephen Shaw QUALIFIED
Deepesh Q SaylorsAustraliaXuxue Feng UNQUALIFIED
Nicolas F NickaBrazilAsiya Javayant NEW
Ricardo C FollerAustraliaStephen Shaw UNQUALIFIED
Emily C PoquetteJapanAmy Elsner RENEWAL
Julie U ButtBrazilAnna Fali PROPOSAL
Jones N TollnerArgentinaOnyama Limba QUALIFIED
Misaki K StensethAustraliaElwin Sharvill UNQUALIFIED
Ricardo X MacleadJapanStephen Shaw PROPOSAL
Smith W RutaCanadaAnna Fali NEW
Chavez R TollnerAustraliaAmy Elsner UNQUALIFIED
Francesco L PaprockiAustraliaBernardo Dominic RENEWAL
Mayumi B OstroskyAustraliaIoni Bowcher RENEWAL
Frozen Columns
Name
Johnson Q Amigon
Aditya R Shinko
David W Amigon
Maria Y Rulapaugh
Tony H Royster
Maisha F Garufi
Johnson H Kolmetz
Murillo P Malet
Deepesh V Ruta
Antonio H Venere
Smith X Waycott
Julie I Royster
Antonio G Saylors
Costa C Malet
Maisha H Ferencz
Smith B Campain
Murillo G Glick
Aruna Q Malet
Juan F Whobrey
Sinclair R Malet
Aika I Garufi
Wickens Y Albares
Francesco A Foller
Kaitlin W Malet
Deepesh K Perin
Smith E Stockham
Ashley W Gillian
Kadeem G Gillian
Costa T Maclead
Sinclair O Paprocki
Cody A Perin
Smith Z Doe
Silvio O Marrier
Stacey S Rim
Kaitlin C Briddick
Leon T Stockham
Leja V Sergi
Jeanfrancois H Kolmetz
Ivar I Marrier
Tony N Gaucho
Clifford I Caudy
Rodrigues U Stockham
Murillo O Sergi
Adams E Maclead
Jones Y Nicka
Kaitlin H Figeroa
Greenwood F Briddick
Emily R Morasca
Salvatore U Garufi
James J Morasca
IdCountryDate
1000Japan2025-08-19
1001Russia2025-08-14
1002Australia2025-08-14
1003Brazil2025-08-14
1004France2025-07-27
1005India2025-07-25
1006Argentina2025-08-05
1007Argentina2025-07-28
1008India2025-08-11
1009Argentina2025-08-11
1010France2025-08-19
1011Australia2025-08-09
1012Australia2025-08-09
1013Spain2025-08-04
1014Italy2025-08-23
1015Australia2025-08-12
1016France2025-08-23
1017Argentina2025-08-11
1018Italy2025-08-06
1019Brazil2025-08-16
1020Brazil2025-07-31
1021Canada2025-08-21
1022Germany2025-08-13
1023Brazil2025-07-30
1024Japan2025-08-06
1025United Kingdom2025-07-28
1026Brazil2025-08-21
1027Russia2025-07-25
1028Canada2025-07-28
1029Argentina2025-08-23
1030Italy2025-08-07
1031Australia2025-08-09
1032Argentina2025-08-08
1033Germany2025-08-07
1034Canada2025-08-20
1035Brazil2025-08-17
1036France2025-08-11
1037Canada2025-08-20
1038Argentina2025-08-04
1039Canada2025-08-20
1040India2025-08-04
1041Italy2025-08-20
1042France2025-08-19
1043Brazil2025-08-17
1044Italy2025-07-30
1045Brazil2025-07-27
1046Italy2025-08-11
1047Germany2025-08-11
1048France2025-08-03
1049Russia2025-08-18

On-Demand Data

NameIdCountryDate
Stacey B Vocelka1000Spain2025-08-03
Murillo Y Perin1001Japan2025-08-19
Kadeem R Caudy1002Germany2025-08-08
Murillo D Vocelka1003Australia2025-08-04
Aruna L Paprocki1004United Kingdom2025-08-16
Izzy G Kusko1005India2025-08-15
Adams H Poquette1006France2025-08-04
Claire I Gaucho1007Canada2025-08-16
Emily W Rulapaugh1008France2025-08-07
Alejandro Z Stenseth1009Australia2025-08-20
Morrow E Bolognia1010France2025-08-09
Cody X Malet1011Germany2025-08-04
Kadeem O Foller1012Spain2025-08-21
David I Dilliard1013Australia2025-07-31
Chavez O Whobrey1014Germany2025-08-14
Claire X Morasca1015India2025-07-29
Isabel Q Royster1016Canada2025-08-12
Maisha H Tollner1017United Kingdom2025-08-07
Misaki J Darakjy1018Spain2025-08-08
Costa E Paprocki1019Germany2025-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens A NestleBrazilOnyama Limba NEGOTIATION
Wickens Z GauchoBrazilOnyama Limba QUALIFIED
Faith P CaudyUnited KingdomOnyama Limba QUALIFIED
Aruna K OldroydAustraliaBernardo Dominic UNQUALIFIED
Isabel B StensethJapanBernardo Dominic RENEWAL
Johnson Y StensethCanadaIvan Magalhaes PROPOSAL
Cody E VocelkaArgentinaAsiya Javayant UNQUALIFIED
Greenwood T WieserRussiaIoni Bowcher NEGOTIATION
Jefferson M ChuiCanadaBernardo Dominic PROPOSAL
Leon A WaycottBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois W InouyeJapanXuxue Feng NEGOTIATION
Aruna R GlickRussiaIoni Bowcher UNQUALIFIED
Jones X RimCanadaElwin Sharvill RENEWAL
Munro L OldroydFranceElwin Sharvill PROPOSAL
Nicolas K TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Stacey N ButtIndiaBernardo Dominic QUALIFIED
Ricardo L FerenczRussiaXuxue Feng RENEWAL
Jeanfrancois L SaylorsUnited KingdomAmy Elsner NEW
Rodrigues E WieserUnited KingdomAnna Fali UNQUALIFIED
Jones R TollnerBrazilIoni Bowcher PROPOSAL
Aruna W MaletBrazilXuxue Feng PROPOSAL
Rodrigues M PerinGermanyIvan Magalhaes NEGOTIATION
Izzy Y RimGermanyAmy Elsner RENEWAL
Clifford D WaycottRussiaElwin Sharvill NEW
Murillo L SaylorsRussiaBernardo Dominic PROPOSAL
Arvin J MarrierSpainElwin Sharvill NEW
Alejandro W FollerGermanyXuxue Feng QUALIFIED
Kadeem F WieserItalyIoni Bowcher NEW
Antonio G CampainBrazilBernardo Dominic RENEWAL
Jefferson W TollnerAustraliaIvan Magalhaes RENEWAL
Cody I DilliardAustraliaAmy Elsner NEW
Francesco E FerenczRussiaIoni Bowcher PROPOSAL
Kaitlin C SchemmerGermanyElwin Sharvill UNQUALIFIED
Maisha Z WaycottJapanAmy Elsner UNQUALIFIED
Johnson L ButtBrazilIoni Bowcher QUALIFIED
Murillo K MacleadIndiaElwin Sharvill RENEWAL
Jefferson A CaldareraSpainXuxue Feng RENEWAL
Mujtaba K RutaAustraliaAmy Elsner PROPOSAL
Misaki H BologniaUnited KingdomIoni Bowcher NEW
Julie I PaprockiCanadaIvan Magalhaes 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>