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
Aditya Y TollnerItalyBernardo Dominic QUALIFIED
Greenwood H SaylorsIndiaAsiya Javayant RENEWAL
Mayumi W MacleadSpainAnna Fali NEW
Jefferson H IturbideUnited KingdomAmy Elsner NEGOTIATION
Smith W VenereFranceOnyama Limba NEW
Julie I WhobreyAustraliaBernardo Dominic NEGOTIATION
Kadeem I SaylorsArgentinaIvan Magalhaes NEGOTIATION
Antonio N OldroydUnited KingdomElwin Sharvill NEW
Emily J NestleCanadaOnyama Limba NEGOTIATION
Deepesh V MarrierAustraliaOnyama Limba NEGOTIATION
Salvatore E AmigonUnited KingdomAmy Elsner RENEWAL
Kaitlin M OldroydAustraliaStephen Shaw UNQUALIFIED
David F StensethBrazilOnyama Limba NEW
Murillo L ChuiArgentinaElwin Sharvill RENEWAL
Antonio T AmigonFranceElwin Sharvill NEW
Munro R FlosiSpainOnyama Limba UNQUALIFIED
Murillo H FollerIndiaIoni Bowcher UNQUALIFIED
Alejandro F WaycottUnited KingdomIoni Bowcher PROPOSAL
Alejandro O WhobreyCanadaAnna Fali NEGOTIATION
Jennifer Y SchemmerJapanStephen Shaw NEGOTIATION
David B MaletRussiaAmy Elsner QUALIFIED
Adams L MaletArgentinaAsiya Javayant NEW
Ivar V WieserGermanyXuxue Feng NEW
Alejandro Z KolmetzFranceBernardo Dominic PROPOSAL
Morrow M StensethIndiaOnyama Limba NEW
Juan W GillianBrazilXuxue Feng PROPOSAL
Johnson J KuskoArgentinaAnna Fali NEW
Aika O RulapaughItalyElwin Sharvill PROPOSAL
Nicolas V PerinArgentinaAsiya Javayant PROPOSAL
Julie C WieserSpainBernardo Dominic NEGOTIATION
Julie C GarufiGermanyIvan Magalhaes RENEWAL
Antonio U PoquetteJapanStephen Shaw NEW
Ricardo C BriddickArgentinaElwin Sharvill PROPOSAL
Costa D MaletAustraliaIvan Magalhaes NEGOTIATION
Deepesh Y GauchoGermanyBernardo Dominic UNQUALIFIED
Antonio N GillianCanadaXuxue Feng QUALIFIED
Aditya N RimItalyIvan Magalhaes QUALIFIED
Adams D KuskoBrazilElwin Sharvill UNQUALIFIED
Morrow T MarrierIndiaAnna Fali NEW
Murillo C DarakjyAustraliaAmy Elsner NEGOTIATION
Cody N VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer I WhobreyIndiaBernardo Dominic PROPOSAL
Aika H MorascaFranceOnyama Limba NEW
Costa S RimArgentinaIvan Magalhaes NEGOTIATION
Kadeem S VenereUnited KingdomXuxue Feng PROPOSAL
Aditya M FigeroaRussiaIvan Magalhaes NEGOTIATION
Izzy I TollnerIndiaAnna Fali NEGOTIATION
Greenwood C MacleadIndiaBernardo Dominic PROPOSAL
Maisha T MorascaFranceAnna Fali NEGOTIATION
Ashley A RoysterCanadaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie Q CampainJapanIoni Bowcher NEGOTIATION
Misaki E FlosiFranceAmy Elsner NEW
Claire C MaletFranceElwin Sharvill NEW
Misaki J RulapaughJapanElwin Sharvill RENEWAL
Leon G CaudyGermanyAsiya Javayant RENEWAL
Tony Y KuskoAustraliaAmy Elsner RENEWAL
Chavez E GillianArgentinaAsiya Javayant RENEWAL
Arvin C KolmetzFranceXuxue Feng QUALIFIED
Isabel B StensethCanadaXuxue Feng NEGOTIATION
Ashley I KuskoSpainAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford N MacleadBrazil2026-10-07Rangoni Of Florence UNQUALIFIED31Bernardo Dominic
1001Tony M SergiCanada2026-10-23Chapman, Ross E Esq NEW80Ivan Magalhaes
1002Darci D PoquetteAustralia2026-10-01Truhlar And Truhlar Attys NEW78Anna Fali
1003Murillo Q ShinkoIndia2026-10-11Chanay, Jeffrey A Esq RENEWAL51Elwin Sharvill
1004Munro I KolmetzArgentina2026-10-14Rangoni Of Florence NEW7Asiya Javayant
1005Rodrigues C FollerUnited Kingdom2026-10-02Benton, John B Jr PROPOSAL57Bernardo Dominic
1006Adams D DarakjySpain2026-10-07Feiner Bros NEGOTIATION91Ioni Bowcher
1007Antonio J BologniaGermany2026-09-27Chemel, James L Cpa NEW31Stephen Shaw
1008Alejandro G StensethUnited Kingdom2026-10-11King, Christopher A Esq QUALIFIED96Asiya Javayant
1009Silvio R MacleadSpain2026-09-28Rangoni Of Florence UNQUALIFIED39Amy Elsner
1010Francesco L OldroydBrazil2026-10-24Chanay, Jeffrey A Esq RENEWAL36Asiya Javayant
1011Jones C CaldareraIndia2026-10-22Chapman, Ross E Esq PROPOSAL65Ivan Magalhaes
1012Leon Z OldroydItaly2026-09-27Commercial Press RENEWAL58Xuxue Feng
1013Ricardo L TollnerItaly2026-10-10Morlong Associates UNQUALIFIED6Asiya Javayant
1014Maisha W ShinkoSpain2026-10-19Truhlar And Truhlar Attys RENEWAL5Bernardo Dominic
1015Smith K MaletCanada2026-10-09Commercial Press NEW99Ivan Magalhaes
1016Claire I WhobreyArgentina2026-10-15Dorl, James J Esq PROPOSAL20Onyama Limba
1017Clifford C AmigonBrazil2026-09-27Feltz Printing Service RENEWAL43Bernardo Dominic
1018Tony X WieserCanada2026-10-18King, Christopher A Esq RENEWAL36Amy Elsner
1019Maisha G CampainBrazil2026-09-26Dorl, James J Esq NEGOTIATION25Amy Elsner
1020Francesco F NickaRussia2026-09-28Morlong Associates UNQUALIFIED17Ivan Magalhaes
1021Emily N TollnerArgentina2026-09-28Feiner Bros NEGOTIATION51Amy Elsner
1022Arvin P GillianAustralia2026-10-22Chapman, Ross E Esq RENEWAL18Ivan Magalhaes
1023Rodrigues Y SaylorsRussia2026-10-13King, Christopher A Esq PROPOSAL72Ivan Magalhaes
1024Arvin I MacleadFrance2026-10-11Chapman, Ross E Esq NEW36Onyama Limba
1025Munro D BologniaAustralia2026-10-22Benton, John B Jr QUALIFIED42Onyama Limba
1026Munro L SaylorsItaly2026-10-11Dorl, James J Esq NEW19Stephen Shaw
1027Johnson O KuskoUnited Kingdom2026-10-07Morlong Associates NEGOTIATION8Elwin Sharvill
1028Antonio Q ChuiFrance2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED35Onyama Limba
1029Maria O FlosiBrazil2026-10-16Printing Dimensions RENEWAL1Asiya Javayant
1030Adams B KolmetzJapan2026-09-27Commercial Press UNQUALIFIED31Amy Elsner
1031Jefferson I NestleJapan2026-09-26Feiner Bros RENEWAL53Ivan Magalhaes
1032Salvatore I DoeSpain2026-10-03Commercial Press NEW71Amy Elsner
1033Juan Q OstroskyFrance2026-10-22Chemel, James L Cpa NEW82Anna Fali
1034Aika I SaylorsItaly2026-10-24Printing Dimensions QUALIFIED57Stephen Shaw
1035Jennifer C SaylorsJapan2026-10-21Chanay, Jeffrey A Esq RENEWAL99Ivan Magalhaes
1036Jeanfrancois H KolmetzJapan2026-09-30Buckley Miller Wright NEGOTIATION35Bernardo Dominic
1037Tony S SlusarskiFrance2026-09-28Morlong Associates RENEWAL54Xuxue Feng
1038Mujtaba L IturbideArgentina2026-10-03Printing Dimensions PROPOSAL25Amy Elsner
1039Jennifer B WieserItaly2026-10-01King, Christopher A Esq PROPOSAL14Xuxue Feng
1040Jefferson B BriddickSpain2026-10-24King, Christopher A Esq NEW67Amy Elsner
1041James L BowleySpain2026-10-10Chanay, Jeffrey A Esq NEGOTIATION47Ivan Magalhaes
1042Deepesh A GarufiItaly2026-10-06Printing Dimensions QUALIFIED78Anna Fali
1043Juan C ShinkoAustralia2026-09-27Chapman, Ross E Esq PROPOSAL43Xuxue Feng
1044Juan H CaldareraIndia2026-10-12Chemel, James L Cpa UNQUALIFIED6Anna Fali
1045Smith K MarrierBrazil2026-10-22Buckley Miller Wright QUALIFIED68Amy Elsner
1046Juan L DilliardJapan2026-10-06Commercial Press RENEWAL88Stephen Shaw
1047Maria J MaletArgentina2026-10-20Feiner Bros RENEWAL53Asiya Javayant
1048Maisha Y PoquetteArgentina2026-10-11Commercial Press RENEWAL68Asiya Javayant
1049Ricardo U MacleadJapan2026-10-14Benton, John B Jr NEW47Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aruna V KuskoCanadaOnyama Limba PROPOSAL
Rodrigues G RutaAustraliaBernardo Dominic NEW
Alejandro Z FerenczCanadaElwin Sharvill PROPOSAL
David K NestleArgentinaAnna Fali NEW
Adams I OstroskyCanadaAmy Elsner NEW
Kaitlin T StensethJapanElwin Sharvill QUALIFIED
Maria A WieserSpainElwin Sharvill RENEWAL
Ivar Z KolmetzBrazilIoni Bowcher NEW
Chavez C RutaBrazilOnyama Limba QUALIFIED
Leja X MorascaCanadaOnyama Limba NEW
Izzy N OldroydRussiaAsiya Javayant PROPOSAL
Munro C StensethJapanAmy Elsner NEGOTIATION
Octavia N OstroskyJapanOnyama Limba PROPOSAL
Mayumi S AmigonAustraliaElwin Sharvill NEGOTIATION
Isabel B MarrierBrazilIoni Bowcher UNQUALIFIED
Mayumi B BowleyFranceAmy Elsner NEW
Tony B RutaCanadaAsiya Javayant NEW
Julie Y CaldareraIndiaOnyama Limba UNQUALIFIED
Mayumi E GarufiSpainAsiya Javayant QUALIFIED
Chavez P WaycottJapanIoni Bowcher PROPOSAL
Clifford H DilliardArgentinaAmy Elsner RENEWAL
Jones M OstroskyUnited KingdomBernardo Dominic NEW
Jefferson M KuskoRussiaIoni Bowcher RENEWAL
Izzy Z SlusarskiUnited KingdomAmy Elsner NEW
Stacey A StensethCanadaOnyama Limba PROPOSAL
Aruna P CaldareraCanadaOnyama Limba QUALIFIED
Misaki T PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas V BologniaArgentinaIoni Bowcher NEGOTIATION
Deepesh K GillianArgentinaIvan Magalhaes QUALIFIED
Silvio O SaylorsUnited KingdomXuxue Feng PROPOSAL
Misaki T ButtAustraliaAsiya Javayant NEGOTIATION
Morrow V IturbideRussiaElwin Sharvill QUALIFIED
Nicolas C TollnerSpainAsiya Javayant UNQUALIFIED
Maisha S OldroydUnited KingdomIoni Bowcher RENEWAL
Clifford P DilliardFranceXuxue Feng NEGOTIATION
Kadeem V RulapaughIndiaXuxue Feng NEGOTIATION
Johnson U CampainGermanyIvan Magalhaes NEW
Julie P BologniaUnited KingdomIvan Magalhaes QUALIFIED
Maria U MaletGermanyIoni Bowcher RENEWAL
Ashley K AlbaresCanadaElwin Sharvill UNQUALIFIED
Munro W GillianUnited KingdomAmy Elsner PROPOSAL
Misaki T GlickIndiaXuxue Feng PROPOSAL
Salvatore A NestleRussiaOnyama Limba RENEWAL
Adams G FlosiCanadaAmy Elsner QUALIFIED
Isabel Z FollerRussiaAsiya Javayant UNQUALIFIED
Clifford P NestleItalyElwin Sharvill RENEWAL
Maria Z SergiGermanyAmy Elsner PROPOSAL
Rodrigues I WieserIndiaIvan Magalhaes RENEWAL
Darci F SlusarskiArgentinaStephen Shaw PROPOSAL
Claire B MaletGermanyAmy Elsner PROPOSAL
Frozen Columns
Name
Jones I Saylors
David E Bowley
Morrow G Tollner
Leja Y Paprocki
Murillo Z Darakjy
Murillo W Schemmer
Adams Y Darakjy
Faith I Nestle
Ashley Y Marrier
Greenwood V Albares
Alejandro V Ferencz
Cody P Schemmer
Chavez C Amigon
Leja D Tollner
Sinclair Z Royster
Claire C Caudy
Misaki U Nicka
James O Paprocki
Rodrigues M Wieser
Silvio F Whobrey
Greenwood X Venere
Aditya Q Inouye
Tony S Tollner
Munro Y Figeroa
Izzy X Albares
Munro N Malet
Adams E Butt
Emily N Malet
James S Kusko
Isabel Z Shinko
Morrow F Figeroa
James P Bolognia
Rodrigues X Amigon
Munro E Caudy
Maisha I Rim
Octavia R Royster
Costa Y Perin
Mayumi O Stenseth
Maisha C Chui
Emily T Figeroa
Maisha L Whobrey
Johnson F Kusko
Cody G Vocelka
Isabel H Bowley
Murillo A Doe
Misaki Z Paprocki
Sinclair K Nestle
Stacey J Doe
Greenwood N Rim
Isabel E Maclead
IdCountryDate
1000France2026-10-07
1001India2026-10-20
1002Brazil2026-10-08
1003France2026-09-26
1004United Kingdom2026-10-01
1005Argentina2026-10-05
1006United Kingdom2026-10-11
1007Canada2026-09-29
1008United Kingdom2026-10-17
1009Brazil2026-10-01
1010United Kingdom2026-10-07
1011Italy2026-10-23
1012Australia2026-10-19
1013Brazil2026-09-30
1014Italy2026-09-29
1015France2026-10-19
1016Germany2026-10-20
1017Canada2026-09-30
1018Russia2026-09-30
1019United Kingdom2026-10-02
1020India2026-10-23
1021Canada2026-10-11
1022India2026-10-04
1023Spain2026-09-26
1024United Kingdom2026-10-08
1025India2026-10-20
1026Argentina2026-10-10
1027Germany2026-10-02
1028Russia2026-10-22
1029Canada2026-10-18
1030Japan2026-10-18
1031Australia2026-10-19
1032Russia2026-10-15
1033Italy2026-10-24
1034Australia2026-09-28
1035Australia2026-10-13
1036Australia2026-09-27
1037Italy2026-09-25
1038Russia2026-10-20
1039Japan2026-10-08
1040Argentina2026-10-13
1041Italy2026-10-09
1042Spain2026-10-19
1043Argentina2026-10-20
1044Argentina2026-10-17
1045Canada2026-10-09
1046Brazil2026-10-17
1047Canada2026-10-24
1048Italy2026-10-06
1049Australia2026-10-16

On-Demand Data

NameIdCountryDate
Greenwood B Albares1000Australia2026-10-15
Ivar I Wieser1001Italy2026-10-07
David V Chui1002Germany2026-10-13
Isabel V Stenseth1003Germany2026-10-16
Rodrigues Y Saylors1004Russia2026-10-19
Costa L Waycott1005Japan2026-10-11
Leja C Dilliard1006Australia2026-10-08
Francesco H Ruta1007Brazil2026-10-17
Ricardo G Vocelka1008India2026-10-14
Chavez K Campain1009Spain2026-10-04
Nicolas F Figeroa1010Japan2026-10-20
Maisha D Iturbide1011France2026-10-18
Claire M Sergi1012India2026-10-23
Johnson B Inouye1013Australia2026-09-29
Rodrigues D Rulapaugh1014France2026-10-07
Claire H Rim1015France2026-09-25
Munro F Nestle1016Spain2026-10-14
Kadeem P Slusarski1017Australia2026-10-16
Ivar H Poquette1018United Kingdom2026-10-08
Morrow B Foller1019Brazil2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio J ShinkoAustraliaBernardo Dominic RENEWAL
Costa H KolmetzRussiaAmy Elsner QUALIFIED
Johnson X PerinRussiaAmy Elsner QUALIFIED
Greenwood A OldroydFranceXuxue Feng NEW
Johnson D PaprockiBrazilBernardo Dominic RENEWAL
Aditya Y InouyeBrazilOnyama Limba NEW
Morrow I InouyeJapanStephen Shaw UNQUALIFIED
Cody E OldroydBrazilOnyama Limba NEGOTIATION
Maisha T WaycottItalyIoni Bowcher NEW
Maria U FlosiRussiaAmy Elsner NEGOTIATION
Darci B CaudyJapanElwin Sharvill RENEWAL
Francesco N RulapaughCanadaAnna Fali RENEWAL
Isabel A GillianIndiaBernardo Dominic UNQUALIFIED
Murillo S DarakjyBrazilIvan Magalhaes QUALIFIED
Costa S MarrierCanadaAsiya Javayant PROPOSAL
Morrow C CampainIndiaBernardo Dominic UNQUALIFIED
Ashley U TollnerItalyOnyama Limba RENEWAL
Juan J PerinRussiaIoni Bowcher RENEWAL
Tony N SlusarskiArgentinaAmy Elsner PROPOSAL
Johnson O KuskoFranceAsiya Javayant NEW
Smith R SlusarskiBrazilXuxue Feng UNQUALIFIED
Arvin J TollnerAustraliaElwin Sharvill PROPOSAL
Aika D FigeroaUnited KingdomStephen Shaw RENEWAL
Silvio N BologniaJapanAmy Elsner NEW
Salvatore K TollnerItalyIoni Bowcher UNQUALIFIED
Aika Q StensethFranceXuxue Feng RENEWAL
Jones K FigeroaArgentinaOnyama Limba NEGOTIATION
Sinclair F SergiJapanXuxue Feng UNQUALIFIED
Izzy K InouyeFranceAnna Fali NEGOTIATION
Munro T RimFranceStephen Shaw RENEWAL
Arvin P ShinkoAustraliaAmy Elsner PROPOSAL
Jefferson U RulapaughArgentinaElwin Sharvill RENEWAL
Chavez J RulapaughAustraliaAnna Fali QUALIFIED
Ashley X FerenczArgentinaXuxue Feng QUALIFIED
Mayumi D GillianSpainAmy Elsner NEW
Jennifer A SchemmerArgentinaElwin Sharvill QUALIFIED
Salvatore U StockhamFranceElwin Sharvill PROPOSAL
Deepesh W DilliardBrazilXuxue Feng NEW
Arvin R WaycottBrazilOnyama Limba UNQUALIFIED
Aruna Y CaldareraCanadaElwin Sharvill NEW

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