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
Silvio W SchemmerBrazilElwin Sharvill NEW
Smith A FerenczAustraliaBernardo Dominic NEW
James U DoeArgentinaAsiya Javayant NEW
Cody Z DarakjyBrazilAsiya Javayant QUALIFIED
Wickens H StockhamCanadaAmy Elsner NEW
Wickens R CampainUnited KingdomOnyama Limba UNQUALIFIED
Murillo O CaudyIndiaElwin Sharvill PROPOSAL
Aruna G MarrierJapanAsiya Javayant PROPOSAL
Aruna J PoquetteGermanyAmy Elsner NEGOTIATION
Aditya F AlbaresFranceAsiya Javayant PROPOSAL
Izzy F DarakjyRussiaOnyama Limba QUALIFIED
Antonio M OstroskyBrazilIoni Bowcher NEW
Leon Z PaprockiFranceElwin Sharvill RENEWAL
Faith D DilliardArgentinaIoni Bowcher NEW
Ricardo Z AlbaresJapanBernardo Dominic NEW
Ashley B SergiArgentinaAmy Elsner UNQUALIFIED
Jefferson F TollnerSpainXuxue Feng NEW
Kaitlin V MaletUnited KingdomOnyama Limba NEGOTIATION
Adams J GillianUnited KingdomStephen Shaw RENEWAL
Misaki J BriddickArgentinaAnna Fali RENEWAL
Deepesh Q GarufiGermanyAnna Fali NEW
Silvio L SlusarskiArgentinaIvan Magalhaes PROPOSAL
Sinclair H MaletFranceBernardo Dominic UNQUALIFIED
Wickens F RoysterAustraliaIoni Bowcher QUALIFIED
Julie T FigeroaRussiaElwin Sharvill RENEWAL
Mayumi H VocelkaItalyAnna Fali PROPOSAL
Isabel L KolmetzFranceAmy Elsner PROPOSAL
Misaki F RutaGermanyAmy Elsner QUALIFIED
Mujtaba H PoquetteArgentinaAnna Fali NEW
Alejandro I VocelkaRussiaIvan Magalhaes UNQUALIFIED
Aruna D RulapaughGermanyAnna Fali QUALIFIED
Stacey V AlbaresCanadaElwin Sharvill NEGOTIATION
Juan S NickaItalyAnna Fali RENEWAL
Isabel K FerenczRussiaOnyama Limba UNQUALIFIED
Aditya G KolmetzSpainIoni Bowcher NEW
Ashley F FlosiItalyOnyama Limba NEGOTIATION
Munro M ShinkoJapanXuxue Feng QUALIFIED
Costa F KuskoItalyStephen Shaw NEW
Stacey U MaletItalyBernardo Dominic QUALIFIED
Chavez C InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Faith U RimFranceAnna Fali NEGOTIATION
Kadeem H WieserGermanyXuxue Feng QUALIFIED
Aruna E FlosiSpainAsiya Javayant NEW
Jones O RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Antonio A WieserArgentinaIvan Magalhaes QUALIFIED
Jones P NickaGermanyAnna Fali NEW
Jones V BriddickJapanAsiya Javayant UNQUALIFIED
James S MaletJapanStephen Shaw PROPOSAL
Costa Z MaletCanadaAnna Fali QUALIFIED
Mayumi U OldroydUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Ashley X SergiArgentinaElwin Sharvill PROPOSAL
Darci F ButtRussiaBernardo Dominic PROPOSAL
James L GarufiJapanXuxue Feng PROPOSAL
Aditya Z GauchoRussiaAmy Elsner UNQUALIFIED
Greenwood B SaylorsAustraliaAnna Fali UNQUALIFIED
Isabel I SlusarskiIndiaStephen Shaw RENEWAL
Tony A BriddickGermanyXuxue Feng NEGOTIATION
Costa I VenereGermanyBernardo Dominic NEW
Leon J GauchoBrazilBernardo Dominic PROPOSAL
Aruna N CaudySpainBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna P GlickJapan2026-09-03Printing Dimensions NEW3Anna Fali
1001Antonio K StockhamCanada2026-09-05Rangoni Of Florence QUALIFIED89Asiya Javayant
1002Antonio A DoeAustralia2026-09-25Rousseaux, Michael Esq NEGOTIATION97Elwin Sharvill
1003Jennifer C RimGermany2026-09-17Chanay, Jeffrey A Esq QUALIFIED7Elwin Sharvill
1004Aruna D RoysterAustralia2026-09-15Truhlar And Truhlar Attys NEGOTIATION47Onyama Limba
1005Greenwood S RoysterFrance2026-09-25Feltz Printing Service QUALIFIED36Xuxue Feng
1006Claire Z FigeroaRussia2026-09-11Morlong Associates NEW63Ioni Bowcher
1007Mayumi E NestleCanada2026-09-07Truhlar And Truhlar Attys PROPOSAL55Elwin Sharvill
1008Jeanfrancois W StockhamCanada2026-09-06Chapman, Ross E Esq RENEWAL11Ioni Bowcher
1009Arvin M NestleArgentina2026-09-30Benton, John B Jr RENEWAL94Ioni Bowcher
1010Cody B OstroskyAustralia2026-09-30Truhlar And Truhlar Attys PROPOSAL70Elwin Sharvill
1011Izzy O DoeAustralia2026-09-19Commercial Press QUALIFIED63Amy Elsner
1012Murillo M VocelkaCanada2026-09-10Chapman, Ross E Esq UNQUALIFIED74Onyama Limba
1013Misaki L SergiArgentina2026-09-30Rangoni Of Florence UNQUALIFIED81Amy Elsner
1014Arvin H SchemmerAustralia2026-09-22Commercial Press NEW62Elwin Sharvill
1015Kadeem J SlusarskiAustralia2026-09-15Dorl, James J Esq UNQUALIFIED89Amy Elsner
1016Jones A OstroskySpain2026-09-05King, Christopher A Esq UNQUALIFIED22Ivan Magalhaes
1017Tony E DilliardBrazil2026-09-16Chemel, James L Cpa UNQUALIFIED72Bernardo Dominic
1018Cody Y FigeroaFrance2026-09-09Dorl, James J Esq NEGOTIATION86Stephen Shaw
1019Ivar U RoysterSpain2026-10-01Chanay, Jeffrey A Esq PROPOSAL11Amy Elsner
1020Ricardo J RimIndia2026-09-25Chemel, James L Cpa PROPOSAL6Amy Elsner
1021James M MaletAustralia2026-09-04Dorl, James J Esq NEW25Stephen Shaw
1022Aika D VenereSpain2026-09-03Morlong Associates PROPOSAL2Ioni Bowcher
1023Izzy P MacleadUnited Kingdom2026-09-06Feltz Printing Service RENEWAL84Ioni Bowcher
1024Stacey Y GarufiBrazil2026-09-11Morlong Associates RENEWAL12Stephen Shaw
1025Sinclair K MaletAustralia2026-09-25Rousseaux, Michael Esq PROPOSAL30Ivan Magalhaes
1026Arvin I AmigonGermany2026-09-09Feltz Printing Service NEGOTIATION37Xuxue Feng
1027Clifford W DoeBrazil2026-09-25Chemel, James L Cpa RENEWAL3Ivan Magalhaes
1028Murillo X FerenczAustralia2026-09-19Rangoni Of Florence NEGOTIATION99Ivan Magalhaes
1029Izzy C ChuiItaly2026-09-05Feiner Bros RENEWAL56Ioni Bowcher
1030Adams Y MarrierCanada2026-09-24Benton, John B Jr UNQUALIFIED41Elwin Sharvill
1031Maisha V DarakjyJapan2026-09-14Truhlar And Truhlar Attys QUALIFIED79Amy Elsner
1032Izzy Z NestleArgentina2026-09-07Buckley Miller Wright UNQUALIFIED2Elwin Sharvill
1033Greenwood N OldroydFrance2026-09-14Rangoni Of Florence UNQUALIFIED55Onyama Limba
1034Faith X CaudyUnited Kingdom2026-09-11Dorl, James J Esq NEGOTIATION14Bernardo Dominic
1035Adams W PoquetteItaly2026-09-16Feiner Bros NEW3Anna Fali
1036Salvatore D PerinBrazil2026-09-09Chanay, Jeffrey A Esq PROPOSAL56Ioni Bowcher
1037Kadeem W StockhamIndia2026-09-17Chemel, James L Cpa NEGOTIATION54Anna Fali
1038Jones C PerinJapan2026-09-13Feiner Bros RENEWAL67Xuxue Feng
1039Aruna V SchemmerItaly2026-09-27Buckley Miller Wright NEW68Stephen Shaw
1040Aruna C WieserIndia2026-09-12Commercial Press UNQUALIFIED48Ioni Bowcher
1041David X PaprockiItaly2026-09-18Chemel, James L Cpa UNQUALIFIED96Ioni Bowcher
1042James P SchemmerItaly2026-09-13Chanay, Jeffrey A Esq UNQUALIFIED71Anna Fali
1043Maisha F PoquetteItaly2026-09-11Rangoni Of Florence UNQUALIFIED70Ivan Magalhaes
1044Stacey F SaylorsIndia2026-09-24Feltz Printing Service UNQUALIFIED27Bernardo Dominic
1045Julie K TollnerBrazil2026-09-27Dorl, James J Esq PROPOSAL32Onyama Limba
1046Faith J NestleUnited Kingdom2026-09-30Chemel, James L Cpa UNQUALIFIED77Ivan Magalhaes
1047Leon C PoquetteItaly2026-09-02Feiner Bros RENEWAL65Bernardo Dominic
1048Misaki M ShinkoSpain2026-09-10Buckley Miller Wright PROPOSAL26Xuxue Feng
1049Leon R FigeroaItaly2026-09-11King, Christopher A Esq PROPOSAL70Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Misaki J SergiCanadaIoni Bowcher RENEWAL
Darci Y GarufiItalyElwin Sharvill QUALIFIED
Munro T ShinkoArgentinaAnna Fali NEW
Costa B WieserAustraliaAmy Elsner NEW
Claire Y NickaCanadaElwin Sharvill RENEWAL
Isabel C DilliardRussiaAmy Elsner NEW
Julie A AlbaresRussiaAnna Fali QUALIFIED
Silvio E SchemmerItalyStephen Shaw RENEWAL
Wickens Q SlusarskiSpainElwin Sharvill RENEWAL
Leon D DarakjyBrazilStephen Shaw UNQUALIFIED
Kaitlin L BologniaSpainIoni Bowcher RENEWAL
Stacey Z BowleyIndiaAmy Elsner NEW
Emily U ShinkoIndiaAsiya Javayant QUALIFIED
Aruna I FollerCanadaBernardo Dominic QUALIFIED
Darci V CampainGermanyBernardo Dominic NEGOTIATION
Deepesh N KolmetzFranceAsiya Javayant UNQUALIFIED
Adams Q ShinkoRussiaOnyama Limba RENEWAL
Aditya L PaprockiArgentinaIoni Bowcher QUALIFIED
Octavia V WhobreyGermanyStephen Shaw RENEWAL
Greenwood S OstroskyArgentinaXuxue Feng NEW
Isabel R RulapaughBrazilOnyama Limba RENEWAL
Izzy F VocelkaItalyElwin Sharvill QUALIFIED
Morrow M RutaRussiaElwin Sharvill PROPOSAL
Faith R StockhamRussiaBernardo Dominic PROPOSAL
Ivar N CampainUnited KingdomBernardo Dominic NEW
Costa U CaldareraArgentinaAnna Fali QUALIFIED
Munro H TollnerBrazilOnyama Limba RENEWAL
Francesco B CampainGermanyAmy Elsner QUALIFIED
Alejandro A OstroskyIndiaAsiya Javayant NEGOTIATION
Cody V InouyeCanadaIoni Bowcher RENEWAL
Juan K CaudySpainAnna Fali NEGOTIATION
Kaitlin K RutaUnited KingdomXuxue Feng NEGOTIATION
Munro H AlbaresUnited KingdomXuxue Feng NEW
Aditya E WaycottCanadaAnna Fali QUALIFIED
Kadeem V PerinSpainAnna Fali NEGOTIATION
Julie W FlosiArgentinaAnna Fali NEW
Rodrigues I FollerCanadaAmy Elsner QUALIFIED
Johnson C AlbaresBrazilXuxue Feng QUALIFIED
Antonio Y AmigonArgentinaXuxue Feng NEW
Munro A ShinkoJapanBernardo Dominic NEGOTIATION
Rodrigues I GauchoGermanyIvan Magalhaes NEGOTIATION
Murillo A StensethGermanyOnyama Limba NEW
Octavia R MarrierIndiaAnna Fali UNQUALIFIED
Deepesh U MarrierGermanyOnyama Limba NEW
Johnson N AmigonBrazilIvan Magalhaes UNQUALIFIED
Maria S SlusarskiAustraliaAmy Elsner RENEWAL
Costa N DoeUnited KingdomAsiya Javayant PROPOSAL
Aruna Z ShinkoArgentinaXuxue Feng RENEWAL
Aruna M InouyeFranceXuxue Feng QUALIFIED
Smith A AlbaresAustraliaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Chavez D Royster
Silvio U Saylors
Wickens A Paprocki
Greenwood T Garufi
Rodrigues O Poquette
Nicolas L Marrier
Jefferson J Amigon
Salvatore U Briddick
Ricardo N Figeroa
Kadeem U Poquette
Aditya L Maclead
Izzy N Shinko
Nicolas O Ferencz
Leon O Venere
Chavez X Royster
Clifford T Ostrosky
Leon T Marrier
Faith B Marrier
Darci U Albares
Jefferson L Rulapaugh
Ashley R Venere
Claire B Albares
Aruna B Rulapaugh
Darci J Malet
Tony L Albares
Izzy C Briddick
Julie K Bolognia
Izzy L Perin
Leja C Shinko
Leja W Venere
Aika J Oldroyd
Munro N Figeroa
Kaitlin P Caldarera
Misaki W Chui
Clifford E Gaucho
Jennifer D Ferencz
Kaitlin H Gillian
Kaitlin X Oldroyd
Deepesh N Dilliard
Faith I Kusko
Ricardo F Bolognia
Salvatore X Figeroa
Misaki G Wieser
Leja R Flosi
Misaki H Dilliard
Mayumi F Maclead
Jones K Bowley
James B Royster
David X Paprocki
Costa D Caudy
IdCountryDate
1000Italy2026-09-19
1001Brazil2026-09-30
1002Russia2026-09-02
1003Spain2026-09-05
1004France2026-09-30
1005Italy2026-09-09
1006Russia2026-09-11
1007Japan2026-09-26
1008Argentina2026-09-08
1009France2026-09-24
1010India2026-09-22
1011Russia2026-10-01
1012United Kingdom2026-09-07
1013Italy2026-09-20
1014Australia2026-09-12
1015Japan2026-09-25
1016Argentina2026-09-18
1017Italy2026-09-08
1018Russia2026-09-27
1019India2026-09-06
1020Spain2026-10-01
1021Italy2026-09-06
1022India2026-09-10
1023Canada2026-10-01
1024Australia2026-09-02
1025United Kingdom2026-09-07
1026France2026-09-13
1027United Kingdom2026-09-20
1028Italy2026-09-18
1029Brazil2026-09-19
1030Germany2026-09-02
1031Germany2026-09-06
1032Argentina2026-09-08
1033Brazil2026-09-13
1034Japan2026-09-14
1035Australia2026-09-21
1036Germany2026-09-07
1037Australia2026-09-09
1038United Kingdom2026-09-13
1039India2026-09-09
1040Japan2026-09-10
1041Argentina2026-09-09
1042Spain2026-09-12
1043Canada2026-09-16
1044Brazil2026-09-13
1045Japan2026-09-08
1046United Kingdom2026-09-22
1047Brazil2026-09-10
1048India2026-09-27
1049Brazil2026-09-05

On-Demand Data

NameIdCountryDate
Jefferson U Wieser1000Canada2026-09-09
Emily W Wieser1001Japan2026-09-18
Jeanfrancois H Ruta1002Italy2026-09-25
Mayumi S Inouye1003Italy2026-10-01
Misaki X Albares1004Japan2026-09-13
Greenwood A Kolmetz1005United Kingdom2026-09-10
Octavia G Darakjy1006India2026-09-11
Morrow L Stenseth1007India2026-09-09
Jones T Darakjy1008Brazil2026-09-09
Jennifer G Caldarera1009Canada2026-09-17
Chavez Z Sergi1010Australia2026-09-16
Emily V Nestle1011Germany2026-09-30
Ashley S Ruta1012Italy2026-09-25
Francesco I Foller1013India2026-09-11
James M Shinko1014Japan2026-09-10
Jones B Bowley1015Japan2026-10-01
Johnson Z Saylors1016Russia2026-09-21
Jefferson Y Chui1017Japan2026-09-23
Darci U Kusko1018Brazil2026-09-08
Octavia T Albares1019Germany2026-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco W WieserSpainAsiya Javayant QUALIFIED
Silvio D GauchoAustraliaElwin Sharvill PROPOSAL
Chavez T NestleJapanStephen Shaw NEGOTIATION
Stacey F SchemmerAustraliaBernardo Dominic QUALIFIED
Nicolas Q SchemmerAustraliaAnna Fali QUALIFIED
Arvin G ButtUnited KingdomXuxue Feng PROPOSAL
Morrow M WaycottIndiaAsiya Javayant QUALIFIED
Ricardo F PerinBrazilXuxue Feng PROPOSAL
Alejandro B CaudyBrazilBernardo Dominic PROPOSAL
Julie E StockhamRussiaAnna Fali QUALIFIED
Smith D MaletJapanAsiya Javayant UNQUALIFIED
Jefferson Q PaprockiSpainOnyama Limba QUALIFIED
Jefferson V AlbaresBrazilXuxue Feng NEW
Aruna S StensethFranceIoni Bowcher NEW
James X StockhamJapanOnyama Limba NEGOTIATION
Faith J SergiBrazilXuxue Feng UNQUALIFIED
Darci U IturbideItalyAmy Elsner NEW
Emily G FlosiAustraliaAnna Fali QUALIFIED
Emily C BologniaCanadaOnyama Limba UNQUALIFIED
Julie I RulapaughAustraliaIoni Bowcher QUALIFIED
Greenwood J GarufiFranceOnyama Limba RENEWAL
Jefferson S SchemmerFranceOnyama Limba UNQUALIFIED
Ashley F AlbaresAustraliaXuxue Feng QUALIFIED
Faith J DarakjyBrazilXuxue Feng NEGOTIATION
Leon O CaldareraJapanOnyama Limba QUALIFIED
Juan N MorascaJapanOnyama Limba UNQUALIFIED
Greenwood H IturbideSpainAnna Fali PROPOSAL
Ivar L ShinkoBrazilIvan Magalhaes RENEWAL
Adams Q TollnerGermanyAmy Elsner NEGOTIATION
Juan W GlickBrazilStephen Shaw NEGOTIATION
Leja T KuskoCanadaAmy Elsner RENEWAL
Jones I VocelkaArgentinaAnna Fali UNQUALIFIED
Nicolas W WieserJapanStephen Shaw QUALIFIED
Ivar F GarufiJapanBernardo Dominic NEGOTIATION
Maria X FigeroaAustraliaBernardo Dominic NEW
Maria Z CampainIndiaAnna Fali UNQUALIFIED
Julie U RutaItalyOnyama Limba NEW
Greenwood E FollerRussiaStephen Shaw RENEWAL
Ivar I SchemmerIndiaAmy Elsner UNQUALIFIED
Leja A GlickIndiaAnna Fali 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>