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
Cody P SaylorsFranceIoni Bowcher RENEWAL
Jennifer M MarrierJapanAsiya Javayant NEW
Juan O CampainJapanXuxue Feng NEW
Leon A DoeArgentinaBernardo Dominic NEW
Misaki V TollnerAustraliaBernardo Dominic NEGOTIATION
Morrow I IturbideUnited KingdomAmy Elsner NEGOTIATION
James R ChuiJapanOnyama Limba NEW
Julie Y AmigonRussiaAmy Elsner RENEWAL
Kadeem N WaycottSpainXuxue Feng NEW
Munro U NestleFranceBernardo Dominic RENEWAL
Mujtaba L CaldareraJapanAnna Fali PROPOSAL
Leja O CampainJapanIoni Bowcher QUALIFIED
Leon A StensethArgentinaElwin Sharvill NEW
Izzy X DarakjyAustraliaStephen Shaw NEW
Clifford L DoeFranceAsiya Javayant QUALIFIED
Maria K MacleadRussiaAmy Elsner QUALIFIED
Aika X SaylorsIndiaBernardo Dominic UNQUALIFIED
Maria J DilliardJapanAmy Elsner NEW
Misaki J MaletIndiaElwin Sharvill RENEWAL
Francesco X DarakjyIndiaAmy Elsner RENEWAL
Sinclair C RulapaughArgentinaStephen Shaw QUALIFIED
Cody H WieserJapanAnna Fali NEGOTIATION
Aditya U KuskoArgentinaXuxue Feng QUALIFIED
Adams I GauchoItalyBernardo Dominic QUALIFIED
Deepesh B StensethUnited KingdomAnna Fali PROPOSAL
Misaki S WieserJapanAmy Elsner NEW
Munro Z IturbideJapanXuxue Feng UNQUALIFIED
Darci S TollnerIndiaIvan Magalhaes QUALIFIED
Jeanfrancois N OldroydFranceBernardo Dominic UNQUALIFIED
Ricardo O RimItalyAmy Elsner PROPOSAL
Murillo M GlickItalyElwin Sharvill QUALIFIED
Darci U CaudyCanadaXuxue Feng UNQUALIFIED
Clifford W PaprockiAustraliaIoni Bowcher NEGOTIATION
Aditya C VenereFranceIvan Magalhaes NEGOTIATION
Smith L SergiGermanyIvan Magalhaes NEW
Silvio M DarakjyIndiaElwin Sharvill UNQUALIFIED
Leon Z CaudyJapanStephen Shaw NEW
Emily R DarakjyUnited KingdomAnna Fali NEGOTIATION
Salvatore D MorascaUnited KingdomElwin Sharvill RENEWAL
Mayumi D NestleJapanElwin Sharvill NEW
Emily D NestleAustraliaStephen Shaw QUALIFIED
Arvin Z MacleadGermanyIoni Bowcher NEW
Jeanfrancois M ChuiJapanAnna Fali UNQUALIFIED
David W MarrierGermanyAnna Fali RENEWAL
Maria I CaldareraGermanyAnna Fali UNQUALIFIED
Jones F AmigonCanadaOnyama Limba UNQUALIFIED
Sinclair H GauchoCanadaElwin Sharvill NEW
Aruna G MaletIndiaIoni Bowcher UNQUALIFIED
Nicolas B RutaIndiaAnna Fali UNQUALIFIED
Mayumi Z FlosiJapanOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois T FigeroaJapanAnna Fali NEGOTIATION
Murillo V SchemmerBrazilXuxue Feng NEW
Ivar C TollnerFranceOnyama Limba NEGOTIATION
Greenwood Q GillianBrazilStephen Shaw NEW
Faith Y PaprockiUnited KingdomBernardo Dominic QUALIFIED
Antonio P OstroskyItalyStephen Shaw NEGOTIATION
Aditya Q PerinArgentinaAnna Fali QUALIFIED
Greenwood H AmigonAustraliaStephen Shaw UNQUALIFIED
Jones N PerinItalyStephen Shaw UNQUALIFIED
Ashley B BriddickItalyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens H NestleBrazil2026-09-15Dorl, James J Esq QUALIFIED97Ivan Magalhaes
1001Morrow J IturbideSpain2026-09-29Dorl, James J Esq RENEWAL82Amy Elsner
1002Kadeem B BowleyAustralia2026-09-17Feiner Bros UNQUALIFIED71Xuxue Feng
1003Clifford T TollnerJapan2026-09-10Morlong Associates RENEWAL97Ioni Bowcher
1004Aruna A CampainArgentina2026-09-23Dorl, James J Esq NEW11Bernardo Dominic
1005Deepesh E FlosiRussia2026-09-11Printing Dimensions UNQUALIFIED75Anna Fali
1006Ricardo H RoysterItaly2026-09-11Feltz Printing Service PROPOSAL51Anna Fali
1007Kadeem C PerinIndia2026-09-19Chemel, James L Cpa NEW57Elwin Sharvill
1008Munro K OstroskyAustralia2026-09-09Dorl, James J Esq NEW29Ivan Magalhaes
1009Faith U FigeroaArgentina2026-09-30Commercial Press NEGOTIATION44Asiya Javayant
1010Juan C DilliardJapan2026-09-29Benton, John B Jr QUALIFIED70Onyama Limba
1011Smith U ButtBrazil2026-09-14Rousseaux, Michael Esq NEGOTIATION2Elwin Sharvill
1012Leon A BologniaItaly2026-09-18Buckley Miller Wright UNQUALIFIED68Ioni Bowcher
1013Silvio P SchemmerUnited Kingdom2026-09-27Benton, John B Jr UNQUALIFIED81Elwin Sharvill
1014James F PerinCanada2026-09-05Rangoni Of Florence QUALIFIED83Anna Fali
1015Nicolas U MaletCanada2026-10-02Truhlar And Truhlar Attys NEGOTIATION72Ivan Magalhaes
1016Chavez F RoysterIndia2026-09-25Benton, John B Jr RENEWAL88Asiya Javayant
1017Sinclair J PerinIndia2026-09-14Feltz Printing Service UNQUALIFIED20Ivan Magalhaes
1018Maisha L MarrierArgentina2026-09-30Printing Dimensions UNQUALIFIED84Stephen Shaw
1019Arvin N BowleySpain2026-09-16Chanay, Jeffrey A Esq RENEWAL79Asiya Javayant
1020Chavez F PaprockiJapan2026-09-23Chemel, James L Cpa QUALIFIED32Amy Elsner
1021Rodrigues D TollnerGermany2026-10-02Rousseaux, Michael Esq NEGOTIATION62Ioni Bowcher
1022Chavez B VenereIndia2026-09-15Printing Dimensions NEW63Elwin Sharvill
1023Clifford Z MaletUnited Kingdom2026-09-13King, Christopher A Esq RENEWAL72Anna Fali
1024Isabel F FlosiCanada2026-09-13Benton, John B Jr NEGOTIATION76Stephen Shaw
1025Costa X KolmetzIndia2026-10-01Printing Dimensions NEW32Amy Elsner
1026Emily D BriddickSpain2026-09-30Chapman, Ross E Esq NEGOTIATION69Asiya Javayant
1027David K VenereItaly2026-10-01Chemel, James L Cpa NEGOTIATION96Asiya Javayant
1028Leon Q BriddickGermany2026-09-13Chemel, James L Cpa NEW25Anna Fali
1029Claire L MaletJapan2026-09-17Chemel, James L Cpa PROPOSAL3Asiya Javayant
1030Octavia C StockhamCanada2026-09-14Chemel, James L Cpa NEGOTIATION15Anna Fali
1031Leja O PaprockiGermany2026-09-23Truhlar And Truhlar Attys UNQUALIFIED36Stephen Shaw
1032Darci S GillianJapan2026-09-07Commercial Press RENEWAL82Ivan Magalhaes
1033Francesco S StensethIndia2026-09-29Morlong Associates PROPOSAL48Stephen Shaw
1034Ashley O MacleadArgentina2026-09-05Buckley Miller Wright PROPOSAL21Anna Fali
1035Cody J MacleadGermany2026-10-02Rangoni Of Florence UNQUALIFIED12Ioni Bowcher
1036Wickens B GauchoAustralia2026-09-13Truhlar And Truhlar Attys PROPOSAL37Asiya Javayant
1037Isabel W SaylorsCanada2026-09-21Chemel, James L Cpa QUALIFIED60Asiya Javayant
1038Munro S PaprockiIndia2026-09-27Truhlar And Truhlar Attys PROPOSAL64Stephen Shaw
1039Isabel G StockhamUnited Kingdom2026-10-02Morlong Associates NEW86Amy Elsner
1040Mujtaba W SlusarskiJapan2026-09-12Rousseaux, Michael Esq NEGOTIATION76Stephen Shaw
1041Kaitlin S DilliardSpain2026-09-12Rousseaux, Michael Esq PROPOSAL26Ioni Bowcher
1042Smith I MaletUnited Kingdom2026-09-25Chapman, Ross E Esq UNQUALIFIED4Elwin Sharvill
1043Jennifer R AlbaresBrazil2026-09-23Buckley Miller Wright RENEWAL28Stephen Shaw
1044Izzy R BowleyFrance2026-09-21Feltz Printing Service PROPOSAL51Stephen Shaw
1045Francesco C CaldareraFrance2026-09-06Feiner Bros NEGOTIATION35Ivan Magalhaes
1046Octavia F VenereItaly2026-10-02Morlong Associates NEGOTIATION16Xuxue Feng
1047Clifford E MaletJapan2026-09-21Chapman, Ross E Esq PROPOSAL68Xuxue Feng
1048James B AmigonIndia2026-09-27Commercial Press NEW95Amy Elsner
1049Mujtaba X FollerItaly2026-09-12Buckley Miller Wright NEW93Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Clifford R DarakjyAustraliaXuxue Feng QUALIFIED
Ricardo E BriddickIndiaBernardo Dominic NEW
Octavia G ChuiBrazilIvan Magalhaes QUALIFIED
Ashley F AlbaresFranceXuxue Feng PROPOSAL
Ricardo J PoquetteItalyAmy Elsner UNQUALIFIED
Rodrigues N FerenczArgentinaXuxue Feng RENEWAL
Faith O MaletGermanyBernardo Dominic PROPOSAL
Emily X PoquetteUnited KingdomAnna Fali UNQUALIFIED
Kadeem P MaletJapanOnyama Limba QUALIFIED
Aditya Z BologniaArgentinaIoni Bowcher NEW
Costa B SlusarskiUnited KingdomElwin Sharvill RENEWAL
Ashley F DarakjyUnited KingdomIoni Bowcher NEW
Silvio B AlbaresBrazilStephen Shaw PROPOSAL
Misaki W GillianIndiaIoni Bowcher NEW
Adams I NestleArgentinaAsiya Javayant UNQUALIFIED
Rodrigues P NestleJapanBernardo Dominic PROPOSAL
Kaitlin I FlosiIndiaElwin Sharvill PROPOSAL
Salvatore U TollnerJapanOnyama Limba UNQUALIFIED
Salvatore W ButtItalyStephen Shaw NEGOTIATION
Sinclair V ShinkoFranceBernardo Dominic NEGOTIATION
Aditya S PerinRussiaOnyama Limba PROPOSAL
Nicolas Y DarakjyItalyElwin Sharvill RENEWAL
Clifford F ButtItalyIvan Magalhaes PROPOSAL
Misaki V OldroydJapanStephen Shaw NEGOTIATION
Murillo U WhobreyArgentinaIvan Magalhaes QUALIFIED
Faith N StockhamRussiaIvan Magalhaes NEGOTIATION
Tony P CaudyGermanyElwin Sharvill QUALIFIED
Smith R MacleadGermanyOnyama Limba NEGOTIATION
Chavez A OldroydIndiaAmy Elsner RENEWAL
Jeanfrancois N DoeRussiaOnyama Limba PROPOSAL
Johnson L CampainItalyAsiya Javayant NEW
Jennifer I MacleadFranceAsiya Javayant PROPOSAL
Aruna C InouyeUnited KingdomOnyama Limba UNQUALIFIED
Stacey R BologniaArgentinaIoni Bowcher RENEWAL
Morrow Z MaletArgentinaAsiya Javayant UNQUALIFIED
Morrow O StensethAustraliaOnyama Limba PROPOSAL
Juan M DarakjyFranceXuxue Feng QUALIFIED
Aditya H RutaJapanIoni Bowcher NEGOTIATION
Misaki I DilliardItalyOnyama Limba PROPOSAL
Juan T ButtBrazilBernardo Dominic NEW
Emily T MacleadJapanBernardo Dominic NEW
Wickens K CaldareraFranceAmy Elsner QUALIFIED
Murillo B OstroskyBrazilOnyama Limba NEW
Izzy M WhobreyJapanBernardo Dominic PROPOSAL
Leon D PerinRussiaElwin Sharvill QUALIFIED
Aruna K MarrierUnited KingdomStephen Shaw NEW
Salvatore F SchemmerIndiaAnna Fali NEW
Murillo V PoquetteItalyBernardo Dominic NEW
Cody E FerenczGermanyAmy Elsner NEW
Deepesh B RimBrazilAmy Elsner PROPOSAL
Frozen Columns
Name
Morrow Q Gillian
Deepesh U Gillian
Isabel M Perin
Silvio S Slusarski
Sinclair M Chui
Jennifer Y Whobrey
Octavia H Whobrey
Costa O Glick
Tony B Venere
Costa F Garufi
Stacey R Dilliard
Leon Q Ruta
Maria K Paprocki
Deepesh S Rulapaugh
Arvin S Vocelka
Octavia R Saylors
Ricardo F Ruta
Aruna U Nestle
Aruna V Caldarera
Morrow S Inouye
Arvin T Figeroa
Aika M Bowley
Leon V Briddick
Smith E Figeroa
Leja Z Vocelka
Clifford V Garufi
Aditya V Venere
David L Maclead
Misaki Z Malet
Alejandro K Nicka
Greenwood M Stockham
David F Malet
Murillo X Chui
Silvio Y Gillian
Clifford E Malet
Leon C Ostrosky
Jefferson X Malet
Mayumi C Bolognia
Mayumi E Slusarski
Salvatore I Bowley
Kaitlin X Venere
Faith B Maclead
Adams G Sergi
Mujtaba X Oldroyd
Aditya N Royster
Johnson T Darakjy
Francesco B Ruta
Munro D Vocelka
Maisha A Poquette
Kadeem K Wieser
IdCountryDate
1000India2026-09-15
1001India2026-09-24
1002France2026-09-07
1003Japan2026-09-03
1004Russia2026-09-06
1005Germany2026-09-27
1006India2026-09-21
1007Russia2026-09-18
1008Canada2026-09-06
1009Argentina2026-09-29
1010Canada2026-09-22
1011Italy2026-09-29
1012Italy2026-09-19
1013Spain2026-09-12
1014France2026-09-08
1015Australia2026-09-04
1016Argentina2026-09-19
1017Spain2026-09-18
1018India2026-09-25
1019Brazil2026-09-20
1020Australia2026-09-26
1021Germany2026-09-22
1022India2026-09-09
1023Japan2026-10-01
1024Argentina2026-09-05
1025Australia2026-09-10
1026Canada2026-09-12
1027India2026-09-26
1028France2026-09-17
1029Brazil2026-09-11
1030Spain2026-09-28
1031India2026-09-13
1032Canada2026-09-18
1033Argentina2026-09-10
1034United Kingdom2026-09-10
1035France2026-09-14
1036France2026-09-14
1037United Kingdom2026-09-21
1038Germany2026-09-15
1039Japan2026-09-24
1040Australia2026-09-10
1041Canada2026-09-07
1042India2026-09-30
1043Italy2026-09-16
1044Russia2026-09-21
1045Australia2026-09-26
1046France2026-09-20
1047India2026-09-10
1048United Kingdom2026-09-19
1049Spain2026-09-30

On-Demand Data

NameIdCountryDate
David R Foller1000Russia2026-09-11
Murillo I Rulapaugh1001Spain2026-09-29
Maria D Amigon1002Russia2026-09-28
Leon J Doe1003Russia2026-10-02
Aruna B Inouye1004Italy2026-09-09
James C Iturbide1005Italy2026-09-16
Claire A Dilliard1006Japan2026-09-11
Deepesh Q Wieser1007Russia2026-09-06
Costa I Iturbide1008Italy2026-09-19
Mayumi G Ostrosky1009Spain2026-09-22
Stacey O Tollner1010Canada2026-09-12
Izzy O Inouye1011Japan2026-09-30
Izzy Z Whobrey1012Russia2026-10-01
Greenwood C Dilliard1013Japan2026-09-18
Isabel V Iturbide1014Australia2026-09-29
Leon V Vocelka1015India2026-09-25
Rodrigues T Nicka1016Brazil2026-10-01
Jeanfrancois W Garufi1017France2026-10-02
Alejandro K Amigon1018France2026-09-20
Aditya V Gaucho1019Brazil2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones M WieserRussiaBernardo Dominic RENEWAL
Misaki T StensethArgentinaStephen Shaw QUALIFIED
Jennifer G SlusarskiAustraliaAnna Fali NEGOTIATION
Morrow J DilliardCanadaAmy Elsner QUALIFIED
Clifford L ChuiFranceElwin Sharvill NEGOTIATION
Misaki F VenereBrazilAsiya Javayant PROPOSAL
Jeanfrancois J AlbaresIndiaAmy Elsner QUALIFIED
Sinclair V StensethArgentinaBernardo Dominic QUALIFIED
Kaitlin M StockhamRussiaIoni Bowcher PROPOSAL
James L GauchoIndiaAmy Elsner NEW
Clifford U KolmetzJapanOnyama Limba NEW
Juan P FlosiIndiaStephen Shaw PROPOSAL
Octavia T MaletItalyXuxue Feng NEGOTIATION
Maria P GarufiFranceAmy Elsner NEGOTIATION
David J BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem H ShinkoItalyIoni Bowcher PROPOSAL
David S NestleAustraliaBernardo Dominic PROPOSAL
Izzy Q StensethItalyAmy Elsner NEW
Adams P PerinAustraliaIvan Magalhaes PROPOSAL
Claire M MaletRussiaElwin Sharvill NEGOTIATION
Aruna U MaletJapanIvan Magalhaes RENEWAL
Mayumi T DilliardSpainAmy Elsner NEGOTIATION
Nicolas Z WhobreySpainIoni Bowcher NEW
Munro M MacleadIndiaXuxue Feng NEGOTIATION
Cody X TollnerBrazilBernardo Dominic RENEWAL
Mujtaba O MaletBrazilAnna Fali NEGOTIATION
Juan N SergiArgentinaAsiya Javayant NEGOTIATION
Francesco E CaudyCanadaStephen Shaw NEW
Darci V PaprockiFranceXuxue Feng PROPOSAL
Rodrigues R OstroskyBrazilAmy Elsner UNQUALIFIED
Octavia O SergiGermanyStephen Shaw UNQUALIFIED
Smith B OldroydAustraliaAsiya Javayant NEGOTIATION
Stacey S DarakjyJapanStephen Shaw NEW
Maisha R KuskoFranceBernardo Dominic QUALIFIED
Clifford F FerenczAustraliaStephen Shaw PROPOSAL
Kaitlin S PaprockiGermanyOnyama Limba PROPOSAL
Clifford X ShinkoSpainAsiya Javayant NEW
Sinclair M VocelkaBrazilAsiya Javayant PROPOSAL
Jones J WieserItalyIoni Bowcher QUALIFIED
Wickens I FollerFranceXuxue Feng 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>