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
Arvin W RulapaughCanadaIvan Magalhaes NEGOTIATION
Octavia F RimGermanyElwin Sharvill NEW
Stacey A IturbideGermanyAmy Elsner NEGOTIATION
Isabel I FerenczIndiaIoni Bowcher PROPOSAL
Ivar Z PaprockiGermanyAnna Fali QUALIFIED
Jefferson K AlbaresArgentinaBernardo Dominic QUALIFIED
Izzy N StensethCanadaAmy Elsner PROPOSAL
Cody X FlosiUnited KingdomAnna Fali UNQUALIFIED
Misaki N OstroskyArgentinaElwin Sharvill QUALIFIED
Munro C DarakjyUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro J GarufiItalyBernardo Dominic NEGOTIATION
Cody J AmigonJapanAmy Elsner RENEWAL
Ricardo Q PaprockiAustraliaIoni Bowcher UNQUALIFIED
Mujtaba X IturbideRussiaAmy Elsner PROPOSAL
Jones K BriddickBrazilBernardo Dominic PROPOSAL
Antonio L PaprockiUnited KingdomIoni Bowcher NEW
Izzy P SaylorsGermanyAnna Fali UNQUALIFIED
Julie C RutaItalyIoni Bowcher NEGOTIATION
James S PaprockiUnited KingdomAsiya Javayant PROPOSAL
Kaitlin J WieserSpainIvan Magalhaes RENEWAL
Alejandro G OldroydSpainBernardo Dominic NEGOTIATION
Mujtaba V BologniaGermanyIoni Bowcher RENEWAL
Jones F RutaJapanElwin Sharvill QUALIFIED
Antonio F RoysterIndiaBernardo Dominic UNQUALIFIED
Alejandro U DarakjyFranceAsiya Javayant UNQUALIFIED
Darci Z IturbideGermanyAnna Fali UNQUALIFIED
Leon F AlbaresArgentinaOnyama Limba NEGOTIATION
Tony E VocelkaIndiaAmy Elsner UNQUALIFIED
Murillo C GarufiCanadaBernardo Dominic NEGOTIATION
Clifford T AmigonFranceBernardo Dominic PROPOSAL
Faith Q GarufiArgentinaAnna Fali NEGOTIATION
Nicolas S GauchoRussiaIoni Bowcher PROPOSAL
Ashley Q SaylorsIndiaOnyama Limba UNQUALIFIED
Maisha X CaudyRussiaAnna Fali UNQUALIFIED
Murillo R MaletFranceXuxue Feng NEGOTIATION
Costa I KuskoUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois O CampainCanadaIoni Bowcher RENEWAL
Smith V ShinkoIndiaStephen Shaw NEGOTIATION
Maisha H SergiCanadaXuxue Feng RENEWAL
Ashley E RutaSpainBernardo Dominic NEGOTIATION
Aruna F VenereJapanXuxue Feng RENEWAL
Faith Q DarakjyRussiaOnyama Limba UNQUALIFIED
Munro E ShinkoFranceStephen Shaw QUALIFIED
Adams O CaudyGermanyStephen Shaw NEGOTIATION
Maria W StensethItalyElwin Sharvill UNQUALIFIED
Alejandro X BologniaUnited KingdomAnna Fali UNQUALIFIED
Antonio D ShinkoJapanOnyama Limba RENEWAL
Ivar X ButtBrazilAnna Fali NEW
James Z CampainArgentinaElwin Sharvill UNQUALIFIED
Sinclair O GillianGermanyAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel O GarufiFranceAsiya Javayant NEGOTIATION
Smith S GillianGermanyBernardo Dominic PROPOSAL
Jeanfrancois D DilliardItalyXuxue Feng RENEWAL
Smith S DoeCanadaElwin Sharvill NEGOTIATION
Arvin H SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Sinclair F PoquetteIndiaIvan Magalhaes UNQUALIFIED
Salvatore G NestleItalyXuxue Feng RENEWAL
Jeanfrancois U BologniaRussiaIoni Bowcher QUALIFIED
Aditya I AmigonItalyBernardo Dominic PROPOSAL
Tony G WieserAustraliaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika K WhobreyGermany2026-09-17Benton, John B Jr RENEWAL28Amy Elsner
1001Kaitlin U CaudyItaly2026-09-13Commercial Press PROPOSAL83Amy Elsner
1002Murillo U ButtFrance2026-10-02Benton, John B Jr QUALIFIED3Elwin Sharvill
1003Silvio E StockhamUnited Kingdom2026-10-08Benton, John B Jr RENEWAL4Amy Elsner
1004Octavia B RoysterItaly2026-09-22Morlong Associates NEW84Onyama Limba
1005Aika J IturbideJapan2026-10-07Chemel, James L Cpa UNQUALIFIED3Ioni Bowcher
1006Morrow G FerenczUnited Kingdom2026-09-28Rangoni Of Florence UNQUALIFIED81Asiya Javayant
1007Jones X NickaRussia2026-09-12Feiner Bros PROPOSAL48Anna Fali
1008Munro E AlbaresGermany2026-09-17Printing Dimensions NEW68Xuxue Feng
1009Jefferson F BologniaUnited Kingdom2026-09-18King, Christopher A Esq NEGOTIATION51Onyama Limba
1010Salvatore E KuskoIndia2026-10-06Truhlar And Truhlar Attys UNQUALIFIED16Bernardo Dominic
1011David F SlusarskiAustralia2026-09-20Chapman, Ross E Esq UNQUALIFIED47Ioni Bowcher
1012Ivar H MarrierIndia2026-09-28Chapman, Ross E Esq NEGOTIATION18Stephen Shaw
1013Julie H VocelkaIndia2026-10-06Printing Dimensions PROPOSAL93Bernardo Dominic
1014Wickens R MaletBrazil2026-10-11Chemel, James L Cpa NEW77Ivan Magalhaes
1015Deepesh Q BologniaCanada2026-10-02Morlong Associates QUALIFIED5Ioni Bowcher
1016Jones B FigeroaItaly2026-10-11King, Christopher A Esq NEW3Onyama Limba
1017Kaitlin J DilliardUnited Kingdom2026-10-07Buckley Miller Wright NEGOTIATION68Elwin Sharvill
1018Jones V DilliardBrazil2026-09-29King, Christopher A Esq RENEWAL63Ivan Magalhaes
1019Kaitlin Y StensethItaly2026-09-12Truhlar And Truhlar Attys UNQUALIFIED81Asiya Javayant
1020Mayumi K OldroydArgentina2026-10-03Rousseaux, Michael Esq UNQUALIFIED92Ivan Magalhaes
1021Silvio G OldroydIndia2026-09-16Morlong Associates NEW63Xuxue Feng
1022Izzy H ButtItaly2026-09-27Chapman, Ross E Esq QUALIFIED53Ivan Magalhaes
1023Aruna V GillianCanada2026-09-17King, Christopher A Esq NEGOTIATION22Ivan Magalhaes
1024Ricardo L WaycottBrazil2026-09-27King, Christopher A Esq RENEWAL48Ivan Magalhaes
1025Sinclair P GlickGermany2026-10-03Truhlar And Truhlar Attys RENEWAL29Xuxue Feng
1026Faith A IturbideJapan2026-09-27Feiner Bros NEW53Amy Elsner
1027Arvin K SlusarskiItaly2026-10-03Chapman, Ross E Esq PROPOSAL7Ioni Bowcher
1028Leon I CaudyBrazil2026-09-23Benton, John B Jr NEW18Stephen Shaw
1029Leon P FerenczJapan2026-10-01Buckley Miller Wright NEGOTIATION41Elwin Sharvill
1030Cody F TollnerCanada2026-09-18Rousseaux, Michael Esq RENEWAL95Ivan Magalhaes
1031Darci Z FlosiGermany2026-09-16Buckley Miller Wright QUALIFIED35Asiya Javayant
1032Chavez J GauchoBrazil2026-10-11Truhlar And Truhlar Attys NEW4Elwin Sharvill
1033Arvin A CaldareraItaly2026-09-30Feiner Bros PROPOSAL19Onyama Limba
1034Izzy Q MaletIndia2026-09-12King, Christopher A Esq NEGOTIATION35Stephen Shaw
1035Aika T VenereFrance2026-09-20Feiner Bros NEW21Asiya Javayant
1036Aruna A FlosiItaly2026-10-05Printing Dimensions PROPOSAL20Ivan Magalhaes
1037Darci L SchemmerRussia2026-10-11Morlong Associates RENEWAL58Xuxue Feng
1038Kaitlin Q VocelkaGermany2026-10-01Printing Dimensions NEGOTIATION50Anna Fali
1039Jennifer V KolmetzGermany2026-09-27Feltz Printing Service QUALIFIED81Anna Fali
1040Julie Q StensethArgentina2026-10-01Buckley Miller Wright QUALIFIED6Asiya Javayant
1041Antonio Z MacleadAustralia2026-09-19Benton, John B Jr NEW44Anna Fali
1042Antonio G SchemmerItaly2026-09-28Truhlar And Truhlar Attys PROPOSAL87Xuxue Feng
1043Morrow Q StensethRussia2026-09-18Truhlar And Truhlar Attys RENEWAL54Asiya Javayant
1044Ashley Q PerinFrance2026-10-05Morlong Associates QUALIFIED41Ioni Bowcher
1045Julie J SchemmerJapan2026-10-06Feiner Bros NEW27Bernardo Dominic
1046Antonio H GillianGermany2026-09-29Truhlar And Truhlar Attys QUALIFIED97Xuxue Feng
1047Octavia F FigeroaSpain2026-10-06Buckley Miller Wright UNQUALIFIED39Anna Fali
1048Aruna B KolmetzRussia2026-10-02Feiner Bros UNQUALIFIED60Xuxue Feng
1049Smith L SlusarskiAustralia2026-10-02King, Christopher A Esq NEW33Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Murillo L MaletItalyStephen Shaw UNQUALIFIED
Arvin T RimGermanyStephen Shaw PROPOSAL
Jones B GarufiAustraliaIvan Magalhaes RENEWAL
Ashley U GlickBrazilOnyama Limba RENEWAL
Leja E OstroskyIndiaAsiya Javayant PROPOSAL
Silvio B MacleadSpainIvan Magalhaes QUALIFIED
Alejandro J RimIndiaElwin Sharvill NEW
James U RimUnited KingdomElwin Sharvill QUALIFIED
Costa H ShinkoSpainBernardo Dominic PROPOSAL
Nicolas Y RutaRussiaAmy Elsner NEGOTIATION
Johnson W IturbideItalyXuxue Feng QUALIFIED
Deepesh W ShinkoItalyAsiya Javayant NEGOTIATION
Jeanfrancois C PaprockiBrazilOnyama Limba UNQUALIFIED
Octavia R PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Smith T WieserAustraliaStephen Shaw RENEWAL
Sinclair P DoeSpainIvan Magalhaes NEW
Aruna B GillianRussiaXuxue Feng RENEWAL
Costa X FlosiFranceAmy Elsner RENEWAL
Maisha C FollerIndiaAmy Elsner UNQUALIFIED
Leon Y FlosiRussiaXuxue Feng PROPOSAL
Murillo R CaudyArgentinaXuxue Feng NEGOTIATION
Kaitlin Y VenereBrazilIvan Magalhaes NEW
Emily E RoysterCanadaBernardo Dominic QUALIFIED
Isabel F FerenczUnited KingdomStephen Shaw NEGOTIATION
Murillo V GauchoBrazilAnna Fali UNQUALIFIED
Kadeem G InouyeRussiaStephen Shaw RENEWAL
Emily W FigeroaUnited KingdomStephen Shaw QUALIFIED
Salvatore P RoysterUnited KingdomIoni Bowcher NEW
Adams T MorascaUnited KingdomAsiya Javayant QUALIFIED
Salvatore N FollerSpainStephen Shaw NEW
Leon Z RulapaughSpainAmy Elsner PROPOSAL
Rodrigues B WieserAustraliaAsiya Javayant QUALIFIED
Johnson C PerinAustraliaAnna Fali QUALIFIED
Maria Z FlosiSpainXuxue Feng RENEWAL
Kaitlin T MaletIndiaXuxue Feng PROPOSAL
Leon M FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Arvin Y MaletIndiaBernardo Dominic PROPOSAL
Maisha J WaycottGermanyStephen Shaw PROPOSAL
Leon U StensethItalyIoni Bowcher QUALIFIED
Alejandro C VenereFranceIoni Bowcher NEW
David F PaprockiBrazilStephen Shaw NEGOTIATION
Costa T VenereAustraliaAsiya Javayant NEW
Jones W FlosiBrazilAsiya Javayant RENEWAL
Octavia W IturbideGermanyBernardo Dominic QUALIFIED
Rodrigues J SchemmerArgentinaIoni Bowcher NEGOTIATION
Rodrigues R GarufiIndiaStephen Shaw PROPOSAL
Antonio R SlusarskiUnited KingdomElwin Sharvill NEW
Leja D ChuiJapanElwin Sharvill UNQUALIFIED
Clifford D BologniaItalyStephen Shaw RENEWAL
Jeanfrancois Q SchemmerCanadaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Cody D Sergi
Aruna M Ferencz
Morrow D Chui
Isabel H Malet
Misaki V Tollner
Mayumi X Bolognia
Cody C Briddick
Julie N Gillian
Jefferson P Vocelka
Leon M Morasca
Salvatore K Morasca
Deepesh H Venere
Adams G Oldroyd
Alejandro W Whobrey
Deepesh C Kolmetz
Julie R Slusarski
Jefferson G Rulapaugh
Murillo S Figeroa
Rodrigues A Vocelka
Rodrigues B Foller
Julie R Campain
Mujtaba X Butt
Faith B Poquette
Cody B Foller
Greenwood Z Gaucho
Tony W Gaucho
Johnson A Nicka
Leon K Nicka
David Z Royster
Nicolas O Vocelka
Sinclair N Slusarski
Octavia J Kusko
Aika C Kolmetz
Maisha M Wieser
Isabel O Foller
Octavia N Caldarera
Jeanfrancois S Royster
Francesco L Darakjy
Kaitlin F Morasca
Munro M Shinko
Silvio O Darakjy
Misaki O Saylors
Aika D Dilliard
Sinclair H Doe
Aditya Y Maclead
Leja O Nestle
Johnson W Royster
Jeanfrancois M Schemmer
Rodrigues K Ruta
Octavia L Wieser
IdCountryDate
1000Brazil2026-10-11
1001Russia2026-09-17
1002United Kingdom2026-10-04
1003Japan2026-09-22
1004Japan2026-09-16
1005Russia2026-09-30
1006Italy2026-10-08
1007Brazil2026-09-13
1008Australia2026-09-30
1009Australia2026-09-20
1010Canada2026-09-28
1011Argentina2026-10-10
1012United Kingdom2026-09-17
1013Spain2026-10-01
1014Spain2026-10-09
1015Italy2026-10-06
1016Canada2026-10-07
1017India2026-10-05
1018Japan2026-10-09
1019United Kingdom2026-10-04
1020Canada2026-09-25
1021Japan2026-09-16
1022Canada2026-09-30
1023India2026-09-15
1024Argentina2026-09-28
1025United Kingdom2026-09-13
1026Spain2026-09-30
1027Russia2026-09-12
1028France2026-10-09
1029Russia2026-10-03
1030Brazil2026-10-02
1031Japan2026-09-18
1032Italy2026-09-16
1033United Kingdom2026-09-29
1034Italy2026-09-20
1035France2026-10-06
1036India2026-09-14
1037Germany2026-09-25
1038Japan2026-10-04
1039Australia2026-10-08
1040Australia2026-10-02
1041Argentina2026-09-26
1042Australia2026-10-05
1043India2026-09-17
1044France2026-09-22
1045Russia2026-10-03
1046France2026-10-01
1047India2026-09-19
1048Brazil2026-09-27
1049Russia2026-09-18

On-Demand Data

NameIdCountryDate
Leon K Briddick1000Argentina2026-09-15
Ivar L Paprocki1001Russia2026-10-02
Faith B Garufi1002Spain2026-09-16
Clifford C Iturbide1003Spain2026-10-02
Misaki L Saylors1004France2026-09-17
Smith R Foller1005Russia2026-10-08
Mujtaba U Perin1006Germany2026-09-13
Stacey P Foller1007France2026-09-12
Ashley S Inouye1008Japan2026-09-18
Emily T Perin1009France2026-09-14
Faith F Inouye1010Brazil2026-10-08
Adams X Bolognia1011France2026-10-06
Darci V Flosi1012Germany2026-10-09
Costa C Whobrey1013Argentina2026-10-04
Munro S Ostrosky1014Germany2026-10-07
Ivar H Stenseth1015Italy2026-10-03
Ashley N Kolmetz1016United Kingdom2026-09-30
Munro C Nestle1017Spain2026-09-12
Smith G Nestle1018Spain2026-09-13
Kaitlin P Vocelka1019Brazil2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem O MaletBrazilStephen Shaw PROPOSAL
Leja E FlosiUnited KingdomOnyama Limba NEW
Stacey F CampainRussiaStephen Shaw QUALIFIED
Kaitlin I FollerCanadaElwin Sharvill NEW
Claire C InouyeRussiaAsiya Javayant PROPOSAL
Ivar J GillianBrazilAsiya Javayant UNQUALIFIED
Arvin C RoysterFranceXuxue Feng UNQUALIFIED
Wickens F WaycottAustraliaIvan Magalhaes NEW
Aditya F MaletFranceIoni Bowcher NEW
Cody U CampainAustraliaIoni Bowcher UNQUALIFIED
Stacey Z InouyeArgentinaAsiya Javayant QUALIFIED
Aika E DoeItalyAnna Fali PROPOSAL
Isabel H BriddickBrazilIoni Bowcher RENEWAL
Tony C DilliardGermanyAnna Fali NEGOTIATION
Costa Z FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Smith M CampainJapanStephen Shaw NEW
Johnson P StensethItalyAsiya Javayant UNQUALIFIED
Julie K GillianAustraliaAnna Fali NEW
Julie F ChuiItalyIvan Magalhaes PROPOSAL
James X ButtIndiaAsiya Javayant NEW
Johnson W RulapaughBrazilStephen Shaw NEGOTIATION
Deepesh Q FigeroaSpainAsiya Javayant UNQUALIFIED
Arvin H GlickAustraliaXuxue Feng RENEWAL
Ivar N MaletCanadaAmy Elsner NEGOTIATION
Nicolas J VocelkaArgentinaElwin Sharvill NEW
Greenwood P GillianJapanOnyama Limba QUALIFIED
Cody N WieserSpainXuxue Feng UNQUALIFIED
Leon J FigeroaFranceAsiya Javayant UNQUALIFIED
Murillo Q NickaJapanAsiya Javayant QUALIFIED
Antonio C MaletArgentinaIvan Magalhaes UNQUALIFIED
Deepesh Q GlickCanadaIvan Magalhaes UNQUALIFIED
Julie B SchemmerBrazilAnna Fali PROPOSAL
Misaki V KuskoFranceAsiya Javayant NEW
Kadeem T DilliardArgentinaBernardo Dominic RENEWAL
Salvatore B TollnerJapanAmy Elsner RENEWAL
Ivar P BowleyGermanyElwin Sharvill NEW
Emily W BologniaRussiaIvan Magalhaes UNQUALIFIED
Ashley D SaylorsArgentinaIoni Bowcher RENEWAL
Chavez R WieserFranceAsiya Javayant QUALIFIED
Jeanfrancois D BowleyRussiaAsiya Javayant 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>