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 U SlusarskiIndiaAsiya Javayant NEGOTIATION
Jeanfrancois B DarakjyGermanyOnyama Limba PROPOSAL
Maisha H IturbideFranceAsiya Javayant QUALIFIED
Ashley Y RoysterFranceStephen Shaw NEGOTIATION
Maria U PerinGermanyOnyama Limba UNQUALIFIED
Emily J VocelkaJapanOnyama Limba NEGOTIATION
Mujtaba T GarufiFranceIvan Magalhaes PROPOSAL
Leja R OldroydUnited KingdomElwin Sharvill RENEWAL
Nicolas J MaletIndiaOnyama Limba QUALIFIED
Maisha K PerinFranceStephen Shaw UNQUALIFIED
Clifford M WieserIndiaOnyama Limba UNQUALIFIED
Adams T BologniaBrazilAmy Elsner QUALIFIED
Stacey U ShinkoIndiaStephen Shaw UNQUALIFIED
Ricardo O FerenczJapanXuxue Feng QUALIFIED
Sinclair T MarrierItalyElwin Sharvill NEW
Aditya E FlosiRussiaAsiya Javayant PROPOSAL
Nicolas D VocelkaArgentinaBernardo Dominic QUALIFIED
Costa J StensethArgentinaIoni Bowcher PROPOSAL
Nicolas Q RulapaughAustraliaIoni Bowcher NEGOTIATION
Chavez C OstroskyBrazilStephen Shaw RENEWAL
Francesco D OldroydItalyStephen Shaw NEW
Ricardo Q PaprockiItalyBernardo Dominic NEGOTIATION
Emily J CaudyBrazilElwin Sharvill PROPOSAL
Izzy A FlosiJapanAsiya Javayant QUALIFIED
Johnson U NestleSpainAmy Elsner QUALIFIED
Ashley Z StensethFranceIoni Bowcher NEW
Aika F FollerGermanyXuxue Feng NEGOTIATION
Greenwood A TollnerIndiaIoni Bowcher PROPOSAL
Darci Q FlosiGermanyAmy Elsner QUALIFIED
David R PerinGermanyIoni Bowcher NEGOTIATION
Aruna R AlbaresRussiaAnna Fali NEGOTIATION
David Q SaylorsGermanyAsiya Javayant QUALIFIED
Kaitlin Q FlosiArgentinaXuxue Feng QUALIFIED
Jones O OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore B GauchoSpainXuxue Feng NEGOTIATION
Arvin E OldroydSpainIoni Bowcher PROPOSAL
Ivar Q StockhamBrazilOnyama Limba PROPOSAL
Munro O KuskoAustraliaIoni Bowcher RENEWAL
Mujtaba O ShinkoGermanyOnyama Limba NEW
Jennifer W WhobreyCanadaElwin Sharvill PROPOSAL
Munro U FlosiJapanAnna Fali NEGOTIATION
Nicolas X RutaGermanyXuxue Feng UNQUALIFIED
Leon R GarufiItalyOnyama Limba RENEWAL
Tony A PaprockiItalyAsiya Javayant PROPOSAL
Maria E ChuiUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois U NickaIndiaElwin Sharvill NEW
Juan K DoeCanadaAnna Fali PROPOSAL
Kadeem A VenereCanadaIoni Bowcher UNQUALIFIED
Maisha G KolmetzArgentinaElwin Sharvill NEW
Silvio K DarakjyArgentinaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Leja Z RulapaughRussiaIvan Magalhaes RENEWAL
Sinclair B FollerItalyOnyama Limba RENEWAL
Ashley Y SergiFranceBernardo Dominic PROPOSAL
Misaki M GillianFranceAmy Elsner RENEWAL
Clifford T FigeroaRussiaOnyama Limba NEW
Aruna F DilliardUnited KingdomIvan Magalhaes PROPOSAL
Ivar N OstroskyGermanyBernardo Dominic RENEWAL
Smith S PerinGermanyAsiya Javayant UNQUALIFIED
Jennifer Z GarufiSpainIoni Bowcher PROPOSAL
David Q GlickRussiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi Z WhobreyIndia2026-08-25Buckley Miller Wright PROPOSAL28Xuxue Feng
1001Izzy Z RutaRussia2026-09-14King, Christopher A Esq RENEWAL91Ivan Magalhaes
1002Kaitlin L BriddickJapan2026-09-03Buckley Miller Wright RENEWAL54Bernardo Dominic
1003Isabel Q FerenczJapan2026-09-01Rousseaux, Michael Esq PROPOSAL22Xuxue Feng
1004Smith K PaprockiCanada2026-09-20Rangoni Of Florence UNQUALIFIED62Ioni Bowcher
1005Salvatore P GarufiItaly2026-09-15Chanay, Jeffrey A Esq UNQUALIFIED65Stephen Shaw
1006Mayumi Q SaylorsSpain2026-08-28Printing Dimensions NEGOTIATION69Xuxue Feng
1007Stacey A MarrierRussia2026-08-28Commercial Press NEGOTIATION36Stephen Shaw
1008Munro T SaylorsItaly2026-09-14Dorl, James J Esq NEGOTIATION57Ivan Magalhaes
1009Antonio J InouyeJapan2026-09-17King, Christopher A Esq UNQUALIFIED37Ivan Magalhaes
1010Smith Z KuskoRussia2026-09-07Benton, John B Jr NEW3Stephen Shaw
1011Rodrigues L ButtSpain2026-09-01Chapman, Ross E Esq NEW8Anna Fali
1012Rodrigues Q PaprockiBrazil2026-09-13Chanay, Jeffrey A Esq PROPOSAL13Amy Elsner
1013Claire R GauchoUnited Kingdom2026-08-30Truhlar And Truhlar Attys PROPOSAL54Amy Elsner
1014Jefferson U SergiFrance2026-08-26Chapman, Ross E Esq UNQUALIFIED4Asiya Javayant
1015Stacey Y BologniaJapan2026-09-10Feltz Printing Service PROPOSAL71Ioni Bowcher
1016Francesco I FlosiArgentina2026-08-29Morlong Associates UNQUALIFIED48Ioni Bowcher
1017Maria L PoquetteBrazil2026-08-30Feltz Printing Service NEW3Onyama Limba
1018Chavez W KuskoRussia2026-09-11Commercial Press NEGOTIATION85Ioni Bowcher
1019Ricardo W NickaRussia2026-09-20Buckley Miller Wright RENEWAL55Bernardo Dominic
1020Alejandro Q IturbideItaly2026-09-07Chemel, James L Cpa UNQUALIFIED13Onyama Limba
1021David U FlosiSpain2026-09-17Dorl, James J Esq PROPOSAL48Onyama Limba
1022Cody Y MorascaRussia2026-08-26Commercial Press QUALIFIED83Anna Fali
1023Izzy M RutaItaly2026-08-27Dorl, James J Esq NEW68Bernardo Dominic
1024Deepesh F BowleyAustralia2026-08-25Morlong Associates NEW57Asiya Javayant
1025Ivar Z BologniaCanada2026-09-13Truhlar And Truhlar Attys RENEWAL17Ivan Magalhaes
1026Kadeem L MarrierSpain2026-09-02Feltz Printing Service UNQUALIFIED76Anna Fali
1027Murillo Y DoeRussia2026-09-16Commercial Press NEGOTIATION36Onyama Limba
1028Deepesh K CaudySpain2026-09-12Rousseaux, Michael Esq QUALIFIED31Asiya Javayant
1029Arvin C CampainCanada2026-08-26Rangoni Of Florence QUALIFIED96Ioni Bowcher
1030Maisha Y DilliardFrance2026-09-10Commercial Press UNQUALIFIED21Ivan Magalhaes
1031Antonio G SchemmerCanada2026-08-27Dorl, James J Esq QUALIFIED11Anna Fali
1032Leja C TollnerAustralia2026-09-01Chanay, Jeffrey A Esq UNQUALIFIED13Amy Elsner
1033Juan L TollnerFrance2026-08-29King, Christopher A Esq UNQUALIFIED87Xuxue Feng
1034Jones C MacleadArgentina2026-09-22King, Christopher A Esq NEW7Bernardo Dominic
1035Wickens J BriddickArgentina2026-09-11Chemel, James L Cpa QUALIFIED54Elwin Sharvill
1036Salvatore E MaletAustralia2026-09-07Chapman, Ross E Esq NEW65Stephen Shaw
1037Leja Q PerinBrazil2026-09-04Dorl, James J Esq NEGOTIATION86Asiya Javayant
1038Isabel S NestleSpain2026-09-22Printing Dimensions QUALIFIED19Xuxue Feng
1039Aruna J GlickGermany2026-09-11Commercial Press PROPOSAL70Bernardo Dominic
1040Maria S StensethSpain2026-09-18Truhlar And Truhlar Attys RENEWAL97Ioni Bowcher
1041Juan C ShinkoArgentina2026-09-07Truhlar And Truhlar Attys RENEWAL80Xuxue Feng
1042Maisha Z CaldareraBrazil2026-08-27Chanay, Jeffrey A Esq PROPOSAL90Bernardo Dominic
1043Rodrigues P GillianRussia2026-09-15Printing Dimensions QUALIFIED36Elwin Sharvill
1044Jennifer U GlickFrance2026-09-13Feiner Bros NEW73Anna Fali
1045Silvio L GillianAustralia2026-08-25Dorl, James J Esq RENEWAL61Ioni Bowcher
1046Deepesh Y GlickBrazil2026-09-18Printing Dimensions PROPOSAL86Asiya Javayant
1047James K MaletIndia2026-09-11Chanay, Jeffrey A Esq PROPOSAL79Amy Elsner
1048Munro R GauchoJapan2026-09-14Rousseaux, Michael Esq NEGOTIATION17Anna Fali
1049Darci R WhobreyCanada2026-09-15Printing Dimensions NEW10Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Antonio O NickaSpainElwin Sharvill RENEWAL
Cody T WieserJapanXuxue Feng UNQUALIFIED
Darci T NickaArgentinaIvan Magalhaes QUALIFIED
Cody F GarufiCanadaOnyama Limba RENEWAL
Mayumi G ChuiIndiaOnyama Limba NEW
James M KolmetzUnited KingdomAsiya Javayant QUALIFIED
Aruna X RutaIndiaElwin Sharvill QUALIFIED
Izzy C GillianItalyIvan Magalhaes QUALIFIED
Adams G DoeUnited KingdomElwin Sharvill NEW
James W IturbideRussiaIoni Bowcher NEW
Leon X RulapaughArgentinaOnyama Limba NEW
Costa E PerinFranceStephen Shaw RENEWAL
Johnson L CaldareraItalyAnna Fali UNQUALIFIED
Faith I FollerAustraliaElwin Sharvill NEW
Jones T SchemmerIndiaElwin Sharvill RENEWAL
Leja S MaletArgentinaXuxue Feng QUALIFIED
Costa C CaudyCanadaOnyama Limba RENEWAL
James D BowleyFranceIoni Bowcher UNQUALIFIED
Isabel Z SlusarskiArgentinaIoni Bowcher PROPOSAL
Jeanfrancois O StensethBrazilXuxue Feng UNQUALIFIED
Francesco L IturbideFranceOnyama Limba UNQUALIFIED
Aika C VenereGermanyXuxue Feng RENEWAL
Mayumi U StockhamUnited KingdomIoni Bowcher PROPOSAL
James S MarrierBrazilElwin Sharvill UNQUALIFIED
Faith R FerenczIndiaAnna Fali UNQUALIFIED
Deepesh L AmigonGermanyStephen Shaw RENEWAL
Claire E NickaGermanyXuxue Feng RENEWAL
Antonio J BologniaFranceAnna Fali UNQUALIFIED
Deepesh X VocelkaCanadaAnna Fali NEGOTIATION
Silvio M StensethUnited KingdomStephen Shaw PROPOSAL
Mujtaba B InouyeArgentinaAsiya Javayant NEW
Maisha R AmigonRussiaAsiya Javayant QUALIFIED
Julie B WhobreyIndiaElwin Sharvill QUALIFIED
Morrow W WhobreyRussiaIvan Magalhaes UNQUALIFIED
Silvio L CaldareraSpainAmy Elsner NEW
Kaitlin J StensethArgentinaOnyama Limba PROPOSAL
Kaitlin M PerinGermanyXuxue Feng NEW
Antonio K RutaItalyOnyama Limba UNQUALIFIED
James I VenereBrazilAmy Elsner RENEWAL
Cody Z ShinkoJapanAnna Fali QUALIFIED
Costa G StockhamSpainAnna Fali NEW
Clifford C RoysterArgentinaAsiya Javayant NEGOTIATION
Kaitlin A GarufiUnited KingdomIoni Bowcher RENEWAL
Octavia D WieserFranceOnyama Limba PROPOSAL
Maria A PerinAustraliaBernardo Dominic PROPOSAL
Deepesh L BriddickGermanyBernardo Dominic NEW
Emily P MorascaItalyAsiya Javayant NEW
Tony V ButtUnited KingdomAsiya Javayant PROPOSAL
Sinclair S KolmetzArgentinaXuxue Feng RENEWAL
Cody Z AlbaresAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Ashley V Kusko
Jefferson C Tollner
Misaki W Vocelka
Isabel N Doe
Juan M Tollner
Juan C Caldarera
Sinclair J Bowley
Ashley J Doe
Francesco A Rim
Chavez O Nicka
Wickens J Wieser
Claire G Iturbide
Clifford U Briddick
Ivar L Maclead
Isabel C Briddick
Arvin P Doe
Greenwood C Campain
Greenwood M Darakjy
Darci G Darakjy
Greenwood X Nestle
Darci E Kolmetz
Aruna N Chui
Ashley Y Kusko
Jeanfrancois U Bolognia
Maisha R Saylors
Emily A Ostrosky
Stacey E Ruta
James B Nestle
Leon R Stockham
Clifford V Butt
Emily F Schemmer
Nicolas L Waycott
Maria N Bolognia
Jones J Gaucho
Francesco F Albares
Ivar U Figeroa
Wickens Q Stockham
Leon V Campain
Francesco G Tollner
Emily W Dilliard
Cody T Saylors
Isabel I Figeroa
Jeanfrancois K Malet
Misaki R Vocelka
Juan B Butt
Stacey J Inouye
Costa P Glick
Ricardo Y Garufi
David W Flosi
Maria P Ruta
IdCountryDate
1000Germany2026-09-08
1001India2026-09-01
1002France2026-08-31
1003Spain2026-09-09
1004Russia2026-08-31
1005Italy2026-09-05
1006France2026-09-12
1007Japan2026-09-23
1008Brazil2026-08-28
1009India2026-08-29
1010United Kingdom2026-08-30
1011Argentina2026-08-25
1012Canada2026-09-22
1013Japan2026-08-26
1014Canada2026-09-04
1015Russia2026-09-17
1016Spain2026-09-23
1017Germany2026-08-30
1018France2026-09-09
1019Australia2026-09-11
1020Germany2026-09-06
1021India2026-08-25
1022Japan2026-09-17
1023Australia2026-09-15
1024Brazil2026-09-06
1025Argentina2026-09-03
1026United Kingdom2026-08-31
1027United Kingdom2026-09-18
1028Brazil2026-09-12
1029Australia2026-09-04
1030Argentina2026-09-11
1031Spain2026-09-09
1032United Kingdom2026-08-28
1033Australia2026-09-06
1034Brazil2026-09-21
1035Germany2026-09-03
1036Canada2026-08-25
1037United Kingdom2026-09-08
1038Canada2026-09-14
1039Australia2026-09-02
1040Australia2026-09-08
1041Brazil2026-09-10
1042Spain2026-09-03
1043Brazil2026-08-31
1044Canada2026-09-03
1045Japan2026-09-12
1046Canada2026-09-01
1047India2026-08-28
1048Japan2026-09-07
1049Spain2026-09-20

On-Demand Data

NameIdCountryDate
Wickens P Whobrey1000Germany2026-09-23
Jones J Briddick1001Germany2026-09-16
Julie V Caudy1002Japan2026-09-13
Aruna O Caldarera1003Japan2026-09-19
Deepesh B Briddick1004Spain2026-09-09
Jones Z Tollner1005Russia2026-09-09
Aruna L Morasca1006Japan2026-09-22
Aditya J Bowley1007Italy2026-09-04
Emily F Morasca1008Russia2026-09-01
Stacey A Bowley1009India2026-08-25
Isabel T Rulapaugh1010Australia2026-08-31
Chavez G Nicka1011United Kingdom2026-09-20
Antonio I Darakjy1012Brazil2026-09-18
Ricardo E Vocelka1013Australia2026-09-08
Adams U Perin1014Canada2026-09-08
Ivar I Shinko1015Japan2026-09-11
Misaki K Saylors1016Japan2026-09-14
Ashley H Briddick1017Australia2026-09-13
Leja T Caudy1018United Kingdom2026-08-31
Kadeem K Gaucho1019Germany2026-09-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David I ShinkoRussiaBernardo Dominic NEGOTIATION
Leon Y MorascaCanadaOnyama Limba NEW
Arvin V WhobreyBrazilAmy Elsner NEW
Munro H SergiItalyBernardo Dominic RENEWAL
Francesco D PerinCanadaBernardo Dominic PROPOSAL
Kadeem O DarakjyAustraliaStephen Shaw QUALIFIED
Alejandro C MorascaSpainIvan Magalhaes RENEWAL
Ricardo R FollerUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer A MacleadArgentinaElwin Sharvill NEGOTIATION
David J NestleUnited KingdomOnyama Limba NEW
Maisha G StockhamBrazilIoni Bowcher NEGOTIATION
David V InouyeGermanyIoni Bowcher UNQUALIFIED
Leja F PoquetteSpainXuxue Feng QUALIFIED
Chavez X RutaRussiaStephen Shaw RENEWAL
Aika H FollerGermanyElwin Sharvill UNQUALIFIED
Francesco U MacleadAustraliaIvan Magalhaes PROPOSAL
Kaitlin L CampainRussiaIoni Bowcher NEW
Misaki M NickaJapanIoni Bowcher NEW
Misaki L StensethArgentinaStephen Shaw RENEWAL
Silvio C CaldareraGermanyAmy Elsner NEW
Antonio X RimArgentinaIoni Bowcher NEGOTIATION
Deepesh C ButtJapanElwin Sharvill NEW
Smith Q StockhamGermanyAmy Elsner UNQUALIFIED
Costa V NickaFranceIoni Bowcher NEGOTIATION
Leja E AlbaresAustraliaAsiya Javayant RENEWAL
Wickens A TollnerIndiaAmy Elsner NEW
Chavez T SchemmerGermanyAmy Elsner UNQUALIFIED
Nicolas D AmigonRussiaAsiya Javayant NEW
Alejandro B VocelkaBrazilStephen Shaw PROPOSAL
Salvatore Y TollnerItalyElwin Sharvill RENEWAL
Ashley W DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem Y FlosiRussiaIoni Bowcher QUALIFIED
Murillo Y VocelkaBrazilIoni Bowcher QUALIFIED
Claire H SaylorsBrazilBernardo Dominic RENEWAL
Chavez F WhobreyArgentinaBernardo Dominic PROPOSAL
Aditya E RoysterFranceAsiya Javayant NEW
Mujtaba O InouyeCanadaElwin Sharvill QUALIFIED
Ashley Y MaletIndiaStephen Shaw NEGOTIATION
Aditya T CaudySpainAsiya Javayant NEW
Morrow D RulapaughRussiaBernardo Dominic 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>