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
Munro S IturbideUnited KingdomStephen Shaw PROPOSAL
Costa L GarufiAustraliaOnyama Limba NEW
Aruna T FigeroaAustraliaXuxue Feng QUALIFIED
Johnson D OstroskyCanadaOnyama Limba NEW
Kadeem Y VenereItalyAnna Fali PROPOSAL
Jeanfrancois M DarakjyItalyBernardo Dominic NEW
Costa G TollnerGermanyIoni Bowcher NEGOTIATION
Costa K DoeCanadaXuxue Feng NEGOTIATION
Chavez F FigeroaIndiaBernardo Dominic NEW
Izzy O NickaFranceAnna Fali RENEWAL
Stacey H SchemmerSpainXuxue Feng PROPOSAL
Leon S MaletRussiaXuxue Feng QUALIFIED
Greenwood R NickaBrazilStephen Shaw NEW
Leon U GarufiBrazilXuxue Feng UNQUALIFIED
Cody Q SaylorsSpainBernardo Dominic PROPOSAL
Salvatore I VocelkaSpainAsiya Javayant QUALIFIED
Munro F FerenczArgentinaAsiya Javayant QUALIFIED
Chavez M StensethBrazilAnna Fali UNQUALIFIED
Rodrigues R VocelkaRussiaOnyama Limba RENEWAL
Francesco X BriddickRussiaAsiya Javayant RENEWAL
Munro Z StockhamUnited KingdomStephen Shaw UNQUALIFIED
Costa S AmigonGermanyAsiya Javayant PROPOSAL
Morrow J OldroydJapanAnna Fali RENEWAL
Salvatore K BologniaSpainAmy Elsner NEW
Silvio E RulapaughRussiaOnyama Limba UNQUALIFIED
Sinclair Q OldroydFranceIoni Bowcher QUALIFIED
David W StockhamCanadaElwin Sharvill RENEWAL
Kadeem S FerenczFranceAnna Fali NEGOTIATION
Silvio U MorascaBrazilAnna Fali QUALIFIED
Jones B GlickItalyAmy Elsner PROPOSAL
Kadeem L GlickIndiaIvan Magalhaes NEGOTIATION
Clifford H FerenczSpainIvan Magalhaes UNQUALIFIED
Johnson P TollnerAustraliaBernardo Dominic QUALIFIED
Jefferson U AmigonCanadaAsiya Javayant NEGOTIATION
Leja Q WhobreyItalyBernardo Dominic PROPOSAL
Aruna A PerinBrazilIvan Magalhaes UNQUALIFIED
Alejandro A InouyeUnited KingdomXuxue Feng UNQUALIFIED
Juan R ChuiUnited KingdomAmy Elsner UNQUALIFIED
Isabel O KolmetzBrazilAmy Elsner NEGOTIATION
Ivar E FerenczSpainOnyama Limba PROPOSAL
Octavia H NickaArgentinaStephen Shaw UNQUALIFIED
Deepesh G MaletRussiaOnyama Limba NEGOTIATION
Jefferson F MaletGermanyAmy Elsner NEW
Octavia D BologniaBrazilOnyama Limba NEW
Mujtaba I SaylorsIndiaXuxue Feng NEGOTIATION
Stacey F WieserSpainOnyama Limba PROPOSAL
Aika J RimAustraliaAnna Fali PROPOSAL
Antonio O TollnerArgentinaBernardo Dominic PROPOSAL
Maisha F FigeroaItalyXuxue Feng RENEWAL
Emily O PerinBrazilBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody U ChuiAustraliaStephen Shaw UNQUALIFIED
Jennifer E RulapaughJapanBernardo Dominic NEGOTIATION
Julie R OldroydItalyXuxue Feng QUALIFIED
Stacey T FerenczSpainIoni Bowcher NEW
Rodrigues R GauchoSpainStephen Shaw UNQUALIFIED
Silvio D DarakjySpainStephen Shaw QUALIFIED
Faith Q GarufiIndiaAnna Fali QUALIFIED
Isabel K MarrierAustraliaOnyama Limba UNQUALIFIED
James S WaycottArgentinaIoni Bowcher NEGOTIATION
Emily Q PoquetteAustraliaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki T FigeroaArgentina2026-09-19Chapman, Ross E Esq PROPOSAL95Bernardo Dominic
1001Emily F AmigonRussia2026-09-18Truhlar And Truhlar Attys PROPOSAL16Bernardo Dominic
1002Murillo Y SergiGermany2026-09-12Rangoni Of Florence NEW83Elwin Sharvill
1003Sinclair E CaldareraRussia2026-09-22Buckley Miller Wright RENEWAL3Asiya Javayant
1004Misaki T DilliardJapan2026-09-07Rousseaux, Michael Esq QUALIFIED32Amy Elsner
1005Salvatore Q WieserBrazil2026-09-14Truhlar And Truhlar Attys NEGOTIATION75Stephen Shaw
1006Chavez R VocelkaJapan2026-09-09Chanay, Jeffrey A Esq QUALIFIED83Bernardo Dominic
1007Leon V FollerAustralia2026-08-31King, Christopher A Esq QUALIFIED42Amy Elsner
1008Jefferson R PerinCanada2026-09-05Benton, John B Jr QUALIFIED76Amy Elsner
1009Isabel K GauchoRussia2026-08-31Rousseaux, Michael Esq UNQUALIFIED39Xuxue Feng
1010Rodrigues Q PaprockiJapan2026-09-06Printing Dimensions PROPOSAL53Asiya Javayant
1011Maria M RutaArgentina2026-09-16Benton, John B Jr RENEWAL42Ivan Magalhaes
1012Jeanfrancois G FollerGermany2026-09-01Rousseaux, Michael Esq PROPOSAL28Stephen Shaw
1013Antonio G MarrierSpain2026-08-30King, Christopher A Esq UNQUALIFIED56Bernardo Dominic
1014Juan P ShinkoFrance2026-09-02King, Christopher A Esq UNQUALIFIED9Xuxue Feng
1015Aditya V GlickRussia2026-09-12Rangoni Of Florence NEGOTIATION16Asiya Javayant
1016Clifford G ButtUnited Kingdom2026-09-22Feiner Bros PROPOSAL91Stephen Shaw
1017Adams W AmigonUnited Kingdom2026-09-13Feiner Bros PROPOSAL56Onyama Limba
1018Leon I BriddickAustralia2026-09-11Chemel, James L Cpa QUALIFIED7Elwin Sharvill
1019Jones W KolmetzArgentina2026-09-23Commercial Press NEGOTIATION11Stephen Shaw
1020Leja N WieserCanada2026-09-15Feltz Printing Service NEGOTIATION57Ioni Bowcher
1021Clifford M GarufiSpain2026-09-16Rousseaux, Michael Esq NEGOTIATION34Xuxue Feng
1022Claire M InouyeJapan2026-09-12Rangoni Of Florence QUALIFIED76Amy Elsner
1023Aika H VenereAustralia2026-09-14Dorl, James J Esq NEW97Asiya Javayant
1024Ivar Q AlbaresIndia2026-09-16Printing Dimensions UNQUALIFIED53Ioni Bowcher
1025Nicolas G GlickArgentina2026-09-02Truhlar And Truhlar Attys RENEWAL12Bernardo Dominic
1026Greenwood B FlosiArgentina2026-09-16Feiner Bros RENEWAL5Stephen Shaw
1027Ivar Y RulapaughArgentina2026-09-12King, Christopher A Esq PROPOSAL88Elwin Sharvill
1028Silvio O MaletFrance2026-09-16Chapman, Ross E Esq PROPOSAL45Elwin Sharvill
1029Izzy L DilliardSpain2026-09-22Commercial Press UNQUALIFIED74Asiya Javayant
1030Alejandro J NestleRussia2026-09-19Truhlar And Truhlar Attys NEW93Bernardo Dominic
1031Julie S MarrierGermany2026-09-01Rangoni Of Florence QUALIFIED26Ivan Magalhaes
1032Leja T KuskoGermany2026-09-06Feltz Printing Service PROPOSAL14Stephen Shaw
1033Leja N CampainRussia2026-09-09Benton, John B Jr RENEWAL55Elwin Sharvill
1034Murillo J FerenczUnited Kingdom2026-09-19Printing Dimensions QUALIFIED35Bernardo Dominic
1035Morrow Q PerinCanada2026-09-22Buckley Miller Wright PROPOSAL41Elwin Sharvill
1036Aika F BriddickGermany2026-09-14Rousseaux, Michael Esq NEGOTIATION45Ivan Magalhaes
1037David D GauchoJapan2026-08-30Feltz Printing Service PROPOSAL45Asiya Javayant
1038Arvin F GarufiIndia2026-09-21Feiner Bros PROPOSAL84Elwin Sharvill
1039Costa U VocelkaJapan2026-09-07Buckley Miller Wright RENEWAL37Ioni Bowcher
1040Tony H WieserBrazil2026-09-22Chanay, Jeffrey A Esq QUALIFIED12Ivan Magalhaes
1041Greenwood T BriddickItaly2026-09-10Commercial Press UNQUALIFIED64Asiya Javayant
1042Isabel M OstroskyItaly2026-09-19Printing Dimensions RENEWAL21Onyama Limba
1043Arvin T VenereRussia2026-09-06Feltz Printing Service QUALIFIED57Ioni Bowcher
1044Faith O InouyeBrazil2026-09-12Dorl, James J Esq QUALIFIED19Amy Elsner
1045Aika R WaycottJapan2026-09-10Printing Dimensions NEW38Asiya Javayant
1046Kaitlin O RimBrazil2026-08-31Chapman, Ross E Esq NEW20Elwin Sharvill
1047Claire B FigeroaSpain2026-09-25Commercial Press NEW84Bernardo Dominic
1048Misaki K SlusarskiJapan2026-09-14Rangoni Of Florence QUALIFIED58Amy Elsner
1049Silvio R RimSpain2026-08-30Chanay, Jeffrey A Esq NEGOTIATION7Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David G InouyeUnited KingdomBernardo Dominic PROPOSAL
Deepesh R WieserItalyXuxue Feng RENEWAL
Aruna C WhobreyGermanyElwin Sharvill NEGOTIATION
Kadeem D WaycottIndiaOnyama Limba NEGOTIATION
Silvio U AmigonFranceAsiya Javayant NEGOTIATION
Emily Y SaylorsBrazilStephen Shaw NEGOTIATION
Maisha H DilliardFranceElwin Sharvill RENEWAL
Isabel F FerenczBrazilXuxue Feng UNQUALIFIED
David Q GarufiRussiaAnna Fali UNQUALIFIED
Juan F InouyeJapanBernardo Dominic UNQUALIFIED
Jones N BowleyItalyBernardo Dominic RENEWAL
Mujtaba E NickaUnited KingdomAsiya Javayant UNQUALIFIED
Morrow E RoysterIndiaIoni Bowcher RENEWAL
Jeanfrancois E StensethItalyIoni Bowcher PROPOSAL
Francesco M InouyeRussiaAnna Fali NEGOTIATION
Johnson U DarakjyAustraliaStephen Shaw NEW
Wickens H RimJapanStephen Shaw NEW
Kadeem B RulapaughSpainIvan Magalhaes QUALIFIED
Sinclair B NestleArgentinaStephen Shaw RENEWAL
Leja Z NickaGermanyOnyama Limba NEW
Stacey N RoysterRussiaIoni Bowcher NEW
Leja T KuskoGermanyOnyama Limba RENEWAL
Izzy I MorascaFranceIvan Magalhaes PROPOSAL
Misaki K SlusarskiBrazilAsiya Javayant QUALIFIED
Sinclair O BriddickRussiaStephen Shaw NEGOTIATION
Claire O CaudySpainAsiya Javayant QUALIFIED
David K NestleRussiaXuxue Feng NEGOTIATION
Antonio F MaletSpainAsiya Javayant NEW
Arvin I RimIndiaBernardo Dominic NEGOTIATION
Aditya K FlosiJapanIvan Magalhaes RENEWAL
Francesco M StockhamIndiaAsiya Javayant UNQUALIFIED
Jefferson S MorascaRussiaAmy Elsner UNQUALIFIED
Mujtaba I FerenczIndiaIoni Bowcher NEW
Leja N RulapaughUnited KingdomXuxue Feng NEGOTIATION
Francesco U MaletIndiaOnyama Limba NEGOTIATION
Clifford R FlosiFranceAnna Fali NEGOTIATION
Kadeem M FollerUnited KingdomXuxue Feng NEGOTIATION
Kaitlin R RutaSpainAnna Fali NEW
Morrow I BologniaGermanyElwin Sharvill QUALIFIED
Tony C GlickArgentinaIvan Magalhaes RENEWAL
Jones J WieserGermanyAnna Fali PROPOSAL
Francesco Y PerinArgentinaBernardo Dominic NEW
Maisha C OldroydSpainAnna Fali NEW
Isabel U VenereFranceAmy Elsner NEGOTIATION
Kaitlin M RoysterArgentinaIoni Bowcher QUALIFIED
Antonio Z FlosiArgentinaOnyama Limba RENEWAL
Smith J ShinkoRussiaIvan Magalhaes RENEWAL
Aika N FollerItalyElwin Sharvill UNQUALIFIED
Octavia G GarufiFranceIoni Bowcher QUALIFIED
Emily O SlusarskiAustraliaXuxue Feng QUALIFIED
Frozen Columns
Name
Johnson H Nestle
Munro K Malet
Smith Q Ostrosky
James T Stenseth
Jeanfrancois L Stenseth
Rodrigues M Campain
Clifford Y Iturbide
Antonio U Foller
James X Inouye
Juan V Malet
David I Ostrosky
Munro H Slusarski
Claire J Morasca
Aditya T Doe
Aruna J Nicka
Octavia K Stockham
Julie Q Ostrosky
Julie D Kolmetz
Antonio W Morasca
Isabel D Perin
Jones I Darakjy
Kadeem A Tollner
Aika N Poquette
Isabel F Campain
Aika O Flosi
Smith C Rim
Faith X Oldroyd
Chavez O Figeroa
Kaitlin O Shinko
Munro U Whobrey
Deepesh X Malet
Kaitlin C Vocelka
Arvin A Kolmetz
Cody M Nestle
Chavez B Doe
Smith M Schemmer
Arvin Y Poquette
Leon N Amigon
Murillo Y Flosi
Stacey J Figeroa
Cody M Dilliard
Kaitlin N Dilliard
Tony O Ruta
Silvio Y Bolognia
Maisha P Bolognia
Sinclair Z Slusarski
Silvio D Paprocki
David G Briddick
Rodrigues H Perin
Chavez L Oldroyd
IdCountryDate
1000Germany2026-09-18
1001Argentina2026-09-15
1002Russia2026-09-13
1003Russia2026-09-09
1004India2026-08-31
1005Canada2026-09-13
1006Australia2026-09-02
1007Canada2026-09-22
1008Brazil2026-08-31
1009France2026-09-01
1010Germany2026-09-18
1011India2026-09-11
1012Brazil2026-08-28
1013Japan2026-09-13
1014Japan2026-09-17
1015France2026-09-14
1016Japan2026-08-29
1017France2026-09-08
1018Australia2026-09-25
1019France2026-09-25
1020Brazil2026-09-02
1021United Kingdom2026-09-19
1022India2026-09-16
1023India2026-09-04
1024Canada2026-08-28
1025Russia2026-08-27
1026Germany2026-09-04
1027France2026-09-18
1028Japan2026-09-02
1029Brazil2026-09-03
1030Germany2026-09-03
1031Brazil2026-09-03
1032Japan2026-09-09
1033United Kingdom2026-09-14
1034India2026-08-30
1035Australia2026-08-27
1036France2026-09-10
1037Russia2026-09-22
1038Russia2026-08-28
1039Brazil2026-09-11
1040United Kingdom2026-09-08
1041Italy2026-09-10
1042Japan2026-09-04
1043Germany2026-09-12
1044Germany2026-08-27
1045Japan2026-09-14
1046Italy2026-09-01
1047Brazil2026-09-24
1048Japan2026-09-04
1049Japan2026-09-07

On-Demand Data

NameIdCountryDate
Darci B Briddick1000India2026-09-13
Johnson L Darakjy1001Brazil2026-08-30
Aruna S Saylors1002Japan2026-09-18
Ivar N Vocelka1003Brazil2026-09-23
Smith C Paprocki1004India2026-09-16
Murillo W Marrier1005France2026-08-31
Silvio P Gillian1006Japan2026-09-04
Ashley C Doe1007Brazil2026-09-17
Ricardo Z Rulapaugh1008Argentina2026-09-24
Nicolas Q Vocelka1009Spain2026-09-11
Faith C Kusko1010India2026-09-03
Aika Y Rulapaugh1011Canada2026-09-12
Aruna U Sergi1012Spain2026-09-22
Salvatore Q Chui1013Russia2026-08-31
Maria F Sergi1014United Kingdom2026-09-16
Ivar O Caudy1015Russia2026-09-10
Cody J Vocelka1016Russia2026-09-09
Chavez T Slusarski1017Canada2026-09-02
Clifford O Nicka1018Germany2026-09-10
Ashley T Venere1019Russia2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford J RutaJapanStephen Shaw RENEWAL
Jeanfrancois W MaletItalyAmy Elsner NEGOTIATION
Izzy T NestleCanadaAmy Elsner QUALIFIED
Jones C ChuiSpainIoni Bowcher RENEWAL
Aditya N AmigonSpainStephen Shaw RENEWAL
Leja A WhobreyArgentinaIvan Magalhaes NEGOTIATION
Kaitlin L RimFranceBernardo Dominic RENEWAL
Izzy F PaprockiIndiaAmy Elsner RENEWAL
Jennifer M NickaGermanyXuxue Feng UNQUALIFIED
Francesco E BriddickGermanyOnyama Limba QUALIFIED
Adams Q FerenczArgentinaBernardo Dominic UNQUALIFIED
Wickens B WaycottGermanyAnna Fali NEGOTIATION
Sinclair M FerenczCanadaStephen Shaw NEGOTIATION
Antonio H MaletCanadaStephen Shaw NEW
Darci D RutaAustraliaBernardo Dominic QUALIFIED
Costa S RoysterFranceXuxue Feng QUALIFIED
Leja D RoysterIndiaIoni Bowcher PROPOSAL
Silvio L CaldareraItalyIoni Bowcher UNQUALIFIED
Aruna W RutaGermanyElwin Sharvill QUALIFIED
David A VocelkaArgentinaXuxue Feng NEW
Silvio H FollerCanadaAmy Elsner QUALIFIED
Clifford H PoquetteSpainOnyama Limba RENEWAL
Ashley S RulapaughAustraliaAsiya Javayant QUALIFIED
Maisha Y ChuiRussiaStephen Shaw QUALIFIED
Faith U DarakjyArgentinaElwin Sharvill PROPOSAL
Maisha S PoquetteCanadaAnna Fali NEGOTIATION
Antonio G MorascaJapanElwin Sharvill NEGOTIATION
Maisha Y MaletSpainStephen Shaw NEGOTIATION
Cody K OldroydUnited KingdomAnna Fali RENEWAL
Sinclair A DarakjyIndiaAmy Elsner QUALIFIED
Isabel R CaudyAustraliaAsiya Javayant NEW
Silvio A PaprockiItalyXuxue Feng QUALIFIED
Morrow X OstroskyBrazilIvan Magalhaes QUALIFIED
Adams Y BowleyFranceAsiya Javayant PROPOSAL
Stacey F GarufiItalyAsiya Javayant QUALIFIED
Maria J BriddickItalyXuxue Feng RENEWAL
Deepesh E SaylorsGermanyStephen Shaw NEW
Johnson P SergiJapanAnna Fali RENEWAL
Ivar O ChuiItalyAnna Fali NEW
Adams L BologniaBrazilAmy Elsner 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>