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
Arvin F GarufiBrazilStephen Shaw NEW
Juan V MaletRussiaAmy Elsner PROPOSAL
Silvio Y MorascaSpainStephen Shaw RENEWAL
David M DarakjySpainElwin Sharvill QUALIFIED
Maria U StensethCanadaXuxue Feng UNQUALIFIED
Clifford D MacleadUnited KingdomOnyama Limba NEGOTIATION
Aruna V SaylorsGermanyBernardo Dominic UNQUALIFIED
Salvatore W GarufiArgentinaBernardo Dominic QUALIFIED
Wickens L AlbaresBrazilAnna Fali UNQUALIFIED
Mayumi F MorascaArgentinaAnna Fali NEW
Octavia S DilliardJapanIvan Magalhaes NEW
Nicolas B ChuiFranceXuxue Feng PROPOSAL
Jennifer R WieserFranceAnna Fali RENEWAL
Antonio X MacleadArgentinaAmy Elsner NEGOTIATION
Smith T MorascaFranceAmy Elsner NEGOTIATION
Misaki Q RoysterItalyElwin Sharvill NEGOTIATION
Ivar A ChuiCanadaIvan Magalhaes NEW
Isabel N CampainSpainAsiya Javayant PROPOSAL
David L FollerIndiaStephen Shaw RENEWAL
Maisha L ChuiRussiaXuxue Feng NEW
Antonio U InouyeJapanAnna Fali QUALIFIED
Mujtaba D RutaAustraliaOnyama Limba PROPOSAL
Munro H CaldareraCanadaAsiya Javayant QUALIFIED
Sinclair M WhobreyGermanyStephen Shaw PROPOSAL
Faith L BowleyCanadaOnyama Limba QUALIFIED
David E SaylorsGermanyAnna Fali PROPOSAL
Munro D VocelkaSpainIvan Magalhaes NEW
Adams G DarakjyIndiaAnna Fali PROPOSAL
Ricardo U StensethAustraliaIvan Magalhaes PROPOSAL
David B KolmetzArgentinaAmy Elsner QUALIFIED
Izzy I WieserUnited KingdomBernardo Dominic UNQUALIFIED
Kadeem V RoysterRussiaIvan Magalhaes QUALIFIED
Maisha L StockhamJapanXuxue Feng UNQUALIFIED
Mayumi V GillianItalyIvan Magalhaes PROPOSAL
Nicolas A OstroskyRussiaAsiya Javayant QUALIFIED
Francesco J VocelkaJapanXuxue Feng QUALIFIED
Cody W PerinIndiaAnna Fali RENEWAL
Ricardo K PoquetteGermanyStephen Shaw NEW
Aditya L FerenczFranceAmy Elsner RENEWAL
Wickens W StockhamUnited KingdomStephen Shaw UNQUALIFIED
Emily W OldroydGermanyElwin Sharvill PROPOSAL
Nicolas C ShinkoBrazilIoni Bowcher NEW
Smith P IturbideItalyStephen Shaw UNQUALIFIED
Aika Z PoquetteCanadaXuxue Feng NEW
Maisha U WhobreyUnited KingdomBernardo Dominic UNQUALIFIED
Darci Q MorascaUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois A FollerArgentinaOnyama Limba QUALIFIED
Kaitlin E PerinGermanyIvan Magalhaes NEW
Antonio B WaycottItalyXuxue Feng QUALIFIED
Nicolas I OstroskyCanadaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria M RutaItalyAsiya Javayant PROPOSAL
Clifford A SchemmerCanadaIoni Bowcher PROPOSAL
Jennifer J PoquetteBrazilIoni Bowcher NEW
Silvio E NickaItalyAmy Elsner NEGOTIATION
Smith I DilliardGermanyXuxue Feng NEW
James U PaprockiRussiaBernardo Dominic NEGOTIATION
Greenwood X RulapaughBrazilIvan Magalhaes UNQUALIFIED
Johnson O DilliardSpainIvan Magalhaes QUALIFIED
Aditya F MarrierSpainAnna Fali UNQUALIFIED
Leja K StockhamSpainIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem A WieserSpain2026-10-22Truhlar And Truhlar Attys NEW46Elwin Sharvill
1001James D DilliardFrance2026-10-21Morlong Associates PROPOSAL97Xuxue Feng
1002Izzy N SaylorsJapan2026-10-23Truhlar And Truhlar Attys NEGOTIATION54Asiya Javayant
1003Francesco D SergiUnited Kingdom2026-10-15Chemel, James L Cpa NEW57Stephen Shaw
1004Smith O ShinkoArgentina2026-10-18Printing Dimensions NEW2Stephen Shaw
1005Chavez M RoysterFrance2026-10-11Morlong Associates UNQUALIFIED85Xuxue Feng
1006Ashley I PaprockiIndia2026-10-13Rangoni Of Florence UNQUALIFIED21Onyama Limba
1007Mayumi G NickaItaly2026-10-15Feltz Printing Service QUALIFIED3Elwin Sharvill
1008Juan S OstroskyAustralia2026-10-09Chemel, James L Cpa UNQUALIFIED14Ivan Magalhaes
1009Jones X GlickArgentina2026-10-20Printing Dimensions RENEWAL36Stephen Shaw
1010Tony M InouyeArgentina2026-10-14King, Christopher A Esq UNQUALIFIED0Bernardo Dominic
1011Emily K IturbideIndia2026-10-09Benton, John B Jr PROPOSAL89Anna Fali
1012Octavia H KuskoSpain2026-10-02King, Christopher A Esq NEW6Stephen Shaw
1013Tony S OstroskyFrance2026-10-02Commercial Press NEGOTIATION72Asiya Javayant
1014Alejandro S WaycottFrance2026-10-22Feiner Bros NEW38Xuxue Feng
1015Izzy C CampainFrance2026-10-28Chemel, James L Cpa PROPOSAL39Amy Elsner
1016Stacey E CaldareraIndia2026-10-14Dorl, James J Esq UNQUALIFIED8Anna Fali
1017Jennifer A TollnerItaly2026-10-10Morlong Associates PROPOSAL13Xuxue Feng
1018Jefferson V NickaArgentina2026-10-03Buckley Miller Wright PROPOSAL5Ioni Bowcher
1019Juan F TollnerCanada2026-10-09Rangoni Of Florence PROPOSAL12Stephen Shaw
1020Stacey L VenereGermany2026-10-16Benton, John B Jr PROPOSAL99Onyama Limba
1021Stacey U MorascaCanada2026-10-25Printing Dimensions NEGOTIATION21Asiya Javayant
1022Arvin U OstroskySpain2026-10-09Buckley Miller Wright NEW34Amy Elsner
1023Jefferson Z StensethUnited Kingdom2026-10-04Chapman, Ross E Esq NEW46Ivan Magalhaes
1024Ricardo B StockhamIndia2026-10-09Chanay, Jeffrey A Esq UNQUALIFIED18Stephen Shaw
1025Kadeem E MorascaIndia2026-09-30Benton, John B Jr RENEWAL7Xuxue Feng
1026Stacey U PerinItaly2026-10-11Rangoni Of Florence UNQUALIFIED18Xuxue Feng
1027James F CaudyCanada2026-10-01Printing Dimensions UNQUALIFIED3Ioni Bowcher
1028Johnson J ChuiBrazil2026-10-14Truhlar And Truhlar Attys QUALIFIED39Stephen Shaw
1029Deepesh T AmigonAustralia2026-10-12Printing Dimensions NEW76Stephen Shaw
1030Mujtaba B ChuiRussia2026-10-13Printing Dimensions NEW26Amy Elsner
1031Emily K VocelkaAustralia2026-10-28Rangoni Of Florence NEW91Asiya Javayant
1032Sinclair H KuskoIndia2026-10-29King, Christopher A Esq NEGOTIATION29Amy Elsner
1033Murillo H NickaAustralia2026-10-21Benton, John B Jr NEW67Ioni Bowcher
1034Nicolas I PoquetteFrance2026-10-14Printing Dimensions NEW0Stephen Shaw
1035Chavez B DoeItaly2026-10-26Chemel, James L Cpa NEGOTIATION38Ivan Magalhaes
1036Ricardo Y MaletFrance2026-10-17Chemel, James L Cpa NEGOTIATION34Amy Elsner
1037Misaki N RoysterSpain2026-10-20Chapman, Ross E Esq QUALIFIED86Onyama Limba
1038Costa Y TollnerArgentina2026-10-19Printing Dimensions NEW2Ivan Magalhaes
1039Smith I MarrierUnited Kingdom2026-10-26Dorl, James J Esq NEGOTIATION40Elwin Sharvill
1040Tony X WhobreyIndia2026-10-13Chanay, Jeffrey A Esq QUALIFIED6Elwin Sharvill
1041Clifford M BriddickAustralia2026-10-21Commercial Press RENEWAL92Elwin Sharvill
1042Leon V SchemmerUnited Kingdom2026-10-09Benton, John B Jr QUALIFIED48Asiya Javayant
1043Costa P TollnerFrance2026-10-22Rangoni Of Florence UNQUALIFIED73Ivan Magalhaes
1044Ivar A GarufiGermany2026-10-09Commercial Press PROPOSAL11Xuxue Feng
1045Munro T MacleadUnited Kingdom2026-10-09Dorl, James J Esq UNQUALIFIED46Xuxue Feng
1046Jefferson D PerinBrazil2026-10-10Rangoni Of Florence UNQUALIFIED12Elwin Sharvill
1047Morrow M BriddickGermany2026-10-20Benton, John B Jr UNQUALIFIED49Xuxue Feng
1048Greenwood X CaldareraIndia2026-10-22Feiner Bros NEGOTIATION84Onyama Limba
1049Maisha P MaletAustralia2026-10-25Benton, John B Jr NEW94Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Y DoeArgentinaAnna Fali NEGOTIATION
Silvio E StensethJapanXuxue Feng NEGOTIATION
Ricardo L StockhamCanadaOnyama Limba QUALIFIED
Claire F FigeroaUnited KingdomAmy Elsner QUALIFIED
Kadeem S ButtAustraliaAmy Elsner PROPOSAL
Smith P IturbideItalyAnna Fali NEGOTIATION
Jennifer X NestleArgentinaXuxue Feng RENEWAL
Alejandro V OstroskyArgentinaAmy Elsner UNQUALIFIED
Tony D SlusarskiIndiaBernardo Dominic RENEWAL
Maria J WieserBrazilIvan Magalhaes QUALIFIED
Jennifer K SaylorsGermanyAmy Elsner NEW
Kaitlin F CaudyFranceStephen Shaw QUALIFIED
Maisha X ShinkoItalyAsiya Javayant RENEWAL
Deepesh T CaldareraBrazilElwin Sharvill RENEWAL
Darci B RoysterIndiaStephen Shaw QUALIFIED
Ivar P CaudyBrazilIoni Bowcher NEGOTIATION
Emily L PerinGermanyXuxue Feng UNQUALIFIED
Jefferson H MorascaJapanOnyama Limba PROPOSAL
Costa E NestleJapanAmy Elsner RENEWAL
Maria U MacleadBrazilAsiya Javayant RENEWAL
David N MaletItalyAsiya Javayant QUALIFIED
Maria K FlosiSpainIoni Bowcher NEGOTIATION
Darci C OldroydGermanyBernardo Dominic UNQUALIFIED
Clifford O RulapaughRussiaElwin Sharvill UNQUALIFIED
James P WieserSpainXuxue Feng NEW
Nicolas H SaylorsFranceAsiya Javayant NEGOTIATION
Ricardo F GauchoCanadaIvan Magalhaes PROPOSAL
Ashley B CaudyFranceElwin Sharvill NEGOTIATION
Aruna Z BologniaIndiaAsiya Javayant NEW
Claire K AmigonGermanyAmy Elsner QUALIFIED
Sinclair X WhobreySpainXuxue Feng NEW
Misaki L MorascaRussiaXuxue Feng QUALIFIED
Salvatore B ChuiSpainIoni Bowcher NEW
Aika U DilliardBrazilBernardo Dominic QUALIFIED
Smith I ChuiFranceElwin Sharvill UNQUALIFIED
David U NestleFranceAnna Fali PROPOSAL
Ashley U DilliardGermanyIoni Bowcher QUALIFIED
Emily W StockhamUnited KingdomIvan Magalhaes PROPOSAL
Maria V InouyeRussiaAmy Elsner PROPOSAL
Silvio T StockhamUnited KingdomIoni Bowcher PROPOSAL
Isabel L SchemmerAustraliaIvan Magalhaes RENEWAL
Jennifer E RimGermanyElwin Sharvill NEW
Clifford P KuskoArgentinaBernardo Dominic NEGOTIATION
Costa S ShinkoBrazilXuxue Feng RENEWAL
Juan V MaletIndiaStephen Shaw UNQUALIFIED
Claire X PerinItalyBernardo Dominic QUALIFIED
Kadeem L StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Isabel V KuskoCanadaAsiya Javayant PROPOSAL
Kaitlin B MacleadAustraliaIoni Bowcher RENEWAL
Morrow X FlosiBrazilAnna Fali PROPOSAL
Frozen Columns
Name
Aruna G Briddick
Misaki W Albares
David G Malet
Chavez E Gillian
Munro Y Malet
Jones S Foller
Kaitlin M Slusarski
Mujtaba P Iturbide
Chavez M Gillian
Mujtaba Y Maclead
Stacey W Poquette
Misaki J Kusko
Misaki E Stockham
Greenwood C Perin
Murillo G Gaucho
Tony E Ruta
Mayumi Q Paprocki
Arvin N Rulapaugh
Jeanfrancois M Kusko
Faith R Saylors
Ivar H Wieser
Smith Z Doe
Kaitlin R Royster
Darci Y Morasca
Arvin S Whobrey
Kadeem H Briddick
Octavia V Bowley
Misaki F Gillian
Deepesh J Nicka
Isabel T Schemmer
Rodrigues E Doe
Silvio S Paprocki
Ivar R Whobrey
Jeanfrancois V Briddick
Rodrigues G Rulapaugh
Ivar G Gillian
Tony Y Caldarera
Chavez M Stockham
Greenwood F Gaucho
Salvatore R Kusko
Cody S Doe
Smith F Schemmer
David Y Campain
Isabel A Glick
Kaitlin B Doe
Mujtaba M Figeroa
Leja K Glick
James D Marrier
Aruna O Malet
Antonio W Rulapaugh
IdCountryDate
1000Canada2026-10-02
1001Japan2026-10-16
1002Spain2026-10-21
1003Germany2026-10-13
1004Italy2026-10-12
1005India2026-10-02
1006Argentina2026-10-28
1007Japan2026-10-04
1008Spain2026-10-22
1009Italy2026-10-09
1010Japan2026-10-28
1011India2026-10-15
1012Germany2026-10-25
1013Russia2026-10-09
1014Australia2026-10-05
1015France2026-10-17
1016France2026-10-01
1017Canada2026-10-25
1018Brazil2026-10-04
1019Australia2026-10-25
1020Australia2026-10-08
1021Spain2026-10-19
1022Australia2026-10-02
1023India2026-10-21
1024India2026-09-30
1025Brazil2026-10-08
1026Argentina2026-10-08
1027Russia2026-10-27
1028Australia2026-10-10
1029United Kingdom2026-10-28
1030France2026-10-29
1031Canada2026-10-19
1032Russia2026-10-21
1033India2026-09-30
1034Spain2026-10-26
1035India2026-10-12
1036Australia2026-10-01
1037Japan2026-10-17
1038Argentina2026-10-04
1039Spain2026-10-26
1040Spain2026-10-02
1041Japan2026-10-09
1042Spain2026-10-28
1043France2026-10-26
1044Brazil2026-10-20
1045Japan2026-10-13
1046Australia2026-10-05
1047Germany2026-10-13
1048United Kingdom2026-10-17
1049Germany2026-10-24

On-Demand Data

NameIdCountryDate
Misaki E Gaucho1000Canada2026-10-15
Jeanfrancois N Figeroa1001Argentina2026-10-09
Greenwood E Bolognia1002France2026-10-28
James K Briddick1003Brazil2026-09-30
Jennifer G Nestle1004Canada2026-10-07
Isabel Q Ostrosky1005United Kingdom2026-10-25
Maisha H Nestle1006Germany2026-10-03
Darci Q Vocelka1007Japan2026-10-11
Julie H Gillian1008Japan2026-10-12
Adams H Amigon1009United Kingdom2026-10-04
Arvin L Waycott1010France2026-10-21
Adams E Darakjy1011France2026-10-25
Octavia F Garufi1012India2026-10-01
Ashley C Stockham1013Russia2026-10-23
Mujtaba Q Foller1014Australia2026-10-26
David G Doe1015Brazil2026-10-22
Maisha U Ruta1016Spain2026-10-21
Munro L Malet1017Italy2026-10-17
Aruna M Marrier1018Japan2026-10-14
Ashley D Albares1019Australia2026-10-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley W BowleyGermanyBernardo Dominic NEW
Jefferson K BriddickUnited KingdomAnna Fali RENEWAL
Izzy C OstroskyIndiaElwin Sharvill RENEWAL
Aruna J PerinJapanOnyama Limba NEW
Izzy F OstroskyCanadaBernardo Dominic QUALIFIED
Jeanfrancois U AlbaresIndiaBernardo Dominic PROPOSAL
Chavez I StensethCanadaXuxue Feng QUALIFIED
Izzy A FerenczArgentinaIoni Bowcher RENEWAL
Smith E ChuiSpainStephen Shaw PROPOSAL
Octavia O CaudySpainElwin Sharvill NEW
Ivar P AlbaresBrazilIoni Bowcher QUALIFIED
Faith H SlusarskiArgentinaXuxue Feng PROPOSAL
Smith B MaletItalyBernardo Dominic QUALIFIED
Morrow F WaycottUnited KingdomAsiya Javayant PROPOSAL
Mujtaba V GauchoRussiaIvan Magalhaes QUALIFIED
Cody N DarakjyGermanyAmy Elsner PROPOSAL
Jennifer J RimUnited KingdomStephen Shaw QUALIFIED
Mujtaba Z VocelkaCanadaAsiya Javayant PROPOSAL
Morrow Z SchemmerAustraliaAmy Elsner RENEWAL
Ivar S VocelkaRussiaAmy Elsner RENEWAL
Chavez C CampainCanadaIoni Bowcher QUALIFIED
Stacey J BowleyFranceIoni Bowcher RENEWAL
Aruna I IturbideUnited KingdomOnyama Limba PROPOSAL
Aruna Y MaletAustraliaOnyama Limba NEGOTIATION
Mujtaba J FlosiAustraliaStephen Shaw NEGOTIATION
Julie P MacleadIndiaBernardo Dominic QUALIFIED
Octavia C OstroskyArgentinaAnna Fali NEGOTIATION
Arvin F SlusarskiArgentinaOnyama Limba QUALIFIED
Nicolas G OstroskyJapanAmy Elsner RENEWAL
Jefferson U ButtSpainAsiya Javayant UNQUALIFIED
Francesco M StockhamGermanyAsiya Javayant RENEWAL
David P RulapaughFranceAmy Elsner QUALIFIED
Mujtaba G VocelkaJapanXuxue Feng NEGOTIATION
Ivar N WhobreyIndiaAsiya Javayant PROPOSAL
Juan A KolmetzCanadaAsiya Javayant NEGOTIATION
Wickens A RimGermanyIvan Magalhaes PROPOSAL
Leon J BologniaIndiaAmy Elsner UNQUALIFIED
Arvin G CampainBrazilXuxue Feng NEGOTIATION
Leon G GarufiSpainAsiya Javayant NEW
Julie D GlickItalyIoni Bowcher 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>