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
Misaki X NestleJapanOnyama Limba NEW
Kadeem S StensethGermanyBernardo Dominic RENEWAL
Kadeem J ChuiJapanOnyama Limba NEW
Faith Z PaprockiItalyXuxue Feng NEGOTIATION
James L TollnerItalyAsiya Javayant NEW
Aika Y FlosiItalyIoni Bowcher NEGOTIATION
Julie X ButtCanadaXuxue Feng NEGOTIATION
Aruna I BriddickBrazilXuxue Feng NEGOTIATION
Leja W GarufiAustraliaXuxue Feng UNQUALIFIED
David V GillianBrazilIoni Bowcher QUALIFIED
Kaitlin K VenereCanadaStephen Shaw RENEWAL
Salvatore F AmigonJapanIvan Magalhaes NEGOTIATION
Ricardo E BowleyJapanElwin Sharvill UNQUALIFIED
Johnson S MaletItalyAsiya Javayant UNQUALIFIED
Mayumi Z StockhamSpainAmy Elsner NEW
Leja Y KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Kadeem V MarrierAustraliaElwin Sharvill NEW
Clifford C RulapaughArgentinaAnna Fali NEGOTIATION
Tony L MarrierRussiaBernardo Dominic RENEWAL
Ricardo J FigeroaJapanIvan Magalhaes PROPOSAL
Kadeem S OstroskyIndiaAnna Fali NEGOTIATION
Kadeem G AlbaresIndiaAsiya Javayant NEW
Murillo M DoeAustraliaElwin Sharvill NEGOTIATION
Deepesh C RimUnited KingdomAnna Fali RENEWAL
Leja S PoquetteItalyStephen Shaw QUALIFIED
Mujtaba H RulapaughCanadaAmy Elsner PROPOSAL
Costa I MarrierGermanyBernardo Dominic RENEWAL
Tony T CampainUnited KingdomElwin Sharvill NEW
Wickens B NickaBrazilAmy Elsner NEGOTIATION
Jones H WieserItalyAmy Elsner NEW
Johnson E MaletCanadaIoni Bowcher RENEWAL
Jeanfrancois C VocelkaItalyAnna Fali NEGOTIATION
Izzy M CampainCanadaIvan Magalhaes QUALIFIED
Francesco Q MaletBrazilOnyama Limba NEW
Isabel B WhobreyUnited KingdomIoni Bowcher RENEWAL
Claire B CaudyFranceIoni Bowcher PROPOSAL
Nicolas B MacleadRussiaXuxue Feng PROPOSAL
Aika U GillianFranceOnyama Limba NEW
David O RimJapanXuxue Feng PROPOSAL
Jeanfrancois Y RulapaughUnited KingdomIoni Bowcher RENEWAL
Ashley N BriddickItalyIvan Magalhaes PROPOSAL
Cody D MacleadRussiaElwin Sharvill UNQUALIFIED
Julie I StockhamCanadaAmy Elsner UNQUALIFIED
Mayumi S GlickIndiaXuxue Feng NEW
Chavez J AmigonUnited KingdomIoni Bowcher RENEWAL
Mujtaba M RulapaughAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois H FigeroaFranceAsiya Javayant QUALIFIED
Adams D KolmetzArgentinaStephen Shaw UNQUALIFIED
Francesco N AmigonArgentinaXuxue Feng PROPOSAL
Leja Q NickaGermanyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson H FlosiItalyIoni Bowcher NEW
Jefferson L WaycottItalyIvan Magalhaes UNQUALIFIED
Deepesh M KuskoIndiaIoni Bowcher NEGOTIATION
Cody I MaletItalyBernardo Dominic UNQUALIFIED
Arvin H InouyeUnited KingdomXuxue Feng QUALIFIED
Aditya A WieserCanadaStephen Shaw PROPOSAL
Sinclair T SaylorsFranceBernardo Dominic QUALIFIED
Leja E DoeItalyXuxue Feng PROPOSAL
Clifford M VocelkaFranceIoni Bowcher RENEWAL
Izzy T InouyeArgentinaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha W RulapaughJapan2026-09-27Chanay, Jeffrey A Esq RENEWAL23Elwin Sharvill
1001Munro B WieserAustralia2026-10-16Rousseaux, Michael Esq PROPOSAL7Bernardo Dominic
1002Ashley V FollerIndia2026-09-30Printing Dimensions PROPOSAL94Xuxue Feng
1003Morrow Q FigeroaJapan2026-10-10Chemel, James L Cpa RENEWAL54Elwin Sharvill
1004Deepesh D OldroydIndia2026-09-18Truhlar And Truhlar Attys PROPOSAL47Xuxue Feng
1005Kadeem T GarufiFrance2026-10-07Chanay, Jeffrey A Esq RENEWAL1Xuxue Feng
1006Costa L BowleyItaly2026-09-29King, Christopher A Esq UNQUALIFIED92Elwin Sharvill
1007Leon L OldroydItaly2026-09-22Benton, John B Jr QUALIFIED8Stephen Shaw
1008Chavez R DarakjyBrazil2026-09-29Morlong Associates NEW49Ivan Magalhaes
1009Rodrigues J CaudyArgentina2026-10-06Commercial Press NEW70Ioni Bowcher
1010Aika F DilliardGermany2026-09-24Rousseaux, Michael Esq UNQUALIFIED42Bernardo Dominic
1011Maria X NickaArgentina2026-09-27Rousseaux, Michael Esq NEW25Xuxue Feng
1012Ricardo H VenereJapan2026-09-27Benton, John B Jr PROPOSAL72Onyama Limba
1013Adams Z ButtAustralia2026-10-16Morlong Associates PROPOSAL27Ioni Bowcher
1014Johnson Y ButtItaly2026-09-20Chemel, James L Cpa NEGOTIATION41Bernardo Dominic
1015Maria V AmigonFrance2026-10-10Feiner Bros NEW53Anna Fali
1016Clifford R FollerUnited Kingdom2026-09-23Feltz Printing Service RENEWAL87Onyama Limba
1017Kadeem O AmigonGermany2026-09-26Morlong Associates QUALIFIED57Anna Fali
1018Kaitlin M FlosiArgentina2026-10-09Feltz Printing Service UNQUALIFIED50Anna Fali
1019Greenwood R GauchoRussia2026-10-12Rousseaux, Michael Esq UNQUALIFIED61Xuxue Feng
1020Kaitlin I AlbaresGermany2026-10-03King, Christopher A Esq PROPOSAL24Bernardo Dominic
1021Arvin I FlosiSpain2026-09-22Feiner Bros UNQUALIFIED32Elwin Sharvill
1022Murillo H BowleySpain2026-09-25Chapman, Ross E Esq RENEWAL19Asiya Javayant
1023Misaki Y FerenczArgentina2026-10-07Feiner Bros UNQUALIFIED17Stephen Shaw
1024Izzy V ShinkoIndia2026-09-21Feltz Printing Service RENEWAL52Bernardo Dominic
1025Stacey U PoquetteBrazil2026-10-03Chapman, Ross E Esq UNQUALIFIED65Ioni Bowcher
1026Greenwood F AlbaresGermany2026-09-17Chapman, Ross E Esq NEGOTIATION82Amy Elsner
1027Wickens X SchemmerCanada2026-09-22Truhlar And Truhlar Attys PROPOSAL3Ivan Magalhaes
1028Aruna B InouyeItaly2026-09-23Benton, John B Jr NEW11Asiya Javayant
1029Izzy V AlbaresGermany2026-09-29Chemel, James L Cpa NEGOTIATION12Amy Elsner
1030Rodrigues G PaprockiGermany2026-10-10Chemel, James L Cpa NEW63Anna Fali
1031Maisha F GauchoIndia2026-09-17Buckley Miller Wright RENEWAL48Bernardo Dominic
1032Murillo S FigeroaBrazil2026-10-16Chemel, James L Cpa RENEWAL64Bernardo Dominic
1033Cody I RulapaughSpain2026-09-25Morlong Associates NEGOTIATION38Bernardo Dominic
1034Darci F PaprockiItaly2026-10-05Buckley Miller Wright QUALIFIED0Ioni Bowcher
1035Sinclair X StockhamUnited Kingdom2026-09-17Morlong Associates RENEWAL49Bernardo Dominic
1036Deepesh O IturbideRussia2026-10-07Commercial Press UNQUALIFIED9Elwin Sharvill
1037Isabel Q GlickCanada2026-10-05Chanay, Jeffrey A Esq QUALIFIED60Onyama Limba
1038Izzy S VenereCanada2026-10-07Truhlar And Truhlar Attys RENEWAL96Bernardo Dominic
1039Jones D SchemmerUnited Kingdom2026-10-02Truhlar And Truhlar Attys PROPOSAL83Stephen Shaw
1040Nicolas E MaletIndia2026-09-18Morlong Associates QUALIFIED40Amy Elsner
1041Arvin P BologniaIndia2026-10-16Feltz Printing Service RENEWAL54Bernardo Dominic
1042Sinclair O FigeroaUnited Kingdom2026-09-22Chemel, James L Cpa NEW90Bernardo Dominic
1043Juan G FollerRussia2026-09-27Dorl, James J Esq QUALIFIED31Stephen Shaw
1044Izzy S GlickRussia2026-10-14Buckley Miller Wright UNQUALIFIED37Asiya Javayant
1045Chavez F RutaArgentina2026-10-04Commercial Press QUALIFIED64Asiya Javayant
1046Morrow W VocelkaRussia2026-10-09Benton, John B Jr UNQUALIFIED72Xuxue Feng
1047Jefferson K DarakjyCanada2026-10-03Feiner Bros NEW87Stephen Shaw
1048Chavez K SergiCanada2026-09-30Dorl, James J Esq UNQUALIFIED55Ivan Magalhaes
1049Nicolas R AmigonJapan2026-10-02Commercial Press PROPOSAL36Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore J ButtRussiaStephen Shaw UNQUALIFIED
Nicolas C ButtGermanyAmy Elsner PROPOSAL
Antonio T SergiBrazilAnna Fali PROPOSAL
Izzy A WieserAustraliaIoni Bowcher NEGOTIATION
Isabel G SchemmerRussiaElwin Sharvill QUALIFIED
Maria O ChuiGermanyStephen Shaw RENEWAL
Rodrigues D SchemmerCanadaIvan Magalhaes RENEWAL
Darci A NickaFranceAsiya Javayant QUALIFIED
Antonio U DoeJapanXuxue Feng NEW
James S GarufiAustraliaOnyama Limba UNQUALIFIED
Mayumi X ShinkoIndiaXuxue Feng PROPOSAL
Isabel P GauchoUnited KingdomIvan Magalhaes RENEWAL
David U GauchoArgentinaElwin Sharvill RENEWAL
Aruna W ChuiBrazilXuxue Feng PROPOSAL
Misaki I DarakjySpainIoni Bowcher UNQUALIFIED
Deepesh G OldroydSpainStephen Shaw QUALIFIED
Emily M BowleyCanadaIvan Magalhaes RENEWAL
Arvin H SlusarskiFranceIoni Bowcher PROPOSAL
Kadeem Z DarakjySpainIvan Magalhaes QUALIFIED
James A CaldareraFranceIoni Bowcher NEGOTIATION
David Y ButtUnited KingdomBernardo Dominic NEW
Mujtaba I OldroydGermanyBernardo Dominic PROPOSAL
Mujtaba Z RutaItalyOnyama Limba NEGOTIATION
Kadeem L MacleadCanadaIoni Bowcher NEGOTIATION
Maria X NickaItalyIvan Magalhaes NEW
Rodrigues E KolmetzArgentinaAnna Fali PROPOSAL
Mayumi W DarakjyBrazilElwin Sharvill QUALIFIED
Jefferson R MaletBrazilStephen Shaw RENEWAL
Mayumi V StockhamItalyIvan Magalhaes PROPOSAL
Jones I VenereFranceStephen Shaw UNQUALIFIED
Isabel J AmigonIndiaAmy Elsner PROPOSAL
Juan N ChuiFranceStephen Shaw QUALIFIED
Octavia C CaldareraJapanAmy Elsner PROPOSAL
Jennifer V BologniaRussiaElwin Sharvill QUALIFIED
Clifford E KuskoAustraliaBernardo Dominic PROPOSAL
Wickens Q BriddickArgentinaAmy Elsner UNQUALIFIED
Adams Q MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Julie H SlusarskiGermanyBernardo Dominic PROPOSAL
Emily Y IturbideGermanyAnna Fali PROPOSAL
Jennifer S RulapaughIndiaElwin Sharvill PROPOSAL
James I StockhamAustraliaBernardo Dominic NEGOTIATION
Francesco I BologniaFranceAsiya Javayant QUALIFIED
Sinclair O WaycottRussiaElwin Sharvill NEGOTIATION
Nicolas L SchemmerCanadaIoni Bowcher QUALIFIED
Kadeem L NestleSpainXuxue Feng RENEWAL
Kadeem V CaudyIndiaAmy Elsner QUALIFIED
Jennifer J StensethGermanyAmy Elsner PROPOSAL
Misaki H StensethCanadaElwin Sharvill NEW
Aika A FlosiFranceBernardo Dominic UNQUALIFIED
Johnson I ShinkoFranceOnyama Limba UNQUALIFIED
Frozen Columns
Name
Darci O Perin
Izzy M Briddick
Kaitlin E Paprocki
Leon Q Poquette
Julie L Nestle
Jefferson E Maclead
Emily N Dilliard
Mujtaba C Vocelka
Morrow D Dilliard
Ivar I Ferencz
Sinclair P Royster
Maisha D Briddick
Izzy T Iturbide
Isabel D Nestle
Aditya Q Oldroyd
Octavia P Amigon
Silvio E Kusko
Wickens B Butt
Jefferson F Wieser
Jones V Briddick
Arvin O Ostrosky
Johnson J Ferencz
Kadeem R Bowley
Octavia N Glick
Emily X Glick
Adams H Ruta
Emily N Briddick
Aika Y Rim
Isabel L Marrier
Adams F Maclead
Julie M Waycott
Misaki R Venere
Stacey H Briddick
Sinclair T Campain
Ricardo Q Ferencz
Leja B Campain
Johnson H Bowley
Jones F Stenseth
Cody I Campain
Wickens A Garufi
Arvin T Butt
Clifford C Inouye
Jeanfrancois G Sergi
Ricardo P Flosi
Jefferson Y Gillian
Tony A Maclead
Kaitlin S Whobrey
Greenwood O Gaucho
Jennifer T Doe
Ashley R Slusarski
IdCountryDate
1000Canada2026-10-05
1001Canada2026-10-10
1002Australia2026-10-16
1003France2026-10-07
1004Canada2026-09-24
1005Russia2026-10-13
1006India2026-10-05
1007Spain2026-09-21
1008India2026-09-24
1009Spain2026-09-22
1010Australia2026-09-17
1011India2026-10-05
1012Canada2026-09-24
1013United Kingdom2026-09-24
1014Canada2026-10-02
1015Germany2026-09-26
1016Canada2026-10-05
1017Italy2026-09-21
1018Argentina2026-09-17
1019Argentina2026-09-25
1020Argentina2026-10-04
1021United Kingdom2026-10-14
1022Australia2026-09-29
1023United Kingdom2026-10-09
1024France2026-10-04
1025Argentina2026-09-19
1026Australia2026-10-14
1027Argentina2026-10-13
1028Germany2026-09-24
1029India2026-09-17
1030France2026-09-19
1031Argentina2026-09-20
1032United Kingdom2026-10-06
1033Canada2026-09-30
1034Italy2026-09-21
1035Japan2026-10-15
1036Brazil2026-09-19
1037Spain2026-09-21
1038Canada2026-10-12
1039Italy2026-10-07
1040United Kingdom2026-10-08
1041Spain2026-10-01
1042United Kingdom2026-10-08
1043United Kingdom2026-09-24
1044France2026-09-19
1045Japan2026-09-22
1046Russia2026-10-01
1047Japan2026-09-22
1048France2026-10-04
1049United Kingdom2026-10-05

On-Demand Data

NameIdCountryDate
Alejandro U Waycott1000Canada2026-10-16
Ivar R Wieser1001Germany2026-10-07
Francesco C Rulapaugh1002India2026-09-20
Emily E Paprocki1003Germany2026-09-20
Aruna A Ruta1004Canada2026-10-16
Arvin A Saylors1005Spain2026-10-02
Aika I Malet1006Canada2026-10-08
Jeanfrancois I Sergi1007United Kingdom2026-10-02
Murillo L Royster1008Argentina2026-10-03
Maria M Sergi1009Australia2026-09-17
Leon G Shinko1010Australia2026-09-22
Salvatore L Rulapaugh1011Germany2026-10-14
Ricardo P Waycott1012United Kingdom2026-09-27
Johnson V Campain1013Argentina2026-10-09
Juan G Stockham1014Argentina2026-09-20
Wickens Y Vocelka1015United Kingdom2026-10-15
Kaitlin Y Iturbide1016United Kingdom2026-10-06
Jeanfrancois T Ferencz1017India2026-09-30
Kaitlin W Whobrey1018Germany2026-10-06
Sinclair J Waycott1019United Kingdom2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba F DoeAustraliaIoni Bowcher QUALIFIED
Octavia C FlosiUnited KingdomIvan Magalhaes QUALIFIED
Aruna C FlosiUnited KingdomBernardo Dominic PROPOSAL
Ashley P AlbaresRussiaOnyama Limba NEW
Silvio F OldroydFranceStephen Shaw PROPOSAL
David X NestleAustraliaOnyama Limba NEGOTIATION
Octavia W WieserRussiaElwin Sharvill NEW
Ashley B SaylorsUnited KingdomIvan Magalhaes NEW
David K ShinkoFranceElwin Sharvill PROPOSAL
Deepesh V NestleItalyBernardo Dominic NEW
Antonio Z BowleyCanadaAnna Fali PROPOSAL
Leon T ChuiRussiaXuxue Feng NEGOTIATION
Wickens Y BriddickIndiaIvan Magalhaes QUALIFIED
Aika E KuskoAustraliaIvan Magalhaes RENEWAL
Cody T PaprockiArgentinaElwin Sharvill UNQUALIFIED
Ivar M DarakjyBrazilBernardo Dominic PROPOSAL
Ivar I CaldareraIndiaXuxue Feng RENEWAL
Alejandro K VenereBrazilIoni Bowcher PROPOSAL
Antonio K PoquetteFranceIvan Magalhaes PROPOSAL
Jeanfrancois N DoeGermanyAnna Fali QUALIFIED
Ivar A FigeroaArgentinaXuxue Feng QUALIFIED
Sinclair L WieserFranceAsiya Javayant UNQUALIFIED
Jones L CaldareraJapanElwin Sharvill RENEWAL
Aika Y GlickSpainAsiya Javayant PROPOSAL
Rodrigues Q IturbideIndiaAnna Fali QUALIFIED
Juan U IturbideUnited KingdomIoni Bowcher QUALIFIED
Aditya I KuskoGermanyAnna Fali QUALIFIED
Maisha U WaycottItalyAnna Fali QUALIFIED
Ivar N WieserJapanStephen Shaw QUALIFIED
Arvin W RulapaughCanadaBernardo Dominic RENEWAL
Leon C GauchoBrazilElwin Sharvill QUALIFIED
Ivar H DoeSpainElwin Sharvill UNQUALIFIED
Tony H FerenczArgentinaAmy Elsner PROPOSAL
Francesco I MorascaRussiaStephen Shaw NEGOTIATION
Jones T TollnerGermanyStephen Shaw NEW
Greenwood F BologniaJapanIoni Bowcher NEW
Claire P FollerGermanyIoni Bowcher UNQUALIFIED
Tony G AmigonItalyStephen Shaw UNQUALIFIED
Cody P MaletArgentinaAnna Fali RENEWAL
Maisha M PaprockiJapanBernardo 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>