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
Leon F NickaIndiaAnna Fali NEGOTIATION
Nicolas K RutaAustraliaBernardo Dominic NEGOTIATION
Deepesh E VenereCanadaElwin Sharvill PROPOSAL
Maisha R SaylorsGermanyIoni Bowcher NEGOTIATION
James Y MarrierFranceElwin Sharvill NEW
Izzy A ButtAustraliaElwin Sharvill QUALIFIED
Mujtaba K AmigonCanadaAsiya Javayant UNQUALIFIED
Arvin J OldroydItalyStephen Shaw UNQUALIFIED
Aditya M MaletGermanyXuxue Feng UNQUALIFIED
Wickens H MaletBrazilBernardo Dominic PROPOSAL
Jeanfrancois C CaldareraGermanyAnna Fali PROPOSAL
Kaitlin Z StensethBrazilAnna Fali UNQUALIFIED
Izzy M FerenczItalyOnyama Limba UNQUALIFIED
Salvatore B DoeRussiaIvan Magalhaes PROPOSAL
Jones B SchemmerBrazilXuxue Feng UNQUALIFIED
Mujtaba D AmigonArgentinaBernardo Dominic NEGOTIATION
Tony I DilliardAustraliaIoni Bowcher PROPOSAL
Ashley M FlosiIndiaAmy Elsner NEW
Leon P RoysterFranceIvan Magalhaes UNQUALIFIED
Darci V FlosiCanadaBernardo Dominic PROPOSAL
Tony A ChuiItalyAsiya Javayant QUALIFIED
Kaitlin B MorascaArgentinaOnyama Limba RENEWAL
Salvatore G DoeIndiaAnna Fali PROPOSAL
Francesco Z RutaIndiaIvan Magalhaes PROPOSAL
Emily P MacleadCanadaIoni Bowcher NEGOTIATION
Smith H SergiArgentinaOnyama Limba PROPOSAL
Murillo J RimItalyAsiya Javayant UNQUALIFIED
Ivar P VocelkaFranceBernardo Dominic NEGOTIATION
Ivar T GarufiUnited KingdomXuxue Feng RENEWAL
Leon Z RoysterGermanyElwin Sharvill QUALIFIED
Maria F GlickGermanyXuxue Feng PROPOSAL
Wickens X FerenczSpainStephen Shaw NEGOTIATION
Murillo L GarufiBrazilXuxue Feng RENEWAL
David B FigeroaIndiaBernardo Dominic RENEWAL
Aruna B SaylorsCanadaXuxue Feng NEGOTIATION
Jeanfrancois Y MaletGermanyIvan Magalhaes UNQUALIFIED
Chavez L FollerArgentinaElwin Sharvill NEGOTIATION
Ashley K WieserItalyAmy Elsner NEW
Adams V BologniaUnited KingdomIoni Bowcher NEW
Leja J FlosiBrazilAsiya Javayant UNQUALIFIED
Adams Y ShinkoBrazilElwin Sharvill UNQUALIFIED
Faith L OldroydGermanyBernardo Dominic NEW
Johnson U DoeGermanyAnna Fali RENEWAL
Francesco Y MacleadBrazilIvan Magalhaes QUALIFIED
Chavez T VocelkaItalyAnna Fali NEW
Tony H OstroskyIndiaIoni Bowcher RENEWAL
Arvin A WhobreyItalyAmy Elsner QUALIFIED
Aditya D InouyeIndiaElwin Sharvill NEGOTIATION
Costa W VenereItalyOnyama Limba NEGOTIATION
Emily I NickaItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Maria I AlbaresSpainBernardo Dominic NEGOTIATION
Chavez U VocelkaCanadaXuxue Feng NEW
Adams N AlbaresBrazilAnna Fali PROPOSAL
Isabel D FollerAustraliaOnyama Limba QUALIFIED
Chavez B MorascaItalyBernardo Dominic PROPOSAL
Leon N WaycottItalyAsiya Javayant RENEWAL
Arvin G GauchoSpainIoni Bowcher QUALIFIED
Octavia K PaprockiFranceOnyama Limba UNQUALIFIED
Maria W WaycottSpainOnyama Limba NEGOTIATION
Adams O AlbaresBrazilAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie D OstroskyRussia2026-09-12King, Christopher A Esq NEGOTIATION61Ivan Magalhaes
1001Jones U SaylorsBrazil2026-09-02Benton, John B Jr QUALIFIED32Ivan Magalhaes
1002Claire L DilliardArgentina2026-09-28Feltz Printing Service RENEWAL31Bernardo Dominic
1003Isabel D FerenczArgentina2026-08-31King, Christopher A Esq NEGOTIATION29Anna Fali
1004Izzy F GlickCanada2026-09-01Printing Dimensions NEW78Anna Fali
1005Smith G ShinkoGermany2026-09-01Chemel, James L Cpa NEW72Onyama Limba
1006Morrow A BowleyGermany2026-09-09Truhlar And Truhlar Attys UNQUALIFIED8Anna Fali
1007Claire N VenereIndia2026-09-15Dorl, James J Esq RENEWAL79Xuxue Feng
1008Darci Y ShinkoIndia2026-09-19Benton, John B Jr NEW18Amy Elsner
1009Ashley T AlbaresBrazil2026-09-12Dorl, James J Esq RENEWAL10Xuxue Feng
1010Chavez Z VocelkaCanada2026-09-24Commercial Press QUALIFIED62Stephen Shaw
1011Juan T KolmetzRussia2026-09-01Benton, John B Jr NEGOTIATION91Anna Fali
1012Jones K PerinAustralia2026-09-20Truhlar And Truhlar Attys UNQUALIFIED40Ioni Bowcher
1013Chavez N CaldareraCanada2026-09-25Chanay, Jeffrey A Esq RENEWAL52Stephen Shaw
1014Misaki T FigeroaCanada2026-09-04Chapman, Ross E Esq NEGOTIATION55Onyama Limba
1015Stacey J GlickItaly2026-09-22Rangoni Of Florence RENEWAL26Asiya Javayant
1016Kaitlin A SergiRussia2026-09-21Buckley Miller Wright QUALIFIED21Ioni Bowcher
1017Faith X FigeroaAustralia2026-09-25Chemel, James L Cpa QUALIFIED97Stephen Shaw
1018Leon I SlusarskiItaly2026-09-26Feiner Bros RENEWAL92Xuxue Feng
1019Ivar O RutaBrazil2026-09-06Feiner Bros QUALIFIED76Asiya Javayant
1020Claire V DarakjySpain2026-09-28Benton, John B Jr RENEWAL83Bernardo Dominic
1021Nicolas H SergiArgentina2026-09-25Feiner Bros RENEWAL18Asiya Javayant
1022Isabel F AmigonJapan2026-09-05Benton, John B Jr RENEWAL83Asiya Javayant
1023Silvio I NestleAustralia2026-09-23Commercial Press UNQUALIFIED28Stephen Shaw
1024Kadeem C GillianRussia2026-09-07Dorl, James J Esq NEW11Amy Elsner
1025Munro D DarakjyItaly2026-09-11Truhlar And Truhlar Attys NEW68Elwin Sharvill
1026Mayumi A SchemmerJapan2026-09-04Chemel, James L Cpa NEGOTIATION64Elwin Sharvill
1027Darci G MacleadAustralia2026-09-08King, Christopher A Esq UNQUALIFIED4Anna Fali
1028David H BologniaGermany2026-09-16Dorl, James J Esq QUALIFIED80Asiya Javayant
1029David A AlbaresBrazil2026-08-31Rousseaux, Michael Esq QUALIFIED4Stephen Shaw
1030Costa V StockhamUnited Kingdom2026-09-14Rousseaux, Michael Esq RENEWAL41Xuxue Feng
1031Jeanfrancois A FigeroaAustralia2026-09-05Feiner Bros PROPOSAL59Elwin Sharvill
1032Antonio X AmigonArgentina2026-09-10Chemel, James L Cpa PROPOSAL73Xuxue Feng
1033Jeanfrancois L GlickJapan2026-09-03Morlong Associates NEGOTIATION33Anna Fali
1034Greenwood I StensethArgentina2026-09-04Chemel, James L Cpa QUALIFIED42Asiya Javayant
1035Morrow N CaldareraIndia2026-08-31Commercial Press QUALIFIED11Elwin Sharvill
1036James L FollerAustralia2026-09-29Benton, John B Jr RENEWAL49Ivan Magalhaes
1037Leon H FerenczArgentina2026-09-17Chemel, James L Cpa NEW33Amy Elsner
1038Jones I AlbaresJapan2026-09-23Feiner Bros NEGOTIATION20Onyama Limba
1039Clifford Q MorascaSpain2026-09-25Printing Dimensions QUALIFIED84Onyama Limba
1040James C AlbaresArgentina2026-09-25Truhlar And Truhlar Attys NEGOTIATION45Stephen Shaw
1041Izzy F MacleadCanada2026-09-29Printing Dimensions QUALIFIED57Ivan Magalhaes
1042Arvin Z DarakjyUnited Kingdom2026-09-09King, Christopher A Esq NEW8Asiya Javayant
1043Leja P CampainJapan2026-09-27Buckley Miller Wright NEGOTIATION9Ivan Magalhaes
1044Mayumi M MaletArgentina2026-09-11Buckley Miller Wright RENEWAL53Anna Fali
1045Juan J GillianFrance2026-09-09Morlong Associates UNQUALIFIED67Bernardo Dominic
1046Kaitlin X ChuiArgentina2026-09-11Chapman, Ross E Esq UNQUALIFIED46Elwin Sharvill
1047Morrow N GillianAustralia2026-09-10Truhlar And Truhlar Attys NEW72Onyama Limba
1048Aruna O StensethIndia2026-09-18Morlong Associates PROPOSAL23Elwin Sharvill
1049Jeanfrancois A CaldareraGermany2026-08-31Benton, John B Jr PROPOSAL19Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Murillo E DoeCanadaXuxue Feng UNQUALIFIED
Deepesh T MacleadJapanOnyama Limba NEGOTIATION
Costa W WhobreyBrazilOnyama Limba QUALIFIED
Johnson Z ButtSpainBernardo Dominic RENEWAL
David U RoysterUnited KingdomElwin Sharvill PROPOSAL
Morrow T MorascaAustraliaAmy Elsner RENEWAL
Julie X SergiSpainAsiya Javayant UNQUALIFIED
Aruna E GarufiItalyAsiya Javayant NEW
Jefferson W PoquetteCanadaXuxue Feng RENEWAL
Morrow B MacleadRussiaIoni Bowcher NEGOTIATION
Julie C RulapaughItalyAmy Elsner QUALIFIED
Nicolas Y WhobreyUnited KingdomBernardo Dominic NEW
Nicolas G OldroydGermanyBernardo Dominic UNQUALIFIED
Maria Q PoquetteIndiaBernardo Dominic NEW
Maisha Q DoeSpainIoni Bowcher NEGOTIATION
Jeanfrancois B BologniaFranceStephen Shaw NEW
Maria A KuskoRussiaIoni Bowcher RENEWAL
Arvin S WieserRussiaAmy Elsner QUALIFIED
Kadeem V BowleyBrazilElwin Sharvill QUALIFIED
Aruna X BriddickItalyOnyama Limba PROPOSAL
Sinclair B BriddickBrazilXuxue Feng NEGOTIATION
Johnson U ChuiGermanyIoni Bowcher UNQUALIFIED
Costa I RoysterBrazilIvan Magalhaes RENEWAL
Wickens J MaletFranceAnna Fali QUALIFIED
Greenwood H OstroskyFranceAnna Fali UNQUALIFIED
Adams G RutaArgentinaAmy Elsner NEW
Smith Q RutaJapanOnyama Limba UNQUALIFIED
Izzy T RulapaughBrazilIvan Magalhaes UNQUALIFIED
Leon D AmigonUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo U CampainCanadaElwin Sharvill NEGOTIATION
Mujtaba D OldroydItalyAmy Elsner QUALIFIED
Jennifer B TollnerArgentinaXuxue Feng RENEWAL
Murillo M MaletSpainStephen Shaw NEW
David X KolmetzFranceXuxue Feng NEGOTIATION
Antonio D BologniaGermanyAsiya Javayant RENEWAL
Silvio D VocelkaSpainXuxue Feng RENEWAL
Rodrigues D PoquetteBrazilElwin Sharvill PROPOSAL
Maria C GauchoIndiaStephen Shaw PROPOSAL
Smith Y FlosiUnited KingdomBernardo Dominic NEGOTIATION
Ivar Y FerenczGermanyStephen Shaw QUALIFIED
Jeanfrancois F SergiArgentinaElwin Sharvill RENEWAL
Silvio S SaylorsBrazilIoni Bowcher RENEWAL
Mujtaba L DoeUnited KingdomIoni Bowcher QUALIFIED
Adams W MarrierUnited KingdomAmy Elsner NEGOTIATION
Mujtaba P SergiBrazilElwin Sharvill PROPOSAL
Clifford P NickaJapanElwin Sharvill UNQUALIFIED
Nicolas W ShinkoJapanAnna Fali QUALIFIED
Emily L AlbaresJapanAnna Fali UNQUALIFIED
Octavia G MorascaAustraliaIvan Magalhaes RENEWAL
David L PoquetteSpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Johnson K Vocelka
Greenwood Y Glick
Clifford T Gaucho
Cody V Malet
Kaitlin O Sergi
Adams P Paprocki
Isabel U Maclead
James K Waycott
Jones P Sergi
Juan P Tollner
Juan G Bowley
Jones N Figeroa
Leon L Poquette
Ashley P Kolmetz
Francesco V Malet
Stacey N Glick
Jefferson S Waycott
Mujtaba P Slusarski
Clifford T Ostrosky
Octavia O Wieser
Francesco G Waycott
Stacey E Flosi
Cody C Paprocki
Ricardo D Caudy
Chavez E Gaucho
Mayumi R Perin
Salvatore O Perin
Clifford E Inouye
Stacey H Royster
Mujtaba O Butt
Jefferson N Maclead
Emily Z Inouye
Aika N Darakjy
Jeanfrancois J Garufi
Darci C Inouye
Antonio Z Caldarera
Juan C Slusarski
Faith B Bowley
Faith E Royster
Chavez H Butt
Julie S Albares
Misaki H Glick
Jeanfrancois B Darakjy
Isabel N Schemmer
Octavia W Shinko
Murillo C Iturbide
Antonio J Morasca
Claire O Ferencz
Kaitlin L Vocelka
Leja M Doe
IdCountryDate
1000Australia2026-09-02
1001Italy2026-09-02
1002Russia2026-09-08
1003Argentina2026-09-21
1004Brazil2026-09-23
1005India2026-09-24
1006Russia2026-08-31
1007Japan2026-09-16
1008Canada2026-09-20
1009Australia2026-09-25
1010Canada2026-09-04
1011India2026-09-25
1012Germany2026-09-20
1013Canada2026-09-20
1014Russia2026-09-24
1015Spain2026-09-18
1016Germany2026-09-28
1017Japan2026-09-19
1018Spain2026-08-31
1019France2026-09-17
1020Argentina2026-09-26
1021Australia2026-09-16
1022United Kingdom2026-09-09
1023India2026-08-31
1024Spain2026-09-02
1025Brazil2026-09-11
1026France2026-09-13
1027Argentina2026-09-07
1028India2026-09-26
1029Spain2026-09-16
1030France2026-09-11
1031Japan2026-09-19
1032France2026-09-27
1033Argentina2026-09-07
1034Argentina2026-09-18
1035Japan2026-09-08
1036Australia2026-09-17
1037Argentina2026-09-18
1038Brazil2026-09-08
1039Spain2026-09-09
1040Brazil2026-09-03
1041India2026-09-17
1042Brazil2026-09-20
1043Brazil2026-09-04
1044United Kingdom2026-09-25
1045Canada2026-09-28
1046Germany2026-09-02
1047Canada2026-09-14
1048Australia2026-09-21
1049Brazil2026-09-16

On-Demand Data

NameIdCountryDate
Antonio Y Chui1000India2026-09-15
Faith X Briddick1001Australia2026-09-28
Ricardo K Sergi1002Argentina2026-09-23
Arvin M Bolognia1003France2026-09-27
Mayumi O Oldroyd1004United Kingdom2026-09-10
Kadeem D Garufi1005Spain2026-09-09
Leja Y Gaucho1006India2026-09-24
Salvatore N Darakjy1007Australia2026-09-26
Wickens W Kusko1008United Kingdom2026-09-25
Johnson R Sergi1009United Kingdom2026-09-10
Maisha X Briddick1010India2026-09-04
Alejandro D Schemmer1011France2026-09-14
Emily S Whobrey1012Argentina2026-09-19
Octavia M Bowley1013Brazil2026-09-14
David J Kolmetz1014Canada2026-09-04
Octavia M Flosi1015Argentina2026-09-10
Smith N Briddick1016Spain2026-09-18
Murillo X Vocelka1017Spain2026-09-28
Antonio B Saylors1018Spain2026-09-25
Deepesh Q Kolmetz1019Russia2026-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow C VocelkaArgentinaAnna Fali NEW
Silvio K InouyeBrazilIvan Magalhaes QUALIFIED
Antonio I StensethItalyStephen Shaw PROPOSAL
Faith Z FigeroaSpainXuxue Feng NEGOTIATION
Alejandro F ChuiIndiaXuxue Feng NEGOTIATION
Francesco C GarufiArgentinaXuxue Feng RENEWAL
Emily P OstroskyFranceAnna Fali PROPOSAL
Morrow F InouyeUnited KingdomXuxue Feng PROPOSAL
Darci Z CaldareraFranceIvan Magalhaes UNQUALIFIED
Arvin F VocelkaSpainAnna Fali RENEWAL
Alejandro P PerinArgentinaIvan Magalhaes UNQUALIFIED
Darci K OstroskyCanadaAmy Elsner QUALIFIED
Salvatore B VocelkaSpainOnyama Limba RENEWAL
Munro P GillianItalyIvan Magalhaes QUALIFIED
Faith M OldroydGermanyIvan Magalhaes NEGOTIATION
Francesco D SchemmerAustraliaIvan Magalhaes QUALIFIED
Juan H TollnerSpainIvan Magalhaes NEW
Morrow Q VenereAustraliaOnyama Limba NEGOTIATION
Antonio F CaudyArgentinaOnyama Limba PROPOSAL
Francesco I IturbideJapanElwin Sharvill QUALIFIED
Leon M FollerItalyXuxue Feng RENEWAL
Izzy D GauchoBrazilBernardo Dominic NEW
Isabel W WaycottFranceAnna Fali QUALIFIED
Murillo J OldroydCanadaElwin Sharvill UNQUALIFIED
Isabel R ButtGermanyStephen Shaw PROPOSAL
Ashley R MorascaJapanAnna Fali NEGOTIATION
Alejandro D WieserJapanXuxue Feng UNQUALIFIED
Stacey A NickaItalyAmy Elsner PROPOSAL
Aditya X CaudyJapanIoni Bowcher NEGOTIATION
Aika T CampainIndiaIoni Bowcher RENEWAL
Chavez C WaycottSpainStephen Shaw RENEWAL
Leja Q NestleItalyIvan Magalhaes NEW
Leja U DarakjyItalyIoni Bowcher NEW
Maria Y PaprockiAustraliaIoni Bowcher RENEWAL
James W MarrierJapanXuxue Feng NEW
Isabel E MacleadRussiaAsiya Javayant NEW
Maisha V NestleRussiaXuxue Feng NEGOTIATION
Leja S DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia X PerinSpainIoni Bowcher QUALIFIED
Nicolas H GlickGermanyIvan Magalhaes 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>