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
Juan P PaprockiRussiaOnyama Limba NEGOTIATION
Ashley X MarrierRussiaAmy Elsner UNQUALIFIED
Kaitlin Q StensethAustraliaIoni Bowcher RENEWAL
Adams L MorascaFranceAsiya Javayant NEW
Clifford Z GlickItalyAnna Fali QUALIFIED
Chavez F PerinJapanElwin Sharvill NEGOTIATION
Juan V DarakjyItalyAsiya Javayant NEW
Johnson J GlickRussiaBernardo Dominic NEW
Salvatore X StockhamCanadaIoni Bowcher PROPOSAL
Munro I RoysterJapanBernardo Dominic NEW
Misaki D GlickGermanyElwin Sharvill NEGOTIATION
Mujtaba O InouyeRussiaElwin Sharvill RENEWAL
Isabel D VenereAustraliaAnna Fali RENEWAL
Costa D InouyeSpainAsiya Javayant RENEWAL
Silvio W KolmetzJapanBernardo Dominic PROPOSAL
Claire L PaprockiBrazilIoni Bowcher PROPOSAL
David Q CampainRussiaXuxue Feng RENEWAL
Rodrigues V RulapaughAustraliaAsiya Javayant RENEWAL
Johnson V KolmetzArgentinaOnyama Limba NEW
Greenwood I FollerUnited KingdomIoni Bowcher RENEWAL
Greenwood M KuskoIndiaBernardo Dominic PROPOSAL
Mujtaba E MacleadAustraliaElwin Sharvill RENEWAL
Ivar C FollerIndiaAmy Elsner NEW
Aditya W DoeRussiaAnna Fali NEGOTIATION
Cody G CaudyArgentinaIvan Magalhaes QUALIFIED
Johnson T DoeSpainElwin Sharvill UNQUALIFIED
Aditya Q PaprockiRussiaXuxue Feng NEGOTIATION
Aruna D FlosiJapanAmy Elsner RENEWAL
Chavez F CaudyRussiaIoni Bowcher RENEWAL
Munro P ShinkoGermanyIvan Magalhaes PROPOSAL
Faith Z MaletJapanXuxue Feng PROPOSAL
Jennifer W SchemmerCanadaOnyama Limba QUALIFIED
Octavia L WaycottGermanyIoni Bowcher QUALIFIED
Isabel T OstroskyBrazilAsiya Javayant QUALIFIED
Morrow F ButtFranceAsiya Javayant UNQUALIFIED
Izzy G VocelkaArgentinaIoni Bowcher UNQUALIFIED
Isabel R BriddickCanadaStephen Shaw PROPOSAL
Ashley B InouyeIndiaElwin Sharvill PROPOSAL
Kadeem Y FerenczSpainAsiya Javayant UNQUALIFIED
Mayumi I SchemmerCanadaIvan Magalhaes QUALIFIED
Leja D AlbaresAustraliaAnna Fali NEW
Juan P AlbaresGermanyAnna Fali RENEWAL
Morrow Y DilliardRussiaStephen Shaw QUALIFIED
Salvatore C DilliardRussiaIoni Bowcher RENEWAL
Ivar I OstroskyItalyStephen Shaw RENEWAL
Sinclair A GillianCanadaElwin Sharvill UNQUALIFIED
Costa M RoysterSpainOnyama Limba RENEWAL
Adams H BowleyItalyOnyama Limba NEW
Silvio R WaycottFranceAnna Fali RENEWAL
Munro T WaycottUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood U GauchoArgentinaBernardo Dominic NEW
Leon K RutaRussiaXuxue Feng PROPOSAL
Clifford A MarrierGermanyXuxue Feng UNQUALIFIED
Julie S MacleadCanadaBernardo Dominic QUALIFIED
Isabel Q CaldareraBrazilStephen Shaw RENEWAL
Costa V CaldareraAustraliaBernardo Dominic PROPOSAL
Emily Q CaudyItalyAmy Elsner PROPOSAL
Morrow B ShinkoJapanStephen Shaw PROPOSAL
Ashley M CaudyIndiaStephen Shaw UNQUALIFIED
Claire E VocelkaGermanyIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin W MarrierBrazil2026-09-19Benton, John B Jr RENEWAL65Elwin Sharvill
1001Isabel R GauchoItaly2026-09-25Chapman, Ross E Esq RENEWAL15Bernardo Dominic
1002Sinclair Z WieserCanada2026-09-13Benton, John B Jr QUALIFIED48Bernardo Dominic
1003Clifford D KolmetzCanada2026-09-20Rousseaux, Michael Esq PROPOSAL92Anna Fali
1004Clifford V OstroskyFrance2026-09-17Rousseaux, Michael Esq RENEWAL75Ivan Magalhaes
1005Leon G ShinkoSpain2026-09-06Truhlar And Truhlar Attys PROPOSAL22Xuxue Feng
1006Cody P MaletCanada2026-09-27Rangoni Of Florence RENEWAL85Stephen Shaw
1007Izzy M MacleadCanada2026-10-05Printing Dimensions RENEWAL53Asiya Javayant
1008Jeanfrancois C GarufiIndia2026-09-08Feiner Bros UNQUALIFIED89Ioni Bowcher
1009Ricardo I BriddickRussia2026-09-09Morlong Associates PROPOSAL33Onyama Limba
1010Izzy X GarufiItaly2026-09-27Chemel, James L Cpa NEW83Xuxue Feng
1011Octavia T NestleIndia2026-10-03Feltz Printing Service QUALIFIED47Asiya Javayant
1012Nicolas V GarufiJapan2026-09-19Buckley Miller Wright NEW45Ivan Magalhaes
1013Leon I OstroskyGermany2026-10-03Chapman, Ross E Esq RENEWAL84Stephen Shaw
1014Nicolas C RutaAustralia2026-10-04Feiner Bros UNQUALIFIED60Ioni Bowcher
1015Ashley B WieserAustralia2026-09-29Benton, John B Jr NEW13Amy Elsner
1016Aika I CampainFrance2026-09-18Chanay, Jeffrey A Esq QUALIFIED99Stephen Shaw
1017Jones C VocelkaUnited Kingdom2026-09-27Printing Dimensions UNQUALIFIED81Bernardo Dominic
1018Jones Z SergiArgentina2026-09-19Chemel, James L Cpa NEGOTIATION57Xuxue Feng
1019Maria Z NestleFrance2026-09-06Chanay, Jeffrey A Esq PROPOSAL44Xuxue Feng
1020Juan C ChuiArgentina2026-09-16Benton, John B Jr NEGOTIATION96Ivan Magalhaes
1021Julie W MaletItaly2026-09-25Chapman, Ross E Esq QUALIFIED84Asiya Javayant
1022Alejandro A ChuiAustralia2026-09-26Benton, John B Jr NEGOTIATION5Ioni Bowcher
1023Silvio W StockhamIndia2026-09-13Buckley Miller Wright PROPOSAL57Amy Elsner
1024Julie D FerenczUnited Kingdom2026-10-04Benton, John B Jr UNQUALIFIED74Xuxue Feng
1025Kadeem N SergiRussia2026-09-29Benton, John B Jr QUALIFIED98Asiya Javayant
1026Sinclair P SaylorsBrazil2026-09-26Chemel, James L Cpa RENEWAL39Asiya Javayant
1027Munro N ChuiIndia2026-10-02Feltz Printing Service NEW14Elwin Sharvill
1028Emily F WieserSpain2026-09-25Rangoni Of Florence PROPOSAL41Anna Fali
1029Silvio L StensethCanada2026-09-17Rousseaux, Michael Esq NEW71Xuxue Feng
1030Octavia V RulapaughFrance2026-10-02Chapman, Ross E Esq RENEWAL14Anna Fali
1031Salvatore X SaylorsRussia2026-09-19Chemel, James L Cpa NEW83Amy Elsner
1032Arvin J MarrierIndia2026-09-07Buckley Miller Wright QUALIFIED55Stephen Shaw
1033Mujtaba S KuskoBrazil2026-09-26King, Christopher A Esq PROPOSAL84Anna Fali
1034Maria P DilliardSpain2026-09-06Truhlar And Truhlar Attys UNQUALIFIED80Elwin Sharvill
1035Antonio Z StensethItaly2026-09-22King, Christopher A Esq NEGOTIATION21Amy Elsner
1036Deepesh R RoysterArgentina2026-10-02Morlong Associates UNQUALIFIED97Onyama Limba
1037Johnson K MaletRussia2026-10-05Commercial Press UNQUALIFIED42Bernardo Dominic
1038Alejandro U AlbaresFrance2026-10-01King, Christopher A Esq QUALIFIED94Bernardo Dominic
1039Misaki K MaletRussia2026-09-30Commercial Press NEW30Stephen Shaw
1040Costa S WaycottFrance2026-09-25King, Christopher A Esq RENEWAL16Stephen Shaw
1041Antonio N StockhamUnited Kingdom2026-10-04Rangoni Of Florence PROPOSAL30Stephen Shaw
1042Clifford F SaylorsJapan2026-09-30Benton, John B Jr NEGOTIATION79Asiya Javayant
1043Johnson W SergiArgentina2026-09-21Feltz Printing Service PROPOSAL76Ivan Magalhaes
1044Faith V MacleadFrance2026-09-24Dorl, James J Esq RENEWAL0Onyama Limba
1045Rodrigues A SlusarskiJapan2026-09-11Rousseaux, Michael Esq UNQUALIFIED13Elwin Sharvill
1046Izzy N PerinJapan2026-09-30Chapman, Ross E Esq RENEWAL34Anna Fali
1047Mujtaba S FlosiRussia2026-09-17King, Christopher A Esq RENEWAL30Asiya Javayant
1048Wickens G OldroydFrance2026-09-30Rousseaux, Michael Esq PROPOSAL77Stephen Shaw
1049Cody D MacleadCanada2026-09-18Truhlar And Truhlar Attys NEGOTIATION78Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy P OstroskyRussiaAnna Fali RENEWAL
Jones D VocelkaGermanyElwin Sharvill NEW
Greenwood B FerenczGermanyAsiya Javayant UNQUALIFIED
Aruna S MacleadFranceXuxue Feng NEW
Misaki M MacleadIndiaIvan Magalhaes UNQUALIFIED
Sinclair Z SergiItalyIvan Magalhaes RENEWAL
Cody Q GarufiItalyAsiya Javayant NEGOTIATION
Stacey P StensethArgentinaIoni Bowcher PROPOSAL
Stacey F VocelkaArgentinaXuxue Feng UNQUALIFIED
Maria L GarufiCanadaAsiya Javayant QUALIFIED
David V ShinkoBrazilAsiya Javayant NEGOTIATION
Morrow M StensethBrazilOnyama Limba RENEWAL
David G BriddickCanadaAmy Elsner NEGOTIATION
Tony N RimJapanOnyama Limba UNQUALIFIED
Silvio K ButtUnited KingdomIoni Bowcher RENEWAL
Darci X KolmetzArgentinaIvan Magalhaes RENEWAL
Antonio H FerenczGermanyAnna Fali PROPOSAL
Chavez M OldroydItalyStephen Shaw QUALIFIED
Munro Z WaycottJapanXuxue Feng RENEWAL
Leja S StensethFranceBernardo Dominic RENEWAL
David K WaycottBrazilIvan Magalhaes NEGOTIATION
Silvio S RulapaughAustraliaAnna Fali UNQUALIFIED
Adams G DarakjyIndiaBernardo Dominic NEGOTIATION
Octavia A SaylorsIndiaIvan Magalhaes UNQUALIFIED
Murillo O NestleItalyIoni Bowcher NEGOTIATION
Julie T RoysterIndiaXuxue Feng PROPOSAL
Johnson T AmigonCanadaIvan Magalhaes QUALIFIED
Faith J GarufiJapanBernardo Dominic NEW
Clifford C MarrierFranceIvan Magalhaes NEW
Maria W FollerUnited KingdomStephen Shaw NEW
David G KolmetzCanadaElwin Sharvill NEW
Jennifer H BriddickArgentinaOnyama Limba NEGOTIATION
Kaitlin R CampainGermanyElwin Sharvill UNQUALIFIED
Murillo J PaprockiCanadaOnyama Limba NEGOTIATION
Aika E FollerArgentinaBernardo Dominic NEW
Murillo J GarufiItalyAsiya Javayant QUALIFIED
Mayumi M IturbideArgentinaAsiya Javayant PROPOSAL
Deepesh T SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Greenwood I StockhamSpainXuxue Feng QUALIFIED
Nicolas U TollnerCanadaAnna Fali RENEWAL
David P FollerRussiaOnyama Limba QUALIFIED
Aditya T DarakjyArgentinaStephen Shaw UNQUALIFIED
Octavia Z RoysterItalyAmy Elsner PROPOSAL
Aditya P MorascaSpainBernardo Dominic NEW
Chavez N PaprockiBrazilOnyama Limba UNQUALIFIED
David W StensethItalyElwin Sharvill QUALIFIED
Aruna M StensethArgentinaIoni Bowcher UNQUALIFIED
Silvio Z FerenczRussiaElwin Sharvill PROPOSAL
Leon M FerenczGermanyIvan Magalhaes UNQUALIFIED
Adams U RulapaughGermanyStephen Shaw NEGOTIATION
Frozen Columns
Name
Murillo J Slusarski
Leja M Nestle
Julie K Ruta
Salvatore U Flosi
Nicolas F Campain
Smith A Whobrey
Jones V Morasca
Juan E Albares
Clifford P Inouye
Jeanfrancois O Ferencz
Chavez I Inouye
Tony M Inouye
Kaitlin D Caudy
Antonio I Caudy
Mayumi A Paprocki
Silvio D Nicka
Claire W Bolognia
Ivar M Iturbide
Rodrigues Z Sergi
Ashley O Nicka
Arvin U Doe
Ricardo K Perin
Faith I Venere
Aruna B Ostrosky
Octavia U Kolmetz
Cody T Venere
Ivar E Darakjy
Aika V Gaucho
Adams W Dilliard
Kaitlin S Figeroa
Arvin K Schemmer
Ashley I Briddick
Aruna A Venere
Mayumi R Saylors
Murillo T Foller
James Q Iturbide
Morrow W Ferencz
Nicolas I Garufi
Leon W Garufi
Juan Y Marrier
Mayumi J Flosi
Ashley L Garufi
David S Schemmer
Sinclair Y Briddick
Francesco G Nicka
Jefferson T Maclead
Leja D Rulapaugh
Antonio Z Butt
Izzy U Stenseth
Salvatore I Glick
IdCountryDate
1000Australia2026-10-02
1001Argentina2026-09-17
1002India2026-09-16
1003Russia2026-09-08
1004Canada2026-09-25
1005Japan2026-09-11
1006Germany2026-10-05
1007Japan2026-09-19
1008Russia2026-09-14
1009India2026-09-13
1010Japan2026-10-02
1011Brazil2026-09-16
1012Russia2026-09-14
1013Japan2026-09-10
1014Russia2026-09-06
1015Spain2026-09-17
1016India2026-10-03
1017Spain2026-09-28
1018Russia2026-09-07
1019Spain2026-09-21
1020Italy2026-09-14
1021United Kingdom2026-10-01
1022Argentina2026-09-09
1023India2026-09-11
1024United Kingdom2026-09-26
1025Spain2026-10-03
1026Russia2026-09-08
1027France2026-09-06
1028Canada2026-09-28
1029India2026-09-08
1030Argentina2026-09-24
1031Italy2026-09-06
1032Russia2026-09-07
1033Australia2026-10-05
1034France2026-09-17
1035Germany2026-09-11
1036Canada2026-09-27
1037Spain2026-09-27
1038Russia2026-09-26
1039Russia2026-09-15
1040France2026-09-23
1041Japan2026-10-04
1042Russia2026-10-01
1043Australia2026-09-30
1044Australia2026-09-25
1045Australia2026-10-03
1046Argentina2026-09-06
1047United Kingdom2026-09-23
1048Russia2026-09-24
1049France2026-09-08

On-Demand Data

NameIdCountryDate
Sinclair T Stockham1000India2026-09-23
Ashley I Flosi1001Russia2026-09-13
Alejandro B Tollner1002United Kingdom2026-10-03
Ashley T Bolognia1003Russia2026-09-19
Jennifer M Caldarera1004Russia2026-10-04
Kaitlin D Poquette1005Brazil2026-09-14
Jefferson T Stockham1006Japan2026-09-20
Leon K Campain1007Spain2026-09-14
Aika M Shinko1008Spain2026-09-07
Julie B Saylors1009Argentina2026-09-15
Stacey G Figeroa1010Canada2026-09-11
Jeanfrancois U Bowley1011Japan2026-09-23
Francesco H Caudy1012Japan2026-09-12
Aruna I Stockham1013Canada2026-09-14
Rodrigues U Glick1014United Kingdom2026-10-04
Clifford E Kolmetz1015Canada2026-09-30
Tony P Nestle1016Italy2026-09-29
Rodrigues U Venere1017Russia2026-10-04
Francesco K Poquette1018Russia2026-10-05
Maria U Paprocki1019Brazil2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia C ButtJapanOnyama Limba PROPOSAL
Aika D GlickAustraliaElwin Sharvill PROPOSAL
Wickens T MaletFranceXuxue Feng QUALIFIED
Chavez C RimArgentinaAnna Fali UNQUALIFIED
Antonio W SchemmerIndiaOnyama Limba QUALIFIED
Maria K IturbideFranceIoni Bowcher PROPOSAL
Aika M NickaRussiaIoni Bowcher NEGOTIATION
Ivar T AlbaresFranceAnna Fali NEW
Aruna J BriddickRussiaElwin Sharvill QUALIFIED
Jefferson C WaycottSpainOnyama Limba UNQUALIFIED
Tony Y MaletRussiaElwin Sharvill NEGOTIATION
Alejandro H MarrierAustraliaXuxue Feng RENEWAL
Sinclair Q GillianArgentinaXuxue Feng QUALIFIED
Jones V InouyeCanadaOnyama Limba NEGOTIATION
David P GillianSpainOnyama Limba RENEWAL
Salvatore X SergiBrazilStephen Shaw NEW
Aika V FerenczItalyStephen Shaw QUALIFIED
Faith A SergiIndiaElwin Sharvill PROPOSAL
Clifford M InouyeAustraliaOnyama Limba RENEWAL
Claire Q RutaAustraliaIoni Bowcher RENEWAL
Mujtaba F WieserBrazilBernardo Dominic QUALIFIED
Faith C IturbideFranceElwin Sharvill PROPOSAL
Francesco I MaletCanadaAmy Elsner NEGOTIATION
Smith H PaprockiIndiaAnna Fali NEW
Kadeem J WhobreyItalyXuxue Feng RENEWAL
Wickens H FlosiItalyAmy Elsner RENEWAL
Octavia X StensethFranceAmy Elsner RENEWAL
Emily N WieserIndiaBernardo Dominic PROPOSAL
Johnson K MarrierAustraliaOnyama Limba QUALIFIED
Aruna K RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Clifford W NestleItalyIvan Magalhaes QUALIFIED
Octavia P StensethIndiaAnna Fali QUALIFIED
Stacey P OldroydArgentinaStephen Shaw NEGOTIATION
Wickens X BowleyIndiaXuxue Feng NEGOTIATION
Kadeem M RoysterCanadaIoni Bowcher RENEWAL
Emily Q PoquetteArgentinaBernardo Dominic QUALIFIED
Adams S AmigonJapanElwin Sharvill PROPOSAL
Clifford B RutaSpainBernardo Dominic PROPOSAL
Kaitlin F InouyeSpainAmy Elsner PROPOSAL
Julie M CaldareraItalyStephen Shaw 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>