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
Jefferson C ButtGermanyAsiya Javayant NEGOTIATION
Aruna V GlickJapanBernardo Dominic QUALIFIED
Silvio E FollerJapanElwin Sharvill QUALIFIED
Johnson B BriddickGermanyIvan Magalhaes NEGOTIATION
Wickens H BriddickFranceIoni Bowcher PROPOSAL
Kaitlin D KolmetzFranceIoni Bowcher NEGOTIATION
Kadeem M RoysterIndiaAsiya Javayant UNQUALIFIED
Claire L GauchoJapanAsiya Javayant PROPOSAL
Nicolas O NestleCanadaStephen Shaw NEGOTIATION
Jeanfrancois P ButtUnited KingdomElwin Sharvill UNQUALIFIED
Leja R DoeArgentinaAmy Elsner RENEWAL
Kaitlin D OstroskyFranceIoni Bowcher NEW
Ashley P GillianItalyStephen Shaw UNQUALIFIED
Tony H MorascaBrazilIoni Bowcher RENEWAL
Emily U PaprockiCanadaAmy Elsner RENEWAL
Leja R RimJapanStephen Shaw QUALIFIED
Francesco C ChuiIndiaAsiya Javayant NEGOTIATION
Misaki V ChuiCanadaIvan Magalhaes PROPOSAL
Alejandro Z StockhamCanadaOnyama Limba UNQUALIFIED
Darci E BriddickRussiaIoni Bowcher NEW
Octavia X MaletRussiaAnna Fali NEGOTIATION
Greenwood X DarakjyArgentinaIvan Magalhaes NEW
Jennifer O KuskoArgentinaBernardo Dominic QUALIFIED
Jones M RutaIndiaElwin Sharvill UNQUALIFIED
Leja C IturbideGermanyAnna Fali PROPOSAL
Wickens I SergiBrazilStephen Shaw RENEWAL
Ashley E MaletJapanXuxue Feng PROPOSAL
Juan I ButtFranceBernardo Dominic NEW
David I RutaGermanyAnna Fali PROPOSAL
Clifford F FlosiGermanyXuxue Feng QUALIFIED
Sinclair W RulapaughCanadaAmy Elsner QUALIFIED
Julie A FigeroaIndiaXuxue Feng QUALIFIED
Arvin R DoeIndiaIoni Bowcher PROPOSAL
Jefferson Y ButtAustraliaAnna Fali UNQUALIFIED
Nicolas Z GauchoRussiaIoni Bowcher NEW
Antonio M FigeroaGermanyAsiya Javayant QUALIFIED
Salvatore W MacleadBrazilStephen Shaw PROPOSAL
Ivar W IturbideUnited KingdomXuxue Feng NEGOTIATION
Salvatore Z DilliardArgentinaAnna Fali UNQUALIFIED
Morrow A AmigonGermanyIoni Bowcher RENEWAL
Antonio U ChuiSpainIoni Bowcher PROPOSAL
Jones X TollnerJapanElwin Sharvill QUALIFIED
Adams A MacleadUnited KingdomAmy Elsner NEW
Julie A SchemmerAustraliaOnyama Limba RENEWAL
Johnson D GauchoIndiaOnyama Limba NEW
Leja L FlosiAustraliaAsiya Javayant NEGOTIATION
Arvin T KolmetzBrazilBernardo Dominic NEW
Claire F FlosiCanadaOnyama Limba QUALIFIED
Faith U GauchoCanadaAnna Fali UNQUALIFIED
Smith S MaletItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo F AmigonAustraliaXuxue Feng NEGOTIATION
Munro K NickaGermanyBernardo Dominic UNQUALIFIED
Salvatore L VocelkaItalyIvan Magalhaes PROPOSAL
Kadeem Q FlosiItalyXuxue Feng QUALIFIED
Morrow R SaylorsAustraliaXuxue Feng PROPOSAL
Rodrigues V RimItalyIvan Magalhaes NEGOTIATION
Silvio Z KuskoBrazilAsiya Javayant PROPOSAL
Faith R ChuiJapanStephen Shaw NEGOTIATION
Morrow R CaudyBrazilIoni Bowcher QUALIFIED
Salvatore P MarrierGermanyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson B GauchoJapan2026-10-02Morlong Associates NEW64Xuxue Feng
1001Stacey S RoysterBrazil2026-10-20Morlong Associates NEGOTIATION47Ivan Magalhaes
1002Octavia U SaylorsIndia2026-10-19King, Christopher A Esq NEW71Ioni Bowcher
1003Mujtaba L BowleyUnited Kingdom2026-10-09Feiner Bros NEW2Elwin Sharvill
1004Wickens B GillianAustralia2026-10-13Buckley Miller Wright PROPOSAL98Xuxue Feng
1005Ricardo X OstroskyUnited Kingdom2026-10-02Buckley Miller Wright PROPOSAL29Xuxue Feng
1006Faith I VenereUnited Kingdom2026-10-18Benton, John B Jr PROPOSAL33Bernardo Dominic
1007Cody N WieserCanada2026-09-28Morlong Associates PROPOSAL7Asiya Javayant
1008Tony I OstroskyUnited Kingdom2026-10-14Buckley Miller Wright NEW12Ivan Magalhaes
1009Deepesh Z GlickSpain2026-10-01Benton, John B Jr QUALIFIED21Bernardo Dominic
1010Izzy D CaldareraArgentina2026-10-05Chapman, Ross E Esq NEGOTIATION43Stephen Shaw
1011Nicolas T DilliardGermany2026-09-24Truhlar And Truhlar Attys NEW61Elwin Sharvill
1012Kaitlin V VenereRussia2026-10-09Benton, John B Jr NEGOTIATION17Onyama Limba
1013Leja R ButtFrance2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED93Onyama Limba
1014David U OldroydAustralia2026-09-27Commercial Press QUALIFIED22Ivan Magalhaes
1015Aika D OstroskyAustralia2026-10-01Rangoni Of Florence QUALIFIED22Anna Fali
1016Juan T PoquetteRussia2026-10-10Chemel, James L Cpa UNQUALIFIED38Xuxue Feng
1017Julie X VenereAustralia2026-09-29Rousseaux, Michael Esq PROPOSAL78Ivan Magalhaes
1018Munro J DarakjyAustralia2026-10-20Benton, John B Jr PROPOSAL89Stephen Shaw
1019Cody K SaylorsGermany2026-10-20Truhlar And Truhlar Attys NEGOTIATION55Onyama Limba
1020Greenwood T MaletIndia2026-10-02Truhlar And Truhlar Attys UNQUALIFIED67Anna Fali
1021Tony U RulapaughJapan2026-10-09Morlong Associates RENEWAL7Asiya Javayant
1022Ricardo T CampainSpain2026-10-01Rousseaux, Michael Esq QUALIFIED94Bernardo Dominic
1023Johnson X ButtCanada2026-10-15Chapman, Ross E Esq UNQUALIFIED52Bernardo Dominic
1024Maisha A GlickJapan2026-10-11Rousseaux, Michael Esq UNQUALIFIED29Elwin Sharvill
1025Darci X BowleyIndia2026-09-27Chapman, Ross E Esq NEW77Xuxue Feng
1026Leja E StockhamCanada2026-10-05Feltz Printing Service UNQUALIFIED74Onyama Limba
1027Adams G MacleadSpain2026-10-14Rousseaux, Michael Esq NEW56Ivan Magalhaes
1028Aika F WaycottRussia2026-10-04Morlong Associates RENEWAL54Asiya Javayant
1029Greenwood F FigeroaFrance2026-10-03Benton, John B Jr QUALIFIED71Ivan Magalhaes
1030Deepesh A DarakjyRussia2026-10-08Feltz Printing Service QUALIFIED32Anna Fali
1031Leon M SergiJapan2026-09-25Printing Dimensions NEW52Amy Elsner
1032Juan Z KuskoUnited Kingdom2026-10-21Buckley Miller Wright NEGOTIATION58Onyama Limba
1033Jennifer D SaylorsAustralia2026-09-28Buckley Miller Wright RENEWAL49Amy Elsner
1034Smith S TollnerRussia2026-09-24Feltz Printing Service UNQUALIFIED29Asiya Javayant
1035Arvin E MaletJapan2026-09-30Chanay, Jeffrey A Esq QUALIFIED8Bernardo Dominic
1036Adams T MarrierIndia2026-10-15Dorl, James J Esq NEW70Onyama Limba
1037Emily R FigeroaFrance2026-10-03Truhlar And Truhlar Attys PROPOSAL86Elwin Sharvill
1038Johnson F FigeroaJapan2026-10-14Truhlar And Truhlar Attys PROPOSAL38Asiya Javayant
1039Munro C TollnerGermany2026-10-14Feiner Bros RENEWAL57Amy Elsner
1040Johnson Y StensethAustralia2026-10-05Chapman, Ross E Esq QUALIFIED12Anna Fali
1041Cody A ButtRussia2026-10-14Chapman, Ross E Esq QUALIFIED30Amy Elsner
1042Aika O AlbaresGermany2026-10-19Feiner Bros QUALIFIED18Elwin Sharvill
1043Emily V GlickItaly2026-10-03Rousseaux, Michael Esq UNQUALIFIED71Ivan Magalhaes
1044Munro U WaycottFrance2026-09-27Chanay, Jeffrey A Esq QUALIFIED99Bernardo Dominic
1045Jennifer V SergiSpain2026-10-07Truhlar And Truhlar Attys UNQUALIFIED0Onyama Limba
1046Stacey B BowleyArgentina2026-10-02King, Christopher A Esq PROPOSAL88Ivan Magalhaes
1047Antonio A SaylorsCanada2026-10-22Rangoni Of Florence UNQUALIFIED94Onyama Limba
1048Rodrigues F GarufiJapan2026-10-10Rangoni Of Florence QUALIFIED5Xuxue Feng
1049Faith A KolmetzFrance2026-10-17Rousseaux, Michael Esq NEW72Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro T DilliardSpainAmy Elsner NEW
Ricardo S RoysterIndiaElwin Sharvill QUALIFIED
Clifford K MarrierUnited KingdomAmy Elsner PROPOSAL
Antonio T StensethSpainElwin Sharvill NEW
Ivar A PaprockiBrazilOnyama Limba RENEWAL
David A IturbideUnited KingdomAsiya Javayant NEGOTIATION
Sinclair K WhobreyItalyAmy Elsner QUALIFIED
Leja T NestleAustraliaIoni Bowcher NEGOTIATION
Francesco Q KolmetzJapanOnyama Limba NEW
Munro M DilliardFranceAnna Fali UNQUALIFIED
Julie A AlbaresSpainIoni Bowcher NEGOTIATION
Johnson E RimUnited KingdomStephen Shaw QUALIFIED
James A ChuiRussiaIvan Magalhaes NEW
Greenwood J WieserJapanElwin Sharvill NEGOTIATION
Munro B PaprockiCanadaIoni Bowcher QUALIFIED
Johnson I InouyeBrazilElwin Sharvill NEW
Greenwood Y RimAustraliaStephen Shaw QUALIFIED
Cody X SaylorsIndiaOnyama Limba UNQUALIFIED
Francesco O GarufiIndiaAsiya Javayant UNQUALIFIED
Deepesh K AmigonJapanIoni Bowcher NEW
Silvio N RimFranceBernardo Dominic RENEWAL
Munro A RoysterItalyIoni Bowcher NEGOTIATION
Munro S SchemmerItalyIoni Bowcher PROPOSAL
Silvio A FlosiAustraliaStephen Shaw PROPOSAL
Rodrigues R WieserGermanyElwin Sharvill NEW
Juan J CaudyUnited KingdomAmy Elsner NEW
Ricardo R RoysterBrazilElwin Sharvill NEW
Johnson P DarakjyRussiaElwin Sharvill PROPOSAL
David C InouyeAustraliaElwin Sharvill NEGOTIATION
Ricardo X MacleadAustraliaElwin Sharvill QUALIFIED
Maria E RulapaughCanadaAmy Elsner UNQUALIFIED
Francesco P MorascaArgentinaAmy Elsner NEW
Izzy K ButtJapanOnyama Limba QUALIFIED
Darci R AmigonGermanyOnyama Limba NEW
Francesco D ButtFranceIoni Bowcher PROPOSAL
Arvin J PerinJapanIvan Magalhaes PROPOSAL
Deepesh E SlusarskiGermanyIvan Magalhaes NEGOTIATION
Murillo A GauchoIndiaIvan Magalhaes PROPOSAL
Smith X BowleyGermanyXuxue Feng UNQUALIFIED
Aditya Y DilliardArgentinaIvan Magalhaes UNQUALIFIED
Leja T ShinkoItalyBernardo Dominic RENEWAL
Sinclair O NestleSpainAnna Fali PROPOSAL
Octavia G WieserBrazilAsiya Javayant UNQUALIFIED
Isabel J IturbideUnited KingdomElwin Sharvill NEW
Maria P AmigonGermanyBernardo Dominic PROPOSAL
Alejandro H GillianGermanyAsiya Javayant RENEWAL
Cody F IturbideRussiaIvan Magalhaes NEW
Mayumi W StensethUnited KingdomAsiya Javayant RENEWAL
James P TollnerSpainOnyama Limba NEGOTIATION
Maisha M CaudyIndiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Aruna W Malet
Darci B Foller
Murillo L Garufi
Kadeem K Paprocki
Mayumi T Tollner
Jennifer N Dilliard
Antonio B Iturbide
Jones H Gaucho
Maisha Y Bowley
Julie D Inouye
Jennifer P Venere
Emily W Rim
Murillo O Albares
Maria F Poquette
Salvatore X Amigon
Antonio Q Flosi
Kadeem E Chui
Kadeem E Ferencz
Emily R Doe
Greenwood Z Figeroa
Munro M Tollner
Isabel G Whobrey
David O Tollner
Mujtaba R Morasca
Adams K Campain
Ricardo H Nicka
Stacey G Sergi
Smith K Malet
Greenwood U Kolmetz
Salvatore L Sergi
Faith M Marrier
Arvin K Royster
Smith R Venere
Ashley A Sergi
David B Bolognia
Stacey H Flosi
Antonio W Rulapaugh
Tony D Saylors
Greenwood P Garufi
Octavia C Inouye
Tony Q Doe
Cody U Figeroa
Costa I Marrier
Chavez C Malet
Smith G Nestle
Aruna R Vocelka
Munro P Royster
Deepesh E Schemmer
Ricardo Q Saylors
Leja L Kolmetz
IdCountryDate
1000Brazil2026-10-22
1001Japan2026-10-20
1002Argentina2026-09-29
1003Canada2026-10-12
1004India2026-09-29
1005Japan2026-09-30
1006Russia2026-10-02
1007Canada2026-10-04
1008Germany2026-09-30
1009France2026-09-27
1010Brazil2026-10-13
1011United Kingdom2026-10-18
1012India2026-10-06
1013Spain2026-10-12
1014Spain2026-10-23
1015Italy2026-10-02
1016France2026-10-20
1017Canada2026-10-12
1018France2026-09-28
1019India2026-09-27
1020Spain2026-10-05
1021Italy2026-09-24
1022Spain2026-09-28
1023Russia2026-10-08
1024Argentina2026-10-11
1025Italy2026-10-13
1026India2026-10-13
1027Germany2026-10-02
1028Spain2026-09-30
1029Canada2026-10-16
1030Japan2026-10-02
1031Russia2026-09-28
1032United Kingdom2026-10-07
1033France2026-10-02
1034Australia2026-10-18
1035Japan2026-10-18
1036Argentina2026-10-01
1037Spain2026-10-03
1038Canada2026-10-15
1039France2026-10-01
1040Australia2026-10-20
1041Brazil2026-10-16
1042Italy2026-10-21
1043Spain2026-10-11
1044Japan2026-10-04
1045Brazil2026-10-04
1046Australia2026-10-01
1047Australia2026-10-22
1048Argentina2026-10-04
1049Russia2026-10-04

On-Demand Data

NameIdCountryDate
Faith J Sergi1000Argentina2026-10-09
Aruna J Iturbide1001Argentina2026-10-12
Adams F Perin1002Russia2026-10-01
Aditya O Rulapaugh1003Japan2026-10-01
Darci W Venere1004Italy2026-10-01
Francesco Y Bolognia1005Spain2026-10-19
Mayumi Y Caldarera1006Russia2026-10-10
Jeanfrancois Y Rim1007Japan2026-10-12
Wickens T Darakjy1008Brazil2026-09-29
Juan Z Caudy1009Germany2026-09-29
Kaitlin E Kolmetz1010India2026-10-10
Rodrigues U Glick1011Canada2026-10-17
Claire S Briddick1012France2026-09-24
Johnson P Ruta1013Japan2026-10-11
James W Marrier1014Russia2026-10-18
Stacey U Iturbide1015United Kingdom2026-09-26
Octavia W Ostrosky1016India2026-10-07
Ashley R Vocelka1017Australia2026-10-21
Emily E Ferencz1018Italy2026-10-19
Silvio R Poquette1019Brazil2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony O IturbideUnited KingdomIvan Magalhaes QUALIFIED
Johnson J RoysterArgentinaStephen Shaw QUALIFIED
James J BowleyUnited KingdomAnna Fali UNQUALIFIED
Chavez F TollnerUnited KingdomAsiya Javayant NEGOTIATION
Maisha T FollerBrazilStephen Shaw QUALIFIED
Johnson I DarakjyFranceAmy Elsner NEW
Francesco G StensethItalyStephen Shaw QUALIFIED
Izzy D ShinkoJapanXuxue Feng NEW
Clifford V RutaCanadaIvan Magalhaes QUALIFIED
Cody K StockhamAustraliaXuxue Feng NEGOTIATION
Munro M PaprockiJapanIoni Bowcher QUALIFIED
Chavez D VocelkaItalyOnyama Limba NEGOTIATION
Claire R DoeRussiaAnna Fali NEW
Nicolas B InouyeSpainAsiya Javayant NEGOTIATION
Nicolas S IturbideCanadaElwin Sharvill NEGOTIATION
Misaki K BologniaRussiaAnna Fali QUALIFIED
Greenwood Z PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi R VenereBrazilStephen Shaw NEW
Ivar Z NestleRussiaXuxue Feng NEW
Greenwood C SlusarskiSpainXuxue Feng QUALIFIED
Faith G InouyeItalyAnna Fali NEW
Aruna F WhobreyRussiaAsiya Javayant QUALIFIED
Greenwood J RimJapanIoni Bowcher RENEWAL
Alejandro Y DarakjyGermanyAnna Fali PROPOSAL
Wickens G StockhamCanadaAsiya Javayant NEGOTIATION
Costa W FollerRussiaAnna Fali RENEWAL
Ashley T StockhamSpainOnyama Limba QUALIFIED
Aditya U OldroydFranceElwin Sharvill NEGOTIATION
Tony D ShinkoFranceXuxue Feng QUALIFIED
Juan G OldroydCanadaXuxue Feng UNQUALIFIED
Salvatore Z SergiJapanAnna Fali RENEWAL
Maisha T MorascaAustraliaAmy Elsner UNQUALIFIED
Ashley L OldroydFranceAnna Fali QUALIFIED
Ashley T MarrierSpainAnna Fali QUALIFIED
Julie B IturbideJapanXuxue Feng NEGOTIATION
Morrow D MaletIndiaIvan Magalhaes NEW
Kaitlin F PoquetteAustraliaAnna Fali QUALIFIED
Ivar E MaletCanadaXuxue Feng RENEWAL
Jeanfrancois K ChuiRussiaXuxue Feng UNQUALIFIED
Adams N WhobreyUnited KingdomOnyama Limba UNQUALIFIED

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