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
Cody L SchemmerAustraliaIoni Bowcher PROPOSAL
Maisha R SlusarskiRussiaIoni Bowcher NEGOTIATION
Adams L SergiAustraliaXuxue Feng RENEWAL
Misaki M DarakjyAustraliaIoni Bowcher NEGOTIATION
Faith I KolmetzItalyStephen Shaw UNQUALIFIED
Johnson E SlusarskiArgentinaOnyama Limba PROPOSAL
Stacey E AmigonFranceAsiya Javayant UNQUALIFIED
Jefferson I PoquetteCanadaAmy Elsner NEW
Ivar F CaldareraCanadaIvan Magalhaes UNQUALIFIED
Ricardo D RutaCanadaIoni Bowcher RENEWAL
Claire Z StensethItalyAnna Fali QUALIFIED
Octavia X WhobreyArgentinaOnyama Limba NEGOTIATION
Kaitlin C GlickSpainAnna Fali QUALIFIED
Morrow U OstroskyRussiaIoni Bowcher QUALIFIED
Emily C MaletJapanIvan Magalhaes UNQUALIFIED
Jennifer Y GillianGermanyStephen Shaw PROPOSAL
Clifford S CaldareraAustraliaStephen Shaw UNQUALIFIED
Kaitlin B GarufiFranceStephen Shaw PROPOSAL
Ashley S SaylorsUnited KingdomOnyama Limba NEGOTIATION
Ricardo J FlosiCanadaStephen Shaw NEW
Munro F AmigonGermanyIvan Magalhaes NEW
Costa C MaletBrazilStephen Shaw NEGOTIATION
Smith B NickaRussiaAnna Fali PROPOSAL
Jones S CaudyGermanyAmy Elsner NEGOTIATION
Darci X InouyeFranceIvan Magalhaes UNQUALIFIED
Cody R MarrierAustraliaXuxue Feng PROPOSAL
Mayumi B VenereArgentinaStephen Shaw UNQUALIFIED
Isabel V AmigonIndiaIoni Bowcher PROPOSAL
Kadeem S GauchoJapanBernardo Dominic PROPOSAL
Ashley V FigeroaAustraliaAsiya Javayant PROPOSAL
Jeanfrancois Y DilliardBrazilIvan Magalhaes PROPOSAL
Misaki I CaudyJapanElwin Sharvill RENEWAL
James P WieserBrazilXuxue Feng UNQUALIFIED
Clifford G KolmetzFranceXuxue Feng RENEWAL
Ashley E RulapaughArgentinaXuxue Feng PROPOSAL
Octavia S RoysterAustraliaOnyama Limba QUALIFIED
Chavez A WieserGermanyBernardo Dominic UNQUALIFIED
Kadeem X ChuiSpainAsiya Javayant RENEWAL
Mujtaba R GarufiGermanyElwin Sharvill UNQUALIFIED
Rodrigues M CampainAustraliaOnyama Limba PROPOSAL
Ashley H MacleadRussiaAsiya Javayant PROPOSAL
Jones B IturbideArgentinaXuxue Feng QUALIFIED
Emily W GillianSpainIoni Bowcher UNQUALIFIED
Mujtaba O GauchoCanadaIoni Bowcher UNQUALIFIED
Sinclair D AlbaresItalyAnna Fali UNQUALIFIED
Tony E MarrierGermanyAmy Elsner RENEWAL
Izzy V NestleGermanyIvan Magalhaes NEW
Ivar E PerinGermanyIoni Bowcher PROPOSAL
Salvatore N TollnerSpainAmy Elsner NEW
Wickens W NestleRussiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair R OstroskyArgentinaAmy Elsner NEW
Jennifer H OstroskyIndiaXuxue Feng RENEWAL
Sinclair L DoeUnited KingdomXuxue Feng NEW
Aruna T MaletCanadaBernardo Dominic PROPOSAL
Mayumi G FerenczAustraliaIvan Magalhaes PROPOSAL
Sinclair C SchemmerAustraliaAsiya Javayant NEW
Antonio P DilliardCanadaBernardo Dominic NEGOTIATION
Salvatore T VocelkaFranceAmy Elsner RENEWAL
Costa N MaletRussiaStephen Shaw RENEWAL
Salvatore D PoquetteItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel K FerenczItaly2025-08-02Chapman, Ross E Esq PROPOSAL75Xuxue Feng
1001Julie E DarakjyGermany2025-07-29Rangoni Of Florence NEW10Ioni Bowcher
1002Francesco J DoeCanada2025-07-25Truhlar And Truhlar Attys UNQUALIFIED55Asiya Javayant
1003Kadeem Q WhobreyFrance2025-07-27Chapman, Ross E Esq QUALIFIED20Bernardo Dominic
1004Adams D BriddickIndia2025-08-01Rangoni Of Florence UNQUALIFIED57Ioni Bowcher
1005Mujtaba C ChuiSpain2025-08-16Rousseaux, Michael Esq NEW17Xuxue Feng
1006Maria Q MacleadFrance2025-07-31Commercial Press NEGOTIATION29Ioni Bowcher
1007Wickens G TollnerItaly2025-08-06Benton, John B Jr QUALIFIED52Stephen Shaw
1008Stacey B TollnerJapan2025-08-15King, Christopher A Esq PROPOSAL39Stephen Shaw
1009Aruna P OldroydRussia2025-07-26Chanay, Jeffrey A Esq PROPOSAL8Ioni Bowcher
1010Leon B SlusarskiItaly2025-08-14Feltz Printing Service NEGOTIATION24Ivan Magalhaes
1011Silvio M MaletRussia2025-08-11Chanay, Jeffrey A Esq NEGOTIATION76Onyama Limba
1012Aika F BologniaAustralia2025-08-02Chanay, Jeffrey A Esq NEW12Stephen Shaw
1013Adams I ButtArgentina2025-07-29Chemel, James L Cpa UNQUALIFIED65Bernardo Dominic
1014Julie C BowleySpain2025-08-20Benton, John B Jr NEGOTIATION39Elwin Sharvill
1015Misaki J RoysterSpain2025-08-05Feltz Printing Service RENEWAL97Ivan Magalhaes
1016Cody H RutaFrance2025-07-31King, Christopher A Esq RENEWAL53Elwin Sharvill
1017Darci J SaylorsAustralia2025-08-12Chanay, Jeffrey A Esq QUALIFIED33Stephen Shaw
1018Izzy E SaylorsCanada2025-07-28Chanay, Jeffrey A Esq NEW76Xuxue Feng
1019Mayumi Y RimCanada2025-08-12Printing Dimensions PROPOSAL66Xuxue Feng
1020Smith S ChuiFrance2025-08-04Chapman, Ross E Esq UNQUALIFIED59Ioni Bowcher
1021Tony L VocelkaIndia2025-08-21Feltz Printing Service NEGOTIATION29Bernardo Dominic
1022Ricardo A AlbaresFrance2025-08-16Feiner Bros QUALIFIED5Ivan Magalhaes
1023Chavez C SaylorsCanada2025-08-19Feiner Bros PROPOSAL59Asiya Javayant
1024Maisha E MacleadArgentina2025-08-11Benton, John B Jr RENEWAL36Asiya Javayant
1025Faith S MorascaBrazil2025-08-07Rousseaux, Michael Esq PROPOSAL35Xuxue Feng
1026Ricardo U BowleyAustralia2025-08-10Truhlar And Truhlar Attys RENEWAL63Bernardo Dominic
1027Claire K WieserIndia2025-08-20Commercial Press PROPOSAL73Ivan Magalhaes
1028Isabel M SergiAustralia2025-08-10Chemel, James L Cpa PROPOSAL6Asiya Javayant
1029Claire C FerenczCanada2025-08-15Dorl, James J Esq QUALIFIED80Stephen Shaw
1030Darci Q FigeroaIndia2025-07-27Rousseaux, Michael Esq RENEWAL78Bernardo Dominic
1031Murillo W ButtGermany2025-08-03Truhlar And Truhlar Attys RENEWAL87Asiya Javayant
1032Alejandro T BriddickUnited Kingdom2025-08-19Chanay, Jeffrey A Esq QUALIFIED18Asiya Javayant
1033Isabel P AlbaresGermany2025-08-06Truhlar And Truhlar Attys RENEWAL19Ioni Bowcher
1034Antonio I FollerSpain2025-07-25Chapman, Ross E Esq RENEWAL97Asiya Javayant
1035Aditya H NickaRussia2025-08-14Rangoni Of Florence RENEWAL81Bernardo Dominic
1036Rodrigues F FigeroaItaly2025-07-28Dorl, James J Esq PROPOSAL63Ioni Bowcher
1037Chavez I ButtRussia2025-08-17Printing Dimensions RENEWAL50Anna Fali
1038Clifford N AmigonIndia2025-08-04Chapman, Ross E Esq RENEWAL2Asiya Javayant
1039Costa S PaprockiRussia2025-08-10Dorl, James J Esq NEGOTIATION58Amy Elsner
1040Chavez A BologniaRussia2025-08-17Buckley Miller Wright PROPOSAL42Elwin Sharvill
1041Ivar K NestleGermany2025-08-14Morlong Associates NEGOTIATION91Onyama Limba
1042Adams G NickaItaly2025-08-10Buckley Miller Wright NEGOTIATION59Anna Fali
1043Alejandro B FollerIndia2025-08-06Benton, John B Jr UNQUALIFIED37Bernardo Dominic
1044Darci U InouyeUnited Kingdom2025-08-02Truhlar And Truhlar Attys NEGOTIATION99Ioni Bowcher
1045Wickens Y PerinJapan2025-08-12Chemel, James L Cpa NEW57Xuxue Feng
1046Cody O AlbaresAustralia2025-08-11Feiner Bros QUALIFIED33Anna Fali
1047Jefferson R FollerArgentina2025-08-09Chemel, James L Cpa QUALIFIED84Amy Elsner
1048Francesco C DoeGermany2025-08-06Morlong Associates UNQUALIFIED97Bernardo Dominic
1049Misaki I FollerItaly2025-08-21Chanay, Jeffrey A Esq NEW40Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Misaki E RoysterIndiaAsiya Javayant RENEWAL
Maisha I CampainUnited KingdomAmy Elsner PROPOSAL
Jefferson M IturbideSpainAsiya Javayant QUALIFIED
Jones S DoeItalyAnna Fali QUALIFIED
James N FigeroaUnited KingdomXuxue Feng RENEWAL
Jeanfrancois O CaldareraJapanBernardo Dominic NEGOTIATION
Mayumi Y ShinkoFranceAsiya Javayant UNQUALIFIED
Greenwood W MorascaUnited KingdomAnna Fali QUALIFIED
Ivar C PoquetteAustraliaIoni Bowcher QUALIFIED
Juan A SergiAustraliaOnyama Limba NEGOTIATION
Leja F CampainAustraliaIoni Bowcher RENEWAL
Wickens K DilliardGermanyStephen Shaw RENEWAL
Kadeem F FigeroaArgentinaStephen Shaw UNQUALIFIED
Kadeem Q TollnerBrazilOnyama Limba RENEWAL
Johnson H BriddickRussiaIvan Magalhaes PROPOSAL
Munro X RoysterFranceAmy Elsner RENEWAL
Tony O ButtItalyAnna Fali QUALIFIED
Izzy B NickaJapanOnyama Limba NEW
Aika Z AmigonUnited KingdomAmy Elsner NEGOTIATION
Ashley L BowleyFranceXuxue Feng RENEWAL
Jones H AlbaresFranceAsiya Javayant NEGOTIATION
Ivar R BowleyUnited KingdomStephen Shaw NEGOTIATION
Tony O IturbideCanadaElwin Sharvill NEGOTIATION
Jefferson L BowleyBrazilXuxue Feng UNQUALIFIED
Stacey W FerenczCanadaXuxue Feng QUALIFIED
Murillo J SergiFranceElwin Sharvill NEGOTIATION
Costa X GillianJapanAmy Elsner NEGOTIATION
Stacey R FigeroaCanadaAnna Fali NEW
Aruna R KolmetzRussiaAnna Fali QUALIFIED
David D MaletGermanyBernardo Dominic PROPOSAL
Leon I GarufiGermanyIoni Bowcher QUALIFIED
Chavez R CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Greenwood R StockhamIndiaAnna Fali PROPOSAL
Mujtaba T VocelkaFranceStephen Shaw NEW
Ricardo I InouyeFranceAsiya Javayant NEW
Kadeem E SlusarskiJapanIoni Bowcher PROPOSAL
Wickens J PerinUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro B GarufiBrazilIoni Bowcher NEW
Antonio T CaldareraBrazilBernardo Dominic PROPOSAL
James F SlusarskiAustraliaElwin Sharvill PROPOSAL
Juan R GlickArgentinaIvan Magalhaes NEGOTIATION
Mayumi J PerinCanadaAsiya Javayant NEGOTIATION
Deepesh Q OldroydJapanStephen Shaw NEW
Nicolas Y CampainItalyStephen Shaw QUALIFIED
Tony R RulapaughAustraliaAsiya Javayant NEW
Stacey E SergiAustraliaIvan Magalhaes RENEWAL
Johnson S VocelkaJapanIoni Bowcher UNQUALIFIED
Mayumi G PerinJapanBernardo Dominic UNQUALIFIED
Ivar L WhobreyJapanAmy Elsner PROPOSAL
Leja U BriddickFranceBernardo Dominic PROPOSAL
Frozen Columns
Name
David K Waycott
David A Venere
Clifford X Iturbide
Maisha P Saylors
Stacey B Bolognia
Octavia M Oldroyd
Mujtaba L Glick
Cody C Vocelka
Kadeem P Amigon
Isabel P Bowley
Isabel H Glick
Mujtaba U Chui
Kaitlin L Ruta
Salvatore G Malet
Ashley Z Malet
Greenwood R Bowley
Francesco H Tollner
Deepesh S Saylors
Smith S Glick
Costa A Stenseth
Cody J Waycott
Greenwood G Wieser
Salvatore E Garufi
Octavia C Morasca
Misaki A Briddick
Tony J Garufi
Aika R Ostrosky
Costa C Stockham
Wickens B Shinko
Jennifer C Morasca
Misaki Z Foller
Deepesh E Caudy
Mayumi V Malet
Jennifer U Waycott
Aruna G Gillian
Adams T Dilliard
Jeanfrancois Z Waycott
David E Paprocki
Nicolas U Caudy
Tony W Gaucho
Smith S Caudy
Jefferson Q Kusko
Jefferson Z Butt
Smith Y Gillian
Emily H Wieser
Kadeem W Nestle
Stacey J Shinko
Octavia D Stenseth
Clifford Q Poquette
Maisha W Rim
IdCountryDate
1000Canada2025-08-07
1001Germany2025-07-26
1002India2025-08-14
1003United Kingdom2025-08-18
1004Japan2025-07-28
1005Japan2025-08-07
1006Canada2025-08-12
1007Australia2025-08-14
1008United Kingdom2025-08-06
1009Germany2025-07-30
1010Germany2025-08-07
1011Australia2025-08-09
1012Canada2025-08-03
1013Japan2025-08-03
1014Russia2025-08-12
1015India2025-08-21
1016Spain2025-08-15
1017United Kingdom2025-08-11
1018Japan2025-08-18
1019Germany2025-07-25
1020Germany2025-07-29
1021Germany2025-08-06
1022Germany2025-08-22
1023Australia2025-08-12
1024France2025-08-10
1025Russia2025-08-03
1026Brazil2025-08-08
1027Argentina2025-07-25
1028Germany2025-07-25
1029Germany2025-08-22
1030Russia2025-07-31
1031Brazil2025-08-04
1032Russia2025-08-21
1033Brazil2025-08-20
1034Italy2025-08-03
1035Australia2025-08-02
1036United Kingdom2025-08-09
1037Russia2025-08-15
1038Spain2025-08-11
1039Russia2025-08-03
1040Argentina2025-07-31
1041Canada2025-08-20
1042United Kingdom2025-08-01
1043Russia2025-08-13
1044Japan2025-08-16
1045Argentina2025-08-14
1046France2025-08-18
1047Brazil2025-08-04
1048United Kingdom2025-08-17
1049Italy2025-08-03

On-Demand Data

NameIdCountryDate
Leon H Royster1000Spain2025-08-20
Leja J Maclead1001Brazil2025-08-16
Silvio N Shinko1002Spain2025-08-06
Leja A Schemmer1003Canada2025-08-20
Octavia L Shinko1004Germany2025-07-26
Rodrigues T Rulapaugh1005Italy2025-08-10
Leon H Gaucho1006Brazil2025-08-21
Adams M Tollner1007Australia2025-08-07
Cody N Iturbide1008Brazil2025-08-11
Clifford B Maclead1009Italy2025-08-03
James Y Ferencz1010Spain2025-08-12
Rodrigues S Campain1011Russia2025-08-10
Chavez K Stockham1012United Kingdom2025-08-01
Juan G Gillian1013France2025-08-15
Sinclair V Nicka1014Japan2025-08-21
Kadeem F Campain1015Spain2025-08-19
Leon M Foller1016Brazil2025-08-01
Tony H Nicka1017Australia2025-08-13
Salvatore R Doe1018India2025-07-30
Aditya W Nicka1019Australia2025-08-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore K MacleadArgentinaStephen Shaw RENEWAL
Silvio J FollerGermanyIvan Magalhaes UNQUALIFIED
Kadeem J MaletUnited KingdomAnna Fali UNQUALIFIED
Izzy N CaldareraArgentinaAsiya Javayant QUALIFIED
Mayumi V MarrierRussiaAnna Fali UNQUALIFIED
Aruna Q WieserUnited KingdomAsiya Javayant RENEWAL
Adams J BowleyJapanIoni Bowcher PROPOSAL
Alejandro N FlosiCanadaElwin Sharvill NEGOTIATION
Emily R VocelkaItalyAnna Fali RENEWAL
Silvio S AlbaresGermanyAnna Fali NEW
Morrow C SaylorsCanadaIvan Magalhaes QUALIFIED
Silvio K AmigonItalyAnna Fali QUALIFIED
Ashley G NestleArgentinaStephen Shaw PROPOSAL
Jeanfrancois E MarrierCanadaIvan Magalhaes RENEWAL
Nicolas O StensethRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois N PerinFranceElwin Sharvill UNQUALIFIED
Isabel B BowleyArgentinaIvan Magalhaes RENEWAL
Costa W CaldareraBrazilAsiya Javayant PROPOSAL
Chavez N BologniaBrazilOnyama Limba PROPOSAL
Rodrigues I WhobreyJapanIoni Bowcher RENEWAL
Jennifer K MorascaRussiaAsiya Javayant NEGOTIATION
Emily Z RoysterSpainAnna Fali NEW
Misaki Y FigeroaGermanyIvan Magalhaes QUALIFIED
Wickens E GarufiRussiaElwin Sharvill QUALIFIED
Francesco B StockhamJapanAmy Elsner RENEWAL
Antonio J StockhamFranceIoni Bowcher RENEWAL
Jefferson P BowleyCanadaOnyama Limba NEW
Arvin Y SergiArgentinaIoni Bowcher NEW
Leon X GillianItalyAsiya Javayant QUALIFIED
Morrow U TollnerBrazilXuxue Feng QUALIFIED
Adams D FlosiArgentinaAmy Elsner QUALIFIED
Jones N WhobreyRussiaElwin Sharvill RENEWAL
Darci W ButtSpainAsiya Javayant RENEWAL
Emily G NickaCanadaStephen Shaw NEGOTIATION
Maisha A BologniaRussiaOnyama Limba UNQUALIFIED
Leon I GillianItalyAnna Fali RENEWAL
Deepesh O NickaAustraliaAmy Elsner PROPOSAL
Murillo P FerenczCanadaElwin Sharvill UNQUALIFIED
Nicolas W BologniaGermanyAsiya Javayant PROPOSAL
Izzy W SchemmerFranceAsiya Javayant UNQUALIFIED

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