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 D BowleyUnited KingdomAsiya Javayant PROPOSAL
Leja G AmigonItalyAmy Elsner PROPOSAL
Nicolas I BriddickItalyAmy Elsner PROPOSAL
David H PaprockiJapanAnna Fali NEW
Arvin Z BriddickGermanyIvan Magalhaes UNQUALIFIED
Mayumi E OstroskyRussiaIoni Bowcher NEW
Rodrigues C VenereArgentinaStephen Shaw RENEWAL
Alejandro R MaletArgentinaElwin Sharvill NEGOTIATION
Clifford D WaycottItalyStephen Shaw NEGOTIATION
Mayumi X SergiJapanAsiya Javayant NEW
Chavez X GillianJapanAsiya Javayant PROPOSAL
Cody L WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin V KuskoGermanyAsiya Javayant NEW
Mujtaba F BriddickIndiaBernardo Dominic PROPOSAL
Ricardo Z VocelkaUnited KingdomXuxue Feng PROPOSAL
David P VenereSpainIvan Magalhaes QUALIFIED
Silvio Z ShinkoIndiaAsiya Javayant NEGOTIATION
Costa P RoysterJapanOnyama Limba NEW
Rodrigues J BowleyJapanBernardo Dominic UNQUALIFIED
Morrow L ShinkoArgentinaElwin Sharvill PROPOSAL
Ivar L KuskoGermanyStephen Shaw PROPOSAL
Wickens S WaycottArgentinaStephen Shaw RENEWAL
Ashley Y FigeroaFranceIvan Magalhaes NEGOTIATION
Faith X StockhamJapanBernardo Dominic NEW
Kadeem D BriddickIndiaStephen Shaw NEGOTIATION
Ivar R DoeSpainAnna Fali NEGOTIATION
Claire V GarufiFranceBernardo Dominic QUALIFIED
Juan R GlickAustraliaAmy Elsner UNQUALIFIED
Jefferson I SergiIndiaAmy Elsner QUALIFIED
Munro D GillianBrazilXuxue Feng UNQUALIFIED
Izzy L GillianAustraliaStephen Shaw QUALIFIED
Jennifer L MacleadFranceIvan Magalhaes RENEWAL
Deepesh T WhobreyGermanyStephen Shaw PROPOSAL
Smith N GlickJapanBernardo Dominic UNQUALIFIED
Francesco T AmigonCanadaBernardo Dominic RENEWAL
Ashley D InouyeUnited KingdomBernardo Dominic PROPOSAL
Maisha V CaudyAustraliaIoni Bowcher RENEWAL
Kaitlin W SergiGermanyAsiya Javayant UNQUALIFIED
Misaki N MaletGermanyElwin Sharvill RENEWAL
James C AmigonFranceAmy Elsner QUALIFIED
Darci F FerenczArgentinaAsiya Javayant NEW
Octavia G InouyeIndiaIoni Bowcher RENEWAL
Kaitlin K FollerJapanIvan Magalhaes RENEWAL
Johnson N SaylorsSpainAnna Fali PROPOSAL
Ivar C RoysterCanadaIvan Magalhaes RENEWAL
Jeanfrancois D CampainIndiaStephen Shaw NEW
Mayumi R RoysterArgentinaBernardo Dominic NEGOTIATION
Sinclair G IturbideAustraliaElwin Sharvill NEGOTIATION
Morrow Z FlosiFranceAnna Fali RENEWAL
Octavia U GillianGermanyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith B MaletBrazilElwin Sharvill PROPOSAL
Aika L GauchoGermanyIvan Magalhaes PROPOSAL
Izzy Q TollnerItalyXuxue Feng QUALIFIED
Johnson D ButtFranceIoni Bowcher NEW
Francesco F VenereRussiaBernardo Dominic PROPOSAL
Alejandro Y NickaSpainAnna Fali NEGOTIATION
Jefferson M WhobreyItalyBernardo Dominic NEGOTIATION
Morrow J GillianItalyIoni Bowcher QUALIFIED
Rodrigues W AlbaresArgentinaIoni Bowcher NEW
Leon Q PerinIndiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy S NickaItaly2026-09-06Benton, John B Jr RENEWAL88Bernardo Dominic
1001Chavez H FlosiRussia2026-09-06Rousseaux, Michael Esq UNQUALIFIED9Amy Elsner
1002Ivar Z WaycottFrance2026-09-09Benton, John B Jr RENEWAL92Elwin Sharvill
1003Jennifer P IturbideSpain2026-09-05Morlong Associates UNQUALIFIED84Asiya Javayant
1004Sinclair B DilliardItaly2026-08-27Printing Dimensions NEGOTIATION45Xuxue Feng
1005Emily E GillianItaly2026-09-02Buckley Miller Wright NEGOTIATION7Bernardo Dominic
1006Izzy Y MacleadUnited Kingdom2026-09-02Chemel, James L Cpa PROPOSAL1Xuxue Feng
1007Juan W OstroskyBrazil2026-09-11Chanay, Jeffrey A Esq NEGOTIATION58Ioni Bowcher
1008Claire D KuskoUnited Kingdom2026-09-11Commercial Press NEGOTIATION86Stephen Shaw
1009Deepesh Z IturbideBrazil2026-09-16Rangoni Of Florence UNQUALIFIED18Ivan Magalhaes
1010Leja O SlusarskiRussia2026-09-14Feltz Printing Service QUALIFIED35Bernardo Dominic
1011Jones K GarufiAustralia2026-09-01Feiner Bros QUALIFIED49Anna Fali
1012Juan E GauchoJapan2026-09-02Chanay, Jeffrey A Esq PROPOSAL55Xuxue Feng
1013Alejandro P RutaBrazil2026-09-03Chanay, Jeffrey A Esq NEGOTIATION72Anna Fali
1014Rodrigues C BowleyAustralia2026-08-27Feiner Bros UNQUALIFIED91Bernardo Dominic
1015Costa N MorascaAustralia2026-09-05Commercial Press NEGOTIATION59Amy Elsner
1016Clifford L GillianSpain2026-09-01Chapman, Ross E Esq UNQUALIFIED64Elwin Sharvill
1017Claire H StensethIndia2026-09-14Rangoni Of Florence RENEWAL62Ioni Bowcher
1018Deepesh L AmigonUnited Kingdom2026-09-03Commercial Press PROPOSAL61Xuxue Feng
1019Morrow T CaudyItaly2026-08-25Chapman, Ross E Esq PROPOSAL5Asiya Javayant
1020Smith H ButtCanada2026-09-03Chemel, James L Cpa NEGOTIATION2Onyama Limba
1021Salvatore W DarakjyRussia2026-09-01Morlong Associates QUALIFIED21Onyama Limba
1022Stacey E SlusarskiGermany2026-09-05Commercial Press UNQUALIFIED85Stephen Shaw
1023Aruna K GarufiCanada2026-09-16Feltz Printing Service UNQUALIFIED92Anna Fali
1024Aruna K FlosiItaly2026-09-02Printing Dimensions NEGOTIATION96Bernardo Dominic
1025Izzy H BriddickUnited Kingdom2026-08-22Chanay, Jeffrey A Esq UNQUALIFIED91Elwin Sharvill
1026Mujtaba M BowleyGermany2026-08-29King, Christopher A Esq UNQUALIFIED20Onyama Limba
1027Adams X CaldareraItaly2026-08-26Morlong Associates QUALIFIED30Asiya Javayant
1028Izzy Z VenereFrance2026-08-28Buckley Miller Wright UNQUALIFIED69Ioni Bowcher
1029Francesco T MarrierIndia2026-09-03Benton, John B Jr RENEWAL50Stephen Shaw
1030Francesco A TollnerUnited Kingdom2026-09-03Benton, John B Jr NEGOTIATION63Bernardo Dominic
1031Aditya C MorascaRussia2026-08-27Commercial Press QUALIFIED60Ioni Bowcher
1032Smith Q WieserFrance2026-09-10Benton, John B Jr RENEWAL91Xuxue Feng
1033Kaitlin D BologniaJapan2026-08-28Rangoni Of Florence RENEWAL13Ioni Bowcher
1034Aruna J GarufiSpain2026-09-01Rousseaux, Michael Esq PROPOSAL76Ivan Magalhaes
1035Emily Q SergiItaly2026-09-10Dorl, James J Esq PROPOSAL48Xuxue Feng
1036Tony A AmigonItaly2026-09-10Chemel, James L Cpa UNQUALIFIED48Onyama Limba
1037Arvin G CaudyAustralia2026-08-27Dorl, James J Esq NEW85Onyama Limba
1038Arvin K DilliardIndia2026-09-01Rangoni Of Florence NEW18Ioni Bowcher
1039Mayumi M FlosiAustralia2026-08-26Rousseaux, Michael Esq QUALIFIED34Amy Elsner
1040Morrow W GillianRussia2026-09-19Morlong Associates NEGOTIATION85Stephen Shaw
1041Leja Y FlosiItaly2026-08-24Feltz Printing Service RENEWAL3Bernardo Dominic
1042Morrow N MarrierCanada2026-09-12King, Christopher A Esq PROPOSAL23Asiya Javayant
1043Silvio K BologniaAustralia2026-08-23Chanay, Jeffrey A Esq QUALIFIED27Amy Elsner
1044Mujtaba J VocelkaIndia2026-08-29Feltz Printing Service NEW27Xuxue Feng
1045Darci F InouyeIndia2026-08-22King, Christopher A Esq UNQUALIFIED88Elwin Sharvill
1046Deepesh X BriddickIndia2026-09-15Feiner Bros PROPOSAL38Anna Fali
1047Octavia E CampainUnited Kingdom2026-09-16Truhlar And Truhlar Attys NEW74Onyama Limba
1048Ashley M PoquetteRussia2026-09-06Buckley Miller Wright QUALIFIED52Anna Fali
1049Claire A FerenczArgentina2026-09-20Truhlar And Truhlar Attys NEGOTIATION84Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maria J DarakjyJapanIoni Bowcher QUALIFIED
Mayumi N TollnerIndiaAsiya Javayant NEGOTIATION
Stacey W MaletUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois L AmigonGermanyOnyama Limba NEW
Wickens H KuskoCanadaBernardo Dominic QUALIFIED
Wickens A VenereArgentinaStephen Shaw UNQUALIFIED
Salvatore O StockhamIndiaOnyama Limba NEGOTIATION
Mayumi M DilliardJapanXuxue Feng QUALIFIED
Maisha C KuskoGermanyIvan Magalhaes NEGOTIATION
Sinclair S StockhamSpainAsiya Javayant RENEWAL
Leon T OldroydRussiaOnyama Limba PROPOSAL
Maria O GarufiFranceStephen Shaw NEW
Jones A RimCanadaAnna Fali QUALIFIED
Chavez Y WaycottFranceStephen Shaw UNQUALIFIED
Maria L MacleadSpainIvan Magalhaes NEGOTIATION
Wickens F KuskoIndiaIoni Bowcher QUALIFIED
Jones Y RoysterBrazilAnna Fali NEGOTIATION
Izzy D NickaAustraliaStephen Shaw UNQUALIFIED
David L SergiFranceAmy Elsner NEW
Johnson T CaudySpainBernardo Dominic QUALIFIED
Aditya C MaletArgentinaAmy Elsner UNQUALIFIED
Ricardo U BowleyRussiaAsiya Javayant PROPOSAL
Claire U DilliardAustraliaIoni Bowcher NEW
Munro C GauchoArgentinaAmy Elsner QUALIFIED
Rodrigues F VenereUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro C MaletCanadaIvan Magalhaes UNQUALIFIED
Kaitlin R GauchoUnited KingdomBernardo Dominic RENEWAL
Rodrigues K RimArgentinaOnyama Limba UNQUALIFIED
Maria N FerenczCanadaStephen Shaw NEGOTIATION
Octavia W RutaItalyIvan Magalhaes NEW
Ashley Q IturbideFranceStephen Shaw PROPOSAL
Costa N ButtArgentinaOnyama Limba NEW
Sinclair A PoquetteItalyAmy Elsner NEW
Morrow H FollerRussiaAsiya Javayant PROPOSAL
Misaki L GarufiArgentinaIvan Magalhaes QUALIFIED
Kaitlin V WaycottGermanyAsiya Javayant NEW
Ricardo L NestleRussiaOnyama Limba NEGOTIATION
Kadeem V DarakjyFranceIvan Magalhaes NEW
Cody A MaletSpainAsiya Javayant NEGOTIATION
Emily W ButtGermanyOnyama Limba QUALIFIED
Juan R PerinArgentinaAmy Elsner PROPOSAL
Munro E PerinArgentinaElwin Sharvill UNQUALIFIED
Francesco I DoeSpainStephen Shaw QUALIFIED
Clifford Z FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Leja O MaletAustraliaIoni Bowcher UNQUALIFIED
Julie E NickaUnited KingdomXuxue Feng NEGOTIATION
Tony N AlbaresSpainAsiya Javayant NEGOTIATION
Octavia I WaycottItalyBernardo Dominic NEGOTIATION
Aditya N IturbideItalyBernardo Dominic QUALIFIED
Antonio P OstroskySpainIvan Magalhaes RENEWAL
Frozen Columns
Name
Ivar W Ferencz
Aika Q Schemmer
Jeanfrancois F Rim
Darci O Briddick
Claire O Oldroyd
Sinclair G Shinko
Jones E Ostrosky
Jeanfrancois A Saylors
Alejandro P Vocelka
Costa X Slusarski
Smith Y Nicka
Jeanfrancois Y Foller
Aditya V Oldroyd
Arvin B Slusarski
Aika N Ferencz
Costa F Darakjy
Darci Y Nicka
Murillo D Waycott
Costa P Campain
Leon A Waycott
David X Malet
Mayumi V Vocelka
Francesco L Slusarski
Arvin I Gillian
Munro R Sergi
Faith V Schemmer
Jefferson E Caudy
James Q Figeroa
Ricardo L Chui
Morrow N Maclead
Julie X Gillian
Stacey A Butt
Rodrigues Q Foller
Salvatore D Kolmetz
Aruna G Dilliard
Rodrigues A Sergi
Jefferson W Malet
Cody F Briddick
Rodrigues O Saylors
Jeanfrancois X Flosi
Kaitlin L Oldroyd
Kaitlin B Saylors
Clifford M Bolognia
Ashley K Flosi
Mayumi R Campain
Kaitlin O Morasca
Darci I Briddick
Rodrigues F Venere
Nicolas V Royster
Faith M Oldroyd
IdCountryDate
1000France2026-09-20
1001Russia2026-08-29
1002Japan2026-08-28
1003Spain2026-09-15
1004Australia2026-08-24
1005United Kingdom2026-09-03
1006Italy2026-09-05
1007India2026-09-20
1008Japan2026-09-01
1009Brazil2026-08-23
1010France2026-08-29
1011Germany2026-08-31
1012Canada2026-09-14
1013Russia2026-09-10
1014Russia2026-08-23
1015United Kingdom2026-09-10
1016Brazil2026-09-07
1017Spain2026-08-30
1018United Kingdom2026-08-25
1019India2026-09-05
1020Japan2026-09-11
1021Australia2026-09-19
1022Australia2026-08-31
1023Brazil2026-09-05
1024France2026-09-19
1025Canada2026-08-31
1026India2026-08-25
1027India2026-09-10
1028Argentina2026-09-12
1029Canada2026-09-04
1030United Kingdom2026-09-12
1031United Kingdom2026-08-26
1032United Kingdom2026-09-10
1033Germany2026-09-12
1034Brazil2026-09-19
1035United Kingdom2026-09-12
1036Spain2026-09-01
1037Canada2026-08-27
1038Argentina2026-09-06
1039Russia2026-09-05
1040Russia2026-08-24
1041Brazil2026-09-13
1042Spain2026-09-03
1043Italy2026-09-20
1044Russia2026-09-17
1045France2026-08-23
1046Canada2026-08-30
1047Italy2026-08-30
1048India2026-09-03
1049United Kingdom2026-09-02

On-Demand Data

NameIdCountryDate
Stacey W Glick1000Argentina2026-08-25
Nicolas Y Stockham1001United Kingdom2026-08-30
Johnson G Royster1002United Kingdom2026-09-04
Ivar G Wieser1003United Kingdom2026-09-06
Mayumi W Schemmer1004Spain2026-09-01
Kaitlin O Vocelka1005India2026-08-25
Silvio L Briddick1006Russia2026-09-14
Julie R Royster1007Italy2026-09-03
Maisha A Poquette1008Germany2026-09-12
Misaki O Garufi1009Japan2026-09-07
Ashley W Tollner1010Brazil2026-09-01
Juan T Shinko1011Brazil2026-09-05
Mayumi P Rim1012Argentina2026-08-26
Silvio U Rulapaugh1013United Kingdom2026-09-14
Jeanfrancois T Gaucho1014Italy2026-09-20
Kadeem A Ostrosky1015Argentina2026-09-06
Salvatore Y Bowley1016Japan2026-09-06
Leon R Stenseth1017Italy2026-09-08
Juan T Garufi1018Germany2026-09-18
Antonio I Schemmer1019United Kingdom2026-08-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie A WieserJapanAnna Fali UNQUALIFIED
Smith O CampainIndiaIvan Magalhaes UNQUALIFIED
Sinclair Y RoysterIndiaIvan Magalhaes PROPOSAL
David X VenereCanadaAnna Fali RENEWAL
Smith J PoquetteGermanyXuxue Feng QUALIFIED
Johnson L GauchoCanadaAsiya Javayant NEGOTIATION
Murillo Z FlosiRussiaXuxue Feng NEGOTIATION
Julie R GlickGermanyStephen Shaw UNQUALIFIED
Jefferson K GauchoSpainAsiya Javayant NEW
Izzy S ChuiGermanyElwin Sharvill NEGOTIATION
Sinclair J PaprockiRussiaElwin Sharvill PROPOSAL
Isabel E GillianAustraliaBernardo Dominic RENEWAL
Maria T CaudyItalyIoni Bowcher PROPOSAL
Aruna T MaletGermanyAmy Elsner NEGOTIATION
Costa B RulapaughItalyBernardo Dominic NEGOTIATION
Jones J RulapaughItalyAsiya Javayant NEW
Faith D CampainCanadaAmy Elsner NEGOTIATION
Ricardo N DilliardAustraliaOnyama Limba UNQUALIFIED
Antonio C KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh I BologniaGermanyStephen Shaw UNQUALIFIED
Clifford B SchemmerItalyIvan Magalhaes NEW
Deepesh Y FigeroaCanadaAnna Fali NEGOTIATION
Faith O SergiCanadaAmy Elsner UNQUALIFIED
Deepesh J SergiFranceOnyama Limba RENEWAL
Kadeem K KolmetzIndiaAsiya Javayant PROPOSAL
Chavez Y PerinFranceIvan Magalhaes RENEWAL
Jeanfrancois E FlosiFranceXuxue Feng RENEWAL
Murillo N FigeroaArgentinaOnyama Limba QUALIFIED
David D SergiRussiaElwin Sharvill PROPOSAL
Darci R MacleadRussiaElwin Sharvill RENEWAL
Salvatore W SchemmerRussiaStephen Shaw NEW
Aika R PerinItalyElwin Sharvill UNQUALIFIED
Emily P OldroydItalyOnyama Limba QUALIFIED
Morrow N ButtIndiaAsiya Javayant UNQUALIFIED
David L DarakjyCanadaIoni Bowcher NEGOTIATION
Jeanfrancois S BologniaItalyAsiya Javayant UNQUALIFIED
Murillo L ShinkoJapanAsiya Javayant NEW
Juan E MorascaGermanyElwin Sharvill UNQUALIFIED
Octavia J CampainFranceXuxue Feng UNQUALIFIED
Kadeem G WieserGermanyAnna Fali UNQUALIFIED

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