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
Cody O BologniaCanadaAmy Elsner UNQUALIFIED
Antonio Q StockhamCanadaAsiya Javayant UNQUALIFIED
Francesco P GauchoUnited KingdomAnna Fali NEW
Silvio X StensethFranceIoni Bowcher UNQUALIFIED
Emily X NestleCanadaXuxue Feng QUALIFIED
Aditya I SergiFranceAmy Elsner NEGOTIATION
Costa H FigeroaItalyStephen Shaw NEGOTIATION
Misaki P SchemmerGermanyOnyama Limba PROPOSAL
Ashley F FollerItalyAmy Elsner NEW
Mayumi E RimItalyIoni Bowcher UNQUALIFIED
Clifford R CaudyArgentinaOnyama Limba NEGOTIATION
David C WhobreyRussiaIoni Bowcher NEGOTIATION
Jones B NestleJapanAsiya Javayant QUALIFIED
Johnson P GauchoIndiaAmy Elsner UNQUALIFIED
Costa R GauchoIndiaAsiya Javayant NEGOTIATION
Kaitlin O MacleadIndiaStephen Shaw RENEWAL
Arvin I GarufiIndiaAsiya Javayant RENEWAL
Alejandro C CaudyIndiaAmy Elsner UNQUALIFIED
Ivar T DoeArgentinaAnna Fali NEGOTIATION
Isabel S RutaFranceAnna Fali NEW
Kaitlin Q TollnerIndiaXuxue Feng UNQUALIFIED
Mayumi D CaudyArgentinaBernardo Dominic RENEWAL
Misaki U CampainSpainXuxue Feng NEW
Faith E BriddickGermanyAsiya Javayant NEGOTIATION
Wickens Z CaldareraJapanBernardo Dominic PROPOSAL
Ricardo Q RoysterRussiaIvan Magalhaes RENEWAL
Jones O MarrierBrazilOnyama Limba RENEWAL
Arvin U FlosiSpainElwin Sharvill PROPOSAL
Jennifer R CampainFranceStephen Shaw NEW
Ashley Q FlosiSpainAmy Elsner PROPOSAL
Costa J WaycottGermanyIvan Magalhaes QUALIFIED
Aruna S FollerAustraliaElwin Sharvill RENEWAL
Izzy M AmigonFranceIvan Magalhaes PROPOSAL
Smith A PoquetteBrazilAsiya Javayant QUALIFIED
Ricardo Z NickaItalyStephen Shaw NEGOTIATION
Cody E CaldareraAustraliaAnna Fali RENEWAL
Murillo S ShinkoRussiaAsiya Javayant RENEWAL
Kadeem Z MaletItalyAmy Elsner PROPOSAL
Jones E SergiBrazilOnyama Limba NEGOTIATION
Maria A AmigonAustraliaIvan Magalhaes NEGOTIATION
Murillo R PaprockiItalyIvan Magalhaes QUALIFIED
Leja E BowleyGermanyOnyama Limba QUALIFIED
Claire D PaprockiSpainAmy Elsner QUALIFIED
Kadeem S IturbideAustraliaOnyama Limba NEW
Mujtaba O SlusarskiAustraliaAmy Elsner NEGOTIATION
Costa H GarufiBrazilXuxue Feng NEW
Jones M MorascaJapanXuxue Feng NEGOTIATION
Johnson J RimUnited KingdomBernardo Dominic PROPOSAL
Kadeem E RutaGermanyIvan Magalhaes UNQUALIFIED
Mayumi D SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey O SlusarskiIndiaAnna Fali QUALIFIED
Misaki K AmigonIndiaElwin Sharvill NEW
Faith P MaletUnited KingdomIvan Magalhaes PROPOSAL
David M BologniaBrazilBernardo Dominic PROPOSAL
Kaitlin K SlusarskiIndiaAmy Elsner PROPOSAL
Ivar T GauchoIndiaBernardo Dominic NEW
Julie W GlickAustraliaOnyama Limba NEGOTIATION
Clifford T ShinkoRussiaIoni Bowcher PROPOSAL
Claire B KuskoRussiaAmy Elsner QUALIFIED
Greenwood V CampainGermanyOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas A StensethSpain2026-08-30Chemel, James L Cpa RENEWAL87Bernardo Dominic
1001Chavez W GlickSpain2026-09-16Printing Dimensions PROPOSAL69Asiya Javayant
1002Juan L OldroydGermany2026-09-19Printing Dimensions UNQUALIFIED20Anna Fali
1003Alejandro S DilliardIndia2026-09-05Printing Dimensions NEGOTIATION28Anna Fali
1004Silvio S InouyeSpain2026-09-22Rousseaux, Michael Esq NEW30Xuxue Feng
1005Salvatore P SlusarskiArgentina2026-09-23Rangoni Of Florence PROPOSAL98Asiya Javayant
1006Juan D GauchoGermany2026-09-18Rousseaux, Michael Esq NEW35Amy Elsner
1007Murillo H MacleadRussia2026-09-14Buckley Miller Wright NEGOTIATION85Anna Fali
1008David Z SergiJapan2026-08-26Chemel, James L Cpa UNQUALIFIED28Bernardo Dominic
1009Darci P DarakjySpain2026-09-19King, Christopher A Esq UNQUALIFIED58Onyama Limba
1010Stacey K WieserSpain2026-09-07Morlong Associates UNQUALIFIED16Onyama Limba
1011Mayumi X DilliardArgentina2026-09-15Printing Dimensions QUALIFIED40Amy Elsner
1012Aruna P PerinIndia2026-09-10Buckley Miller Wright PROPOSAL38Onyama Limba
1013Maisha G RulapaughRussia2026-09-09King, Christopher A Esq PROPOSAL85Asiya Javayant
1014Silvio K TollnerCanada2026-09-08Benton, John B Jr NEGOTIATION93Amy Elsner
1015Jefferson V RulapaughAustralia2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED24Ivan Magalhaes
1016Isabel S FollerArgentina2026-09-01Chanay, Jeffrey A Esq NEW35Asiya Javayant
1017Rodrigues W DilliardSpain2026-08-26Morlong Associates NEGOTIATION13Elwin Sharvill
1018Tony R GauchoIndia2026-09-02Buckley Miller Wright RENEWAL69Stephen Shaw
1019Aditya R KuskoItaly2026-08-26Truhlar And Truhlar Attys NEW11Ivan Magalhaes
1020Aruna N FigeroaRussia2026-08-29Morlong Associates RENEWAL32Stephen Shaw
1021Smith N OldroydCanada2026-09-19Truhlar And Truhlar Attys PROPOSAL19Elwin Sharvill
1022Salvatore T SlusarskiSpain2026-09-15Truhlar And Truhlar Attys PROPOSAL7Elwin Sharvill
1023Nicolas Z VocelkaIndia2026-09-07Feiner Bros NEW94Stephen Shaw
1024Jeanfrancois D FollerCanada2026-09-02Benton, John B Jr NEW35Anna Fali
1025Adams Y MaletGermany2026-08-27Dorl, James J Esq NEGOTIATION44Anna Fali
1026Morrow D MacleadGermany2026-08-27Morlong Associates PROPOSAL17Onyama Limba
1027Morrow X InouyeCanada2026-09-10Chemel, James L Cpa QUALIFIED6Amy Elsner
1028Mujtaba P WhobreyJapan2026-09-05Commercial Press NEW69Ivan Magalhaes
1029Costa R RoysterRussia2026-09-22Morlong Associates QUALIFIED80Ivan Magalhaes
1030Silvio F MaletIndia2026-09-03Morlong Associates RENEWAL35Anna Fali
1031Maria O KuskoArgentina2026-09-13Rousseaux, Michael Esq RENEWAL32Stephen Shaw
1032Arvin F AlbaresItaly2026-09-01Buckley Miller Wright PROPOSAL49Stephen Shaw
1033Alejandro R NestleArgentina2026-09-18Chemel, James L Cpa RENEWAL7Elwin Sharvill
1034James C CampainIndia2026-08-31King, Christopher A Esq NEGOTIATION57Asiya Javayant
1035Isabel Q WhobreyBrazil2026-09-05Feiner Bros PROPOSAL69Ivan Magalhaes
1036Wickens P GlickAustralia2026-09-22Morlong Associates RENEWAL5Amy Elsner
1037Tony E VenereIndia2026-09-07Chapman, Ross E Esq PROPOSAL22Xuxue Feng
1038Darci M PerinJapan2026-09-15Truhlar And Truhlar Attys RENEWAL20Onyama Limba
1039Jefferson E CaldareraIndia2026-09-03King, Christopher A Esq NEGOTIATION53Amy Elsner
1040Jefferson S MacleadJapan2026-08-26Feiner Bros NEGOTIATION78Ioni Bowcher
1041Kaitlin R CampainArgentina2026-09-06Chanay, Jeffrey A Esq QUALIFIED41Onyama Limba
1042Ashley E ButtCanada2026-08-25Rangoni Of Florence NEGOTIATION35Stephen Shaw
1043Julie A WaycottItaly2026-09-16Buckley Miller Wright UNQUALIFIED23Anna Fali
1044Ashley S RoysterRussia2026-09-15Feltz Printing Service NEGOTIATION71Onyama Limba
1045Isabel M PaprockiUnited Kingdom2026-09-16Truhlar And Truhlar Attys RENEWAL52Xuxue Feng
1046Nicolas G PaprockiFrance2026-09-19Rangoni Of Florence NEGOTIATION32Anna Fali
1047Jennifer X BriddickItaly2026-09-08Chapman, Ross E Esq PROPOSAL36Anna Fali
1048Costa I FlosiGermany2026-09-16Morlong Associates NEW11Onyama Limba
1049Faith F StensethFrance2026-09-21Buckley Miller Wright QUALIFIED39Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Izzy X GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi K PoquetteItalyStephen Shaw RENEWAL
Alejandro E AmigonRussiaIoni Bowcher PROPOSAL
Kaitlin K FigeroaItalyIoni Bowcher PROPOSAL
Kaitlin C PerinSpainStephen Shaw NEGOTIATION
Morrow N BowleyBrazilBernardo Dominic PROPOSAL
Jones R FlosiJapanIoni Bowcher NEW
Cody X BriddickArgentinaOnyama Limba QUALIFIED
Chavez S DoeCanadaAnna Fali NEW
Munro K BriddickIndiaAnna Fali UNQUALIFIED
Jefferson U InouyeGermanyOnyama Limba PROPOSAL
Jeanfrancois I DoeFranceBernardo Dominic QUALIFIED
Octavia V BologniaSpainAsiya Javayant RENEWAL
Julie D DilliardJapanIvan Magalhaes RENEWAL
Cody N MaletSpainIvan Magalhaes NEGOTIATION
Jefferson Z MorascaArgentinaStephen Shaw NEW
Arvin F OstroskyGermanyAmy Elsner QUALIFIED
Cody W MaletIndiaXuxue Feng NEW
James W WaycottIndiaXuxue Feng PROPOSAL
Morrow C SlusarskiJapanAmy Elsner PROPOSAL
Munro K MarrierJapanIoni Bowcher NEGOTIATION
Arvin T InouyeArgentinaBernardo Dominic RENEWAL
Juan X IturbideSpainIvan Magalhaes UNQUALIFIED
Mujtaba A MarrierBrazilXuxue Feng NEGOTIATION
Darci I VocelkaBrazilElwin Sharvill QUALIFIED
Mayumi W MaletGermanyBernardo Dominic PROPOSAL
Jefferson F CaudyUnited KingdomAsiya Javayant NEGOTIATION
Deepesh J MarrierCanadaOnyama Limba NEW
Claire E GauchoUnited KingdomAnna Fali PROPOSAL
Jeanfrancois I RutaArgentinaAsiya Javayant PROPOSAL
Mayumi T DilliardBrazilXuxue Feng RENEWAL
Kadeem O MorascaFranceOnyama Limba RENEWAL
Deepesh K SchemmerArgentinaBernardo Dominic NEGOTIATION
Silvio F NickaItalyAsiya Javayant NEW
Greenwood X RulapaughCanadaElwin Sharvill NEGOTIATION
Leja A GauchoUnited KingdomAmy Elsner NEGOTIATION
Ashley C ButtSpainOnyama Limba NEGOTIATION
Antonio S RutaArgentinaStephen Shaw RENEWAL
Clifford Q RulapaughBrazilElwin Sharvill PROPOSAL
Jefferson V RoysterUnited KingdomAsiya Javayant NEGOTIATION
Aruna V VenereCanadaBernardo Dominic NEW
Chavez Q WhobreyUnited KingdomBernardo Dominic NEW
Munro V RimItalyOnyama Limba PROPOSAL
Leon N GlickIndiaOnyama Limba NEGOTIATION
Johnson E RutaAustraliaIoni Bowcher RENEWAL
Izzy U WaycottItalyAmy Elsner PROPOSAL
Ricardo Z SchemmerBrazilAsiya Javayant PROPOSAL
Wickens U VocelkaItalyAsiya Javayant NEW
Tony F NestleIndiaAsiya Javayant NEGOTIATION
Salvatore P KuskoIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Isabel Y Kusko
Smith O Sergi
Johnson W Wieser
David C Ruta
Alejandro A Gaucho
Smith O Caudy
Ricardo I Butt
Octavia D Morasca
Maisha O Perin
Sinclair C Marrier
Salvatore D Royster
Octavia N Vocelka
David E Foller
Chavez Z Briddick
Julie G Waycott
Leja F Perin
Francesco S Briddick
Juan V Flosi
Darci M Glick
Ricardo C Schemmer
Alejandro V Tollner
Maria N Caudy
Juan D Caldarera
Ivar R Morasca
Adams B Vocelka
Tony N Campain
Antonio R Ruta
Kaitlin E Morasca
James H Shinko
Mayumi T Nestle
Morrow Q Kusko
Leja H Dilliard
Chavez Q Whobrey
Chavez C Iturbide
David T Morasca
Juan W Chui
Kaitlin P Perin
Munro C Malet
Rodrigues Z Morasca
Deepesh K Marrier
Jefferson Y Maclead
Costa Z Marrier
Jeanfrancois X Stenseth
Jefferson F Morasca
Silvio N Stockham
Julie X Rim
Salvatore J Shinko
Munro P Saylors
Leon A Caldarera
Juan I Nestle
IdCountryDate
1000United Kingdom2026-09-03
1001Argentina2026-09-22
1002France2026-09-07
1003Canada2026-09-07
1004Italy2026-08-27
1005Brazil2026-09-01
1006United Kingdom2026-09-19
1007Argentina2026-09-18
1008Russia2026-09-05
1009France2026-09-16
1010Canada2026-08-25
1011Spain2026-09-16
1012Japan2026-09-06
1013Argentina2026-09-03
1014Argentina2026-09-22
1015Italy2026-09-10
1016Australia2026-09-01
1017Italy2026-09-15
1018India2026-09-05
1019United Kingdom2026-09-11
1020Italy2026-09-15
1021United Kingdom2026-08-28
1022United Kingdom2026-08-28
1023Spain2026-09-22
1024Argentina2026-09-06
1025Brazil2026-09-07
1026Italy2026-09-17
1027France2026-09-12
1028Brazil2026-09-23
1029United Kingdom2026-09-16
1030Canada2026-09-11
1031Spain2026-08-25
1032India2026-09-14
1033Spain2026-09-10
1034Germany2026-08-27
1035Japan2026-09-15
1036Japan2026-09-10
1037Germany2026-09-14
1038Argentina2026-09-03
1039Australia2026-09-18
1040Germany2026-09-22
1041United Kingdom2026-08-29
1042Germany2026-09-14
1043Argentina2026-09-22
1044Australia2026-08-27
1045Spain2026-08-25
1046Argentina2026-09-04
1047Russia2026-09-20
1048Japan2026-09-19
1049France2026-08-29

On-Demand Data

NameIdCountryDate
Darci D Shinko1000Brazil2026-09-05
Julie V Wieser1001France2026-09-21
Tony W Schemmer1002United Kingdom2026-09-10
Kadeem D Vocelka1003Germany2026-08-29
Mujtaba S Ferencz1004Germany2026-09-10
Antonio C Slusarski1005Spain2026-09-11
Ashley P Royster1006India2026-09-22
Arvin T Foller1007Brazil2026-09-03
Mujtaba A Royster1008Argentina2026-09-04
James Q Oldroyd1009Japan2026-09-08
Jones K Venere1010Russia2026-08-26
Wickens A Sergi1011Italy2026-09-10
Isabel M Schemmer1012Japan2026-08-29
Izzy W Malet1013Italy2026-09-01
Clifford V Doe1014Russia2026-09-15
Silvio G Paprocki1015Spain2026-08-29
Chavez Z Figeroa1016India2026-09-12
Mayumi M Wieser1017Canada2026-08-30
David T Whobrey1018India2026-09-11
Darci V Vocelka1019Argentina2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa E MorascaItalyAmy Elsner NEGOTIATION
Izzy E NestleArgentinaAnna Fali UNQUALIFIED
Munro G RoysterArgentinaAnna Fali RENEWAL
Smith T RoysterRussiaElwin Sharvill NEW
Claire T OstroskyItalyIvan Magalhaes QUALIFIED
Jennifer B IturbideItalyAnna Fali NEW
Octavia K TollnerGermanyXuxue Feng RENEWAL
Chavez M GauchoAustraliaBernardo Dominic PROPOSAL
Aditya O CaldareraSpainAmy Elsner NEW
Maria U WieserIndiaAsiya Javayant NEGOTIATION
Octavia P BriddickAustraliaAnna Fali RENEWAL
Munro L VocelkaGermanyAmy Elsner QUALIFIED
Misaki O BologniaArgentinaIoni Bowcher NEW
Misaki A MarrierIndiaAsiya Javayant PROPOSAL
Claire R MaletRussiaElwin Sharvill UNQUALIFIED
Jefferson J CaldareraSpainAsiya Javayant PROPOSAL
Aditya M MorascaArgentinaAsiya Javayant NEW
Jones D MarrierSpainIoni Bowcher RENEWAL
Greenwood M BowleyFranceOnyama Limba QUALIFIED
Juan N SlusarskiGermanyOnyama Limba QUALIFIED
Smith Z MaletIndiaAsiya Javayant UNQUALIFIED
Jones Z VocelkaJapanOnyama Limba QUALIFIED
Kaitlin W RoysterUnited KingdomIoni Bowcher QUALIFIED
Misaki X SaylorsIndiaIvan Magalhaes NEGOTIATION
Julie V FollerFranceStephen Shaw PROPOSAL
Salvatore L FollerCanadaAsiya Javayant NEW
Maria V GillianGermanyBernardo Dominic QUALIFIED
Chavez H AlbaresIndiaAmy Elsner NEW
Greenwood Y CampainUnited KingdomAmy Elsner NEW
Cody Z SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Alejandro B FerenczFranceStephen Shaw UNQUALIFIED
Leon Z MorascaIndiaOnyama Limba NEW
Jones J RoysterUnited KingdomAnna Fali PROPOSAL
Ashley E SchemmerFranceElwin Sharvill NEW
Faith U NestleArgentinaAsiya Javayant NEGOTIATION
Clifford A MaletAustraliaOnyama Limba UNQUALIFIED
Mujtaba T ChuiGermanyIvan Magalhaes PROPOSAL
Alejandro D FigeroaItalyIvan Magalhaes PROPOSAL
Arvin Q TollnerAustraliaIoni Bowcher RENEWAL
Alejandro Z BologniaIndiaAmy Elsner 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>