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
Murillo T GarufiRussiaAnna Fali NEGOTIATION
Antonio L WaycottFranceOnyama Limba NEW
Emily F FerenczFranceElwin Sharvill UNQUALIFIED
Jones P RimBrazilBernardo Dominic QUALIFIED
Julie I InouyeSpainIoni Bowcher NEGOTIATION
Jennifer E BowleyJapanXuxue Feng NEW
Emily S OldroydBrazilBernardo Dominic RENEWAL
David Z ButtGermanyBernardo Dominic NEGOTIATION
Munro L CaudyCanadaAmy Elsner QUALIFIED
Francesco M GillianFranceStephen Shaw NEGOTIATION
Munro Z AmigonSpainBernardo Dominic NEW
Julie Z SlusarskiUnited KingdomAnna Fali QUALIFIED
Aika B CaudyGermanyAmy Elsner NEGOTIATION
Jefferson K VenereJapanIvan Magalhaes QUALIFIED
Aditya Q SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore N FigeroaAustraliaOnyama Limba QUALIFIED
Jones T RulapaughAustraliaAnna Fali NEW
Maria K DilliardUnited KingdomStephen Shaw QUALIFIED
Emily T CaudyCanadaElwin Sharvill QUALIFIED
Stacey R KolmetzCanadaAmy Elsner RENEWAL
Julie P WieserBrazilAsiya Javayant QUALIFIED
Kadeem M KolmetzCanadaAsiya Javayant RENEWAL
Deepesh J KuskoIndiaOnyama Limba UNQUALIFIED
Jones H ChuiAustraliaIvan Magalhaes QUALIFIED
Costa S RutaItalyAnna Fali QUALIFIED
Ivar K MarrierItalyXuxue Feng UNQUALIFIED
Francesco Z StockhamItalyIoni Bowcher PROPOSAL
Rodrigues V KolmetzCanadaStephen Shaw NEW
Aruna S BologniaRussiaAnna Fali NEGOTIATION
Greenwood N GlickAustraliaStephen Shaw QUALIFIED
Isabel Y SchemmerRussiaIoni Bowcher UNQUALIFIED
Mujtaba B BowleySpainBernardo Dominic RENEWAL
Smith E BowleyFranceElwin Sharvill UNQUALIFIED
Silvio X VocelkaFranceIvan Magalhaes PROPOSAL
Emily W MaletRussiaIvan Magalhaes UNQUALIFIED
Deepesh U ButtArgentinaBernardo Dominic NEW
Juan H ChuiFranceIoni Bowcher UNQUALIFIED
Arvin T AlbaresArgentinaElwin Sharvill PROPOSAL
Misaki R RimFranceAmy Elsner NEW
Claire I ChuiCanadaIoni Bowcher NEGOTIATION
Aika X ShinkoGermanyElwin Sharvill NEW
Ashley Z MaletBrazilIvan Magalhaes NEGOTIATION
Leon V MaletGermanyElwin Sharvill RENEWAL
Mayumi B ButtCanadaBernardo Dominic PROPOSAL
Kaitlin B NickaItalyBernardo Dominic UNQUALIFIED
Jones I GlickSpainOnyama Limba QUALIFIED
Deepesh K SergiAustraliaXuxue Feng NEGOTIATION
Kaitlin L SergiIndiaOnyama Limba QUALIFIED
Leja R IturbideSpainOnyama Limba NEGOTIATION
Adams T OldroydBrazilAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore T VocelkaSpainBernardo Dominic PROPOSAL
Maisha F PaprockiUnited KingdomAmy Elsner UNQUALIFIED
James D SlusarskiJapanIvan Magalhaes QUALIFIED
Kadeem U MacleadIndiaXuxue Feng NEW
Deepesh N FlosiJapanBernardo Dominic NEGOTIATION
Ricardo O WaycottBrazilOnyama Limba NEGOTIATION
Isabel W DarakjyCanadaXuxue Feng PROPOSAL
Antonio E PerinIndiaAsiya Javayant NEW
Stacey D MaletArgentinaIvan Magalhaes UNQUALIFIED
Salvatore H SchemmerSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo P DarakjyRussia2026-09-03Truhlar And Truhlar Attys QUALIFIED66Xuxue Feng
1001Misaki L CaldareraCanada2026-09-29Commercial Press PROPOSAL45Stephen Shaw
1002Antonio O BriddickJapan2026-09-11Chanay, Jeffrey A Esq NEW10Ivan Magalhaes
1003Ivar H NickaIndia2026-09-21Buckley Miller Wright NEGOTIATION63Onyama Limba
1004Cody L SergiAustralia2026-09-29Feltz Printing Service RENEWAL44Anna Fali
1005Mujtaba S StockhamSpain2026-09-12Chanay, Jeffrey A Esq PROPOSAL93Asiya Javayant
1006Mujtaba R DoeUnited Kingdom2026-09-04Printing Dimensions RENEWAL2Stephen Shaw
1007Munro C CampainGermany2026-09-23Benton, John B Jr NEGOTIATION7Stephen Shaw
1008Costa F FlosiSpain2026-09-24Truhlar And Truhlar Attys NEW44Xuxue Feng
1009Wickens B GarufiGermany2026-09-12Commercial Press NEGOTIATION32Xuxue Feng
1010Antonio Y RulapaughAustralia2026-09-19Morlong Associates NEGOTIATION94Onyama Limba
1011Wickens F AmigonGermany2026-09-19Chapman, Ross E Esq NEW28Elwin Sharvill
1012Ricardo J WieserBrazil2026-09-23Feltz Printing Service NEGOTIATION24Ivan Magalhaes
1013David B GillianUnited Kingdom2026-09-29Morlong Associates RENEWAL46Onyama Limba
1014Sinclair T GillianUnited Kingdom2026-09-23Morlong Associates QUALIFIED96Stephen Shaw
1015Murillo K FigeroaJapan2026-09-26Rousseaux, Michael Esq PROPOSAL47Stephen Shaw
1016Deepesh O RimGermany2026-09-20Printing Dimensions NEW55Stephen Shaw
1017Jennifer G SlusarskiGermany2026-09-21Truhlar And Truhlar Attys UNQUALIFIED37Bernardo Dominic
1018Izzy W InouyeAustralia2026-09-24Rangoni Of Florence UNQUALIFIED7Stephen Shaw
1019Tony H GillianFrance2026-09-02Dorl, James J Esq NEGOTIATION22Amy Elsner
1020Costa A BowleyRussia2026-09-16Benton, John B Jr UNQUALIFIED94Bernardo Dominic
1021Johnson H InouyeBrazil2026-09-01Truhlar And Truhlar Attys NEGOTIATION22Stephen Shaw
1022Silvio L BriddickFrance2026-09-19Benton, John B Jr NEW43Ioni Bowcher
1023Ashley Q SchemmerArgentina2026-09-03Rangoni Of Florence NEW18Bernardo Dominic
1024Johnson C InouyeBrazil2026-09-18King, Christopher A Esq NEW80Onyama Limba
1025Costa S VenereItaly2026-09-03Rousseaux, Michael Esq QUALIFIED94Onyama Limba
1026Jones E CampainArgentina2026-09-20King, Christopher A Esq QUALIFIED22Onyama Limba
1027Johnson L SchemmerFrance2026-09-07Benton, John B Jr QUALIFIED64Anna Fali
1028Wickens F DoeArgentina2026-09-11Printing Dimensions UNQUALIFIED70Elwin Sharvill
1029Antonio L ShinkoFrance2026-09-19Buckley Miller Wright PROPOSAL50Onyama Limba
1030Salvatore G RoysterAustralia2026-09-01Feiner Bros UNQUALIFIED17Bernardo Dominic
1031Antonio R CaudyBrazil2026-09-18Chemel, James L Cpa QUALIFIED63Anna Fali
1032Ivar U FlosiItaly2026-09-06Dorl, James J Esq NEGOTIATION11Bernardo Dominic
1033Leon M MaletFrance2026-09-04Printing Dimensions NEGOTIATION91Stephen Shaw
1034Costa B SlusarskiRussia2026-09-18Printing Dimensions QUALIFIED46Ioni Bowcher
1035Ivar D DarakjySpain2026-09-22Morlong Associates NEW86Asiya Javayant
1036Rodrigues D KuskoAustralia2026-09-14Commercial Press RENEWAL27Asiya Javayant
1037Mujtaba B GauchoGermany2026-09-23Benton, John B Jr QUALIFIED93Bernardo Dominic
1038Jennifer U WhobreyAustralia2026-09-06Buckley Miller Wright PROPOSAL51Elwin Sharvill
1039Faith A IturbideAustralia2026-09-22Benton, John B Jr UNQUALIFIED73Elwin Sharvill
1040Silvio S ButtBrazil2026-09-24Benton, John B Jr QUALIFIED81Ioni Bowcher
1041Jefferson Y ButtSpain2026-09-11Chemel, James L Cpa RENEWAL87Asiya Javayant
1042Ivar I DoeIndia2026-09-15Truhlar And Truhlar Attys NEGOTIATION37Onyama Limba
1043Nicolas J RoysterIndia2026-09-30Rousseaux, Michael Esq RENEWAL22Asiya Javayant
1044Rodrigues X FlosiAustralia2026-09-25Dorl, James J Esq NEGOTIATION79Anna Fali
1045Kadeem X OldroydSpain2026-09-18Feltz Printing Service NEGOTIATION30Anna Fali
1046Jeanfrancois H TollnerJapan2026-09-08Rangoni Of Florence NEGOTIATION87Asiya Javayant
1047Nicolas T MaletSpain2026-09-03King, Christopher A Esq NEGOTIATION31Anna Fali
1048Johnson Z KuskoSpain2026-09-20Chanay, Jeffrey A Esq NEW91Anna Fali
1049Ricardo V GlickCanada2026-09-03Benton, John B Jr QUALIFIED59Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
David Y InouyeUnited KingdomElwin Sharvill QUALIFIED
Jefferson X OldroydItalyXuxue Feng NEGOTIATION
Izzy L WhobreyCanadaStephen Shaw NEGOTIATION
Ivar P RutaFranceElwin Sharvill QUALIFIED
Morrow B ShinkoArgentinaAsiya Javayant QUALIFIED
Arvin E TollnerIndiaIvan Magalhaes NEW
Misaki K CampainJapanStephen Shaw QUALIFIED
Tony Y FollerIndiaAmy Elsner UNQUALIFIED
Rodrigues K GlickAustraliaIvan Magalhaes NEW
Izzy Y StensethRussiaOnyama Limba NEW
Cody W AmigonItalyIoni Bowcher NEGOTIATION
Smith K VenereCanadaElwin Sharvill RENEWAL
Jefferson R InouyeBrazilXuxue Feng NEGOTIATION
Francesco X CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Cody V TollnerItalyAnna Fali PROPOSAL
Chavez M ChuiIndiaAsiya Javayant PROPOSAL
Kaitlin O MaletAustraliaAmy Elsner RENEWAL
Aditya X ChuiAustraliaOnyama Limba NEGOTIATION
Aika V BowleyBrazilAmy Elsner RENEWAL
Misaki J CaudyIndiaIvan Magalhaes NEGOTIATION
Aika T IturbideItalyAmy Elsner NEGOTIATION
Aika E InouyeFranceAsiya Javayant RENEWAL
Murillo N GillianFranceIoni Bowcher UNQUALIFIED
Johnson O PaprockiUnited KingdomIoni Bowcher NEW
Silvio A GlickGermanyAmy Elsner PROPOSAL
Greenwood M KuskoUnited KingdomAsiya Javayant NEGOTIATION
Kadeem U StockhamJapanBernardo Dominic NEGOTIATION
Leon X RimCanadaElwin Sharvill NEGOTIATION
Octavia I KolmetzArgentinaBernardo Dominic PROPOSAL
Mujtaba A PoquetteSpainAmy Elsner NEGOTIATION
Kaitlin L PaprockiCanadaXuxue Feng NEW
Sinclair K IturbideCanadaBernardo Dominic PROPOSAL
Kadeem W DilliardUnited KingdomAmy Elsner QUALIFIED
Izzy Y MaletSpainAsiya Javayant UNQUALIFIED
Morrow J PerinCanadaBernardo Dominic PROPOSAL
Morrow N ButtIndiaElwin Sharvill UNQUALIFIED
Ricardo O KolmetzCanadaIvan Magalhaes NEGOTIATION
Jones W WhobreyIndiaOnyama Limba UNQUALIFIED
Izzy T OstroskyCanadaAsiya Javayant QUALIFIED
Jennifer E SergiUnited KingdomAnna Fali UNQUALIFIED
Nicolas O KuskoCanadaElwin Sharvill NEW
Mayumi C BologniaItalyStephen Shaw PROPOSAL
James G PoquetteItalyAmy Elsner RENEWAL
Deepesh T MaletUnited KingdomStephen Shaw NEW
Julie D InouyeRussiaXuxue Feng RENEWAL
Deepesh S DilliardAustraliaAmy Elsner RENEWAL
Faith X PaprockiJapanAmy Elsner NEW
Izzy Q GarufiBrazilAsiya Javayant NEW
Tony K PaprockiRussiaIvan Magalhaes PROPOSAL
Juan F NestleBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
Leja E Whobrey
Arvin T Caudy
Cody H Kusko
Misaki F Garufi
Silvio W Ruta
Silvio O Briddick
Smith A Vocelka
Chavez H Nicka
James F Bolognia
Maisha T Marrier
Costa M Wieser
Ashley Y Malet
David H Schemmer
Ricardo O Oldroyd
Salvatore N Stockham
Isabel H Shinko
Misaki P Oldroyd
Alejandro U Marrier
Octavia U Ferencz
Aruna I Butt
Ivar A Caldarera
Greenwood H Iturbide
Aditya E Marrier
Misaki C Kusko
Jennifer X Stenseth
Costa W Saylors
Aruna F Saylors
Antonio F Gillian
Cody I Gaucho
Juan Q Ruta
Rodrigues Z Nicka
Silvio V Malet
Costa P Garufi
Chavez M Gaucho
Greenwood G Kusko
Greenwood Y Campain
Tony R Darakjy
Mujtaba W Kusko
Izzy A Glick
Mujtaba W Malet
Leja S Sergi
Kadeem N Gaucho
Isabel P Whobrey
Smith J Briddick
Leja D Perin
Nicolas A Vocelka
Leja L Kusko
Clifford F Inouye
Clifford X Shinko
Munro D Rulapaugh
IdCountryDate
1000India2026-09-19
1001India2026-09-10
1002Canada2026-09-26
1003Italy2026-09-26
1004Russia2026-09-07
1005Italy2026-09-03
1006Canada2026-09-10
1007Spain2026-09-21
1008India2026-09-01
1009Argentina2026-09-09
1010Italy2026-09-10
1011Russia2026-09-02
1012Canada2026-09-20
1013Argentina2026-09-25
1014France2026-09-17
1015Australia2026-09-21
1016Japan2026-09-23
1017Canada2026-09-27
1018Argentina2026-09-19
1019Spain2026-09-25
1020United Kingdom2026-09-23
1021France2026-09-14
1022France2026-09-16
1023Spain2026-09-02
1024India2026-09-05
1025Canada2026-09-07
1026Spain2026-09-22
1027Russia2026-09-05
1028Japan2026-09-13
1029Germany2026-09-26
1030Australia2026-09-21
1031Australia2026-09-23
1032India2026-09-24
1033Germany2026-09-19
1034Spain2026-09-06
1035Brazil2026-09-06
1036Australia2026-09-25
1037Australia2026-09-04
1038Australia2026-09-06
1039Australia2026-09-13
1040Brazil2026-09-29
1041Brazil2026-09-05
1042Argentina2026-09-15
1043Brazil2026-09-01
1044United Kingdom2026-09-24
1045France2026-09-25
1046India2026-09-14
1047India2026-09-28
1048Russia2026-09-19
1049France2026-09-25

On-Demand Data

NameIdCountryDate
Jeanfrancois V Chui1000France2026-09-08
Antonio H Morasca1001Italy2026-09-13
Morrow N Shinko1002Argentina2026-09-22
Adams K Stenseth1003Japan2026-09-23
Morrow C Royster1004Japan2026-09-21
Leon N Rim1005France2026-09-10
Jennifer O Caudy1006Brazil2026-09-28
Emily F Ferencz1007United Kingdom2026-09-22
Jones W Caldarera1008Japan2026-09-18
Morrow I Flosi1009Italy2026-09-01
Isabel A Dilliard1010France2026-09-19
Adams N Figeroa1011Spain2026-09-15
Leja R Gillian1012France2026-09-01
Jones K Bowley1013India2026-09-03
Claire P Wieser1014Canada2026-09-27
Nicolas U Campain1015United Kingdom2026-09-19
Smith X Kusko1016Japan2026-09-07
Aika L Perin1017Australia2026-09-27
Silvio D Nicka1018United Kingdom2026-09-06
Smith Z Doe1019Argentina2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja V BowleyBrazilAmy Elsner UNQUALIFIED
Leja Z BologniaJapanBernardo Dominic UNQUALIFIED
Leja P RulapaughAustraliaIvan Magalhaes PROPOSAL
Faith F PaprockiIndiaOnyama Limba UNQUALIFIED
Arvin G GlickArgentinaIvan Magalhaes NEW
Clifford E VenereUnited KingdomXuxue Feng NEW
Sinclair R KuskoFranceXuxue Feng NEW
Alejandro H IturbideRussiaElwin Sharvill QUALIFIED
Chavez T InouyeIndiaStephen Shaw QUALIFIED
Chavez U FlosiJapanElwin Sharvill QUALIFIED
Alejandro Z MaletBrazilElwin Sharvill PROPOSAL
Juan G ChuiUnited KingdomIoni Bowcher NEW
Emily P OldroydSpainAmy Elsner QUALIFIED
Stacey E PerinRussiaAmy Elsner PROPOSAL
Francesco H StensethBrazilOnyama Limba UNQUALIFIED
Greenwood U WaycottAustraliaAsiya Javayant PROPOSAL
Darci B KolmetzUnited KingdomAnna Fali RENEWAL
Munro Y WhobreyRussiaIoni Bowcher QUALIFIED
Jefferson Z RimBrazilOnyama Limba UNQUALIFIED
Smith M FollerIndiaAmy Elsner NEW
Nicolas M OldroydIndiaAnna Fali QUALIFIED
Claire H GauchoRussiaOnyama Limba QUALIFIED
Misaki H VenereItalyBernardo Dominic QUALIFIED
Smith I FollerAustraliaOnyama Limba QUALIFIED
Ashley X TollnerAustraliaXuxue Feng NEGOTIATION
Sinclair P NickaJapanBernardo Dominic NEGOTIATION
Stacey F RimItalyElwin Sharvill NEW
Cody G FigeroaJapanBernardo Dominic UNQUALIFIED
Costa H InouyeSpainOnyama Limba NEGOTIATION
Adams W DilliardBrazilOnyama Limba NEW
Deepesh A BriddickAustraliaAnna Fali UNQUALIFIED
Salvatore H CaudySpainIvan Magalhaes NEW
Maisha F KolmetzJapanIvan Magalhaes RENEWAL
David H IturbideAustraliaIvan Magalhaes QUALIFIED
Aruna R MaletBrazilBernardo Dominic RENEWAL
Leja U GillianBrazilAsiya Javayant UNQUALIFIED
Darci K FollerSpainAsiya Javayant QUALIFIED
Smith M RoysterUnited KingdomOnyama Limba RENEWAL
Ivar D SchemmerItalyBernardo Dominic QUALIFIED
James Z MarrierArgentinaElwin Sharvill NEGOTIATION

<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>