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
Silvio V IturbideUnited KingdomOnyama Limba NEGOTIATION
Antonio I SergiJapanAsiya Javayant QUALIFIED
Maria M GarufiFranceAnna Fali PROPOSAL
Aika F GillianSpainIvan Magalhaes RENEWAL
Maria L GlickIndiaStephen Shaw RENEWAL
Wickens G OstroskyIndiaIoni Bowcher NEGOTIATION
Sinclair T StockhamJapanAsiya Javayant RENEWAL
Murillo Z NickaFranceBernardo Dominic NEW
Leon U SlusarskiBrazilIvan Magalhaes NEGOTIATION
Isabel H StensethItalyStephen Shaw RENEWAL
David O ShinkoIndiaIoni Bowcher NEW
James X InouyeUnited KingdomStephen Shaw UNQUALIFIED
Leja R MaletGermanyIvan Magalhaes PROPOSAL
Chavez E BriddickJapanAsiya Javayant NEW
Stacey R FlosiArgentinaBernardo Dominic NEW
Arvin M BriddickCanadaXuxue Feng UNQUALIFIED
Chavez T FerenczItalyOnyama Limba NEGOTIATION
Clifford Q FigeroaFranceStephen Shaw PROPOSAL
Adams X SergiArgentinaAmy Elsner NEGOTIATION
Mayumi B OstroskyCanadaIvan Magalhaes PROPOSAL
Johnson L SaylorsSpainStephen Shaw RENEWAL
Maisha Q GlickFranceAsiya Javayant NEGOTIATION
Greenwood Q ButtJapanStephen Shaw RENEWAL
Salvatore M PerinCanadaAmy Elsner RENEWAL
Faith Q SaylorsItalyStephen Shaw QUALIFIED
Aruna K DoeGermanyXuxue Feng RENEWAL
Julie D SaylorsCanadaAnna Fali UNQUALIFIED
Wickens H SaylorsBrazilOnyama Limba UNQUALIFIED
Octavia O RutaItalyBernardo Dominic NEW
Antonio F FlosiSpainStephen Shaw QUALIFIED
Aditya A ChuiRussiaStephen Shaw NEW
Silvio L IturbideSpainElwin Sharvill NEW
Emily B KolmetzAustraliaIoni Bowcher QUALIFIED
Munro H FigeroaIndiaAmy Elsner RENEWAL
Jefferson H VocelkaBrazilXuxue Feng QUALIFIED
Faith R FerenczRussiaIvan Magalhaes RENEWAL
Rodrigues F KolmetzJapanXuxue Feng NEGOTIATION
Julie I BriddickBrazilElwin Sharvill PROPOSAL
Maisha V PaprockiRussiaStephen Shaw QUALIFIED
Arvin N GarufiFranceAsiya Javayant UNQUALIFIED
Jones V RulapaughUnited KingdomIoni Bowcher QUALIFIED
Rodrigues M SchemmerArgentinaAnna Fali NEGOTIATION
Murillo O InouyeAustraliaAmy Elsner QUALIFIED
Darci O BowleyIndiaElwin Sharvill UNQUALIFIED
Emily O WieserArgentinaAsiya Javayant PROPOSAL
Faith Q FlosiSpainStephen Shaw NEW
Costa K CampainBrazilAnna Fali RENEWAL
Faith X SchemmerIndiaAsiya Javayant QUALIFIED
Juan T IturbideFranceIvan Magalhaes NEGOTIATION
Maisha G StensethBrazilBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire L SergiRussiaAmy Elsner QUALIFIED
Ricardo D VenereCanadaAnna Fali PROPOSAL
Jefferson E WhobreyJapanIvan Magalhaes PROPOSAL
Adams Y GillianAustraliaIvan Magalhaes UNQUALIFIED
Wickens J ButtGermanyAnna Fali UNQUALIFIED
Julie A WieserArgentinaAnna Fali NEGOTIATION
Kadeem U BologniaCanadaAsiya Javayant NEGOTIATION
Nicolas T ChuiRussiaStephen Shaw UNQUALIFIED
Clifford O IturbideIndiaElwin Sharvill QUALIFIED
Nicolas K GarufiRussiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith T BologniaCanada2026-09-07Chapman, Ross E Esq QUALIFIED82Elwin Sharvill
1001Julie E KolmetzSpain2026-09-08Benton, John B Jr NEW56Anna Fali
1002Jeanfrancois V WieserSpain2026-09-11Morlong Associates NEW15Stephen Shaw
1003Smith M MaletSpain2026-09-16Rousseaux, Michael Esq RENEWAL99Stephen Shaw
1004Ashley L NickaIndia2026-09-13Buckley Miller Wright UNQUALIFIED39Ioni Bowcher
1005Johnson W RutaAustralia2026-08-30Feiner Bros UNQUALIFIED57Stephen Shaw
1006James W StockhamCanada2026-09-20Morlong Associates RENEWAL86Anna Fali
1007Tony A InouyeBrazil2026-09-21Chapman, Ross E Esq PROPOSAL4Bernardo Dominic
1008Rodrigues O WaycottFrance2026-09-21Chanay, Jeffrey A Esq UNQUALIFIED30Elwin Sharvill
1009David V StockhamItaly2026-09-13Buckley Miller Wright NEW19Stephen Shaw
1010Maria H NestleIndia2026-09-12Rangoni Of Florence PROPOSAL75Anna Fali
1011Smith A FollerItaly2026-09-13Dorl, James J Esq QUALIFIED80Elwin Sharvill
1012Isabel Q VocelkaCanada2026-09-15Truhlar And Truhlar Attys RENEWAL30Xuxue Feng
1013Francesco V RimRussia2026-09-02King, Christopher A Esq RENEWAL11Onyama Limba
1014Arvin U ButtIndia2026-09-05Feiner Bros NEW74Ivan Magalhaes
1015Adams V MacleadUnited Kingdom2026-09-26Morlong Associates NEGOTIATION92Ioni Bowcher
1016Salvatore L FerenczUnited Kingdom2026-09-05Chapman, Ross E Esq QUALIFIED87Ioni Bowcher
1017James T CaldareraSpain2026-09-18Truhlar And Truhlar Attys RENEWAL26Bernardo Dominic
1018Ricardo K RulapaughItaly2026-09-19Feiner Bros QUALIFIED53Onyama Limba
1019Cody Z OldroydRussia2026-08-30Feiner Bros QUALIFIED31Elwin Sharvill
1020Leja F DoeItaly2026-09-05Chapman, Ross E Esq PROPOSAL99Asiya Javayant
1021Misaki N StockhamJapan2026-09-16Feiner Bros RENEWAL96Elwin Sharvill
1022Ivar J MarrierArgentina2026-09-12Chemel, James L Cpa RENEWAL46Ioni Bowcher
1023Wickens Q OstroskyIndia2026-09-14Morlong Associates PROPOSAL76Xuxue Feng
1024Ivar N TollnerSpain2026-09-22Feltz Printing Service RENEWAL35Anna Fali
1025Jeanfrancois O SergiJapan2026-09-09Chemel, James L Cpa UNQUALIFIED10Asiya Javayant
1026Nicolas X MaletJapan2026-08-31Morlong Associates NEGOTIATION22Ivan Magalhaes
1027Nicolas E FollerSpain2026-08-31Truhlar And Truhlar Attys PROPOSAL86Stephen Shaw
1028Salvatore C RulapaughItaly2026-08-30King, Christopher A Esq NEGOTIATION51Amy Elsner
1029Cody S MarrierAustralia2026-09-25Rousseaux, Michael Esq RENEWAL19Onyama Limba
1030Mayumi F BowleySpain2026-09-21Dorl, James J Esq QUALIFIED54Anna Fali
1031Jones I RoysterSpain2026-08-30King, Christopher A Esq NEW97Onyama Limba
1032Leon N BologniaArgentina2026-09-04Rousseaux, Michael Esq PROPOSAL30Asiya Javayant
1033Ricardo T WhobreyCanada2026-09-10Commercial Press PROPOSAL34Bernardo Dominic
1034Ivar X CampainGermany2026-09-24Benton, John B Jr NEW26Xuxue Feng
1035Maria I SergiGermany2026-08-30Rousseaux, Michael Esq NEW17Xuxue Feng
1036Jennifer B ButtGermany2026-08-30Rangoni Of Florence UNQUALIFIED82Onyama Limba
1037Maisha Q StensethRussia2026-09-07Chemel, James L Cpa NEW10Asiya Javayant
1038Misaki J CampainRussia2026-09-18Buckley Miller Wright UNQUALIFIED77Bernardo Dominic
1039Tony M WhobreyCanada2026-09-06Rangoni Of Florence PROPOSAL81Asiya Javayant
1040Faith T ChuiArgentina2026-09-06Chanay, Jeffrey A Esq PROPOSAL55Ioni Bowcher
1041Deepesh Q IturbideIndia2026-09-14King, Christopher A Esq UNQUALIFIED55Bernardo Dominic
1042Silvio S VenereArgentina2026-09-11Buckley Miller Wright NEW98Anna Fali
1043Johnson T WhobreyFrance2026-09-27Dorl, James J Esq UNQUALIFIED21Xuxue Feng
1044Leja L StensethFrance2026-09-14Benton, John B Jr QUALIFIED34Ioni Bowcher
1045Claire W GillianSpain2026-08-31Dorl, James J Esq QUALIFIED78Stephen Shaw
1046Deepesh T SlusarskiRussia2026-09-25King, Christopher A Esq QUALIFIED38Ioni Bowcher
1047Mujtaba Z BowleyArgentina2026-09-15Rousseaux, Michael Esq QUALIFIED20Xuxue Feng
1048Aditya M DilliardFrance2026-09-09Feiner Bros PROPOSAL34Anna Fali
1049Emily C WaycottItaly2026-08-31Chemel, James L Cpa PROPOSAL47Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Emily D BriddickSpainElwin Sharvill NEGOTIATION
Ricardo H WieserSpainBernardo Dominic UNQUALIFIED
Maisha J CampainItalyAmy Elsner PROPOSAL
Deepesh G WhobreyUnited KingdomIvan Magalhaes RENEWAL
Aditya O GillianArgentinaIoni Bowcher PROPOSAL
Ashley Q MarrierJapanAnna Fali QUALIFIED
Julie R ChuiUnited KingdomXuxue Feng NEGOTIATION
Stacey G BriddickIndiaBernardo Dominic RENEWAL
Jefferson B SergiGermanyXuxue Feng QUALIFIED
Silvio O CampainJapanIoni Bowcher QUALIFIED
Mujtaba S DoeJapanIvan Magalhaes UNQUALIFIED
Aika C GlickItalyElwin Sharvill UNQUALIFIED
Juan Q RimFranceAsiya Javayant RENEWAL
Mujtaba O PoquetteItalyXuxue Feng NEW
Smith F SlusarskiUnited KingdomElwin Sharvill RENEWAL
Morrow V PerinUnited KingdomElwin Sharvill NEGOTIATION
James L DoeGermanyAsiya Javayant PROPOSAL
Jennifer R AmigonBrazilBernardo Dominic PROPOSAL
Jones N CaudyCanadaAnna Fali NEW
Tony V DilliardIndiaAmy Elsner PROPOSAL
David A StockhamRussiaXuxue Feng UNQUALIFIED
Smith G BowleyUnited KingdomXuxue Feng PROPOSAL
James X GarufiArgentinaXuxue Feng RENEWAL
Ivar W FollerCanadaElwin Sharvill NEGOTIATION
Aruna L AlbaresArgentinaIoni Bowcher PROPOSAL
Ricardo Y GlickAustraliaIoni Bowcher NEGOTIATION
Johnson H PaprockiGermanyOnyama Limba RENEWAL
Nicolas F VocelkaItalyAnna Fali UNQUALIFIED
Emily H DarakjyItalyBernardo Dominic NEGOTIATION
Antonio P StockhamSpainAsiya Javayant UNQUALIFIED
Chavez L GlickAustraliaAmy Elsner NEW
Mujtaba X PoquetteIndiaAsiya Javayant PROPOSAL
Jennifer T ChuiBrazilIoni Bowcher PROPOSAL
Clifford Q SlusarskiCanadaXuxue Feng RENEWAL
Stacey Y RulapaughGermanyXuxue Feng NEW
Izzy B FollerGermanyXuxue Feng NEW
Julie G OldroydIndiaAsiya Javayant QUALIFIED
Aditya W GauchoIndiaOnyama Limba NEGOTIATION
Ashley V RutaSpainXuxue Feng PROPOSAL
Kadeem W MaletItalyBernardo Dominic QUALIFIED
Tony C DarakjyBrazilAmy Elsner QUALIFIED
Jennifer Z GillianCanadaIvan Magalhaes NEGOTIATION
Ricardo R PoquetteBrazilElwin Sharvill NEGOTIATION
Sinclair P OldroydIndiaOnyama Limba RENEWAL
Johnson Z SergiFranceXuxue Feng UNQUALIFIED
Maria K FlosiCanadaElwin Sharvill NEW
Rodrigues P AmigonUnited KingdomAsiya Javayant NEGOTIATION
Ricardo I DoeUnited KingdomAmy Elsner NEW
Tony U DarakjyArgentinaBernardo Dominic UNQUALIFIED
Ricardo F RoysterCanadaAmy Elsner PROPOSAL
Frozen Columns
Name
Faith C Tollner
Jefferson C Nestle
Octavia Y Schemmer
Maria N Bolognia
Misaki L Figeroa
Faith Z Schemmer
Wickens Y Iturbide
Ricardo A Campain
Faith Y Butt
Jeanfrancois M Kusko
Misaki Z Stockham
Claire D Albares
Maria I Doe
Octavia F Sergi
Tony K Amigon
Nicolas M Bowley
Nicolas S Butt
Mayumi X Bolognia
Rodrigues Q Stockham
Wickens P Iturbide
Emily G Figeroa
Maisha W Slusarski
Murillo Z Briddick
Claire O Campain
Aditya D Nicka
Jennifer I Doe
Chavez B Perin
Claire U Wieser
Faith T Bolognia
Francesco H Morasca
Darci Q Darakjy
Munro K Sergi
Salvatore W Slusarski
Morrow X Campain
Jones C Whobrey
Adams J Slusarski
Stacey W Morasca
Munro A Bolognia
Faith X Garufi
Juan P Doe
Costa J Maclead
Chavez E Iturbide
Leon D Dilliard
Mayumi Z Bolognia
Ashley N Dilliard
Claire E Bolognia
Izzy L Bowley
Darci V Malet
Sinclair Z Albares
Jeanfrancois K Kusko
IdCountryDate
1000United Kingdom2026-09-16
1001United Kingdom2026-09-12
1002Brazil2026-09-21
1003Australia2026-08-31
1004Spain2026-09-18
1005France2026-09-04
1006India2026-09-10
1007Italy2026-09-06
1008Italy2026-09-09
1009Brazil2026-09-11
1010India2026-09-01
1011Germany2026-09-28
1012Japan2026-09-09
1013Germany2026-09-09
1014Germany2026-09-16
1015Spain2026-09-19
1016Japan2026-08-31
1017France2026-09-11
1018Russia2026-09-04
1019France2026-09-19
1020Russia2026-09-02
1021United Kingdom2026-09-02
1022Japan2026-09-16
1023India2026-09-18
1024France2026-09-01
1025Brazil2026-09-24
1026Japan2026-09-08
1027Canada2026-09-13
1028Argentina2026-09-28
1029Russia2026-09-21
1030Germany2026-09-27
1031Spain2026-09-27
1032Australia2026-09-27
1033United Kingdom2026-09-19
1034France2026-09-20
1035Spain2026-09-12
1036France2026-09-05
1037Italy2026-09-17
1038Australia2026-09-05
1039Spain2026-09-15
1040Argentina2026-09-04
1041Italy2026-09-20
1042Germany2026-09-01
1043Canada2026-09-03
1044Spain2026-09-04
1045Japan2026-09-18
1046Canada2026-09-12
1047Japan2026-09-16
1048Canada2026-09-25
1049Spain2026-09-03

On-Demand Data

NameIdCountryDate
Deepesh N Briddick1000India2026-09-20
Mujtaba L Slusarski1001Canada2026-09-28
Adams B Campain1002Spain2026-09-18
Misaki E Perin1003Italy2026-09-14
Mayumi K Oldroyd1004Germany2026-09-08
Claire U Morasca1005Spain2026-09-15
Mayumi K Albares1006India2026-09-27
Claire L Ostrosky1007Argentina2026-09-07
Izzy Z Iturbide1008Russia2026-09-20
Izzy W Caldarera1009United Kingdom2026-09-26
Mujtaba J Gaucho1010France2026-09-08
Claire H Paprocki1011Italy2026-09-16
Chavez W Amigon1012Brazil2026-09-03
Jennifer K Shinko1013Canada2026-09-21
David U Kusko1014Canada2026-09-13
Darci D Gillian1015United Kingdom2026-09-04
Claire G Darakjy1016Australia2026-09-07
Maria L Caudy1017Italy2026-09-25
Mujtaba L Poquette1018Russia2026-09-07
Adams X Waycott1019Italy2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody S MaletAustraliaBernardo Dominic UNQUALIFIED
Faith H KolmetzGermanyIvan Magalhaes NEW
Maisha W KuskoGermanyElwin Sharvill QUALIFIED
Clifford R ShinkoGermanyXuxue Feng UNQUALIFIED
Emily M NestleAustraliaXuxue Feng QUALIFIED
Morrow M SlusarskiSpainIvan Magalhaes PROPOSAL
Adams R WieserFranceOnyama Limba QUALIFIED
Julie W SlusarskiArgentinaBernardo Dominic NEW
Ivar A SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Munro C OstroskyJapanAmy Elsner NEW
Stacey D FerenczSpainAnna Fali QUALIFIED
Maria E RoysterIndiaAmy Elsner UNQUALIFIED
Aika N RulapaughRussiaAsiya Javayant QUALIFIED
Mayumi Y RoysterBrazilIvan Magalhaes PROPOSAL
Jennifer A AmigonGermanyIvan Magalhaes NEW
Isabel W GlickUnited KingdomIoni Bowcher NEGOTIATION
Izzy P RulapaughIndiaAnna Fali QUALIFIED
Rodrigues W DarakjyUnited KingdomElwin Sharvill RENEWAL
Kaitlin B MacleadBrazilAmy Elsner UNQUALIFIED
Jeanfrancois B DilliardBrazilOnyama Limba PROPOSAL
Nicolas D StensethIndiaAnna Fali RENEWAL
Deepesh V VocelkaAustraliaXuxue Feng NEW
Cody E RulapaughItalyOnyama Limba UNQUALIFIED
Munro Q GauchoFranceAsiya Javayant NEW
Costa X OstroskyArgentinaOnyama Limba QUALIFIED
Antonio S StockhamRussiaElwin Sharvill QUALIFIED
Aditya P FigeroaArgentinaOnyama Limba UNQUALIFIED
Leon U SergiFranceIvan Magalhaes QUALIFIED
Mujtaba J DilliardGermanyIoni Bowcher UNQUALIFIED
Leja L AmigonIndiaOnyama Limba RENEWAL
Chavez G StensethFranceIoni Bowcher NEW
Jefferson D MorascaRussiaOnyama Limba UNQUALIFIED
Maria M SaylorsAustraliaOnyama Limba PROPOSAL
Adams P WhobreyCanadaStephen Shaw PROPOSAL
Costa A DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Murillo O MaletFranceOnyama Limba UNQUALIFIED
Ashley W SaylorsFranceBernardo Dominic NEW
Wickens O MorascaAustraliaStephen Shaw QUALIFIED
Jefferson U CaldareraBrazilStephen Shaw NEGOTIATION
Cody T FlosiRussiaStephen 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>