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
Ricardo B PoquetteArgentinaAmy Elsner PROPOSAL
Leja V IturbideUnited KingdomBernardo Dominic RENEWAL
Leja W SergiSpainBernardo Dominic UNQUALIFIED
Izzy S RutaItalyBernardo Dominic RENEWAL
James Z TollnerRussiaIoni Bowcher NEGOTIATION
Deepesh Y PerinSpainAnna Fali NEGOTIATION
Ashley B GlickCanadaOnyama Limba RENEWAL
Murillo W BriddickJapanAnna Fali NEGOTIATION
Johnson U GillianFranceStephen Shaw QUALIFIED
Francesco V StensethSpainElwin Sharvill NEW
Johnson C InouyeCanadaBernardo Dominic PROPOSAL
Mujtaba R GillianUnited KingdomAsiya Javayant RENEWAL
Morrow H SergiUnited KingdomXuxue Feng NEGOTIATION
Morrow K CaudyAustraliaElwin Sharvill NEGOTIATION
Darci U KuskoJapanAmy Elsner QUALIFIED
Ivar J RutaGermanyXuxue Feng UNQUALIFIED
Johnson B WhobreyArgentinaBernardo Dominic NEW
Maria L SaylorsArgentinaElwin Sharvill RENEWAL
David Y DarakjyBrazilXuxue Feng PROPOSAL
Silvio R MarrierJapanIvan Magalhaes RENEWAL
Jefferson N RutaJapanStephen Shaw NEW
Julie C FlosiItalyAsiya Javayant NEGOTIATION
Aditya J FerenczJapanAsiya Javayant NEGOTIATION
Costa J NickaGermanyXuxue Feng RENEWAL
Johnson U PerinIndiaBernardo Dominic RENEWAL
Francesco K OldroydRussiaStephen Shaw NEGOTIATION
Aruna B KolmetzGermanyIoni Bowcher PROPOSAL
Greenwood D NestleSpainXuxue Feng NEW
Leon I ShinkoSpainAnna Fali PROPOSAL
Claire Q PerinJapanOnyama Limba RENEWAL
Julie F SaylorsCanadaAsiya Javayant QUALIFIED
Arvin D PoquetteSpainAsiya Javayant NEW
Jefferson L NickaCanadaIoni Bowcher NEGOTIATION
Francesco J BowleyFranceStephen Shaw RENEWAL
Costa U SaylorsCanadaElwin Sharvill UNQUALIFIED
Morrow O StensethJapanIoni Bowcher NEGOTIATION
Clifford Y FollerArgentinaXuxue Feng UNQUALIFIED
Aika B RimBrazilAnna Fali UNQUALIFIED
Darci C InouyeUnited KingdomElwin Sharvill NEW
Antonio Q KolmetzBrazilXuxue Feng QUALIFIED
Misaki H MaletAustraliaElwin Sharvill RENEWAL
Stacey K BowleyArgentinaOnyama Limba RENEWAL
Faith U MacleadItalyIvan Magalhaes QUALIFIED
Antonio I MarrierUnited KingdomXuxue Feng NEW
Murillo Y ChuiItalyAmy Elsner RENEWAL
Leja G PoquetteGermanyAmy Elsner UNQUALIFIED
Wickens P SlusarskiFranceAmy Elsner UNQUALIFIED
Aditya E CaldareraBrazilElwin Sharvill QUALIFIED
Kadeem H OldroydUnited KingdomXuxue Feng PROPOSAL
Aruna U MaletRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie S StockhamAustraliaIvan Magalhaes PROPOSAL
Aditya H RutaSpainOnyama Limba NEGOTIATION
Misaki C ShinkoJapanIoni Bowcher PROPOSAL
Salvatore N FlosiArgentinaIoni Bowcher RENEWAL
Ricardo S PaprockiIndiaIoni Bowcher PROPOSAL
Aruna E ButtRussiaIvan Magalhaes NEW
Aditya E WaycottAustraliaIoni Bowcher NEGOTIATION
Jones D RoysterAustraliaElwin Sharvill NEW
Mayumi C FigeroaGermanyStephen Shaw PROPOSAL
Julie E AlbaresUnited KingdomAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey D AmigonItaly2026-10-05Chemel, James L Cpa QUALIFIED83Ioni Bowcher
1001Munro E WieserItaly2026-10-17Chemel, James L Cpa QUALIFIED83Xuxue Feng
1002Emily H MarrierCanada2026-10-20Truhlar And Truhlar Attys RENEWAL73Ivan Magalhaes
1003Adams H CaldareraCanada2026-10-13Chanay, Jeffrey A Esq NEW26Stephen Shaw
1004Izzy E CampainArgentina2026-10-22Chemel, James L Cpa PROPOSAL5Onyama Limba
1005Arvin Z MarrierFrance2026-10-25Printing Dimensions RENEWAL33Anna Fali
1006Leon D GlickBrazil2026-10-15Benton, John B Jr NEW11Ioni Bowcher
1007Morrow I StensethAustralia2026-10-27Chanay, Jeffrey A Esq NEW47Amy Elsner
1008Julie U CaldareraCanada2026-10-14Chanay, Jeffrey A Esq NEW51Xuxue Feng
1009Juan S AlbaresArgentina2026-10-05Truhlar And Truhlar Attys RENEWAL54Asiya Javayant
1010Jeanfrancois F InouyeBrazil2026-10-20Buckley Miller Wright PROPOSAL59Elwin Sharvill
1011Kadeem A MarrierSpain2026-10-26Dorl, James J Esq RENEWAL4Anna Fali
1012Costa P CampainBrazil2026-10-23Chemel, James L Cpa PROPOSAL24Ioni Bowcher
1013Juan K IturbideFrance2026-10-21Morlong Associates RENEWAL73Bernardo Dominic
1014Juan I NickaBrazil2026-10-12Morlong Associates NEGOTIATION70Ivan Magalhaes
1015Darci C VocelkaIndia2026-10-16Chemel, James L Cpa NEW49Stephen Shaw
1016Leon H VocelkaJapan2026-10-18Rousseaux, Michael Esq PROPOSAL32Stephen Shaw
1017Octavia R SchemmerArgentina2026-10-26Rousseaux, Michael Esq UNQUALIFIED36Stephen Shaw
1018Munro R IturbideUnited Kingdom2026-10-18Chanay, Jeffrey A Esq UNQUALIFIED87Ioni Bowcher
1019Greenwood M BologniaArgentina2026-10-23Feiner Bros NEGOTIATION66Elwin Sharvill
1020Faith C KolmetzCanada2026-10-05Truhlar And Truhlar Attys NEW40Anna Fali
1021Silvio M FerenczAustralia2026-10-03Feiner Bros PROPOSAL92Xuxue Feng
1022Cody H FollerJapan2026-10-15King, Christopher A Esq UNQUALIFIED78Bernardo Dominic
1023Johnson Q PerinRussia2026-10-01King, Christopher A Esq NEGOTIATION42Amy Elsner
1024Costa R GillianRussia2026-10-19Chemel, James L Cpa RENEWAL71Amy Elsner
1025Adams F RoysterGermany2026-10-16Rangoni Of Florence NEGOTIATION61Anna Fali
1026Aruna C SergiArgentina2026-10-01Morlong Associates UNQUALIFIED30Asiya Javayant
1027Jennifer J MaletSpain2026-10-08Benton, John B Jr PROPOSAL46Amy Elsner
1028Aika Z SchemmerBrazil2026-10-07Morlong Associates NEW67Amy Elsner
1029Chavez Q StensethItaly2026-10-19Morlong Associates NEGOTIATION60Amy Elsner
1030Nicolas R FigeroaFrance2026-10-12Buckley Miller Wright PROPOSAL65Stephen Shaw
1031Tony N TollnerFrance2026-10-27King, Christopher A Esq NEW19Stephen Shaw
1032Isabel M SchemmerSpain2026-10-21Truhlar And Truhlar Attys UNQUALIFIED17Amy Elsner
1033Adams O KolmetzAustralia2026-10-10Dorl, James J Esq PROPOSAL76Ivan Magalhaes
1034Salvatore U OldroydItaly2026-10-02Feltz Printing Service QUALIFIED48Stephen Shaw
1035Chavez T BriddickUnited Kingdom2026-10-18Benton, John B Jr UNQUALIFIED23Ioni Bowcher
1036Salvatore E WhobreySpain2026-10-12Rousseaux, Michael Esq RENEWAL79Stephen Shaw
1037Ashley Z VenereCanada2026-10-10Feltz Printing Service NEGOTIATION98Elwin Sharvill
1038Misaki W AlbaresIndia2026-10-23Printing Dimensions NEW0Bernardo Dominic
1039Isabel Z BologniaSpain2026-10-17Dorl, James J Esq NEGOTIATION35Onyama Limba
1040Isabel S DoeRussia2026-10-23Chemel, James L Cpa UNQUALIFIED19Asiya Javayant
1041Arvin X WieserFrance2026-10-15Rangoni Of Florence NEW3Onyama Limba
1042Tony V TollnerIndia2026-10-13Chanay, Jeffrey A Esq NEGOTIATION90Bernardo Dominic
1043Aika Z InouyeSpain2026-10-16Truhlar And Truhlar Attys NEW15Bernardo Dominic
1044Jennifer N VenereBrazil2026-10-19Dorl, James J Esq UNQUALIFIED13Amy Elsner
1045Juan G PoquetteItaly2026-10-16King, Christopher A Esq PROPOSAL99Ivan Magalhaes
1046Johnson I DoeItaly2026-10-21King, Christopher A Esq QUALIFIED21Ioni Bowcher
1047Cody B OldroydCanada2026-10-23Morlong Associates QUALIFIED10Ivan Magalhaes
1048Morrow X CaudyJapan2026-09-30Rangoni Of Florence NEGOTIATION55Bernardo Dominic
1049Smith E StensethFrance2026-10-04Benton, John B Jr RENEWAL57Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Darci B RoysterFranceOnyama Limba UNQUALIFIED
David V OstroskyIndiaStephen Shaw NEW
Jones L AmigonCanadaIoni Bowcher RENEWAL
Salvatore F IturbideSpainStephen Shaw QUALIFIED
Aika U MorascaAustraliaIoni Bowcher NEW
Leja K StockhamArgentinaAsiya Javayant NEW
Greenwood S SlusarskiAustraliaAsiya Javayant NEW
Nicolas U ButtAustraliaOnyama Limba QUALIFIED
Sinclair C IturbideJapanXuxue Feng RENEWAL
Deepesh F RimAustraliaIoni Bowcher PROPOSAL
Clifford S OldroydUnited KingdomStephen Shaw QUALIFIED
Cody K DoeItalyXuxue Feng QUALIFIED
Maisha K TollnerArgentinaStephen Shaw NEW
Clifford I OldroydIndiaAmy Elsner PROPOSAL
Octavia F GauchoBrazilElwin Sharvill RENEWAL
Francesco E FlosiAustraliaElwin Sharvill NEW
Costa O StensethJapanAsiya Javayant QUALIFIED
Stacey G RimArgentinaIoni Bowcher NEW
Salvatore W CaudyItalyElwin Sharvill UNQUALIFIED
Jones H FollerJapanStephen Shaw UNQUALIFIED
Costa J ShinkoBrazilAsiya Javayant NEGOTIATION
Stacey Y PerinAustraliaStephen Shaw RENEWAL
Julie K BowleyArgentinaOnyama Limba PROPOSAL
Jefferson E MorascaFranceAmy Elsner QUALIFIED
Smith C AlbaresAustraliaAmy Elsner RENEWAL
Morrow F AlbaresItalyAnna Fali QUALIFIED
David S CaldareraBrazilAnna Fali PROPOSAL
Nicolas V PerinIndiaAnna Fali NEGOTIATION
Mujtaba F WaycottBrazilAsiya Javayant UNQUALIFIED
Maisha C GarufiUnited KingdomOnyama Limba NEGOTIATION
Mayumi W MorascaCanadaStephen Shaw PROPOSAL
Darci V InouyeBrazilIoni Bowcher PROPOSAL
Ashley Y AlbaresRussiaElwin Sharvill QUALIFIED
Morrow Y PerinAustraliaIoni Bowcher NEW
Isabel P DarakjyJapanAnna Fali UNQUALIFIED
Julie N MaletAustraliaStephen Shaw UNQUALIFIED
Leon V MarrierGermanyAsiya Javayant RENEWAL
Mayumi H MaletIndiaIvan Magalhaes QUALIFIED
Salvatore A OldroydUnited KingdomAsiya Javayant PROPOSAL
Sinclair F BowleySpainStephen Shaw NEW
Sinclair G ShinkoRussiaAsiya Javayant UNQUALIFIED
Leon F PerinRussiaStephen Shaw QUALIFIED
Chavez D MacleadIndiaIvan Magalhaes NEGOTIATION
Francesco W PerinRussiaAmy Elsner NEW
Leon V BologniaJapanBernardo Dominic NEW
Emily R ButtFranceStephen Shaw NEW
Julie O PoquetteFranceElwin Sharvill PROPOSAL
Jeanfrancois R FigeroaAustraliaElwin Sharvill NEW
Jennifer W SaylorsGermanyOnyama Limba RENEWAL
Silvio Q WhobreyBrazilAnna Fali QUALIFIED
Frozen Columns
Name
Julie R Iturbide
Alejandro O Waycott
Adams D Shinko
Misaki S Butt
Arvin J Slusarski
Juan U Glick
Aika F Albares
Emily K Inouye
Ivar P Glick
Munro V Stenseth
Costa D Campain
Salvatore H Saylors
Jefferson R Perin
Alejandro U Butt
Chavez K Rim
Ricardo M Stockham
Kadeem C Wieser
Munro X Wieser
Chavez X Butt
Izzy S Bolognia
Adams W Caldarera
Jones C Briddick
Morrow F Glick
Deepesh Q Marrier
Silvio J Waycott
Emily X Paprocki
Juan G Paprocki
Ivar U Doe
Julie K Schemmer
Aruna Z Stockham
Smith E Royster
Smith V Rulapaugh
Murillo W Tollner
Salvatore U Butt
Murillo A Marrier
Clifford C Garufi
Sinclair B Ostrosky
Kadeem M Rulapaugh
Emily E Rim
Murillo O Royster
Sinclair Y Poquette
Jones S Bowley
Claire P Marrier
Rodrigues U Perin
Greenwood E Schemmer
Jones G Garufi
Munro Z Ruta
Munro J Rim
Aika U Shinko
Johnson Q Slusarski
IdCountryDate
1000Australia2026-10-10
1001Australia2026-10-04
1002Spain2026-09-30
1003Canada2026-09-29
1004Russia2026-10-07
1005Russia2026-10-12
1006Russia2026-10-08
1007Brazil2026-10-22
1008Brazil2026-10-11
1009Japan2026-10-03
1010Spain2026-10-04
1011Japan2026-10-11
1012Spain2026-10-13
1013Australia2026-10-15
1014Spain2026-10-04
1015Argentina2026-10-08
1016Russia2026-10-24
1017Italy2026-10-15
1018Russia2026-10-03
1019United Kingdom2026-10-12
1020Italy2026-10-09
1021Brazil2026-10-17
1022Canada2026-10-07
1023Australia2026-10-14
1024France2026-10-08
1025Italy2026-10-18
1026Japan2026-10-12
1027Italy2026-10-05
1028Brazil2026-10-24
1029Argentina2026-10-18
1030Brazil2026-10-05
1031Russia2026-10-01
1032Germany2026-10-15
1033Brazil2026-10-09
1034Canada2026-10-27
1035Argentina2026-10-06
1036France2026-10-23
1037Australia2026-10-11
1038India2026-10-26
1039Canada2026-10-13
1040Australia2026-10-25
1041Germany2026-10-06
1042Canada2026-10-06
1043France2026-10-02
1044France2026-10-07
1045Canada2026-10-02
1046France2026-10-18
1047United Kingdom2026-10-25
1048United Kingdom2026-10-09
1049Japan2026-10-27

On-Demand Data

NameIdCountryDate
Arvin X Inouye1000Japan2026-10-27
Mayumi U Malet1001Australia2026-10-15
Sinclair D Ostrosky1002United Kingdom2026-10-23
Julie E Nicka1003Canada2026-10-19
Greenwood P Figeroa1004Italy2026-10-02
Claire R Waycott1005United Kingdom2026-10-09
Alejandro Q Sergi1006France2026-09-30
Stacey I Briddick1007France2026-10-01
Jones V Campain1008Japan2026-10-08
Leja F Caldarera1009Canada2026-10-16
Ashley N Kolmetz1010India2026-10-22
Kadeem T Venere1011Argentina2026-10-11
Emily G Perin1012Canada2026-10-13
Jefferson J Glick1013Australia2026-10-15
Clifford A Schemmer1014Canada2026-10-08
Tony I Malet1015Japan2026-10-03
Izzy T Rulapaugh1016India2026-09-29
Maisha J Venere1017Japan2026-10-11
Arvin W Poquette1018India2026-10-20
James Y Nicka1019Australia2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B KuskoBrazilAmy Elsner RENEWAL
Cody N StensethUnited KingdomElwin Sharvill QUALIFIED
Nicolas L KuskoArgentinaBernardo Dominic NEW
Jefferson P GarufiBrazilOnyama Limba PROPOSAL
Nicolas N StensethIndiaAsiya Javayant QUALIFIED
Jennifer M PoquetteJapanIoni Bowcher RENEWAL
Jones G PerinBrazilIvan Magalhaes NEGOTIATION
Silvio F CampainBrazilAnna Fali UNQUALIFIED
Nicolas H SchemmerArgentinaIoni Bowcher PROPOSAL
Leon N MorascaCanadaOnyama Limba NEW
Deepesh Y AlbaresUnited KingdomOnyama Limba PROPOSAL
Clifford K AmigonGermanyStephen Shaw UNQUALIFIED
Silvio X WieserIndiaAsiya Javayant UNQUALIFIED
Claire S GillianCanadaXuxue Feng NEGOTIATION
Juan D RutaItalyStephen Shaw RENEWAL
Munro M InouyeArgentinaAsiya Javayant RENEWAL
Ricardo L CaudyJapanStephen Shaw QUALIFIED
Isabel E GlickIndiaAnna Fali RENEWAL
Tony X BriddickItalyAsiya Javayant QUALIFIED
Octavia A CaldareraIndiaIoni Bowcher QUALIFIED
Nicolas Y GarufiArgentinaIvan Magalhaes UNQUALIFIED
Greenwood T MarrierIndiaIvan Magalhaes RENEWAL
Adams X PaprockiBrazilElwin Sharvill NEW
Isabel N FerenczIndiaIvan Magalhaes NEGOTIATION
Jones D GauchoItalyXuxue Feng PROPOSAL
Misaki V DoeCanadaAmy Elsner PROPOSAL
Octavia T BriddickArgentinaElwin Sharvill QUALIFIED
Deepesh K VocelkaArgentinaIoni Bowcher NEW
Maria Z RulapaughGermanyOnyama Limba UNQUALIFIED
Aika X VenereIndiaStephen Shaw UNQUALIFIED
Costa Z CampainItalyBernardo Dominic RENEWAL
Mayumi Y MarrierFranceBernardo Dominic PROPOSAL
Silvio G WhobreyRussiaXuxue Feng RENEWAL
Mujtaba N RulapaughGermanyBernardo Dominic RENEWAL
Nicolas Y ButtBrazilElwin Sharvill PROPOSAL
Silvio S MacleadJapanOnyama Limba PROPOSAL
Ashley S WaycottItalyStephen Shaw RENEWAL
Octavia S PerinBrazilAmy Elsner NEGOTIATION
Maisha Y StockhamCanadaIoni Bowcher UNQUALIFIED
Munro E IturbideBrazilStephen Shaw 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>