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
Juan J OstroskyFranceBernardo Dominic UNQUALIFIED
Aditya I BowleyFranceAnna Fali NEW
Ricardo W DilliardIndiaIoni Bowcher NEGOTIATION
Silvio N WieserBrazilIoni Bowcher PROPOSAL
Kadeem V InouyeRussiaIoni Bowcher NEW
Leja Y MacleadItalyXuxue Feng RENEWAL
Stacey G FlosiGermanyAsiya Javayant UNQUALIFIED
Sinclair I VocelkaJapanAnna Fali NEGOTIATION
Jefferson N BriddickRussiaIoni Bowcher RENEWAL
Octavia M VocelkaCanadaStephen Shaw NEW
David O MarrierSpainAsiya Javayant QUALIFIED
Maisha C ChuiJapanBernardo Dominic NEW
Costa H OldroydItalyAsiya Javayant UNQUALIFIED
Faith F FigeroaAustraliaIoni Bowcher RENEWAL
Jones H GlickUnited KingdomBernardo Dominic NEW
Tony X RimItalyAmy Elsner PROPOSAL
Maisha W StockhamIndiaBernardo Dominic UNQUALIFIED
Octavia M InouyeSpainAnna Fali UNQUALIFIED
Faith L StensethSpainAnna Fali UNQUALIFIED
Chavez W BologniaAustraliaIoni Bowcher RENEWAL
Ivar C GauchoUnited KingdomOnyama Limba NEW
Aika A NestleCanadaXuxue Feng QUALIFIED
Aika F NestleUnited KingdomXuxue Feng RENEWAL
Sinclair V AmigonSpainOnyama Limba QUALIFIED
Francesco D CaldareraArgentinaIoni Bowcher RENEWAL
Tony W KuskoArgentinaAsiya Javayant PROPOSAL
Wickens U BowleyCanadaIoni Bowcher UNQUALIFIED
Izzy Q BologniaBrazilElwin Sharvill PROPOSAL
Jennifer Z VenereAustraliaAmy Elsner PROPOSAL
Julie J StockhamIndiaElwin Sharvill RENEWAL
Tony L SlusarskiCanadaAmy Elsner QUALIFIED
Mayumi K OldroydGermanyIoni Bowcher NEGOTIATION
Isabel O KuskoRussiaAsiya Javayant NEGOTIATION
Murillo X GauchoAustraliaBernardo Dominic RENEWAL
Stacey H RimGermanyAsiya Javayant PROPOSAL
Maria A AlbaresUnited KingdomAsiya Javayant QUALIFIED
Tony W VocelkaIndiaAsiya Javayant UNQUALIFIED
Leon D ChuiCanadaAmy Elsner QUALIFIED
Maisha I WaycottRussiaElwin Sharvill QUALIFIED
Mayumi H NestleIndiaAsiya Javayant NEW
James Q AlbaresRussiaXuxue Feng PROPOSAL
Rodrigues R FlosiFranceStephen Shaw PROPOSAL
Isabel U OstroskyItalyStephen Shaw PROPOSAL
Greenwood L KolmetzItalyOnyama Limba UNQUALIFIED
Tony Y GauchoJapanElwin Sharvill RENEWAL
Ricardo E FlosiJapanIvan Magalhaes QUALIFIED
Silvio W WieserJapanIoni Bowcher NEGOTIATION
James V RulapaughFranceElwin Sharvill NEW
Aruna J ShinkoBrazilAnna Fali UNQUALIFIED
Silvio T FerenczRussiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson W FerenczSpainStephen Shaw NEGOTIATION
Maria K AlbaresGermanyAmy Elsner RENEWAL
Juan D ButtIndiaElwin Sharvill NEW
Rodrigues L WaycottRussiaAmy Elsner QUALIFIED
Munro H RutaItalyStephen Shaw PROPOSAL
Adams W VenereArgentinaAmy Elsner NEW
Arvin P MorascaSpainAsiya Javayant NEW
David T NickaBrazilIvan Magalhaes UNQUALIFIED
Maria S TollnerUnited KingdomStephen Shaw RENEWAL
Jennifer O CampainFranceElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones G SchemmerItaly2026-09-17Commercial Press NEW34Anna Fali
1001Misaki V SlusarskiAustralia2026-09-14Rangoni Of Florence QUALIFIED13Ivan Magalhaes
1002Jeanfrancois S WaycottJapan2026-09-14Feiner Bros NEW94Amy Elsner
1003Tony L MacleadAustralia2026-09-20Benton, John B Jr PROPOSAL98Asiya Javayant
1004Aditya K PerinFrance2026-09-23Rousseaux, Michael Esq UNQUALIFIED48Ivan Magalhaes
1005Salvatore F DoeGermany2026-09-22Feiner Bros NEW7Ivan Magalhaes
1006Leja G AlbaresUnited Kingdom2026-09-26Chemel, James L Cpa RENEWAL13Anna Fali
1007Francesco A KolmetzFrance2026-09-27Rousseaux, Michael Esq NEW96Bernardo Dominic
1008Aika G InouyeUnited Kingdom2026-09-28Feltz Printing Service QUALIFIED65Elwin Sharvill
1009Isabel R SergiIndia2026-09-29Buckley Miller Wright PROPOSAL70Xuxue Feng
1010Francesco F MaletCanada2026-09-26Chemel, James L Cpa RENEWAL53Amy Elsner
1011David V MaletJapan2026-09-25Feltz Printing Service PROPOSAL77Anna Fali
1012Kaitlin G OldroydItaly2026-09-17Morlong Associates NEW5Ivan Magalhaes
1013Murillo C CaudyAustralia2026-10-05Chemel, James L Cpa QUALIFIED51Xuxue Feng
1014Claire I KolmetzRussia2026-09-17Buckley Miller Wright RENEWAL32Xuxue Feng
1015Julie B AmigonUnited Kingdom2026-10-08Truhlar And Truhlar Attys RENEWAL24Anna Fali
1016Maisha F MacleadArgentina2026-09-13Feltz Printing Service NEW76Stephen Shaw
1017Maria I BriddickFrance2026-09-29Buckley Miller Wright PROPOSAL38Amy Elsner
1018Silvio I CaudyAustralia2026-09-21Truhlar And Truhlar Attys NEW31Elwin Sharvill
1019Clifford A CaudyUnited Kingdom2026-10-07Rousseaux, Michael Esq QUALIFIED38Ioni Bowcher
1020Greenwood G WieserGermany2026-10-01Chanay, Jeffrey A Esq NEW62Elwin Sharvill
1021Stacey A GlickJapan2026-09-21Dorl, James J Esq NEW65Stephen Shaw
1022Jeanfrancois N FlosiRussia2026-10-08Rousseaux, Michael Esq RENEWAL4Anna Fali
1023Jennifer X WhobreyAustralia2026-10-10Morlong Associates RENEWAL60Bernardo Dominic
1024Sinclair L PerinUnited Kingdom2026-09-19King, Christopher A Esq UNQUALIFIED34Onyama Limba
1025Silvio C FerenczIndia2026-09-23Chapman, Ross E Esq UNQUALIFIED33Asiya Javayant
1026Mayumi Y FerenczCanada2026-09-16Chanay, Jeffrey A Esq PROPOSAL5Bernardo Dominic
1027Kadeem I KolmetzItaly2026-09-14Dorl, James J Esq NEW24Stephen Shaw
1028Antonio M WaycottItaly2026-10-06Chemel, James L Cpa NEGOTIATION47Asiya Javayant
1029Misaki U PerinArgentina2026-10-07Rangoni Of Florence RENEWAL90Ioni Bowcher
1030James C DarakjyAustralia2026-10-05Rousseaux, Michael Esq RENEWAL38Ivan Magalhaes
1031Johnson P CaldareraJapan2026-10-11Printing Dimensions NEW27Ioni Bowcher
1032Kaitlin O KuskoArgentina2026-09-26Rangoni Of Florence QUALIFIED21Xuxue Feng
1033Claire Z CaudyBrazil2026-10-01Dorl, James J Esq NEW84Asiya Javayant
1034Francesco Y StensethUnited Kingdom2026-10-10Chanay, Jeffrey A Esq PROPOSAL46Ioni Bowcher
1035Antonio N VenereCanada2026-09-26Feltz Printing Service NEGOTIATION92Ioni Bowcher
1036Claire T RimGermany2026-09-18Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1037Smith F FerenczUnited Kingdom2026-10-02Rousseaux, Michael Esq NEGOTIATION12Ivan Magalhaes
1038Juan I CampainSpain2026-09-18Rousseaux, Michael Esq RENEWAL5Anna Fali
1039Silvio O GillianFrance2026-09-22Rousseaux, Michael Esq NEW38Ioni Bowcher
1040Izzy L MorascaUnited Kingdom2026-09-21Printing Dimensions NEGOTIATION32Stephen Shaw
1041Misaki U WaycottRussia2026-10-08Rousseaux, Michael Esq QUALIFIED12Stephen Shaw
1042Jones U TollnerGermany2026-09-18Chemel, James L Cpa UNQUALIFIED83Amy Elsner
1043Deepesh W GillianIndia2026-10-07King, Christopher A Esq QUALIFIED82Bernardo Dominic
1044Mayumi J StensethFrance2026-09-19Feltz Printing Service NEGOTIATION62Asiya Javayant
1045Misaki F IturbideItaly2026-10-03Morlong Associates RENEWAL67Ioni Bowcher
1046Faith X CaldareraIndia2026-09-18Chanay, Jeffrey A Esq NEW84Onyama Limba
1047Octavia A DilliardBrazil2026-10-09Buckley Miller Wright PROPOSAL6Amy Elsner
1048Mujtaba G WieserArgentina2026-10-11Dorl, James J Esq NEGOTIATION41Anna Fali
1049Aika D OstroskyIndia2026-10-06Morlong Associates NEW51Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Claire X ShinkoIndiaBernardo Dominic NEGOTIATION
Nicolas A CampainArgentinaStephen Shaw UNQUALIFIED
Faith E MorascaIndiaAmy Elsner RENEWAL
Maisha R RoysterIndiaElwin Sharvill UNQUALIFIED
Juan F NestleJapanAnna Fali RENEWAL
Jefferson Y RutaArgentinaIvan Magalhaes NEW
Munro A SchemmerArgentinaElwin Sharvill RENEWAL
Chavez R FlosiItalyXuxue Feng NEW
Greenwood W StockhamGermanyXuxue Feng RENEWAL
Jefferson G WieserRussiaIvan Magalhaes PROPOSAL
Greenwood B ChuiIndiaOnyama Limba NEGOTIATION
Maisha H AmigonGermanyAsiya Javayant NEGOTIATION
Morrow R SergiFranceBernardo Dominic UNQUALIFIED
Jefferson F MorascaIndiaAsiya Javayant RENEWAL
Johnson M PerinBrazilIvan Magalhaes QUALIFIED
Nicolas R PoquetteAustraliaXuxue Feng QUALIFIED
Maria H RutaIndiaBernardo Dominic UNQUALIFIED
Wickens Q InouyeItalyAsiya Javayant PROPOSAL
Faith P SergiAustraliaIvan Magalhaes QUALIFIED
Alejandro R RoysterIndiaXuxue Feng NEGOTIATION
Faith S AmigonFranceIoni Bowcher NEW
Chavez G PaprockiCanadaAsiya Javayant QUALIFIED
Maria B VenereArgentinaOnyama Limba NEGOTIATION
Isabel L MarrierGermanyElwin Sharvill RENEWAL
David J WhobreyItalyIvan Magalhaes NEGOTIATION
Arvin T WaycottSpainAsiya Javayant NEW
Costa X MaletItalyStephen Shaw RENEWAL
Misaki P PoquetteBrazilStephen Shaw UNQUALIFIED
Clifford W WhobreySpainIvan Magalhaes UNQUALIFIED
Aika R PaprockiCanadaIvan Magalhaes NEW
David G GlickJapanAmy Elsner QUALIFIED
Smith O FollerJapanAnna Fali PROPOSAL
Ashley C GauchoAustraliaStephen Shaw PROPOSAL
Antonio Z TollnerJapanBernardo Dominic NEGOTIATION
Ashley F OldroydJapanOnyama Limba NEGOTIATION
Faith Z AmigonGermanyElwin Sharvill NEGOTIATION
Isabel T MaletItalyIoni Bowcher RENEWAL
Clifford S BologniaUnited KingdomAsiya Javayant NEGOTIATION
Francesco R ChuiItalyAsiya Javayant NEW
Murillo D PaprockiJapanIoni Bowcher RENEWAL
Cody U FigeroaRussiaAsiya Javayant UNQUALIFIED
Salvatore L WhobreyBrazilAnna Fali UNQUALIFIED
Maria C PerinArgentinaAnna Fali NEGOTIATION
Claire M WhobreyAustraliaAsiya Javayant UNQUALIFIED
Munro Z MacleadIndiaAnna Fali QUALIFIED
Octavia Z GarufiJapanIoni Bowcher QUALIFIED
Emily W StensethIndiaIoni Bowcher NEGOTIATION
Faith J CaudyItalyElwin Sharvill QUALIFIED
Darci I DoeGermanyStephen Shaw QUALIFIED
Tony E OldroydRussiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Johnson H Inouye
Aruna E Venere
Greenwood D Garufi
Faith L Stockham
Tony V Gillian
Ashley Q Oldroyd
James W Royster
Izzy B Whobrey
Darci W Flosi
Chavez D Foller
Ivar S Inouye
Jones N Amigon
Aruna T Darakjy
Kadeem Q Gillian
Jeanfrancois M Oldroyd
Smith D Briddick
Leja Q Bowley
Nicolas X Glick
Johnson Y Inouye
Kadeem C Briddick
Jones B Kolmetz
Mayumi E Darakjy
Munro O Inouye
Stacey S Schemmer
Mujtaba M Bolognia
Jefferson B Garufi
Alejandro H Wieser
Ivar R Figeroa
Aruna Q Poquette
Kaitlin W Nicka
Aruna W Sergi
Clifford S Caudy
Aika C Malet
James Y Nicka
Octavia D Gillian
Mayumi N Schemmer
Stacey P Iturbide
Aruna T Gaucho
Ashley F Venere
Smith O Bolognia
Julie R Inouye
Jones W Figeroa
Clifford P Rim
Tony E Slusarski
Jones X Malet
Munro F Ruta
Johnson E Kolmetz
Jeanfrancois V Caudy
James N Iturbide
Isabel G Oldroyd
IdCountryDate
1000Germany2026-10-08
1001Germany2026-09-15
1002Spain2026-10-04
1003India2026-09-14
1004Argentina2026-09-30
1005Argentina2026-09-13
1006Canada2026-09-28
1007France2026-09-17
1008France2026-09-19
1009Japan2026-09-21
1010France2026-09-18
1011Brazil2026-09-24
1012Brazil2026-09-30
1013India2026-10-07
1014India2026-09-13
1015United Kingdom2026-09-28
1016India2026-10-04
1017Brazil2026-09-21
1018Germany2026-10-01
1019Russia2026-09-17
1020Spain2026-09-28
1021Spain2026-10-08
1022Germany2026-10-11
1023Germany2026-10-03
1024Canada2026-09-13
1025Argentina2026-09-30
1026France2026-09-26
1027United Kingdom2026-09-20
1028United Kingdom2026-09-20
1029Japan2026-10-04
1030Argentina2026-09-15
1031Brazil2026-10-09
1032Italy2026-10-04
1033Spain2026-10-05
1034United Kingdom2026-09-25
1035Italy2026-09-19
1036Argentina2026-09-25
1037Argentina2026-10-01
1038Russia2026-10-02
1039Spain2026-10-04
1040India2026-09-26
1041Argentina2026-10-01
1042Japan2026-09-22
1043Australia2026-10-12
1044Canada2026-09-29
1045France2026-10-10
1046Brazil2026-10-11
1047Italy2026-10-01
1048Germany2026-09-17
1049United Kingdom2026-09-24

On-Demand Data

NameIdCountryDate
Adams L Doe1000United Kingdom2026-09-14
Aika Q Sergi1001Japan2026-09-18
Izzy U Whobrey1002Italy2026-09-28
Ashley C Rulapaugh1003Australia2026-09-30
Wickens S Bolognia1004Canada2026-09-24
Julie A Morasca1005Argentina2026-09-28
Smith V Maclead1006Canada2026-09-15
Leon B Bowley1007India2026-09-13
Mayumi X Ostrosky1008Australia2026-09-29
Smith U Venere1009Canada2026-09-28
Isabel N Campain1010United Kingdom2026-09-17
Silvio Z Perin1011Japan2026-10-09
Aruna U Rulapaugh1012Brazil2026-09-20
Antonio C Ruta1013Brazil2026-09-28
Misaki F Briddick1014Brazil2026-09-27
Ricardo G Nicka1015France2026-09-25
Silvio C Dilliard1016India2026-10-03
Leon K Schemmer1017Australia2026-10-12
Julie F Paprocki1018Russia2026-10-06
Aditya T Gillian1019Argentina2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya Z BologniaArgentinaIvan Magalhaes RENEWAL
Jennifer H KolmetzSpainBernardo Dominic RENEWAL
Ashley H WaycottGermanyAmy Elsner PROPOSAL
Ricardo R RutaItalyIvan Magalhaes QUALIFIED
Costa P RulapaughFranceElwin Sharvill NEW
Julie T BowleyItalyAnna Fali PROPOSAL
Deepesh U ChuiFranceElwin Sharvill QUALIFIED
Arvin E StensethBrazilAnna Fali NEW
Morrow X BologniaItalyXuxue Feng NEGOTIATION
Tony O GlickAustraliaElwin Sharvill RENEWAL
Munro P OstroskyArgentinaBernardo Dominic PROPOSAL
Leja J AlbaresJapanElwin Sharvill NEW
Francesco L DarakjyJapanIvan Magalhaes PROPOSAL
Aruna N PoquetteArgentinaStephen Shaw UNQUALIFIED
Aditya O SlusarskiCanadaAsiya Javayant NEW
Faith K OstroskyCanadaXuxue Feng UNQUALIFIED
Deepesh X CampainFranceElwin Sharvill UNQUALIFIED
Munro Z PerinFranceOnyama Limba NEGOTIATION
Misaki R WieserJapanAnna Fali RENEWAL
Julie H PerinCanadaAsiya Javayant NEGOTIATION
Deepesh W SaylorsSpainAsiya Javayant NEGOTIATION
Jefferson Q WaycottArgentinaElwin Sharvill RENEWAL
Jennifer L KolmetzArgentinaAnna Fali QUALIFIED
Emily G ChuiBrazilAnna Fali NEGOTIATION
Juan F KuskoUnited KingdomAnna Fali UNQUALIFIED
Kadeem D InouyeItalyIoni Bowcher QUALIFIED
Nicolas D KolmetzBrazilIvan Magalhaes PROPOSAL
Sinclair V FollerIndiaXuxue Feng PROPOSAL
Mujtaba D FlosiItalyElwin Sharvill UNQUALIFIED
Aditya R WieserIndiaAsiya Javayant PROPOSAL
Faith V InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Aika R ButtSpainIoni Bowcher NEGOTIATION
Isabel A GarufiItalyBernardo Dominic UNQUALIFIED
Ashley R NickaIndiaBernardo Dominic NEW
Arvin K InouyeCanadaIvan Magalhaes NEW
Mujtaba F MorascaCanadaIoni Bowcher PROPOSAL
Izzy M SergiItalyIoni Bowcher PROPOSAL
Tony B MaletItalyXuxue Feng PROPOSAL
Arvin E FollerItalyIoni Bowcher NEGOTIATION
Cody R RutaGermanyElwin Sharvill NEW

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