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
Clifford O TollnerUnited KingdomBernardo Dominic NEW
Leja N CaldareraSpainIoni Bowcher PROPOSAL
Ivar K FlosiGermanyBernardo Dominic NEGOTIATION
Darci S VenereCanadaElwin Sharvill QUALIFIED
Aika B SlusarskiCanadaStephen Shaw UNQUALIFIED
Jones Q GarufiGermanyOnyama Limba UNQUALIFIED
Jones T NickaRussiaIoni Bowcher PROPOSAL
Chavez P SlusarskiItalyXuxue Feng RENEWAL
Antonio Q MarrierRussiaOnyama Limba RENEWAL
Aika E WaycottCanadaElwin Sharvill UNQUALIFIED
Isabel A DilliardGermanyIvan Magalhaes QUALIFIED
Smith W WhobreyBrazilXuxue Feng NEW
Smith G CaudyItalyElwin Sharvill UNQUALIFIED
Ashley X VocelkaRussiaElwin Sharvill UNQUALIFIED
Clifford I SchemmerCanadaAmy Elsner UNQUALIFIED
Darci P InouyeRussiaBernardo Dominic RENEWAL
Kadeem V MaletArgentinaAnna Fali QUALIFIED
Aika H FollerUnited KingdomIoni Bowcher QUALIFIED
Kaitlin Z StensethUnited KingdomXuxue Feng NEW
Costa T StensethSpainXuxue Feng PROPOSAL
Salvatore Z NestleArgentinaStephen Shaw QUALIFIED
Misaki G TollnerSpainIvan Magalhaes UNQUALIFIED
Jennifer T FerenczRussiaBernardo Dominic PROPOSAL
Octavia E AmigonUnited KingdomOnyama Limba NEGOTIATION
Octavia K DilliardItalyXuxue Feng QUALIFIED
Rodrigues V RoysterArgentinaStephen Shaw UNQUALIFIED
Juan A NickaJapanOnyama Limba UNQUALIFIED
Stacey H RimGermanyAnna Fali NEGOTIATION
Jeanfrancois S ShinkoAustraliaAnna Fali NEW
Aika J SchemmerItalyAsiya Javayant PROPOSAL
Claire S DilliardFranceOnyama Limba RENEWAL
Misaki J CaldareraJapanXuxue Feng NEGOTIATION
Adams Q GlickCanadaAsiya Javayant PROPOSAL
Silvio P CaldareraGermanyAmy Elsner PROPOSAL
Julie W MaletItalyStephen Shaw NEW
Darci N BriddickUnited KingdomBernardo Dominic QUALIFIED
Aditya Z IturbideArgentinaOnyama Limba PROPOSAL
Maria N RutaGermanyStephen Shaw UNQUALIFIED
James P FerenczBrazilAnna Fali QUALIFIED
Leja N ButtGermanyAmy Elsner NEGOTIATION
Mujtaba L VenereArgentinaAmy Elsner NEW
Chavez F SergiIndiaStephen Shaw UNQUALIFIED
Jeanfrancois U ChuiRussiaBernardo Dominic NEW
Misaki Z RoysterJapanOnyama Limba NEW
Emily G KuskoItalyElwin Sharvill NEW
Claire P GlickGermanyAmy Elsner PROPOSAL
James O SlusarskiJapanAnna Fali NEGOTIATION
Faith V AmigonItalyIoni Bowcher NEW
Claire I StockhamCanadaIvan Magalhaes RENEWAL
Isabel M ChuiItalyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio T StensethRussiaBernardo Dominic NEW
Aruna Q StensethFranceAnna Fali NEGOTIATION
Silvio A BologniaFranceAnna Fali RENEWAL
Sinclair V DoeRussiaStephen Shaw NEW
David E MaletBrazilAnna Fali NEW
Nicolas X AlbaresItalyXuxue Feng QUALIFIED
Alejandro G ButtItalyXuxue Feng PROPOSAL
Clifford B VocelkaFranceOnyama Limba NEGOTIATION
Ashley J RoysterJapanIoni Bowcher NEGOTIATION
Aditya K InouyeIndiaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair J KolmetzItaly2026-09-10Benton, John B Jr QUALIFIED79Onyama Limba
1001Greenwood O TollnerCanada2026-09-05Truhlar And Truhlar Attys NEW33Amy Elsner
1002Ivar S BriddickGermany2026-09-04Buckley Miller Wright PROPOSAL91Anna Fali
1003Clifford A CaldareraBrazil2026-09-12Rousseaux, Michael Esq QUALIFIED87Xuxue Feng
1004Ricardo Q RimUnited Kingdom2026-09-02Buckley Miller Wright NEW96Stephen Shaw
1005Ivar L MaletSpain2026-09-16Buckley Miller Wright QUALIFIED79Onyama Limba
1006Jennifer E RulapaughCanada2026-09-23Morlong Associates UNQUALIFIED68Bernardo Dominic
1007Leon G MorascaCanada2026-08-30Commercial Press NEGOTIATION46Onyama Limba
1008Sinclair N FerenczSpain2026-09-06Chapman, Ross E Esq RENEWAL9Elwin Sharvill
1009Greenwood E MarrierGermany2026-09-16Chanay, Jeffrey A Esq QUALIFIED1Asiya Javayant
1010Aika Y RimIndia2026-09-07Buckley Miller Wright NEGOTIATION90Asiya Javayant
1011Mayumi I VocelkaJapan2026-08-28Rousseaux, Michael Esq QUALIFIED24Amy Elsner
1012David H MarrierBrazil2026-09-06Feiner Bros QUALIFIED22Ioni Bowcher
1013Claire P FerenczCanada2026-09-18Buckley Miller Wright PROPOSAL46Onyama Limba
1014James Q PaprockiItaly2026-09-23Commercial Press UNQUALIFIED21Stephen Shaw
1015Jennifer L IturbideGermany2026-09-16Chemel, James L Cpa QUALIFIED28Ioni Bowcher
1016Alejandro T AlbaresAustralia2026-09-17Feltz Printing Service NEW86Amy Elsner
1017Darci U WieserBrazil2026-09-24Morlong Associates NEW71Ivan Magalhaes
1018Mujtaba H AmigonAustralia2026-09-13Printing Dimensions NEGOTIATION58Xuxue Feng
1019Murillo I MorascaJapan2026-08-31Buckley Miller Wright UNQUALIFIED45Ioni Bowcher
1020Clifford V FlosiJapan2026-09-15Benton, John B Jr RENEWAL25Amy Elsner
1021Costa X MacleadGermany2026-09-14Feiner Bros UNQUALIFIED93Stephen Shaw
1022Jones I DoeRussia2026-09-11Truhlar And Truhlar Attys PROPOSAL18Anna Fali
1023Kadeem A GauchoCanada2026-09-04Printing Dimensions PROPOSAL16Bernardo Dominic
1024Leon E FollerFrance2026-09-09Rousseaux, Michael Esq QUALIFIED37Amy Elsner
1025Deepesh J GarufiAustralia2026-09-25Commercial Press UNQUALIFIED72Xuxue Feng
1026Kadeem W FigeroaGermany2026-09-23Commercial Press PROPOSAL18Ivan Magalhaes
1027Jones R MorascaRussia2026-09-21Feiner Bros UNQUALIFIED32Bernardo Dominic
1028Rodrigues L GillianBrazil2026-09-24Commercial Press NEW29Onyama Limba
1029Misaki Z VenereAustralia2026-09-05Benton, John B Jr NEW59Elwin Sharvill
1030Greenwood R FollerSpain2026-09-05Chanay, Jeffrey A Esq NEW68Ivan Magalhaes
1031Jones Y MaletCanada2026-09-02Commercial Press PROPOSAL28Bernardo Dominic
1032Stacey T MorascaBrazil2026-09-07Truhlar And Truhlar Attys NEGOTIATION85Onyama Limba
1033Chavez K CaldareraSpain2026-09-16Feiner Bros NEGOTIATION13Bernardo Dominic
1034Kaitlin J FerenczCanada2026-09-03Feiner Bros RENEWAL12Asiya Javayant
1035Salvatore O RimAustralia2026-09-05Truhlar And Truhlar Attys PROPOSAL65Asiya Javayant
1036Arvin I WieserRussia2026-09-25King, Christopher A Esq PROPOSAL41Anna Fali
1037Leja S RutaJapan2026-09-07Dorl, James J Esq PROPOSAL76Ioni Bowcher
1038Morrow Z FollerGermany2026-09-16Truhlar And Truhlar Attys RENEWAL55Elwin Sharvill
1039Johnson B InouyeJapan2026-09-21Printing Dimensions UNQUALIFIED38Xuxue Feng
1040Francesco Z NickaUnited Kingdom2026-09-10Printing Dimensions RENEWAL52Anna Fali
1041Costa P KuskoBrazil2026-09-05King, Christopher A Esq NEW84Elwin Sharvill
1042Murillo Z MorascaItaly2026-08-28Dorl, James J Esq QUALIFIED62Anna Fali
1043Kadeem Z RutaCanada2026-09-05Rousseaux, Michael Esq QUALIFIED56Xuxue Feng
1044Jennifer Y PoquetteUnited Kingdom2026-09-07Feltz Printing Service RENEWAL57Elwin Sharvill
1045Francesco S NickaRussia2026-09-09Rousseaux, Michael Esq QUALIFIED50Ioni Bowcher
1046David R CampainGermany2026-09-10Feiner Bros QUALIFIED86Amy Elsner
1047Jennifer T WaycottUnited Kingdom2026-09-25Chapman, Ross E Esq PROPOSAL62Xuxue Feng
1048Aditya N BriddickJapan2026-09-12Printing Dimensions QUALIFIED35Ivan Magalhaes
1049Francesco Q TollnerUnited Kingdom2026-09-16Chanay, Jeffrey A Esq NEW12Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Chavez K RoysterArgentinaAnna Fali QUALIFIED
Mujtaba E OstroskyAustraliaAmy Elsner QUALIFIED
Aika I GauchoSpainAnna Fali NEW
Faith X DarakjyItalyIvan Magalhaes QUALIFIED
Jones E GillianBrazilAnna Fali PROPOSAL
Smith R ShinkoArgentinaBernardo Dominic PROPOSAL
Sinclair G CaudyFranceIvan Magalhaes PROPOSAL
Greenwood Y GlickSpainElwin Sharvill NEW
Aditya F GauchoRussiaIvan Magalhaes QUALIFIED
Kadeem U VocelkaFranceXuxue Feng PROPOSAL
Chavez N ButtUnited KingdomXuxue Feng UNQUALIFIED
Arvin F CaudySpainAmy Elsner UNQUALIFIED
Alejandro J CaldareraItalyStephen Shaw QUALIFIED
Ricardo E WaycottItalyIoni Bowcher NEW
Adams J StensethUnited KingdomAmy Elsner UNQUALIFIED
Sinclair C KolmetzFranceOnyama Limba PROPOSAL
Jeanfrancois Z MorascaBrazilXuxue Feng RENEWAL
Smith N StockhamUnited KingdomIvan Magalhaes RENEWAL
Julie W MacleadRussiaXuxue Feng PROPOSAL
Claire T MacleadSpainIvan Magalhaes RENEWAL
Julie L OldroydAustraliaAmy Elsner PROPOSAL
Chavez H MorascaCanadaStephen Shaw NEW
Greenwood O BriddickAustraliaAsiya Javayant PROPOSAL
Wickens Q AmigonAustraliaElwin Sharvill UNQUALIFIED
Leon U RulapaughBrazilBernardo Dominic NEW
Kadeem O BowleyGermanyAsiya Javayant NEGOTIATION
Deepesh H VenereBrazilIoni Bowcher NEW
Clifford O TollnerRussiaAnna Fali UNQUALIFIED
Morrow N ButtSpainBernardo Dominic PROPOSAL
Maisha L PaprockiIndiaStephen Shaw QUALIFIED
Murillo A CaldareraFranceOnyama Limba NEW
Kaitlin Z VocelkaItalyElwin Sharvill PROPOSAL
Adams S SaylorsCanadaIoni Bowcher QUALIFIED
James Q SchemmerItalyIvan Magalhaes RENEWAL
Morrow J RimAustraliaStephen Shaw UNQUALIFIED
Faith W PoquetteItalyIoni Bowcher PROPOSAL
Misaki R VocelkaIndiaElwin Sharvill QUALIFIED
Greenwood C ButtIndiaBernardo Dominic UNQUALIFIED
Smith N BowleyAustraliaBernardo Dominic RENEWAL
Clifford T VocelkaArgentinaStephen Shaw RENEWAL
Kadeem E MacleadArgentinaElwin Sharvill RENEWAL
Salvatore F VenereFranceIvan Magalhaes NEGOTIATION
Octavia E StockhamJapanOnyama Limba QUALIFIED
Chavez Q StockhamItalyIoni Bowcher QUALIFIED
Johnson B DoeRussiaAnna Fali NEW
Adams E InouyeCanadaBernardo Dominic NEGOTIATION
Morrow W SergiJapanIoni Bowcher UNQUALIFIED
Isabel G RutaRussiaAsiya Javayant PROPOSAL
Murillo G BologniaSpainAnna Fali UNQUALIFIED
Ricardo D NickaArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Emily L Glick
Tony S Venere
Isabel Z Ferencz
Smith Y Campain
Murillo F Marrier
James X Figeroa
Greenwood A Malet
Kadeem G Garufi
Francesco T Morasca
David D Maclead
Silvio Z Sergi
Rodrigues V Malet
Izzy Y Darakjy
Mujtaba F Waycott
Claire S Bowley
Nicolas R Poquette
Aruna Z Rim
Juan T Malet
Jefferson M Oldroyd
Sinclair Z Whobrey
Stacey K Briddick
Wickens V Campain
Johnson J Ruta
Cody Z Rim
Costa J Inouye
Smith J Nestle
Kaitlin S Tollner
Munro B Bolognia
Wickens V Figeroa
Wickens R Iturbide
Wickens P Ostrosky
Stacey X Paprocki
Alejandro F Ostrosky
Kadeem W Butt
Mayumi V Bolognia
Emily N Iturbide
Kaitlin K Ostrosky
Darci R Kolmetz
Rodrigues V Waycott
Arvin F Darakjy
Tony V Amigon
Ivar V Morasca
James E Stockham
David D Albares
Rodrigues T Rulapaugh
Clifford Q Gaucho
Jennifer Q Iturbide
Mayumi U Oldroyd
Morrow L Caldarera
Claire J Dilliard
IdCountryDate
1000Australia2026-08-29
1001Italy2026-09-02
1002Russia2026-09-06
1003Germany2026-09-03
1004Argentina2026-08-29
1005Australia2026-09-22
1006Russia2026-09-19
1007United Kingdom2026-09-03
1008Argentina2026-09-06
1009Russia2026-09-19
1010Italy2026-09-25
1011Spain2026-09-14
1012Germany2026-09-17
1013Japan2026-09-16
1014India2026-09-09
1015Argentina2026-09-22
1016Japan2026-08-28
1017India2026-09-04
1018Australia2026-09-22
1019Germany2026-09-24
1020Canada2026-09-22
1021Argentina2026-09-19
1022Brazil2026-09-05
1023France2026-09-13
1024Argentina2026-09-19
1025Argentina2026-09-12
1026Brazil2026-09-18
1027Spain2026-09-18
1028Japan2026-09-08
1029Germany2026-09-07
1030France2026-08-28
1031Canada2026-09-04
1032France2026-09-14
1033Germany2026-09-25
1034Canada2026-09-15
1035Russia2026-08-28
1036Australia2026-09-16
1037Brazil2026-09-01
1038France2026-09-01
1039Argentina2026-09-01
1040India2026-09-24
1041Germany2026-09-13
1042Argentina2026-08-28
1043United Kingdom2026-09-01
1044Russia2026-09-02
1045Italy2026-09-11
1046Japan2026-09-03
1047United Kingdom2026-09-14
1048Brazil2026-08-28
1049Russia2026-09-06

On-Demand Data

NameIdCountryDate
Chavez B Royster1000Canada2026-09-01
Aika I Marrier1001Germany2026-09-09
Clifford J Perin1002Russia2026-09-24
Mujtaba D Rim1003India2026-08-31
Salvatore Z Slusarski1004Spain2026-09-04
Chavez X Rim1005Argentina2026-09-26
Mujtaba X Caudy1006India2026-08-28
Julie M Inouye1007France2026-09-24
Jones J Malet1008Spain2026-09-25
Darci V Malet1009Germany2026-09-21
Tony H Nicka1010France2026-09-21
Wickens S Amigon1011Australia2026-09-09
Morrow R Poquette1012France2026-09-18
Stacey Y Venere1013Spain2026-09-20
Johnson W Kolmetz1014Brazil2026-09-09
Mujtaba S Nestle1015Australia2026-08-31
Cody D Stockham1016Canada2026-09-12
Isabel Q Albares1017Italy2026-09-03
James T Ostrosky1018Brazil2026-09-20
Maria X Albares1019Canada2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco Q SlusarskiSpainXuxue Feng NEGOTIATION
Aditya Y RimJapanAmy Elsner NEGOTIATION
Ivar U RimCanadaAsiya Javayant NEGOTIATION
Mayumi L AmigonFranceXuxue Feng NEW
Nicolas M StockhamUnited KingdomBernardo Dominic NEW
Isabel Q SchemmerItalyElwin Sharvill NEGOTIATION
Izzy R GauchoJapanXuxue Feng NEW
Costa X StensethFranceOnyama Limba NEGOTIATION
Nicolas S RutaUnited KingdomElwin Sharvill NEGOTIATION
Misaki E WaycottBrazilStephen Shaw UNQUALIFIED
Maria X OstroskyBrazilIvan Magalhaes NEW
Julie N WaycottCanadaOnyama Limba QUALIFIED
Cody C BologniaFranceIvan Magalhaes UNQUALIFIED
Leja F SergiSpainXuxue Feng UNQUALIFIED
Isabel U VenereRussiaIvan Magalhaes NEW
Mujtaba K OldroydJapanElwin Sharvill RENEWAL
Johnson P NickaJapanElwin Sharvill RENEWAL
Silvio Y MacleadFranceStephen Shaw UNQUALIFIED
Ashley P RoysterFranceElwin Sharvill NEW
Francesco Z BologniaSpainBernardo Dominic NEW
Chavez S FollerBrazilAnna Fali NEW
Isabel T FollerAustraliaIoni Bowcher NEW
Jones I InouyeItalyElwin Sharvill QUALIFIED
Sinclair T RutaGermanyIoni Bowcher PROPOSAL
Emily W GauchoItalyAmy Elsner QUALIFIED
Leon O CampainRussiaOnyama Limba UNQUALIFIED
Ivar Y SchemmerArgentinaElwin Sharvill NEGOTIATION
Francesco Y SergiUnited KingdomOnyama Limba QUALIFIED
Leon W SergiJapanXuxue Feng NEW
Arvin W FlosiRussiaIoni Bowcher QUALIFIED
Silvio V MorascaRussiaAmy Elsner NEW
Costa Q ShinkoCanadaIoni Bowcher PROPOSAL
Costa U AmigonArgentinaBernardo Dominic UNQUALIFIED
Jefferson D WieserSpainIoni Bowcher NEW
Jennifer G PerinRussiaOnyama Limba NEGOTIATION
Isabel B MacleadGermanyXuxue Feng UNQUALIFIED
Maisha F BologniaUnited KingdomBernardo Dominic NEGOTIATION
Aruna M RimArgentinaBernardo Dominic UNQUALIFIED
Salvatore Z MorascaItalyIvan Magalhaes QUALIFIED
Emily H CaudyAustraliaXuxue Feng 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>