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
Cody F MorascaFranceIoni Bowcher RENEWAL
Ricardo G PoquetteGermanyStephen Shaw QUALIFIED
Kaitlin F RimBrazilStephen Shaw NEGOTIATION
Rodrigues U FollerAustraliaStephen Shaw RENEWAL
Clifford G DilliardIndiaAnna Fali NEW
Tony Y VocelkaJapanIvan Magalhaes NEGOTIATION
Julie A BriddickIndiaAsiya Javayant PROPOSAL
Claire E FerenczAustraliaIoni Bowcher NEGOTIATION
Mayumi V FollerJapanElwin Sharvill RENEWAL
Jones O RulapaughArgentinaXuxue Feng RENEWAL
Arvin O StockhamSpainAnna Fali RENEWAL
Silvio N RutaUnited KingdomAmy Elsner RENEWAL
Antonio G CaldareraRussiaAnna Fali UNQUALIFIED
Munro F SaylorsArgentinaBernardo Dominic RENEWAL
Izzy J PoquetteIndiaOnyama Limba NEW
Isabel I FigeroaItalyStephen Shaw PROPOSAL
Johnson F FollerGermanyAsiya Javayant QUALIFIED
Isabel C OstroskyBrazilStephen Shaw NEGOTIATION
Jefferson R MacleadAustraliaElwin Sharvill PROPOSAL
Adams R BologniaItalyAsiya Javayant PROPOSAL
Jefferson Q MarrierCanadaBernardo Dominic PROPOSAL
Greenwood O StockhamFranceAsiya Javayant NEGOTIATION
Jefferson Z ChuiAustraliaAnna Fali NEW
Stacey D CampainAustraliaIoni Bowcher QUALIFIED
Chavez L SchemmerItalyIoni Bowcher RENEWAL
Leon C OstroskyAustraliaIvan Magalhaes NEGOTIATION
Deepesh F StensethSpainAnna Fali NEGOTIATION
Clifford A WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba H StockhamGermanyAsiya Javayant RENEWAL
Izzy O DoeJapanElwin Sharvill QUALIFIED
Rodrigues N BowleyUnited KingdomIvan Magalhaes RENEWAL
Francesco M ButtItalyAnna Fali QUALIFIED
Rodrigues O PerinAustraliaXuxue Feng QUALIFIED
Greenwood H CaldareraBrazilIvan Magalhaes NEW
Stacey P PaprockiIndiaAnna Fali PROPOSAL
Aruna T RulapaughRussiaAsiya Javayant NEGOTIATION
Francesco F StockhamRussiaAsiya Javayant RENEWAL
Leon U MorascaCanadaIvan Magalhaes NEW
Francesco W RutaRussiaXuxue Feng NEGOTIATION
Darci W RutaIndiaIoni Bowcher RENEWAL
Salvatore A BowleyIndiaIoni Bowcher QUALIFIED
Cody V BologniaJapanAmy Elsner NEGOTIATION
Smith T BriddickCanadaAnna Fali PROPOSAL
Salvatore R BowleyAustraliaIoni Bowcher UNQUALIFIED
Kaitlin O GarufiItalyElwin Sharvill PROPOSAL
Francesco F NestleItalyXuxue Feng NEGOTIATION
Mayumi U MacleadJapanElwin Sharvill UNQUALIFIED
Izzy A BologniaItalyAsiya Javayant QUALIFIED
Costa I PaprockiIndiaOnyama Limba PROPOSAL
Claire Q GauchoBrazilAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley B FollerJapanStephen Shaw NEGOTIATION
Emily H FigeroaIndiaAmy Elsner UNQUALIFIED
Ashley E PoquetteIndiaAnna Fali NEGOTIATION
Aruna V GillianBrazilXuxue Feng QUALIFIED
Morrow R StockhamRussiaIvan Magalhaes UNQUALIFIED
Francesco Q WhobreyAustraliaBernardo Dominic QUALIFIED
Munro N ButtBrazilStephen Shaw UNQUALIFIED
Jefferson O SchemmerJapanBernardo Dominic UNQUALIFIED
Ashley C PaprockiBrazilIoni Bowcher RENEWAL
Costa X OstroskyGermanyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo R GauchoGermany2026-09-27Dorl, James J Esq NEGOTIATION49Asiya Javayant
1001Leon J TollnerIndia2026-09-26King, Christopher A Esq PROPOSAL44Elwin Sharvill
1002Munro F WieserCanada2026-09-30Commercial Press NEGOTIATION37Xuxue Feng
1003Wickens T KuskoIndia2026-09-18Buckley Miller Wright PROPOSAL41Anna Fali
1004Aditya C BologniaIndia2026-10-08Truhlar And Truhlar Attys UNQUALIFIED72Ivan Magalhaes
1005Clifford N ButtSpain2026-09-24Feiner Bros QUALIFIED43Stephen Shaw
1006Clifford W NickaBrazil2026-09-22Dorl, James J Esq PROPOSAL7Bernardo Dominic
1007Isabel J CaudyGermany2026-10-02Truhlar And Truhlar Attys PROPOSAL31Stephen Shaw
1008Deepesh I GillianSpain2026-09-21Chapman, Ross E Esq RENEWAL50Stephen Shaw
1009Emily Q ButtRussia2026-09-30Feiner Bros RENEWAL6Amy Elsner
1010Mayumi I VocelkaFrance2026-09-19Buckley Miller Wright NEGOTIATION52Ivan Magalhaes
1011James E GauchoRussia2026-10-08Chemel, James L Cpa PROPOSAL54Ioni Bowcher
1012Emily I DoeCanada2026-10-05Benton, John B Jr UNQUALIFIED61Amy Elsner
1013Adams X KolmetzJapan2026-10-03Chanay, Jeffrey A Esq QUALIFIED4Stephen Shaw
1014Faith N SergiUnited Kingdom2026-09-29Dorl, James J Esq NEGOTIATION97Elwin Sharvill
1015Izzy J MaletItaly2026-09-18King, Christopher A Esq QUALIFIED22Anna Fali
1016Cody G VenereAustralia2026-09-28Buckley Miller Wright UNQUALIFIED54Onyama Limba
1017Rodrigues A ShinkoSpain2026-10-04Benton, John B Jr UNQUALIFIED7Ivan Magalhaes
1018Francesco F WieserCanada2026-10-05Commercial Press QUALIFIED42Asiya Javayant
1019Rodrigues S RutaSpain2026-09-23Buckley Miller Wright UNQUALIFIED14Onyama Limba
1020Stacey Y SchemmerCanada2026-09-22Truhlar And Truhlar Attys NEW51Anna Fali
1021Maisha N GillianRussia2026-10-11Feiner Bros QUALIFIED16Asiya Javayant
1022Nicolas B MarrierSpain2026-09-25Chemel, James L Cpa UNQUALIFIED63Asiya Javayant
1023Alejandro B RimGermany2026-10-06Chapman, Ross E Esq NEGOTIATION35Bernardo Dominic
1024Clifford L FerenczAustralia2026-09-17Rousseaux, Michael Esq RENEWAL23Ivan Magalhaes
1025Faith J VenereAustralia2026-09-21Buckley Miller Wright QUALIFIED55Ivan Magalhaes
1026Sinclair M MaletFrance2026-09-24Buckley Miller Wright RENEWAL50Ioni Bowcher
1027Maisha W FollerItaly2026-09-29Rousseaux, Michael Esq UNQUALIFIED50Anna Fali
1028Greenwood N MaletUnited Kingdom2026-09-17Morlong Associates UNQUALIFIED52Xuxue Feng
1029Mayumi P WhobreyArgentina2026-10-14Buckley Miller Wright NEW11Xuxue Feng
1030Cody D VenereAustralia2026-09-18Chanay, Jeffrey A Esq RENEWAL13Onyama Limba
1031Kadeem V AmigonSpain2026-09-22Printing Dimensions NEGOTIATION57Ivan Magalhaes
1032Costa J AlbaresArgentina2026-09-21Printing Dimensions RENEWAL25Asiya Javayant
1033David M PoquetteGermany2026-10-01King, Christopher A Esq PROPOSAL60Ioni Bowcher
1034Francesco U GillianUnited Kingdom2026-10-01Morlong Associates RENEWAL11Ioni Bowcher
1035Antonio Q FlosiBrazil2026-09-24Morlong Associates RENEWAL78Ivan Magalhaes
1036Morrow B DilliardRussia2026-09-27Chapman, Ross E Esq UNQUALIFIED13Onyama Limba
1037Murillo G GlickItaly2026-09-25Chemel, James L Cpa QUALIFIED58Ioni Bowcher
1038Greenwood J RulapaughIndia2026-09-25Morlong Associates RENEWAL94Anna Fali
1039Morrow A FlosiSpain2026-09-15Rousseaux, Michael Esq RENEWAL50Stephen Shaw
1040Munro D CampainRussia2026-10-10Chapman, Ross E Esq NEW41Amy Elsner
1041Wickens Y StockhamGermany2026-10-05Chemel, James L Cpa NEW88Anna Fali
1042Rodrigues G IturbideBrazil2026-10-12Dorl, James J Esq UNQUALIFIED6Stephen Shaw
1043Jefferson V KolmetzArgentina2026-09-22Feltz Printing Service UNQUALIFIED32Ivan Magalhaes
1044Jefferson Y MaletRussia2026-09-19Morlong Associates NEGOTIATION56Elwin Sharvill
1045Jefferson Y FollerGermany2026-10-01Chanay, Jeffrey A Esq QUALIFIED99Stephen Shaw
1046Julie N WaycottArgentina2026-10-10Truhlar And Truhlar Attys QUALIFIED48Ioni Bowcher
1047Adams D DoeFrance2026-09-23Printing Dimensions UNQUALIFIED24Ivan Magalhaes
1048Rodrigues F MarrierIndia2026-09-17Printing Dimensions UNQUALIFIED86Bernardo Dominic
1049Adams U IturbideRussia2026-10-07Commercial Press NEW86Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Morrow N BologniaItalyXuxue Feng QUALIFIED
Adams Z FollerItalyAnna Fali NEW
Aruna B WieserIndiaOnyama Limba PROPOSAL
Ashley K BowleyIndiaBernardo Dominic NEW
Sinclair H AmigonFranceIvan Magalhaes RENEWAL
Stacey N RulapaughAustraliaBernardo Dominic PROPOSAL
Clifford D BowleyRussiaStephen Shaw UNQUALIFIED
Costa V GarufiBrazilXuxue Feng NEGOTIATION
David D DarakjyAustraliaOnyama Limba NEGOTIATION
Aditya K MaletBrazilStephen Shaw NEGOTIATION
Leon O KuskoUnited KingdomAnna Fali RENEWAL
Johnson Q SlusarskiArgentinaAnna Fali UNQUALIFIED
Morrow L FerenczGermanyAsiya Javayant QUALIFIED
Claire C FerenczRussiaStephen Shaw NEGOTIATION
Greenwood Y AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Chavez C MacleadRussiaBernardo Dominic NEW
Jennifer K NestleSpainAmy Elsner RENEWAL
Alejandro F VocelkaJapanAmy Elsner UNQUALIFIED
Aika G FollerRussiaAsiya Javayant UNQUALIFIED
Arvin B StensethUnited KingdomElwin Sharvill PROPOSAL
Emily S FlosiItalyOnyama Limba NEW
Juan F GillianItalyAmy Elsner RENEWAL
Misaki H InouyeCanadaAmy Elsner QUALIFIED
Arvin R WieserAustraliaAsiya Javayant UNQUALIFIED
Aruna L GarufiUnited KingdomAmy Elsner QUALIFIED
Aditya E GlickSpainAnna Fali NEGOTIATION
Mayumi D KolmetzItalyOnyama Limba UNQUALIFIED
Wickens K DilliardAustraliaElwin Sharvill NEGOTIATION
Misaki S PoquetteAustraliaAmy Elsner NEW
Aditya Z NickaSpainXuxue Feng NEW
Octavia S RimGermanyIvan Magalhaes NEGOTIATION
Jones B IturbideArgentinaBernardo Dominic PROPOSAL
David V OstroskyCanadaIoni Bowcher RENEWAL
Ashley E KolmetzGermanyAmy Elsner RENEWAL
Emily C SlusarskiArgentinaAmy Elsner NEGOTIATION
Johnson V MaletUnited KingdomAmy Elsner NEW
Nicolas Z MarrierItalyAmy Elsner PROPOSAL
Izzy M CampainArgentinaBernardo Dominic NEGOTIATION
Darci O VocelkaItalyBernardo Dominic NEW
Aruna N MorascaAustraliaXuxue Feng RENEWAL
Jeanfrancois L SaylorsRussiaAnna Fali RENEWAL
Greenwood H StensethFranceAsiya Javayant RENEWAL
Maisha G DarakjyIndiaAnna Fali RENEWAL
Ricardo J OldroydGermanyAnna Fali QUALIFIED
Claire R MacleadGermanyBernardo Dominic NEGOTIATION
Aditya C MacleadUnited KingdomBernardo Dominic RENEWAL
Julie G CampainItalyAnna Fali NEGOTIATION
Aika A KuskoGermanyStephen Shaw UNQUALIFIED
Stacey Y PaprockiRussiaElwin Sharvill QUALIFIED
Clifford Y CaudySpainIvan Magalhaes NEW
Frozen Columns
Name
Jennifer G Marrier
Morrow M Inouye
Morrow W Albares
David S Briddick
Aika V Malet
Aditya H Foller
Nicolas R Poquette
Rodrigues G Morasca
Smith P Schemmer
Maisha B Caudy
Ricardo L Amigon
Chavez K Waycott
Octavia S Inouye
Wickens A Butt
Sinclair Q Malet
Silvio T Darakjy
Ricardo U Dilliard
Mayumi N Campain
Misaki Z Ferencz
Tony R Iturbide
Maisha G Shinko
Mujtaba W Nestle
Maisha Y Gillian
Chavez Z Paprocki
Murillo X Sergi
Nicolas E Poquette
David C Iturbide
James R Royster
Mayumi X Darakjy
Jefferson K Whobrey
Smith G Maclead
Rodrigues D Amigon
Arvin C Waycott
Aruna R Morasca
Munro R Marrier
Leon Y Briddick
Tony C Figeroa
Chavez E Darakjy
Julie E Butt
Aditya H Darakjy
Adams Z Figeroa
Arvin L Marrier
Nicolas G Malet
David F Stenseth
Aditya Q Dilliard
Octavia H Stockham
Costa H Gaucho
Arvin Y Stockham
Darci Q Gaucho
Francesco V Sergi
IdCountryDate
1000Brazil2026-09-27
1001United Kingdom2026-09-16
1002India2026-10-10
1003Japan2026-10-09
1004Brazil2026-10-06
1005Argentina2026-09-16
1006United Kingdom2026-09-28
1007Brazil2026-10-08
1008Australia2026-09-16
1009Brazil2026-10-08
1010Australia2026-10-04
1011Canada2026-09-19
1012United Kingdom2026-10-04
1013Russia2026-09-21
1014Australia2026-09-24
1015United Kingdom2026-09-27
1016Spain2026-09-26
1017Japan2026-09-25
1018Argentina2026-09-21
1019Japan2026-09-15
1020United Kingdom2026-09-18
1021Germany2026-10-04
1022Italy2026-10-07
1023Russia2026-09-16
1024India2026-09-30
1025Argentina2026-09-25
1026Japan2026-09-15
1027India2026-10-06
1028United Kingdom2026-09-19
1029Germany2026-10-08
1030Japan2026-09-27
1031India2026-09-17
1032Germany2026-09-16
1033United Kingdom2026-09-17
1034Russia2026-10-10
1035Italy2026-09-22
1036India2026-10-03
1037Japan2026-09-27
1038Russia2026-09-22
1039Germany2026-10-08
1040Russia2026-10-01
1041Russia2026-09-28
1042Russia2026-10-11
1043Italy2026-09-22
1044Germany2026-09-20
1045Canada2026-10-09
1046Spain2026-09-19
1047Russia2026-09-30
1048Spain2026-09-23
1049Canada2026-10-02

On-Demand Data

NameIdCountryDate
Misaki X Inouye1000Argentina2026-09-26
Tony V Poquette1001Australia2026-10-11
Nicolas M Inouye1002Italy2026-09-28
Leja X Wieser1003Japan2026-10-14
Mujtaba N Tollner1004Brazil2026-10-06
Salvatore L Amigon1005India2026-10-05
Kadeem O Amigon1006Canada2026-10-05
Kaitlin D Campain1007Australia2026-10-08
Octavia E Vocelka1008India2026-10-06
Johnson N Malet1009India2026-10-10
Cody S Maclead1010Germany2026-09-20
Kadeem T Chui1011India2026-10-03
Tony P Rulapaugh1012Russia2026-09-21
Tony C Bowley1013Italy2026-10-14
Emily O Maclead1014France2026-10-13
Jeanfrancois K Whobrey1015Italy2026-09-26
Smith P Morasca1016Japan2026-09-27
Murillo L Figeroa1017Canada2026-09-30
Isabel W Bowley1018Germany2026-10-03
Jeanfrancois C Marrier1019Spain2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez J SaylorsItalyOnyama Limba PROPOSAL
Jennifer L PaprockiJapanBernardo Dominic UNQUALIFIED
Faith W MorascaSpainAsiya Javayant NEGOTIATION
Cody E NickaCanadaStephen Shaw PROPOSAL
Mujtaba L StockhamAustraliaAsiya Javayant NEGOTIATION
Munro Y RutaBrazilElwin Sharvill QUALIFIED
Mayumi Q NickaJapanElwin Sharvill PROPOSAL
Tony O FollerAustraliaAsiya Javayant RENEWAL
Johnson X FollerFranceIoni Bowcher PROPOSAL
Tony S FlosiBrazilOnyama Limba RENEWAL
Stacey A SchemmerItalyBernardo Dominic UNQUALIFIED
Morrow N OstroskyIndiaXuxue Feng QUALIFIED
Octavia D TollnerFranceBernardo Dominic UNQUALIFIED
Murillo W ButtAustraliaAsiya Javayant RENEWAL
Ivar U InouyeJapanIoni Bowcher UNQUALIFIED
Mujtaba N PoquetteSpainXuxue Feng NEW
Tony M FerenczIndiaAsiya Javayant PROPOSAL
Leon G SaylorsRussiaIvan Magalhaes NEGOTIATION
Izzy N SchemmerSpainAsiya Javayant PROPOSAL
Antonio K SaylorsArgentinaAsiya Javayant PROPOSAL
David A OldroydSpainIoni Bowcher QUALIFIED
James M WieserIndiaOnyama Limba QUALIFIED
Mujtaba M SlusarskiJapanAsiya Javayant NEW
Wickens U DilliardFranceAsiya Javayant NEW
Silvio V ChuiRussiaIoni Bowcher QUALIFIED
Darci X SlusarskiIndiaBernardo Dominic PROPOSAL
Jefferson D WaycottJapanXuxue Feng NEW
Aika V WieserCanadaAnna Fali NEGOTIATION
David L KuskoGermanyAsiya Javayant QUALIFIED
Kaitlin X PaprockiFranceXuxue Feng UNQUALIFIED
Mayumi D GauchoAustraliaBernardo Dominic UNQUALIFIED
Izzy D InouyeUnited KingdomAsiya Javayant NEGOTIATION
Wickens R SergiSpainAsiya Javayant PROPOSAL
Emily G NestleSpainAmy Elsner UNQUALIFIED
Deepesh E PaprockiFranceElwin Sharvill QUALIFIED
Antonio C CaudyJapanStephen Shaw NEW
Rodrigues A MorascaCanadaElwin Sharvill PROPOSAL
Kaitlin P KuskoUnited KingdomElwin Sharvill RENEWAL
Smith F VenereFranceElwin Sharvill NEGOTIATION
Morrow E MaletCanadaXuxue Feng 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>