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
Sinclair Y FollerRussiaAnna Fali NEGOTIATION
Mujtaba K FerenczGermanyIvan Magalhaes PROPOSAL
Ashley V KolmetzFranceIoni Bowcher NEGOTIATION
Costa J DoeSpainBernardo Dominic QUALIFIED
Maria K StensethUnited KingdomStephen Shaw NEW
Maisha N PoquetteGermanyBernardo Dominic NEW
Emily U MaletCanadaOnyama Limba PROPOSAL
Cody T GlickItalyXuxue Feng NEW
Ricardo Z IturbideArgentinaIoni Bowcher QUALIFIED
James P StensethUnited KingdomOnyama Limba PROPOSAL
Deepesh N AmigonGermanyAmy Elsner UNQUALIFIED
Costa V CaldareraCanadaElwin Sharvill NEW
Morrow I FerenczArgentinaStephen Shaw NEW
Jennifer I IturbideAustraliaStephen Shaw PROPOSAL
Johnson W SaylorsIndiaOnyama Limba UNQUALIFIED
Maisha U DarakjySpainAnna Fali UNQUALIFIED
Aika M CampainBrazilElwin Sharvill NEW
Alejandro D VocelkaIndiaIvan Magalhaes QUALIFIED
Isabel J SergiFranceAnna Fali PROPOSAL
Deepesh K WhobreyArgentinaBernardo Dominic RENEWAL
Adams I ShinkoGermanyElwin Sharvill NEGOTIATION
Leja T SchemmerFranceXuxue Feng RENEWAL
Wickens A ChuiSpainIoni Bowcher UNQUALIFIED
David T MorascaItalyAnna Fali UNQUALIFIED
Deepesh N ButtFranceElwin Sharvill NEGOTIATION
Misaki C ChuiJapanOnyama Limba RENEWAL
Silvio Q FollerIndiaBernardo Dominic NEGOTIATION
Faith Z AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Jefferson R OldroydItalyAnna Fali QUALIFIED
Arvin E StockhamSpainStephen Shaw PROPOSAL
Octavia V GauchoGermanyBernardo Dominic QUALIFIED
Darci O CampainItalyAnna Fali RENEWAL
Munro B SaylorsFranceIvan Magalhaes RENEWAL
Aditya K SchemmerArgentinaAnna Fali NEW
Francesco Z FollerUnited KingdomAnna Fali RENEWAL
Octavia F ShinkoJapanIvan Magalhaes NEGOTIATION
Murillo Y MorascaIndiaIoni Bowcher RENEWAL
Mayumi T MacleadUnited KingdomElwin Sharvill NEW
Sinclair I WieserArgentinaXuxue Feng UNQUALIFIED
Emily B BriddickFranceBernardo Dominic NEW
Chavez W TollnerIndiaIoni Bowcher PROPOSAL
Ashley N PerinCanadaAnna Fali RENEWAL
Mayumi I FigeroaCanadaAsiya Javayant UNQUALIFIED
Nicolas X IturbideArgentinaAnna Fali UNQUALIFIED
Salvatore Z FigeroaIndiaElwin Sharvill PROPOSAL
Clifford Y TollnerItalyStephen Shaw QUALIFIED
Antonio N CaudyUnited KingdomAsiya Javayant PROPOSAL
Johnson I TollnerGermanyIvan Magalhaes UNQUALIFIED
Costa Z GlickCanadaAmy Elsner QUALIFIED
Tony Z BologniaItalyXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Wickens P TollnerIndiaStephen Shaw UNQUALIFIED
Mayumi R KolmetzJapanElwin Sharvill NEGOTIATION
Tony S DarakjyIndiaXuxue Feng NEW
Aika S ButtUnited KingdomOnyama Limba NEW
Aruna L FollerSpainIvan Magalhaes QUALIFIED
Aika M AmigonCanadaIvan Magalhaes UNQUALIFIED
Faith L PoquetteCanadaXuxue Feng QUALIFIED
Rodrigues F GarufiUnited KingdomAsiya Javayant PROPOSAL
Francesco W GauchoItalyElwin Sharvill QUALIFIED
Faith E OstroskyUnited KingdomBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci X WieserGermany2026-11-09Chapman, Ross E Esq QUALIFIED24Ioni Bowcher
1001Misaki J GlickItaly2026-10-22Feltz Printing Service NEGOTIATION69Elwin Sharvill
1002Nicolas B MaletJapan2026-11-03Chapman, Ross E Esq QUALIFIED2Asiya Javayant
1003Smith R ChuiSpain2026-10-19Benton, John B Jr RENEWAL58Onyama Limba
1004Arvin N ChuiIndia2026-10-26Commercial Press QUALIFIED32Bernardo Dominic
1005Maria C PoquetteUnited Kingdom2026-10-19Feiner Bros NEGOTIATION71Onyama Limba
1006Octavia O DilliardItaly2026-10-21Dorl, James J Esq QUALIFIED31Elwin Sharvill
1007Emily H IturbideJapan2026-10-12Feltz Printing Service NEGOTIATION63Amy Elsner
1008Jeanfrancois J AmigonCanada2026-10-17Rousseaux, Michael Esq NEW77Onyama Limba
1009Rodrigues E GlickArgentina2026-11-07Morlong Associates NEW57Ioni Bowcher
1010Tony N CampainRussia2026-10-15Feiner Bros QUALIFIED21Ivan Magalhaes
1011Jefferson B KuskoGermany2026-10-27Dorl, James J Esq NEGOTIATION46Stephen Shaw
1012Claire L OldroydItaly2026-10-27Printing Dimensions RENEWAL56Asiya Javayant
1013Cody F FollerCanada2026-11-04King, Christopher A Esq RENEWAL96Elwin Sharvill
1014Jeanfrancois E WaycottAustralia2026-11-08Printing Dimensions RENEWAL97Asiya Javayant
1015Silvio T BologniaCanada2026-10-21Buckley Miller Wright NEGOTIATION69Stephen Shaw
1016Salvatore P VocelkaRussia2026-11-07King, Christopher A Esq PROPOSAL69Xuxue Feng
1017Morrow Y AlbaresBrazil2026-11-03Morlong Associates PROPOSAL16Amy Elsner
1018Izzy N MaletItaly2026-10-22Chemel, James L Cpa NEGOTIATION19Anna Fali
1019Ricardo L RimRussia2026-10-11Dorl, James J Esq QUALIFIED37Amy Elsner
1020Sinclair Y TollnerRussia2026-10-13Morlong Associates QUALIFIED76Asiya Javayant
1021Ricardo V NickaUnited Kingdom2026-10-16Commercial Press NEGOTIATION69Elwin Sharvill
1022Aika K PoquetteRussia2026-11-01Rangoni Of Florence NEW33Asiya Javayant
1023Octavia C NickaSpain2026-11-09Chapman, Ross E Esq NEW84Asiya Javayant
1024Leon M SlusarskiGermany2026-10-20Feltz Printing Service PROPOSAL78Ioni Bowcher
1025Francesco S WaycottIndia2026-10-25Feiner Bros NEW12Xuxue Feng
1026Nicolas E DarakjySpain2026-10-22Feiner Bros QUALIFIED86Onyama Limba
1027Octavia M VenereGermany2026-10-12Feltz Printing Service NEGOTIATION1Stephen Shaw
1028Rodrigues K PerinCanada2026-10-28Feiner Bros NEW60Onyama Limba
1029Isabel P ButtSpain2026-10-21Commercial Press NEGOTIATION63Onyama Limba
1030Darci F ChuiIndia2026-10-21Chemel, James L Cpa NEW0Amy Elsner
1031Leon S MorascaFrance2026-11-09Morlong Associates PROPOSAL25Asiya Javayant
1032Izzy E MorascaUnited Kingdom2026-10-15Rousseaux, Michael Esq NEW72Elwin Sharvill
1033Mayumi Y NestleItaly2026-10-29Chanay, Jeffrey A Esq UNQUALIFIED89Bernardo Dominic
1034Cody H InouyeRussia2026-10-24Printing Dimensions PROPOSAL1Ioni Bowcher
1035Mayumi Z NestleBrazil2026-11-04Rangoni Of Florence NEGOTIATION32Asiya Javayant
1036Cody Z AlbaresAustralia2026-11-03Feiner Bros QUALIFIED89Asiya Javayant
1037Ivar D AmigonSpain2026-10-13Feltz Printing Service NEGOTIATION24Bernardo Dominic
1038Aika B PaprockiUnited Kingdom2026-10-15Feiner Bros UNQUALIFIED47Xuxue Feng
1039Johnson N SlusarskiSpain2026-10-24Feltz Printing Service QUALIFIED8Elwin Sharvill
1040Nicolas R ButtRussia2026-10-27Chanay, Jeffrey A Esq UNQUALIFIED59Amy Elsner
1041Murillo J PerinJapan2026-11-04Truhlar And Truhlar Attys PROPOSAL42Xuxue Feng
1042Wickens C GillianAustralia2026-10-26King, Christopher A Esq RENEWAL56Ioni Bowcher
1043James K FigeroaBrazil2026-11-08Buckley Miller Wright UNQUALIFIED82Ivan Magalhaes
1044Emily G BriddickFrance2026-11-05Printing Dimensions UNQUALIFIED31Onyama Limba
1045Jeanfrancois L DoeAustralia2026-11-04Chanay, Jeffrey A Esq PROPOSAL31Onyama Limba
1046Adams L NickaRussia2026-10-18Chemel, James L Cpa UNQUALIFIED3Anna Fali
1047Sinclair H SchemmerSpain2026-11-06Truhlar And Truhlar Attys RENEWAL4Stephen Shaw
1048Sinclair C DarakjyFrance2026-11-09Buckley Miller Wright NEW2Stephen Shaw
1049Maria S ButtGermany2026-10-11Dorl, James J Esq QUALIFIED34Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci Y InouyeIndiaStephen Shaw NEGOTIATION
Jeanfrancois U FollerAustraliaStephen Shaw NEW
Jeanfrancois C GlickGermanyAsiya Javayant QUALIFIED
Julie B KuskoItalyIvan Magalhaes PROPOSAL
Tony T FigeroaUnited KingdomAnna Fali NEGOTIATION
Morrow D BologniaGermanyStephen Shaw QUALIFIED
Sinclair F MaletJapanXuxue Feng NEW
Ashley V OstroskyCanadaIoni Bowcher RENEWAL
Ashley K SchemmerCanadaIoni Bowcher QUALIFIED
Jeanfrancois C DarakjyGermanyElwin Sharvill RENEWAL
Clifford E DoeIndiaBernardo Dominic UNQUALIFIED
Salvatore C RimUnited KingdomAmy Elsner QUALIFIED
Tony C WhobreySpainAnna Fali NEGOTIATION
Costa W IturbideSpainXuxue Feng NEGOTIATION
Aruna C MarrierJapanOnyama Limba NEW
Maria A DoeJapanStephen Shaw NEGOTIATION
Octavia B FigeroaFranceIoni Bowcher QUALIFIED
Rodrigues E WaycottJapanIvan Magalhaes NEW
Claire O FlosiGermanyStephen Shaw QUALIFIED
Nicolas O GlickItalyBernardo Dominic RENEWAL
Emily R FollerBrazilOnyama Limba NEW
Tony X StensethCanadaXuxue Feng QUALIFIED
Isabel X PerinRussiaStephen Shaw QUALIFIED
Emily V VenereSpainElwin Sharvill RENEWAL
Aruna A InouyeCanadaIoni Bowcher NEGOTIATION
Aruna Q FerenczAustraliaOnyama Limba UNQUALIFIED
Julie E DoeSpainIoni Bowcher QUALIFIED
Costa D SaylorsGermanyStephen Shaw RENEWAL
Silvio C AmigonUnited KingdomXuxue Feng RENEWAL
Claire Q WieserRussiaIoni Bowcher UNQUALIFIED
Nicolas Y GauchoRussiaStephen Shaw PROPOSAL
Maria R WhobreyCanadaAmy Elsner NEW
James V CampainFranceAmy Elsner NEGOTIATION
Nicolas K AlbaresAustraliaXuxue Feng NEGOTIATION
Kadeem T VenereSpainXuxue Feng NEW
Misaki R AmigonBrazilAnna Fali RENEWAL
Jennifer C ChuiIndiaBernardo Dominic UNQUALIFIED
Aruna Q CaudyRussiaIvan Magalhaes QUALIFIED
Izzy C SergiJapanXuxue Feng RENEWAL
Aditya O SchemmerJapanOnyama Limba NEW
Arvin H KolmetzArgentinaAnna Fali QUALIFIED
Silvio L PoquetteSpainBernardo Dominic PROPOSAL
Maisha Y GlickUnited KingdomElwin Sharvill NEW
Ivar N InouyeIndiaIvan Magalhaes QUALIFIED
Emily E ButtItalyAsiya Javayant QUALIFIED
Jeanfrancois P PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Jefferson V MorascaUnited KingdomXuxue Feng NEW
Wickens B DoeBrazilOnyama Limba NEW
Greenwood T OstroskyIndiaXuxue Feng QUALIFIED
Ivar H FigeroaRussiaAmy Elsner NEW
Frozen Columns
Name
Adams W Nestle
Emily X Kolmetz
Ashley N Caldarera
Maria L Morasca
Ricardo D Ostrosky
Antonio O Glick
Leja H Albares
Rodrigues V Venere
Kaitlin D Figeroa
Izzy C Malet
Johnson L Nestle
Stacey Z Darakjy
Octavia F Campain
Munro L Poquette
Maria X Nestle
Mujtaba D Gillian
Aika S Glick
Arvin O Darakjy
Darci T Oldroyd
Francesco G Sergi
Aika N Whobrey
Faith B Gillian
Emily H Tollner
Silvio C Gaucho
Emily M Gaucho
Antonio L Gaucho
Stacey O Whobrey
James R Rim
Salvatore V Amigon
Costa W Kolmetz
Emily D Amigon
Alejandro V Butt
Misaki Q Royster
Ivar R Bolognia
Julie U Glick
Misaki F Kolmetz
Jones U Tollner
Misaki S Slusarski
Juan W Bowley
Faith S Ferencz
Arvin N Albares
Mujtaba D Ostrosky
Leja K Oldroyd
Juan F Amigon
Mujtaba T Flosi
Emily M Caldarera
Sinclair V Kusko
Deepesh R Tollner
Greenwood S Dilliard
Kadeem V Wieser
IdCountryDate
1000India2026-10-14
1001Australia2026-10-30
1002Argentina2026-10-12
1003Japan2026-11-07
1004Australia2026-10-11
1005France2026-10-31
1006Canada2026-11-03
1007France2026-10-22
1008Argentina2026-11-09
1009Russia2026-10-26
1010Brazil2026-11-02
1011Italy2026-10-14
1012United Kingdom2026-10-26
1013India2026-10-17
1014Argentina2026-11-06
1015India2026-10-21
1016Australia2026-10-16
1017Japan2026-11-06
1018Russia2026-10-21
1019Canada2026-10-27
1020Argentina2026-10-24
1021India2026-10-17
1022India2026-10-12
1023United Kingdom2026-10-20
1024Canada2026-10-20
1025Russia2026-10-13
1026India2026-10-14
1027United Kingdom2026-10-28
1028Italy2026-11-09
1029Brazil2026-10-15
1030Canada2026-11-09
1031Italy2026-11-08
1032India2026-10-28
1033Italy2026-11-08
1034United Kingdom2026-10-21
1035United Kingdom2026-10-30
1036Russia2026-11-09
1037Spain2026-11-07
1038India2026-11-06
1039Canada2026-10-27
1040Canada2026-10-19
1041Germany2026-10-25
1042Australia2026-10-17
1043Japan2026-10-20
1044Argentina2026-10-26
1045Italy2026-11-06
1046Japan2026-11-09
1047United Kingdom2026-10-31
1048Italy2026-10-11
1049Brazil2026-10-24

On-Demand Data

NameIdCountryDate
Wickens E Venere1000Russia2026-10-23
Munro A Garufi1001Canada2026-10-23
Nicolas W Poquette1002Argentina2026-11-01
Chavez R Garufi1003Spain2026-10-14
Cody U Saylors1004Canada2026-11-04
Kaitlin H Morasca1005Russia2026-10-13
Nicolas P Iturbide1006Canada2026-11-09
Darci Q Wieser1007Germany2026-11-07
Cody I Stockham1008Italy2026-10-14
Sinclair L Ferencz1009United Kingdom2026-11-01
Julie J Caldarera1010Brazil2026-11-08
Cody S Rulapaugh1011Spain2026-10-13
Murillo P Gaucho1012United Kingdom2026-10-31
Greenwood D Vocelka1013Argentina2026-10-20
Alejandro D Dilliard1014Spain2026-11-05
Munro H Maclead1015Argentina2026-10-23
Claire I Doe1016Argentina2026-10-14
Juan Y Bowley1017Japan2026-11-09
Maisha T Kolmetz1018United Kingdom2026-11-08
Ricardo R Morasca1019Italy2026-11-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci U MorascaRussiaOnyama Limba UNQUALIFIED
Kadeem X MacleadAustraliaAnna Fali PROPOSAL
James D FigeroaIndiaOnyama Limba UNQUALIFIED
Ricardo L StockhamBrazilXuxue Feng RENEWAL
Jeanfrancois H PaprockiSpainStephen Shaw QUALIFIED
Faith V FigeroaSpainOnyama Limba RENEWAL
Emily P StockhamGermanyElwin Sharvill UNQUALIFIED
Morrow N SaylorsItalyBernardo Dominic RENEWAL
Emily N MorascaCanadaStephen Shaw PROPOSAL
Antonio A ShinkoUnited KingdomIoni Bowcher RENEWAL
Costa R KolmetzGermanyIvan Magalhaes NEGOTIATION
Mayumi T MorascaRussiaAmy Elsner QUALIFIED
Greenwood V InouyeFranceStephen Shaw NEW
Mujtaba Y SchemmerAustraliaAmy Elsner NEW
Izzy V RoysterItalyIoni Bowcher QUALIFIED
Wickens V PaprockiRussiaXuxue Feng QUALIFIED
Aruna K MarrierGermanyOnyama Limba PROPOSAL
Aika F DilliardSpainOnyama Limba UNQUALIFIED
Maria N WaycottBrazilOnyama Limba QUALIFIED
Cody K ChuiCanadaBernardo Dominic UNQUALIFIED
Costa M KolmetzArgentinaBernardo Dominic UNQUALIFIED
Misaki P NestleAustraliaBernardo Dominic QUALIFIED
Clifford D GauchoGermanyOnyama Limba PROPOSAL
Munro P SaylorsGermanyBernardo Dominic QUALIFIED
Leon I BologniaGermanyIvan Magalhaes NEW
Aruna I MarrierSpainXuxue Feng QUALIFIED
Sinclair L NickaGermanyIvan Magalhaes QUALIFIED
Jeanfrancois B CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy R StockhamJapanIvan Magalhaes QUALIFIED
Alejandro N ButtJapanIvan Magalhaes RENEWAL
Johnson D InouyeFranceIvan Magalhaes QUALIFIED
Maisha N MarrierFranceIvan Magalhaes UNQUALIFIED
Jennifer P StockhamFranceAsiya Javayant PROPOSAL
Juan T RoysterItalyAmy Elsner RENEWAL
Leja P BriddickGermanyAmy Elsner PROPOSAL
Darci W MorascaBrazilIvan Magalhaes QUALIFIED
Faith Q AlbaresItalyAnna Fali QUALIFIED
Aruna M RulapaughIndiaOnyama Limba PROPOSAL
Ricardo G StockhamGermanyOnyama Limba NEW
Jennifer M ButtJapanXuxue 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>