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
Antonio Q FlosiItalyBernardo Dominic NEGOTIATION
Tony P InouyeArgentinaAsiya Javayant UNQUALIFIED
Francesco J StockhamJapanAnna Fali UNQUALIFIED
James D PerinCanadaAnna Fali NEW
Julie L RutaUnited KingdomBernardo Dominic QUALIFIED
Leon P InouyeIndiaBernardo Dominic NEGOTIATION
Munro Y ButtGermanyIoni Bowcher UNQUALIFIED
Rodrigues K ShinkoAustraliaStephen Shaw UNQUALIFIED
Maria C ButtBrazilXuxue Feng NEW
Julie E WaycottGermanyAnna Fali QUALIFIED
Octavia I ChuiIndiaXuxue Feng PROPOSAL
James F RutaFranceXuxue Feng NEW
Maria N VocelkaItalyAmy Elsner NEGOTIATION
Misaki Z KolmetzIndiaAsiya Javayant NEW
Munro P SergiFranceIvan Magalhaes UNQUALIFIED
Chavez W FigeroaCanadaIoni Bowcher NEW
Mujtaba T RulapaughCanadaAnna Fali PROPOSAL
Maisha N FigeroaRussiaAsiya Javayant UNQUALIFIED
Ivar Q FlosiGermanyIvan Magalhaes UNQUALIFIED
Claire T RoysterCanadaAnna Fali RENEWAL
Silvio T RulapaughAustraliaIoni Bowcher QUALIFIED
Ivar G SergiCanadaBernardo Dominic RENEWAL
Munro L TollnerSpainStephen Shaw QUALIFIED
Arvin S GillianArgentinaAnna Fali RENEWAL
Izzy N NestleGermanyIvan Magalhaes QUALIFIED
Kaitlin N KolmetzAustraliaAsiya Javayant NEW
Kaitlin X FigeroaItalyXuxue Feng NEGOTIATION
Mayumi C DoeBrazilAmy Elsner PROPOSAL
Murillo T CampainArgentinaIvan Magalhaes NEW
Isabel Y FigeroaBrazilElwin Sharvill NEGOTIATION
Juan N SaylorsRussiaXuxue Feng QUALIFIED
Alejandro L RutaCanadaIvan Magalhaes UNQUALIFIED
Tony A VenereSpainAmy Elsner NEGOTIATION
Julie Y RoysterItalyAsiya Javayant PROPOSAL
Maria L SlusarskiUnited KingdomStephen Shaw PROPOSAL
Kadeem G RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Costa Z MacleadCanadaAsiya Javayant RENEWAL
Kadeem M NestleIndiaBernardo Dominic PROPOSAL
Smith F NestleJapanOnyama Limba QUALIFIED
Julie W SchemmerGermanyIvan Magalhaes RENEWAL
Smith U AlbaresItalyOnyama Limba NEGOTIATION
Adams C PaprockiRussiaAnna Fali PROPOSAL
Claire E StockhamFranceElwin Sharvill QUALIFIED
Tony F RutaBrazilXuxue Feng UNQUALIFIED
Adams U StockhamBrazilBernardo Dominic RENEWAL
Nicolas D NestleUnited KingdomOnyama Limba RENEWAL
Silvio O GlickCanadaAnna Fali UNQUALIFIED
James X RimIndiaXuxue Feng QUALIFIED
Clifford L SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Juan G MacleadAustraliaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson G NickaCanadaOnyama Limba RENEWAL
Darci W DoeFranceStephen Shaw RENEWAL
Darci G ChuiRussiaBernardo Dominic NEW
Greenwood V DilliardGermanyAnna Fali NEGOTIATION
Julie L GarufiFranceIvan Magalhaes UNQUALIFIED
Morrow T ChuiBrazilAmy Elsner NEW
Morrow O MacleadAustraliaXuxue Feng UNQUALIFIED
Leon Z OstroskyUnited KingdomStephen Shaw RENEWAL
Sinclair D VocelkaFranceAnna Fali UNQUALIFIED
Claire L DoeFranceStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh J FollerBrazil2026-10-19Chemel, James L Cpa UNQUALIFIED11Amy Elsner
1001Deepesh N VenereRussia2026-10-08Commercial Press PROPOSAL59Ioni Bowcher
1002Wickens Y CaldareraSpain2026-10-15Rousseaux, Michael Esq NEW94Ivan Magalhaes
1003Rodrigues P WaycottItaly2026-10-09Rangoni Of Florence UNQUALIFIED51Asiya Javayant
1004Sinclair C CampainArgentina2026-09-24Dorl, James J Esq PROPOSAL33Ivan Magalhaes
1005Octavia B RoysterIndia2026-10-08Chapman, Ross E Esq UNQUALIFIED14Amy Elsner
1006Alejandro Z GillianArgentina2026-09-20Chapman, Ross E Esq QUALIFIED68Xuxue Feng
1007Francesco E PoquetteItaly2026-09-25Benton, John B Jr RENEWAL63Elwin Sharvill
1008Emily U VocelkaUnited Kingdom2026-09-21Feltz Printing Service QUALIFIED20Amy Elsner
1009Rodrigues Q CaldareraGermany2026-10-09Chemel, James L Cpa PROPOSAL49Xuxue Feng
1010Maria W VenereIndia2026-10-07Truhlar And Truhlar Attys NEGOTIATION29Xuxue Feng
1011Kaitlin Y CaudyFrance2026-09-29King, Christopher A Esq QUALIFIED90Amy Elsner
1012Tony G GarufiRussia2026-10-06Printing Dimensions PROPOSAL7Onyama Limba
1013Jeanfrancois S OldroydRussia2026-10-07Truhlar And Truhlar Attys RENEWAL27Ivan Magalhaes
1014Maisha B StockhamBrazil2026-10-06Feltz Printing Service RENEWAL96Stephen Shaw
1015Octavia S SchemmerJapan2026-09-25Rousseaux, Michael Esq UNQUALIFIED28Xuxue Feng
1016Deepesh O NestleUnited Kingdom2026-10-16Dorl, James J Esq NEGOTIATION28Ivan Magalhaes
1017Faith X MorascaRussia2026-09-22Chemel, James L Cpa RENEWAL94Bernardo Dominic
1018Sinclair X MaletItaly2026-10-05Chemel, James L Cpa UNQUALIFIED25Amy Elsner
1019Rodrigues M OstroskyGermany2026-10-02Commercial Press NEGOTIATION92Amy Elsner
1020Maisha J RimIndia2026-10-12Rangoni Of Florence PROPOSAL67Ioni Bowcher
1021Munro S CaudyAustralia2026-09-26Commercial Press RENEWAL21Xuxue Feng
1022Claire G CampainUnited Kingdom2026-10-12Chanay, Jeffrey A Esq NEW18Ioni Bowcher
1023Morrow T GillianRussia2026-09-20Chemel, James L Cpa QUALIFIED48Anna Fali
1024Francesco F WaycottUnited Kingdom2026-10-07Rangoni Of Florence RENEWAL84Stephen Shaw
1025Smith G SlusarskiSpain2026-09-25Chanay, Jeffrey A Esq NEW92Stephen Shaw
1026Greenwood V OldroydAustralia2026-10-10Dorl, James J Esq NEW91Stephen Shaw
1027Claire V BologniaItaly2026-09-24Chapman, Ross E Esq NEW68Xuxue Feng
1028Tony A MaletArgentina2026-09-24Commercial Press RENEWAL93Ivan Magalhaes
1029Nicolas F RulapaughJapan2026-10-19Commercial Press PROPOSAL58Bernardo Dominic
1030Julie D ShinkoUnited Kingdom2026-10-04Truhlar And Truhlar Attys UNQUALIFIED8Ivan Magalhaes
1031Faith N OstroskyIndia2026-10-16Feiner Bros PROPOSAL70Elwin Sharvill
1032Jefferson Z SlusarskiBrazil2026-09-22Buckley Miller Wright RENEWAL65Amy Elsner
1033Murillo T KuskoUnited Kingdom2026-10-03Printing Dimensions NEGOTIATION31Xuxue Feng
1034Kadeem C FollerGermany2026-10-16Morlong Associates PROPOSAL32Bernardo Dominic
1035Kaitlin Y PerinFrance2026-10-03Buckley Miller Wright NEGOTIATION55Ivan Magalhaes
1036Alejandro G OldroydItaly2026-10-17Dorl, James J Esq PROPOSAL34Amy Elsner
1037Nicolas P AlbaresCanada2026-10-08Benton, John B Jr RENEWAL78Xuxue Feng
1038Stacey Y RulapaughIndia2026-09-21Feltz Printing Service RENEWAL71Onyama Limba
1039Mujtaba J WhobreySpain2026-10-06Chemel, James L Cpa UNQUALIFIED3Onyama Limba
1040Nicolas N CaudyCanada2026-10-07Rangoni Of Florence NEGOTIATION21Xuxue Feng
1041Emily X RoysterJapan2026-10-10Chemel, James L Cpa RENEWAL34Stephen Shaw
1042Julie E DilliardRussia2026-10-03Morlong Associates RENEWAL37Bernardo Dominic
1043Clifford Z TollnerFrance2026-10-02Chapman, Ross E Esq UNQUALIFIED66Amy Elsner
1044Johnson J NickaItaly2026-10-06Chemel, James L Cpa RENEWAL23Bernardo Dominic
1045Aditya H MorascaSpain2026-10-15King, Christopher A Esq PROPOSAL82Onyama Limba
1046Francesco U DilliardAustralia2026-10-14Morlong Associates NEW19Ivan Magalhaes
1047Aika Y InouyeArgentina2026-10-15Chanay, Jeffrey A Esq RENEWAL2Bernardo Dominic
1048Costa S SchemmerJapan2026-09-24King, Christopher A Esq RENEWAL69Asiya Javayant
1049Stacey M BowleySpain2026-10-03King, Christopher A Esq PROPOSAL55Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy X WhobreyBrazilIvan Magalhaes RENEWAL
Murillo M MorascaCanadaAsiya Javayant PROPOSAL
Munro R SergiAustraliaAsiya Javayant UNQUALIFIED
Cody D BriddickSpainIvan Magalhaes UNQUALIFIED
Jennifer L RulapaughRussiaIvan Magalhaes UNQUALIFIED
Chavez P TollnerCanadaAmy Elsner UNQUALIFIED
Maria D MacleadUnited KingdomIoni Bowcher NEW
Francesco B MacleadBrazilIoni Bowcher NEGOTIATION
David H GlickBrazilOnyama Limba NEGOTIATION
Francesco X SlusarskiCanadaAsiya Javayant NEW
Tony W OstroskyArgentinaIvan Magalhaes RENEWAL
Juan X MaletCanadaIoni Bowcher RENEWAL
Izzy X FollerFranceAnna Fali PROPOSAL
James Z SlusarskiIndiaIoni Bowcher NEGOTIATION
Misaki G PoquetteIndiaIvan Magalhaes NEGOTIATION
Chavez G FlosiArgentinaAmy Elsner RENEWAL
Clifford E AmigonIndiaStephen Shaw QUALIFIED
David W VocelkaFranceBernardo Dominic PROPOSAL
Faith J SchemmerSpainAmy Elsner NEW
Mujtaba B GillianArgentinaStephen Shaw QUALIFIED
James A KuskoItalyXuxue Feng RENEWAL
Jones F RulapaughFranceIoni Bowcher QUALIFIED
Maisha R DilliardBrazilAsiya Javayant PROPOSAL
Kadeem O ChuiBrazilBernardo Dominic QUALIFIED
Stacey W VenereItalyOnyama Limba UNQUALIFIED
Julie T GarufiIndiaIvan Magalhaes NEW
Chavez Q MacleadSpainIvan Magalhaes NEGOTIATION
Ashley M PerinSpainOnyama Limba NEGOTIATION
Francesco I VocelkaBrazilOnyama Limba NEGOTIATION
James L WhobreyRussiaOnyama Limba NEGOTIATION
Nicolas N ChuiFranceIvan Magalhaes PROPOSAL
Leja Y FlosiSpainXuxue Feng UNQUALIFIED
Juan C VocelkaGermanyIvan Magalhaes PROPOSAL
Mujtaba R BriddickUnited KingdomAsiya Javayant NEGOTIATION
Juan T AmigonSpainStephen Shaw NEGOTIATION
Izzy I SlusarskiIndiaIvan Magalhaes QUALIFIED
Ivar P InouyeBrazilAmy Elsner NEW
Stacey X StockhamJapanStephen Shaw NEGOTIATION
Arvin N InouyeAustraliaStephen Shaw NEGOTIATION
Jefferson F BowleyRussiaXuxue Feng UNQUALIFIED
Faith R PerinRussiaAsiya Javayant NEGOTIATION
Leon G StockhamGermanyAnna Fali NEW
Wickens U BriddickBrazilAmy Elsner UNQUALIFIED
Mayumi E SlusarskiJapanAnna Fali UNQUALIFIED
Alejandro K OldroydAustraliaIvan Magalhaes NEGOTIATION
Leja B VenereGermanyAnna Fali QUALIFIED
Octavia S SergiGermanyXuxue Feng RENEWAL
Darci U CaldareraBrazilStephen Shaw PROPOSAL
Wickens L KolmetzGermanyAnna Fali QUALIFIED
Antonio Z MacleadUnited KingdomXuxue Feng UNQUALIFIED
Frozen Columns
Name
Maria A Gaucho
Greenwood D Rulapaugh
Juan E Ferencz
Aditya B Briddick
Maisha H Glick
Jefferson K Stockham
Izzy G Amigon
Leon K Figeroa
Darci M Gaucho
Stacey Q Rim
Aika S Oldroyd
Maisha U Briddick
Deepesh X Vocelka
Isabel F Kusko
Chavez P Gaucho
Antonio K Ruta
Deepesh E Nestle
Rodrigues E Rim
Juan M Paprocki
Jeanfrancois J Wieser
Wickens V Wieser
Salvatore Q Dilliard
Cody J Malet
Chavez N Dilliard
Sinclair F Maclead
Aditya Z Garufi
Kadeem A Stockham
Sinclair L Bolognia
Nicolas U Rulapaugh
Ricardo A Vocelka
Deepesh P Gaucho
Chavez P Vocelka
Costa R Rim
Juan R Schemmer
Morrow X Garufi
Aditya N Malet
Mayumi W Wieser
Clifford W Kolmetz
James E Amigon
Kadeem K Campain
Morrow O Garufi
James K Inouye
Silvio A Oldroyd
Ricardo M Bolognia
Jones A Slusarski
Morrow Y Glick
Mujtaba V Foller
Ivar I Ostrosky
Julie L Perin
Leja L Bowley
IdCountryDate
1000Argentina2026-09-23
1001Italy2026-09-30
1002Germany2026-10-09
1003Australia2026-10-01
1004Canada2026-10-14
1005Italy2026-10-11
1006Russia2026-09-23
1007Canada2026-09-30
1008Japan2026-10-11
1009Japan2026-10-11
1010Brazil2026-10-01
1011United Kingdom2026-10-15
1012Argentina2026-10-04
1013United Kingdom2026-10-03
1014Italy2026-10-06
1015Germany2026-10-19
1016Germany2026-10-10
1017Brazil2026-09-29
1018Argentina2026-10-19
1019France2026-10-03
1020Italy2026-09-21
1021Japan2026-10-10
1022Canada2026-10-01
1023Italy2026-10-14
1024Australia2026-10-14
1025Canada2026-10-14
1026Italy2026-10-05
1027United Kingdom2026-09-21
1028Australia2026-09-23
1029Japan2026-10-12
1030Spain2026-09-30
1031India2026-09-28
1032Germany2026-10-06
1033Italy2026-09-24
1034Australia2026-10-13
1035Japan2026-09-23
1036United Kingdom2026-10-16
1037Spain2026-10-06
1038France2026-10-14
1039Russia2026-09-29
1040France2026-10-05
1041India2026-09-22
1042Russia2026-10-16
1043Japan2026-09-27
1044France2026-10-08
1045Italy2026-10-11
1046Australia2026-10-04
1047Spain2026-09-25
1048Brazil2026-10-12
1049Spain2026-10-17

On-Demand Data

NameIdCountryDate
Chavez F Glick1000France2026-10-01
Tony G Vocelka1001Germany2026-10-02
Ashley F Darakjy1002Canada2026-10-13
Kaitlin D Perin1003Japan2026-09-30
Stacey R Glick1004Japan2026-10-09
Leon E Royster1005India2026-09-26
Salvatore U Darakjy1006India2026-10-01
Faith P Ruta1007India2026-09-22
Misaki I Figeroa1008Japan2026-09-29
Smith P Paprocki1009Brazil2026-10-05
Aditya J Bolognia1010Brazil2026-09-20
Jennifer E Nestle1011Spain2026-10-17
Smith P Chui1012Australia2026-10-19
Costa Y Ferencz1013Australia2026-09-23
Aika O Doe1014Canada2026-10-04
Faith D Nicka1015Brazil2026-10-09
Sinclair R Campain1016Spain2026-10-10
Jefferson P Malet1017Brazil2026-09-20
Nicolas B Maclead1018Argentina2026-09-28
Tony A Flosi1019Japan2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio O FigeroaCanadaIoni Bowcher NEGOTIATION
Aruna P ChuiIndiaElwin Sharvill QUALIFIED
Leon S PoquetteCanadaAmy Elsner QUALIFIED
Smith J WhobreyIndiaStephen Shaw PROPOSAL
Morrow I BriddickGermanyAnna Fali NEGOTIATION
Rodrigues K FerenczJapanStephen Shaw RENEWAL
Darci A CampainBrazilXuxue Feng NEW
Julie S ChuiIndiaStephen Shaw PROPOSAL
Smith U SchemmerItalyBernardo Dominic UNQUALIFIED
Arvin M MaletIndiaAsiya Javayant PROPOSAL
Francesco H WaycottCanadaAsiya Javayant RENEWAL
Ivar L IturbideArgentinaOnyama Limba NEGOTIATION
Mujtaba X InouyeUnited KingdomElwin Sharvill NEGOTIATION
Munro E ChuiCanadaAnna Fali PROPOSAL
Morrow N InouyeSpainAsiya Javayant UNQUALIFIED
Francesco S MorascaUnited KingdomAnna Fali PROPOSAL
Ashley M BowleyCanadaOnyama Limba UNQUALIFIED
Mayumi R IturbideIndiaAmy Elsner PROPOSAL
Cody R OldroydIndiaAmy Elsner PROPOSAL
Costa Y StockhamFranceIvan Magalhaes NEW
Misaki U OstroskyJapanOnyama Limba NEGOTIATION
Claire A SchemmerSpainStephen Shaw RENEWAL
Tony L RulapaughCanadaXuxue Feng RENEWAL
Silvio B DarakjyJapanXuxue Feng QUALIFIED
Jeanfrancois U CaldareraAustraliaAsiya Javayant UNQUALIFIED
Chavez E CaudyGermanyIoni Bowcher NEW
Smith S PerinArgentinaIoni Bowcher NEW
Kadeem D OldroydUnited KingdomAmy Elsner RENEWAL
Mujtaba G OldroydUnited KingdomAnna Fali UNQUALIFIED
Sinclair W MacleadGermanyIoni Bowcher PROPOSAL
Leja W ChuiGermanyIvan Magalhaes QUALIFIED
Ivar F ChuiIndiaBernardo Dominic UNQUALIFIED
Adams I PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Smith V GillianRussiaStephen Shaw RENEWAL
Greenwood P MaletItalyAnna Fali QUALIFIED
Arvin D OstroskyBrazilIoni Bowcher NEGOTIATION
Juan C MorascaSpainIoni Bowcher PROPOSAL
Izzy S PerinAustraliaXuxue Feng QUALIFIED
Costa Z PaprockiSpainAnna Fali PROPOSAL
Aruna U AlbaresRussiaAmy 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>