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
Octavia K WhobreyRussiaAnna Fali QUALIFIED
Francesco O TollnerIndiaAsiya Javayant QUALIFIED
Mujtaba Q WhobreyBrazilAsiya Javayant NEW
Stacey H GlickItalyOnyama Limba NEGOTIATION
Aika S GillianGermanyAsiya Javayant NEW
Smith R StensethJapanIoni Bowcher NEGOTIATION
Jeanfrancois D StockhamArgentinaAmy Elsner RENEWAL
Cody T MarrierArgentinaXuxue Feng NEW
Stacey C OstroskyArgentinaIvan Magalhaes NEW
Arvin C FollerIndiaAsiya Javayant QUALIFIED
Costa N VocelkaArgentinaIvan Magalhaes NEW
Izzy P BowleyGermanyXuxue Feng PROPOSAL
Mujtaba Y WaycottIndiaIvan Magalhaes NEW
Salvatore W VocelkaAustraliaIvan Magalhaes NEW
Jones R GauchoBrazilElwin Sharvill NEGOTIATION
Jennifer W SlusarskiIndiaAmy Elsner NEGOTIATION
Greenwood P SlusarskiSpainOnyama Limba QUALIFIED
Silvio Y RoysterBrazilAmy Elsner PROPOSAL
Aruna A DilliardBrazilBernardo Dominic NEW
Silvio Z CaudyItalyElwin Sharvill UNQUALIFIED
Smith C MacleadItalyStephen Shaw NEGOTIATION
Salvatore X RulapaughArgentinaIvan Magalhaes NEGOTIATION
Morrow B MarrierCanadaAmy Elsner NEGOTIATION
Alejandro X BologniaSpainAmy Elsner QUALIFIED
Misaki W BologniaRussiaAsiya Javayant NEGOTIATION
Francesco D DarakjyJapanIoni Bowcher QUALIFIED
Deepesh T CampainRussiaIoni Bowcher PROPOSAL
Misaki T StensethIndiaXuxue Feng NEGOTIATION
Salvatore E MaletCanadaIoni Bowcher NEGOTIATION
Mujtaba U WaycottAustraliaAnna Fali RENEWAL
Ricardo P CampainJapanElwin Sharvill RENEWAL
Wickens B MacleadUnited KingdomAmy Elsner QUALIFIED
Jennifer R ChuiRussiaIoni Bowcher PROPOSAL
Leja D CampainBrazilElwin Sharvill NEW
Alejandro F RutaItalyStephen Shaw QUALIFIED
Morrow R AmigonItalyAnna Fali PROPOSAL
Adams E NestleJapanXuxue Feng QUALIFIED
Julie C ShinkoCanadaIoni Bowcher RENEWAL
Aika B AmigonRussiaStephen Shaw NEW
Deepesh C MacleadItalyIvan Magalhaes QUALIFIED
Juan H AlbaresCanadaOnyama Limba NEW
Deepesh X ChuiJapanIoni Bowcher PROPOSAL
Jefferson G CaldareraIndiaStephen Shaw PROPOSAL
Emily Y GillianJapanIoni Bowcher PROPOSAL
Chavez U ChuiArgentinaAmy Elsner UNQUALIFIED
Jefferson F MaletArgentinaIoni Bowcher PROPOSAL
Kadeem Y ButtFranceXuxue Feng NEW
Kaitlin N ButtGermanyAsiya Javayant RENEWAL
Smith X SchemmerAustraliaOnyama Limba NEGOTIATION
Alejandro P NickaItalyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair K TollnerAustraliaBernardo Dominic NEW
Silvio F CaldareraBrazilIoni Bowcher PROPOSAL
Faith F FollerJapanOnyama Limba NEW
Faith V GauchoArgentinaXuxue Feng QUALIFIED
Faith P VocelkaSpainXuxue Feng PROPOSAL
Maria O CampainCanadaElwin Sharvill QUALIFIED
Sinclair P ButtItalyAmy Elsner QUALIFIED
Antonio L TollnerSpainXuxue Feng NEW
Deepesh V NestleCanadaIvan Magalhaes UNQUALIFIED
Antonio R FollerCanadaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo I TollnerIndia2026-10-06Chanay, Jeffrey A Esq NEW31Xuxue Feng
1001Aika E AlbaresIndia2026-10-01Feltz Printing Service PROPOSAL39Elwin Sharvill
1002Mujtaba P BologniaRussia2026-10-01Buckley Miller Wright UNQUALIFIED27Bernardo Dominic
1003Ricardo I WaycottCanada2026-09-29Rousseaux, Michael Esq PROPOSAL87Elwin Sharvill
1004Alejandro N SergiArgentina2026-09-29Feltz Printing Service RENEWAL1Onyama Limba
1005Izzy B OldroydBrazil2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED72Ioni Bowcher
1006Morrow B AlbaresUnited Kingdom2026-10-04Buckley Miller Wright NEW42Asiya Javayant
1007Stacey B GarufiBrazil2026-10-05Chemel, James L Cpa NEW52Bernardo Dominic
1008Munro K WieserCanada2026-10-09Feltz Printing Service NEGOTIATION79Xuxue Feng
1009Sinclair R PaprockiRussia2026-10-09Feiner Bros PROPOSAL70Onyama Limba
1010Greenwood J DoeIndia2026-10-27Feltz Printing Service UNQUALIFIED35Amy Elsner
1011Cody Q BologniaAustralia2026-10-27Feiner Bros UNQUALIFIED61Amy Elsner
1012Jeanfrancois Z PaprockiSpain2026-10-26Rousseaux, Michael Esq QUALIFIED24Ivan Magalhaes
1013Aruna V RulapaughSpain2026-10-14Truhlar And Truhlar Attys UNQUALIFIED56Asiya Javayant
1014Morrow X RulapaughArgentina2026-10-17Printing Dimensions NEGOTIATION41Amy Elsner
1015Munro P VenereCanada2026-10-24Morlong Associates NEGOTIATION29Elwin Sharvill
1016Mayumi N GillianSpain2026-10-14Rangoni Of Florence QUALIFIED40Bernardo Dominic
1017Mujtaba I BologniaAustralia2026-10-18Truhlar And Truhlar Attys QUALIFIED49Xuxue Feng
1018Misaki Y OstroskyArgentina2026-10-21Chapman, Ross E Esq NEW92Xuxue Feng
1019Ashley Z AmigonSpain2026-10-01King, Christopher A Esq NEW14Ivan Magalhaes
1020Munro L PoquetteBrazil2026-10-22Printing Dimensions NEW69Asiya Javayant
1021Alejandro P OldroydGermany2026-10-24King, Christopher A Esq NEW28Onyama Limba
1022Mayumi L MaletBrazil2026-10-10Chapman, Ross E Esq QUALIFIED24Ivan Magalhaes
1023Johnson Z PerinCanada2026-10-02Buckley Miller Wright NEW59Asiya Javayant
1024Emily Y KolmetzJapan2026-10-01Chemel, James L Cpa UNQUALIFIED91Bernardo Dominic
1025Faith E MarrierSpain2026-09-29Truhlar And Truhlar Attys NEGOTIATION15Onyama Limba
1026Ricardo V SlusarskiUnited Kingdom2026-10-07Morlong Associates UNQUALIFIED5Onyama Limba
1027Jennifer U MaletItaly2026-10-15Benton, John B Jr NEW20Amy Elsner
1028Julie K RutaCanada2026-10-22Chapman, Ross E Esq NEGOTIATION11Amy Elsner
1029Aditya V VocelkaRussia2026-10-08Chemel, James L Cpa UNQUALIFIED90Onyama Limba
1030Clifford J StockhamIndia2026-10-26Printing Dimensions QUALIFIED45Stephen Shaw
1031Jones X AlbaresBrazil2026-10-11Rousseaux, Michael Esq UNQUALIFIED94Stephen Shaw
1032Ricardo K IturbideArgentina2026-09-29Morlong Associates QUALIFIED57Elwin Sharvill
1033Aruna L GillianBrazil2026-10-11Rangoni Of Florence NEW88Stephen Shaw
1034Jeanfrancois Q FollerItaly2026-10-09Truhlar And Truhlar Attys NEW94Ioni Bowcher
1035Nicolas L MarrierSpain2026-10-13Printing Dimensions QUALIFIED85Onyama Limba
1036Sinclair O BowleySpain2026-10-04Chemel, James L Cpa RENEWAL66Amy Elsner
1037Murillo U NestleUnited Kingdom2026-10-17Rousseaux, Michael Esq NEW22Xuxue Feng
1038Julie F CaudyArgentina2026-10-28Rousseaux, Michael Esq UNQUALIFIED21Elwin Sharvill
1039Arvin M KuskoFrance2026-10-11Morlong Associates UNQUALIFIED25Onyama Limba
1040Jefferson C VocelkaSpain2026-10-10Benton, John B Jr UNQUALIFIED6Bernardo Dominic
1041Jefferson O StockhamSpain2026-10-27Feltz Printing Service RENEWAL13Bernardo Dominic
1042Maisha K AmigonSpain2026-10-18Feltz Printing Service PROPOSAL66Elwin Sharvill
1043Adams W WieserGermany2026-10-12Feltz Printing Service QUALIFIED44Ioni Bowcher
1044David V OldroydIndia2026-10-20Chemel, James L Cpa PROPOSAL15Elwin Sharvill
1045Julie U MorascaSpain2026-10-05Feiner Bros QUALIFIED19Onyama Limba
1046Juan D GlickFrance2026-09-29Rangoni Of Florence NEGOTIATION28Amy Elsner
1047Jeanfrancois E IturbideIndia2026-09-30Truhlar And Truhlar Attys NEGOTIATION13Stephen Shaw
1048Deepesh Z KuskoIndia2026-10-16Feltz Printing Service RENEWAL45Stephen Shaw
1049Leja D RoysterSpain2026-10-24Rousseaux, Michael Esq QUALIFIED70Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba X PaprockiCanadaBernardo Dominic NEW
Smith V GillianUnited KingdomOnyama Limba QUALIFIED
James A MaletFranceIoni Bowcher NEW
Silvio B SergiCanadaIoni Bowcher QUALIFIED
Darci B MorascaIndiaIoni Bowcher PROPOSAL
Aruna R MaletGermanyStephen Shaw RENEWAL
Wickens V GillianItalyOnyama Limba NEW
Chavez O SchemmerItalyIvan Magalhaes UNQUALIFIED
Arvin B SaylorsJapanAsiya Javayant QUALIFIED
Antonio L RimSpainIoni Bowcher PROPOSAL
Aditya H StockhamJapanIvan Magalhaes QUALIFIED
Costa E KuskoRussiaElwin Sharvill QUALIFIED
Maria X CaldareraSpainBernardo Dominic PROPOSAL
Morrow Z OldroydArgentinaIvan Magalhaes RENEWAL
Johnson J BowleyBrazilIoni Bowcher NEW
Emily H BowleySpainElwin Sharvill RENEWAL
Murillo G IturbideArgentinaOnyama Limba RENEWAL
Greenwood T BologniaRussiaAmy Elsner RENEWAL
Salvatore C SchemmerGermanyStephen Shaw UNQUALIFIED
Ivar B WaycottArgentinaAnna Fali NEGOTIATION
Aika E DoeFranceIvan Magalhaes QUALIFIED
Clifford S MacleadUnited KingdomAmy Elsner PROPOSAL
Ashley U OldroydGermanyAsiya Javayant UNQUALIFIED
Tony A MaletGermanyAnna Fali RENEWAL
Clifford P CaldareraGermanyBernardo Dominic RENEWAL
Jennifer M MaletBrazilBernardo Dominic UNQUALIFIED
Julie X InouyeUnited KingdomAnna Fali NEW
Jennifer M ChuiItalyBernardo Dominic PROPOSAL
Greenwood I BowleyGermanyIoni Bowcher PROPOSAL
Antonio F MorascaFranceIoni Bowcher NEGOTIATION
Jennifer U IturbideUnited KingdomXuxue Feng NEW
Julie F WaycottArgentinaBernardo Dominic UNQUALIFIED
Emily U MacleadRussiaAmy Elsner NEW
Leja K BriddickUnited KingdomElwin Sharvill RENEWAL
Nicolas N TollnerRussiaAnna Fali QUALIFIED
Aditya Q SergiRussiaAsiya Javayant QUALIFIED
Deepesh C WhobreyRussiaIvan Magalhaes PROPOSAL
Munro B KuskoRussiaAsiya Javayant NEW
Johnson C MorascaGermanyIvan Magalhaes QUALIFIED
Aika C KuskoIndiaOnyama Limba QUALIFIED
Francesco L AmigonSpainIvan Magalhaes RENEWAL
Silvio G CaldareraSpainAmy Elsner NEGOTIATION
Faith N RulapaughIndiaElwin Sharvill NEGOTIATION
Jefferson H PerinAustraliaIoni Bowcher QUALIFIED
Nicolas C TollnerCanadaElwin Sharvill RENEWAL
Julie W StockhamCanadaBernardo Dominic NEGOTIATION
Octavia B RoysterFranceIoni Bowcher PROPOSAL
Julie N CampainJapanIvan Magalhaes NEW
Maisha C SchemmerArgentinaBernardo Dominic UNQUALIFIED
Stacey D WaycottBrazilStephen Shaw QUALIFIED
Frozen Columns
Name
Rodrigues C Saylors
Francesco N Foller
Antonio J Caudy
Stacey O Butt
Sinclair B Garufi
Arvin J Poquette
Smith Z Glick
Aditya A Shinko
Deepesh G Kusko
Leja K Vocelka
Smith G Slusarski
Darci S Doe
Ivar H Malet
Kadeem Z Doe
Leon U Schemmer
Leja R Ostrosky
Silvio L Wieser
Clifford A Doe
Leon U Butt
Aruna E Rulapaugh
Tony E Slusarski
Claire K Caudy
Octavia R Bowley
Ricardo Q Wieser
Deepesh A Waycott
Julie T Malet
Aruna R Malet
Silvio K Flosi
Maisha U Poquette
Greenwood H Bolognia
Munro M Paprocki
Alejandro N Nestle
Alejandro N Vocelka
Aruna I Gillian
David N Poquette
Tony T Stockham
Cody X Saylors
Wickens C Schemmer
Jeanfrancois M Bowley
Maria C Oldroyd
Emily G Glick
Jones Q Caudy
Silvio X Caldarera
Johnson P Briddick
Juan W Tollner
Francesco Z Shinko
Munro N Paprocki
Aruna Q Maclead
Morrow L Ferencz
Greenwood L Stockham
IdCountryDate
1000Italy2026-10-20
1001United Kingdom2026-10-11
1002France2026-10-11
1003France2026-10-09
1004Spain2026-09-29
1005Russia2026-10-27
1006India2026-10-24
1007Italy2026-10-05
1008France2026-10-13
1009France2026-10-27
1010Germany2026-10-17
1011Australia2026-10-09
1012Russia2026-10-23
1013United Kingdom2026-10-16
1014Canada2026-10-28
1015United Kingdom2026-10-10
1016Canada2026-10-08
1017Germany2026-10-24
1018Spain2026-10-05
1019France2026-10-09
1020Spain2026-10-20
1021Germany2026-10-17
1022Germany2026-10-23
1023United Kingdom2026-10-04
1024Russia2026-10-02
1025Germany2026-10-22
1026Spain2026-10-27
1027Italy2026-10-07
1028Argentina2026-10-20
1029Brazil2026-09-30
1030Japan2026-10-22
1031India2026-10-13
1032Argentina2026-10-23
1033Germany2026-10-25
1034United Kingdom2026-09-30
1035United Kingdom2026-10-01
1036Brazil2026-10-11
1037Italy2026-10-18
1038Japan2026-10-17
1039Russia2026-10-07
1040Italy2026-10-22
1041United Kingdom2026-09-30
1042Japan2026-10-05
1043Spain2026-10-06
1044Germany2026-10-06
1045Japan2026-10-04
1046Japan2026-09-30
1047Japan2026-10-13
1048Australia2026-10-11
1049Argentina2026-10-09

On-Demand Data

NameIdCountryDate
Kaitlin B Iturbide1000Spain2026-10-17
Nicolas C Ostrosky1001Italy2026-10-04
Nicolas G Maclead1002Australia2026-10-03
Ricardo G Nicka1003Russia2026-10-12
Jennifer G Shinko1004Italy2026-10-16
Costa V Perin1005Canada2026-10-09
Alejandro V Marrier1006Argentina2026-10-25
Jeanfrancois X Wieser1007Japan2026-10-23
Wickens T Kusko1008Canada2026-10-17
Morrow K Vocelka1009Spain2026-10-24
Mujtaba N Figeroa1010Brazil2026-10-28
Antonio H Figeroa1011Canada2026-10-27
Deepesh X Glick1012Russia2026-10-13
Cody Z Garufi1013Argentina2026-10-07
Izzy O Dilliard1014Canada2026-10-11
Leon M Kusko1015Italy2026-10-18
Aruna A Oldroyd1016United Kingdom2026-10-14
Sinclair O Gaucho1017Russia2026-10-13
Jones M Inouye1018Argentina2026-10-03
Smith R Waycott1019Brazil2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair O VenereItalyXuxue Feng QUALIFIED
Misaki H SergiIndiaIoni Bowcher UNQUALIFIED
Julie V PaprockiBrazilIvan Magalhaes QUALIFIED
Munro B FigeroaSpainIvan Magalhaes QUALIFIED
Claire S MaletArgentinaOnyama Limba UNQUALIFIED
Jones Z NickaBrazilElwin Sharvill NEW
Misaki T WaycottJapanXuxue Feng NEGOTIATION
Ricardo J PaprockiJapanElwin Sharvill RENEWAL
Kaitlin M RoysterSpainStephen Shaw PROPOSAL
Leja T GauchoSpainBernardo Dominic NEGOTIATION
Aika A SchemmerFranceXuxue Feng UNQUALIFIED
Nicolas E CaldareraUnited KingdomXuxue Feng NEGOTIATION
Clifford G CaldareraItalyAnna Fali QUALIFIED
Jefferson M VenereGermanyAmy Elsner UNQUALIFIED
Salvatore O RulapaughRussiaStephen Shaw UNQUALIFIED
Alejandro W MorascaCanadaAnna Fali RENEWAL
Leja E NestleCanadaBernardo Dominic NEGOTIATION
Deepesh W GarufiArgentinaAsiya Javayant PROPOSAL
Jennifer C MorascaArgentinaIvan Magalhaes QUALIFIED
Morrow F VenereItalyAsiya Javayant UNQUALIFIED
Mayumi T BologniaArgentinaAsiya Javayant QUALIFIED
Ashley F AmigonUnited KingdomStephen Shaw PROPOSAL
Kaitlin Q ButtBrazilStephen Shaw QUALIFIED
Mujtaba N TollnerFranceAsiya Javayant RENEWAL
Chavez K RoysterCanadaAmy Elsner NEW
Juan N SlusarskiRussiaAnna Fali NEW
Maisha Z CaudyUnited KingdomBernardo Dominic RENEWAL
Faith N InouyeGermanyStephen Shaw RENEWAL
Alejandro P SchemmerAustraliaAmy Elsner QUALIFIED
Maisha M MarrierIndiaAmy Elsner NEGOTIATION
Isabel S OldroydJapanIvan Magalhaes PROPOSAL
Adams I AmigonJapanElwin Sharvill QUALIFIED
Jefferson S MarrierGermanyAsiya Javayant RENEWAL
Aruna I FlosiRussiaXuxue Feng RENEWAL
Octavia H FollerRussiaOnyama Limba PROPOSAL
Clifford C CampainRussiaAnna Fali RENEWAL
Munro Q MacleadArgentinaXuxue Feng UNQUALIFIED
Isabel Z VocelkaFranceStephen Shaw UNQUALIFIED
Greenwood C DoeJapanIoni Bowcher UNQUALIFIED
Alejandro P DoeBrazilBernardo Dominic UNQUALIFIED

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