November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Aruna U RutaUnited KingdomStephen Shaw NEGOTIATION
Leja T SchemmerGermanyAsiya Javayant RENEWAL
Rodrigues J AlbaresIndiaOnyama Limba PROPOSAL
Rodrigues Y GillianGermanyAsiya Javayant NEW
Jefferson U GauchoCanadaBernardo Dominic NEW
Maria S NestleFranceAnna Fali PROPOSAL
Jefferson P VenereCanadaIvan Magalhaes RENEWAL
Adams L RutaBrazilAnna Fali QUALIFIED
Ricardo N FerenczAustraliaBernardo Dominic NEGOTIATION
Julie D SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Stacey V MarrierUnited KingdomElwin Sharvill RENEWAL
Maria O MarrierCanadaStephen Shaw NEGOTIATION
Mayumi X CampainAustraliaOnyama Limba NEW
Nicolas U StensethIndiaAmy Elsner QUALIFIED
Munro B VocelkaRussiaStephen Shaw NEW
Julie V TollnerBrazilXuxue Feng QUALIFIED
Tony M StockhamGermanyAmy Elsner QUALIFIED
Misaki O GlickSpainStephen Shaw RENEWAL
Rodrigues X KuskoCanadaIvan Magalhaes QUALIFIED
Antonio Y AlbaresGermanyStephen Shaw NEGOTIATION
Ashley T ChuiRussiaBernardo Dominic NEW
Leon R SergiItalyStephen Shaw UNQUALIFIED
Darci X NestleBrazilAsiya Javayant UNQUALIFIED
Jeanfrancois R SaylorsFranceAsiya Javayant UNQUALIFIED
Deepesh C FlosiAustraliaIvan Magalhaes NEW
Antonio E BologniaBrazilIoni Bowcher UNQUALIFIED
Leja B VocelkaArgentinaIoni Bowcher NEGOTIATION
Claire U BowleyItalyIoni Bowcher RENEWAL
Smith X BriddickGermanyOnyama Limba UNQUALIFIED
Isabel J PerinJapanAnna Fali NEW
Emily D GauchoBrazilStephen Shaw PROPOSAL
Aika W OldroydFranceElwin Sharvill UNQUALIFIED
Deepesh F TollnerIndiaBernardo Dominic RENEWAL
Maria F FlosiIndiaXuxue Feng QUALIFIED
Jefferson K GillianGermanyAnna Fali RENEWAL
Chavez Z MaletCanadaAnna Fali NEW
Jennifer D NickaFranceElwin Sharvill PROPOSAL
Rodrigues Q GillianUnited KingdomIoni Bowcher QUALIFIED
Izzy L RulapaughUnited KingdomStephen Shaw NEGOTIATION
Claire Q CaudyAustraliaStephen Shaw RENEWAL
Nicolas H TollnerCanadaXuxue Feng NEGOTIATION
Munro R StockhamSpainStephen Shaw NEGOTIATION
Alejandro T FlosiGermanyStephen Shaw RENEWAL
Mujtaba E MaletArgentinaAmy Elsner NEGOTIATION
Antonio F KolmetzJapanAmy Elsner NEW
Morrow G FlosiItalyStephen Shaw RENEWAL
Kadeem Q BologniaFranceAmy Elsner UNQUALIFIED
Juan F AmigonIndiaAmy Elsner NEGOTIATION
Jones F AlbaresRussiaAsiya Javayant PROPOSAL
Clifford F BowleyRussiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Isabel D SergiRussiaAmy Elsner NEGOTIATION
Darci B StockhamSpainBernardo Dominic UNQUALIFIED
Rodrigues Q GlickItalyStephen Shaw RENEWAL
Faith A MaletCanadaIvan Magalhaes NEW
Salvatore M IturbideRussiaIvan Magalhaes RENEWAL
Maisha W FollerAustraliaAsiya Javayant NEGOTIATION
Murillo G SaylorsIndiaBernardo Dominic NEGOTIATION
Aditya Y ShinkoGermanyElwin Sharvill PROPOSAL
Clifford U FerenczArgentinaAmy Elsner PROPOSAL
Darci P AlbaresBrazilIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya L RoysterUnited Kingdom2026-10-26Rangoni Of Florence UNQUALIFIED51Ivan Magalhaes
1001Adams O IturbideItaly2026-10-24Benton, John B Jr NEW32Asiya Javayant
1002Clifford A InouyeItaly2026-10-15Commercial Press NEGOTIATION10Stephen Shaw
1003Izzy U TollnerIndia2026-10-12Chapman, Ross E Esq QUALIFIED34Elwin Sharvill
1004Greenwood R DarakjyAustralia2026-10-23Truhlar And Truhlar Attys RENEWAL25Ioni Bowcher
1005Jones R FigeroaFrance2026-10-09Morlong Associates PROPOSAL10Bernardo Dominic
1006Octavia K MacleadArgentina2026-10-01King, Christopher A Esq QUALIFIED94Ioni Bowcher
1007Nicolas F VenereSpain2026-10-13Chapman, Ross E Esq QUALIFIED53Bernardo Dominic
1008Ashley I GarufiGermany2026-10-20Feiner Bros NEGOTIATION52Anna Fali
1009Ashley U SlusarskiCanada2026-10-04Truhlar And Truhlar Attys RENEWAL64Amy Elsner
1010Deepesh M StensethGermany2026-10-26Commercial Press PROPOSAL84Asiya Javayant
1011Aika D KuskoJapan2026-10-08Truhlar And Truhlar Attys NEW52Bernardo Dominic
1012Mujtaba Q BologniaUnited Kingdom2026-10-21Chapman, Ross E Esq NEGOTIATION34Bernardo Dominic
1013Wickens X MarrierBrazil2026-10-17Rousseaux, Michael Esq UNQUALIFIED60Ivan Magalhaes
1014Adams Q BologniaAustralia2026-10-25Printing Dimensions NEGOTIATION94Stephen Shaw
1015Aika C NickaJapan2026-10-15Feiner Bros UNQUALIFIED48Amy Elsner
1016Wickens F MorascaAustralia2026-10-01Printing Dimensions NEW67Onyama Limba
1017Claire O MorascaRussia2026-10-22Rousseaux, Michael Esq QUALIFIED68Xuxue Feng
1018Clifford C BologniaGermany2026-10-20Truhlar And Truhlar Attys NEW65Onyama Limba
1019Isabel N OstroskyBrazil2026-10-23Feltz Printing Service NEGOTIATION58Elwin Sharvill
1020Juan P ChuiItaly2026-10-21Chanay, Jeffrey A Esq UNQUALIFIED35Elwin Sharvill
1021Octavia V SergiAustralia2026-10-14Chemel, James L Cpa RENEWAL84Xuxue Feng
1022Salvatore S ChuiJapan2026-10-28Chemel, James L Cpa QUALIFIED39Stephen Shaw
1023Julie U BriddickIndia2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED62Onyama Limba
1024Mujtaba B IturbideIndia2026-10-19Rangoni Of Florence QUALIFIED37Asiya Javayant
1025Kaitlin M StensethArgentina2026-10-25Commercial Press RENEWAL27Ivan Magalhaes
1026Aditya Z GarufiItaly2026-10-05Chapman, Ross E Esq UNQUALIFIED61Ivan Magalhaes
1027Antonio Y SlusarskiAustralia2026-10-08Chemel, James L Cpa NEW9Amy Elsner
1028Aditya S CaldareraItaly2026-10-21Benton, John B Jr PROPOSAL62Bernardo Dominic
1029Wickens O MacleadCanada2026-10-27Truhlar And Truhlar Attys NEGOTIATION13Ivan Magalhaes
1030Francesco B KuskoJapan2026-10-23Chapman, Ross E Esq UNQUALIFIED56Asiya Javayant
1031Arvin U MorascaUnited Kingdom2026-10-17Benton, John B Jr UNQUALIFIED33Elwin Sharvill
1032James L PaprockiJapan2026-10-13Feltz Printing Service NEGOTIATION96Stephen Shaw
1033Izzy V SaylorsFrance2026-10-12King, Christopher A Esq NEW10Anna Fali
1034Maisha I DoeArgentina2026-09-29Rousseaux, Michael Esq PROPOSAL8Xuxue Feng
1035Morrow Z OldroydArgentina2026-10-04Buckley Miller Wright NEW79Anna Fali
1036Clifford F MarrierJapan2026-09-30Benton, John B Jr NEGOTIATION50Onyama Limba
1037Alejandro W ButtArgentina2026-10-10Chemel, James L Cpa NEGOTIATION78Ioni Bowcher
1038Deepesh U InouyeFrance2026-10-11Feiner Bros UNQUALIFIED20Asiya Javayant
1039Rodrigues H RoysterUnited Kingdom2026-10-08Truhlar And Truhlar Attys QUALIFIED76Anna Fali
1040Adams N MorascaJapan2026-10-13Printing Dimensions NEW41Asiya Javayant
1041Isabel T GillianSpain2026-10-18Chanay, Jeffrey A Esq PROPOSAL33Asiya Javayant
1042Alejandro U BologniaFrance2026-10-07Printing Dimensions UNQUALIFIED99Elwin Sharvill
1043Salvatore T FerenczGermany2026-09-30Dorl, James J Esq NEGOTIATION68Onyama Limba
1044Emily S PerinItaly2026-10-09Dorl, James J Esq QUALIFIED13Onyama Limba
1045Chavez B AlbaresGermany2026-10-15Commercial Press UNQUALIFIED7Bernardo Dominic
1046Rodrigues G VocelkaJapan2026-10-13Truhlar And Truhlar Attys NEW79Ioni Bowcher
1047Leja W GlickFrance2026-10-22Truhlar And Truhlar Attys UNQUALIFIED41Onyama Limba
1048Stacey O ShinkoAustralia2026-10-01Chemel, James L Cpa PROPOSAL60Bernardo Dominic
1049Maria E ChuiCanada2026-10-02Morlong Associates RENEWAL58Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo A ChuiRussiaElwin Sharvill PROPOSAL
Silvio G SchemmerIndiaStephen Shaw QUALIFIED
Cody M IturbideArgentinaXuxue Feng NEGOTIATION
Misaki K VocelkaIndiaAnna Fali NEGOTIATION
Adams G SchemmerSpainIvan Magalhaes NEGOTIATION
Faith Y RulapaughBrazilXuxue Feng UNQUALIFIED
Faith P SaylorsFranceIoni Bowcher NEW
James N AlbaresSpainAnna Fali RENEWAL
Julie A WieserRussiaAmy Elsner PROPOSAL
James H KolmetzGermanyAmy Elsner RENEWAL
Mujtaba T OldroydCanadaOnyama Limba PROPOSAL
Chavez H AmigonUnited KingdomStephen Shaw UNQUALIFIED
Jefferson H BriddickAustraliaBernardo Dominic PROPOSAL
Costa W CampainSpainAmy Elsner NEGOTIATION
Morrow E VocelkaCanadaStephen Shaw NEGOTIATION
Mayumi I OstroskySpainAsiya Javayant UNQUALIFIED
Nicolas M VenereGermanyAsiya Javayant RENEWAL
Stacey S BologniaFranceIoni Bowcher NEGOTIATION
Kaitlin R MaletSpainXuxue Feng NEW
Arvin W GlickSpainElwin Sharvill QUALIFIED
Maria J MacleadSpainStephen Shaw QUALIFIED
Leja R RulapaughAustraliaStephen Shaw QUALIFIED
Jones I GillianRussiaOnyama Limba NEGOTIATION
Costa V WhobreyGermanyStephen Shaw RENEWAL
Murillo K RutaIndiaIvan Magalhaes UNQUALIFIED
Kadeem V AmigonCanadaBernardo Dominic RENEWAL
Kaitlin T CampainUnited KingdomOnyama Limba PROPOSAL
Juan M FollerItalyElwin Sharvill UNQUALIFIED
Aruna W BriddickArgentinaAsiya Javayant NEGOTIATION
Misaki Z RulapaughBrazilIvan Magalhaes QUALIFIED
Octavia W CaudyJapanAnna Fali RENEWAL
Misaki U SergiCanadaElwin Sharvill PROPOSAL
Leon I SlusarskiArgentinaAsiya Javayant RENEWAL
Faith M IturbideRussiaAmy Elsner UNQUALIFIED
Nicolas Q ShinkoArgentinaIvan Magalhaes PROPOSAL
Silvio X MorascaArgentinaOnyama Limba PROPOSAL
Salvatore A BriddickUnited KingdomElwin Sharvill NEGOTIATION
Smith Q WhobreyArgentinaBernardo Dominic PROPOSAL
Ashley K KuskoAustraliaAnna Fali PROPOSAL
Greenwood E DoeItalyOnyama Limba QUALIFIED
Alejandro E RimCanadaOnyama Limba NEW
Antonio F SlusarskiSpainXuxue Feng UNQUALIFIED
Aditya C PerinSpainBernardo Dominic RENEWAL
Greenwood Y BologniaFranceStephen Shaw QUALIFIED
Murillo Q BriddickSpainOnyama Limba UNQUALIFIED
Leon A AlbaresRussiaXuxue Feng PROPOSAL
Ashley Z SchemmerIndiaAmy Elsner PROPOSAL
Faith P BriddickBrazilAnna Fali NEGOTIATION
Maria F RulapaughSpainOnyama Limba UNQUALIFIED
Misaki K KuskoCanadaIvan Magalhaes RENEWAL
Frozen Columns
Name
Arvin V Vocelka
Munro M Foller
Adams O Ferencz
Jeanfrancois G Tollner
Jennifer F Oldroyd
Deepesh N Ruta
Ricardo L Bolognia
Sinclair C Poquette
Francesco S Inouye
Jennifer T Rulapaugh
Nicolas F Nestle
Tony M Slusarski
Jennifer T Venere
Misaki I Malet
Wickens O Briddick
Wickens I Whobrey
Isabel H Darakjy
Isabel E Marrier
Ivar W Oldroyd
Jones O Glick
Jennifer Z Kusko
Silvio X Bowley
Ivar P Morasca
Leja G Doe
Ivar L Nicka
Octavia Y Venere
David N Glick
Leja L Poquette
Francesco A Royster
Munro Z Marrier
Kaitlin L Perin
Maria C Nestle
Mujtaba Z Caldarera
Costa L Maclead
Mayumi F Inouye
Adams Q Oldroyd
Mujtaba L Royster
Isabel S Ruta
Juan G Inouye
Smith M Garufi
Wickens C Stockham
Julie U Perin
Deepesh O Inouye
Ricardo W Briddick
Wickens L Amigon
Sinclair C Briddick
Kaitlin O Perin
Octavia K Caudy
Smith W Campain
Munro L Gaucho
IdCountryDate
1000Argentina2026-10-02
1001Japan2026-10-15
1002Brazil2026-10-14
1003United Kingdom2026-10-10
1004Canada2026-10-16
1005Australia2026-10-21
1006India2026-10-18
1007France2026-10-06
1008United Kingdom2026-10-05
1009Russia2026-10-20
1010India2026-10-27
1011Brazil2026-10-12
1012Brazil2026-09-30
1013Argentina2026-10-10
1014Brazil2026-10-13
1015Brazil2026-10-05
1016Canada2026-10-01
1017Australia2026-10-14
1018Italy2026-09-30
1019Canada2026-10-04
1020Spain2026-10-25
1021India2026-10-14
1022Australia2026-10-27
1023Italy2026-10-17
1024India2026-10-03
1025Japan2026-10-01
1026Italy2026-10-09
1027Germany2026-10-26
1028Russia2026-10-24
1029Japan2026-10-16
1030Germany2026-10-16
1031Australia2026-10-25
1032Argentina2026-10-10
1033United Kingdom2026-10-07
1034United Kingdom2026-10-21
1035United Kingdom2026-10-03
1036Italy2026-10-07
1037India2026-09-29
1038Australia2026-10-12
1039Argentina2026-10-01
1040Japan2026-10-01
1041Russia2026-10-10
1042Italy2026-10-17
1043Japan2026-10-08
1044Japan2026-10-22
1045Spain2026-10-24
1046Japan2026-10-23
1047United Kingdom2026-10-26
1048Spain2026-10-02
1049France2026-10-02

On-Demand Data

NameIdCountryDate
David I Glick1000Argentina2026-10-11
Cody C Chui1001Australia2026-10-13
James C Caudy1002Japan2026-10-10
Cody P Bowley1003India2026-10-03
Mujtaba Z Kolmetz1004Argentina2026-10-12
Kadeem T Amigon1005Argentina2026-10-08
Maria F Ruta1006Spain2026-10-24
Izzy N Iturbide1007India2026-10-25
Cody F Oldroyd1008France2026-10-13
Aditya G Marrier1009India2026-10-16
Aruna D Marrier1010Japan2026-10-24
Wickens G Iturbide1011Argentina2026-10-11
Julie J Ostrosky1012Germany2026-10-05
Izzy V Gillian1013France2026-09-29
Jennifer X Ruta1014United Kingdom2026-10-22
Stacey H Caldarera1015Australia2026-10-05
Wickens X Marrier1016Japan2026-10-03
Ivar F Vocelka1017Italy2026-10-01
Kaitlin Y Doe1018Spain2026-10-03
Jones G Rim1019France2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan O CampainJapanAsiya Javayant NEW
Wickens C WieserItalyIoni Bowcher NEW
Maisha R MacleadJapanOnyama Limba UNQUALIFIED
Maisha D NestleUnited KingdomBernardo Dominic QUALIFIED
Cody I KolmetzFranceAnna Fali NEGOTIATION
Jennifer H DilliardFranceElwin Sharvill UNQUALIFIED
Cody T KolmetzArgentinaXuxue Feng QUALIFIED
Misaki K SergiArgentinaIvan Magalhaes NEW
Aruna I StensethCanadaStephen Shaw QUALIFIED
Isabel X PoquetteIndiaBernardo Dominic PROPOSAL
Jefferson U SergiBrazilIvan Magalhaes NEW
Rodrigues X NestleRussiaStephen Shaw QUALIFIED
Ivar V CaudyArgentinaElwin Sharvill UNQUALIFIED
Octavia R FigeroaArgentinaAmy Elsner NEGOTIATION
Kaitlin O MaletIndiaStephen Shaw UNQUALIFIED
Jennifer I DilliardAustraliaOnyama Limba QUALIFIED
Leja X StensethBrazilXuxue Feng NEW
Clifford P BowleyGermanyXuxue Feng QUALIFIED
Stacey K AlbaresJapanAsiya Javayant NEGOTIATION
Aruna K ButtUnited KingdomBernardo Dominic UNQUALIFIED
Octavia N DarakjySpainOnyama Limba PROPOSAL
Murillo T GarufiAustraliaIoni Bowcher RENEWAL
Emily Y CaldareraBrazilIoni Bowcher NEGOTIATION
Mujtaba J CaudySpainAsiya Javayant RENEWAL
Wickens Q AlbaresRussiaAmy Elsner RENEWAL
Octavia V CaudyCanadaElwin Sharvill RENEWAL
Silvio I DoeGermanyXuxue Feng NEW
Misaki Y BologniaSpainAmy Elsner QUALIFIED
Adams P NickaSpainIvan Magalhaes NEGOTIATION
Antonio I ChuiJapanXuxue Feng NEW
Nicolas N PerinFranceAmy Elsner RENEWAL
Leja F MorascaBrazilBernardo Dominic RENEWAL
Wickens J ButtRussiaIvan Magalhaes QUALIFIED
Smith G IturbideCanadaAnna Fali RENEWAL
Ivar B GauchoArgentinaIoni Bowcher NEGOTIATION
Ashley J PerinItalyElwin Sharvill NEGOTIATION
Antonio V GauchoFranceStephen Shaw QUALIFIED
Nicolas E SaylorsItalyOnyama Limba QUALIFIED
Octavia E BologniaJapanIvan Magalhaes QUALIFIED
Arvin M MorascaFranceIvan Magalhaes 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>