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 I VocelkaGermanyIvan Magalhaes NEW
Arvin N WhobreyJapanAmy Elsner PROPOSAL
Tony L NestleCanadaXuxue Feng UNQUALIFIED
Deepesh V GlickBrazilAmy Elsner UNQUALIFIED
David S ShinkoIndiaAsiya Javayant QUALIFIED
James A StensethJapanAmy Elsner NEGOTIATION
Isabel S ButtFranceOnyama Limba QUALIFIED
Salvatore D VenereFranceAmy Elsner QUALIFIED
Chavez G GarufiGermanyIoni Bowcher PROPOSAL
Octavia X MaletItalyAmy Elsner NEW
Francesco I RoysterAustraliaAmy Elsner RENEWAL
Aditya N RoysterFranceAnna Fali QUALIFIED
Arvin V MaletSpainXuxue Feng UNQUALIFIED
Rodrigues X WaycottSpainAmy Elsner UNQUALIFIED
Octavia O KolmetzBrazilBernardo Dominic UNQUALIFIED
Greenwood U RutaSpainAmy Elsner QUALIFIED
Emily F GauchoAustraliaIvan Magalhaes QUALIFIED
Cody Y AmigonItalyAmy Elsner NEGOTIATION
Kadeem S RulapaughUnited KingdomBernardo Dominic QUALIFIED
Greenwood Z OldroydArgentinaAsiya Javayant QUALIFIED
Jeanfrancois P IturbideFranceAnna Fali UNQUALIFIED
Isabel M SchemmerIndiaAsiya Javayant NEGOTIATION
James A KuskoJapanXuxue Feng UNQUALIFIED
Salvatore Q ChuiIndiaIvan Magalhaes QUALIFIED
Aditya C WhobreySpainOnyama Limba PROPOSAL
Alejandro V KuskoSpainAmy Elsner NEGOTIATION
Izzy F GauchoItalyElwin Sharvill QUALIFIED
Munro D CaudySpainAmy Elsner NEW
Mayumi U DoeAustraliaAsiya Javayant NEGOTIATION
Tony Z NestleArgentinaAsiya Javayant RENEWAL
Jones D StensethGermanyStephen Shaw UNQUALIFIED
Mayumi P PoquetteGermanyBernardo Dominic PROPOSAL
Silvio L WieserFranceStephen Shaw UNQUALIFIED
Ivar Q VocelkaGermanyBernardo Dominic PROPOSAL
Arvin N KuskoJapanAmy Elsner RENEWAL
Jeanfrancois O VocelkaUnited KingdomAmy Elsner NEW
Octavia A BologniaAustraliaElwin Sharvill RENEWAL
Kaitlin T AlbaresFranceElwin Sharvill RENEWAL
Mujtaba A GarufiSpainStephen Shaw UNQUALIFIED
James C SlusarskiGermanyOnyama Limba NEGOTIATION
Izzy H FollerItalyIvan Magalhaes QUALIFIED
Aruna N PaprockiJapanIoni Bowcher UNQUALIFIED
Deepesh Y PoquetteGermanyStephen Shaw UNQUALIFIED
Mayumi L ButtIndiaAsiya Javayant NEW
Deepesh L DilliardIndiaElwin Sharvill UNQUALIFIED
Leja H KuskoIndiaElwin Sharvill RENEWAL
Munro U CaldareraAustraliaAmy Elsner UNQUALIFIED
Ivar X VenereJapanElwin Sharvill QUALIFIED
Arvin R IturbideBrazilBernardo Dominic NEW
David W KolmetzBrazilAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair S VenereItalyXuxue Feng UNQUALIFIED
Izzy U FerenczJapanAmy Elsner PROPOSAL
Cody D GarufiJapanIvan Magalhaes RENEWAL
Murillo Q IturbideIndiaBernardo Dominic QUALIFIED
Mujtaba P DarakjyFranceElwin Sharvill NEGOTIATION
Faith P PaprockiSpainOnyama Limba QUALIFIED
Cody V FigeroaCanadaIoni Bowcher NEW
Murillo T KolmetzArgentinaAsiya Javayant PROPOSAL
Aika Z CampainIndiaIoni Bowcher UNQUALIFIED
Ashley X KolmetzItalyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo O OldroydRussia2026-10-03Chanay, Jeffrey A Esq PROPOSAL42Onyama Limba
1001Claire B StensethJapan2026-10-05Chemel, James L Cpa NEW55Stephen Shaw
1002Maria L SlusarskiGermany2026-10-09Buckley Miller Wright QUALIFIED59Onyama Limba
1003Juan M WhobreyItaly2026-10-12Feltz Printing Service NEW98Elwin Sharvill
1004Cody U ShinkoBrazil2026-10-08Chemel, James L Cpa RENEWAL39Elwin Sharvill
1005Johnson Z AlbaresJapan2026-10-28Feiner Bros NEW42Onyama Limba
1006Isabel T NickaJapan2026-10-10Buckley Miller Wright QUALIFIED74Stephen Shaw
1007Cody A SergiCanada2026-10-19Morlong Associates NEGOTIATION24Stephen Shaw
1008Ivar X IturbideFrance2026-10-23Morlong Associates UNQUALIFIED32Anna Fali
1009Antonio Z KolmetzJapan2026-10-26Feiner Bros NEW26Elwin Sharvill
1010Jennifer O FerenczBrazil2026-10-02Feltz Printing Service NEGOTIATION78Xuxue Feng
1011Clifford P BriddickGermany2026-10-11Rousseaux, Michael Esq QUALIFIED14Anna Fali
1012Clifford S NestleBrazil2026-10-16Feltz Printing Service RENEWAL68Ivan Magalhaes
1013Maria Y ChuiArgentina2026-10-09Buckley Miller Wright RENEWAL27Amy Elsner
1014Aditya C RoysterArgentina2026-10-15Dorl, James J Esq PROPOSAL54Onyama Limba
1015Jones P GauchoFrance2026-10-04Chemel, James L Cpa NEGOTIATION15Stephen Shaw
1016Costa D GlickGermany2026-10-27Chanay, Jeffrey A Esq PROPOSAL80Bernardo Dominic
1017Arvin P GillianCanada2026-10-16Benton, John B Jr PROPOSAL0Xuxue Feng
1018Julie O RulapaughIndia2026-10-01Benton, John B Jr RENEWAL58Bernardo Dominic
1019Ivar X SlusarskiGermany2026-10-15Buckley Miller Wright PROPOSAL59Ioni Bowcher
1020Adams V BriddickSpain2026-10-19Rousseaux, Michael Esq PROPOSAL23Elwin Sharvill
1021Salvatore J PoquetteGermany2026-10-06Rousseaux, Michael Esq UNQUALIFIED4Xuxue Feng
1022Juan H FollerBrazil2026-10-19Truhlar And Truhlar Attys RENEWAL93Anna Fali
1023Sinclair L NestleIndia2026-10-15Feltz Printing Service NEGOTIATION28Ivan Magalhaes
1024Misaki A MarrierBrazil2026-10-03Dorl, James J Esq QUALIFIED97Ioni Bowcher
1025Leja Y MaletJapan2026-10-27Feiner Bros UNQUALIFIED6Elwin Sharvill
1026Adams O InouyeArgentina2026-10-22Rangoni Of Florence RENEWAL98Elwin Sharvill
1027Clifford S SaylorsCanada2026-10-27Printing Dimensions QUALIFIED57Elwin Sharvill
1028Chavez W SchemmerGermany2026-10-02King, Christopher A Esq RENEWAL5Onyama Limba
1029Ricardo H RoysterIndia2026-10-02Printing Dimensions NEGOTIATION64Onyama Limba
1030Darci Q GillianArgentina2026-10-16Rangoni Of Florence PROPOSAL70Asiya Javayant
1031Chavez D PerinAustralia2026-10-06King, Christopher A Esq PROPOSAL72Elwin Sharvill
1032Jefferson C DilliardCanada2026-10-09Dorl, James J Esq NEW39Elwin Sharvill
1033Leja Y GlickRussia2026-10-11Chemel, James L Cpa PROPOSAL13Anna Fali
1034Francesco R RimSpain2026-10-28Benton, John B Jr UNQUALIFIED89Ivan Magalhaes
1035Leja L MaletJapan2026-10-07Commercial Press RENEWAL51Xuxue Feng
1036Maria T WieserCanada2026-10-14Feiner Bros RENEWAL86Xuxue Feng
1037Aruna N FigeroaIndia2026-10-28King, Christopher A Esq NEGOTIATION63Anna Fali
1038Jefferson D RoysterFrance2026-10-09Printing Dimensions RENEWAL72Xuxue Feng
1039Murillo T InouyeRussia2026-10-23Commercial Press NEGOTIATION50Elwin Sharvill
1040Isabel C RutaArgentina2026-10-01King, Christopher A Esq NEW72Ioni Bowcher
1041Emily E MarrierIndia2026-10-22Chemel, James L Cpa PROPOSAL11Amy Elsner
1042Antonio T MacleadUnited Kingdom2026-10-24Feiner Bros RENEWAL19Bernardo Dominic
1043Silvio C GarufiSpain2026-10-03Dorl, James J Esq NEW30Ivan Magalhaes
1044Murillo H MarrierIndia2026-10-19Feiner Bros QUALIFIED87Asiya Javayant
1045Clifford S MarrierSpain2026-10-05Morlong Associates UNQUALIFIED81Onyama Limba
1046Deepesh B GlickItaly2026-10-25Feiner Bros PROPOSAL28Ivan Magalhaes
1047Juan E GarufiUnited Kingdom2026-10-16Benton, John B Jr PROPOSAL14Stephen Shaw
1048Jennifer D MorascaIndia2026-10-12Dorl, James J Esq UNQUALIFIED83Elwin Sharvill
1049Tony G SergiArgentina2026-10-22Chapman, Ross E Esq UNQUALIFIED3Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin F StensethRussiaIvan Magalhaes RENEWAL
Juan J SchemmerBrazilXuxue Feng NEW
Aruna E BriddickSpainAsiya Javayant UNQUALIFIED
Ivar W PaprockiGermanyElwin Sharvill UNQUALIFIED
David I SlusarskiRussiaAmy Elsner RENEWAL
Emily G AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
David F FerenczAustraliaElwin Sharvill NEW
Jeanfrancois T StensethGermanyStephen Shaw PROPOSAL
Silvio T WieserFranceAsiya Javayant PROPOSAL
Adams V InouyeJapanXuxue Feng RENEWAL
Juan M VenereCanadaElwin Sharvill UNQUALIFIED
Jefferson V SchemmerSpainIvan Magalhaes PROPOSAL
Misaki C MaletIndiaElwin Sharvill NEW
Emily M MaletGermanyOnyama Limba QUALIFIED
Izzy K MaletBrazilAmy Elsner NEW
Arvin F SergiBrazilIoni Bowcher NEW
Cody N GillianCanadaXuxue Feng NEGOTIATION
Adams S MacleadFranceAsiya Javayant NEW
Antonio P PerinJapanStephen Shaw NEW
Nicolas Q PaprockiItalyAnna Fali UNQUALIFIED
Leon C BologniaRussiaAnna Fali NEW
Johnson D PoquetteRussiaOnyama Limba NEW
Kaitlin N RulapaughRussiaBernardo Dominic PROPOSAL
Faith D AmigonCanadaElwin Sharvill PROPOSAL
Deepesh Z MorascaItalyXuxue Feng PROPOSAL
Stacey O GillianSpainAsiya Javayant NEW
Jeanfrancois T WieserBrazilAmy Elsner NEGOTIATION
Aditya S DoeIndiaBernardo Dominic UNQUALIFIED
Costa G VenereAustraliaAmy Elsner NEW
Greenwood U BologniaRussiaBernardo Dominic UNQUALIFIED
Jennifer B ButtAustraliaIvan Magalhaes PROPOSAL
Juan T ButtAustraliaIvan Magalhaes QUALIFIED
Darci P AmigonIndiaOnyama Limba RENEWAL
Jeanfrancois P IturbideGermanyBernardo Dominic RENEWAL
Faith C ChuiItalyIoni Bowcher NEW
Nicolas A FlosiUnited KingdomXuxue Feng QUALIFIED
Salvatore D MaletBrazilAnna Fali PROPOSAL
Stacey S MarrierAustraliaAmy Elsner QUALIFIED
Ivar Z VenereIndiaAsiya Javayant QUALIFIED
Antonio L MacleadArgentinaAsiya Javayant NEGOTIATION
Salvatore U RoysterBrazilAmy Elsner NEGOTIATION
Mujtaba W VocelkaBrazilElwin Sharvill NEW
Ivar P OstroskySpainXuxue Feng RENEWAL
Aika W WaycottUnited KingdomStephen Shaw NEGOTIATION
Leon L VenereRussiaAsiya Javayant NEW
Darci P StockhamAustraliaXuxue Feng RENEWAL
Tony J VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Jeanfrancois U MarrierArgentinaIvan Magalhaes NEW
Octavia P PoquetteGermanyXuxue Feng PROPOSAL
Faith B MarrierCanadaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Isabel M Paprocki
Ricardo M Gillian
James A Schemmer
Chavez F Flosi
Cody B Wieser
Johnson C Rulapaugh
Johnson M Morasca
Nicolas T Venere
Juan N Bowley
Alejandro P Bolognia
Aditya N Perin
James I Foller
Mujtaba A Amigon
Adams I Foller
Francesco J Morasca
Aruna A Flosi
Mayumi P Nestle
Clifford C Kolmetz
Leja O Iturbide
Darci I Shinko
Alejandro F Saylors
Maria F Kolmetz
Claire Y Amigon
Darci R Kolmetz
Francesco P Shinko
Smith D Tollner
Aruna E Schemmer
Jeanfrancois P Whobrey
Ashley L Gillian
Silvio L Royster
Izzy H Perin
Jefferson U Chui
Aruna A Rulapaugh
Salvatore V Bolognia
Aruna A Iturbide
Maisha I Albares
Smith Y Briddick
Ricardo V Chui
Rodrigues Q Ostrosky
Salvatore V Amigon
Smith N Sergi
Adams R Nicka
Darci V Campain
Emily A Tollner
Chavez K Whobrey
Maria I Vocelka
Morrow J Rim
Morrow W Flosi
Maria P Nicka
Jennifer M Inouye
IdCountryDate
1000Australia2026-10-02
1001France2026-10-22
1002Russia2026-10-25
1003Argentina2026-09-29
1004Australia2026-10-12
1005Brazil2026-10-28
1006Russia2026-10-12
1007Germany2026-10-01
1008Brazil2026-10-10
1009Russia2026-10-21
1010Brazil2026-10-19
1011France2026-10-01
1012India2026-10-17
1013Germany2026-09-29
1014France2026-10-11
1015Brazil2026-10-23
1016Argentina2026-09-29
1017Japan2026-10-08
1018Canada2026-10-19
1019Russia2026-10-23
1020India2026-10-18
1021Russia2026-10-23
1022Spain2026-10-19
1023United Kingdom2026-10-28
1024France2026-10-19
1025Australia2026-10-04
1026Japan2026-10-05
1027United Kingdom2026-10-21
1028Spain2026-10-10
1029France2026-10-12
1030France2026-10-17
1031Russia2026-10-10
1032Japan2026-10-24
1033India2026-09-29
1034Brazil2026-09-29
1035Canada2026-10-08
1036Spain2026-10-02
1037Russia2026-10-05
1038India2026-10-23
1039Australia2026-10-16
1040Japan2026-10-04
1041United Kingdom2026-10-12
1042United Kingdom2026-10-02
1043India2026-10-10
1044Australia2026-10-10
1045Spain2026-10-12
1046Australia2026-10-28
1047Canada2026-10-05
1048Spain2026-10-09
1049Germany2026-10-20

On-Demand Data

NameIdCountryDate
Johnson E Malet1000Argentina2026-10-20
Antonio L Royster1001Brazil2026-10-13
Munro K Figeroa1002Japan2026-10-27
Jones P Caldarera1003France2026-10-19
Maria K Ostrosky1004Spain2026-10-20
Octavia P Flosi1005Italy2026-10-16
Kadeem J Ruta1006Germany2026-10-10
Cody V Venere1007Germany2026-10-04
Greenwood S Amigon1008Italy2026-10-19
Arvin R Vocelka1009Russia2026-10-01
James S Darakjy1010France2026-10-17
Deepesh Q Royster1011Russia2026-10-10
Ricardo E Oldroyd1012Japan2026-10-21
Leja X Royster1013Germany2026-10-16
Octavia V Campain1014Japan2026-10-13
Izzy J Kolmetz1015France2026-10-01
Alejandro S Paprocki1016Argentina2026-10-27
Claire U Slusarski1017Spain2026-10-28
Johnson D Glick1018India2026-10-02
Jennifer Z Campain1019Australia2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson J CampainGermanyIoni Bowcher NEGOTIATION
Darci I GarufiSpainBernardo Dominic NEGOTIATION
Murillo S VocelkaFranceBernardo Dominic PROPOSAL
Mujtaba Q CaldareraItalyIvan Magalhaes NEGOTIATION
Aruna D CaudySpainAsiya Javayant PROPOSAL
Murillo C PerinFranceOnyama Limba QUALIFIED
Jefferson Y AmigonAustraliaIoni Bowcher PROPOSAL
Ashley H MaletGermanyStephen Shaw PROPOSAL
James F FigeroaBrazilAmy Elsner NEGOTIATION
Izzy Q RulapaughSpainElwin Sharvill RENEWAL
Costa D PaprockiGermanyXuxue Feng RENEWAL
Mujtaba Z DoeAustraliaBernardo Dominic QUALIFIED
Francesco A DilliardRussiaIvan Magalhaes PROPOSAL
Munro M RutaFranceXuxue Feng UNQUALIFIED
Smith U VenereSpainElwin Sharvill QUALIFIED
Antonio V FerenczAustraliaAnna Fali QUALIFIED
Tony X VenereJapanElwin Sharvill QUALIFIED
Maria L GlickAustraliaAmy Elsner QUALIFIED
Jennifer E DarakjyItalyIvan Magalhaes UNQUALIFIED
Clifford E GillianIndiaOnyama Limba UNQUALIFIED
Jeanfrancois T PaprockiSpainAnna Fali RENEWAL
Clifford E ButtIndiaStephen Shaw QUALIFIED
Clifford X WhobreyRussiaAnna Fali NEW
Wickens Y MorascaIndiaIvan Magalhaes UNQUALIFIED
Johnson V ButtGermanyAnna Fali PROPOSAL
Tony U GlickBrazilIvan Magalhaes NEGOTIATION
Maisha C MaletIndiaXuxue Feng NEGOTIATION
Jones D AlbaresBrazilIoni Bowcher NEGOTIATION
Maria G TollnerRussiaIvan Magalhaes RENEWAL
Adams A MorascaSpainIvan Magalhaes UNQUALIFIED
Antonio N MarrierIndiaIoni Bowcher NEGOTIATION
Misaki L GauchoAustraliaAsiya Javayant RENEWAL
Izzy I FigeroaBrazilIvan Magalhaes NEGOTIATION
Murillo E GlickBrazilAmy Elsner NEW
Wickens O FigeroaIndiaStephen Shaw UNQUALIFIED
Maria K BologniaAustraliaXuxue Feng PROPOSAL
Aika A PaprockiArgentinaIvan Magalhaes PROPOSAL
Octavia V MaletFranceIoni Bowcher UNQUALIFIED
Aditya H BowleyCanadaAnna Fali UNQUALIFIED
Jennifer T GauchoIndiaIoni 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>