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
Greenwood K OstroskyJapanOnyama Limba QUALIFIED
Arvin S KuskoBrazilIvan Magalhaes UNQUALIFIED
Francesco K IturbideSpainAnna Fali RENEWAL
Mujtaba N SlusarskiSpainIvan Magalhaes PROPOSAL
Deepesh G MaletBrazilXuxue Feng RENEWAL
Cody Y WaycottIndiaStephen Shaw PROPOSAL
Darci U MacleadRussiaXuxue Feng UNQUALIFIED
Leon U SchemmerAustraliaElwin Sharvill NEGOTIATION
Maisha L AmigonArgentinaAnna Fali PROPOSAL
Juan D RutaCanadaOnyama Limba RENEWAL
Deepesh A PerinSpainStephen Shaw NEGOTIATION
Wickens U MaletArgentinaXuxue Feng QUALIFIED
Deepesh H FigeroaSpainOnyama Limba QUALIFIED
Nicolas L NestleItalyAnna Fali NEGOTIATION
Mujtaba U AmigonFranceIvan Magalhaes RENEWAL
Darci V SergiFranceIoni Bowcher UNQUALIFIED
Morrow V AlbaresUnited KingdomStephen Shaw NEW
Alejandro S KolmetzJapanAsiya Javayant PROPOSAL
Kadeem I NestleCanadaAnna Fali PROPOSAL
Chavez D GlickUnited KingdomBernardo Dominic PROPOSAL
Francesco O DilliardAustraliaElwin Sharvill PROPOSAL
Izzy O WieserSpainIvan Magalhaes UNQUALIFIED
Nicolas F StockhamGermanyIoni Bowcher UNQUALIFIED
Aditya N StockhamIndiaAmy Elsner QUALIFIED
Silvio S MaletAustraliaXuxue Feng RENEWAL
Jones A KolmetzRussiaXuxue Feng QUALIFIED
Isabel U SchemmerCanadaStephen Shaw NEW
Ashley M InouyeRussiaIoni Bowcher NEGOTIATION
Juan A VocelkaBrazilAnna Fali UNQUALIFIED
Octavia V FerenczCanadaIvan Magalhaes NEW
Isabel Q SlusarskiJapanOnyama Limba NEGOTIATION
Mujtaba U BowleyUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois X ChuiFranceAmy Elsner NEGOTIATION
Jones C MacleadAustraliaBernardo Dominic NEGOTIATION
Jennifer A FerenczItalyIvan Magalhaes NEGOTIATION
Faith C BowleyArgentinaAnna Fali QUALIFIED
Sinclair R VenereCanadaStephen Shaw RENEWAL
Kadeem O RimCanadaXuxue Feng PROPOSAL
Munro T IturbideCanadaIoni Bowcher RENEWAL
Jones Q PerinUnited KingdomStephen Shaw NEGOTIATION
Ashley G MacleadGermanyOnyama Limba QUALIFIED
Munro I DoeArgentinaBernardo Dominic NEGOTIATION
Chavez C CaudyArgentinaOnyama Limba RENEWAL
Kadeem G RutaIndiaXuxue Feng PROPOSAL
Darci G SlusarskiGermanyOnyama Limba RENEWAL
Maisha C PaprockiItalyIoni Bowcher UNQUALIFIED
Leja R KolmetzUnited KingdomAnna Fali PROPOSAL
Aika P SchemmerUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois G FollerJapanAnna Fali NEGOTIATION
Morrow Z StockhamAustraliaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy V SchemmerItalyElwin Sharvill RENEWAL
Jeanfrancois N MaletItalyOnyama Limba RENEWAL
Aika Q TollnerRussiaStephen Shaw UNQUALIFIED
Salvatore F MorascaSpainAmy Elsner QUALIFIED
David O StensethGermanyElwin Sharvill NEW
Silvio C PerinCanadaBernardo Dominic PROPOSAL
Deepesh U WaycottIndiaAmy Elsner QUALIFIED
Murillo L KolmetzSpainAnna Fali QUALIFIED
Izzy K MaletArgentinaOnyama Limba QUALIFIED
Stacey V MacleadUnited KingdomBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio K MaletArgentina2026-09-29King, Christopher A Esq RENEWAL44Amy Elsner
1001Rodrigues H PerinAustralia2026-10-01Chemel, James L Cpa PROPOSAL98Asiya Javayant
1002Kaitlin W DarakjyFrance2026-10-06Benton, John B Jr QUALIFIED91Asiya Javayant
1003Greenwood D BologniaJapan2026-09-18Chapman, Ross E Esq NEW53Xuxue Feng
1004Mujtaba H NickaUnited Kingdom2026-10-12Rangoni Of Florence PROPOSAL59Elwin Sharvill
1005Silvio V GillianCanada2026-09-16King, Christopher A Esq NEGOTIATION26Asiya Javayant
1006Leja D GillianCanada2026-10-04Feiner Bros RENEWAL39Stephen Shaw
1007Clifford G WaycottItaly2026-10-05Buckley Miller Wright NEGOTIATION39Asiya Javayant
1008David I GlickGermany2026-09-20Commercial Press QUALIFIED9Asiya Javayant
1009Clifford B NestleAustralia2026-09-21Rangoni Of Florence UNQUALIFIED60Ivan Magalhaes
1010Arvin W InouyeSpain2026-10-03Feiner Bros NEGOTIATION97Ioni Bowcher
1011Stacey G OldroydSpain2026-10-11Commercial Press NEW19Bernardo Dominic
1012Octavia R OstroskyRussia2026-09-29Printing Dimensions NEW80Anna Fali
1013Smith U PoquetteIndia2026-09-24Rangoni Of Florence NEW29Ivan Magalhaes
1014Octavia T VenereAustralia2026-09-17Printing Dimensions NEGOTIATION29Bernardo Dominic
1015Izzy C StensethJapan2026-10-09Feiner Bros QUALIFIED68Bernardo Dominic
1016Munro V FollerArgentina2026-09-27Printing Dimensions NEW78Asiya Javayant
1017Julie M ChuiBrazil2026-09-22Rangoni Of Florence NEW77Anna Fali
1018Izzy W DarakjyItaly2026-09-28Buckley Miller Wright NEGOTIATION51Ivan Magalhaes
1019Ivar C DarakjyBrazil2026-10-06Dorl, James J Esq NEW13Xuxue Feng
1020Jeanfrancois S GauchoGermany2026-09-28Buckley Miller Wright UNQUALIFIED26Bernardo Dominic
1021Jeanfrancois L IturbideItaly2026-10-13Benton, John B Jr NEW4Ioni Bowcher
1022Aruna C PoquetteArgentina2026-10-09Rousseaux, Michael Esq QUALIFIED40Stephen Shaw
1023Costa B OldroydGermany2026-09-21Feiner Bros RENEWAL91Amy Elsner
1024Kaitlin F ButtAustralia2026-10-04Chemel, James L Cpa NEW19Anna Fali
1025Misaki Z SchemmerRussia2026-09-25Rangoni Of Florence UNQUALIFIED98Stephen Shaw
1026Adams R MacleadIndia2026-10-10Chemel, James L Cpa RENEWAL79Elwin Sharvill
1027Adams C FerenczBrazil2026-09-17Printing Dimensions UNQUALIFIED52Asiya Javayant
1028Nicolas S InouyeRussia2026-09-25Rousseaux, Michael Esq UNQUALIFIED79Elwin Sharvill
1029Greenwood S ShinkoAustralia2026-10-11Morlong Associates QUALIFIED99Amy Elsner
1030David G RimJapan2026-09-24Morlong Associates QUALIFIED6Elwin Sharvill
1031Morrow X BologniaGermany2026-09-29Chemel, James L Cpa QUALIFIED18Bernardo Dominic
1032Mayumi T DilliardArgentina2026-09-27Morlong Associates NEW37Amy Elsner
1033Tony H StockhamItaly2026-10-05Truhlar And Truhlar Attys RENEWAL29Ivan Magalhaes
1034Claire Q StensethCanada2026-09-15Rangoni Of Florence NEGOTIATION52Ioni Bowcher
1035Ricardo Y WieserCanada2026-09-19Morlong Associates UNQUALIFIED27Xuxue Feng
1036Maria I RimItaly2026-10-12Feltz Printing Service NEGOTIATION37Onyama Limba
1037Jennifer V DilliardIndia2026-10-10Chemel, James L Cpa NEW40Amy Elsner
1038Aruna O BologniaAustralia2026-09-21Benton, John B Jr RENEWAL66Bernardo Dominic
1039Aruna D FlosiArgentina2026-09-23Truhlar And Truhlar Attys PROPOSAL1Onyama Limba
1040Kadeem A BologniaAustralia2026-10-03King, Christopher A Esq PROPOSAL23Ioni Bowcher
1041Leon U InouyeArgentina2026-10-07Morlong Associates NEGOTIATION28Elwin Sharvill
1042Ivar J CampainUnited Kingdom2026-10-05King, Christopher A Esq QUALIFIED17Ivan Magalhaes
1043Mujtaba A WaycottFrance2026-09-22Buckley Miller Wright PROPOSAL63Elwin Sharvill
1044Izzy S SlusarskiFrance2026-09-22Feltz Printing Service RENEWAL33Stephen Shaw
1045Mujtaba Z CampainUnited Kingdom2026-09-27Printing Dimensions NEGOTIATION42Bernardo Dominic
1046Jefferson W NickaBrazil2026-10-02Chemel, James L Cpa PROPOSAL21Xuxue Feng
1047Juan V TollnerAustralia2026-09-29Morlong Associates NEGOTIATION95Stephen Shaw
1048Mayumi C ButtItaly2026-09-23Dorl, James J Esq QUALIFIED35Onyama Limba
1049Ricardo A FerenczIndia2026-09-30Chanay, Jeffrey A Esq PROPOSAL66Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
David P ShinkoItalyElwin Sharvill NEGOTIATION
Maria N SaylorsSpainElwin Sharvill RENEWAL
Ashley P BowleyItalyXuxue Feng NEW
Leja V AmigonAustraliaXuxue Feng NEGOTIATION
Rodrigues P IturbideFranceElwin Sharvill QUALIFIED
Sinclair E PerinGermanyAsiya Javayant NEGOTIATION
Maria A CaldareraBrazilXuxue Feng UNQUALIFIED
Tony O MorascaUnited KingdomBernardo Dominic RENEWAL
Claire S OldroydFranceStephen Shaw RENEWAL
Faith O BriddickUnited KingdomAsiya Javayant QUALIFIED
Mujtaba F CampainGermanyIoni Bowcher PROPOSAL
Smith C NickaBrazilIvan Magalhaes RENEWAL
Tony I StockhamSpainAsiya Javayant PROPOSAL
Morrow K NickaRussiaElwin Sharvill NEW
Murillo F DilliardArgentinaElwin Sharvill NEGOTIATION
Stacey D VenereAustraliaXuxue Feng RENEWAL
Aditya G TollnerGermanyAsiya Javayant QUALIFIED
Wickens E CaudySpainXuxue Feng QUALIFIED
Chavez M DilliardJapanXuxue Feng NEW
Wickens Q RulapaughRussiaAnna Fali NEW
Emily H NickaIndiaIoni Bowcher NEGOTIATION
Aruna M CampainItalyBernardo Dominic QUALIFIED
Greenwood A ShinkoRussiaIvan Magalhaes NEGOTIATION
Kaitlin J GauchoCanadaBernardo Dominic UNQUALIFIED
Chavez D NestleItalyElwin Sharvill UNQUALIFIED
Ricardo R SchemmerFranceIoni Bowcher UNQUALIFIED
David Q MorascaItalyOnyama Limba NEW
Maria B SergiIndiaStephen Shaw QUALIFIED
Darci M SaylorsAustraliaAsiya Javayant NEW
Jennifer R SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Leja D ShinkoIndiaElwin Sharvill NEGOTIATION
Maria Q ShinkoArgentinaOnyama Limba QUALIFIED
Darci P CampainAustraliaAnna Fali PROPOSAL
Stacey Q NickaFranceIvan Magalhaes QUALIFIED
Antonio H BriddickIndiaOnyama Limba PROPOSAL
Leon A BologniaRussiaIoni Bowcher NEGOTIATION
Arvin K CampainBrazilAnna Fali RENEWAL
Sinclair J FollerItalyIoni Bowcher NEW
Morrow I ButtSpainBernardo Dominic QUALIFIED
Aditya K FigeroaIndiaIoni Bowcher PROPOSAL
Arvin N VenereCanadaIoni Bowcher QUALIFIED
Kaitlin V GlickJapanElwin Sharvill NEW
Darci H RutaJapanAsiya Javayant QUALIFIED
Octavia T StockhamFranceStephen Shaw NEW
Julie A DoeAustraliaOnyama Limba PROPOSAL
Mayumi H MacleadArgentinaAmy Elsner UNQUALIFIED
Morrow O MarrierFranceBernardo Dominic PROPOSAL
Maisha F CaldareraFranceAsiya Javayant RENEWAL
Salvatore C OstroskyCanadaAmy Elsner RENEWAL
Leon U SlusarskiCanadaXuxue Feng NEW
Frozen Columns
Name
Silvio R Caudy
Octavia O Royster
Cody N Gaucho
Julie S Ruta
Ivar U Amigon
Wickens Q Oldroyd
Faith B Maclead
Jones T Gaucho
Smith G Whobrey
Wickens B Flosi
David O Malet
Tony Y Shinko
Juan F Poquette
Clifford B Kusko
Chavez I Garufi
Nicolas Q Waycott
Adams E Garufi
Deepesh K Nicka
Sinclair A Tollner
Aditya G Oldroyd
Smith L Briddick
Munro S Gillian
Maria F Dilliard
Murillo J Vocelka
Sinclair R Kusko
Juan D Kolmetz
James F Wieser
Jefferson I Rulapaugh
Nicolas D Flosi
Aditya V Ruta
Julie Q Wieser
Alejandro T Slusarski
Stacey S Dilliard
Claire R Garufi
Cody P Schemmer
Smith L Caudy
Ricardo Z Iturbide
Mayumi H Rulapaugh
Sinclair B Tollner
Francesco E Tollner
Aika N Saylors
Izzy K Caldarera
Stacey P Stenseth
Mayumi P Kolmetz
Aditya I Iturbide
Francesco U Amigon
Ivar Z Inouye
Arvin H Oldroyd
Isabel Z Perin
Salvatore H Kolmetz
IdCountryDate
1000Australia2026-09-20
1001Italy2026-09-18
1002United Kingdom2026-10-07
1003Italy2026-10-08
1004Spain2026-09-17
1005Russia2026-09-26
1006Australia2026-10-09
1007Australia2026-09-22
1008India2026-10-13
1009Argentina2026-09-26
1010Italy2026-09-15
1011Spain2026-09-17
1012France2026-09-22
1013France2026-09-24
1014Argentina2026-09-24
1015Australia2026-09-29
1016Australia2026-09-28
1017India2026-10-07
1018Germany2026-10-06
1019Spain2026-09-22
1020Canada2026-09-28
1021France2026-10-08
1022Australia2026-10-08
1023United Kingdom2026-10-11
1024United Kingdom2026-09-15
1025Italy2026-09-26
1026Australia2026-10-13
1027Italy2026-09-15
1028India2026-09-22
1029Argentina2026-10-10
1030Spain2026-09-27
1031Brazil2026-09-21
1032Spain2026-10-12
1033Canada2026-10-01
1034Argentina2026-10-03
1035Germany2026-09-28
1036Germany2026-09-16
1037Germany2026-09-26
1038Argentina2026-10-06
1039Italy2026-09-24
1040France2026-09-20
1041Italy2026-10-11
1042Germany2026-09-15
1043France2026-09-29
1044Italy2026-10-14
1045Russia2026-09-17
1046Brazil2026-10-04
1047Japan2026-10-12
1048Japan2026-10-01
1049Argentina2026-10-05

On-Demand Data

NameIdCountryDate
Smith V Royster1000Spain2026-09-15
Stacey P Tollner1001Germany2026-09-21
Salvatore O Rulapaugh1002Brazil2026-10-11
Aruna E Chui1003France2026-10-09
Greenwood Z Briddick1004Italy2026-09-17
Ricardo Z Malet1005United Kingdom2026-09-17
Chavez Z Oldroyd1006Japan2026-10-09
Alejandro Q Gillian1007India2026-09-16
Julie U Kolmetz1008Brazil2026-09-30
Jennifer H Doe1009France2026-09-23
Juan K Wieser1010Italy2026-10-06
Alejandro I Gaucho1011India2026-10-03
Misaki S Rim1012Japan2026-10-09
Kaitlin D Schemmer1013Australia2026-10-11
Alejandro Q Albares1014Japan2026-09-27
Julie Z Wieser1015Italy2026-10-07
Morrow O Vocelka1016Japan2026-09-21
Mayumi A Doe1017Argentina2026-10-06
Maria Q Bowley1018Italy2026-09-19
Costa V Bolognia1019Brazil2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan J PaprockiIndiaStephen Shaw QUALIFIED
James C FlosiRussiaIvan Magalhaes QUALIFIED
Sinclair D FlosiGermanyOnyama Limba RENEWAL
Murillo J FlosiFranceBernardo Dominic UNQUALIFIED
Izzy S ButtRussiaIoni Bowcher UNQUALIFIED
Faith P KuskoUnited KingdomAmy Elsner QUALIFIED
Rodrigues Y ShinkoBrazilElwin Sharvill UNQUALIFIED
Stacey A MaletAustraliaIoni Bowcher NEW
Deepesh X MaletBrazilXuxue Feng QUALIFIED
Mayumi E RimAustraliaAnna Fali PROPOSAL
Jeanfrancois M BologniaAustraliaAsiya Javayant PROPOSAL
Maisha E CampainIndiaStephen Shaw UNQUALIFIED
Ivar B MacleadUnited KingdomXuxue Feng RENEWAL
Isabel Z FlosiFranceBernardo Dominic NEGOTIATION
Darci E SchemmerCanadaOnyama Limba RENEWAL
Cody S IturbideUnited KingdomBernardo Dominic RENEWAL
Ivar M PoquetteRussiaElwin Sharvill NEW
Jeanfrancois Q WhobreyCanadaBernardo Dominic PROPOSAL
Clifford Q MaletFranceOnyama Limba NEGOTIATION
Kaitlin T PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas Q FigeroaItalyAmy Elsner UNQUALIFIED
Izzy H GauchoCanadaIoni Bowcher NEGOTIATION
Sinclair X KuskoFranceStephen Shaw UNQUALIFIED
Emily K WieserJapanStephen Shaw NEGOTIATION
Stacey F OstroskyArgentinaXuxue Feng QUALIFIED
Arvin N TollnerCanadaAmy Elsner PROPOSAL
Mujtaba S AmigonRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois S WhobreyAustraliaXuxue Feng UNQUALIFIED
Aditya Q KuskoAustraliaAsiya Javayant RENEWAL
Munro M ChuiFranceAmy Elsner PROPOSAL
Wickens G GillianSpainElwin Sharvill NEGOTIATION
Johnson U MorascaGermanyXuxue Feng QUALIFIED
Emily B PoquetteAustraliaOnyama Limba NEGOTIATION
Mayumi C BriddickJapanAmy Elsner RENEWAL
Julie F PoquetteJapanElwin Sharvill NEW
Aditya A ChuiIndiaElwin Sharvill NEW
Deepesh S FerenczArgentinaElwin Sharvill RENEWAL
Cody W WhobreyJapanElwin Sharvill NEGOTIATION
Munro U KolmetzIndiaBernardo Dominic NEGOTIATION
Francesco A CaldareraBrazilStephen Shaw 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>