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
Izzy C MaletUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh F BologniaJapanXuxue Feng NEGOTIATION
Julie D RutaItalyAnna Fali QUALIFIED
Leja X SlusarskiAustraliaAnna Fali NEGOTIATION
Maria U OldroydArgentinaAmy Elsner RENEWAL
Darci Z KolmetzItalyXuxue Feng PROPOSAL
Arvin V MacleadRussiaXuxue Feng UNQUALIFIED
Arvin K GarufiItalyAnna Fali QUALIFIED
David T StockhamItalyIoni Bowcher UNQUALIFIED
Stacey R DilliardCanadaIoni Bowcher UNQUALIFIED
Aika Y RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Costa U RutaCanadaAmy Elsner NEW
Aditya C ShinkoItalyBernardo Dominic RENEWAL
Arvin H RimCanadaAsiya Javayant UNQUALIFIED
Murillo R DoeUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo L AmigonArgentinaOnyama Limba NEW
Alejandro E WieserCanadaStephen Shaw NEW
Kaitlin T InouyeRussiaAsiya Javayant RENEWAL
Emily V IturbideJapanIvan Magalhaes NEW
Silvio N ButtAustraliaStephen Shaw QUALIFIED
Francesco K DarakjyFranceOnyama Limba RENEWAL
Misaki Q IturbideRussiaXuxue Feng UNQUALIFIED
Nicolas X PaprockiAustraliaAsiya Javayant UNQUALIFIED
Aika W FerenczRussiaXuxue Feng RENEWAL
Murillo I ButtBrazilAsiya Javayant UNQUALIFIED
Aika H KolmetzArgentinaIvan Magalhaes NEW
Misaki X FerenczArgentinaIoni Bowcher NEW
Wickens J SergiJapanIoni Bowcher UNQUALIFIED
Aika S RoysterRussiaIvan Magalhaes RENEWAL
Ashley E MorascaBrazilStephen Shaw PROPOSAL
Tony Q RimJapanIoni Bowcher NEGOTIATION
Adams N BologniaGermanyIvan Magalhaes RENEWAL
Tony U RulapaughCanadaAsiya Javayant NEW
Kadeem O IturbideItalyOnyama Limba NEW
Nicolas Q NestleJapanBernardo Dominic UNQUALIFIED
Maria Z MacleadArgentinaElwin Sharvill UNQUALIFIED
Maria V OstroskyArgentinaAnna Fali NEW
Darci G TollnerRussiaAnna Fali PROPOSAL
Octavia Z RulapaughArgentinaAsiya Javayant RENEWAL
Munro S BriddickRussiaIoni Bowcher UNQUALIFIED
Mayumi O ButtRussiaElwin Sharvill UNQUALIFIED
Claire W RulapaughIndiaBernardo Dominic RENEWAL
Leon U VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Cody G SergiAustraliaElwin Sharvill NEW
Claire N SaylorsIndiaBernardo Dominic NEW
Francesco E VenereIndiaOnyama Limba PROPOSAL
Antonio H NickaCanadaIoni Bowcher UNQUALIFIED
Aruna C KuskoArgentinaStephen Shaw RENEWAL
Mayumi L SchemmerAustraliaStephen Shaw QUALIFIED
Mujtaba P FlosiCanadaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro V RoysterItalyIvan Magalhaes NEGOTIATION
Maisha L RutaSpainIoni Bowcher NEGOTIATION
Clifford G GillianItalyIoni Bowcher NEW
Johnson E PoquetteArgentinaAsiya Javayant NEGOTIATION
Morrow J FerenczCanadaElwin Sharvill PROPOSAL
Jones Z TollnerUnited KingdomAmy Elsner QUALIFIED
Stacey O SaylorsJapanIvan Magalhaes QUALIFIED
Rodrigues A WieserItalyIoni Bowcher RENEWAL
Kaitlin Y KolmetzBrazilStephen Shaw NEGOTIATION
Ivar V VocelkaIndiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi F GarufiFrance2026-10-09Truhlar And Truhlar Attys NEW64Stephen Shaw
1001Clifford O FerenczItaly2026-10-31Chemel, James L Cpa PROPOSAL12Bernardo Dominic
1002Nicolas J VocelkaFrance2026-10-24King, Christopher A Esq UNQUALIFIED19Onyama Limba
1003Claire M IturbideFrance2026-10-26Buckley Miller Wright QUALIFIED49Ioni Bowcher
1004Ivar B SaylorsArgentina2026-10-27Printing Dimensions NEW82Stephen Shaw
1005Munro T StensethIndia2026-11-04Dorl, James J Esq NEGOTIATION18Anna Fali
1006Leon W SchemmerJapan2026-10-17Morlong Associates UNQUALIFIED75Bernardo Dominic
1007Arvin W SchemmerItaly2026-11-04Benton, John B Jr UNQUALIFIED57Asiya Javayant
1008Jennifer F ShinkoIndia2026-10-17Morlong Associates QUALIFIED63Asiya Javayant
1009Wickens U BologniaRussia2026-10-31Printing Dimensions PROPOSAL96Ioni Bowcher
1010Leon H DarakjyItaly2026-11-01Chemel, James L Cpa UNQUALIFIED80Xuxue Feng
1011Salvatore I KolmetzRussia2026-10-18Morlong Associates RENEWAL90Ioni Bowcher
1012Arvin G BowleyIndia2026-11-05Morlong Associates RENEWAL5Stephen Shaw
1013Aruna U IturbideSpain2026-10-22Printing Dimensions NEW83Asiya Javayant
1014Mayumi S TollnerSpain2026-10-23Feiner Bros UNQUALIFIED47Xuxue Feng
1015David D WaycottGermany2026-10-22Chemel, James L Cpa NEW86Anna Fali
1016Mujtaba E SergiFrance2026-11-03Chemel, James L Cpa QUALIFIED86Ioni Bowcher
1017Sinclair E GarufiUnited Kingdom2026-10-29Buckley Miller Wright UNQUALIFIED39Stephen Shaw
1018Cody R MaletSpain2026-10-13Rousseaux, Michael Esq NEGOTIATION94Stephen Shaw
1019Faith M BologniaIndia2026-11-01Truhlar And Truhlar Attys PROPOSAL12Asiya Javayant
1020Darci I BowleyFrance2026-10-29Rousseaux, Michael Esq NEGOTIATION92Onyama Limba
1021Tony B SergiJapan2026-10-28Morlong Associates UNQUALIFIED8Stephen Shaw
1022Wickens V GauchoFrance2026-10-16Benton, John B Jr NEW1Stephen Shaw
1023Rodrigues F IturbideBrazil2026-11-03Dorl, James J Esq NEW9Xuxue Feng
1024Costa V DarakjyUnited Kingdom2026-10-21Printing Dimensions PROPOSAL82Asiya Javayant
1025Aruna G PerinAustralia2026-10-22Chanay, Jeffrey A Esq RENEWAL88Stephen Shaw
1026Claire O GauchoJapan2026-10-11Chapman, Ross E Esq QUALIFIED38Xuxue Feng
1027Silvio D MorascaJapan2026-11-03King, Christopher A Esq NEGOTIATION33Stephen Shaw
1028Antonio P KuskoRussia2026-10-15Benton, John B Jr UNQUALIFIED85Anna Fali
1029Leja E PaprockiUnited Kingdom2026-10-24Feiner Bros RENEWAL25Amy Elsner
1030Cody S MarrierAustralia2026-10-11Benton, John B Jr QUALIFIED65Amy Elsner
1031Tony Y BologniaAustralia2026-10-16Feiner Bros NEGOTIATION60Stephen Shaw
1032Leon P ButtGermany2026-10-15Rangoni Of Florence RENEWAL85Asiya Javayant
1033Claire I GauchoIndia2026-10-31Chanay, Jeffrey A Esq UNQUALIFIED66Ivan Magalhaes
1034Aruna K DarakjyRussia2026-10-12Benton, John B Jr UNQUALIFIED84Ivan Magalhaes
1035Ivar M ButtFrance2026-11-01Commercial Press RENEWAL39Ioni Bowcher
1036Aika T WaycottGermany2026-10-31Benton, John B Jr PROPOSAL88Stephen Shaw
1037Munro V CampainUnited Kingdom2026-11-03Rangoni Of Florence NEGOTIATION54Elwin Sharvill
1038Mujtaba W BriddickGermany2026-10-30Benton, John B Jr NEW23Onyama Limba
1039Aditya Y WaycottCanada2026-11-05Rangoni Of Florence NEGOTIATION41Amy Elsner
1040Aruna R DarakjySpain2026-10-20Rangoni Of Florence QUALIFIED20Stephen Shaw
1041Alejandro J FlosiGermany2026-10-26Feltz Printing Service NEW66Asiya Javayant
1042Murillo S MarrierArgentina2026-10-15Commercial Press RENEWAL6Asiya Javayant
1043Clifford P DilliardJapan2026-11-04Chapman, Ross E Esq QUALIFIED15Onyama Limba
1044Faith F DilliardIndia2026-10-17Chanay, Jeffrey A Esq NEGOTIATION77Stephen Shaw
1045Chavez B SergiUnited Kingdom2026-10-17Buckley Miller Wright NEGOTIATION80Anna Fali
1046Chavez I TollnerUnited Kingdom2026-10-28Chanay, Jeffrey A Esq RENEWAL10Elwin Sharvill
1047Rodrigues V IturbideUnited Kingdom2026-10-12Commercial Press RENEWAL77Xuxue Feng
1048Chavez Y AmigonArgentina2026-10-23Feiner Bros NEGOTIATION56Elwin Sharvill
1049Izzy K InouyeGermany2026-10-23Commercial Press QUALIFIED21Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aika V ChuiArgentinaAmy Elsner RENEWAL
Maria Z MaletItalyIoni Bowcher QUALIFIED
Izzy X BowleySpainIoni Bowcher QUALIFIED
Sinclair X PerinItalyOnyama Limba RENEWAL
Isabel B MaletFranceStephen Shaw NEW
Darci K FerenczSpainIoni Bowcher UNQUALIFIED
Faith T WhobreyRussiaBernardo Dominic QUALIFIED
Ashley M InouyeGermanyXuxue Feng RENEWAL
Cody H FigeroaRussiaIoni Bowcher QUALIFIED
Alejandro A StockhamBrazilAsiya Javayant UNQUALIFIED
Alejandro S FerenczCanadaElwin Sharvill RENEWAL
Julie P TollnerGermanyAmy Elsner NEW
Maisha A AmigonSpainIoni Bowcher RENEWAL
Maria O BriddickBrazilIvan Magalhaes UNQUALIFIED
Alejandro J KolmetzSpainElwin Sharvill NEGOTIATION
Munro O OstroskyArgentinaBernardo Dominic UNQUALIFIED
Clifford U RoysterUnited KingdomAmy Elsner PROPOSAL
Sinclair N MorascaItalyAnna Fali NEGOTIATION
Wickens D FlosiJapanIoni Bowcher QUALIFIED
Rodrigues P PoquetteUnited KingdomAnna Fali QUALIFIED
Deepesh G RutaGermanyAmy Elsner RENEWAL
Misaki J WaycottAustraliaAsiya Javayant QUALIFIED
Julie W BologniaCanadaIvan Magalhaes PROPOSAL
Chavez O ShinkoBrazilIvan Magalhaes NEW
Julie X NestleBrazilAmy Elsner UNQUALIFIED
Ashley I WhobreyBrazilStephen Shaw NEGOTIATION
Rodrigues G FlosiArgentinaStephen Shaw UNQUALIFIED
Aditya J NickaUnited KingdomAnna Fali NEW
Clifford S BologniaIndiaStephen Shaw UNQUALIFIED
Salvatore F KuskoArgentinaXuxue Feng QUALIFIED
Aika X CampainCanadaAsiya Javayant RENEWAL
Darci Z CaldareraJapanStephen Shaw UNQUALIFIED
Ivar U KolmetzAustraliaStephen Shaw RENEWAL
Ashley C GlickRussiaAmy Elsner NEGOTIATION
Emily S DarakjySpainStephen Shaw NEW
Kadeem F VocelkaGermanyXuxue Feng UNQUALIFIED
Wickens L AlbaresFranceAnna Fali RENEWAL
Munro X RulapaughItalyOnyama Limba QUALIFIED
Alejandro H CaldareraCanadaStephen Shaw NEGOTIATION
Rodrigues R DoeBrazilAnna Fali UNQUALIFIED
Nicolas S FigeroaCanadaAnna Fali RENEWAL
Johnson B CaldareraUnited KingdomElwin Sharvill PROPOSAL
Adams R WaycottAustraliaOnyama Limba NEGOTIATION
Leja Q NestleBrazilAnna Fali QUALIFIED
Stacey Y SergiRussiaStephen Shaw UNQUALIFIED
Antonio Z BowleyFranceXuxue Feng UNQUALIFIED
Johnson I DarakjyFranceXuxue Feng RENEWAL
Johnson P SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Nicolas X StensethItalyOnyama Limba RENEWAL
Maria R OstroskyAustraliaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Smith C Royster
Salvatore Z Doe
Mayumi C Ostrosky
Aruna P Inouye
Antonio P Maclead
Aika A Poquette
Wickens J Iturbide
Morrow F Marrier
Mayumi Z Iturbide
Costa G Shinko
Jennifer E Inouye
Aika F Figeroa
Murillo E Sergi
Morrow Q Figeroa
Maria Z Campain
Claire P Rim
Smith F Perin
Murillo O Malet
Francesco W Caldarera
Nicolas O Whobrey
Darci W Chui
Chavez T Rulapaugh
Tony S Kusko
Maria H Caldarera
Mayumi H Royster
Rodrigues G Venere
Emily M Amigon
Arvin W Morasca
Munro L Foller
James A Gaucho
Aika D Garufi
Leon H Nicka
Ivar G Perin
Costa H Bowley
Ivar E Venere
Arvin X Briddick
Arvin L Inouye
Ricardo W Waycott
Faith C Figeroa
Arvin C Rim
Clifford I Royster
Octavia D Garufi
Alejandro G Stockham
Ricardo L Foller
Murillo T Chui
Clifford J Gaucho
Maisha H Venere
Darci T Chui
Jennifer P Gillian
Morrow D Malet
IdCountryDate
1000Germany2026-10-13
1001Italy2026-10-14
1002Germany2026-10-22
1003Spain2026-10-08
1004Argentina2026-10-27
1005Canada2026-10-20
1006Canada2026-10-09
1007India2026-10-12
1008Japan2026-10-14
1009Canada2026-10-26
1010France2026-10-19
1011Germany2026-10-16
1012Australia2026-10-08
1013India2026-10-09
1014Canada2026-10-28
1015Brazil2026-10-07
1016Germany2026-10-22
1017Australia2026-10-16
1018Japan2026-10-31
1019France2026-10-25
1020Argentina2026-10-24
1021Russia2026-10-16
1022Australia2026-10-29
1023India2026-10-25
1024Argentina2026-10-25
1025Russia2026-11-04
1026Japan2026-10-31
1027Germany2026-10-23
1028Brazil2026-10-23
1029United Kingdom2026-10-23
1030Germany2026-10-07
1031Australia2026-11-04
1032United Kingdom2026-10-17
1033Germany2026-10-07
1034Australia2026-10-11
1035Spain2026-10-11
1036Spain2026-10-28
1037Russia2026-10-08
1038Canada2026-10-20
1039Japan2026-11-01
1040Russia2026-10-23
1041Australia2026-10-24
1042Brazil2026-10-28
1043Spain2026-10-19
1044Australia2026-10-22
1045Argentina2026-10-20
1046France2026-10-15
1047Canada2026-10-25
1048Brazil2026-10-18
1049Italy2026-10-23

On-Demand Data

NameIdCountryDate
Jennifer M Butt1000Russia2026-10-07
Julie U Campain1001France2026-11-04
Faith I Bowley1002Germany2026-11-03
Ricardo V Nicka1003United Kingdom2026-11-02
Johnson S Bowley1004Canada2026-10-27
Greenwood N Perin1005United Kingdom2026-10-15
Sinclair V Kusko1006Canada2026-10-13
Munro O Foller1007Japan2026-10-20
Aika Y Royster1008Australia2026-10-10
Claire X Malet1009United Kingdom2026-10-22
Julie W Oldroyd1010France2026-10-10
Jennifer T Sergi1011Australia2026-10-09
Isabel S Paprocki1012Italy2026-10-12
Aruna W Rulapaugh1013Italy2026-10-30
Francesco I Vocelka1014India2026-10-27
Aditya D Amigon1015Spain2026-10-12
Mayumi Y Poquette1016India2026-11-01
Francesco Y Waycott1017Spain2026-10-08
Morrow B Venere1018Canada2026-11-04
Julie L Malet1019Russia2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia S SchemmerCanadaAsiya Javayant PROPOSAL
Adams O SlusarskiFranceIoni Bowcher RENEWAL
Clifford Y RulapaughUnited KingdomAsiya Javayant PROPOSAL
Emily G MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh R InouyeUnited KingdomAnna Fali UNQUALIFIED
Arvin C PaprockiArgentinaAnna Fali NEGOTIATION
Salvatore U FerenczIndiaOnyama Limba QUALIFIED
Ashley B NestleArgentinaStephen Shaw UNQUALIFIED
Tony A PaprockiBrazilStephen Shaw NEGOTIATION
Jones H ChuiSpainElwin Sharvill NEW
Emily C OstroskyArgentinaAnna Fali NEW
Arvin E NestleSpainElwin Sharvill NEGOTIATION
Maria Z PoquetteCanadaAsiya Javayant UNQUALIFIED
Cody Z RoysterSpainXuxue Feng NEW
Ricardo N CampainFranceIvan Magalhaes PROPOSAL
Costa P GarufiIndiaXuxue Feng NEW
Juan P RutaSpainBernardo Dominic UNQUALIFIED
Izzy X ShinkoUnited KingdomAnna Fali PROPOSAL
Wickens N SlusarskiCanadaAsiya Javayant NEW
Darci Q SlusarskiCanadaXuxue Feng NEW
Wickens B SaylorsArgentinaIvan Magalhaes RENEWAL
Cody Z KuskoItalyAnna Fali QUALIFIED
Jones J OldroydAustraliaAnna Fali RENEWAL
Adams U StockhamIndiaElwin Sharvill PROPOSAL
David H DarakjyFranceAnna Fali QUALIFIED
Jennifer V SlusarskiSpainElwin Sharvill UNQUALIFIED
Arvin S MaletFranceAmy Elsner NEW
Jeanfrancois D PerinSpainElwin Sharvill UNQUALIFIED
Johnson V ButtRussiaIvan Magalhaes NEW
Costa Z BriddickJapanAsiya Javayant NEGOTIATION
Izzy W PaprockiSpainElwin Sharvill NEW
Sinclair K CaudyGermanyOnyama Limba UNQUALIFIED
Francesco O RutaAustraliaBernardo Dominic RENEWAL
Darci Z RimAustraliaXuxue Feng RENEWAL
Tony X TollnerIndiaIoni Bowcher RENEWAL
Silvio F FollerRussiaStephen Shaw NEW
Ivar V SchemmerFranceAnna Fali QUALIFIED
Juan P VenereCanadaIvan Magalhaes NEW
Johnson N ButtAustraliaElwin Sharvill NEW
Antonio I BriddickBrazilXuxue Feng 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>