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
Mayumi O FigeroaIndiaAmy Elsner NEGOTIATION
Adams N ShinkoUnited KingdomStephen Shaw RENEWAL
Claire F DilliardUnited KingdomAnna Fali RENEWAL
Francesco N CaudyUnited KingdomElwin Sharvill PROPOSAL
Deepesh J MaletBrazilAmy Elsner NEW
Aika F MacleadItalyAsiya Javayant NEW
Sinclair H GauchoSpainAmy Elsner UNQUALIFIED
Murillo J RoysterSpainIvan Magalhaes UNQUALIFIED
Leon J FlosiIndiaAmy Elsner NEW
Octavia C GarufiCanadaBernardo Dominic QUALIFIED
Jeanfrancois S KuskoIndiaAmy Elsner NEW
Ivar C MaletRussiaIoni Bowcher RENEWAL
Jefferson C InouyeSpainAnna Fali NEW
Smith I ButtSpainElwin Sharvill PROPOSAL
Kaitlin F MorascaGermanyAmy Elsner NEW
Rodrigues R RimItalyBernardo Dominic QUALIFIED
Claire K OldroydArgentinaAnna Fali NEW
Ashley K DoeJapanIoni Bowcher QUALIFIED
James B CaldareraRussiaIvan Magalhaes QUALIFIED
Clifford K FlosiUnited KingdomElwin Sharvill NEGOTIATION
Murillo R NestleItalyIoni Bowcher NEW
Kadeem B NickaFranceAnna Fali UNQUALIFIED
David S BologniaBrazilIoni Bowcher RENEWAL
Aruna O SlusarskiArgentinaOnyama Limba RENEWAL
Kadeem L PaprockiGermanyBernardo Dominic NEGOTIATION
Ivar Y KolmetzIndiaXuxue Feng QUALIFIED
Rodrigues G NestleRussiaStephen Shaw NEW
Darci W MaletFranceStephen Shaw QUALIFIED
Isabel X OldroydSpainIvan Magalhaes PROPOSAL
Tony K SergiItalyAmy Elsner QUALIFIED
Julie J SergiUnited KingdomAsiya Javayant PROPOSAL
Maria R FigeroaCanadaElwin Sharvill NEW
Emily H WaycottUnited KingdomAsiya Javayant NEW
Francesco Q OstroskyArgentinaAnna Fali PROPOSAL
Stacey Y VenereIndiaAnna Fali PROPOSAL
Julie M FerenczBrazilOnyama Limba NEGOTIATION
Julie C PaprockiCanadaAmy Elsner NEGOTIATION
Aika I SergiArgentinaAnna Fali PROPOSAL
Nicolas N VocelkaBrazilIvan Magalhaes RENEWAL
Darci I MaletRussiaXuxue Feng PROPOSAL
Arvin W FerenczIndiaXuxue Feng UNQUALIFIED
Arvin J DoeFranceStephen Shaw RENEWAL
Jefferson C OstroskyCanadaStephen Shaw RENEWAL
Rodrigues I VocelkaFranceIoni Bowcher RENEWAL
Salvatore S NestleCanadaAmy Elsner RENEWAL
Darci E WaycottGermanyOnyama Limba UNQUALIFIED
Alejandro V MacleadSpainAnna Fali NEGOTIATION
Greenwood G StensethFranceAsiya Javayant UNQUALIFIED
Antonio M FollerIndiaAnna Fali NEGOTIATION
Munro F GlickIndiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Francesco V DilliardAustraliaBernardo Dominic PROPOSAL
Ashley T InouyeRussiaOnyama Limba PROPOSAL
Juan Q SlusarskiItalyXuxue Feng QUALIFIED
Adams Q BriddickIndiaElwin Sharvill NEGOTIATION
Misaki T IturbideIndiaIvan Magalhaes NEGOTIATION
Deepesh K FerenczGermanyBernardo Dominic RENEWAL
Kaitlin M GarufiSpainIvan Magalhaes QUALIFIED
Julie M SaylorsFranceIoni Bowcher RENEWAL
Adams R TollnerBrazilBernardo Dominic PROPOSAL
Cody T OldroydGermanyElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan H VocelkaCanada2026-10-19Buckley Miller Wright QUALIFIED86Bernardo Dominic
1001Chavez K BowleyJapan2026-10-09Morlong Associates NEGOTIATION52Onyama Limba
1002Cody F SlusarskiUnited Kingdom2026-10-04Chemel, James L Cpa RENEWAL95Amy Elsner
1003Wickens O GlickFrance2026-10-14King, Christopher A Esq NEW9Elwin Sharvill
1004Jeanfrancois T ShinkoCanada2026-10-23Rousseaux, Michael Esq UNQUALIFIED23Amy Elsner
1005Aruna H SchemmerUnited Kingdom2026-10-10Dorl, James J Esq NEW6Asiya Javayant
1006Faith V DoeIndia2026-10-17Printing Dimensions NEW38Ivan Magalhaes
1007Leja C WaycottItaly2026-10-08Chemel, James L Cpa UNQUALIFIED22Asiya Javayant
1008Cody N IturbideBrazil2026-10-23Chapman, Ross E Esq QUALIFIED90Stephen Shaw
1009Isabel F KolmetzAustralia2026-10-15Feiner Bros NEW22Xuxue Feng
1010Adams O RulapaughUnited Kingdom2026-10-24Benton, John B Jr NEW34Stephen Shaw
1011Antonio I TollnerIndia2026-10-24Truhlar And Truhlar Attys PROPOSAL29Ivan Magalhaes
1012Maisha P NestleRussia2026-10-06Chanay, Jeffrey A Esq PROPOSAL99Ioni Bowcher
1013Isabel U FigeroaItaly2026-10-17Buckley Miller Wright RENEWAL39Asiya Javayant
1014Jefferson O GarufiArgentina2026-09-30Rangoni Of Florence RENEWAL61Onyama Limba
1015Smith Q FlosiArgentina2026-10-06Dorl, James J Esq QUALIFIED37Stephen Shaw
1016Murillo O FigeroaArgentina2026-10-02Chanay, Jeffrey A Esq RENEWAL53Anna Fali
1017David W GauchoUnited Kingdom2026-10-24Chanay, Jeffrey A Esq QUALIFIED31Anna Fali
1018Ivar I OldroydUnited Kingdom2026-10-18Feiner Bros QUALIFIED94Ioni Bowcher
1019Chavez A NickaSpain2026-10-22Rangoni Of Florence UNQUALIFIED89Amy Elsner
1020Jennifer F RoysterUnited Kingdom2026-10-23King, Christopher A Esq QUALIFIED9Onyama Limba
1021Claire S VenereGermany2026-10-18Rousseaux, Michael Esq RENEWAL95Stephen Shaw
1022Greenwood P CaldareraRussia2026-10-20Truhlar And Truhlar Attys PROPOSAL66Elwin Sharvill
1023Tony S FigeroaJapan2026-10-28Chapman, Ross E Esq PROPOSAL69Amy Elsner
1024Alejandro J SergiItaly2026-10-22Commercial Press UNQUALIFIED82Elwin Sharvill
1025Ivar X FollerJapan2026-10-01King, Christopher A Esq NEW8Stephen Shaw
1026Octavia L WhobreyRussia2026-10-12Dorl, James J Esq UNQUALIFIED89Onyama Limba
1027Francesco C ButtCanada2026-10-20King, Christopher A Esq RENEWAL12Onyama Limba
1028Jennifer K ShinkoJapan2026-10-13Feltz Printing Service RENEWAL71Stephen Shaw
1029Cody N CaudyAustralia2026-10-13Benton, John B Jr NEW67Anna Fali
1030Smith O DoeArgentina2026-10-04Rousseaux, Michael Esq PROPOSAL48Elwin Sharvill
1031Leja R DoeItaly2026-10-09Buckley Miller Wright RENEWAL37Anna Fali
1032Kaitlin G CaudyArgentina2026-10-20Feltz Printing Service UNQUALIFIED92Ioni Bowcher
1033Adams P BowleyIndia2026-10-24Rangoni Of Florence UNQUALIFIED1Bernardo Dominic
1034Sinclair K SchemmerUnited Kingdom2026-10-18Chemel, James L Cpa RENEWAL77Elwin Sharvill
1035Smith H OldroydFrance2026-10-14Feiner Bros NEW25Ioni Bowcher
1036Kadeem C SaylorsBrazil2026-10-18Feiner Bros RENEWAL15Amy Elsner
1037Tony D MacleadRussia2026-10-28Dorl, James J Esq NEGOTIATION84Stephen Shaw
1038Johnson G SchemmerArgentina2026-10-08Feiner Bros UNQUALIFIED44Stephen Shaw
1039Cody V MaletJapan2026-10-06Commercial Press NEGOTIATION55Stephen Shaw
1040Misaki A MaletCanada2026-10-21Dorl, James J Esq NEW88Asiya Javayant
1041Clifford S CampainUnited Kingdom2026-10-10Chemel, James L Cpa UNQUALIFIED7Ivan Magalhaes
1042Murillo S DoeAustralia2026-10-21Benton, John B Jr QUALIFIED9Anna Fali
1043Aruna D MacleadGermany2026-10-24Rousseaux, Michael Esq NEGOTIATION68Asiya Javayant
1044Julie V KuskoArgentina2026-10-12Feltz Printing Service PROPOSAL53Ioni Bowcher
1045Jones Z CaldareraCanada2026-10-04Printing Dimensions PROPOSAL4Stephen Shaw
1046Kaitlin L OldroydItaly2026-10-09Chemel, James L Cpa RENEWAL77Amy Elsner
1047Aruna V PerinSpain2026-10-05Buckley Miller Wright NEW57Ioni Bowcher
1048Izzy R TollnerFrance2026-10-25Rousseaux, Michael Esq QUALIFIED81Elwin Sharvill
1049Chavez A SergiAustralia2026-10-06Benton, John B Jr NEW51Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Octavia H KuskoUnited KingdomBernardo Dominic NEW
Murillo A RoysterIndiaAsiya Javayant QUALIFIED
Jennifer E BowleyRussiaBernardo Dominic PROPOSAL
Kadeem G VocelkaAustraliaXuxue Feng NEGOTIATION
Misaki N RoysterRussiaOnyama Limba QUALIFIED
Morrow P GauchoSpainBernardo Dominic QUALIFIED
Greenwood L SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Arvin H MarrierCanadaIvan Magalhaes QUALIFIED
Maria T WaycottIndiaStephen Shaw RENEWAL
Misaki W SaylorsGermanyBernardo Dominic NEGOTIATION
Ricardo S CaldareraJapanAnna Fali NEGOTIATION
Aditya N ChuiArgentinaXuxue Feng NEW
Johnson V KolmetzGermanyBernardo Dominic QUALIFIED
Kaitlin H DarakjyCanadaAnna Fali NEGOTIATION
Misaki S KolmetzGermanyXuxue Feng UNQUALIFIED
Claire L WieserUnited KingdomAnna Fali PROPOSAL
Costa S BriddickAustraliaIoni Bowcher PROPOSAL
Izzy U ShinkoFranceAnna Fali RENEWAL
Francesco D PoquetteRussiaStephen Shaw NEW
Darci A CaudyUnited KingdomXuxue Feng NEW
Misaki J BriddickGermanyXuxue Feng NEW
Misaki H DarakjyArgentinaAmy Elsner PROPOSAL
Jones W NestleJapanIvan Magalhaes NEGOTIATION
Jeanfrancois Z PerinAustraliaStephen Shaw NEGOTIATION
Murillo Y BriddickFranceIoni Bowcher NEW
Kadeem J ButtGermanyAsiya Javayant QUALIFIED
Arvin D RutaJapanStephen Shaw RENEWAL
Maisha C SlusarskiArgentinaOnyama Limba PROPOSAL
Leja C VenereGermanyIvan Magalhaes RENEWAL
Jeanfrancois U MaletGermanyElwin Sharvill UNQUALIFIED
Faith A PerinRussiaXuxue Feng NEGOTIATION
Leja O KuskoUnited KingdomIvan Magalhaes NEW
Francesco J SlusarskiRussiaAsiya Javayant NEGOTIATION
Cody P GauchoBrazilAsiya Javayant NEW
Costa A FerenczArgentinaAsiya Javayant QUALIFIED
Johnson L VocelkaFranceAsiya Javayant NEW
Leja Z CaudyBrazilXuxue Feng NEW
David G GlickUnited KingdomAmy Elsner NEGOTIATION
Ivar E StensethJapanStephen Shaw RENEWAL
Aruna S FlosiArgentinaAnna Fali PROPOSAL
Jeanfrancois I RoysterIndiaXuxue Feng QUALIFIED
Antonio A BologniaFranceElwin Sharvill NEW
Jeanfrancois M SaylorsItalyIoni Bowcher UNQUALIFIED
Misaki M ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Faith H AlbaresUnited KingdomOnyama Limba RENEWAL
Kaitlin R OstroskyGermanyAsiya Javayant PROPOSAL
Salvatore K AmigonItalyBernardo Dominic UNQUALIFIED
Sinclair C FollerIndiaElwin Sharvill NEGOTIATION
Johnson O RutaRussiaIoni Bowcher NEGOTIATION
Jeanfrancois C DilliardCanadaAnna Fali PROPOSAL
Frozen Columns
Name
Izzy L Ruta
Arvin S Paprocki
Mujtaba V Sergi
Munro T Campain
Mayumi C Malet
Kadeem M Sergi
Greenwood B Schemmer
Julie O Campain
Jones K Briddick
Aika J Foller
Johnson N Shinko
Jones B Rim
Nicolas G Glick
Claire T Gillian
Greenwood I Glick
Antonio F Wieser
Faith U Saylors
Sinclair J Caudy
Leja B Morasca
Munro I Rim
Aditya O Nestle
Rodrigues A Iturbide
Maria Y Kolmetz
Juan V Briddick
Julie U Perin
Smith I Paprocki
Munro C Perin
Rodrigues U Schemmer
Jeanfrancois E Nicka
Sinclair P Albares
Maisha X Nestle
Ashley I Saylors
Maria P Nestle
Adams P Malet
Octavia H Saylors
Leja K Sergi
Salvatore I Glick
Octavia C Paprocki
Leon S Waycott
Claire E Albares
Jeanfrancois V Garufi
Aika V Malet
Faith U Gillian
Maisha X Caudy
Salvatore G Bolognia
Maria C Doe
Arvin D Garufi
Chavez T Figeroa
Misaki V Chui
Antonio L Bolognia
IdCountryDate
1000Spain2026-09-30
1001Italy2026-10-20
1002India2026-10-27
1003Australia2026-10-08
1004Italy2026-10-10
1005Russia2026-10-09
1006Argentina2026-10-08
1007France2026-10-06
1008Spain2026-10-19
1009Germany2026-10-29
1010Russia2026-10-13
1011Japan2026-10-26
1012India2026-10-03
1013Australia2026-10-17
1014Argentina2026-10-13
1015India2026-10-26
1016Canada2026-10-07
1017Russia2026-10-19
1018Australia2026-10-27
1019Spain2026-10-13
1020Australia2026-10-18
1021Spain2026-10-03
1022Germany2026-09-30
1023Argentina2026-09-30
1024Brazil2026-10-17
1025Brazil2026-10-02
1026India2026-10-03
1027Russia2026-10-11
1028Russia2026-10-02
1029Australia2026-10-21
1030Australia2026-10-18
1031India2026-10-13
1032Germany2026-10-29
1033Spain2026-10-02
1034France2026-10-10
1035United Kingdom2026-10-16
1036Russia2026-10-27
1037Australia2026-10-16
1038Germany2026-10-03
1039Brazil2026-10-03
1040United Kingdom2026-10-27
1041France2026-10-26
1042Spain2026-10-14
1043Italy2026-10-07
1044Argentina2026-10-04
1045Argentina2026-10-12
1046United Kingdom2026-10-21
1047Italy2026-10-19
1048Italy2026-10-15
1049Brazil2026-10-26

On-Demand Data

NameIdCountryDate
Maisha F Dilliard1000France2026-10-05
Jones U Caldarera1001Brazil2026-10-18
Wickens M Royster1002Italy2026-10-20
Leon N Dilliard1003Argentina2026-10-20
Ricardo O Amigon1004India2026-10-16
Deepesh B Chui1005India2026-10-26
Mayumi N Bolognia1006France2026-10-04
Aditya E Caudy1007Japan2026-10-21
Ivar R Dilliard1008Argentina2026-10-16
Adams C Caudy1009France2026-10-07
Isabel P Flosi1010India2026-10-21
Francesco J Doe1011Germany2026-10-19
Clifford J Foller1012Russia2026-10-17
Darci M Glick1013Italy2026-10-16
James N Darakjy1014India2026-10-09
Smith B Stockham1015Spain2026-10-15
Silvio Y Figeroa1016Argentina2026-10-04
Salvatore J Chui1017Argentina2026-10-23
Cody X Bowley1018Canada2026-10-21
Sinclair P Bowley1019Japan2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire J PoquetteUnited KingdomAnna Fali QUALIFIED
Ashley E RutaBrazilAsiya Javayant RENEWAL
Aditya U KolmetzBrazilXuxue Feng UNQUALIFIED
Deepesh N BriddickIndiaElwin Sharvill NEGOTIATION
Costa B ButtCanadaAnna Fali RENEWAL
Rodrigues N DilliardGermanyAnna Fali NEW
Tony D AmigonSpainStephen Shaw UNQUALIFIED
Tony G TollnerGermanyAsiya Javayant UNQUALIFIED
Salvatore T KolmetzBrazilAmy Elsner NEW
Munro I MaletIndiaStephen Shaw PROPOSAL
James T PoquetteArgentinaIoni Bowcher NEGOTIATION
Ivar B InouyeGermanyElwin Sharvill PROPOSAL
Rodrigues E WieserUnited KingdomAmy Elsner RENEWAL
Alejandro S SlusarskiJapanAnna Fali PROPOSAL
Munro N PoquetteBrazilIoni Bowcher UNQUALIFIED
Salvatore U VocelkaSpainAsiya Javayant RENEWAL
Ivar W CaldareraGermanyAnna Fali NEGOTIATION
Greenwood C StockhamItalyOnyama Limba UNQUALIFIED
Mayumi U CaudyFranceAsiya Javayant UNQUALIFIED
James P PerinUnited KingdomAmy Elsner QUALIFIED
Smith I PaprockiJapanAnna Fali QUALIFIED
Cody W FollerItalyAnna Fali NEGOTIATION
Greenwood I MarrierRussiaOnyama Limba RENEWAL
Aditya B BologniaRussiaXuxue Feng PROPOSAL
Deepesh H RulapaughSpainAnna Fali QUALIFIED
Deepesh X OstroskyUnited KingdomElwin Sharvill RENEWAL
Jefferson U IturbideFranceIvan Magalhaes NEGOTIATION
Francesco L OstroskyRussiaAsiya Javayant NEW
Mayumi E ChuiCanadaBernardo Dominic PROPOSAL
Isabel P AmigonSpainIoni Bowcher NEGOTIATION
Jennifer B StockhamIndiaIoni Bowcher PROPOSAL
Octavia O ChuiAustraliaAsiya Javayant RENEWAL
Wickens X BowleyUnited KingdomIvan Magalhaes NEW
James J FlosiFranceAsiya Javayant NEGOTIATION
Octavia Z ShinkoFranceAmy Elsner RENEWAL
Mujtaba N ShinkoSpainAmy Elsner QUALIFIED
Cody O NickaCanadaOnyama Limba RENEWAL
Deepesh Q FlosiAustraliaAnna Fali NEGOTIATION
Stacey S AlbaresJapanOnyama Limba PROPOSAL
Misaki V DoeItalyOnyama Limba PROPOSAL

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