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
Jones Q FlosiUnited KingdomAmy Elsner UNQUALIFIED
Stacey K StensethSpainAnna Fali PROPOSAL
Ashley T VenereJapanStephen Shaw UNQUALIFIED
Johnson J GauchoBrazilIvan Magalhaes PROPOSAL
Costa E VenereUnited KingdomElwin Sharvill PROPOSAL
Juan Y KolmetzUnited KingdomStephen Shaw NEW
Julie Z WhobreyFranceStephen Shaw UNQUALIFIED
Cody M CampainGermanyXuxue Feng NEW
Chavez G FigeroaRussiaElwin Sharvill NEW
Octavia U ButtFranceOnyama Limba NEGOTIATION
Maria M KolmetzSpainStephen Shaw NEW
Wickens G MaletGermanyOnyama Limba QUALIFIED
Antonio D AlbaresGermanyStephen Shaw RENEWAL
Ashley M PerinArgentinaAnna Fali QUALIFIED
Mujtaba C DarakjyIndiaIoni Bowcher QUALIFIED
Ivar F DoeFranceElwin Sharvill NEGOTIATION
Julie T CaudyItalyBernardo Dominic NEW
Emily S WhobreyIndiaIvan Magalhaes RENEWAL
Clifford B WieserCanadaAnna Fali NEW
Jeanfrancois M OstroskyArgentinaAsiya Javayant QUALIFIED
Kadeem C FigeroaAustraliaOnyama Limba NEGOTIATION
Sinclair C RoysterJapanAnna Fali QUALIFIED
Kaitlin L CampainGermanyBernardo Dominic NEGOTIATION
Mujtaba R BriddickSpainStephen Shaw QUALIFIED
Maria J CaudyFranceAnna Fali NEGOTIATION
Aruna B KuskoBrazilXuxue Feng QUALIFIED
Murillo L InouyeRussiaAnna Fali NEW
Aruna Q WieserIndiaIvan Magalhaes QUALIFIED
Kadeem M MarrierAustraliaIoni Bowcher NEW
Aruna Q InouyeGermanyElwin Sharvill QUALIFIED
Arvin K SaylorsRussiaIoni Bowcher UNQUALIFIED
Juan A RulapaughAustraliaOnyama Limba RENEWAL
David J OstroskySpainAnna Fali NEGOTIATION
Maria A MacleadItalyAnna Fali NEGOTIATION
Alejandro I FollerArgentinaAsiya Javayant UNQUALIFIED
Jones Z MarrierFranceStephen Shaw PROPOSAL
Emily Q KuskoJapanStephen Shaw RENEWAL
Darci L DilliardUnited KingdomIvan Magalhaes NEW
Smith D BologniaAustraliaStephen Shaw PROPOSAL
Mayumi S GillianCanadaElwin Sharvill UNQUALIFIED
Julie J SchemmerAustraliaIvan Magalhaes NEGOTIATION
Adams O CaldareraFranceIoni Bowcher RENEWAL
Francesco R ShinkoAustraliaXuxue Feng QUALIFIED
Johnson I WhobreyFranceIvan Magalhaes UNQUALIFIED
Antonio X ShinkoIndiaBernardo Dominic RENEWAL
Greenwood V CaudyBrazilIoni Bowcher UNQUALIFIED
Leja R MorascaArgentinaBernardo Dominic UNQUALIFIED
Maria V AmigonItalyIvan Magalhaes RENEWAL
Aika W PaprockiFranceIoni Bowcher QUALIFIED
Aditya T SergiArgentinaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson L ButtUnited KingdomElwin Sharvill QUALIFIED
Clifford I SaylorsCanadaAnna Fali NEW
Jefferson V ShinkoAustraliaElwin Sharvill NEW
Maria L TollnerCanadaElwin Sharvill UNQUALIFIED
Kadeem W GlickAustraliaOnyama Limba NEW
Antonio O GlickSpainOnyama Limba UNQUALIFIED
Clifford A SchemmerFranceAnna Fali UNQUALIFIED
Antonio V PaprockiSpainAsiya Javayant NEGOTIATION
Ricardo N SaylorsArgentinaBernardo Dominic NEGOTIATION
Arvin L MaletJapanIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson V NestleItaly2026-09-22Rangoni Of Florence RENEWAL34Ioni Bowcher
1001Chavez E NestleJapan2026-10-05Chanay, Jeffrey A Esq RENEWAL98Anna Fali
1002Mayumi W FollerJapan2026-10-02Feiner Bros NEW85Anna Fali
1003Cody Y CaldareraArgentina2026-09-30Chapman, Ross E Esq NEW60Anna Fali
1004Ricardo N NickaCanada2026-10-01Chapman, Ross E Esq UNQUALIFIED62Bernardo Dominic
1005Adams P ButtSpain2026-09-19Chemel, James L Cpa UNQUALIFIED25Onyama Limba
1006Costa A AmigonItaly2026-10-05Morlong Associates QUALIFIED0Ivan Magalhaes
1007Deepesh X StensethCanada2026-09-21Feiner Bros NEW95Anna Fali
1008Faith W TollnerUnited Kingdom2026-09-16Chanay, Jeffrey A Esq PROPOSAL91Stephen Shaw
1009Mujtaba A MaletIndia2026-09-21Chapman, Ross E Esq QUALIFIED82Amy Elsner
1010Adams B RoysterAustralia2026-09-21Truhlar And Truhlar Attys NEW52Ivan Magalhaes
1011Arvin T KolmetzIndia2026-09-13Buckley Miller Wright NEW53Anna Fali
1012Smith V ShinkoBrazil2026-09-25Printing Dimensions QUALIFIED54Bernardo Dominic
1013David Z CampainCanada2026-09-23Rangoni Of Florence UNQUALIFIED99Ioni Bowcher
1014Isabel L VenereFrance2026-10-02Chanay, Jeffrey A Esq NEW36Stephen Shaw
1015Johnson J AmigonCanada2026-09-21Chanay, Jeffrey A Esq NEGOTIATION57Xuxue Feng
1016Mujtaba O SchemmerArgentina2026-09-13Morlong Associates QUALIFIED28Xuxue Feng
1017Darci P InouyeAustralia2026-10-04King, Christopher A Esq UNQUALIFIED78Onyama Limba
1018Francesco L SergiJapan2026-09-08Benton, John B Jr QUALIFIED57Bernardo Dominic
1019Jones C MacleadJapan2026-09-21Buckley Miller Wright NEW51Anna Fali
1020Ivar V RutaRussia2026-09-26Buckley Miller Wright PROPOSAL16Xuxue Feng
1021Mayumi E NestleIndia2026-09-13Commercial Press QUALIFIED90Bernardo Dominic
1022Johnson U SaylorsGermany2026-09-18Chemel, James L Cpa NEW65Ivan Magalhaes
1023Munro G IturbideArgentina2026-09-26King, Christopher A Esq QUALIFIED72Amy Elsner
1024Cody Z FollerAustralia2026-09-15Truhlar And Truhlar Attys QUALIFIED52Anna Fali
1025Rodrigues A CampainAustralia2026-09-10Printing Dimensions NEGOTIATION55Asiya Javayant
1026Nicolas Q OldroydRussia2026-09-24Buckley Miller Wright NEGOTIATION11Xuxue Feng
1027Jeanfrancois E OstroskyIndia2026-09-16Printing Dimensions NEGOTIATION47Anna Fali
1028Arvin A DoeAustralia2026-10-04Commercial Press UNQUALIFIED62Elwin Sharvill
1029David I WieserIndia2026-09-15Printing Dimensions UNQUALIFIED58Amy Elsner
1030Aruna G GlickCanada2026-09-13Benton, John B Jr QUALIFIED6Ivan Magalhaes
1031Rodrigues V KuskoJapan2026-09-08Dorl, James J Esq QUALIFIED53Ioni Bowcher
1032Aika M DilliardFrance2026-10-06Chapman, Ross E Esq RENEWAL3Onyama Limba
1033Darci Z SaylorsRussia2026-09-10Feiner Bros NEGOTIATION55Asiya Javayant
1034Smith O BologniaIndia2026-09-30Morlong Associates PROPOSAL72Bernardo Dominic
1035Isabel R RutaJapan2026-09-18Chemel, James L Cpa RENEWAL93Amy Elsner
1036Jones O KolmetzArgentina2026-10-05Truhlar And Truhlar Attys PROPOSAL43Asiya Javayant
1037Kaitlin G DilliardIndia2026-10-02Morlong Associates NEGOTIATION28Amy Elsner
1038Rodrigues E MacleadArgentina2026-10-06Commercial Press RENEWAL66Ivan Magalhaes
1039Faith I CaudySpain2026-09-12Commercial Press QUALIFIED50Elwin Sharvill
1040David G FlosiItaly2026-09-11Benton, John B Jr NEGOTIATION24Elwin Sharvill
1041Nicolas L GlickIndia2026-09-10Benton, John B Jr NEW50Asiya Javayant
1042Munro M RimCanada2026-09-28Chanay, Jeffrey A Esq NEGOTIATION45Ivan Magalhaes
1043Smith D NickaBrazil2026-09-22Dorl, James J Esq NEGOTIATION84Anna Fali
1044Salvatore O KuskoGermany2026-10-01Chanay, Jeffrey A Esq RENEWAL40Ioni Bowcher
1045Johnson R GillianArgentina2026-10-04Chanay, Jeffrey A Esq RENEWAL29Onyama Limba
1046Leon P MarrierFrance2026-10-04Commercial Press RENEWAL42Ioni Bowcher
1047Greenwood L IturbideIndia2026-10-06Commercial Press NEW88Ivan Magalhaes
1048Chavez T GillianArgentina2026-10-03Rousseaux, Michael Esq PROPOSAL69Amy Elsner
1049Ricardo U WieserFrance2026-09-10Feiner Bros NEGOTIATION62Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin N BologniaGermanyIoni Bowcher QUALIFIED
Smith U OldroydSpainIvan Magalhaes RENEWAL
Ashley H GlickRussiaBernardo Dominic NEW
Ricardo M RimIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois E DarakjyAustraliaElwin Sharvill RENEWAL
Misaki J DilliardRussiaOnyama Limba QUALIFIED
Munro Z AmigonFranceAmy Elsner PROPOSAL
Adams X OldroydSpainXuxue Feng QUALIFIED
Maisha Y AmigonFranceAnna Fali QUALIFIED
David S AmigonIndiaStephen Shaw PROPOSAL
Stacey P NestleAustraliaAmy Elsner NEW
Deepesh E CaudyArgentinaIoni Bowcher RENEWAL
Darci O RimBrazilAsiya Javayant NEGOTIATION
Leon X GillianUnited KingdomXuxue Feng RENEWAL
Morrow M SlusarskiBrazilAmy Elsner NEW
Sinclair B FigeroaUnited KingdomAnna Fali PROPOSAL
Antonio D VocelkaBrazilAsiya Javayant NEW
Adams W MacleadCanadaAnna Fali RENEWAL
Aditya N DarakjyArgentinaAmy Elsner NEGOTIATION
Murillo N ButtCanadaIoni Bowcher PROPOSAL
Stacey L PerinBrazilAmy Elsner PROPOSAL
Juan P FerenczJapanStephen Shaw UNQUALIFIED
Jefferson H FollerFranceAnna Fali RENEWAL
Mujtaba Y ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Aika B BowleyCanadaAsiya Javayant PROPOSAL
Aditya N PoquetteCanadaAsiya Javayant PROPOSAL
Maria Y FigeroaBrazilXuxue Feng PROPOSAL
Arvin A RimIndiaAnna Fali QUALIFIED
Silvio D FerenczBrazilAmy Elsner RENEWAL
Johnson H GillianItalyAnna Fali RENEWAL
Izzy Y FerenczSpainIoni Bowcher NEW
Faith O ShinkoJapanAsiya Javayant NEW
Maisha U CampainAustraliaOnyama Limba NEW
Mayumi U VocelkaGermanyAnna Fali QUALIFIED
Leon R PoquetteItalyIoni Bowcher NEW
Ricardo K SchemmerIndiaStephen Shaw UNQUALIFIED
Maisha J RoysterSpainAsiya Javayant UNQUALIFIED
Claire I RutaGermanyAmy Elsner PROPOSAL
Alejandro C SergiCanadaIoni Bowcher UNQUALIFIED
Morrow R FerenczUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois N PoquetteItalyIvan Magalhaes RENEWAL
Jefferson P GlickArgentinaAmy Elsner PROPOSAL
Deepesh V BriddickItalyStephen Shaw QUALIFIED
Deepesh P NickaFranceIoni Bowcher RENEWAL
Emily K GlickItalyIvan Magalhaes RENEWAL
Octavia I MorascaCanadaIoni Bowcher RENEWAL
Arvin V SaylorsAustraliaAmy Elsner RENEWAL
Greenwood T DoeArgentinaIvan Magalhaes RENEWAL
David K SergiArgentinaAsiya Javayant NEW
Aruna I PerinGermanyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Aika T Gillian
Johnson A Vocelka
Murillo P Iturbide
Claire I Chui
Morrow L Briddick
Jefferson S Ferencz
Salvatore U Bolognia
Alejandro G Shinko
Murillo Y Stockham
Jones Q Butt
Clifford G Malet
Tony I Ruta
Munro R Stenseth
Ricardo C Stenseth
Julie I Malet
Jefferson P Malet
Jefferson A Whobrey
Juan Q Malet
Julie M Albares
Arvin W Maclead
Nicolas B Shinko
Clifford H Shinko
Ashley I Ostrosky
Mayumi C Rim
Kadeem U Vocelka
Salvatore E Garufi
Jeanfrancois M Dilliard
Kaitlin Z Stenseth
Adams K Caldarera
Kadeem W Rulapaugh
Misaki V Rulapaugh
Leon Q Malet
Wickens X Venere
Ashley O Amigon
Emily Y Saylors
Mujtaba G Tollner
Alejandro E Waycott
Misaki L Dilliard
Kadeem U Wieser
Cody G Dilliard
Isabel P Wieser
David H Butt
Leja I Gaucho
Octavia T Nestle
Alejandro Z Butt
Jefferson M Slusarski
Arvin I Flosi
Costa Y Glick
Rodrigues N Oldroyd
Ivar A Stenseth
IdCountryDate
1000Italy2026-10-06
1001Italy2026-10-01
1002Russia2026-10-05
1003Italy2026-09-19
1004Australia2026-09-08
1005Italy2026-09-14
1006Brazil2026-09-19
1007Spain2026-09-16
1008India2026-10-04
1009United Kingdom2026-09-19
1010Italy2026-09-27
1011Germany2026-09-13
1012Russia2026-10-01
1013United Kingdom2026-10-02
1014Spain2026-09-09
1015Spain2026-09-10
1016Spain2026-10-01
1017India2026-09-21
1018Australia2026-09-29
1019Brazil2026-10-07
1020Brazil2026-09-10
1021Russia2026-09-17
1022Italy2026-09-23
1023Russia2026-09-16
1024Brazil2026-10-03
1025Australia2026-09-24
1026Russia2026-10-06
1027India2026-10-06
1028United Kingdom2026-10-02
1029United Kingdom2026-10-03
1030Spain2026-10-06
1031India2026-10-07
1032Australia2026-09-08
1033Canada2026-09-12
1034Italy2026-10-07
1035United Kingdom2026-09-23
1036Argentina2026-09-28
1037Argentina2026-10-03
1038Russia2026-09-18
1039Japan2026-10-03
1040Germany2026-10-05
1041Australia2026-09-20
1042Argentina2026-09-08
1043Japan2026-10-07
1044India2026-09-11
1045Spain2026-09-08
1046Canada2026-09-18
1047France2026-10-05
1048United Kingdom2026-10-07
1049France2026-09-09

On-Demand Data

NameIdCountryDate
Deepesh I Sergi1000Spain2026-09-19
Wickens Z Stenseth1001Canada2026-09-27
Kaitlin P Morasca1002Japan2026-09-17
Juan I Marrier1003Australia2026-10-01
Johnson W Gillian1004Italy2026-09-12
David I Venere1005Brazil2026-09-16
Kadeem S Gaucho1006Australia2026-10-07
Octavia V Foller1007Australia2026-09-09
Juan R Doe1008Russia2026-09-22
Maria K Malet1009Italy2026-10-01
Aika V Slusarski1010India2026-09-17
Salvatore B Darakjy1011France2026-10-01
Wickens H Waycott1012Germany2026-09-26
Faith H Kusko1013Spain2026-09-28
Maria K Chui1014Japan2026-09-30
Jones Q Bowley1015Brazil2026-09-08
Ricardo S Vocelka1016Australia2026-09-30
David N Doe1017Japan2026-10-06
Johnson L Dilliard1018Japan2026-09-24
Sinclair P Kolmetz1019United Kingdom2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel V CampainArgentinaStephen Shaw NEW
Rodrigues G BriddickCanadaXuxue Feng RENEWAL
Tony T MaletArgentinaIoni Bowcher RENEWAL
Faith M GlickBrazilAnna Fali NEGOTIATION
Arvin F PerinJapanStephen Shaw RENEWAL
Sinclair V PoquetteBrazilStephen Shaw QUALIFIED
Claire L FerenczBrazilElwin Sharvill QUALIFIED
Greenwood Q KolmetzCanadaElwin Sharvill UNQUALIFIED
Rodrigues L BologniaArgentinaStephen Shaw RENEWAL
Kadeem N MaletIndiaStephen Shaw NEW
Nicolas X DilliardCanadaIvan Magalhaes NEGOTIATION
Mujtaba K SchemmerItalyIvan Magalhaes NEGOTIATION
Leja B OldroydBrazilAsiya Javayant QUALIFIED
Stacey S KuskoItalyAnna Fali NEGOTIATION
Leon R WhobreyGermanyStephen Shaw NEGOTIATION
Mujtaba G RoysterItalyAmy Elsner RENEWAL
Jennifer S GlickIndiaXuxue Feng QUALIFIED
Salvatore U VenereArgentinaAmy Elsner NEW
Rodrigues I MarrierIndiaAmy Elsner PROPOSAL
Ashley R TollnerSpainIoni Bowcher UNQUALIFIED
Emily M InouyeAustraliaElwin Sharvill RENEWAL
Stacey U BologniaIndiaAnna Fali NEGOTIATION
Jennifer V FlosiGermanyIvan Magalhaes NEGOTIATION
Johnson M SergiUnited KingdomAnna Fali RENEWAL
Rodrigues S CampainRussiaElwin Sharvill PROPOSAL
Maria Q MacleadRussiaIoni Bowcher NEGOTIATION
Francesco C PoquetteArgentinaBernardo Dominic QUALIFIED
Aruna H DilliardArgentinaAnna Fali PROPOSAL
Silvio L WhobreySpainIvan Magalhaes PROPOSAL
Claire U VenereFranceIoni Bowcher PROPOSAL
Smith F CaldareraUnited KingdomAnna Fali UNQUALIFIED
Nicolas W InouyeFranceStephen Shaw PROPOSAL
Leja E WaycottUnited KingdomXuxue Feng NEGOTIATION
Maria E KolmetzItalyIoni Bowcher QUALIFIED
Silvio H KuskoFranceIoni Bowcher PROPOSAL
Alejandro C FigeroaCanadaBernardo Dominic QUALIFIED
Deepesh K RulapaughRussiaAsiya Javayant NEGOTIATION
Sinclair C MarrierRussiaStephen Shaw NEGOTIATION
Aika Y StensethFranceElwin Sharvill RENEWAL
James Q InouyeItalyAnna 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>