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
Salvatore Q MorascaRussiaOnyama Limba UNQUALIFIED
Sinclair F NestleCanadaXuxue Feng UNQUALIFIED
Isabel Q MaletBrazilElwin Sharvill QUALIFIED
Murillo U MaletSpainAnna Fali NEW
Kadeem R AlbaresBrazilAnna Fali QUALIFIED
Leja S BowleyBrazilIvan Magalhaes NEGOTIATION
Alejandro F RoysterGermanyAnna Fali UNQUALIFIED
Costa J SergiSpainAsiya Javayant UNQUALIFIED
Aruna W SergiSpainAsiya Javayant RENEWAL
Rodrigues D MaletUnited KingdomStephen Shaw NEW
Jefferson H SlusarskiFranceBernardo Dominic NEGOTIATION
Leja N RutaAustraliaOnyama Limba NEGOTIATION
Kaitlin X CaldareraFranceOnyama Limba PROPOSAL
Silvio O NickaArgentinaElwin Sharvill UNQUALIFIED
Greenwood K StensethRussiaBernardo Dominic QUALIFIED
Chavez D FollerArgentinaStephen Shaw PROPOSAL
Murillo Z VenereSpainOnyama Limba NEW
Ricardo U ButtFranceElwin Sharvill QUALIFIED
David R DilliardAustraliaIvan Magalhaes PROPOSAL
Maisha K RimArgentinaAsiya Javayant PROPOSAL
Juan I SergiBrazilElwin Sharvill UNQUALIFIED
Mayumi L BriddickArgentinaAsiya Javayant QUALIFIED
Leon P GarufiIndiaBernardo Dominic NEW
Silvio P MaletSpainStephen Shaw NEGOTIATION
Kaitlin M BologniaJapanBernardo Dominic NEW
Ivar L RutaAustraliaIoni Bowcher NEGOTIATION
Smith O FigeroaFranceStephen Shaw PROPOSAL
Greenwood F SergiCanadaAnna Fali RENEWAL
Darci Z MarrierCanadaAsiya Javayant PROPOSAL
Isabel H MaletIndiaOnyama Limba UNQUALIFIED
Chavez N OldroydSpainOnyama Limba NEW
Misaki T FlosiRussiaXuxue Feng PROPOSAL
Sinclair U WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Maisha N MaletIndiaStephen Shaw RENEWAL
Darci H StockhamJapanAnna Fali NEGOTIATION
Murillo E KuskoIndiaAsiya Javayant RENEWAL
Kadeem H SchemmerUnited KingdomXuxue Feng PROPOSAL
Izzy D ButtIndiaXuxue Feng QUALIFIED
Murillo V ChuiBrazilAmy Elsner QUALIFIED
Maria A IturbideFranceAsiya Javayant UNQUALIFIED
James C OldroydFranceAsiya Javayant PROPOSAL
Izzy Z AlbaresItalyIvan Magalhaes QUALIFIED
Wickens N MarrierIndiaAmy Elsner PROPOSAL
Ivar R WhobreyAustraliaElwin Sharvill NEW
Maisha M FlosiAustraliaAsiya Javayant PROPOSAL
Aditya N KuskoGermanyElwin Sharvill NEW
Silvio A KolmetzRussiaIoni Bowcher RENEWAL
Octavia X WhobreyJapanBernardo Dominic NEW
Silvio C NickaRussiaOnyama Limba RENEWAL
Leja T PoquetteFranceOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues C FollerBrazilAsiya Javayant NEGOTIATION
Johnson G FlosiSpainIvan Magalhaes NEW
Munro N KolmetzBrazilAnna Fali NEGOTIATION
Aika F GillianFranceBernardo Dominic NEGOTIATION
Alejandro N NickaRussiaElwin Sharvill PROPOSAL
Leon Z MaletUnited KingdomStephen Shaw NEW
Jefferson C InouyeJapanElwin Sharvill PROPOSAL
Smith P ChuiSpainXuxue Feng NEW
Clifford Q WhobreyBrazilIvan Magalhaes UNQUALIFIED
Adams E BowleyJapanStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi H TollnerCanada2026-09-14Morlong Associates RENEWAL4Elwin Sharvill
1001Greenwood P RimIndia2026-09-04Rousseaux, Michael Esq RENEWAL91Onyama Limba
1002Tony J GarufiArgentina2026-08-22Feiner Bros NEGOTIATION63Stephen Shaw
1003Jeanfrancois W KolmetzSpain2026-09-02Chanay, Jeffrey A Esq UNQUALIFIED42Bernardo Dominic
1004Maria L WhobreyRussia2026-09-12Rangoni Of Florence NEW61Asiya Javayant
1005Clifford L PerinBrazil2026-09-19Truhlar And Truhlar Attys NEW66Xuxue Feng
1006Rodrigues P SaylorsRussia2026-09-08Chapman, Ross E Esq QUALIFIED11Amy Elsner
1007Jefferson N WieserCanada2026-09-06Rangoni Of Florence QUALIFIED84Amy Elsner
1008Mayumi Y WieserIndia2026-09-13Buckley Miller Wright QUALIFIED36Xuxue Feng
1009James W RulapaughRussia2026-09-01Rousseaux, Michael Esq NEGOTIATION36Elwin Sharvill
1010Ricardo Y OldroydSpain2026-08-22Commercial Press NEW76Ivan Magalhaes
1011Silvio E RulapaughItaly2026-08-30Buckley Miller Wright NEW25Ivan Magalhaes
1012Leon I DoeSpain2026-08-27Dorl, James J Esq PROPOSAL74Asiya Javayant
1013Darci V TollnerSpain2026-09-05Printing Dimensions PROPOSAL50Stephen Shaw
1014Deepesh Z MorascaJapan2026-09-09Chapman, Ross E Esq NEGOTIATION96Stephen Shaw
1015Leja B NickaItaly2026-09-05Buckley Miller Wright RENEWAL60Xuxue Feng
1016Rodrigues O RutaSpain2026-08-27King, Christopher A Esq QUALIFIED1Xuxue Feng
1017Isabel W FollerCanada2026-09-15Feiner Bros NEW93Amy Elsner
1018Salvatore A OldroydJapan2026-09-03Morlong Associates PROPOSAL52Ioni Bowcher
1019Aruna S AlbaresFrance2026-09-14Printing Dimensions RENEWAL80Elwin Sharvill
1020Adams W KuskoCanada2026-09-16Morlong Associates PROPOSAL97Elwin Sharvill
1021David O AlbaresRussia2026-08-22Morlong Associates UNQUALIFIED37Stephen Shaw
1022Francesco I WaycottRussia2026-09-17Rangoni Of Florence NEW21Ioni Bowcher
1023Murillo T CampainJapan2026-09-01Printing Dimensions UNQUALIFIED79Amy Elsner
1024Alejandro M RutaJapan2026-08-22King, Christopher A Esq RENEWAL35Xuxue Feng
1025Rodrigues X PoquetteAustralia2026-08-24Feltz Printing Service QUALIFIED49Stephen Shaw
1026Ivar H MacleadArgentina2026-09-05Printing Dimensions UNQUALIFIED46Bernardo Dominic
1027Nicolas B StockhamRussia2026-09-12Truhlar And Truhlar Attys NEGOTIATION90Bernardo Dominic
1028Octavia F RutaBrazil2026-08-22Rangoni Of Florence NEW80Ioni Bowcher
1029Smith A DilliardGermany2026-09-05Chemel, James L Cpa PROPOSAL93Ivan Magalhaes
1030Antonio G BologniaArgentina2026-09-13Rangoni Of Florence PROPOSAL96Elwin Sharvill
1031Faith L PerinRussia2026-09-09Chemel, James L Cpa NEGOTIATION90Ioni Bowcher
1032Kaitlin Z FerenczItaly2026-09-14Chemel, James L Cpa QUALIFIED50Anna Fali
1033Aika P FigeroaItaly2026-08-24Chapman, Ross E Esq QUALIFIED79Stephen Shaw
1034Mujtaba P AmigonSpain2026-09-09Rangoni Of Florence RENEWAL73Stephen Shaw
1035Aruna D VocelkaUnited Kingdom2026-08-24Feltz Printing Service QUALIFIED12Onyama Limba
1036Leja D SaylorsGermany2026-09-10Truhlar And Truhlar Attys NEGOTIATION15Bernardo Dominic
1037Kadeem E MorascaJapan2026-08-22Rangoni Of Florence NEGOTIATION53Bernardo Dominic
1038James B DilliardRussia2026-09-06Rousseaux, Michael Esq QUALIFIED10Elwin Sharvill
1039Ashley R OldroydJapan2026-09-02Printing Dimensions NEW98Xuxue Feng
1040Rodrigues Q StensethArgentina2026-09-13Printing Dimensions QUALIFIED26Onyama Limba
1041Silvio M CaldareraRussia2026-09-15Printing Dimensions UNQUALIFIED62Stephen Shaw
1042Maria O NestleRussia2026-09-12Benton, John B Jr QUALIFIED75Onyama Limba
1043Murillo N ButtBrazil2026-09-16Chemel, James L Cpa NEGOTIATION91Onyama Limba
1044Antonio A SergiRussia2026-09-18Dorl, James J Esq RENEWAL18Xuxue Feng
1045Rodrigues A InouyeSpain2026-08-27Chemel, James L Cpa QUALIFIED24Stephen Shaw
1046Sinclair X StockhamJapan2026-08-25Chapman, Ross E Esq QUALIFIED63Onyama Limba
1047Murillo S OldroydRussia2026-09-13King, Christopher A Esq QUALIFIED97Stephen Shaw
1048Wickens O MorascaRussia2026-09-04Chanay, Jeffrey A Esq QUALIFIED95Bernardo Dominic
1049Greenwood G ChuiArgentina2026-09-12Feltz Printing Service UNQUALIFIED87Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Isabel L FigeroaIndiaAsiya Javayant NEW
Izzy O StockhamSpainOnyama Limba QUALIFIED
Misaki D GauchoIndiaXuxue Feng NEW
Salvatore L WieserGermanyIoni Bowcher NEGOTIATION
Clifford O PerinBrazilXuxue Feng NEW
Greenwood V GarufiArgentinaElwin Sharvill NEGOTIATION
Aruna K PaprockiUnited KingdomAnna Fali RENEWAL
Costa W AmigonIndiaXuxue Feng QUALIFIED
Alejandro V CaudyArgentinaIoni Bowcher NEGOTIATION
Sinclair U WieserUnited KingdomAnna Fali NEW
Wickens N RutaArgentinaBernardo Dominic PROPOSAL
Cody A KolmetzCanadaAmy Elsner NEGOTIATION
Jeanfrancois K KolmetzAustraliaAmy Elsner UNQUALIFIED
Ricardo Q RutaItalyIoni Bowcher QUALIFIED
Antonio P GauchoUnited KingdomAmy Elsner QUALIFIED
Ashley N InouyeGermanyIvan Magalhaes UNQUALIFIED
Munro K SlusarskiItalyBernardo Dominic RENEWAL
Arvin K KolmetzGermanyOnyama Limba NEW
Salvatore N GauchoItalyIoni Bowcher UNQUALIFIED
Greenwood W RimRussiaBernardo Dominic RENEWAL
James Z DarakjyAustraliaElwin Sharvill QUALIFIED
Munro O AlbaresGermanyIoni Bowcher UNQUALIFIED
Salvatore P CaudyArgentinaAnna Fali NEGOTIATION
Mayumi X DilliardArgentinaXuxue Feng RENEWAL
Sinclair I BriddickIndiaAsiya Javayant NEGOTIATION
Munro I ChuiRussiaStephen Shaw RENEWAL
Darci C ShinkoItalyAmy Elsner NEW
Leon D TollnerSpainElwin Sharvill NEGOTIATION
Maria G FlosiJapanXuxue Feng UNQUALIFIED
Salvatore R KuskoGermanyAsiya Javayant RENEWAL
Stacey L MacleadJapanOnyama Limba UNQUALIFIED
Misaki X StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Arvin Q MaletGermanyElwin Sharvill UNQUALIFIED
Darci T ShinkoItalyAnna Fali UNQUALIFIED
David R BologniaGermanyOnyama Limba PROPOSAL
Maria I FigeroaGermanyOnyama Limba NEW
Mujtaba W GillianCanadaIoni Bowcher NEW
Izzy J BologniaAustraliaStephen Shaw PROPOSAL
Chavez E FollerAustraliaStephen Shaw NEW
Smith I FerenczCanadaStephen Shaw PROPOSAL
Stacey C RutaJapanIvan Magalhaes NEW
Kaitlin W FerenczCanadaAnna Fali UNQUALIFIED
Darci A FigeroaUnited KingdomIvan Magalhaes NEW
Cody U ButtUnited KingdomAsiya Javayant UNQUALIFIED
Faith X GillianIndiaAmy Elsner RENEWAL
Juan V GauchoRussiaXuxue Feng NEW
Sinclair E CaldareraFranceAmy Elsner UNQUALIFIED
Nicolas V MaletAustraliaOnyama Limba RENEWAL
Faith Q NestleCanadaAsiya Javayant PROPOSAL
Deepesh U AlbaresBrazilXuxue Feng RENEWAL
Frozen Columns
Name
Johnson I Perin
Isabel V Waycott
Clifford F Venere
Nicolas V Stenseth
Darci L Albares
Antonio Z Caudy
Greenwood K Morasca
Murillo W Garufi
Chavez P Flosi
Mujtaba Y Tollner
Misaki Q Bowley
Maisha X Slusarski
Ricardo Z Paprocki
Aruna X Doe
David A Poquette
Faith F Saylors
Maisha I Morasca
Salvatore E Gaucho
Misaki S Wieser
Arvin Z Figeroa
Adams S Figeroa
Greenwood O Inouye
Greenwood G Waycott
Aditya B Wieser
Wickens J Flosi
Kaitlin E Saylors
Leja I Shinko
Arvin Z Briddick
Sinclair E Flosi
David Z Whobrey
Munro N Figeroa
James Z Kolmetz
James B Doe
Tony J Maclead
Nicolas V Nestle
Leja U Waycott
Mayumi L Briddick
Aruna K Ostrosky
Julie U Butt
Ricardo N Perin
Munro M Ruta
Deepesh N Ferencz
Adams F Bolognia
Darci K Gaucho
Jeanfrancois H Caldarera
Kadeem V Malet
Leon J Schemmer
Cody Y Slusarski
Aruna Q Maclead
Arvin F Chui
IdCountryDate
1000Brazil2026-09-03
1001Brazil2026-08-22
1002Spain2026-08-29
1003Russia2026-08-28
1004Spain2026-09-09
1005Brazil2026-09-12
1006Argentina2026-08-29
1007Spain2026-08-27
1008United Kingdom2026-09-04
1009United Kingdom2026-09-02
1010Italy2026-08-25
1011Spain2026-09-08
1012France2026-08-24
1013India2026-08-31
1014Germany2026-08-22
1015Spain2026-09-18
1016France2026-08-29
1017France2026-09-01
1018Spain2026-08-29
1019Argentina2026-08-24
1020Argentina2026-08-27
1021India2026-08-25
1022Japan2026-09-07
1023Germany2026-09-02
1024Spain2026-09-19
1025Australia2026-09-20
1026Germany2026-08-29
1027France2026-08-31
1028Germany2026-09-07
1029Australia2026-08-28
1030Australia2026-09-10
1031Brazil2026-08-22
1032Brazil2026-09-16
1033Germany2026-09-01
1034Australia2026-09-15
1035India2026-09-18
1036Russia2026-09-17
1037Japan2026-09-08
1038Canada2026-09-18
1039Brazil2026-08-24
1040Australia2026-08-27
1041Australia2026-09-16
1042Argentina2026-08-23
1043Canada2026-09-13
1044Italy2026-08-26
1045Germany2026-09-07
1046Germany2026-08-25
1047Argentina2026-09-09
1048Russia2026-08-26
1049Italy2026-09-17

On-Demand Data

NameIdCountryDate
Leja L Royster1000Germany2026-08-31
Jeanfrancois X Figeroa1001United Kingdom2026-08-28
Jennifer E Iturbide1002Argentina2026-08-31
Antonio E Whobrey1003Russia2026-08-30
Smith K Iturbide1004Australia2026-09-05
Aruna A Darakjy1005France2026-09-13
Francesco E Morasca1006Brazil2026-08-25
Murillo X Rim1007Spain2026-09-16
Claire D Venere1008Germany2026-09-06
Maisha J Nicka1009Argentina2026-09-16
David Z Doe1010United Kingdom2026-08-24
Morrow S Bolognia1011Germany2026-09-13
Maisha X Venere1012Italy2026-09-07
Jeanfrancois Y Inouye1013United Kingdom2026-09-08
Silvio A Shinko1014Australia2026-08-29
Ricardo N Inouye1015Australia2026-09-09
Izzy S Briddick1016Spain2026-09-09
Smith I Stenseth1017Australia2026-08-31
Kadeem F Campain1018Argentina2026-09-16
Darci N Inouye1019Canada2026-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Y IturbideFranceStephen Shaw UNQUALIFIED
Greenwood G CampainFranceOnyama Limba NEW
Munro I SergiUnited KingdomIvan Magalhaes NEGOTIATION
Adams N RutaAustraliaAsiya Javayant QUALIFIED
Jones K GauchoFranceIvan Magalhaes NEGOTIATION
Jeanfrancois W VenereJapanXuxue Feng UNQUALIFIED
Mujtaba C GlickBrazilIoni Bowcher RENEWAL
Emily T GarufiJapanIoni Bowcher UNQUALIFIED
Octavia M KuskoCanadaAmy Elsner NEW
Ashley M MorascaRussiaElwin Sharvill QUALIFIED
Tony C AlbaresIndiaStephen Shaw QUALIFIED
David U OldroydGermanyAmy Elsner PROPOSAL
Jones T SlusarskiIndiaElwin Sharvill QUALIFIED
Stacey R RimFranceOnyama Limba RENEWAL
Maisha O MarrierSpainXuxue Feng PROPOSAL
Mayumi W MaletItalyIvan Magalhaes QUALIFIED
Antonio W MacleadFranceAmy Elsner QUALIFIED
Morrow C InouyeRussiaIvan Magalhaes RENEWAL
Smith W GillianIndiaStephen Shaw QUALIFIED
Cody E GillianJapanAmy Elsner UNQUALIFIED
Clifford G WhobreyGermanyOnyama Limba PROPOSAL
Mayumi F BologniaAustraliaAnna Fali QUALIFIED
Leja Y RulapaughGermanyAmy Elsner PROPOSAL
Tony D ChuiRussiaElwin Sharvill NEGOTIATION
Clifford K FerenczCanadaAnna Fali NEW
Adams S InouyeItalyStephen Shaw PROPOSAL
Ashley O VenereFranceStephen Shaw NEGOTIATION
Clifford K BriddickCanadaAsiya Javayant PROPOSAL
Mujtaba K RimJapanIoni Bowcher PROPOSAL
Julie C StensethUnited KingdomElwin Sharvill NEGOTIATION
Murillo E RoysterSpainAsiya Javayant RENEWAL
Mayumi D ChuiJapanElwin Sharvill QUALIFIED
Salvatore O SaylorsAustraliaXuxue Feng NEGOTIATION
Mujtaba X AmigonRussiaIvan Magalhaes NEGOTIATION
Claire X DoeItalyIvan Magalhaes UNQUALIFIED
Juan S MacleadUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois D SchemmerIndiaBernardo Dominic NEW
Leja M NestleIndiaBernardo Dominic PROPOSAL
Wickens Z MarrierJapanIoni Bowcher PROPOSAL
Costa S RoysterIndiaOnyama 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>