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
Chavez V PerinItalyAsiya Javayant RENEWAL
Jones G DarakjyIndiaStephen Shaw RENEWAL
Costa S IturbideFranceXuxue Feng PROPOSAL
Leon W ShinkoSpainElwin Sharvill UNQUALIFIED
Aika O InouyeItalyIvan Magalhaes NEGOTIATION
Tony U CaldareraBrazilIoni Bowcher QUALIFIED
Salvatore R OldroydCanadaIoni Bowcher UNQUALIFIED
Sinclair T MaletBrazilStephen Shaw UNQUALIFIED
Aruna S BriddickGermanyStephen Shaw QUALIFIED
Rodrigues P CaudyItalyAmy Elsner NEGOTIATION
Murillo S DoeAustraliaStephen Shaw UNQUALIFIED
Leja G PoquetteGermanyBernardo Dominic PROPOSAL
Mayumi Y WieserGermanyStephen Shaw NEW
David O NickaJapanElwin Sharvill NEGOTIATION
Francesco J FigeroaSpainIoni Bowcher NEW
Jefferson G CampainRussiaElwin Sharvill NEGOTIATION
Aditya G GlickIndiaOnyama Limba NEGOTIATION
Aika J MorascaBrazilIvan Magalhaes RENEWAL
Octavia A CaldareraGermanyOnyama Limba QUALIFIED
Ashley H AmigonItalyAmy Elsner QUALIFIED
Murillo O CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
Darci P SaylorsGermanyOnyama Limba UNQUALIFIED
Antonio Y OstroskyRussiaIoni Bowcher RENEWAL
Misaki N NestleJapanOnyama Limba PROPOSAL
Mayumi F KuskoCanadaOnyama Limba NEW
Tony W ButtCanadaIoni Bowcher RENEWAL
Silvio N VocelkaUnited KingdomXuxue Feng RENEWAL
Octavia H RulapaughJapanOnyama Limba NEGOTIATION
Aika O CaudyUnited KingdomIoni Bowcher RENEWAL
David C AmigonGermanyIoni Bowcher RENEWAL
Smith W MaletCanadaAmy Elsner QUALIFIED
Antonio O VenereUnited KingdomXuxue Feng PROPOSAL
Juan R FigeroaAustraliaIoni Bowcher UNQUALIFIED
Alejandro Q FollerGermanyElwin Sharvill UNQUALIFIED
Adams G IturbideFranceBernardo Dominic NEW
Ashley Z ButtIndiaIvan Magalhaes QUALIFIED
Morrow S OstroskyArgentinaIvan Magalhaes NEGOTIATION
Silvio Z RutaFranceStephen Shaw RENEWAL
Tony A RutaItalyAnna Fali NEW
Morrow H AlbaresAustraliaXuxue Feng UNQUALIFIED
Smith I DilliardBrazilBernardo Dominic RENEWAL
James K FlosiJapanIoni Bowcher RENEWAL
Juan C ShinkoGermanyXuxue Feng UNQUALIFIED
Aika I RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Stacey Y MarrierItalyIoni Bowcher RENEWAL
Kadeem Z KolmetzJapanXuxue Feng UNQUALIFIED
Jefferson L GauchoFranceAmy Elsner PROPOSAL
Misaki J GauchoAustraliaOnyama Limba QUALIFIED
Mujtaba Y SaylorsJapanXuxue Feng RENEWAL
Maria W ButtUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith T DilliardSpainAsiya Javayant PROPOSAL
Stacey D SergiJapanBernardo Dominic PROPOSAL
Silvio X FerenczRussiaXuxue Feng QUALIFIED
Emily P OstroskyFranceAnna Fali NEW
Cody M AlbaresAustraliaStephen Shaw PROPOSAL
Emily J ShinkoSpainAnna Fali UNQUALIFIED
Aditya U NestleFranceBernardo Dominic PROPOSAL
Kaitlin O FlosiItalyIvan Magalhaes RENEWAL
Arvin C SlusarskiArgentinaAnna Fali RENEWAL
Silvio W CampainIndiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson W OldroydRussia2026-10-15Chapman, Ross E Esq NEW86Amy Elsner
1001Stacey T InouyeSpain2026-09-24King, Christopher A Esq NEGOTIATION77Bernardo Dominic
1002Ivar E ShinkoUnited Kingdom2026-09-23Feiner Bros RENEWAL16Anna Fali
1003Antonio L StockhamArgentina2026-09-25Dorl, James J Esq RENEWAL69Xuxue Feng
1004Murillo R SlusarskiGermany2026-10-19Truhlar And Truhlar Attys UNQUALIFIED57Elwin Sharvill
1005Claire Q VocelkaJapan2026-10-02Feiner Bros PROPOSAL97Amy Elsner
1006Francesco P AmigonBrazil2026-09-25Feiner Bros UNQUALIFIED13Elwin Sharvill
1007Mujtaba D NickaAustralia2026-10-19Printing Dimensions RENEWAL51Ivan Magalhaes
1008Isabel E IturbideAustralia2026-10-18Feiner Bros NEGOTIATION41Bernardo Dominic
1009Stacey L ChuiFrance2026-10-02Rousseaux, Michael Esq UNQUALIFIED49Bernardo Dominic
1010Kadeem R VocelkaSpain2026-09-25Chemel, James L Cpa UNQUALIFIED51Amy Elsner
1011Morrow Q RoysterItaly2026-09-26Printing Dimensions QUALIFIED86Xuxue Feng
1012Ivar A InouyeBrazil2026-10-14Chanay, Jeffrey A Esq NEW60Anna Fali
1013Aruna W WieserSpain2026-09-30Chapman, Ross E Esq QUALIFIED57Xuxue Feng
1014Jeanfrancois D FollerRussia2026-09-25Chemel, James L Cpa PROPOSAL31Amy Elsner
1015Emily C DilliardRussia2026-10-03Buckley Miller Wright QUALIFIED30Ioni Bowcher
1016Ashley S StockhamJapan2026-10-19Printing Dimensions QUALIFIED29Amy Elsner
1017Munro A FigeroaCanada2026-10-20King, Christopher A Esq NEGOTIATION19Elwin Sharvill
1018Morrow G InouyeGermany2026-10-07Morlong Associates NEGOTIATION74Amy Elsner
1019Wickens O PerinIndia2026-10-16Morlong Associates UNQUALIFIED51Amy Elsner
1020Adams S WieserJapan2026-09-30Buckley Miller Wright NEGOTIATION74Asiya Javayant
1021Aditya E OstroskySpain2026-10-12Truhlar And Truhlar Attys RENEWAL72Xuxue Feng
1022Aika Z RutaSpain2026-10-15Rousseaux, Michael Esq QUALIFIED91Anna Fali
1023James O PoquetteUnited Kingdom2026-10-02Benton, John B Jr RENEWAL62Bernardo Dominic
1024Darci D GauchoCanada2026-10-19Buckley Miller Wright QUALIFIED33Amy Elsner
1025Mujtaba D InouyeIndia2026-09-21Rangoni Of Florence UNQUALIFIED8Stephen Shaw
1026Jefferson Q FigeroaBrazil2026-10-14Dorl, James J Esq NEW29Stephen Shaw
1027Ashley D KolmetzCanada2026-10-04Benton, John B Jr NEGOTIATION90Onyama Limba
1028Francesco E FigeroaRussia2026-10-19Feltz Printing Service RENEWAL31Amy Elsner
1029Costa O OstroskyJapan2026-10-18King, Christopher A Esq QUALIFIED11Bernardo Dominic
1030Aruna I OstroskyFrance2026-09-25Commercial Press UNQUALIFIED58Ivan Magalhaes
1031Darci Z DarakjyFrance2026-09-28Buckley Miller Wright UNQUALIFIED66Stephen Shaw
1032Kadeem F NestleJapan2026-10-07Buckley Miller Wright QUALIFIED42Asiya Javayant
1033Juan F MaletAustralia2026-10-04Feltz Printing Service PROPOSAL21Xuxue Feng
1034Leja L ButtCanada2026-10-20Printing Dimensions NEGOTIATION25Ioni Bowcher
1035Nicolas O VocelkaFrance2026-10-01Commercial Press QUALIFIED58Asiya Javayant
1036Clifford J MaletCanada2026-10-03Chapman, Ross E Esq UNQUALIFIED49Amy Elsner
1037Kadeem K FlosiUnited Kingdom2026-09-28Buckley Miller Wright PROPOSAL39Onyama Limba
1038Darci H StockhamGermany2026-10-01Rousseaux, Michael Esq QUALIFIED65Bernardo Dominic
1039Maisha B PoquetteRussia2026-10-14Commercial Press PROPOSAL99Ivan Magalhaes
1040Morrow E PerinAustralia2026-10-15Truhlar And Truhlar Attys NEGOTIATION76Onyama Limba
1041Julie O MaletAustralia2026-10-17King, Christopher A Esq NEW22Bernardo Dominic
1042Antonio W SlusarskiRussia2026-09-26Chapman, Ross E Esq UNQUALIFIED32Elwin Sharvill
1043Chavez N InouyeUnited Kingdom2026-10-15Rousseaux, Michael Esq UNQUALIFIED5Ivan Magalhaes
1044Aditya X DarakjyUnited Kingdom2026-09-24King, Christopher A Esq NEW40Xuxue Feng
1045Francesco Z SlusarskiArgentina2026-10-07Printing Dimensions NEW80Asiya Javayant
1046Costa B CaudyRussia2026-10-15Chanay, Jeffrey A Esq NEW13Ioni Bowcher
1047Jennifer L PoquetteIndia2026-09-30Buckley Miller Wright QUALIFIED78Xuxue Feng
1048Misaki Y BologniaIndia2026-10-09Morlong Associates NEGOTIATION29Stephen Shaw
1049Greenwood M SaylorsFrance2026-09-29Chanay, Jeffrey A Esq PROPOSAL1Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maisha R NestleCanadaStephen Shaw QUALIFIED
Claire F RulapaughAustraliaBernardo Dominic RENEWAL
Maisha H RimIndiaAnna Fali NEGOTIATION
Juan U AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Francesco B BriddickSpainXuxue Feng PROPOSAL
Clifford P IturbideBrazilAmy Elsner RENEWAL
Sinclair J DarakjyFranceAsiya Javayant RENEWAL
Costa M ChuiItalyStephen Shaw NEGOTIATION
Sinclair R MaletJapanIvan Magalhaes UNQUALIFIED
Nicolas U PoquetteJapanOnyama Limba PROPOSAL
Kadeem U FollerUnited KingdomIoni Bowcher RENEWAL
Isabel D BriddickCanadaBernardo Dominic PROPOSAL
Ricardo M KolmetzAustraliaStephen Shaw NEGOTIATION
Ricardo E WhobreyGermanyElwin Sharvill PROPOSAL
Maisha F GauchoFranceXuxue Feng UNQUALIFIED
Claire V WieserItalyXuxue Feng RENEWAL
Tony T FigeroaJapanIoni Bowcher NEGOTIATION
Alejandro I AlbaresSpainAmy Elsner QUALIFIED
Clifford Q MacleadBrazilXuxue Feng NEW
Antonio V FollerRussiaIoni Bowcher NEGOTIATION
Ivar W GarufiIndiaAsiya Javayant QUALIFIED
Nicolas Z KolmetzBrazilAsiya Javayant NEW
Stacey X BowleyUnited KingdomElwin Sharvill RENEWAL
James M WaycottItalyIvan Magalhaes PROPOSAL
Salvatore W MorascaJapanXuxue Feng RENEWAL
Claire E PaprockiBrazilStephen Shaw NEGOTIATION
Emily F DoeUnited KingdomBernardo Dominic NEW
Costa C VocelkaBrazilAsiya Javayant PROPOSAL
Mayumi K WieserAustraliaOnyama Limba RENEWAL
Costa J GarufiFranceBernardo Dominic RENEWAL
Kaitlin P StockhamJapanIvan Magalhaes QUALIFIED
Wickens F DilliardJapanOnyama Limba PROPOSAL
Aika K DarakjyFranceElwin Sharvill NEW
Maisha F RoysterBrazilBernardo Dominic NEW
Adams V SergiJapanIoni Bowcher QUALIFIED
Greenwood K ButtUnited KingdomAnna Fali NEW
Ricardo K RimFranceIvan Magalhaes NEGOTIATION
James L AlbaresIndiaAsiya Javayant PROPOSAL
Isabel P PerinItalyIoni Bowcher NEGOTIATION
David O RutaArgentinaIvan Magalhaes NEW
Leja X CaldareraBrazilBernardo Dominic NEGOTIATION
Antonio H DoeArgentinaElwin Sharvill RENEWAL
Misaki K WieserFranceAmy Elsner PROPOSAL
Stacey T SaylorsBrazilBernardo Dominic RENEWAL
James H SchemmerSpainXuxue Feng NEW
Emily H IturbideIndiaAnna Fali NEW
Greenwood M DilliardIndiaAmy Elsner QUALIFIED
Juan U WieserJapanBernardo Dominic QUALIFIED
Aditya D InouyeAustraliaXuxue Feng RENEWAL
Nicolas H MorascaUnited KingdomAmy Elsner NEW
Frozen Columns
Name
Isabel S Kolmetz
Adams Q Albares
Cody Z Paprocki
Adams P Rim
Julie X Ruta
Wickens W Ferencz
Francesco I Malet
Julie G Poquette
Murillo Y Foller
Jennifer P Kusko
Misaki R Flosi
Aditya A Bolognia
Mayumi U Nestle
Claire A Sergi
Deepesh K Ruta
Jeanfrancois N Caldarera
Stacey X Kolmetz
Costa Z Marrier
Darci Z Bolognia
Francesco B Bowley
Jones V Whobrey
James I Rulapaugh
Johnson M Bolognia
Maisha L Caudy
Morrow Z Bowley
Greenwood J Stockham
Rodrigues E Morasca
Smith G Morasca
Juan B Caudy
Maisha E Poquette
Tony D Amigon
Francesco P Stockham
Aditya L Morasca
Antonio H Nestle
Mujtaba S Paprocki
Maisha N Figeroa
Silvio C Morasca
Mayumi O Butt
Wickens T Caldarera
David D Iturbide
Aika T Sergi
Claire T Briddick
Mujtaba H Waycott
Maria C Campain
Ivar V Royster
Izzy R Stockham
Chavez J Tollner
Murillo X Slusarski
Ricardo J Chui
Alejandro S Rulapaugh
IdCountryDate
1000Italy2026-10-11
1001India2026-09-28
1002Brazil2026-10-10
1003Germany2026-10-12
1004Italy2026-10-20
1005France2026-10-01
1006Spain2026-10-05
1007Brazil2026-10-01
1008Italy2026-10-04
1009Argentina2026-10-03
1010France2026-10-02
1011Italy2026-10-16
1012United Kingdom2026-10-16
1013Japan2026-10-18
1014India2026-10-13
1015Italy2026-10-13
1016Australia2026-10-01
1017Italy2026-10-18
1018Canada2026-10-16
1019Canada2026-10-14
1020Spain2026-10-15
1021Canada2026-10-01
1022Australia2026-10-09
1023India2026-10-01
1024Brazil2026-09-29
1025United Kingdom2026-10-18
1026United Kingdom2026-10-06
1027Italy2026-09-29
1028Russia2026-10-17
1029Brazil2026-10-06
1030Italy2026-10-20
1031Canada2026-10-01
1032United Kingdom2026-10-02
1033Russia2026-10-02
1034Spain2026-10-01
1035Germany2026-09-29
1036Italy2026-09-29
1037Argentina2026-10-11
1038Australia2026-09-23
1039Canada2026-10-04
1040Argentina2026-10-19
1041Japan2026-10-17
1042Spain2026-10-10
1043Brazil2026-10-19
1044Australia2026-09-29
1045France2026-10-18
1046United Kingdom2026-10-01
1047Argentina2026-09-28
1048France2026-09-23
1049Spain2026-09-25

On-Demand Data

NameIdCountryDate
Maria M Kusko1000Brazil2026-09-28
Jefferson H Figeroa1001Australia2026-10-17
Izzy M Amigon1002Spain2026-09-28
Ashley I Bowley1003United Kingdom2026-10-08
Maisha I Inouye1004Brazil2026-10-18
Octavia M Sergi1005Argentina2026-09-26
Antonio T Kolmetz1006France2026-10-16
Darci P Nestle1007Russia2026-09-30
Alejandro L Stenseth1008Italy2026-10-02
Ricardo O Butt1009France2026-10-19
Isabel L Iturbide1010United Kingdom2026-10-03
Nicolas C Ruta1011Japan2026-10-17
Jennifer J Sergi1012United Kingdom2026-09-26
Munro V Chui1013India2026-10-16
Juan A Tollner1014Spain2026-09-21
Tony Q Marrier1015Italy2026-09-22
Aruna K Ruta1016Russia2026-10-06
Nicolas Y Perin1017India2026-10-19
Costa B Bolognia1018Germany2026-10-15
Ricardo W Figeroa1019Italy2026-10-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja Z GauchoFranceStephen Shaw QUALIFIED
Salvatore E SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Maisha R GlickItalyOnyama Limba RENEWAL
Isabel N VenereBrazilIoni Bowcher NEGOTIATION
Darci C CaudyCanadaBernardo Dominic NEW
Chavez O SergiAustraliaIvan Magalhaes PROPOSAL
Jefferson K IturbideUnited KingdomIoni Bowcher NEW
Jeanfrancois P WaycottRussiaOnyama Limba QUALIFIED
Greenwood F MaletIndiaBernardo Dominic UNQUALIFIED
Isabel F SergiCanadaIoni Bowcher UNQUALIFIED
Mujtaba D PaprockiCanadaAnna Fali NEW
Aruna A FerenczRussiaIvan Magalhaes UNQUALIFIED
Ashley V GlickRussiaIvan Magalhaes RENEWAL
Julie B NestleItalyIoni Bowcher QUALIFIED
Smith W KolmetzItalyAnna Fali UNQUALIFIED
Adams S ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Kadeem H OldroydUnited KingdomElwin Sharvill NEGOTIATION
Aika V InouyeUnited KingdomXuxue Feng NEGOTIATION
Adams F AlbaresRussiaIvan Magalhaes QUALIFIED
Ashley W WaycottUnited KingdomAmy Elsner NEGOTIATION
Darci L CaldareraGermanyAnna Fali PROPOSAL
Munro H ButtGermanyIoni Bowcher UNQUALIFIED
David D OstroskyIndiaIoni Bowcher QUALIFIED
Maria O MaletItalyElwin Sharvill NEW
Greenwood J WieserCanadaBernardo Dominic UNQUALIFIED
Tony P BriddickAustraliaBernardo Dominic RENEWAL
Kaitlin P AlbaresJapanOnyama Limba RENEWAL
Octavia R SaylorsFranceAmy Elsner RENEWAL
Greenwood S SaylorsItalyAmy Elsner RENEWAL
Jeanfrancois D FigeroaCanadaIvan Magalhaes UNQUALIFIED
Emily U WieserItalyOnyama Limba NEGOTIATION
Izzy L FerenczRussiaIvan Magalhaes UNQUALIFIED
Juan L MaletArgentinaXuxue Feng UNQUALIFIED
Smith J StockhamSpainAmy Elsner RENEWAL
Antonio W BriddickSpainAsiya Javayant NEGOTIATION
Jefferson J PaprockiCanadaXuxue Feng NEGOTIATION
Mujtaba I StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Costa A GarufiJapanAmy Elsner PROPOSAL
Francesco S ChuiSpainStephen Shaw NEW
Silvio B WhobreyIndiaAmy Elsner QUALIFIED

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