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
Maria I GlickGermanyAmy Elsner PROPOSAL
Nicolas Q PerinGermanyXuxue Feng NEW
Deepesh L IturbideArgentinaOnyama Limba QUALIFIED
James B KolmetzSpainOnyama Limba RENEWAL
Mayumi V StockhamArgentinaAsiya Javayant NEW
Munro V AmigonSpainIoni Bowcher NEW
Jefferson V ChuiCanadaAsiya Javayant NEW
Deepesh T MarrierGermanyOnyama Limba UNQUALIFIED
Aruna R RutaIndiaIoni Bowcher NEGOTIATION
Munro N FigeroaSpainBernardo Dominic QUALIFIED
Aruna S NestleCanadaStephen Shaw UNQUALIFIED
Kadeem F FerenczFranceOnyama Limba NEW
Deepesh A SaylorsArgentinaXuxue Feng PROPOSAL
Juan T TollnerCanadaAmy Elsner PROPOSAL
Claire V FerenczArgentinaBernardo Dominic UNQUALIFIED
Ashley Y SlusarskiUnited KingdomXuxue Feng RENEWAL
Kadeem E MaletGermanyAsiya Javayant QUALIFIED
Chavez B KolmetzArgentinaIvan Magalhaes PROPOSAL
Morrow U BowleyAustraliaAsiya Javayant PROPOSAL
Izzy L CampainArgentinaStephen Shaw NEW
Emily T SaylorsArgentinaElwin Sharvill RENEWAL
Isabel R RutaSpainAsiya Javayant NEW
Misaki M CampainRussiaXuxue Feng NEGOTIATION
Aika A StensethIndiaOnyama Limba RENEWAL
Aruna W PaprockiAustraliaIoni Bowcher UNQUALIFIED
Arvin H FerenczArgentinaAnna Fali QUALIFIED
Tony L MaletFranceIoni Bowcher NEW
Clifford D NestleCanadaIoni Bowcher NEGOTIATION
Maria O NickaUnited KingdomAsiya Javayant UNQUALIFIED
Aruna M SaylorsIndiaIoni Bowcher RENEWAL
Greenwood Y MacleadFranceElwin Sharvill NEGOTIATION
Jones K VocelkaGermanyAmy Elsner NEGOTIATION
Costa P ButtJapanElwin Sharvill PROPOSAL
Leon A FerenczAustraliaBernardo Dominic QUALIFIED
Maisha M WieserRussiaOnyama Limba QUALIFIED
Leja A StensethUnited KingdomElwin Sharvill QUALIFIED
Salvatore K ShinkoUnited KingdomXuxue Feng PROPOSAL
Jones P AlbaresArgentinaAmy Elsner NEW
Morrow N AmigonRussiaStephen Shaw NEW
Julie I GillianAustraliaAsiya Javayant UNQUALIFIED
Chavez W InouyeFranceBernardo Dominic PROPOSAL
Mayumi Y ChuiFranceIvan Magalhaes NEGOTIATION
Tony S WaycottBrazilIvan Magalhaes NEGOTIATION
Francesco D DilliardIndiaOnyama Limba PROPOSAL
Ashley J RoysterBrazilAmy Elsner NEW
Claire Z AlbaresRussiaStephen Shaw QUALIFIED
Leon O RulapaughFranceAnna Fali NEGOTIATION
David D OldroydArgentinaAnna Fali UNQUALIFIED
Maisha Y MaletBrazilXuxue Feng PROPOSAL
Jones H FigeroaIndiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin N MarrierRussiaAsiya Javayant RENEWAL
Morrow Z GauchoFranceBernardo Dominic PROPOSAL
Kadeem A StensethItalyAnna Fali UNQUALIFIED
Clifford L CaldareraIndiaIvan Magalhaes PROPOSAL
Darci E GauchoRussiaXuxue Feng NEGOTIATION
Faith A FigeroaSpainElwin Sharvill NEGOTIATION
Jefferson W OstroskyItalyIoni Bowcher UNQUALIFIED
Jeanfrancois N MaletUnited KingdomAnna Fali PROPOSAL
Deepesh N WieserFranceOnyama Limba NEGOTIATION
Francesco F ShinkoCanadaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley T WhobreyJapan2026-09-16Morlong Associates NEGOTIATION43Stephen Shaw
1001Ricardo K SaylorsIndia2026-08-30Truhlar And Truhlar Attys NEGOTIATION90Xuxue Feng
1002Faith G FlosiRussia2026-09-09Rangoni Of Florence NEW15Elwin Sharvill
1003Leja C BowleyUnited Kingdom2026-09-07Feltz Printing Service UNQUALIFIED93Bernardo Dominic
1004Octavia Z DilliardItaly2026-08-31King, Christopher A Esq NEW25Amy Elsner
1005Adams G WieserRussia2026-09-05Chanay, Jeffrey A Esq PROPOSAL35Elwin Sharvill
1006Antonio S PoquetteRussia2026-09-26Feiner Bros PROPOSAL39Elwin Sharvill
1007Jennifer C RutaRussia2026-09-24King, Christopher A Esq NEW6Onyama Limba
1008Johnson V DarakjyRussia2026-09-11Chapman, Ross E Esq RENEWAL53Asiya Javayant
1009Leon T VocelkaCanada2026-09-22Truhlar And Truhlar Attys UNQUALIFIED33Ivan Magalhaes
1010Antonio F RulapaughUnited Kingdom2026-09-01Chemel, James L Cpa PROPOSAL36Stephen Shaw
1011David L RulapaughBrazil2026-09-19Printing Dimensions NEW39Asiya Javayant
1012Aika H PaprockiFrance2026-09-10Feltz Printing Service UNQUALIFIED61Asiya Javayant
1013David A StockhamAustralia2026-09-09Commercial Press QUALIFIED62Amy Elsner
1014Isabel Q StensethFrance2026-09-20Rangoni Of Florence RENEWAL0Ivan Magalhaes
1015Ashley W FerenczIndia2026-09-18Rousseaux, Michael Esq NEGOTIATION56Amy Elsner
1016Silvio M AmigonRussia2026-09-05Chemel, James L Cpa RENEWAL70Anna Fali
1017Juan H RoysterGermany2026-09-10Dorl, James J Esq PROPOSAL20Anna Fali
1018Ricardo I CaldareraGermany2026-09-08Chanay, Jeffrey A Esq PROPOSAL76Anna Fali
1019Salvatore P CaudyFrance2026-09-14Feiner Bros NEGOTIATION27Onyama Limba
1020Leja F ChuiUnited Kingdom2026-09-21Chapman, Ross E Esq QUALIFIED23Anna Fali
1021Ashley Y GillianGermany2026-08-28Printing Dimensions QUALIFIED71Amy Elsner
1022Salvatore Z FollerFrance2026-09-22Rangoni Of Florence NEW98Asiya Javayant
1023Cody A SaylorsAustralia2026-09-23King, Christopher A Esq PROPOSAL99Xuxue Feng
1024Leon W RoysterIndia2026-09-19Feltz Printing Service NEGOTIATION12Elwin Sharvill
1025Izzy F ShinkoCanada2026-09-05Truhlar And Truhlar Attys PROPOSAL91Asiya Javayant
1026Chavez V IturbideArgentina2026-09-12Commercial Press QUALIFIED64Elwin Sharvill
1027Cody Q IturbideCanada2026-09-13Feiner Bros PROPOSAL41Xuxue Feng
1028Maria Y SlusarskiCanada2026-09-22Benton, John B Jr NEW25Bernardo Dominic
1029Maria V DarakjyAustralia2026-09-06Morlong Associates PROPOSAL97Anna Fali
1030Izzy F RimArgentina2026-08-29Commercial Press NEW86Xuxue Feng
1031Maria R VocelkaFrance2026-09-18Dorl, James J Esq RENEWAL50Bernardo Dominic
1032Costa M RutaAustralia2026-09-04Feltz Printing Service RENEWAL39Anna Fali
1033Maria J DoeRussia2026-09-16Printing Dimensions RENEWAL9Ivan Magalhaes
1034Jeanfrancois G PoquetteAustralia2026-09-05Dorl, James J Esq NEGOTIATION61Amy Elsner
1035Stacey K RimSpain2026-08-29Morlong Associates NEGOTIATION55Anna Fali
1036Emily H VenereAustralia2026-09-01Benton, John B Jr NEW27Stephen Shaw
1037Kadeem C VenereFrance2026-09-22Buckley Miller Wright UNQUALIFIED75Xuxue Feng
1038Misaki F BologniaItaly2026-09-13Chapman, Ross E Esq RENEWAL62Ioni Bowcher
1039Jennifer A BowleyUnited Kingdom2026-09-06Chapman, Ross E Esq PROPOSAL47Bernardo Dominic
1040Ricardo Y GarufiBrazil2026-09-21Printing Dimensions NEGOTIATION86Bernardo Dominic
1041Costa Q DarakjyArgentina2026-09-04Dorl, James J Esq RENEWAL1Anna Fali
1042Johnson O VenereFrance2026-09-23Chemel, James L Cpa UNQUALIFIED34Ivan Magalhaes
1043Costa S MaletFrance2026-09-18Commercial Press QUALIFIED32Ivan Magalhaes
1044Arvin D FollerArgentina2026-08-29Chapman, Ross E Esq NEGOTIATION26Stephen Shaw
1045Silvio N PerinCanada2026-08-28Commercial Press RENEWAL86Ioni Bowcher
1046Antonio Z CampainArgentina2026-09-17Dorl, James J Esq UNQUALIFIED97Stephen Shaw
1047Ashley G AmigonRussia2026-09-23Commercial Press QUALIFIED38Stephen Shaw
1048Smith R InouyeCanada2026-09-14Chapman, Ross E Esq NEGOTIATION30Onyama Limba
1049Deepesh R GillianAustralia2026-08-31Dorl, James J Esq QUALIFIED81Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aruna T DilliardCanadaElwin Sharvill RENEWAL
Claire S DarakjyBrazilIoni Bowcher UNQUALIFIED
Wickens T CampainItalyElwin Sharvill NEW
Kaitlin R PaprockiBrazilIvan Magalhaes UNQUALIFIED
Mayumi R FerenczJapanAnna Fali UNQUALIFIED
Jefferson W SlusarskiArgentinaOnyama Limba NEGOTIATION
Juan Y ChuiSpainAmy Elsner RENEWAL
Francesco O OstroskyIndiaOnyama Limba RENEWAL
Costa J CaudyItalyElwin Sharvill RENEWAL
Antonio B PaprockiAustraliaAsiya Javayant NEGOTIATION
Cody D AmigonArgentinaIoni Bowcher QUALIFIED
Faith L RimRussiaBernardo Dominic PROPOSAL
Johnson C StensethFranceElwin Sharvill NEGOTIATION
Alejandro K ButtGermanyStephen Shaw NEW
Mayumi W GillianItalyElwin Sharvill NEW
Darci R KuskoItalyElwin Sharvill QUALIFIED
Greenwood L MaletJapanOnyama Limba NEW
Aika I RutaAustraliaBernardo Dominic NEW
Costa H PaprockiArgentinaAsiya Javayant QUALIFIED
Jennifer B FollerSpainOnyama Limba UNQUALIFIED
Johnson V AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Juan C OldroydBrazilStephen Shaw NEW
Mayumi R OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Ricardo X TollnerJapanOnyama Limba NEGOTIATION
David E FerenczItalyStephen Shaw PROPOSAL
Silvio E GillianFranceElwin Sharvill QUALIFIED
Claire L AlbaresJapanAnna Fali PROPOSAL
Maria C ButtBrazilAmy Elsner UNQUALIFIED
Izzy J MaletBrazilIvan Magalhaes NEW
Costa G WhobreyAustraliaXuxue Feng PROPOSAL
Julie D FigeroaSpainXuxue Feng NEGOTIATION
Salvatore P KolmetzBrazilAnna Fali UNQUALIFIED
Octavia Q SergiRussiaOnyama Limba NEGOTIATION
Leja Z CampainJapanIoni Bowcher UNQUALIFIED
Cody R OldroydIndiaIvan Magalhaes RENEWAL
Jones G PoquetteAustraliaXuxue Feng PROPOSAL
Mayumi A VocelkaArgentinaAmy Elsner NEW
Arvin J BologniaFranceAnna Fali NEW
Leon P SlusarskiCanadaXuxue Feng RENEWAL
David Q RutaFranceStephen Shaw PROPOSAL
Jennifer Q PerinGermanyAmy Elsner QUALIFIED
Ricardo H InouyeUnited KingdomStephen Shaw NEGOTIATION
Maisha D MarrierBrazilOnyama Limba QUALIFIED
Octavia D DilliardUnited KingdomAmy Elsner RENEWAL
Deepesh D CampainCanadaIvan Magalhaes UNQUALIFIED
Aika X CampainFranceXuxue Feng NEW
Salvatore Z CampainAustraliaElwin Sharvill QUALIFIED
Maisha Y AmigonCanadaIoni Bowcher RENEWAL
Jefferson B TollnerItalyAsiya Javayant UNQUALIFIED
Kadeem U CaldareraCanadaBernardo Dominic QUALIFIED
Frozen Columns
Name
Clifford S Kolmetz
Aditya O Sergi
Isabel C Maclead
Juan S Ruta
Isabel G Ferencz
Arvin N Waycott
Maria N Stockham
Maisha H Campain
Costa H Wieser
Sinclair U Saylors
Silvio V Gaucho
Arvin M Briddick
Juan Q Doe
Johnson I Venere
Sinclair Q Bolognia
Francesco E Chui
Cody B Bowley
Silvio C Kusko
Stacey B Nicka
Claire Z Iturbide
Francesco Q Stockham
Wickens U Schemmer
Clifford F Sergi
Maria N Royster
Izzy B Kolmetz
Stacey O Perin
Octavia O Maclead
Jones G Chui
James S Sergi
Mayumi S Wieser
Darci U Doe
Darci I Ferencz
Aruna T Paprocki
Nicolas C Iturbide
Jeanfrancois G Butt
Octavia E Stockham
James W Oldroyd
Cody K Caudy
Jeanfrancois U Vocelka
Maisha R Saylors
Jefferson C Iturbide
Ashley B Waycott
Mayumi R Nicka
Leon A Gaucho
Adams Y Oldroyd
Aruna E Bowley
Francesco O Rulapaugh
Juan R Schemmer
Julie E Schemmer
Mujtaba V Whobrey
IdCountryDate
1000Japan2026-08-31
1001France2026-09-15
1002Brazil2026-09-20
1003United Kingdom2026-09-24
1004India2026-09-12
1005Russia2026-09-13
1006India2026-09-22
1007Spain2026-09-05
1008Italy2026-09-25
1009Italy2026-09-21
1010France2026-09-25
1011Canada2026-09-21
1012Australia2026-09-05
1013Italy2026-09-19
1014Italy2026-09-24
1015Spain2026-09-15
1016Australia2026-09-01
1017Brazil2026-09-14
1018Germany2026-09-17
1019Germany2026-09-17
1020Argentina2026-09-23
1021United Kingdom2026-08-28
1022Italy2026-09-10
1023Russia2026-09-22
1024United Kingdom2026-09-20
1025Japan2026-09-26
1026United Kingdom2026-09-18
1027India2026-09-14
1028Germany2026-08-29
1029United Kingdom2026-09-25
1030Canada2026-09-14
1031Italy2026-09-04
1032Australia2026-08-30
1033Canada2026-09-14
1034Canada2026-08-28
1035Argentina2026-09-05
1036Argentina2026-09-25
1037Canada2026-08-30
1038Russia2026-09-22
1039Germany2026-09-15
1040Argentina2026-09-20
1041Italy2026-09-06
1042Russia2026-09-01
1043France2026-09-17
1044Australia2026-08-29
1045Spain2026-09-20
1046Germany2026-09-23
1047Italy2026-09-18
1048Russia2026-09-08
1049India2026-09-09

On-Demand Data

NameIdCountryDate
Emily R Ferencz1000Spain2026-09-15
Sinclair M Campain1001Argentina2026-08-28
Antonio T Ostrosky1002India2026-09-10
Aika H Albares1003Spain2026-08-31
Adams Y Venere1004Brazil2026-09-13
Maria S Shinko1005United Kingdom2026-09-04
Maria J Ferencz1006Argentina2026-09-13
Izzy B Dilliard1007Japan2026-09-04
Juan W Gaucho1008Russia2026-09-03
Arvin A Darakjy1009Russia2026-09-25
Arvin C Doe1010United Kingdom2026-09-08
Aditya I Rulapaugh1011Brazil2026-09-02
Octavia H Foller1012Italy2026-09-14
Leja Q Dilliard1013United Kingdom2026-09-09
Deepesh G Paprocki1014Canada2026-09-03
Emily B Wieser1015France2026-09-06
Greenwood T Albares1016France2026-09-07
Izzy L Garufi1017United Kingdom2026-09-13
David V Morasca1018Australia2026-09-11
Deepesh V Stockham1019Brazil2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy M NickaRussiaBernardo Dominic UNQUALIFIED
Leon Q SchemmerAustraliaAnna Fali QUALIFIED
Isabel Y DoeFranceXuxue Feng NEW
Izzy R RoysterArgentinaStephen Shaw QUALIFIED
David O ShinkoItalyIoni Bowcher RENEWAL
Greenwood U GauchoItalyAnna Fali NEW
Munro S RulapaughGermanyIoni Bowcher PROPOSAL
Aika Q FlosiIndiaIvan Magalhaes QUALIFIED
Aditya N SaylorsFranceIvan Magalhaes NEW
Maisha N DoeIndiaAnna Fali NEGOTIATION
Ivar W WaycottAustraliaAsiya Javayant RENEWAL
Ivar R OldroydArgentinaIvan Magalhaes PROPOSAL
Faith J WieserCanadaElwin Sharvill RENEWAL
Deepesh B AmigonAustraliaAsiya Javayant QUALIFIED
Mayumi E NestleArgentinaOnyama Limba NEW
Claire H FigeroaIndiaXuxue Feng PROPOSAL
Aruna X DarakjyCanadaAmy Elsner NEGOTIATION
Salvatore C BriddickFranceAnna Fali NEGOTIATION
Wickens A FlosiRussiaXuxue Feng NEGOTIATION
Silvio Y GarufiJapanBernardo Dominic PROPOSAL
Ricardo L NickaGermanyAmy Elsner NEGOTIATION
Adams Z PoquetteBrazilXuxue Feng UNQUALIFIED
Izzy T CaldareraItalyBernardo Dominic NEW
Leja Y KuskoRussiaIvan Magalhaes NEW
Leon C WhobreyCanadaAsiya Javayant QUALIFIED
Jefferson H SchemmerAustraliaBernardo Dominic NEGOTIATION
Greenwood K DarakjyBrazilIvan Magalhaes UNQUALIFIED
Sinclair G WhobreyRussiaStephen Shaw UNQUALIFIED
Mujtaba G StensethUnited KingdomIvan Magalhaes RENEWAL
Antonio I MarrierIndiaOnyama Limba QUALIFIED
Emily G InouyeGermanyAmy Elsner QUALIFIED
Smith T KolmetzUnited KingdomAnna Fali QUALIFIED
Wickens J SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Isabel R WieserItalyIvan Magalhaes RENEWAL
Morrow W FigeroaGermanyAsiya Javayant PROPOSAL
James G SchemmerCanadaIoni Bowcher RENEWAL
Costa E CampainJapanBernardo Dominic RENEWAL
Isabel T BriddickSpainIoni Bowcher PROPOSAL
Murillo O KolmetzAustraliaAsiya Javayant QUALIFIED
Jennifer H FerenczBrazilAsiya Javayant NEW

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