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
Clifford Y RimJapanIoni Bowcher NEGOTIATION
Aditya I FlosiBrazilStephen Shaw RENEWAL
Octavia U BowleyJapanElwin Sharvill UNQUALIFIED
Aika P OstroskyAustraliaBernardo Dominic PROPOSAL
Munro L StockhamSpainIvan Magalhaes UNQUALIFIED
Wickens U KolmetzSpainStephen Shaw UNQUALIFIED
Isabel T ChuiItalyStephen Shaw QUALIFIED
Wickens W WieserJapanAmy Elsner RENEWAL
Leja S SchemmerRussiaAmy Elsner RENEWAL
Maisha L TollnerIndiaXuxue Feng NEGOTIATION
Munro E PoquetteJapanAsiya Javayant QUALIFIED
James R GauchoFranceAmy Elsner QUALIFIED
Jefferson M FlosiSpainIoni Bowcher PROPOSAL
Ashley J MorascaArgentinaElwin Sharvill NEW
Emily Q WieserAustraliaIoni Bowcher NEGOTIATION
Ashley T BriddickUnited KingdomBernardo Dominic PROPOSAL
David N KolmetzArgentinaAnna Fali NEGOTIATION
Faith R CampainBrazilBernardo Dominic RENEWAL
Isabel Y CaldareraAustraliaAmy Elsner PROPOSAL
Sinclair G OldroydFranceElwin Sharvill NEW
Emily L GlickRussiaBernardo Dominic UNQUALIFIED
Smith L PaprockiJapanBernardo Dominic UNQUALIFIED
Adams X CaldareraIndiaIvan Magalhaes QUALIFIED
Jennifer N BologniaSpainIvan Magalhaes RENEWAL
Adams B RulapaughCanadaAsiya Javayant RENEWAL
Leon Z InouyeJapanBernardo Dominic NEGOTIATION
Maisha F PoquetteCanadaIvan Magalhaes UNQUALIFIED
Salvatore J AlbaresIndiaAsiya Javayant QUALIFIED
Alejandro D IturbideUnited KingdomAsiya Javayant RENEWAL
David C WaycottJapanAsiya Javayant UNQUALIFIED
Jefferson L GauchoIndiaAmy Elsner NEW
Stacey I RutaJapanIvan Magalhaes NEGOTIATION
Juan C FollerRussiaBernardo Dominic NEGOTIATION
Jones X GauchoRussiaAmy Elsner PROPOSAL
Misaki L MaletFranceElwin Sharvill QUALIFIED
Salvatore H DoeAustraliaStephen Shaw RENEWAL
Francesco S InouyeArgentinaAsiya Javayant UNQUALIFIED
Misaki F ChuiBrazilAsiya Javayant PROPOSAL
Rodrigues D RutaIndiaAnna Fali PROPOSAL
Deepesh I VenereItalyXuxue Feng RENEWAL
Ivar U MarrierItalyStephen Shaw QUALIFIED
David Y MorascaFranceAsiya Javayant PROPOSAL
Juan L FigeroaItalyXuxue Feng NEW
Jeanfrancois S AmigonIndiaIvan Magalhaes QUALIFIED
Greenwood G BologniaGermanyAmy Elsner QUALIFIED
Stacey K DarakjyAustraliaBernardo Dominic NEW
Morrow D RoysterCanadaElwin Sharvill NEW
Misaki U SlusarskiSpainAmy Elsner PROPOSAL
Kadeem A CaldareraItalyAnna Fali UNQUALIFIED
Cody G ButtJapanOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow E AlbaresIndiaStephen Shaw UNQUALIFIED
Silvio S OldroydJapanElwin Sharvill QUALIFIED
James X CampainBrazilAsiya Javayant RENEWAL
Antonio J IturbideJapanXuxue Feng NEGOTIATION
Leon K IturbideItalyOnyama Limba PROPOSAL
Darci A BowleySpainIoni Bowcher RENEWAL
Jefferson F PerinJapanBernardo Dominic QUALIFIED
Aditya G SaylorsGermanyXuxue Feng RENEWAL
Jefferson Z NickaBrazilOnyama Limba NEGOTIATION
Costa F FollerFranceXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez A KuskoAustralia2026-10-01Feiner Bros RENEWAL66Anna Fali
1001Emily M GlickFrance2026-10-01Benton, John B Jr NEW43Bernardo Dominic
1002Munro J GarufiFrance2026-09-27Morlong Associates NEGOTIATION78Stephen Shaw
1003Sinclair G MaletIndia2026-09-29Buckley Miller Wright QUALIFIED97Ioni Bowcher
1004Aditya Q SergiGermany2026-10-17Morlong Associates UNQUALIFIED28Bernardo Dominic
1005Isabel G MarrierAustralia2026-09-21Printing Dimensions UNQUALIFIED31Onyama Limba
1006Johnson X AmigonGermany2026-09-27Commercial Press PROPOSAL83Amy Elsner
1007Antonio R DoeSpain2026-10-01Chanay, Jeffrey A Esq UNQUALIFIED47Bernardo Dominic
1008Ricardo Y MacleadIndia2026-10-12Chemel, James L Cpa QUALIFIED11Ioni Bowcher
1009Ashley O VocelkaJapan2026-10-04Buckley Miller Wright NEW64Anna Fali
1010Nicolas S CaldareraFrance2026-10-12Dorl, James J Esq QUALIFIED61Elwin Sharvill
1011Maria P KuskoSpain2026-10-10Morlong Associates NEW56Anna Fali
1012Jefferson X WieserAustralia2026-09-23Morlong Associates NEGOTIATION99Stephen Shaw
1013Costa H RutaRussia2026-10-09Feiner Bros NEW96Onyama Limba
1014Emily E AmigonJapan2026-10-12Benton, John B Jr UNQUALIFIED66Ioni Bowcher
1015Murillo J SaylorsUnited Kingdom2026-10-03Benton, John B Jr QUALIFIED20Amy Elsner
1016Kaitlin S KolmetzArgentina2026-09-23Rangoni Of Florence RENEWAL53Bernardo Dominic
1017Kadeem I SchemmerArgentina2026-10-14Chapman, Ross E Esq RENEWAL10Onyama Limba
1018Munro X GillianCanada2026-10-12Benton, John B Jr PROPOSAL20Asiya Javayant
1019Jones P RimSpain2026-10-06Benton, John B Jr UNQUALIFIED58Asiya Javayant
1020Darci J MorascaJapan2026-09-30Chapman, Ross E Esq QUALIFIED73Stephen Shaw
1021Ricardo K VocelkaJapan2026-09-29Chapman, Ross E Esq NEW40Amy Elsner
1022Deepesh Y MorascaAustralia2026-09-25Benton, John B Jr RENEWAL53Anna Fali
1023Salvatore R KuskoFrance2026-10-11Chanay, Jeffrey A Esq QUALIFIED92Amy Elsner
1024Antonio S MaletRussia2026-10-13Commercial Press QUALIFIED33Ivan Magalhaes
1025Ivar H SaylorsGermany2026-09-26Feiner Bros QUALIFIED94Amy Elsner
1026Francesco Y AmigonBrazil2026-10-19Truhlar And Truhlar Attys NEGOTIATION25Amy Elsner
1027Arvin H RutaCanada2026-10-07Chemel, James L Cpa NEGOTIATION21Asiya Javayant
1028Sinclair K CampainGermany2026-10-10Dorl, James J Esq PROPOSAL24Asiya Javayant
1029Leon E WieserGermany2026-10-16Dorl, James J Esq QUALIFIED79Onyama Limba
1030Morrow K KolmetzFrance2026-09-27Benton, John B Jr NEW11Onyama Limba
1031Rodrigues X PoquetteGermany2026-09-27Morlong Associates NEGOTIATION63Stephen Shaw
1032Mujtaba J OstroskyIndia2026-10-19Chanay, Jeffrey A Esq NEGOTIATION3Asiya Javayant
1033Greenwood P MorascaRussia2026-09-20Truhlar And Truhlar Attys RENEWAL28Elwin Sharvill
1034Isabel R FlosiBrazil2026-10-12Rangoni Of Florence RENEWAL18Xuxue Feng
1035Darci P FerenczUnited Kingdom2026-10-17Printing Dimensions NEW94Elwin Sharvill
1036Johnson E KolmetzArgentina2026-09-28Chapman, Ross E Esq NEW1Asiya Javayant
1037Cody B ChuiFrance2026-10-18Rangoni Of Florence RENEWAL83Elwin Sharvill
1038Arvin T RoysterItaly2026-10-06Feiner Bros NEW35Xuxue Feng
1039Greenwood C GarufiIndia2026-10-17Buckley Miller Wright RENEWAL4Bernardo Dominic
1040Leja Q ButtItaly2026-10-13Truhlar And Truhlar Attys NEGOTIATION60Anna Fali
1041Francesco M SlusarskiCanada2026-10-08Feltz Printing Service NEW86Xuxue Feng
1042Maisha S WaycottRussia2026-09-22Truhlar And Truhlar Attys PROPOSAL90Ioni Bowcher
1043Mayumi Q MaletJapan2026-10-02Morlong Associates NEGOTIATION90Bernardo Dominic
1044Costa P KolmetzJapan2026-10-14Buckley Miller Wright QUALIFIED19Anna Fali
1045Jones A GillianSpain2026-10-08Dorl, James J Esq RENEWAL14Anna Fali
1046Wickens A WhobreyRussia2026-10-19King, Christopher A Esq NEGOTIATION66Ioni Bowcher
1047James K StockhamItaly2026-09-21Chanay, Jeffrey A Esq PROPOSAL65Ivan Magalhaes
1048Aika B RutaJapan2026-10-04King, Christopher A Esq NEGOTIATION79Stephen Shaw
1049Arvin B ChuiJapan2026-10-07Chanay, Jeffrey A Esq NEW33Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois J BologniaIndiaIvan Magalhaes QUALIFIED
Alejandro I NestleIndiaIoni Bowcher QUALIFIED
Ricardo N OldroydCanadaStephen Shaw QUALIFIED
Darci B IturbideCanadaIoni Bowcher QUALIFIED
Ashley L AlbaresCanadaElwin Sharvill NEW
Nicolas C DoeItalyOnyama Limba UNQUALIFIED
Kadeem V SergiIndiaIvan Magalhaes QUALIFIED
Aditya F SergiBrazilElwin Sharvill NEGOTIATION
Deepesh L FlosiFranceAmy Elsner UNQUALIFIED
James N GillianJapanOnyama Limba UNQUALIFIED
Claire I NickaSpainIvan Magalhaes RENEWAL
Costa S MaletItalyXuxue Feng RENEWAL
Sinclair O RutaRussiaAmy Elsner UNQUALIFIED
Kaitlin Q KolmetzJapanAmy Elsner QUALIFIED
Francesco W BriddickGermanyAsiya Javayant NEW
Arvin U BriddickUnited KingdomStephen Shaw RENEWAL
Jefferson A AmigonAustraliaIoni Bowcher QUALIFIED
Maria I SchemmerAustraliaOnyama Limba UNQUALIFIED
Leja O WieserGermanyAmy Elsner QUALIFIED
Sinclair L MorascaSpainStephen Shaw QUALIFIED
Nicolas N NestleBrazilStephen Shaw PROPOSAL
Kadeem C ChuiItalyOnyama Limba NEW
David R ShinkoBrazilIvan Magalhaes NEGOTIATION
Ivar X AlbaresFranceOnyama Limba QUALIFIED
Smith D RoysterItalyIoni Bowcher UNQUALIFIED
Leon E FollerAustraliaIvan Magalhaes NEGOTIATION
Morrow S BriddickRussiaElwin Sharvill NEW
Murillo Z AlbaresGermanyIoni Bowcher PROPOSAL
Adams Y BowleyJapanBernardo Dominic RENEWAL
Stacey L FerenczFranceStephen Shaw NEW
Mayumi Y KolmetzCanadaIvan Magalhaes PROPOSAL
Rodrigues O InouyeItalyBernardo Dominic RENEWAL
Nicolas M NestleItalyStephen Shaw UNQUALIFIED
Tony Y StockhamGermanyAnna Fali NEGOTIATION
Jennifer S MarrierUnited KingdomXuxue Feng PROPOSAL
Mujtaba E FollerIndiaElwin Sharvill UNQUALIFIED
Alejandro E ShinkoGermanyOnyama Limba QUALIFIED
Julie R SergiUnited KingdomIvan Magalhaes NEGOTIATION
Claire I PoquetteItalyStephen Shaw QUALIFIED
Kaitlin C StockhamGermanyElwin Sharvill PROPOSAL
Deepesh C BologniaAustraliaOnyama Limba NEGOTIATION
Johnson A FerenczIndiaOnyama Limba QUALIFIED
Ricardo Q FollerUnited KingdomOnyama Limba PROPOSAL
Aika V KuskoArgentinaAnna Fali RENEWAL
Murillo N GauchoAustraliaBernardo Dominic RENEWAL
Mujtaba I DoeGermanyAmy Elsner NEGOTIATION
Izzy B VenereGermanyIoni Bowcher QUALIFIED
Francesco I DarakjyItalyStephen Shaw PROPOSAL
Jefferson U GillianIndiaAmy Elsner NEGOTIATION
Maisha U OldroydRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Jeanfrancois P Ruta
Murillo V Maclead
Morrow I Waycott
Antonio H Foller
Greenwood L Schemmer
Jeanfrancois V Doe
Julie I Butt
Octavia K Malet
Maria U Figeroa
Arvin R Butt
Aditya G Perin
Ricardo X Waycott
Juan Z Marrier
Kaitlin U Inouye
Tony A Iturbide
Jeanfrancois A Iturbide
Darci D Albares
Isabel A Whobrey
Aika R Maclead
David X Bolognia
Greenwood I Figeroa
Aditya C Bowley
Ricardo Z Gillian
Izzy G Perin
Adams R Garufi
Murillo G Whobrey
Claire Q Butt
Clifford R Ferencz
Costa C Caudy
Silvio S Sergi
Jeanfrancois V Doe
Antonio C Bowley
Silvio J Maclead
Smith D Malet
Morrow A Rim
Wickens Y Ferencz
Maria T Rim
Aruna N Tollner
Mayumi O Stockham
Darci N Nestle
Johnson Z Oldroyd
Stacey T Campain
Ricardo E Nicka
Aika V Sergi
Maisha R Whobrey
Juan W Garufi
Sinclair Q Marrier
Rodrigues R Chui
Adams F Stockham
Aika T Caudy
IdCountryDate
1000Argentina2026-09-27
1001Argentina2026-10-08
1002Japan2026-10-03
1003Brazil2026-10-15
1004Australia2026-10-02
1005Brazil2026-10-07
1006Australia2026-09-28
1007France2026-10-10
1008Canada2026-10-16
1009Australia2026-10-09
1010Italy2026-10-18
1011Italy2026-10-15
1012France2026-09-25
1013Japan2026-09-24
1014Italy2026-10-07
1015India2026-09-27
1016Russia2026-09-30
1017Brazil2026-09-28
1018Canada2026-10-10
1019Italy2026-10-02
1020India2026-10-07
1021Australia2026-10-17
1022Germany2026-10-02
1023Russia2026-10-10
1024United Kingdom2026-09-22
1025Spain2026-09-30
1026Argentina2026-10-11
1027Argentina2026-10-02
1028Italy2026-10-05
1029United Kingdom2026-09-24
1030Japan2026-10-12
1031Spain2026-09-21
1032Australia2026-10-07
1033Russia2026-10-06
1034Russia2026-10-03
1035Australia2026-09-25
1036Spain2026-09-25
1037Spain2026-09-24
1038United Kingdom2026-10-06
1039Japan2026-09-24
1040Japan2026-09-20
1041Italy2026-10-05
1042Italy2026-10-09
1043Brazil2026-09-24
1044Germany2026-10-19
1045Germany2026-09-23
1046Argentina2026-09-28
1047Germany2026-09-28
1048Spain2026-10-06
1049Brazil2026-09-21

On-Demand Data

NameIdCountryDate
Costa H Inouye1000France2026-09-22
Juan W Saylors1001France2026-10-04
Jennifer X Flosi1002Italy2026-10-04
Greenwood O Foller1003India2026-10-19
Leja C Malet1004Italy2026-09-21
Antonio A Kusko1005Japan2026-10-11
Aika S Saylors1006India2026-09-25
Silvio T Caldarera1007Russia2026-10-12
Greenwood Y Tollner1008Germany2026-10-13
Smith O Wieser1009Italy2026-10-19
David Z Kolmetz1010Russia2026-10-02
Mujtaba K Kolmetz1011France2026-10-09
Maisha T Nicka1012United Kingdom2026-10-14
Leja A Stenseth1013United Kingdom2026-09-25
Tony D Schemmer1014Japan2026-10-15
Claire Q Bolognia1015United Kingdom2026-09-23
Mayumi Z Darakjy1016Italy2026-10-05
Arvin P Slusarski1017India2026-09-30
Adams H Bowley1018France2026-09-22
Greenwood K Stockham1019Argentina2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Q PaprockiRussiaAnna Fali UNQUALIFIED
Jennifer V IturbideJapanAsiya Javayant PROPOSAL
Munro B RimGermanyAsiya Javayant NEGOTIATION
Nicolas B GlickSpainStephen Shaw NEW
Isabel G BologniaRussiaIvan Magalhaes PROPOSAL
Munro C DarakjyJapanXuxue Feng UNQUALIFIED
Kaitlin O RutaSpainBernardo Dominic NEW
Clifford Q PerinArgentinaAsiya Javayant NEGOTIATION
Antonio N ShinkoArgentinaXuxue Feng UNQUALIFIED
Mujtaba J WhobreyAustraliaXuxue Feng NEGOTIATION
Faith K DoeGermanyAsiya Javayant NEW
Aditya G OldroydIndiaStephen Shaw UNQUALIFIED
Rodrigues H ButtJapanXuxue Feng NEGOTIATION
Silvio U MacleadRussiaStephen Shaw NEW
Wickens X ShinkoRussiaStephen Shaw UNQUALIFIED
Isabel I PaprockiFranceOnyama Limba NEGOTIATION
Antonio C GarufiArgentinaIvan Magalhaes NEW
Isabel D PaprockiItalyIoni Bowcher NEW
Leja Z OldroydBrazilAnna Fali PROPOSAL
Faith Y FollerItalyStephen Shaw UNQUALIFIED
Darci B CaldareraItalyStephen Shaw QUALIFIED
Chavez V BriddickJapanAnna Fali NEW
Juan E MacleadItalyElwin Sharvill NEGOTIATION
Clifford B KolmetzItalyIvan Magalhaes PROPOSAL
Ivar A ShinkoRussiaStephen Shaw UNQUALIFIED
Mujtaba T RutaGermanyAnna Fali QUALIFIED
Jennifer A AlbaresJapanAsiya Javayant PROPOSAL
Alejandro D BologniaIndiaXuxue Feng UNQUALIFIED
Deepesh X RulapaughUnited KingdomAsiya Javayant QUALIFIED
James B SaylorsJapanAmy Elsner NEW
Maisha W RimRussiaAmy Elsner PROPOSAL
Stacey T MaletAustraliaElwin Sharvill QUALIFIED
Izzy G VocelkaGermanyAnna Fali RENEWAL
Faith M KuskoCanadaAsiya Javayant NEW
Johnson W GarufiIndiaAnna Fali NEW
Maria H MaletGermanyAmy Elsner RENEWAL
Salvatore H StockhamItalyOnyama Limba NEW
Jefferson G WieserUnited KingdomAsiya Javayant NEW
Jefferson C FlosiSpainBernardo Dominic UNQUALIFIED
Mayumi W BologniaSpainBernardo Dominic QUALIFIED

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