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
Aditya Q KolmetzSpainAmy Elsner RENEWAL
Smith V StensethCanadaStephen Shaw UNQUALIFIED
Silvio S WieserItalyXuxue Feng QUALIFIED
Silvio Z WhobreyBrazilXuxue Feng NEGOTIATION
Jeanfrancois D KuskoJapanIoni Bowcher NEW
Cody B PaprockiItalyOnyama Limba NEW
Munro B GlickRussiaIoni Bowcher NEGOTIATION
Aruna X GlickFranceStephen Shaw RENEWAL
Kadeem I PoquetteGermanyAmy Elsner QUALIFIED
Misaki B BologniaSpainBernardo Dominic QUALIFIED
Alejandro K FerenczFranceIoni Bowcher NEW
Kaitlin B FollerUnited KingdomOnyama Limba PROPOSAL
Maria S BowleyBrazilXuxue Feng NEGOTIATION
Adams O VenereBrazilAmy Elsner PROPOSAL
Tony G BowleyFranceAmy Elsner QUALIFIED
Maisha F PerinGermanyElwin Sharvill UNQUALIFIED
Chavez W KuskoArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois O CampainFranceAnna Fali NEGOTIATION
Emily Z GillianJapanBernardo Dominic NEW
Misaki C RulapaughArgentinaXuxue Feng QUALIFIED
Misaki Z OldroydAustraliaAsiya Javayant RENEWAL
Francesco W MarrierUnited KingdomElwin Sharvill RENEWAL
Jones H RoysterUnited KingdomOnyama Limba NEGOTIATION
Leon U StockhamRussiaStephen Shaw NEGOTIATION
Arvin O PoquetteFranceAnna Fali RENEWAL
David H RutaSpainIvan Magalhaes NEGOTIATION
Stacey I WaycottCanadaXuxue Feng NEGOTIATION
Izzy V MorascaRussiaElwin Sharvill RENEWAL
Aditya I WaycottJapanAnna Fali NEGOTIATION
Mayumi I VocelkaItalyIoni Bowcher UNQUALIFIED
Leja B DarakjyItalyIvan Magalhaes NEGOTIATION
Morrow D RimArgentinaIoni Bowcher UNQUALIFIED
Alejandro I OldroydCanadaStephen Shaw QUALIFIED
Jones L NickaArgentinaOnyama Limba UNQUALIFIED
Mayumi N WieserAustraliaIoni Bowcher PROPOSAL
Aruna I BriddickArgentinaIvan Magalhaes NEW
Aruna A StensethIndiaIvan Magalhaes QUALIFIED
Antonio X AmigonFranceXuxue Feng UNQUALIFIED
Cody A NickaJapanIvan Magalhaes RENEWAL
Francesco G NestleCanadaStephen Shaw QUALIFIED
Smith D InouyeIndiaOnyama Limba QUALIFIED
Cody G MaletItalyAmy Elsner NEW
Cody O MacleadJapanElwin Sharvill RENEWAL
James T KuskoFranceAsiya Javayant UNQUALIFIED
Smith E StockhamArgentinaElwin Sharvill NEGOTIATION
Misaki Z BologniaRussiaIvan Magalhaes RENEWAL
Greenwood J RulapaughFranceAsiya Javayant PROPOSAL
Leja I AmigonIndiaAmy Elsner UNQUALIFIED
Ashley D SchemmerBrazilAnna Fali NEW
Misaki V NickaGermanyBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas H SchemmerArgentinaOnyama Limba PROPOSAL
Jeanfrancois O MaletItalyAnna Fali RENEWAL
Morrow F PoquetteRussiaAnna Fali RENEWAL
Emily K FollerJapanOnyama Limba NEGOTIATION
Rodrigues Z BologniaGermanyAnna Fali UNQUALIFIED
Leon O WieserBrazilOnyama Limba RENEWAL
Smith Z BowleyAustraliaAsiya Javayant RENEWAL
Antonio N WhobreyBrazilAsiya Javayant NEW
Mayumi C KolmetzItalyAsiya Javayant PROPOSAL
Johnson Y BologniaUnited KingdomIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja S KolmetzFrance2026-10-20Morlong Associates UNQUALIFIED46Bernardo Dominic
1001Jennifer Q CampainItaly2026-10-23King, Christopher A Esq QUALIFIED57Ioni Bowcher
1002Jones V SergiSpain2026-10-18Morlong Associates UNQUALIFIED54Xuxue Feng
1003Ivar Z FerenczAustralia2026-11-12Chapman, Ross E Esq UNQUALIFIED71Ioni Bowcher
1004Silvio Q RimBrazil2026-11-10Chemel, James L Cpa QUALIFIED6Xuxue Feng
1005Rodrigues Q BowleyAustralia2026-10-29Truhlar And Truhlar Attys RENEWAL5Ivan Magalhaes
1006Aditya O CaudyGermany2026-11-11Dorl, James J Esq RENEWAL48Ioni Bowcher
1007Ashley X MorascaFrance2026-10-24Buckley Miller Wright QUALIFIED27Bernardo Dominic
1008Smith J DoeCanada2026-10-15Chemel, James L Cpa RENEWAL38Stephen Shaw
1009Silvio Z CaudyRussia2026-10-29Truhlar And Truhlar Attys NEW14Ioni Bowcher
1010Ashley G WhobreyJapan2026-11-11Chemel, James L Cpa NEW37Amy Elsner
1011Tony Q AmigonArgentina2026-11-04King, Christopher A Esq RENEWAL32Bernardo Dominic
1012Johnson H WieserAustralia2026-10-24Chapman, Ross E Esq NEGOTIATION80Amy Elsner
1013James O OstroskyFrance2026-11-12Printing Dimensions NEW14Ioni Bowcher
1014Leja O PaprockiJapan2026-10-25Feiner Bros UNQUALIFIED14Bernardo Dominic
1015James M RulapaughArgentina2026-11-03Chemel, James L Cpa RENEWAL3Bernardo Dominic
1016Darci C AmigonBrazil2026-10-23Chemel, James L Cpa UNQUALIFIED87Ivan Magalhaes
1017Leja Z ButtArgentina2026-11-07Morlong Associates NEGOTIATION61Stephen Shaw
1018Darci Y NestleFrance2026-10-27Printing Dimensions NEW86Asiya Javayant
1019Wickens O MorascaGermany2026-10-20Buckley Miller Wright RENEWAL16Anna Fali
1020Adams A SlusarskiRussia2026-11-01Printing Dimensions RENEWAL46Asiya Javayant
1021Silvio U MaletSpain2026-11-03Feltz Printing Service UNQUALIFIED81Ivan Magalhaes
1022Claire V NestleRussia2026-10-29King, Christopher A Esq RENEWAL34Elwin Sharvill
1023Jefferson F MorascaUnited Kingdom2026-10-25Dorl, James J Esq NEW97Asiya Javayant
1024Aruna D VocelkaIndia2026-11-11Morlong Associates QUALIFIED78Asiya Javayant
1025Tony W PerinFrance2026-10-15King, Christopher A Esq UNQUALIFIED75Ivan Magalhaes
1026Jefferson I KolmetzAustralia2026-10-27Feiner Bros RENEWAL23Ioni Bowcher
1027Aika K GlickArgentina2026-10-29Buckley Miller Wright QUALIFIED12Ioni Bowcher
1028Chavez V SlusarskiArgentina2026-10-21Chemel, James L Cpa PROPOSAL89Anna Fali
1029Maria F FollerUnited Kingdom2026-10-27Feiner Bros UNQUALIFIED12Asiya Javayant
1030Kaitlin Q WieserItaly2026-10-27Commercial Press QUALIFIED94Anna Fali
1031Emily M MaletIndia2026-10-18Buckley Miller Wright UNQUALIFIED24Amy Elsner
1032Cody E CampainBrazil2026-10-25Chapman, Ross E Esq PROPOSAL18Xuxue Feng
1033Octavia J GillianGermany2026-10-15Truhlar And Truhlar Attys NEGOTIATION68Bernardo Dominic
1034Aika G GarufiAustralia2026-10-22Commercial Press UNQUALIFIED60Ivan Magalhaes
1035Clifford I InouyeAustralia2026-11-06Buckley Miller Wright UNQUALIFIED87Onyama Limba
1036Jefferson Y CaudyItaly2026-11-07Dorl, James J Esq PROPOSAL45Onyama Limba
1037Costa U InouyeBrazil2026-11-05Benton, John B Jr NEGOTIATION79Amy Elsner
1038Francesco W TollnerUnited Kingdom2026-10-16Truhlar And Truhlar Attys NEGOTIATION62Bernardo Dominic
1039Faith K MaletAustralia2026-11-02Feltz Printing Service NEGOTIATION21Amy Elsner
1040Cody Q StensethBrazil2026-10-31Morlong Associates NEW71Xuxue Feng
1041Ashley T FollerRussia2026-10-23Feltz Printing Service NEGOTIATION71Ivan Magalhaes
1042Costa P RulapaughJapan2026-11-12Truhlar And Truhlar Attys NEW24Bernardo Dominic
1043Tony P MarrierRussia2026-11-05Printing Dimensions NEGOTIATION25Onyama Limba
1044Cody C TollnerBrazil2026-10-24Chapman, Ross E Esq PROPOSAL69Stephen Shaw
1045Juan O ButtCanada2026-11-09Benton, John B Jr RENEWAL34Ivan Magalhaes
1046Cody H MaletArgentina2026-11-10King, Christopher A Esq QUALIFIED66Asiya Javayant
1047Claire N FerenczUnited Kingdom2026-10-24Rousseaux, Michael Esq PROPOSAL59Xuxue Feng
1048Octavia A GarufiJapan2026-10-22Feltz Printing Service NEGOTIATION77Elwin Sharvill
1049Leja L AlbaresGermany2026-11-07Feltz Printing Service NEW78Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro M FlosiArgentinaIoni Bowcher QUALIFIED
Claire E GillianGermanyOnyama Limba PROPOSAL
Aruna H StensethSpainAsiya Javayant RENEWAL
Mayumi W FerenczItalyAsiya Javayant NEGOTIATION
Ashley C ShinkoJapanElwin Sharvill NEW
Leon F StockhamAustraliaAmy Elsner QUALIFIED
Jennifer V BologniaItalyElwin Sharvill UNQUALIFIED
Claire P RulapaughFranceXuxue Feng UNQUALIFIED
Jefferson O MaletItalyXuxue Feng NEW
Chavez H BowleyFranceAmy Elsner NEW
David H GillianArgentinaBernardo Dominic NEW
Johnson B GauchoSpainIoni Bowcher QUALIFIED
Ashley R DilliardBrazilOnyama Limba NEGOTIATION
Mayumi D DoeSpainStephen Shaw UNQUALIFIED
Kadeem W GillianSpainElwin Sharvill UNQUALIFIED
Arvin L GarufiBrazilXuxue Feng PROPOSAL
Morrow V FerenczBrazilIvan Magalhaes PROPOSAL
Salvatore G FerenczSpainAmy Elsner NEW
Kaitlin K PaprockiGermanyAsiya Javayant QUALIFIED
Johnson Z WieserCanadaBernardo Dominic NEGOTIATION
Johnson L WieserAustraliaIvan Magalhaes QUALIFIED
Julie Q SlusarskiJapanOnyama Limba NEW
Misaki E SergiUnited KingdomAnna Fali NEGOTIATION
Antonio E GillianBrazilStephen Shaw QUALIFIED
Jennifer I GarufiGermanyAsiya Javayant NEW
Leja A ShinkoBrazilXuxue Feng QUALIFIED
Maisha X WieserUnited KingdomElwin Sharvill PROPOSAL
Chavez H StensethBrazilAnna Fali NEW
Aika Q GillianBrazilXuxue Feng NEGOTIATION
Leja B MarrierArgentinaXuxue Feng UNQUALIFIED
Mayumi C RimAustraliaAmy Elsner UNQUALIFIED
Deepesh Y PoquetteItalyOnyama Limba QUALIFIED
James B VenereBrazilOnyama Limba NEGOTIATION
Maisha W BologniaBrazilElwin Sharvill NEGOTIATION
Jeanfrancois G MarrierSpainIoni Bowcher RENEWAL
David V DoeJapanBernardo Dominic NEGOTIATION
Izzy T FigeroaUnited KingdomOnyama Limba PROPOSAL
Claire D CaldareraAustraliaIoni Bowcher RENEWAL
Costa C MaletUnited KingdomElwin Sharvill NEW
Johnson G FollerAustraliaXuxue Feng NEW
Cody K SergiGermanyAmy Elsner UNQUALIFIED
Jeanfrancois O CaldareraSpainXuxue Feng UNQUALIFIED
Izzy K KolmetzIndiaBernardo Dominic UNQUALIFIED
Ivar R TollnerBrazilStephen Shaw PROPOSAL
Kaitlin P StockhamBrazilElwin Sharvill PROPOSAL
Claire A SergiArgentinaElwin Sharvill NEGOTIATION
Isabel Q DilliardCanadaOnyama Limba RENEWAL
Maisha R CampainSpainAsiya Javayant PROPOSAL
Francesco Q ChuiUnited KingdomAmy Elsner QUALIFIED
James T FigeroaBrazilAmy Elsner QUALIFIED
Frozen Columns
Name
Stacey Y Wieser
Silvio D Figeroa
Jones X Royster
James P Poquette
Nicolas W Slusarski
Kadeem F Marrier
Isabel E Venere
Kaitlin L Oldroyd
Mujtaba M Albares
Morrow Y Stenseth
Misaki B Ruta
Aruna C Tollner
Adams W Caudy
Isabel B Gillian
Smith O Iturbide
Smith A Dilliard
Morrow G Amigon
Misaki R Ruta
Mayumi E Tollner
Claire J Gaucho
Jennifer Z Dilliard
Jennifer F Whobrey
Jennifer B Malet
Clifford F Ostrosky
Tony Q Maclead
Kaitlin L Oldroyd
Deepesh T Rulapaugh
Murillo H Paprocki
Ivar D Wieser
Chavez E Butt
Darci U Vocelka
Costa I Inouye
Claire T Poquette
Faith K Caldarera
Arvin D Dilliard
Ivar W Ostrosky
Chavez E Amigon
Isabel X Whobrey
Johnson I Stockham
Rodrigues A Nicka
Julie L Foller
Aruna L Campain
Chavez L Foller
Smith P Ruta
Mayumi K Maclead
Jones W Ruta
Aruna B Garufi
Smith K Schemmer
Misaki D Rim
Jefferson H Nestle
IdCountryDate
1000Argentina2026-11-02
1001Brazil2026-10-16
1002Spain2026-11-06
1003United Kingdom2026-10-23
1004Argentina2026-10-21
1005Germany2026-10-22
1006Australia2026-10-16
1007India2026-10-18
1008Spain2026-10-31
1009Italy2026-11-13
1010Russia2026-11-05
1011Brazil2026-11-06
1012Argentina2026-11-09
1013Japan2026-11-03
1014Australia2026-11-09
1015France2026-10-19
1016Russia2026-10-27
1017Australia2026-10-17
1018Argentina2026-10-24
1019Italy2026-10-22
1020Japan2026-10-19
1021Russia2026-11-12
1022Argentina2026-10-30
1023Canada2026-10-25
1024Brazil2026-11-02
1025Italy2026-10-19
1026Canada2026-10-15
1027France2026-10-19
1028Spain2026-10-21
1029Germany2026-11-08
1030India2026-10-25
1031Germany2026-10-15
1032Japan2026-11-08
1033Spain2026-10-25
1034Japan2026-10-25
1035Brazil2026-11-03
1036Russia2026-10-25
1037Italy2026-11-07
1038India2026-10-28
1039Argentina2026-11-13
1040United Kingdom2026-11-03
1041United Kingdom2026-10-31
1042Canada2026-10-21
1043Canada2026-11-09
1044Russia2026-11-06
1045Argentina2026-10-31
1046Spain2026-11-09
1047Australia2026-11-09
1048India2026-10-20
1049Germany2026-10-31

On-Demand Data

NameIdCountryDate
Aditya G Royster1000Argentina2026-10-25
Costa W Campain1001Germany2026-11-08
Faith F Briddick1002Canada2026-11-03
Johnson Z Whobrey1003Japan2026-10-29
Emily S Slusarski1004Italy2026-11-07
Darci U Maclead1005Australia2026-10-26
David M Caudy1006United Kingdom2026-10-27
Nicolas R Perin1007Australia2026-11-09
Munro T Tollner1008Brazil2026-10-24
Stacey Z Tollner1009France2026-11-01
Claire C Ruta1010India2026-10-18
Maisha L Vocelka1011Japan2026-11-07
Maria P Ferencz1012Australia2026-10-18
Deepesh F Campain1013Argentina2026-11-12
Darci R Dilliard1014Spain2026-11-09
Adams G Ostrosky1015Germany2026-11-05
Jeanfrancois D Dilliard1016Japan2026-11-03
Sinclair Q Schemmer1017France2026-11-11
Nicolas W Albares1018Brazil2026-11-05
Johnson C Kusko1019Australia2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore E SaylorsSpainAnna Fali NEGOTIATION
Mujtaba V PerinGermanyOnyama Limba RENEWAL
Cody Q SlusarskiCanadaAsiya Javayant RENEWAL
Jefferson U CaldareraSpainAsiya Javayant NEGOTIATION
Rodrigues I VenereBrazilStephen Shaw NEGOTIATION
Faith D FerenczItalyAnna Fali PROPOSAL
Claire E ShinkoUnited KingdomXuxue Feng QUALIFIED
Silvio N WaycottItalyXuxue Feng NEW
Alejandro V SaylorsBrazilOnyama Limba NEW
Jennifer M PerinFranceAsiya Javayant QUALIFIED
Misaki Z FerenczCanadaIoni Bowcher PROPOSAL
Kadeem D CampainGermanyXuxue Feng NEGOTIATION
Jones P TollnerSpainBernardo Dominic UNQUALIFIED
Costa L VocelkaCanadaStephen Shaw NEGOTIATION
Cody M AmigonGermanyAmy Elsner PROPOSAL
Kadeem D VocelkaRussiaBernardo Dominic NEW
Munro Z DoeAustraliaAmy Elsner NEGOTIATION
Rodrigues R PaprockiIndiaBernardo Dominic QUALIFIED
Arvin S BriddickGermanyStephen Shaw RENEWAL
Aruna S SchemmerAustraliaIoni Bowcher RENEWAL
Adams T ChuiUnited KingdomAnna Fali NEW
Murillo Z WaycottUnited KingdomOnyama Limba QUALIFIED
David H WieserBrazilAnna Fali NEGOTIATION
Deepesh O StensethAustraliaIoni Bowcher NEW
Ivar G VenereJapanStephen Shaw PROPOSAL
Silvio A FollerRussiaIvan Magalhaes UNQUALIFIED
Nicolas Q CampainItalyOnyama Limba NEGOTIATION
Murillo W FigeroaAustraliaAmy Elsner PROPOSAL
Deepesh N CampainArgentinaIoni Bowcher QUALIFIED
Kaitlin D PerinRussiaIoni Bowcher NEGOTIATION
Kadeem U VocelkaUnited KingdomIvan Magalhaes RENEWAL
Adams V WaycottArgentinaElwin Sharvill NEGOTIATION
Faith Q FollerBrazilIoni Bowcher UNQUALIFIED
Cody D NickaCanadaXuxue Feng NEW
Izzy W OldroydSpainXuxue Feng PROPOSAL
Kadeem B DoeAustraliaXuxue Feng RENEWAL
Rodrigues V MaletRussiaBernardo Dominic UNQUALIFIED
Johnson S StensethJapanOnyama Limba NEGOTIATION
Greenwood B DarakjySpainStephen Shaw RENEWAL
Ashley N SchemmerItalyOnyama Limba 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>