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
Kadeem H BologniaSpainIoni Bowcher NEGOTIATION
Emily N AmigonIndiaAsiya Javayant RENEWAL
Jones M ChuiArgentinaIoni Bowcher NEW
Antonio Z BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki T FlosiRussiaAmy Elsner UNQUALIFIED
Jones V SergiRussiaIoni Bowcher RENEWAL
Juan W GillianAustraliaBernardo Dominic RENEWAL
Antonio R CaldareraAustraliaAmy Elsner NEW
Sinclair L BowleyArgentinaStephen Shaw NEW
Maisha B PoquetteGermanyElwin Sharvill QUALIFIED
Maria H BologniaGermanyAnna Fali NEW
Cody J RoysterItalyAsiya Javayant PROPOSAL
Stacey R MacleadUnited KingdomAmy Elsner NEGOTIATION
Clifford G PerinGermanyAmy Elsner NEW
Alejandro H FollerGermanyAsiya Javayant QUALIFIED
Cody I FlosiGermanyAmy Elsner RENEWAL
Juan H RulapaughFranceIoni Bowcher PROPOSAL
Cody U OstroskyCanadaBernardo Dominic PROPOSAL
Faith U MaletSpainOnyama Limba NEGOTIATION
Darci E AmigonItalyOnyama Limba QUALIFIED
James W FerenczItalyIoni Bowcher PROPOSAL
Aika L BowleyUnited KingdomOnyama Limba QUALIFIED
Jefferson B OldroydGermanyIoni Bowcher QUALIFIED
Antonio W VocelkaSpainIoni Bowcher QUALIFIED
Murillo D GauchoJapanElwin Sharvill UNQUALIFIED
Wickens E MorascaIndiaXuxue Feng RENEWAL
Ashley H StockhamJapanBernardo Dominic QUALIFIED
Francesco X FollerFranceStephen Shaw PROPOSAL
James P PaprockiGermanyOnyama Limba UNQUALIFIED
Greenwood L FerenczSpainXuxue Feng QUALIFIED
Cody R GlickArgentinaIvan Magalhaes RENEWAL
Stacey K DoeRussiaAnna Fali NEGOTIATION
Morrow B NestleUnited KingdomStephen Shaw UNQUALIFIED
Misaki R SlusarskiAustraliaAmy Elsner UNQUALIFIED
Aruna Z WaycottAustraliaIoni Bowcher PROPOSAL
Silvio V ButtBrazilElwin Sharvill RENEWAL
Nicolas D GillianRussiaIvan Magalhaes RENEWAL
Morrow W PerinRussiaAnna Fali NEW
Juan U StensethFranceAnna Fali PROPOSAL
Isabel D PerinRussiaBernardo Dominic PROPOSAL
Clifford W WhobreyRussiaIoni Bowcher QUALIFIED
Rodrigues J AlbaresSpainXuxue Feng UNQUALIFIED
Aika A OstroskyRussiaAnna Fali PROPOSAL
Leon S GarufiJapanIoni Bowcher NEW
Jones R FigeroaUnited KingdomXuxue Feng NEW
Izzy E DoeItalyOnyama Limba NEGOTIATION
Aika Q CaudyAustraliaBernardo Dominic NEW
Izzy W OstroskyGermanyAmy Elsner NEGOTIATION
Jefferson H CaldareraUnited KingdomXuxue Feng QUALIFIED
Clifford R OldroydRussiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan T RoysterSpainAnna Fali QUALIFIED
James H VocelkaJapanOnyama Limba QUALIFIED
Julie P StockhamSpainAsiya Javayant NEGOTIATION
Tony R CaldareraSpainIoni Bowcher NEGOTIATION
Chavez G BowleyItalyAsiya Javayant NEGOTIATION
Adams U DoeSpainXuxue Feng NEW
Chavez G RulapaughArgentinaAmy Elsner RENEWAL
Tony H PaprockiJapanBernardo Dominic NEW
Juan I ChuiAustraliaAsiya Javayant RENEWAL
Mayumi E CaldareraGermanyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Z AmigonRussia2026-10-26Commercial Press NEW49Amy Elsner
1001Kadeem Z GauchoArgentina2026-10-30Rangoni Of Florence UNQUALIFIED19Bernardo Dominic
1002Juan V CampainFrance2026-10-11Rousseaux, Michael Esq RENEWAL0Onyama Limba
1003Kaitlin M CaudyItaly2026-10-21Truhlar And Truhlar Attys NEW20Xuxue Feng
1004Sinclair L ChuiUnited Kingdom2026-10-23Benton, John B Jr RENEWAL94Bernardo Dominic
1005Julie M TollnerUnited Kingdom2026-10-29Chapman, Ross E Esq UNQUALIFIED3Amy Elsner
1006Greenwood I InouyeSpain2026-11-05Commercial Press UNQUALIFIED15Xuxue Feng
1007James L GlickAustralia2026-11-07Chapman, Ross E Esq RENEWAL75Ivan Magalhaes
1008Faith L StensethGermany2026-10-31Rousseaux, Michael Esq UNQUALIFIED25Bernardo Dominic
1009Cody M MaletFrance2026-10-28King, Christopher A Esq RENEWAL95Bernardo Dominic
1010Faith Y CaldareraFrance2026-11-03Morlong Associates UNQUALIFIED13Elwin Sharvill
1011Jefferson H BriddickCanada2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED2Asiya Javayant
1012Jones C VenereAustralia2026-10-11Benton, John B Jr QUALIFIED53Ivan Magalhaes
1013Jefferson T VocelkaItaly2026-10-25Chemel, James L Cpa NEW56Stephen Shaw
1014Jeanfrancois T StockhamJapan2026-10-22Morlong Associates PROPOSAL29Xuxue Feng
1015Morrow S FollerJapan2026-10-25Feiner Bros NEW52Stephen Shaw
1016David H MorascaCanada2026-10-10Morlong Associates PROPOSAL59Asiya Javayant
1017Chavez B RimAustralia2026-10-15Feltz Printing Service QUALIFIED23Asiya Javayant
1018Ashley V ShinkoItaly2026-11-01Feiner Bros PROPOSAL25Xuxue Feng
1019Clifford A WaycottIndia2026-10-27Printing Dimensions NEGOTIATION52Xuxue Feng
1020Mayumi J TollnerFrance2026-10-22Chapman, Ross E Esq RENEWAL48Amy Elsner
1021Juan J FerenczRussia2026-10-27Truhlar And Truhlar Attys NEW0Stephen Shaw
1022Isabel D IturbideGermany2026-10-23Truhlar And Truhlar Attys UNQUALIFIED49Xuxue Feng
1023Ashley L BriddickRussia2026-10-14Feltz Printing Service QUALIFIED81Elwin Sharvill
1024Isabel O DoeCanada2026-10-18Printing Dimensions PROPOSAL40Xuxue Feng
1025Julie I FollerRussia2026-10-12Chanay, Jeffrey A Esq QUALIFIED11Asiya Javayant
1026Stacey X WaycottJapan2026-11-08Chanay, Jeffrey A Esq NEW41Bernardo Dominic
1027Emily B GarufiFrance2026-11-02Chapman, Ross E Esq NEGOTIATION25Amy Elsner
1028Ivar H ButtJapan2026-11-06Buckley Miller Wright RENEWAL30Ivan Magalhaes
1029Faith P RutaItaly2026-10-17King, Christopher A Esq UNQUALIFIED39Ivan Magalhaes
1030Chavez C WaycottJapan2026-11-03Buckley Miller Wright UNQUALIFIED17Ioni Bowcher
1031Juan L PaprockiIndia2026-10-14Truhlar And Truhlar Attys NEW81Onyama Limba
1032Ivar L AlbaresArgentina2026-10-26King, Christopher A Esq NEW80Xuxue Feng
1033Darci Q SlusarskiIndia2026-10-18Printing Dimensions RENEWAL9Anna Fali
1034Mujtaba I NestleIndia2026-10-22Feltz Printing Service NEW29Xuxue Feng
1035Juan P ButtRussia2026-10-31Morlong Associates PROPOSAL18Elwin Sharvill
1036Cody G CaldareraArgentina2026-10-25Commercial Press UNQUALIFIED88Xuxue Feng
1037Misaki A CaudyCanada2026-10-22Commercial Press RENEWAL23Asiya Javayant
1038Murillo L CaudyUnited Kingdom2026-10-19Chapman, Ross E Esq PROPOSAL49Amy Elsner
1039Mujtaba Z GillianJapan2026-10-18Chapman, Ross E Esq UNQUALIFIED2Onyama Limba
1040Darci W PerinUnited Kingdom2026-11-03Buckley Miller Wright NEGOTIATION20Anna Fali
1041Cody X MacleadUnited Kingdom2026-10-19Chemel, James L Cpa NEW16Bernardo Dominic
1042Ricardo H VocelkaJapan2026-11-05Benton, John B Jr UNQUALIFIED91Stephen Shaw
1043Jones Y KolmetzFrance2026-10-13Commercial Press UNQUALIFIED83Ioni Bowcher
1044Maisha F ShinkoRussia2026-10-24Chanay, Jeffrey A Esq NEW4Stephen Shaw
1045Clifford D NestleCanada2026-10-25Chanay, Jeffrey A Esq PROPOSAL35Bernardo Dominic
1046Costa Y InouyeSpain2026-10-28Commercial Press NEW95Anna Fali
1047Aditya G GauchoItaly2026-10-31Rangoni Of Florence PROPOSAL15Stephen Shaw
1048Francesco C MorascaRussia2026-11-02King, Christopher A Esq QUALIFIED67Amy Elsner
1049Maria H RimJapan2026-10-15Rangoni Of Florence RENEWAL16Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Tony M RoysterRussiaAnna Fali QUALIFIED
Kaitlin K ShinkoBrazilAmy Elsner RENEWAL
Isabel Z GillianArgentinaElwin Sharvill NEW
Aruna S GauchoArgentinaStephen Shaw NEGOTIATION
Jefferson A GlickBrazilIoni Bowcher NEGOTIATION
Johnson C MarrierGermanyAmy Elsner UNQUALIFIED
Salvatore Y BologniaCanadaAnna Fali PROPOSAL
Octavia Y KuskoCanadaOnyama Limba NEGOTIATION
Claire D DarakjyIndiaXuxue Feng NEW
Morrow N KuskoUnited KingdomIoni Bowcher NEW
Smith Z WaycottArgentinaAmy Elsner RENEWAL
Johnson K BologniaCanadaIvan Magalhaes NEW
Silvio C TollnerUnited KingdomXuxue Feng RENEWAL
Juan X PerinGermanyOnyama Limba UNQUALIFIED
Misaki R AmigonGermanyAmy Elsner NEW
Morrow J CaldareraBrazilIvan Magalhaes UNQUALIFIED
Rodrigues W RoysterFranceBernardo Dominic PROPOSAL
Smith F KuskoGermanyAmy Elsner PROPOSAL
Jefferson M DoeSpainXuxue Feng NEGOTIATION
Greenwood L RimSpainOnyama Limba UNQUALIFIED
Ashley P ShinkoUnited KingdomAmy Elsner NEW
Cody F RimArgentinaBernardo Dominic QUALIFIED
Rodrigues E WieserFranceOnyama Limba UNQUALIFIED
Wickens O GlickBrazilAmy Elsner RENEWAL
Jennifer U FigeroaAustraliaBernardo Dominic NEW
Sinclair J SchemmerUnited KingdomIoni Bowcher QUALIFIED
Deepesh L AlbaresBrazilElwin Sharvill UNQUALIFIED
Tony Y NickaUnited KingdomIvan Magalhaes QUALIFIED
Leja C StensethFranceAsiya Javayant RENEWAL
Chavez N BriddickAustraliaBernardo Dominic UNQUALIFIED
Kaitlin V FollerAustraliaElwin Sharvill QUALIFIED
Kaitlin U InouyeGermanyAsiya Javayant UNQUALIFIED
Ricardo R RulapaughAustraliaAmy Elsner NEGOTIATION
Octavia C AmigonItalyAsiya Javayant PROPOSAL
Tony I VenereSpainBernardo Dominic NEW
Jeanfrancois S CampainAustraliaIvan Magalhaes UNQUALIFIED
Murillo Z GlickAustraliaBernardo Dominic NEW
James P ShinkoRussiaAmy Elsner QUALIFIED
Costa M DoeArgentinaAnna Fali UNQUALIFIED
Isabel S SergiGermanyOnyama Limba NEGOTIATION
Antonio Y StensethCanadaElwin Sharvill NEGOTIATION
Leja E DoeArgentinaAmy Elsner NEGOTIATION
Silvio E CaldareraSpainBernardo Dominic RENEWAL
Francesco G GillianArgentinaElwin Sharvill NEGOTIATION
Johnson Y MarrierRussiaBernardo Dominic PROPOSAL
Claire K DarakjyIndiaAnna Fali QUALIFIED
Morrow P OldroydItalyAsiya Javayant QUALIFIED
Clifford E GillianJapanXuxue Feng NEGOTIATION
Kadeem Y PaprockiArgentinaElwin Sharvill QUALIFIED
Deepesh R MacleadItalyAnna Fali PROPOSAL
Frozen Columns
Name
Morrow A Poquette
Leja R Saylors
Rodrigues V Sergi
Juan H Stenseth
Nicolas J Stenseth
Johnson X Vocelka
Smith S Doe
Claire G Figeroa
Francesco R Inouye
Jones L Kusko
Stacey J Darakjy
Jones A Briddick
Stacey C Albares
Greenwood L Slusarski
Kadeem Q Dilliard
Juan K Bowley
Antonio G Figeroa
Francesco N Ostrosky
Darci G Shinko
Smith P Vocelka
Ivar H Campain
Aruna Q Briddick
Kadeem P Ferencz
Misaki U Darakjy
Ashley Y Stockham
Costa Q Kolmetz
Stacey O Paprocki
Murillo R Nestle
Murillo K Malet
Jennifer O Figeroa
Adams B Venere
Sinclair C Foller
Wickens E Butt
Costa V Dilliard
Isabel T Stenseth
Rodrigues D Caldarera
Tony D Ferencz
Juan H Vocelka
Antonio G Saylors
Stacey C Kusko
Misaki P Stockham
Alejandro T Dilliard
Maisha J Dilliard
David G Oldroyd
Clifford U Royster
Tony G Ruta
Faith H Oldroyd
Antonio T Figeroa
Ricardo M Bolognia
Isabel G Oldroyd
IdCountryDate
1000Brazil2026-11-04
1001Italy2026-10-31
1002Argentina2026-10-10
1003Australia2026-10-26
1004Australia2026-10-29
1005Japan2026-10-14
1006Canada2026-10-25
1007France2026-10-16
1008Argentina2026-10-12
1009Argentina2026-10-28
1010Canada2026-10-31
1011Japan2026-10-20
1012Brazil2026-10-11
1013India2026-11-06
1014Australia2026-10-17
1015Canada2026-10-20
1016Spain2026-10-14
1017Spain2026-10-25
1018France2026-11-01
1019India2026-10-19
1020Brazil2026-11-08
1021United Kingdom2026-10-22
1022Argentina2026-10-17
1023Japan2026-10-14
1024Australia2026-10-31
1025Germany2026-10-17
1026France2026-10-25
1027Spain2026-11-08
1028Japan2026-10-29
1029India2026-11-07
1030Spain2026-10-28
1031France2026-10-13
1032Spain2026-10-11
1033Russia2026-10-19
1034Germany2026-10-21
1035Italy2026-10-29
1036Canada2026-10-25
1037Brazil2026-11-03
1038Brazil2026-10-31
1039Germany2026-11-01
1040Germany2026-10-29
1041Japan2026-11-07
1042Spain2026-10-28
1043Germany2026-10-30
1044Brazil2026-10-26
1045United Kingdom2026-10-26
1046Canada2026-11-08
1047United Kingdom2026-10-20
1048India2026-11-02
1049Spain2026-10-22

On-Demand Data

NameIdCountryDate
Greenwood Z Garufi1000Japan2026-11-08
Clifford S Chui1001France2026-10-27
Faith V Kolmetz1002United Kingdom2026-10-31
Octavia A Caudy1003United Kingdom2026-10-24
Murillo L Gaucho1004Germany2026-10-31
Adams G Nestle1005Spain2026-11-02
Ricardo M Foller1006Spain2026-10-14
Jefferson S Rim1007Russia2026-10-23
Aditya L Poquette1008Canada2026-10-11
Jennifer K Vocelka1009United Kingdom2026-10-23
Chavez R Poquette1010Germany2026-11-02
Smith Q Malet1011Spain2026-10-23
Ashley B Malet1012India2026-11-01
Ashley K Bowley1013Brazil2026-10-21
Morrow R Darakjy1014United Kingdom2026-11-04
Leja L Rim1015United Kingdom2026-10-15
Mujtaba M Flosi1016India2026-10-30
Kadeem I Dilliard1017Brazil2026-10-18
Darci A Slusarski1018France2026-10-23
Octavia L Bolognia1019United Kingdom2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey O SaylorsAustraliaXuxue Feng PROPOSAL
Mayumi K RoysterBrazilXuxue Feng QUALIFIED
Nicolas Z TollnerFranceAmy Elsner NEGOTIATION
Ivar W MaletSpainStephen Shaw UNQUALIFIED
Ricardo P FollerIndiaXuxue Feng PROPOSAL
Cody Y RutaBrazilIoni Bowcher NEW
Cody V CaldareraRussiaElwin Sharvill NEW
Jefferson K MacleadItalyBernardo Dominic QUALIFIED
Izzy G VenereAustraliaXuxue Feng NEGOTIATION
Stacey F PerinGermanyElwin Sharvill PROPOSAL
Tony L RulapaughIndiaStephen Shaw NEW
Clifford U MacleadFranceOnyama Limba UNQUALIFIED
Jefferson A BologniaAustraliaStephen Shaw UNQUALIFIED
David S OstroskyBrazilIvan Magalhaes NEGOTIATION
Leon P NickaIndiaAsiya Javayant PROPOSAL
Rodrigues G PaprockiJapanOnyama Limba PROPOSAL
Claire H OstroskyArgentinaElwin Sharvill RENEWAL
Leja M KuskoIndiaStephen Shaw UNQUALIFIED
Stacey G WieserBrazilOnyama Limba PROPOSAL
Alejandro G GarufiGermanyIoni Bowcher PROPOSAL
Kaitlin M WaycottCanadaXuxue Feng UNQUALIFIED
Emily Q MarrierFranceOnyama Limba NEW
Deepesh W OldroydItalyIvan Magalhaes RENEWAL
Greenwood K PerinBrazilXuxue Feng RENEWAL
Julie Y SchemmerFranceOnyama Limba PROPOSAL
Kaitlin N MaletUnited KingdomAsiya Javayant NEW
David H SlusarskiBrazilBernardo Dominic NEW
Clifford P GauchoFranceAsiya Javayant NEGOTIATION
Costa H ButtItalyOnyama Limba NEGOTIATION
Greenwood N CaudySpainAmy Elsner NEW
Emily H OstroskyItalyStephen Shaw QUALIFIED
Ricardo O SlusarskiRussiaIoni Bowcher UNQUALIFIED
Jefferson Y BriddickJapanIvan Magalhaes NEW
Deepesh A VenereGermanyIoni Bowcher NEW
Kaitlin T FerenczUnited KingdomIvan Magalhaes NEW
David M TollnerAustraliaAmy Elsner RENEWAL
Leon H GillianBrazilOnyama Limba NEW
Cody W FollerAustraliaStephen Shaw PROPOSAL
Salvatore J DilliardRussiaBernardo Dominic NEGOTIATION
Aruna U BriddickAustraliaXuxue Feng 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>