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
Ivar B StockhamItalyBernardo Dominic PROPOSAL
Claire O CaldareraBrazilAnna Fali UNQUALIFIED
Aruna J OldroydUnited KingdomElwin Sharvill NEGOTIATION
Adams R VenereCanadaBernardo Dominic NEW
Aditya S RutaSpainElwin Sharvill NEW
Faith M SergiCanadaAsiya Javayant QUALIFIED
Misaki O BowleyArgentinaBernardo Dominic RENEWAL
Jefferson O VocelkaGermanyBernardo Dominic NEW
Greenwood P StensethGermanyBernardo Dominic RENEWAL
Arvin U FerenczArgentinaAmy Elsner NEGOTIATION
Mayumi D CampainItalyBernardo Dominic PROPOSAL
Julie F VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Octavia V DilliardAustraliaIoni Bowcher RENEWAL
Costa J BowleyJapanXuxue Feng NEW
Kadeem N SergiFranceIoni Bowcher NEW
Faith U SaylorsCanadaOnyama Limba PROPOSAL
Cody E VenereUnited KingdomXuxue Feng UNQUALIFIED
Mayumi V NestleJapanAmy Elsner NEGOTIATION
Leon H BologniaItalyStephen Shaw RENEWAL
Silvio J GauchoUnited KingdomStephen Shaw PROPOSAL
Chavez X VocelkaCanadaStephen Shaw QUALIFIED
Antonio L MaletIndiaAsiya Javayant NEGOTIATION
Sinclair N GlickAustraliaIoni Bowcher UNQUALIFIED
Greenwood T RulapaughArgentinaAsiya Javayant PROPOSAL
Johnson A AlbaresRussiaXuxue Feng RENEWAL
Kadeem H BriddickSpainOnyama Limba RENEWAL
Ivar M DarakjyCanadaOnyama Limba PROPOSAL
Isabel M WaycottAustraliaOnyama Limba PROPOSAL
Darci I FlosiArgentinaAmy Elsner RENEWAL
Antonio D GarufiBrazilOnyama Limba RENEWAL
Juan S DilliardFranceBernardo Dominic NEGOTIATION
Greenwood G FigeroaItalyBernardo Dominic QUALIFIED
Faith O FerenczAustraliaStephen Shaw PROPOSAL
Claire P OstroskyItalyElwin Sharvill UNQUALIFIED
Izzy M CaudyIndiaStephen Shaw RENEWAL
Maisha H ButtFranceAnna Fali NEGOTIATION
Arvin Z BologniaFranceBernardo Dominic UNQUALIFIED
Kadeem S NestleFranceAsiya Javayant RENEWAL
Jones K AmigonRussiaAsiya Javayant PROPOSAL
Deepesh X FerenczFranceXuxue Feng RENEWAL
Munro G SchemmerItalyStephen Shaw NEGOTIATION
Clifford X CaudyGermanyIvan Magalhaes UNQUALIFIED
Arvin K RutaArgentinaXuxue Feng NEW
Claire O RoysterItalyAsiya Javayant RENEWAL
Murillo Y KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro K WieserGermanyStephen Shaw PROPOSAL
Clifford I VenereSpainIoni Bowcher PROPOSAL
Ivar J ButtBrazilElwin Sharvill PROPOSAL
Jeanfrancois Q MaletCanadaAmy Elsner NEGOTIATION
Francesco S PaprockiJapanIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Antonio B KolmetzIndiaOnyama Limba PROPOSAL
David M DarakjyUnited KingdomIvan Magalhaes RENEWAL
Claire B CampainIndiaIvan Magalhaes RENEWAL
Octavia W NickaUnited KingdomElwin Sharvill QUALIFIED
Deepesh Y NickaBrazilXuxue Feng NEW
Aruna I BowleyFranceStephen Shaw QUALIFIED
Silvio C CaldareraSpainElwin Sharvill NEW
Adams R InouyeItalyBernardo Dominic RENEWAL
Mujtaba F WieserIndiaXuxue Feng QUALIFIED
Clifford L DilliardRussiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony I StensethFrance2026-10-19Printing Dimensions NEGOTIATION96Asiya Javayant
1001Jennifer P RulapaughAustralia2026-10-08Chanay, Jeffrey A Esq NEGOTIATION75Ioni Bowcher
1002Ashley I MaletRussia2026-10-27Chanay, Jeffrey A Esq UNQUALIFIED16Amy Elsner
1003Mujtaba G WhobreyArgentina2026-10-27Rangoni Of Florence UNQUALIFIED65Stephen Shaw
1004Greenwood Q GillianCanada2026-10-13Morlong Associates UNQUALIFIED36Ioni Bowcher
1005Stacey K GarufiJapan2026-10-09Chemel, James L Cpa NEGOTIATION95Bernardo Dominic
1006Clifford F KolmetzBrazil2026-09-30Buckley Miller Wright PROPOSAL12Xuxue Feng
1007Cody V VenereCanada2026-09-30King, Christopher A Esq UNQUALIFIED86Xuxue Feng
1008Silvio J FollerUnited Kingdom2026-10-11Feiner Bros QUALIFIED0Onyama Limba
1009Costa X WieserItaly2026-10-20Rangoni Of Florence NEGOTIATION52Bernardo Dominic
1010Isabel J RutaGermany2026-09-29Buckley Miller Wright PROPOSAL96Amy Elsner
1011Cody H KolmetzIndia2026-10-09Feltz Printing Service RENEWAL63Xuxue Feng
1012Darci A SaylorsArgentina2026-10-22Printing Dimensions QUALIFIED42Ioni Bowcher
1013Darci H GlickJapan2026-10-05Rangoni Of Florence NEGOTIATION54Asiya Javayant
1014Jefferson W GillianIndia2026-10-04Truhlar And Truhlar Attys RENEWAL92Bernardo Dominic
1015Jennifer H DoeFrance2026-10-02Feiner Bros PROPOSAL91Ioni Bowcher
1016Izzy B DoeAustralia2026-10-15Chemel, James L Cpa NEW66Asiya Javayant
1017James S SergiJapan2026-10-01Dorl, James J Esq PROPOSAL65Ivan Magalhaes
1018Clifford A ShinkoArgentina2026-10-08Feiner Bros PROPOSAL46Amy Elsner
1019Juan H ShinkoJapan2026-09-28Printing Dimensions UNQUALIFIED6Xuxue Feng
1020Misaki A PoquetteUnited Kingdom2026-10-11Chemel, James L Cpa NEGOTIATION12Ioni Bowcher
1021Leon U MaletRussia2026-10-27Feltz Printing Service QUALIFIED95Stephen Shaw
1022Izzy Q VenereBrazil2026-09-28Morlong Associates PROPOSAL3Onyama Limba
1023Mayumi V BowleyJapan2026-10-25Chanay, Jeffrey A Esq NEGOTIATION10Ioni Bowcher
1024Jeanfrancois Z SaylorsFrance2026-10-25Commercial Press RENEWAL25Stephen Shaw
1025Francesco X MorascaBrazil2026-10-25Rousseaux, Michael Esq UNQUALIFIED70Ioni Bowcher
1026Clifford M VenereArgentina2026-10-18Feltz Printing Service NEGOTIATION10Bernardo Dominic
1027Morrow I WhobreyFrance2026-10-07Buckley Miller Wright QUALIFIED14Amy Elsner
1028Ivar J OstroskyBrazil2026-10-17Rousseaux, Michael Esq NEW30Xuxue Feng
1029Claire R AmigonCanada2026-10-14Chapman, Ross E Esq RENEWAL29Asiya Javayant
1030Morrow F SaylorsAustralia2026-10-11Rousseaux, Michael Esq NEW36Xuxue Feng
1031Emily J PerinGermany2026-10-24Commercial Press PROPOSAL35Asiya Javayant
1032Ricardo E MaletRussia2026-10-12Printing Dimensions RENEWAL59Elwin Sharvill
1033Greenwood Y BologniaRussia2026-09-29Benton, John B Jr NEW81Elwin Sharvill
1034Jones Z GarufiAustralia2026-10-01Dorl, James J Esq NEGOTIATION2Bernardo Dominic
1035Johnson X AmigonArgentina2026-10-17Feltz Printing Service RENEWAL53Ioni Bowcher
1036Smith S RoysterSpain2026-09-28Commercial Press NEGOTIATION7Asiya Javayant
1037Stacey P GarufiSpain2026-10-13Benton, John B Jr NEW45Xuxue Feng
1038Kadeem L BologniaRussia2026-10-22Benton, John B Jr UNQUALIFIED40Bernardo Dominic
1039Darci E ChuiAustralia2026-10-18Benton, John B Jr QUALIFIED36Stephen Shaw
1040David Y PaprockiSpain2026-10-05Dorl, James J Esq NEGOTIATION21Anna Fali
1041Mayumi X GarufiItaly2026-10-27King, Christopher A Esq NEGOTIATION20Asiya Javayant
1042Chavez J WieserRussia2026-10-08King, Christopher A Esq PROPOSAL39Bernardo Dominic
1043Kaitlin Z SaylorsItaly2026-10-02Chanay, Jeffrey A Esq NEW67Ioni Bowcher
1044Salvatore L RulapaughJapan2026-10-24Benton, John B Jr NEGOTIATION67Asiya Javayant
1045Greenwood T CaldareraCanada2026-10-23Morlong Associates PROPOSAL44Onyama Limba
1046Claire R SaylorsRussia2026-10-22Morlong Associates NEGOTIATION63Ioni Bowcher
1047Alejandro Y ChuiIndia2026-10-10Rousseaux, Michael Esq NEW53Ioni Bowcher
1048Munro F DilliardFrance2026-10-18Feltz Printing Service NEW83Bernardo Dominic
1049Jeanfrancois F MarrierSpain2026-10-17King, Christopher A Esq NEGOTIATION29Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Julie H SchemmerBrazilBernardo Dominic NEW
Mujtaba E SlusarskiIndiaStephen Shaw PROPOSAL
Costa A GlickRussiaElwin Sharvill QUALIFIED
Aditya X VocelkaSpainXuxue Feng UNQUALIFIED
Ivar I ShinkoItalyBernardo Dominic PROPOSAL
Maria H IturbideItalyAnna Fali QUALIFIED
Kaitlin F PoquetteArgentinaElwin Sharvill NEW
Adams S ButtJapanIvan Magalhaes UNQUALIFIED
Ivar I FlosiAustraliaStephen Shaw QUALIFIED
Alejandro R DilliardUnited KingdomStephen Shaw RENEWAL
Mujtaba J GillianRussiaStephen Shaw NEW
Jennifer R InouyeBrazilIoni Bowcher NEGOTIATION
Ivar E VenereItalyIvan Magalhaes PROPOSAL
Mayumi C VenereGermanyOnyama Limba PROPOSAL
Rodrigues H ShinkoItalyXuxue Feng PROPOSAL
Ricardo A CaldareraCanadaIvan Magalhaes NEW
Smith G MacleadGermanyElwin Sharvill NEW
Misaki U SergiArgentinaElwin Sharvill PROPOSAL
James F MarrierItalyOnyama Limba QUALIFIED
Arvin C FerenczArgentinaAsiya Javayant PROPOSAL
Jefferson J SchemmerBrazilAmy Elsner NEGOTIATION
Antonio B NestleJapanAnna Fali NEGOTIATION
Silvio W KolmetzFranceIvan Magalhaes QUALIFIED
Mujtaba O VenereFranceAnna Fali UNQUALIFIED
Claire M InouyeSpainAnna Fali UNQUALIFIED
Rodrigues H RulapaughArgentinaAmy Elsner NEGOTIATION
Claire E InouyeSpainIoni Bowcher NEW
Julie A PaprockiBrazilOnyama Limba NEGOTIATION
Izzy F ShinkoUnited KingdomAsiya Javayant PROPOSAL
Mujtaba A VocelkaCanadaAnna Fali PROPOSAL
Jones P PoquetteAustraliaAnna Fali UNQUALIFIED
Jeanfrancois Y WieserArgentinaElwin Sharvill NEW
Faith Q KuskoIndiaElwin Sharvill QUALIFIED
Mayumi V RulapaughBrazilAnna Fali RENEWAL
Adams I MorascaItalyOnyama Limba UNQUALIFIED
Tony Y FigeroaJapanXuxue Feng RENEWAL
Isabel U WaycottAustraliaOnyama Limba NEW
Tony C DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Antonio H RoysterSpainBernardo Dominic PROPOSAL
Jefferson U BowleyFranceAmy Elsner UNQUALIFIED
David Y VenereJapanIoni Bowcher NEW
Faith X SergiBrazilAmy Elsner PROPOSAL
Jeanfrancois Y RulapaughSpainIvan Magalhaes NEW
Clifford A VenereSpainBernardo Dominic NEW
Ricardo J VocelkaItalyOnyama Limba RENEWAL
Cody G IturbideSpainAnna Fali UNQUALIFIED
Arvin Y DarakjyAustraliaAnna Fali NEGOTIATION
Jefferson A RutaGermanyAnna Fali NEW
Kadeem A KuskoUnited KingdomIoni Bowcher PROPOSAL
Munro N ChuiJapanAmy Elsner UNQUALIFIED
Frozen Columns
Name
Deepesh M Maclead
Misaki P Schemmer
Aika X Marrier
Ricardo G Nestle
Izzy X Albares
David V Perin
Murillo V Rulapaugh
Munro H Slusarski
Leon U Rim
Emily A Maclead
Maria V Briddick
Silvio P Figeroa
Tony H Campain
Faith M Rim
Emily B Whobrey
Sinclair P Flosi
Mujtaba S Flosi
Ivar Q Stockham
Arvin Y Tollner
Murillo M Iturbide
Sinclair H Dilliard
Octavia V Nicka
Arvin C Chui
Emily H Kolmetz
Chavez U Maclead
Aika A Waycott
Julie J Bowley
Antonio F Kusko
Tony T Flosi
Silvio C Glick
Isabel B Gaucho
Misaki A Malet
Isabel W Wieser
Izzy P Caudy
Murillo K Dilliard
Mayumi E Garufi
Claire O Stockham
Aditya W Inouye
Johnson X Malet
Octavia J Vocelka
Jefferson Q Caldarera
Izzy F Poquette
Jones X Ferencz
Darci W Glick
Faith D Sergi
Salvatore R Stockham
Aruna Q Doe
Ivar E Rim
Rodrigues U Foller
Faith O Wieser
IdCountryDate
1000India2026-10-07
1001France2026-10-25
1002Argentina2026-10-13
1003Japan2026-10-17
1004Russia2026-10-18
1005Argentina2026-10-18
1006Italy2026-10-10
1007India2026-10-20
1008Canada2026-10-08
1009Australia2026-10-13
1010Argentina2026-10-05
1011Argentina2026-09-29
1012Australia2026-10-03
1013Argentina2026-09-28
1014Germany2026-10-02
1015Russia2026-10-03
1016Australia2026-10-02
1017Argentina2026-10-25
1018Italy2026-10-11
1019India2026-09-28
1020Canada2026-10-22
1021Brazil2026-10-02
1022Germany2026-10-19
1023Argentina2026-10-05
1024Australia2026-10-25
1025India2026-10-24
1026United Kingdom2026-10-09
1027Japan2026-10-15
1028Argentina2026-10-21
1029Germany2026-10-11
1030Spain2026-10-27
1031Germany2026-09-30
1032Germany2026-10-27
1033France2026-10-26
1034Brazil2026-09-28
1035Japan2026-10-18
1036Spain2026-10-17
1037Germany2026-10-14
1038Canada2026-10-09
1039Russia2026-10-21
1040France2026-10-02
1041Germany2026-10-25
1042Italy2026-10-14
1043France2026-10-18
1044Argentina2026-10-26
1045Canada2026-10-15
1046Canada2026-10-06
1047Brazil2026-10-08
1048Russia2026-10-08
1049Brazil2026-10-18

On-Demand Data

NameIdCountryDate
Leja V Inouye1000Japan2026-09-28
Clifford M Rim1001Australia2026-10-16
Greenwood O Caudy1002India2026-10-25
Munro P Malet1003India2026-10-10
Smith V Doe1004Australia2026-09-29
Arvin N Figeroa1005France2026-10-20
Clifford A Paprocki1006France2026-10-11
Costa A Iturbide1007Russia2026-10-03
Maisha L Albares1008Argentina2026-10-23
Alejandro Y Waycott1009Brazil2026-10-26
Rodrigues N Malet1010Germany2026-10-01
Deepesh G Gaucho1011Canada2026-09-28
Isabel R Darakjy1012Russia2026-10-16
Greenwood V Doe1013Brazil2026-10-05
Francesco Y Gillian1014Italy2026-10-01
Deepesh C Marrier1015France2026-10-04
Rodrigues V Gillian1016Russia2026-09-30
Maisha B Malet1017Brazil2026-10-11
Aika U Campain1018Italy2026-10-24
Francesco W Schemmer1019Italy2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony B FlosiIndiaXuxue Feng UNQUALIFIED
Faith G MarrierItalyElwin Sharvill QUALIFIED
David L RimFranceBernardo Dominic UNQUALIFIED
Kaitlin L BologniaAustraliaStephen Shaw QUALIFIED
Adams L AlbaresUnited KingdomXuxue Feng NEW
Ricardo T PerinGermanyIoni Bowcher UNQUALIFIED
Smith G FerenczJapanAnna Fali UNQUALIFIED
Aditya F MaletRussiaOnyama Limba PROPOSAL
Smith U NickaBrazilOnyama Limba UNQUALIFIED
Tony R GauchoFranceAsiya Javayant PROPOSAL
Juan U ShinkoUnited KingdomXuxue Feng RENEWAL
Munro K SchemmerIndiaAsiya Javayant QUALIFIED
Greenwood O FigeroaIndiaIoni Bowcher RENEWAL
Jennifer J PoquetteRussiaAsiya Javayant NEGOTIATION
Misaki J MaletArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois Y NickaRussiaAsiya Javayant QUALIFIED
Juan X SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Wickens K VocelkaItalyAmy Elsner PROPOSAL
Jeanfrancois O RoysterArgentinaAsiya Javayant PROPOSAL
Claire B SlusarskiAustraliaStephen Shaw UNQUALIFIED
Mujtaba D MorascaFranceAnna Fali PROPOSAL
Alejandro V MaletIndiaBernardo Dominic UNQUALIFIED
Wickens W GarufiFranceStephen Shaw RENEWAL
Aditya Z AlbaresSpainBernardo Dominic NEW
Stacey K CaudyGermanyBernardo Dominic UNQUALIFIED
Antonio H StockhamUnited KingdomAnna Fali PROPOSAL
Morrow A MorascaAustraliaElwin Sharvill RENEWAL
Salvatore Y CaudyUnited KingdomIoni Bowcher QUALIFIED
Murillo A PoquetteRussiaIvan Magalhaes RENEWAL
Maria W FerenczBrazilAmy Elsner NEW
Mujtaba G RulapaughRussiaStephen Shaw NEW
Smith P VenereFranceElwin Sharvill QUALIFIED
Aruna S KuskoBrazilOnyama Limba NEW
Octavia G VocelkaGermanyElwin Sharvill NEW
Clifford G GillianArgentinaElwin Sharvill NEGOTIATION
David N GlickRussiaElwin Sharvill UNQUALIFIED
Aditya J OldroydJapanAnna Fali NEW
Leja F DoeIndiaStephen Shaw UNQUALIFIED
Adams G NickaJapanOnyama Limba QUALIFIED
Chavez M RoysterRussiaXuxue Feng 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>