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
Francesco V OldroydCanadaAnna Fali NEGOTIATION
Misaki G ButtIndiaElwin Sharvill RENEWAL
Greenwood E OstroskyBrazilIoni Bowcher RENEWAL
Jones M GlickCanadaElwin Sharvill RENEWAL
Jeanfrancois S SchemmerIndiaAsiya Javayant PROPOSAL
Ivar K VenereIndiaAnna Fali NEGOTIATION
Antonio Q GillianBrazilElwin Sharvill PROPOSAL
Emily S OstroskyRussiaStephen Shaw QUALIFIED
Emily R FlosiGermanyIvan Magalhaes NEGOTIATION
Leon C SergiGermanyStephen Shaw NEGOTIATION
Juan E WhobreyArgentinaElwin Sharvill UNQUALIFIED
Mujtaba K AlbaresAustraliaXuxue Feng QUALIFIED
Salvatore W SaylorsJapanIvan Magalhaes NEGOTIATION
Jones G DarakjyGermanyAmy Elsner PROPOSAL
Murillo D MaletAustraliaBernardo Dominic NEW
Costa S AlbaresCanadaStephen Shaw NEW
Maisha B PoquetteRussiaAnna Fali RENEWAL
Jennifer U MorascaItalyAsiya Javayant QUALIFIED
Wickens J VenereItalyOnyama Limba RENEWAL
Stacey Y FollerBrazilAnna Fali NEW
Jefferson T FollerArgentinaBernardo Dominic NEW
Jeanfrancois G TollnerFranceElwin Sharvill PROPOSAL
Greenwood B GlickGermanyIoni Bowcher NEGOTIATION
Aditya P OldroydRussiaAsiya Javayant RENEWAL
Adams J CampainAustraliaOnyama Limba NEGOTIATION
Sinclair R IturbideArgentinaElwin Sharvill NEGOTIATION
Claire T MorascaRussiaAsiya Javayant PROPOSAL
Maisha L FlosiRussiaAsiya Javayant PROPOSAL
Stacey Z MarrierIndiaAnna Fali NEW
Juan J GarufiGermanyIoni Bowcher QUALIFIED
Sinclair J ButtAustraliaStephen Shaw QUALIFIED
Octavia J MaletItalyOnyama Limba NEGOTIATION
Ricardo L GillianCanadaOnyama Limba RENEWAL
Leja N SergiBrazilIoni Bowcher PROPOSAL
Isabel X SlusarskiSpainOnyama Limba RENEWAL
Rodrigues V NickaSpainElwin Sharvill PROPOSAL
Darci O FlosiJapanXuxue Feng UNQUALIFIED
Francesco T ShinkoRussiaAsiya Javayant PROPOSAL
Izzy P WieserGermanyXuxue Feng UNQUALIFIED
Nicolas M NickaBrazilOnyama Limba NEGOTIATION
Cody J PaprockiRussiaElwin Sharvill RENEWAL
Chavez J ChuiFranceStephen Shaw RENEWAL
Nicolas R MacleadSpainIoni Bowcher UNQUALIFIED
Adams S MacleadArgentinaOnyama Limba UNQUALIFIED
Johnson X WieserAustraliaStephen Shaw NEGOTIATION
Jeanfrancois T InouyeBrazilAmy Elsner UNQUALIFIED
Clifford G ButtFranceStephen Shaw PROPOSAL
Silvio C DilliardArgentinaOnyama Limba QUALIFIED
Salvatore L CaldareraUnited KingdomIvan Magalhaes NEW
Johnson G RimRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair I FerenczUnited KingdomBernardo Dominic QUALIFIED
Jennifer S CampainAustraliaIoni Bowcher NEW
Costa O InouyeItalyStephen Shaw NEGOTIATION
Jennifer O WaycottBrazilAmy Elsner QUALIFIED
Arvin A PerinJapanElwin Sharvill NEW
Alejandro T ShinkoJapanElwin Sharvill NEGOTIATION
Darci G NestleFranceIoni Bowcher RENEWAL
Mayumi W FollerUnited KingdomXuxue Feng PROPOSAL
Octavia E StensethUnited KingdomAmy Elsner UNQUALIFIED
Juan S TollnerCanadaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens H GarufiCanada2026-08-26Feltz Printing Service QUALIFIED99Ivan Magalhaes
1001Clifford H WieserBrazil2026-09-11Dorl, James J Esq QUALIFIED27Asiya Javayant
1002Rodrigues C ButtCanada2026-09-01Commercial Press RENEWAL32Amy Elsner
1003Leja A WieserItaly2026-09-15King, Christopher A Esq PROPOSAL70Onyama Limba
1004Francesco G IturbideSpain2026-09-12Truhlar And Truhlar Attys NEGOTIATION39Xuxue Feng
1005Morrow B GarufiCanada2026-09-22Morlong Associates NEW58Amy Elsner
1006Deepesh N InouyeCanada2026-09-22Feltz Printing Service QUALIFIED80Asiya Javayant
1007Claire Q StockhamItaly2026-09-15Printing Dimensions QUALIFIED1Amy Elsner
1008Cody R ShinkoArgentina2026-09-15Morlong Associates QUALIFIED64Bernardo Dominic
1009Ashley H SergiSpain2026-09-11Dorl, James J Esq QUALIFIED76Xuxue Feng
1010Rodrigues U MarrierAustralia2026-09-02Buckley Miller Wright NEW49Bernardo Dominic
1011Ricardo M CaldareraFrance2026-09-22Morlong Associates QUALIFIED54Ioni Bowcher
1012Claire U WaycottBrazil2026-09-13Printing Dimensions NEW52Xuxue Feng
1013Faith V NestleItaly2026-09-11Benton, John B Jr NEGOTIATION99Elwin Sharvill
1014Emily K PaprockiJapan2026-08-29Printing Dimensions NEW75Stephen Shaw
1015Francesco B GillianIndia2026-09-08Benton, John B Jr RENEWAL14Ioni Bowcher
1016Munro P NickaBrazil2026-09-14Printing Dimensions QUALIFIED97Anna Fali
1017Morrow P DoeUnited Kingdom2026-08-27Truhlar And Truhlar Attys QUALIFIED93Onyama Limba
1018Cody P PerinCanada2026-09-05Buckley Miller Wright QUALIFIED55Asiya Javayant
1019Cody Y IturbideCanada2026-09-20King, Christopher A Esq QUALIFIED25Onyama Limba
1020Aika W GarufiIndia2026-09-12Dorl, James J Esq PROPOSAL18Ioni Bowcher
1021Octavia U PerinGermany2026-09-12Benton, John B Jr NEW71Amy Elsner
1022Wickens W MarrierJapan2026-08-30Feltz Printing Service UNQUALIFIED10Ioni Bowcher
1023Darci P SaylorsBrazil2026-09-09Chanay, Jeffrey A Esq PROPOSAL71Ivan Magalhaes
1024Wickens P CaldareraFrance2026-09-08Dorl, James J Esq UNQUALIFIED48Onyama Limba
1025Izzy E MarrierGermany2026-08-30Rousseaux, Michael Esq UNQUALIFIED83Bernardo Dominic
1026Smith I KolmetzAustralia2026-08-31Chemel, James L Cpa RENEWAL95Asiya Javayant
1027Deepesh Z AmigonItaly2026-09-02Rangoni Of Florence PROPOSAL90Asiya Javayant
1028Salvatore H DarakjyIndia2026-08-29Morlong Associates NEW21Ioni Bowcher
1029Greenwood W SchemmerBrazil2026-09-16Feiner Bros PROPOSAL74Onyama Limba
1030Costa W GauchoGermany2026-09-13Commercial Press NEW88Elwin Sharvill
1031Salvatore R PerinBrazil2026-09-11Morlong Associates PROPOSAL43Stephen Shaw
1032Jennifer X BowleyGermany2026-09-20Feltz Printing Service NEW95Amy Elsner
1033David D RimItaly2026-09-13Morlong Associates RENEWAL56Stephen Shaw
1034Jeanfrancois D GillianCanada2026-09-01Buckley Miller Wright RENEWAL34Elwin Sharvill
1035Claire D WaycottRussia2026-08-31Buckley Miller Wright NEGOTIATION33Ivan Magalhaes
1036Mujtaba T BriddickCanada2026-09-06Chanay, Jeffrey A Esq NEGOTIATION24Anna Fali
1037Ivar V CampainGermany2026-08-30Feltz Printing Service NEGOTIATION27Stephen Shaw
1038Clifford Z CampainItaly2026-09-17Chanay, Jeffrey A Esq NEGOTIATION64Asiya Javayant
1039Sinclair G GauchoGermany2026-09-18Chemel, James L Cpa NEW72Elwin Sharvill
1040Nicolas N MarrierArgentina2026-09-01Commercial Press RENEWAL10Asiya Javayant
1041James T OldroydAustralia2026-09-12Chapman, Ross E Esq RENEWAL82Anna Fali
1042Darci E OstroskyCanada2026-09-14Truhlar And Truhlar Attys QUALIFIED0Anna Fali
1043Morrow L WhobreyAustralia2026-09-02Dorl, James J Esq QUALIFIED0Onyama Limba
1044Izzy R KuskoBrazil2026-09-16Buckley Miller Wright RENEWAL64Ioni Bowcher
1045Aruna M VenereAustralia2026-09-08Buckley Miller Wright QUALIFIED47Anna Fali
1046Cody C RoysterAustralia2026-09-09Printing Dimensions UNQUALIFIED21Onyama Limba
1047Leon B MacleadSpain2026-09-06Benton, John B Jr PROPOSAL79Onyama Limba
1048Tony S MarrierRussia2026-09-12Buckley Miller Wright PROPOSAL56Ioni Bowcher
1049Johnson W StensethUnited Kingdom2026-09-16Rousseaux, Michael Esq NEW26Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Julie K SergiAustraliaAmy Elsner NEW
Emily T RoysterCanadaOnyama Limba NEGOTIATION
Salvatore F ChuiFranceAmy Elsner QUALIFIED
Sinclair V IturbideBrazilElwin Sharvill NEW
Stacey W WieserSpainIoni Bowcher NEW
Johnson D FollerItalyAsiya Javayant NEW
Mujtaba K MarrierSpainStephen Shaw UNQUALIFIED
Deepesh Q BriddickCanadaIoni Bowcher RENEWAL
Stacey J StensethAustraliaAsiya Javayant RENEWAL
Costa V IturbideIndiaElwin Sharvill PROPOSAL
Clifford O InouyeArgentinaAmy Elsner PROPOSAL
Octavia Z FollerFranceIvan Magalhaes PROPOSAL
Juan N ShinkoUnited KingdomAsiya Javayant PROPOSAL
Mujtaba D FerenczBrazilStephen Shaw UNQUALIFIED
Murillo Q AmigonItalyBernardo Dominic NEW
Izzy H CaldareraArgentinaAsiya Javayant UNQUALIFIED
Cody M SaylorsSpainXuxue Feng NEW
Maria R DarakjyJapanAsiya Javayant NEW
Aruna Q MaletUnited KingdomAnna Fali PROPOSAL
Munro K TollnerJapanStephen Shaw RENEWAL
Tony S TollnerCanadaIvan Magalhaes UNQUALIFIED
Sinclair C DarakjyItalyElwin Sharvill PROPOSAL
David C GauchoCanadaElwin Sharvill NEW
Jeanfrancois D AmigonRussiaAnna Fali NEGOTIATION
James S ButtGermanyIvan Magalhaes QUALIFIED
Munro Y RulapaughJapanIoni Bowcher UNQUALIFIED
Maisha M KolmetzCanadaAsiya Javayant RENEWAL
Leja Y FlosiItalyStephen Shaw NEW
Greenwood T VenereCanadaOnyama Limba RENEWAL
Maria H MaletFranceIvan Magalhaes QUALIFIED
Murillo N ButtRussiaStephen Shaw NEW
Wickens G StensethAustraliaElwin Sharvill NEGOTIATION
Salvatore C RulapaughCanadaAnna Fali NEGOTIATION
Sinclair Q FigeroaRussiaBernardo Dominic QUALIFIED
Ricardo A DoeBrazilIvan Magalhaes UNQUALIFIED
Jennifer L MorascaItalyOnyama Limba RENEWAL
Ivar K MorascaFranceAnna Fali NEGOTIATION
Darci G AmigonUnited KingdomElwin Sharvill NEW
Jones Q WaycottCanadaXuxue Feng QUALIFIED
Ashley T BologniaArgentinaElwin Sharvill QUALIFIED
Murillo S MaletJapanBernardo Dominic UNQUALIFIED
Arvin Q NickaAustraliaIvan Magalhaes NEW
Murillo U TollnerRussiaAmy Elsner UNQUALIFIED
Darci S FlosiUnited KingdomOnyama Limba UNQUALIFIED
Jeanfrancois D ChuiItalyOnyama Limba QUALIFIED
Chavez M PerinUnited KingdomXuxue Feng NEGOTIATION
Murillo P BowleyBrazilAnna Fali UNQUALIFIED
Octavia B WaycottBrazilStephen Shaw QUALIFIED
Francesco W ButtJapanAmy Elsner NEGOTIATION
Isabel J GillianRussiaElwin Sharvill RENEWAL
Frozen Columns
Name
Nicolas X Kusko
Wickens J Tollner
Aruna V Caudy
Claire I Paprocki
Misaki Y Sergi
Juan C Foller
Maria H Slusarski
Munro W Doe
Murillo S Rulapaugh
Antonio I Waycott
Darci N Iturbide
James A Rulapaugh
Mujtaba A Doe
Jones W Ferencz
Deepesh Z Morasca
Darci D Poquette
Kaitlin D Marrier
Greenwood H Gaucho
James S Bowley
Nicolas E Nicka
David P Royster
Misaki N Royster
Jefferson A Doe
Nicolas I Rim
Ivar I Bowley
Chavez O Iturbide
Munro Q Rim
Rodrigues G Glick
Julie U Venere
Murillo J Figeroa
Darci P Rim
Jefferson D Garufi
Rodrigues Y Iturbide
Faith X Tollner
Johnson U Amigon
Ashley D Dilliard
Octavia B Campain
Deepesh H Garufi
Faith H Shinko
Costa Y Campain
Ivar K Inouye
Darci G Poquette
Jones C Doe
Antonio E Chui
Mayumi P Whobrey
Francesco N Albares
Leja E Briddick
Antonio R Marrier
Arvin D Gaucho
Jefferson B Wieser
IdCountryDate
1000Japan2026-08-29
1001France2026-09-20
1002France2026-09-11
1003Japan2026-09-19
1004United Kingdom2026-08-25
1005Japan2026-09-10
1006Russia2026-09-06
1007Germany2026-09-11
1008Canada2026-09-07
1009Spain2026-08-27
1010Japan2026-08-28
1011Russia2026-09-03
1012Italy2026-09-22
1013Japan2026-09-04
1014Japan2026-09-09
1015Italy2026-09-08
1016Brazil2026-09-19
1017Russia2026-08-25
1018Germany2026-09-03
1019Germany2026-09-23
1020United Kingdom2026-09-11
1021Brazil2026-09-06
1022Brazil2026-09-12
1023Brazil2026-09-05
1024Brazil2026-09-10
1025Canada2026-09-14
1026Argentina2026-09-05
1027Australia2026-08-30
1028Italy2026-08-31
1029India2026-09-17
1030Germany2026-09-14
1031Canada2026-09-22
1032United Kingdom2026-09-15
1033Brazil2026-09-10
1034Italy2026-09-17
1035Spain2026-09-23
1036Brazil2026-09-17
1037Italy2026-09-13
1038Brazil2026-09-09
1039Canada2026-09-06
1040United Kingdom2026-08-26
1041Spain2026-09-17
1042Russia2026-09-09
1043United Kingdom2026-08-31
1044United Kingdom2026-08-28
1045Japan2026-09-17
1046Italy2026-09-20
1047Germany2026-08-26
1048Spain2026-08-31
1049Australia2026-09-06

On-Demand Data

NameIdCountryDate
Izzy N Tollner1000Brazil2026-09-17
Silvio D Oldroyd1001Argentina2026-09-04
Ricardo B Campain1002Spain2026-09-09
Antonio Q Royster1003United Kingdom2026-09-13
Claire Y Albares1004Argentina2026-08-28
Morrow G Tollner1005Russia2026-09-17
Isabel K Oldroyd1006Canada2026-08-31
Isabel F Nicka1007India2026-09-06
Octavia Q Chui1008Brazil2026-08-28
Ashley T Doe1009France2026-09-04
Deepesh S Vocelka1010Spain2026-09-04
Leja Q Slusarski1011Russia2026-09-22
Maria D Rulapaugh1012Brazil2026-09-21
Leja Q Gillian1013Germany2026-09-06
Aruna S Paprocki1014United Kingdom2026-09-08
Juan C Schemmer1015Spain2026-09-12
Chavez M Whobrey1016France2026-09-12
Francesco J Maclead1017Brazil2026-09-01
Aruna T Schemmer1018Spain2026-09-04
Cody M Rim1019Canada2026-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Z ButtIndiaAnna Fali UNQUALIFIED
Chavez I StensethJapanAsiya Javayant NEGOTIATION
Cody U DilliardFranceBernardo Dominic NEW
Claire A RulapaughBrazilElwin Sharvill NEW
Francesco Q RoysterFranceAsiya Javayant QUALIFIED
Mayumi T CaudyCanadaIvan Magalhaes QUALIFIED
David Q WaycottAustraliaIvan Magalhaes NEW
Smith T NestleIndiaIvan Magalhaes UNQUALIFIED
Mayumi G FigeroaArgentinaBernardo Dominic RENEWAL
Izzy X AlbaresBrazilOnyama Limba RENEWAL
Alejandro V ShinkoItalyElwin Sharvill PROPOSAL
Darci W BriddickGermanyAmy Elsner NEGOTIATION
Cody E SlusarskiRussiaOnyama Limba PROPOSAL
Kaitlin X MaletRussiaIoni Bowcher NEGOTIATION
Rodrigues P CaudyIndiaOnyama Limba UNQUALIFIED
Leja D WaycottUnited KingdomStephen Shaw QUALIFIED
Julie Q MorascaItalyAnna Fali RENEWAL
Maisha B PaprockiAustraliaXuxue Feng RENEWAL
Clifford E MacleadRussiaBernardo Dominic UNQUALIFIED
Leon M PoquetteJapanIvan Magalhaes RENEWAL
Leja W GauchoItalyXuxue Feng RENEWAL
Costa H InouyeRussiaAsiya Javayant QUALIFIED
Costa Z OldroydJapanOnyama Limba UNQUALIFIED
Silvio K MaletBrazilElwin Sharvill PROPOSAL
Silvio F ShinkoCanadaXuxue Feng NEGOTIATION
Aditya M DilliardAustraliaStephen Shaw RENEWAL
Mujtaba G SergiCanadaIvan Magalhaes QUALIFIED
Kaitlin X NickaSpainIoni Bowcher NEW
Antonio R BowleyIndiaIoni Bowcher UNQUALIFIED
Ricardo D MarrierBrazilXuxue Feng RENEWAL
Claire R SaylorsIndiaBernardo Dominic QUALIFIED
Jeanfrancois L BriddickSpainIoni Bowcher NEW
Rodrigues T KolmetzSpainIoni Bowcher RENEWAL
Misaki W PerinCanadaIoni Bowcher NEW
Claire K SlusarskiGermanyIvan Magalhaes QUALIFIED
Smith N WhobreyIndiaOnyama Limba UNQUALIFIED
Jones L BowleyUnited KingdomXuxue Feng NEGOTIATION
Maisha V FollerFranceElwin Sharvill NEGOTIATION
Juan M StockhamBrazilStephen Shaw UNQUALIFIED
Aditya M NestleIndiaOnyama Limba 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>