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
Leon L NickaItalyStephen Shaw PROPOSAL
Greenwood B ShinkoSpainXuxue Feng NEGOTIATION
Deepesh J ButtBrazilOnyama Limba QUALIFIED
Jefferson P OldroydGermanyOnyama Limba NEGOTIATION
Faith W GauchoSpainIoni Bowcher QUALIFIED
Jefferson T StensethBrazilOnyama Limba RENEWAL
Darci U WaycottCanadaStephen Shaw QUALIFIED
Arvin X PoquetteRussiaStephen Shaw QUALIFIED
Wickens Z WhobreySpainOnyama Limba UNQUALIFIED
Alejandro B NickaFranceAmy Elsner QUALIFIED
David P InouyeCanadaStephen Shaw NEGOTIATION
Deepesh D DilliardUnited KingdomOnyama Limba PROPOSAL
Aditya U ChuiBrazilElwin Sharvill NEW
Octavia H BologniaSpainAnna Fali PROPOSAL
Silvio N SlusarskiArgentinaAnna Fali RENEWAL
Izzy N CaldareraSpainBernardo Dominic UNQUALIFIED
Aditya H GauchoSpainAnna Fali PROPOSAL
Greenwood I AmigonJapanBernardo Dominic UNQUALIFIED
Salvatore W DoeRussiaBernardo Dominic RENEWAL
Murillo A DilliardCanadaElwin Sharvill QUALIFIED
Mujtaba H BologniaJapanXuxue Feng UNQUALIFIED
Murillo O FigeroaItalyAnna Fali QUALIFIED
Munro L SchemmerItalyAnna Fali NEW
Silvio W NestleCanadaElwin Sharvill QUALIFIED
Adams H SaylorsRussiaStephen Shaw PROPOSAL
Sinclair U DilliardItalyBernardo Dominic PROPOSAL
Aditya K DoeBrazilElwin Sharvill NEGOTIATION
Silvio X TollnerBrazilAmy Elsner UNQUALIFIED
Silvio A RoysterRussiaBernardo Dominic NEGOTIATION
Maria W CaldareraIndiaStephen Shaw NEW
James W BologniaJapanAsiya Javayant UNQUALIFIED
Juan U SlusarskiCanadaAnna Fali QUALIFIED
Nicolas T StockhamIndiaBernardo Dominic PROPOSAL
Maisha S CaldareraFranceOnyama Limba QUALIFIED
Aika V StockhamArgentinaElwin Sharvill NEW
Greenwood R FigeroaIndiaElwin Sharvill NEW
Mujtaba Z ChuiSpainIvan Magalhaes RENEWAL
Morrow S SchemmerJapanOnyama Limba NEW
David J WaycottAustraliaOnyama Limba NEW
James K SchemmerCanadaAnna Fali UNQUALIFIED
Leja A MaletSpainIvan Magalhaes UNQUALIFIED
Salvatore B NestleRussiaXuxue Feng NEW
Alejandro M OstroskyGermanyIoni Bowcher UNQUALIFIED
Alejandro T RoysterBrazilAsiya Javayant UNQUALIFIED
Leja H BriddickCanadaIvan Magalhaes PROPOSAL
Claire M BriddickAustraliaElwin Sharvill UNQUALIFIED
Leja I OstroskyIndiaXuxue Feng NEGOTIATION
Octavia G SchemmerAustraliaElwin Sharvill UNQUALIFIED
Ricardo P AmigonUnited KingdomOnyama Limba RENEWAL
Isabel X RutaRussiaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues H InouyeArgentinaElwin Sharvill PROPOSAL
Darci X GauchoGermanyElwin Sharvill PROPOSAL
Faith R CaudyArgentinaIoni Bowcher NEW
David A AlbaresFranceIoni Bowcher UNQUALIFIED
Mujtaba J RutaIndiaAnna Fali UNQUALIFIED
James K WaycottArgentinaOnyama Limba QUALIFIED
Johnson A OldroydRussiaXuxue Feng NEW
Jennifer H NickaBrazilStephen Shaw NEW
Ivar S MarrierArgentinaStephen Shaw UNQUALIFIED
Jefferson E RoysterIndiaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo S GlickItaly2026-10-18Feiner Bros UNQUALIFIED33Xuxue Feng
1001Misaki F BologniaJapan2026-10-29Buckley Miller Wright PROPOSAL77Elwin Sharvill
1002Julie G CaldareraAustralia2026-10-15Benton, John B Jr QUALIFIED14Ivan Magalhaes
1003Aika Y MaletCanada2026-10-23Rangoni Of Florence UNQUALIFIED71Amy Elsner
1004Greenwood L TollnerSpain2026-11-08Truhlar And Truhlar Attys QUALIFIED17Ioni Bowcher
1005Aruna Z KuskoArgentina2026-10-17Printing Dimensions QUALIFIED90Ivan Magalhaes
1006Faith G SchemmerCanada2026-11-02Printing Dimensions QUALIFIED46Ivan Magalhaes
1007Darci J IturbideFrance2026-10-25Printing Dimensions RENEWAL75Xuxue Feng
1008Sinclair Q SchemmerGermany2026-10-28Printing Dimensions PROPOSAL93Amy Elsner
1009Munro T FerenczFrance2026-10-22Chapman, Ross E Esq QUALIFIED57Elwin Sharvill
1010Nicolas T PerinArgentina2026-10-15Buckley Miller Wright RENEWAL93Elwin Sharvill
1011Silvio R VocelkaFrance2026-10-14Chanay, Jeffrey A Esq NEW48Ivan Magalhaes
1012Octavia D WaycottCanada2026-11-06Chanay, Jeffrey A Esq RENEWAL48Ivan Magalhaes
1013Nicolas O StockhamFrance2026-11-07Printing Dimensions QUALIFIED26Xuxue Feng
1014Maisha S MorascaIndia2026-10-13Benton, John B Jr NEW15Ivan Magalhaes
1015Stacey M GauchoSpain2026-10-11Chemel, James L Cpa UNQUALIFIED0Anna Fali
1016Jefferson O WaycottArgentina2026-10-21Morlong Associates PROPOSAL53Elwin Sharvill
1017Morrow P InouyeUnited Kingdom2026-11-01Feiner Bros RENEWAL86Elwin Sharvill
1018Ashley H NickaRussia2026-10-20Feiner Bros RENEWAL16Elwin Sharvill
1019Faith J DilliardIndia2026-10-28Feiner Bros NEGOTIATION54Bernardo Dominic
1020Octavia V CaldareraUnited Kingdom2026-10-15Chanay, Jeffrey A Esq NEW31Ioni Bowcher
1021Aruna I OldroydAustralia2026-11-05Printing Dimensions NEW54Amy Elsner
1022Octavia V BologniaBrazil2026-11-06Printing Dimensions UNQUALIFIED91Stephen Shaw
1023Cody U CampainFrance2026-11-08Truhlar And Truhlar Attys RENEWAL59Anna Fali
1024Deepesh T VenereAustralia2026-10-22Buckley Miller Wright RENEWAL1Stephen Shaw
1025Arvin W CaudyIndia2026-10-22Truhlar And Truhlar Attys PROPOSAL19Onyama Limba
1026Juan G FerenczIndia2026-11-09Feltz Printing Service NEW35Elwin Sharvill
1027Izzy K NickaSpain2026-10-23Chanay, Jeffrey A Esq QUALIFIED83Amy Elsner
1028Arvin D FlosiIndia2026-10-18King, Christopher A Esq QUALIFIED83Amy Elsner
1029Misaki C RulapaughSpain2026-10-25Rousseaux, Michael Esq RENEWAL89Asiya Javayant
1030Emily C FlosiAustralia2026-11-03Commercial Press NEGOTIATION17Anna Fali
1031Johnson J GauchoJapan2026-11-03Feiner Bros QUALIFIED93Asiya Javayant
1032Kaitlin J InouyeUnited Kingdom2026-10-21Commercial Press UNQUALIFIED1Stephen Shaw
1033Maria M AmigonSpain2026-11-05Buckley Miller Wright NEGOTIATION84Anna Fali
1034Cody O BologniaItaly2026-10-17Feltz Printing Service PROPOSAL13Stephen Shaw
1035Greenwood C ChuiFrance2026-10-30Rousseaux, Michael Esq NEW70Asiya Javayant
1036Jefferson I AlbaresCanada2026-10-25Benton, John B Jr PROPOSAL11Ivan Magalhaes
1037Izzy M ButtIndia2026-11-04Rangoni Of Florence NEW72Xuxue Feng
1038Munro I FigeroaIndia2026-10-12Benton, John B Jr QUALIFIED86Onyama Limba
1039Mujtaba T CampainGermany2026-10-17Printing Dimensions NEW46Ioni Bowcher
1040Ricardo V SlusarskiGermany2026-11-03Benton, John B Jr NEGOTIATION51Stephen Shaw
1041Munro M BriddickSpain2026-10-11Buckley Miller Wright NEGOTIATION1Anna Fali
1042Arvin P BologniaJapan2026-10-26Commercial Press UNQUALIFIED36Ivan Magalhaes
1043Cody F CampainAustralia2026-11-05Printing Dimensions QUALIFIED36Elwin Sharvill
1044Johnson C MaletJapan2026-10-31Commercial Press NEW49Ivan Magalhaes
1045Jones S VocelkaArgentina2026-10-21Feltz Printing Service PROPOSAL7Anna Fali
1046Arvin Y FlosiSpain2026-10-20Buckley Miller Wright QUALIFIED91Ivan Magalhaes
1047Maisha V FlosiGermany2026-10-29Dorl, James J Esq NEW81Ioni Bowcher
1048Antonio T ShinkoArgentina2026-10-25Truhlar And Truhlar Attys RENEWAL74Ivan Magalhaes
1049Sinclair G MacleadUnited Kingdom2026-10-30Benton, John B Jr RENEWAL25Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Deepesh N ChuiArgentinaOnyama Limba NEW
Ivar O TollnerGermanyXuxue Feng PROPOSAL
Ricardo S GlickAustraliaXuxue Feng PROPOSAL
Misaki B BologniaBrazilStephen Shaw RENEWAL
Emily L WieserArgentinaIvan Magalhaes PROPOSAL
Adams L TollnerCanadaIvan Magalhaes PROPOSAL
Faith J SaylorsIndiaAmy Elsner NEW
Darci G ChuiArgentinaAsiya Javayant PROPOSAL
Darci P OldroydSpainXuxue Feng RENEWAL
Ashley U RoysterCanadaStephen Shaw PROPOSAL
Aika D GillianJapanStephen Shaw PROPOSAL
Misaki L DoeItalyElwin Sharvill QUALIFIED
Darci B PaprockiCanadaXuxue Feng UNQUALIFIED
Maisha P RutaCanadaIvan Magalhaes RENEWAL
Wickens E FerenczAustraliaIvan Magalhaes QUALIFIED
Sinclair P PaprockiFranceOnyama Limba QUALIFIED
Francesco V FlosiIndiaIoni Bowcher PROPOSAL
Darci R OstroskySpainAnna Fali QUALIFIED
David O RimGermanyOnyama Limba UNQUALIFIED
Morrow Z SchemmerArgentinaAsiya Javayant PROPOSAL
Antonio D DarakjyFranceIoni Bowcher UNQUALIFIED
Sinclair Q VocelkaAustraliaElwin Sharvill PROPOSAL
Jones B KolmetzGermanyXuxue Feng QUALIFIED
David N DilliardAustraliaAsiya Javayant NEW
Nicolas Q IturbideUnited KingdomIvan Magalhaes NEW
Smith K ShinkoIndiaIvan Magalhaes UNQUALIFIED
Emily J DilliardItalyOnyama Limba RENEWAL
Ashley D DarakjyBrazilOnyama Limba PROPOSAL
Isabel I GauchoBrazilIoni Bowcher RENEWAL
Jeanfrancois B IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi J VocelkaIndiaIvan Magalhaes NEW
Nicolas P RutaItalyAsiya Javayant PROPOSAL
Antonio Z KuskoGermanyAmy Elsner NEGOTIATION
Kaitlin N MaletJapanAnna Fali PROPOSAL
Munro H IturbideFranceIoni Bowcher UNQUALIFIED
Jeanfrancois H CaudyIndiaOnyama Limba PROPOSAL
David W BowleyFranceAnna Fali QUALIFIED
Alejandro N DoeSpainIvan Magalhaes NEGOTIATION
Deepesh Q StensethFranceIoni Bowcher PROPOSAL
Aruna S AmigonRussiaAnna Fali PROPOSAL
Silvio P DoeGermanyBernardo Dominic NEW
Jeanfrancois X OldroydJapanAmy Elsner QUALIFIED
James P ButtAustraliaOnyama Limba RENEWAL
Ricardo C FigeroaAustraliaOnyama Limba NEGOTIATION
Alejandro V FlosiFranceIoni Bowcher NEGOTIATION
Darci H NickaBrazilBernardo Dominic QUALIFIED
Wickens B OstroskyRussiaElwin Sharvill NEW
Jones Z BologniaBrazilOnyama Limba NEW
Misaki L PaprockiFranceAnna Fali NEW
Jeanfrancois D FlosiGermanyAmy Elsner NEW
Frozen Columns
Name
Arvin W Malet
Isabel O Flosi
Adams O Stockham
Smith B Ostrosky
Leon X Perin
Izzy D Slusarski
Jones X Perin
Munro X Bolognia
Francesco E Ferencz
Jeanfrancois S Rulapaugh
David Y Nicka
Clifford G Wieser
Wickens O Glick
Johnson Z Garufi
Stacey Q Darakjy
Morrow G Rulapaugh
Jefferson T Dilliard
Ivar M Poquette
Darci B Amigon
Ivar E Briddick
David J Sergi
Jeanfrancois Q Rim
Claire V Gaucho
Octavia C Venere
Kaitlin E Amigon
Maria H Kolmetz
Costa N Amigon
Maisha P Caudy
Costa A Caudy
Adams C Slusarski
Maria D Wieser
Octavia K Stenseth
Chavez M Slusarski
James P Albares
Costa U Venere
Greenwood A Morasca
Jones G Iturbide
James Y Venere
Faith B Poquette
Ashley Y Figeroa
David V Marrier
Jennifer X Morasca
Izzy T Ferencz
Tony H Poquette
Jones J Vocelka
Cody T Briddick
Mujtaba I Kolmetz
Deepesh S Figeroa
Kaitlin T Foller
Clifford G Vocelka
IdCountryDate
1000Russia2026-10-11
1001Canada2026-10-24
1002Italy2026-11-05
1003Argentina2026-10-23
1004Canada2026-10-26
1005India2026-10-31
1006France2026-11-04
1007France2026-10-25
1008Japan2026-10-19
1009United Kingdom2026-10-12
1010Brazil2026-10-27
1011Spain2026-10-29
1012Italy2026-11-05
1013Canada2026-10-18
1014Argentina2026-11-09
1015Australia2026-10-29
1016Germany2026-11-08
1017France2026-10-17
1018Brazil2026-10-23
1019Australia2026-10-21
1020Spain2026-11-05
1021Spain2026-10-20
1022United Kingdom2026-10-28
1023Japan2026-10-24
1024Argentina2026-10-29
1025India2026-10-13
1026United Kingdom2026-10-30
1027India2026-11-01
1028Australia2026-10-26
1029Germany2026-10-27
1030Italy2026-10-17
1031France2026-11-07
1032Canada2026-10-31
1033Australia2026-10-22
1034Argentina2026-10-20
1035India2026-11-08
1036Germany2026-10-11
1037Australia2026-10-12
1038United Kingdom2026-10-21
1039United Kingdom2026-10-20
1040France2026-10-26
1041France2026-10-19
1042Canada2026-11-04
1043Germany2026-10-11
1044India2026-10-12
1045Japan2026-10-16
1046Argentina2026-11-03
1047United Kingdom2026-10-27
1048Canada2026-11-03
1049Argentina2026-11-05

On-Demand Data

NameIdCountryDate
Jones Z Inouye1000India2026-10-16
Deepesh K Inouye1001Spain2026-10-12
Stacey C Darakjy1002Japan2026-10-17
Jefferson B Bolognia1003Spain2026-11-03
Ashley H Rim1004Italy2026-10-24
Munro W Maclead1005Germany2026-10-28
Mayumi U Gaucho1006Spain2026-10-14
Julie O Caldarera1007Germany2026-10-27
Greenwood W Kusko1008France2026-11-09
Stacey F Briddick1009Australia2026-10-13
Rodrigues M Wieser1010Japan2026-11-02
Faith M Vocelka1011India2026-11-01
Ashley V Amigon1012France2026-10-26
Greenwood T Vocelka1013Brazil2026-10-15
Greenwood M Flosi1014Australia2026-10-19
Chavez O Poquette1015Canada2026-10-13
Jefferson E Kolmetz1016France2026-10-19
Darci O Doe1017Spain2026-11-08
Greenwood F Bowley1018United Kingdom2026-10-18
Ivar Z Marrier1019India2026-10-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi E VocelkaFranceIvan Magalhaes RENEWAL
Deepesh G MaletGermanyAnna Fali NEW
Claire C DarakjyGermanyElwin Sharvill QUALIFIED
Jefferson U KolmetzAustraliaOnyama Limba RENEWAL
Octavia W MorascaSpainAmy Elsner RENEWAL
Ivar C MarrierSpainElwin Sharvill PROPOSAL
David E VenereArgentinaStephen Shaw RENEWAL
Wickens U OldroydCanadaElwin Sharvill NEW
Maria S InouyeFranceStephen Shaw UNQUALIFIED
Aika E GauchoFranceIvan Magalhaes NEGOTIATION
Jeanfrancois F PoquetteGermanyAmy Elsner NEGOTIATION
Faith Z FollerCanadaIoni Bowcher NEW
Jefferson I PerinCanadaBernardo Dominic PROPOSAL
Misaki T MacleadUnited KingdomIoni Bowcher RENEWAL
Antonio A ButtCanadaStephen Shaw RENEWAL
Claire E StensethSpainXuxue Feng NEW
Darci G FerenczAustraliaElwin Sharvill RENEWAL
Deepesh K VocelkaFranceAnna Fali QUALIFIED
Francesco M MaletCanadaIvan Magalhaes QUALIFIED
Cody Z TollnerGermanyAsiya Javayant RENEWAL
Alejandro A PerinGermanyOnyama Limba QUALIFIED
Sinclair G RoysterGermanyOnyama Limba NEW
Sinclair F PerinIndiaAmy Elsner PROPOSAL
Izzy X MaletBrazilOnyama Limba NEW
Aika C CaldareraBrazilElwin Sharvill PROPOSAL
Murillo P MarrierUnited KingdomAmy Elsner NEW
Misaki G VenereIndiaAmy Elsner UNQUALIFIED
Aruna S OldroydCanadaStephen Shaw UNQUALIFIED
Jeanfrancois W WaycottBrazilAsiya Javayant RENEWAL
Cody B BowleyIndiaAnna Fali UNQUALIFIED
Costa B RoysterFranceOnyama Limba NEW
Adams X RimRussiaXuxue Feng NEW
Cody R CaudyCanadaAnna Fali RENEWAL
Octavia D StensethJapanAsiya Javayant UNQUALIFIED
Aika T GlickCanadaIvan Magalhaes UNQUALIFIED
Johnson J PerinGermanyIvan Magalhaes PROPOSAL
Salvatore Y SlusarskiBrazilXuxue Feng QUALIFIED
Jones N SergiIndiaOnyama Limba NEW
Octavia J CaudyRussiaAmy Elsner QUALIFIED
James B GlickJapanIvan Magalhaes UNQUALIFIED

<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>