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
Mujtaba Q SergiAustraliaBernardo Dominic NEW
Salvatore X FerenczFranceOnyama Limba NEGOTIATION
Aika J MarrierCanadaElwin Sharvill UNQUALIFIED
Sinclair V GlickGermanyIoni Bowcher NEW
Arvin S CaldareraRussiaElwin Sharvill QUALIFIED
Mujtaba T RimArgentinaAmy Elsner QUALIFIED
Aditya V VocelkaGermanyAsiya Javayant UNQUALIFIED
Leja Z MacleadUnited KingdomIoni Bowcher PROPOSAL
Deepesh A SchemmerSpainStephen Shaw RENEWAL
Salvatore C WhobreyIndiaAsiya Javayant QUALIFIED
Chavez I SchemmerGermanyBernardo Dominic UNQUALIFIED
Stacey B DilliardBrazilIvan Magalhaes NEW
Salvatore F BriddickSpainBernardo Dominic NEGOTIATION
Jones G PerinSpainIvan Magalhaes QUALIFIED
Murillo M FerenczArgentinaOnyama Limba QUALIFIED
Kadeem I ChuiSpainIoni Bowcher NEGOTIATION
Cody O SchemmerItalyOnyama Limba RENEWAL
Julie E GlickItalyAmy Elsner RENEWAL
Emily K PerinAustraliaOnyama Limba QUALIFIED
Ashley C FerenczIndiaAmy Elsner QUALIFIED
Johnson G MacleadIndiaBernardo Dominic RENEWAL
Cody X DoeGermanyIoni Bowcher NEGOTIATION
Francesco H VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi Y RoysterJapanAnna Fali NEW
Ashley H GarufiGermanyOnyama Limba UNQUALIFIED
Ricardo I BologniaAustraliaElwin Sharvill NEW
Aditya B GauchoUnited KingdomAmy Elsner NEW
James T BowleyFranceStephen Shaw RENEWAL
Maisha O MaletUnited KingdomIvan Magalhaes QUALIFIED
Aruna C NestleBrazilIoni Bowcher RENEWAL
Deepesh W MacleadArgentinaElwin Sharvill PROPOSAL
Leon J AmigonGermanyIvan Magalhaes NEW
Morrow F BriddickJapanXuxue Feng RENEWAL
Aika K IturbideRussiaIoni Bowcher UNQUALIFIED
Stacey H ButtUnited KingdomAmy Elsner NEW
Misaki Z PaprockiBrazilOnyama Limba NEW
Maria I WhobreyAustraliaBernardo Dominic NEW
Octavia P SchemmerGermanyStephen Shaw PROPOSAL
Arvin O WhobreyArgentinaAnna Fali PROPOSAL
Arvin G MacleadGermanyAnna Fali NEW
Julie Q RoysterJapanAmy Elsner QUALIFIED
James Y GillianFranceIvan Magalhaes RENEWAL
Greenwood P GauchoGermanyStephen Shaw PROPOSAL
Claire E SchemmerJapanBernardo Dominic RENEWAL
Isabel M WhobreyArgentinaAnna Fali NEW
Emily X OstroskyArgentinaBernardo Dominic NEW
Leja S RoysterAustraliaAsiya Javayant QUALIFIED
David E MorascaArgentinaOnyama Limba NEGOTIATION
Deepesh J MaletJapanAsiya Javayant NEGOTIATION
Stacey A SchemmerJapanIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki Z NestleJapanXuxue Feng NEW
Clifford F GillianJapanAsiya Javayant NEGOTIATION
Francesco J InouyeFranceBernardo Dominic NEW
Isabel W WhobreyBrazilXuxue Feng NEGOTIATION
Silvio J GlickJapanAsiya Javayant NEW
Claire D InouyeSpainStephen Shaw UNQUALIFIED
Jennifer B RoysterUnited KingdomAmy Elsner QUALIFIED
David I NickaItalyXuxue Feng RENEWAL
Arvin W MacleadAustraliaBernardo Dominic PROPOSAL
Emily I CampainCanadaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio Q TollnerIndia2026-10-12Morlong Associates QUALIFIED30Elwin Sharvill
1001Tony F TollnerAustralia2026-10-19Buckley Miller Wright QUALIFIED58Anna Fali
1002Greenwood M FollerAustralia2026-10-08Rangoni Of Florence NEGOTIATION62Ioni Bowcher
1003Maria P BowleyBrazil2026-10-17Rangoni Of Florence UNQUALIFIED58Onyama Limba
1004Sinclair M BologniaGermany2026-10-24Printing Dimensions UNQUALIFIED75Ioni Bowcher
1005Mujtaba G MorascaCanada2026-10-19Dorl, James J Esq NEW65Elwin Sharvill
1006Alejandro L NestleCanada2026-10-06Feltz Printing Service NEW5Ivan Magalhaes
1007Munro G MarrierFrance2026-10-09Printing Dimensions QUALIFIED77Elwin Sharvill
1008Ricardo Z OstroskyBrazil2026-10-19Buckley Miller Wright QUALIFIED90Stephen Shaw
1009Faith H AmigonSpain2026-10-11Feiner Bros PROPOSAL56Xuxue Feng
1010Rodrigues B AlbaresSpain2026-10-21Truhlar And Truhlar Attys NEGOTIATION1Elwin Sharvill
1011Salvatore S CaudySpain2026-10-22King, Christopher A Esq NEW86Ioni Bowcher
1012Salvatore H CaudyItaly2026-10-25Rangoni Of Florence NEGOTIATION9Asiya Javayant
1013James T RimAustralia2026-10-18Benton, John B Jr NEGOTIATION92Xuxue Feng
1014Francesco V MaletCanada2026-10-26Feiner Bros NEGOTIATION22Amy Elsner
1015Isabel E PaprockiGermany2026-10-22Benton, John B Jr RENEWAL29Xuxue Feng
1016Stacey C KuskoAustralia2026-10-07Chapman, Ross E Esq QUALIFIED45Onyama Limba
1017Juan M CaldareraAustralia2026-10-19Feiner Bros QUALIFIED35Elwin Sharvill
1018Aika F CampainRussia2026-10-28Buckley Miller Wright QUALIFIED83Ivan Magalhaes
1019Morrow H BowleyIndia2026-10-12Morlong Associates PROPOSAL58Bernardo Dominic
1020Jefferson M MacleadRussia2026-10-24Chemel, James L Cpa NEGOTIATION21Amy Elsner
1021Misaki A GauchoCanada2026-10-18Chemel, James L Cpa RENEWAL83Bernardo Dominic
1022Chavez Q ShinkoUnited Kingdom2026-10-19Printing Dimensions NEGOTIATION36Asiya Javayant
1023Nicolas K SlusarskiGermany2026-10-02Buckley Miller Wright RENEWAL91Elwin Sharvill
1024Juan E WieserIndia2026-10-03Rangoni Of Florence QUALIFIED59Elwin Sharvill
1025James Q OstroskyItaly2026-10-26Chemel, James L Cpa PROPOSAL1Bernardo Dominic
1026Tony V PerinRussia2026-10-20Printing Dimensions NEW91Stephen Shaw
1027Jones R DilliardRussia2026-10-28Chemel, James L Cpa RENEWAL23Bernardo Dominic
1028Isabel T NickaUnited Kingdom2026-10-22Printing Dimensions UNQUALIFIED9Onyama Limba
1029Aruna R DilliardRussia2026-10-16Printing Dimensions QUALIFIED41Onyama Limba
1030Maisha Q TollnerFrance2026-10-25Feltz Printing Service QUALIFIED77Elwin Sharvill
1031Costa A RutaGermany2026-10-02Benton, John B Jr QUALIFIED66Ioni Bowcher
1032Julie F MaletUnited Kingdom2026-10-17Truhlar And Truhlar Attys PROPOSAL28Elwin Sharvill
1033Cody T StensethArgentina2026-10-08Benton, John B Jr NEGOTIATION23Bernardo Dominic
1034Izzy B DilliardAustralia2026-10-14Commercial Press QUALIFIED70Anna Fali
1035Nicolas V ShinkoRussia2026-10-12Printing Dimensions NEW3Stephen Shaw
1036Ashley Q WhobreyRussia2026-10-27Chapman, Ross E Esq PROPOSAL94Amy Elsner
1037Antonio X ButtArgentina2026-10-14Truhlar And Truhlar Attys RENEWAL12Stephen Shaw
1038Ivar V ButtItaly2026-10-11Printing Dimensions RENEWAL90Ivan Magalhaes
1039Jefferson X MaletItaly2026-10-19Truhlar And Truhlar Attys NEW63Xuxue Feng
1040Cody H IturbideBrazil2026-10-28Rousseaux, Michael Esq UNQUALIFIED12Ivan Magalhaes
1041Antonio Y FigeroaUnited Kingdom2026-10-12Morlong Associates NEGOTIATION39Bernardo Dominic
1042Claire K AmigonAustralia2026-10-24Morlong Associates QUALIFIED47Stephen Shaw
1043Francesco W ButtBrazil2026-10-04Truhlar And Truhlar Attys QUALIFIED41Anna Fali
1044Mujtaba J DoeItaly2026-10-09Truhlar And Truhlar Attys RENEWAL4Anna Fali
1045Ricardo N DarakjyIndia2026-10-14Morlong Associates QUALIFIED83Bernardo Dominic
1046Stacey F BologniaSpain2026-10-27Dorl, James J Esq RENEWAL64Bernardo Dominic
1047Cody B InouyeAustralia2026-10-25Rangoni Of Florence UNQUALIFIED79Onyama Limba
1048Cody E PoquetteCanada2026-10-19Benton, John B Jr RENEWAL22Anna Fali
1049James Z CaldareraArgentina2026-10-08Feltz Printing Service UNQUALIFIED9Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Wickens L CaldareraRussiaOnyama Limba RENEWAL
Ivar H WaycottRussiaElwin Sharvill QUALIFIED
Cody F InouyeRussiaXuxue Feng UNQUALIFIED
Tony P NickaItalyIvan Magalhaes RENEWAL
Morrow B WhobreyCanadaOnyama Limba PROPOSAL
Chavez E DarakjyRussiaAnna Fali RENEWAL
James Q SergiBrazilIoni Bowcher NEGOTIATION
Adams T DoeGermanyAmy Elsner NEW
Aika O WhobreyUnited KingdomElwin Sharvill NEW
Ivar X NestleSpainIoni Bowcher RENEWAL
Leon G RulapaughBrazilAnna Fali NEW
Misaki R FollerJapanStephen Shaw QUALIFIED
Aruna C IturbideArgentinaIvan Magalhaes NEW
Jennifer W CaudyArgentinaXuxue Feng RENEWAL
Ricardo Z FigeroaSpainXuxue Feng NEGOTIATION
Silvio G ShinkoBrazilAsiya Javayant UNQUALIFIED
Juan C KuskoCanadaIoni Bowcher NEW
Stacey G SaylorsArgentinaBernardo Dominic NEGOTIATION
Juan B VocelkaItalyXuxue Feng NEW
Clifford M NestleBrazilAnna Fali UNQUALIFIED
Julie Z MaletGermanyAmy Elsner RENEWAL
Aditya J DilliardAustraliaOnyama Limba UNQUALIFIED
Greenwood L TollnerBrazilXuxue Feng NEGOTIATION
Isabel A ButtFranceIoni Bowcher PROPOSAL
Nicolas X IturbideCanadaAsiya Javayant UNQUALIFIED
Mayumi I WieserJapanOnyama Limba NEW
Aika I BriddickAustraliaAsiya Javayant QUALIFIED
Ivar Z DilliardArgentinaIoni Bowcher QUALIFIED
Smith X FlosiArgentinaAnna Fali QUALIFIED
David T KuskoAustraliaXuxue Feng QUALIFIED
Leja Z WieserSpainIvan Magalhaes NEGOTIATION
Kaitlin M ChuiGermanyAnna Fali NEW
Faith R WieserAustraliaOnyama Limba UNQUALIFIED
Misaki S GarufiItalyElwin Sharvill UNQUALIFIED
Kaitlin A GauchoAustraliaBernardo Dominic NEGOTIATION
Cody Q CampainArgentinaIoni Bowcher PROPOSAL
Wickens V CaldareraBrazilStephen Shaw PROPOSAL
Alejandro R MaletItalyAnna Fali NEW
Emily I WaycottArgentinaOnyama Limba NEW
Murillo S BologniaBrazilStephen Shaw QUALIFIED
Salvatore F WaycottIndiaAmy Elsner RENEWAL
Wickens D ChuiFranceElwin Sharvill NEGOTIATION
Deepesh Y StensethJapanIvan Magalhaes QUALIFIED
Antonio S PerinSpainIoni Bowcher NEGOTIATION
Emily W IturbideRussiaIvan Magalhaes QUALIFIED
Faith Q SergiJapanIoni Bowcher PROPOSAL
Leja A DoeUnited KingdomAsiya Javayant QUALIFIED
Ivar O VenereFranceStephen Shaw QUALIFIED
Leja G PoquetteSpainOnyama Limba NEGOTIATION
Sinclair O SergiAustraliaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Tony G Shinko
Alejandro B Whobrey
Nicolas W Shinko
Leja X Malet
Silvio B Nicka
Aditya I Ferencz
Julie V Flosi
Ashley X Paprocki
Antonio A Rulapaugh
Aruna X Caldarera
David U Rim
Sinclair M Chui
Jefferson E Poquette
Alejandro V Caldarera
Mayumi F Ferencz
Rodrigues K Garufi
Stacey I Poquette
David D Ferencz
Adams R Malet
Aruna H Bowley
Aika X Stenseth
Ashley I Ruta
Wickens F Morasca
Adams C Tollner
Alejandro Z Poquette
Tony C Chui
Kadeem X Poquette
Maria R Butt
Chavez C Albares
Stacey N Garufi
Tony T Waycott
Kadeem E Rim
Deepesh R Bolognia
David P Royster
Greenwood K Chui
James W Schemmer
Cody B Figeroa
Maisha Q Iturbide
Cody J Briddick
Antonio C Whobrey
Jones S Malet
Ashley M Flosi
Mayumi F Ferencz
Kadeem F Ferencz
Arvin B Inouye
Tony P Gaucho
Tony F Foller
Morrow R Caldarera
Jones R Malet
Maisha S Inouye
IdCountryDate
1000Japan2026-10-14
1001Brazil2026-10-29
1002Canada2026-10-02
1003Canada2026-10-13
1004Australia2026-10-17
1005Italy2026-10-18
1006Japan2026-10-11
1007Australia2026-10-05
1008Argentina2026-10-25
1009Russia2026-10-09
1010United Kingdom2026-10-04
1011Australia2026-10-27
1012Russia2026-10-24
1013Germany2026-10-28
1014United Kingdom2026-10-23
1015Italy2026-10-24
1016Argentina2026-10-15
1017Germany2026-10-19
1018Argentina2026-10-08
1019Argentina2026-10-26
1020Russia2026-10-20
1021Australia2026-10-08
1022France2026-10-15
1023Russia2026-10-27
1024Germany2026-10-01
1025Brazil2026-10-26
1026Japan2026-10-16
1027Argentina2026-10-19
1028United Kingdom2026-10-06
1029India2026-10-20
1030India2026-10-20
1031Argentina2026-10-17
1032Canada2026-10-26
1033Argentina2026-10-28
1034Germany2026-10-22
1035France2026-10-22
1036Brazil2026-10-14
1037Germany2026-10-01
1038Australia2026-10-01
1039Japan2026-10-03
1040United Kingdom2026-10-11
1041France2026-10-18
1042Argentina2026-10-13
1043India2026-10-15
1044Spain2026-10-03
1045Japan2026-10-10
1046Italy2026-10-15
1047United Kingdom2026-10-14
1048Japan2026-10-03
1049India2026-10-23

On-Demand Data

NameIdCountryDate
Jennifer W Saylors1000France2026-10-15
Johnson X Saylors1001Italy2026-10-01
Murillo K Stenseth1002France2026-10-10
Stacey C Perin1003Italy2026-10-15
Francesco K Sergi1004Australia2026-10-24
Aika Q Rim1005United Kingdom2026-10-18
Aruna H Rulapaugh1006Russia2026-10-24
Claire T Sergi1007Spain2026-10-22
Jennifer J Oldroyd1008Brazil2026-10-25
Isabel R Ferencz1009Brazil2026-10-21
Leon K Caldarera1010Australia2026-10-18
Aruna Q Briddick1011Brazil2026-10-26
Ricardo J Dilliard1012Australia2026-09-30
Octavia G Ferencz1013Germany2026-10-16
Costa A Wieser1014Italy2026-10-13
Costa D Ostrosky1015Germany2026-10-02
Darci Y Caudy1016Russia2026-10-15
Costa Q Caudy1017France2026-09-30
Mujtaba O Venere1018Argentina2026-10-23
Faith U Schemmer1019Japan2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z KolmetzRussiaElwin Sharvill NEGOTIATION
Clifford R NestleAustraliaElwin Sharvill QUALIFIED
Darci D PerinFranceAsiya Javayant UNQUALIFIED
James D MarrierArgentinaXuxue Feng NEW
Maisha B MarrierBrazilStephen Shaw NEW
Aika K PoquetteFranceAmy Elsner NEGOTIATION
Octavia D IturbideBrazilIoni Bowcher PROPOSAL
Isabel K TollnerFranceAnna Fali UNQUALIFIED
Salvatore W FlosiSpainAnna Fali NEGOTIATION
Mayumi K MacleadArgentinaXuxue Feng RENEWAL
Claire M WieserArgentinaAnna Fali RENEWAL
Jefferson C FerenczRussiaIvan Magalhaes UNQUALIFIED
Mujtaba P OldroydGermanyIoni Bowcher NEGOTIATION
Nicolas A SlusarskiBrazilStephen Shaw QUALIFIED
Kadeem D GlickUnited KingdomElwin Sharvill NEGOTIATION
Johnson E CampainRussiaXuxue Feng RENEWAL
Stacey I MarrierGermanyElwin Sharvill RENEWAL
Kaitlin Z SlusarskiItalyIvan Magalhaes NEGOTIATION
Aruna Y ShinkoJapanBernardo Dominic NEGOTIATION
Claire S OldroydCanadaAnna Fali RENEWAL
Smith V ButtIndiaXuxue Feng PROPOSAL
Jones V AlbaresJapanIvan Magalhaes NEGOTIATION
David C StockhamSpainStephen Shaw RENEWAL
Deepesh R KuskoItalyElwin Sharvill UNQUALIFIED
Francesco B FerenczItalyIvan Magalhaes UNQUALIFIED
Misaki M PoquetteGermanyAmy Elsner NEGOTIATION
Jennifer Y FigeroaSpainOnyama Limba RENEWAL
Misaki J SlusarskiFranceIoni Bowcher QUALIFIED
Smith U GauchoAustraliaAnna Fali NEW
Aika H VenereRussiaStephen Shaw QUALIFIED
Jeanfrancois E MacleadArgentinaAsiya Javayant NEGOTIATION
Murillo S KolmetzJapanBernardo Dominic NEW
Leon R SlusarskiCanadaElwin Sharvill NEGOTIATION
Mayumi N RoysterGermanyAmy Elsner RENEWAL
Mayumi V RoysterGermanyAnna Fali NEW
Munro I MarrierBrazilIvan Magalhaes NEGOTIATION
Kaitlin R OstroskySpainIvan Magalhaes NEGOTIATION
Alejandro A AlbaresIndiaXuxue Feng NEW
Ashley H NestleSpainIoni Bowcher NEW
Jefferson U RoysterBrazilBernardo Dominic PROPOSAL

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