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
Munro H WieserJapanAsiya Javayant PROPOSAL
Jefferson P IturbideSpainAnna Fali PROPOSAL
Cody H KuskoBrazilElwin Sharvill RENEWAL
Morrow Q GauchoIndiaAsiya Javayant PROPOSAL
Julie U FlosiGermanyOnyama Limba RENEWAL
Kadeem G MorascaSpainIoni Bowcher RENEWAL
Johnson B TollnerRussiaXuxue Feng NEGOTIATION
Jeanfrancois C NestleAustraliaXuxue Feng NEW
Ashley U VenereAustraliaAmy Elsner RENEWAL
Adams J MarrierJapanBernardo Dominic NEGOTIATION
Kaitlin R CaudyArgentinaAsiya Javayant RENEWAL
Johnson F FollerRussiaIvan Magalhaes NEW
Octavia I ButtIndiaAmy Elsner NEGOTIATION
Wickens J SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Munro C SchemmerGermanyBernardo Dominic RENEWAL
Morrow C GlickRussiaElwin Sharvill UNQUALIFIED
Tony S KolmetzJapanBernardo Dominic QUALIFIED
Murillo D SlusarskiRussiaXuxue Feng PROPOSAL
Greenwood C WieserFranceIoni Bowcher PROPOSAL
Arvin X KuskoArgentinaXuxue Feng NEGOTIATION
David D GillianAustraliaBernardo Dominic UNQUALIFIED
Johnson X MaletBrazilAnna Fali PROPOSAL
Adams R MaletIndiaBernardo Dominic QUALIFIED
Wickens R MarrierItalyIvan Magalhaes NEGOTIATION
Greenwood K InouyeIndiaStephen Shaw QUALIFIED
Greenwood Q FigeroaFranceOnyama Limba NEGOTIATION
Smith V WaycottJapanAnna Fali NEW
Wickens N MaletIndiaBernardo Dominic NEW
Sinclair Z WaycottArgentinaAnna Fali NEW
Darci Y GillianUnited KingdomAsiya Javayant NEW
Ricardo B KuskoArgentinaOnyama Limba PROPOSAL
Tony F KuskoGermanyElwin Sharvill PROPOSAL
Aruna R PerinItalyIvan Magalhaes PROPOSAL
Silvio F MaletJapanBernardo Dominic NEGOTIATION
Izzy A StockhamUnited KingdomAnna Fali PROPOSAL
Maisha L WaycottItalyElwin Sharvill QUALIFIED
Leja K ShinkoFranceAsiya Javayant PROPOSAL
Clifford B MacleadArgentinaStephen Shaw UNQUALIFIED
Mujtaba D GlickCanadaIvan Magalhaes NEGOTIATION
Morrow Z ChuiAustraliaIvan Magalhaes RENEWAL
Maria G FerenczItalyIoni Bowcher UNQUALIFIED
Izzy H SlusarskiSpainOnyama Limba NEW
Stacey E MacleadArgentinaAmy Elsner NEGOTIATION
Rodrigues H SaylorsArgentinaIvan Magalhaes NEW
Murillo U GarufiJapanAmy Elsner RENEWAL
Silvio Y NickaCanadaStephen Shaw UNQUALIFIED
Munro J MarrierJapanAsiya Javayant UNQUALIFIED
Emily R WieserUnited KingdomIoni Bowcher PROPOSAL
Darci X MaletArgentinaIoni Bowcher PROPOSAL
Darci C BriddickFranceIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Antonio Q NickaBrazilAmy Elsner QUALIFIED
Darci S TollnerAustraliaBernardo Dominic RENEWAL
Claire J KolmetzSpainBernardo Dominic NEGOTIATION
Aika L SaylorsItalyBernardo Dominic PROPOSAL
Aruna C CaldareraBrazilIvan Magalhaes NEW
Clifford E NickaCanadaIvan Magalhaes QUALIFIED
Salvatore X StockhamBrazilElwin Sharvill UNQUALIFIED
Salvatore Q FollerUnited KingdomIvan Magalhaes PROPOSAL
Tony D PerinItalyElwin Sharvill UNQUALIFIED
Jefferson O MacleadSpainAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio B InouyeCanada2026-09-19Feltz Printing Service PROPOSAL26Asiya Javayant
1001Greenwood H InouyeRussia2026-09-04Dorl, James J Esq UNQUALIFIED48Elwin Sharvill
1002Jefferson E StensethSpain2026-08-26Benton, John B Jr PROPOSAL22Ivan Magalhaes
1003Claire Y InouyeJapan2026-09-02Chemel, James L Cpa PROPOSAL1Elwin Sharvill
1004Aditya T StockhamItaly2026-09-20Printing Dimensions RENEWAL39Ioni Bowcher
1005Alejandro G NestleSpain2026-08-28King, Christopher A Esq NEW69Asiya Javayant
1006Smith L SlusarskiRussia2026-08-30Commercial Press UNQUALIFIED70Stephen Shaw
1007Misaki G OldroydArgentina2026-09-24King, Christopher A Esq NEGOTIATION76Asiya Javayant
1008Mujtaba Z MorascaJapan2026-09-23Benton, John B Jr RENEWAL34Bernardo Dominic
1009Jeanfrancois Z MacleadAustralia2026-09-03Printing Dimensions PROPOSAL56Elwin Sharvill
1010Mayumi T WhobreyRussia2026-09-05Chapman, Ross E Esq NEGOTIATION61Xuxue Feng
1011Clifford U FerenczAustralia2026-09-23Morlong Associates NEGOTIATION94Elwin Sharvill
1012Greenwood M VocelkaSpain2026-09-07Commercial Press RENEWAL61Bernardo Dominic
1013Nicolas I WhobreyIndia2026-09-22Dorl, James J Esq UNQUALIFIED47Asiya Javayant
1014Nicolas M PoquetteRussia2026-09-03Buckley Miller Wright QUALIFIED46Anna Fali
1015Juan U ButtArgentina2026-09-08Feltz Printing Service UNQUALIFIED48Onyama Limba
1016Arvin R CampainGermany2026-09-12Morlong Associates UNQUALIFIED16Elwin Sharvill
1017Misaki F RulapaughSpain2026-08-30King, Christopher A Esq RENEWAL5Elwin Sharvill
1018Darci N AmigonRussia2026-09-04Rangoni Of Florence NEW11Xuxue Feng
1019Rodrigues G DoeRussia2026-09-05Buckley Miller Wright RENEWAL97Ioni Bowcher
1020Ricardo H MacleadGermany2026-09-02Printing Dimensions NEGOTIATION92Xuxue Feng
1021Stacey S RutaRussia2026-09-18Rangoni Of Florence UNQUALIFIED40Ioni Bowcher
1022Maisha N PerinCanada2026-09-08Chapman, Ross E Esq NEGOTIATION50Ioni Bowcher
1023Ivar T AmigonArgentina2026-09-10Commercial Press NEW91Onyama Limba
1024Izzy E TollnerItaly2026-09-16Commercial Press NEGOTIATION48Onyama Limba
1025Rodrigues J InouyeAustralia2026-09-14Chanay, Jeffrey A Esq PROPOSAL3Asiya Javayant
1026Jones C ShinkoItaly2026-09-14Rangoni Of Florence RENEWAL50Asiya Javayant
1027James F MacleadRussia2026-08-28Truhlar And Truhlar Attys QUALIFIED31Xuxue Feng
1028Alejandro H WaycottJapan2026-08-27Morlong Associates PROPOSAL97Bernardo Dominic
1029Morrow D ButtItaly2026-09-16Truhlar And Truhlar Attys NEW32Stephen Shaw
1030Arvin F DarakjySpain2026-09-21Chemel, James L Cpa UNQUALIFIED71Xuxue Feng
1031Mujtaba Z ShinkoArgentina2026-09-12Truhlar And Truhlar Attys QUALIFIED96Asiya Javayant
1032Antonio Y MacleadItaly2026-09-24Feiner Bros PROPOSAL83Asiya Javayant
1033Maria Y FollerFrance2026-09-07Feltz Printing Service NEGOTIATION8Asiya Javayant
1034Claire H SlusarskiFrance2026-09-19King, Christopher A Esq NEW21Ivan Magalhaes
1035Cody J DoeCanada2026-09-12Benton, John B Jr RENEWAL86Elwin Sharvill
1036Emily Q AmigonAustralia2026-08-28Commercial Press QUALIFIED3Onyama Limba
1037Nicolas P AlbaresBrazil2026-09-16Commercial Press NEGOTIATION70Ioni Bowcher
1038Wickens K MacleadFrance2026-08-30Feiner Bros NEGOTIATION98Stephen Shaw
1039James K OldroydBrazil2026-09-10Chanay, Jeffrey A Esq NEW27Bernardo Dominic
1040Johnson A GillianAustralia2026-09-07Dorl, James J Esq RENEWAL61Ioni Bowcher
1041Jeanfrancois N RutaBrazil2026-09-11Feltz Printing Service QUALIFIED6Amy Elsner
1042Mayumi E SaylorsBrazil2026-09-11King, Christopher A Esq NEW25Asiya Javayant
1043Deepesh T ShinkoBrazil2026-09-05Printing Dimensions PROPOSAL10Ioni Bowcher
1044Octavia V IturbideAustralia2026-09-08Rangoni Of Florence NEW61Bernardo Dominic
1045Greenwood O MaletFrance2026-09-13Rousseaux, Michael Esq NEW82Asiya Javayant
1046Morrow Q CampainUnited Kingdom2026-09-19Feltz Printing Service QUALIFIED84Bernardo Dominic
1047Rodrigues I DarakjyBrazil2026-09-07Chemel, James L Cpa NEW15Amy Elsner
1048Chavez Q WaycottIndia2026-09-09Printing Dimensions NEGOTIATION12Bernardo Dominic
1049Greenwood N VocelkaIndia2026-09-06Commercial Press PROPOSAL46Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Juan A StockhamSpainIoni Bowcher RENEWAL
David L WaycottSpainBernardo Dominic PROPOSAL
Jeanfrancois Y FollerJapanAsiya Javayant PROPOSAL
Rodrigues S OldroydItalyAnna Fali NEW
Smith O BowleySpainIvan Magalhaes NEGOTIATION
Leja B SchemmerCanadaOnyama Limba UNQUALIFIED
Adams C DarakjyArgentinaIoni Bowcher NEGOTIATION
Aruna M TollnerArgentinaStephen Shaw UNQUALIFIED
Mayumi T VenereRussiaIoni Bowcher UNQUALIFIED
Murillo K StensethJapanAsiya Javayant RENEWAL
Jones D TollnerBrazilAnna Fali QUALIFIED
Isabel O FollerArgentinaAmy Elsner NEW
Darci P VenereBrazilIoni Bowcher UNQUALIFIED
Stacey Y SaylorsCanadaIvan Magalhaes RENEWAL
Kadeem J VocelkaAustraliaXuxue Feng NEW
David P AmigonCanadaXuxue Feng NEW
Jeanfrancois W BriddickFranceAsiya Javayant NEW
Alejandro Q CaudyBrazilElwin Sharvill QUALIFIED
Jennifer K MarrierArgentinaAmy Elsner NEGOTIATION
Octavia Y WaycottRussiaAnna Fali NEW
Jennifer H RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Faith S KuskoGermanyIoni Bowcher PROPOSAL
Emily O GillianJapanAsiya Javayant NEGOTIATION
Jones A MorascaAustraliaAmy Elsner RENEWAL
Julie L SlusarskiGermanyStephen Shaw QUALIFIED
Leon T OstroskySpainXuxue Feng UNQUALIFIED
Ricardo Q SaylorsBrazilBernardo Dominic QUALIFIED
Antonio B GarufiCanadaIvan Magalhaes QUALIFIED
Jeanfrancois U PoquetteCanadaIoni Bowcher QUALIFIED
Rodrigues P KuskoCanadaStephen Shaw QUALIFIED
Jones Q NestleRussiaOnyama Limba NEGOTIATION
Isabel B FigeroaRussiaXuxue Feng NEW
Jennifer F CampainJapanOnyama Limba PROPOSAL
Aika L GauchoItalyAmy Elsner NEGOTIATION
Jefferson V NestleFranceIoni Bowcher UNQUALIFIED
Leon C StockhamArgentinaElwin Sharvill PROPOSAL
Tony T PoquetteItalyIoni Bowcher RENEWAL
Maisha G AmigonGermanyElwin Sharvill QUALIFIED
Smith U GauchoFranceOnyama Limba PROPOSAL
Ivar V FigeroaCanadaIvan Magalhaes NEW
Francesco A MaletRussiaStephen Shaw RENEWAL
Leja G SergiBrazilXuxue Feng UNQUALIFIED
Munro N MacleadIndiaXuxue Feng UNQUALIFIED
Stacey T MorascaFranceIoni Bowcher PROPOSAL
Francesco E WhobreyFranceElwin Sharvill NEGOTIATION
Aika O ButtIndiaAsiya Javayant NEGOTIATION
Tony Q AmigonArgentinaElwin Sharvill QUALIFIED
Ashley Z MarrierBrazilIoni Bowcher UNQUALIFIED
Maria W SlusarskiArgentinaAnna Fali PROPOSAL
Clifford P StockhamUnited KingdomXuxue Feng UNQUALIFIED
Frozen Columns
Name
Greenwood Q Glick
Octavia I Foller
Morrow S Butt
Mujtaba M Poquette
Stacey K Whobrey
James S Waycott
Ricardo G Maclead
Ricardo V Perin
Stacey I Briddick
Deepesh O Kolmetz
Emily H Malet
Ricardo X Whobrey
Leon J Schemmer
Mayumi P Flosi
Mayumi L Wieser
Leja Z Vocelka
Johnson C Bowley
Claire D Morasca
Deepesh X Oldroyd
Misaki Y Slusarski
Sinclair T Ostrosky
Aditya Q Oldroyd
Clifford Z Caudy
Ashley Q Tollner
Aika V Bolognia
Misaki W Bolognia
Deepesh C Darakjy
Mayumi H Rim
Maisha H Whobrey
Aditya R Oldroyd
Nicolas Z Stenseth
Smith H Campain
Stacey T Kolmetz
Deepesh W Iturbide
Arvin G Iturbide
Leja G Nicka
Octavia Z Flosi
Costa F Bowley
Darci X Slusarski
Sinclair D Maclead
Misaki N Rulapaugh
James J Bolognia
Izzy Q Saylors
Clifford D Ferencz
Isabel B Malet
Arvin I Schemmer
Octavia Y Venere
Tony L Slusarski
Kaitlin K Garufi
Wickens X Morasca
IdCountryDate
1000Italy2026-09-17
1001Australia2026-08-27
1002Argentina2026-08-30
1003Argentina2026-09-19
1004Canada2026-09-17
1005Russia2026-09-08
1006Italy2026-08-27
1007France2026-08-26
1008Spain2026-09-09
1009Germany2026-09-18
1010Canada2026-09-12
1011Japan2026-09-11
1012Brazil2026-09-11
1013Canada2026-09-09
1014Germany2026-09-21
1015India2026-09-15
1016Brazil2026-08-27
1017Brazil2026-09-08
1018Italy2026-09-02
1019Italy2026-09-21
1020United Kingdom2026-09-12
1021Russia2026-09-15
1022Australia2026-09-18
1023Japan2026-09-10
1024India2026-08-29
1025Canada2026-09-13
1026Russia2026-09-14
1027Russia2026-09-04
1028Canada2026-09-02
1029Argentina2026-09-02
1030Canada2026-09-16
1031India2026-08-29
1032Russia2026-09-03
1033Italy2026-09-05
1034Germany2026-08-31
1035Canada2026-08-30
1036France2026-08-29
1037Spain2026-09-10
1038Germany2026-09-21
1039Australia2026-09-22
1040Brazil2026-09-07
1041Spain2026-09-01
1042Japan2026-08-29
1043India2026-09-14
1044India2026-08-31
1045Italy2026-09-21
1046United Kingdom2026-09-13
1047Russia2026-09-13
1048Brazil2026-09-21
1049Italy2026-09-06

On-Demand Data

NameIdCountryDate
Tony U Rulapaugh1000Spain2026-08-26
Sinclair F Kolmetz1001Canada2026-09-07
Johnson Z Marrier1002Canada2026-08-26
Antonio N Caldarera1003Russia2026-09-09
Alejandro Z Sergi1004Russia2026-09-09
Arvin J Kolmetz1005India2026-09-21
Mayumi L Malet1006Argentina2026-09-09
Leon J Darakjy1007Canada2026-09-17
Faith Z Maclead1008Japan2026-09-01
Morrow G Whobrey1009Russia2026-09-09
Izzy O Maclead1010Italy2026-09-18
Faith U Ruta1011Canada2026-09-22
Izzy N Figeroa1012Russia2026-09-23
Francesco W Sergi1013Canada2026-09-02
Munro U Oldroyd1014Canada2026-09-04
Johnson R Oldroyd1015Brazil2026-09-18
Jones B Garufi1016Australia2026-09-23
Ivar Q Marrier1017Japan2026-09-02
Aruna G Ostrosky1018Canada2026-09-23
David K Glick1019Argentina2026-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio N CaldareraFranceStephen Shaw RENEWAL
Octavia G GlickCanadaStephen Shaw NEGOTIATION
Leon N TollnerBrazilStephen Shaw UNQUALIFIED
Deepesh B ShinkoGermanyIvan Magalhaes RENEWAL
Arvin C BowleyRussiaOnyama Limba NEGOTIATION
Sinclair R OstroskyIndiaIvan Magalhaes NEW
Aika P FollerItalyAmy Elsner RENEWAL
Munro Y ShinkoRussiaAsiya Javayant NEW
Mayumi V KuskoUnited KingdomAnna Fali UNQUALIFIED
Kadeem P AlbaresBrazilStephen Shaw UNQUALIFIED
Julie B BriddickCanadaAnna Fali NEW
Claire D FerenczBrazilAnna Fali NEGOTIATION
Greenwood A InouyeUnited KingdomAnna Fali UNQUALIFIED
Maria S RulapaughRussiaAsiya Javayant UNQUALIFIED
Ivar E VocelkaIndiaBernardo Dominic RENEWAL
Greenwood P StensethItalyAmy Elsner NEW
Jeanfrancois G WhobreyUnited KingdomAsiya Javayant NEW
Arvin I OldroydAustraliaXuxue Feng NEW
James D StensethRussiaStephen Shaw PROPOSAL
Faith I SaylorsSpainBernardo Dominic PROPOSAL
Darci C GlickRussiaAmy Elsner UNQUALIFIED
Munro N SergiCanadaBernardo Dominic NEW
Ivar W OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Jones G OstroskyAustraliaOnyama Limba RENEWAL
Ivar Y SchemmerIndiaIoni Bowcher RENEWAL
Jennifer G GauchoIndiaXuxue Feng UNQUALIFIED
Adams A StensethCanadaAmy Elsner QUALIFIED
Arvin F CaldareraCanadaXuxue Feng RENEWAL
Kaitlin P NestleJapanAmy Elsner NEGOTIATION
Aditya J SaylorsArgentinaAnna Fali QUALIFIED
Wickens X ShinkoIndiaAsiya Javayant NEGOTIATION
Mujtaba I StensethArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois B ShinkoArgentinaBernardo Dominic QUALIFIED
Leon W WhobreyRussiaIvan Magalhaes QUALIFIED
Antonio T VenereGermanyIoni Bowcher RENEWAL
Octavia R RimFranceOnyama Limba NEW
Arvin C CaudyAustraliaAsiya Javayant NEGOTIATION
Johnson M TollnerJapanAmy Elsner UNQUALIFIED
Greenwood V InouyeFranceAsiya Javayant NEW
Jennifer T AlbaresJapanStephen Shaw PROPOSAL

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