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
Clifford O WieserAustraliaAsiya Javayant NEW
Leja Z RimItalyAnna Fali NEW
Munro M WieserUnited KingdomOnyama Limba NEGOTIATION
Leon C NestleIndiaElwin Sharvill PROPOSAL
Leja T ShinkoIndiaXuxue Feng UNQUALIFIED
Costa T NestleSpainElwin Sharvill RENEWAL
Francesco A MarrierRussiaAnna Fali QUALIFIED
Leon N FlosiUnited KingdomAsiya Javayant RENEWAL
Julie K RutaGermanyElwin Sharvill RENEWAL
Murillo O MacleadGermanyAnna Fali UNQUALIFIED
Mujtaba W FigeroaRussiaBernardo Dominic QUALIFIED
Murillo B DilliardUnited KingdomAnna Fali RENEWAL
Jones C BowleyRussiaBernardo Dominic RENEWAL
Clifford L KolmetzItalyOnyama Limba RENEWAL
Salvatore N CaudyCanadaAmy Elsner NEW
Aika Q MorascaGermanyElwin Sharvill NEW
Kadeem N TollnerUnited KingdomIvan Magalhaes NEW
Adams B FollerSpainBernardo Dominic UNQUALIFIED
Maria I NestleSpainBernardo Dominic RENEWAL
Izzy A MaletFranceElwin Sharvill UNQUALIFIED
Leja F FlosiBrazilAmy Elsner NEGOTIATION
Cody L KolmetzBrazilAnna Fali PROPOSAL
Sinclair B PerinItalyIvan Magalhaes QUALIFIED
Maria A SaylorsGermanyIoni Bowcher UNQUALIFIED
Maria P FollerRussiaAnna Fali NEW
Arvin E DoeIndiaIoni Bowcher RENEWAL
Nicolas K AmigonJapanStephen Shaw UNQUALIFIED
Aruna M CampainGermanyAnna Fali QUALIFIED
James T TollnerAustraliaOnyama Limba UNQUALIFIED
Johnson H RutaItalyIvan Magalhaes QUALIFIED
Greenwood V FigeroaSpainAmy Elsner NEGOTIATION
Clifford Q MaletArgentinaBernardo Dominic RENEWAL
Leja F CaudyRussiaBernardo Dominic PROPOSAL
Aditya U ShinkoItalyAsiya Javayant NEGOTIATION
Aika Q OstroskyItalyAsiya Javayant NEW
Juan C GauchoSpainAsiya Javayant UNQUALIFIED
Emily R IturbideFranceStephen Shaw QUALIFIED
Alejandro Y InouyeRussiaAsiya Javayant QUALIFIED
Arvin N WhobreyUnited KingdomStephen Shaw RENEWAL
Ricardo U GauchoSpainBernardo Dominic RENEWAL
Mayumi Z ChuiFranceIvan Magalhaes NEGOTIATION
James H BologniaUnited KingdomAmy Elsner UNQUALIFIED
Salvatore V TollnerUnited KingdomAnna Fali QUALIFIED
Faith R IturbideUnited KingdomBernardo Dominic NEW
Antonio Y FlosiCanadaAsiya Javayant NEGOTIATION
Francesco N InouyeRussiaStephen Shaw NEW
Adams O RutaIndiaIoni Bowcher NEW
Arvin W WhobreyBrazilIoni Bowcher PROPOSAL
Francesco P ChuiUnited KingdomAnna Fali RENEWAL
Misaki E ButtJapanElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez A WaycottCanadaAnna Fali NEGOTIATION
Darci R FigeroaGermanyAsiya Javayant NEW
Nicolas F KolmetzCanadaStephen Shaw NEGOTIATION
Murillo D DarakjyBrazilAmy Elsner PROPOSAL
Clifford H RoysterCanadaStephen Shaw NEW
David G RulapaughArgentinaIvan Magalhaes NEGOTIATION
Mujtaba U GlickUnited KingdomElwin Sharvill PROPOSAL
Morrow R AmigonAustraliaAmy Elsner RENEWAL
Adams Y StensethBrazilOnyama Limba UNQUALIFIED
Silvio I AlbaresIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo S GauchoUnited Kingdom2026-10-31Dorl, James J Esq NEGOTIATION94Asiya Javayant
1001Rodrigues N OstroskyItaly2026-10-15Dorl, James J Esq PROPOSAL34Amy Elsner
1002Alejandro U RoysterJapan2026-10-03King, Christopher A Esq NEGOTIATION9Xuxue Feng
1003Mujtaba A AlbaresJapan2026-10-09Chemel, James L Cpa PROPOSAL88Asiya Javayant
1004Cody B FigeroaItaly2026-10-30Feltz Printing Service PROPOSAL85Elwin Sharvill
1005Mujtaba Y NickaFrance2026-10-19Morlong Associates UNQUALIFIED63Asiya Javayant
1006Aditya U GlickFrance2026-10-23Printing Dimensions RENEWAL50Bernardo Dominic
1007Murillo R StockhamItaly2026-10-28Chapman, Ross E Esq QUALIFIED35Ivan Magalhaes
1008Arvin Q BowleyAustralia2026-10-19Chanay, Jeffrey A Esq UNQUALIFIED31Xuxue Feng
1009Kadeem I CampainItaly2026-10-28Commercial Press QUALIFIED69Xuxue Feng
1010Adams A RoysterUnited Kingdom2026-10-22Rangoni Of Florence NEGOTIATION46Bernardo Dominic
1011Antonio Q PerinFrance2026-10-18Buckley Miller Wright QUALIFIED77Ioni Bowcher
1012Mujtaba D ButtCanada2026-10-17King, Christopher A Esq NEW14Elwin Sharvill
1013Murillo W GauchoJapan2026-10-18Buckley Miller Wright QUALIFIED12Asiya Javayant
1014Ivar A NestleArgentina2026-10-18Dorl, James J Esq NEW66Ioni Bowcher
1015Julie L PaprockiSpain2026-10-11Rangoni Of Florence PROPOSAL79Elwin Sharvill
1016Kaitlin Q ChuiIndia2026-10-20Rousseaux, Michael Esq RENEWAL28Ioni Bowcher
1017Cody F VocelkaCanada2026-10-21Commercial Press RENEWAL96Onyama Limba
1018Jefferson H GarufiSpain2026-10-10Feltz Printing Service NEW40Asiya Javayant
1019Kaitlin Y PoquetteRussia2026-10-08Buckley Miller Wright NEW94Amy Elsner
1020Cody M DarakjyAustralia2026-10-18Truhlar And Truhlar Attys PROPOSAL68Bernardo Dominic
1021David U GillianFrance2026-10-17Chanay, Jeffrey A Esq NEGOTIATION39Ioni Bowcher
1022Antonio A ChuiRussia2026-10-18King, Christopher A Esq UNQUALIFIED30Asiya Javayant
1023Emily V SergiGermany2026-10-26Printing Dimensions UNQUALIFIED34Elwin Sharvill
1024James S TollnerGermany2026-10-08Feiner Bros NEGOTIATION57Anna Fali
1025Ashley F RulapaughArgentina2026-10-24Morlong Associates RENEWAL55Xuxue Feng
1026Ricardo S InouyeGermany2026-10-28Truhlar And Truhlar Attys RENEWAL28Ivan Magalhaes
1027Silvio L KolmetzAustralia2026-10-25Morlong Associates QUALIFIED60Ivan Magalhaes
1028Costa Q DarakjyArgentina2026-10-20Chanay, Jeffrey A Esq NEGOTIATION90Amy Elsner
1029Mujtaba D WieserGermany2026-10-11Feltz Printing Service NEGOTIATION3Ioni Bowcher
1030Jeanfrancois O SergiCanada2026-10-28Rousseaux, Michael Esq PROPOSAL42Bernardo Dominic
1031Izzy K OstroskyGermany2026-10-04Dorl, James J Esq NEW55Bernardo Dominic
1032Jeanfrancois R GillianJapan2026-10-16Rangoni Of Florence RENEWAL38Anna Fali
1033Nicolas N GarufiJapan2026-10-07Rangoni Of Florence UNQUALIFIED40Xuxue Feng
1034Jennifer U BriddickArgentina2026-10-27Buckley Miller Wright UNQUALIFIED82Elwin Sharvill
1035Tony A PaprockiRussia2026-10-04Rangoni Of Florence PROPOSAL15Bernardo Dominic
1036Deepesh I BowleySpain2026-10-23Feiner Bros QUALIFIED47Stephen Shaw
1037Aditya V MacleadJapan2026-10-07Rangoni Of Florence RENEWAL94Amy Elsner
1038Nicolas T RoysterRussia2026-10-19King, Christopher A Esq NEGOTIATION97Elwin Sharvill
1039Kadeem U PaprockiUnited Kingdom2026-10-30Chapman, Ross E Esq UNQUALIFIED75Xuxue Feng
1040Kadeem S BologniaBrazil2026-10-30Truhlar And Truhlar Attys NEGOTIATION52Asiya Javayant
1041Octavia F FigeroaCanada2026-10-21King, Christopher A Esq PROPOSAL77Asiya Javayant
1042Misaki F StensethUnited Kingdom2026-10-14Benton, John B Jr PROPOSAL29Elwin Sharvill
1043Maria H SaylorsFrance2026-10-06Benton, John B Jr RENEWAL72Bernardo Dominic
1044Faith W MacleadBrazil2026-10-05Dorl, James J Esq UNQUALIFIED3Ioni Bowcher
1045Aditya W CampainFrance2026-10-20Chanay, Jeffrey A Esq NEW63Xuxue Feng
1046Johnson Y GarufiUnited Kingdom2026-10-13Feltz Printing Service NEW41Amy Elsner
1047Maisha Q DoeFrance2026-10-05Morlong Associates UNQUALIFIED92Amy Elsner
1048Leon K NickaJapan2026-10-04Feltz Printing Service UNQUALIFIED25Xuxue Feng
1049Smith G MarrierItaly2026-10-02Chanay, Jeffrey A Esq RENEWAL54Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Izzy N GlickGermanyAmy Elsner UNQUALIFIED
Morrow D InouyeBrazilStephen Shaw UNQUALIFIED
Costa U MacleadFranceIvan Magalhaes QUALIFIED
Nicolas H BriddickArgentinaIoni Bowcher UNQUALIFIED
Munro I MorascaSpainOnyama Limba RENEWAL
Aditya I OstroskyItalyBernardo Dominic NEGOTIATION
Jennifer O PerinJapanIvan Magalhaes NEGOTIATION
Octavia N RoysterBrazilStephen Shaw QUALIFIED
Costa K KolmetzJapanOnyama Limba UNQUALIFIED
Aditya O KolmetzIndiaIoni Bowcher NEW
Munro I SlusarskiCanadaAsiya Javayant PROPOSAL
Nicolas O OstroskyItalyIoni Bowcher UNQUALIFIED
Aruna U WaycottJapanAsiya Javayant PROPOSAL
Clifford C RutaCanadaBernardo Dominic NEW
Stacey D BologniaIndiaXuxue Feng UNQUALIFIED
Mayumi H PoquetteArgentinaOnyama Limba UNQUALIFIED
Leja K KuskoJapanIvan Magalhaes RENEWAL
Smith Q BologniaIndiaElwin Sharvill QUALIFIED
Jeanfrancois S GauchoArgentinaAmy Elsner NEW
Kadeem I DilliardAustraliaIoni Bowcher UNQUALIFIED
Clifford T TollnerCanadaAmy Elsner UNQUALIFIED
Claire S TollnerIndiaAsiya Javayant QUALIFIED
Isabel W RimCanadaOnyama Limba UNQUALIFIED
Mayumi W SergiAustraliaAmy Elsner NEGOTIATION
Munro H ChuiRussiaAmy Elsner PROPOSAL
James H ShinkoBrazilAsiya Javayant PROPOSAL
Kaitlin T PoquetteItalyIoni Bowcher QUALIFIED
Isabel D MarrierAustraliaOnyama Limba NEGOTIATION
Isabel L VenereBrazilAsiya Javayant UNQUALIFIED
Smith B MarrierGermanyOnyama Limba RENEWAL
Mujtaba A SaylorsJapanXuxue Feng PROPOSAL
Salvatore A SchemmerAustraliaAnna Fali NEGOTIATION
Smith F NickaArgentinaBernardo Dominic PROPOSAL
Kadeem I IturbideBrazilAsiya Javayant QUALIFIED
Claire L OstroskyItalyAsiya Javayant NEW
Silvio A MaletGermanyElwin Sharvill PROPOSAL
Salvatore E SaylorsSpainBernardo Dominic PROPOSAL
Chavez J GarufiUnited KingdomAsiya Javayant PROPOSAL
Ivar T PoquetteIndiaXuxue Feng RENEWAL
Antonio W PoquetteAustraliaIoni Bowcher UNQUALIFIED
Aika R PoquetteAustraliaStephen Shaw PROPOSAL
Smith Z WhobreyCanadaAsiya Javayant PROPOSAL
Jennifer Z PerinGermanyOnyama Limba QUALIFIED
Wickens Z GillianJapanStephen Shaw RENEWAL
Jennifer P OstroskyFranceElwin Sharvill RENEWAL
Wickens P ShinkoSpainAmy Elsner PROPOSAL
Rodrigues A SaylorsGermanyAnna Fali NEW
Aika C BowleySpainAsiya Javayant RENEWAL
Tony D GlickItalyIvan Magalhaes NEGOTIATION
Ricardo J SchemmerArgentinaElwin Sharvill RENEWAL
Frozen Columns
Name
Ivar I Maclead
Mayumi D Albares
Isabel R Nestle
Salvatore Z Slusarski
Jefferson Q Rulapaugh
Stacey S Rulapaugh
Leja M Venere
Ivar Q Gillian
Julie W Dilliard
Salvatore A Poquette
Greenwood W Malet
Nicolas H Ostrosky
Aditya U Schemmer
Arvin Q Inouye
Jefferson Y Gillian
Cody J Caudy
Antonio X Stenseth
Ashley L Gillian
Rodrigues Z Stenseth
Adams A Malet
Clifford N Inouye
Jeanfrancois P Stenseth
Murillo U Oldroyd
Alejandro H Bolognia
Aruna C Perin
Claire T Ferencz
Morrow N Marrier
Johnson F Iturbide
Darci T Ferencz
James E Venere
Aruna B Slusarski
Jefferson Q Chui
Maria U Saylors
Mujtaba A Poquette
Rodrigues K Foller
Octavia Q Malet
Tony E Kolmetz
Deepesh J Doe
Stacey I Slusarski
Ivar Q Saylors
Jefferson X Malet
Francesco Z Stockham
Chavez D Amigon
Munro T Garufi
Jefferson D Royster
Wickens L Albares
Rodrigues W Sergi
Aditya Y Caudy
David Y Maclead
Alejandro N Butt
IdCountryDate
1000Germany2026-10-15
1001Russia2026-10-15
1002Brazil2026-10-10
1003United Kingdom2026-10-24
1004Italy2026-10-16
1005Brazil2026-10-29
1006Spain2026-10-16
1007Australia2026-10-05
1008Spain2026-10-09
1009Japan2026-10-11
1010Argentina2026-10-22
1011Brazil2026-10-16
1012Argentina2026-10-24
1013Australia2026-10-09
1014Italy2026-10-09
1015Russia2026-10-19
1016Brazil2026-10-03
1017Australia2026-10-25
1018Japan2026-10-19
1019Italy2026-10-28
1020Germany2026-10-24
1021Russia2026-10-18
1022Canada2026-10-29
1023United Kingdom2026-10-07
1024Japan2026-10-08
1025Australia2026-10-05
1026Germany2026-10-27
1027France2026-10-15
1028Brazil2026-10-10
1029France2026-10-31
1030India2026-10-08
1031Argentina2026-10-14
1032Argentina2026-10-07
1033France2026-10-29
1034Australia2026-10-18
1035Italy2026-10-18
1036Brazil2026-10-30
1037United Kingdom2026-10-09
1038Italy2026-10-18
1039Russia2026-10-25
1040France2026-10-14
1041Canada2026-10-30
1042Argentina2026-10-24
1043Japan2026-10-16
1044Canada2026-10-31
1045Germany2026-10-05
1046France2026-10-13
1047Germany2026-10-14
1048Spain2026-10-15
1049Australia2026-10-02

On-Demand Data

NameIdCountryDate
Greenwood I Ruta1000India2026-10-22
Misaki I Waycott1001Japan2026-10-12
Aika D Bolognia1002France2026-10-03
Maisha S Saylors1003Canada2026-10-12
Johnson L Albares1004Russia2026-10-25
Leja U Ruta1005France2026-10-27
Tony H Shinko1006United Kingdom2026-10-12
Julie S Whobrey1007Germany2026-10-26
Jennifer V Dilliard1008India2026-10-13
Jefferson G Vocelka1009Argentina2026-10-03
Chavez T Bolognia1010Italy2026-10-10
Smith A Bowley1011Spain2026-10-11
Maria C Darakjy1012United Kingdom2026-10-26
Alejandro D Bolognia1013India2026-10-26
Deepesh E Slusarski1014Argentina2026-10-09
Arvin R Rim1015France2026-10-12
Jones P Malet1016Italy2026-10-02
Francesco R Iturbide1017Canada2026-10-06
James G Nicka1018Germany2026-10-25
Ivar Y Briddick1019Canada2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Q GillianSpainStephen Shaw NEW
Mujtaba V InouyeCanadaElwin Sharvill QUALIFIED
Izzy F GlickAustraliaXuxue Feng NEW
Aruna X WieserIndiaIvan Magalhaes QUALIFIED
Morrow N WieserArgentinaElwin Sharvill PROPOSAL
Tony Q AlbaresRussiaAmy Elsner NEGOTIATION
Izzy G BriddickCanadaIoni Bowcher QUALIFIED
Salvatore U OstroskyCanadaStephen Shaw UNQUALIFIED
Leja L FollerArgentinaIoni Bowcher QUALIFIED
Kadeem E GlickArgentinaIvan Magalhaes NEGOTIATION
Aruna F MaletJapanOnyama Limba RENEWAL
Sinclair I PoquetteAustraliaIvan Magalhaes PROPOSAL
Rodrigues N DarakjyGermanyAmy Elsner NEW
Wickens T DarakjyBrazilElwin Sharvill RENEWAL
Alejandro V RulapaughUnited KingdomAmy Elsner RENEWAL
Salvatore T MacleadIndiaElwin Sharvill NEGOTIATION
Aditya B IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Misaki Z ButtIndiaElwin Sharvill PROPOSAL
Izzy J GlickAustraliaBernardo Dominic UNQUALIFIED
Adams E MorascaArgentinaAnna Fali QUALIFIED
Octavia R GillianFranceAnna Fali UNQUALIFIED
Sinclair H TollnerUnited KingdomBernardo Dominic RENEWAL
Julie N RoysterSpainStephen Shaw NEGOTIATION
Octavia N OstroskyAustraliaIvan Magalhaes PROPOSAL
Isabel O ShinkoBrazilIoni Bowcher PROPOSAL
Izzy T NickaUnited KingdomStephen Shaw QUALIFIED
Murillo K MaletUnited KingdomAnna Fali NEW
Aditya W FollerSpainAsiya Javayant QUALIFIED
Cody U SlusarskiBrazilXuxue Feng QUALIFIED
Cody A KolmetzGermanyIoni Bowcher PROPOSAL
Mayumi R PerinAustraliaAmy Elsner NEGOTIATION
Kaitlin C MorascaBrazilIoni Bowcher PROPOSAL
Smith A BologniaRussiaOnyama Limba NEGOTIATION
Adams Y OldroydRussiaAnna Fali UNQUALIFIED
Rodrigues U GauchoGermanyAmy Elsner NEW
Deepesh W DarakjySpainAsiya Javayant NEW
Rodrigues N KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Munro Q SergiFranceOnyama Limba NEGOTIATION
David I MaletGermanyElwin Sharvill PROPOSAL
Jennifer O AmigonJapanBernardo Dominic RENEWAL

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