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
Greenwood U RimFranceIvan Magalhaes RENEWAL
Juan F SergiRussiaElwin Sharvill NEW
Johnson H CaldareraAustraliaElwin Sharvill NEW
Kaitlin L MaletUnited KingdomXuxue Feng UNQUALIFIED
Stacey E MaletBrazilAnna Fali NEGOTIATION
Claire E DoeRussiaXuxue Feng PROPOSAL
Darci A IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Julie H InouyeAustraliaOnyama Limba RENEWAL
Deepesh N RimUnited KingdomIvan Magalhaes NEGOTIATION
Adams L GarufiIndiaIoni Bowcher QUALIFIED
Isabel U GlickIndiaAnna Fali RENEWAL
Nicolas F RimUnited KingdomStephen Shaw QUALIFIED
Cody A BologniaFranceIvan Magalhaes NEGOTIATION
Misaki T BowleyIndiaAnna Fali RENEWAL
Munro G PaprockiItalyIvan Magalhaes UNQUALIFIED
Chavez Y DilliardIndiaBernardo Dominic RENEWAL
Maisha P KuskoArgentinaStephen Shaw PROPOSAL
Costa Y PerinAustraliaAnna Fali NEGOTIATION
Claire J BowleyArgentinaAmy Elsner NEW
Faith K InouyeCanadaElwin Sharvill UNQUALIFIED
Leon D ButtBrazilAnna Fali NEGOTIATION
Nicolas M IturbideSpainElwin Sharvill PROPOSAL
Julie N FlosiSpainAsiya Javayant NEGOTIATION
Aruna C KolmetzGermanyStephen Shaw NEW
Juan V OstroskyRussiaOnyama Limba RENEWAL
Arvin M DoeAustraliaAmy Elsner NEW
Clifford A MorascaUnited KingdomIoni Bowcher NEGOTIATION
Aruna N MaletGermanyXuxue Feng RENEWAL
Sinclair U AlbaresJapanStephen Shaw RENEWAL
Wickens Q WhobreyIndiaAmy Elsner UNQUALIFIED
Ivar M GlickArgentinaIvan Magalhaes NEGOTIATION
Mayumi L SlusarskiBrazilAmy Elsner PROPOSAL
Jennifer Z DarakjyCanadaAsiya Javayant RENEWAL
Tony E MacleadRussiaElwin Sharvill QUALIFIED
Silvio U CaudyBrazilAmy Elsner RENEWAL
Smith D GauchoIndiaIoni Bowcher UNQUALIFIED
Alejandro Z WieserGermanyIoni Bowcher PROPOSAL
Julie P GlickUnited KingdomAsiya Javayant QUALIFIED
Alejandro A FlosiSpainElwin Sharvill NEW
Leja J BowleyCanadaIoni Bowcher NEW
Aika V WieserGermanyBernardo Dominic RENEWAL
Wickens H DoeCanadaXuxue Feng PROPOSAL
Costa W RutaBrazilElwin Sharvill QUALIFIED
Francesco K TollnerIndiaElwin Sharvill NEGOTIATION
Johnson W RulapaughItalyAmy Elsner RENEWAL
Cody H DarakjyArgentinaXuxue Feng PROPOSAL
Faith U NestleUnited KingdomElwin Sharvill UNQUALIFIED
Leja P NickaCanadaStephen Shaw NEW
Munro P GillianUnited KingdomAmy Elsner RENEWAL
Antonio V TollnerBrazilIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki L FollerRussiaAmy Elsner RENEWAL
Julie U MaletCanadaOnyama Limba NEGOTIATION
Johnson A RulapaughArgentinaOnyama Limba NEGOTIATION
Johnson J AmigonRussiaIoni Bowcher PROPOSAL
Nicolas H RulapaughFranceAsiya Javayant QUALIFIED
Deepesh J MarrierItalyAmy Elsner QUALIFIED
Leon J SaylorsRussiaXuxue Feng NEW
Silvio C RulapaughCanadaAsiya Javayant NEW
Sinclair J KolmetzGermanyBernardo Dominic PROPOSAL
Smith E NestleSpainOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna A WhobreyFrance2026-10-14Morlong Associates PROPOSAL40Onyama Limba
1001Chavez T WhobreySpain2026-10-15King, Christopher A Esq UNQUALIFIED48Onyama Limba
1002Sinclair X SaylorsArgentina2026-10-12Commercial Press UNQUALIFIED51Xuxue Feng
1003Stacey W TollnerJapan2026-09-27Morlong Associates NEGOTIATION57Xuxue Feng
1004Morrow Q AlbaresBrazil2026-10-15Benton, John B Jr NEGOTIATION26Bernardo Dominic
1005Alejandro S AmigonGermany2026-10-22Feltz Printing Service QUALIFIED73Asiya Javayant
1006Salvatore P BowleyGermany2026-10-11Printing Dimensions RENEWAL49Xuxue Feng
1007Leon N ShinkoGermany2026-09-24Feiner Bros UNQUALIFIED63Asiya Javayant
1008Mujtaba J RoysterFrance2026-10-01Feiner Bros UNQUALIFIED63Stephen Shaw
1009Juan K BologniaAustralia2026-10-14Commercial Press RENEWAL21Amy Elsner
1010Murillo A MorascaUnited Kingdom2026-09-23Chanay, Jeffrey A Esq QUALIFIED21Stephen Shaw
1011Morrow V BriddickUnited Kingdom2026-10-06Commercial Press QUALIFIED7Amy Elsner
1012Izzy N CaudyAustralia2026-10-02Buckley Miller Wright NEW50Anna Fali
1013Smith E SchemmerRussia2026-10-02Chemel, James L Cpa RENEWAL78Elwin Sharvill
1014Claire I OstroskyCanada2026-10-15Feiner Bros QUALIFIED83Xuxue Feng
1015Deepesh R KolmetzRussia2026-10-05Dorl, James J Esq NEW39Asiya Javayant
1016Aditya V RimIndia2026-09-26King, Christopher A Esq RENEWAL28Bernardo Dominic
1017Aika T BologniaItaly2026-10-17Printing Dimensions RENEWAL40Ivan Magalhaes
1018Clifford K CampainUnited Kingdom2026-10-22Commercial Press NEW29Xuxue Feng
1019Adams R BowleyCanada2026-09-30Buckley Miller Wright QUALIFIED37Bernardo Dominic
1020Darci R ChuiFrance2026-09-23Printing Dimensions NEW14Anna Fali
1021Maisha I TollnerSpain2026-09-26Commercial Press QUALIFIED69Xuxue Feng
1022Deepesh O ButtJapan2026-10-08Truhlar And Truhlar Attys NEW35Ivan Magalhaes
1023Morrow E NickaIndia2026-10-15Feiner Bros UNQUALIFIED13Stephen Shaw
1024Sinclair M GarufiArgentina2026-10-03Chemel, James L Cpa PROPOSAL9Ioni Bowcher
1025Jennifer D SaylorsArgentina2026-10-08Chanay, Jeffrey A Esq RENEWAL68Onyama Limba
1026Stacey O DarakjyRussia2026-10-01Commercial Press NEW87Elwin Sharvill
1027Kaitlin T BriddickBrazil2026-10-11Morlong Associates RENEWAL4Asiya Javayant
1028Francesco I SlusarskiBrazil2026-10-15Benton, John B Jr NEGOTIATION34Onyama Limba
1029Deepesh M WieserIndia2026-10-01Chemel, James L Cpa UNQUALIFIED27Stephen Shaw
1030Mayumi G RoysterItaly2026-09-26Feltz Printing Service NEGOTIATION8Ivan Magalhaes
1031Jefferson T GillianIndia2026-10-03Chemel, James L Cpa RENEWAL2Stephen Shaw
1032Jones J MaletCanada2026-10-02Chanay, Jeffrey A Esq QUALIFIED29Ioni Bowcher
1033Julie C FigeroaIndia2026-09-29Rousseaux, Michael Esq UNQUALIFIED72Xuxue Feng
1034Antonio V IturbideBrazil2026-10-21Dorl, James J Esq PROPOSAL84Xuxue Feng
1035Munro T WieserGermany2026-10-18Morlong Associates QUALIFIED67Ivan Magalhaes
1036Kadeem E InouyeAustralia2026-10-21Truhlar And Truhlar Attys NEW27Bernardo Dominic
1037Adams G VocelkaSpain2026-10-21Truhlar And Truhlar Attys QUALIFIED44Ivan Magalhaes
1038Octavia L GarufiRussia2026-10-21Benton, John B Jr QUALIFIED73Amy Elsner
1039Alejandro L TollnerSpain2026-10-17Dorl, James J Esq NEW42Ivan Magalhaes
1040Jeanfrancois I VocelkaFrance2026-10-21Benton, John B Jr PROPOSAL27Anna Fali
1041Jefferson G FlosiItaly2026-10-15Chanay, Jeffrey A Esq QUALIFIED81Bernardo Dominic
1042Johnson A RimBrazil2026-10-20Rousseaux, Michael Esq PROPOSAL80Onyama Limba
1043Adams Z WaycottGermany2026-10-11Chanay, Jeffrey A Esq NEGOTIATION14Ivan Magalhaes
1044Ricardo H BriddickUnited Kingdom2026-09-28Commercial Press QUALIFIED66Bernardo Dominic
1045Juan U IturbideFrance2026-10-11Chemel, James L Cpa UNQUALIFIED75Amy Elsner
1046Greenwood V FigeroaFrance2026-10-04Feiner Bros UNQUALIFIED56Xuxue Feng
1047Aruna M InouyeRussia2026-09-27Benton, John B Jr NEGOTIATION33Bernardo Dominic
1048Antonio Y GarufiCanada2026-10-13Truhlar And Truhlar Attys NEW42Onyama Limba
1049Alejandro Y FerenczItaly2026-10-15Truhlar And Truhlar Attys RENEWAL96Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin L PoquetteFranceIoni Bowcher PROPOSAL
Greenwood A SaylorsArgentinaStephen Shaw NEGOTIATION
Ricardo Z FlosiAustraliaOnyama Limba UNQUALIFIED
Salvatore B CaudyAustraliaAnna Fali UNQUALIFIED
Claire K MaletJapanOnyama Limba NEGOTIATION
Ivar O KuskoJapanBernardo Dominic RENEWAL
Rodrigues Y ButtItalyIvan Magalhaes PROPOSAL
Maisha D MacleadItalyAnna Fali NEGOTIATION
Mujtaba X SaylorsGermanyOnyama Limba NEW
Darci X PoquetteRussiaStephen Shaw QUALIFIED
Morrow K AmigonJapanBernardo Dominic QUALIFIED
Ricardo Q DoeAustraliaBernardo Dominic QUALIFIED
Murillo R VocelkaAustraliaOnyama Limba NEGOTIATION
Isabel P SchemmerArgentinaAmy Elsner RENEWAL
Jennifer K StensethJapanElwin Sharvill QUALIFIED
Adams G VocelkaJapanStephen Shaw PROPOSAL
Izzy W CampainGermanyAnna Fali QUALIFIED
Costa F VocelkaGermanyOnyama Limba PROPOSAL
Octavia L IturbideSpainOnyama Limba PROPOSAL
Aruna J SergiArgentinaAnna Fali RENEWAL
Silvio T MaletItalyAmy Elsner UNQUALIFIED
James P MacleadFranceOnyama Limba PROPOSAL
Claire P InouyeCanadaIoni Bowcher QUALIFIED
Greenwood U NestleBrazilBernardo Dominic QUALIFIED
Arvin T CaudyBrazilOnyama Limba QUALIFIED
Chavez I BologniaFranceAmy Elsner PROPOSAL
Antonio A GauchoUnited KingdomAnna Fali RENEWAL
Costa N IturbideUnited KingdomElwin Sharvill PROPOSAL
Mujtaba B ShinkoSpainAmy Elsner NEW
Greenwood N DoeIndiaIvan Magalhaes RENEWAL
Claire B AmigonIndiaXuxue Feng PROPOSAL
Costa K ButtIndiaAsiya Javayant QUALIFIED
Emily L RutaSpainStephen Shaw NEW
Mayumi J AlbaresGermanyAnna Fali PROPOSAL
Ricardo C WhobreyItalyStephen Shaw RENEWAL
James M NestleSpainIoni Bowcher UNQUALIFIED
Silvio A SchemmerBrazilAnna Fali NEGOTIATION
Silvio U CaudyIndiaAmy Elsner RENEWAL
Rodrigues B DarakjyGermanyIoni Bowcher PROPOSAL
Cody I WieserSpainAnna Fali PROPOSAL
Misaki J InouyeCanadaBernardo Dominic PROPOSAL
Clifford Q SlusarskiJapanIoni Bowcher QUALIFIED
Julie T RimUnited KingdomAmy Elsner QUALIFIED
Misaki T PoquetteCanadaIoni Bowcher NEGOTIATION
Isabel D SlusarskiSpainIvan Magalhaes UNQUALIFIED
Kadeem K GauchoItalyAnna Fali NEW
Adams P GarufiBrazilBernardo Dominic NEGOTIATION
Clifford J PerinIndiaAmy Elsner QUALIFIED
David E MarrierUnited KingdomAnna Fali RENEWAL
Murillo J DilliardFranceElwin Sharvill NEGOTIATION
Frozen Columns
Name
Tony R Dilliard
Maria R Sergi
Kadeem C Flosi
James B Whobrey
Greenwood C Figeroa
Maisha Z Royster
Arvin A Whobrey
Adams N Stockham
Emily K Malet
Greenwood V Flosi
Jefferson F Foller
Wickens X Briddick
Alejandro K Gillian
Ivar P Amigon
Ashley N Ruta
Aika G Caudy
Claire T Vocelka
Tony K Slusarski
Mayumi T Iturbide
Munro T Rulapaugh
Costa H Bowley
Ivar X Glick
Juan I Dilliard
Aika E Whobrey
Ricardo W Dilliard
Salvatore L Ruta
Deepesh Y Whobrey
Kadeem W Garufi
Francesco U Stockham
Arvin T Darakjy
Chavez S Malet
Izzy Q Figeroa
Salvatore R Kolmetz
Cody E Stockham
Silvio C Malet
Jennifer X Malet
Antonio G Rulapaugh
Murillo H Royster
Emily V Marrier
Munro G Briddick
Faith I Wieser
Juan V Darakjy
Misaki H Butt
Maria R Perin
Izzy B Caudy
Johnson D Stockham
Sinclair L Bolognia
Faith S Ostrosky
Ivar P Garufi
Adams G Perin
IdCountryDate
1000Germany2026-10-01
1001Argentina2026-09-27
1002Germany2026-10-17
1003Canada2026-09-30
1004Russia2026-10-07
1005Japan2026-09-23
1006Spain2026-10-16
1007Australia2026-10-09
1008Japan2026-10-02
1009Spain2026-10-17
1010Canada2026-09-24
1011United Kingdom2026-10-22
1012Canada2026-09-27
1013Japan2026-10-13
1014India2026-10-03
1015Canada2026-10-07
1016Spain2026-09-26
1017Russia2026-10-12
1018Germany2026-09-26
1019Russia2026-09-23
1020Brazil2026-10-09
1021Japan2026-09-27
1022India2026-10-15
1023United Kingdom2026-10-20
1024Russia2026-10-19
1025India2026-10-18
1026India2026-09-28
1027Germany2026-09-27
1028Argentina2026-09-26
1029Argentina2026-10-08
1030Japan2026-10-16
1031France2026-10-06
1032Japan2026-10-14
1033France2026-10-06
1034Japan2026-10-18
1035Argentina2026-10-13
1036Japan2026-09-30
1037Russia2026-10-22
1038United Kingdom2026-10-18
1039Australia2026-10-14
1040United Kingdom2026-10-11
1041Argentina2026-10-02
1042United Kingdom2026-09-26
1043United Kingdom2026-10-20
1044Japan2026-10-13
1045Australia2026-10-13
1046Japan2026-10-12
1047Australia2026-10-04
1048Russia2026-09-29
1049Russia2026-10-20

On-Demand Data

NameIdCountryDate
Nicolas D Caudy1000Russia2026-09-27
Smith G Slusarski1001Australia2026-10-14
Ivar Z Rulapaugh1002Canada2026-10-07
Clifford W Butt1003Australia2026-10-02
Jennifer W Nicka1004Germany2026-09-24
Alejandro B Caldarera1005Argentina2026-10-09
Isabel L Waycott1006Japan2026-09-24
Alejandro K Iturbide1007Brazil2026-10-06
Adams S Sergi1008France2026-10-09
Francesco C Whobrey1009Japan2026-10-03
David M Albares1010Canada2026-10-15
Misaki P Garufi1011Japan2026-10-02
Clifford F Gillian1012Germany2026-10-20
David R Dilliard1013Spain2026-10-01
Salvatore U Malet1014Spain2026-10-06
Rodrigues Y Saylors1015Argentina2026-10-10
Rodrigues X Kolmetz1016United Kingdom2026-10-05
Octavia T Butt1017Brazil2026-10-11
Antonio L Whobrey1018Canada2026-09-25
Munro A Caudy1019France2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro N NickaArgentinaIvan Magalhaes PROPOSAL
Rodrigues P FollerJapanAmy Elsner NEGOTIATION
Chavez C SaylorsCanadaOnyama Limba PROPOSAL
Julie T NestleBrazilAnna Fali PROPOSAL
Julie W PoquetteBrazilAmy Elsner UNQUALIFIED
Ivar P PoquetteJapanIoni Bowcher QUALIFIED
Ricardo R StensethJapanAmy Elsner NEW
Alejandro T MaletSpainIvan Magalhaes NEW
Rodrigues E SergiUnited KingdomIoni Bowcher NEW
Jones G KolmetzGermanyAnna Fali PROPOSAL
Arvin K FerenczIndiaAsiya Javayant PROPOSAL
Antonio Z BriddickFranceAsiya Javayant PROPOSAL
Leja Z MorascaUnited KingdomXuxue Feng NEW
Maisha C BowleyRussiaOnyama Limba NEGOTIATION
Jennifer G DoeSpainElwin Sharvill PROPOSAL
Ricardo V GauchoAustraliaStephen Shaw PROPOSAL
Arvin I RulapaughIndiaElwin Sharvill NEGOTIATION
Cody P ChuiUnited KingdomXuxue Feng NEGOTIATION
Arvin Z RutaCanadaIoni Bowcher NEGOTIATION
Deepesh Z KolmetzItalyXuxue Feng RENEWAL
Smith Y WaycottSpainElwin Sharvill QUALIFIED
Aruna E SlusarskiArgentinaAmy Elsner NEW
Ashley M MaletFranceAsiya Javayant NEGOTIATION
Smith H SchemmerJapanAnna Fali UNQUALIFIED
Silvio S KuskoBrazilBernardo Dominic RENEWAL
Emily V PaprockiRussiaAmy Elsner RENEWAL
Julie E InouyeBrazilOnyama Limba PROPOSAL
Tony M GauchoFranceAmy Elsner UNQUALIFIED
Antonio Y SergiAustraliaAnna Fali NEW
Tony U MorascaItalyBernardo Dominic NEW
Arvin G RimSpainElwin Sharvill QUALIFIED
Rodrigues F RimIndiaAsiya Javayant RENEWAL
Jeanfrancois U WaycottJapanElwin Sharvill NEW
Morrow J WaycottIndiaOnyama Limba PROPOSAL
Ivar Z TollnerUnited KingdomIoni Bowcher PROPOSAL
Johnson V FigeroaIndiaBernardo Dominic UNQUALIFIED
Darci W WaycottRussiaAsiya Javayant RENEWAL
Arvin C NickaCanadaBernardo Dominic QUALIFIED
James K RutaAustraliaXuxue Feng QUALIFIED
Izzy B MacleadItalyBernardo Dominic 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>