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
Leja O GarufiJapanBernardo Dominic PROPOSAL
Leon W InouyeFranceAsiya Javayant NEGOTIATION
Alejandro E InouyeRussiaBernardo Dominic RENEWAL
Ricardo X VocelkaRussiaAmy Elsner NEW
Arvin K ShinkoJapanAsiya Javayant NEGOTIATION
Rodrigues N MaletArgentinaAsiya Javayant NEW
David G SlusarskiCanadaAmy Elsner UNQUALIFIED
Ashley O WhobreyItalyElwin Sharvill PROPOSAL
Kaitlin E KuskoGermanyOnyama Limba RENEWAL
Salvatore O AmigonCanadaAsiya Javayant UNQUALIFIED
Julie G MaletRussiaAmy Elsner RENEWAL
Kaitlin Y OstroskyUnited KingdomAsiya Javayant RENEWAL
Silvio Q WhobreyAustraliaIvan Magalhaes NEGOTIATION
Alejandro S RulapaughGermanyIvan Magalhaes QUALIFIED
James G IturbideRussiaOnyama Limba UNQUALIFIED
Leja H FollerFranceIoni Bowcher RENEWAL
Aruna M KolmetzRussiaAmy Elsner NEGOTIATION
Cody G StensethUnited KingdomIoni Bowcher QUALIFIED
Aditya B MaletSpainIoni Bowcher QUALIFIED
Aika H ButtRussiaElwin Sharvill QUALIFIED
Adams Y CampainFranceStephen Shaw QUALIFIED
Julie B FerenczGermanyAnna Fali NEGOTIATION
Jeanfrancois M KolmetzGermanyIoni Bowcher RENEWAL
Maria X BriddickFranceAmy Elsner PROPOSAL
Jennifer O FollerAustraliaXuxue Feng PROPOSAL
Emily U OldroydUnited KingdomAnna Fali QUALIFIED
Arvin D ButtUnited KingdomAnna Fali RENEWAL
Francesco N KolmetzCanadaAmy Elsner PROPOSAL
Wickens E DoeItalyOnyama Limba NEW
Kaitlin I PerinFranceAsiya Javayant QUALIFIED
Aruna D PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois K SaylorsGermanyBernardo Dominic NEGOTIATION
Costa D WhobreyBrazilOnyama Limba PROPOSAL
Sinclair G RimItalyAmy Elsner RENEWAL
Aditya G AlbaresJapanXuxue Feng UNQUALIFIED
Morrow Q RoysterBrazilAnna Fali NEW
Octavia X FerenczFranceAmy Elsner NEGOTIATION
Ashley Q MaletSpainAnna Fali NEGOTIATION
Johnson P AmigonItalyAnna Fali QUALIFIED
Mayumi H NestleArgentinaBernardo Dominic PROPOSAL
Julie O OstroskySpainAnna Fali NEGOTIATION
Clifford F DarakjyItalyBernardo Dominic PROPOSAL
Mujtaba Y DilliardGermanyAmy Elsner QUALIFIED
Munro O CaldareraJapanIvan Magalhaes UNQUALIFIED
Kaitlin F DilliardCanadaAnna Fali PROPOSAL
Deepesh V MorascaUnited KingdomStephen Shaw RENEWAL
Mayumi M WaycottBrazilXuxue Feng QUALIFIED
Jeanfrancois C BowleyJapanIoni Bowcher PROPOSAL
Isabel B SchemmerJapanOnyama Limba NEW
Isabel B VenereFranceAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin T TollnerBrazilStephen Shaw UNQUALIFIED
Munro J OldroydSpainAmy Elsner UNQUALIFIED
Antonio U AmigonRussiaElwin Sharvill NEGOTIATION
Greenwood D AmigonBrazilStephen Shaw NEW
Izzy H BriddickFranceOnyama Limba RENEWAL
Leja R SergiIndiaStephen Shaw PROPOSAL
Mujtaba Z RutaJapanAmy Elsner RENEWAL
Leja O NickaFranceIoni Bowcher NEGOTIATION
Ricardo B CaudyJapanBernardo Dominic RENEWAL
Deepesh A NickaGermanyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley K ChuiGermany2026-09-17Printing Dimensions NEW46Stephen Shaw
1001Arvin H ButtGermany2026-09-16Truhlar And Truhlar Attys RENEWAL19Stephen Shaw
1002Octavia Z RutaItaly2026-09-02Dorl, James J Esq PROPOSAL42Asiya Javayant
1003Smith Y VocelkaUnited Kingdom2026-08-28Truhlar And Truhlar Attys PROPOSAL31Asiya Javayant
1004Rodrigues V BologniaArgentina2026-09-05King, Christopher A Esq NEW37Ivan Magalhaes
1005Leon F DilliardArgentina2026-08-24Feiner Bros NEGOTIATION34Ivan Magalhaes
1006Antonio K ChuiCanada2026-09-13King, Christopher A Esq RENEWAL23Bernardo Dominic
1007Tony R BowleyJapan2026-09-13Feltz Printing Service NEW1Elwin Sharvill
1008Juan J MaletRussia2026-09-11Feltz Printing Service NEW56Elwin Sharvill
1009Kaitlin L FerenczRussia2026-09-18Printing Dimensions UNQUALIFIED73Amy Elsner
1010Murillo M MarrierFrance2026-08-20Printing Dimensions NEGOTIATION0Ivan Magalhaes
1011Jeanfrancois S WieserIndia2026-09-16Buckley Miller Wright NEGOTIATION35Ivan Magalhaes
1012Darci C RoysterArgentina2026-08-30Printing Dimensions NEW39Bernardo Dominic
1013Antonio F SchemmerSpain2026-09-14Feiner Bros RENEWAL28Asiya Javayant
1014Adams N SlusarskiArgentina2026-08-26Chapman, Ross E Esq NEGOTIATION60Xuxue Feng
1015James R RulapaughItaly2026-09-17Dorl, James J Esq NEW27Bernardo Dominic
1016Johnson K DilliardSpain2026-08-23Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1017Leja C NestleCanada2026-08-27Chanay, Jeffrey A Esq QUALIFIED89Ioni Bowcher
1018Jennifer A CaldareraBrazil2026-08-22Truhlar And Truhlar Attys UNQUALIFIED16Ioni Bowcher
1019Aditya K AmigonGermany2026-09-04Chemel, James L Cpa NEW29Onyama Limba
1020Adams U FerenczSpain2026-09-14Commercial Press NEW5Ioni Bowcher
1021Adams Q DoeFrance2026-09-10Morlong Associates PROPOSAL59Xuxue Feng
1022Jefferson K WaycottUnited Kingdom2026-09-11Commercial Press RENEWAL30Ivan Magalhaes
1023Aditya I IturbideSpain2026-08-21Feltz Printing Service RENEWAL18Onyama Limba
1024Adams L GlickJapan2026-08-23Feiner Bros NEGOTIATION41Anna Fali
1025Jones Y StensethBrazil2026-09-01Commercial Press QUALIFIED27Anna Fali
1026Salvatore U WhobreyCanada2026-09-07Rangoni Of Florence NEGOTIATION44Amy Elsner
1027Misaki F FlosiItaly2026-09-12Rangoni Of Florence UNQUALIFIED40Ioni Bowcher
1028Maisha C RimAustralia2026-08-23Benton, John B Jr QUALIFIED14Onyama Limba
1029Kaitlin M KolmetzIndia2026-09-18Feltz Printing Service RENEWAL87Ioni Bowcher
1030Salvatore Q RimAustralia2026-09-03Buckley Miller Wright QUALIFIED18Xuxue Feng
1031Mujtaba Z FlosiUnited Kingdom2026-09-11Chapman, Ross E Esq RENEWAL6Xuxue Feng
1032Jefferson K FigeroaGermany2026-09-12Commercial Press NEGOTIATION66Onyama Limba
1033Murillo B RoysterSpain2026-09-14Morlong Associates PROPOSAL68Amy Elsner
1034Nicolas N NickaArgentina2026-08-22Rousseaux, Michael Esq UNQUALIFIED87Elwin Sharvill
1035Jones H BriddickIndia2026-09-13Feltz Printing Service RENEWAL45Bernardo Dominic
1036Deepesh O KolmetzCanada2026-09-16Printing Dimensions RENEWAL79Stephen Shaw
1037Jones W DoeCanada2026-08-24Buckley Miller Wright QUALIFIED89Stephen Shaw
1038Deepesh Y FerenczRussia2026-08-31Dorl, James J Esq QUALIFIED17Amy Elsner
1039Antonio I KuskoFrance2026-09-01Chapman, Ross E Esq QUALIFIED3Elwin Sharvill
1040Octavia H FigeroaItaly2026-09-16Rangoni Of Florence NEGOTIATION92Xuxue Feng
1041Murillo A KuskoIndia2026-09-09Buckley Miller Wright RENEWAL52Amy Elsner
1042James P SchemmerAustralia2026-08-21Feltz Printing Service QUALIFIED9Xuxue Feng
1043Francesco A NickaSpain2026-08-29Dorl, James J Esq NEGOTIATION84Elwin Sharvill
1044Isabel T RoysterUnited Kingdom2026-09-14Rousseaux, Michael Esq NEW64Onyama Limba
1045Sinclair V PaprockiAustralia2026-09-14Chanay, Jeffrey A Esq PROPOSAL13Asiya Javayant
1046Rodrigues K GillianArgentina2026-09-05Feiner Bros QUALIFIED89Ioni Bowcher
1047Costa K FerenczAustralia2026-09-13Feltz Printing Service PROPOSAL10Bernardo Dominic
1048Isabel J SaylorsItaly2026-09-18Feiner Bros NEGOTIATION67Onyama Limba
1049Rodrigues S MorascaArgentina2026-09-09King, Christopher A Esq QUALIFIED98Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Salvatore F MaletUnited KingdomAsiya Javayant NEW
Aditya T SaylorsArgentinaStephen Shaw QUALIFIED
Jennifer Y PoquetteGermanyIvan Magalhaes UNQUALIFIED
Darci D TollnerCanadaBernardo Dominic UNQUALIFIED
Smith H MacleadUnited KingdomStephen Shaw RENEWAL
Emily T MarrierSpainIvan Magalhaes UNQUALIFIED
David I BriddickUnited KingdomBernardo Dominic NEW
Emily B CaldareraBrazilOnyama Limba QUALIFIED
Isabel D KuskoJapanIoni Bowcher QUALIFIED
Sinclair L RoysterItalyAsiya Javayant QUALIFIED
Julie D RutaSpainAsiya Javayant RENEWAL
Jennifer F DilliardBrazilIoni Bowcher NEGOTIATION
Silvio M WhobreyAustraliaOnyama Limba PROPOSAL
Adams V CaudySpainAsiya Javayant PROPOSAL
Silvio F RimCanadaIvan Magalhaes UNQUALIFIED
Salvatore M BriddickAustraliaOnyama Limba PROPOSAL
Cody S MorascaRussiaBernardo Dominic RENEWAL
Wickens L OldroydSpainAmy Elsner PROPOSAL
Deepesh A WaycottUnited KingdomIoni Bowcher NEW
Aruna F PerinIndiaAsiya Javayant NEGOTIATION
Chavez U DoeIndiaBernardo Dominic NEGOTIATION
Stacey G SlusarskiItalyXuxue Feng NEGOTIATION
Wickens Y VocelkaUnited KingdomAmy Elsner RENEWAL
Johnson U RutaIndiaBernardo Dominic NEW
Adams G CaldareraFranceAmy Elsner UNQUALIFIED
Munro V GauchoAustraliaBernardo Dominic NEGOTIATION
Alejandro L VocelkaFranceOnyama Limba NEW
Tony H SaylorsGermanyIoni Bowcher NEGOTIATION
Ricardo X MacleadCanadaAnna Fali PROPOSAL
Maria Y BriddickAustraliaStephen Shaw NEGOTIATION
Ricardo O KuskoUnited KingdomXuxue Feng PROPOSAL
Ashley N DoeFranceBernardo Dominic RENEWAL
Misaki Z ChuiItalyAmy Elsner NEGOTIATION
Arvin K DoeCanadaElwin Sharvill RENEWAL
Antonio E BologniaArgentinaIvan Magalhaes RENEWAL
Francesco B TollnerBrazilStephen Shaw UNQUALIFIED
Juan K PoquetteJapanStephen Shaw QUALIFIED
Maisha V MaletArgentinaAnna Fali PROPOSAL
Juan W GillianAustraliaStephen Shaw RENEWAL
Emily J WieserBrazilElwin Sharvill PROPOSAL
Adams T MarrierUnited KingdomIoni Bowcher PROPOSAL
Murillo Y WaycottAustraliaIoni Bowcher NEGOTIATION
Francesco I OstroskyGermanyOnyama Limba QUALIFIED
Nicolas I DarakjyBrazilAnna Fali PROPOSAL
Claire V DoeJapanAnna Fali NEGOTIATION
Nicolas J NickaAustraliaAsiya Javayant NEGOTIATION
Jones E KuskoItalyIvan Magalhaes NEW
Emily T RoysterFranceXuxue Feng UNQUALIFIED
Jones D BowleyUnited KingdomIvan Magalhaes NEW
Ricardo O GlickUnited KingdomAnna Fali RENEWAL
Frozen Columns
Name
Jones E Tollner
Stacey B Glick
Mujtaba N Bowley
Cody Q Glick
James R Venere
Kaitlin E Marrier
Ivar K Perin
Nicolas N Bolognia
James B Stenseth
Maria S Bolognia
Leon I Nicka
Aruna W Foller
Smith W Nestle
Stacey J Foller
Silvio B Gaucho
Salvatore F Gillian
Clifford Z Dilliard
Alejandro G Kolmetz
Kaitlin Q Figeroa
Antonio N Ruta
Alejandro T Foller
Faith I Oldroyd
Ivar S Poquette
Izzy G Rim
Isabel Q Vocelka
Silvio O Stockham
Claire C Tollner
Morrow S Perin
Faith G Whobrey
Cody X Morasca
Tony S Rim
Cody S Marrier
Ricardo G Sergi
Mujtaba E Amigon
Octavia B Shinko
Antonio K Figeroa
Juan Q Bolognia
Johnson T Iturbide
Greenwood I Amigon
Munro R Figeroa
Smith D Nestle
Murillo H Poquette
Mayumi V Vocelka
Emily W Glick
Misaki B Malet
Jennifer Y Stockham
Maria I Darakjy
Smith O Campain
Izzy B Wieser
Octavia X Venere
IdCountryDate
1000Germany2026-09-11
1001France2026-08-24
1002Brazil2026-08-28
1003Italy2026-09-13
1004Australia2026-09-08
1005Spain2026-09-04
1006Australia2026-09-03
1007Brazil2026-09-01
1008Argentina2026-09-11
1009Spain2026-09-12
1010India2026-09-11
1011Russia2026-08-29
1012United Kingdom2026-09-15
1013Canada2026-08-31
1014India2026-08-30
1015Japan2026-08-29
1016Russia2026-09-07
1017Brazil2026-09-08
1018United Kingdom2026-08-30
1019Spain2026-08-21
1020Brazil2026-08-31
1021Australia2026-08-30
1022Italy2026-08-23
1023Canada2026-09-10
1024Germany2026-08-26
1025Japan2026-09-14
1026Brazil2026-08-20
1027Brazil2026-08-24
1028Japan2026-09-03
1029Argentina2026-09-11
1030Brazil2026-09-02
1031United Kingdom2026-09-17
1032Australia2026-08-27
1033France2026-08-29
1034France2026-09-08
1035Australia2026-09-11
1036Australia2026-09-17
1037India2026-08-30
1038Argentina2026-09-15
1039France2026-08-28
1040Germany2026-09-14
1041Australia2026-09-04
1042United Kingdom2026-08-31
1043Japan2026-08-27
1044Australia2026-09-09
1045Japan2026-09-10
1046United Kingdom2026-09-08
1047Russia2026-09-06
1048Japan2026-08-27
1049Brazil2026-09-05

On-Demand Data

NameIdCountryDate
Deepesh M Foller1000Canada2026-09-08
David C Whobrey1001France2026-08-25
Mujtaba O Garufi1002France2026-09-02
Maisha R Inouye1003Japan2026-09-16
Julie T Saylors1004Canada2026-08-25
David R Foller1005Germany2026-08-31
Chavez W Wieser1006Germany2026-08-28
Alejandro S Malet1007Italy2026-09-09
Darci E Flosi1008Italy2026-09-18
Stacey E Doe1009Russia2026-09-14
Silvio E Waycott1010Argentina2026-09-11
Ashley Z Kusko1011India2026-09-08
Octavia J Wieser1012India2026-08-25
Maisha L Figeroa1013Brazil2026-08-30
Jefferson R Royster1014Australia2026-08-28
Clifford G Rulapaugh1015Brazil2026-09-05
Aika G Ferencz1016Brazil2026-09-17
Aditya R Gillian1017Australia2026-09-03
Cody M Ostrosky1018Argentina2026-08-30
Costa V Waycott1019Japan2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja L BowleyJapanElwin Sharvill QUALIFIED
Adams U PerinBrazilElwin Sharvill PROPOSAL
Julie J CampainCanadaBernardo Dominic RENEWAL
Wickens P CaudyAustraliaBernardo Dominic NEW
Munro Q BowleyCanadaElwin Sharvill UNQUALIFIED
Wickens Q BriddickIndiaIoni Bowcher PROPOSAL
Julie L SlusarskiItalyXuxue Feng RENEWAL
Julie I TollnerJapanStephen Shaw PROPOSAL
Ricardo H StensethFranceElwin Sharvill NEGOTIATION
Francesco U GarufiSpainOnyama Limba RENEWAL
Murillo M FlosiFranceAsiya Javayant RENEWAL
Maria Y AmigonCanadaAsiya Javayant QUALIFIED
Deepesh O PerinItalyXuxue Feng PROPOSAL
Maria W RoysterRussiaAmy Elsner RENEWAL
Clifford R GlickItalyIoni Bowcher QUALIFIED
Kadeem S KuskoSpainXuxue Feng RENEWAL
Juan X DoeCanadaAnna Fali UNQUALIFIED
Smith Q MacleadAustraliaOnyama Limba RENEWAL
Maisha N SlusarskiCanadaIvan Magalhaes NEW
Aruna N GlickRussiaAmy Elsner QUALIFIED
Claire X WaycottAustraliaElwin Sharvill PROPOSAL
Morrow J CampainAustraliaAmy Elsner PROPOSAL
Wickens X DarakjyGermanyAsiya Javayant NEGOTIATION
Darci N FerenczUnited KingdomAmy Elsner UNQUALIFIED
Isabel W DarakjyJapanAnna Fali QUALIFIED
Darci C TollnerRussiaBernardo Dominic RENEWAL
Aika R NickaUnited KingdomAsiya Javayant RENEWAL
Costa A SergiIndiaAmy Elsner PROPOSAL
David J KuskoSpainXuxue Feng PROPOSAL
Cody Z BologniaAustraliaStephen Shaw RENEWAL
Stacey C CampainFranceStephen Shaw UNQUALIFIED
Darci T FollerCanadaStephen Shaw UNQUALIFIED
Mayumi L PerinArgentinaAsiya Javayant RENEWAL
Rodrigues C NickaItalyIvan Magalhaes QUALIFIED
Kaitlin U FerenczItalyIoni Bowcher NEGOTIATION
Costa P MorascaArgentinaElwin Sharvill RENEWAL
Alejandro D KolmetzJapanOnyama Limba QUALIFIED
Costa W FigeroaAustraliaIvan Magalhaes NEW
Alejandro J MarrierSpainOnyama Limba NEW
Alejandro J OldroydAustraliaBernardo Dominic NEGOTIATION

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