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
Ricardo J TollnerGermanyOnyama Limba NEW
Adams G OldroydSpainBernardo Dominic NEW
Kaitlin D CaudyItalyAmy Elsner RENEWAL
Tony J ChuiItalyAmy Elsner PROPOSAL
Jeanfrancois G KolmetzCanadaElwin Sharvill RENEWAL
Darci B RimFranceAsiya Javayant UNQUALIFIED
Faith V VenereGermanyStephen Shaw RENEWAL
Rodrigues N PerinJapanElwin Sharvill QUALIFIED
Adams L CaldareraIndiaBernardo Dominic NEW
Clifford Z AmigonFranceIoni Bowcher PROPOSAL
Stacey H PoquetteRussiaElwin Sharvill RENEWAL
Mayumi Q CaldareraBrazilAmy Elsner PROPOSAL
Johnson I DilliardFranceAmy Elsner NEGOTIATION
Aika G PoquetteGermanyElwin Sharvill NEW
Stacey K RoysterUnited KingdomIoni Bowcher NEGOTIATION
Leja E SergiBrazilXuxue Feng NEGOTIATION
Greenwood V DarakjyUnited KingdomIoni Bowcher NEGOTIATION
Silvio E SlusarskiGermanyBernardo Dominic RENEWAL
Mujtaba H DilliardIndiaAnna Fali PROPOSAL
Kadeem A VenereUnited KingdomIvan Magalhaes QUALIFIED
Antonio V MarrierIndiaIvan Magalhaes NEGOTIATION
Julie H VenereFranceOnyama Limba UNQUALIFIED
Wickens V StockhamAustraliaOnyama Limba QUALIFIED
Emily W FollerAustraliaOnyama Limba PROPOSAL
Murillo C WhobreyBrazilElwin Sharvill PROPOSAL
Kadeem B StensethFranceAmy Elsner NEW
Tony W WaycottSpainBernardo Dominic NEGOTIATION
Octavia P WhobreyAustraliaBernardo Dominic UNQUALIFIED
Salvatore C OstroskyAustraliaBernardo Dominic NEGOTIATION
Stacey P OldroydRussiaAnna Fali NEGOTIATION
Rodrigues A OstroskyUnited KingdomOnyama Limba RENEWAL
Isabel K SergiJapanIoni Bowcher PROPOSAL
Costa W VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Murillo F StockhamFranceIoni Bowcher NEGOTIATION
Antonio X SchemmerItalyXuxue Feng NEGOTIATION
Cody G MaletCanadaOnyama Limba RENEWAL
Maria Z CaudyAustraliaStephen Shaw UNQUALIFIED
Mayumi O VenereAustraliaAmy Elsner PROPOSAL
Jennifer D DoeSpainBernardo Dominic PROPOSAL
Jones U MarrierJapanAsiya Javayant UNQUALIFIED
Munro C BowleySpainAsiya Javayant QUALIFIED
Ivar G MaletFranceElwin Sharvill QUALIFIED
Johnson A MarrierAustraliaAmy Elsner QUALIFIED
Leon V CampainBrazilStephen Shaw RENEWAL
Stacey K VenereJapanAmy Elsner NEW
Antonio G FlosiAustraliaIoni Bowcher PROPOSAL
Octavia D GillianGermanyXuxue Feng UNQUALIFIED
Faith C RutaAustraliaAsiya Javayant UNQUALIFIED
Jefferson J WhobreySpainIvan Magalhaes RENEWAL
Jefferson R AmigonRussiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio R GarufiCanadaAnna Fali QUALIFIED
Leon M FlosiRussiaOnyama Limba NEW
Isabel Z RulapaughItalyXuxue Feng NEW
Munro M MaletBrazilOnyama Limba QUALIFIED
Juan H SaylorsGermanyAmy Elsner QUALIFIED
Smith G CaudyAustraliaIvan Magalhaes RENEWAL
Adams W InouyeAustraliaIvan Magalhaes NEGOTIATION
Adams A BologniaAustraliaAsiya Javayant UNQUALIFIED
Tony J MarrierGermanyAmy Elsner RENEWAL
Greenwood D KuskoAustraliaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel S WaycottAustralia2026-10-21Benton, John B Jr UNQUALIFIED92Xuxue Feng
1001Isabel C DilliardCanada2026-10-05Feiner Bros PROPOSAL0Asiya Javayant
1002David Q PoquetteBrazil2026-10-19Feltz Printing Service NEW66Onyama Limba
1003Misaki V SlusarskiItaly2026-10-21Feiner Bros NEGOTIATION69Elwin Sharvill
1004Deepesh Y StockhamJapan2026-10-14Chapman, Ross E Esq QUALIFIED73Ivan Magalhaes
1005David L VenereIndia2026-10-17Chanay, Jeffrey A Esq NEW85Ivan Magalhaes
1006Smith C MorascaFrance2026-10-24Buckley Miller Wright NEW75Anna Fali
1007Nicolas C InouyeUnited Kingdom2026-10-20Commercial Press UNQUALIFIED49Anna Fali
1008Silvio X BologniaGermany2026-10-07Buckley Miller Wright PROPOSAL88Elwin Sharvill
1009David B DilliardBrazil2026-10-21Feltz Printing Service QUALIFIED83Elwin Sharvill
1010Ricardo Q MarrierAustralia2026-10-16Buckley Miller Wright UNQUALIFIED18Ivan Magalhaes
1011Stacey X SlusarskiJapan2026-10-08Printing Dimensions RENEWAL37Elwin Sharvill
1012Francesco U BologniaSpain2026-09-30Rousseaux, Michael Esq UNQUALIFIED16Anna Fali
1013Munro V FerenczIndia2026-10-23Truhlar And Truhlar Attys NEW6Elwin Sharvill
1014David F StensethIndia2026-10-12Rangoni Of Florence QUALIFIED5Asiya Javayant
1015Juan P BologniaCanada2026-10-04Printing Dimensions QUALIFIED10Onyama Limba
1016Salvatore H FollerCanada2026-10-01Commercial Press RENEWAL7Elwin Sharvill
1017Julie S GlickRussia2026-10-12Benton, John B Jr PROPOSAL87Elwin Sharvill
1018Maria P WhobreyItaly2026-10-07Printing Dimensions UNQUALIFIED24Ivan Magalhaes
1019Kaitlin L MaletIndia2026-10-13Dorl, James J Esq PROPOSAL49Amy Elsner
1020Johnson N SergiArgentina2026-10-16Truhlar And Truhlar Attys NEW36Asiya Javayant
1021Deepesh U WieserUnited Kingdom2026-09-30King, Christopher A Esq NEGOTIATION62Anna Fali
1022Mujtaba L MaletGermany2026-10-07Chapman, Ross E Esq RENEWAL45Onyama Limba
1023Kadeem N CaldareraGermany2026-09-29Morlong Associates QUALIFIED26Amy Elsner
1024Isabel Y RutaCanada2026-10-23Rangoni Of Florence PROPOSAL83Onyama Limba
1025Ricardo C ShinkoRussia2026-10-12Chapman, Ross E Esq QUALIFIED2Xuxue Feng
1026Aditya R ButtSpain2026-10-09Chapman, Ross E Esq QUALIFIED38Ivan Magalhaes
1027Cody V RimIndia2026-10-06Chapman, Ross E Esq NEW48Elwin Sharvill
1028Jennifer I MorascaItaly2026-10-25Dorl, James J Esq UNQUALIFIED56Asiya Javayant
1029Julie I GlickArgentina2026-09-28Rousseaux, Michael Esq QUALIFIED83Anna Fali
1030Smith S KolmetzJapan2026-10-06Printing Dimensions UNQUALIFIED76Anna Fali
1031David Z PoquetteBrazil2026-10-17Chemel, James L Cpa NEW30Ivan Magalhaes
1032Sinclair U KuskoAustralia2026-10-25Feltz Printing Service UNQUALIFIED68Ivan Magalhaes
1033Claire Z NickaFrance2026-09-29Feiner Bros QUALIFIED6Stephen Shaw
1034Murillo R BowleyBrazil2026-10-20Buckley Miller Wright NEGOTIATION7Onyama Limba
1035Stacey B GlickAustralia2026-10-12Benton, John B Jr NEW67Ivan Magalhaes
1036Octavia F CaudyBrazil2026-10-22Buckley Miller Wright PROPOSAL45Xuxue Feng
1037Leon I ChuiArgentina2026-10-18Printing Dimensions QUALIFIED93Xuxue Feng
1038Ricardo H RoysterCanada2026-10-05Benton, John B Jr UNQUALIFIED58Asiya Javayant
1039Nicolas M ChuiJapan2026-09-27Chemel, James L Cpa NEGOTIATION98Amy Elsner
1040Jefferson F DarakjyUnited Kingdom2026-10-26Printing Dimensions RENEWAL11Elwin Sharvill
1041Aditya K SaylorsAustralia2026-09-30Benton, John B Jr RENEWAL31Asiya Javayant
1042James J WaycottJapan2026-09-28Buckley Miller Wright UNQUALIFIED69Xuxue Feng
1043Salvatore J SlusarskiCanada2026-10-16Rousseaux, Michael Esq NEGOTIATION79Asiya Javayant
1044Morrow P DoeUnited Kingdom2026-10-19Chanay, Jeffrey A Esq PROPOSAL11Xuxue Feng
1045Morrow W FerenczArgentina2026-10-01Benton, John B Jr NEGOTIATION9Ivan Magalhaes
1046Nicolas L KolmetzJapan2026-09-28Chemel, James L Cpa NEW73Onyama Limba
1047Tony Q GauchoIndia2026-10-18Printing Dimensions UNQUALIFIED73Onyama Limba
1048Izzy F FollerItaly2026-10-08Rousseaux, Michael Esq NEGOTIATION64Bernardo Dominic
1049Aditya F BologniaRussia2026-10-01Feiner Bros QUALIFIED35Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leja Q MaletGermanyIvan Magalhaes QUALIFIED
Salvatore J NickaSpainOnyama Limba QUALIFIED
Munro P KuskoCanadaAmy Elsner QUALIFIED
Deepesh P NickaBrazilAsiya Javayant UNQUALIFIED
David I StensethIndiaIoni Bowcher UNQUALIFIED
Kaitlin R FollerJapanAmy Elsner NEW
Juan X GauchoIndiaBernardo Dominic QUALIFIED
Isabel L VenereJapanIoni Bowcher NEGOTIATION
Arvin Z CaudyFranceStephen Shaw QUALIFIED
Misaki O RutaFranceStephen Shaw NEW
Jefferson K FollerGermanyIvan Magalhaes QUALIFIED
Silvio J MacleadBrazilAmy Elsner QUALIFIED
Jefferson A BriddickCanadaXuxue Feng RENEWAL
Misaki A WaycottAustraliaAmy Elsner NEW
Greenwood O ShinkoGermanyOnyama Limba NEGOTIATION
Ricardo B FerenczAustraliaStephen Shaw PROPOSAL
Ashley P DarakjyUnited KingdomXuxue Feng QUALIFIED
Morrow D VocelkaItalyXuxue Feng RENEWAL
Kaitlin C NickaCanadaElwin Sharvill UNQUALIFIED
Mayumi T NickaItalyXuxue Feng RENEWAL
Johnson E WhobreyCanadaBernardo Dominic NEW
Antonio O KolmetzFranceXuxue Feng PROPOSAL
Kadeem C SergiBrazilAnna Fali UNQUALIFIED
Maisha I WhobreyUnited KingdomOnyama Limba RENEWAL
Antonio G WaycottSpainAmy Elsner QUALIFIED
Kadeem P FlosiJapanAsiya Javayant NEGOTIATION
Adams Y MaletIndiaAsiya Javayant QUALIFIED
Johnson F StensethFranceAsiya Javayant NEW
Arvin T DoeSpainAsiya Javayant PROPOSAL
Maria A WaycottUnited KingdomOnyama Limba RENEWAL
Nicolas L OldroydBrazilAsiya Javayant PROPOSAL
Silvio E VocelkaFranceIoni Bowcher RENEWAL
Emily H BologniaItalyAnna Fali UNQUALIFIED
David T AmigonAustraliaAsiya Javayant QUALIFIED
Antonio M WaycottFranceAmy Elsner RENEWAL
Darci W MaletGermanyAnna Fali RENEWAL
Costa E BriddickRussiaOnyama Limba NEW
Mujtaba O MaletJapanAnna Fali QUALIFIED
Deepesh N NickaUnited KingdomBernardo Dominic PROPOSAL
Stacey F FollerGermanyIoni Bowcher NEGOTIATION
Kadeem M PoquetteArgentinaXuxue Feng QUALIFIED
Kadeem R BriddickUnited KingdomXuxue Feng RENEWAL
Kaitlin E VocelkaIndiaStephen Shaw NEW
Aika V DoeIndiaAsiya Javayant UNQUALIFIED
Chavez I InouyeItalyElwin Sharvill UNQUALIFIED
Claire R RoysterArgentinaAmy Elsner QUALIFIED
Aditya Y KolmetzAustraliaStephen Shaw QUALIFIED
Clifford O MaletFranceXuxue Feng QUALIFIED
Murillo F KuskoJapanOnyama Limba PROPOSAL
Arvin P GauchoIndiaElwin Sharvill RENEWAL
Frozen Columns
Name
Alejandro P Foller
Tony T Rim
Ashley M Ferencz
Silvio N Gillian
Leon N Rim
Francesco R Paprocki
Jeanfrancois E Butt
Stacey P Ruta
Kaitlin E Ruta
Isabel U Figeroa
Julie S Ostrosky
Chavez D Waycott
Maisha Z Slusarski
Ashley D Albares
Maisha U Butt
Johnson B Tollner
Aruna E Flosi
Arvin U Ferencz
Sinclair M Caudy
Mujtaba Y Sergi
Leon N Schemmer
Aika E Gaucho
James M Darakjy
Aditya V Figeroa
Leon W Caudy
Smith G Campain
Chavez Y Stenseth
Murillo V Darakjy
Munro F Nestle
Clifford Y Whobrey
Mujtaba X Garufi
Alejandro S Shinko
Jeanfrancois G Kolmetz
Jeanfrancois N Nicka
Costa U Amigon
David C Whobrey
Julie G Flosi
Isabel O Slusarski
Leon Z Flosi
Francesco R Garufi
Smith X Darakjy
Sinclair Q Iturbide
Aruna Z Albares
Johnson V Nestle
Munro Z Perin
Wickens V Slusarski
Nicolas D Glick
Jefferson H Amigon
Darci G Paprocki
Aika T Ruta
IdCountryDate
1000France2026-10-17
1001Brazil2026-10-17
1002India2026-10-09
1003Canada2026-10-07
1004India2026-10-26
1005Japan2026-10-14
1006Spain2026-10-13
1007Germany2026-10-06
1008United Kingdom2026-10-21
1009France2026-10-03
1010Argentina2026-10-10
1011United Kingdom2026-10-09
1012Russia2026-10-14
1013Spain2026-10-24
1014Russia2026-10-14
1015Japan2026-10-24
1016Russia2026-10-24
1017Italy2026-10-04
1018Australia2026-10-16
1019Spain2026-09-29
1020Germany2026-10-20
1021United Kingdom2026-10-14
1022France2026-10-19
1023Russia2026-10-26
1024Germany2026-10-20
1025Germany2026-09-30
1026Canada2026-10-25
1027Germany2026-10-24
1028France2026-10-21
1029India2026-10-20
1030United Kingdom2026-10-20
1031United Kingdom2026-10-21
1032India2026-09-28
1033France2026-10-18
1034United Kingdom2026-10-19
1035Brazil2026-10-12
1036Japan2026-10-01
1037France2026-10-16
1038Germany2026-10-23
1039Russia2026-09-29
1040Australia2026-10-11
1041France2026-10-04
1042United Kingdom2026-10-26
1043United Kingdom2026-10-24
1044Brazil2026-10-08
1045France2026-10-04
1046Argentina2026-10-25
1047Australia2026-10-09
1048Canada2026-10-07
1049France2026-10-04

On-Demand Data

NameIdCountryDate
Adams N Amigon1000France2026-10-13
Faith O Waycott1001Japan2026-10-04
Aika P Morasca1002Russia2026-10-01
Jeanfrancois T Royster1003France2026-10-22
Antonio I Bolognia1004India2026-10-09
Arvin I Vocelka1005United Kingdom2026-10-08
Leon N Rim1006Australia2026-10-10
Antonio K Oldroyd1007Italy2026-10-06
Nicolas G Chui1008Argentina2026-10-10
Julie X Albares1009Argentina2026-09-29
Smith R Poquette1010Brazil2026-09-28
Claire G Royster1011India2026-09-29
Salvatore F Kolmetz1012Australia2026-10-12
Arvin S Briddick1013Spain2026-09-29
Darci X Figeroa1014Russia2026-10-10
Darci S Ostrosky1015France2026-10-23
Stacey I Campain1016United Kingdom2026-10-26
Jennifer G Slusarski1017France2026-10-07
Clifford T Caldarera1018Germany2026-10-16
James H Briddick1019Italy2026-10-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez Y MaletCanadaBernardo Dominic PROPOSAL
Julie Y MorascaUnited KingdomAnna Fali RENEWAL
Emily W StockhamAustraliaBernardo Dominic PROPOSAL
David L NestleArgentinaAnna Fali NEW
Faith D WaycottItalyIoni Bowcher NEGOTIATION
Aditya L TollnerFranceAmy Elsner NEGOTIATION
Salvatore B GarufiUnited KingdomAsiya Javayant NEW
Munro F GauchoItalyAnna Fali NEW
Greenwood J GauchoAustraliaXuxue Feng NEW
Claire Q MacleadGermanyStephen Shaw NEW
Wickens X RoysterJapanAmy Elsner QUALIFIED
Octavia V DarakjyCanadaXuxue Feng QUALIFIED
Aditya W StockhamItalyElwin Sharvill QUALIFIED
Silvio Q ButtBrazilIoni Bowcher PROPOSAL
Mayumi N FollerSpainIvan Magalhaes QUALIFIED
Faith A FerenczRussiaIvan Magalhaes NEGOTIATION
Silvio U GlickCanadaIoni Bowcher PROPOSAL
Costa L IturbideJapanAmy Elsner PROPOSAL
Kaitlin N NestleItalyIvan Magalhaes UNQUALIFIED
Arvin N VocelkaIndiaAsiya Javayant NEW
Murillo G RutaBrazilElwin Sharvill PROPOSAL
Deepesh G GarufiBrazilXuxue Feng NEW
Wickens K PaprockiJapanXuxue Feng QUALIFIED
Misaki T PoquetteAustraliaOnyama Limba NEW
Ashley C MaletRussiaAmy Elsner QUALIFIED
Munro V BologniaSpainAmy Elsner NEW
David R RimSpainAmy Elsner NEGOTIATION
Mujtaba J CampainRussiaAnna Fali NEW
Nicolas F SchemmerBrazilAnna Fali QUALIFIED
Ricardo A FigeroaJapanIoni Bowcher RENEWAL
Kadeem S MorascaFranceElwin Sharvill UNQUALIFIED
Aika X DilliardArgentinaOnyama Limba RENEWAL
Greenwood P AlbaresSpainIvan Magalhaes NEGOTIATION
Rodrigues Q FigeroaGermanyStephen Shaw RENEWAL
Jones P GillianUnited KingdomOnyama Limba PROPOSAL
Maria C OstroskyAustraliaAnna Fali NEGOTIATION
Ricardo Q PaprockiAustraliaAmy Elsner QUALIFIED
Misaki B SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Ricardo X RulapaughUnited KingdomAmy Elsner PROPOSAL
Aruna I FlosiBrazilIoni Bowcher 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>