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
Izzy X RutaSpainIoni Bowcher UNQUALIFIED
Johnson L MorascaGermanyAsiya Javayant NEGOTIATION
Alejandro H RimRussiaIoni Bowcher NEGOTIATION
Leon H TollnerArgentinaStephen Shaw UNQUALIFIED
David L KuskoJapanOnyama Limba UNQUALIFIED
Claire A WhobreyJapanBernardo Dominic UNQUALIFIED
Mujtaba F NestleAustraliaIoni Bowcher PROPOSAL
Izzy W TollnerArgentinaBernardo Dominic NEGOTIATION
Sinclair D VenereRussiaIoni Bowcher QUALIFIED
Kadeem D SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Aika G GillianItalyIoni Bowcher RENEWAL
Chavez V WhobreyRussiaIvan Magalhaes UNQUALIFIED
Tony Y DarakjyRussiaBernardo Dominic PROPOSAL
Isabel J CampainCanadaXuxue Feng NEGOTIATION
Kadeem M DoeCanadaBernardo Dominic RENEWAL
Tony D NickaUnited KingdomAsiya Javayant RENEWAL
Faith D OldroydGermanyIoni Bowcher UNQUALIFIED
Smith R RulapaughItalyIvan Magalhaes RENEWAL
Francesco L PoquetteGermanyElwin Sharvill UNQUALIFIED
Rodrigues R OstroskyItalyStephen Shaw NEW
Nicolas F PerinArgentinaIoni Bowcher QUALIFIED
Leja Y FerenczIndiaAsiya Javayant RENEWAL
Tony B SergiFranceStephen Shaw UNQUALIFIED
Cody Q VocelkaSpainAnna Fali NEGOTIATION
Wickens F FigeroaBrazilXuxue Feng QUALIFIED
Claire B NestleRussiaIoni Bowcher RENEWAL
Jennifer R MaletGermanyAmy Elsner UNQUALIFIED
Wickens L FigeroaGermanyAnna Fali PROPOSAL
Jeanfrancois F CaldareraItalyOnyama Limba NEW
Deepesh Q BriddickArgentinaElwin Sharvill RENEWAL
David E FollerFranceBernardo Dominic NEW
Emily C OldroydRussiaIoni Bowcher UNQUALIFIED
Clifford D CaudyItalyXuxue Feng UNQUALIFIED
Rodrigues Q CampainBrazilIoni Bowcher NEW
Cody A DoeAustraliaOnyama Limba NEGOTIATION
Mayumi W WhobreyJapanAsiya Javayant UNQUALIFIED
Leon X CampainGermanyAsiya Javayant NEW
Alejandro E WieserArgentinaStephen Shaw QUALIFIED
Silvio S GlickJapanAsiya Javayant NEGOTIATION
Maria E VocelkaRussiaAmy Elsner RENEWAL
Chavez D VenereUnited KingdomAnna Fali UNQUALIFIED
Darci Z OstroskySpainIoni Bowcher UNQUALIFIED
Clifford D ChuiRussiaAsiya Javayant RENEWAL
Isabel U MarrierCanadaStephen Shaw UNQUALIFIED
Jennifer G MarrierItalyAsiya Javayant NEGOTIATION
Cody L SlusarskiUnited KingdomAsiya Javayant NEW
Mujtaba U SlusarskiRussiaStephen Shaw NEGOTIATION
Salvatore R NickaSpainBernardo Dominic UNQUALIFIED
Murillo G ChuiGermanyAnna Fali RENEWAL
Claire J ChuiItalyStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Izzy D OstroskyBrazilElwin Sharvill PROPOSAL
Chavez O WhobreyJapanOnyama Limba QUALIFIED
Ivar O IturbideRussiaAmy Elsner NEW
Misaki L KuskoJapanAnna Fali NEW
Kaitlin S RimArgentinaBernardo Dominic NEW
Wickens M ButtSpainStephen Shaw RENEWAL
Kadeem P GarufiUnited KingdomXuxue Feng UNQUALIFIED
Mayumi D PaprockiBrazilBernardo Dominic RENEWAL
Sinclair L FollerAustraliaAmy Elsner RENEWAL
Munro I OstroskyArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones D RimCanada2026-11-04Buckley Miller Wright RENEWAL21Xuxue Feng
1001Jefferson V CampainJapan2026-11-01Chapman, Ross E Esq UNQUALIFIED82Xuxue Feng
1002Jefferson V KuskoAustralia2026-10-25Feltz Printing Service RENEWAL32Elwin Sharvill
1003Maria T VocelkaRussia2026-10-24Chemel, James L Cpa NEW24Bernardo Dominic
1004Clifford L ShinkoIndia2026-11-11Feiner Bros NEW19Asiya Javayant
1005Costa N RoysterArgentina2026-11-08Printing Dimensions PROPOSAL20Amy Elsner
1006Costa L WieserJapan2026-10-25Dorl, James J Esq PROPOSAL7Elwin Sharvill
1007Murillo F BowleyCanada2026-11-08Buckley Miller Wright NEGOTIATION85Asiya Javayant
1008Tony B WieserSpain2026-10-22Chapman, Ross E Esq QUALIFIED12Ioni Bowcher
1009Deepesh G ShinkoItaly2026-11-06Rangoni Of Florence NEGOTIATION77Anna Fali
1010Octavia L PaprockiAustralia2026-11-02Chapman, Ross E Esq NEGOTIATION32Amy Elsner
1011Chavez N CaudyAustralia2026-11-10Rousseaux, Michael Esq PROPOSAL62Anna Fali
1012Tony Z MarrierBrazil2026-11-12Commercial Press NEW34Asiya Javayant
1013Faith J MarrierBrazil2026-11-13Truhlar And Truhlar Attys QUALIFIED79Ioni Bowcher
1014Antonio X StockhamUnited Kingdom2026-11-13Rousseaux, Michael Esq NEGOTIATION21Amy Elsner
1015Aika U PaprockiIndia2026-10-18Morlong Associates PROPOSAL69Xuxue Feng
1016Munro D WaycottBrazil2026-10-17Chanay, Jeffrey A Esq NEGOTIATION66Bernardo Dominic
1017Jennifer E WieserSpain2026-11-07Dorl, James J Esq QUALIFIED34Amy Elsner
1018Sinclair F GarufiIndia2026-11-07Chemel, James L Cpa QUALIFIED81Onyama Limba
1019Clifford Z WhobreyGermany2026-10-21Rangoni Of Florence NEGOTIATION48Elwin Sharvill
1020Aditya N SchemmerIndia2026-11-10Buckley Miller Wright NEW8Bernardo Dominic
1021Ricardo W GarufiGermany2026-11-14Chanay, Jeffrey A Esq NEGOTIATION51Onyama Limba
1022Alejandro M FollerAustralia2026-10-16Dorl, James J Esq NEW75Asiya Javayant
1023Jennifer Y SchemmerSpain2026-10-27Dorl, James J Esq RENEWAL3Amy Elsner
1024Aruna K FlosiItaly2026-10-19Benton, John B Jr QUALIFIED69Stephen Shaw
1025Adams Q KolmetzAustralia2026-11-08Chanay, Jeffrey A Esq PROPOSAL90Anna Fali
1026Isabel M CampainItaly2026-10-17Rangoni Of Florence NEW94Amy Elsner
1027James Y AmigonUnited Kingdom2026-11-12Chapman, Ross E Esq QUALIFIED82Amy Elsner
1028Ashley C GlickBrazil2026-11-14Buckley Miller Wright RENEWAL50Bernardo Dominic
1029Juan R CaudyBrazil2026-10-16Feiner Bros UNQUALIFIED63Ioni Bowcher
1030Murillo M StensethJapan2026-11-10Commercial Press NEW76Xuxue Feng
1031Sinclair S CampainFrance2026-11-04Printing Dimensions PROPOSAL7Xuxue Feng
1032Arvin G StockhamArgentina2026-11-09Rousseaux, Michael Esq RENEWAL94Onyama Limba
1033Munro S FerenczItaly2026-11-14King, Christopher A Esq NEGOTIATION99Anna Fali
1034Morrow M SaylorsGermany2026-10-17Chapman, Ross E Esq NEGOTIATION23Asiya Javayant
1035Mayumi O KolmetzFrance2026-10-23Printing Dimensions PROPOSAL59Amy Elsner
1036David D GauchoIndia2026-11-14Commercial Press UNQUALIFIED82Onyama Limba
1037Nicolas V NickaGermany2026-11-05Rangoni Of Florence PROPOSAL1Amy Elsner
1038Julie A BowleyUnited Kingdom2026-11-07Feiner Bros NEW16Amy Elsner
1039Ashley Q FigeroaBrazil2026-10-26Morlong Associates UNQUALIFIED21Ioni Bowcher
1040Ashley F IturbideSpain2026-11-08Commercial Press UNQUALIFIED8Bernardo Dominic
1041Costa L DoeIndia2026-11-07Chanay, Jeffrey A Esq QUALIFIED38Amy Elsner
1042Emily Q VocelkaJapan2026-10-25Chemel, James L Cpa NEGOTIATION92Amy Elsner
1043Arvin L PaprockiIndia2026-10-17Feltz Printing Service QUALIFIED86Ivan Magalhaes
1044Claire F VocelkaUnited Kingdom2026-11-11Feltz Printing Service QUALIFIED4Ivan Magalhaes
1045Cody N OstroskyGermany2026-11-08Commercial Press NEGOTIATION6Stephen Shaw
1046Smith D MaletBrazil2026-11-04Truhlar And Truhlar Attys NEGOTIATION67Ivan Magalhaes
1047David P ButtSpain2026-10-17Dorl, James J Esq NEGOTIATION60Elwin Sharvill
1048Mayumi M FigeroaBrazil2026-10-29Chanay, Jeffrey A Esq QUALIFIED36Amy Elsner
1049Costa P NickaJapan2026-10-18King, Christopher A Esq RENEWAL46Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aika O InouyeIndiaBernardo Dominic PROPOSAL
Munro E MacleadFranceIvan Magalhaes NEGOTIATION
Wickens L VenereIndiaAmy Elsner NEGOTIATION
Maria H NickaSpainAnna Fali NEW
Silvio K RimSpainIvan Magalhaes NEGOTIATION
Cody M SergiGermanyElwin Sharvill NEGOTIATION
Sinclair E DilliardRussiaStephen Shaw UNQUALIFIED
Kaitlin U BriddickBrazilBernardo Dominic PROPOSAL
Aruna H NestleJapanAnna Fali UNQUALIFIED
Clifford I CaudyUnited KingdomAmy Elsner RENEWAL
Mayumi Z DarakjySpainAmy Elsner NEGOTIATION
Chavez K BriddickGermanyAsiya Javayant NEW
Stacey Y BologniaUnited KingdomAsiya Javayant QUALIFIED
Antonio N FlosiIndiaXuxue Feng QUALIFIED
Aditya Z KuskoUnited KingdomAmy Elsner NEGOTIATION
Nicolas H SaylorsRussiaOnyama Limba NEGOTIATION
Rodrigues R GarufiCanadaXuxue Feng UNQUALIFIED
Antonio D MacleadItalyOnyama Limba RENEWAL
Ashley W WhobreyIndiaOnyama Limba PROPOSAL
Cody U MaletFranceBernardo Dominic NEGOTIATION
Chavez M WaycottIndiaAmy Elsner UNQUALIFIED
Clifford Q AmigonRussiaXuxue Feng NEW
Emily B FollerAustraliaStephen Shaw NEW
Costa V ShinkoAustraliaStephen Shaw NEGOTIATION
Tony O PerinIndiaBernardo Dominic PROPOSAL
Silvio M TollnerRussiaStephen Shaw NEW
Nicolas U KolmetzFranceAnna Fali RENEWAL
Cody N CampainAustraliaElwin Sharvill NEGOTIATION
James N MorascaIndiaIvan Magalhaes RENEWAL
Ricardo Q BriddickCanadaElwin Sharvill QUALIFIED
Kaitlin I MaletGermanyStephen Shaw UNQUALIFIED
James Y RulapaughBrazilStephen Shaw NEW
Mayumi L RoysterArgentinaBernardo Dominic UNQUALIFIED
Maria R ShinkoCanadaIvan Magalhaes NEW
Nicolas O MaletGermanyIoni Bowcher PROPOSAL
Faith X SchemmerJapanAmy Elsner UNQUALIFIED
Tony P FlosiFranceXuxue Feng NEGOTIATION
Mujtaba W IturbideAustraliaIvan Magalhaes NEW
Greenwood K SaylorsIndiaIvan Magalhaes NEGOTIATION
Clifford Z IturbideArgentinaIoni Bowcher UNQUALIFIED
Octavia P PaprockiSpainAmy Elsner NEGOTIATION
Mujtaba M AlbaresIndiaAmy Elsner NEGOTIATION
Ricardo N TollnerItalyElwin Sharvill PROPOSAL
Rodrigues M FerenczSpainOnyama Limba RENEWAL
Ivar R ShinkoBrazilStephen Shaw UNQUALIFIED
Deepesh E WhobreyCanadaElwin Sharvill RENEWAL
Faith V InouyeItalyXuxue Feng NEW
Clifford K ChuiUnited KingdomAmy Elsner RENEWAL
Greenwood K BowleyArgentinaXuxue Feng PROPOSAL
Stacey Z CaldareraAustraliaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Octavia E Saylors
Ashley G Vocelka
Mujtaba Z Slusarski
Deepesh I Glick
Adams S Shinko
Stacey H Darakjy
Murillo F Inouye
Morrow W Slusarski
Ivar S Malet
Arvin D Ruta
Claire E Oldroyd
Sinclair O Morasca
Maisha U Glick
Wickens G Iturbide
Munro I Briddick
Antonio R Tollner
Darci O Shinko
David B Whobrey
Leja B Bolognia
Kaitlin D Glick
Chavez Z Figeroa
Mayumi N Campain
Nicolas K Nestle
Maria F Malet
Smith B Gaucho
Octavia H Oldroyd
David C Figeroa
Emily L Saylors
Ivar J Bolognia
Aruna B Foller
Clifford W Royster
David F Schemmer
Aruna X Briddick
Aruna F Malet
Leon T Venere
Jeanfrancois D Oldroyd
Jefferson A Butt
David H Caudy
Jeanfrancois O Doe
Leja A Caldarera
Jennifer Q Morasca
Sinclair V Sergi
Wickens X Shinko
Rodrigues M Oldroyd
Francesco O Poquette
Greenwood B Gaucho
Francesco T Wieser
Isabel T Glick
Alejandro B Shinko
Kadeem X Vocelka
IdCountryDate
1000Japan2026-11-09
1001France2026-11-07
1002Australia2026-10-28
1003Australia2026-11-04
1004India2026-10-23
1005Japan2026-10-16
1006Canada2026-10-29
1007Japan2026-10-30
1008Spain2026-11-07
1009Italy2026-10-23
1010India2026-11-13
1011Russia2026-10-27
1012Germany2026-10-19
1013Brazil2026-11-01
1014Spain2026-11-05
1015Australia2026-10-26
1016Brazil2026-11-06
1017Germany2026-10-25
1018Italy2026-10-16
1019Italy2026-11-11
1020Germany2026-10-27
1021Brazil2026-10-30
1022Italy2026-10-17
1023France2026-11-06
1024Spain2026-10-28
1025Japan2026-11-14
1026Spain2026-11-12
1027Brazil2026-10-19
1028Italy2026-11-12
1029Italy2026-11-06
1030Italy2026-10-21
1031France2026-11-12
1032Brazil2026-11-08
1033Argentina2026-11-04
1034Japan2026-10-29
1035Argentina2026-11-13
1036Russia2026-10-22
1037Spain2026-10-25
1038Italy2026-10-20
1039Australia2026-10-26
1040Italy2026-10-26
1041Canada2026-10-21
1042Argentina2026-11-12
1043Brazil2026-10-23
1044Japan2026-10-31
1045Australia2026-10-30
1046Russia2026-10-28
1047Australia2026-10-18
1048France2026-10-22
1049Germany2026-10-24

On-Demand Data

NameIdCountryDate
Sinclair R Ostrosky1000Italy2026-10-27
Munro I Chui1001Australia2026-10-24
Mujtaba N Amigon1002United Kingdom2026-11-09
Maria R Malet1003Australia2026-10-27
Antonio O Morasca1004Italy2026-10-27
Isabel S Vocelka1005Italy2026-11-07
Leon X Whobrey1006India2026-11-03
Leon Z Sergi1007Germany2026-10-16
Smith B Caldarera1008Germany2026-11-11
Jeanfrancois U Bowley1009Brazil2026-10-19
Wickens K Malet1010Germany2026-10-18
Misaki W Caudy1011Japan2026-11-03
Leja G Butt1012Italy2026-10-28
Deepesh D Poquette1013Brazil2026-11-08
Ivar X Gaucho1014Spain2026-11-06
Mujtaba N Nicka1015Australia2026-11-03
Ricardo V Ferencz1016Japan2026-11-13
Aruna R Nestle1017Japan2026-11-04
Aditya Q Caudy1018Brazil2026-11-11
Wickens H Darakjy1019Russia2026-11-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore P MaletFranceXuxue Feng PROPOSAL
Clifford G NestleUnited KingdomStephen Shaw RENEWAL
Kaitlin D MaletBrazilIvan Magalhaes RENEWAL
Izzy D StockhamFranceStephen Shaw NEW
Greenwood V RulapaughSpainIvan Magalhaes QUALIFIED
Mujtaba G GarufiItalyElwin Sharvill RENEWAL
Leja K GarufiGermanyIvan Magalhaes QUALIFIED
Izzy P AlbaresJapanIoni Bowcher QUALIFIED
Julie C AlbaresRussiaXuxue Feng RENEWAL
Juan X RutaFranceElwin Sharvill PROPOSAL
Jones T RimUnited KingdomStephen Shaw PROPOSAL
Francesco Q WieserIndiaAsiya Javayant UNQUALIFIED
Morrow F StensethUnited KingdomAsiya Javayant UNQUALIFIED
Claire P NickaFranceAmy Elsner UNQUALIFIED
Stacey P PoquetteCanadaAsiya Javayant QUALIFIED
Isabel H ShinkoRussiaIoni Bowcher NEW
Nicolas B GarufiJapanBernardo Dominic RENEWAL
Cody W NickaArgentinaStephen Shaw QUALIFIED
Stacey Q TollnerCanadaIoni Bowcher RENEWAL
Leon O CampainFranceOnyama Limba NEW
Izzy O DoeFranceStephen Shaw NEW
Claire Z StockhamAustraliaAsiya Javayant RENEWAL
Morrow R RulapaughBrazilBernardo Dominic QUALIFIED
Aruna S PerinItalyAmy Elsner NEGOTIATION
Ashley V OldroydRussiaAmy Elsner QUALIFIED
Claire A PoquetteAustraliaBernardo Dominic NEW
Mujtaba P StockhamAustraliaElwin Sharvill RENEWAL
Leon R ChuiBrazilBernardo Dominic RENEWAL
Francesco B BriddickCanadaXuxue Feng PROPOSAL
Faith R SchemmerBrazilIvan Magalhaes UNQUALIFIED
Emily S DoeUnited KingdomAnna Fali PROPOSAL
Kadeem U DoeIndiaOnyama Limba NEGOTIATION
Johnson S StockhamSpainAsiya Javayant UNQUALIFIED
Ashley V CaldareraRussiaElwin Sharvill PROPOSAL
James U ChuiGermanyBernardo Dominic PROPOSAL
Jefferson I GillianAustraliaBernardo Dominic NEW
Francesco S BriddickRussiaAsiya Javayant NEGOTIATION
Leja X NickaCanadaOnyama Limba QUALIFIED
Antonio W MorascaItalyAmy Elsner NEGOTIATION
Costa O KolmetzItalyAmy Elsner RENEWAL

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