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
Maisha A WieserRussiaXuxue Feng UNQUALIFIED
Jefferson V DarakjyCanadaOnyama Limba UNQUALIFIED
Misaki S RoysterGermanyBernardo Dominic QUALIFIED
Johnson Z StensethArgentinaStephen Shaw PROPOSAL
Mayumi K VocelkaSpainXuxue Feng NEW
Aika C NickaItalyBernardo Dominic UNQUALIFIED
Leja N ShinkoFranceIoni Bowcher QUALIFIED
Rodrigues W GarufiIndiaAmy Elsner RENEWAL
Alejandro U CampainAustraliaAmy Elsner QUALIFIED
Claire I BologniaCanadaIvan Magalhaes UNQUALIFIED
Juan V TollnerUnited KingdomAsiya Javayant QUALIFIED
Octavia K CaldareraUnited KingdomAnna Fali NEGOTIATION
Kaitlin Y PoquetteAustraliaXuxue Feng NEW
Julie D FerenczItalyBernardo Dominic QUALIFIED
Murillo B GauchoSpainAsiya Javayant RENEWAL
Kaitlin F StockhamSpainAsiya Javayant NEW
Murillo Z StockhamRussiaBernardo Dominic PROPOSAL
Murillo M BologniaSpainAsiya Javayant RENEWAL
Misaki F PoquetteRussiaBernardo Dominic NEW
Murillo G CampainIndiaXuxue Feng NEGOTIATION
Kaitlin D MacleadUnited KingdomAmy Elsner RENEWAL
Claire H AmigonCanadaStephen Shaw QUALIFIED
Johnson P DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Stacey U RulapaughJapanAsiya Javayant PROPOSAL
Nicolas M DarakjyRussiaIoni Bowcher NEGOTIATION
Clifford K ButtBrazilElwin Sharvill PROPOSAL
Ricardo S RulapaughUnited KingdomBernardo Dominic RENEWAL
Tony Q InouyeFranceBernardo Dominic PROPOSAL
Aika H CaldareraAustraliaElwin Sharvill PROPOSAL
Sinclair W KolmetzFranceElwin Sharvill RENEWAL
Chavez Z StockhamSpainElwin Sharvill RENEWAL
Clifford U AmigonGermanyOnyama Limba RENEWAL
Darci H GarufiRussiaElwin Sharvill UNQUALIFIED
Ricardo C DilliardJapanBernardo Dominic UNQUALIFIED
Juan A WaycottItalyElwin Sharvill RENEWAL
Francesco C MorascaFranceIoni Bowcher UNQUALIFIED
Francesco T RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Jones R BowleyIndiaAsiya Javayant QUALIFIED
Costa H AlbaresJapanXuxue Feng RENEWAL
Greenwood R CaudyAustraliaIvan Magalhaes NEGOTIATION
Ashley X SlusarskiAustraliaXuxue Feng PROPOSAL
Murillo K PerinGermanyAsiya Javayant UNQUALIFIED
Aika J FollerBrazilIoni Bowcher RENEWAL
Antonio P InouyeSpainElwin Sharvill RENEWAL
Mujtaba A VocelkaItalyBernardo Dominic QUALIFIED
Adams D NickaSpainAnna Fali UNQUALIFIED
Juan U SlusarskiItalyAnna Fali PROPOSAL
Morrow P ShinkoGermanyAsiya Javayant NEGOTIATION
Jefferson Z NickaArgentinaIoni Bowcher RENEWAL
Tony L RulapaughAustraliaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily I GauchoBrazilElwin Sharvill UNQUALIFIED
Emily V GauchoItalyOnyama Limba PROPOSAL
Jennifer I AmigonJapanElwin Sharvill RENEWAL
Jeanfrancois H DarakjyRussiaAmy Elsner NEGOTIATION
Emily Z MaletBrazilBernardo Dominic NEGOTIATION
Octavia O PoquetteCanadaAnna Fali RENEWAL
Ivar N WieserIndiaStephen Shaw QUALIFIED
Mujtaba N MacleadAustraliaAsiya Javayant NEW
Murillo Y GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood R AlbaresGermanyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar D CaldareraArgentina2026-09-19Printing Dimensions RENEWAL48Amy Elsner
1001Johnson L CaudyArgentina2026-09-08Rangoni Of Florence PROPOSAL58Anna Fali
1002Murillo A RulapaughBrazil2026-09-15Printing Dimensions UNQUALIFIED34Anna Fali
1003Tony Z MarrierUnited Kingdom2026-09-15Chanay, Jeffrey A Esq NEW69Ivan Magalhaes
1004Kaitlin Z WieserBrazil2026-09-21Feltz Printing Service NEW38Asiya Javayant
1005Darci Q StensethBrazil2026-09-11Printing Dimensions UNQUALIFIED42Xuxue Feng
1006Ivar R FerenczArgentina2026-09-16Printing Dimensions NEGOTIATION99Onyama Limba
1007Jones V BologniaBrazil2026-10-03Feiner Bros UNQUALIFIED4Ivan Magalhaes
1008Mujtaba R RulapaughCanada2026-09-08Feltz Printing Service NEW38Xuxue Feng
1009Misaki K GarufiFrance2026-09-25Chemel, James L Cpa NEW77Stephen Shaw
1010Claire D PerinItaly2026-09-12King, Christopher A Esq QUALIFIED33Stephen Shaw
1011Cody W WieserSpain2026-09-30Chanay, Jeffrey A Esq NEGOTIATION83Onyama Limba
1012Jones P StockhamCanada2026-09-08Morlong Associates PROPOSAL35Xuxue Feng
1013Leon G FollerFrance2026-09-11Chapman, Ross E Esq NEGOTIATION33Stephen Shaw
1014Murillo W IturbideGermany2026-10-02Feltz Printing Service RENEWAL23Xuxue Feng
1015Adams Q ButtSpain2026-09-18King, Christopher A Esq RENEWAL3Ivan Magalhaes
1016James Y NickaJapan2026-09-09Dorl, James J Esq NEW14Ioni Bowcher
1017Salvatore T RoysterUnited Kingdom2026-09-08Chemel, James L Cpa QUALIFIED14Ivan Magalhaes
1018Costa S GlickIndia2026-09-12Feltz Printing Service UNQUALIFIED35Anna Fali
1019Antonio S DarakjyJapan2026-09-11Printing Dimensions UNQUALIFIED77Stephen Shaw
1020Mayumi M SlusarskiFrance2026-10-06Truhlar And Truhlar Attys QUALIFIED9Asiya Javayant
1021Ivar D SlusarskiSpain2026-09-22Chemel, James L Cpa UNQUALIFIED4Elwin Sharvill
1022Maria T RimRussia2026-09-08Chanay, Jeffrey A Esq PROPOSAL99Ioni Bowcher
1023David S ButtRussia2026-09-27Benton, John B Jr NEW95Xuxue Feng
1024Clifford P SlusarskiAustralia2026-09-21Chapman, Ross E Esq UNQUALIFIED71Asiya Javayant
1025Juan S GlickFrance2026-09-10Truhlar And Truhlar Attys RENEWAL42Xuxue Feng
1026Aditya E PerinSpain2026-10-01Morlong Associates QUALIFIED12Onyama Limba
1027Emily X MaletFrance2026-09-17Morlong Associates NEGOTIATION41Stephen Shaw
1028Stacey L KolmetzIndia2026-09-12Printing Dimensions PROPOSAL88Bernardo Dominic
1029Ivar L ShinkoAustralia2026-10-05Feiner Bros NEGOTIATION47Asiya Javayant
1030Emily S CaudyGermany2026-10-01Chemel, James L Cpa QUALIFIED56Ivan Magalhaes
1031Costa O AmigonFrance2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED3Amy Elsner
1032Misaki Z CaldareraSpain2026-09-22Feltz Printing Service RENEWAL60Ioni Bowcher
1033Silvio D FerenczItaly2026-09-26Printing Dimensions NEW69Amy Elsner
1034Maisha F DoeRussia2026-10-05Dorl, James J Esq UNQUALIFIED82Asiya Javayant
1035Costa O PoquetteFrance2026-09-21Feiner Bros NEW34Onyama Limba
1036Greenwood U VocelkaSpain2026-09-24Chanay, Jeffrey A Esq QUALIFIED13Anna Fali
1037Kaitlin O DoeGermany2026-10-01Truhlar And Truhlar Attys QUALIFIED91Asiya Javayant
1038Adams K StockhamBrazil2026-09-08Dorl, James J Esq RENEWAL26Bernardo Dominic
1039Claire G NestleGermany2026-09-14Feiner Bros QUALIFIED46Xuxue Feng
1040Murillo H DarakjyGermany2026-09-21Feiner Bros RENEWAL35Elwin Sharvill
1041Sinclair L WhobreyUnited Kingdom2026-09-09Feiner Bros PROPOSAL1Xuxue Feng
1042Johnson K StockhamSpain2026-10-03Dorl, James J Esq RENEWAL44Stephen Shaw
1043Leja T GarufiBrazil2026-09-25Chemel, James L Cpa UNQUALIFIED71Onyama Limba
1044Emily G VenereUnited Kingdom2026-09-29Rousseaux, Michael Esq RENEWAL56Ivan Magalhaes
1045Mayumi W RoysterFrance2026-09-22Printing Dimensions UNQUALIFIED85Ivan Magalhaes
1046Alejandro U AlbaresUnited Kingdom2026-09-17Rousseaux, Michael Esq RENEWAL71Asiya Javayant
1047Darci Q FerenczFrance2026-09-15Rangoni Of Florence NEGOTIATION94Asiya Javayant
1048Maisha I NickaCanada2026-09-29Rangoni Of Florence PROPOSAL59Asiya Javayant
1049Ivar Z RoysterIndia2026-09-13Benton, John B Jr QUALIFIED51Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Emily R AlbaresSpainIoni Bowcher NEW
Ashley V PerinRussiaBernardo Dominic NEW
Rodrigues W SlusarskiRussiaXuxue Feng UNQUALIFIED
David A WaycottJapanElwin Sharvill RENEWAL
Nicolas O TollnerGermanyXuxue Feng QUALIFIED
Morrow C DarakjyCanadaAnna Fali PROPOSAL
Aika B RutaRussiaXuxue Feng UNQUALIFIED
Smith Z WieserGermanyAsiya Javayant PROPOSAL
Kadeem K NestleRussiaIvan Magalhaes NEW
Claire X ChuiBrazilIvan Magalhaes QUALIFIED
Aika F IturbideGermanyElwin Sharvill NEGOTIATION
Adams C VocelkaGermanyBernardo Dominic QUALIFIED
Deepesh D InouyeUnited KingdomAmy Elsner UNQUALIFIED
Jones M DoeSpainOnyama Limba UNQUALIFIED
Octavia D AmigonGermanyAnna Fali UNQUALIFIED
Chavez U OstroskyUnited KingdomAnna Fali QUALIFIED
Alejandro K NestleUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois A BriddickGermanyAnna Fali NEW
Jeanfrancois M GauchoArgentinaStephen Shaw QUALIFIED
Isabel L InouyeRussiaAnna Fali NEW
Deepesh D TollnerArgentinaStephen Shaw NEW
Chavez V TollnerGermanyElwin Sharvill NEW
Kaitlin B PaprockiArgentinaBernardo Dominic RENEWAL
Antonio A GlickGermanyIvan Magalhaes NEW
Jennifer M WaycottSpainXuxue Feng NEGOTIATION
Stacey U DarakjySpainAnna Fali UNQUALIFIED
Deepesh P NickaBrazilIoni Bowcher RENEWAL
Darci W AmigonItalyBernardo Dominic NEW
David P InouyeUnited KingdomIoni Bowcher QUALIFIED
Deepesh N RimUnited KingdomIvan Magalhaes NEW
Munro O VenereIndiaOnyama Limba PROPOSAL
Stacey C MarrierFranceXuxue Feng UNQUALIFIED
Leon H VenereCanadaXuxue Feng QUALIFIED
Chavez W SchemmerAustraliaStephen Shaw PROPOSAL
Wickens Q MaletBrazilStephen Shaw NEW
Aditya Z ShinkoUnited KingdomXuxue Feng QUALIFIED
Leja T PaprockiIndiaXuxue Feng NEGOTIATION
Aditya H RulapaughGermanyBernardo Dominic NEGOTIATION
Jefferson R FlosiUnited KingdomBernardo Dominic NEW
Kadeem D WhobreyCanadaStephen Shaw UNQUALIFIED
Emily M GillianIndiaOnyama Limba NEGOTIATION
Isabel J FollerAustraliaAsiya Javayant NEGOTIATION
Tony Y VocelkaArgentinaXuxue Feng NEW
Kadeem Q AmigonBrazilXuxue Feng QUALIFIED
Kaitlin Y WieserUnited KingdomOnyama Limba PROPOSAL
Chavez F RulapaughItalyStephen Shaw NEGOTIATION
Maisha N ButtAustraliaAsiya Javayant QUALIFIED
Chavez C GarufiRussiaIoni Bowcher PROPOSAL
Ivar O GillianIndiaStephen Shaw PROPOSAL
Salvatore N RutaAustraliaElwin Sharvill NEW
Frozen Columns
Name
Maisha C Glick
Octavia I Glick
Clifford Z Whobrey
Kaitlin P Bolognia
Clifford O Waycott
Maria P Marrier
Silvio C Dilliard
James W Albares
Alejandro O Albares
Kaitlin V Whobrey
Wickens U Sergi
Smith Q Figeroa
Stacey E Iturbide
Wickens M Rim
Munro J Malet
Juan W Nicka
Rodrigues O Butt
Munro N Ruta
Kaitlin F Rulapaugh
Silvio S Rim
Alejandro G Nestle
Aruna L Tollner
Jefferson O Darakjy
Ivar S Vocelka
Costa C Garufi
Aika D Tollner
Claire T Oldroyd
Ricardo V Rulapaugh
Morrow H Wieser
Francesco V Kolmetz
Emily F Oldroyd
Misaki B Stockham
Julie Q Oldroyd
Smith U Iturbide
Izzy X Inouye
Adams A Stockham
Faith N Nestle
Kadeem I Wieser
Francesco E Gillian
Isabel B Ferencz
David L Ferencz
Leon R Maclead
Mayumi K Waycott
Deepesh P Malet
Adams X Briddick
Morrow Y Oldroyd
Silvio X Gillian
Jefferson V Ostrosky
Octavia R Figeroa
Aika K Ostrosky
IdCountryDate
1000Italy2026-09-29
1001Italy2026-09-17
1002Australia2026-09-27
1003Italy2026-09-26
1004Australia2026-10-03
1005France2026-09-26
1006India2026-09-21
1007Brazil2026-09-29
1008Australia2026-10-01
1009Italy2026-09-07
1010Canada2026-09-21
1011India2026-09-26
1012Italy2026-09-18
1013Germany2026-09-11
1014Canada2026-09-22
1015India2026-09-14
1016United Kingdom2026-09-20
1017Russia2026-10-01
1018India2026-09-29
1019Argentina2026-10-04
1020France2026-09-12
1021Canada2026-09-24
1022Canada2026-09-08
1023Germany2026-10-03
1024France2026-09-08
1025Italy2026-09-09
1026Germany2026-09-15
1027Spain2026-09-14
1028France2026-09-28
1029France2026-09-15
1030Japan2026-10-05
1031India2026-09-16
1032Germany2026-09-14
1033Italy2026-09-29
1034Germany2026-09-14
1035Japan2026-09-20
1036Spain2026-10-04
1037Canada2026-09-19
1038France2026-09-22
1039Italy2026-10-02
1040France2026-09-17
1041India2026-09-29
1042India2026-09-17
1043Russia2026-09-29
1044Russia2026-09-14
1045Japan2026-09-14
1046India2026-09-17
1047Russia2026-09-27
1048Germany2026-10-06
1049France2026-10-03

On-Demand Data

NameIdCountryDate
Silvio N Ferencz1000Russia2026-09-08
Leon S Royster1001Japan2026-09-20
Kadeem U Garufi1002United Kingdom2026-09-09
Aditya D Nicka1003Australia2026-09-14
Silvio J Bolognia1004Russia2026-09-18
Clifford X Caudy1005Canada2026-09-18
Stacey R Doe1006Spain2026-09-25
Tony K Albares1007Japan2026-10-06
Aruna E Inouye1008Germany2026-09-26
Claire A Perin1009Spain2026-09-21
Aika F Doe1010Russia2026-09-08
Izzy K Wieser1011Italy2026-09-28
Maria D Oldroyd1012Germany2026-09-17
Octavia W Shinko1013India2026-10-02
Maria T Stockham1014Argentina2026-09-10
Claire F Amigon1015Germany2026-09-16
Murillo O Flosi1016India2026-10-03
Ivar L Foller1017Argentina2026-10-05
Aditya U Malet1018Spain2026-09-13
Leon N Iturbide1019Australia2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams Q FlosiSpainAnna Fali NEW
Mayumi S StensethUnited KingdomAmy Elsner QUALIFIED
Emily K IturbideRussiaOnyama Limba PROPOSAL
Ivar I VenereJapanIoni Bowcher RENEWAL
Aika V FerenczCanadaOnyama Limba QUALIFIED
Nicolas G GillianJapanIoni Bowcher QUALIFIED
Antonio H SlusarskiBrazilAsiya Javayant NEW
Alejandro K GauchoUnited KingdomStephen Shaw RENEWAL
Aruna E GlickCanadaOnyama Limba RENEWAL
Emily G AlbaresGermanyStephen Shaw NEGOTIATION
Octavia B WhobreyCanadaIvan Magalhaes RENEWAL
Antonio Z InouyeItalyXuxue Feng NEGOTIATION
Misaki H StockhamBrazilAsiya Javayant PROPOSAL
Aruna H SaylorsItalyAsiya Javayant RENEWAL
Murillo A AmigonFranceIoni Bowcher RENEWAL
Antonio W SlusarskiRussiaStephen Shaw NEW
Munro I MacleadFranceAmy Elsner QUALIFIED
Costa V BologniaJapanIvan Magalhaes UNQUALIFIED
Kaitlin F RimAustraliaOnyama Limba PROPOSAL
Chavez E CaldareraCanadaElwin Sharvill NEW
Arvin T CaldareraRussiaAsiya Javayant QUALIFIED
Deepesh L DarakjyArgentinaAmy Elsner RENEWAL
Kadeem J GillianBrazilAnna Fali UNQUALIFIED
Mayumi E FigeroaCanadaOnyama Limba UNQUALIFIED
Salvatore O StockhamBrazilIoni Bowcher NEW
Johnson L RoysterCanadaIoni Bowcher RENEWAL
Rodrigues S RimAustraliaOnyama Limba NEGOTIATION
David O NickaArgentinaIoni Bowcher NEW
Wickens U MarrierSpainIvan Magalhaes NEW
Mujtaba E AmigonAustraliaAnna Fali UNQUALIFIED
Jones Z OldroydAustraliaAnna Fali RENEWAL
David I VocelkaCanadaOnyama Limba NEW
Aika E StensethBrazilXuxue Feng UNQUALIFIED
James I OstroskyJapanElwin Sharvill PROPOSAL
Mujtaba R RoysterItalyIoni Bowcher PROPOSAL
Mujtaba J WaycottItalyXuxue Feng QUALIFIED
Julie I VenereIndiaAmy Elsner PROPOSAL
Jeanfrancois B FollerIndiaAmy Elsner NEGOTIATION
Deepesh S ChuiAustraliaAmy Elsner UNQUALIFIED
Izzy H CaudyRussiaIvan Magalhaes PROPOSAL

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