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
Francesco Y SlusarskiJapanOnyama Limba PROPOSAL
Costa X RimUnited KingdomBernardo Dominic QUALIFIED
Jones M RulapaughFranceAnna Fali PROPOSAL
Leja P RimFranceOnyama Limba NEW
Antonio S FerenczJapanAsiya Javayant RENEWAL
Rodrigues Q PoquetteCanadaIoni Bowcher NEGOTIATION
Nicolas X InouyeSpainElwin Sharvill PROPOSAL
Ashley C OstroskyArgentinaBernardo Dominic QUALIFIED
Morrow B SchemmerCanadaOnyama Limba QUALIFIED
Claire E SchemmerArgentinaAsiya Javayant NEW
Darci I FollerGermanyIoni Bowcher RENEWAL
Salvatore P CaldareraSpainStephen Shaw UNQUALIFIED
Ashley R CaudyGermanyAnna Fali NEW
Julie U MacleadSpainBernardo Dominic QUALIFIED
Misaki A AlbaresRussiaStephen Shaw QUALIFIED
Emily Z NestleBrazilXuxue Feng QUALIFIED
Misaki X PerinRussiaAsiya Javayant PROPOSAL
Stacey X ShinkoBrazilOnyama Limba RENEWAL
Costa I SaylorsArgentinaStephen Shaw QUALIFIED
Cody F WieserBrazilAsiya Javayant NEW
Francesco A IturbideBrazilXuxue Feng NEGOTIATION
Aditya Q DoeJapanAsiya Javayant NEW
Ivar Y OstroskyIndiaAmy Elsner NEGOTIATION
Adams O MorascaJapanIoni Bowcher QUALIFIED
Francesco H MacleadRussiaBernardo Dominic PROPOSAL
Murillo U KolmetzBrazilXuxue Feng QUALIFIED
Ivar K MacleadItalyIvan Magalhaes NEW
Jeanfrancois C CaldareraGermanyAmy Elsner PROPOSAL
David K ChuiRussiaIvan Magalhaes RENEWAL
Chavez G MarrierArgentinaAmy Elsner NEGOTIATION
Clifford A RimJapanElwin Sharvill PROPOSAL
Arvin C NickaJapanOnyama Limba NEW
Tony G CaudyUnited KingdomBernardo Dominic NEW
Mujtaba N GarufiBrazilIoni Bowcher QUALIFIED
Arvin M WhobreyIndiaStephen Shaw PROPOSAL
Rodrigues C RulapaughAustraliaBernardo Dominic PROPOSAL
Ashley A GarufiGermanyElwin Sharvill UNQUALIFIED
Alejandro P PoquetteFranceAsiya Javayant QUALIFIED
Claire V GarufiIndiaXuxue Feng RENEWAL
Morrow G ChuiGermanyIvan Magalhaes NEGOTIATION
Johnson L GlickUnited KingdomIvan Magalhaes RENEWAL
Kaitlin H FlosiUnited KingdomAnna Fali RENEWAL
Sinclair R BowleyIndiaAnna Fali PROPOSAL
Greenwood M FerenczItalyAmy Elsner NEGOTIATION
Aditya V WieserJapanIvan Magalhaes NEGOTIATION
Jefferson O VenereCanadaAnna Fali NEGOTIATION
Jones X ChuiAustraliaXuxue Feng PROPOSAL
Costa U MaletCanadaIvan Magalhaes NEGOTIATION
Clifford Y WieserRussiaAmy Elsner QUALIFIED
Costa P NestleJapanOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley Q SlusarskiItalyXuxue Feng PROPOSAL
Arvin T FerenczGermanyElwin Sharvill PROPOSAL
Stacey R MaletAustraliaIvan Magalhaes QUALIFIED
Leon M GillianSpainOnyama Limba NEGOTIATION
Kadeem Z RimBrazilAsiya Javayant PROPOSAL
Claire H VenereJapanIvan Magalhaes UNQUALIFIED
Kadeem I FerenczArgentinaIvan Magalhaes PROPOSAL
Darci C ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo B KuskoAustraliaBernardo Dominic NEGOTIATION
Kaitlin X VocelkaBrazilIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio A NickaUnited Kingdom2026-09-20King, Christopher A Esq PROPOSAL19Stephen Shaw
1001Maria E TollnerItaly2026-09-25Commercial Press PROPOSAL49Stephen Shaw
1002Clifford A FigeroaGermany2026-09-22Chanay, Jeffrey A Esq RENEWAL54Elwin Sharvill
1003Kadeem G VocelkaFrance2026-09-20Rousseaux, Michael Esq NEGOTIATION18Anna Fali
1004Kaitlin T BowleyBrazil2026-09-20Truhlar And Truhlar Attys NEW55Onyama Limba
1005Octavia O PoquetteAustralia2026-09-29Truhlar And Truhlar Attys UNQUALIFIED25Ivan Magalhaes
1006Deepesh X PoquetteRussia2026-09-19Chemel, James L Cpa NEGOTIATION25Asiya Javayant
1007Aruna K RulapaughJapan2026-09-26King, Christopher A Esq NEGOTIATION45Ivan Magalhaes
1008Munro O MarrierItaly2026-10-02Commercial Press QUALIFIED92Onyama Limba
1009Stacey U SchemmerIndia2026-09-25Commercial Press QUALIFIED91Elwin Sharvill
1010David W GauchoUnited Kingdom2026-09-28Truhlar And Truhlar Attys RENEWAL54Ioni Bowcher
1011Mayumi M MacleadFrance2026-09-25Commercial Press UNQUALIFIED64Elwin Sharvill
1012Kadeem F CampainAustralia2026-10-15Morlong Associates NEW38Onyama Limba
1013Morrow B WieserRussia2026-10-01King, Christopher A Esq NEW91Amy Elsner
1014Maria W NestleGermany2026-09-20Printing Dimensions RENEWAL44Bernardo Dominic
1015Wickens R PoquetteBrazil2026-10-11King, Christopher A Esq PROPOSAL73Xuxue Feng
1016Jones F GarufiItaly2026-10-01Chemel, James L Cpa NEW30Amy Elsner
1017Silvio N ShinkoRussia2026-09-22Dorl, James J Esq NEGOTIATION11Onyama Limba
1018Faith N ShinkoBrazil2026-09-27Commercial Press PROPOSAL5Bernardo Dominic
1019Stacey O AmigonRussia2026-10-10King, Christopher A Esq QUALIFIED54Amy Elsner
1020Leon G FigeroaIndia2026-10-04Chemel, James L Cpa NEW61Onyama Limba
1021Costa X BologniaBrazil2026-10-13King, Christopher A Esq RENEWAL76Stephen Shaw
1022Octavia F NickaIndia2026-09-28Chapman, Ross E Esq NEW85Onyama Limba
1023Alejandro R ShinkoJapan2026-10-01Rousseaux, Michael Esq UNQUALIFIED86Ioni Bowcher
1024Juan Y IturbideAustralia2026-09-23Buckley Miller Wright QUALIFIED89Stephen Shaw
1025Isabel Y SchemmerAustralia2026-09-23Chanay, Jeffrey A Esq NEW33Onyama Limba
1026Juan K AmigonArgentina2026-10-14King, Christopher A Esq PROPOSAL31Ioni Bowcher
1027Sinclair K MarrierAustralia2026-10-14King, Christopher A Esq PROPOSAL88Ivan Magalhaes
1028Antonio L CaldareraIndia2026-09-27Printing Dimensions NEGOTIATION92Bernardo Dominic
1029Faith D RutaItaly2026-10-05Chanay, Jeffrey A Esq UNQUALIFIED62Amy Elsner
1030Alejandro J PaprockiJapan2026-10-04Buckley Miller Wright NEW70Stephen Shaw
1031Maria O CaldareraIndia2026-10-04Truhlar And Truhlar Attys RENEWAL24Amy Elsner
1032Isabel L KuskoSpain2026-10-12Feiner Bros NEW44Elwin Sharvill
1033Claire Z MaletGermany2026-10-06Truhlar And Truhlar Attys UNQUALIFIED68Asiya Javayant
1034Isabel U GillianArgentina2026-09-29Rousseaux, Michael Esq UNQUALIFIED26Ioni Bowcher
1035Greenwood D FerenczAustralia2026-09-23Dorl, James J Esq NEGOTIATION5Anna Fali
1036Mujtaba O WaycottBrazil2026-09-23Rousseaux, Michael Esq NEW78Ioni Bowcher
1037Aditya U InouyeArgentina2026-10-09Benton, John B Jr QUALIFIED22Xuxue Feng
1038Ivar W BologniaCanada2026-09-27Dorl, James J Esq PROPOSAL13Stephen Shaw
1039Sinclair W AlbaresSpain2026-09-19King, Christopher A Esq NEGOTIATION28Ioni Bowcher
1040Aditya Y MaletGermany2026-10-09Chapman, Ross E Esq RENEWAL35Bernardo Dominic
1041Mayumi A BowleyGermany2026-09-20King, Christopher A Esq QUALIFIED90Amy Elsner
1042Munro A TollnerFrance2026-09-22Benton, John B Jr NEW32Anna Fali
1043Greenwood D FigeroaArgentina2026-09-28Chanay, Jeffrey A Esq NEW92Xuxue Feng
1044Juan Z PerinCanada2026-09-20Chapman, Ross E Esq PROPOSAL73Elwin Sharvill
1045Sinclair V DarakjyFrance2026-10-13Commercial Press RENEWAL36Bernardo Dominic
1046Costa U IturbideGermany2026-10-09Morlong Associates RENEWAL70Amy Elsner
1047Murillo G PerinBrazil2026-09-20Commercial Press PROPOSAL76Ivan Magalhaes
1048Morrow R StockhamSpain2026-09-28Feltz Printing Service UNQUALIFIED5Onyama Limba
1049Leja E WaycottUnited Kingdom2026-09-26Rangoni Of Florence NEGOTIATION23Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Cody A RimRussiaElwin Sharvill RENEWAL
Leon M VocelkaBrazilAmy Elsner PROPOSAL
Isabel F RutaJapanXuxue Feng RENEWAL
Costa C OstroskyArgentinaAnna Fali UNQUALIFIED
Francesco Q GillianRussiaAmy Elsner NEGOTIATION
Aika P ShinkoFranceOnyama Limba RENEWAL
Morrow Q MorascaJapanOnyama Limba RENEWAL
David F TollnerUnited KingdomBernardo Dominic NEW
Silvio O SlusarskiRussiaIoni Bowcher QUALIFIED
Mayumi Y RutaUnited KingdomAnna Fali QUALIFIED
Costa A FigeroaItalyElwin Sharvill NEW
Ashley M VocelkaBrazilBernardo Dominic PROPOSAL
Octavia I PerinIndiaXuxue Feng NEW
Silvio P SergiArgentinaElwin Sharvill RENEWAL
Jefferson I NestleCanadaIoni Bowcher NEW
Adams P RulapaughFranceIvan Magalhaes RENEWAL
Ivar G StensethUnited KingdomElwin Sharvill RENEWAL
Clifford D DoeSpainStephen Shaw NEGOTIATION
Adams D RimArgentinaBernardo Dominic UNQUALIFIED
Kadeem J DilliardRussiaBernardo Dominic QUALIFIED
Kadeem M WieserSpainElwin Sharvill UNQUALIFIED
Jeanfrancois E MacleadRussiaAnna Fali PROPOSAL
Misaki H WhobreyIndiaBernardo Dominic UNQUALIFIED
Claire O CaudyIndiaAmy Elsner NEW
Tony A VocelkaRussiaAnna Fali NEW
Octavia B FigeroaFranceAnna Fali UNQUALIFIED
Mujtaba G KolmetzCanadaIvan Magalhaes NEW
James G BologniaAustraliaAmy Elsner NEGOTIATION
Silvio D RimIndiaIvan Magalhaes NEW
Stacey X RutaJapanStephen Shaw QUALIFIED
Izzy Q BowleyRussiaAmy Elsner NEGOTIATION
Izzy W RutaRussiaAnna Fali NEGOTIATION
Arvin K GauchoSpainBernardo Dominic PROPOSAL
Maisha O MaletBrazilStephen Shaw RENEWAL
Munro F GlickCanadaStephen Shaw QUALIFIED
Leja Z PaprockiAustraliaAmy Elsner QUALIFIED
Isabel P StockhamAustraliaIoni Bowcher RENEWAL
Mayumi E BologniaFranceAnna Fali NEGOTIATION
Octavia N MorascaJapanOnyama Limba NEGOTIATION
Kaitlin M CaldareraGermanyStephen Shaw PROPOSAL
David N BriddickGermanyAmy Elsner NEW
James N WhobreyAustraliaBernardo Dominic NEW
Ashley Q BologniaFranceIoni Bowcher UNQUALIFIED
Misaki V FlosiUnited KingdomElwin Sharvill QUALIFIED
Deepesh F BowleyJapanStephen Shaw RENEWAL
Wickens F MorascaJapanOnyama Limba NEW
Jennifer Q OldroydSpainElwin Sharvill UNQUALIFIED
Tony H AlbaresJapanBernardo Dominic UNQUALIFIED
Juan N GlickFranceIoni Bowcher QUALIFIED
Emily O BowleySpainIvan Magalhaes RENEWAL
Frozen Columns
Name
Jefferson C Slusarski
Tony F Gaucho
Faith G Albares
Deepesh Y Kusko
James K Butt
Francesco P Kolmetz
Antonio S Marrier
Johnson J Gaucho
Francesco H Rulapaugh
Ricardo X Amigon
Ivar X Poquette
Morrow E Caldarera
Juan F Stockham
Ricardo C Nestle
Antonio H Gillian
Juan Y Shinko
Jennifer A Dilliard
Juan M Marrier
Johnson H Figeroa
Isabel U Dilliard
Kaitlin F Doe
Claire S Gillian
Jones H Royster
Jeanfrancois L Flosi
Deepesh Z Perin
Deepesh K Kusko
Johnson H Venere
James R Paprocki
Arvin G Schemmer
Wickens D Chui
Antonio R Stenseth
Francesco H Bolognia
Isabel M Rim
Izzy G Rulapaugh
Morrow H Butt
Maisha E Waycott
David X Rulapaugh
James H Dilliard
Munro H Whobrey
Mujtaba O Ferencz
Leja R Saylors
Silvio G Bowley
Silvio I Slusarski
Silvio S Paprocki
Jennifer X Gaucho
Francesco Y Ruta
Francesco C Gillian
Julie E Royster
Izzy R Royster
Clifford K Darakjy
IdCountryDate
1000France2026-09-18
1001Japan2026-10-12
1002Italy2026-10-09
1003India2026-09-24
1004Italy2026-10-10
1005France2026-09-20
1006France2026-09-20
1007Canada2026-10-06
1008Germany2026-10-14
1009Germany2026-10-14
1010Japan2026-09-23
1011Germany2026-09-19
1012Italy2026-10-11
1013France2026-10-02
1014Japan2026-10-17
1015Italy2026-10-12
1016Brazil2026-10-07
1017Spain2026-09-29
1018Argentina2026-09-19
1019Germany2026-10-01
1020Italy2026-09-28
1021Canada2026-10-09
1022Germany2026-10-08
1023Spain2026-09-25
1024France2026-09-30
1025Brazil2026-09-19
1026Germany2026-10-03
1027India2026-09-23
1028Germany2026-09-28
1029Canada2026-09-22
1030United Kingdom2026-10-11
1031Canada2026-10-02
1032Argentina2026-10-16
1033Japan2026-09-30
1034France2026-10-03
1035France2026-10-12
1036Canada2026-09-26
1037Argentina2026-09-23
1038Germany2026-09-21
1039Brazil2026-09-24
1040Italy2026-09-28
1041Canada2026-09-30
1042United Kingdom2026-10-11
1043France2026-10-10
1044Canada2026-09-22
1045Spain2026-10-15
1046United Kingdom2026-10-04
1047Australia2026-10-10
1048India2026-09-26
1049Australia2026-09-29

On-Demand Data

NameIdCountryDate
Silvio X Gillian1000Australia2026-09-25
Chavez U Kusko1001Russia2026-10-14
Cody M Iturbide1002India2026-10-12
Nicolas H Venere1003India2026-10-05
Isabel E Morasca1004Argentina2026-09-20
Tony O Albares1005Brazil2026-09-19
Wickens I Schemmer1006Canada2026-10-09
Wickens O Ferencz1007Argentina2026-10-15
Clifford K Sergi1008Australia2026-10-12
Antonio Z Malet1009Italy2026-10-08
Alejandro X Gillian1010Australia2026-10-04
Sinclair K Wieser1011Germany2026-09-28
Kadeem F Albares1012France2026-09-21
Costa G Ostrosky1013Brazil2026-10-16
Jefferson D Dilliard1014Argentina2026-10-08
Sinclair H Waycott1015Australia2026-09-20
Antonio N Shinko1016Japan2026-10-01
Leon J Saylors1017Australia2026-09-29
Jennifer D Morasca1018Argentina2026-09-19
Morrow R Bolognia1019Canada2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem K KolmetzRussiaXuxue Feng PROPOSAL
Mujtaba F DilliardItalyAsiya Javayant NEW
Faith H BriddickRussiaStephen Shaw PROPOSAL
Jeanfrancois V VocelkaAustraliaOnyama Limba NEGOTIATION
Jefferson T WieserSpainStephen Shaw RENEWAL
Claire Q WhobreyGermanyIvan Magalhaes QUALIFIED
Cody S GauchoAustraliaOnyama Limba QUALIFIED
Greenwood C BriddickBrazilAmy Elsner PROPOSAL
Ricardo T ShinkoSpainAmy Elsner NEGOTIATION
Rodrigues Q AlbaresCanadaXuxue Feng NEW
Juan W SergiSpainOnyama Limba QUALIFIED
Wickens W SaylorsFranceIoni Bowcher RENEWAL
Aruna D BowleyCanadaOnyama Limba NEGOTIATION
Munro R CaldareraSpainAnna Fali QUALIFIED
Alejandro M StensethBrazilBernardo Dominic NEW
Clifford Q CaldareraJapanStephen Shaw RENEWAL
Jones N NestleGermanyAnna Fali NEGOTIATION
Leon W ShinkoArgentinaXuxue Feng RENEWAL
Kaitlin I FerenczRussiaIoni Bowcher NEGOTIATION
Darci S BologniaBrazilIoni Bowcher NEGOTIATION
Arvin S InouyeBrazilXuxue Feng RENEWAL
Aruna O PoquetteUnited KingdomAsiya Javayant RENEWAL
Mayumi L AmigonFranceIoni Bowcher NEW
Stacey F GarufiItalyAsiya Javayant NEGOTIATION
Emily U MarrierRussiaOnyama Limba UNQUALIFIED
Claire G FerenczItalyAsiya Javayant NEW
Alejandro K MorascaSpainBernardo Dominic NEGOTIATION
Stacey P SchemmerJapanXuxue Feng UNQUALIFIED
Maria N NestleFranceIoni Bowcher NEW
Julie J ButtIndiaXuxue Feng QUALIFIED
Tony W WhobreyFranceElwin Sharvill UNQUALIFIED
Octavia K AlbaresSpainIvan Magalhaes UNQUALIFIED
Stacey X MacleadArgentinaAmy Elsner NEGOTIATION
Misaki O SlusarskiGermanyOnyama Limba NEGOTIATION
Chavez A FigeroaCanadaBernardo Dominic NEW
Jennifer D MarrierSpainStephen Shaw NEW
Jones S RulapaughRussiaIoni Bowcher NEW
Misaki R GillianAustraliaElwin Sharvill UNQUALIFIED
James A PaprockiItalyAsiya Javayant PROPOSAL
Faith U InouyeFranceXuxue Feng NEW

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