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
Morrow T OstroskyRussiaBernardo Dominic UNQUALIFIED
Aditya Z DilliardUnited KingdomIoni Bowcher PROPOSAL
Izzy A FlosiFranceStephen Shaw NEW
Clifford B ShinkoUnited KingdomXuxue Feng QUALIFIED
Wickens Z ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson C MaletItalyBernardo Dominic NEW
Maria Y GauchoSpainOnyama Limba PROPOSAL
Tony Y StensethIndiaXuxue Feng UNQUALIFIED
Izzy S NickaUnited KingdomAsiya Javayant UNQUALIFIED
Aika Z VenereJapanIvan Magalhaes QUALIFIED
Maisha Z VenereItalyIoni Bowcher RENEWAL
Octavia Q NickaGermanyStephen Shaw PROPOSAL
Silvio W RimGermanyStephen Shaw RENEWAL
Nicolas V SaylorsRussiaIoni Bowcher UNQUALIFIED
Deepesh J ChuiSpainOnyama Limba QUALIFIED
Faith X SchemmerAustraliaXuxue Feng UNQUALIFIED
Ashley A BowleyItalyAmy Elsner NEW
Maisha K StensethItalyStephen Shaw PROPOSAL
Emily J MaletUnited KingdomAmy Elsner UNQUALIFIED
Jeanfrancois L WhobreyFranceElwin Sharvill UNQUALIFIED
Francesco G NestleAustraliaElwin Sharvill QUALIFIED
Jennifer U VenereRussiaXuxue Feng PROPOSAL
Antonio I SergiIndiaStephen Shaw NEW
Smith X InouyeItalyStephen Shaw NEGOTIATION
Aditya B BriddickItalyBernardo Dominic UNQUALIFIED
Salvatore A FlosiRussiaAmy Elsner QUALIFIED
Claire N SergiItalyIoni Bowcher RENEWAL
Deepesh O AmigonAustraliaStephen Shaw NEW
Salvatore J RutaBrazilXuxue Feng RENEWAL
Silvio J PerinArgentinaElwin Sharvill RENEWAL
Adams V GarufiBrazilStephen Shaw QUALIFIED
Rodrigues D CaldareraBrazilXuxue Feng PROPOSAL
Kaitlin L VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh O FollerArgentinaAnna Fali RENEWAL
Francesco C FigeroaFranceAmy Elsner PROPOSAL
Tony B CaudyFranceAnna Fali PROPOSAL
Munro T GlickUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba M OldroydCanadaStephen Shaw RENEWAL
Nicolas Q FlosiItalyBernardo Dominic NEW
Julie J NickaFranceAmy Elsner NEGOTIATION
Morrow G OstroskyJapanAsiya Javayant PROPOSAL
Leja N ChuiFranceAnna Fali RENEWAL
Octavia R RoysterArgentinaAsiya Javayant NEGOTIATION
Claire G FollerFranceAsiya Javayant UNQUALIFIED
Leja A KolmetzJapanIvan Magalhaes QUALIFIED
Darci M WaycottCanadaAnna Fali NEGOTIATION
Maria T StockhamIndiaOnyama Limba RENEWAL
Misaki N FerenczSpainAsiya Javayant NEW
Morrow W WaycottItalyXuxue Feng UNQUALIFIED
James E BologniaFranceOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David Q SergiItalyXuxue Feng PROPOSAL
Leja X FlosiSpainAmy Elsner NEW
David R VenereJapanElwin Sharvill NEGOTIATION
Ricardo A StensethJapanOnyama Limba QUALIFIED
Stacey G MaletIndiaIvan Magalhaes NEGOTIATION
Ricardo Q CampainGermanyIvan Magalhaes UNQUALIFIED
Mujtaba I BologniaFranceAmy Elsner UNQUALIFIED
Murillo F CaldareraCanadaStephen Shaw QUALIFIED
Chavez U BologniaAustraliaXuxue Feng PROPOSAL
Greenwood Y DilliardItalyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro A KolmetzFrance2026-09-26Rousseaux, Michael Esq UNQUALIFIED20Elwin Sharvill
1001Leon C NestleIndia2026-09-14Rangoni Of Florence RENEWAL86Anna Fali
1002Francesco Z KolmetzRussia2026-09-25King, Christopher A Esq UNQUALIFIED71Onyama Limba
1003Isabel X NestleCanada2026-09-29Chemel, James L Cpa NEGOTIATION91Elwin Sharvill
1004Mayumi X MorascaCanada2026-09-23Morlong Associates RENEWAL66Bernardo Dominic
1005Mujtaba I KuskoUnited Kingdom2026-09-09Rangoni Of Florence NEW26Ioni Bowcher
1006David C DilliardArgentina2026-09-27Dorl, James J Esq PROPOSAL82Anna Fali
1007Salvatore G CaudyItaly2026-09-07Truhlar And Truhlar Attys UNQUALIFIED81Elwin Sharvill
1008Octavia Y IturbideItaly2026-09-17King, Christopher A Esq PROPOSAL59Elwin Sharvill
1009Munro H AlbaresBrazil2026-09-21Rousseaux, Michael Esq UNQUALIFIED79Anna Fali
1010Maisha S MacleadAustralia2026-09-29Truhlar And Truhlar Attys QUALIFIED88Anna Fali
1011Aika U FerenczItaly2026-09-09Dorl, James J Esq RENEWAL56Amy Elsner
1012Chavez L SergiCanada2026-09-24Chanay, Jeffrey A Esq PROPOSAL71Stephen Shaw
1013Salvatore B MarrierUnited Kingdom2026-09-12Buckley Miller Wright PROPOSAL52Ioni Bowcher
1014Kadeem A GillianItaly2026-09-10Truhlar And Truhlar Attys NEGOTIATION5Elwin Sharvill
1015Aika J SlusarskiItaly2026-09-14Rangoni Of Florence NEGOTIATION28Asiya Javayant
1016Ivar D CaudyRussia2026-09-23Feiner Bros QUALIFIED22Amy Elsner
1017Rodrigues S PerinJapan2026-09-25Buckley Miller Wright NEW94Stephen Shaw
1018Murillo F PerinBrazil2026-09-11Chanay, Jeffrey A Esq NEW31Bernardo Dominic
1019Kaitlin E WhobreyItaly2026-09-18Chanay, Jeffrey A Esq RENEWAL48Onyama Limba
1020Misaki P NickaSpain2026-09-12Buckley Miller Wright UNQUALIFIED48Bernardo Dominic
1021Misaki F CaldareraSpain2026-09-01Rousseaux, Michael Esq PROPOSAL0Elwin Sharvill
1022Alejandro F RimCanada2026-09-12Dorl, James J Esq NEW69Ioni Bowcher
1023Nicolas E MaletGermany2026-09-27Dorl, James J Esq NEW96Asiya Javayant
1024Julie M KolmetzFrance2026-09-05Commercial Press NEW18Anna Fali
1025Misaki S DoeBrazil2026-09-29Buckley Miller Wright NEW7Onyama Limba
1026Arvin K BologniaBrazil2026-09-29Rousseaux, Michael Esq RENEWAL91Ioni Bowcher
1027Octavia Z GauchoBrazil2026-09-08King, Christopher A Esq NEW4Amy Elsner
1028Adams Q RoysterCanada2026-09-22Rangoni Of Florence RENEWAL27Bernardo Dominic
1029Cody L MaletUnited Kingdom2026-09-20Rangoni Of Florence NEGOTIATION91Bernardo Dominic
1030Wickens W WhobreyItaly2026-09-10Buckley Miller Wright NEGOTIATION1Stephen Shaw
1031Ricardo S BowleyBrazil2026-09-08King, Christopher A Esq RENEWAL64Bernardo Dominic
1032Smith G FlosiItaly2026-09-01Feltz Printing Service RENEWAL11Ioni Bowcher
1033Stacey I NestleItaly2026-09-09Chapman, Ross E Esq NEW83Bernardo Dominic
1034Aruna K RoysterBrazil2026-09-06Chanay, Jeffrey A Esq NEGOTIATION57Bernardo Dominic
1035Antonio I RoysterFrance2026-09-03Commercial Press NEW24Amy Elsner
1036Maisha G MorascaAustralia2026-09-16Rangoni Of Florence UNQUALIFIED68Anna Fali
1037Misaki X NickaIndia2026-09-04Feltz Printing Service UNQUALIFIED0Ivan Magalhaes
1038Ricardo P FerenczFrance2026-09-29Feltz Printing Service PROPOSAL98Ioni Bowcher
1039James M NickaRussia2026-09-26Chemel, James L Cpa QUALIFIED74Stephen Shaw
1040Sinclair S FerenczRussia2026-09-20King, Christopher A Esq NEW89Asiya Javayant
1041Ashley X InouyeIndia2026-09-04Feiner Bros RENEWAL96Bernardo Dominic
1042Mujtaba Z NestleGermany2026-09-15Rangoni Of Florence PROPOSAL74Ivan Magalhaes
1043Smith O RoysterUnited Kingdom2026-09-06Buckley Miller Wright RENEWAL91Asiya Javayant
1044Leja E BowleyIndia2026-09-22Feiner Bros PROPOSAL87Onyama Limba
1045James K ButtRussia2026-08-31Chemel, James L Cpa NEW20Onyama Limba
1046Mayumi E GlickArgentina2026-09-24Truhlar And Truhlar Attys NEGOTIATION90Amy Elsner
1047James U SaylorsCanada2026-09-10Chapman, Ross E Esq RENEWAL90Onyama Limba
1048Greenwood H RulapaughBrazil2026-09-17Dorl, James J Esq NEGOTIATION12Ivan Magalhaes
1049Adams R OldroydItaly2026-09-07Commercial Press NEW2Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Greenwood J BologniaJapanElwin Sharvill PROPOSAL
Chavez M OstroskyAustraliaXuxue Feng RENEWAL
Leon F DilliardItalyIvan Magalhaes QUALIFIED
Leon X GarufiFranceElwin Sharvill NEW
Arvin F GillianItalyAmy Elsner UNQUALIFIED
Aika B BriddickJapanIvan Magalhaes NEW
James Q VocelkaBrazilAsiya Javayant RENEWAL
Leja T SaylorsSpainIvan Magalhaes NEW
Mujtaba S FlosiSpainIvan Magalhaes RENEWAL
Kadeem U TollnerUnited KingdomXuxue Feng UNQUALIFIED
James E DoeFranceXuxue Feng NEW
Cody G NickaFranceAsiya Javayant UNQUALIFIED
Claire Z MaletAustraliaStephen Shaw QUALIFIED
Silvio G FlosiSpainStephen Shaw PROPOSAL
Francesco P FerenczRussiaStephen Shaw NEW
Murillo Y VocelkaJapanElwin Sharvill QUALIFIED
Costa W VocelkaItalyAnna Fali NEGOTIATION
Ivar W CaldareraRussiaOnyama Limba PROPOSAL
Costa B MacleadSpainIoni Bowcher QUALIFIED
Rodrigues I GlickCanadaAsiya Javayant NEGOTIATION
Izzy B PaprockiJapanOnyama Limba RENEWAL
Maisha G CampainFranceElwin Sharvill NEW
Claire I SlusarskiBrazilElwin Sharvill RENEWAL
Ivar Z NestleJapanIvan Magalhaes PROPOSAL
Jeanfrancois N BriddickRussiaXuxue Feng NEW
Aika D NestleItalyElwin Sharvill QUALIFIED
Sinclair M FlosiItalyAsiya Javayant UNQUALIFIED
Silvio I AlbaresUnited KingdomOnyama Limba PROPOSAL
Claire E GarufiAustraliaBernardo Dominic PROPOSAL
Mayumi V VenereAustraliaOnyama Limba NEW
Maria O WhobreyRussiaIvan Magalhaes QUALIFIED
Arvin P GarufiCanadaAsiya Javayant NEGOTIATION
Greenwood B OldroydItalyElwin Sharvill NEGOTIATION
Mayumi H OstroskyRussiaAsiya Javayant QUALIFIED
Chavez B VocelkaIndiaOnyama Limba RENEWAL
Ricardo K FlosiAustraliaAsiya Javayant NEGOTIATION
Antonio L KolmetzItalyAmy Elsner QUALIFIED
Adams J ChuiSpainBernardo Dominic NEGOTIATION
Maria E ShinkoCanadaIoni Bowcher NEW
Clifford S ShinkoAustraliaOnyama Limba NEW
Alejandro Y RimRussiaAmy Elsner NEW
Smith W ChuiFranceXuxue Feng UNQUALIFIED
Francesco V BowleyBrazilStephen Shaw NEGOTIATION
James X ChuiBrazilElwin Sharvill NEGOTIATION
Sinclair N GarufiArgentinaAsiya Javayant NEW
Octavia E GarufiUnited KingdomAnna Fali NEW
David U StensethIndiaAsiya Javayant UNQUALIFIED
Rodrigues P GillianBrazilStephen Shaw PROPOSAL
Costa Z CaldareraIndiaIvan Magalhaes RENEWAL
Sinclair N FollerGermanyElwin Sharvill QUALIFIED
Frozen Columns
Name
Silvio A Wieser
Julie P Slusarski
Jefferson Z Perin
Faith V Foller
Chavez E Inouye
Ricardo S Whobrey
Kadeem B Marrier
Jeanfrancois I Oldroyd
Deepesh W Kolmetz
Ivar S Slusarski
Misaki U Perin
Maria L Slusarski
Nicolas O Poquette
Nicolas H Briddick
Salvatore T Albares
Murillo O Foller
Francesco H Slusarski
Morrow N Malet
David W Gaucho
Aika Q Darakjy
Wickens A Garufi
Julie I Schemmer
Ivar G Ruta
Tony R Dilliard
David D Malet
Alejandro Y Bowley
Jeanfrancois L Vocelka
Tony S Amigon
Ricardo H Sergi
Octavia Y Iturbide
Francesco M Bowley
Smith N Garufi
Antonio R Royster
Adams X Rim
Morrow Y Rim
Juan K Gaucho
Wickens T Wieser
Murillo K Shinko
Emily U Ferencz
Emily A Malet
Mujtaba K Tollner
Ivar W Rim
Izzy T Paprocki
Francesco U Wieser
Silvio R Wieser
Leja A Wieser
Isabel M Malet
Leon C Rulapaugh
Jeanfrancois W Kusko
Cody G Kusko
IdCountryDate
1000India2026-09-26
1001Italy2026-09-23
1002Russia2026-09-06
1003United Kingdom2026-09-21
1004Brazil2026-08-31
1005United Kingdom2026-09-13
1006Germany2026-09-01
1007Japan2026-09-16
1008Spain2026-08-31
1009Japan2026-09-17
1010Brazil2026-09-01
1011Italy2026-09-15
1012France2026-09-02
1013Germany2026-09-11
1014Japan2026-09-27
1015Italy2026-09-13
1016India2026-09-21
1017Japan2026-09-19
1018Canada2026-09-08
1019Russia2026-09-24
1020Italy2026-08-31
1021Japan2026-09-06
1022Argentina2026-09-20
1023France2026-09-07
1024Germany2026-09-28
1025Russia2026-09-23
1026Spain2026-09-08
1027Germany2026-09-25
1028Italy2026-09-01
1029France2026-09-13
1030France2026-09-23
1031Japan2026-09-25
1032France2026-09-20
1033Japan2026-09-03
1034Canada2026-09-21
1035Italy2026-09-12
1036Canada2026-09-10
1037France2026-09-27
1038Brazil2026-09-06
1039Russia2026-09-29
1040Russia2026-09-22
1041Japan2026-09-28
1042Argentina2026-09-29
1043Italy2026-09-04
1044Japan2026-09-01
1045Argentina2026-09-10
1046United Kingdom2026-09-14
1047United Kingdom2026-09-25
1048Italy2026-09-09
1049United Kingdom2026-09-08

On-Demand Data

NameIdCountryDate
Darci T Paprocki1000Italy2026-09-20
Ricardo M Bowley1001Italy2026-09-18
Leon M Inouye1002United Kingdom2026-09-07
Cody E Sergi1003India2026-09-19
James E Dilliard1004Japan2026-09-05
Johnson D Shinko1005Russia2026-09-15
Kadeem T Caldarera1006Russia2026-09-03
Misaki A Malet1007United Kingdom2026-09-22
Jennifer C Bowley1008Brazil2026-09-08
Antonio T Wieser1009India2026-08-31
Ashley R Whobrey1010India2026-09-23
Leja Q Venere1011India2026-09-13
Cody A Poquette1012Australia2026-09-25
Jeanfrancois A Rim1013India2026-09-15
James N Rulapaugh1014France2026-09-25
Adams X Venere1015Canada2026-09-16
Jefferson N Malet1016Russia2026-09-10
Mayumi E Dilliard1017France2026-09-06
Greenwood N Amigon1018United Kingdom2026-09-08
Darci R Morasca1019Argentina2026-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith P MarrierJapanAnna Fali QUALIFIED
Jennifer P GillianRussiaOnyama Limba RENEWAL
Izzy V StockhamItalyAmy Elsner NEGOTIATION
Jefferson Q WaycottArgentinaIoni Bowcher PROPOSAL
Isabel S PerinCanadaBernardo Dominic RENEWAL
Antonio S CampainRussiaIvan Magalhaes PROPOSAL
Julie Q KolmetzBrazilStephen Shaw PROPOSAL
Darci B DilliardCanadaAsiya Javayant UNQUALIFIED
Morrow I FollerJapanXuxue Feng PROPOSAL
Leja L SergiRussiaIoni Bowcher NEW
Maisha T MarrierItalyIoni Bowcher NEW
Mujtaba P RutaFranceElwin Sharvill UNQUALIFIED
Wickens Q TollnerRussiaOnyama Limba RENEWAL
Jeanfrancois O StockhamArgentinaBernardo Dominic QUALIFIED
Darci P PerinUnited KingdomElwin Sharvill PROPOSAL
Arvin F VenereCanadaOnyama Limba PROPOSAL
Tony G DoeJapanOnyama Limba UNQUALIFIED
Alejandro C StockhamBrazilAmy Elsner PROPOSAL
Tony P DarakjyBrazilOnyama Limba NEW
Leon W MorascaJapanIoni Bowcher PROPOSAL
Leon O IturbideJapanIvan Magalhaes NEW
Izzy X CampainGermanyIoni Bowcher NEGOTIATION
Johnson N BowleyRussiaElwin Sharvill QUALIFIED
Isabel K RimGermanyAnna Fali NEGOTIATION
Rodrigues K FollerCanadaAsiya Javayant UNQUALIFIED
Stacey B WieserFranceStephen Shaw RENEWAL
Adams M SaylorsArgentinaAnna Fali UNQUALIFIED
Julie N VenereFranceBernardo Dominic UNQUALIFIED
Misaki N GarufiJapanAnna Fali NEW
Deepesh F SergiRussiaXuxue Feng RENEWAL
Julie Y FigeroaFranceStephen Shaw UNQUALIFIED
Deepesh E RoysterFranceAmy Elsner UNQUALIFIED
Cody T DarakjyIndiaXuxue Feng NEGOTIATION
Adams B SergiRussiaXuxue Feng NEW
Jeanfrancois H CaudyJapanAnna Fali NEW
Misaki H RimArgentinaOnyama Limba PROPOSAL
Francesco S OstroskyAustraliaAsiya Javayant NEGOTIATION
Smith L RutaAustraliaBernardo Dominic QUALIFIED
Murillo O ShinkoUnited KingdomOnyama Limba PROPOSAL
Smith P SergiArgentinaIvan Magalhaes 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>