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
Claire N KolmetzIndiaStephen Shaw NEW
Johnson N AlbaresBrazilXuxue Feng PROPOSAL
Darci O FerenczArgentinaAmy Elsner NEW
Jeanfrancois C BologniaCanadaStephen Shaw QUALIFIED
Ashley T MarrierArgentinaStephen Shaw NEGOTIATION
Silvio A CaldareraBrazilIvan Magalhaes UNQUALIFIED
Silvio Y ChuiArgentinaBernardo Dominic NEGOTIATION
Jeanfrancois T VenereJapanElwin Sharvill UNQUALIFIED
Misaki I KuskoSpainBernardo Dominic QUALIFIED
Faith S FollerSpainIoni Bowcher NEW
Emily Z BologniaItalyAnna Fali NEGOTIATION
Faith B VenereFranceAsiya Javayant PROPOSAL
Costa D PerinJapanAmy Elsner NEGOTIATION
Francesco G DilliardJapanAmy Elsner RENEWAL
Kaitlin W DilliardRussiaOnyama Limba RENEWAL
Cody Y TollnerArgentinaOnyama Limba NEW
Aruna N RulapaughFranceXuxue Feng UNQUALIFIED
Nicolas R MaletJapanStephen Shaw UNQUALIFIED
Ricardo S DilliardRussiaAsiya Javayant QUALIFIED
Kaitlin G SaylorsCanadaAnna Fali UNQUALIFIED
Deepesh O GauchoBrazilBernardo Dominic PROPOSAL
Stacey O GlickAustraliaElwin Sharvill PROPOSAL
Jones A FlosiGermanyXuxue Feng QUALIFIED
Adams W NickaAustraliaIvan Magalhaes NEW
Stacey E DilliardItalyElwin Sharvill QUALIFIED
Cody V WieserSpainElwin Sharvill PROPOSAL
Maisha V OstroskyGermanyAnna Fali RENEWAL
Juan L MacleadFranceElwin Sharvill PROPOSAL
Ricardo I VenereRussiaOnyama Limba NEGOTIATION
Johnson W BriddickRussiaAmy Elsner NEW
Maisha J RoysterIndiaXuxue Feng PROPOSAL
Jeanfrancois B MaletArgentinaXuxue Feng QUALIFIED
Salvatore B IturbideCanadaStephen Shaw RENEWAL
Wickens X GauchoAustraliaBernardo Dominic PROPOSAL
Aruna G StockhamBrazilElwin Sharvill NEW
Julie N OldroydArgentinaElwin Sharvill QUALIFIED
Aruna K OstroskyGermanyOnyama Limba PROPOSAL
Clifford W GillianIndiaIvan Magalhaes QUALIFIED
Antonio A AmigonSpainAmy Elsner PROPOSAL
Mujtaba V DilliardIndiaXuxue Feng UNQUALIFIED
Mujtaba V StensethIndiaElwin Sharvill RENEWAL
Faith T KolmetzCanadaBernardo Dominic RENEWAL
Aditya R MaletArgentinaIoni Bowcher QUALIFIED
Kaitlin M FlosiBrazilElwin Sharvill PROPOSAL
Aditya H StensethFranceOnyama Limba UNQUALIFIED
James T CaudyBrazilStephen Shaw UNQUALIFIED
Mujtaba O WieserFranceOnyama Limba NEW
Mujtaba Z BologniaItalyXuxue Feng QUALIFIED
Costa T DilliardJapanBernardo Dominic PROPOSAL
Greenwood B MaletRussiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow Z GarufiRussiaAsiya Javayant PROPOSAL
Costa Z InouyeUnited KingdomStephen Shaw PROPOSAL
Juan X BologniaJapanStephen Shaw NEW
Isabel C OldroydArgentinaBernardo Dominic PROPOSAL
Ashley S MacleadSpainXuxue Feng NEGOTIATION
James J WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Leja L BowleyArgentinaAnna Fali RENEWAL
Munro U WhobreyUnited KingdomAnna Fali PROPOSAL
Mayumi T GillianFranceOnyama Limba RENEWAL
Deepesh I MorascaIndiaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa I MacleadJapan2026-09-21Printing Dimensions PROPOSAL63Ivan Magalhaes
1001Smith G CampainItaly2026-09-19Buckley Miller Wright NEGOTIATION48Onyama Limba
1002Clifford G WieserFrance2026-10-16King, Christopher A Esq UNQUALIFIED59Stephen Shaw
1003Ricardo Z GillianUnited Kingdom2026-10-01Feltz Printing Service UNQUALIFIED37Bernardo Dominic
1004Jones P SaylorsRussia2026-10-13Commercial Press RENEWAL67Ivan Magalhaes
1005Mujtaba H ShinkoCanada2026-10-10Chanay, Jeffrey A Esq NEW24Ioni Bowcher
1006Kadeem L ChuiAustralia2026-09-27Printing Dimensions UNQUALIFIED78Amy Elsner
1007Leon V DarakjyIndia2026-10-10Commercial Press NEGOTIATION42Ioni Bowcher
1008Octavia M DarakjyRussia2026-09-23Chemel, James L Cpa NEW60Bernardo Dominic
1009Antonio Y MorascaJapan2026-10-02Chanay, Jeffrey A Esq NEGOTIATION62Xuxue Feng
1010Leja D SlusarskiRussia2026-10-09Buckley Miller Wright QUALIFIED31Asiya Javayant
1011Ashley J SlusarskiUnited Kingdom2026-09-23Truhlar And Truhlar Attys RENEWAL48Stephen Shaw
1012Nicolas Z StockhamIndia2026-10-10Rangoni Of Florence NEGOTIATION80Onyama Limba
1013Arvin L IturbideAustralia2026-10-04Feiner Bros UNQUALIFIED47Asiya Javayant
1014Jeanfrancois K WhobreyJapan2026-10-03Truhlar And Truhlar Attys PROPOSAL78Asiya Javayant
1015Faith O SaylorsBrazil2026-10-12Chapman, Ross E Esq QUALIFIED65Asiya Javayant
1016James D NickaItaly2026-09-25Feltz Printing Service UNQUALIFIED18Onyama Limba
1017Claire C NestleSpain2026-09-23Feltz Printing Service NEGOTIATION5Asiya Javayant
1018Jefferson H GlickSpain2026-10-14Commercial Press QUALIFIED33Ivan Magalhaes
1019James E PaprockiArgentina2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED65Anna Fali
1020Nicolas H FollerJapan2026-09-26Dorl, James J Esq UNQUALIFIED32Amy Elsner
1021Nicolas O ChuiItaly2026-09-25Feltz Printing Service UNQUALIFIED68Onyama Limba
1022Isabel B SlusarskiAustralia2026-09-19Rangoni Of Florence UNQUALIFIED10Amy Elsner
1023Jennifer R AlbaresGermany2026-10-11Chemel, James L Cpa NEW87Xuxue Feng
1024Jeanfrancois Y InouyeAustralia2026-09-27Morlong Associates QUALIFIED34Anna Fali
1025Leon C ChuiIndia2026-10-14Buckley Miller Wright NEW84Anna Fali
1026Faith L CaudyGermany2026-10-11Rousseaux, Michael Esq NEGOTIATION78Anna Fali
1027Antonio F CampainIndia2026-10-04King, Christopher A Esq NEGOTIATION47Anna Fali
1028Sinclair P FigeroaArgentina2026-10-11Commercial Press NEW89Ivan Magalhaes
1029Antonio C MarrierArgentina2026-09-17Rangoni Of Florence UNQUALIFIED22Ivan Magalhaes
1030David S WieserCanada2026-10-12Dorl, James J Esq NEW68Ivan Magalhaes
1031Jefferson R GauchoSpain2026-09-30Feiner Bros RENEWAL52Bernardo Dominic
1032Cody B WieserFrance2026-10-06Benton, John B Jr QUALIFIED31Amy Elsner
1033Maria M SlusarskiCanada2026-10-15Feiner Bros PROPOSAL92Stephen Shaw
1034Maisha M OstroskyJapan2026-09-26Chemel, James L Cpa NEGOTIATION48Onyama Limba
1035Morrow S KolmetzArgentina2026-09-25Feltz Printing Service QUALIFIED21Ivan Magalhaes
1036Mujtaba J FollerAustralia2026-10-15Rangoni Of Florence QUALIFIED69Anna Fali
1037Maisha Z ChuiFrance2026-09-20Rousseaux, Michael Esq NEGOTIATION91Xuxue Feng
1038David T GlickGermany2026-10-02Commercial Press RENEWAL65Xuxue Feng
1039Octavia X MarrierArgentina2026-09-19Truhlar And Truhlar Attys NEW74Ioni Bowcher
1040Kaitlin C RulapaughArgentina2026-09-19Rangoni Of Florence RENEWAL51Amy Elsner
1041Adams X GlickRussia2026-10-12Rangoni Of Florence NEGOTIATION59Amy Elsner
1042Kadeem U NestleItaly2026-09-30Rangoni Of Florence NEW90Amy Elsner
1043Greenwood N GlickBrazil2026-10-09Chemel, James L Cpa NEW97Xuxue Feng
1044Darci R MarrierJapan2026-09-25Printing Dimensions UNQUALIFIED4Stephen Shaw
1045Salvatore A CampainFrance2026-09-20Chemel, James L Cpa UNQUALIFIED74Xuxue Feng
1046Ashley N MorascaIndia2026-09-21Benton, John B Jr NEGOTIATION82Elwin Sharvill
1047James T DarakjyAustralia2026-09-26Rangoni Of Florence NEW6Stephen Shaw
1048Costa F TollnerGermany2026-09-30Commercial Press PROPOSAL41Asiya Javayant
1049Greenwood N MaletIndia2026-09-21Rangoni Of Florence PROPOSAL86Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Faith S OldroydSpainElwin Sharvill NEW
Faith Q OldroydFranceOnyama Limba NEGOTIATION
Jones D RulapaughGermanyOnyama Limba RENEWAL
Costa M SaylorsItalyAnna Fali PROPOSAL
Costa O IturbideJapanStephen Shaw RENEWAL
Arvin B AlbaresCanadaStephen Shaw NEW
Ricardo N GarufiFranceAsiya Javayant RENEWAL
Chavez J OstroskyUnited KingdomAsiya Javayant RENEWAL
Izzy U BriddickJapanAsiya Javayant QUALIFIED
Munro Q KolmetzUnited KingdomBernardo Dominic PROPOSAL
Antonio W NestleIndiaXuxue Feng NEGOTIATION
Adams O DarakjyFranceIoni Bowcher RENEWAL
Wickens F RimIndiaAmy Elsner NEW
Morrow Q InouyeUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues O MaletBrazilIoni Bowcher RENEWAL
Faith P SchemmerIndiaOnyama Limba QUALIFIED
Smith E SergiGermanyAsiya Javayant PROPOSAL
Darci B StensethUnited KingdomOnyama Limba NEW
Tony J NestleBrazilElwin Sharvill UNQUALIFIED
Darci Z WaycottCanadaIoni Bowcher NEW
Cody T CaudySpainIvan Magalhaes RENEWAL
Ashley W WaycottFranceAsiya Javayant RENEWAL
Misaki R GauchoFranceStephen Shaw UNQUALIFIED
Aika O PoquetteItalyIoni Bowcher NEW
Tony V CaudyIndiaIoni Bowcher NEW
Stacey X CampainArgentinaOnyama Limba PROPOSAL
Mujtaba R GillianFranceStephen Shaw PROPOSAL
Maria S CaldareraArgentinaAmy Elsner PROPOSAL
Kaitlin F FollerGermanyIoni Bowcher NEGOTIATION
Wickens M ShinkoCanadaAmy Elsner PROPOSAL
Darci P BriddickAustraliaAnna Fali PROPOSAL
Julie F NickaSpainAsiya Javayant PROPOSAL
James M GauchoUnited KingdomElwin Sharvill NEW
Wickens M RulapaughUnited KingdomBernardo Dominic QUALIFIED
Kadeem C SaylorsCanadaAnna Fali PROPOSAL
Smith O ButtFranceElwin Sharvill QUALIFIED
Ivar J CampainAustraliaElwin Sharvill PROPOSAL
David P KolmetzItalyIvan Magalhaes RENEWAL
David V StockhamArgentinaAmy Elsner NEW
Ashley C KolmetzJapanStephen Shaw PROPOSAL
Jennifer V IturbideJapanStephen Shaw NEGOTIATION
Tony G VenereBrazilAmy Elsner RENEWAL
Aika P WhobreySpainAnna Fali NEW
Izzy U StockhamJapanAsiya Javayant NEW
Aika X KolmetzBrazilAmy Elsner UNQUALIFIED
Kadeem S InouyeItalyIvan Magalhaes RENEWAL
Salvatore F BowleyRussiaAsiya Javayant PROPOSAL
Francesco C RulapaughAustraliaElwin Sharvill RENEWAL
Jones B AlbaresSpainAsiya Javayant QUALIFIED
Cody L KolmetzItalyAsiya Javayant NEW
Frozen Columns
Name
Juan W Rulapaugh
Clifford K Caudy
Munro X Chui
Emily R Garufi
Leon Q Morasca
Mujtaba A Albares
Aruna P Paprocki
James L Ferencz
Faith J Glick
Ashley H Rulapaugh
Jefferson X Wieser
Adams G Doe
Faith P Schemmer
Mayumi P Perin
Alejandro B Bolognia
Jeanfrancois E Poquette
Kadeem R Stenseth
Darci S Marrier
Emily E Slusarski
Antonio R Darakjy
Aditya V Dilliard
Claire T Campain
Juan Y Paprocki
Misaki T Paprocki
Claire E Chui
Octavia G Rulapaugh
Antonio J Doe
Ivar Q Kolmetz
Mujtaba Q Malet
Ricardo C Dilliard
Sinclair A Marrier
Ricardo U Campain
Alejandro Y Ruta
Wickens R Shinko
Maria O Ferencz
Murillo B Waycott
Maisha R Waycott
Faith T Ruta
Mujtaba Q Morasca
Cody Z Figeroa
Octavia S Chui
David P Whobrey
Kadeem R Figeroa
Faith P Tollner
Jones L Gillian
Jeanfrancois S Paprocki
Kadeem U Paprocki
Sinclair R Flosi
Izzy E Flosi
Murillo H Campain
IdCountryDate
1000Japan2026-10-01
1001Italy2026-10-03
1002France2026-09-24
1003Australia2026-10-03
1004United Kingdom2026-10-11
1005India2026-09-28
1006Canada2026-09-30
1007Spain2026-09-29
1008Australia2026-10-12
1009India2026-10-08
1010Japan2026-09-17
1011India2026-10-06
1012Brazil2026-10-05
1013Russia2026-10-16
1014Germany2026-10-04
1015India2026-10-09
1016Brazil2026-09-28
1017United Kingdom2026-10-13
1018Brazil2026-10-03
1019France2026-09-18
1020Brazil2026-10-12
1021Brazil2026-09-22
1022Australia2026-09-19
1023India2026-10-11
1024Italy2026-09-21
1025Brazil2026-10-05
1026United Kingdom2026-10-10
1027Japan2026-09-28
1028Canada2026-09-21
1029Canada2026-10-16
1030Russia2026-10-09
1031Argentina2026-10-08
1032Australia2026-09-26
1033Australia2026-09-23
1034India2026-10-08
1035Canada2026-10-03
1036India2026-09-24
1037United Kingdom2026-10-11
1038Japan2026-09-22
1039Japan2026-09-30
1040India2026-09-17
1041Argentina2026-10-12
1042India2026-10-02
1043Canada2026-09-25
1044India2026-09-29
1045United Kingdom2026-10-03
1046Brazil2026-09-24
1047Argentina2026-09-23
1048India2026-10-07
1049France2026-10-02

On-Demand Data

NameIdCountryDate
Cody H Slusarski1000Spain2026-10-12
Darci J Ferencz1001Spain2026-10-01
Rodrigues X Morasca1002Italy2026-09-19
Nicolas D Caudy1003Australia2026-09-21
Juan E Whobrey1004Russia2026-09-29
Jennifer M Garufi1005Australia2026-09-17
Aditya Z Perin1006Brazil2026-10-12
Nicolas Y Royster1007Japan2026-10-13
Jones K Ruta1008Japan2026-09-29
Clifford F Foller1009Brazil2026-10-03
Izzy E Amigon1010France2026-10-03
Octavia O Gaucho1011Spain2026-09-30
Jeanfrancois K Inouye1012France2026-09-29
Tony P Amigon1013United Kingdom2026-09-22
Julie V Garufi1014Brazil2026-09-24
Salvatore M Bolognia1015Russia2026-09-25
Kaitlin C Albares1016India2026-10-14
Juan Y Glick1017Canada2026-09-29
Jones O Dilliard1018India2026-09-21
Izzy M Stenseth1019Spain2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas A InouyeSpainIoni Bowcher UNQUALIFIED
Alejandro W MarrierCanadaBernardo Dominic RENEWAL
Jefferson C TollnerArgentinaElwin Sharvill QUALIFIED
Silvio E WieserUnited KingdomAnna Fali QUALIFIED
Aika C ButtGermanyAsiya Javayant UNQUALIFIED
Ricardo D FollerIndiaAsiya Javayant NEW
Clifford L KolmetzGermanyIvan Magalhaes NEGOTIATION
Julie A FollerGermanyIoni Bowcher QUALIFIED
Julie P InouyeJapanAmy Elsner QUALIFIED
Juan W FollerBrazilXuxue Feng QUALIFIED
Clifford G KuskoIndiaAmy Elsner RENEWAL
Kadeem R MacleadArgentinaAsiya Javayant PROPOSAL
Ricardo N GillianRussiaBernardo Dominic RENEWAL
Faith I MarrierBrazilXuxue Feng UNQUALIFIED
Munro J MaletFranceXuxue Feng PROPOSAL
Chavez B SergiUnited KingdomAsiya Javayant UNQUALIFIED
David K DoeCanadaBernardo Dominic NEGOTIATION
Leon V MarrierBrazilBernardo Dominic RENEWAL
Izzy K MaletItalyElwin Sharvill NEGOTIATION
Stacey X VocelkaArgentinaAsiya Javayant PROPOSAL
Ivar K SchemmerAustraliaAnna Fali QUALIFIED
Tony B PaprockiAustraliaStephen Shaw PROPOSAL
Aruna G BriddickJapanStephen Shaw QUALIFIED
Morrow Q ShinkoArgentinaAmy Elsner RENEWAL
Julie I NickaRussiaAsiya Javayant UNQUALIFIED
Mujtaba I DoeArgentinaElwin Sharvill RENEWAL
Deepesh S SaylorsBrazilStephen Shaw PROPOSAL
Mayumi A MorascaIndiaIvan Magalhaes NEGOTIATION
Costa K VocelkaItalyBernardo Dominic NEW
Aditya V BologniaRussiaAsiya Javayant NEGOTIATION
Rodrigues A CaldareraSpainAsiya Javayant PROPOSAL
Greenwood H NickaGermanyAsiya Javayant UNQUALIFIED
Kaitlin S SchemmerAustraliaIoni Bowcher UNQUALIFIED
Deepesh J OstroskyItalyIvan Magalhaes NEGOTIATION
Stacey Z SergiAustraliaXuxue Feng QUALIFIED
Jones V OldroydIndiaAsiya Javayant QUALIFIED
Jennifer Q BowleyItalyOnyama Limba NEGOTIATION
Stacey L MorascaGermanyAsiya Javayant RENEWAL
Antonio B FollerGermanyAsiya Javayant UNQUALIFIED
David L WaycottFranceStephen Shaw 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>