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
Salvatore P CampainSpainAsiya Javayant RENEWAL
Aruna R WhobreyJapanIvan Magalhaes NEGOTIATION
Costa T FollerSpainIvan Magalhaes NEW
Johnson I SergiRussiaIvan Magalhaes RENEWAL
Deepesh N BowleyCanadaXuxue Feng NEGOTIATION
Clifford F RimSpainElwin Sharvill QUALIFIED
Chavez J BriddickIndiaOnyama Limba PROPOSAL
Octavia N MarrierRussiaIoni Bowcher UNQUALIFIED
Francesco W PerinArgentinaBernardo Dominic PROPOSAL
Claire X PaprockiAustraliaXuxue Feng NEW
Mayumi M MaletArgentinaAnna Fali RENEWAL
Morrow H BowleyBrazilBernardo Dominic QUALIFIED
Jefferson D IturbideArgentinaXuxue Feng PROPOSAL
Leja W ChuiCanadaXuxue Feng QUALIFIED
Mujtaba W DilliardItalyOnyama Limba NEW
Ashley I ShinkoBrazilElwin Sharvill RENEWAL
Octavia K CampainArgentinaStephen Shaw QUALIFIED
Cody G CaldareraArgentinaIvan Magalhaes PROPOSAL
Claire A AmigonAustraliaIoni Bowcher PROPOSAL
Jennifer B MorascaSpainIoni Bowcher NEW
Emily R AlbaresGermanyBernardo Dominic NEW
Wickens S KolmetzUnited KingdomAsiya Javayant QUALIFIED
Arvin M SchemmerFranceAnna Fali NEW
Wickens G FigeroaGermanyIoni Bowcher PROPOSAL
Antonio O NickaJapanAnna Fali RENEWAL
Julie L GillianSpainBernardo Dominic QUALIFIED
Aditya X IturbideBrazilIoni Bowcher NEW
Isabel Z VocelkaJapanAnna Fali UNQUALIFIED
Tony F PaprockiCanadaXuxue Feng QUALIFIED
Kadeem P WieserCanadaAnna Fali QUALIFIED
Nicolas T ChuiFranceXuxue Feng NEGOTIATION
Greenwood X PoquetteItalyIvan Magalhaes UNQUALIFIED
Leja A TollnerArgentinaOnyama Limba NEW
Ivar P RulapaughGermanyXuxue Feng PROPOSAL
Claire U SergiAustraliaIoni Bowcher UNQUALIFIED
Murillo I ButtGermanyAnna Fali NEW
Morrow M WieserFranceOnyama Limba QUALIFIED
Cody M MaletGermanyAnna Fali NEW
Mayumi R ButtAustraliaXuxue Feng UNQUALIFIED
Jennifer P MorascaJapanIoni Bowcher UNQUALIFIED
Aditya G CampainItalyElwin Sharvill RENEWAL
Murillo N DoeArgentinaIoni Bowcher UNQUALIFIED
Tony Z FollerUnited KingdomBernardo Dominic PROPOSAL
Johnson K KuskoJapanAnna Fali NEGOTIATION
Kaitlin R MacleadArgentinaOnyama Limba RENEWAL
David S NickaFranceBernardo Dominic QUALIFIED
Faith D KuskoArgentinaBernardo Dominic UNQUALIFIED
Arvin J OstroskyBrazilOnyama Limba RENEWAL
Claire C NickaItalyIoni Bowcher NEW
Jennifer K FollerBrazilElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer V StockhamBrazilStephen Shaw UNQUALIFIED
Deepesh I PaprockiGermanyStephen Shaw PROPOSAL
Aika A DarakjyJapanOnyama Limba UNQUALIFIED
Jefferson T StensethGermanyBernardo Dominic RENEWAL
Munro Q OstroskyArgentinaStephen Shaw UNQUALIFIED
Aika T FlosiRussiaAnna Fali UNQUALIFIED
Murillo G ButtItalyIvan Magalhaes PROPOSAL
Izzy R IturbideAustraliaAnna Fali RENEWAL
Isabel M WieserJapanStephen Shaw NEW
Munro T BriddickGermanyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones H IturbideGermany2026-10-04Printing Dimensions QUALIFIED83Anna Fali
1001Chavez F TollnerIndia2026-10-12Dorl, James J Esq PROPOSAL56Stephen Shaw
1002Faith R StockhamFrance2026-09-17Benton, John B Jr RENEWAL19Xuxue Feng
1003Chavez H VocelkaBrazil2026-10-16Chemel, James L Cpa UNQUALIFIED51Bernardo Dominic
1004Maisha O BologniaJapan2026-10-09Benton, John B Jr RENEWAL44Stephen Shaw
1005Ashley I TollnerFrance2026-10-13King, Christopher A Esq NEW33Stephen Shaw
1006Faith X BriddickSpain2026-09-29Feltz Printing Service QUALIFIED9Onyama Limba
1007Jones M CampainAustralia2026-09-26King, Christopher A Esq NEGOTIATION84Anna Fali
1008Ricardo R CaudyIndia2026-10-02King, Christopher A Esq NEW61Stephen Shaw
1009Aika A NickaFrance2026-09-21Commercial Press NEW43Ioni Bowcher
1010Deepesh W IturbideRussia2026-09-27Chapman, Ross E Esq QUALIFIED60Ioni Bowcher
1011Nicolas A PerinBrazil2026-10-14Chapman, Ross E Esq PROPOSAL93Elwin Sharvill
1012Stacey T AlbaresUnited Kingdom2026-10-12Dorl, James J Esq PROPOSAL78Xuxue Feng
1013Costa A NickaJapan2026-09-19Buckley Miller Wright UNQUALIFIED55Anna Fali
1014Antonio I SlusarskiCanada2026-09-19Benton, John B Jr QUALIFIED45Elwin Sharvill
1015Kadeem J MacleadUnited Kingdom2026-09-23King, Christopher A Esq UNQUALIFIED97Xuxue Feng
1016Claire G WaycottItaly2026-10-01Dorl, James J Esq QUALIFIED57Ioni Bowcher
1017Stacey S FlosiUnited Kingdom2026-09-22Chanay, Jeffrey A Esq RENEWAL35Elwin Sharvill
1018Nicolas V OldroydJapan2026-09-25Chapman, Ross E Esq PROPOSAL13Xuxue Feng
1019Munro O CaudyRussia2026-10-04Rousseaux, Michael Esq UNQUALIFIED35Xuxue Feng
1020Arvin M RutaItaly2026-09-23King, Christopher A Esq RENEWAL70Ivan Magalhaes
1021Claire R GauchoUnited Kingdom2026-10-06Chemel, James L Cpa UNQUALIFIED15Asiya Javayant
1022Greenwood G BologniaBrazil2026-09-22Truhlar And Truhlar Attys QUALIFIED29Xuxue Feng
1023Maria N AmigonGermany2026-10-15Buckley Miller Wright RENEWAL67Anna Fali
1024Silvio X SchemmerFrance2026-10-11Dorl, James J Esq RENEWAL91Anna Fali
1025Munro U VenereRussia2026-10-13Chapman, Ross E Esq NEGOTIATION5Bernardo Dominic
1026Izzy N CampainBrazil2026-10-14Buckley Miller Wright QUALIFIED62Ioni Bowcher
1027Ricardo U PerinCanada2026-09-21King, Christopher A Esq RENEWAL59Ioni Bowcher
1028Aditya E GillianJapan2026-10-07Feltz Printing Service PROPOSAL44Stephen Shaw
1029Kadeem U MarrierIndia2026-10-16Chapman, Ross E Esq PROPOSAL78Anna Fali
1030Jeanfrancois S TollnerBrazil2026-09-25Feltz Printing Service RENEWAL77Ivan Magalhaes
1031Leja X MaletUnited Kingdom2026-10-13Printing Dimensions RENEWAL96Stephen Shaw
1032Rodrigues X VocelkaCanada2026-10-13Buckley Miller Wright RENEWAL17Amy Elsner
1033Misaki S NestleFrance2026-09-21Rangoni Of Florence RENEWAL28Asiya Javayant
1034Faith N MaletUnited Kingdom2026-09-30Chemel, James L Cpa RENEWAL22Ioni Bowcher
1035Alejandro H KuskoItaly2026-10-04Morlong Associates RENEWAL13Anna Fali
1036Mujtaba U GarufiBrazil2026-10-01Chemel, James L Cpa RENEWAL47Stephen Shaw
1037Jones D GlickGermany2026-10-02Feiner Bros NEGOTIATION69Anna Fali
1038Juan V DarakjyItaly2026-10-05Printing Dimensions RENEWAL17Elwin Sharvill
1039Sinclair E CaldareraFrance2026-09-21Rangoni Of Florence RENEWAL48Anna Fali
1040Mayumi I GauchoBrazil2026-10-14Rousseaux, Michael Esq UNQUALIFIED0Stephen Shaw
1041Silvio C InouyeIndia2026-10-13Feltz Printing Service QUALIFIED16Amy Elsner
1042Cody P OldroydArgentina2026-10-10Truhlar And Truhlar Attys QUALIFIED94Bernardo Dominic
1043Johnson U WieserArgentina2026-09-19King, Christopher A Esq NEW39Ivan Magalhaes
1044Deepesh X MorascaBrazil2026-09-30Morlong Associates PROPOSAL30Amy Elsner
1045Darci J AlbaresItaly2026-09-18Morlong Associates NEGOTIATION18Amy Elsner
1046Jones E FerenczSpain2026-10-15Buckley Miller Wright RENEWAL6Bernardo Dominic
1047Maisha K RimItaly2026-10-16King, Christopher A Esq NEGOTIATION99Stephen Shaw
1048Isabel D BriddickRussia2026-09-21Feltz Printing Service RENEWAL13Onyama Limba
1049James O InouyeArgentina2026-10-12Rangoni Of Florence NEGOTIATION24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Adams Z KuskoIndiaAmy Elsner NEGOTIATION
Nicolas T BologniaIndiaAnna Fali NEW
Misaki V RoysterIndiaBernardo Dominic NEGOTIATION
Nicolas H RutaFranceOnyama Limba QUALIFIED
Darci I SlusarskiJapanIvan Magalhaes RENEWAL
Antonio V WaycottFranceAnna Fali UNQUALIFIED
Izzy U MacleadFranceXuxue Feng NEW
Kaitlin D WaycottIndiaAnna Fali PROPOSAL
Jones T PoquetteRussiaIvan Magalhaes QUALIFIED
Jefferson G IturbideAustraliaElwin Sharvill UNQUALIFIED
Aika I MaletCanadaAmy Elsner NEW
Leja M SlusarskiIndiaElwin Sharvill UNQUALIFIED
Arvin C OldroydGermanyBernardo Dominic QUALIFIED
Maria C PoquetteGermanyXuxue Feng QUALIFIED
Aruna U SergiArgentinaAmy Elsner NEW
Emily N RoysterItalyAnna Fali NEGOTIATION
Munro O PerinRussiaIoni Bowcher PROPOSAL
Salvatore V RutaRussiaIvan Magalhaes RENEWAL
Silvio L ChuiJapanIvan Magalhaes NEW
Ivar B ButtItalyIoni Bowcher NEGOTIATION
Antonio I KolmetzItalyStephen Shaw NEGOTIATION
Sinclair I MaletGermanyOnyama Limba NEGOTIATION
Silvio S WieserArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois W RoysterAustraliaAnna Fali PROPOSAL
Ricardo P KuskoSpainAmy Elsner PROPOSAL
Greenwood G FerenczItalyAsiya Javayant UNQUALIFIED
Wickens W IturbideJapanBernardo Dominic QUALIFIED
Morrow P MarrierRussiaIvan Magalhaes QUALIFIED
Jennifer O DarakjyIndiaAsiya Javayant NEGOTIATION
Morrow S CaudyRussiaAnna Fali PROPOSAL
Ivar B RimRussiaAsiya Javayant RENEWAL
Jones S PaprockiGermanyElwin Sharvill NEW
Munro G MarrierCanadaAnna Fali UNQUALIFIED
Ashley V BowleyJapanIoni Bowcher NEGOTIATION
Emily N PerinGermanyOnyama Limba RENEWAL
Aruna U PerinArgentinaBernardo Dominic UNQUALIFIED
Arvin E BriddickAustraliaBernardo Dominic QUALIFIED
Clifford A SaylorsSpainIvan Magalhaes RENEWAL
Maria P FerenczFranceAsiya Javayant NEW
Jennifer D SergiCanadaAnna Fali RENEWAL
Clifford S NickaUnited KingdomOnyama Limba NEW
Murillo W BriddickGermanyIvan Magalhaes UNQUALIFIED
Maria A RutaFranceIvan Magalhaes QUALIFIED
Claire T ButtItalyStephen Shaw RENEWAL
Darci I IturbideJapanAnna Fali RENEWAL
Murillo U FigeroaJapanAmy Elsner UNQUALIFIED
Sinclair W WieserItalyElwin Sharvill RENEWAL
Jeanfrancois Q MacleadRussiaOnyama Limba NEW
Tony P DilliardGermanyAsiya Javayant RENEWAL
David A BriddickJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Arvin R Royster
Clifford S Gaucho
Julie N Briddick
Antonio A Kolmetz
Rodrigues H Schemmer
Jennifer K Nestle
Jeanfrancois W Garufi
Salvatore G Darakjy
Greenwood Q Doe
Jefferson G Foller
Jones W Ostrosky
Ricardo C Rim
Tony O Flosi
Faith W Garufi
Kaitlin P Malet
Emily X Butt
Emily M Shinko
Julie T Marrier
Morrow L Ostrosky
Claire S Garufi
Ashley M Butt
Murillo A Bowley
Ivar F Glick
Jefferson F Tollner
Emily M Flosi
Misaki S Kolmetz
Salvatore X Dilliard
Izzy K Shinko
Aruna M Gillian
Jeanfrancois F Butt
Jones C Waycott
Tony S Tollner
Leon M Darakjy
Juan T Stenseth
Darci X Campain
James G Malet
Tony T Wieser
Stacey L Vocelka
Maria Y Garufi
David X Rim
Jennifer B Garufi
Emily Z Maclead
Johnson D Malet
Kaitlin T Nicka
Murillo Q Doe
Darci L Flosi
Jeanfrancois R Whobrey
Wickens Q Foller
Kaitlin X Chui
Jefferson J Briddick
IdCountryDate
1000Japan2026-10-15
1001Italy2026-09-23
1002Spain2026-10-08
1003Canada2026-09-19
1004Argentina2026-10-03
1005Brazil2026-10-04
1006Japan2026-09-30
1007Russia2026-09-19
1008Australia2026-10-09
1009France2026-09-25
1010India2026-10-06
1011Canada2026-09-22
1012Argentina2026-10-13
1013Australia2026-09-23
1014Spain2026-09-26
1015Spain2026-09-17
1016Russia2026-09-28
1017United Kingdom2026-10-09
1018India2026-10-07
1019Spain2026-10-04
1020United Kingdom2026-10-03
1021Brazil2026-10-05
1022United Kingdom2026-09-25
1023Australia2026-09-20
1024Canada2026-10-12
1025Argentina2026-10-16
1026Spain2026-10-01
1027Italy2026-10-02
1028Brazil2026-09-18
1029France2026-10-10
1030Russia2026-10-09
1031Canada2026-10-02
1032Argentina2026-10-10
1033Russia2026-09-18
1034India2026-09-30
1035Argentina2026-09-18
1036Brazil2026-09-18
1037Russia2026-10-02
1038Australia2026-09-19
1039United Kingdom2026-09-26
1040Japan2026-10-10
1041Russia2026-10-04
1042Brazil2026-09-28
1043Italy2026-10-01
1044Japan2026-09-24
1045Germany2026-09-25
1046Italy2026-10-08
1047Argentina2026-10-03
1048Germany2026-09-19
1049Spain2026-10-09

On-Demand Data

NameIdCountryDate
Morrow Q Amigon1000India2026-09-17
Salvatore R Vocelka1001Italy2026-09-22
Kadeem N Venere1002Spain2026-09-17
Rodrigues L Oldroyd1003Russia2026-10-03
Aika J Ostrosky1004Russia2026-10-03
Sinclair G Figeroa1005United Kingdom2026-09-17
Salvatore A Tollner1006Argentina2026-10-15
Ricardo Q Poquette1007France2026-10-15
Chavez C Venere1008Argentina2026-09-26
Murillo V Inouye1009Italy2026-09-17
Silvio H Rulapaugh1010Japan2026-10-06
Ivar I Rim1011Spain2026-10-06
Clifford G Malet1012Australia2026-09-27
Julie D Ruta1013United Kingdom2026-09-19
James Y Darakjy1014Japan2026-10-02
Silvio Q Caldarera1015Brazil2026-10-16
Johnson K Gillian1016Argentina2026-10-06
Ivar V Rulapaugh1017Germany2026-09-22
Chavez W Paprocki1018Brazil2026-09-26
Murillo M Ostrosky1019Italy2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Z RimUnited KingdomBernardo Dominic RENEWAL
Cody U GlickJapanAnna Fali RENEWAL
Cody Z BowleyIndiaXuxue Feng RENEWAL
Sinclair U TollnerRussiaAmy Elsner UNQUALIFIED
Kadeem W GlickAustraliaXuxue Feng NEGOTIATION
Deepesh P RulapaughRussiaOnyama Limba QUALIFIED
Chavez A StockhamSpainIvan Magalhaes UNQUALIFIED
Ricardo R BowleySpainAnna Fali RENEWAL
Mayumi W MaletRussiaXuxue Feng UNQUALIFIED
Ashley R StensethCanadaIvan Magalhaes NEW
Octavia E RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem V RutaJapanAsiya Javayant NEW
Aditya O RoysterRussiaIoni Bowcher QUALIFIED
Alejandro S RulapaughGermanyElwin Sharvill NEW
Kaitlin P SlusarskiArgentinaElwin Sharvill RENEWAL
James X RulapaughCanadaStephen Shaw RENEWAL
Leja H KuskoBrazilIvan Magalhaes PROPOSAL
Smith Z SlusarskiArgentinaAnna Fali NEW
Ivar D OstroskyArgentinaIvan Magalhaes NEW
James H NickaAustraliaElwin Sharvill NEW
Isabel M WaycottUnited KingdomXuxue Feng QUALIFIED
Jones D DoeFranceIvan Magalhaes PROPOSAL
Sinclair S RimJapanAsiya Javayant QUALIFIED
Smith Q KolmetzSpainAnna Fali NEW
Mayumi J MacleadUnited KingdomElwin Sharvill PROPOSAL
Julie I KolmetzFranceBernardo Dominic UNQUALIFIED
Sinclair T SchemmerGermanyAmy Elsner NEW
Misaki K NestleUnited KingdomOnyama Limba RENEWAL
Maisha Y OldroydJapanXuxue Feng RENEWAL
Jeanfrancois A WieserJapanXuxue Feng NEGOTIATION
Antonio D PoquetteSpainXuxue Feng NEGOTIATION
Ricardo S CaldareraCanadaAsiya Javayant NEW
Costa R MaletBrazilOnyama Limba UNQUALIFIED
Claire O MaletBrazilStephen Shaw UNQUALIFIED
David M FerenczAustraliaOnyama Limba UNQUALIFIED
Clifford W SaylorsCanadaAnna Fali NEW
Alejandro S NickaCanadaXuxue Feng NEGOTIATION
Isabel E GlickUnited KingdomOnyama Limba UNQUALIFIED
Smith K CaldareraJapanXuxue Feng PROPOSAL
James D GauchoAustraliaAsiya Javayant 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>