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 FollerSpainElwin Sharvill NEGOTIATION
Jones M BologniaJapanXuxue Feng NEW
Aditya U IturbideBrazilStephen Shaw NEW
Faith O PaprockiBrazilIvan Magalhaes NEGOTIATION
Jones E IturbideAustraliaBernardo Dominic NEGOTIATION
Ivar W RutaRussiaXuxue Feng PROPOSAL
Aika X DoeJapanAsiya Javayant UNQUALIFIED
Murillo J DarakjyIndiaAnna Fali QUALIFIED
Wickens L RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Cody L NickaBrazilElwin Sharvill UNQUALIFIED
Arvin X TollnerCanadaXuxue Feng QUALIFIED
Leon A BologniaRussiaIvan Magalhaes UNQUALIFIED
Antonio C MorascaSpainBernardo Dominic QUALIFIED
Aditya F FerenczUnited KingdomAsiya Javayant NEW
Munro I GlickArgentinaAnna Fali NEGOTIATION
Juan L IturbideJapanIvan Magalhaes RENEWAL
Maria V GauchoIndiaIvan Magalhaes NEW
Salvatore Q StockhamItalyAnna Fali UNQUALIFIED
Jeanfrancois O AmigonIndiaIoni Bowcher PROPOSAL
Izzy M FlosiJapanBernardo Dominic PROPOSAL
Greenwood W FollerIndiaAmy Elsner UNQUALIFIED
Aditya V IturbideJapanElwin Sharvill NEGOTIATION
Murillo B TollnerFranceXuxue Feng RENEWAL
Clifford M PoquetteBrazilIvan Magalhaes QUALIFIED
Munro F BowleyRussiaXuxue Feng UNQUALIFIED
Claire S RulapaughFranceXuxue Feng NEW
Ashley A KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Maisha R PoquetteBrazilBernardo Dominic RENEWAL
Cody W PaprockiFranceIvan Magalhaes RENEWAL
Munro G VocelkaRussiaStephen Shaw QUALIFIED
Jefferson P RulapaughAustraliaElwin Sharvill RENEWAL
Maisha L BriddickBrazilIvan Magalhaes NEGOTIATION
Faith Z FollerBrazilIoni Bowcher RENEWAL
Cody E InouyeRussiaAsiya Javayant NEW
Ashley O ShinkoAustraliaIoni Bowcher NEW
Isabel N AlbaresBrazilStephen Shaw UNQUALIFIED
Francesco C MaletItalyIoni Bowcher PROPOSAL
Leja B PerinAustraliaElwin Sharvill PROPOSAL
Stacey Y GarufiIndiaXuxue Feng NEGOTIATION
Julie D ButtBrazilXuxue Feng UNQUALIFIED
Misaki K TollnerAustraliaAnna Fali QUALIFIED
Rodrigues R NestleSpainAmy Elsner UNQUALIFIED
Chavez C MarrierCanadaXuxue Feng RENEWAL
Murillo O CaudyRussiaIvan Magalhaes QUALIFIED
Silvio T OstroskyJapanIvan Magalhaes UNQUALIFIED
Deepesh R MacleadArgentinaAmy Elsner NEW
Tony I SchemmerIndiaElwin Sharvill UNQUALIFIED
Aditya Z SchemmerSpainXuxue Feng NEW
Juan R GillianAustraliaElwin Sharvill NEW
Smith V VocelkaAustraliaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Chavez Y MaletItalyIvan Magalhaes QUALIFIED
Darci D RulapaughBrazilIvan Magalhaes PROPOSAL
Ashley J SchemmerCanadaXuxue Feng UNQUALIFIED
Morrow H StensethJapanIoni Bowcher NEW
Nicolas R PerinArgentinaBernardo Dominic NEGOTIATION
Ricardo S StensethArgentinaBernardo Dominic QUALIFIED
Ashley Z GauchoSpainXuxue Feng QUALIFIED
Ricardo B CampainIndiaOnyama Limba PROPOSAL
Tony Z CaudyAustraliaXuxue Feng UNQUALIFIED
Arvin D CampainFranceIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco I SlusarskiBrazil2026-09-03Feltz Printing Service NEGOTIATION8Stephen Shaw
1001Kaitlin L CaldareraCanada2026-09-04Feiner Bros NEW8Ivan Magalhaes
1002Leon I CaudyAustralia2026-09-05Printing Dimensions QUALIFIED91Anna Fali
1003Kadeem I NickaGermany2026-09-02Rousseaux, Michael Esq NEW50Asiya Javayant
1004Maria V RulapaughItaly2026-09-09Rangoni Of Florence UNQUALIFIED38Bernardo Dominic
1005Emily Y InouyeAustralia2026-09-16Chapman, Ross E Esq NEGOTIATION55Bernardo Dominic
1006Leon B StensethJapan2026-09-14King, Christopher A Esq RENEWAL97Xuxue Feng
1007Juan Y NestleArgentina2026-09-10Dorl, James J Esq NEW34Bernardo Dominic
1008Isabel B AlbaresSpain2026-08-26King, Christopher A Esq NEGOTIATION36Ioni Bowcher
1009Francesco N CaldareraAustralia2026-08-26Printing Dimensions UNQUALIFIED72Anna Fali
1010Salvatore G MacleadItaly2026-09-14King, Christopher A Esq QUALIFIED97Asiya Javayant
1011Adams N SchemmerCanada2026-09-13Chemel, James L Cpa QUALIFIED47Stephen Shaw
1012Clifford U WhobreyJapan2026-09-20King, Christopher A Esq QUALIFIED13Amy Elsner
1013Costa I MorascaUnited Kingdom2026-09-20Feiner Bros QUALIFIED74Elwin Sharvill
1014Alejandro P RoysterItaly2026-09-14Buckley Miller Wright NEW38Bernardo Dominic
1015Julie A ChuiAustralia2026-09-03Buckley Miller Wright PROPOSAL94Stephen Shaw
1016Antonio W PaprockiItaly2026-08-26Rangoni Of Florence UNQUALIFIED77Amy Elsner
1017Cody C SchemmerIndia2026-09-12Rousseaux, Michael Esq QUALIFIED72Bernardo Dominic
1018Kaitlin Q KuskoGermany2026-09-10Dorl, James J Esq QUALIFIED30Anna Fali
1019Adams S DilliardGermany2026-09-04Chapman, Ross E Esq PROPOSAL26Anna Fali
1020Deepesh N CampainJapan2026-09-19Printing Dimensions PROPOSAL50Onyama Limba
1021Aruna K VenereCanada2026-08-28Rousseaux, Michael Esq RENEWAL32Ivan Magalhaes
1022Emily S DarakjyItaly2026-09-05Rousseaux, Michael Esq UNQUALIFIED94Anna Fali
1023Ricardo O RutaSpain2026-09-07Feiner Bros PROPOSAL61Anna Fali
1024Adams K WieserCanada2026-08-24Morlong Associates NEGOTIATION85Ioni Bowcher
1025Jennifer R PoquetteCanada2026-09-02Chanay, Jeffrey A Esq QUALIFIED52Elwin Sharvill
1026Faith S GarufiItaly2026-09-16Benton, John B Jr QUALIFIED25Amy Elsner
1027Salvatore L NickaItaly2026-09-03Feltz Printing Service QUALIFIED82Elwin Sharvill
1028Nicolas S GillianFrance2026-09-04Chanay, Jeffrey A Esq NEGOTIATION18Stephen Shaw
1029Aditya B RulapaughJapan2026-09-15King, Christopher A Esq QUALIFIED71Anna Fali
1030Wickens U GillianArgentina2026-09-08Commercial Press NEW23Bernardo Dominic
1031Costa P BowleySpain2026-09-14Feltz Printing Service QUALIFIED87Ioni Bowcher
1032Salvatore E VocelkaGermany2026-09-16Printing Dimensions RENEWAL17Ivan Magalhaes
1033Isabel L RoysterIndia2026-09-09Feltz Printing Service RENEWAL31Xuxue Feng
1034Ricardo W TollnerArgentina2026-08-26Rangoni Of Florence NEGOTIATION68Onyama Limba
1035Izzy E SlusarskiGermany2026-09-14Morlong Associates NEGOTIATION13Asiya Javayant
1036Juan Z ChuiFrance2026-09-04Rousseaux, Michael Esq RENEWAL67Ioni Bowcher
1037Morrow J RoysterFrance2026-08-25Feltz Printing Service UNQUALIFIED79Amy Elsner
1038Ricardo S PaprockiSpain2026-08-23Truhlar And Truhlar Attys NEW0Asiya Javayant
1039Greenwood P ButtSpain2026-09-19Dorl, James J Esq PROPOSAL77Onyama Limba
1040Johnson M FollerCanada2026-09-14Printing Dimensions UNQUALIFIED53Ivan Magalhaes
1041Izzy B RimCanada2026-08-23Truhlar And Truhlar Attys NEGOTIATION67Ivan Magalhaes
1042Chavez X BowleyCanada2026-09-07Feiner Bros UNQUALIFIED93Elwin Sharvill
1043Ashley Y GillianJapan2026-09-19Benton, John B Jr UNQUALIFIED42Asiya Javayant
1044Alejandro U WhobreyFrance2026-09-17Benton, John B Jr NEW4Asiya Javayant
1045Clifford F StensethArgentina2026-09-02Chemel, James L Cpa QUALIFIED9Anna Fali
1046Sinclair X DoeArgentina2026-09-04Printing Dimensions RENEWAL23Stephen Shaw
1047Mayumi V FlosiUnited Kingdom2026-09-13Chemel, James L Cpa QUALIFIED87Amy Elsner
1048Claire K FigeroaJapan2026-08-26Buckley Miller Wright NEW7Asiya Javayant
1049Salvatore G DoeItaly2026-08-24Chanay, Jeffrey A Esq PROPOSAL23Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Clifford R MarrierFranceIoni Bowcher PROPOSAL
Jeanfrancois F WaycottGermanyOnyama Limba PROPOSAL
Rodrigues C OldroydArgentinaOnyama Limba UNQUALIFIED
Arvin H FollerBrazilOnyama Limba NEW
Jefferson C DarakjyRussiaBernardo Dominic UNQUALIFIED
Nicolas P FollerAustraliaAnna Fali NEW
Wickens B RoysterRussiaOnyama Limba RENEWAL
Darci P FollerIndiaBernardo Dominic UNQUALIFIED
Leja B RimSpainIoni Bowcher NEW
Isabel G AlbaresBrazilElwin Sharvill NEW
Izzy D FollerSpainXuxue Feng NEW
Chavez A ShinkoRussiaElwin Sharvill PROPOSAL
Morrow W SchemmerFranceAsiya Javayant UNQUALIFIED
Smith C SchemmerIndiaAnna Fali NEW
Deepesh G PaprockiIndiaOnyama Limba QUALIFIED
Ricardo L InouyeBrazilIoni Bowcher NEGOTIATION
Misaki S VenereItalyXuxue Feng UNQUALIFIED
Isabel K CaldareraAustraliaIvan Magalhaes NEGOTIATION
Alejandro Z MacleadArgentinaXuxue Feng NEW
Mujtaba C WhobreyRussiaStephen Shaw RENEWAL
Alejandro Z RimUnited KingdomBernardo Dominic QUALIFIED
Silvio O GarufiIndiaAnna Fali UNQUALIFIED
Julie Q CaudyAustraliaElwin Sharvill RENEWAL
Kadeem U GauchoArgentinaAmy Elsner RENEWAL
Juan F ChuiCanadaAmy Elsner QUALIFIED
Jefferson I WieserJapanIoni Bowcher UNQUALIFIED
Aruna R CaldareraIndiaAnna Fali NEGOTIATION
Isabel T MaletItalyStephen Shaw RENEWAL
Johnson Q OldroydRussiaAnna Fali QUALIFIED
Jennifer U CaldareraArgentinaBernardo Dominic NEW
Mujtaba P CaudyArgentinaAsiya Javayant UNQUALIFIED
Munro C InouyeRussiaAsiya Javayant RENEWAL
Isabel M GarufiCanadaBernardo Dominic PROPOSAL
Arvin Y KolmetzJapanElwin Sharvill NEW
Ricardo C BowleyFranceAnna Fali PROPOSAL
Leon K MorascaFranceElwin Sharvill RENEWAL
Cody I BowleyAustraliaOnyama Limba NEGOTIATION
Chavez I KolmetzItalyStephen Shaw PROPOSAL
Emily R StockhamAustraliaAnna Fali QUALIFIED
Claire V OstroskyIndiaAmy Elsner UNQUALIFIED
Cody I ButtCanadaBernardo Dominic NEW
Wickens X KuskoRussiaIoni Bowcher NEGOTIATION
Aruna B StensethCanadaElwin Sharvill QUALIFIED
Juan Z GarufiCanadaAsiya Javayant RENEWAL
Greenwood Z ShinkoItalyAnna Fali UNQUALIFIED
Emily M VocelkaArgentinaOnyama Limba NEW
Arvin Q GarufiCanadaOnyama Limba QUALIFIED
Munro G GlickFranceAmy Elsner PROPOSAL
Izzy D FerenczJapanAmy Elsner NEW
Izzy Y IturbideBrazilIoni Bowcher NEGOTIATION
Frozen Columns
Name
Leja U Caudy
Rodrigues V Kusko
Ricardo S Ruta
Silvio N Chui
Kadeem Z Saylors
Emily L Paprocki
Alejandro Q Albares
Ivar U Whobrey
Salvatore F Garufi
Smith E Nicka
Ricardo G Saylors
Nicolas N Flosi
Ricardo P Ostrosky
Octavia G Whobrey
Arvin C Figeroa
Jones G Vocelka
Izzy V Wieser
Jennifer P Garufi
Aika O Marrier
Nicolas N Rim
Nicolas H Stenseth
Octavia Y Marrier
Ashley G Malet
Aruna C Butt
Leja D Nicka
Aika R Amigon
Morrow F Marrier
Deepesh S Kolmetz
Mujtaba J Ferencz
Leon E Nestle
Jones R Caudy
Julie X Shinko
Jennifer N Garufi
Leon Y Malet
Isabel T Venere
James O Flosi
Claire N Bowley
Tony Z Albares
David M Caudy
Aruna H Oldroyd
Arvin L Venere
Smith T Ruta
Smith Z Dilliard
Tony H Bowley
Misaki E Flosi
Mujtaba X Venere
Nicolas A Kolmetz
Kadeem Q Ferencz
Isabel Y Gillian
Arvin T Slusarski
IdCountryDate
1000Spain2026-09-13
1001France2026-08-28
1002India2026-09-16
1003Brazil2026-09-11
1004United Kingdom2026-09-17
1005India2026-09-04
1006Russia2026-09-09
1007Brazil2026-09-03
1008Japan2026-09-02
1009Brazil2026-09-17
1010Argentina2026-09-11
1011France2026-09-09
1012Italy2026-08-31
1013India2026-09-13
1014France2026-09-06
1015Germany2026-08-31
1016Germany2026-08-23
1017Japan2026-09-02
1018Russia2026-09-05
1019India2026-08-23
1020Italy2026-09-15
1021United Kingdom2026-08-29
1022Japan2026-09-03
1023Canada2026-09-10
1024United Kingdom2026-08-25
1025Brazil2026-09-04
1026Canada2026-09-05
1027Russia2026-08-25
1028India2026-08-24
1029Germany2026-09-05
1030Argentina2026-09-17
1031Japan2026-08-24
1032United Kingdom2026-09-14
1033India2026-09-11
1034France2026-08-30
1035Canada2026-08-31
1036France2026-08-26
1037United Kingdom2026-08-27
1038Argentina2026-09-19
1039Australia2026-08-30
1040United Kingdom2026-08-29
1041Germany2026-09-18
1042Australia2026-08-22
1043Italy2026-08-24
1044Italy2026-09-17
1045Brazil2026-08-26
1046United Kingdom2026-08-31
1047Spain2026-09-19
1048Russia2026-09-18
1049Argentina2026-09-07

On-Demand Data

NameIdCountryDate
Darci T Marrier1000France2026-08-23
Juan K Doe1001Australia2026-08-23
Aruna G Waycott1002Germany2026-09-17
Izzy L Albares1003France2026-08-29
Johnson Y Ferencz1004Japan2026-08-25
Clifford J Rulapaugh1005Spain2026-09-04
Maria O Poquette1006Canada2026-09-04
Smith C Ostrosky1007Spain2026-08-24
Izzy P Foller1008Argentina2026-09-02
David U Morasca1009Russia2026-09-12
Murillo W Nestle1010Canada2026-09-10
Greenwood C Marrier1011United Kingdom2026-09-14
Johnson F Poquette1012Brazil2026-09-04
Aditya T Dilliard1013France2026-09-07
Clifford A Flosi1014Brazil2026-08-27
Smith V Royster1015Brazil2026-08-26
Rodrigues X Kolmetz1016Spain2026-09-11
Greenwood R Stockham1017Germany2026-09-15
Wickens M Ferencz1018Canada2026-09-10
Misaki V Stockham1019France2026-09-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro L StensethGermanyAnna Fali PROPOSAL
Aika M DilliardArgentinaAnna Fali NEGOTIATION
Octavia R NestleAustraliaIvan Magalhaes NEGOTIATION
Wickens O SergiGermanyAmy Elsner PROPOSAL
Isabel K StensethAustraliaXuxue Feng PROPOSAL
Murillo Z PaprockiIndiaBernardo Dominic NEGOTIATION
Silvio Z AlbaresJapanAmy Elsner NEW
Leon F WhobreyUnited KingdomXuxue Feng PROPOSAL
Maria Z BriddickJapanOnyama Limba NEGOTIATION
Leon S MarrierRussiaBernardo Dominic NEW
Izzy H PerinSpainOnyama Limba NEGOTIATION
Octavia X DoeRussiaAnna Fali NEW
Silvio Q StensethCanadaAnna Fali NEGOTIATION
Aruna O WaycottBrazilAnna Fali QUALIFIED
Salvatore H FollerJapanIoni Bowcher RENEWAL
Alejandro M StockhamFranceElwin Sharvill PROPOSAL
Antonio Q BowleyFranceOnyama Limba NEW
Francesco A SlusarskiAustraliaAmy Elsner UNQUALIFIED
Stacey B PaprockiBrazilOnyama Limba PROPOSAL
Aika X RutaRussiaStephen Shaw NEGOTIATION
Munro K FerenczBrazilAsiya Javayant UNQUALIFIED
Misaki K SchemmerJapanIvan Magalhaes NEW
Johnson M MacleadRussiaIvan Magalhaes NEW
Silvio V OstroskyGermanyXuxue Feng UNQUALIFIED
James F InouyeJapanAsiya Javayant NEW
Clifford J GauchoCanadaBernardo Dominic NEGOTIATION
Jefferson M MaletItalyAsiya Javayant NEW
Chavez T SaylorsJapanStephen Shaw QUALIFIED
Francesco R FlosiBrazilAsiya Javayant UNQUALIFIED
Kaitlin U PerinGermanyIvan Magalhaes QUALIFIED
Isabel L PoquetteArgentinaOnyama Limba RENEWAL
Aruna L BologniaCanadaElwin Sharvill UNQUALIFIED
Maria Y FigeroaIndiaStephen Shaw UNQUALIFIED
Stacey E TollnerUnited KingdomOnyama Limba NEW
Juan R VenereSpainAsiya Javayant RENEWAL
Munro F KolmetzBrazilIvan Magalhaes UNQUALIFIED
Izzy E MaletJapanOnyama Limba RENEWAL
Mujtaba R KuskoSpainAsiya Javayant NEW
Octavia W BologniaIndiaOnyama Limba QUALIFIED
Mujtaba M KolmetzRussiaStephen Shaw 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>