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
Jennifer Y PerinArgentinaBernardo Dominic RENEWAL
Nicolas L DoeCanadaAnna Fali RENEWAL
Arvin I OldroydItalyElwin Sharvill QUALIFIED
Arvin R ButtUnited KingdomXuxue Feng NEGOTIATION
Aruna D StensethJapanXuxue Feng PROPOSAL
Francesco I FerenczJapanIvan Magalhaes NEW
Chavez K WaycottItalyXuxue Feng RENEWAL
Mayumi T GauchoJapanIoni Bowcher QUALIFIED
David B BriddickSpainIvan Magalhaes NEGOTIATION
Jones F VenereSpainAsiya Javayant NEW
Ashley P KolmetzFranceIvan Magalhaes NEGOTIATION
Francesco C SlusarskiArgentinaAmy Elsner NEW
Aruna R VenereIndiaXuxue Feng NEW
Misaki R RutaFranceBernardo Dominic UNQUALIFIED
Ivar B MorascaItalyAsiya Javayant PROPOSAL
Deepesh H FollerGermanyIvan Magalhaes NEW
Costa I ButtArgentinaOnyama Limba NEW
Nicolas T OldroydSpainIoni Bowcher NEW
Smith Q RimUnited KingdomOnyama Limba RENEWAL
Leja V AmigonFranceOnyama Limba PROPOSAL
Clifford X WieserIndiaAmy Elsner QUALIFIED
Sinclair Q IturbideCanadaAnna Fali UNQUALIFIED
Nicolas W FigeroaItalyOnyama Limba NEW
Emily H RoysterRussiaElwin Sharvill QUALIFIED
Antonio G SaylorsRussiaOnyama Limba RENEWAL
Izzy C WhobreyJapanAnna Fali NEGOTIATION
Cody D NestleSpainOnyama Limba RENEWAL
Aika V VocelkaGermanyIvan Magalhaes NEW
Mujtaba H DarakjyArgentinaIoni Bowcher NEW
Francesco J ChuiFranceStephen Shaw PROPOSAL
Murillo Y AmigonItalyElwin Sharvill PROPOSAL
Sinclair X DilliardAustraliaStephen Shaw NEGOTIATION
Juan N DarakjyCanadaAsiya Javayant RENEWAL
Antonio Z ShinkoArgentinaAmy Elsner UNQUALIFIED
Salvatore B SchemmerCanadaElwin Sharvill UNQUALIFIED
Smith M RimBrazilOnyama Limba UNQUALIFIED
Costa O NestleSpainElwin Sharvill QUALIFIED
Cody Y RulapaughItalyAmy Elsner PROPOSAL
Tony N NestleSpainIvan Magalhaes RENEWAL
Kaitlin W GlickRussiaAmy Elsner PROPOSAL
Nicolas Y MacleadUnited KingdomElwin Sharvill PROPOSAL
Wickens W PaprockiRussiaOnyama Limba RENEWAL
Munro N SergiArgentinaIoni Bowcher QUALIFIED
Munro U WhobreyAustraliaBernardo Dominic NEW
Mujtaba K PaprockiSpainElwin Sharvill RENEWAL
Salvatore C NickaUnited KingdomStephen Shaw PROPOSAL
Aika T PerinRussiaXuxue Feng RENEWAL
Jones R InouyeGermanyXuxue Feng QUALIFIED
Isabel X SchemmerFranceOnyama Limba UNQUALIFIED
Julie E OldroydIndiaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki A BriddickArgentinaXuxue Feng NEW
Murillo G PoquetteUnited KingdomOnyama Limba RENEWAL
Claire X WaycottGermanyOnyama Limba UNQUALIFIED
Wickens W RoysterAustraliaIvan Magalhaes NEGOTIATION
Deepesh V MarrierFranceStephen Shaw RENEWAL
Chavez R CaldareraSpainBernardo Dominic UNQUALIFIED
James X RimBrazilXuxue Feng NEW
Leon F PaprockiRussiaElwin Sharvill UNQUALIFIED
Julie T ShinkoIndiaAnna Fali UNQUALIFIED
Chavez A FollerCanadaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo T WhobreyArgentina2026-09-23King, Christopher A Esq QUALIFIED95Xuxue Feng
1001Ashley Z WieserRussia2026-09-27Rousseaux, Michael Esq PROPOSAL96Bernardo Dominic
1002Juan H AmigonItaly2026-09-23Chanay, Jeffrey A Esq PROPOSAL24Asiya Javayant
1003Costa O SlusarskiArgentina2026-09-14Chapman, Ross E Esq NEW35Anna Fali
1004Faith A GauchoBrazil2026-09-04Buckley Miller Wright NEW95Bernardo Dominic
1005Arvin U KuskoCanada2026-09-22Rangoni Of Florence RENEWAL99Onyama Limba
1006Ivar I SlusarskiItaly2026-09-13Chanay, Jeffrey A Esq QUALIFIED1Bernardo Dominic
1007Salvatore X RoysterUnited Kingdom2026-09-25Benton, John B Jr NEW16Ioni Bowcher
1008Misaki E SlusarskiBrazil2026-09-28Rousseaux, Michael Esq UNQUALIFIED0Asiya Javayant
1009Smith R VenereRussia2026-09-18Feiner Bros QUALIFIED32Elwin Sharvill
1010Wickens W RutaGermany2026-09-03Truhlar And Truhlar Attys QUALIFIED90Anna Fali
1011Maria J WaycottRussia2026-09-18Buckley Miller Wright PROPOSAL84Elwin Sharvill
1012Emily C DarakjyJapan2026-09-03Morlong Associates NEW68Ioni Bowcher
1013Stacey B CampainSpain2026-09-21Benton, John B Jr PROPOSAL96Bernardo Dominic
1014Wickens Q StensethArgentina2026-09-30Buckley Miller Wright QUALIFIED75Stephen Shaw
1015Munro J SergiJapan2026-09-13Truhlar And Truhlar Attys UNQUALIFIED9Ioni Bowcher
1016Tony X OstroskyFrance2026-09-18Dorl, James J Esq NEW49Onyama Limba
1017Antonio Y AmigonJapan2026-09-24Commercial Press PROPOSAL34Anna Fali
1018Nicolas M GlickAustralia2026-09-08Truhlar And Truhlar Attys PROPOSAL11Stephen Shaw
1019Maisha Z TollnerIndia2026-10-01Dorl, James J Esq UNQUALIFIED75Ivan Magalhaes
1020Kadeem K MaletItaly2026-09-05Feiner Bros UNQUALIFIED0Asiya Javayant
1021Jeanfrancois I BologniaUnited Kingdom2026-09-08Morlong Associates PROPOSAL25Ivan Magalhaes
1022Maria D ShinkoBrazil2026-09-12King, Christopher A Esq RENEWAL29Asiya Javayant
1023Rodrigues V WhobreyAustralia2026-09-13Dorl, James J Esq UNQUALIFIED27Asiya Javayant
1024Claire Q RutaSpain2026-09-13Chapman, Ross E Esq NEW41Asiya Javayant
1025Jones K KolmetzItaly2026-09-26Commercial Press QUALIFIED7Bernardo Dominic
1026Faith D BologniaBrazil2026-09-04Rangoni Of Florence UNQUALIFIED18Xuxue Feng
1027Misaki Q SlusarskiGermany2026-09-11Chemel, James L Cpa PROPOSAL68Elwin Sharvill
1028Ivar E StensethBrazil2026-09-24Buckley Miller Wright NEGOTIATION73Anna Fali
1029Ricardo L NickaSpain2026-09-08Chapman, Ross E Esq PROPOSAL50Stephen Shaw
1030Sinclair P InouyeArgentina2026-09-04Rousseaux, Michael Esq QUALIFIED12Amy Elsner
1031Ashley I GarufiCanada2026-09-09Feltz Printing Service NEW96Ivan Magalhaes
1032Silvio I AmigonFrance2026-09-12Chemel, James L Cpa UNQUALIFIED92Onyama Limba
1033Darci G FollerRussia2026-09-25Chanay, Jeffrey A Esq NEGOTIATION18Asiya Javayant
1034Maria D InouyeAustralia2026-09-28Buckley Miller Wright RENEWAL57Anna Fali
1035Silvio I TollnerAustralia2026-09-22Chemel, James L Cpa NEGOTIATION12Ivan Magalhaes
1036Cody H DoeIndia2026-09-24King, Christopher A Esq NEGOTIATION74Xuxue Feng
1037Munro J NestleRussia2026-09-14Feiner Bros RENEWAL15Asiya Javayant
1038Julie B IturbideAustralia2026-09-12Chemel, James L Cpa NEW31Stephen Shaw
1039Aditya S RulapaughSpain2026-10-01Rangoni Of Florence RENEWAL19Xuxue Feng
1040Jefferson W MaletIndia2026-09-06Chapman, Ross E Esq QUALIFIED36Stephen Shaw
1041Leon J OldroydBrazil2026-09-24Chapman, Ross E Esq UNQUALIFIED3Bernardo Dominic
1042Jones C KuskoIndia2026-09-14Feiner Bros UNQUALIFIED62Xuxue Feng
1043Juan Q StensethUnited Kingdom2026-09-11Rousseaux, Michael Esq PROPOSAL83Anna Fali
1044David I SchemmerCanada2026-09-30Truhlar And Truhlar Attys RENEWAL30Anna Fali
1045Smith N PerinJapan2026-09-12Rangoni Of Florence RENEWAL81Ivan Magalhaes
1046Jennifer T DilliardSpain2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED9Stephen Shaw
1047Salvatore Q NickaJapan2026-09-11Dorl, James J Esq QUALIFIED80Ioni Bowcher
1048Mujtaba J AlbaresBrazil2026-09-19Benton, John B Jr RENEWAL73Xuxue Feng
1049Adams L OstroskySpain2026-09-11Benton, John B Jr PROPOSAL58Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio Q GauchoSpainAsiya Javayant NEW
Misaki A TollnerIndiaAmy Elsner NEW
Alejandro G WhobreyCanadaStephen Shaw PROPOSAL
James N RimUnited KingdomOnyama Limba NEGOTIATION
Rodrigues O OstroskyRussiaBernardo Dominic RENEWAL
Izzy P BologniaSpainOnyama Limba NEW
Tony S PoquetteJapanAmy Elsner NEGOTIATION
Deepesh L PerinBrazilOnyama Limba NEW
Maisha I DarakjyBrazilAmy Elsner UNQUALIFIED
Munro I RimCanadaIoni Bowcher UNQUALIFIED
Aika B CampainBrazilOnyama Limba NEGOTIATION
Isabel T TollnerRussiaAsiya Javayant QUALIFIED
Misaki A TollnerArgentinaAnna Fali RENEWAL
David H BologniaArgentinaOnyama Limba UNQUALIFIED
Aruna B RoysterRussiaIvan Magalhaes NEGOTIATION
Faith I SchemmerCanadaStephen Shaw RENEWAL
Mujtaba M KuskoJapanAsiya Javayant QUALIFIED
Misaki Y PerinFranceAnna Fali NEW
Faith I FlosiAustraliaIoni Bowcher PROPOSAL
James F ButtUnited KingdomAsiya Javayant NEGOTIATION
Julie I ShinkoFranceStephen Shaw NEGOTIATION
Julie D PerinUnited KingdomStephen Shaw NEGOTIATION
Rodrigues F BriddickGermanyAnna Fali NEW
Morrow A SlusarskiJapanAnna Fali NEW
David D TollnerBrazilBernardo Dominic NEW
Silvio J MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Silvio X FigeroaArgentinaBernardo Dominic QUALIFIED
Kadeem Z SergiSpainBernardo Dominic UNQUALIFIED
Chavez P NickaSpainXuxue Feng UNQUALIFIED
Misaki Y WaycottUnited KingdomOnyama Limba QUALIFIED
Murillo N SaylorsAustraliaBernardo Dominic NEGOTIATION
Mayumi B ChuiGermanyElwin Sharvill NEW
Munro V StensethItalyIoni Bowcher RENEWAL
Aditya S FigeroaSpainAnna Fali UNQUALIFIED
David V BriddickJapanOnyama Limba PROPOSAL
Emily R DoeRussiaAnna Fali PROPOSAL
Salvatore Q RutaUnited KingdomAmy Elsner UNQUALIFIED
Emily T MaletUnited KingdomIoni Bowcher QUALIFIED
Adams B InouyeRussiaOnyama Limba RENEWAL
Leon M WieserUnited KingdomAsiya Javayant NEW
Sinclair Q OstroskyItalyBernardo Dominic UNQUALIFIED
Izzy R CaldareraBrazilBernardo Dominic NEGOTIATION
Morrow C WhobreyIndiaBernardo Dominic RENEWAL
Murillo Z StensethSpainStephen Shaw NEGOTIATION
Maisha P VenereAustraliaAsiya Javayant NEGOTIATION
Stacey J OstroskyBrazilAsiya Javayant RENEWAL
Wickens T StockhamIndiaAmy Elsner RENEWAL
Octavia G GlickFranceStephen Shaw RENEWAL
Arvin K FigeroaIndiaIvan Magalhaes PROPOSAL
Nicolas X MarrierBrazilAsiya Javayant PROPOSAL
Frozen Columns
Name
Wickens B Saylors
Izzy R Kusko
Johnson R Albares
Juan F Vocelka
Clifford T Garufi
Francesco Y Bowley
Wickens Y Doe
Kadeem H Saylors
Aditya S Caldarera
Cody Z Ostrosky
Kadeem Y Chui
Cody D Shinko
Jones Q Chui
Maisha V Ruta
Stacey P Malet
Izzy E Kusko
Chavez L Malet
Aditya S Butt
Isabel P Bolognia
Adams K Ostrosky
Nicolas C Doe
Chavez B Oldroyd
Tony X Ostrosky
Aditya Z Chui
Leja Q Albares
Aditya N Kolmetz
Octavia L Nestle
Arvin C Ruta
Aruna J Iturbide
Antonio Y Rulapaugh
Salvatore I Saylors
Salvatore E Darakjy
Francesco J Nicka
Octavia L Venere
Deepesh S Oldroyd
David R Perin
Greenwood U Whobrey
Izzy N Vocelka
Leon A Ferencz
Juan R Nicka
Cody E Doe
Deepesh W Albares
Jeanfrancois E Albares
Mayumi B Poquette
Octavia L Marrier
Salvatore X Saylors
Salvatore O Vocelka
Julie T Bowley
Ashley Z Dilliard
Tony Y Briddick
IdCountryDate
1000Canada2026-09-08
1001Canada2026-09-17
1002Italy2026-09-06
1003Argentina2026-09-29
1004Brazil2026-09-13
1005Canada2026-10-02
1006Canada2026-09-14
1007Germany2026-09-07
1008Spain2026-09-09
1009Brazil2026-09-30
1010Canada2026-09-29
1011Argentina2026-09-12
1012Germany2026-09-24
1013Brazil2026-09-09
1014Japan2026-09-06
1015United Kingdom2026-09-27
1016Argentina2026-09-09
1017France2026-09-24
1018Italy2026-09-06
1019India2026-09-03
1020Canada2026-09-10
1021Brazil2026-09-06
1022Spain2026-09-17
1023Canada2026-09-23
1024Russia2026-09-18
1025Japan2026-09-26
1026Brazil2026-09-09
1027India2026-09-20
1028India2026-09-15
1029Brazil2026-09-21
1030Russia2026-09-15
1031France2026-09-13
1032France2026-09-08
1033Italy2026-09-14
1034United Kingdom2026-09-21
1035France2026-09-05
1036Japan2026-09-03
1037Russia2026-09-11
1038Canada2026-09-18
1039United Kingdom2026-09-25
1040Brazil2026-09-04
1041Spain2026-09-08
1042India2026-09-23
1043Canada2026-09-10
1044Australia2026-09-26
1045United Kingdom2026-09-30
1046Italy2026-09-14
1047Brazil2026-09-20
1048Germany2026-09-16
1049Canada2026-09-22

On-Demand Data

NameIdCountryDate
Leon W Inouye1000Brazil2026-10-02
Salvatore M Glick1001Russia2026-09-06
Emily A Glick1002Germany2026-09-20
Ivar I Shinko1003Japan2026-09-15
Adams A Ostrosky1004Italy2026-09-14
James M Rim1005Spain2026-10-01
Greenwood V Darakjy1006Japan2026-09-22
Aika D Inouye1007Spain2026-10-01
Johnson I Tollner1008Japan2026-09-08
Mayumi M Caudy1009Brazil2026-09-08
Murillo V Perin1010France2026-09-10
Jennifer G Saylors1011United Kingdom2026-09-11
Mayumi Z Gaucho1012Argentina2026-09-11
Darci Y Oldroyd1013Spain2026-09-08
Salvatore C Nicka1014United Kingdom2026-09-23
Stacey J Kusko1015France2026-09-14
Ricardo D Bolognia1016United Kingdom2026-09-12
Ivar O Waycott1017United Kingdom2026-09-20
Francesco T Stockham1018Spain2026-09-21
Isabel J Bolognia1019Germany2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika N OldroydItalyBernardo Dominic PROPOSAL
Jeanfrancois N MaletSpainIoni Bowcher NEW
Johnson B FigeroaCanadaIvan Magalhaes UNQUALIFIED
Johnson P KolmetzRussiaStephen Shaw RENEWAL
Adams G GlickAustraliaAsiya Javayant PROPOSAL
Costa L FerenczFranceAsiya Javayant NEGOTIATION
Aruna S OstroskyGermanyIoni Bowcher QUALIFIED
David K StensethJapanBernardo Dominic NEGOTIATION
Juan S GillianItalyXuxue Feng QUALIFIED
Izzy S ShinkoSpainIvan Magalhaes NEGOTIATION
Aruna E RimGermanyAnna Fali NEW
Mayumi G PerinBrazilElwin Sharvill NEW
Izzy A StockhamCanadaXuxue Feng RENEWAL
Smith D BowleyArgentinaAmy Elsner NEGOTIATION
Isabel U VocelkaArgentinaAmy Elsner NEW
Johnson N ButtCanadaOnyama Limba QUALIFIED
Mayumi X KolmetzCanadaStephen Shaw UNQUALIFIED
Salvatore J MaletSpainAmy Elsner RENEWAL
Misaki O SchemmerCanadaOnyama Limba NEW
Stacey W DilliardJapanElwin Sharvill QUALIFIED
Murillo D MorascaFranceIoni Bowcher NEGOTIATION
Emily V MacleadFranceIoni Bowcher PROPOSAL
Smith B ChuiSpainElwin Sharvill NEGOTIATION
Izzy Y DoeSpainElwin Sharvill NEGOTIATION
Cody K OldroydItalyAnna Fali QUALIFIED
Mayumi N PerinBrazilStephen Shaw RENEWAL
Cody X NestleSpainAnna Fali NEW
Alejandro U KolmetzArgentinaAnna Fali UNQUALIFIED
Stacey Y MaletIndiaXuxue Feng UNQUALIFIED
Arvin F GlickArgentinaOnyama Limba PROPOSAL
Isabel J MaletAustraliaAsiya Javayant QUALIFIED
Deepesh C CaldareraAustraliaAsiya Javayant RENEWAL
Sinclair M CaldareraFranceIoni Bowcher RENEWAL
Maria E SergiItalyOnyama Limba NEGOTIATION
Jeanfrancois R SergiIndiaXuxue Feng NEW
Aditya Q MacleadAustraliaAnna Fali QUALIFIED
Francesco Q RulapaughBrazilStephen Shaw UNQUALIFIED
Mujtaba X RoysterArgentinaXuxue Feng PROPOSAL
James P BriddickCanadaIvan Magalhaes NEW
Arvin E KuskoJapanAsiya 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>