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
Octavia X WhobreyCanadaOnyama Limba UNQUALIFIED
Tony M CaldareraSpainOnyama Limba NEGOTIATION
Stacey J ButtJapanXuxue Feng QUALIFIED
Cody B DarakjyCanadaBernardo Dominic NEGOTIATION
Smith P DilliardArgentinaXuxue Feng PROPOSAL
Antonio V InouyeCanadaXuxue Feng UNQUALIFIED
Mayumi W ShinkoAustraliaIvan Magalhaes PROPOSAL
Morrow U KuskoSpainIvan Magalhaes PROPOSAL
Costa A CampainCanadaAsiya Javayant UNQUALIFIED
Chavez R CaudyItalyAnna Fali NEGOTIATION
Greenwood K GillianGermanyXuxue Feng PROPOSAL
Isabel K PerinUnited KingdomAnna Fali QUALIFIED
Murillo E InouyeJapanElwin Sharvill NEGOTIATION
Salvatore U BriddickArgentinaBernardo Dominic NEW
Kaitlin Z MaletAustraliaStephen Shaw RENEWAL
Smith Q RoysterRussiaIvan Magalhaes RENEWAL
Izzy F MorascaArgentinaXuxue Feng UNQUALIFIED
Mujtaba L StockhamItalyStephen Shaw NEW
Salvatore H StockhamCanadaOnyama Limba NEW
Stacey P SlusarskiItalyBernardo Dominic PROPOSAL
Ricardo W DilliardGermanyAmy Elsner PROPOSAL
Jones X KolmetzIndiaAsiya Javayant NEW
Kadeem C ShinkoFranceAmy Elsner UNQUALIFIED
Darci J NickaFranceXuxue Feng QUALIFIED
Izzy L GillianItalyBernardo Dominic RENEWAL
Cody M WhobreyGermanyIvan Magalhaes NEGOTIATION
Nicolas X DarakjyRussiaXuxue Feng QUALIFIED
Jefferson T GlickIndiaOnyama Limba NEGOTIATION
Sinclair T RulapaughGermanyOnyama Limba PROPOSAL
Stacey C OstroskyAustraliaElwin Sharvill PROPOSAL
Ricardo J SaylorsAustraliaElwin Sharvill PROPOSAL
Cody O SlusarskiRussiaIvan Magalhaes RENEWAL
Aditya A SchemmerBrazilElwin Sharvill PROPOSAL
Arvin E RutaFranceBernardo Dominic NEGOTIATION
Julie X FollerArgentinaBernardo Dominic RENEWAL
Kaitlin Z SlusarskiCanadaIoni Bowcher NEW
Jefferson I SergiSpainAsiya Javayant QUALIFIED
Francesco O BowleyCanadaAsiya Javayant RENEWAL
Morrow M FigeroaCanadaStephen Shaw PROPOSAL
Jones E NestleAustraliaElwin Sharvill UNQUALIFIED
Rodrigues P DilliardCanadaAsiya Javayant NEW
Maisha N DoeBrazilAsiya Javayant UNQUALIFIED
James X FigeroaFranceAsiya Javayant NEW
Julie R RimSpainBernardo Dominic NEW
Jennifer V NestleSpainAmy Elsner NEGOTIATION
Wickens P NestleUnited KingdomElwin Sharvill NEW
Arvin P KuskoItalyIoni Bowcher NEGOTIATION
Francesco T MacleadGermanyXuxue Feng NEW
Ivar L GauchoAustraliaStephen Shaw RENEWAL
Julie E InouyeFranceAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh Y CaldareraAustraliaOnyama Limba NEW
Kadeem N AmigonRussiaElwin Sharvill NEGOTIATION
Aika P CaldareraJapanOnyama Limba NEGOTIATION
Chavez W MorascaAustraliaXuxue Feng UNQUALIFIED
Maria W PaprockiSpainAsiya Javayant QUALIFIED
Clifford Z PoquetteArgentinaAnna Fali NEW
Misaki D CaldareraItalyAmy Elsner QUALIFIED
Leja X FigeroaRussiaAsiya Javayant UNQUALIFIED
Jefferson P DarakjyAustraliaAnna Fali PROPOSAL
Sinclair A PaprockiArgentinaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James T GlickCanada2026-10-20Truhlar And Truhlar Attys RENEWAL99Asiya Javayant
1001Aika D PaprockiJapan2026-10-07Rangoni Of Florence RENEWAL20Ivan Magalhaes
1002Octavia T RimGermany2026-10-12Buckley Miller Wright NEW95Ioni Bowcher
1003Kadeem Y MorascaUnited Kingdom2026-10-10Commercial Press RENEWAL96Bernardo Dominic
1004Arvin K MaletItaly2026-09-30Rousseaux, Michael Esq NEGOTIATION80Asiya Javayant
1005Greenwood M SchemmerFrance2026-09-28Printing Dimensions PROPOSAL41Bernardo Dominic
1006Nicolas T ShinkoArgentina2026-10-09Rousseaux, Michael Esq PROPOSAL7Elwin Sharvill
1007Costa V FigeroaCanada2026-10-16Truhlar And Truhlar Attys RENEWAL21Ioni Bowcher
1008Octavia V CampainBrazil2026-10-18King, Christopher A Esq UNQUALIFIED77Amy Elsner
1009Aruna S CaldareraUnited Kingdom2026-10-20Chanay, Jeffrey A Esq NEW42Amy Elsner
1010Kaitlin S MaletUnited Kingdom2026-10-11Buckley Miller Wright PROPOSAL28Amy Elsner
1011Johnson G RoysterAustralia2026-10-12Chanay, Jeffrey A Esq QUALIFIED62Amy Elsner
1012Jennifer P DoeSpain2026-10-09Printing Dimensions UNQUALIFIED76Xuxue Feng
1013Francesco V OldroydItaly2026-10-14Feiner Bros UNQUALIFIED43Ivan Magalhaes
1014Wickens M DilliardArgentina2026-10-14Morlong Associates PROPOSAL28Ivan Magalhaes
1015Ivar C SergiAustralia2026-10-05Morlong Associates NEGOTIATION75Stephen Shaw
1016Alejandro E KolmetzArgentina2026-10-16Rousseaux, Michael Esq QUALIFIED64Asiya Javayant
1017Jones Q DilliardSpain2026-10-04Commercial Press PROPOSAL26Stephen Shaw
1018Aditya L PerinSpain2026-10-11Chapman, Ross E Esq UNQUALIFIED86Ioni Bowcher
1019Sinclair C SaylorsAustralia2026-10-13Benton, John B Jr PROPOSAL85Ivan Magalhaes
1020Stacey N OstroskyGermany2026-10-22Buckley Miller Wright QUALIFIED91Onyama Limba
1021Maria L FlosiGermany2026-10-16Commercial Press UNQUALIFIED49Elwin Sharvill
1022Ivar X GauchoSpain2026-10-08Feltz Printing Service QUALIFIED77Ioni Bowcher
1023Julie A MaletIndia2026-10-14Morlong Associates NEW56Anna Fali
1024Morrow A DarakjyGermany2026-10-14Truhlar And Truhlar Attys UNQUALIFIED64Xuxue Feng
1025Jennifer R BowleyCanada2026-10-14Chapman, Ross E Esq NEW14Elwin Sharvill
1026James R WieserGermany2026-09-24Chanay, Jeffrey A Esq NEW54Xuxue Feng
1027Jeanfrancois Y WieserBrazil2026-10-16Commercial Press QUALIFIED73Anna Fali
1028Maria X AmigonGermany2026-09-23Chemel, James L Cpa RENEWAL3Asiya Javayant
1029Misaki T GillianJapan2026-09-27Buckley Miller Wright NEW96Ivan Magalhaes
1030Isabel S WhobreyArgentina2026-09-26Chanay, Jeffrey A Esq PROPOSAL26Anna Fali
1031Maisha B SchemmerAustralia2026-10-22Chanay, Jeffrey A Esq RENEWAL82Amy Elsner
1032Izzy I PerinRussia2026-10-06King, Christopher A Esq RENEWAL92Xuxue Feng
1033Morrow A SaylorsJapan2026-10-11Buckley Miller Wright NEW50Stephen Shaw
1034Murillo W GauchoFrance2026-10-18Chemel, James L Cpa NEW88Ivan Magalhaes
1035Clifford U RimArgentina2026-10-18Benton, John B Jr PROPOSAL27Elwin Sharvill
1036Francesco D FigeroaJapan2026-10-07Printing Dimensions PROPOSAL86Onyama Limba
1037Wickens F RutaJapan2026-09-24Feiner Bros QUALIFIED48Amy Elsner
1038Johnson U ButtRussia2026-10-07Commercial Press UNQUALIFIED94Anna Fali
1039Jennifer H OstroskyIndia2026-10-16Feiner Bros RENEWAL26Onyama Limba
1040Chavez O TollnerGermany2026-10-16King, Christopher A Esq NEW88Anna Fali
1041Jones R ButtFrance2026-10-20Rangoni Of Florence UNQUALIFIED51Stephen Shaw
1042Cody X CaudyItaly2026-10-07Benton, John B Jr NEGOTIATION97Elwin Sharvill
1043Greenwood K AlbaresIndia2026-10-19Benton, John B Jr NEGOTIATION47Asiya Javayant
1044Jeanfrancois F StensethGermany2026-10-07Chanay, Jeffrey A Esq NEW16Amy Elsner
1045Wickens E OstroskyRussia2026-10-20Printing Dimensions NEW99Bernardo Dominic
1046Kadeem J GauchoCanada2026-10-04Printing Dimensions PROPOSAL54Asiya Javayant
1047Aruna X FlosiBrazil2026-10-11Printing Dimensions PROPOSAL62Stephen Shaw
1048David E SchemmerSpain2026-10-13Rangoni Of Florence NEGOTIATION65Amy Elsner
1049Claire M NickaBrazil2026-10-21Chanay, Jeffrey A Esq NEW54Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Claire D GauchoCanadaStephen Shaw NEW
Jones W PoquetteRussiaXuxue Feng RENEWAL
Octavia N IturbideFranceElwin Sharvill UNQUALIFIED
Julie S DilliardSpainIoni Bowcher NEW
Chavez D MacleadItalyIvan Magalhaes NEGOTIATION
Deepesh V SlusarskiRussiaAnna Fali NEGOTIATION
Sinclair J OstroskyAustraliaXuxue Feng NEGOTIATION
Darci N OldroydSpainAmy Elsner QUALIFIED
Tony V WieserItalyStephen Shaw QUALIFIED
Jeanfrancois O WhobreyBrazilIvan Magalhaes RENEWAL
Salvatore A WhobreyRussiaAnna Fali UNQUALIFIED
Izzy C DoeBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois X RulapaughUnited KingdomBernardo Dominic RENEWAL
Jones Y MarrierUnited KingdomStephen Shaw RENEWAL
Leon D SlusarskiAustraliaAnna Fali QUALIFIED
Wickens N BologniaIndiaStephen Shaw NEGOTIATION
Kaitlin Y VocelkaBrazilIvan Magalhaes NEGOTIATION
Ricardo M PerinBrazilAmy Elsner NEGOTIATION
Kaitlin R StensethFranceBernardo Dominic RENEWAL
Jennifer J OldroydArgentinaAnna Fali UNQUALIFIED
Alejandro J RoysterIndiaAnna Fali RENEWAL
Izzy G KolmetzArgentinaXuxue Feng NEGOTIATION
James F NestleSpainAnna Fali NEW
Cody V GillianSpainAnna Fali PROPOSAL
Izzy Y FollerGermanyAsiya Javayant NEW
Mujtaba E PaprockiAustraliaElwin Sharvill QUALIFIED
Ivar P DoeUnited KingdomStephen Shaw UNQUALIFIED
Octavia W CaldareraArgentinaIoni Bowcher QUALIFIED
Maria C OstroskyUnited KingdomElwin Sharvill NEW
Julie X RoysterJapanElwin Sharvill NEW
Johnson Y SaylorsBrazilIoni Bowcher PROPOSAL
Stacey B SergiUnited KingdomAsiya Javayant NEW
Deepesh D VenereArgentinaBernardo Dominic RENEWAL
Claire E OldroydBrazilElwin Sharvill PROPOSAL
Deepesh K FollerJapanOnyama Limba UNQUALIFIED
Adams Q DarakjySpainIvan Magalhaes PROPOSAL
Claire G GlickArgentinaOnyama Limba NEGOTIATION
Darci E RimItalyStephen Shaw PROPOSAL
Mayumi Q ChuiUnited KingdomXuxue Feng QUALIFIED
David X WhobreyFranceElwin Sharvill PROPOSAL
Jeanfrancois W GlickSpainOnyama Limba RENEWAL
Aika T SchemmerGermanyIoni Bowcher UNQUALIFIED
Claire M CaudyBrazilOnyama Limba UNQUALIFIED
Darci H RutaAustraliaElwin Sharvill NEGOTIATION
Izzy B KolmetzGermanyStephen Shaw UNQUALIFIED
Juan C KolmetzSpainAsiya Javayant UNQUALIFIED
Rodrigues T GillianCanadaStephen Shaw RENEWAL
Adams O WaycottIndiaAsiya Javayant PROPOSAL
Mujtaba M MaletJapanBernardo Dominic PROPOSAL
Greenwood D MorascaGermanyBernardo Dominic PROPOSAL
Frozen Columns
Name
Sinclair N Kolmetz
Munro R Ruta
Claire R Doe
Silvio S Chui
Murillo H Bolognia
Wickens T Ostrosky
James C Caudy
Francesco N Amigon
David C Iturbide
Deepesh I Caudy
James E Marrier
Arvin Y Glick
Misaki Z Venere
Arvin X Sergi
Jennifer A Gaucho
Francesco S Ferencz
Misaki N Ferencz
Wickens L Marrier
Morrow N Tollner
Salvatore I Whobrey
Wickens I Dilliard
Aditya B Venere
Francesco F Inouye
Deepesh S Dilliard
Murillo T Rulapaugh
Clifford I Morasca
Darci O Malet
Greenwood A Schemmer
Murillo Q Tollner
Salvatore S Gillian
Francesco V Stockham
Costa Y Slusarski
Rodrigues D Malet
Ashley G Oldroyd
Aditya N Ruta
James R Figeroa
Aditya S Waycott
Ricardo W Sergi
Faith M Caldarera
Chavez M Nestle
Aika X Waycott
Ashley N Perin
Chavez O Waycott
Cody G Darakjy
Aruna X Rulapaugh
Maria V Venere
Stacey E Malet
Tony S Poquette
James A Garufi
Francesco S Caldarera
IdCountryDate
1000Brazil2026-10-16
1001United Kingdom2026-10-08
1002Spain2026-10-11
1003Canada2026-10-21
1004India2026-09-26
1005Australia2026-09-30
1006Brazil2026-10-03
1007Japan2026-10-20
1008United Kingdom2026-10-03
1009Argentina2026-09-27
1010Italy2026-10-15
1011Japan2026-09-25
1012Germany2026-09-25
1013Italy2026-10-13
1014India2026-10-04
1015Spain2026-10-19
1016Brazil2026-09-30
1017Japan2026-10-12
1018Brazil2026-09-30
1019France2026-10-17
1020Argentina2026-10-05
1021Italy2026-09-23
1022Russia2026-10-18
1023Italy2026-10-17
1024Germany2026-10-17
1025Australia2026-10-14
1026Italy2026-09-30
1027France2026-09-26
1028France2026-10-21
1029France2026-10-05
1030Italy2026-10-07
1031Brazil2026-10-14
1032Italy2026-10-02
1033Germany2026-10-18
1034Australia2026-09-28
1035United Kingdom2026-09-23
1036Italy2026-10-06
1037Germany2026-10-12
1038Brazil2026-10-12
1039Spain2026-10-07
1040Germany2026-10-08
1041Canada2026-10-01
1042Brazil2026-10-16
1043Brazil2026-10-04
1044Italy2026-10-13
1045Spain2026-10-21
1046Spain2026-10-09
1047Japan2026-10-18
1048France2026-10-04
1049Spain2026-09-29

On-Demand Data

NameIdCountryDate
Nicolas D Amigon1000Brazil2026-10-14
Clifford N Vocelka1001India2026-10-20
Munro C Butt1002Russia2026-10-08
Ivar C Schemmer1003India2026-09-29
Maria Q Wieser1004Spain2026-10-21
Adams F Vocelka1005France2026-10-16
Murillo E Sergi1006India2026-10-09
Aditya J Garufi1007Australia2026-10-05
Kadeem I Amigon1008Japan2026-10-09
Greenwood V Dilliard1009Italy2026-09-24
Maria T Shinko1010India2026-10-19
Nicolas C Schemmer1011Russia2026-10-15
Tony S Waycott1012India2026-10-20
Julie T Doe1013Argentina2026-09-30
Jones Z Gaucho1014United Kingdom2026-10-07
Leja I Saylors1015Canada2026-09-25
Claire E Nestle1016Spain2026-10-04
Kadeem I Nicka1017Russia2026-10-09
Wickens G Briddick1018India2026-10-18
Munro B Foller1019Canada2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood H StensethAustraliaIvan Magalhaes RENEWAL
Claire A CaudyGermanyXuxue Feng UNQUALIFIED
Cody G BologniaUnited KingdomElwin Sharvill NEW
Aika A DilliardArgentinaAsiya Javayant QUALIFIED
Greenwood F DilliardUnited KingdomIoni Bowcher RENEWAL
Chavez Q StensethSpainAmy Elsner NEGOTIATION
Kaitlin X OstroskyGermanyBernardo Dominic NEW
Murillo H MaletAustraliaAmy Elsner NEW
Sinclair H BriddickRussiaStephen Shaw PROPOSAL
Jeanfrancois Y StensethCanadaStephen Shaw PROPOSAL
Jeanfrancois K SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Darci V TollnerItalyAsiya Javayant PROPOSAL
Ivar S SchemmerArgentinaElwin Sharvill UNQUALIFIED
Claire O DarakjySpainElwin Sharvill PROPOSAL
Mujtaba Q ButtRussiaIoni Bowcher QUALIFIED
Aruna R InouyeRussiaAsiya Javayant RENEWAL
Morrow X SlusarskiGermanyElwin Sharvill NEW
Julie T MorascaRussiaAmy Elsner NEW
James R ButtCanadaOnyama Limba PROPOSAL
Johnson Y ButtArgentinaAmy Elsner RENEWAL
Arvin L WaycottGermanyXuxue Feng NEW
Morrow D GlickFranceIvan Magalhaes NEGOTIATION
Wickens S DarakjyItalyIoni Bowcher PROPOSAL
Adams W CaudyFranceElwin Sharvill NEGOTIATION
Clifford H PerinRussiaAnna Fali NEW
Arvin T AlbaresItalyIoni Bowcher PROPOSAL
Nicolas J MacleadJapanAsiya Javayant NEW
Tony A KuskoRussiaAnna Fali PROPOSAL
Juan D KolmetzAustraliaAnna Fali NEW
Maria S FollerRussiaIvan Magalhaes NEW
Francesco D CaudyCanadaXuxue Feng UNQUALIFIED
Alejandro W StensethGermanyAnna Fali NEGOTIATION
Silvio J CampainAustraliaAmy Elsner NEGOTIATION
Emily T MarrierIndiaBernardo Dominic RENEWAL
Isabel L RutaUnited KingdomIoni Bowcher RENEWAL
Clifford H AmigonArgentinaAsiya Javayant NEW
Clifford D GlickArgentinaOnyama Limba PROPOSAL
Silvio I IturbideArgentinaElwin Sharvill RENEWAL
Silvio C CaldareraRussiaElwin Sharvill QUALIFIED
Arvin K DoeRussiaXuxue Feng RENEWAL

<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>