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
Maria S InouyeUnited KingdomAmy Elsner NEGOTIATION
Leon E TollnerAustraliaIvan Magalhaes QUALIFIED
Tony A BologniaAustraliaAsiya Javayant NEGOTIATION
Octavia D PerinFranceBernardo Dominic QUALIFIED
Costa V RulapaughSpainIoni Bowcher RENEWAL
Mujtaba Y AmigonGermanyOnyama Limba UNQUALIFIED
Jennifer L GauchoJapanAnna Fali UNQUALIFIED
Ivar H OldroydArgentinaStephen Shaw NEGOTIATION
Julie X ButtIndiaElwin Sharvill NEW
Leon B DarakjyItalyOnyama Limba PROPOSAL
Maisha O CaldareraIndiaAmy Elsner UNQUALIFIED
Cody L WhobreyCanadaOnyama Limba UNQUALIFIED
Aika E GillianCanadaIvan Magalhaes PROPOSAL
Aditya Y StensethGermanyStephen Shaw NEW
Aditya C ButtItalyElwin Sharvill QUALIFIED
Juan Y DilliardCanadaStephen Shaw RENEWAL
Morrow I GillianGermanyIvan Magalhaes UNQUALIFIED
Johnson M ChuiGermanyXuxue Feng UNQUALIFIED
Alejandro I WieserCanadaXuxue Feng UNQUALIFIED
Kadeem S PoquetteAustraliaStephen Shaw NEGOTIATION
Sinclair F FigeroaJapanXuxue Feng PROPOSAL
Adams A NickaRussiaAsiya Javayant QUALIFIED
Morrow L RimIndiaElwin Sharvill PROPOSAL
Jefferson P AmigonFranceAnna Fali RENEWAL
Izzy A AmigonIndiaIoni Bowcher NEGOTIATION
Antonio H NickaItalyAsiya Javayant PROPOSAL
Julie C BowleyJapanAmy Elsner UNQUALIFIED
Misaki Z WaycottRussiaAsiya Javayant RENEWAL
Antonio G GlickAustraliaIvan Magalhaes NEW
James R DarakjyItalyIvan Magalhaes RENEWAL
Isabel O PaprockiUnited KingdomIoni Bowcher QUALIFIED
Jennifer U FigeroaArgentinaElwin Sharvill RENEWAL
Emily N MaletSpainAsiya Javayant PROPOSAL
Darci H ButtUnited KingdomXuxue Feng NEW
Jones J AlbaresUnited KingdomIoni Bowcher RENEWAL
Clifford N FollerCanadaElwin Sharvill NEW
Kadeem F RulapaughUnited KingdomIoni Bowcher UNQUALIFIED
Misaki G PoquetteCanadaStephen Shaw PROPOSAL
Sinclair W CampainAustraliaIvan Magalhaes PROPOSAL
Morrow B BriddickArgentinaElwin Sharvill UNQUALIFIED
Arvin C GlickIndiaBernardo Dominic NEGOTIATION
Ashley R RutaSpainAmy Elsner NEGOTIATION
Nicolas Q SergiItalyAsiya Javayant PROPOSAL
Deepesh R GillianJapanOnyama Limba UNQUALIFIED
Juan M CaldareraBrazilOnyama Limba QUALIFIED
Leja H IturbideIndiaBernardo Dominic NEGOTIATION
Maisha L RulapaughBrazilStephen Shaw PROPOSAL
Isabel T SergiCanadaStephen Shaw UNQUALIFIED
Kadeem T GillianSpainIvan Magalhaes NEW
David Q SlusarskiItalyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson O DilliardIndiaAmy Elsner NEW
Leon Q ChuiArgentinaBernardo Dominic NEGOTIATION
Salvatore Y GauchoCanadaElwin Sharvill PROPOSAL
Smith B CaudyCanadaOnyama Limba NEGOTIATION
Jefferson K MorascaIndiaElwin Sharvill RENEWAL
Darci H OstroskyGermanyAmy Elsner RENEWAL
Chavez Q VenereArgentinaAsiya Javayant RENEWAL
Tony B RutaRussiaIoni Bowcher UNQUALIFIED
Juan M MaletBrazilOnyama Limba QUALIFIED
Johnson C MorascaArgentinaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony C KolmetzArgentina2026-09-15Buckley Miller Wright QUALIFIED31Amy Elsner
1001Faith K VocelkaItaly2026-09-29Truhlar And Truhlar Attys RENEWAL43Asiya Javayant
1002Jones T KuskoCanada2026-10-01Rangoni Of Florence QUALIFIED10Asiya Javayant
1003Stacey Q MorascaItaly2026-09-09Commercial Press PROPOSAL72Asiya Javayant
1004Maria L DarakjyRussia2026-09-07Dorl, James J Esq RENEWAL87Xuxue Feng
1005Adams B FollerAustralia2026-09-18Chapman, Ross E Esq QUALIFIED82Asiya Javayant
1006Jeanfrancois Q ShinkoFrance2026-09-27Truhlar And Truhlar Attys NEW52Asiya Javayant
1007Aruna G OstroskyAustralia2026-09-10Feiner Bros NEW17Amy Elsner
1008Darci Z StensethGermany2026-09-20King, Christopher A Esq RENEWAL79Anna Fali
1009Claire L SaylorsItaly2026-10-03Feltz Printing Service NEW99Stephen Shaw
1010Claire D CaudyJapan2026-09-25Printing Dimensions UNQUALIFIED19Xuxue Feng
1011Mayumi P StockhamItaly2026-09-30King, Christopher A Esq UNQUALIFIED67Bernardo Dominic
1012Greenwood J DarakjyJapan2026-09-26Truhlar And Truhlar Attys QUALIFIED38Stephen Shaw
1013Nicolas P AlbaresArgentina2026-09-16Chanay, Jeffrey A Esq RENEWAL99Ivan Magalhaes
1014Johnson S FerenczSpain2026-09-18Benton, John B Jr NEW46Stephen Shaw
1015Aruna G FlosiRussia2026-09-18Morlong Associates NEGOTIATION57Xuxue Feng
1016Silvio G TollnerRussia2026-09-06King, Christopher A Esq QUALIFIED10Xuxue Feng
1017Alejandro G DilliardRussia2026-09-11Dorl, James J Esq NEW92Xuxue Feng
1018Greenwood J ChuiItaly2026-09-26Dorl, James J Esq NEW60Onyama Limba
1019Aditya H ButtSpain2026-09-17Truhlar And Truhlar Attys NEW46Stephen Shaw
1020Misaki J VenereFrance2026-09-21Dorl, James J Esq NEW96Elwin Sharvill
1021Juan A DilliardUnited Kingdom2026-09-17Benton, John B Jr NEW58Stephen Shaw
1022David H FerenczArgentina2026-09-10Commercial Press PROPOSAL65Elwin Sharvill
1023Clifford Z FigeroaSpain2026-09-24Rousseaux, Michael Esq RENEWAL15Onyama Limba
1024Nicolas W FollerRussia2026-09-16Rousseaux, Michael Esq NEGOTIATION47Stephen Shaw
1025Clifford M StensethIndia2026-09-12Commercial Press UNQUALIFIED96Anna Fali
1026Costa T WieserIndia2026-09-23Benton, John B Jr PROPOSAL24Elwin Sharvill
1027Jeanfrancois B PaprockiUnited Kingdom2026-09-12Benton, John B Jr QUALIFIED86Anna Fali
1028Adams J PaprockiSpain2026-09-18Chemel, James L Cpa NEGOTIATION14Asiya Javayant
1029Jeanfrancois O AmigonAustralia2026-09-07Rangoni Of Florence NEGOTIATION47Elwin Sharvill
1030Antonio P FollerBrazil2026-09-16Dorl, James J Esq UNQUALIFIED84Stephen Shaw
1031Wickens Y NickaBrazil2026-09-15Chanay, Jeffrey A Esq RENEWAL31Stephen Shaw
1032Wickens O CaldareraItaly2026-09-25Feltz Printing Service NEW34Xuxue Feng
1033Maisha G StockhamGermany2026-09-08Printing Dimensions RENEWAL93Stephen Shaw
1034Jones I KolmetzCanada2026-09-11Feltz Printing Service RENEWAL90Anna Fali
1035Francesco D AmigonGermany2026-10-05Feltz Printing Service UNQUALIFIED25Xuxue Feng
1036Salvatore K RimJapan2026-09-20Feltz Printing Service QUALIFIED29Bernardo Dominic
1037Salvatore H KuskoItaly2026-09-25King, Christopher A Esq RENEWAL43Stephen Shaw
1038Aditya J CampainBrazil2026-09-30Benton, John B Jr UNQUALIFIED87Stephen Shaw
1039Sinclair U FollerBrazil2026-09-15Benton, John B Jr NEGOTIATION57Onyama Limba
1040Johnson O TollnerCanada2026-09-19Rangoni Of Florence PROPOSAL48Onyama Limba
1041David S InouyeIndia2026-09-21Chanay, Jeffrey A Esq QUALIFIED39Xuxue Feng
1042Silvio W FerenczIndia2026-09-25Buckley Miller Wright RENEWAL11Elwin Sharvill
1043Isabel I NestleBrazil2026-09-16Printing Dimensions NEW4Stephen Shaw
1044Octavia T MarrierUnited Kingdom2026-09-24Buckley Miller Wright NEGOTIATION40Anna Fali
1045Silvio D FigeroaBrazil2026-09-21Benton, John B Jr RENEWAL59Amy Elsner
1046Rodrigues C NestleItaly2026-09-21Dorl, James J Esq PROPOSAL25Asiya Javayant
1047Julie V AmigonArgentina2026-10-03Commercial Press NEGOTIATION39Anna Fali
1048Antonio T SchemmerJapan2026-09-08Rangoni Of Florence NEW76Asiya Javayant
1049Chavez B CampainAustralia2026-10-01Chanay, Jeffrey A Esq UNQUALIFIED81Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jennifer P CaudyCanadaAmy Elsner RENEWAL
Cody Y GlickRussiaAsiya Javayant UNQUALIFIED
Jefferson D BriddickItalyOnyama Limba NEW
Stacey Z IturbideFranceElwin Sharvill QUALIFIED
Munro W GillianJapanXuxue Feng NEW
Jennifer T GarufiRussiaIoni Bowcher PROPOSAL
Jefferson A FerenczJapanBernardo Dominic RENEWAL
Leon I AmigonCanadaAmy Elsner RENEWAL
Julie T OldroydIndiaIvan Magalhaes UNQUALIFIED
Wickens U CampainItalyAnna Fali PROPOSAL
Misaki A WieserUnited KingdomElwin Sharvill PROPOSAL
Maisha H NestleItalyOnyama Limba UNQUALIFIED
Aditya G StensethArgentinaIoni Bowcher RENEWAL
Munro W StensethIndiaOnyama Limba QUALIFIED
Ashley I GillianUnited KingdomIoni Bowcher RENEWAL
Francesco X OldroydSpainAnna Fali UNQUALIFIED
Emily L PaprockiJapanIvan Magalhaes NEGOTIATION
Jennifer E RutaUnited KingdomBernardo Dominic NEGOTIATION
Leon M MarrierAustraliaXuxue Feng QUALIFIED
Murillo T FollerCanadaXuxue Feng RENEWAL
Jeanfrancois E RimCanadaAsiya Javayant PROPOSAL
Mayumi E SlusarskiSpainIoni Bowcher QUALIFIED
Alejandro V BowleyGermanyOnyama Limba NEGOTIATION
Arvin Z BowleyIndiaBernardo Dominic RENEWAL
Octavia U MaletItalyIoni Bowcher NEGOTIATION
Maisha Y FlosiIndiaElwin Sharvill NEW
Greenwood M IturbideBrazilAsiya Javayant NEW
Claire V GillianAustraliaIoni Bowcher NEW
Jefferson G GlickFranceIoni Bowcher QUALIFIED
Isabel Q OstroskyItalyAmy Elsner NEW
Maisha E VocelkaFranceAsiya Javayant NEW
Jefferson D GillianSpainIvan Magalhaes UNQUALIFIED
Octavia O DoeFranceBernardo Dominic PROPOSAL
Ricardo L DilliardCanadaAnna Fali NEGOTIATION
Alejandro F FollerJapanIoni Bowcher NEGOTIATION
Murillo Y MaletUnited KingdomStephen Shaw QUALIFIED
Smith G MarrierJapanAnna Fali UNQUALIFIED
Francesco X SlusarskiJapanStephen Shaw QUALIFIED
Octavia S VocelkaBrazilAnna Fali NEGOTIATION
Aika K WhobreyRussiaIvan Magalhaes NEW
Mujtaba Z CampainGermanyOnyama Limba NEW
Aika F GarufiItalyAmy Elsner UNQUALIFIED
Jones D FollerItalyIoni Bowcher NEW
Aruna Y AmigonBrazilStephen Shaw QUALIFIED
Emily G RulapaughSpainAsiya Javayant NEW
Johnson Z OldroydBrazilAnna Fali PROPOSAL
Johnson F GarufiBrazilElwin Sharvill QUALIFIED
Alejandro Z FigeroaItalyAnna Fali QUALIFIED
Emily A CampainRussiaAnna Fali NEGOTIATION
Cody B PaprockiArgentinaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Jennifer I Campain
Silvio H Ostrosky
Jefferson K Waycott
Mayumi Z Glick
Wickens Y Gillian
Arvin P Doe
Morrow Y Rulapaugh
Isabel M Kolmetz
Claire J Oldroyd
Arvin K Vocelka
Johnson R Campain
David I Chui
Alejandro C Nestle
Silvio P Waycott
Smith Z Albares
Cody K Ruta
Ricardo A Kolmetz
Arvin Q Butt
Ashley M Tollner
Morrow S Garufi
Maria A Ferencz
Sinclair O Glick
Julie X Amigon
Sinclair T Chui
Aruna S Oldroyd
Jeanfrancois Q Bowley
James T Ostrosky
Munro V Vocelka
Faith U Caudy
Mujtaba Y Stenseth
Maisha N Chui
Antonio P Slusarski
Jones D Glick
Francesco P Kolmetz
Mujtaba E Malet
Wickens L Slusarski
Silvio H Venere
Maisha M Stenseth
Adams J Slusarski
Greenwood U Nicka
Rodrigues W Tollner
Aruna H Doe
Maria C Bolognia
Smith J Rulapaugh
Juan L Nicka
Octavia M Ostrosky
Rodrigues O Wieser
David C Amigon
Murillo D Perin
Leja G Amigon
IdCountryDate
1000Brazil2026-09-29
1001Canada2026-10-01
1002Germany2026-09-27
1003Spain2026-09-16
1004Spain2026-10-02
1005Brazil2026-09-08
1006United Kingdom2026-09-22
1007Italy2026-09-12
1008United Kingdom2026-09-13
1009Australia2026-10-03
1010India2026-09-22
1011France2026-10-01
1012Italy2026-10-03
1013Spain2026-09-07
1014India2026-10-04
1015Spain2026-09-15
1016Russia2026-09-17
1017Germany2026-09-28
1018France2026-09-19
1019Canada2026-10-05
1020United Kingdom2026-09-29
1021Brazil2026-09-14
1022Brazil2026-09-25
1023Italy2026-09-06
1024Argentina2026-09-30
1025India2026-10-02
1026Argentina2026-09-06
1027Spain2026-10-05
1028Japan2026-09-10
1029Brazil2026-09-21
1030Australia2026-09-14
1031India2026-09-27
1032Russia2026-09-20
1033India2026-09-09
1034Japan2026-09-19
1035Italy2026-09-15
1036Japan2026-09-13
1037France2026-10-04
1038Italy2026-10-05
1039Argentina2026-09-29
1040Russia2026-10-03
1041Brazil2026-09-20
1042Spain2026-10-02
1043Australia2026-09-17
1044Canada2026-09-27
1045Japan2026-09-14
1046Japan2026-10-03
1047Spain2026-10-03
1048Argentina2026-09-24
1049France2026-09-26

On-Demand Data

NameIdCountryDate
Jefferson L Glick1000Italy2026-09-10
Nicolas Z Stockham1001Argentina2026-09-07
Adams T Morasca1002India2026-09-12
Kadeem E Nestle1003Japan2026-09-14
Mujtaba L Chui1004France2026-09-26
Mayumi D Rulapaugh1005Japan2026-09-28
James H Flosi1006Japan2026-10-01
Isabel O Gillian1007United Kingdom2026-09-17
Arvin X Doe1008Japan2026-09-27
Antonio G Caudy1009Canada2026-09-08
Munro N Perin1010India2026-09-24
Wickens Y Gillian1011Canada2026-09-17
Alejandro C Ruta1012Argentina2026-09-30
Kaitlin M Shinko1013Australia2026-09-20
Johnson D Caudy1014United Kingdom2026-09-08
Chavez Y Slusarski1015Germany2026-10-03
Alejandro M Royster1016France2026-09-30
Ashley P Ferencz1017Australia2026-09-06
Greenwood O Briddick1018India2026-10-05
Francesco E Shinko1019India2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson P TollnerUnited KingdomOnyama Limba RENEWAL
Arvin H MacleadItalyElwin Sharvill NEW
Faith S RoysterSpainBernardo Dominic NEGOTIATION
Ivar L CampainJapanIoni Bowcher QUALIFIED
Deepesh F AlbaresArgentinaStephen Shaw NEW
Francesco C AlbaresUnited KingdomOnyama Limba NEGOTIATION
Ashley H TollnerArgentinaAmy Elsner RENEWAL
Jefferson J StockhamGermanyBernardo Dominic PROPOSAL
Julie R FigeroaCanadaAmy Elsner RENEWAL
Jefferson A StockhamFranceBernardo Dominic PROPOSAL
Rodrigues P DoeSpainBernardo Dominic RENEWAL
Munro I DoeIndiaStephen Shaw PROPOSAL
Cody W StockhamAustraliaBernardo Dominic QUALIFIED
Jefferson C RimIndiaStephen Shaw NEGOTIATION
Costa V FlosiCanadaElwin Sharvill QUALIFIED
Greenwood M BriddickGermanyBernardo Dominic QUALIFIED
Antonio L TollnerItalyAmy Elsner QUALIFIED
Greenwood A ButtRussiaOnyama Limba UNQUALIFIED
Jennifer B AlbaresRussiaAmy Elsner QUALIFIED
Leja U PerinGermanyOnyama Limba RENEWAL
Aika Y MorascaItalyAnna Fali RENEWAL
Kadeem O MorascaSpainAmy Elsner RENEWAL
Faith S RoysterJapanIoni Bowcher QUALIFIED
James T WieserGermanyStephen Shaw NEGOTIATION
Aruna Z BriddickUnited KingdomAmy Elsner RENEWAL
Adams U WieserArgentinaAmy Elsner PROPOSAL
Jones I FerenczArgentinaElwin Sharvill NEW
Juan Z GarufiBrazilIvan Magalhaes PROPOSAL
Stacey V IturbideGermanyOnyama Limba PROPOSAL
Johnson T RulapaughFranceIoni Bowcher QUALIFIED
Juan Y DoeItalyElwin Sharvill NEW
Emily B FollerAustraliaStephen Shaw QUALIFIED
Izzy Q NestleCanadaIoni Bowcher PROPOSAL
Jones Q NickaArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois I FigeroaBrazilAmy Elsner RENEWAL
Mayumi C MaletFranceElwin Sharvill RENEWAL
Costa S BologniaFranceElwin Sharvill QUALIFIED
Wickens S StockhamFranceAsiya Javayant NEGOTIATION
Isabel O RimIndiaElwin Sharvill NEGOTIATION
Darci H FollerGermanyAsiya Javayant PROPOSAL

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