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
Murillo K SlusarskiJapanBernardo Dominic NEW
Alejandro B MaletCanadaElwin Sharvill QUALIFIED
Ricardo C OstroskyItalyAsiya Javayant PROPOSAL
Murillo T CampainItalyAmy Elsner NEW
Leja M RoysterItalyAsiya Javayant RENEWAL
Antonio D CaldareraBrazilIvan Magalhaes RENEWAL
Ricardo W AlbaresAustraliaElwin Sharvill UNQUALIFIED
Mayumi Z FlosiIndiaAsiya Javayant NEW
Francesco U MaletAustraliaIvan Magalhaes NEGOTIATION
Julie A MarrierIndiaAnna Fali PROPOSAL
Costa J ShinkoRussiaElwin Sharvill QUALIFIED
Francesco X RulapaughArgentinaIvan Magalhaes NEW
Johnson C ShinkoSpainStephen Shaw NEW
Aika E CampainBrazilIoni Bowcher RENEWAL
Misaki Y GlickItalyAsiya Javayant NEGOTIATION
David K BowleyCanadaXuxue Feng QUALIFIED
Maria V MorascaGermanyBernardo Dominic NEW
David R RimBrazilOnyama Limba QUALIFIED
Greenwood B CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Stacey E WhobreyBrazilXuxue Feng RENEWAL
Izzy V SergiJapanBernardo Dominic NEW
James O IturbideJapanAsiya Javayant PROPOSAL
Ashley V AlbaresUnited KingdomOnyama Limba RENEWAL
Chavez V MarrierFranceElwin Sharvill NEW
Wickens D DarakjyItalyIvan Magalhaes NEW
Antonio R ChuiFranceIvan Magalhaes PROPOSAL
Jefferson W AmigonBrazilElwin Sharvill UNQUALIFIED
Leja N AlbaresUnited KingdomStephen Shaw PROPOSAL
Cody D MorascaJapanXuxue Feng PROPOSAL
Leon J VenereGermanyStephen Shaw RENEWAL
Munro B BowleyIndiaIoni Bowcher QUALIFIED
Aika F RoysterGermanyBernardo Dominic PROPOSAL
Aditya N RoysterGermanyIoni Bowcher QUALIFIED
Leon H FerenczSpainStephen Shaw PROPOSAL
Aruna Q AlbaresUnited KingdomAnna Fali UNQUALIFIED
Aruna P FigeroaJapanAmy Elsner UNQUALIFIED
Alejandro W StensethIndiaAsiya Javayant QUALIFIED
Leja X GauchoIndiaStephen Shaw RENEWAL
Jones L StockhamCanadaXuxue Feng UNQUALIFIED
Ivar D GlickSpainAnna Fali RENEWAL
Jefferson W SaylorsAustraliaStephen Shaw PROPOSAL
Ashley Z FollerItalyAnna Fali NEW
Alejandro Q IturbideRussiaBernardo Dominic RENEWAL
Rodrigues E DilliardArgentinaAsiya Javayant UNQUALIFIED
Jennifer U MorascaUnited KingdomBernardo Dominic NEGOTIATION
Sinclair A MacleadSpainIoni Bowcher RENEWAL
Kaitlin K SergiSpainAnna Fali PROPOSAL
Salvatore Y PoquetteJapanIvan Magalhaes NEGOTIATION
Alejandro K OstroskySpainOnyama Limba QUALIFIED
Sinclair S BowleyAustraliaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia C CaudyFranceOnyama Limba NEGOTIATION
Darci J RimArgentinaAmy Elsner RENEWAL
Deepesh N RutaAustraliaXuxue Feng PROPOSAL
Jeanfrancois O VocelkaUnited KingdomAnna Fali UNQUALIFIED
Jones A DarakjyUnited KingdomXuxue Feng NEW
Aruna T SchemmerIndiaElwin Sharvill QUALIFIED
Wickens A MacleadJapanBernardo Dominic PROPOSAL
Aika X GarufiArgentinaOnyama Limba NEW
Tony S PerinItalyOnyama Limba QUALIFIED
David K MacleadGermanyAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson V SergiUnited Kingdom2026-10-16Chemel, James L Cpa UNQUALIFIED28Xuxue Feng
1001Maisha X GauchoAustralia2026-10-31Benton, John B Jr NEW82Ivan Magalhaes
1002Cody I FerenczGermany2026-10-24Feiner Bros QUALIFIED78Bernardo Dominic
1003Rodrigues C RutaAustralia2026-10-21Feiner Bros NEGOTIATION48Stephen Shaw
1004Jeanfrancois Q AlbaresCanada2026-10-13Dorl, James J Esq NEGOTIATION9Anna Fali
1005Ivar Z AlbaresAustralia2026-10-15Chapman, Ross E Esq PROPOSAL73Anna Fali
1006Silvio F SergiGermany2026-10-15Dorl, James J Esq NEGOTIATION31Xuxue Feng
1007Silvio C OstroskyFrance2026-10-25Benton, John B Jr UNQUALIFIED97Ivan Magalhaes
1008Greenwood F FollerJapan2026-10-26Benton, John B Jr QUALIFIED46Bernardo Dominic
1009Nicolas E ButtCanada2026-10-15Benton, John B Jr UNQUALIFIED25Xuxue Feng
1010Ricardo J BowleyAustralia2026-10-25Benton, John B Jr UNQUALIFIED66Xuxue Feng
1011Leon H MorascaUnited Kingdom2026-10-09Chemel, James L Cpa NEW86Amy Elsner
1012Silvio F BowleyItaly2026-10-10Rangoni Of Florence QUALIFIED54Ivan Magalhaes
1013Munro Q StensethJapan2026-10-30Feiner Bros RENEWAL81Amy Elsner
1014Claire G GillianRussia2026-10-17Commercial Press PROPOSAL93Bernardo Dominic
1015Octavia Q GillianArgentina2026-10-26Benton, John B Jr NEW68Onyama Limba
1016Leja B OldroydIndia2026-10-30Feltz Printing Service NEW15Amy Elsner
1017Clifford F DarakjyAustralia2026-11-01Chanay, Jeffrey A Esq UNQUALIFIED33Ivan Magalhaes
1018Cody D GarufiFrance2026-10-10Rangoni Of Florence UNQUALIFIED91Ioni Bowcher
1019Jeanfrancois G GarufiRussia2026-10-20King, Christopher A Esq PROPOSAL44Bernardo Dominic
1020Octavia T MaletGermany2026-10-30Rangoni Of Florence PROPOSAL95Anna Fali
1021Juan B GarufiSpain2026-10-17King, Christopher A Esq RENEWAL25Elwin Sharvill
1022Sinclair W VenereJapan2026-10-26Morlong Associates UNQUALIFIED98Ioni Bowcher
1023Maisha S OstroskyItaly2026-10-29Chemel, James L Cpa PROPOSAL43Asiya Javayant
1024Mujtaba W OstroskyUnited Kingdom2026-10-10Feltz Printing Service NEGOTIATION45Asiya Javayant
1025Smith S GlickUnited Kingdom2026-10-18Printing Dimensions QUALIFIED9Onyama Limba
1026Chavez H WieserSpain2026-10-15Rousseaux, Michael Esq RENEWAL25Xuxue Feng
1027Leja Q KolmetzItaly2026-10-31Buckley Miller Wright UNQUALIFIED94Ivan Magalhaes
1028Costa P PerinJapan2026-10-08Truhlar And Truhlar Attys NEW72Amy Elsner
1029Francesco E MaletAustralia2026-10-16Chanay, Jeffrey A Esq NEGOTIATION42Stephen Shaw
1030Francesco L KuskoRussia2026-10-07Chemel, James L Cpa NEW89Stephen Shaw
1031Francesco R WaycottCanada2026-10-19Morlong Associates NEW94Bernardo Dominic
1032Jefferson A PoquetteBrazil2026-10-23Commercial Press UNQUALIFIED2Amy Elsner
1033Aika O MacleadUnited Kingdom2026-10-31Chapman, Ross E Esq NEGOTIATION84Elwin Sharvill
1034David Y MorascaFrance2026-10-21Printing Dimensions RENEWAL43Xuxue Feng
1035Julie R FigeroaAustralia2026-10-23Truhlar And Truhlar Attys QUALIFIED12Bernardo Dominic
1036Julie K VocelkaCanada2026-10-10Commercial Press RENEWAL56Xuxue Feng
1037Tony P VocelkaBrazil2026-10-15Commercial Press NEGOTIATION82Amy Elsner
1038Munro P AmigonItaly2026-10-05Benton, John B Jr PROPOSAL92Onyama Limba
1039Isabel R RimCanada2026-10-16Benton, John B Jr UNQUALIFIED13Xuxue Feng
1040Clifford G MorascaRussia2026-10-10Printing Dimensions RENEWAL80Onyama Limba
1041Wickens S StensethGermany2026-10-18Rangoni Of Florence PROPOSAL53Elwin Sharvill
1042Aruna U WaycottFrance2026-10-12Chapman, Ross E Esq NEW96Stephen Shaw
1043Ashley X DarakjyItaly2026-10-13Printing Dimensions UNQUALIFIED61Ivan Magalhaes
1044Aditya B ButtGermany2026-10-26Truhlar And Truhlar Attys RENEWAL53Asiya Javayant
1045Julie V OstroskyIndia2026-10-19Rousseaux, Michael Esq NEW42Onyama Limba
1046Leon L GlickCanada2026-10-14Truhlar And Truhlar Attys PROPOSAL95Onyama Limba
1047Nicolas Z FlosiJapan2026-10-26Chapman, Ross E Esq PROPOSAL51Xuxue Feng
1048Maisha T KolmetzIndia2026-10-05Dorl, James J Esq QUALIFIED34Onyama Limba
1049Smith N ShinkoUnited Kingdom2026-10-29Chapman, Ross E Esq RENEWAL17Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba W FollerJapanOnyama Limba UNQUALIFIED
Antonio L MacleadUnited KingdomElwin Sharvill PROPOSAL
Antonio U GauchoItalyStephen Shaw UNQUALIFIED
Arvin V TollnerRussiaIoni Bowcher PROPOSAL
Julie F MarrierRussiaStephen Shaw RENEWAL
Aditya M StensethBrazilStephen Shaw UNQUALIFIED
Costa O MacleadCanadaElwin Sharvill UNQUALIFIED
Adams Y ShinkoFranceIoni Bowcher NEW
Claire K AlbaresAustraliaBernardo Dominic UNQUALIFIED
Aruna P MacleadArgentinaXuxue Feng RENEWAL
Antonio K WaycottIndiaIoni Bowcher NEW
Tony Z DoeIndiaAmy Elsner PROPOSAL
Isabel L GlickFranceXuxue Feng QUALIFIED
Emily R CaldareraCanadaXuxue Feng NEW
Izzy Q MarrierSpainBernardo Dominic RENEWAL
Smith H WieserFranceOnyama Limba UNQUALIFIED
Adams R RutaRussiaElwin Sharvill NEGOTIATION
Adams I KuskoUnited KingdomAnna Fali NEGOTIATION
Darci W BriddickGermanyAmy Elsner UNQUALIFIED
Rodrigues G PaprockiBrazilElwin Sharvill RENEWAL
Leja H FollerFranceElwin Sharvill RENEWAL
Maisha J KolmetzRussiaXuxue Feng QUALIFIED
Greenwood Q BowleyIndiaOnyama Limba NEGOTIATION
Misaki H RutaItalyBernardo Dominic UNQUALIFIED
Misaki B WaycottBrazilAmy Elsner RENEWAL
Emily P ButtBrazilAnna Fali RENEWAL
Leja P KolmetzAustraliaXuxue Feng PROPOSAL
Ivar P FerenczIndiaStephen Shaw NEW
Deepesh N OstroskyItalyElwin Sharvill UNQUALIFIED
Aika G NickaItalyXuxue Feng NEW
Leon D SaylorsAustraliaIvan Magalhaes QUALIFIED
Sinclair C BowleySpainElwin Sharvill UNQUALIFIED
Claire T MorascaItalyOnyama Limba NEW
Emily T BowleyIndiaBernardo Dominic RENEWAL
Darci N PaprockiIndiaAmy Elsner QUALIFIED
Kaitlin A InouyeBrazilAsiya Javayant NEW
Mujtaba C MaletJapanXuxue Feng UNQUALIFIED
Adams H RimCanadaAsiya Javayant PROPOSAL
Clifford S DarakjyUnited KingdomAnna Fali QUALIFIED
James A GarufiFranceAsiya Javayant UNQUALIFIED
Octavia J CampainBrazilIvan Magalhaes NEW
Izzy V TollnerJapanAmy Elsner PROPOSAL
Greenwood F AlbaresJapanElwin Sharvill NEW
Leja X MorascaFranceXuxue Feng NEGOTIATION
Smith B GauchoIndiaXuxue Feng NEGOTIATION
Faith B FlosiFranceIoni Bowcher NEW
Salvatore D CampainCanadaStephen Shaw UNQUALIFIED
Claire F GillianItalyBernardo Dominic QUALIFIED
Johnson O DilliardIndiaIvan Magalhaes QUALIFIED
Stacey A ChuiArgentinaAnna Fali QUALIFIED
Frozen Columns
Name
Morrow M Kusko
Costa G Rulapaugh
Chavez G Foller
Jennifer I Poquette
James R Ruta
Julie D Rim
Isabel H Marrier
Juan Y Albares
Adams B Rulapaugh
Wickens M Bowley
Antonio C Paprocki
Maisha F Bolognia
Aika O Foller
James O Oldroyd
Darci P Royster
Smith I Bowley
Mujtaba J Tollner
Costa X Poquette
Wickens K Gillian
Maria F Paprocki
Mujtaba O Malet
Darci M Morasca
Smith B Briddick
Antonio Y Malet
Tony T Kolmetz
Faith Y Inouye
Costa Y Bowley
Mayumi G Inouye
Salvatore F Malet
Cody Q Malet
Francesco D Kolmetz
Alejandro L Saylors
Arvin P Campain
Adams W Vocelka
Jones S Chui
James F Malet
Ashley O Caldarera
Juan E Gaucho
Mujtaba Q Maclead
David Y Caudy
Nicolas S Royster
Ivar H Malet
Kaitlin V Malet
Wickens K Sergi
Ashley Q Nestle
Juan C Butt
Jefferson Q Briddick
Deepesh K Gaucho
Darci X Venere
Faith K Darakjy
IdCountryDate
1000Japan2026-10-13
1001United Kingdom2026-10-04
1002France2026-10-12
1003Spain2026-10-18
1004Germany2026-10-05
1005France2026-10-19
1006Italy2026-10-11
1007Germany2026-10-08
1008Canada2026-10-18
1009Australia2026-10-05
1010Italy2026-10-19
1011Argentina2026-10-23
1012Italy2026-10-05
1013Germany2026-10-19
1014Italy2026-10-16
1015India2026-10-26
1016Brazil2026-10-14
1017United Kingdom2026-10-16
1018Argentina2026-11-01
1019Spain2026-10-16
1020Italy2026-10-30
1021Argentina2026-10-13
1022Japan2026-10-23
1023United Kingdom2026-10-26
1024Japan2026-10-12
1025United Kingdom2026-10-05
1026France2026-10-11
1027Spain2026-10-10
1028Argentina2026-10-22
1029Australia2026-10-19
1030Brazil2026-10-10
1031Canada2026-10-08
1032Australia2026-11-02
1033Argentina2026-10-29
1034Spain2026-10-24
1035France2026-10-29
1036Australia2026-10-05
1037India2026-10-23
1038Germany2026-10-29
1039Japan2026-10-13
1040Argentina2026-10-12
1041Germany2026-10-14
1042United Kingdom2026-10-06
1043Russia2026-10-18
1044Australia2026-10-09
1045Russia2026-11-01
1046Brazil2026-10-09
1047Canada2026-10-10
1048Japan2026-10-09
1049Brazil2026-10-08

On-Demand Data

NameIdCountryDate
Wickens I Saylors1000Australia2026-10-08
Jefferson N Royster1001India2026-10-24
Ashley L Bowley1002Argentina2026-10-11
James B Butt1003Argentina2026-10-15
Costa R Ostrosky1004Canada2026-10-09
Mujtaba J Tollner1005Germany2026-10-11
Octavia T Shinko1006Italy2026-10-26
Ricardo E Campain1007France2026-10-07
Aditya L Schemmer1008Argentina2026-10-30
Murillo D Malet1009Germany2026-10-09
Aditya Z Stenseth1010Spain2026-10-28
Cody Y Royster1011Italy2026-11-01
Clifford Q Wieser1012Spain2026-10-07
Wickens H Inouye1013Italy2026-10-23
Greenwood F Venere1014Germany2026-10-10
Octavia Q Whobrey1015Japan2026-10-16
Maisha J Glick1016Canada2026-10-28
Rodrigues K Albares1017France2026-10-28
Greenwood D Inouye1018Japan2026-10-10
Smith O Gillian1019Argentina2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar T ButtFranceBernardo Dominic NEW
Izzy Q RulapaughUnited KingdomOnyama Limba QUALIFIED
Cody S WhobreyAustraliaBernardo Dominic PROPOSAL
Cody B RulapaughArgentinaIvan Magalhaes NEW
Faith G InouyeFranceIvan Magalhaes RENEWAL
Leon D StockhamGermanyBernardo Dominic NEW
Mujtaba E KuskoGermanyStephen Shaw NEGOTIATION
Antonio Z GillianBrazilAsiya Javayant QUALIFIED
Alejandro A FlosiRussiaAnna Fali PROPOSAL
Kadeem U AlbaresIndiaAsiya Javayant UNQUALIFIED
Juan C NickaAustraliaStephen Shaw RENEWAL
Rodrigues E TollnerJapanAsiya Javayant NEW
Maria G PerinItalyXuxue Feng UNQUALIFIED
Cody V DilliardCanadaAmy Elsner PROPOSAL
Claire G FlosiUnited KingdomIvan Magalhaes RENEWAL
Salvatore F BowleyUnited KingdomAnna Fali PROPOSAL
Aditya C MorascaGermanyAmy Elsner PROPOSAL
Chavez R ShinkoCanadaElwin Sharvill PROPOSAL
Tony W SaylorsRussiaElwin Sharvill NEW
Aruna Z PaprockiAustraliaXuxue Feng NEW
Leon H MaletJapanOnyama Limba UNQUALIFIED
Silvio B ChuiItalyAnna Fali QUALIFIED
Smith I PaprockiCanadaAmy Elsner UNQUALIFIED
Aditya K GarufiSpainXuxue Feng QUALIFIED
Arvin G PaprockiSpainBernardo Dominic NEW
Tony T GauchoArgentinaAnna Fali QUALIFIED
Aruna G FlosiAustraliaIoni Bowcher NEW
Cody Q MaletRussiaAnna Fali NEGOTIATION
Smith X CampainItalyStephen Shaw NEW
Juan L GarufiBrazilOnyama Limba QUALIFIED
Tony L StockhamRussiaIoni Bowcher NEGOTIATION
Ashley V VocelkaAustraliaAmy Elsner NEGOTIATION
Leon E SchemmerCanadaXuxue Feng UNQUALIFIED
Deepesh G PoquetteCanadaStephen Shaw UNQUALIFIED
Kaitlin O BologniaArgentinaIoni Bowcher NEW
Jefferson Y CampainRussiaStephen Shaw RENEWAL
Leon U MacleadBrazilOnyama Limba PROPOSAL
Alejandro S OldroydJapanStephen Shaw NEGOTIATION
Jones X TollnerGermanyAnna Fali QUALIFIED
Greenwood N PoquetteGermanyIvan Magalhaes 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>