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
Tony U PerinJapanAnna Fali NEW
Jefferson P BowleyBrazilXuxue Feng RENEWAL
Adams E RutaUnited KingdomAsiya Javayant QUALIFIED
Jennifer D OldroydIndiaIoni Bowcher QUALIFIED
Chavez A CampainIndiaAmy Elsner NEGOTIATION
Tony C MaletGermanyXuxue Feng RENEWAL
Deepesh K OstroskyCanadaBernardo Dominic QUALIFIED
Izzy R OstroskyFranceAsiya Javayant NEGOTIATION
Jeanfrancois F CaldareraBrazilBernardo Dominic NEGOTIATION
Ricardo F MorascaJapanIoni Bowcher QUALIFIED
James N CaldareraIndiaXuxue Feng UNQUALIFIED
Adams P OstroskyBrazilAsiya Javayant NEW
Claire X SaylorsArgentinaAsiya Javayant UNQUALIFIED
Misaki J VocelkaGermanyOnyama Limba RENEWAL
Tony Z FollerJapanAnna Fali NEW
James R FlosiRussiaBernardo Dominic RENEWAL
Johnson R TollnerRussiaBernardo Dominic UNQUALIFIED
Maria I OstroskyBrazilOnyama Limba NEW
Jennifer Z DarakjyCanadaIvan Magalhaes QUALIFIED
Jefferson P DarakjyJapanBernardo Dominic QUALIFIED
Cody O MorascaRussiaIvan Magalhaes UNQUALIFIED
Jennifer Y CaudyItalyStephen Shaw PROPOSAL
Julie E ShinkoUnited KingdomStephen Shaw RENEWAL
Kadeem Z GlickAustraliaOnyama Limba NEW
Isabel V GarufiSpainStephen Shaw RENEWAL
Adams U SchemmerJapanIoni Bowcher QUALIFIED
Wickens L WieserJapanAnna Fali NEGOTIATION
Murillo D KuskoBrazilAsiya Javayant RENEWAL
James Y CampainUnited KingdomAsiya Javayant QUALIFIED
Mayumi Y GlickUnited KingdomAnna Fali PROPOSAL
Deepesh K PerinGermanyStephen Shaw PROPOSAL
Jones Y DilliardSpainXuxue Feng NEW
Maria V GarufiBrazilAmy Elsner NEW
Deepesh N AmigonJapanAsiya Javayant UNQUALIFIED
Salvatore W MacleadIndiaBernardo Dominic NEGOTIATION
James A StensethRussiaAmy Elsner NEGOTIATION
Francesco Z PoquetteCanadaIoni Bowcher RENEWAL
Cody F FigeroaItalyAsiya Javayant NEW
Julie W PerinAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois T FigeroaGermanyAmy Elsner NEW
Stacey O FerenczFranceIvan Magalhaes UNQUALIFIED
Clifford R OstroskyRussiaAmy Elsner QUALIFIED
Aika P BowleyArgentinaAsiya Javayant NEW
Greenwood Z FigeroaCanadaElwin Sharvill QUALIFIED
Maisha K CampainFranceIoni Bowcher QUALIFIED
Smith N SergiIndiaElwin Sharvill QUALIFIED
Octavia O RulapaughGermanyIvan Magalhaes RENEWAL
James G WhobreyArgentinaXuxue Feng RENEWAL
Wickens Q MarrierBrazilBernardo Dominic NEW
Juan H InouyeUnited KingdomIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika F GauchoGermanyXuxue Feng NEGOTIATION
James X AlbaresSpainAsiya Javayant QUALIFIED
Octavia J MacleadCanadaElwin Sharvill PROPOSAL
Morrow M AlbaresIndiaAsiya Javayant RENEWAL
Aika Z CaldareraArgentinaBernardo Dominic NEW
Nicolas K BriddickArgentinaXuxue Feng NEW
Aika X KuskoFranceAnna Fali QUALIFIED
Kaitlin I RulapaughAustraliaAmy Elsner PROPOSAL
Leja W SergiSpainIoni Bowcher RENEWAL
Murillo M WaycottSpainIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez X RoysterGermany2026-09-11Benton, John B Jr QUALIFIED34Elwin Sharvill
1001Tony X MorascaUnited Kingdom2026-09-12Benton, John B Jr PROPOSAL75Asiya Javayant
1002Cody L BowleyFrance2026-10-03Dorl, James J Esq QUALIFIED85Onyama Limba
1003Mayumi P PoquetteRussia2026-09-09Truhlar And Truhlar Attys QUALIFIED17Anna Fali
1004Johnson P InouyeIndia2026-09-12Morlong Associates QUALIFIED12Onyama Limba
1005Arvin D DoeAustralia2026-09-22Commercial Press RENEWAL61Onyama Limba
1006Munro K VenereFrance2026-09-27Commercial Press RENEWAL59Amy Elsner
1007Jeanfrancois I TollnerGermany2026-09-15Dorl, James J Esq PROPOSAL22Asiya Javayant
1008Mayumi F ChuiIndia2026-09-12Chanay, Jeffrey A Esq NEGOTIATION39Onyama Limba
1009Jeanfrancois A SergiUnited Kingdom2026-10-03Morlong Associates NEW30Stephen Shaw
1010David Z SergiAustralia2026-09-30Commercial Press NEW76Asiya Javayant
1011Stacey Z OldroydFrance2026-09-24Truhlar And Truhlar Attys NEGOTIATION59Anna Fali
1012Greenwood I CaudyUnited Kingdom2026-09-16Morlong Associates RENEWAL27Anna Fali
1013Silvio K PerinUnited Kingdom2026-09-08Feltz Printing Service NEW27Asiya Javayant
1014Clifford A ChuiArgentina2026-09-26King, Christopher A Esq PROPOSAL47Bernardo Dominic
1015David B AlbaresItaly2026-09-13Feltz Printing Service PROPOSAL97Bernardo Dominic
1016Misaki D CampainAustralia2026-09-19Truhlar And Truhlar Attys UNQUALIFIED79Ioni Bowcher
1017Tony A SaylorsFrance2026-09-22Buckley Miller Wright QUALIFIED88Onyama Limba
1018Kaitlin T SergiUnited Kingdom2026-09-18King, Christopher A Esq PROPOSAL51Anna Fali
1019Sinclair R GauchoJapan2026-09-11Chapman, Ross E Esq NEW72Stephen Shaw
1020Tony P VocelkaArgentina2026-09-19Rousseaux, Michael Esq UNQUALIFIED32Xuxue Feng
1021Octavia P CaldareraJapan2026-09-07Dorl, James J Esq RENEWAL6Elwin Sharvill
1022James Q BriddickFrance2026-09-20King, Christopher A Esq QUALIFIED59Anna Fali
1023Maisha L WieserCanada2026-09-10Rangoni Of Florence RENEWAL87Stephen Shaw
1024Silvio L ButtBrazil2026-09-22King, Christopher A Esq PROPOSAL62Bernardo Dominic
1025Octavia A AlbaresFrance2026-09-23Chemel, James L Cpa QUALIFIED0Ivan Magalhaes
1026Leja N DilliardJapan2026-10-02Chanay, Jeffrey A Esq QUALIFIED73Anna Fali
1027Ashley X StockhamUnited Kingdom2026-09-18Feiner Bros NEGOTIATION28Bernardo Dominic
1028Murillo C GillianIndia2026-09-19Feltz Printing Service UNQUALIFIED1Amy Elsner
1029Ricardo Q VenereUnited Kingdom2026-09-08Chemel, James L Cpa NEGOTIATION95Onyama Limba
1030Jeanfrancois I ButtAustralia2026-09-11Feiner Bros NEGOTIATION85Ivan Magalhaes
1031Francesco J WaycottItaly2026-09-12Buckley Miller Wright UNQUALIFIED12Ivan Magalhaes
1032Jennifer L NestleItaly2026-09-22Rousseaux, Michael Esq UNQUALIFIED96Elwin Sharvill
1033Mayumi G CaudyIndia2026-09-28Buckley Miller Wright PROPOSAL15Elwin Sharvill
1034Faith Y FerenczItaly2026-09-25Chemel, James L Cpa NEW90Bernardo Dominic
1035Emily J GauchoCanada2026-09-11Chanay, Jeffrey A Esq NEGOTIATION41Ivan Magalhaes
1036Sinclair W RutaSpain2026-09-23Printing Dimensions QUALIFIED74Asiya Javayant
1037Jefferson H CaudySpain2026-10-02Benton, John B Jr QUALIFIED64Bernardo Dominic
1038Salvatore H CaldareraAustralia2026-10-01Feiner Bros PROPOSAL59Xuxue Feng
1039Nicolas L OldroydItaly2026-09-07Feltz Printing Service QUALIFIED79Asiya Javayant
1040Mujtaba M MaletRussia2026-09-13Chapman, Ross E Esq NEGOTIATION63Ivan Magalhaes
1041Aruna Q BowleyFrance2026-09-19King, Christopher A Esq PROPOSAL19Elwin Sharvill
1042Deepesh G DoeJapan2026-09-15Feiner Bros PROPOSAL57Ioni Bowcher
1043Wickens C MarrierAustralia2026-09-24Buckley Miller Wright QUALIFIED19Ivan Magalhaes
1044Leja J PerinArgentina2026-10-05Chemel, James L Cpa RENEWAL38Amy Elsner
1045Chavez B MaletJapan2026-09-24Morlong Associates PROPOSAL60Bernardo Dominic
1046Ivar J GillianAustralia2026-09-08Rangoni Of Florence NEGOTIATION49Stephen Shaw
1047Faith F StensethCanada2026-09-28Commercial Press UNQUALIFIED15Asiya Javayant
1048James S IturbideGermany2026-09-24Chanay, Jeffrey A Esq UNQUALIFIED34Onyama Limba
1049Ricardo G DilliardSpain2026-09-09Truhlar And Truhlar Attys QUALIFIED90Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Clifford X VocelkaFranceAsiya Javayant PROPOSAL
Aruna H InouyeUnited KingdomAnna Fali RENEWAL
Maisha E CaudyRussiaBernardo Dominic QUALIFIED
Octavia Y CampainJapanBernardo Dominic PROPOSAL
Ivar Z TollnerGermanyOnyama Limba UNQUALIFIED
Antonio Q NickaRussiaOnyama Limba QUALIFIED
Leon H VenereFranceAnna Fali PROPOSAL
Aruna S KuskoFranceElwin Sharvill RENEWAL
David T SaylorsRussiaIvan Magalhaes NEW
Murillo S VocelkaUnited KingdomXuxue Feng RENEWAL
Costa F RutaItalyBernardo Dominic NEW
Sinclair B CaudyFranceOnyama Limba NEW
Aditya X NickaArgentinaBernardo Dominic UNQUALIFIED
Mujtaba I PerinItalyAsiya Javayant QUALIFIED
Nicolas H AlbaresBrazilAsiya Javayant UNQUALIFIED
Stacey A StockhamBrazilAsiya Javayant NEGOTIATION
Arvin V CaudyGermanyBernardo Dominic NEGOTIATION
Darci H MacleadJapanIoni Bowcher NEGOTIATION
Misaki S FollerJapanAmy Elsner UNQUALIFIED
Greenwood Z ButtFranceOnyama Limba UNQUALIFIED
Mujtaba F OstroskyBrazilAnna Fali QUALIFIED
Cody K CaldareraCanadaStephen Shaw QUALIFIED
Izzy A OldroydBrazilAnna Fali QUALIFIED
Morrow H MorascaGermanyAnna Fali PROPOSAL
Misaki Y WhobreyAustraliaAnna Fali NEW
Mujtaba V RulapaughAustraliaOnyama Limba RENEWAL
Wickens E RutaGermanyIvan Magalhaes RENEWAL
Juan J NestleCanadaIvan Magalhaes NEW
Munro H FollerAustraliaBernardo Dominic NEGOTIATION
Ricardo W VenereBrazilAsiya Javayant NEW
Antonio O BologniaCanadaBernardo Dominic UNQUALIFIED
Wickens X RoysterRussiaBernardo Dominic PROPOSAL
Julie K FlosiRussiaXuxue Feng UNQUALIFIED
Maisha F RutaArgentinaBernardo Dominic NEGOTIATION
Faith V StensethBrazilStephen Shaw NEGOTIATION
Octavia K DarakjyBrazilIoni Bowcher QUALIFIED
Jones V MaletUnited KingdomElwin Sharvill UNQUALIFIED
Smith Z FlosiAustraliaAmy Elsner RENEWAL
Julie L DoeAustraliaAnna Fali UNQUALIFIED
Kadeem V SaylorsBrazilIoni Bowcher RENEWAL
Leja V SaylorsItalyElwin Sharvill UNQUALIFIED
Chavez M CampainArgentinaStephen Shaw PROPOSAL
Rodrigues E GlickRussiaAnna Fali RENEWAL
Clifford C DoeIndiaElwin Sharvill UNQUALIFIED
Rodrigues Z WhobreyRussiaStephen Shaw UNQUALIFIED
Clifford I RutaFranceAmy Elsner NEGOTIATION
Stacey B CaudyItalyBernardo Dominic UNQUALIFIED
Izzy B OldroydCanadaIvan Magalhaes QUALIFIED
Tony S KolmetzSpainAmy Elsner NEW
Silvio X FigeroaItalyAnna Fali NEW
Frozen Columns
Name
Mayumi G Shinko
Tony N Darakjy
Jefferson X Venere
Octavia J Butt
Isabel F Caudy
Misaki F Slusarski
Maisha L Wieser
Isabel E Vocelka
Ricardo Z Briddick
Chavez H Bolognia
Deepesh D Gaucho
Jeanfrancois S Glick
Clifford Y Saylors
James H Garufi
Chavez I Caldarera
Morrow Z Foller
Antonio G Stockham
Antonio Q Poquette
Jennifer O Bolognia
Jefferson X Butt
Smith Q Glick
Misaki R Amigon
Isabel P Morasca
Jennifer V Malet
Maisha L Caldarera
Arvin X Wieser
Cody D Whobrey
Ricardo P Garufi
Jennifer F Butt
Juan U Amigon
Maria T Stenseth
David M Schemmer
Leon Q Morasca
Johnson S Marrier
Kaitlin L Albares
Jones V Doe
Leja L Glick
Sinclair R Iturbide
Julie E Figeroa
Octavia I Kusko
Francesco R Briddick
Octavia Z Whobrey
Octavia L Flosi
Wickens S Kolmetz
Maria F Malet
Faith N Poquette
Jefferson H Waycott
Tony I Marrier
Stacey T Whobrey
Costa O Morasca
IdCountryDate
1000Russia2026-09-08
1001Argentina2026-09-17
1002Russia2026-09-29
1003Spain2026-09-10
1004Australia2026-09-13
1005Brazil2026-09-18
1006Italy2026-09-17
1007Australia2026-09-27
1008Japan2026-10-02
1009Italy2026-09-29
1010Spain2026-10-06
1011Spain2026-09-10
1012Argentina2026-09-21
1013Spain2026-09-13
1014Spain2026-09-22
1015Spain2026-10-06
1016Germany2026-09-24
1017Brazil2026-09-11
1018France2026-10-06
1019Argentina2026-09-19
1020Argentina2026-09-12
1021Argentina2026-09-26
1022India2026-09-29
1023Brazil2026-09-17
1024Italy2026-10-05
1025Argentina2026-10-03
1026Canada2026-10-06
1027Germany2026-09-30
1028Italy2026-09-16
1029Canada2026-09-08
1030India2026-10-03
1031Italy2026-10-04
1032India2026-10-02
1033Argentina2026-09-20
1034Canada2026-09-13
1035Spain2026-09-13
1036Brazil2026-09-28
1037United Kingdom2026-10-04
1038Russia2026-09-14
1039Spain2026-10-02
1040United Kingdom2026-09-09
1041Spain2026-10-01
1042Brazil2026-09-11
1043Argentina2026-09-16
1044Australia2026-09-09
1045Spain2026-09-12
1046Germany2026-09-29
1047Brazil2026-10-02
1048France2026-10-01
1049Spain2026-09-20

On-Demand Data

NameIdCountryDate
Nicolas N Perin1000Canada2026-10-02
Deepesh J Poquette1001Spain2026-09-13
Nicolas C Dilliard1002Russia2026-09-15
Aika A Rulapaugh1003Canada2026-09-30
Francesco X Rulapaugh1004Spain2026-09-21
Darci H Ostrosky1005Russia2026-09-24
Deepesh V Briddick1006Italy2026-10-02
Costa W Bolognia1007Argentina2026-09-20
Chavez X Doe1008Italy2026-09-22
Smith E Nestle1009Spain2026-09-27
Salvatore H Stockham1010Spain2026-09-23
Cody P Vocelka1011United Kingdom2026-09-14
Octavia K Venere1012Japan2026-09-16
Wickens W Ruta1013Australia2026-09-26
Rodrigues V Nicka1014United Kingdom2026-09-14
James P Paprocki1015Spain2026-10-02
Greenwood J Sergi1016Germany2026-09-28
Deepesh Y Albares1017United Kingdom2026-09-21
Aditya S Figeroa1018Argentina2026-09-30
James G Oldroyd1019Russia2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya J MarrierSpainAsiya Javayant PROPOSAL
Octavia H ChuiJapanOnyama Limba QUALIFIED
Antonio T FlosiFranceAmy Elsner UNQUALIFIED
Octavia Y BowleyRussiaOnyama Limba NEGOTIATION
Cody Z SaylorsAustraliaStephen Shaw PROPOSAL
Greenwood V WieserItalyAsiya Javayant QUALIFIED
Costa R BriddickSpainAsiya Javayant UNQUALIFIED
Rodrigues G GauchoFranceIoni Bowcher RENEWAL
Ivar W PerinBrazilXuxue Feng NEGOTIATION
Silvio J FlosiFranceElwin Sharvill NEGOTIATION
Cody V KuskoRussiaStephen Shaw NEW
Nicolas Z MacleadArgentinaIoni Bowcher NEW
Aditya L FerenczArgentinaStephen Shaw NEW
Ivar A RutaUnited KingdomXuxue Feng UNQUALIFIED
Isabel I ChuiIndiaIoni Bowcher NEGOTIATION
Juan M RoysterRussiaOnyama Limba UNQUALIFIED
Jeanfrancois R VocelkaFranceBernardo Dominic RENEWAL
Wickens S NickaArgentinaIvan Magalhaes NEW
David L WieserJapanIvan Magalhaes PROPOSAL
David S CaudyAustraliaIoni Bowcher RENEWAL
Clifford Y ButtArgentinaElwin Sharvill NEGOTIATION
Costa Z VenereUnited KingdomAmy Elsner PROPOSAL
Isabel W CaudyJapanBernardo Dominic NEGOTIATION
David F AlbaresRussiaIoni Bowcher NEGOTIATION
Maisha D CaudyCanadaBernardo Dominic PROPOSAL
Sinclair T MarrierRussiaAsiya Javayant QUALIFIED
Maria J OstroskyAustraliaBernardo Dominic NEGOTIATION
Isabel A InouyeGermanyIoni Bowcher NEW
Mujtaba K ShinkoRussiaOnyama Limba NEGOTIATION
Jennifer B PaprockiItalyIoni Bowcher NEGOTIATION
Aika Z VocelkaAustraliaAsiya Javayant QUALIFIED
James I GauchoUnited KingdomElwin Sharvill NEGOTIATION
Alejandro B WaycottBrazilStephen Shaw QUALIFIED
Misaki B GarufiSpainIvan Magalhaes RENEWAL
Ricardo O RoysterBrazilElwin Sharvill UNQUALIFIED
Morrow Z DarakjyCanadaStephen Shaw RENEWAL
Murillo T FollerSpainStephen Shaw UNQUALIFIED
Antonio F GillianArgentinaOnyama Limba NEW
Jennifer X CaldareraArgentinaElwin Sharvill UNQUALIFIED
Juan Z DilliardBrazilXuxue Feng 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>