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
Ashley P RimJapanAsiya Javayant UNQUALIFIED
Wickens H FlosiUnited KingdomElwin Sharvill RENEWAL
Costa I NickaFranceXuxue Feng RENEWAL
Francesco B GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood R BriddickCanadaOnyama Limba PROPOSAL
Misaki L NestleRussiaIoni Bowcher NEW
Faith A PaprockiRussiaOnyama Limba PROPOSAL
Leon I OldroydArgentinaElwin Sharvill UNQUALIFIED
Smith A KolmetzFranceAmy Elsner NEGOTIATION
David B GauchoIndiaElwin Sharvill NEW
Mayumi Z TollnerAustraliaIvan Magalhaes NEW
Jefferson B RimAustraliaIoni Bowcher QUALIFIED
Isabel O WaycottIndiaStephen Shaw PROPOSAL
Mujtaba K TollnerUnited KingdomStephen Shaw NEW
Faith B StensethIndiaAnna Fali PROPOSAL
Tony Y VocelkaCanadaXuxue Feng QUALIFIED
Ivar P VocelkaJapanAmy Elsner RENEWAL
Octavia M RoysterUnited KingdomAsiya Javayant PROPOSAL
Maria A MacleadCanadaIoni Bowcher NEW
Misaki F DoeCanadaOnyama Limba RENEWAL
Jefferson W ButtSpainBernardo Dominic NEW
Salvatore Y VenereUnited KingdomIvan Magalhaes RENEWAL
Sinclair J MacleadSpainBernardo Dominic NEW
Mayumi B GlickSpainOnyama Limba RENEWAL
Deepesh F CaldareraSpainElwin Sharvill QUALIFIED
Francesco H PerinItalyStephen Shaw NEGOTIATION
Jeanfrancois O FerenczBrazilOnyama Limba NEGOTIATION
Darci V GarufiItalyAsiya Javayant NEW
Antonio K FollerCanadaElwin Sharvill NEGOTIATION
Aruna U BologniaSpainAsiya Javayant NEGOTIATION
Francesco R BologniaGermanyElwin Sharvill PROPOSAL
Darci H RutaAustraliaElwin Sharvill QUALIFIED
Aruna U DilliardFranceAnna Fali PROPOSAL
Rodrigues V GauchoArgentinaAmy Elsner NEGOTIATION
Antonio G AmigonBrazilXuxue Feng PROPOSAL
Jones E DarakjyUnited KingdomBernardo Dominic NEW
Leon R MaletAustraliaAnna Fali RENEWAL
Clifford C WaycottBrazilXuxue Feng UNQUALIFIED
Darci P SaylorsRussiaElwin Sharvill PROPOSAL
Aditya W StockhamBrazilIoni Bowcher RENEWAL
Clifford R VocelkaItalyStephen Shaw RENEWAL
Aika D CaudyCanadaElwin Sharvill NEGOTIATION
Johnson F WhobreyAustraliaIvan Magalhaes PROPOSAL
Wickens H FollerGermanyIvan Magalhaes PROPOSAL
Antonio G CaudySpainIoni Bowcher PROPOSAL
Munro R WieserAustraliaAnna Fali RENEWAL
Isabel A PaprockiRussiaElwin Sharvill PROPOSAL
Jennifer O FollerGermanyIvan Magalhaes NEGOTIATION
Jefferson X DilliardBrazilAsiya Javayant RENEWAL
Emily G StensethJapanIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aika Q SaylorsCanadaOnyama Limba QUALIFIED
David I DilliardSpainAsiya Javayant UNQUALIFIED
Julie R MacleadBrazilAsiya Javayant UNQUALIFIED
Salvatore A VocelkaCanadaElwin Sharvill NEGOTIATION
Francesco B SlusarskiRussiaOnyama Limba UNQUALIFIED
Nicolas J WieserJapanStephen Shaw QUALIFIED
Leja K ButtItalyIvan Magalhaes QUALIFIED
Sinclair Z IturbideCanadaAsiya Javayant UNQUALIFIED
Adams D BriddickIndiaOnyama Limba NEW
Rodrigues I RutaItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh Q SlusarskiItaly2026-10-17Chapman, Ross E Esq NEW23Onyama Limba
1001Jennifer D RulapaughItaly2026-10-16Truhlar And Truhlar Attys UNQUALIFIED59Amy Elsner
1002Adams T TollnerCanada2026-10-15Printing Dimensions NEGOTIATION64Bernardo Dominic
1003Izzy G DilliardBrazil2026-10-14Rangoni Of Florence PROPOSAL31Onyama Limba
1004Clifford W OldroydGermany2026-10-19Feltz Printing Service NEW2Anna Fali
1005Salvatore R DarakjyArgentina2026-10-16Rangoni Of Florence UNQUALIFIED14Bernardo Dominic
1006Aruna Z FerenczSpain2026-10-26Feiner Bros UNQUALIFIED85Ioni Bowcher
1007Emily N GarufiJapan2026-10-30Chanay, Jeffrey A Esq NEGOTIATION69Elwin Sharvill
1008Isabel H MorascaJapan2026-10-19Feltz Printing Service QUALIFIED3Bernardo Dominic
1009Smith K BologniaFrance2026-10-08Feltz Printing Service PROPOSAL56Elwin Sharvill
1010Ashley Z WhobreyRussia2026-10-16Chemel, James L Cpa NEGOTIATION34Bernardo Dominic
1011Leon B VenereAustralia2026-10-25Dorl, James J Esq NEGOTIATION56Elwin Sharvill
1012Adams Z VenereIndia2026-10-20Dorl, James J Esq RENEWAL98Ivan Magalhaes
1013Leja L BriddickArgentina2026-10-28Commercial Press QUALIFIED47Stephen Shaw
1014Munro Q MaletSpain2026-10-29Rousseaux, Michael Esq NEGOTIATION99Ivan Magalhaes
1015Wickens O KuskoUnited Kingdom2026-10-13King, Christopher A Esq PROPOSAL59Elwin Sharvill
1016Leja O PerinSpain2026-10-05Dorl, James J Esq NEW53Onyama Limba
1017Leon V BologniaArgentina2026-11-01Commercial Press RENEWAL18Asiya Javayant
1018Faith F FlosiIndia2026-10-18Benton, John B Jr NEGOTIATION78Bernardo Dominic
1019Izzy Q VocelkaBrazil2026-10-10Benton, John B Jr NEW19Ivan Magalhaes
1020Jeanfrancois D GlickUnited Kingdom2026-10-22Buckley Miller Wright PROPOSAL0Elwin Sharvill
1021Aika Q DoeSpain2026-11-01Chanay, Jeffrey A Esq PROPOSAL82Onyama Limba
1022Leon S FerenczFrance2026-10-05Chapman, Ross E Esq NEGOTIATION13Elwin Sharvill
1023James H TollnerItaly2026-10-05Chanay, Jeffrey A Esq NEGOTIATION42Xuxue Feng
1024Kadeem I MorascaAustralia2026-10-10Rangoni Of Florence UNQUALIFIED69Anna Fali
1025Sinclair E MaletItaly2026-10-06Truhlar And Truhlar Attys UNQUALIFIED39Bernardo Dominic
1026Jones G BowleySpain2026-10-12Truhlar And Truhlar Attys NEW78Ivan Magalhaes
1027Rodrigues K AlbaresGermany2026-10-12Morlong Associates NEGOTIATION90Elwin Sharvill
1028Kadeem C AlbaresArgentina2026-10-12Dorl, James J Esq PROPOSAL68Stephen Shaw
1029James Q FlosiSpain2026-11-03Buckley Miller Wright RENEWAL26Anna Fali
1030Stacey G DarakjyFrance2026-10-19Chemel, James L Cpa QUALIFIED78Amy Elsner
1031Leja M PoquetteUnited Kingdom2026-10-18Rousseaux, Michael Esq UNQUALIFIED96Amy Elsner
1032Clifford U SaylorsArgentina2026-10-11Chemel, James L Cpa NEGOTIATION36Anna Fali
1033Kaitlin U AlbaresAustralia2026-10-16Dorl, James J Esq UNQUALIFIED76Asiya Javayant
1034Antonio G PerinGermany2026-10-31Truhlar And Truhlar Attys QUALIFIED80Asiya Javayant
1035Antonio G PerinItaly2026-10-24Dorl, James J Esq UNQUALIFIED30Anna Fali
1036Arvin O NickaJapan2026-10-30Commercial Press RENEWAL56Bernardo Dominic
1037Aruna K VenereBrazil2026-10-30Dorl, James J Esq NEGOTIATION47Stephen Shaw
1038Izzy U DilliardGermany2026-11-03Commercial Press NEW35Stephen Shaw
1039Jefferson M GauchoFrance2026-10-17Chemel, James L Cpa QUALIFIED91Stephen Shaw
1040Rodrigues Y CampainArgentina2026-10-24Chapman, Ross E Esq QUALIFIED50Bernardo Dominic
1041Jefferson E TollnerJapan2026-10-26Chanay, Jeffrey A Esq UNQUALIFIED38Bernardo Dominic
1042Deepesh G FigeroaCanada2026-10-09Rousseaux, Michael Esq QUALIFIED15Ioni Bowcher
1043Octavia V IturbideRussia2026-10-05Rangoni Of Florence NEW24Ivan Magalhaes
1044Kadeem Y GlickRussia2026-10-06Dorl, James J Esq PROPOSAL56Amy Elsner
1045Kaitlin N SergiIndia2026-11-03Chemel, James L Cpa NEW32Onyama Limba
1046Costa A ChuiAustralia2026-10-23Chemel, James L Cpa QUALIFIED35Elwin Sharvill
1047Rodrigues E GillianFrance2026-10-08Dorl, James J Esq NEGOTIATION30Bernardo Dominic
1048Tony D BowleyArgentina2026-10-14Feltz Printing Service QUALIFIED32Amy Elsner
1049Aika P OldroydSpain2026-10-26Buckley Miller Wright RENEWAL9Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Y MaletRussiaElwin Sharvill RENEWAL
Ivar E FlosiRussiaAmy Elsner PROPOSAL
Julie B BologniaItalyElwin Sharvill NEGOTIATION
Salvatore E VenereItalyOnyama Limba NEGOTIATION
Tony Q AmigonUnited KingdomAmy Elsner RENEWAL
Leja O WhobreyAustraliaAmy Elsner PROPOSAL
Maria Y DoeRussiaIoni Bowcher NEW
Murillo C TollnerRussiaAmy Elsner NEW
Jones N InouyeCanadaAmy Elsner NEW
Mujtaba I FollerRussiaAsiya Javayant NEW
Faith L NickaItalyElwin Sharvill QUALIFIED
Maria A PoquetteAustraliaStephen Shaw QUALIFIED
Emily T FollerBrazilStephen Shaw UNQUALIFIED
Chavez E RimGermanyElwin Sharvill UNQUALIFIED
Leon E InouyeJapanAnna Fali UNQUALIFIED
Alejandro F DoeUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro H SergiBrazilIvan Magalhaes NEGOTIATION
Costa R WieserUnited KingdomXuxue Feng NEGOTIATION
Adams S VenereUnited KingdomIvan Magalhaes QUALIFIED
Nicolas B KuskoAustraliaBernardo Dominic RENEWAL
Jefferson W WhobreyUnited KingdomAmy Elsner NEGOTIATION
Emily U ButtRussiaElwin Sharvill UNQUALIFIED
Munro V BowleyGermanyElwin Sharvill QUALIFIED
Leon Y MaletIndiaBernardo Dominic PROPOSAL
Maisha J IturbideJapanElwin Sharvill RENEWAL
Leja S DarakjyRussiaOnyama Limba NEW
Jones Z WaycottCanadaStephen Shaw RENEWAL
Maria Q WaycottCanadaStephen Shaw NEW
Adams O FollerRussiaAnna Fali UNQUALIFIED
Rodrigues L WhobreyBrazilElwin Sharvill NEW
David O BriddickItalyOnyama Limba QUALIFIED
Misaki N DoeUnited KingdomAmy Elsner NEW
Mujtaba N WhobreyBrazilBernardo Dominic PROPOSAL
Murillo P DarakjyBrazilAnna Fali NEGOTIATION
Juan L FlosiCanadaStephen Shaw UNQUALIFIED
Aika V BriddickIndiaOnyama Limba NEW
Darci C DilliardJapanAmy Elsner UNQUALIFIED
Aditya Q FlosiAustraliaAnna Fali UNQUALIFIED
Stacey P StockhamFranceElwin Sharvill UNQUALIFIED
Antonio O BriddickGermanyElwin Sharvill RENEWAL
Sinclair V SchemmerJapanStephen Shaw RENEWAL
Jennifer O AlbaresItalyIoni Bowcher UNQUALIFIED
Leon C MarrierUnited KingdomAnna Fali QUALIFIED
Salvatore Z WaycottItalyIvan Magalhaes RENEWAL
Antonio M ButtSpainAnna Fali NEGOTIATION
Emily Z GarufiJapanBernardo Dominic UNQUALIFIED
James L KolmetzArgentinaAmy Elsner RENEWAL
Aruna G ChuiGermanyAsiya Javayant RENEWAL
Maisha D KolmetzItalyStephen Shaw UNQUALIFIED
Aruna I InouyeFranceIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Johnson P Rim
James D Flosi
James C Rulapaugh
Aika M Gillian
David T Briddick
Francesco H Campain
Claire W Figeroa
Maria C Morasca
David V Gaucho
Isabel S Garufi
Johnson T Amigon
Leon M Rim
James C Shinko
Stacey E Bowley
Ivar E Royster
Aditya P Figeroa
Tony K Foller
Sinclair P Glick
Leja L Shinko
Greenwood A Vocelka
Faith D Ferencz
Jones E Flosi
Mayumi H Butt
Smith U Kusko
Johnson Y Gillian
Antonio E Kolmetz
Greenwood C Darakjy
Octavia K Poquette
Maria A Gaucho
Morrow T Saylors
Tony X Paprocki
Kaitlin J Slusarski
Deepesh G Nestle
Sinclair F Tollner
Ricardo D Figeroa
Leon M Rim
Chavez D Saylors
Leja U Caudy
Ivar R Gaucho
Clifford M Morasca
Jeanfrancois T Slusarski
Johnson W Morasca
Johnson N Paprocki
Leon C Bowley
Isabel R Garufi
Smith G Caldarera
Kadeem V Schemmer
Clifford B Chui
Smith U Campain
Faith Z Paprocki
IdCountryDate
1000Japan2026-10-18
1001France2026-10-05
1002France2026-10-18
1003Spain2026-10-28
1004Russia2026-10-09
1005Australia2026-10-15
1006United Kingdom2026-10-18
1007Canada2026-10-06
1008Australia2026-10-19
1009United Kingdom2026-10-20
1010Brazil2026-10-23
1011France2026-10-26
1012Argentina2026-10-19
1013Brazil2026-10-06
1014Brazil2026-11-02
1015France2026-10-09
1016Argentina2026-10-21
1017Russia2026-10-05
1018Spain2026-11-02
1019India2026-11-03
1020Canada2026-10-25
1021France2026-10-10
1022Germany2026-10-11
1023India2026-10-21
1024Italy2026-10-27
1025Australia2026-10-31
1026United Kingdom2026-10-15
1027Japan2026-10-14
1028Russia2026-10-21
1029United Kingdom2026-10-10
1030Brazil2026-10-30
1031Germany2026-10-15
1032Brazil2026-10-23
1033Australia2026-10-09
1034Brazil2026-10-08
1035Argentina2026-10-10
1036France2026-10-19
1037Japan2026-10-12
1038Canada2026-10-18
1039Argentina2026-10-23
1040Spain2026-10-06
1041Germany2026-10-10
1042Italy2026-10-27
1043Germany2026-10-22
1044Russia2026-10-05
1045United Kingdom2026-10-11
1046Russia2026-10-17
1047Japan2026-10-20
1048Australia2026-10-27
1049United Kingdom2026-10-11

On-Demand Data

NameIdCountryDate
Rodrigues Y Butt1000Spain2026-10-30
Jennifer J Rim1001Canada2026-10-07
Jennifer I Bowley1002United Kingdom2026-10-21
Francesco Z Flosi1003Japan2026-10-26
James B Bolognia1004Australia2026-10-29
Octavia J Caudy1005Germany2026-10-19
Alejandro C Amigon1006Spain2026-10-23
Costa R Inouye1007Italy2026-10-28
Octavia S Vocelka1008Canada2026-10-26
Wickens V Paprocki1009United Kingdom2026-10-08
Julie P Dilliard1010Russia2026-10-27
Julie M Kusko1011Canada2026-10-23
Aditya W Malet1012Australia2026-11-03
Aditya N Figeroa1013Japan2026-10-07
Jennifer F Glick1014France2026-10-07
Munro N Chui1015Canada2026-10-16
Wickens U Waycott1016Japan2026-10-11
Mujtaba A Iturbide1017Australia2026-10-08
Aruna I Vocelka1018Russia2026-10-11
Octavia S Kusko1019Canada2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar A RimJapanAsiya Javayant NEGOTIATION
Maisha P FerenczItalyAsiya Javayant NEW
Cody B ShinkoSpainAsiya Javayant UNQUALIFIED
Costa H GauchoJapanOnyama Limba RENEWAL
Sinclair G NickaGermanyIoni Bowcher QUALIFIED
Costa J ShinkoJapanAmy Elsner PROPOSAL
Stacey F FerenczJapanStephen Shaw RENEWAL
Ashley P WaycottUnited KingdomIoni Bowcher NEGOTIATION
Leja A SaylorsCanadaOnyama Limba PROPOSAL
Ashley Q OldroydFranceBernardo Dominic NEGOTIATION
Johnson R IturbideArgentinaIoni Bowcher NEW
Ricardo S TollnerIndiaOnyama Limba NEGOTIATION
Costa L OldroydBrazilBernardo Dominic NEW
Julie L OldroydSpainElwin Sharvill PROPOSAL
Munro Z FollerCanadaOnyama Limba NEW
Tony Y VocelkaGermanyAnna Fali QUALIFIED
Aditya Y WieserBrazilElwin Sharvill RENEWAL
Leon W SergiFranceStephen Shaw RENEWAL
Sinclair M DarakjySpainStephen Shaw PROPOSAL
Francesco D DilliardUnited KingdomAmy Elsner NEGOTIATION
Salvatore B ShinkoJapanBernardo Dominic UNQUALIFIED
Izzy U MaletGermanyStephen Shaw RENEWAL
Silvio H DilliardItalyAmy Elsner NEW
Johnson X BologniaJapanXuxue Feng PROPOSAL
Isabel P CaudyCanadaBernardo Dominic NEGOTIATION
Jeanfrancois L RimJapanStephen Shaw RENEWAL
Aditya H GlickIndiaOnyama Limba QUALIFIED
Faith Z MaletIndiaIvan Magalhaes RENEWAL
Greenwood Z BriddickArgentinaElwin Sharvill PROPOSAL
Chavez L RoysterJapanIvan Magalhaes QUALIFIED
Ricardo Y SchemmerFranceAnna Fali NEW
Chavez G CaudyCanadaStephen Shaw PROPOSAL
Mayumi F FlosiArgentinaStephen Shaw PROPOSAL
Aruna C NickaSpainBernardo Dominic QUALIFIED
Jefferson B RoysterSpainElwin Sharvill UNQUALIFIED
Isabel B RulapaughCanadaIvan Magalhaes NEGOTIATION
Clifford O AmigonCanadaIoni Bowcher UNQUALIFIED
Julie G SergiArgentinaOnyama Limba RENEWAL
Jeanfrancois O PoquetteAustraliaXuxue Feng RENEWAL
James S BriddickJapanIoni Bowcher 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>