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
Munro R RoysterArgentinaAmy Elsner NEGOTIATION
Jones Z VenereFranceElwin Sharvill RENEWAL
Jeanfrancois W PoquetteJapanAnna Fali NEGOTIATION
Leon A SlusarskiJapanAmy Elsner RENEWAL
Kadeem L MorascaCanadaAsiya Javayant RENEWAL
Ashley C VocelkaBrazilIoni Bowcher NEGOTIATION
Wickens K VocelkaFranceIvan Magalhaes NEW
Deepesh P NestleFranceAnna Fali NEW
Francesco T ShinkoAustraliaElwin Sharvill UNQUALIFIED
Nicolas W AmigonFranceAmy Elsner UNQUALIFIED
James W RoysterFranceStephen Shaw RENEWAL
Costa C CampainArgentinaXuxue Feng RENEWAL
Kadeem I AmigonCanadaElwin Sharvill PROPOSAL
Wickens S IturbideJapanXuxue Feng NEGOTIATION
Jones W RimCanadaBernardo Dominic NEGOTIATION
Francesco J PaprockiItalyAnna Fali UNQUALIFIED
Ashley P IturbideUnited KingdomIvan Magalhaes PROPOSAL
Claire T FollerArgentinaStephen Shaw NEW
Alejandro X CampainGermanyIvan Magalhaes NEGOTIATION
Wickens S ChuiIndiaElwin Sharvill NEW
Morrow R GillianItalyAnna Fali RENEWAL
Leja W SergiIndiaIvan Magalhaes RENEWAL
Smith Z KuskoItalyBernardo Dominic NEW
Sinclair Z VenereRussiaElwin Sharvill PROPOSAL
Jones X CampainFranceXuxue Feng NEGOTIATION
Johnson J ShinkoJapanXuxue Feng UNQUALIFIED
Costa Z TollnerItalyBernardo Dominic NEW
David S ButtUnited KingdomAnna Fali NEGOTIATION
Claire L ShinkoUnited KingdomAmy Elsner PROPOSAL
Wickens N WaycottFranceXuxue Feng PROPOSAL
Silvio W RoysterAustraliaIvan Magalhaes UNQUALIFIED
James W NickaCanadaIvan Magalhaes UNQUALIFIED
Salvatore R PoquetteItalyOnyama Limba NEGOTIATION
David F InouyeSpainIvan Magalhaes QUALIFIED
Izzy T MaletAustraliaAnna Fali PROPOSAL
Leon O WhobreyGermanyStephen Shaw RENEWAL
Morrow U RulapaughBrazilBernardo Dominic RENEWAL
Clifford S RutaFranceBernardo Dominic NEGOTIATION
Kadeem U FollerRussiaIvan Magalhaes UNQUALIFIED
Kaitlin B VenereIndiaIvan Magalhaes UNQUALIFIED
Johnson X VenereItalyXuxue Feng UNQUALIFIED
James B KuskoJapanBernardo Dominic UNQUALIFIED
Deepesh X RulapaughBrazilXuxue Feng NEW
Emily M FerenczSpainAsiya Javayant RENEWAL
Faith H GlickCanadaAsiya Javayant PROPOSAL
Mujtaba V StockhamGermanyIvan Magalhaes NEW
Clifford D PoquetteArgentinaBernardo Dominic NEGOTIATION
Chavez Z DoeRussiaElwin Sharvill PROPOSAL
Aruna C VenereRussiaBernardo Dominic QUALIFIED
Aditya O SlusarskiBrazilOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Stacey B CaldareraJapanXuxue Feng NEW
Ashley R MacleadIndiaStephen Shaw UNQUALIFIED
Tony T CaldareraItalyIvan Magalhaes NEGOTIATION
James U BriddickCanadaElwin Sharvill RENEWAL
Jennifer M VocelkaFranceIvan Magalhaes NEW
Emily K KolmetzCanadaAsiya Javayant NEW
Wickens C WhobreyArgentinaStephen Shaw NEW
Maisha K SchemmerAustraliaStephen Shaw UNQUALIFIED
Octavia H StensethGermanyStephen Shaw NEGOTIATION
Jones O RutaAustraliaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U PoquetteItaly2026-09-01Chanay, Jeffrey A Esq RENEWAL31Onyama Limba
1001Morrow O NestleArgentina2026-08-28Rousseaux, Michael Esq NEGOTIATION58Elwin Sharvill
1002Juan M FlosiCanada2026-08-29Commercial Press UNQUALIFIED66Amy Elsner
1003Juan T IturbideUnited Kingdom2026-09-13Chapman, Ross E Esq NEGOTIATION37Ivan Magalhaes
1004Kaitlin A FerenczJapan2026-09-11Rousseaux, Michael Esq NEW46Anna Fali
1005Munro Z OstroskyCanada2026-09-15Feiner Bros UNQUALIFIED40Bernardo Dominic
1006Kadeem V KuskoItaly2026-09-02King, Christopher A Esq NEW54Asiya Javayant
1007Salvatore H TollnerItaly2026-09-15Chapman, Ross E Esq NEGOTIATION66Asiya Javayant
1008James R SaylorsGermany2026-09-10Buckley Miller Wright RENEWAL65Ioni Bowcher
1009Mujtaba V CaldareraArgentina2026-09-06Buckley Miller Wright QUALIFIED98Stephen Shaw
1010Alejandro O DoeUnited Kingdom2026-09-10Benton, John B Jr QUALIFIED28Ivan Magalhaes
1011Claire I MarrierSpain2026-08-29Commercial Press NEGOTIATION0Anna Fali
1012Darci M RulapaughUnited Kingdom2026-09-10Rousseaux, Michael Esq NEGOTIATION33Amy Elsner
1013Wickens N FerenczBrazil2026-09-15Printing Dimensions PROPOSAL74Ivan Magalhaes
1014Kaitlin O GlickSpain2026-09-10Chemel, James L Cpa NEW26Stephen Shaw
1015James W OstroskyFrance2026-09-11Buckley Miller Wright UNQUALIFIED17Bernardo Dominic
1016Faith F WieserCanada2026-09-19Rousseaux, Michael Esq QUALIFIED76Ioni Bowcher
1017Tony X AlbaresJapan2026-09-14Feiner Bros RENEWAL30Asiya Javayant
1018Antonio E PoquetteSpain2026-09-03Feiner Bros UNQUALIFIED57Bernardo Dominic
1019Cody H SlusarskiGermany2026-08-31King, Christopher A Esq QUALIFIED3Anna Fali
1020Salvatore N PoquetteSpain2026-09-01Dorl, James J Esq QUALIFIED22Asiya Javayant
1021Jones E KuskoArgentina2026-09-15Morlong Associates PROPOSAL85Bernardo Dominic
1022Claire M BologniaCanada2026-09-07King, Christopher A Esq RENEWAL31Onyama Limba
1023Julie K SergiItaly2026-09-10Truhlar And Truhlar Attys NEW48Xuxue Feng
1024Jefferson L PaprockiArgentina2026-09-08Printing Dimensions RENEWAL70Asiya Javayant
1025Kadeem Z FigeroaFrance2026-09-21Chapman, Ross E Esq QUALIFIED62Ivan Magalhaes
1026Mayumi R PerinCanada2026-08-27Benton, John B Jr QUALIFIED9Anna Fali
1027Leon Q DoeGermany2026-09-14Morlong Associates NEGOTIATION4Bernardo Dominic
1028Aika F NickaUnited Kingdom2026-09-09Morlong Associates RENEWAL5Amy Elsner
1029Leja P WaycottCanada2026-08-24Commercial Press QUALIFIED6Bernardo Dominic
1030Kadeem R MacleadIndia2026-09-21Benton, John B Jr RENEWAL28Anna Fali
1031Francesco B WhobreyCanada2026-09-03Printing Dimensions PROPOSAL39Anna Fali
1032Aika F SaylorsFrance2026-09-11Morlong Associates RENEWAL23Ioni Bowcher
1033James Z WaycottRussia2026-08-26Feiner Bros UNQUALIFIED23Elwin Sharvill
1034Adams S DilliardCanada2026-08-25Chemel, James L Cpa NEGOTIATION66Ioni Bowcher
1035Deepesh M BologniaIndia2026-09-05Feiner Bros QUALIFIED98Ioni Bowcher
1036Juan J GillianJapan2026-08-31Rangoni Of Florence QUALIFIED73Anna Fali
1037Jefferson I DilliardAustralia2026-09-06Printing Dimensions QUALIFIED56Asiya Javayant
1038Salvatore D FerenczSpain2026-09-10Chapman, Ross E Esq NEGOTIATION94Onyama Limba
1039Darci Z FlosiItaly2026-09-15Chemel, James L Cpa RENEWAL83Asiya Javayant
1040Aika S RoysterGermany2026-09-04Rangoni Of Florence NEGOTIATION52Xuxue Feng
1041Johnson Z RimItaly2026-09-08Rangoni Of Florence NEGOTIATION45Asiya Javayant
1042Ricardo R ShinkoFrance2026-08-24Commercial Press RENEWAL93Elwin Sharvill
1043Costa N DarakjyBrazil2026-09-11King, Christopher A Esq PROPOSAL95Asiya Javayant
1044Maria W FigeroaRussia2026-09-03Feltz Printing Service UNQUALIFIED35Bernardo Dominic
1045Darci H OstroskyAustralia2026-09-12Dorl, James J Esq UNQUALIFIED92Anna Fali
1046Cody X RulapaughItaly2026-09-09Chapman, Ross E Esq RENEWAL45Bernardo Dominic
1047Smith X OldroydBrazil2026-09-02Chanay, Jeffrey A Esq NEGOTIATION75Anna Fali
1048Adams M ShinkoAustralia2026-08-26Benton, John B Jr NEW10Ioni Bowcher
1049Antonio A MorascaFrance2026-09-10Truhlar And Truhlar Attys PROPOSAL91Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Faith W PaprockiIndiaElwin Sharvill RENEWAL
Francesco W DoeRussiaIvan Magalhaes NEW
Francesco V RutaItalyElwin Sharvill NEW
Jefferson H NestleAustraliaElwin Sharvill QUALIFIED
Chavez L CaudyBrazilBernardo Dominic UNQUALIFIED
Juan D ShinkoCanadaAmy Elsner NEW
Chavez H CampainFranceOnyama Limba QUALIFIED
Emily B GillianCanadaStephen Shaw RENEWAL
Stacey S SlusarskiAustraliaAsiya Javayant RENEWAL
Claire W OstroskyAustraliaBernardo Dominic PROPOSAL
Nicolas L PoquetteIndiaXuxue Feng QUALIFIED
Francesco S ChuiItalyStephen Shaw QUALIFIED
Maria J FlosiRussiaStephen Shaw NEW
Munro X PaprockiBrazilAnna Fali QUALIFIED
Octavia E WieserCanadaBernardo Dominic UNQUALIFIED
Adams O PoquetteBrazilElwin Sharvill NEGOTIATION
Wickens F FollerRussiaAsiya Javayant NEGOTIATION
Ricardo R MarrierJapanIvan Magalhaes UNQUALIFIED
Izzy V DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Antonio O CampainUnited KingdomAnna Fali QUALIFIED
Ricardo R CampainUnited KingdomAsiya Javayant QUALIFIED
Nicolas O FerenczCanadaOnyama Limba QUALIFIED
Morrow Y KolmetzItalyAmy Elsner UNQUALIFIED
Costa Z KuskoSpainAnna Fali RENEWAL
Isabel S MacleadSpainAmy Elsner PROPOSAL
Kadeem X VenereIndiaXuxue Feng NEW
Isabel F VenereFranceAsiya Javayant QUALIFIED
Jefferson G VenereIndiaBernardo Dominic NEGOTIATION
Munro X BologniaFranceOnyama Limba PROPOSAL
Antonio Q VocelkaIndiaOnyama Limba NEGOTIATION
Ricardo I SchemmerUnited KingdomOnyama Limba NEW
Maisha Y MacleadArgentinaAmy Elsner NEW
Faith G BologniaUnited KingdomBernardo Dominic PROPOSAL
Johnson I WhobreyCanadaStephen Shaw RENEWAL
Darci R PoquetteRussiaBernardo Dominic PROPOSAL
Smith R GlickRussiaAsiya Javayant RENEWAL
Morrow K CaldareraIndiaIoni Bowcher NEGOTIATION
Faith H NickaFranceOnyama Limba QUALIFIED
Julie C VenereRussiaBernardo Dominic QUALIFIED
Izzy U OldroydGermanyIvan Magalhaes UNQUALIFIED
Jefferson V VocelkaGermanyStephen Shaw PROPOSAL
Antonio C StensethJapanIvan Magalhaes RENEWAL
Salvatore J CaudyFranceIvan Magalhaes RENEWAL
Kadeem P WieserGermanyAnna Fali PROPOSAL
Juan K AmigonArgentinaAnna Fali NEW
Chavez G WhobreyIndiaIvan Magalhaes UNQUALIFIED
Octavia S SaylorsIndiaIvan Magalhaes PROPOSAL
Cody K IturbideBrazilXuxue Feng PROPOSAL
Silvio J TollnerRussiaXuxue Feng NEGOTIATION
Mayumi A FerenczIndiaXuxue Feng QUALIFIED
Frozen Columns
Name
Mayumi G Darakjy
Chavez T Paprocki
Stacey B Foller
Aditya G Iturbide
Costa S Garufi
Faith U Butt
Faith W Butt
Emily X Campain
Wickens P Saylors
Maria A Saylors
Leja P Venere
Isabel R Saylors
Mayumi G Whobrey
Octavia K Figeroa
Julie R Tollner
Johnson O Chui
Aika V Gaucho
Alejandro J Tollner
Chavez L Vocelka
Costa Q Garufi
Nicolas S Nestle
Francesco B Figeroa
Deepesh C Royster
Jeanfrancois A Albares
Tony P Rulapaugh
Mayumi S Maclead
Salvatore V Foller
Costa D Butt
Tony H Ruta
Maisha H Malet
Mayumi P Rulapaugh
Jeanfrancois U Briddick
Leon J Ferencz
Leon U Nestle
Murillo O Marrier
Arvin D Poquette
Salvatore V Rim
Misaki M Chui
Wickens V Bolognia
Jones Z Amigon
Maria D Darakjy
Smith K Figeroa
Maria P Bolognia
Ricardo X Morasca
Smith M Chui
Greenwood H Foller
Smith J Ferencz
Deepesh L Nicka
Costa S Whobrey
Juan S Rulapaugh
IdCountryDate
1000France2026-09-22
1001Brazil2026-09-19
1002India2026-09-10
1003Brazil2026-08-31
1004Spain2026-09-16
1005Canada2026-08-28
1006Japan2026-08-24
1007Russia2026-09-08
1008Russia2026-09-19
1009France2026-09-17
1010Italy2026-09-01
1011Canada2026-09-12
1012Canada2026-08-28
1013India2026-09-20
1014Spain2026-09-15
1015Japan2026-09-20
1016Germany2026-09-16
1017United Kingdom2026-09-18
1018Canada2026-09-01
1019France2026-09-10
1020Italy2026-09-21
1021Spain2026-08-27
1022Brazil2026-08-26
1023Japan2026-09-07
1024India2026-09-13
1025Canada2026-09-10
1026Brazil2026-09-02
1027Spain2026-09-12
1028Italy2026-09-05
1029Australia2026-09-15
1030France2026-08-29
1031Argentina2026-09-21
1032Germany2026-09-04
1033Italy2026-08-24
1034Canada2026-09-06
1035Italy2026-09-16
1036Germany2026-09-10
1037Brazil2026-09-20
1038Spain2026-09-11
1039Italy2026-09-14
1040India2026-09-15
1041United Kingdom2026-09-04
1042Russia2026-09-02
1043Canada2026-09-11
1044Argentina2026-09-18
1045France2026-09-16
1046India2026-08-27
1047United Kingdom2026-09-20
1048India2026-09-13
1049Russia2026-09-18

On-Demand Data

NameIdCountryDate
Jeanfrancois F Amigon1000Argentina2026-09-06
Ivar Z Wieser1001Germany2026-08-27
Chavez C Campain1002Australia2026-09-18
Rodrigues E Bolognia1003Italy2026-08-24
Antonio X Stenseth1004Italy2026-09-04
Maisha U Waycott1005Italy2026-09-17
Kaitlin X Doe1006India2026-08-26
Costa D Bolognia1007Germany2026-08-24
Juan Q Inouye1008Italy2026-08-29
Claire X Waycott1009Spain2026-08-24
Maria C Morasca1010Italy2026-09-11
Ricardo C Bowley1011Italy2026-09-10
Leon D Foller1012Australia2026-09-15
Jeanfrancois I Poquette1013Argentina2026-09-12
Juan F Oldroyd1014Japan2026-09-09
Francesco Y Iturbide1015Italy2026-09-13
Sinclair J Bowley1016France2026-09-19
Maisha E Gaucho1017Argentina2026-09-08
Alejandro V Bolognia1018Germany2026-09-04
Nicolas D Amigon1019Australia2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood U SergiAustraliaXuxue Feng UNQUALIFIED
Ashley G StockhamFranceElwin Sharvill RENEWAL
Aruna C MaletCanadaAnna Fali NEGOTIATION
Izzy W CaudyAustraliaElwin Sharvill NEGOTIATION
Salvatore B DoeJapanStephen Shaw NEW
Izzy B NestleSpainIvan Magalhaes NEW
Mujtaba P AlbaresArgentinaOnyama Limba NEGOTIATION
Arvin E AmigonBrazilElwin Sharvill NEGOTIATION
Misaki B AlbaresCanadaAsiya Javayant QUALIFIED
Alejandro O ShinkoItalyAsiya Javayant PROPOSAL
Leja N RulapaughCanadaIvan Magalhaes NEGOTIATION
Aditya O MaletBrazilIvan Magalhaes RENEWAL
Aditya S MaletSpainIvan Magalhaes UNQUALIFIED
Octavia K VocelkaItalyAnna Fali RENEWAL
Silvio X GillianJapanElwin Sharvill NEW
Sinclair M MacleadIndiaIoni Bowcher PROPOSAL
Ashley M RoysterIndiaAmy Elsner NEGOTIATION
Maria V VenereSpainAnna Fali NEGOTIATION
Jennifer L RimBrazilOnyama Limba RENEWAL
Jefferson X StensethCanadaBernardo Dominic NEGOTIATION
Greenwood C SlusarskiJapanAnna Fali NEGOTIATION
Johnson E WieserBrazilIoni Bowcher UNQUALIFIED
Ivar F BriddickItalyAmy Elsner RENEWAL
Ricardo O DarakjyGermanyBernardo Dominic NEGOTIATION
Murillo G SlusarskiFranceIvan Magalhaes PROPOSAL
Silvio Q KolmetzCanadaIoni Bowcher PROPOSAL
Aika G OldroydAustraliaStephen Shaw NEGOTIATION
Isabel O AlbaresGermanyIoni Bowcher QUALIFIED
Aruna X SlusarskiAustraliaAsiya Javayant RENEWAL
Mayumi D BowleySpainIoni Bowcher PROPOSAL
Smith P GlickFranceAmy Elsner NEW
Antonio X KuskoIndiaAmy Elsner PROPOSAL
Juan G CampainAustraliaAnna Fali QUALIFIED
Salvatore Q MaletRussiaElwin Sharvill PROPOSAL
Jennifer Z TollnerGermanyAsiya Javayant NEGOTIATION
Mujtaba K FerenczFranceAmy Elsner QUALIFIED
Francesco E PoquetteGermanyElwin Sharvill RENEWAL
Antonio U StensethCanadaElwin Sharvill QUALIFIED
Cody G PaprockiRussiaAmy Elsner PROPOSAL
Faith M VenereGermanyXuxue 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>