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
Deepesh P GarufiAustraliaAsiya Javayant UNQUALIFIED
Leon G MaletIndiaIvan Magalhaes PROPOSAL
Costa Y SlusarskiCanadaXuxue Feng NEGOTIATION
James D FollerUnited KingdomAmy Elsner RENEWAL
Sinclair L FerenczGermanyAsiya Javayant NEGOTIATION
David J KolmetzJapanOnyama Limba UNQUALIFIED
Leja N PaprockiFranceIoni Bowcher NEW
Kaitlin X StockhamFranceOnyama Limba RENEWAL
Chavez B DarakjyAustraliaAnna Fali QUALIFIED
Francesco P CaldareraArgentinaAmy Elsner RENEWAL
Tony W MaletItalyAsiya Javayant QUALIFIED
Ricardo L IturbideUnited KingdomElwin Sharvill RENEWAL
Mujtaba H MaletUnited KingdomStephen Shaw NEW
Murillo N ChuiGermanyAnna Fali NEGOTIATION
Stacey V GarufiBrazilIoni Bowcher RENEWAL
Mujtaba K AlbaresAustraliaStephen Shaw UNQUALIFIED
Ricardo Z AlbaresItalyIoni Bowcher QUALIFIED
Rodrigues A CaudyGermanyIvan Magalhaes QUALIFIED
Cody P InouyeSpainXuxue Feng NEGOTIATION
Octavia B CaudyBrazilAsiya Javayant RENEWAL
Aruna T PaprockiAustraliaAsiya Javayant NEW
Morrow G InouyeSpainAmy Elsner PROPOSAL
Salvatore F IturbideJapanIoni Bowcher PROPOSAL
Stacey G KuskoIndiaIoni Bowcher QUALIFIED
Claire Z FlosiIndiaBernardo Dominic QUALIFIED
Juan H GarufiIndiaAmy Elsner NEGOTIATION
Jennifer I FlosiAustraliaBernardo Dominic UNQUALIFIED
Darci K NestleBrazilAsiya Javayant QUALIFIED
Juan K FlosiGermanyOnyama Limba RENEWAL
Francesco F PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Greenwood J MarrierJapanAsiya Javayant PROPOSAL
Arvin X VenereJapanAsiya Javayant PROPOSAL
Jones V CampainItalyElwin Sharvill UNQUALIFIED
Jennifer X MaletArgentinaElwin Sharvill PROPOSAL
Jeanfrancois G MacleadSpainStephen Shaw RENEWAL
Clifford R RulapaughFranceAsiya Javayant RENEWAL
Adams H MaletBrazilXuxue Feng NEW
Aika N PaprockiIndiaAmy Elsner RENEWAL
Adams D GauchoBrazilXuxue Feng QUALIFIED
Kaitlin Q DoeRussiaAmy Elsner RENEWAL
Deepesh U FollerCanadaIvan Magalhaes RENEWAL
Tony C GlickCanadaAnna Fali PROPOSAL
Aika W FlosiGermanyAnna Fali UNQUALIFIED
Ricardo F AlbaresBrazilAsiya Javayant UNQUALIFIED
Chavez D FollerBrazilAnna Fali UNQUALIFIED
Maria H FlosiCanadaOnyama Limba RENEWAL
Kadeem X FollerArgentinaBernardo Dominic QUALIFIED
Arvin I PerinItalyAmy Elsner NEGOTIATION
James U GlickUnited KingdomStephen Shaw PROPOSAL
Tony X InouyeBrazilOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James I GauchoSpainOnyama Limba RENEWAL
Leon E KuskoGermanyStephen Shaw UNQUALIFIED
Salvatore M GillianRussiaXuxue Feng NEGOTIATION
Salvatore C OstroskyGermanyIoni Bowcher NEW
David L BriddickAustraliaAsiya Javayant NEGOTIATION
Jefferson S MaletAustraliaStephen Shaw PROPOSAL
David U BologniaGermanyElwin Sharvill PROPOSAL
Clifford I GarufiFranceAmy Elsner RENEWAL
Costa O BowleyIndiaIvan Magalhaes QUALIFIED
Nicolas Y OstroskyBrazilAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro U BriddickUnited Kingdom2026-09-25King, Christopher A Esq NEW36Ivan Magalhaes
1001Isabel Q AlbaresSpain2026-10-06Benton, John B Jr RENEWAL22Xuxue Feng
1002Isabel B DarakjyRussia2026-09-15Rangoni Of Florence NEW26Elwin Sharvill
1003Julie L DilliardIndia2026-09-13Feiner Bros NEW46Stephen Shaw
1004Jeanfrancois K ChuiCanada2026-10-02Buckley Miller Wright NEW70Asiya Javayant
1005Faith A SchemmerSpain2026-09-13Rousseaux, Michael Esq PROPOSAL37Anna Fali
1006Julie I MaletJapan2026-09-28Chapman, Ross E Esq QUALIFIED7Xuxue Feng
1007Claire I IturbideBrazil2026-10-03Chemel, James L Cpa QUALIFIED96Ioni Bowcher
1008Rodrigues T FlosiJapan2026-09-24Feiner Bros NEW68Elwin Sharvill
1009Mujtaba Q KolmetzCanada2026-09-23Rangoni Of Florence PROPOSAL28Stephen Shaw
1010Nicolas P ShinkoCanada2026-09-09Benton, John B Jr NEW24Bernardo Dominic
1011Jeanfrancois H FigeroaSpain2026-10-07King, Christopher A Esq RENEWAL46Ivan Magalhaes
1012Mujtaba X AmigonGermany2026-10-01Chapman, Ross E Esq PROPOSAL10Stephen Shaw
1013Chavez M KuskoCanada2026-10-02Benton, John B Jr RENEWAL77Ioni Bowcher
1014Ricardo U BriddickItaly2026-09-22Commercial Press RENEWAL65Elwin Sharvill
1015Misaki I IturbideCanada2026-09-26Feiner Bros PROPOSAL92Xuxue Feng
1016Smith K ChuiGermany2026-09-24Chemel, James L Cpa RENEWAL33Stephen Shaw
1017Morrow H WhobreyUnited Kingdom2026-09-12Buckley Miller Wright NEGOTIATION59Bernardo Dominic
1018Emily G GarufiJapan2026-09-24King, Christopher A Esq PROPOSAL22Stephen Shaw
1019Chavez V MarrierItaly2026-09-17Rangoni Of Florence RENEWAL6Elwin Sharvill
1020Sinclair V PaprockiRussia2026-09-22Rangoni Of Florence RENEWAL55Ivan Magalhaes
1021Alejandro S GauchoArgentina2026-09-19Printing Dimensions RENEWAL56Xuxue Feng
1022Mujtaba S MaletSpain2026-09-27Chanay, Jeffrey A Esq NEW65Xuxue Feng
1023Izzy K ButtUnited Kingdom2026-09-10Truhlar And Truhlar Attys NEGOTIATION82Bernardo Dominic
1024Arvin P FerenczArgentina2026-09-15Commercial Press QUALIFIED92Ivan Magalhaes
1025Juan Z MacleadSpain2026-09-27Rangoni Of Florence NEW40Ioni Bowcher
1026Smith J StockhamIndia2026-09-15Commercial Press UNQUALIFIED1Anna Fali
1027Aika Z WhobreyJapan2026-09-15Feiner Bros RENEWAL66Anna Fali
1028Wickens S NickaBrazil2026-09-23King, Christopher A Esq RENEWAL16Ivan Magalhaes
1029Kaitlin D FigeroaSpain2026-09-21Feltz Printing Service NEGOTIATION47Ioni Bowcher
1030Maria Z OldroydGermany2026-09-11Buckley Miller Wright NEGOTIATION79Onyama Limba
1031Nicolas A NestleCanada2026-09-30Rousseaux, Michael Esq QUALIFIED32Amy Elsner
1032Adams F BriddickBrazil2026-10-05Rangoni Of Florence PROPOSAL19Bernardo Dominic
1033Jones G RulapaughSpain2026-10-04Buckley Miller Wright QUALIFIED35Stephen Shaw
1034Deepesh S MaletSpain2026-10-07Dorl, James J Esq NEGOTIATION30Bernardo Dominic
1035Faith I CaldareraArgentina2026-09-30Printing Dimensions PROPOSAL63Stephen Shaw
1036Silvio A PaprockiRussia2026-10-03Dorl, James J Esq RENEWAL56Asiya Javayant
1037Leja B BologniaCanada2026-09-08Rangoni Of Florence PROPOSAL47Ivan Magalhaes
1038Kaitlin Z ShinkoIndia2026-09-28Chanay, Jeffrey A Esq NEW74Anna Fali
1039Izzy S IturbideJapan2026-09-11Rangoni Of Florence RENEWAL35Elwin Sharvill
1040Jones X StockhamBrazil2026-09-10Printing Dimensions QUALIFIED22Xuxue Feng
1041Alejandro A VocelkaFrance2026-09-10Buckley Miller Wright PROPOSAL72Elwin Sharvill
1042Francesco I CampainCanada2026-09-12King, Christopher A Esq QUALIFIED31Stephen Shaw
1043Salvatore L SergiFrance2026-09-18Printing Dimensions PROPOSAL31Onyama Limba
1044Octavia B DarakjyRussia2026-09-09Rangoni Of Florence PROPOSAL3Elwin Sharvill
1045Nicolas Z ChuiBrazil2026-09-10Rangoni Of Florence UNQUALIFIED34Elwin Sharvill
1046Cody K DilliardIndia2026-09-30Rousseaux, Michael Esq RENEWAL33Stephen Shaw
1047Arvin P SlusarskiArgentina2026-10-05Chapman, Ross E Esq QUALIFIED13Onyama Limba
1048Leja R PerinItaly2026-09-22Feltz Printing Service PROPOSAL13Onyama Limba
1049Silvio G InouyeSpain2026-09-27Rangoni Of Florence NEGOTIATION2Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Smith P MaletCanadaOnyama Limba UNQUALIFIED
Maisha X GillianUnited KingdomBernardo Dominic NEW
Aditya A NestleSpainBernardo Dominic QUALIFIED
Johnson N NestleRussiaAmy Elsner NEGOTIATION
Stacey Q InouyeGermanyElwin Sharvill NEW
Munro M StockhamJapanXuxue Feng PROPOSAL
James P FigeroaCanadaXuxue Feng UNQUALIFIED
Octavia S ChuiRussiaElwin Sharvill NEW
Johnson O AmigonArgentinaIvan Magalhaes QUALIFIED
Jones C AlbaresGermanyAmy Elsner NEW
Ashley S InouyeFranceAnna Fali RENEWAL
Alejandro U VocelkaFranceIoni Bowcher NEW
Wickens E IturbideFranceXuxue Feng UNQUALIFIED
Murillo D WaycottFranceIvan Magalhaes RENEWAL
Julie W RulapaughFranceAmy Elsner NEGOTIATION
Deepesh A RulapaughIndiaBernardo Dominic UNQUALIFIED
Greenwood U AlbaresFranceStephen Shaw PROPOSAL
Clifford P StensethArgentinaAnna Fali NEGOTIATION
Leja N MarrierSpainIoni Bowcher UNQUALIFIED
Izzy Z BologniaRussiaBernardo Dominic NEW
Mayumi S SlusarskiIndiaBernardo Dominic NEW
Isabel D WieserSpainXuxue Feng RENEWAL
Aditya G CaldareraJapanOnyama Limba QUALIFIED
Arvin S InouyeGermanyOnyama Limba NEW
Isabel T VenereArgentinaAmy Elsner UNQUALIFIED
Cody P CaldareraBrazilStephen Shaw PROPOSAL
Chavez I SergiIndiaElwin Sharvill NEW
Maria J GauchoSpainIoni Bowcher PROPOSAL
Francesco A MarrierArgentinaBernardo Dominic RENEWAL
Clifford D MaletGermanyAmy Elsner RENEWAL
Chavez W PoquetteJapanElwin Sharvill RENEWAL
Darci J NestleSpainAnna Fali NEGOTIATION
Smith B GillianCanadaAsiya Javayant NEW
Ashley K CaldareraArgentinaIvan Magalhaes NEGOTIATION
Jennifer J MaletCanadaXuxue Feng RENEWAL
Francesco B FigeroaItalyBernardo Dominic NEW
Clifford U GauchoIndiaIvan Magalhaes QUALIFIED
Nicolas Z MaletFranceAsiya Javayant QUALIFIED
Jennifer Y PerinIndiaStephen Shaw QUALIFIED
Deepesh J PoquetteSpainAmy Elsner PROPOSAL
Wickens I ShinkoCanadaXuxue Feng UNQUALIFIED
Misaki J SaylorsAustraliaElwin Sharvill UNQUALIFIED
Arvin I SlusarskiUnited KingdomAnna Fali PROPOSAL
Kaitlin X OstroskyRussiaIvan Magalhaes QUALIFIED
Kadeem B GillianAustraliaBernardo Dominic QUALIFIED
Murillo E ShinkoIndiaAsiya Javayant PROPOSAL
Izzy G SergiItalyAmy Elsner NEGOTIATION
Darci U NestleItalyAmy Elsner UNQUALIFIED
Ricardo X BriddickCanadaAsiya Javayant QUALIFIED
Isabel Y OstroskyAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Ricardo L Venere
Arvin R Perin
Ashley L Figeroa
Jefferson J Caudy
Chavez M Shinko
Chavez M Saylors
Rodrigues A Garufi
Johnson U Oldroyd
Kaitlin O Malet
Silvio X Dilliard
Kaitlin W Oldroyd
Aditya X Malet
Darci H Royster
Maria I Briddick
Jeanfrancois M Figeroa
Sinclair L Royster
Claire U Venere
Morrow O Gillian
David X Glick
Izzy W Saylors
Kaitlin O Foller
Juan S Dilliard
Nicolas M Malet
Jeanfrancois V Marrier
Darci B Ferencz
Rodrigues B Morasca
Jefferson M Gillian
Tony P Bowley
Misaki T Slusarski
Wickens A Amigon
Leon W Bolognia
Morrow P Kusko
Leon F Albares
Greenwood U Shinko
Deepesh Z Paprocki
Maria R Campain
Smith P Poquette
Julie N Slusarski
David H Bolognia
Mujtaba I Saylors
Munro O Shinko
Salvatore I Chui
Aruna T Briddick
Tony E Glick
Leon A Bowley
James R Glick
David O Caldarera
Smith G Oldroyd
Octavia P Rim
Isabel R Chui
IdCountryDate
1000Russia2026-10-06
1001Spain2026-09-22
1002India2026-09-13
1003Canada2026-09-24
1004Argentina2026-09-22
1005United Kingdom2026-10-06
1006Canada2026-09-17
1007Argentina2026-09-21
1008Brazil2026-09-14
1009Canada2026-09-08
1010Japan2026-09-21
1011Germany2026-09-10
1012Canada2026-09-16
1013India2026-09-18
1014Germany2026-09-30
1015Russia2026-09-22
1016Japan2026-09-17
1017Spain2026-09-17
1018Australia2026-09-16
1019Argentina2026-10-03
1020Germany2026-10-03
1021India2026-09-08
1022United Kingdom2026-09-12
1023Argentina2026-10-07
1024United Kingdom2026-09-21
1025Russia2026-09-09
1026Japan2026-10-02
1027Argentina2026-10-03
1028Canada2026-09-28
1029Spain2026-09-29
1030Australia2026-10-06
1031Spain2026-09-24
1032India2026-09-30
1033Argentina2026-09-24
1034Italy2026-09-21
1035Italy2026-09-10
1036Russia2026-09-12
1037Russia2026-09-22
1038Argentina2026-09-27
1039Russia2026-09-26
1040Spain2026-09-24
1041Australia2026-09-10
1042Australia2026-09-28
1043Brazil2026-10-05
1044Argentina2026-09-20
1045Russia2026-09-30
1046Australia2026-09-22
1047India2026-10-03
1048Canada2026-09-21
1049Germany2026-10-03

On-Demand Data

NameIdCountryDate
Clifford N Wieser1000Germany2026-09-14
Octavia C Malet1001Brazil2026-09-29
Jefferson D Kusko1002Russia2026-09-08
Greenwood D Perin1003United Kingdom2026-09-26
Ivar D Maclead1004Argentina2026-09-30
Octavia Y Amigon1005France2026-09-28
Mujtaba Z Stockham1006Germany2026-09-09
Cody H Gaucho1007France2026-09-08
Francesco F Bolognia1008Italy2026-10-07
Aruna E Maclead1009Brazil2026-09-12
Jefferson U Rulapaugh1010Germany2026-10-06
Salvatore G Caldarera1011Japan2026-10-07
Munro H Tollner1012France2026-10-06
Darci W Kusko1013Russia2026-10-04
Misaki Z Malet1014Canada2026-09-28
Munro H Campain1015Russia2026-09-18
Leon M Royster1016United Kingdom2026-09-13
Faith P Chui1017United Kingdom2026-09-08
Jones W Morasca1018Argentina2026-10-03
David H Shinko1019Brazil2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James P NickaBrazilStephen Shaw PROPOSAL
Clifford G InouyeSpainIoni Bowcher NEGOTIATION
Jennifer I WieserItalyIoni Bowcher PROPOSAL
Darci D KuskoCanadaIvan Magalhaes PROPOSAL
Aika R ShinkoItalyBernardo Dominic PROPOSAL
Misaki C FollerArgentinaIoni Bowcher QUALIFIED
Izzy J WhobreyGermanyAnna Fali QUALIFIED
Morrow X StensethCanadaAsiya Javayant NEW
Leon E TollnerGermanyAsiya Javayant NEW
Misaki G SchemmerFranceBernardo Dominic QUALIFIED
Ashley Q PoquetteJapanAnna Fali UNQUALIFIED
Morrow H MacleadGermanyBernardo Dominic PROPOSAL
Costa X GillianUnited KingdomIoni Bowcher NEGOTIATION
Mayumi R BriddickGermanyElwin Sharvill NEW
Juan F CaldareraSpainBernardo Dominic PROPOSAL
Jefferson W OstroskySpainAsiya Javayant NEW
Rodrigues I CampainArgentinaOnyama Limba PROPOSAL
Francesco N RutaIndiaElwin Sharvill QUALIFIED
Claire U FerenczRussiaXuxue Feng RENEWAL
Clifford K OldroydFranceOnyama Limba UNQUALIFIED
Ivar A FerenczCanadaAmy Elsner UNQUALIFIED
Greenwood O SlusarskiAustraliaBernardo Dominic UNQUALIFIED
Emily L ShinkoSpainIvan Magalhaes NEGOTIATION
Claire F OldroydIndiaIvan Magalhaes QUALIFIED
Jefferson I WhobreyBrazilBernardo Dominic NEGOTIATION
David P SlusarskiFranceAnna Fali NEGOTIATION
Jeanfrancois B FerenczRussiaIoni Bowcher NEGOTIATION
James F GillianBrazilElwin Sharvill QUALIFIED
Darci V MaletItalyBernardo Dominic QUALIFIED
Rodrigues B SergiArgentinaBernardo Dominic NEW
Aruna H ButtGermanyOnyama Limba NEGOTIATION
Antonio F MorascaJapanStephen Shaw NEW
Maria P OldroydGermanyBernardo Dominic NEGOTIATION
Greenwood O MaletItalyBernardo Dominic NEGOTIATION
David C GarufiItalyBernardo Dominic PROPOSAL
Julie X MaletSpainAsiya Javayant PROPOSAL
Munro K RimAustraliaElwin Sharvill NEGOTIATION
Ivar K RulapaughCanadaIoni Bowcher RENEWAL
Claire Y ShinkoUnited KingdomXuxue Feng NEW
Wickens N DoeFranceIoni Bowcher RENEWAL

<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>