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
Antonio M StensethItalyBernardo Dominic NEGOTIATION
Antonio Q GarufiRussiaIvan Magalhaes RENEWAL
Morrow W FigeroaSpainElwin Sharvill RENEWAL
Tony D PaprockiItalyStephen Shaw NEGOTIATION
James D VocelkaIndiaElwin Sharvill NEW
Emily S ShinkoIndiaXuxue Feng PROPOSAL
Arvin A OldroydAustraliaAnna Fali NEGOTIATION
Munro Z PoquetteAustraliaBernardo Dominic UNQUALIFIED
Alejandro Y RimArgentinaXuxue Feng QUALIFIED
Alejandro P CampainAustraliaElwin Sharvill UNQUALIFIED
Kadeem A GillianRussiaIvan Magalhaes UNQUALIFIED
Silvio D WhobreyItalyStephen Shaw RENEWAL
David K RutaUnited KingdomXuxue Feng RENEWAL
Smith Y AmigonItalyAnna Fali NEW
Jeanfrancois X MorascaJapanBernardo Dominic UNQUALIFIED
Clifford N SergiJapanAsiya Javayant UNQUALIFIED
Misaki P AmigonGermanyElwin Sharvill QUALIFIED
James H RutaSpainElwin Sharvill UNQUALIFIED
Silvio W InouyeIndiaAnna Fali UNQUALIFIED
Leja A FigeroaItalyIvan Magalhaes UNQUALIFIED
Mayumi X GauchoFranceAmy Elsner NEW
Smith S NickaJapanAsiya Javayant RENEWAL
Jefferson O WaycottArgentinaElwin Sharvill RENEWAL
Faith Q PerinAustraliaStephen Shaw NEGOTIATION
Salvatore U FerenczGermanyBernardo Dominic RENEWAL
Emily V ButtItalyXuxue Feng NEW
Francesco R FigeroaFranceIoni Bowcher NEGOTIATION
Juan W WaycottJapanAsiya Javayant NEW
Juan T RulapaughArgentinaElwin Sharvill PROPOSAL
Julie I BologniaIndiaElwin Sharvill NEGOTIATION
Jeanfrancois Q MarrierSpainXuxue Feng NEGOTIATION
Tony R MacleadRussiaOnyama Limba QUALIFIED
Antonio S CaudyBrazilIoni Bowcher PROPOSAL
Darci N KuskoUnited KingdomIvan Magalhaes QUALIFIED
Clifford L CaudySpainOnyama Limba QUALIFIED
Juan R IturbideIndiaAmy Elsner UNQUALIFIED
Rodrigues M VenereAustraliaAmy Elsner NEGOTIATION
Morrow I VocelkaArgentinaOnyama Limba PROPOSAL
Silvio H CaldareraAustraliaAsiya Javayant PROPOSAL
Kaitlin L AmigonJapanOnyama Limba UNQUALIFIED
Nicolas V AlbaresBrazilIoni Bowcher RENEWAL
Munro G GillianSpainBernardo Dominic QUALIFIED
Deepesh L RoysterBrazilAsiya Javayant QUALIFIED
Nicolas J IturbideFranceOnyama Limba PROPOSAL
Mayumi X FigeroaAustraliaIoni Bowcher QUALIFIED
Smith O VenereArgentinaAnna Fali UNQUALIFIED
Murillo A TollnerGermanyElwin Sharvill PROPOSAL
Sinclair H SchemmerIndiaIvan Magalhaes RENEWAL
Maria Z PaprockiBrazilBernardo Dominic NEW
Arvin P MacleadItalyXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Claire U VocelkaCanadaElwin Sharvill QUALIFIED
Octavia M GarufiIndiaElwin Sharvill QUALIFIED
Murillo O PoquetteArgentinaAmy Elsner RENEWAL
Francesco B GauchoUnited KingdomElwin Sharvill QUALIFIED
Johnson Q GauchoRussiaAsiya Javayant UNQUALIFIED
Sinclair I RutaArgentinaStephen Shaw UNQUALIFIED
Francesco S FollerGermanyStephen Shaw PROPOSAL
Emily Z GauchoRussiaXuxue Feng NEGOTIATION
Jennifer Y OldroydRussiaBernardo Dominic NEW
Juan S VocelkaFranceIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika S RutaSpain2026-10-11Buckley Miller Wright NEW89Ioni Bowcher
1001Cody R TollnerFrance2026-10-12Morlong Associates NEW62Ioni Bowcher
1002Aruna N GarufiRussia2026-10-10Buckley Miller Wright NEW62Asiya Javayant
1003Adams M CaldareraBrazil2026-11-02Printing Dimensions RENEWAL22Ioni Bowcher
1004Ashley P MacleadBrazil2026-10-24Benton, John B Jr NEW55Asiya Javayant
1005Johnson Z MaletCanada2026-11-02Chapman, Ross E Esq RENEWAL92Bernardo Dominic
1006Francesco A DoeIndia2026-11-04Chapman, Ross E Esq PROPOSAL36Ioni Bowcher
1007Jefferson V RutaAustralia2026-11-02Chanay, Jeffrey A Esq NEGOTIATION53Xuxue Feng
1008Costa B AlbaresItaly2026-10-15Dorl, James J Esq QUALIFIED24Asiya Javayant
1009Cody Y DarakjyIndia2026-10-31Benton, John B Jr PROPOSAL65Bernardo Dominic
1010Claire Z AmigonCanada2026-10-24Rangoni Of Florence NEW65Anna Fali
1011Nicolas W FerenczAustralia2026-11-03Chapman, Ross E Esq NEGOTIATION63Bernardo Dominic
1012Sinclair F SergiArgentina2026-10-12Chanay, Jeffrey A Esq UNQUALIFIED10Amy Elsner
1013Morrow L ChuiIndia2026-11-06Chapman, Ross E Esq QUALIFIED37Xuxue Feng
1014Aditya K PoquetteSpain2026-10-24Feltz Printing Service RENEWAL84Asiya Javayant
1015Rodrigues A WieserArgentina2026-10-12Printing Dimensions RENEWAL6Ioni Bowcher
1016Maisha S DoeFrance2026-10-28Benton, John B Jr NEW54Ivan Magalhaes
1017Aruna W CampainArgentina2026-10-26King, Christopher A Esq PROPOSAL99Onyama Limba
1018Leon K VocelkaArgentina2026-10-31Chapman, Ross E Esq RENEWAL54Ivan Magalhaes
1019Nicolas W GlickItaly2026-11-03Dorl, James J Esq RENEWAL18Elwin Sharvill
1020Stacey S ChuiUnited Kingdom2026-10-24King, Christopher A Esq RENEWAL27Amy Elsner
1021Misaki C CaldareraGermany2026-10-26Chemel, James L Cpa NEW99Stephen Shaw
1022Munro U GillianItaly2026-10-10Morlong Associates UNQUALIFIED14Anna Fali
1023Greenwood T CampainJapan2026-10-15Commercial Press UNQUALIFIED82Anna Fali
1024Kadeem X KolmetzGermany2026-11-06Morlong Associates UNQUALIFIED48Elwin Sharvill
1025Sinclair U MorascaItaly2026-10-16King, Christopher A Esq RENEWAL96Anna Fali
1026Chavez G BriddickCanada2026-10-08Chanay, Jeffrey A Esq RENEWAL15Bernardo Dominic
1027Juan S NickaUnited Kingdom2026-10-25King, Christopher A Esq QUALIFIED47Xuxue Feng
1028Jones H RulapaughGermany2026-10-18Chanay, Jeffrey A Esq UNQUALIFIED90Stephen Shaw
1029Greenwood V MaletItaly2026-10-29Feiner Bros NEGOTIATION49Stephen Shaw
1030Nicolas Z TollnerArgentina2026-11-01Rousseaux, Michael Esq NEGOTIATION62Elwin Sharvill
1031Smith B GauchoJapan2026-10-18Rangoni Of Florence QUALIFIED71Anna Fali
1032Costa N ChuiGermany2026-10-30Buckley Miller Wright RENEWAL83Asiya Javayant
1033Faith N WhobreyUnited Kingdom2026-10-15Rangoni Of Florence PROPOSAL67Asiya Javayant
1034Izzy I NestleGermany2026-11-03Dorl, James J Esq PROPOSAL20Asiya Javayant
1035James N GillianIndia2026-10-21Feltz Printing Service RENEWAL53Stephen Shaw
1036Murillo I WhobreyFrance2026-10-28Printing Dimensions PROPOSAL11Asiya Javayant
1037Smith W DilliardCanada2026-10-30Rangoni Of Florence NEW99Ioni Bowcher
1038Tony M WaycottArgentina2026-10-18Printing Dimensions PROPOSAL9Bernardo Dominic
1039Munro D FerenczSpain2026-10-20Chapman, Ross E Esq QUALIFIED21Asiya Javayant
1040Leon A FerenczUnited Kingdom2026-10-24Feiner Bros RENEWAL7Bernardo Dominic
1041James L NestleCanada2026-10-22Printing Dimensions QUALIFIED76Onyama Limba
1042Adams T RulapaughItaly2026-10-29Commercial Press QUALIFIED45Elwin Sharvill
1043Chavez E MacleadCanada2026-11-06Benton, John B Jr PROPOSAL85Elwin Sharvill
1044Mayumi B DarakjySpain2026-10-24Printing Dimensions QUALIFIED92Asiya Javayant
1045Deepesh S AmigonItaly2026-11-01Feltz Printing Service UNQUALIFIED31Asiya Javayant
1046Smith O NickaJapan2026-10-28Feltz Printing Service PROPOSAL91Asiya Javayant
1047Isabel L OldroydSpain2026-10-16Benton, John B Jr QUALIFIED93Asiya Javayant
1048Rodrigues V FigeroaBrazil2026-10-13Feltz Printing Service QUALIFIED74Ioni Bowcher
1049Ricardo V StockhamBrazil2026-10-19Rousseaux, Michael Esq NEGOTIATION26Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ashley V GillianUnited KingdomXuxue Feng UNQUALIFIED
Costa G MacleadGermanyIoni Bowcher NEW
David B RoysterFranceAsiya Javayant QUALIFIED
Mayumi I PaprockiAustraliaAsiya Javayant RENEWAL
Aika Q OldroydIndiaIvan Magalhaes RENEWAL
Murillo Z VocelkaGermanyIvan Magalhaes NEW
Kaitlin D AlbaresIndiaXuxue Feng NEW
Wickens B ShinkoUnited KingdomBernardo Dominic QUALIFIED
Julie M BologniaFranceAmy Elsner RENEWAL
Stacey H KuskoFranceAsiya Javayant UNQUALIFIED
Mujtaba J DilliardArgentinaIvan Magalhaes NEGOTIATION
James A BologniaBrazilOnyama Limba UNQUALIFIED
Smith Q VenereJapanAmy Elsner NEW
Maisha U GillianJapanBernardo Dominic NEGOTIATION
Jones V ButtBrazilAnna Fali QUALIFIED
Arvin X SlusarskiBrazilStephen Shaw NEW
Misaki F VocelkaRussiaAsiya Javayant NEGOTIATION
Mayumi T KolmetzSpainBernardo Dominic NEW
Alejandro N ChuiCanadaAsiya Javayant UNQUALIFIED
Clifford L BologniaGermanyOnyama Limba UNQUALIFIED
Isabel L IturbideSpainAmy Elsner RENEWAL
Claire M PoquetteItalyIvan Magalhaes UNQUALIFIED
Claire N CampainAustraliaElwin Sharvill RENEWAL
Izzy S SlusarskiItalyOnyama Limba RENEWAL
Nicolas C DilliardItalyStephen Shaw QUALIFIED
Ivar T FerenczAustraliaStephen Shaw NEGOTIATION
Claire U WieserAustraliaStephen Shaw QUALIFIED
Johnson L SaylorsGermanyIoni Bowcher NEW
Aditya G BriddickCanadaIoni Bowcher RENEWAL
Alejandro Y StensethFranceAsiya Javayant QUALIFIED
Ricardo I OstroskyIndiaOnyama Limba RENEWAL
Claire Y PaprockiFranceIvan Magalhaes NEGOTIATION
Juan M GlickItalyXuxue Feng NEGOTIATION
David Q MarrierJapanIoni Bowcher PROPOSAL
Rodrigues G AlbaresGermanyElwin Sharvill RENEWAL
Munro L BriddickAustraliaStephen Shaw NEW
Izzy C GarufiAustraliaAsiya Javayant QUALIFIED
Murillo I SlusarskiJapanAmy Elsner RENEWAL
Jennifer Q NickaAustraliaBernardo Dominic UNQUALIFIED
Julie D OstroskyRussiaAsiya Javayant NEW
Juan R OstroskyGermanyIoni Bowcher QUALIFIED
James D GarufiCanadaAnna Fali QUALIFIED
Costa L FerenczArgentinaAsiya Javayant QUALIFIED
Faith X PaprockiRussiaOnyama Limba NEGOTIATION
James E WieserArgentinaOnyama Limba QUALIFIED
Johnson A CampainCanadaAsiya Javayant UNQUALIFIED
Tony T WieserAustraliaAsiya Javayant QUALIFIED
Johnson L MacleadCanadaIoni Bowcher QUALIFIED
Aditya L CaudyRussiaAnna Fali PROPOSAL
Deepesh K CaldareraArgentinaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Emily U Whobrey
Sinclair T Tollner
Munro F Waycott
Tony Q Dilliard
Murillo Q Poquette
Greenwood X Albares
Nicolas Q Saylors
Izzy U Ruta
Cody G Kusko
Clifford J Bowley
Izzy E Royster
Juan K Slusarski
Aditya J Bolognia
Salvatore D Foller
Murillo K Saylors
Maria J Chui
Alejandro W Caudy
Johnson C Malet
Emily R Kusko
Aditya A Rulapaugh
Leon U Perin
Antonio I Caudy
Salvatore X Briddick
Cody U Royster
Faith P Malet
Julie N Gaucho
Rodrigues A Rulapaugh
Jeanfrancois E Saylors
Morrow M Caudy
James V Morasca
Faith T Amigon
Kadeem Z Ruta
Ashley O Figeroa
Leja M Venere
Clifford M Figeroa
Mayumi M Albares
Kadeem O Chui
Aruna Z Caudy
Aika G Saylors
Emily R Maclead
Munro C Rulapaugh
Nicolas R Nestle
Johnson X Malet
Aika P Perin
Cody I Figeroa
Mujtaba O Vocelka
Silvio F Nestle
Cody Z Paprocki
Maisha N Caudy
Nicolas Q Glick
IdCountryDate
1000Italy2026-10-16
1001Spain2026-10-27
1002France2026-10-24
1003Canada2026-10-19
1004Italy2026-10-18
1005France2026-10-26
1006United Kingdom2026-10-10
1007Australia2026-11-02
1008Brazil2026-10-13
1009United Kingdom2026-10-20
1010Spain2026-10-14
1011Russia2026-10-24
1012Brazil2026-10-14
1013Canada2026-10-26
1014Australia2026-10-17
1015Argentina2026-10-29
1016United Kingdom2026-11-03
1017Russia2026-11-04
1018Russia2026-10-16
1019India2026-10-21
1020France2026-11-04
1021France2026-10-21
1022India2026-10-15
1023Canada2026-10-10
1024Germany2026-10-12
1025Germany2026-10-27
1026Canada2026-11-04
1027Brazil2026-10-23
1028Spain2026-10-18
1029Germany2026-10-10
1030Brazil2026-10-29
1031Japan2026-10-29
1032Canada2026-11-06
1033India2026-10-08
1034Italy2026-11-01
1035France2026-10-28
1036Australia2026-10-14
1037Argentina2026-10-16
1038France2026-10-10
1039India2026-11-04
1040Brazil2026-10-26
1041Japan2026-10-17
1042Australia2026-10-20
1043Germany2026-11-06
1044Canada2026-10-20
1045Australia2026-10-25
1046Spain2026-10-11
1047Spain2026-10-14
1048Argentina2026-11-06
1049Japan2026-10-14

On-Demand Data

NameIdCountryDate
Darci I Venere1000United Kingdom2026-10-23
Jennifer Q Iturbide1001India2026-10-15
Maria M Paprocki1002Canada2026-10-24
Maria T Albares1003Italy2026-10-20
Nicolas Q Venere1004France2026-10-16
Emily M Venere1005Russia2026-10-30
Silvio O Marrier1006Brazil2026-10-24
Nicolas Q Dilliard1007India2026-10-23
Costa G Dilliard1008Canada2026-10-19
Nicolas Y Kusko1009Canada2026-10-15
Munro J Marrier1010Italy2026-10-11
Maisha V Campain1011United Kingdom2026-11-05
Leja E Bolognia1012United Kingdom2026-10-16
Ivar S Saylors1013Argentina2026-10-29
Ivar M Caudy1014Canada2026-10-17
Aika C Stockham1015Russia2026-10-29
Jones S Perin1016Australia2026-10-09
Jones M Maclead1017Canada2026-10-20
Tony E Ostrosky1018Germany2026-10-22
Antonio Z Wieser1019Brazil2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Q AmigonJapanAmy Elsner UNQUALIFIED
Leja Q WaycottFranceIvan Magalhaes PROPOSAL
Jennifer A TollnerRussiaIvan Magalhaes QUALIFIED
Johnson K WieserFranceElwin Sharvill PROPOSAL
Smith F SlusarskiGermanyOnyama Limba PROPOSAL
Kaitlin G FigeroaItalyXuxue Feng PROPOSAL
Sinclair T RoysterFranceOnyama Limba QUALIFIED
Morrow T GauchoBrazilXuxue Feng NEW
Misaki U ButtItalyIoni Bowcher RENEWAL
Jennifer B DarakjyUnited KingdomXuxue Feng NEGOTIATION
Ivar R MarrierGermanyElwin Sharvill UNQUALIFIED
Clifford Z PaprockiGermanyAmy Elsner RENEWAL
Emily H GlickBrazilIvan Magalhaes QUALIFIED
Jefferson K GauchoItalyIoni Bowcher QUALIFIED
Greenwood M CampainItalyBernardo Dominic RENEWAL
Nicolas C ButtCanadaIvan Magalhaes NEGOTIATION
Francesco U CaudyRussiaXuxue Feng NEGOTIATION
Ashley T BowleyGermanyXuxue Feng PROPOSAL
James C BologniaJapanStephen Shaw NEW
Arvin M MarrierArgentinaAsiya Javayant NEGOTIATION
Antonio H PoquetteCanadaXuxue Feng QUALIFIED
Ricardo O PoquetteBrazilElwin Sharvill UNQUALIFIED
Leja K PoquetteJapanIoni Bowcher PROPOSAL
Nicolas O MorascaFranceIvan Magalhaes NEW
Adams K GlickIndiaStephen Shaw QUALIFIED
Francesco P GillianArgentinaXuxue Feng PROPOSAL
Jones T WaycottSpainOnyama Limba NEGOTIATION
Izzy Y MorascaItalyXuxue Feng UNQUALIFIED
Kadeem U MaletJapanBernardo Dominic QUALIFIED
Costa T RimCanadaAmy Elsner UNQUALIFIED
Isabel G InouyeGermanyAnna Fali UNQUALIFIED
Tony Q CaldareraSpainStephen Shaw NEW
Aruna S MarrierUnited KingdomXuxue Feng NEGOTIATION
Chavez S OstroskyBrazilAsiya Javayant UNQUALIFIED
Nicolas Z MarrierItalyBernardo Dominic UNQUALIFIED
Claire M GarufiAustraliaElwin Sharvill UNQUALIFIED
Julie E InouyeGermanyElwin Sharvill NEW
Antonio P NickaBrazilAmy Elsner NEW
Chavez R FerenczUnited KingdomAnna Fali RENEWAL
Julie E NickaRussiaStephen Shaw 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>