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
Chavez F CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Faith V CampainSpainAnna Fali NEGOTIATION
Juan M SlusarskiSpainBernardo Dominic NEGOTIATION
Jennifer E InouyeUnited KingdomAmy Elsner QUALIFIED
James I MaletJapanXuxue Feng UNQUALIFIED
Mayumi V NickaSpainIoni Bowcher NEW
Morrow A SaylorsBrazilAnna Fali NEGOTIATION
Greenwood M PoquetteFranceOnyama Limba UNQUALIFIED
Clifford S VenereGermanyAnna Fali UNQUALIFIED
David M KolmetzIndiaIvan Magalhaes RENEWAL
Smith W ShinkoItalyAsiya Javayant UNQUALIFIED
David W BriddickGermanyAsiya Javayant NEW
Ashley A BologniaItalyElwin Sharvill NEGOTIATION
James H WaycottFranceAsiya Javayant NEGOTIATION
Faith Z MaletUnited KingdomAsiya Javayant NEW
Aika N CampainFranceIvan Magalhaes UNQUALIFIED
Wickens X PaprockiArgentinaIvan Magalhaes QUALIFIED
Kaitlin F NestleItalyBernardo Dominic UNQUALIFIED
Ivar Y GillianRussiaAsiya Javayant NEGOTIATION
Antonio A NickaSpainAsiya Javayant NEGOTIATION
Julie D GillianJapanIoni Bowcher NEGOTIATION
Francesco E MarrierFranceIvan Magalhaes RENEWAL
Antonio R WhobreyArgentinaAsiya Javayant PROPOSAL
James J GlickBrazilOnyama Limba RENEWAL
Emily D KolmetzFranceAsiya Javayant PROPOSAL
Wickens P ShinkoItalyAsiya Javayant RENEWAL
Jeanfrancois A FigeroaBrazilXuxue Feng UNQUALIFIED
Aruna A GauchoSpainIoni Bowcher UNQUALIFIED
Jefferson I CaldareraIndiaAmy Elsner NEGOTIATION
Nicolas G BologniaUnited KingdomAsiya Javayant NEGOTIATION
Maisha C SlusarskiAustraliaAnna Fali NEGOTIATION
Leon Y KuskoUnited KingdomIvan Magalhaes NEW
Morrow R PerinFranceElwin Sharvill PROPOSAL
Mujtaba X FigeroaSpainXuxue Feng NEGOTIATION
Sinclair R BowleySpainIvan Magalhaes RENEWAL
Aditya V VocelkaCanadaStephen Shaw NEGOTIATION
Clifford G FlosiItalyXuxue Feng NEW
Tony F BologniaJapanStephen Shaw RENEWAL
Morrow P WaycottJapanAnna Fali RENEWAL
Mayumi Z VenereArgentinaElwin Sharvill NEW
Rodrigues M FerenczAustraliaXuxue Feng QUALIFIED
Ashley E MaletSpainAnna Fali NEW
David L VenereJapanIvan Magalhaes NEW
Izzy X OstroskyUnited KingdomAsiya Javayant QUALIFIED
Misaki D OldroydCanadaBernardo Dominic PROPOSAL
Costa N KolmetzAustraliaAsiya Javayant PROPOSAL
Izzy A CaudyCanadaAmy Elsner NEGOTIATION
Mayumi E StockhamUnited KingdomIvan Magalhaes RENEWAL
Adams G CaudyRussiaIvan Magalhaes PROPOSAL
Darci X MaletIndiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Alejandro T RulapaughCanadaIvan Magalhaes UNQUALIFIED
Wickens K SergiSpainAnna Fali NEW
Salvatore O MorascaAustraliaStephen Shaw NEW
Silvio P WhobreyAustraliaXuxue Feng NEGOTIATION
Johnson N FollerUnited KingdomAmy Elsner PROPOSAL
Aruna P AlbaresArgentinaXuxue Feng PROPOSAL
Cody Q OldroydIndiaXuxue Feng NEGOTIATION
Emily D MorascaIndiaAmy Elsner NEGOTIATION
Wickens A BowleyIndiaXuxue Feng NEW
Aruna L StensethCanadaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna J GillianBrazil2026-10-07Dorl, James J Esq UNQUALIFIED90Xuxue Feng
1001Darci L RimAustralia2026-10-28Buckley Miller Wright UNQUALIFIED74Anna Fali
1002Arvin B RulapaughJapan2026-10-08Chemel, James L Cpa UNQUALIFIED11Bernardo Dominic
1003Leon G WhobreyRussia2026-10-05Chanay, Jeffrey A Esq RENEWAL67Ioni Bowcher
1004Deepesh L BowleyGermany2026-10-05Chanay, Jeffrey A Esq NEW90Elwin Sharvill
1005Chavez U MaletFrance2026-10-04Truhlar And Truhlar Attys RENEWAL61Amy Elsner
1006Izzy B SchemmerUnited Kingdom2026-10-16Buckley Miller Wright UNQUALIFIED83Ioni Bowcher
1007Costa A CampainFrance2026-10-26Buckley Miller Wright NEW89Ivan Magalhaes
1008Morrow U ButtItaly2026-09-30Dorl, James J Esq QUALIFIED55Anna Fali
1009Mayumi H AlbaresItaly2026-10-27Chemel, James L Cpa QUALIFIED72Stephen Shaw
1010Chavez D GauchoCanada2026-10-26Feltz Printing Service RENEWAL8Anna Fali
1011Silvio H DilliardIndia2026-10-27Commercial Press NEGOTIATION84Elwin Sharvill
1012Chavez Y BowleyFrance2026-10-24Rangoni Of Florence NEW80Xuxue Feng
1013Darci E DilliardUnited Kingdom2026-10-17Morlong Associates UNQUALIFIED68Onyama Limba
1014Kaitlin L IturbideBrazil2026-10-07Printing Dimensions NEGOTIATION21Bernardo Dominic
1015Jeanfrancois A OldroydFrance2026-10-26Chemel, James L Cpa NEW22Amy Elsner
1016Adams S FollerIndia2026-10-19Commercial Press UNQUALIFIED73Amy Elsner
1017Deepesh R PoquetteArgentina2026-10-23Chanay, Jeffrey A Esq NEW38Bernardo Dominic
1018Jones A CampainBrazil2026-10-04King, Christopher A Esq PROPOSAL99Anna Fali
1019Maisha R SergiSpain2026-10-08Chanay, Jeffrey A Esq PROPOSAL30Xuxue Feng
1020Antonio C InouyeJapan2026-10-17Truhlar And Truhlar Attys UNQUALIFIED19Anna Fali
1021Isabel P MaletBrazil2026-10-17Benton, John B Jr NEW90Asiya Javayant
1022Maria I PoquetteItaly2026-10-22Commercial Press NEGOTIATION58Xuxue Feng
1023Aruna X PaprockiFrance2026-10-03Dorl, James J Esq NEW20Bernardo Dominic
1024Rodrigues D MarrierUnited Kingdom2026-10-23Chanay, Jeffrey A Esq QUALIFIED10Onyama Limba
1025Aika V CaudyGermany2026-10-22Chanay, Jeffrey A Esq QUALIFIED49Ioni Bowcher
1026Kaitlin O MorascaSpain2026-10-06Dorl, James J Esq NEGOTIATION48Ivan Magalhaes
1027Cody S RoysterUnited Kingdom2026-10-24Feltz Printing Service UNQUALIFIED72Anna Fali
1028Francesco L RoysterRussia2026-10-27Buckley Miller Wright NEW81Ivan Magalhaes
1029Aditya D CaldareraItaly2026-10-27Truhlar And Truhlar Attys RENEWAL51Ioni Bowcher
1030Ivar I FlosiBrazil2026-10-26Morlong Associates NEW77Amy Elsner
1031Ricardo U PaprockiArgentina2026-10-26King, Christopher A Esq QUALIFIED72Elwin Sharvill
1032Octavia B BowleyRussia2026-10-20King, Christopher A Esq NEGOTIATION92Xuxue Feng
1033Aruna Y PerinJapan2026-10-13King, Christopher A Esq UNQUALIFIED15Stephen Shaw
1034Wickens R AmigonCanada2026-10-28Chanay, Jeffrey A Esq NEGOTIATION24Xuxue Feng
1035Stacey T IturbideItaly2026-10-20Morlong Associates QUALIFIED82Amy Elsner
1036Emily M BriddickBrazil2026-10-13Chapman, Ross E Esq UNQUALIFIED3Asiya Javayant
1037Murillo J GauchoBrazil2026-10-23Benton, John B Jr NEGOTIATION11Asiya Javayant
1038Mayumi C DoeJapan2026-10-16Dorl, James J Esq RENEWAL82Xuxue Feng
1039Greenwood H DilliardAustralia2026-10-11Commercial Press RENEWAL65Asiya Javayant
1040Antonio F ShinkoGermany2026-10-22Printing Dimensions QUALIFIED28Xuxue Feng
1041Jennifer A KolmetzBrazil2026-10-21Chemel, James L Cpa NEW41Ivan Magalhaes
1042Aika S InouyeJapan2026-10-21Chanay, Jeffrey A Esq QUALIFIED42Amy Elsner
1043Costa A PerinIndia2026-10-29Rangoni Of Florence NEGOTIATION86Anna Fali
1044Julie V ShinkoArgentina2026-10-25Morlong Associates NEGOTIATION1Xuxue Feng
1045Juan E FlosiArgentina2026-10-15Morlong Associates NEGOTIATION87Stephen Shaw
1046Julie J SchemmerArgentina2026-10-10Chemel, James L Cpa UNQUALIFIED22Onyama Limba
1047Munro F OstroskyBrazil2026-10-11Commercial Press UNQUALIFIED52Amy Elsner
1048Maria P PerinGermany2026-10-14Rousseaux, Michael Esq UNQUALIFIED83Elwin Sharvill
1049Darci V MarrierCanada2026-10-02Printing Dimensions UNQUALIFIED20Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Silvio T FlosiArgentinaIvan Magalhaes NEGOTIATION
Kaitlin U IturbideBrazilIoni Bowcher QUALIFIED
Kadeem L FerenczGermanyBernardo Dominic QUALIFIED
Juan C TollnerSpainXuxue Feng PROPOSAL
Ashley C SaylorsSpainAsiya Javayant UNQUALIFIED
Aruna H GarufiAustraliaXuxue Feng RENEWAL
Julie T SergiUnited KingdomXuxue Feng UNQUALIFIED
Faith S IturbideIndiaAmy Elsner NEGOTIATION
Emily Y SchemmerSpainAsiya Javayant QUALIFIED
Darci C SaylorsRussiaXuxue Feng NEGOTIATION
Octavia F ButtGermanyElwin Sharvill QUALIFIED
Faith F BriddickRussiaStephen Shaw PROPOSAL
Jennifer O PerinGermanyOnyama Limba NEW
Jeanfrancois U RimRussiaXuxue Feng UNQUALIFIED
Arvin L ShinkoFranceXuxue Feng PROPOSAL
Aditya K DoeCanadaBernardo Dominic RENEWAL
Darci J NickaJapanAmy Elsner NEGOTIATION
Kaitlin H MaletItalyAnna Fali QUALIFIED
Aruna H MacleadUnited KingdomOnyama Limba PROPOSAL
Nicolas X VenereJapanElwin Sharvill UNQUALIFIED
Alejandro G VenereJapanXuxue Feng NEW
Emily R SergiCanadaElwin Sharvill QUALIFIED
Kadeem Z OstroskyGermanyAmy Elsner PROPOSAL
Aika X VocelkaIndiaBernardo Dominic QUALIFIED
Silvio Y SchemmerAustraliaStephen Shaw NEW
Arvin E SlusarskiAustraliaElwin Sharvill NEW
Jones S SaylorsRussiaIoni Bowcher UNQUALIFIED
Aruna U CampainAustraliaAmy Elsner NEW
Clifford Z VocelkaUnited KingdomIoni Bowcher QUALIFIED
Aika O PoquetteBrazilIoni Bowcher QUALIFIED
Johnson H AmigonIndiaAsiya Javayant QUALIFIED
Sinclair I WieserAustraliaAmy Elsner NEGOTIATION
Murillo B MorascaCanadaAsiya Javayant RENEWAL
Aditya Z ShinkoBrazilElwin Sharvill NEGOTIATION
Wickens J KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Darci H FerenczSpainStephen Shaw QUALIFIED
Murillo R NestleIndiaAnna Fali PROPOSAL
Rodrigues M AlbaresAustraliaAnna Fali RENEWAL
Salvatore A DilliardArgentinaOnyama Limba RENEWAL
Aditya K ChuiIndiaStephen Shaw RENEWAL
Adams D FollerSpainAnna Fali NEGOTIATION
Arvin Z CampainArgentinaBernardo Dominic QUALIFIED
Wickens H ChuiBrazilAmy Elsner UNQUALIFIED
Francesco Y KolmetzJapanStephen Shaw QUALIFIED
Rodrigues V BriddickCanadaAmy Elsner NEW
Leon O WhobreyGermanyAsiya Javayant PROPOSAL
Jeanfrancois H MaletJapanAsiya Javayant NEGOTIATION
Salvatore W DarakjyAustraliaElwin Sharvill NEW
Octavia A InouyeBrazilAmy Elsner NEW
Isabel C NestleIndiaAsiya Javayant RENEWAL
Frozen Columns
Name
Costa S Kusko
David I Chui
Ashley I Stockham
Tony D Schemmer
Julie B Gaucho
Clifford D Perin
Nicolas B Rim
Aditya H Butt
Kaitlin P Albares
Claire F Schemmer
Octavia U Gillian
Antonio U Kolmetz
Octavia F Perin
Silvio Z Venere
Aditya L Iturbide
Leja Z Doe
James T Campain
Isabel N Rim
Salvatore N Butt
Ivar Y Marrier
James F Albares
Mayumi B Garufi
Greenwood U Ostrosky
James Z Garufi
Juan F Marrier
Claire G Gillian
Greenwood F Ruta
Leja R Ruta
Ashley F Figeroa
Munro Z Royster
Darci V Campain
Izzy H Chui
Salvatore K Stockham
Silvio B Maclead
Costa G Foller
Ashley U Gaucho
Aditya T Ruta
Tony W Gaucho
Jefferson Q Gillian
Darci P Rulapaugh
Chavez D Wieser
Kadeem H Bowley
Morrow Q Marrier
Clifford M Vocelka
Jefferson N Slusarski
Izzy B Darakjy
Leja Y Iturbide
Jeanfrancois W Malet
Ivar R Butt
Emily N Vocelka
IdCountryDate
1000Italy2026-10-23
1001Argentina2026-10-26
1002Russia2026-10-04
1003Japan2026-10-20
1004Germany2026-10-14
1005United Kingdom2026-10-22
1006Australia2026-10-21
1007France2026-10-22
1008Australia2026-10-12
1009India2026-10-01
1010France2026-10-14
1011Germany2026-10-23
1012France2026-10-22
1013Canada2026-10-08
1014Italy2026-10-08
1015Italy2026-10-27
1016United Kingdom2026-10-11
1017India2026-10-06
1018United Kingdom2026-10-05
1019India2026-10-23
1020France2026-10-29
1021Russia2026-10-12
1022India2026-10-16
1023Japan2026-10-21
1024Russia2026-10-20
1025United Kingdom2026-10-24
1026Italy2026-10-18
1027Italy2026-10-24
1028Russia2026-10-04
1029Italy2026-10-19
1030United Kingdom2026-10-04
1031Spain2026-10-05
1032Spain2026-10-23
1033United Kingdom2026-10-03
1034Canada2026-10-09
1035India2026-10-08
1036Japan2026-10-15
1037Russia2026-10-18
1038Brazil2026-10-13
1039Italy2026-09-30
1040Argentina2026-10-23
1041Spain2026-10-06
1042Argentina2026-10-07
1043Argentina2026-10-19
1044Spain2026-10-14
1045Argentina2026-10-06
1046France2026-10-01
1047France2026-10-28
1048Spain2026-10-20
1049Argentina2026-10-25

On-Demand Data

NameIdCountryDate
Leon S Perin1000Canada2026-10-15
Deepesh J Chui1001Australia2026-10-05
Smith V Perin1002Germany2026-09-30
Stacey J Nestle1003France2026-10-03
Claire D Foller1004Spain2026-10-26
Silvio T Shinko1005Spain2026-09-30
James Q Tollner1006Canada2026-10-24
Rodrigues F Shinko1007Argentina2026-10-28
Izzy G Perin1008France2026-10-24
Clifford M Shinko1009Argentina2026-10-17
Claire B Butt1010India2026-10-15
Francesco G Briddick1011France2026-10-12
Mujtaba S Kolmetz1012India2026-10-14
Octavia I Malet1013Argentina2026-09-30
Alejandro D Doe1014Germany2026-10-03
Mujtaba F Kusko1015Italy2026-10-19
Darci M Shinko1016Australia2026-10-14
Mayumi K Rim1017Argentina2026-10-15
Alejandro Q Caldarera1018Russia2026-10-29
Juan K Wieser1019Australia2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo Q MaletJapanXuxue Feng QUALIFIED
Aika U KuskoJapanAmy Elsner NEW
Antonio C BowleyRussiaIoni Bowcher RENEWAL
Izzy Q KolmetzSpainBernardo Dominic NEGOTIATION
Jones R ButtItalyXuxue Feng QUALIFIED
Munro X ButtAustraliaXuxue Feng RENEWAL
Aditya F GlickRussiaStephen Shaw NEGOTIATION
Mujtaba E ShinkoBrazilXuxue Feng PROPOSAL
Darci J MorascaItalyBernardo Dominic NEW
Francesco O OstroskyFranceXuxue Feng QUALIFIED
Cody W NickaItalyAsiya Javayant NEW
Leja E CaudyAustraliaXuxue Feng RENEWAL
Kadeem O SaylorsIndiaAnna Fali NEW
Darci B GauchoIndiaIoni Bowcher NEW
Sinclair V AlbaresIndiaElwin Sharvill NEGOTIATION
Maria Y GlickItalyIvan Magalhaes NEGOTIATION
Nicolas M SaylorsArgentinaStephen Shaw NEW
Rodrigues P SergiBrazilStephen Shaw NEGOTIATION
Johnson G ShinkoRussiaAnna Fali PROPOSAL
Maisha U WaycottUnited KingdomBernardo Dominic PROPOSAL
Julie W MaletUnited KingdomAnna Fali RENEWAL
Maisha B FlosiFranceAnna Fali NEGOTIATION
Jones Y VenereFranceXuxue Feng NEW
Jennifer B SergiRussiaAmy Elsner PROPOSAL
Jennifer Y SlusarskiJapanAmy Elsner UNQUALIFIED
Leja C OstroskyRussiaAmy Elsner QUALIFIED
Costa Q DilliardBrazilBernardo Dominic PROPOSAL
Claire P ChuiIndiaIvan Magalhaes NEW
Sinclair M NickaIndiaXuxue Feng NEGOTIATION
Isabel N PerinIndiaAsiya Javayant QUALIFIED
Nicolas X MarrierFranceIvan Magalhaes NEW
Isabel F DoeFranceAmy Elsner UNQUALIFIED
Sinclair S BriddickGermanyAmy Elsner RENEWAL
Tony K SchemmerGermanyAsiya Javayant UNQUALIFIED
Isabel I RoysterSpainStephen Shaw NEW
Octavia C DoeCanadaAmy Elsner RENEWAL
Sinclair M PoquetteJapanAmy Elsner RENEWAL
Kadeem M NickaItalyIoni Bowcher RENEWAL
Isabel F RulapaughCanadaStephen Shaw RENEWAL
Arvin P GarufiJapanAnna Fali 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>