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
Darci M MarrierGermanyOnyama Limba PROPOSAL
Mayumi O MacleadArgentinaAmy Elsner RENEWAL
Francesco R SchemmerFranceStephen Shaw NEW
Morrow H MacleadItalyStephen Shaw NEGOTIATION
Jones Y SchemmerFranceAnna Fali UNQUALIFIED
Izzy Q CaudyGermanyAnna Fali NEGOTIATION
David K FollerItalyIvan Magalhaes PROPOSAL
Kadeem N ChuiItalyStephen Shaw UNQUALIFIED
Mujtaba X MarrierCanadaXuxue Feng NEGOTIATION
Smith Y MaletJapanIoni Bowcher UNQUALIFIED
Aika E InouyeJapanIoni Bowcher NEGOTIATION
Leon T DoeCanadaIvan Magalhaes RENEWAL
Darci P MorascaBrazilStephen Shaw RENEWAL
Deepesh G RutaItalyOnyama Limba UNQUALIFIED
Silvio Z BologniaRussiaAmy Elsner RENEWAL
Chavez J CaldareraSpainStephen Shaw NEW
Silvio V PoquetteGermanyBernardo Dominic UNQUALIFIED
Leon P WieserAustraliaElwin Sharvill PROPOSAL
Tony M StensethItalyXuxue Feng QUALIFIED
Munro V WaycottJapanXuxue Feng QUALIFIED
Sinclair K MarrierIndiaOnyama Limba NEW
Alejandro O CaudyRussiaXuxue Feng NEW
Jeanfrancois D StensethCanadaElwin Sharvill UNQUALIFIED
Aditya Q WhobreyGermanyAmy Elsner PROPOSAL
Mujtaba D RimJapanXuxue Feng RENEWAL
Ricardo C FlosiIndiaIvan Magalhaes QUALIFIED
Jones A BriddickUnited KingdomOnyama Limba NEW
Mujtaba B GauchoAustraliaXuxue Feng NEGOTIATION
Stacey X BologniaArgentinaIvan Magalhaes UNQUALIFIED
Ricardo I SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Misaki K RutaGermanyAmy Elsner NEW
Francesco R SchemmerCanadaIvan Magalhaes UNQUALIFIED
Julie L PoquetteJapanIvan Magalhaes NEW
Mujtaba W NestleSpainAnna Fali NEGOTIATION
Aditya G KuskoCanadaAsiya Javayant NEGOTIATION
Jones T BriddickSpainBernardo Dominic UNQUALIFIED
Morrow A ShinkoBrazilIvan Magalhaes RENEWAL
Morrow Y OldroydSpainAmy Elsner QUALIFIED
Salvatore Q ShinkoSpainStephen Shaw RENEWAL
Julie D CaldareraGermanyIoni Bowcher NEW
Nicolas O GarufiIndiaStephen Shaw NEGOTIATION
Alejandro I PoquetteArgentinaIoni Bowcher UNQUALIFIED
James X PerinAustraliaStephen Shaw RENEWAL
Leja V GillianArgentinaElwin Sharvill NEW
Maria C WieserSpainOnyama Limba PROPOSAL
Aruna E PerinGermanyIoni Bowcher NEGOTIATION
Francesco P OldroydBrazilBernardo Dominic NEW
Izzy Y StockhamJapanOnyama Limba QUALIFIED
Stacey U BowleyAustraliaElwin Sharvill NEW
Munro A MacleadArgentinaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo O MaletAustraliaAnna Fali NEW
Smith W RimUnited KingdomXuxue Feng PROPOSAL
Jennifer Q BowleyArgentinaAmy Elsner NEGOTIATION
Ashley C KolmetzArgentinaXuxue Feng NEGOTIATION
Ashley M DilliardBrazilXuxue Feng RENEWAL
Arvin A OstroskyAustraliaStephen Shaw RENEWAL
Maria A InouyeRussiaIoni Bowcher UNQUALIFIED
Antonio J StockhamRussiaIvan Magalhaes NEW
Antonio Q BologniaGermanyStephen Shaw PROPOSAL
Ashley P DoeFranceIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore B FerenczUnited Kingdom2026-10-01Rousseaux, Michael Esq QUALIFIED62Bernardo Dominic
1001Stacey X DoeItaly2026-10-20Chemel, James L Cpa RENEWAL6Asiya Javayant
1002Leon V CampainSpain2026-10-22Feiner Bros RENEWAL80Onyama Limba
1003Jennifer E StensethIndia2026-09-28Commercial Press QUALIFIED43Anna Fali
1004Mayumi R KuskoIndia2026-10-21Dorl, James J Esq NEW89Ioni Bowcher
1005Munro U PaprockiJapan2026-10-05Chemel, James L Cpa NEGOTIATION58Ioni Bowcher
1006Salvatore K WhobreyRussia2026-10-20Rousseaux, Michael Esq UNQUALIFIED46Ioni Bowcher
1007Kaitlin G MaletRussia2026-10-19Buckley Miller Wright NEW88Ivan Magalhaes
1008Cody C MarrierCanada2026-10-17Morlong Associates NEW61Bernardo Dominic
1009Misaki U SchemmerJapan2026-10-27Printing Dimensions PROPOSAL41Ioni Bowcher
1010Ricardo V OldroydSpain2026-10-11Printing Dimensions PROPOSAL9Bernardo Dominic
1011Cody Y RulapaughJapan2026-10-22King, Christopher A Esq NEGOTIATION74Elwin Sharvill
1012Alejandro O ShinkoFrance2026-10-17Feltz Printing Service NEW22Elwin Sharvill
1013Jones A TollnerItaly2026-10-03Chanay, Jeffrey A Esq QUALIFIED90Ivan Magalhaes
1014Greenwood E CaldareraCanada2026-10-01Commercial Press UNQUALIFIED89Amy Elsner
1015Salvatore S MacleadAustralia2026-10-05Chanay, Jeffrey A Esq NEW30Anna Fali
1016Jennifer Q VocelkaArgentina2026-10-23Morlong Associates PROPOSAL8Bernardo Dominic
1017Aditya E MarrierIndia2026-10-01Benton, John B Jr NEGOTIATION34Ioni Bowcher
1018Ashley J BologniaRussia2026-10-13Chapman, Ross E Esq QUALIFIED21Anna Fali
1019Chavez R OstroskyBrazil2026-09-29Commercial Press UNQUALIFIED39Elwin Sharvill
1020Jefferson J OstroskySpain2026-10-01King, Christopher A Esq PROPOSAL85Xuxue Feng
1021Antonio L MorascaCanada2026-10-10Rousseaux, Michael Esq RENEWAL96Amy Elsner
1022Octavia Q MaletGermany2026-10-19Rousseaux, Michael Esq NEW73Elwin Sharvill
1023Ashley N ChuiJapan2026-10-12Feiner Bros RENEWAL6Ivan Magalhaes
1024Leon D BriddickSpain2026-10-13Chanay, Jeffrey A Esq NEGOTIATION60Asiya Javayant
1025Chavez A FerenczGermany2026-10-02Feiner Bros NEGOTIATION52Amy Elsner
1026Greenwood Z OldroydArgentina2026-10-13Feltz Printing Service PROPOSAL65Ivan Magalhaes
1027Misaki K FerenczCanada2026-10-15Chanay, Jeffrey A Esq QUALIFIED79Amy Elsner
1028Clifford Y VocelkaSpain2026-10-22Morlong Associates RENEWAL87Ioni Bowcher
1029Clifford L PoquetteJapan2026-10-08Truhlar And Truhlar Attys RENEWAL24Asiya Javayant
1030Rodrigues L PerinRussia2026-10-07Chapman, Ross E Esq RENEWAL23Anna Fali
1031Juan V VenereArgentina2026-10-25Feiner Bros PROPOSAL89Ivan Magalhaes
1032Misaki L CaldareraFrance2026-10-15Feiner Bros PROPOSAL94Anna Fali
1033Faith F CampainFrance2026-10-07Feiner Bros PROPOSAL42Elwin Sharvill
1034Jennifer F PoquetteArgentina2026-10-26Rousseaux, Michael Esq PROPOSAL85Bernardo Dominic
1035Ricardo R RimArgentina2026-10-12Truhlar And Truhlar Attys RENEWAL86Ivan Magalhaes
1036James S WhobreyArgentina2026-10-19Chapman, Ross E Esq UNQUALIFIED68Xuxue Feng
1037Isabel V WaycottJapan2026-10-25Morlong Associates RENEWAL95Xuxue Feng
1038Adams A WhobreyBrazil2026-10-20Rangoni Of Florence QUALIFIED65Elwin Sharvill
1039James Y MorascaSpain2026-10-10Chemel, James L Cpa PROPOSAL11Onyama Limba
1040James W InouyeJapan2026-09-28Benton, John B Jr NEW63Anna Fali
1041Munro L IturbideArgentina2026-10-12Feltz Printing Service RENEWAL90Anna Fali
1042Maisha G RimItaly2026-10-14Feltz Printing Service NEGOTIATION41Asiya Javayant
1043Francesco N WaycottFrance2026-10-15Feltz Printing Service NEW75Anna Fali
1044Alejandro L RimJapan2026-10-02Benton, John B Jr RENEWAL58Ioni Bowcher
1045Clifford W WaycottCanada2026-10-05Feltz Printing Service RENEWAL15Amy Elsner
1046Ricardo R CaldareraBrazil2026-10-12Truhlar And Truhlar Attys QUALIFIED63Elwin Sharvill
1047Maisha H CaudyUnited Kingdom2026-09-29Chanay, Jeffrey A Esq PROPOSAL0Asiya Javayant
1048Adams N DarakjyRussia2026-10-24Truhlar And Truhlar Attys UNQUALIFIED75Onyama Limba
1049Jones C WieserFrance2026-10-01Rousseaux, Michael Esq PROPOSAL91Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire R MaletAustraliaBernardo Dominic NEW
Francesco B RoysterRussiaElwin Sharvill NEW
Maria V MacleadIndiaElwin Sharvill NEW
Octavia R InouyeArgentinaStephen Shaw NEGOTIATION
Antonio K NestleGermanyAmy Elsner NEGOTIATION
Munro O AlbaresRussiaIvan Magalhaes NEW
Morrow M FlosiAustraliaAsiya Javayant QUALIFIED
Isabel W SchemmerCanadaXuxue Feng NEGOTIATION
Nicolas Z SchemmerIndiaStephen Shaw PROPOSAL
Silvio I CampainItalyOnyama Limba NEW
Aditya X DilliardCanadaXuxue Feng UNQUALIFIED
Maisha A SaylorsBrazilIoni Bowcher RENEWAL
Greenwood V WhobreySpainStephen Shaw UNQUALIFIED
David G BriddickJapanElwin Sharvill NEW
Aika B ShinkoCanadaElwin Sharvill RENEWAL
Johnson P DoeGermanyAsiya Javayant RENEWAL
Kaitlin R GlickRussiaBernardo Dominic PROPOSAL
Kadeem A GauchoSpainAsiya Javayant NEW
Stacey T ChuiBrazilIoni Bowcher NEGOTIATION
Deepesh X MaletGermanyIvan Magalhaes PROPOSAL
Rodrigues L StensethArgentinaOnyama Limba PROPOSAL
Sinclair R BowleyFranceOnyama Limba PROPOSAL
Munro K DilliardItalyXuxue Feng QUALIFIED
Morrow Z RulapaughIndiaAmy Elsner UNQUALIFIED
Johnson Z WieserIndiaIvan Magalhaes NEW
Julie K DarakjyRussiaAmy Elsner PROPOSAL
Isabel Q KolmetzIndiaIoni Bowcher QUALIFIED
Jeanfrancois J SchemmerBrazilElwin Sharvill QUALIFIED
Emily S RutaCanadaAmy Elsner UNQUALIFIED
Rodrigues I SaylorsCanadaXuxue Feng QUALIFIED
Smith M DarakjyGermanyAnna Fali UNQUALIFIED
Ricardo E OstroskyIndiaAnna Fali NEW
Francesco M WieserSpainAnna Fali NEW
Chavez D FigeroaGermanyAnna Fali NEGOTIATION
Tony H FlosiGermanyStephen Shaw PROPOSAL
Aditya C FollerUnited KingdomIoni Bowcher QUALIFIED
Rodrigues G StensethItalyXuxue Feng NEGOTIATION
Greenwood E MaletGermanyXuxue Feng QUALIFIED
Jeanfrancois S PerinIndiaAsiya Javayant NEGOTIATION
Misaki D VocelkaAustraliaStephen Shaw NEW
Emily W SaylorsGermanyAsiya Javayant NEW
Munro U VocelkaBrazilStephen Shaw QUALIFIED
Jeanfrancois K FlosiArgentinaAmy Elsner NEGOTIATION
Silvio N InouyeBrazilOnyama Limba RENEWAL
Clifford M CampainGermanyAsiya Javayant RENEWAL
Izzy P TollnerFranceElwin Sharvill PROPOSAL
Silvio C ShinkoFranceOnyama Limba QUALIFIED
Aruna S DilliardJapanOnyama Limba QUALIFIED
Tony O OldroydJapanOnyama Limba QUALIFIED
David L StensethItalyAmy Elsner NEGOTIATION
Frozen Columns
Name
Adams G Glick
Tony E Ferencz
Silvio X Briddick
Emily U Flosi
Juan R Amigon
Adams E Rulapaugh
Tony N Oldroyd
Claire R Caldarera
Adams T Nicka
Maria H Oldroyd
Maisha A Briddick
Murillo W Nestle
Maria N Iturbide
Ashley C Slusarski
Izzy S Kolmetz
Maria Z Iturbide
Juan G Amigon
Deepesh D Slusarski
Cody T Vocelka
Mayumi E Campain
Leon F Malet
Deepesh H Albares
Jefferson Z Maclead
Ivar U Royster
Morrow J Iturbide
Aruna W Flosi
Munro N Nestle
Smith F Ostrosky
Leja D Rulapaugh
Aditya B Oldroyd
Leon U Waycott
Aruna Q Tollner
Wickens V Amigon
Leja L Paprocki
Maria Z Vocelka
Misaki I Venere
Mayumi V Dilliard
Izzy S Caldarera
Juan S Kusko
Costa V Briddick
Smith Z Tollner
Nicolas H Rulapaugh
Leon S Stenseth
Jennifer B Darakjy
Chavez L Dilliard
Salvatore D Butt
Leon L Rulapaugh
Salvatore W Nestle
Mayumi O Venere
Salvatore Z Chui
IdCountryDate
1000Argentina2026-09-30
1001India2026-10-04
1002France2026-10-19
1003Brazil2026-10-10
1004United Kingdom2026-10-18
1005Germany2026-09-30
1006Japan2026-10-23
1007India2026-10-07
1008Argentina2026-10-18
1009Argentina2026-10-23
1010Argentina2026-10-22
1011Australia2026-10-14
1012India2026-10-03
1013Russia2026-10-16
1014Argentina2026-10-21
1015Russia2026-10-27
1016India2026-10-18
1017United Kingdom2026-10-25
1018Italy2026-10-03
1019Italy2026-10-07
1020Spain2026-10-16
1021Spain2026-10-21
1022Brazil2026-10-12
1023Argentina2026-10-14
1024Canada2026-10-02
1025Germany2026-10-26
1026India2026-10-10
1027Italy2026-10-22
1028Japan2026-10-22
1029United Kingdom2026-09-28
1030India2026-10-14
1031Japan2026-10-26
1032Australia2026-10-13
1033Spain2026-10-03
1034United Kingdom2026-10-26
1035Japan2026-10-20
1036India2026-10-10
1037Germany2026-10-06
1038Russia2026-10-26
1039Canada2026-09-30
1040Germany2026-10-21
1041France2026-10-26
1042Russia2026-09-28
1043Germany2026-10-17
1044United Kingdom2026-10-14
1045Russia2026-09-30
1046Germany2026-10-19
1047United Kingdom2026-10-09
1048Canada2026-10-09
1049Italy2026-10-19

On-Demand Data

NameIdCountryDate
Salvatore N Malet1000Italy2026-10-23
Nicolas E Dilliard1001India2026-10-13
Kaitlin K Dilliard1002Italy2026-10-03
Maria J Slusarski1003France2026-10-19
Jennifer C Butt1004United Kingdom2026-10-09
Adams R Stockham1005United Kingdom2026-10-14
Claire F Campain1006Russia2026-10-13
Chavez B Malet1007Argentina2026-10-27
Kaitlin B Darakjy1008Russia2026-10-04
Ivar S Bowley1009Australia2026-10-25
Leon J Flosi1010Russia2026-09-28
Maisha X Bowley1011Germany2026-10-19
Octavia N Waycott1012Spain2026-10-27
Jeanfrancois T Briddick1013France2026-10-08
Costa Z Bowley1014Canada2026-10-18
Cody M Gillian1015Russia2026-10-06
Maria G Vocelka1016France2026-10-17
Ashley Q Sergi1017Canada2026-10-26
Kaitlin J Waycott1018India2026-10-11
Leja V Oldroyd1019India2026-10-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro K BowleyAustraliaIvan Magalhaes RENEWAL
Jones H CaudyArgentinaIvan Magalhaes RENEWAL
Silvio F RulapaughCanadaXuxue Feng RENEWAL
Jennifer U RulapaughSpainXuxue Feng QUALIFIED
Ashley T BriddickCanadaAmy Elsner NEW
Kadeem M MarrierAustraliaXuxue Feng NEW
Munro N StensethBrazilOnyama Limba QUALIFIED
Leon H SergiArgentinaAnna Fali UNQUALIFIED
Arvin B IturbideBrazilIoni Bowcher QUALIFIED
Ashley T SlusarskiFranceOnyama Limba NEW
Darci Z FollerCanadaIoni Bowcher PROPOSAL
Antonio F PerinCanadaBernardo Dominic QUALIFIED
Deepesh L FlosiArgentinaIvan Magalhaes UNQUALIFIED
Stacey T KolmetzArgentinaOnyama Limba NEGOTIATION
Claire B ChuiSpainIvan Magalhaes NEGOTIATION
Emily K FollerIndiaAnna Fali NEGOTIATION
Leja V RulapaughCanadaAmy Elsner PROPOSAL
Rodrigues O GlickFranceAnna Fali UNQUALIFIED
Maria C WhobreyBrazilIvan Magalhaes QUALIFIED
Kadeem A BowleyJapanIoni Bowcher RENEWAL
Aruna F FerenczCanadaIvan Magalhaes UNQUALIFIED
Aruna U WhobreyUnited KingdomIoni Bowcher QUALIFIED
Alejandro W DoeSpainBernardo Dominic RENEWAL
Aruna N KolmetzAustraliaOnyama Limba NEW
Juan T GauchoUnited KingdomElwin Sharvill QUALIFIED
Maisha E RutaGermanyOnyama Limba RENEWAL
Johnson B MaletRussiaElwin Sharvill RENEWAL
Greenwood M SlusarskiRussiaBernardo Dominic NEGOTIATION
Ashley B WaycottSpainIoni Bowcher QUALIFIED
Deepesh K IturbideItalyXuxue Feng QUALIFIED
Misaki F CaudyUnited KingdomElwin Sharvill NEGOTIATION
Juan U BologniaGermanyAmy Elsner RENEWAL
Sinclair F FollerRussiaXuxue Feng NEGOTIATION
Antonio Y ShinkoJapanIvan Magalhaes PROPOSAL
Chavez L DarakjyFranceAnna Fali NEW
Darci J VocelkaRussiaOnyama Limba NEW
Murillo X AlbaresGermanyElwin Sharvill UNQUALIFIED
Ricardo J FlosiArgentinaOnyama Limba RENEWAL
Ashley S RoysterAustraliaIvan Magalhaes NEGOTIATION
James S DilliardRussiaStephen Shaw 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>