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
Darci G GarufiJapanOnyama Limba QUALIFIED
Mujtaba C PoquetteCanadaStephen Shaw QUALIFIED
Isabel M OstroskyBrazilXuxue Feng QUALIFIED
Izzy G VocelkaAustraliaAsiya Javayant QUALIFIED
Johnson F KolmetzBrazilXuxue Feng QUALIFIED
Sinclair W DilliardUnited KingdomAsiya Javayant RENEWAL
Morrow C VocelkaCanadaElwin Sharvill NEGOTIATION
Aruna A RoysterCanadaXuxue Feng QUALIFIED
Silvio V RimArgentinaStephen Shaw PROPOSAL
James A WaycottBrazilAmy Elsner QUALIFIED
Juan L FigeroaIndiaAsiya Javayant NEW
Julie D FlosiUnited KingdomAsiya Javayant NEW
Morrow P VenereFranceXuxue Feng PROPOSAL
Leja R RimAustraliaXuxue Feng UNQUALIFIED
Cody Y FlosiFranceOnyama Limba NEW
Munro E GauchoArgentinaAmy Elsner UNQUALIFIED
Ricardo X PaprockiIndiaElwin Sharvill QUALIFIED
Octavia N IturbideArgentinaIvan Magalhaes RENEWAL
Faith D CampainGermanyStephen Shaw NEGOTIATION
Adams V StockhamFranceIoni Bowcher UNQUALIFIED
Emily A MarrierIndiaIoni Bowcher RENEWAL
Rodrigues L GarufiUnited KingdomElwin Sharvill UNQUALIFIED
Johnson D RoysterArgentinaOnyama Limba PROPOSAL
Jefferson V FigeroaGermanyElwin Sharvill QUALIFIED
Morrow J InouyeGermanyAnna Fali UNQUALIFIED
Kaitlin X PaprockiSpainIvan Magalhaes PROPOSAL
Ivar C InouyeIndiaBernardo Dominic UNQUALIFIED
Clifford R CaldareraCanadaAsiya Javayant UNQUALIFIED
Jennifer M OldroydItalyXuxue Feng NEGOTIATION
James N OldroydJapanAmy Elsner UNQUALIFIED
Isabel I SlusarskiGermanyAmy Elsner UNQUALIFIED
Isabel I RulapaughBrazilAnna Fali PROPOSAL
Ivar L RoysterUnited KingdomAmy Elsner RENEWAL
James G RutaJapanStephen Shaw NEW
James X PerinBrazilIoni Bowcher NEW
Leja D RutaBrazilStephen Shaw NEGOTIATION
Darci N CaudyAustraliaAsiya Javayant NEW
Kadeem Y MorascaCanadaOnyama Limba UNQUALIFIED
Kaitlin D ButtIndiaIoni Bowcher NEW
Jeanfrancois C OldroydArgentinaStephen Shaw NEGOTIATION
Juan P OldroydItalyStephen Shaw QUALIFIED
Aruna A DoeFranceAnna Fali RENEWAL
Johnson L AlbaresJapanStephen Shaw RENEWAL
Leja M ChuiRussiaIvan Magalhaes NEW
Kaitlin N CampainCanadaAmy Elsner PROPOSAL
Aditya V FigeroaAustraliaElwin Sharvill RENEWAL
Ashley T InouyeItalyBernardo Dominic RENEWAL
Stacey Y RutaSpainIvan Magalhaes PROPOSAL
Francesco I StensethBrazilXuxue Feng QUALIFIED
Jeanfrancois X CaudyBrazilAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya Y RoysterItalyAsiya Javayant RENEWAL
Deepesh M GarufiArgentinaStephen Shaw NEGOTIATION
Isabel F BowleyRussiaElwin Sharvill NEGOTIATION
Aditya R NestleBrazilBernardo Dominic QUALIFIED
Jennifer V PerinItalyOnyama Limba PROPOSAL
Aditya Y PerinCanadaAmy Elsner NEW
Rodrigues D MorascaBrazilAmy Elsner PROPOSAL
Jennifer V IturbideRussiaAnna Fali UNQUALIFIED
Ivar G MaletGermanyElwin Sharvill NEW
Morrow N WhobreyCanadaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood K WieserIndia2026-10-23Truhlar And Truhlar Attys PROPOSAL90Asiya Javayant
1001Mujtaba I KolmetzFrance2026-10-11Dorl, James J Esq NEGOTIATION21Onyama Limba
1002Clifford H DarakjyIndia2026-10-14Feiner Bros PROPOSAL12Amy Elsner
1003Ivar M BowleyArgentina2026-10-20Commercial Press QUALIFIED71Ivan Magalhaes
1004Julie P GauchoIndia2026-10-09Chapman, Ross E Esq PROPOSAL9Elwin Sharvill
1005Greenwood T DarakjyGermany2026-11-04Chanay, Jeffrey A Esq QUALIFIED34Anna Fali
1006Munro G ShinkoAustralia2026-10-30Truhlar And Truhlar Attys QUALIFIED68Ivan Magalhaes
1007Claire R PaprockiItaly2026-11-03Feiner Bros QUALIFIED18Amy Elsner
1008Aika V GauchoBrazil2026-10-09Buckley Miller Wright PROPOSAL10Ivan Magalhaes
1009Costa X PerinSpain2026-10-16Benton, John B Jr NEW48Ivan Magalhaes
1010Leja D CampainArgentina2026-10-15Dorl, James J Esq UNQUALIFIED55Asiya Javayant
1011Munro D GauchoGermany2026-10-15Feltz Printing Service RENEWAL17Xuxue Feng
1012Alejandro R SlusarskiItaly2026-10-23Feiner Bros RENEWAL68Amy Elsner
1013Leon I ShinkoCanada2026-10-28Feiner Bros NEGOTIATION96Xuxue Feng
1014Ricardo N MorascaGermany2026-11-03Buckley Miller Wright RENEWAL50Bernardo Dominic
1015Kaitlin K VocelkaUnited Kingdom2026-10-08King, Christopher A Esq QUALIFIED12Stephen Shaw
1016Emily V ChuiGermany2026-10-16Printing Dimensions QUALIFIED30Ioni Bowcher
1017Emily G NestleCanada2026-11-02Feiner Bros NEGOTIATION64Stephen Shaw
1018Ricardo O SaylorsGermany2026-10-22Chapman, Ross E Esq PROPOSAL71Elwin Sharvill
1019Isabel X IturbideAustralia2026-10-25Dorl, James J Esq PROPOSAL97Onyama Limba
1020Leja G GauchoFrance2026-10-28Commercial Press NEW48Amy Elsner
1021Darci Y WhobreyRussia2026-10-31Dorl, James J Esq NEW65Bernardo Dominic
1022Cody U InouyeAustralia2026-10-12Chapman, Ross E Esq NEGOTIATION22Onyama Limba
1023Leon H SchemmerRussia2026-10-14Buckley Miller Wright RENEWAL42Xuxue Feng
1024Jefferson S FollerIndia2026-10-15King, Christopher A Esq NEGOTIATION44Ivan Magalhaes
1025Munro X WaycottAustralia2026-10-23Commercial Press UNQUALIFIED71Amy Elsner
1026Aika P WieserBrazil2026-10-23Morlong Associates NEGOTIATION95Amy Elsner
1027Arvin F SergiArgentina2026-11-04Morlong Associates UNQUALIFIED32Bernardo Dominic
1028Octavia P VenereSpain2026-10-28Rangoni Of Florence NEW93Ioni Bowcher
1029David Z StensethIndia2026-10-11Feiner Bros NEW4Amy Elsner
1030Clifford U MaletBrazil2026-11-04Chanay, Jeffrey A Esq QUALIFIED90Stephen Shaw
1031Alejandro W PoquetteIndia2026-10-15Printing Dimensions PROPOSAL50Asiya Javayant
1032Mujtaba U RimIndia2026-10-26Morlong Associates NEGOTIATION97Asiya Javayant
1033Munro O GlickGermany2026-10-28Chemel, James L Cpa PROPOSAL28Ivan Magalhaes
1034Wickens P DarakjyBrazil2026-10-30Feltz Printing Service UNQUALIFIED49Bernardo Dominic
1035Antonio X SaylorsGermany2026-10-25Commercial Press PROPOSAL24Xuxue Feng
1036David O WieserIndia2026-10-23Printing Dimensions NEGOTIATION25Anna Fali
1037Clifford V AlbaresIndia2026-10-25Rangoni Of Florence PROPOSAL81Stephen Shaw
1038Smith Q GarufiIndia2026-10-27Chemel, James L Cpa NEGOTIATION38Ivan Magalhaes
1039Nicolas T BowleyAustralia2026-10-21Chanay, Jeffrey A Esq UNQUALIFIED44Bernardo Dominic
1040Mayumi P AmigonBrazil2026-10-30Chapman, Ross E Esq RENEWAL53Amy Elsner
1041Rodrigues C BriddickAustralia2026-10-21Feltz Printing Service NEW53Ivan Magalhaes
1042Misaki U StensethJapan2026-10-12Feltz Printing Service RENEWAL35Bernardo Dominic
1043Stacey F NickaArgentina2026-10-07Truhlar And Truhlar Attys RENEWAL14Anna Fali
1044Maisha N SchemmerFrance2026-11-01Benton, John B Jr RENEWAL30Ivan Magalhaes
1045Mayumi G WhobreyBrazil2026-10-31Chanay, Jeffrey A Esq PROPOSAL94Xuxue Feng
1046James G CaudyJapan2026-10-23Chemel, James L Cpa RENEWAL4Xuxue Feng
1047Deepesh O FigeroaRussia2026-10-18Rangoni Of Florence PROPOSAL89Onyama Limba
1048Mayumi Y SchemmerBrazil2026-10-13Chemel, James L Cpa NEW86Onyama Limba
1049James C RutaCanada2026-10-08King, Christopher A Esq PROPOSAL79Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin O GauchoRussiaXuxue Feng RENEWAL
Jefferson J VocelkaFranceStephen Shaw RENEWAL
Murillo F GarufiArgentinaBernardo Dominic NEGOTIATION
Ashley Q StockhamGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois E AmigonAustraliaAsiya Javayant PROPOSAL
Ricardo O FigeroaRussiaOnyama Limba PROPOSAL
Silvio B GarufiCanadaStephen Shaw QUALIFIED
Costa T RimSpainAnna Fali UNQUALIFIED
Claire P OldroydBrazilIoni Bowcher RENEWAL
Jeanfrancois M VenereRussiaOnyama Limba UNQUALIFIED
Jeanfrancois G BowleyBrazilStephen Shaw PROPOSAL
Mujtaba O RoysterFranceElwin Sharvill NEW
Greenwood P BowleySpainIoni Bowcher NEW
Wickens Q WhobreyIndiaStephen Shaw NEGOTIATION
Claire X PaprockiArgentinaBernardo Dominic QUALIFIED
Chavez F RulapaughBrazilAnna Fali QUALIFIED
Morrow H GauchoUnited KingdomOnyama Limba UNQUALIFIED
Aditya V GillianRussiaXuxue Feng UNQUALIFIED
Stacey N SchemmerItalyIoni Bowcher PROPOSAL
Ivar Q SaylorsGermanyIvan Magalhaes NEGOTIATION
Cody V VenereCanadaElwin Sharvill NEW
Greenwood Y AlbaresCanadaAnna Fali PROPOSAL
Nicolas E KuskoBrazilOnyama Limba NEW
Deepesh G IturbideFranceAsiya Javayant RENEWAL
Faith P KolmetzGermanyStephen Shaw NEGOTIATION
Aditya W OstroskyUnited KingdomAnna Fali UNQUALIFIED
Chavez D NickaAustraliaAnna Fali NEW
Leon R FollerIndiaXuxue Feng QUALIFIED
Deepesh M ButtArgentinaAmy Elsner RENEWAL
Izzy K SchemmerCanadaIoni Bowcher QUALIFIED
Costa S VenereFranceAnna Fali UNQUALIFIED
Silvio D GauchoIndiaElwin Sharvill NEW
Aruna V StockhamFranceAnna Fali NEGOTIATION
Claire D CampainSpainBernardo Dominic UNQUALIFIED
Adams L CaudyJapanBernardo Dominic UNQUALIFIED
Silvio U WhobreyIndiaElwin Sharvill NEGOTIATION
Izzy A ButtUnited KingdomIvan Magalhaes RENEWAL
Ivar O DarakjyUnited KingdomOnyama Limba RENEWAL
Darci P RulapaughAustraliaAsiya Javayant NEW
Claire D RimSpainIvan Magalhaes NEGOTIATION
Costa G SlusarskiGermanyElwin Sharvill QUALIFIED
Kadeem H FollerJapanXuxue Feng PROPOSAL
Maria P GillianCanadaIoni Bowcher RENEWAL
Morrow J WhobreyRussiaIvan Magalhaes RENEWAL
Stacey K FigeroaFranceBernardo Dominic PROPOSAL
Wickens W GillianFranceStephen Shaw UNQUALIFIED
Munro T RoysterAustraliaElwin Sharvill UNQUALIFIED
Jones T GlickJapanElwin Sharvill PROPOSAL
Francesco J WhobreyAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois T WaycottUnited KingdomElwin Sharvill RENEWAL
Frozen Columns
Name
Izzy R Ferencz
Maisha P Kolmetz
Ashley L Stockham
Silvio A Flosi
Morrow T Flosi
Ricardo R Marrier
Emily M Gaucho
Kaitlin A Chui
Emily A Tollner
Ricardo D Perin
Salvatore P Malet
Leja D Garufi
Ashley X Stenseth
Aditya M Foller
Darci V Morasca
Leon K Malet
Clifford Z Stenseth
Darci K Flosi
Morrow F Stockham
Jefferson T Poquette
Isabel E Garufi
Salvatore U Vocelka
Octavia C Ostrosky
Aruna J Oldroyd
Sinclair D Chui
Clifford Q Wieser
Tony D Shinko
Jeanfrancois A Royster
Emily A Wieser
Ivar E Nestle
Isabel E Inouye
Arvin W Ferencz
Mayumi R Bowley
Jennifer G Glick
Aruna B Ferencz
Jennifer Y Marrier
Maria X Foller
Jones T Venere
Arvin M Malet
Octavia K Nestle
David U Nestle
Salvatore N Rulapaugh
Wickens F Maclead
Chavez E Kolmetz
Leon U Malet
Mayumi S Butt
Morrow C Dilliard
Chavez X Marrier
Mayumi Z Gillian
Jeanfrancois Z Darakjy
IdCountryDate
1000Argentina2026-11-05
1001Canada2026-10-21
1002Spain2026-10-29
1003United Kingdom2026-11-05
1004Brazil2026-11-02
1005Canada2026-10-07
1006Japan2026-10-26
1007Brazil2026-10-10
1008Argentina2026-10-12
1009Germany2026-10-19
1010Japan2026-10-14
1011France2026-10-07
1012Japan2026-10-11
1013France2026-10-30
1014Italy2026-10-13
1015Spain2026-10-31
1016Japan2026-10-13
1017Brazil2026-10-18
1018India2026-10-23
1019India2026-10-25
1020India2026-11-01
1021Spain2026-10-07
1022Japan2026-10-19
1023Argentina2026-10-10
1024United Kingdom2026-11-05
1025Italy2026-10-19
1026Germany2026-11-05
1027Russia2026-10-23
1028United Kingdom2026-10-12
1029Argentina2026-10-26
1030United Kingdom2026-10-29
1031Germany2026-10-28
1032Italy2026-10-11
1033Brazil2026-10-15
1034Germany2026-11-05
1035Argentina2026-10-31
1036Argentina2026-10-27
1037Argentina2026-10-11
1038United Kingdom2026-10-23
1039Italy2026-10-17
1040Japan2026-10-07
1041Italy2026-10-09
1042France2026-10-09
1043India2026-10-07
1044France2026-10-10
1045Spain2026-11-02
1046Brazil2026-10-18
1047United Kingdom2026-10-28
1048Russia2026-11-05
1049Germany2026-10-16

On-Demand Data

NameIdCountryDate
Izzy C Figeroa1000Japan2026-10-30
Sinclair G Garufi1001Russia2026-10-17
Stacey B Glick1002France2026-11-02
Morrow D Tollner1003Australia2026-10-23
Aika Z Venere1004Spain2026-10-30
Octavia E Caldarera1005Japan2026-10-18
Murillo M Caldarera1006Italy2026-10-11
Salvatore B Doe1007India2026-10-26
Leja K Morasca1008Italy2026-10-24
Isabel X Vocelka1009United Kingdom2026-10-27
Darci I Bowley1010Spain2026-10-29
Leja F Amigon1011Brazil2026-10-11
Munro T Oldroyd1012Russia2026-10-19
Emily B Malet1013United Kingdom2026-10-21
Kaitlin X Dilliard1014Spain2026-10-30
Nicolas M Butt1015Argentina2026-10-24
Alejandro Q Bolognia1016Japan2026-10-27
Jennifer Z Ostrosky1017Italy2026-11-05
Kadeem B Kolmetz1018Japan2026-11-02
Munro V Sergi1019Spain2026-10-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel O RimRussiaOnyama Limba NEW
Greenwood K TollnerGermanyBernardo Dominic NEGOTIATION
Deepesh U RimJapanIvan Magalhaes NEGOTIATION
Jefferson N AmigonCanadaAsiya Javayant UNQUALIFIED
Silvio Y DarakjyCanadaXuxue Feng QUALIFIED
Julie S MarrierItalyAnna Fali NEW
Francesco W SergiRussiaElwin Sharvill QUALIFIED
Julie E GauchoGermanyXuxue Feng NEW
Arvin M ChuiIndiaOnyama Limba NEGOTIATION
Munro R OstroskyRussiaAnna Fali NEGOTIATION
Aditya S DilliardUnited KingdomIoni Bowcher QUALIFIED
Silvio O CaldareraSpainAnna Fali NEGOTIATION
Costa Z DarakjyAustraliaIoni Bowcher NEGOTIATION
Costa B MarrierSpainAmy Elsner PROPOSAL
Ivar F DarakjyBrazilElwin Sharvill UNQUALIFIED
Wickens C FollerJapanBernardo Dominic NEGOTIATION
Jefferson B BriddickGermanyIoni Bowcher QUALIFIED
Chavez B RutaArgentinaAsiya Javayant RENEWAL
Chavez Q NickaUnited KingdomXuxue Feng NEGOTIATION
Darci K GauchoSpainAnna Fali NEW
Ricardo Q CaldareraIndiaIvan Magalhaes NEGOTIATION
Chavez R SlusarskiSpainElwin Sharvill QUALIFIED
Rodrigues H StensethBrazilAsiya Javayant NEW
Munro D WieserUnited KingdomElwin Sharvill RENEWAL
Maisha V InouyeUnited KingdomIoni Bowcher PROPOSAL
Maisha G SlusarskiRussiaXuxue Feng NEGOTIATION
Arvin W MacleadArgentinaBernardo Dominic UNQUALIFIED
Stacey Y SchemmerGermanyOnyama Limba NEGOTIATION
Jeanfrancois G ShinkoItalyAnna Fali NEGOTIATION
Darci K ChuiGermanyAnna Fali NEGOTIATION
Francesco J MarrierArgentinaIoni Bowcher QUALIFIED
Jeanfrancois L VenereGermanyAnna Fali PROPOSAL
Stacey W GarufiIndiaStephen Shaw NEW
Mayumi M NickaBrazilAmy Elsner NEGOTIATION
Leon O FerenczCanadaAmy Elsner NEW
Jefferson Y VenereAustraliaAsiya Javayant NEGOTIATION
Morrow Z VenereBrazilAmy Elsner QUALIFIED
Salvatore M ChuiGermanyIoni Bowcher PROPOSAL
Smith L VocelkaGermanyElwin Sharvill NEW
David H IturbideItalyXuxue Feng QUALIFIED

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