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
Clifford F MaletSpainAmy Elsner PROPOSAL
Mujtaba F DilliardUnited KingdomAmy Elsner RENEWAL
Kadeem Q IturbideBrazilBernardo Dominic RENEWAL
Silvio I FigeroaSpainElwin Sharvill PROPOSAL
Maria R GauchoRussiaXuxue Feng UNQUALIFIED
Murillo S OldroydUnited KingdomAsiya Javayant QUALIFIED
Costa V NickaRussiaXuxue Feng NEGOTIATION
Francesco H TollnerGermanyOnyama Limba UNQUALIFIED
Isabel C FigeroaCanadaXuxue Feng PROPOSAL
Izzy G ChuiFranceAnna Fali NEW
Cody E FerenczBrazilElwin Sharvill QUALIFIED
Claire U RimGermanyAnna Fali NEW
Faith B GillianBrazilBernardo Dominic RENEWAL
Morrow V DilliardFranceStephen Shaw PROPOSAL
Ashley W ButtRussiaBernardo Dominic NEGOTIATION
Juan M ButtArgentinaAnna Fali QUALIFIED
Emily I OldroydGermanyXuxue Feng NEGOTIATION
Kadeem V SaylorsBrazilIoni Bowcher RENEWAL
Arvin X GarufiIndiaAsiya Javayant RENEWAL
Jennifer T NickaFranceAsiya Javayant PROPOSAL
Ashley F NestleBrazilBernardo Dominic QUALIFIED
Octavia Z NickaJapanAnna Fali PROPOSAL
Isabel H BriddickFranceAmy Elsner UNQUALIFIED
Misaki I WieserSpainElwin Sharvill PROPOSAL
Julie S WhobreyJapanXuxue Feng PROPOSAL
Maria Z BriddickBrazilAsiya Javayant RENEWAL
Sinclair X FigeroaSpainAmy Elsner RENEWAL
Ashley Z KuskoGermanyOnyama Limba NEGOTIATION
Costa N CaldareraJapanOnyama Limba UNQUALIFIED
Tony A StensethCanadaXuxue Feng QUALIFIED
Munro L AmigonFranceBernardo Dominic PROPOSAL
Mayumi C CampainIndiaAsiya Javayant NEW
Jefferson U AlbaresSpainIoni Bowcher NEGOTIATION
Faith Y MarrierArgentinaIvan Magalhaes UNQUALIFIED
Jones M AmigonUnited KingdomAsiya Javayant NEGOTIATION
Ashley H GlickItalyIvan Magalhaes NEW
Aditya D SlusarskiAustraliaOnyama Limba UNQUALIFIED
Greenwood R CampainUnited KingdomOnyama Limba RENEWAL
Julie T MacleadRussiaStephen Shaw RENEWAL
Claire D GlickItalyElwin Sharvill RENEWAL
Cody Z MorascaArgentinaIvan Magalhaes RENEWAL
Francesco F SchemmerRussiaStephen Shaw NEW
Tony S ShinkoArgentinaIoni Bowcher UNQUALIFIED
Juan G MarrierJapanBernardo Dominic NEW
Maisha H FigeroaUnited KingdomAmy Elsner QUALIFIED
Tony O OldroydBrazilXuxue Feng NEW
Sinclair Z OstroskyItalyOnyama Limba RENEWAL
Maisha T DarakjyCanadaIoni Bowcher NEGOTIATION
Mayumi J VenereBrazilElwin Sharvill UNQUALIFIED
Ivar X AmigonIndiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Alejandro W TollnerUnited KingdomAnna Fali RENEWAL
Jones Y DoeIndiaAsiya Javayant UNQUALIFIED
Morrow V DilliardSpainIvan Magalhaes NEW
Clifford T VenereCanadaStephen Shaw QUALIFIED
Misaki I FlosiItalyStephen Shaw RENEWAL
Mujtaba W AmigonUnited KingdomOnyama Limba NEGOTIATION
Leja Q FlosiItalyStephen Shaw PROPOSAL
Aditya J NickaArgentinaElwin Sharvill NEW
Ashley B BriddickBrazilXuxue Feng NEGOTIATION
Faith Y DoeGermanyElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy I VenereCanada2026-10-18Chapman, Ross E Esq QUALIFIED43Onyama Limba
1001Nicolas J DoeArgentina2026-10-09Rangoni Of Florence NEW37Amy Elsner
1002Johnson M NestleFrance2026-10-27Benton, John B Jr QUALIFIED40Stephen Shaw
1003Alejandro Y SlusarskiRussia2026-10-30Chanay, Jeffrey A Esq UNQUALIFIED1Ivan Magalhaes
1004Francesco N InouyeCanada2026-10-26Buckley Miller Wright QUALIFIED19Onyama Limba
1005Chavez T SergiAustralia2026-10-26Chanay, Jeffrey A Esq QUALIFIED46Xuxue Feng
1006Wickens K AmigonAustralia2026-10-09Buckley Miller Wright PROPOSAL85Ioni Bowcher
1007Leon X SlusarskiSpain2026-10-10Chapman, Ross E Esq NEW37Bernardo Dominic
1008Francesco L RimAustralia2026-10-28Chemel, James L Cpa RENEWAL43Amy Elsner
1009Misaki S SergiCanada2026-10-01Chanay, Jeffrey A Esq QUALIFIED28Stephen Shaw
1010Cody S KuskoGermany2026-10-16Feiner Bros NEW72Ivan Magalhaes
1011Isabel Q FigeroaUnited Kingdom2026-10-27Chemel, James L Cpa PROPOSAL61Elwin Sharvill
1012Jeanfrancois X MaletRussia2026-10-15Morlong Associates NEW78Ioni Bowcher
1013Aika J OstroskyFrance2026-10-25Dorl, James J Esq UNQUALIFIED2Amy Elsner
1014Mayumi P GillianJapan2026-10-11Truhlar And Truhlar Attys NEGOTIATION13Xuxue Feng
1015Adams X FigeroaGermany2026-10-05King, Christopher A Esq PROPOSAL16Xuxue Feng
1016Silvio E ShinkoRussia2026-10-09Dorl, James J Esq QUALIFIED86Amy Elsner
1017Ivar O FigeroaRussia2026-10-28King, Christopher A Esq RENEWAL15Anna Fali
1018Jones S WaycottBrazil2026-10-04Feiner Bros NEW4Onyama Limba
1019Antonio C WaycottRussia2026-10-12Chemel, James L Cpa PROPOSAL90Onyama Limba
1020Misaki V MarrierCanada2026-10-28Morlong Associates NEW28Asiya Javayant
1021Mayumi N NickaSpain2026-10-15Printing Dimensions PROPOSAL34Bernardo Dominic
1022Isabel N InouyeJapan2026-10-18Benton, John B Jr PROPOSAL6Stephen Shaw
1023Greenwood R NestleCanada2026-10-11Dorl, James J Esq RENEWAL76Stephen Shaw
1024Octavia G MaletGermany2026-10-01Rangoni Of Florence RENEWAL32Stephen Shaw
1025Kadeem I CaudyJapan2026-10-02Dorl, James J Esq PROPOSAL28Xuxue Feng
1026Salvatore N PoquetteUnited Kingdom2026-10-11Rangoni Of Florence UNQUALIFIED20Ivan Magalhaes
1027James N FigeroaJapan2026-10-22Chapman, Ross E Esq NEW63Anna Fali
1028Johnson T InouyeRussia2026-10-02Feiner Bros UNQUALIFIED55Asiya Javayant
1029Aruna U RutaFrance2026-10-26Dorl, James J Esq UNQUALIFIED52Amy Elsner
1030Izzy U GauchoAustralia2026-10-05Dorl, James J Esq UNQUALIFIED26Anna Fali
1031Maria P SchemmerFrance2026-10-25Commercial Press NEW11Asiya Javayant
1032Claire C OldroydIndia2026-10-05Feltz Printing Service NEW6Amy Elsner
1033Julie F BowleySpain2026-10-17Rangoni Of Florence NEW97Bernardo Dominic
1034Isabel I VenereAustralia2026-10-07Rangoni Of Florence QUALIFIED67Xuxue Feng
1035Kaitlin T FollerUnited Kingdom2026-10-27Truhlar And Truhlar Attys PROPOSAL7Ioni Bowcher
1036Isabel S InouyeBrazil2026-10-01King, Christopher A Esq QUALIFIED70Onyama Limba
1037Claire B SaylorsRussia2026-10-22Printing Dimensions NEGOTIATION22Xuxue Feng
1038Leon P MorascaAustralia2026-10-05Feltz Printing Service NEW70Asiya Javayant
1039Octavia B FollerBrazil2026-10-16Feltz Printing Service QUALIFIED75Onyama Limba
1040Kadeem V BologniaSpain2026-10-09Benton, John B Jr UNQUALIFIED48Bernardo Dominic
1041Leon U ButtCanada2026-10-30Truhlar And Truhlar Attys PROPOSAL54Amy Elsner
1042Salvatore G AmigonUnited Kingdom2026-10-22Printing Dimensions QUALIFIED53Bernardo Dominic
1043Adams G MorascaBrazil2026-10-22Feltz Printing Service QUALIFIED44Stephen Shaw
1044Stacey B BologniaRussia2026-10-09Truhlar And Truhlar Attys RENEWAL88Xuxue Feng
1045Darci W TollnerArgentina2026-10-17Rousseaux, Michael Esq NEW5Ioni Bowcher
1046Julie K FigeroaSpain2026-10-14Rangoni Of Florence PROPOSAL18Asiya Javayant
1047Antonio D OstroskyItaly2026-10-12Morlong Associates RENEWAL28Anna Fali
1048Ricardo S IturbideRussia2026-10-20Commercial Press QUALIFIED69Onyama Limba
1049Kadeem H MaletUnited Kingdom2026-10-27Chanay, Jeffrey A Esq UNQUALIFIED89Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Y PerinJapanStephen Shaw QUALIFIED
Izzy J WaycottCanadaAsiya Javayant RENEWAL
Murillo V WhobreyIndiaAnna Fali NEW
Leja P BowleyBrazilOnyama Limba PROPOSAL
Maisha U TollnerJapanOnyama Limba PROPOSAL
Sinclair Q RoysterItalyStephen Shaw NEW
Isabel P FigeroaIndiaXuxue Feng NEGOTIATION
Costa C CaldareraJapanStephen Shaw QUALIFIED
Arvin Q FerenczGermanyAsiya Javayant NEW
Morrow O ChuiFranceElwin Sharvill PROPOSAL
Kaitlin K BologniaRussiaStephen Shaw RENEWAL
Jeanfrancois E GlickSpainAsiya Javayant QUALIFIED
Leja K FerenczGermanyXuxue Feng RENEWAL
Aruna E ChuiGermanyIoni Bowcher NEW
Rodrigues M MaletArgentinaAmy Elsner UNQUALIFIED
Claire Z DarakjyItalyOnyama Limba PROPOSAL
Jefferson P RimUnited KingdomIvan Magalhaes RENEWAL
Aditya A PoquetteIndiaXuxue Feng QUALIFIED
Arvin O WhobreyGermanyBernardo Dominic NEGOTIATION
Isabel B MaletCanadaStephen Shaw RENEWAL
Claire M TollnerItalyIoni Bowcher RENEWAL
Leon E FerenczBrazilXuxue Feng RENEWAL
Aika M CaldareraRussiaAsiya Javayant UNQUALIFIED
Greenwood O MaletRussiaAnna Fali UNQUALIFIED
Darci X MacleadItalyIoni Bowcher PROPOSAL
Juan W GillianItalyAsiya Javayant RENEWAL
Arvin Z DarakjyRussiaOnyama Limba QUALIFIED
Alejandro G CampainSpainAnna Fali QUALIFIED
Aditya C RoysterJapanIoni Bowcher RENEWAL
Smith C ShinkoGermanyIoni Bowcher RENEWAL
Julie M SergiFranceAnna Fali NEGOTIATION
Alejandro F GlickAustraliaBernardo Dominic RENEWAL
Silvio I SaylorsRussiaStephen Shaw RENEWAL
Rodrigues W OstroskyArgentinaBernardo Dominic PROPOSAL
Leja T ChuiArgentinaIvan Magalhaes NEGOTIATION
Sinclair C StensethFranceAmy Elsner PROPOSAL
David N MaletSpainXuxue Feng QUALIFIED
Julie E RutaSpainAmy Elsner QUALIFIED
Silvio T StockhamSpainElwin Sharvill NEGOTIATION
Juan E VocelkaAustraliaAmy Elsner NEW
Misaki A SaylorsGermanyIvan Magalhaes RENEWAL
Ivar V InouyeIndiaBernardo Dominic NEW
Salvatore Z PerinCanadaAmy Elsner NEGOTIATION
Cody A RoysterUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois Z ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair R ChuiIndiaXuxue Feng NEGOTIATION
Smith J GillianFranceElwin Sharvill QUALIFIED
Kaitlin S SergiRussiaBernardo Dominic NEW
Mujtaba G StensethIndiaBernardo Dominic UNQUALIFIED
Jennifer L WieserBrazilElwin Sharvill NEW
Frozen Columns
Name
Leon H Gaucho
Kadeem Q Maclead
Rodrigues F Flosi
Johnson E Caldarera
Aruna X Sergi
Izzy Y Rulapaugh
Chavez C Schemmer
Chavez T Chui
Munro E Stenseth
Aika Q Inouye
Isabel B Garufi
Emily W Whobrey
Faith Q Waycott
Leja R Sergi
Darci M Malet
Aruna C Chui
Francesco Y Tollner
Mujtaba T Kusko
Claire P Chui
Mayumi L Malet
Deepesh J Saylors
Nicolas B Nestle
David R Stenseth
Cody Z Bowley
Chavez K Stenseth
Munro S Whobrey
Greenwood J Paprocki
Murillo T Gillian
Morrow X Oldroyd
Leja K Gillian
Julie E Kusko
Rodrigues Z Kolmetz
Rodrigues G Marrier
Emily M Maclead
Maria J Flosi
Johnson D Rulapaugh
Rodrigues C Wieser
Jeanfrancois A Poquette
Chavez R Ostrosky
Munro Q Doe
Jefferson R Briddick
David V Inouye
Leon E Stockham
Johnson Q Stockham
Juan N Amigon
Smith K Stenseth
Francesco U Venere
Kaitlin J Flosi
Greenwood W Poquette
Leon O Amigon
IdCountryDate
1000Argentina2026-10-07
1001Argentina2026-10-20
1002Germany2026-10-20
1003Australia2026-10-21
1004Japan2026-10-25
1005France2026-10-11
1006United Kingdom2026-10-27
1007Italy2026-10-29
1008Brazil2026-10-30
1009Brazil2026-10-29
1010Germany2026-10-06
1011Australia2026-10-05
1012Canada2026-10-26
1013Spain2026-10-10
1014Germany2026-10-13
1015Australia2026-10-06
1016Canada2026-10-06
1017Russia2026-10-07
1018Italy2026-10-27
1019Canada2026-10-17
1020France2026-10-10
1021Australia2026-10-22
1022France2026-10-04
1023Germany2026-10-21
1024India2026-10-14
1025Australia2026-10-18
1026Russia2026-10-05
1027Brazil2026-10-02
1028Canada2026-10-22
1029India2026-10-11
1030India2026-10-19
1031France2026-10-12
1032Argentina2026-10-28
1033Canada2026-10-03
1034India2026-10-03
1035United Kingdom2026-10-25
1036Spain2026-10-03
1037Canada2026-10-17
1038Italy2026-10-21
1039Italy2026-10-17
1040Italy2026-10-19
1041Argentina2026-10-29
1042Australia2026-10-27
1043India2026-10-30
1044Italy2026-10-06
1045Spain2026-10-02
1046Russia2026-10-27
1047Japan2026-10-12
1048Australia2026-10-02
1049Russia2026-10-12

On-Demand Data

NameIdCountryDate
Ivar H Nestle1000Russia2026-10-29
Juan U Stockham1001United Kingdom2026-10-18
Nicolas I Oldroyd1002Brazil2026-10-08
Darci B Nicka1003Italy2026-10-20
Kaitlin P Albares1004Brazil2026-10-22
Leja E Doe1005Italy2026-10-03
Darci E Inouye1006Australia2026-10-10
Julie W Gaucho1007Italy2026-10-29
Johnson I Ferencz1008Argentina2026-10-25
Kadeem Y Caldarera1009Japan2026-10-27
Munro R Flosi1010Italy2026-10-15
Aditya L Foller1011Argentina2026-10-19
Faith Q Wieser1012Canada2026-10-08
Francesco J Garufi1013Spain2026-10-06
Deepesh V Tollner1014Japan2026-10-27
Leon C Nicka1015Japan2026-10-16
Johnson O Paprocki1016United Kingdom2026-10-17
Mujtaba E Whobrey1017Germany2026-10-03
Wickens J Marrier1018Spain2026-10-26
Stacey M Flosi1019Argentina2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Q VenereFranceIoni Bowcher UNQUALIFIED
Nicolas Q RimBrazilBernardo Dominic PROPOSAL
Mayumi W MorascaAustraliaStephen Shaw UNQUALIFIED
Maisha N IturbideBrazilElwin Sharvill NEGOTIATION
Mujtaba P MaletUnited KingdomOnyama Limba NEW
Munro U PerinSpainAnna Fali NEW
Isabel Z MarrierIndiaOnyama Limba NEW
Greenwood U MaletArgentinaAsiya Javayant QUALIFIED
Salvatore D NickaUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood X TollnerItalyAsiya Javayant NEW
Greenwood C AlbaresRussiaAmy Elsner RENEWAL
Isabel G InouyeIndiaStephen Shaw PROPOSAL
Leon N WaycottArgentinaIvan Magalhaes NEW
Johnson L StensethSpainBernardo Dominic NEGOTIATION
Arvin K MaletAustraliaIvan Magalhaes UNQUALIFIED
Jennifer H FlosiFranceBernardo Dominic QUALIFIED
Aditya T RoysterCanadaOnyama Limba NEGOTIATION
Ivar A MarrierSpainAnna Fali UNQUALIFIED
Arvin F SergiJapanIoni Bowcher NEW
Adams E MorascaRussiaStephen Shaw PROPOSAL
David S MaletGermanyXuxue Feng RENEWAL
Tony Q AmigonGermanyIvan Magalhaes PROPOSAL
Munro J AlbaresIndiaOnyama Limba PROPOSAL
Aruna Z ShinkoSpainAmy Elsner NEW
Chavez P BriddickArgentinaIvan Magalhaes NEW
Darci M WaycottFranceAsiya Javayant PROPOSAL
Leja T FlosiArgentinaStephen Shaw RENEWAL
Izzy R CaudyGermanyOnyama Limba RENEWAL
Arvin Z GarufiGermanyBernardo Dominic NEGOTIATION
Ashley C OstroskyAustraliaIoni Bowcher RENEWAL
Ivar X BowleyIndiaIvan Magalhaes QUALIFIED
Octavia R BologniaFranceIoni Bowcher RENEWAL
Mujtaba C StockhamRussiaElwin Sharvill QUALIFIED
Arvin R SchemmerArgentinaBernardo Dominic UNQUALIFIED
Darci N MaletSpainStephen Shaw NEW
Ashley N FigeroaSpainStephen Shaw QUALIFIED
Emily R CaldareraCanadaBernardo Dominic NEGOTIATION
Wickens C OldroydUnited KingdomOnyama Limba RENEWAL
Faith C MacleadAustraliaAnna Fali PROPOSAL
Kaitlin O CaldareraRussiaOnyama Limba 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>