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
Maria H NestleIndiaOnyama Limba UNQUALIFIED
Munro H KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo R FlosiGermanyAnna Fali PROPOSAL
Nicolas M FollerFranceXuxue Feng QUALIFIED
Deepesh E FerenczSpainElwin Sharvill RENEWAL
Munro H GarufiGermanyAsiya Javayant PROPOSAL
Tony L FerenczJapanIvan Magalhaes PROPOSAL
Nicolas X DilliardBrazilIoni Bowcher NEGOTIATION
Arvin T AlbaresArgentinaOnyama Limba UNQUALIFIED
Tony Y StensethBrazilOnyama Limba NEGOTIATION
Wickens Z FlosiItalyAsiya Javayant NEGOTIATION
Juan P InouyeIndiaStephen Shaw QUALIFIED
David Y InouyeGermanyIoni Bowcher NEGOTIATION
Darci B SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
James Z IturbideArgentinaOnyama Limba NEW
Claire G PaprockiItalyAsiya Javayant UNQUALIFIED
Tony L NickaCanadaElwin Sharvill UNQUALIFIED
Leon E StockhamArgentinaAnna Fali UNQUALIFIED
Johnson U WieserRussiaStephen Shaw UNQUALIFIED
Munro I FlosiGermanyOnyama Limba NEGOTIATION
Murillo G StockhamFranceElwin Sharvill PROPOSAL
Cody D DoeUnited KingdomAsiya Javayant QUALIFIED
David R FlosiIndiaIvan Magalhaes PROPOSAL
Faith D VocelkaJapanAnna Fali RENEWAL
Sinclair B KuskoIndiaIvan Magalhaes RENEWAL
Stacey I ShinkoJapanBernardo Dominic NEGOTIATION
Murillo D MaletJapanAmy Elsner NEW
Octavia W GillianFranceOnyama Limba RENEWAL
Alejandro I SaylorsItalyElwin Sharvill NEW
Claire W GlickBrazilIvan Magalhaes QUALIFIED
Rodrigues S ChuiJapanAsiya Javayant RENEWAL
Alejandro S GauchoRussiaAnna Fali NEW
Murillo V StensethItalyIvan Magalhaes RENEWAL
Rodrigues M GarufiGermanyOnyama Limba PROPOSAL
Morrow J WhobreyBrazilAsiya Javayant UNQUALIFIED
Kadeem N OstroskyCanadaBernardo Dominic RENEWAL
Nicolas N KuskoJapanIvan Magalhaes NEGOTIATION
Clifford D PaprockiBrazilOnyama Limba RENEWAL
Leon N MorascaRussiaXuxue Feng NEGOTIATION
Nicolas X CaudyArgentinaElwin Sharvill RENEWAL
Antonio J MorascaItalyIoni Bowcher RENEWAL
Jeanfrancois J BologniaCanadaStephen Shaw NEW
Juan J IturbideBrazilAsiya Javayant UNQUALIFIED
Stacey T ChuiIndiaAnna Fali NEW
Emily A StensethCanadaAnna Fali NEGOTIATION
Nicolas O NickaArgentinaElwin Sharvill NEW
Faith M MorascaGermanyIoni Bowcher PROPOSAL
Chavez I GarufiBrazilOnyama Limba QUALIFIED
Munro F MaletArgentinaOnyama Limba PROPOSAL
Aika A OstroskyItalyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow C WhobreyFranceOnyama Limba UNQUALIFIED
Maisha F FlosiIndiaBernardo Dominic RENEWAL
Aika P SaylorsIndiaBernardo Dominic UNQUALIFIED
Tony A OstroskyIndiaAsiya Javayant NEGOTIATION
Costa A MorascaItalyOnyama Limba UNQUALIFIED
Johnson W FigeroaJapanStephen Shaw QUALIFIED
Octavia W RutaGermanyAsiya Javayant RENEWAL
Antonio L FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki R KolmetzArgentinaAmy Elsner NEW
Smith H AlbaresArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson M ChuiJapan2026-10-02Rangoni Of Florence UNQUALIFIED32Stephen Shaw
1001Smith O TollnerGermany2026-10-02Chapman, Ross E Esq QUALIFIED38Xuxue Feng
1002Aruna U TollnerGermany2026-09-28Dorl, James J Esq NEW37Xuxue Feng
1003Chavez J WhobreyGermany2026-10-02Feiner Bros QUALIFIED84Bernardo Dominic
1004Arvin I WieserUnited Kingdom2026-10-17Chanay, Jeffrey A Esq NEW74Bernardo Dominic
1005Emily B TollnerSpain2026-10-14King, Christopher A Esq NEW92Bernardo Dominic
1006Morrow Q GillianArgentina2026-10-11Chanay, Jeffrey A Esq NEGOTIATION22Xuxue Feng
1007Isabel P SergiRussia2026-09-27King, Christopher A Esq QUALIFIED70Elwin Sharvill
1008Morrow U AlbaresJapan2026-09-22Feiner Bros RENEWAL0Onyama Limba
1009Ivar E StensethFrance2026-09-22Morlong Associates PROPOSAL36Stephen Shaw
1010Jennifer S FollerIndia2026-09-27Chemel, James L Cpa PROPOSAL92Asiya Javayant
1011Jones S PerinFrance2026-09-22Dorl, James J Esq NEGOTIATION42Anna Fali
1012Juan O SlusarskiJapan2026-09-22Chapman, Ross E Esq PROPOSAL18Elwin Sharvill
1013Aditya T OldroydGermany2026-09-30Benton, John B Jr PROPOSAL41Bernardo Dominic
1014Salvatore Z ChuiRussia2026-09-19Feltz Printing Service UNQUALIFIED67Ioni Bowcher
1015Wickens Q MorascaJapan2026-09-27Chanay, Jeffrey A Esq PROPOSAL89Amy Elsner
1016Jennifer F PaprockiSpain2026-10-12Buckley Miller Wright NEW56Anna Fali
1017Ricardo O MorascaJapan2026-09-24Feiner Bros PROPOSAL10Ivan Magalhaes
1018Stacey M StockhamSpain2026-10-11Rousseaux, Michael Esq RENEWAL51Onyama Limba
1019Julie Y ButtGermany2026-10-07Rangoni Of Florence UNQUALIFIED17Asiya Javayant
1020Tony K KolmetzGermany2026-10-04Feltz Printing Service QUALIFIED58Bernardo Dominic
1021Adams I PaprockiSpain2026-09-27Rousseaux, Michael Esq NEW39Stephen Shaw
1022Aika E ButtAustralia2026-09-24Buckley Miller Wright NEGOTIATION3Elwin Sharvill
1023Kaitlin K MacleadAustralia2026-09-26Truhlar And Truhlar Attys PROPOSAL4Amy Elsner
1024Antonio Z WaycottSpain2026-09-19Printing Dimensions UNQUALIFIED72Onyama Limba
1025Chavez V CaudyArgentina2026-09-22Feltz Printing Service UNQUALIFIED59Bernardo Dominic
1026Misaki A NestleBrazil2026-10-17Buckley Miller Wright NEGOTIATION68Ivan Magalhaes
1027Darci E ButtGermany2026-10-04Chapman, Ross E Esq RENEWAL57Amy Elsner
1028Misaki V DarakjyRussia2026-10-08Feltz Printing Service NEGOTIATION9Stephen Shaw
1029Greenwood O AmigonCanada2026-10-07Rousseaux, Michael Esq PROPOSAL89Xuxue Feng
1030Francesco Q WieserCanada2026-10-02Chanay, Jeffrey A Esq NEW90Ivan Magalhaes
1031Aditya X MorascaGermany2026-10-13Commercial Press NEW53Stephen Shaw
1032Greenwood L BriddickArgentina2026-10-14Chemel, James L Cpa RENEWAL10Ioni Bowcher
1033Jennifer D AmigonAustralia2026-10-03Morlong Associates QUALIFIED60Onyama Limba
1034Silvio K RutaSpain2026-10-02Feltz Printing Service PROPOSAL10Amy Elsner
1035Francesco V PoquetteFrance2026-10-10Chemel, James L Cpa UNQUALIFIED70Onyama Limba
1036Aika N WhobreyAustralia2026-10-07Printing Dimensions PROPOSAL47Amy Elsner
1037Stacey P AmigonGermany2026-10-13Rangoni Of Florence NEGOTIATION83Elwin Sharvill
1038Julie U SaylorsItaly2026-10-03Rousseaux, Michael Esq NEGOTIATION11Bernardo Dominic
1039Salvatore I BriddickBrazil2026-09-29King, Christopher A Esq NEGOTIATION39Xuxue Feng
1040Juan X WhobreyItaly2026-09-28Chapman, Ross E Esq PROPOSAL66Amy Elsner
1041Emily J StensethRussia2026-10-10Truhlar And Truhlar Attys NEGOTIATION48Xuxue Feng
1042Adams W DilliardCanada2026-10-09Dorl, James J Esq PROPOSAL20Asiya Javayant
1043Salvatore K MarrierItaly2026-10-15Feltz Printing Service PROPOSAL5Amy Elsner
1044Darci K FerenczJapan2026-10-14Chapman, Ross E Esq UNQUALIFIED88Xuxue Feng
1045Cody G PaprockiGermany2026-09-19Commercial Press QUALIFIED70Bernardo Dominic
1046Costa O PerinArgentina2026-10-15Dorl, James J Esq PROPOSAL9Xuxue Feng
1047Maisha E RoysterItaly2026-09-20Feltz Printing Service RENEWAL26Onyama Limba
1048Wickens E DoeItaly2026-09-30Morlong Associates NEW60Xuxue Feng
1049Faith X NestleIndia2026-09-18Chemel, James L Cpa QUALIFIED40Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Francesco V WaycottSpainAnna Fali NEGOTIATION
Kaitlin Z NestleArgentinaIoni Bowcher NEGOTIATION
Morrow V MacleadGermanyStephen Shaw RENEWAL
Jefferson T NestleCanadaAsiya Javayant QUALIFIED
Mujtaba Y SlusarskiFranceStephen Shaw QUALIFIED
Francesco B VenereItalyIvan Magalhaes QUALIFIED
Greenwood I FigeroaRussiaOnyama Limba UNQUALIFIED
Arvin H TollnerIndiaXuxue Feng NEW
Mayumi T OstroskyItalyAmy Elsner NEW
Ricardo H IturbideItalyOnyama Limba UNQUALIFIED
Arvin G OstroskyItalyAmy Elsner NEW
Adams G RimAustraliaAnna Fali PROPOSAL
Darci X CaudySpainIvan Magalhaes QUALIFIED
Nicolas L CampainJapanOnyama Limba QUALIFIED
Izzy R RutaGermanyAsiya Javayant NEGOTIATION
Munro L ButtArgentinaOnyama Limba NEGOTIATION
Darci H IturbideGermanyIoni Bowcher NEW
Leon M StensethJapanAnna Fali NEGOTIATION
Nicolas R DilliardGermanyIoni Bowcher PROPOSAL
Mujtaba X FigeroaSpainBernardo Dominic NEW
Sinclair W ShinkoFranceXuxue Feng NEW
Ivar Z ChuiAustraliaElwin Sharvill NEW
Sinclair O WaycottSpainIvan Magalhaes PROPOSAL
Misaki J MaletRussiaAnna Fali RENEWAL
Antonio H RulapaughSpainIvan Magalhaes QUALIFIED
Nicolas D KuskoJapanAsiya Javayant PROPOSAL
Kadeem I ShinkoUnited KingdomIoni Bowcher NEGOTIATION
Wickens V AlbaresJapanAnna Fali PROPOSAL
Jeanfrancois G TollnerBrazilIoni Bowcher PROPOSAL
Mayumi W MacleadSpainAnna Fali RENEWAL
Mujtaba I SergiUnited KingdomAmy Elsner NEGOTIATION
Kaitlin K DarakjyIndiaElwin Sharvill QUALIFIED
Octavia A StockhamArgentinaOnyama Limba QUALIFIED
Isabel K BowleyJapanAsiya Javayant RENEWAL
Kadeem B MaletSpainXuxue Feng NEW
Antonio X FlosiArgentinaIoni Bowcher UNQUALIFIED
Francesco K OstroskyAustraliaXuxue Feng RENEWAL
Aruna L MorascaRussiaAmy Elsner PROPOSAL
Clifford U IturbideGermanyAnna Fali PROPOSAL
Munro Q MaletIndiaIvan Magalhaes PROPOSAL
Maisha N FigeroaArgentinaIvan Magalhaes QUALIFIED
Jefferson Y BowleyItalyAsiya Javayant QUALIFIED
Maisha L IturbideGermanyBernardo Dominic RENEWAL
Munro F DilliardIndiaElwin Sharvill NEGOTIATION
Leon M IturbideItalyBernardo Dominic RENEWAL
Claire R MaletFranceStephen Shaw QUALIFIED
Ashley B WhobreySpainIvan Magalhaes NEW
Rodrigues I WhobreyIndiaXuxue Feng QUALIFIED
Ricardo B DoeUnited KingdomAnna Fali PROPOSAL
Antonio Q RulapaughFranceAmy Elsner RENEWAL
Frozen Columns
Name
Murillo Q Rim
Faith D Malet
Jeanfrancois Z Schemmer
Wickens T Campain
Clifford O Royster
James K Maclead
Wickens N Butt
Leja P Vocelka
Mayumi U Briddick
Darci K Foller
Faith V Ferencz
Kaitlin G Sergi
Izzy U Waycott
Izzy G Venere
Aditya D Shinko
Darci Y Ostrosky
Wickens D Butt
Maria S Maclead
Darci S Flosi
Isabel B Dilliard
Emily B Doe
Maisha W Caldarera
Izzy I Morasca
Mayumi V Marrier
Wickens B Dilliard
Ricardo S Schemmer
David O Paprocki
Faith B Iturbide
Salvatore M Kusko
Mayumi M Foller
Claire B Amigon
Isabel X Campain
Mujtaba T Bowley
Leja W Glick
Ashley H Slusarski
Chavez I Iturbide
Murillo H Ruta
Octavia H Kusko
Maisha E Gillian
Murillo I Marrier
Cody L Paprocki
Greenwood A Venere
Jones T Foller
Clifford I Paprocki
Tony I Waycott
Cody B Garufi
Adams U Iturbide
Jones T Chui
Aika P Morasca
Sinclair E Inouye
IdCountryDate
1000France2026-09-27
1001India2026-10-15
1002France2026-10-09
1003Argentina2026-10-15
1004Japan2026-09-23
1005Canada2026-09-30
1006Australia2026-10-01
1007Germany2026-10-11
1008Spain2026-10-05
1009Russia2026-10-04
1010United Kingdom2026-10-11
1011Japan2026-10-01
1012Australia2026-10-09
1013Spain2026-09-18
1014Argentina2026-10-12
1015Russia2026-09-24
1016France2026-09-28
1017France2026-10-02
1018Spain2026-10-05
1019Brazil2026-09-25
1020Brazil2026-10-07
1021Canada2026-09-25
1022Spain2026-09-25
1023Canada2026-09-26
1024India2026-09-22
1025Australia2026-10-11
1026Germany2026-09-18
1027Canada2026-09-21
1028India2026-09-24
1029Russia2026-10-10
1030France2026-09-28
1031France2026-09-24
1032Brazil2026-10-14
1033Italy2026-09-29
1034United Kingdom2026-10-13
1035United Kingdom2026-10-01
1036Japan2026-10-10
1037Japan2026-09-28
1038Germany2026-09-20
1039Australia2026-09-21
1040Italy2026-10-11
1041Italy2026-10-02
1042Australia2026-09-29
1043Australia2026-09-30
1044Italy2026-10-13
1045Italy2026-09-21
1046Canada2026-10-10
1047Japan2026-10-07
1048Italy2026-09-25
1049Germany2026-09-22

On-Demand Data

NameIdCountryDate
Rodrigues H Waycott1000Germany2026-10-14
Isabel E Marrier1001Germany2026-09-20
Adams U Dilliard1002France2026-10-07
David J Doe1003Brazil2026-09-22
Cody F Waycott1004United Kingdom2026-09-20
Aika L Schemmer1005France2026-09-30
Tony B Foller1006Germany2026-09-29
Jones B Marrier1007United Kingdom2026-10-16
Izzy C Ostrosky1008United Kingdom2026-10-12
Smith X Tollner1009France2026-10-12
Ashley W Figeroa1010Russia2026-10-03
Maisha Z Kolmetz1011Argentina2026-09-23
Salvatore Z Rulapaugh1012Canada2026-09-18
Adams F Rim1013Brazil2026-09-25
Clifford S Waycott1014Russia2026-09-19
Maria Q Nicka1015Argentina2026-09-22
Ricardo C Maclead1016India2026-09-27
Octavia U Whobrey1017Italy2026-09-24
James E Oldroyd1018Japan2026-09-26
Sinclair I Whobrey1019India2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha M CampainFranceAmy Elsner UNQUALIFIED
Mujtaba R IturbideGermanyOnyama Limba NEW
Jones U FigeroaFranceBernardo Dominic QUALIFIED
Nicolas X GarufiItalyXuxue Feng QUALIFIED
James K NestleAustraliaOnyama Limba NEW
Tony U VocelkaArgentinaAnna Fali UNQUALIFIED
Aika U MorascaIndiaAsiya Javayant PROPOSAL
Kadeem Y GarufiJapanStephen Shaw RENEWAL
Chavez R SchemmerItalyAmy Elsner RENEWAL
Tony B DoeItalyIoni Bowcher UNQUALIFIED
Ashley N RulapaughAustraliaAsiya Javayant NEGOTIATION
Juan H StensethFranceXuxue Feng UNQUALIFIED
Kadeem C GarufiFranceIoni Bowcher NEGOTIATION
Mujtaba C ButtItalyElwin Sharvill QUALIFIED
Misaki S StockhamJapanStephen Shaw RENEWAL
Jennifer E InouyeJapanStephen Shaw QUALIFIED
Aruna S NickaArgentinaAmy Elsner PROPOSAL
Salvatore C BologniaFranceStephen Shaw RENEWAL
Stacey K NestleSpainAsiya Javayant QUALIFIED
Isabel W VenereBrazilStephen Shaw UNQUALIFIED
Jefferson H PaprockiCanadaAsiya Javayant QUALIFIED
Isabel Q RulapaughFranceAsiya Javayant NEW
Antonio A RimSpainIoni Bowcher QUALIFIED
Murillo M VocelkaGermanyStephen Shaw QUALIFIED
Julie X AmigonGermanyXuxue Feng PROPOSAL
Salvatore O FerenczSpainAnna Fali NEW
Arvin P StensethAustraliaAsiya Javayant RENEWAL
Emily N InouyeIndiaAnna Fali RENEWAL
Darci F GarufiItalyOnyama Limba NEW
Munro N WhobreyUnited KingdomBernardo Dominic QUALIFIED
Deepesh E OstroskyUnited KingdomAnna Fali NEGOTIATION
Misaki P WaycottRussiaAmy Elsner NEW
Salvatore F RutaIndiaAmy Elsner RENEWAL
Maisha N RulapaughSpainAsiya Javayant QUALIFIED
Munro X MacleadCanadaAnna Fali PROPOSAL
David I InouyeSpainIoni Bowcher PROPOSAL
Kadeem G WieserIndiaXuxue Feng NEGOTIATION
Smith A ShinkoArgentinaXuxue Feng QUALIFIED
Aika Y RoysterGermanyAnna Fali NEGOTIATION
Murillo E RoysterBrazilAmy Elsner 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>