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
Adams F GlickRussiaIoni Bowcher NEGOTIATION
Jennifer J AlbaresSpainOnyama Limba PROPOSAL
Munro U AmigonJapanBernardo Dominic PROPOSAL
Emily T CaudyJapanAnna Fali PROPOSAL
Aika B SaylorsCanadaIoni Bowcher NEGOTIATION
Tony U BowleyUnited KingdomIvan Magalhaes NEW
Jefferson E RutaBrazilAsiya Javayant NEGOTIATION
Francesco C WhobreyUnited KingdomXuxue Feng NEW
Antonio R CampainSpainAnna Fali NEGOTIATION
Jennifer D ShinkoGermanyBernardo Dominic NEGOTIATION
Kadeem O DoeRussiaAmy Elsner RENEWAL
Aditya Q GarufiGermanyXuxue Feng RENEWAL
Smith R WhobreyUnited KingdomStephen Shaw QUALIFIED
Salvatore C PaprockiJapanAsiya Javayant RENEWAL
Faith I SergiGermanyIoni Bowcher NEW
David T ChuiGermanyElwin Sharvill RENEWAL
Silvio N MorascaBrazilAsiya Javayant PROPOSAL
Mayumi D DarakjyCanadaIoni Bowcher RENEWAL
Maria U NestleFranceElwin Sharvill UNQUALIFIED
Claire I NestleJapanOnyama Limba UNQUALIFIED
Isabel Z AmigonItalyAmy Elsner NEGOTIATION
Murillo V MacleadAustraliaAsiya Javayant QUALIFIED
Mujtaba G InouyeBrazilIoni Bowcher UNQUALIFIED
Tony R MacleadItalyIoni Bowcher RENEWAL
Alejandro G BriddickCanadaAsiya Javayant RENEWAL
Wickens H FlosiAustraliaIvan Magalhaes UNQUALIFIED
Jennifer S CaudyFranceXuxue Feng NEGOTIATION
Clifford N AmigonIndiaXuxue Feng NEGOTIATION
Misaki J DoeBrazilIoni Bowcher RENEWAL
Clifford N CaldareraIndiaAsiya Javayant RENEWAL
Smith Q AlbaresFranceIoni Bowcher NEGOTIATION
Chavez B ChuiGermanyXuxue Feng UNQUALIFIED
Isabel E CampainIndiaStephen Shaw NEGOTIATION
Isabel O MarrierGermanyIvan Magalhaes QUALIFIED
Smith U GillianRussiaAsiya Javayant NEGOTIATION
David F RulapaughFranceXuxue Feng NEW
Deepesh W PoquetteUnited KingdomAmy Elsner PROPOSAL
Ivar D VenereGermanyIvan Magalhaes PROPOSAL
Mayumi P VocelkaSpainAsiya Javayant RENEWAL
Silvio O MorascaGermanyBernardo Dominic UNQUALIFIED
Wickens I SaylorsRussiaStephen Shaw NEW
Wickens K CampainGermanyOnyama Limba RENEWAL
Johnson U VocelkaItalyElwin Sharvill NEGOTIATION
Jones B BriddickRussiaAsiya Javayant UNQUALIFIED
Ashley D ShinkoBrazilStephen Shaw QUALIFIED
Rodrigues O GauchoUnited KingdomIoni Bowcher PROPOSAL
Francesco M OstroskyBrazilIoni Bowcher NEGOTIATION
Aditya P WaycottAustraliaStephen Shaw QUALIFIED
Wickens P DarakjyAustraliaAmy Elsner PROPOSAL
Clifford E BologniaGermanyBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria P PaprockiRussiaElwin Sharvill RENEWAL
David A SchemmerGermanyOnyama Limba NEW
Greenwood T StockhamSpainAnna Fali UNQUALIFIED
Octavia N GarufiSpainAnna Fali NEW
David T GarufiSpainAnna Fali PROPOSAL
Antonio I IturbideJapanAsiya Javayant UNQUALIFIED
Munro P TollnerIndiaIvan Magalhaes PROPOSAL
Stacey Q KuskoGermanyAsiya Javayant QUALIFIED
Ivar F VenereJapanOnyama Limba QUALIFIED
Nicolas Y KuskoBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow Q PoquetteUnited Kingdom2026-10-08Chemel, James L Cpa PROPOSAL68Bernardo Dominic
1001Arvin P CaudyBrazil2026-10-04King, Christopher A Esq PROPOSAL19Stephen Shaw
1002Ashley Z VocelkaFrance2026-10-08Commercial Press QUALIFIED53Xuxue Feng
1003Kaitlin S MaletJapan2026-09-15King, Christopher A Esq NEGOTIATION23Amy Elsner
1004Mayumi M SergiItaly2026-09-20Dorl, James J Esq RENEWAL87Xuxue Feng
1005Maria P BowleyAustralia2026-09-28Buckley Miller Wright PROPOSAL54Xuxue Feng
1006Rodrigues K BowleyGermany2026-10-04Chapman, Ross E Esq UNQUALIFIED4Bernardo Dominic
1007Aditya H SergiFrance2026-09-21Truhlar And Truhlar Attys RENEWAL39Anna Fali
1008Aika B GlickAustralia2026-09-30Morlong Associates PROPOSAL41Ivan Magalhaes
1009Maria W MaletFrance2026-10-08Chapman, Ross E Esq NEW0Bernardo Dominic
1010Ivar U BologniaSpain2026-09-17Benton, John B Jr RENEWAL68Stephen Shaw
1011Francesco W WieserUnited Kingdom2026-10-03Feiner Bros QUALIFIED70Bernardo Dominic
1012Tony B RutaIndia2026-10-10Truhlar And Truhlar Attys NEGOTIATION29Ioni Bowcher
1013Arvin J SlusarskiSpain2026-09-18Feiner Bros RENEWAL94Onyama Limba
1014Ashley I CampainJapan2026-10-05Dorl, James J Esq NEW69Bernardo Dominic
1015Chavez X ButtGermany2026-09-14Dorl, James J Esq UNQUALIFIED27Amy Elsner
1016Antonio N VenereUnited Kingdom2026-10-05Morlong Associates PROPOSAL66Stephen Shaw
1017Francesco J RimCanada2026-10-05Commercial Press NEGOTIATION27Ivan Magalhaes
1018Aditya R GarufiItaly2026-09-21Buckley Miller Wright PROPOSAL68Xuxue Feng
1019Johnson I RimUnited Kingdom2026-09-25Truhlar And Truhlar Attys UNQUALIFIED91Xuxue Feng
1020Aditya M DoeJapan2026-09-21Benton, John B Jr QUALIFIED96Onyama Limba
1021Costa E RulapaughFrance2026-10-13Chapman, Ross E Esq QUALIFIED45Asiya Javayant
1022Darci T TollnerAustralia2026-10-12King, Christopher A Esq RENEWAL32Anna Fali
1023Ivar E InouyeIndia2026-09-20Buckley Miller Wright RENEWAL97Ivan Magalhaes
1024Isabel D StockhamItaly2026-10-13Rangoni Of Florence RENEWAL65Ioni Bowcher
1025Chavez J BologniaSpain2026-09-27Buckley Miller Wright RENEWAL82Asiya Javayant
1026Jefferson T DoeIndia2026-10-04Commercial Press NEW6Ioni Bowcher
1027Adams Q RimGermany2026-10-11Rangoni Of Florence RENEWAL86Ioni Bowcher
1028Greenwood V StockhamIndia2026-09-15Printing Dimensions PROPOSAL69Ioni Bowcher
1029Rodrigues J RulapaughUnited Kingdom2026-09-24Benton, John B Jr QUALIFIED26Asiya Javayant
1030Mujtaba D FigeroaJapan2026-09-26Commercial Press RENEWAL22Elwin Sharvill
1031Ricardo G MarrierItaly2026-09-17Benton, John B Jr PROPOSAL62Ioni Bowcher
1032Cody G PoquetteJapan2026-10-01Truhlar And Truhlar Attys QUALIFIED80Xuxue Feng
1033James Z GauchoBrazil2026-10-05Printing Dimensions NEW37Asiya Javayant
1034Wickens O FigeroaAustralia2026-09-18Rousseaux, Michael Esq NEGOTIATION58Anna Fali
1035Stacey Q NickaSpain2026-09-30Printing Dimensions UNQUALIFIED73Amy Elsner
1036Wickens A VenereGermany2026-09-15Chapman, Ross E Esq NEW40Asiya Javayant
1037Greenwood B FerenczIndia2026-09-20Dorl, James J Esq NEGOTIATION38Amy Elsner
1038Wickens A SergiIndia2026-10-05Dorl, James J Esq RENEWAL22Ioni Bowcher
1039Adams R CaudyJapan2026-09-17Rousseaux, Michael Esq NEW42Xuxue Feng
1040Murillo U PaprockiRussia2026-09-16Buckley Miller Wright RENEWAL96Ioni Bowcher
1041Ashley M PoquetteJapan2026-09-18Truhlar And Truhlar Attys UNQUALIFIED16Ioni Bowcher
1042Ashley W RimRussia2026-09-16Dorl, James J Esq PROPOSAL98Xuxue Feng
1043Alejandro N ShinkoFrance2026-10-13Dorl, James J Esq UNQUALIFIED35Bernardo Dominic
1044Ricardo J SchemmerAustralia2026-09-22Commercial Press NEGOTIATION56Ivan Magalhaes
1045Faith R GarufiCanada2026-10-04Commercial Press NEGOTIATION90Ivan Magalhaes
1046Aruna C DarakjyIndia2026-09-30Buckley Miller Wright PROPOSAL49Ivan Magalhaes
1047Aruna W AmigonIndia2026-09-14Commercial Press NEGOTIATION64Ioni Bowcher
1048Johnson P FigeroaRussia2026-09-17King, Christopher A Esq PROPOSAL59Amy Elsner
1049Tony O PerinCanada2026-09-30Feiner Bros UNQUALIFIED13Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Emily Q FollerSpainOnyama Limba PROPOSAL
Claire D GlickFranceAsiya Javayant NEGOTIATION
Chavez N OldroydUnited KingdomIoni Bowcher QUALIFIED
Munro P GlickCanadaOnyama Limba NEGOTIATION
Wickens Y MaletArgentinaAmy Elsner PROPOSAL
Ricardo D RutaGermanyOnyama Limba NEGOTIATION
Costa T SaylorsItalyOnyama Limba UNQUALIFIED
David B NestleFranceStephen Shaw QUALIFIED
Leja L RulapaughIndiaBernardo Dominic RENEWAL
Cody P BologniaIndiaAsiya Javayant RENEWAL
Claire Q AlbaresFranceXuxue Feng RENEWAL
Kaitlin O RimSpainAmy Elsner PROPOSAL
Isabel T MacleadSpainOnyama Limba NEW
Arvin F ShinkoRussiaStephen Shaw UNQUALIFIED
Leon S WieserUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh P OldroydCanadaAmy Elsner RENEWAL
Cody T PerinUnited KingdomXuxue Feng NEW
Faith I FerenczArgentinaOnyama Limba UNQUALIFIED
Isabel S InouyeRussiaAnna Fali PROPOSAL
Aditya K ButtFranceAmy Elsner QUALIFIED
Salvatore L AmigonBrazilAmy Elsner QUALIFIED
Murillo B PaprockiItalyAsiya Javayant NEGOTIATION
Izzy R GarufiCanadaBernardo Dominic RENEWAL
Kadeem H CaudyIndiaOnyama Limba RENEWAL
David P GillianJapanBernardo Dominic NEW
Leja M FlosiRussiaIoni Bowcher NEW
Smith V ButtJapanXuxue Feng PROPOSAL
Antonio V GlickJapanAsiya Javayant NEW
Francesco F IturbideJapanBernardo Dominic RENEWAL
Leja T MaletFranceBernardo Dominic NEGOTIATION
Costa L ChuiGermanyXuxue Feng RENEWAL
Jones H VenereAustraliaStephen Shaw PROPOSAL
Murillo A CampainFranceAsiya Javayant RENEWAL
David O RutaUnited KingdomIvan Magalhaes NEGOTIATION
Aditya I RutaArgentinaElwin Sharvill QUALIFIED
Darci E CaudyIndiaAsiya Javayant NEW
Izzy S CampainAustraliaElwin Sharvill UNQUALIFIED
Stacey N PaprockiSpainAnna Fali PROPOSAL
Darci W NestleUnited KingdomAsiya Javayant PROPOSAL
Arvin M BologniaAustraliaXuxue Feng NEW
Tony O PaprockiArgentinaAsiya Javayant RENEWAL
Ivar I SchemmerGermanyXuxue Feng NEGOTIATION
Aditya E KuskoArgentinaAsiya Javayant UNQUALIFIED
Antonio M GarufiAustraliaAsiya Javayant PROPOSAL
Jones N AlbaresRussiaIvan Magalhaes RENEWAL
Misaki R WieserRussiaStephen Shaw QUALIFIED
Jones W ChuiItalyAnna Fali NEGOTIATION
Misaki E RoysterFranceAmy Elsner UNQUALIFIED
Aika Z RutaArgentinaIvan Magalhaes NEW
Claire E NestleFranceBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Isabel V Whobrey
Jefferson L Wieser
Deepesh H Vocelka
James F Darakjy
Morrow L Bowley
Arvin W Kolmetz
Isabel F Tollner
Emily F Stenseth
Mayumi X Figeroa
Tony X Dilliard
Adams A Gillian
Cody S Glick
Johnson M Rulapaugh
Murillo E Ostrosky
Emily J Wieser
Faith V Kolmetz
Mujtaba Q Saylors
Emily S Garufi
Faith F Bowley
Smith L Campain
Munro P Inouye
Francesco V Wieser
Aika V Stenseth
Smith L Malet
Aditya J Marrier
Jefferson P Gillian
Isabel S Darakjy
Ivar T Garufi
Misaki B Shinko
Julie N Waycott
Wickens Q Butt
Maisha S Vocelka
Ricardo O Glick
Deepesh J Poquette
Jones D Waycott
Smith W Dilliard
Maisha R Stenseth
Nicolas L Inouye
Emily H Darakjy
Misaki O Figeroa
Leja M Figeroa
Juan Z Slusarski
Leja B Rim
Sinclair J Venere
Smith X Royster
Leja D Caldarera
Rodrigues I Dilliard
Deepesh S Marrier
Claire S Doe
Darci U Butt
IdCountryDate
1000Argentina2026-10-03
1001Canada2026-10-07
1002India2026-10-01
1003Germany2026-09-15
1004Australia2026-10-04
1005Italy2026-10-06
1006Russia2026-09-22
1007Japan2026-09-28
1008France2026-09-21
1009United Kingdom2026-10-09
1010Russia2026-09-29
1011Canada2026-10-13
1012Spain2026-09-25
1013United Kingdom2026-10-09
1014Russia2026-09-18
1015Australia2026-09-23
1016Brazil2026-10-06
1017Japan2026-10-04
1018India2026-09-18
1019Japan2026-09-26
1020Italy2026-09-27
1021Australia2026-10-10
1022Germany2026-10-03
1023Spain2026-10-08
1024Canada2026-09-25
1025France2026-09-29
1026United Kingdom2026-10-01
1027France2026-09-19
1028Germany2026-09-25
1029United Kingdom2026-09-30
1030Australia2026-09-14
1031Japan2026-10-09
1032France2026-10-08
1033Spain2026-10-01
1034Japan2026-10-03
1035United Kingdom2026-09-30
1036Germany2026-10-06
1037Brazil2026-09-24
1038Canada2026-10-13
1039Canada2026-10-05
1040Italy2026-10-13
1041Japan2026-09-30
1042United Kingdom2026-10-03
1043Italy2026-09-17
1044Italy2026-10-02
1045Brazil2026-09-26
1046Australia2026-10-02
1047Spain2026-09-21
1048India2026-09-22
1049Argentina2026-10-11

On-Demand Data

NameIdCountryDate
Smith N Vocelka1000Spain2026-10-07
Jones D Caldarera1001Canada2026-10-11
Aika A Iturbide1002United Kingdom2026-09-30
Faith O Briddick1003Japan2026-09-21
Maisha V Marrier1004Australia2026-10-09
Ricardo V Malet1005Canada2026-09-26
Isabel A Glick1006Russia2026-10-05
Deepesh G Vocelka1007Japan2026-09-30
Misaki F Caldarera1008Japan2026-09-25
Aika I Figeroa1009United Kingdom2026-10-13
Faith J Bowley1010Australia2026-10-06
Julie M Inouye1011Australia2026-10-02
Morrow H Kusko1012Russia2026-09-27
Francesco E Poquette1013Germany2026-10-10
Izzy Z Gaucho1014Italy2026-10-03
Misaki E Maclead1015India2026-09-21
Rodrigues S Glick1016Canada2026-09-15
Clifford U Briddick1017India2026-09-27
Jennifer X Wieser1018India2026-09-28
Ashley X Maclead1019Russia2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer F VocelkaRussiaOnyama Limba PROPOSAL
Emily S FerenczIndiaAmy Elsner QUALIFIED
Aika J PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Leon C ShinkoArgentinaIoni Bowcher PROPOSAL
Chavez Q FigeroaIndiaIoni Bowcher UNQUALIFIED
Munro I SergiBrazilXuxue Feng PROPOSAL
Juan U IturbideJapanBernardo Dominic QUALIFIED
Jefferson Y WieserAustraliaIvan Magalhaes UNQUALIFIED
Juan P BriddickJapanIvan Magalhaes UNQUALIFIED
Octavia U ButtIndiaOnyama Limba NEW
Nicolas B MaletItalyAnna Fali NEW
Julie O MorascaCanadaBernardo Dominic UNQUALIFIED
Aditya A StockhamJapanElwin Sharvill PROPOSAL
Juan J FerenczBrazilStephen Shaw NEW
Antonio R SaylorsGermanyAnna Fali PROPOSAL
Arvin B DarakjyArgentinaAnna Fali QUALIFIED
Deepesh Q FerenczUnited KingdomBernardo Dominic QUALIFIED
Leon M DoeGermanyStephen Shaw UNQUALIFIED
Tony Z SlusarskiItalyOnyama Limba NEW
Julie A SergiItalyAmy Elsner NEW
Adams F SergiJapanXuxue Feng RENEWAL
Jeanfrancois T CaldareraCanadaIoni Bowcher NEGOTIATION
Faith S DilliardUnited KingdomAsiya Javayant RENEWAL
Alejandro I OldroydUnited KingdomStephen Shaw PROPOSAL
Misaki W TollnerAustraliaXuxue Feng PROPOSAL
Cody S SergiArgentinaStephen Shaw QUALIFIED
Maisha T WieserGermanyIoni Bowcher PROPOSAL
Murillo O FerenczBrazilOnyama Limba QUALIFIED
Juan N VenereBrazilAnna Fali NEGOTIATION
Murillo M WhobreyBrazilElwin Sharvill NEGOTIATION
James S SlusarskiBrazilIoni Bowcher NEW
Antonio E DarakjyAustraliaAmy Elsner UNQUALIFIED
David D WhobreyIndiaIvan Magalhaes NEGOTIATION
Jennifer A GauchoItalyAsiya Javayant QUALIFIED
Mujtaba Y StensethJapanAmy Elsner NEW
Morrow L AlbaresArgentinaXuxue Feng NEW
Izzy S GarufiIndiaAnna Fali UNQUALIFIED
Claire F DoeItalyOnyama Limba RENEWAL
Jones X IturbideAustraliaXuxue Feng QUALIFIED
Mayumi F TollnerJapanStephen 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>