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
Emily H CaldareraArgentinaAsiya Javayant UNQUALIFIED
Ricardo V CampainAustraliaAmy Elsner NEW
Maria W RulapaughArgentinaElwin Sharvill QUALIFIED
Claire I NestleFranceIoni Bowcher NEGOTIATION
Kaitlin H PerinFranceAmy Elsner UNQUALIFIED
Maisha G WieserItalyStephen Shaw QUALIFIED
Julie P WaycottGermanyBernardo Dominic RENEWAL
Maisha K PoquetteFranceBernardo Dominic QUALIFIED
David M VocelkaCanadaOnyama Limba RENEWAL
Leon S CampainItalyAmy Elsner RENEWAL
Aditya E BowleyGermanyAmy Elsner QUALIFIED
Jones W MacleadRussiaStephen Shaw QUALIFIED
Izzy X PaprockiJapanXuxue Feng UNQUALIFIED
Isabel Q FollerUnited KingdomAsiya Javayant UNQUALIFIED
Faith L WhobreyGermanyElwin Sharvill UNQUALIFIED
Sinclair O KolmetzRussiaIvan Magalhaes RENEWAL
Julie U AmigonItalyAmy Elsner RENEWAL
Leja I FollerSpainStephen Shaw NEW
Alejandro K WhobreyUnited KingdomAmy Elsner PROPOSAL
Emily B FollerRussiaIoni Bowcher NEGOTIATION
Julie L GlickCanadaBernardo Dominic PROPOSAL
Isabel F RutaUnited KingdomOnyama Limba NEGOTIATION
Smith L WhobreyItalyAnna Fali NEGOTIATION
Maisha E GlickBrazilIvan Magalhaes NEGOTIATION
Adams V NestleJapanStephen Shaw NEGOTIATION
Leon N FollerItalyIoni Bowcher PROPOSAL
Arvin J MarrierJapanXuxue Feng PROPOSAL
Tony L MacleadArgentinaElwin Sharvill NEGOTIATION
Sinclair V KolmetzFranceAsiya Javayant QUALIFIED
Alejandro O SchemmerFranceBernardo Dominic QUALIFIED
Aruna H AmigonCanadaAnna Fali NEGOTIATION
Arvin J MacleadUnited KingdomAnna Fali NEW
Faith G AmigonCanadaIvan Magalhaes UNQUALIFIED
Juan L PaprockiRussiaIoni Bowcher QUALIFIED
Munro F PerinSpainXuxue Feng UNQUALIFIED
Chavez I AmigonCanadaStephen Shaw PROPOSAL
Claire Q ChuiFranceAmy Elsner PROPOSAL
Silvio S SlusarskiFranceXuxue Feng RENEWAL
Claire F BologniaJapanElwin Sharvill NEGOTIATION
Clifford S NestleUnited KingdomAsiya Javayant QUALIFIED
James Y KuskoIndiaElwin Sharvill PROPOSAL
Antonio C GillianGermanyIoni Bowcher UNQUALIFIED
Silvio E FlosiBrazilAmy Elsner RENEWAL
Alejandro V WieserCanadaElwin Sharvill NEW
Tony H MaletGermanyOnyama Limba RENEWAL
Mujtaba C BologniaCanadaElwin Sharvill NEGOTIATION
Cody A FigeroaIndiaIoni Bowcher NEGOTIATION
Darci M OstroskyBrazilStephen Shaw QUALIFIED
Cody D PaprockiIndiaIvan Magalhaes QUALIFIED
Maisha M BriddickUnited KingdomStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja S CaldareraFranceOnyama Limba PROPOSAL
Jones A BologniaAustraliaXuxue Feng RENEWAL
Ricardo L AmigonSpainIoni Bowcher NEW
Mujtaba I GauchoIndiaIoni Bowcher NEW
Arvin T AmigonRussiaOnyama Limba NEW
Johnson F MaletCanadaStephen Shaw PROPOSAL
Kadeem Y SaylorsSpainXuxue Feng NEGOTIATION
Misaki W MarrierArgentinaStephen Shaw PROPOSAL
Misaki P OldroydUnited KingdomBernardo Dominic NEGOTIATION
Isabel H DoeRussiaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Y MaletSpain2026-10-30Rangoni Of Florence PROPOSAL5Asiya Javayant
1001Ashley F MorascaArgentina2026-10-29Chanay, Jeffrey A Esq NEGOTIATION32Bernardo Dominic
1002Maria A DarakjySpain2026-10-17Feltz Printing Service NEW77Amy Elsner
1003Greenwood U AmigonAustralia2026-10-20Chapman, Ross E Esq PROPOSAL41Xuxue Feng
1004Francesco K PoquetteAustralia2026-10-21Morlong Associates NEGOTIATION19Onyama Limba
1005Kaitlin Q IturbideJapan2026-11-08Rangoni Of Florence PROPOSAL96Anna Fali
1006Cody B BriddickCanada2026-10-13Feiner Bros QUALIFIED9Anna Fali
1007Maria S KolmetzGermany2026-11-09Buckley Miller Wright UNQUALIFIED83Ivan Magalhaes
1008Ivar Y CaldareraAustralia2026-11-02Rousseaux, Michael Esq NEGOTIATION48Anna Fali
1009Faith U FollerCanada2026-11-01Rangoni Of Florence RENEWAL40Stephen Shaw
1010Leja T NickaSpain2026-10-13Dorl, James J Esq QUALIFIED58Amy Elsner
1011Jennifer Z OstroskyGermany2026-10-31Commercial Press QUALIFIED64Anna Fali
1012Isabel J SchemmerIndia2026-10-16Feltz Printing Service QUALIFIED46Xuxue Feng
1013Aika R OldroydAustralia2026-10-16Printing Dimensions RENEWAL61Anna Fali
1014Juan W PoquetteIndia2026-11-02Dorl, James J Esq NEGOTIATION66Ioni Bowcher
1015Kadeem X VenereFrance2026-10-17Rousseaux, Michael Esq PROPOSAL18Bernardo Dominic
1016James E MaletBrazil2026-11-11Dorl, James J Esq NEW72Amy Elsner
1017Salvatore J SlusarskiFrance2026-10-24Buckley Miller Wright NEGOTIATION77Elwin Sharvill
1018Leon Q OstroskyGermany2026-10-22Commercial Press NEW68Xuxue Feng
1019Silvio J WieserBrazil2026-10-21Feltz Printing Service PROPOSAL92Amy Elsner
1020Adams O TollnerFrance2026-11-06Commercial Press NEGOTIATION72Stephen Shaw
1021Jennifer R MarrierRussia2026-10-20Chemel, James L Cpa NEW68Ivan Magalhaes
1022Mayumi L SlusarskiSpain2026-11-05Chemel, James L Cpa RENEWAL19Xuxue Feng
1023Isabel S ChuiRussia2026-10-20Feiner Bros UNQUALIFIED43Ioni Bowcher
1024Cody V DilliardAustralia2026-10-24Truhlar And Truhlar Attys NEW67Amy Elsner
1025Misaki A GillianBrazil2026-11-08Benton, John B Jr NEGOTIATION83Stephen Shaw
1026Kadeem W StockhamCanada2026-10-29Rangoni Of Florence PROPOSAL57Ivan Magalhaes
1027Claire E OldroydCanada2026-10-16Buckley Miller Wright RENEWAL51Asiya Javayant
1028Tony P CaldareraSpain2026-10-22Morlong Associates NEGOTIATION36Ioni Bowcher
1029Greenwood F TollnerArgentina2026-10-21Morlong Associates PROPOSAL30Ivan Magalhaes
1030Munro Y PaprockiFrance2026-11-04Dorl, James J Esq RENEWAL19Asiya Javayant
1031Mujtaba N CampainItaly2026-11-07Rangoni Of Florence PROPOSAL31Onyama Limba
1032Deepesh Z OstroskyIndia2026-11-03Printing Dimensions NEW22Onyama Limba
1033Aditya X PaprockiSpain2026-10-27Feiner Bros NEGOTIATION61Amy Elsner
1034Octavia Y SlusarskiIndia2026-10-22Morlong Associates PROPOSAL71Ioni Bowcher
1035Johnson G GillianJapan2026-10-15King, Christopher A Esq UNQUALIFIED98Bernardo Dominic
1036Aruna R PaprockiIndia2026-11-05Dorl, James J Esq NEGOTIATION61Anna Fali
1037Salvatore R FlosiJapan2026-11-11Chanay, Jeffrey A Esq UNQUALIFIED52Stephen Shaw
1038Salvatore Z OldroydGermany2026-10-28Chapman, Ross E Esq NEW32Anna Fali
1039Arvin B SaylorsFrance2026-11-05King, Christopher A Esq NEW81Ioni Bowcher
1040Rodrigues Z OstroskyRussia2026-11-03Chapman, Ross E Esq RENEWAL25Anna Fali
1041Julie L MacleadCanada2026-11-11Commercial Press UNQUALIFIED49Amy Elsner
1042Kadeem C MaletAustralia2026-11-02Rousseaux, Michael Esq RENEWAL65Xuxue Feng
1043Juan R GarufiIndia2026-11-03Rousseaux, Michael Esq QUALIFIED9Anna Fali
1044Deepesh N KolmetzSpain2026-11-11Rangoni Of Florence NEW83Elwin Sharvill
1045Silvio I BowleyIndia2026-10-23Buckley Miller Wright QUALIFIED78Xuxue Feng
1046Smith M RimBrazil2026-11-04Benton, John B Jr NEW63Amy Elsner
1047Alejandro P OstroskyFrance2026-10-25Feltz Printing Service UNQUALIFIED35Ivan Magalhaes
1048Clifford W StockhamUnited Kingdom2026-10-26Feiner Bros UNQUALIFIED92Ioni Bowcher
1049Ashley I IturbideFrance2026-10-27King, Christopher A Esq PROPOSAL35Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maria Y KolmetzIndiaElwin Sharvill UNQUALIFIED
Munro N GauchoBrazilAmy Elsner QUALIFIED
Faith O GillianAustraliaOnyama Limba NEGOTIATION
Tony U SlusarskiBrazilBernardo Dominic QUALIFIED
Nicolas G FigeroaArgentinaXuxue Feng RENEWAL
Jennifer C BologniaJapanElwin Sharvill UNQUALIFIED
Munro V RutaItalyAmy Elsner NEW
Kaitlin M GlickSpainXuxue Feng NEGOTIATION
Kaitlin Z MarrierCanadaIoni Bowcher NEW
James N MacleadBrazilIvan Magalhaes NEGOTIATION
Morrow Y BriddickSpainAnna Fali UNQUALIFIED
Mayumi B BowleySpainAsiya Javayant QUALIFIED
Leon H OstroskyCanadaXuxue Feng QUALIFIED
Kaitlin X GillianJapanStephen Shaw UNQUALIFIED
Octavia Q VocelkaGermanyOnyama Limba NEW
Faith Q VocelkaRussiaAsiya Javayant RENEWAL
Jefferson V NestleItalyOnyama Limba NEW
Clifford C CampainBrazilOnyama Limba UNQUALIFIED
Johnson L AmigonUnited KingdomXuxue Feng PROPOSAL
Salvatore W PaprockiAustraliaOnyama Limba UNQUALIFIED
James G RimCanadaOnyama Limba QUALIFIED
Mayumi U SchemmerRussiaIvan Magalhaes UNQUALIFIED
Izzy Q StockhamSpainAnna Fali PROPOSAL
Nicolas G DoeItalyAnna Fali NEW
Ivar N GarufiItalyAmy Elsner NEGOTIATION
Antonio B SaylorsSpainAmy Elsner NEW
Salvatore J RulapaughGermanyOnyama Limba RENEWAL
Murillo Z NickaCanadaBernardo Dominic NEGOTIATION
Stacey T InouyeBrazilStephen Shaw QUALIFIED
Kadeem A RulapaughArgentinaAsiya Javayant UNQUALIFIED
Mujtaba B PoquetteFranceAnna Fali PROPOSAL
Ivar K RoysterAustraliaElwin Sharvill NEW
Jones J DoeItalyBernardo Dominic UNQUALIFIED
Francesco E MacleadAustraliaAnna Fali RENEWAL
Claire Q StensethSpainAnna Fali NEW
Leja X MaletCanadaOnyama Limba NEGOTIATION
Maria C TollnerUnited KingdomStephen Shaw NEGOTIATION
Ashley J RoysterArgentinaAmy Elsner NEGOTIATION
Leja B FigeroaFranceOnyama Limba NEW
Octavia H SaylorsArgentinaIoni Bowcher RENEWAL
Jeanfrancois K CaldareraBrazilIvan Magalhaes NEGOTIATION
Jefferson R MaletBrazilXuxue Feng NEGOTIATION
Antonio Y SlusarskiAustraliaXuxue Feng QUALIFIED
Ashley T SaylorsIndiaXuxue Feng NEGOTIATION
Adams V DilliardAustraliaIvan Magalhaes QUALIFIED
Ashley P PerinJapanOnyama Limba NEGOTIATION
Johnson R BriddickItalyStephen Shaw NEGOTIATION
Ricardo Q BologniaBrazilXuxue Feng UNQUALIFIED
Morrow U CaudyRussiaBernardo Dominic NEW
Leon I VenereGermanyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Arvin U Ferencz
Kadeem Z Doe
Costa P Foller
Sinclair X Oldroyd
Johnson I Albares
Izzy F Slusarski
Deepesh C Briddick
Silvio M Rim
Jeanfrancois R Tollner
Stacey L Butt
Nicolas N Marrier
Kaitlin T Ruta
Wickens N Darakjy
Kaitlin A Waycott
Misaki F Marrier
Izzy Z Royster
Murillo K Kusko
Cody B Inouye
Chavez X Garufi
Chavez A Ruta
Munro E Paprocki
Silvio A Malet
Jennifer M Bowley
Nicolas B Flosi
Leon Y Bolognia
Jefferson J Iturbide
Emily C Shinko
Cody W Foller
Rodrigues Z Whobrey
Faith C Royster
Johnson Y Sergi
Ashley I Foller
Costa J Rim
Johnson P Oldroyd
Clifford Q Chui
Sinclair U Shinko
Izzy S Gaucho
Mujtaba V Albares
Munro G Rim
Tony Q Rulapaugh
Johnson Z Bolognia
Mayumi W Briddick
James G Stockham
Mujtaba B Glick
Salvatore C Gaucho
Silvio H Saylors
Sinclair J Rulapaugh
Julie S Marrier
Mayumi G Malet
Silvio F Kolmetz
IdCountryDate
1000Germany2026-11-08
1001Japan2026-10-20
1002Russia2026-10-21
1003United Kingdom2026-10-19
1004Argentina2026-10-16
1005France2026-11-10
1006Russia2026-11-05
1007Germany2026-10-19
1008Argentina2026-10-28
1009Australia2026-10-24
1010Russia2026-10-27
1011Brazil2026-11-10
1012India2026-10-16
1013Germany2026-10-24
1014Japan2026-10-29
1015Russia2026-11-11
1016Spain2026-11-08
1017France2026-10-30
1018India2026-10-24
1019Brazil2026-10-22
1020Japan2026-10-29
1021Japan2026-10-28
1022France2026-10-31
1023Brazil2026-11-03
1024Argentina2026-11-01
1025Australia2026-10-29
1026India2026-10-18
1027Canada2026-10-27
1028Italy2026-10-13
1029Brazil2026-10-22
1030United Kingdom2026-10-30
1031Russia2026-11-04
1032Japan2026-10-16
1033France2026-10-30
1034Australia2026-10-26
1035Brazil2026-10-17
1036Germany2026-10-22
1037India2026-11-04
1038Russia2026-10-14
1039Germany2026-10-15
1040Australia2026-10-20
1041Brazil2026-10-16
1042Australia2026-10-25
1043Brazil2026-10-15
1044India2026-10-18
1045Russia2026-11-10
1046Brazil2026-10-21
1047Russia2026-10-21
1048United Kingdom2026-10-29
1049Spain2026-10-28

On-Demand Data

NameIdCountryDate
Deepesh L Ferencz1000Spain2026-10-18
Darci Q Caldarera1001Japan2026-11-03
Greenwood R Rulapaugh1002Brazil2026-11-09
Morrow I Wieser1003Russia2026-10-23
Jones A Kolmetz1004Canada2026-11-06
David M Glick1005India2026-10-26
Octavia H Foller1006Argentina2026-10-18
Smith V Rim1007Japan2026-10-24
Chavez E Bowley1008Canada2026-10-14
Morrow D Schemmer1009Canada2026-10-28
Mujtaba W Royster1010Russia2026-10-22
Wickens J Nestle1011Italy2026-10-25
Aruna C Slusarski1012Argentina2026-10-15
Jefferson E Ferencz1013Australia2026-10-22
James Q Vocelka1014India2026-10-13
Murillo U Ferencz1015Australia2026-10-14
Adams E Briddick1016Russia2026-11-11
Jones U Amigon1017Japan2026-11-11
Jefferson D Schemmer1018Brazil2026-10-22
David S Ostrosky1019Spain2026-11-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James U AlbaresArgentinaOnyama Limba NEW
Aika J FlosiIndiaElwin Sharvill QUALIFIED
Leja Y KuskoCanadaElwin Sharvill PROPOSAL
Murillo L ChuiAustraliaAsiya Javayant NEW
Stacey W SlusarskiGermanyIoni Bowcher QUALIFIED
Johnson L BologniaAustraliaElwin Sharvill UNQUALIFIED
Emily P MaletJapanElwin Sharvill NEW
Silvio F StockhamArgentinaAnna Fali QUALIFIED
Wickens P AlbaresAustraliaStephen Shaw NEW
Antonio D WhobreyItalyElwin Sharvill NEW
Jones M CaudySpainIvan Magalhaes NEW
Isabel K AmigonAustraliaStephen Shaw QUALIFIED
Johnson I OstroskyGermanyAsiya Javayant RENEWAL
Tony R SlusarskiSpainStephen Shaw NEGOTIATION
Aika W PerinAustraliaOnyama Limba RENEWAL
Arvin F CampainIndiaBernardo Dominic UNQUALIFIED
Jennifer H DarakjyCanadaAmy Elsner PROPOSAL
Ivar O GillianBrazilAmy Elsner NEGOTIATION
Francesco T MaletJapanStephen Shaw UNQUALIFIED
Rodrigues D GauchoGermanyAsiya Javayant PROPOSAL
Ricardo D SergiUnited KingdomStephen Shaw RENEWAL
Octavia S SaylorsAustraliaIoni Bowcher UNQUALIFIED
Leon V MacleadSpainIoni Bowcher NEGOTIATION
Arvin A VenereCanadaOnyama Limba NEW
Mujtaba N OstroskyGermanyElwin Sharvill RENEWAL
Greenwood K SchemmerAustraliaAmy Elsner NEW
Munro B GarufiRussiaIvan Magalhaes UNQUALIFIED
Faith C FollerGermanyIvan Magalhaes NEGOTIATION
Silvio R FlosiRussiaBernardo Dominic UNQUALIFIED
Aditya W KuskoItalyXuxue Feng NEW
Murillo W RoysterIndiaXuxue Feng PROPOSAL
Munro X CampainFranceXuxue Feng RENEWAL
Johnson O StensethArgentinaStephen Shaw QUALIFIED
Misaki H NickaFranceIoni Bowcher QUALIFIED
Sinclair E CaudyItalyAmy Elsner PROPOSAL
Aruna V SchemmerJapanAmy Elsner NEW
Arvin I GillianSpainAsiya Javayant RENEWAL
Wickens C BriddickBrazilAsiya Javayant UNQUALIFIED
Wickens Q InouyeJapanAsiya Javayant NEGOTIATION
Aika A SlusarskiArgentinaIvan Magalhaes NEGOTIATION

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