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
Ashley E SergiJapanOnyama Limba NEGOTIATION
David M MaletIndiaAnna Fali NEGOTIATION
Jeanfrancois K MaletArgentinaIvan Magalhaes QUALIFIED
Julie S WieserAustraliaAsiya Javayant NEGOTIATION
Ashley M ShinkoItalyIvan Magalhaes RENEWAL
Julie Y MarrierItalyAsiya Javayant NEGOTIATION
Arvin K FlosiAustraliaElwin Sharvill UNQUALIFIED
Leja A MacleadSpainAnna Fali NEW
Mayumi Z VenereSpainXuxue Feng RENEWAL
Morrow I PerinRussiaStephen Shaw PROPOSAL
Clifford R WhobreyJapanStephen Shaw NEW
Nicolas C BowleyGermanyAsiya Javayant NEGOTIATION
Aruna A MaletUnited KingdomAnna Fali PROPOSAL
Alejandro Z CampainSpainAnna Fali QUALIFIED
Leja K WhobreyBrazilAsiya Javayant NEW
Silvio Y RoysterArgentinaIoni Bowcher NEW
David J FerenczFranceStephen Shaw PROPOSAL
Mujtaba J ChuiUnited KingdomOnyama Limba UNQUALIFIED
Stacey M FlosiJapanXuxue Feng NEW
James B SchemmerBrazilStephen Shaw UNQUALIFIED
Rodrigues P WaycottCanadaElwin Sharvill NEGOTIATION
Cody E TollnerUnited KingdomXuxue Feng QUALIFIED
Leja W SlusarskiUnited KingdomAmy Elsner QUALIFIED
Kaitlin C RulapaughAustraliaAmy Elsner RENEWAL
Greenwood E FollerBrazilAnna Fali PROPOSAL
Leja L RoysterIndiaIoni Bowcher QUALIFIED
Murillo G DarakjyBrazilIoni Bowcher NEW
Costa G OldroydBrazilIoni Bowcher NEGOTIATION
Darci Z RutaArgentinaElwin Sharvill RENEWAL
Jones C DoeGermanyIoni Bowcher RENEWAL
Antonio P SergiUnited KingdomIvan Magalhaes NEW
Mujtaba T NestleJapanIvan Magalhaes UNQUALIFIED
Darci G PoquetteRussiaBernardo Dominic RENEWAL
Jones S SchemmerAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois U DilliardFranceBernardo Dominic QUALIFIED
Kaitlin W VocelkaAustraliaElwin Sharvill UNQUALIFIED
Morrow T FollerSpainBernardo Dominic NEW
Rodrigues Z RulapaughFranceAsiya Javayant PROPOSAL
Ricardo L VenereItalyIoni Bowcher QUALIFIED
Leon Z ChuiAustraliaXuxue Feng NEGOTIATION
Faith F IturbideIndiaIoni Bowcher QUALIFIED
Clifford D VenereGermanyIoni Bowcher UNQUALIFIED
Arvin F AlbaresBrazilOnyama Limba NEGOTIATION
Nicolas S GarufiSpainIvan Magalhaes UNQUALIFIED
Kadeem T ShinkoAustraliaOnyama Limba UNQUALIFIED
Julie F MaletItalyAnna Fali NEGOTIATION
Salvatore F BologniaItalyAsiya Javayant RENEWAL
Tony L InouyeSpainAsiya Javayant NEGOTIATION
Ashley O RoysterAustraliaXuxue Feng QUALIFIED
Clifford X ButtUnited KingdomStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo J WaycottIndiaAnna Fali RENEWAL
Salvatore G CaldareraCanadaOnyama Limba PROPOSAL
Faith L SlusarskiGermanyAnna Fali UNQUALIFIED
Tony I StockhamJapanAmy Elsner PROPOSAL
Chavez Y NestleUnited KingdomElwin Sharvill PROPOSAL
Stacey G StensethRussiaXuxue Feng QUALIFIED
Darci F CaudyGermanyStephen Shaw NEW
Mujtaba B FerenczRussiaStephen Shaw PROPOSAL
Mujtaba E FerenczItalyAmy Elsner RENEWAL
Tony L MacleadAustraliaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer W CampainItaly2026-09-27Morlong Associates PROPOSAL70Asiya Javayant
1001Jefferson Z GauchoGermany2026-10-02Buckley Miller Wright PROPOSAL65Ivan Magalhaes
1002Sinclair M DilliardFrance2026-10-04Chapman, Ross E Esq NEGOTIATION20Ioni Bowcher
1003Salvatore C ButtAustralia2026-10-01Rangoni Of Florence NEW11Xuxue Feng
1004Nicolas S AlbaresAustralia2026-09-23Rangoni Of Florence RENEWAL62Onyama Limba
1005Morrow W DarakjyFrance2026-10-02Rangoni Of Florence NEW91Ivan Magalhaes
1006Sinclair D RulapaughFrance2026-10-18Chanay, Jeffrey A Esq NEW96Bernardo Dominic
1007Arvin L FollerUnited Kingdom2026-10-15Rangoni Of Florence PROPOSAL94Xuxue Feng
1008Aruna I MorascaUnited Kingdom2026-10-11Dorl, James J Esq PROPOSAL82Bernardo Dominic
1009Morrow T RutaAustralia2026-10-16Truhlar And Truhlar Attys NEW27Ivan Magalhaes
1010Kadeem C InouyeArgentina2026-10-03King, Christopher A Esq UNQUALIFIED3Asiya Javayant
1011Isabel C OldroydArgentina2026-09-30Feiner Bros QUALIFIED6Amy Elsner
1012Adams J CaldareraItaly2026-10-04Buckley Miller Wright UNQUALIFIED67Ivan Magalhaes
1013Adams Y DoeBrazil2026-10-04Commercial Press NEGOTIATION41Stephen Shaw
1014Clifford N StensethAustralia2026-10-08Printing Dimensions NEW52Stephen Shaw
1015Aruna O InouyeFrance2026-10-20Commercial Press NEGOTIATION35Stephen Shaw
1016Jefferson V BriddickIndia2026-10-06Rangoni Of Florence RENEWAL98Stephen Shaw
1017Julie U SaylorsArgentina2026-10-03Chapman, Ross E Esq QUALIFIED57Bernardo Dominic
1018Wickens N CaudyAustralia2026-10-03Truhlar And Truhlar Attys NEGOTIATION15Anna Fali
1019Jones K FerenczIndia2026-10-07Morlong Associates NEW88Onyama Limba
1020Murillo T SlusarskiAustralia2026-09-25Commercial Press QUALIFIED12Xuxue Feng
1021Julie W SlusarskiFrance2026-10-16Rangoni Of Florence QUALIFIED87Xuxue Feng
1022Johnson O OldroydRussia2026-10-13Feiner Bros QUALIFIED94Asiya Javayant
1023James C BologniaGermany2026-09-26Feltz Printing Service NEW67Elwin Sharvill
1024Aika W ShinkoItaly2026-10-14Chanay, Jeffrey A Esq PROPOSAL61Ivan Magalhaes
1025Morrow O IturbideAustralia2026-10-21Buckley Miller Wright NEGOTIATION90Stephen Shaw
1026Murillo F DoeCanada2026-10-12Buckley Miller Wright PROPOSAL48Bernardo Dominic
1027Aditya S AlbaresCanada2026-10-06Chapman, Ross E Esq PROPOSAL58Xuxue Feng
1028Emily W NickaArgentina2026-10-07Rousseaux, Michael Esq RENEWAL82Xuxue Feng
1029Izzy H MorascaAustralia2026-09-25Chapman, Ross E Esq UNQUALIFIED57Anna Fali
1030Cody N OstroskyBrazil2026-10-17Chanay, Jeffrey A Esq QUALIFIED54Ivan Magalhaes
1031Tony I CampainFrance2026-10-14Rangoni Of Florence NEGOTIATION23Bernardo Dominic
1032Francesco C InouyeIndia2026-09-25Buckley Miller Wright RENEWAL33Anna Fali
1033Jones U FerenczCanada2026-10-02Commercial Press UNQUALIFIED7Stephen Shaw
1034Kadeem W MorascaGermany2026-10-07Morlong Associates NEW91Xuxue Feng
1035Emily C ShinkoUnited Kingdom2026-09-22Dorl, James J Esq UNQUALIFIED75Elwin Sharvill
1036Mujtaba N SlusarskiItaly2026-10-01Benton, John B Jr RENEWAL95Ivan Magalhaes
1037Stacey N GauchoCanada2026-10-04Morlong Associates QUALIFIED63Asiya Javayant
1038Chavez Z CampainBrazil2026-10-21Benton, John B Jr PROPOSAL4Onyama Limba
1039Emily B DilliardUnited Kingdom2026-09-22Truhlar And Truhlar Attys UNQUALIFIED78Anna Fali
1040Maisha P NickaSpain2026-10-17Buckley Miller Wright UNQUALIFIED81Amy Elsner
1041Isabel O DilliardSpain2026-10-04Dorl, James J Esq QUALIFIED26Bernardo Dominic
1042Cody S SergiBrazil2026-10-07Rousseaux, Michael Esq QUALIFIED65Amy Elsner
1043Mujtaba P FollerRussia2026-10-07Truhlar And Truhlar Attys QUALIFIED35Amy Elsner
1044Jeanfrancois A VenereSpain2026-10-17Dorl, James J Esq NEW5Anna Fali
1045Munro O StockhamGermany2026-10-12Morlong Associates QUALIFIED85Amy Elsner
1046Nicolas Q NickaUnited Kingdom2026-10-21Rangoni Of Florence PROPOSAL4Bernardo Dominic
1047Nicolas H NestleItaly2026-09-29Rousseaux, Michael Esq NEGOTIATION79Ioni Bowcher
1048Aditya U CaudyAustralia2026-10-04Morlong Associates PROPOSAL48Elwin Sharvill
1049Aditya J SchemmerArgentina2026-10-08Buckley Miller Wright NEW60Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ricardo G ChuiIndiaBernardo Dominic NEW
Maisha F KolmetzBrazilXuxue Feng RENEWAL
Maisha A PerinArgentinaIvan Magalhaes QUALIFIED
Leja Z MarrierGermanyIvan Magalhaes NEW
Chavez D ChuiIndiaElwin Sharvill PROPOSAL
Sinclair D KuskoUnited KingdomBernardo Dominic NEGOTIATION
Mayumi Q DarakjyArgentinaXuxue Feng RENEWAL
Kaitlin H PerinGermanyAnna Fali QUALIFIED
Sinclair D BowleyUnited KingdomAnna Fali RENEWAL
Chavez Q SergiItalyXuxue Feng RENEWAL
Julie E FigeroaAustraliaAsiya Javayant UNQUALIFIED
Wickens U FigeroaGermanyIoni Bowcher RENEWAL
Deepesh D PaprockiItalyAnna Fali NEW
Tony I AmigonSpainBernardo Dominic QUALIFIED
Faith B GlickSpainAnna Fali UNQUALIFIED
James Q InouyeRussiaOnyama Limba NEGOTIATION
Jennifer U TollnerGermanyOnyama Limba NEW
Darci O GarufiIndiaIvan Magalhaes UNQUALIFIED
Maisha E DoeRussiaIvan Magalhaes NEW
Isabel K KolmetzCanadaBernardo Dominic PROPOSAL
Aruna C SchemmerRussiaAnna Fali NEGOTIATION
Maisha R AlbaresItalyOnyama Limba NEGOTIATION
Aruna L KolmetzRussiaStephen Shaw RENEWAL
Murillo T GillianBrazilBernardo Dominic QUALIFIED
David U PerinFranceBernardo Dominic RENEWAL
Aruna V RoysterAustraliaStephen Shaw NEW
Chavez Y WaycottCanadaIoni Bowcher NEGOTIATION
Mayumi O VenereUnited KingdomElwin Sharvill NEGOTIATION
Tony Z DarakjyItalyOnyama Limba RENEWAL
Juan A FigeroaFranceAmy Elsner UNQUALIFIED
Ivar M SergiGermanyAnna Fali PROPOSAL
Kadeem I AlbaresCanadaOnyama Limba RENEWAL
Costa Z NestleIndiaBernardo Dominic RENEWAL
Ashley R RoysterJapanAmy Elsner UNQUALIFIED
Emily H CaldareraItalyElwin Sharvill QUALIFIED
Leon H OstroskyFranceIoni Bowcher NEW
Ricardo V ChuiJapanAnna Fali PROPOSAL
Kaitlin X SchemmerAustraliaAnna Fali PROPOSAL
Kaitlin U GillianCanadaAnna Fali QUALIFIED
Alejandro G InouyeArgentinaXuxue Feng NEW
Alejandro X GillianUnited KingdomIvan Magalhaes QUALIFIED
Adams P AmigonCanadaIvan Magalhaes NEW
Salvatore J ButtUnited KingdomAmy Elsner NEGOTIATION
Greenwood S CaudyItalyStephen Shaw NEW
Maisha Y FerenczGermanyElwin Sharvill QUALIFIED
Murillo L DarakjyUnited KingdomAmy Elsner RENEWAL
Aruna U PerinArgentinaXuxue Feng UNQUALIFIED
Cody A InouyeAustraliaIvan Magalhaes PROPOSAL
Leja Z VocelkaItalyBernardo Dominic NEW
Adams R PaprockiCanadaAmy Elsner NEGOTIATION
Frozen Columns
Name
Nicolas O Gillian
Francesco G Venere
Silvio Q Waycott
Claire K Amigon
Morrow G Ostrosky
Julie T Doe
Stacey U Glick
Jeanfrancois V Butt
Clifford H Gaucho
Ashley Y Bowley
Adams Z Foller
Juan H Dilliard
Kadeem C Malet
Munro H Flosi
James O Rim
Rodrigues Y Figeroa
Aditya A Butt
Morrow N Wieser
Tony M Malet
Francesco Y Marrier
Silvio M Saylors
Isabel Y Glick
Antonio N Perin
Clifford U Marrier
Isabel D Ruta
Julie A Stenseth
Jeanfrancois J Nestle
Rodrigues G Waycott
Tony U Sergi
Silvio F Figeroa
Leja U Garufi
Nicolas I Perin
Jennifer U Nestle
Jennifer E Ostrosky
Mayumi E Glick
Ricardo D Glick
Izzy K Tollner
Kaitlin K Rim
Francesco E Oldroyd
Antonio N Saylors
Jeanfrancois B Amigon
Kadeem O Venere
Leon Y Perin
Francesco M Waycott
Adams N Ostrosky
Jeanfrancois V Wieser
Julie L Chui
Emily B Malet
Juan O Caldarera
Nicolas S Darakjy
IdCountryDate
1000Australia2026-10-18
1001Brazil2026-10-09
1002France2026-09-24
1003Italy2026-10-10
1004Spain2026-10-20
1005Canada2026-10-17
1006Canada2026-10-14
1007Australia2026-10-02
1008Brazil2026-09-25
1009Germany2026-10-19
1010Russia2026-10-14
1011Japan2026-10-07
1012Canada2026-10-17
1013India2026-10-11
1014Spain2026-10-11
1015Brazil2026-10-18
1016Argentina2026-10-12
1017France2026-10-06
1018Australia2026-10-10
1019Canada2026-10-05
1020United Kingdom2026-09-24
1021Argentina2026-10-07
1022Brazil2026-09-29
1023Argentina2026-10-14
1024Germany2026-10-02
1025Canada2026-10-15
1026Argentina2026-10-05
1027Italy2026-10-07
1028Argentina2026-10-08
1029Japan2026-10-21
1030Italy2026-10-16
1031United Kingdom2026-09-29
1032Japan2026-10-01
1033Canada2026-10-16
1034Germany2026-10-05
1035Germany2026-09-25
1036France2026-10-04
1037Germany2026-10-14
1038Argentina2026-10-06
1039Japan2026-10-12
1040Italy2026-10-10
1041India2026-10-06
1042India2026-10-21
1043France2026-10-08
1044Japan2026-10-21
1045India2026-10-16
1046Italy2026-10-05
1047Spain2026-10-03
1048India2026-10-19
1049Japan2026-09-28

On-Demand Data

NameIdCountryDate
Sinclair K Nicka1000Australia2026-10-12
Kaitlin I Kolmetz1001Italy2026-10-17
Arvin V Butt1002Japan2026-09-24
Maisha V Poquette1003Russia2026-10-12
Maria S Doe1004Australia2026-09-26
Kaitlin U Gillian1005Japan2026-10-12
Clifford A Waycott1006United Kingdom2026-10-12
Juan K Whobrey1007Argentina2026-10-19
Tony G Maclead1008Russia2026-09-23
Leja R Whobrey1009France2026-10-12
Smith M Kolmetz1010Germany2026-09-26
Kaitlin W Oldroyd1011Germany2026-09-26
Emily X Chui1012Italy2026-10-06
Smith Z Malet1013Brazil2026-10-16
Deepesh H Ostrosky1014Russia2026-09-24
Salvatore I Morasca1015Brazil2026-10-06
Misaki C Tollner1016Argentina2026-10-02
Emily V Ferencz1017Brazil2026-10-18
Cody R Malet1018Spain2026-10-12
David H Amigon1019India2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci X NickaGermanyAmy Elsner NEGOTIATION
Mayumi D ButtRussiaIoni Bowcher RENEWAL
Octavia C OstroskyArgentinaOnyama Limba QUALIFIED
Maria B GillianBrazilAmy Elsner PROPOSAL
Aditya E RulapaughJapanXuxue Feng UNQUALIFIED
Munro A CaudySpainIvan Magalhaes PROPOSAL
Cody D WieserIndiaIoni Bowcher QUALIFIED
Mayumi D StockhamIndiaAnna Fali PROPOSAL
Mayumi Z WieserJapanXuxue Feng QUALIFIED
Octavia G OldroydItalyIvan Magalhaes NEGOTIATION
Jeanfrancois Y PoquetteArgentinaXuxue Feng QUALIFIED
Aruna A StockhamFranceAmy Elsner RENEWAL
Juan I OldroydAustraliaAnna Fali QUALIFIED
Smith X NickaGermanyOnyama Limba PROPOSAL
Jeanfrancois I FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Costa X GarufiJapanAsiya Javayant UNQUALIFIED
Mayumi E RoysterAustraliaIoni Bowcher RENEWAL
Ashley W MacleadJapanIvan Magalhaes QUALIFIED
Ivar C DilliardUnited KingdomAsiya Javayant NEGOTIATION
Tony A CaudyGermanyAsiya Javayant NEGOTIATION
Aruna U AlbaresBrazilStephen Shaw RENEWAL
Deepesh H FigeroaUnited KingdomAnna Fali UNQUALIFIED
Aditya M ChuiGermanyOnyama Limba NEGOTIATION
Smith H FigeroaBrazilAmy Elsner QUALIFIED
Leja P DoeBrazilIvan Magalhaes NEGOTIATION
Aika T BriddickFranceXuxue Feng QUALIFIED
Sinclair N KuskoArgentinaBernardo Dominic NEW
Clifford E MorascaItalyBernardo Dominic UNQUALIFIED
Johnson H GlickAustraliaBernardo Dominic NEW
Alejandro S CaldareraFranceBernardo Dominic QUALIFIED
Aditya U ShinkoArgentinaAnna Fali QUALIFIED
Morrow O CaudyJapanAmy Elsner NEGOTIATION
Greenwood S TollnerCanadaElwin Sharvill QUALIFIED
Leon U AlbaresRussiaIoni Bowcher QUALIFIED
Stacey X MorascaJapanStephen Shaw PROPOSAL
James U CaudyFranceAmy Elsner NEGOTIATION
Rodrigues M DoeBrazilAmy Elsner RENEWAL
Aditya P VocelkaBrazilElwin Sharvill NEGOTIATION
Francesco F DilliardItalyAnna Fali NEGOTIATION
Aika Y VenereUnited KingdomBernardo Dominic QUALIFIED

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