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
Jones S WhobreyAustraliaAnna Fali PROPOSAL
Julie P AlbaresBrazilXuxue Feng NEW
Juan D SergiSpainIoni Bowcher UNQUALIFIED
Deepesh T ChuiCanadaOnyama Limba NEGOTIATION
Julie L BriddickGermanyStephen Shaw RENEWAL
James V RoysterItalyAnna Fali PROPOSAL
Nicolas F SergiCanadaXuxue Feng NEGOTIATION
Maria W DilliardIndiaStephen Shaw RENEWAL
Maria C SlusarskiSpainElwin Sharvill PROPOSAL
Chavez N GarufiBrazilOnyama Limba NEW
Emily D FerenczItalyAsiya Javayant UNQUALIFIED
Costa U RoysterGermanyIvan Magalhaes UNQUALIFIED
Smith P FollerItalyStephen Shaw PROPOSAL
Greenwood C SaylorsBrazilAsiya Javayant QUALIFIED
Tony R InouyeRussiaBernardo Dominic NEW
Isabel U FigeroaBrazilIoni Bowcher RENEWAL
Leja K RimItalyIvan Magalhaes PROPOSAL
Isabel Q BriddickAustraliaXuxue Feng UNQUALIFIED
Salvatore Q SchemmerIndiaIvan Magalhaes RENEWAL
Tony V VenereBrazilAmy Elsner RENEWAL
Clifford U CaudyJapanAsiya Javayant NEGOTIATION
Leon R MorascaCanadaIoni Bowcher QUALIFIED
Costa T TollnerGermanyIoni Bowcher NEW
Tony K MaletArgentinaOnyama Limba QUALIFIED
Maria U GauchoArgentinaIvan Magalhaes NEGOTIATION
Deepesh Q KolmetzCanadaElwin Sharvill QUALIFIED
Francesco M KolmetzSpainElwin Sharvill PROPOSAL
Alejandro Q StockhamSpainAnna Fali NEGOTIATION
Antonio E OstroskyUnited KingdomOnyama Limba NEW
Juan I SchemmerGermanyOnyama Limba QUALIFIED
Murillo G WhobreyBrazilIoni Bowcher PROPOSAL
James Z InouyeBrazilElwin Sharvill NEGOTIATION
Claire G AlbaresItalyAmy Elsner RENEWAL
Juan Q GlickRussiaIoni Bowcher UNQUALIFIED
Silvio I RutaFranceIvan Magalhaes NEW
Leja R AmigonAustraliaAmy Elsner PROPOSAL
Greenwood L WhobreyCanadaAsiya Javayant NEGOTIATION
Antonio M KolmetzCanadaBernardo Dominic NEW
James K VocelkaIndiaAsiya Javayant PROPOSAL
Nicolas P CaldareraGermanyIoni Bowcher RENEWAL
Juan F AmigonJapanIvan Magalhaes NEGOTIATION
Maria J InouyeRussiaXuxue Feng NEW
Silvio Z RimIndiaXuxue Feng NEW
Darci O VenereSpainBernardo Dominic RENEWAL
Kadeem H OldroydIndiaIoni Bowcher RENEWAL
Izzy G StensethJapanXuxue Feng RENEWAL
Tony S MorascaBrazilIvan Magalhaes NEW
Murillo K NickaIndiaIvan Magalhaes NEW
Clifford K KuskoGermanyIvan Magalhaes RENEWAL
David P VocelkaSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan C RoysterGermanyIvan Magalhaes NEW
Jefferson P RoysterRussiaElwin Sharvill NEGOTIATION
Aika L MaletArgentinaIvan Magalhaes RENEWAL
Mayumi Z RoysterRussiaOnyama Limba UNQUALIFIED
Jennifer W FerenczItalyIvan Magalhaes UNQUALIFIED
Octavia D MaletArgentinaBernardo Dominic UNQUALIFIED
Maria X BowleyBrazilAsiya Javayant PROPOSAL
Francesco H SchemmerItalyOnyama Limba RENEWAL
Deepesh G BologniaJapanIoni Bowcher NEGOTIATION
Silvio S CampainUnited KingdomAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin H BowleyArgentina2026-09-30Chanay, Jeffrey A Esq QUALIFIED11Asiya Javayant
1001James C WieserAustralia2026-09-16Chapman, Ross E Esq QUALIFIED68Asiya Javayant
1002Aruna C GarufiAustralia2026-10-10Feiner Bros RENEWAL74Bernardo Dominic
1003Isabel Q OldroydCanada2026-10-10Printing Dimensions RENEWAL11Bernardo Dominic
1004Arvin K FlosiFrance2026-09-19Rangoni Of Florence NEW48Bernardo Dominic
1005Jeanfrancois G PerinCanada2026-09-21Commercial Press PROPOSAL33Amy Elsner
1006Nicolas Y NickaJapan2026-09-24Feiner Bros NEGOTIATION35Ioni Bowcher
1007James N WaycottCanada2026-10-10Printing Dimensions NEGOTIATION65Bernardo Dominic
1008Deepesh S BologniaItaly2026-09-15King, Christopher A Esq PROPOSAL44Onyama Limba
1009Chavez O BologniaRussia2026-10-06Chapman, Ross E Esq NEW60Asiya Javayant
1010Isabel V SaylorsJapan2026-10-07Benton, John B Jr QUALIFIED66Bernardo Dominic
1011Ivar J DoeFrance2026-09-24Morlong Associates RENEWAL82Anna Fali
1012Kaitlin G IturbideSpain2026-09-30Chemel, James L Cpa NEGOTIATION18Anna Fali
1013Salvatore U CaudyArgentina2026-10-12Morlong Associates RENEWAL57Xuxue Feng
1014Jennifer Q WhobreyUnited Kingdom2026-10-08Printing Dimensions PROPOSAL0Ivan Magalhaes
1015Greenwood E NestleAustralia2026-09-29Feltz Printing Service NEGOTIATION76Anna Fali
1016Salvatore L ShinkoBrazil2026-10-01Dorl, James J Esq NEW1Xuxue Feng
1017Cody U DilliardAustralia2026-09-16Truhlar And Truhlar Attys UNQUALIFIED33Amy Elsner
1018Mayumi Q NestleIndia2026-10-10Feltz Printing Service UNQUALIFIED8Ioni Bowcher
1019Maria W AmigonGermany2026-09-29Truhlar And Truhlar Attys NEGOTIATION83Anna Fali
1020Ricardo D GlickFrance2026-10-09Commercial Press NEGOTIATION60Amy Elsner
1021Aruna C DilliardCanada2026-09-27Morlong Associates QUALIFIED75Bernardo Dominic
1022Deepesh H FigeroaRussia2026-09-19Truhlar And Truhlar Attys NEGOTIATION69Ivan Magalhaes
1023Jeanfrancois W FlosiRussia2026-09-30Rangoni Of Florence NEGOTIATION82Onyama Limba
1024Jennifer X BriddickSpain2026-10-08Chapman, Ross E Esq NEGOTIATION74Amy Elsner
1025Jennifer J RoysterAustralia2026-10-04Morlong Associates NEW42Ivan Magalhaes
1026Clifford R MorascaUnited Kingdom2026-09-23Chanay, Jeffrey A Esq RENEWAL10Amy Elsner
1027David Q SergiGermany2026-09-28Chemel, James L Cpa QUALIFIED87Anna Fali
1028Emily Q BriddickItaly2026-09-17Chanay, Jeffrey A Esq QUALIFIED40Elwin Sharvill
1029Maria E VenereRussia2026-09-27Chemel, James L Cpa PROPOSAL92Stephen Shaw
1030Julie F DilliardAustralia2026-10-07Buckley Miller Wright PROPOSAL52Ioni Bowcher
1031Faith X AlbaresItaly2026-09-23King, Christopher A Esq NEGOTIATION3Amy Elsner
1032Izzy H PoquetteRussia2026-09-26Printing Dimensions QUALIFIED85Elwin Sharvill
1033Aruna P WhobreyRussia2026-10-13Chemel, James L Cpa QUALIFIED64Elwin Sharvill
1034Francesco B FollerItaly2026-09-26Feltz Printing Service QUALIFIED76Amy Elsner
1035Rodrigues B GarufiCanada2026-09-20Commercial Press NEW71Bernardo Dominic
1036Adams M VocelkaRussia2026-10-06Chemel, James L Cpa NEW20Ioni Bowcher
1037Rodrigues F RoysterRussia2026-10-07Chanay, Jeffrey A Esq NEGOTIATION66Anna Fali
1038Mujtaba N PoquetteIndia2026-09-20Commercial Press NEGOTIATION69Elwin Sharvill
1039James B SlusarskiCanada2026-10-10Benton, John B Jr PROPOSAL50Amy Elsner
1040Aruna C GauchoSpain2026-09-16Chanay, Jeffrey A Esq RENEWAL76Amy Elsner
1041Antonio A ChuiJapan2026-10-13Printing Dimensions PROPOSAL77Stephen Shaw
1042Ivar C MacleadCanada2026-10-09Dorl, James J Esq PROPOSAL28Asiya Javayant
1043Johnson T VenereAustralia2026-09-26Chanay, Jeffrey A Esq UNQUALIFIED3Stephen Shaw
1044Rodrigues Y PerinCanada2026-10-09Chapman, Ross E Esq QUALIFIED11Xuxue Feng
1045Maisha O RimArgentina2026-09-19Feiner Bros NEGOTIATION43Ioni Bowcher
1046Misaki A WhobreyFrance2026-10-04Commercial Press NEW14Stephen Shaw
1047Rodrigues A FollerItaly2026-09-26Feiner Bros NEGOTIATION86Anna Fali
1048Kaitlin F GlickUnited Kingdom2026-10-03Dorl, James J Esq UNQUALIFIED13Xuxue Feng
1049Izzy Q PerinAustralia2026-10-10Chanay, Jeffrey A Esq RENEWAL79Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci D FigeroaUnited KingdomAnna Fali PROPOSAL
Salvatore K RulapaughArgentinaAsiya Javayant RENEWAL
Smith Z KolmetzIndiaIoni Bowcher QUALIFIED
Greenwood V ShinkoFranceElwin Sharvill NEW
Julie G OstroskyGermanyAnna Fali NEW
Claire I CampainIndiaIvan Magalhaes UNQUALIFIED
Juan U RoysterArgentinaIvan Magalhaes NEGOTIATION
Isabel E MarrierBrazilStephen Shaw NEW
Deepesh R PoquetteFranceAmy Elsner NEW
Kadeem A TollnerUnited KingdomOnyama Limba UNQUALIFIED
Octavia J OstroskyAustraliaXuxue Feng UNQUALIFIED
Aditya N BologniaFranceXuxue Feng PROPOSAL
Nicolas R FollerAustraliaAmy Elsner UNQUALIFIED
Costa K FlosiArgentinaAnna Fali NEGOTIATION
Munro Q WaycottFranceStephen Shaw NEW
Misaki B RulapaughBrazilElwin Sharvill NEGOTIATION
Greenwood B WaycottBrazilAsiya Javayant NEW
James Y RoysterAustraliaAsiya Javayant RENEWAL
Adams E RutaRussiaAnna Fali UNQUALIFIED
Faith O AmigonGermanyStephen Shaw NEGOTIATION
Misaki C GillianBrazilXuxue Feng UNQUALIFIED
Costa T MarrierArgentinaIoni Bowcher RENEWAL
Aditya S KolmetzItalyOnyama Limba PROPOSAL
Octavia F SaylorsGermanyAmy Elsner PROPOSAL
Costa R FollerUnited KingdomOnyama Limba PROPOSAL
Sinclair B FerenczBrazilAnna Fali QUALIFIED
Ricardo X WhobreyArgentinaIoni Bowcher UNQUALIFIED
Rodrigues O OldroydRussiaIvan Magalhaes PROPOSAL
Silvio A KuskoFranceOnyama Limba NEGOTIATION
Deepesh E IturbideCanadaOnyama Limba PROPOSAL
Murillo L BologniaFranceStephen Shaw NEGOTIATION
Jefferson V SchemmerGermanyIoni Bowcher NEW
Costa Z FollerJapanAnna Fali UNQUALIFIED
Darci R GarufiBrazilAmy Elsner NEW
Sinclair O RimGermanyOnyama Limba RENEWAL
Mayumi S RulapaughSpainIoni Bowcher NEGOTIATION
Jennifer Q WhobreyAustraliaBernardo Dominic NEW
Kadeem K OstroskyIndiaOnyama Limba QUALIFIED
Mayumi F VenereAustraliaXuxue Feng RENEWAL
Aika F RimIndiaAsiya Javayant NEGOTIATION
Rodrigues B WhobreyCanadaStephen Shaw UNQUALIFIED
Stacey K GauchoAustraliaXuxue Feng NEGOTIATION
Ivar A StockhamSpainIvan Magalhaes RENEWAL
Greenwood O PaprockiGermanyIoni Bowcher UNQUALIFIED
Juan B ButtUnited KingdomIoni Bowcher QUALIFIED
Mayumi M SlusarskiSpainAsiya Javayant UNQUALIFIED
Murillo S RoysterArgentinaAnna Fali NEW
Murillo Y GillianSpainXuxue Feng UNQUALIFIED
Leja P DarakjyArgentinaStephen Shaw QUALIFIED
Isabel T SergiBrazilIoni Bowcher RENEWAL
Frozen Columns
Name
Aditya J Ferencz
Sinclair X Ruta
Claire Y Stockham
Jeanfrancois U Schemmer
Morrow M Stenseth
Ashley I Bolognia
Antonio O Nicka
Smith I Maclead
Greenwood Z Dilliard
David U Iturbide
Izzy S Butt
Ashley P Stockham
Mayumi X Chui
Kaitlin B Bowley
Jefferson W Saylors
Izzy V Schemmer
Jeanfrancois R Bowley
Deepesh V Perin
Nicolas L Slusarski
Emily G Oldroyd
Wickens M Bowley
Deepesh V Tollner
Aika A Gaucho
Leja G Flosi
Izzy L Shinko
Mujtaba T Venere
Cody Q Gillian
Jeanfrancois D Briddick
Octavia E Oldroyd
Wickens R Stenseth
Darci Q Shinko
Nicolas M Bolognia
Faith A Rulapaugh
James O Rulapaugh
Juan E Butt
Morrow N Sergi
Faith I Paprocki
Murillo V Doe
Rodrigues U Paprocki
Maria C Vocelka
Clifford D Figeroa
Juan J Ruta
Faith T Morasca
Aika U Iturbide
Munro D Royster
Smith H Wieser
Julie V Gillian
Arvin B Amigon
Maisha R Foller
Maisha I Foller
IdCountryDate
1000Germany2026-09-28
1001Argentina2026-09-14
1002Spain2026-09-22
1003United Kingdom2026-10-07
1004Spain2026-09-28
1005Brazil2026-09-15
1006Brazil2026-09-15
1007Brazil2026-10-12
1008Germany2026-10-06
1009Italy2026-10-11
1010India2026-10-08
1011Russia2026-10-03
1012India2026-09-14
1013Russia2026-09-25
1014Russia2026-09-30
1015Brazil2026-09-16
1016United Kingdom2026-10-06
1017Italy2026-10-03
1018France2026-09-29
1019United Kingdom2026-10-09
1020Canada2026-10-06
1021France2026-10-09
1022Japan2026-09-16
1023Spain2026-10-03
1024India2026-09-29
1025United Kingdom2026-10-10
1026Australia2026-09-23
1027Canada2026-10-01
1028Russia2026-09-17
1029India2026-10-11
1030India2026-10-04
1031France2026-09-14
1032Japan2026-09-17
1033India2026-09-26
1034Spain2026-10-03
1035Italy2026-10-02
1036India2026-10-05
1037Japan2026-09-14
1038France2026-09-28
1039Argentina2026-09-26
1040Brazil2026-09-27
1041France2026-09-14
1042Russia2026-09-27
1043India2026-09-22
1044France2026-10-11
1045United Kingdom2026-09-22
1046Spain2026-09-29
1047United Kingdom2026-10-12
1048India2026-09-21
1049Spain2026-10-12

On-Demand Data

NameIdCountryDate
Cody Y Ferencz1000France2026-09-28
Misaki B Albares1001United Kingdom2026-09-23
Stacey I Sergi1002Argentina2026-10-05
Rodrigues N Inouye1003Argentina2026-10-13
Emily C Butt1004France2026-09-23
Wickens P Stenseth1005Argentina2026-10-06
Adams E Garufi1006Spain2026-10-08
Kaitlin H Royster1007France2026-09-20
Antonio S Bolognia1008Brazil2026-09-20
Maisha S Waycott1009Canada2026-09-16
Izzy R Nicka1010Argentina2026-09-22
Maisha L Bolognia1011Spain2026-09-23
David B Caldarera1012Australia2026-10-11
Cody C Iturbide1013India2026-09-20
Adams R Kolmetz1014Germany2026-09-25
Smith W Dilliard1015Japan2026-09-27
Mujtaba J Perin1016Russia2026-09-25
Jeanfrancois C Doe1017Brazil2026-10-13
Darci I Bowley1018United Kingdom2026-10-05
Silvio T Venere1019United Kingdom2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro N WieserIndiaOnyama Limba PROPOSAL
James V ButtIndiaOnyama Limba UNQUALIFIED
Wickens V DilliardRussiaIoni Bowcher UNQUALIFIED
David G WieserItalyElwin Sharvill PROPOSAL
Adams W OldroydCanadaIoni Bowcher QUALIFIED
Aika H ButtAustraliaOnyama Limba UNQUALIFIED
Kaitlin J RimRussiaStephen Shaw PROPOSAL
David F KolmetzCanadaBernardo Dominic NEW
Murillo R FigeroaIndiaStephen Shaw NEGOTIATION
Darci G DoeArgentinaIoni Bowcher NEGOTIATION
Darci D KolmetzSpainIvan Magalhaes RENEWAL
Munro V BowleyCanadaOnyama Limba NEW
Alejandro Y CaudyRussiaIvan Magalhaes NEW
Munro E KolmetzItalyAsiya Javayant NEGOTIATION
David S WieserGermanyStephen Shaw QUALIFIED
Aruna W KuskoCanadaAnna Fali PROPOSAL
Silvio O GarufiRussiaBernardo Dominic UNQUALIFIED
Antonio N WaycottAustraliaAnna Fali NEGOTIATION
Darci Q StensethGermanyXuxue Feng UNQUALIFIED
Tony Z FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Aruna Q StockhamUnited KingdomElwin Sharvill NEGOTIATION
Isabel F MaletFranceStephen Shaw NEW
Francesco H VocelkaBrazilElwin Sharvill PROPOSAL
Costa K StensethSpainBernardo Dominic QUALIFIED
Claire R WaycottRussiaAsiya Javayant NEGOTIATION
Rodrigues W PaprockiItalyAnna Fali PROPOSAL
Smith E OldroydJapanIoni Bowcher NEW
Cody E DoeSpainOnyama Limba NEW
Emily U StockhamFranceAnna Fali NEW
Kaitlin P VenereItalyBernardo Dominic UNQUALIFIED
Salvatore J FerenczCanadaIoni Bowcher RENEWAL
Aditya T AlbaresFranceStephen Shaw NEGOTIATION
Isabel G FlosiItalyBernardo Dominic UNQUALIFIED
Ivar V ChuiArgentinaAsiya Javayant QUALIFIED
Cody Q NickaSpainAsiya Javayant NEGOTIATION
Ashley W SchemmerGermanyBernardo Dominic RENEWAL
Maria Z VenereBrazilAnna Fali UNQUALIFIED
Claire J FerenczFranceIoni Bowcher QUALIFIED
Chavez P GarufiAustraliaIvan Magalhaes NEW
Octavia U MaletUnited KingdomAmy Elsner 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>