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
Misaki J TollnerIndiaAmy Elsner NEGOTIATION
Deepesh N GlickRussiaXuxue Feng NEGOTIATION
Misaki E GlickUnited KingdomOnyama Limba NEW
Silvio V WieserIndiaElwin Sharvill QUALIFIED
Cody X SchemmerItalyAsiya Javayant PROPOSAL
Ricardo H ChuiBrazilStephen Shaw NEGOTIATION
Juan Q WaycottArgentinaIvan Magalhaes UNQUALIFIED
Isabel D PerinRussiaAmy Elsner RENEWAL
Clifford Y ButtAustraliaOnyama Limba NEGOTIATION
Claire Q DoeArgentinaIvan Magalhaes UNQUALIFIED
Mayumi H TollnerIndiaStephen Shaw NEGOTIATION
Mujtaba K InouyeFranceAsiya Javayant NEGOTIATION
Leon Y VenereAustraliaAnna Fali UNQUALIFIED
Aditya N CaldareraBrazilStephen Shaw NEGOTIATION
Morrow L WieserItalyElwin Sharvill NEW
Clifford O RutaJapanAnna Fali NEGOTIATION
Mayumi M GauchoCanadaIvan Magalhaes NEW
David M GillianGermanyOnyama Limba NEGOTIATION
Octavia O MaletSpainOnyama Limba RENEWAL
Octavia J BowleyItalyStephen Shaw NEW
Greenwood J BologniaItalyIvan Magalhaes PROPOSAL
Misaki W MaletGermanyElwin Sharvill PROPOSAL
Jones A RoysterItalyBernardo Dominic UNQUALIFIED
David C MorascaItalyXuxue Feng QUALIFIED
Maria V MacleadCanadaOnyama Limba PROPOSAL
Julie J PerinJapanStephen Shaw PROPOSAL
Jennifer R IturbideRussiaStephen Shaw NEW
Jeanfrancois F KuskoJapanIoni Bowcher RENEWAL
Misaki C DoeGermanyIoni Bowcher PROPOSAL
Izzy J InouyeAustraliaAnna Fali PROPOSAL
Cody B VenereCanadaBernardo Dominic UNQUALIFIED
Kadeem Q FerenczItalyAnna Fali RENEWAL
James Z KolmetzRussiaAmy Elsner RENEWAL
Maisha M SaylorsSpainIoni Bowcher NEGOTIATION
Stacey U FerenczFranceIvan Magalhaes PROPOSAL
Smith Q MarrierBrazilIoni Bowcher PROPOSAL
Claire Z VocelkaGermanyOnyama Limba PROPOSAL
Stacey J BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Cody K RoysterRussiaElwin Sharvill PROPOSAL
Smith R AmigonAustraliaStephen Shaw PROPOSAL
Emily U NickaArgentinaBernardo Dominic UNQUALIFIED
Deepesh Q PoquetteRussiaXuxue Feng PROPOSAL
Maria A SergiJapanStephen Shaw NEGOTIATION
Salvatore V InouyeArgentinaIvan Magalhaes PROPOSAL
Mujtaba N BologniaIndiaIoni Bowcher RENEWAL
Emily N MorascaUnited KingdomXuxue Feng PROPOSAL
Kadeem L CaudyIndiaStephen Shaw QUALIFIED
David Q DilliardGermanyAnna Fali NEW
Stacey F PerinArgentinaAnna Fali QUALIFIED
David J ShinkoIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha T GauchoArgentinaAmy Elsner RENEWAL
Nicolas G NestleBrazilElwin Sharvill NEW
Chavez U GillianArgentinaStephen Shaw PROPOSAL
Cody M MacleadSpainStephen Shaw UNQUALIFIED
Clifford S GlickJapanIoni Bowcher PROPOSAL
Silvio P VocelkaItalyXuxue Feng QUALIFIED
Alejandro T VenereGermanyOnyama Limba QUALIFIED
Jones Z InouyeAustraliaAmy Elsner NEGOTIATION
Octavia P PaprockiAustraliaIvan Magalhaes NEW
Morrow B StockhamGermanyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson M DarakjyJapan2026-09-23Dorl, James J Esq PROPOSAL31Onyama Limba
1001Tony G DilliardCanada2026-09-12Rousseaux, Michael Esq UNQUALIFIED83Ivan Magalhaes
1002Smith S ShinkoUnited Kingdom2026-09-18Chemel, James L Cpa NEW1Bernardo Dominic
1003Claire K IturbideAustralia2026-09-22Rousseaux, Michael Esq QUALIFIED74Elwin Sharvill
1004Maria Y FollerAustralia2026-09-06Printing Dimensions NEGOTIATION59Xuxue Feng
1005Kadeem X MarrierFrance2026-09-21Printing Dimensions PROPOSAL38Amy Elsner
1006Francesco F IturbideSpain2026-09-09Rousseaux, Michael Esq QUALIFIED48Xuxue Feng
1007Faith K MorascaGermany2026-09-18Chemel, James L Cpa PROPOSAL41Ivan Magalhaes
1008Francesco S RutaCanada2026-09-08Chemel, James L Cpa RENEWAL26Ioni Bowcher
1009Ivar O TollnerBrazil2026-09-12Benton, John B Jr UNQUALIFIED91Ivan Magalhaes
1010Nicolas I CampainArgentina2026-09-11Printing Dimensions NEGOTIATION42Elwin Sharvill
1011Rodrigues A KolmetzUnited Kingdom2026-08-29Chanay, Jeffrey A Esq PROPOSAL14Ivan Magalhaes
1012Francesco K VenereBrazil2026-09-17Truhlar And Truhlar Attys QUALIFIED60Ivan Magalhaes
1013Wickens T CampainSpain2026-09-06Benton, John B Jr QUALIFIED85Asiya Javayant
1014Jones Z KolmetzRussia2026-09-13Commercial Press PROPOSAL2Bernardo Dominic
1015Costa A RimRussia2026-09-16Chanay, Jeffrey A Esq NEGOTIATION85Amy Elsner
1016Murillo L BologniaAustralia2026-08-31Printing Dimensions UNQUALIFIED26Bernardo Dominic
1017Misaki D WieserAustralia2026-09-05Buckley Miller Wright PROPOSAL85Ioni Bowcher
1018Misaki N FigeroaBrazil2026-09-21Dorl, James J Esq RENEWAL57Onyama Limba
1019Ivar D ChuiFrance2026-09-11Feiner Bros PROPOSAL21Ioni Bowcher
1020Mujtaba Q ButtFrance2026-09-08Commercial Press QUALIFIED93Asiya Javayant
1021Aika L OstroskyAustralia2026-08-30Dorl, James J Esq NEGOTIATION44Anna Fali
1022Darci Z GauchoUnited Kingdom2026-09-26Chapman, Ross E Esq NEGOTIATION81Onyama Limba
1023Adams U RoysterCanada2026-09-22Chanay, Jeffrey A Esq UNQUALIFIED64Ioni Bowcher
1024Munro F BriddickCanada2026-09-20Chapman, Ross E Esq RENEWAL19Amy Elsner
1025Munro Q NestleJapan2026-09-26Truhlar And Truhlar Attys QUALIFIED35Asiya Javayant
1026Darci E PaprockiAustralia2026-08-28Printing Dimensions QUALIFIED95Xuxue Feng
1027Costa Y NestleIndia2026-09-18Rousseaux, Michael Esq NEW79Bernardo Dominic
1028Aruna I AlbaresJapan2026-09-21Printing Dimensions RENEWAL44Ioni Bowcher
1029Francesco W RimSpain2026-08-29Feiner Bros QUALIFIED58Stephen Shaw
1030Leon K InouyeUnited Kingdom2026-09-22Benton, John B Jr NEW77Asiya Javayant
1031Murillo Q SergiJapan2026-09-23Benton, John B Jr NEGOTIATION7Amy Elsner
1032Munro Z DilliardSpain2026-09-14Feiner Bros UNQUALIFIED8Asiya Javayant
1033Izzy Z PoquetteBrazil2026-09-16Printing Dimensions PROPOSAL64Stephen Shaw
1034Maria M MacleadSpain2026-09-13Rousseaux, Michael Esq UNQUALIFIED11Bernardo Dominic
1035Ricardo G FigeroaItaly2026-08-30Rousseaux, Michael Esq NEGOTIATION58Xuxue Feng
1036Maisha Z BowleySpain2026-09-14Morlong Associates PROPOSAL22Xuxue Feng
1037Claire F MaletFrance2026-09-26Rousseaux, Michael Esq UNQUALIFIED29Elwin Sharvill
1038Claire O RulapaughSpain2026-08-31Printing Dimensions NEGOTIATION45Amy Elsner
1039Faith H StensethJapan2026-09-12Truhlar And Truhlar Attys PROPOSAL48Asiya Javayant
1040Sinclair Q RulapaughRussia2026-09-18Printing Dimensions NEW65Bernardo Dominic
1041Francesco C GillianBrazil2026-09-20Truhlar And Truhlar Attys RENEWAL93Asiya Javayant
1042Juan V MaletIndia2026-09-14Dorl, James J Esq NEW20Xuxue Feng
1043Sinclair T SchemmerFrance2026-09-04Rousseaux, Michael Esq PROPOSAL21Anna Fali
1044Kadeem Z SlusarskiJapan2026-09-22Buckley Miller Wright UNQUALIFIED62Ivan Magalhaes
1045Rodrigues T ButtUnited Kingdom2026-09-10Dorl, James J Esq RENEWAL38Ivan Magalhaes
1046Jones U WieserBrazil2026-09-14Chemel, James L Cpa UNQUALIFIED77Xuxue Feng
1047Mayumi E BriddickCanada2026-09-17Benton, John B Jr PROPOSAL74Amy Elsner
1048Misaki L CampainFrance2026-09-11Feiner Bros NEW10Asiya Javayant
1049Salvatore A KuskoRussia2026-09-16Rousseaux, Michael Esq NEGOTIATION79Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Isabel L InouyeCanadaIoni Bowcher NEW
Silvio T MacleadBrazilAnna Fali UNQUALIFIED
Jennifer V FollerRussiaIoni Bowcher RENEWAL
Emily S BriddickUnited KingdomAsiya Javayant NEW
Stacey F RimIndiaStephen Shaw QUALIFIED
Emily C ShinkoSpainOnyama Limba PROPOSAL
Costa S BowleyUnited KingdomXuxue Feng NEW
Leja X PaprockiFranceXuxue Feng QUALIFIED
Costa T ButtUnited KingdomElwin Sharvill PROPOSAL
Kaitlin E PaprockiItalyOnyama Limba RENEWAL
Ricardo O StensethFranceXuxue Feng UNQUALIFIED
Jefferson D NickaGermanyAnna Fali UNQUALIFIED
Julie N KuskoSpainIoni Bowcher RENEWAL
Alejandro M GauchoRussiaAnna Fali NEGOTIATION
Jones F DilliardBrazilAsiya Javayant QUALIFIED
Greenwood F ShinkoBrazilStephen Shaw QUALIFIED
Ashley Q DilliardJapanIvan Magalhaes NEW
Mayumi L FigeroaCanadaStephen Shaw RENEWAL
Maisha C RimAustraliaIvan Magalhaes UNQUALIFIED
Costa G MaletIndiaIvan Magalhaes NEGOTIATION
Johnson O VocelkaRussiaStephen Shaw QUALIFIED
Jefferson M ButtBrazilAmy Elsner PROPOSAL
Stacey H CampainItalyOnyama Limba NEW
Deepesh X VocelkaCanadaStephen Shaw PROPOSAL
Alejandro E KuskoJapanElwin Sharvill RENEWAL
Isabel K VocelkaBrazilStephen Shaw RENEWAL
Smith I IturbideSpainIoni Bowcher PROPOSAL
Jones G ButtIndiaStephen Shaw PROPOSAL
Jeanfrancois Y AmigonSpainAmy Elsner PROPOSAL
Misaki Q DoeFranceAnna Fali UNQUALIFIED
Izzy L NestleFranceAnna Fali QUALIFIED
Maria N FlosiJapanAnna Fali QUALIFIED
Faith O RoysterAustraliaIoni Bowcher UNQUALIFIED
Faith R RulapaughUnited KingdomXuxue Feng PROPOSAL
Stacey O ShinkoUnited KingdomStephen Shaw PROPOSAL
Salvatore A SlusarskiItalyXuxue Feng NEGOTIATION
Aditya C IturbideSpainXuxue Feng PROPOSAL
Leja U GillianAustraliaStephen Shaw RENEWAL
Aika S SergiGermanyOnyama Limba PROPOSAL
Munro M ChuiRussiaAnna Fali PROPOSAL
Mayumi H GarufiIndiaIvan Magalhaes UNQUALIFIED
Salvatore R TollnerArgentinaAsiya Javayant NEGOTIATION
Tony V VenereUnited KingdomAmy Elsner UNQUALIFIED
Julie H CaldareraSpainIoni Bowcher NEW
Smith I RutaFranceAnna Fali UNQUALIFIED
Stacey T CaldareraCanadaAmy Elsner QUALIFIED
Izzy K SaylorsRussiaAsiya Javayant NEGOTIATION
Francesco B AlbaresCanadaBernardo Dominic QUALIFIED
Jennifer A PoquetteItalyAmy Elsner UNQUALIFIED
Jennifer G CaudyArgentinaIoni Bowcher PROPOSAL
Frozen Columns
Name
Tony P Vocelka
Izzy X Garufi
Francesco F Darakjy
Claire Y Caldarera
Murillo P Garufi
Chavez Z Dilliard
Clifford R Wieser
Morrow U Slusarski
Johnson S Flosi
Jeanfrancois W Nicka
Francesco I Paprocki
Octavia I Rim
Stacey R Whobrey
Salvatore F Nicka
Johnson D Morasca
Alejandro L Briddick
Antonio N Nicka
Aruna E Venere
Isabel E Amigon
Johnson X Poquette
Ashley A Morasca
Ricardo Z Waycott
David A Ostrosky
Jones D Campain
Morrow I Briddick
Claire T Bowley
Kadeem Y Paprocki
Johnson A Chui
Deepesh J Foller
Jones J Gillian
Faith W Schemmer
Morrow R Glick
Faith I Dilliard
Tony S Inouye
Aditya Y Inouye
Jefferson S Amigon
Ashley S Whobrey
James B Royster
Ivar Q Maclead
Sinclair N Albares
Ricardo X Royster
Izzy D Nicka
Isabel C Oldroyd
Costa S Dilliard
Misaki G Perin
Misaki N Whobrey
Juan J Stenseth
Emily L Foller
Jefferson T Tollner
Rodrigues O Albares
IdCountryDate
1000Japan2026-09-08
1001Spain2026-09-04
1002France2026-09-11
1003United Kingdom2026-09-13
1004India2026-09-12
1005Argentina2026-09-03
1006Germany2026-09-10
1007Brazil2026-09-24
1008Spain2026-09-16
1009India2026-09-23
1010United Kingdom2026-09-01
1011United Kingdom2026-08-31
1012Germany2026-09-02
1013Argentina2026-09-21
1014Argentina2026-09-02
1015France2026-09-07
1016India2026-08-30
1017France2026-09-02
1018India2026-09-17
1019France2026-08-28
1020Argentina2026-09-14
1021Spain2026-09-18
1022United Kingdom2026-09-10
1023France2026-09-05
1024Russia2026-09-06
1025Spain2026-09-10
1026India2026-08-30
1027Brazil2026-09-12
1028India2026-08-29
1029France2026-08-31
1030Japan2026-08-31
1031Russia2026-08-31
1032United Kingdom2026-09-26
1033Germany2026-09-20
1034India2026-09-11
1035Brazil2026-09-09
1036Spain2026-09-01
1037Russia2026-09-08
1038Italy2026-09-10
1039Japan2026-09-17
1040Italy2026-09-01
1041France2026-09-22
1042Germany2026-09-06
1043India2026-09-13
1044France2026-09-16
1045Germany2026-09-11
1046Australia2026-09-08
1047Germany2026-08-31
1048Canada2026-09-10
1049Australia2026-09-20

On-Demand Data

NameIdCountryDate
Aika P Ruta1000Argentina2026-09-12
Faith F Venere1001United Kingdom2026-09-20
Leon H Gillian1002United Kingdom2026-09-09
Leja I Butt1003United Kingdom2026-09-06
James Q Gillian1004India2026-08-29
Mujtaba E Chui1005Spain2026-09-07
David P Caldarera1006Canada2026-09-02
Mujtaba K Morasca1007Brazil2026-09-01
Clifford H Sergi1008Russia2026-08-31
Stacey A Ostrosky1009Argentina2026-09-12
Francesco F Inouye1010Spain2026-09-02
Chavez Y Iturbide1011France2026-08-30
Francesco I Foller1012Spain2026-09-07
Julie M Caudy1013Canada2026-09-23
Arvin G Albares1014Germany2026-09-06
Jefferson E Tollner1015Italy2026-09-24
Leja D Foller1016Argentina2026-09-21
Johnson M Morasca1017Argentina2026-09-20
Wickens W Morasca1018Japan2026-09-12
Francesco E Briddick1019Brazil2026-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci L NestleRussiaBernardo Dominic PROPOSAL
Rodrigues O MorascaItalyXuxue Feng QUALIFIED
Faith A SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Faith G BriddickCanadaOnyama Limba QUALIFIED
Mujtaba Z MaletFranceIoni Bowcher UNQUALIFIED
Isabel G TollnerSpainAnna Fali UNQUALIFIED
Wickens O KuskoRussiaXuxue Feng NEW
Wickens S TollnerIndiaAmy Elsner RENEWAL
Morrow V MorascaJapanAsiya Javayant NEW
Izzy U MacleadRussiaAnna Fali UNQUALIFIED
Octavia Y CampainRussiaAmy Elsner RENEWAL
Silvio U SergiItalyIoni Bowcher UNQUALIFIED
Aditya E TollnerIndiaElwin Sharvill PROPOSAL
Jeanfrancois M MaletCanadaIoni Bowcher QUALIFIED
James L RulapaughFranceBernardo Dominic NEGOTIATION
Mujtaba H TollnerArgentinaIoni Bowcher PROPOSAL
Ricardo P FollerGermanyAmy Elsner RENEWAL
Kaitlin E KolmetzUnited KingdomXuxue Feng NEGOTIATION
Deepesh H TollnerCanadaAnna Fali NEGOTIATION
Arvin D InouyeUnited KingdomAnna Fali UNQUALIFIED
Mujtaba Y MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Darci S ChuiAustraliaAmy Elsner QUALIFIED
Wickens V MaletIndiaAsiya Javayant RENEWAL
Julie A DilliardCanadaXuxue Feng UNQUALIFIED
Nicolas M MorascaIndiaIvan Magalhaes PROPOSAL
Ricardo M VenereSpainIvan Magalhaes PROPOSAL
Julie Z FollerArgentinaBernardo Dominic RENEWAL
Jennifer V VenereUnited KingdomOnyama Limba QUALIFIED
Faith W InouyeUnited KingdomIoni Bowcher RENEWAL
Smith A GarufiBrazilOnyama Limba PROPOSAL
Costa L FerenczGermanyBernardo Dominic NEW
Wickens N RutaCanadaXuxue Feng NEGOTIATION
Ivar C BowleyUnited KingdomXuxue Feng PROPOSAL
Wickens U MarrierUnited KingdomElwin Sharvill QUALIFIED
Ricardo A AmigonArgentinaAsiya Javayant NEGOTIATION
Salvatore J PoquetteRussiaIvan Magalhaes QUALIFIED
Wickens W MarrierCanadaAmy Elsner NEW
Kadeem L FerenczItalyElwin Sharvill RENEWAL
Aika K ShinkoUnited KingdomOnyama Limba QUALIFIED
Munro Q KolmetzFranceIoni Bowcher 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>