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
Smith X RutaIndiaBernardo Dominic UNQUALIFIED
Faith P StensethGermanyBernardo Dominic NEW
Wickens M OldroydRussiaAnna Fali PROPOSAL
Jones X SlusarskiIndiaStephen Shaw UNQUALIFIED
Aditya A DoeRussiaXuxue Feng QUALIFIED
Faith K GillianBrazilAsiya Javayant NEW
Ivar U KolmetzCanadaAnna Fali PROPOSAL
Morrow F ButtJapanIvan Magalhaes UNQUALIFIED
Leja U MorascaArgentinaAsiya Javayant QUALIFIED
Kadeem N BowleyIndiaAmy Elsner NEW
Ashley O WhobreyJapanIoni Bowcher PROPOSAL
Francesco E CampainUnited KingdomAnna Fali NEGOTIATION
Murillo B SaylorsArgentinaAmy Elsner NEGOTIATION
Deepesh O TollnerItalyAnna Fali NEGOTIATION
David D CaudyFranceOnyama Limba QUALIFIED
Nicolas Y GarufiJapanAmy Elsner RENEWAL
Misaki U AlbaresAustraliaBernardo Dominic QUALIFIED
Aruna S MaletBrazilOnyama Limba NEW
Ashley M VocelkaSpainXuxue Feng NEGOTIATION
Salvatore S WaycottBrazilAmy Elsner UNQUALIFIED
Nicolas B CaudyItalyIoni Bowcher NEGOTIATION
Greenwood B SchemmerIndiaBernardo Dominic NEW
Izzy W PerinIndiaAmy Elsner PROPOSAL
Darci N VenereRussiaAsiya Javayant NEW
Costa G NickaCanadaAnna Fali RENEWAL
Tony B NestleGermanyAmy Elsner UNQUALIFIED
Claire K RulapaughRussiaElwin Sharvill NEW
Aika A MaletIndiaAsiya Javayant RENEWAL
Darci N MacleadRussiaIoni Bowcher NEGOTIATION
Juan K DarakjyGermanyAnna Fali QUALIFIED
Smith X GillianFranceBernardo Dominic NEW
Kaitlin D PerinSpainBernardo Dominic NEW
Chavez G MaletItalyIoni Bowcher RENEWAL
Leja M PoquetteRussiaBernardo Dominic RENEWAL
Rodrigues M OstroskyJapanAsiya Javayant PROPOSAL
Deepesh Z MacleadJapanXuxue Feng QUALIFIED
Aruna Y ShinkoArgentinaIvan Magalhaes NEGOTIATION
Jones L VenereIndiaIvan Magalhaes PROPOSAL
Mayumi C MorascaSpainElwin Sharvill NEGOTIATION
Julie T RimBrazilBernardo Dominic NEW
Murillo M VenereAustraliaIoni Bowcher PROPOSAL
Costa C MaletArgentinaStephen Shaw PROPOSAL
Kaitlin K CaudyRussiaXuxue Feng UNQUALIFIED
Deepesh Q FollerRussiaAnna Fali PROPOSAL
Jennifer U AmigonFranceAnna Fali PROPOSAL
Aika K RimFranceStephen Shaw UNQUALIFIED
Mujtaba Y StensethSpainStephen Shaw NEW
Silvio O StensethAustraliaStephen Shaw UNQUALIFIED
Deepesh N GlickRussiaBernardo Dominic QUALIFIED
Jefferson H OldroydFranceStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore S OstroskyAustraliaAsiya Javayant RENEWAL
Chavez B FlosiCanadaIoni Bowcher QUALIFIED
Smith H MaletGermanyBernardo Dominic PROPOSAL
Greenwood H PoquetteFranceStephen Shaw NEGOTIATION
Chavez X DoeRussiaBernardo Dominic QUALIFIED
Francesco W MaletCanadaAmy Elsner NEGOTIATION
Kaitlin W KuskoJapanStephen Shaw QUALIFIED
Alejandro M ButtIndiaOnyama Limba UNQUALIFIED
Darci J OldroydUnited KingdomElwin Sharvill QUALIFIED
Octavia F ChuiRussiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar J FigeroaJapan2026-10-29Commercial Press NEW83Asiya Javayant
1001Kaitlin H MacleadItaly2026-10-28Rousseaux, Michael Esq UNQUALIFIED80Asiya Javayant
1002Greenwood D RulapaughCanada2026-10-11Chanay, Jeffrey A Esq QUALIFIED59Anna Fali
1003Claire D BriddickIndia2026-10-04Rousseaux, Michael Esq UNQUALIFIED64Elwin Sharvill
1004Ivar T RoysterIndia2026-10-21Benton, John B Jr PROPOSAL69Bernardo Dominic
1005Alejandro X FollerJapan2026-10-22Chemel, James L Cpa NEW54Stephen Shaw
1006Ricardo K GlickGermany2026-10-20Chemel, James L Cpa UNQUALIFIED96Onyama Limba
1007Arvin T DarakjySpain2026-10-18King, Christopher A Esq RENEWAL36Asiya Javayant
1008Tony K FerenczArgentina2026-10-10King, Christopher A Esq RENEWAL80Onyama Limba
1009Munro A ShinkoArgentina2026-10-09Commercial Press UNQUALIFIED91Xuxue Feng
1010Jennifer O AmigonSpain2026-09-30Rousseaux, Michael Esq NEGOTIATION59Asiya Javayant
1011Mayumi B NestleItaly2026-10-25Printing Dimensions UNQUALIFIED15Ioni Bowcher
1012Clifford N GillianAustralia2026-10-05King, Christopher A Esq UNQUALIFIED66Elwin Sharvill
1013Adams A SaylorsBrazil2026-10-07Truhlar And Truhlar Attys UNQUALIFIED41Elwin Sharvill
1014Silvio E PerinUnited Kingdom2026-10-02Dorl, James J Esq NEW88Onyama Limba
1015Smith M PaprockiJapan2026-10-29Dorl, James J Esq NEW59Onyama Limba
1016Sinclair Y FlosiAustralia2026-10-09Rousseaux, Michael Esq NEW57Asiya Javayant
1017Jeanfrancois I VocelkaIndia2026-10-15Printing Dimensions NEW90Stephen Shaw
1018Greenwood J GlickJapan2026-10-26King, Christopher A Esq NEGOTIATION64Anna Fali
1019James V RimRussia2026-10-11Chanay, Jeffrey A Esq QUALIFIED98Amy Elsner
1020Darci V KolmetzBrazil2026-10-11Chanay, Jeffrey A Esq NEW60Asiya Javayant
1021James O FlosiRussia2026-10-19Feltz Printing Service RENEWAL53Anna Fali
1022Rodrigues G RulapaughAustralia2026-10-01Chanay, Jeffrey A Esq NEGOTIATION12Bernardo Dominic
1023Alejandro M AlbaresRussia2026-10-08Rangoni Of Florence QUALIFIED46Xuxue Feng
1024Greenwood Q StensethAustralia2026-10-01Chemel, James L Cpa QUALIFIED59Elwin Sharvill
1025Faith I FollerIndia2026-10-29King, Christopher A Esq QUALIFIED14Asiya Javayant
1026Isabel A FlosiCanada2026-10-03King, Christopher A Esq RENEWAL23Stephen Shaw
1027Greenwood V PaprockiFrance2026-10-08Dorl, James J Esq QUALIFIED94Stephen Shaw
1028Sinclair E AlbaresItaly2026-10-10Feltz Printing Service QUALIFIED92Ivan Magalhaes
1029Greenwood X BowleyAustralia2026-10-29Benton, John B Jr NEW38Asiya Javayant
1030Silvio Q BowleyFrance2026-10-20Chanay, Jeffrey A Esq UNQUALIFIED40Elwin Sharvill
1031Darci O OldroydBrazil2026-10-13Chanay, Jeffrey A Esq RENEWAL22Anna Fali
1032Ashley R ChuiIndia2026-10-03Benton, John B Jr QUALIFIED5Asiya Javayant
1033Sinclair L StensethSpain2026-10-04Printing Dimensions RENEWAL22Onyama Limba
1034Isabel E RimBrazil2026-10-22Chemel, James L Cpa NEW79Anna Fali
1035Isabel C MacleadRussia2026-10-01Commercial Press RENEWAL30Ioni Bowcher
1036Ricardo Z RulapaughBrazil2026-10-09Buckley Miller Wright RENEWAL96Xuxue Feng
1037Smith E CaudyArgentina2026-10-14Feiner Bros UNQUALIFIED4Bernardo Dominic
1038Jones M FigeroaBrazil2026-10-10Feltz Printing Service QUALIFIED66Onyama Limba
1039Deepesh R ShinkoRussia2026-10-12Rousseaux, Michael Esq QUALIFIED90Stephen Shaw
1040Aditya F SlusarskiSpain2026-10-27Benton, John B Jr UNQUALIFIED18Onyama Limba
1041Octavia N BowleyJapan2026-10-18Truhlar And Truhlar Attys RENEWAL65Asiya Javayant
1042Tony I MarrierUnited Kingdom2026-10-04Chanay, Jeffrey A Esq PROPOSAL45Bernardo Dominic
1043Jennifer Y VocelkaFrance2026-10-12Truhlar And Truhlar Attys PROPOSAL32Stephen Shaw
1044Francesco M AmigonGermany2026-09-30Truhlar And Truhlar Attys NEW84Amy Elsner
1045Faith P RoysterCanada2026-10-29Dorl, James J Esq RENEWAL15Bernardo Dominic
1046Ricardo N DilliardArgentina2026-10-24Chemel, James L Cpa NEGOTIATION56Ioni Bowcher
1047Jeanfrancois K PerinBrazil2026-10-04Morlong Associates PROPOSAL13Stephen Shaw
1048Nicolas J TollnerFrance2026-10-12Truhlar And Truhlar Attys RENEWAL89Amy Elsner
1049Kaitlin V InouyeArgentina2026-10-14Chemel, James L Cpa UNQUALIFIED73Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maisha E WhobreyIndiaAsiya Javayant NEGOTIATION
Emily M OstroskyArgentinaStephen Shaw NEGOTIATION
Rodrigues L ButtFranceAsiya Javayant NEGOTIATION
Emily Y DoeItalyXuxue Feng QUALIFIED
Darci O RimAustraliaIvan Magalhaes RENEWAL
Johnson H IturbideUnited KingdomElwin Sharvill NEGOTIATION
Greenwood T MarrierGermanyElwin Sharvill PROPOSAL
Kaitlin M BriddickCanadaAsiya Javayant PROPOSAL
Wickens U RimJapanStephen Shaw PROPOSAL
Julie C GauchoFranceOnyama Limba RENEWAL
Cody B BriddickFranceStephen Shaw QUALIFIED
Aika K GarufiItalyIvan Magalhaes PROPOSAL
Greenwood J DoeRussiaAnna Fali QUALIFIED
Silvio P InouyeFranceAmy Elsner UNQUALIFIED
Jones B WhobreyRussiaBernardo Dominic NEW
Arvin Q WieserJapanStephen Shaw QUALIFIED
Ivar O GarufiBrazilStephen Shaw NEGOTIATION
Tony V ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Salvatore L FollerItalyOnyama Limba PROPOSAL
Deepesh U MaletCanadaIvan Magalhaes PROPOSAL
Ricardo Y NestleCanadaElwin Sharvill UNQUALIFIED
Misaki X TollnerCanadaOnyama Limba PROPOSAL
Juan U OstroskyArgentinaIoni Bowcher NEW
Alejandro O PerinAustraliaElwin Sharvill NEW
Costa G WhobreyCanadaStephen Shaw NEGOTIATION
Mujtaba G MaletIndiaElwin Sharvill NEGOTIATION
Misaki G MacleadFranceBernardo Dominic NEGOTIATION
Julie M RulapaughAustraliaAmy Elsner NEW
Mayumi N OldroydItalyBernardo Dominic NEGOTIATION
Alejandro U SaylorsBrazilAmy Elsner NEGOTIATION
Antonio C StensethGermanyIoni Bowcher RENEWAL
Alejandro Z CaldareraIndiaAsiya Javayant PROPOSAL
Tony E StensethItalyIoni Bowcher QUALIFIED
Stacey N PaprockiRussiaAmy Elsner RENEWAL
Alejandro M SchemmerGermanyElwin Sharvill UNQUALIFIED
Leja A MaletUnited KingdomAnna Fali NEGOTIATION
Deepesh W AlbaresAustraliaElwin Sharvill PROPOSAL
Costa T NickaSpainXuxue Feng RENEWAL
Octavia G PerinFranceAsiya Javayant NEGOTIATION
Adams X ChuiSpainAsiya Javayant QUALIFIED
Kaitlin H IturbideFranceElwin Sharvill RENEWAL
Maria F MacleadCanadaIvan Magalhaes PROPOSAL
Tony V AmigonItalyBernardo Dominic NEGOTIATION
Chavez J AlbaresAustraliaStephen Shaw NEW
Ivar O DoeArgentinaBernardo Dominic UNQUALIFIED
Silvio L WhobreyBrazilAnna Fali PROPOSAL
Leon K MarrierIndiaStephen Shaw RENEWAL
Faith S ButtSpainAsiya Javayant NEGOTIATION
Wickens A WieserItalyAnna Fali QUALIFIED
Sinclair U CaudyJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Tony J Morasca
Leon S Wieser
Johnson W Bolognia
Clifford L Slusarski
Rodrigues B Campain
Morrow E Kusko
James T Glick
Juan E Whobrey
Juan B Butt
David E Glick
Ricardo C Caudy
Ricardo D Figeroa
Faith Z Butt
Mayumi P Dilliard
Cody P Waycott
Alejandro F Kusko
Julie D Shinko
Murillo V Venere
Stacey O Malet
Aditya G Campain
Rodrigues L Rim
Arvin C Caudy
Aruna I Malet
James S Oldroyd
Jones S Amigon
Claire O Butt
Wickens L Briddick
Leon X Rim
Aruna Q Albares
Jones W Ferencz
Maria V Caudy
Maria H Paprocki
Silvio K Kolmetz
Jeanfrancois E Rim
Juan C Gillian
Aika L Nicka
Maisha Z Doe
Aruna L Rim
Jones S Rulapaugh
Ivar N Saylors
Maisha W Caudy
Julie Z Stenseth
Juan Z Iturbide
Ashley G Campain
Adams Q Campain
Rodrigues N Maclead
Ricardo V Sergi
Maria Z Bowley
James H Shinko
Maisha U Tollner
IdCountryDate
1000Germany2026-10-17
1001United Kingdom2026-10-27
1002Canada2026-10-23
1003France2026-10-11
1004India2026-10-09
1005Japan2026-10-04
1006United Kingdom2026-09-30
1007Italy2026-10-20
1008India2026-10-14
1009Australia2026-10-18
1010United Kingdom2026-10-07
1011Argentina2026-10-28
1012France2026-10-19
1013India2026-10-17
1014Russia2026-10-18
1015Japan2026-10-02
1016Canada2026-10-16
1017Canada2026-10-16
1018India2026-10-12
1019Australia2026-10-28
1020United Kingdom2026-10-21
1021Australia2026-10-26
1022Germany2026-10-18
1023Japan2026-10-05
1024Argentina2026-10-22
1025Argentina2026-10-06
1026Argentina2026-10-03
1027Canada2026-10-02
1028India2026-10-05
1029France2026-10-24
1030Brazil2026-10-29
1031Japan2026-10-28
1032Spain2026-10-19
1033Brazil2026-10-01
1034Italy2026-10-20
1035United Kingdom2026-10-21
1036Japan2026-10-26
1037India2026-10-14
1038India2026-10-08
1039France2026-10-11
1040Spain2026-09-30
1041Argentina2026-10-16
1042Japan2026-10-12
1043Russia2026-10-13
1044Italy2026-10-22
1045Russia2026-10-23
1046Canada2026-10-01
1047Brazil2026-10-27
1048France2026-10-13
1049Russia2026-10-13

On-Demand Data

NameIdCountryDate
Leon M Rulapaugh1000United Kingdom2026-10-02
Izzy O Vocelka1001Argentina2026-10-05
Jennifer M Nicka1002United Kingdom2026-10-10
Salvatore N Malet1003India2026-10-09
Tony X Stockham1004France2026-10-05
Wickens E Paprocki1005Germany2026-10-01
David U Malet1006United Kingdom2026-10-18
Tony P Foller1007United Kingdom2026-10-20
Jeanfrancois F Tollner1008Spain2026-10-29
Jefferson D Shinko1009Australia2026-10-05
Darci P Iturbide1010Spain2026-10-23
Jones I Rim1011Italy2026-10-05
Deepesh C Campain1012United Kingdom2026-10-16
Maisha V Gaucho1013Spain2026-10-02
Munro W Nestle1014Germany2026-10-27
Aditya Z Venere1015Russia2026-10-11
Aditya N Amigon1016Canada2026-10-10
Faith X Dilliard1017India2026-10-20
Jeanfrancois N Malet1018Italy2026-10-06
Juan A Iturbide1019Canada2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony A SchemmerAustraliaBernardo Dominic NEGOTIATION
Wickens A CaudyRussiaXuxue Feng PROPOSAL
Aika U WieserCanadaAnna Fali QUALIFIED
Darci J MaletRussiaIoni Bowcher UNQUALIFIED
Deepesh X VenereRussiaOnyama Limba QUALIFIED
Mujtaba F SchemmerCanadaOnyama Limba NEW
Smith I KolmetzUnited KingdomAsiya Javayant RENEWAL
Chavez I FlosiItalyBernardo Dominic RENEWAL
Cody L OstroskyGermanyIvan Magalhaes QUALIFIED
Tony H SlusarskiRussiaOnyama Limba NEGOTIATION
Maisha L RutaArgentinaAmy Elsner RENEWAL
Nicolas O SaylorsCanadaAmy Elsner UNQUALIFIED
Darci J SchemmerGermanyIoni Bowcher RENEWAL
David V VenereSpainAnna Fali RENEWAL
Aditya J GillianJapanIoni Bowcher NEGOTIATION
Arvin X NestleFranceAsiya Javayant PROPOSAL
Nicolas U MorascaSpainBernardo Dominic UNQUALIFIED
Mayumi E PaprockiBrazilAmy Elsner UNQUALIFIED
Mujtaba O VocelkaAustraliaStephen Shaw UNQUALIFIED
Kadeem G ShinkoRussiaIoni Bowcher NEW
Claire Y OldroydFranceStephen Shaw UNQUALIFIED
Octavia H FerenczAustraliaBernardo Dominic UNQUALIFIED
Ivar C PaprockiItalyBernardo Dominic QUALIFIED
Jones V GarufiGermanyIoni Bowcher NEW
James A DilliardRussiaBernardo Dominic RENEWAL
Antonio E AmigonGermanyStephen Shaw RENEWAL
Jones E MaletGermanyAmy Elsner PROPOSAL
Adams Z SergiIndiaAmy Elsner RENEWAL
Aika C CampainFranceAmy Elsner PROPOSAL
Munro V SlusarskiBrazilAmy Elsner NEW
Jefferson M MorascaArgentinaXuxue Feng RENEWAL
Kadeem I NestleItalyAsiya Javayant NEW
Darci E MaletRussiaIvan Magalhaes UNQUALIFIED
Johnson P RutaJapanIoni Bowcher NEW
Ashley A GauchoGermanyIvan Magalhaes RENEWAL
Nicolas Z ButtRussiaAsiya Javayant PROPOSAL
Maria E RulapaughBrazilIoni Bowcher NEW
Ashley C PoquetteFranceAsiya Javayant UNQUALIFIED
Mayumi S SlusarskiSpainAnna Fali NEGOTIATION
Jennifer M KuskoItalyIoni 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>