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
Costa Z RimSpainStephen Shaw NEGOTIATION
Maria U WieserFranceStephen Shaw QUALIFIED
Kaitlin U MaletFranceOnyama Limba RENEWAL
Morrow H GillianIndiaOnyama Limba QUALIFIED
Mayumi B FigeroaGermanyAnna Fali NEGOTIATION
Jennifer K CaldareraJapanXuxue Feng QUALIFIED
Adams L BriddickArgentinaBernardo Dominic NEGOTIATION
Claire Z GarufiUnited KingdomOnyama Limba RENEWAL
Claire Z IturbideRussiaIvan Magalhaes UNQUALIFIED
Chavez N AlbaresSpainIoni Bowcher PROPOSAL
Ashley E WhobreyItalyXuxue Feng PROPOSAL
Aruna F BowleyArgentinaOnyama Limba NEW
Francesco U CaldareraRussiaAnna Fali PROPOSAL
Misaki V InouyeItalyElwin Sharvill PROPOSAL
Silvio O FerenczIndiaIoni Bowcher UNQUALIFIED
Jefferson O MaletAustraliaElwin Sharvill NEW
Kaitlin Y InouyeItalyOnyama Limba PROPOSAL
Alejandro S BriddickJapanXuxue Feng NEGOTIATION
Misaki S CampainFranceAsiya Javayant QUALIFIED
Misaki W PoquetteRussiaOnyama Limba QUALIFIED
Nicolas L BowleyUnited KingdomStephen Shaw NEGOTIATION
Ricardo U ChuiBrazilElwin Sharvill NEW
Kadeem K PaprockiJapanIoni Bowcher PROPOSAL
Kadeem X ButtFranceXuxue Feng PROPOSAL
Murillo P RimAustraliaBernardo Dominic QUALIFIED
Smith F PerinArgentinaOnyama Limba NEGOTIATION
Rodrigues F MorascaAustraliaAmy Elsner QUALIFIED
Ricardo J BowleySpainStephen Shaw UNQUALIFIED
Cody K VocelkaIndiaAmy Elsner QUALIFIED
Kadeem A ChuiArgentinaIoni Bowcher RENEWAL
Julie L WaycottBrazilXuxue Feng NEW
Octavia J SchemmerUnited KingdomIvan Magalhaes RENEWAL
Leon O OldroydFranceAnna Fali PROPOSAL
Juan Y BriddickAustraliaElwin Sharvill QUALIFIED
Francesco C ButtArgentinaAsiya Javayant UNQUALIFIED
Emily A DilliardArgentinaIoni Bowcher UNQUALIFIED
Adams O DilliardSpainOnyama Limba QUALIFIED
Silvio Y VocelkaItalyStephen Shaw PROPOSAL
Emily H ChuiIndiaAnna Fali NEGOTIATION
Sinclair A BriddickCanadaBernardo Dominic NEGOTIATION
Jefferson K FollerAustraliaAsiya Javayant NEW
Deepesh U InouyeSpainIvan Magalhaes RENEWAL
Maria K SchemmerArgentinaStephen Shaw UNQUALIFIED
Wickens H StockhamUnited KingdomIoni Bowcher NEW
Darci V StockhamJapanElwin Sharvill NEW
Isabel T PerinIndiaBernardo Dominic NEGOTIATION
Aika H SaylorsAustraliaOnyama Limba RENEWAL
James D PerinArgentinaStephen Shaw UNQUALIFIED
Antonio R AmigonSpainElwin Sharvill RENEWAL
Nicolas Z ChuiArgentinaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
David D GillianRussiaOnyama Limba NEW
Mayumi W CampainGermanyAsiya Javayant RENEWAL
Clifford R ButtGermanyAsiya Javayant RENEWAL
Nicolas I RulapaughItalyIoni Bowcher QUALIFIED
Misaki Y NestleRussiaOnyama Limba PROPOSAL
Murillo N RimAustraliaAnna Fali NEGOTIATION
Aika O StensethFranceBernardo Dominic UNQUALIFIED
Clifford V BriddickFranceStephen Shaw QUALIFIED
Kaitlin J NickaFranceXuxue Feng RENEWAL
Ivar D KuskoRussiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna X DoeAustralia2026-10-06Chanay, Jeffrey A Esq QUALIFIED81Asiya Javayant
1001Octavia U ChuiUnited Kingdom2026-10-06Feiner Bros UNQUALIFIED24Onyama Limba
1002Arvin J DilliardIndia2026-10-16Commercial Press PROPOSAL7Ivan Magalhaes
1003Darci U AlbaresBrazil2026-10-11Buckley Miller Wright PROPOSAL61Ivan Magalhaes
1004David G DoeIndia2026-10-09Benton, John B Jr RENEWAL6Stephen Shaw
1005Darci Z GlickJapan2026-10-03Buckley Miller Wright UNQUALIFIED81Amy Elsner
1006Jeanfrancois L ButtGermany2026-10-08Truhlar And Truhlar Attys PROPOSAL10Amy Elsner
1007David N FerenczBrazil2026-10-13Feiner Bros RENEWAL22Bernardo Dominic
1008Misaki S RutaCanada2026-09-29Feltz Printing Service RENEWAL78Bernardo Dominic
1009Wickens A TollnerItaly2026-09-30Feltz Printing Service NEW63Onyama Limba
1010Morrow G SergiIndia2026-10-02Feiner Bros NEGOTIATION77Anna Fali
1011Aruna W AlbaresBrazil2026-09-23Feiner Bros PROPOSAL23Bernardo Dominic
1012Greenwood U BologniaArgentina2026-10-15Printing Dimensions UNQUALIFIED21Ivan Magalhaes
1013Clifford Y KolmetzItaly2026-10-11Dorl, James J Esq RENEWAL24Amy Elsner
1014Adams N ChuiGermany2026-09-23King, Christopher A Esq NEW52Amy Elsner
1015Francesco I DoeArgentina2026-10-10Printing Dimensions UNQUALIFIED52Bernardo Dominic
1016Stacey L WhobreyJapan2026-09-26Feltz Printing Service RENEWAL3Asiya Javayant
1017Mayumi X SchemmerUnited Kingdom2026-10-06Feltz Printing Service NEW37Bernardo Dominic
1018Alejandro M SergiGermany2026-10-04Chapman, Ross E Esq NEGOTIATION28Asiya Javayant
1019James F MacleadFrance2026-09-23Feiner Bros PROPOSAL38Ioni Bowcher
1020Maria R SlusarskiRussia2026-10-13Rangoni Of Florence PROPOSAL31Stephen Shaw
1021Johnson C VocelkaFrance2026-09-20Chemel, James L Cpa RENEWAL5Bernardo Dominic
1022Emily X KolmetzBrazil2026-09-19Buckley Miller Wright RENEWAL73Amy Elsner
1023Johnson K IturbideBrazil2026-09-22Truhlar And Truhlar Attys RENEWAL28Bernardo Dominic
1024Murillo P RutaSpain2026-09-27Rousseaux, Michael Esq RENEWAL15Asiya Javayant
1025Mujtaba E MaletItaly2026-10-04Dorl, James J Esq RENEWAL66Amy Elsner
1026Claire A DarakjyFrance2026-10-13Feiner Bros UNQUALIFIED43Stephen Shaw
1027Alejandro Z StockhamGermany2026-10-14Chapman, Ross E Esq QUALIFIED96Xuxue Feng
1028Misaki J SchemmerUnited Kingdom2026-10-07Buckley Miller Wright UNQUALIFIED55Stephen Shaw
1029David S InouyeGermany2026-09-27Printing Dimensions UNQUALIFIED38Elwin Sharvill
1030Aika M VenereFrance2026-10-18Feltz Printing Service NEGOTIATION7Elwin Sharvill
1031Rodrigues A DilliardSpain2026-09-26Feiner Bros QUALIFIED65Stephen Shaw
1032Jennifer V BriddickSpain2026-10-12Morlong Associates UNQUALIFIED6Bernardo Dominic
1033Costa Z SergiGermany2026-10-11Feiner Bros RENEWAL96Stephen Shaw
1034Jeanfrancois X WaycottAustralia2026-10-08Buckley Miller Wright NEGOTIATION40Xuxue Feng
1035Clifford S GarufiUnited Kingdom2026-10-02Morlong Associates NEGOTIATION38Xuxue Feng
1036Aditya E PerinSpain2026-10-17Dorl, James J Esq UNQUALIFIED30Xuxue Feng
1037Juan K DoeGermany2026-09-26Feltz Printing Service PROPOSAL99Anna Fali
1038Mujtaba P GauchoCanada2026-10-09Benton, John B Jr UNQUALIFIED74Onyama Limba
1039Mujtaba D MarrierRussia2026-09-25Chanay, Jeffrey A Esq UNQUALIFIED12Onyama Limba
1040Cody J SergiUnited Kingdom2026-10-01Rangoni Of Florence QUALIFIED74Anna Fali
1041Adams H StockhamSpain2026-10-02Rousseaux, Michael Esq QUALIFIED83Bernardo Dominic
1042Ashley G DarakjyCanada2026-10-06Rangoni Of Florence QUALIFIED59Anna Fali
1043Izzy G ShinkoFrance2026-09-26Chemel, James L Cpa NEW13Asiya Javayant
1044Jennifer D WhobreyJapan2026-09-24King, Christopher A Esq RENEWAL0Stephen Shaw
1045Alejandro D FollerSpain2026-10-16Morlong Associates RENEWAL72Elwin Sharvill
1046Aruna T PaprockiUnited Kingdom2026-10-11Printing Dimensions PROPOSAL93Elwin Sharvill
1047Izzy E ChuiIndia2026-10-12Commercial Press NEGOTIATION95Elwin Sharvill
1048Claire Z StockhamSpain2026-09-25Feiner Bros QUALIFIED32Ivan Magalhaes
1049Clifford C VocelkaUnited Kingdom2026-10-14Benton, John B Jr PROPOSAL81Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Isabel M BologniaArgentinaXuxue Feng NEW
Juan X RoysterFranceAsiya Javayant NEW
Mujtaba E KuskoJapanAnna Fali NEW
Ivar M VenereBrazilAnna Fali RENEWAL
Morrow E NestleAustraliaIvan Magalhaes RENEWAL
Sinclair E MaletJapanAnna Fali UNQUALIFIED
Faith C VenereSpainStephen Shaw UNQUALIFIED
Ricardo R TollnerFranceAmy Elsner UNQUALIFIED
Wickens O CaudyBrazilBernardo Dominic UNQUALIFIED
Antonio U MaletArgentinaOnyama Limba UNQUALIFIED
Morrow M FerenczAustraliaAnna Fali NEW
Octavia K AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore P ChuiAustraliaElwin Sharvill PROPOSAL
Greenwood V ButtGermanyAmy Elsner QUALIFIED
Mayumi R CaldareraItalyAmy Elsner QUALIFIED
Jennifer D FollerArgentinaXuxue Feng UNQUALIFIED
Mujtaba Z FigeroaIndiaOnyama Limba UNQUALIFIED
Deepesh M VenereGermanyXuxue Feng PROPOSAL
David H TollnerArgentinaXuxue Feng PROPOSAL
James H CampainRussiaOnyama Limba QUALIFIED
Clifford X GlickCanadaAsiya Javayant PROPOSAL
Darci Q SchemmerGermanyOnyama Limba RENEWAL
Tony X StockhamGermanyAmy Elsner RENEWAL
Aruna P StockhamGermanyXuxue Feng PROPOSAL
Claire N GauchoRussiaElwin Sharvill UNQUALIFIED
Jefferson Q MorascaSpainBernardo Dominic RENEWAL
Johnson H StensethJapanBernardo Dominic RENEWAL
Clifford K WhobreyCanadaXuxue Feng NEGOTIATION
Mujtaba Q StensethArgentinaAmy Elsner NEW
Smith V WhobreyRussiaIoni Bowcher UNQUALIFIED
Munro X PaprockiItalyAmy Elsner PROPOSAL
Wickens T RoysterArgentinaStephen Shaw QUALIFIED
Emily Y MaletRussiaAnna Fali NEGOTIATION
Sinclair Y OldroydAustraliaOnyama Limba NEW
Maria J BowleyJapanAsiya Javayant UNQUALIFIED
Kaitlin Y DoeUnited KingdomAnna Fali NEW
Leja K ButtGermanyBernardo Dominic NEW
Chavez Y GlickRussiaStephen Shaw NEW
Aditya B MacleadItalyIvan Magalhaes NEW
Stacey P VenereAustraliaAmy Elsner QUALIFIED
Leja A ChuiAustraliaXuxue Feng UNQUALIFIED
Jefferson N TollnerBrazilAsiya Javayant UNQUALIFIED
Antonio Y PoquetteItalyIvan Magalhaes QUALIFIED
Leja W MacleadItalyIvan Magalhaes UNQUALIFIED
Maria A IturbideGermanyXuxue Feng QUALIFIED
Alejandro M BologniaRussiaStephen Shaw PROPOSAL
Leon O DilliardAustraliaAsiya Javayant PROPOSAL
Izzy R GillianSpainIoni Bowcher UNQUALIFIED
Mujtaba F PoquetteJapanAsiya Javayant PROPOSAL
Alejandro A ShinkoSpainOnyama Limba RENEWAL
Frozen Columns
Name
Octavia F Butt
Ivar N Rim
Darci Y Stockham
Deepesh F Perin
Salvatore Q Garufi
Costa X Royster
Stacey X Glick
Ivar E Glick
Aditya F Figeroa
Isabel O Tollner
Munro A Marrier
Cody T Doe
Kadeem N Shinko
Mayumi U Campain
Tony L Glick
Francesco Z Marrier
Rodrigues W Shinko
Leja R Vocelka
Octavia J Figeroa
Ivar P Caudy
Mayumi Q Flosi
Misaki C Waycott
Murillo J Ruta
Jeanfrancois A Campain
Jones S Paprocki
Leja G Stenseth
Juan Q Shinko
Munro D Darakjy
Sinclair P Iturbide
Kadeem Z Vocelka
Kaitlin J Gillian
Cody J Wieser
Jeanfrancois N Tollner
Faith M Paprocki
Smith P Darakjy
Ivar F Maclead
Ashley S Royster
Morrow N Perin
Mayumi G Caudy
Deepesh T Glick
Kadeem R Foller
Greenwood V Chui
Tony X Malet
Misaki Y Oldroyd
Francesco O Ruta
Deepesh I Iturbide
Sinclair B Perin
Morrow M Bowley
Kaitlin D Iturbide
Silvio H Doe
IdCountryDate
1000Italy2026-10-01
1001Argentina2026-09-25
1002Japan2026-09-27
1003Australia2026-09-19
1004Spain2026-10-17
1005Brazil2026-09-24
1006India2026-09-23
1007Argentina2026-09-27
1008Argentina2026-10-08
1009Canada2026-10-18
1010Brazil2026-10-03
1011Australia2026-10-11
1012France2026-09-25
1013Japan2026-09-26
1014Spain2026-10-02
1015Germany2026-09-20
1016Russia2026-10-11
1017Spain2026-09-19
1018Germany2026-09-29
1019Argentina2026-09-27
1020Germany2026-10-11
1021France2026-10-05
1022United Kingdom2026-09-26
1023Canada2026-09-23
1024Brazil2026-10-06
1025Russia2026-09-27
1026Japan2026-10-05
1027France2026-10-12
1028United Kingdom2026-10-10
1029Australia2026-10-12
1030Canada2026-09-22
1031India2026-09-24
1032Japan2026-09-21
1033United Kingdom2026-10-02
1034Spain2026-10-02
1035Australia2026-10-13
1036Germany2026-10-06
1037France2026-10-12
1038Argentina2026-10-14
1039Canada2026-10-01
1040Canada2026-10-10
1041Argentina2026-09-23
1042Germany2026-10-13
1043Spain2026-10-06
1044Canada2026-10-06
1045Brazil2026-10-16
1046India2026-10-08
1047India2026-10-10
1048France2026-10-11
1049Canada2026-10-07

On-Demand Data

NameIdCountryDate
Julie P Bowley1000Argentina2026-10-01
Wickens B Campain1001Australia2026-09-20
Cody H Garufi1002Brazil2026-10-14
Greenwood K Kusko1003Germany2026-10-15
Misaki R Oldroyd1004Germany2026-09-19
Munro X Foller1005Italy2026-10-08
Leon J Garufi1006Germany2026-10-03
Sinclair B Kolmetz1007India2026-09-21
Nicolas L Sergi1008Italy2026-10-05
Maria W Slusarski1009Russia2026-10-11
Munro M Bowley1010Japan2026-09-20
Morrow B Schemmer1011Spain2026-09-22
Aruna W Figeroa1012Australia2026-09-24
Maria B Maclead1013Canada2026-10-09
Leon T Royster1014Canada2026-10-09
Clifford D Flosi1015Argentina2026-10-04
Kadeem C Paprocki1016Canada2026-10-01
Izzy K Foller1017Argentina2026-09-30
Stacey C Oldroyd1018India2026-09-24
Ashley H Flosi1019France2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja I WaycottSpainIvan Magalhaes RENEWAL
Darci I DoeIndiaOnyama Limba QUALIFIED
Smith I CaldareraFranceIoni Bowcher QUALIFIED
Ivar J VenereUnited KingdomBernardo Dominic RENEWAL
Jeanfrancois H TollnerIndiaAsiya Javayant NEGOTIATION
Silvio W WieserAustraliaAmy Elsner NEGOTIATION
Aika K InouyeArgentinaAsiya Javayant RENEWAL
Silvio F SergiSpainXuxue Feng NEGOTIATION
Jones P InouyeItalyAnna Fali NEGOTIATION
Jeanfrancois X VocelkaFranceStephen Shaw UNQUALIFIED
Jeanfrancois O DilliardArgentinaAnna Fali PROPOSAL
Claire G AmigonAustraliaAmy Elsner NEW
Maisha W GlickBrazilIvan Magalhaes UNQUALIFIED
David S MacleadArgentinaElwin Sharvill RENEWAL
Nicolas P SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Ashley D SergiJapanAnna Fali UNQUALIFIED
Juan V MaletAustraliaOnyama Limba UNQUALIFIED
Aditya I DoeArgentinaIvan Magalhaes NEW
Johnson T StockhamArgentinaXuxue Feng NEGOTIATION
Octavia J OldroydRussiaOnyama Limba QUALIFIED
Ricardo V VenereAustraliaAsiya Javayant QUALIFIED
Nicolas E IturbideJapanAsiya Javayant UNQUALIFIED
Mayumi P WaycottSpainIvan Magalhaes RENEWAL
Julie T FlosiBrazilIoni Bowcher NEGOTIATION
James W DilliardBrazilBernardo Dominic NEW
Darci W GauchoSpainAnna Fali RENEWAL
Isabel B GlickIndiaIvan Magalhaes RENEWAL
Julie G FlosiRussiaXuxue Feng NEGOTIATION
Mayumi H WaycottJapanOnyama Limba NEGOTIATION
Octavia I MaletItalyAnna Fali QUALIFIED
Mayumi X StensethCanadaStephen Shaw PROPOSAL
Claire B CaudySpainIvan Magalhaes NEW
Tony M KuskoCanadaBernardo Dominic NEGOTIATION
Salvatore K ButtJapanAnna Fali QUALIFIED
Izzy Y BowleyGermanyBernardo Dominic QUALIFIED
Leon U MaletSpainAnna Fali UNQUALIFIED
Maisha B ChuiItalyBernardo Dominic RENEWAL
Silvio L TollnerFranceBernardo Dominic NEW
Kaitlin T ShinkoGermanyStephen Shaw QUALIFIED
Johnson W SlusarskiAustraliaIoni Bowcher RENEWAL

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