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 O InouyeAustraliaIoni Bowcher QUALIFIED
Alejandro R VocelkaAustraliaIvan Magalhaes NEGOTIATION
Kadeem O DilliardItalyOnyama Limba NEW
Deepesh C StensethArgentinaStephen Shaw QUALIFIED
Sinclair Z PerinBrazilIvan Magalhaes RENEWAL
Kaitlin V BowleyArgentinaAmy Elsner QUALIFIED
Claire S VocelkaAustraliaBernardo Dominic NEW
Octavia P SlusarskiItalyIvan Magalhaes QUALIFIED
Maisha X MaletSpainElwin Sharvill QUALIFIED
Isabel R MarrierCanadaAmy Elsner RENEWAL
Mayumi O RutaUnited KingdomStephen Shaw NEW
Nicolas U SlusarskiIndiaAmy Elsner NEW
Greenwood O KuskoCanadaStephen Shaw QUALIFIED
Izzy M DarakjyItalyIoni Bowcher NEW
Smith J OldroydRussiaStephen Shaw RENEWAL
Darci R FollerArgentinaElwin Sharvill PROPOSAL
Sinclair T BologniaRussiaAsiya Javayant PROPOSAL
Silvio N SaylorsArgentinaOnyama Limba PROPOSAL
Stacey U RoysterAustraliaXuxue Feng PROPOSAL
Chavez M ChuiFranceAnna Fali NEGOTIATION
Julie W MaletGermanyIoni Bowcher UNQUALIFIED
Faith L KuskoIndiaAsiya Javayant UNQUALIFIED
Leon R OldroydIndiaAnna Fali NEW
Leja P RoysterAustraliaXuxue Feng UNQUALIFIED
Aditya Y AmigonBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois M SlusarskiArgentinaXuxue Feng RENEWAL
Wickens F MorascaArgentinaStephen Shaw QUALIFIED
Ashley L ButtArgentinaAnna Fali QUALIFIED
Jefferson Y BriddickSpainAmy Elsner UNQUALIFIED
Antonio P WieserFranceAmy Elsner RENEWAL
Rodrigues A PoquetteIndiaAnna Fali RENEWAL
Tony G MacleadJapanStephen Shaw RENEWAL
Salvatore I NestleItalyIoni Bowcher NEGOTIATION
Leja D PerinGermanyBernardo Dominic PROPOSAL
Jeanfrancois W FigeroaSpainOnyama Limba PROPOSAL
Kadeem K MorascaAustraliaAmy Elsner RENEWAL
Cody D SaylorsBrazilIoni Bowcher PROPOSAL
Kaitlin C FerenczItalyStephen Shaw QUALIFIED
Clifford L MacleadBrazilAmy Elsner NEGOTIATION
Darci Y BologniaAustraliaOnyama Limba UNQUALIFIED
Darci R ChuiArgentinaAsiya Javayant NEW
Rodrigues H MaletJapanAsiya Javayant QUALIFIED
Rodrigues M GillianJapanXuxue Feng NEW
Francesco I TollnerArgentinaAsiya Javayant UNQUALIFIED
Deepesh O GarufiAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois C NickaIndiaAnna Fali QUALIFIED
Leja V MacleadSpainOnyama Limba NEW
Greenwood H ChuiGermanyAsiya Javayant PROPOSAL
Jennifer L MarrierJapanAsiya Javayant QUALIFIED
Misaki S WieserJapanAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie A PoquetteFranceAsiya Javayant NEGOTIATION
Alejandro J ButtRussiaAmy Elsner RENEWAL
Julie G TollnerSpainOnyama Limba NEW
Murillo X FigeroaAustraliaXuxue Feng NEW
Murillo U FollerBrazilAmy Elsner UNQUALIFIED
Murillo N ButtItalyIvan Magalhaes RENEWAL
Francesco J CaldareraFranceAsiya Javayant UNQUALIFIED
Mujtaba L ChuiItalyStephen Shaw QUALIFIED
Johnson A PerinSpainIvan Magalhaes NEW
Alejandro T AlbaresCanadaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo S MorascaGermany2026-10-23King, Christopher A Esq QUALIFIED57Elwin Sharvill
1001Johnson C ChuiFrance2026-10-05Printing Dimensions RENEWAL26Xuxue Feng
1002Smith X KolmetzArgentina2026-10-06Dorl, James J Esq QUALIFIED63Ivan Magalhaes
1003Nicolas N StockhamIndia2026-10-27Printing Dimensions NEW85Ivan Magalhaes
1004Julie Y SlusarskiIndia2026-10-01Chemel, James L Cpa QUALIFIED91Xuxue Feng
1005Stacey B GlickCanada2026-09-30Morlong Associates RENEWAL77Onyama Limba
1006Nicolas I WaycottAustralia2026-10-25Commercial Press NEGOTIATION20Bernardo Dominic
1007Isabel X AmigonGermany2026-10-08Feiner Bros RENEWAL63Asiya Javayant
1008Nicolas Q FlosiRussia2026-10-26Feiner Bros PROPOSAL15Anna Fali
1009Murillo F DilliardCanada2026-10-13Chapman, Ross E Esq NEW86Bernardo Dominic
1010Izzy L SergiBrazil2026-10-04Rangoni Of Florence PROPOSAL23Ioni Bowcher
1011Ashley Q PaprockiRussia2026-10-17Dorl, James J Esq NEW84Stephen Shaw
1012Izzy D RoysterItaly2026-10-15Feltz Printing Service PROPOSAL2Asiya Javayant
1013James F RoysterSpain2026-10-06Feiner Bros NEW41Anna Fali
1014Juan N PaprockiAustralia2026-10-05Truhlar And Truhlar Attys QUALIFIED69Stephen Shaw
1015Tony J KuskoIndia2026-10-28Morlong Associates QUALIFIED22Asiya Javayant
1016Emily G KuskoJapan2026-09-29Truhlar And Truhlar Attys NEGOTIATION49Anna Fali
1017Nicolas L KolmetzFrance2026-10-13Chanay, Jeffrey A Esq PROPOSAL99Ioni Bowcher
1018Emily J KolmetzIndia2026-10-03Chanay, Jeffrey A Esq NEGOTIATION5Stephen Shaw
1019Maria C StensethCanada2026-10-16Feiner Bros QUALIFIED21Asiya Javayant
1020Misaki F WaycottIndia2026-10-11Rousseaux, Michael Esq QUALIFIED22Elwin Sharvill
1021Ricardo A InouyeCanada2026-10-14Printing Dimensions UNQUALIFIED95Xuxue Feng
1022Aruna P MaletUnited Kingdom2026-10-15Chanay, Jeffrey A Esq RENEWAL82Amy Elsner
1023Kaitlin H FlosiBrazil2026-10-01Morlong Associates UNQUALIFIED77Stephen Shaw
1024Nicolas O PoquetteRussia2026-10-01Rousseaux, Michael Esq NEW96Elwin Sharvill
1025Claire C FlosiArgentina2026-09-30Benton, John B Jr NEW25Onyama Limba
1026Rodrigues Y StensethGermany2026-10-11Printing Dimensions QUALIFIED98Ivan Magalhaes
1027Munro J VocelkaBrazil2026-10-09Buckley Miller Wright QUALIFIED93Onyama Limba
1028Morrow P RoysterSpain2026-10-07King, Christopher A Esq NEGOTIATION7Bernardo Dominic
1029Silvio A AlbaresFrance2026-10-07Truhlar And Truhlar Attys NEW48Stephen Shaw
1030Costa K RoysterIndia2026-10-04Feltz Printing Service UNQUALIFIED26Stephen Shaw
1031Aditya X BologniaUnited Kingdom2026-10-15Dorl, James J Esq QUALIFIED81Amy Elsner
1032Francesco U SaylorsGermany2026-10-14Chapman, Ross E Esq QUALIFIED84Ioni Bowcher
1033Maria G GlickSpain2026-10-15Commercial Press QUALIFIED94Anna Fali
1034Isabel Q RulapaughItaly2026-10-17Rangoni Of Florence NEGOTIATION29Ivan Magalhaes
1035Kadeem X CaudyUnited Kingdom2026-10-12Feltz Printing Service NEGOTIATION39Ioni Bowcher
1036Aika H SaylorsIndia2026-10-21Morlong Associates QUALIFIED46Ioni Bowcher
1037Tony E FigeroaIndia2026-10-27Feiner Bros UNQUALIFIED31Anna Fali
1038Clifford S FlosiSpain2026-10-14Morlong Associates NEW12Stephen Shaw
1039Izzy W InouyeJapan2026-10-04Chemel, James L Cpa RENEWAL82Stephen Shaw
1040Julie M CaudyFrance2026-09-29Rangoni Of Florence NEW76Anna Fali
1041Leon U MorascaFrance2026-10-23Morlong Associates QUALIFIED19Onyama Limba
1042Antonio F BowleyRussia2026-10-10Feltz Printing Service RENEWAL3Asiya Javayant
1043Johnson K BowleyJapan2026-10-01Feiner Bros NEW6Ivan Magalhaes
1044Aruna E FlosiAustralia2026-09-29Truhlar And Truhlar Attys QUALIFIED49Xuxue Feng
1045Izzy R RulapaughIndia2026-10-14Buckley Miller Wright QUALIFIED31Amy Elsner
1046Ashley N SergiJapan2026-10-01Rangoni Of Florence QUALIFIED81Ioni Bowcher
1047Nicolas T WhobreyArgentina2026-10-12Chemel, James L Cpa NEW32Xuxue Feng
1048Morrow Q OstroskyArgentina2026-10-27Chanay, Jeffrey A Esq UNQUALIFIED17Xuxue Feng
1049Wickens W IturbideArgentina2026-10-21Morlong Associates NEW3Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aruna Y DilliardBrazilAmy Elsner QUALIFIED
Mayumi J PaprockiAustraliaBernardo Dominic NEW
Murillo V BowleyIndiaElwin Sharvill PROPOSAL
Izzy O WaycottRussiaIoni Bowcher NEW
Juan I VenereFranceStephen Shaw NEW
Jones Q GarufiAustraliaAnna Fali NEW
Clifford I TollnerSpainAmy Elsner QUALIFIED
Cody T SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Leon G PerinSpainAmy Elsner UNQUALIFIED
Nicolas Z KuskoJapanAnna Fali PROPOSAL
Emily O FigeroaUnited KingdomIoni Bowcher QUALIFIED
Octavia G FigeroaItalyElwin Sharvill NEW
Isabel R WaycottFranceOnyama Limba NEGOTIATION
Juan Q MarrierSpainElwin Sharvill UNQUALIFIED
Johnson S GauchoJapanIoni Bowcher NEGOTIATION
Alejandro Z RulapaughRussiaAsiya Javayant NEGOTIATION
Isabel M ShinkoArgentinaAmy Elsner NEGOTIATION
Rodrigues L IturbideCanadaOnyama Limba NEGOTIATION
Claire N WhobreyGermanyAnna Fali UNQUALIFIED
Kaitlin L SaylorsArgentinaBernardo Dominic NEW
Julie Q RulapaughRussiaAnna Fali NEW
Johnson I GarufiItalyOnyama Limba QUALIFIED
Octavia G MacleadCanadaAmy Elsner NEW
Leon V CaldareraJapanBernardo Dominic NEW
Kadeem C OstroskyRussiaIvan Magalhaes NEGOTIATION
Antonio Y AmigonArgentinaAnna Fali PROPOSAL
Kaitlin S DilliardItalyXuxue Feng UNQUALIFIED
Wickens J MarrierGermanyElwin Sharvill QUALIFIED
Jones X GarufiIndiaAmy Elsner RENEWAL
Kaitlin O BriddickUnited KingdomIoni Bowcher RENEWAL
Rodrigues B GlickFranceXuxue Feng NEGOTIATION
Jones M FigeroaAustraliaAsiya Javayant RENEWAL
Jefferson P SaylorsSpainIvan Magalhaes NEGOTIATION
Leon X CampainFranceStephen Shaw QUALIFIED
Ricardo H CaldareraAustraliaBernardo Dominic RENEWAL
Kaitlin N MaletItalyAnna Fali RENEWAL
Mujtaba H KuskoSpainAsiya Javayant PROPOSAL
Adams D DoeRussiaElwin Sharvill NEGOTIATION
David A ChuiUnited KingdomStephen Shaw UNQUALIFIED
Morrow Z IturbideRussiaBernardo Dominic UNQUALIFIED
Costa J SlusarskiGermanyAnna Fali RENEWAL
Johnson S KolmetzArgentinaBernardo Dominic NEW
Arvin W InouyeRussiaAmy Elsner NEGOTIATION
Murillo U MaletItalyBernardo Dominic NEW
Leon W NickaJapanElwin Sharvill NEW
Jefferson J TollnerIndiaStephen Shaw RENEWAL
Leja D RoysterGermanyAnna Fali NEW
Chavez X MarrierArgentinaElwin Sharvill PROPOSAL
Ivar C PerinCanadaStephen Shaw UNQUALIFIED
Mayumi B SchemmerSpainAsiya Javayant NEGOTIATION
Frozen Columns
Name
Chavez K Butt
Nicolas Q Butt
Kaitlin J Vocelka
Adams N Malet
Wickens S Morasca
Aika R Stenseth
Jennifer L Sergi
Izzy E Rim
Johnson K Amigon
Octavia T Perin
Mayumi B Paprocki
Clifford C Inouye
Smith N Iturbide
James X Vocelka
Greenwood W Vocelka
Johnson G Paprocki
Aika L Inouye
Wickens V Butt
Aika X Tollner
Tony O Caudy
Ivar I Foller
Costa C Foller
Cody M Ostrosky
Jeanfrancois X Wieser
Faith I Briddick
Izzy T Rim
Francesco W Butt
Munro O Darakjy
Julie Y Darakjy
David N Ostrosky
Smith Q Campain
Morrow A Saylors
Jones Q Stockham
Leon D Stockham
Sinclair U Ostrosky
Octavia V Caldarera
Stacey I Iturbide
Clifford F Nicka
Arvin E Doe
Wickens I Vocelka
Stacey J Amigon
Silvio L Gaucho
Izzy I Gaucho
Jennifer L Figeroa
Wickens A Rulapaugh
Cody T Shinko
Izzy K Malet
Octavia O Saylors
Kadeem F Perin
Mujtaba P Oldroyd
IdCountryDate
1000Germany2026-10-17
1001Russia2026-10-19
1002Spain2026-10-18
1003Germany2026-10-07
1004France2026-10-27
1005Japan2026-10-04
1006Italy2026-10-27
1007Italy2026-09-30
1008Russia2026-10-25
1009United Kingdom2026-10-20
1010Canada2026-10-16
1011Russia2026-10-03
1012India2026-10-25
1013France2026-10-19
1014Russia2026-10-04
1015Russia2026-09-30
1016India2026-10-07
1017Germany2026-09-30
1018Argentina2026-10-10
1019Argentina2026-10-03
1020Italy2026-10-08
1021Australia2026-10-16
1022Germany2026-10-18
1023India2026-10-05
1024Canada2026-10-13
1025Japan2026-10-02
1026Australia2026-09-29
1027Brazil2026-10-27
1028Argentina2026-10-03
1029Australia2026-10-18
1030Germany2026-10-02
1031Brazil2026-10-14
1032Canada2026-10-19
1033Japan2026-09-29
1034Spain2026-09-29
1035France2026-10-03
1036Italy2026-10-16
1037United Kingdom2026-10-11
1038United Kingdom2026-10-26
1039Spain2026-10-27
1040Spain2026-10-28
1041Spain2026-10-18
1042Argentina2026-10-22
1043France2026-10-28
1044Australia2026-10-07
1045United Kingdom2026-10-13
1046France2026-10-25
1047Argentina2026-10-25
1048Japan2026-10-11
1049Spain2026-10-03

On-Demand Data

NameIdCountryDate
Greenwood W Butt1000Spain2026-10-25
Kadeem F Butt1001Russia2026-10-06
Salvatore O Albares1002Italy2026-10-05
Mayumi R Poquette1003Brazil2026-09-29
Nicolas D Butt1004Canada2026-10-09
Misaki G Bolognia1005Brazil2026-10-28
Adams K Amigon1006Canada2026-10-23
Emily L Chui1007Germany2026-10-02
Izzy C Marrier1008France2026-10-22
Mujtaba A Briddick1009Russia2026-10-17
Ivar T Perin1010Spain2026-10-21
Clifford P Gillian1011Italy2026-10-12
Wickens D Bolognia1012Japan2026-10-12
Chavez R Gaucho1013Japan2026-10-05
Maisha A Butt1014Australia2026-10-09
Ashley T Tollner1015Spain2026-10-12
Rodrigues P Stenseth1016Japan2026-09-29
Kaitlin I Garufi1017Germany2026-10-24
Smith K Venere1018Germany2026-10-25
Leja A Marrier1019Brazil2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z StockhamBrazilOnyama Limba NEGOTIATION
Arvin C MorascaRussiaElwin Sharvill NEGOTIATION
Greenwood I RulapaughBrazilBernardo Dominic NEW
Kadeem T ButtBrazilXuxue Feng RENEWAL
Ashley W BriddickFranceIvan Magalhaes QUALIFIED
Maria Y KuskoBrazilIvan Magalhaes NEW
James N MacleadFranceIoni Bowcher PROPOSAL
Faith Y CaudyJapanXuxue Feng NEW
Francesco J NickaIndiaAnna Fali NEGOTIATION
Murillo B RutaBrazilBernardo Dominic QUALIFIED
Alejandro I GauchoItalyAnna Fali PROPOSAL
Silvio Y BowleyUnited KingdomElwin Sharvill NEW
Johnson Z PerinUnited KingdomAnna Fali NEW
Clifford X InouyeUnited KingdomStephen Shaw QUALIFIED
Antonio E NestleGermanyOnyama Limba NEGOTIATION
Aika R RimArgentinaAnna Fali NEGOTIATION
Nicolas X RimCanadaIvan Magalhaes NEW
Kaitlin H PoquetteBrazilXuxue Feng UNQUALIFIED
Ashley P FerenczAustraliaStephen Shaw PROPOSAL
Smith E VocelkaJapanStephen Shaw NEW
Murillo W RoysterJapanStephen Shaw PROPOSAL
Darci K AlbaresFranceIvan Magalhaes NEGOTIATION
Octavia I CaldareraBrazilIvan Magalhaes RENEWAL
Octavia H PoquetteJapanOnyama Limba NEGOTIATION
Juan K DilliardUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba Z SaylorsFranceStephen Shaw NEGOTIATION
Julie D RutaBrazilBernardo Dominic NEGOTIATION
Maria A WieserJapanAnna Fali NEW
Adams I WhobreyCanadaAmy Elsner UNQUALIFIED
Mayumi I BowleyGermanyXuxue Feng NEW
Maria L WieserSpainAsiya Javayant RENEWAL
Misaki M GillianUnited KingdomIoni Bowcher NEGOTIATION
Morrow A BowleyBrazilIoni Bowcher NEW
Munro Z ButtFranceIoni Bowcher QUALIFIED
Smith S DarakjyGermanyAmy Elsner NEW
Morrow E RulapaughArgentinaStephen Shaw QUALIFIED
Murillo H MacleadCanadaElwin Sharvill NEW
Johnson U ButtFranceAmy Elsner RENEWAL
Sinclair L TollnerSpainStephen Shaw RENEWAL
Kadeem N NickaItalyStephen 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>