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
Aditya Y FerenczIndiaBernardo Dominic NEW
Aika L CaudySpainAsiya Javayant UNQUALIFIED
David A VocelkaIndiaIvan Magalhaes NEW
Alejandro W RulapaughGermanyAsiya Javayant PROPOSAL
Octavia O GillianItalyAnna Fali RENEWAL
Mujtaba G StensethIndiaAsiya Javayant PROPOSAL
Clifford S RulapaughSpainOnyama Limba PROPOSAL
Smith B InouyeGermanyAmy Elsner PROPOSAL
Cody N MaletGermanyAnna Fali QUALIFIED
Greenwood M PoquetteFranceAnna Fali UNQUALIFIED
Ashley R VocelkaArgentinaStephen Shaw NEGOTIATION
Salvatore Y MaletGermanyAnna Fali NEW
Maisha L GauchoUnited KingdomXuxue Feng PROPOSAL
Smith Z ShinkoBrazilIoni Bowcher NEW
Misaki E PoquetteAustraliaBernardo Dominic NEGOTIATION
Faith A StockhamGermanyBernardo Dominic UNQUALIFIED
Smith E CaldareraAustraliaElwin Sharvill PROPOSAL
Murillo T BowleyCanadaIvan Magalhaes RENEWAL
Ashley F TollnerRussiaIoni Bowcher PROPOSAL
Jones C MorascaJapanOnyama Limba QUALIFIED
James F KuskoArgentinaIoni Bowcher QUALIFIED
Rodrigues E WaycottAustraliaStephen Shaw QUALIFIED
Jeanfrancois V TollnerFranceElwin Sharvill UNQUALIFIED
Alejandro V IturbideArgentinaElwin Sharvill NEGOTIATION
Claire N BriddickIndiaAsiya Javayant UNQUALIFIED
Mayumi Z SergiIndiaIvan Magalhaes NEGOTIATION
Aditya P PerinFranceIoni Bowcher RENEWAL
Morrow A IturbideItalyBernardo Dominic NEW
Ricardo X BologniaGermanyAmy Elsner RENEWAL
Murillo K RulapaughIndiaAsiya Javayant UNQUALIFIED
Adams O OstroskyItalyXuxue Feng PROPOSAL
Smith G AmigonAustraliaStephen Shaw NEGOTIATION
Salvatore U DarakjyCanadaStephen Shaw PROPOSAL
Leon L PaprockiGermanyStephen Shaw UNQUALIFIED
Munro T FerenczIndiaAnna Fali PROPOSAL
Cody L DoeSpainIoni Bowcher UNQUALIFIED
Francesco O NestleItalyXuxue Feng UNQUALIFIED
Juan U FigeroaIndiaElwin Sharvill NEW
Chavez U SergiFranceStephen Shaw PROPOSAL
Julie S DoeJapanXuxue Feng UNQUALIFIED
Octavia I PerinSpainAnna Fali PROPOSAL
Clifford J DilliardAustraliaIvan Magalhaes PROPOSAL
Darci R PaprockiCanadaIoni Bowcher PROPOSAL
Smith V CaudyItalyIvan Magalhaes PROPOSAL
Isabel A VenereAustraliaAmy Elsner PROPOSAL
Jennifer H BriddickSpainIoni Bowcher NEGOTIATION
Octavia A DoeSpainAmy Elsner RENEWAL
Kaitlin I MaletGermanyOnyama Limba NEGOTIATION
Nicolas A MacleadGermanyIoni Bowcher QUALIFIED
Juan H FerenczArgentinaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha G TollnerIndiaStephen Shaw PROPOSAL
Stacey V FlosiFranceXuxue Feng QUALIFIED
Aditya E GlickFranceOnyama Limba UNQUALIFIED
Emily H CaudyArgentinaAsiya Javayant RENEWAL
Tony J DoeArgentinaIoni Bowcher UNQUALIFIED
Morrow Y RoysterGermanyIvan Magalhaes QUALIFIED
Octavia X SergiSpainBernardo Dominic UNQUALIFIED
Claire K KuskoArgentinaIoni Bowcher RENEWAL
David N BowleyAustraliaIvan Magalhaes NEW
Juan U InouyeUnited KingdomOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith Q SlusarskiUnited Kingdom2026-09-21Rangoni Of Florence NEW81Amy Elsner
1001Nicolas C StensethFrance2026-09-30Chemel, James L Cpa NEGOTIATION71Ivan Magalhaes
1002Claire O WaycottRussia2026-10-04Buckley Miller Wright NEGOTIATION0Bernardo Dominic
1003Ricardo X GauchoIndia2026-09-12Benton, John B Jr QUALIFIED17Stephen Shaw
1004Murillo X DarakjyArgentina2026-09-23Commercial Press UNQUALIFIED62Elwin Sharvill
1005David B TollnerSpain2026-09-12Truhlar And Truhlar Attys NEGOTIATION94Anna Fali
1006Munro O GillianAustralia2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED99Elwin Sharvill
1007Mujtaba E RutaBrazil2026-09-17Commercial Press PROPOSAL42Amy Elsner
1008Isabel U MarrierCanada2026-10-03Commercial Press QUALIFIED67Ioni Bowcher
1009Maisha M CaldareraBrazil2026-09-16Chapman, Ross E Esq NEGOTIATION49Ivan Magalhaes
1010Isabel C MaletUnited Kingdom2026-09-13King, Christopher A Esq RENEWAL38Onyama Limba
1011Cody A FerenczFrance2026-09-26Truhlar And Truhlar Attys QUALIFIED56Anna Fali
1012Morrow W FerenczFrance2026-09-17Commercial Press QUALIFIED6Ivan Magalhaes
1013Salvatore E RimAustralia2026-09-05Printing Dimensions PROPOSAL40Ioni Bowcher
1014James F FerenczFrance2026-09-10Rangoni Of Florence UNQUALIFIED90Anna Fali
1015Antonio A KuskoIndia2026-09-05Morlong Associates PROPOSAL12Elwin Sharvill
1016Kadeem W MarrierRussia2026-09-12Feiner Bros PROPOSAL60Onyama Limba
1017Alejandro L NickaCanada2026-09-05Printing Dimensions NEGOTIATION46Onyama Limba
1018Jefferson T FigeroaArgentina2026-09-29Benton, John B Jr UNQUALIFIED32Amy Elsner
1019Nicolas C RutaAustralia2026-09-13Morlong Associates RENEWAL73Onyama Limba
1020Silvio M BowleySpain2026-09-07Printing Dimensions RENEWAL64Amy Elsner
1021Deepesh O RulapaughFrance2026-09-26Benton, John B Jr RENEWAL81Xuxue Feng
1022Antonio E RutaIndia2026-10-04Rousseaux, Michael Esq UNQUALIFIED61Amy Elsner
1023Kadeem K KuskoAustralia2026-09-29Dorl, James J Esq UNQUALIFIED58Bernardo Dominic
1024Tony O KolmetzBrazil2026-09-09Commercial Press UNQUALIFIED99Anna Fali
1025Mayumi O CaudyArgentina2026-09-06Chanay, Jeffrey A Esq PROPOSAL4Stephen Shaw
1026Ricardo M SaylorsAustralia2026-09-27Morlong Associates NEW92Ivan Magalhaes
1027Tony F StockhamRussia2026-09-15Feiner Bros PROPOSAL72Ioni Bowcher
1028Aditya Q FigeroaIndia2026-09-06King, Christopher A Esq NEGOTIATION25Stephen Shaw
1029Faith K CaudyIndia2026-09-11Chanay, Jeffrey A Esq QUALIFIED37Xuxue Feng
1030James N ChuiAustralia2026-09-23Dorl, James J Esq NEW55Bernardo Dominic
1031Juan T BowleyJapan2026-09-18Feltz Printing Service NEGOTIATION44Elwin Sharvill
1032Darci G PaprockiFrance2026-09-20Dorl, James J Esq QUALIFIED81Amy Elsner
1033Maria S SergiJapan2026-09-25Feltz Printing Service PROPOSAL13Amy Elsner
1034Silvio F SlusarskiJapan2026-09-23Rousseaux, Michael Esq NEGOTIATION34Ivan Magalhaes
1035Ashley S CaldareraItaly2026-09-23Buckley Miller Wright PROPOSAL48Elwin Sharvill
1036Arvin Q GlickSpain2026-09-18Chapman, Ross E Esq UNQUALIFIED90Stephen Shaw
1037Izzy P SaylorsItaly2026-09-06Truhlar And Truhlar Attys NEGOTIATION77Bernardo Dominic
1038Claire L MacleadRussia2026-09-13King, Christopher A Esq QUALIFIED69Asiya Javayant
1039Sinclair I NestleBrazil2026-09-10Printing Dimensions UNQUALIFIED28Amy Elsner
1040Maria M GlickJapan2026-10-01Rangoni Of Florence RENEWAL83Stephen Shaw
1041Jones G InouyeArgentina2026-09-11Rangoni Of Florence QUALIFIED82Anna Fali
1042Julie K SaylorsSpain2026-09-19Feiner Bros UNQUALIFIED36Stephen Shaw
1043Emily F MorascaAustralia2026-09-11Feltz Printing Service PROPOSAL36Asiya Javayant
1044Kadeem B NestleRussia2026-09-12Benton, John B Jr QUALIFIED48Elwin Sharvill
1045Ivar M FerenczSpain2026-10-04Morlong Associates UNQUALIFIED0Xuxue Feng
1046Ricardo H PerinFrance2026-09-11Chanay, Jeffrey A Esq PROPOSAL97Ioni Bowcher
1047Stacey G PaprockiUnited Kingdom2026-09-18Benton, John B Jr QUALIFIED21Ioni Bowcher
1048Darci M TollnerCanada2026-09-23Chanay, Jeffrey A Esq QUALIFIED2Stephen Shaw
1049Tony T ShinkoSpain2026-09-26Printing Dimensions QUALIFIED40Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David F InouyeUnited KingdomXuxue Feng NEW
Aruna S OstroskySpainBernardo Dominic NEW
Octavia A AmigonCanadaBernardo Dominic PROPOSAL
Izzy J CaudyFranceStephen Shaw RENEWAL
Munro D MarrierJapanIvan Magalhaes PROPOSAL
Cody F VenereCanadaElwin Sharvill NEW
Greenwood F WhobreyGermanyIvan Magalhaes UNQUALIFIED
Cody S StockhamFranceAsiya Javayant NEW
Leja E MacleadGermanyIvan Magalhaes QUALIFIED
Adams B DarakjyAustraliaBernardo Dominic UNQUALIFIED
Izzy T BologniaBrazilAnna Fali UNQUALIFIED
Jennifer F BriddickRussiaXuxue Feng RENEWAL
Sinclair S SchemmerFranceOnyama Limba RENEWAL
Wickens B IturbideIndiaBernardo Dominic NEGOTIATION
Deepesh U ChuiBrazilAnna Fali NEW
Jennifer P SlusarskiJapanAmy Elsner NEW
Chavez P MarrierAustraliaElwin Sharvill UNQUALIFIED
Costa W RulapaughSpainAsiya Javayant PROPOSAL
Francesco G WaycottCanadaAnna Fali NEGOTIATION
Morrow I VenereFranceBernardo Dominic RENEWAL
Leja X PaprockiArgentinaStephen Shaw PROPOSAL
Deepesh Y ShinkoItalyIvan Magalhaes NEW
Morrow J CampainAustraliaIvan Magalhaes RENEWAL
Kaitlin G PaprockiGermanyAsiya Javayant PROPOSAL
Sinclair Q PaprockiUnited KingdomBernardo Dominic NEW
Darci G AmigonSpainStephen Shaw RENEWAL
Octavia R AlbaresUnited KingdomOnyama Limba PROPOSAL
Deepesh J ChuiBrazilXuxue Feng PROPOSAL
Tony R AmigonUnited KingdomIvan Magalhaes RENEWAL
Antonio P FigeroaRussiaOnyama Limba NEGOTIATION
Francesco T CaudyAustraliaElwin Sharvill NEW
Aditya Q InouyeUnited KingdomStephen Shaw PROPOSAL
Costa A MaletBrazilAsiya Javayant RENEWAL
Arvin N CaldareraGermanyStephen Shaw NEW
Cody R MaletGermanyOnyama Limba NEGOTIATION
Izzy T MaletFranceBernardo Dominic NEW
Francesco A DilliardRussiaAmy Elsner UNQUALIFIED
Rodrigues R DilliardBrazilIvan Magalhaes UNQUALIFIED
Salvatore M IturbideBrazilElwin Sharvill PROPOSAL
Kadeem W SlusarskiArgentinaAnna Fali NEGOTIATION
David N MaletCanadaIvan Magalhaes RENEWAL
Izzy T RoysterJapanElwin Sharvill QUALIFIED
Stacey R FerenczBrazilOnyama Limba UNQUALIFIED
Adams S KolmetzGermanyAmy Elsner UNQUALIFIED
Sinclair L DoeUnited KingdomAnna Fali RENEWAL
Antonio D PerinCanadaStephen Shaw QUALIFIED
Silvio L FollerArgentinaIvan Magalhaes NEGOTIATION
Ivar T FigeroaGermanyBernardo Dominic NEGOTIATION
Smith U ChuiBrazilAmy Elsner PROPOSAL
Arvin H GarufiAustraliaIoni Bowcher RENEWAL
Frozen Columns
Name
Maisha J Ostrosky
Tony G Ruta
Mayumi O Malet
Chavez K Gaucho
Arvin O Kolmetz
Kaitlin Y Bolognia
Rodrigues M Flosi
Nicolas F Iturbide
Faith E Darakjy
Julie C Schemmer
Ivar F Butt
Ashley S Caldarera
Kaitlin F Flosi
Tony V Bowley
Jefferson Q Royster
Smith E Marrier
Morrow J Nestle
Aika W Malet
Morrow W Slusarski
Francesco L Whobrey
Faith T Darakjy
Cody L Kusko
Munro I Ferencz
Wickens T Nestle
Ashley R Royster
Mujtaba Q Malet
Ashley R Inouye
James L Iturbide
Leon U Malet
Salvatore O Waycott
Nicolas K Rim
Antonio G Iturbide
Smith T Waycott
Aruna O Garufi
David R Kolmetz
Clifford P Oldroyd
Izzy T Butt
Jennifer F Briddick
Cody A Flosi
Leja L Caldarera
Ashley I Stenseth
James R Iturbide
Stacey Z Doe
Stacey X Wieser
Leja P Maclead
Nicolas G Oldroyd
Smith R Stockham
Costa U Darakjy
Munro P Foller
Deepesh P Kusko
IdCountryDate
1000Spain2026-09-12
1001India2026-09-06
1002Canada2026-09-05
1003Canada2026-09-27
1004United Kingdom2026-09-08
1005Spain2026-09-22
1006Canada2026-09-21
1007Germany2026-09-08
1008Russia2026-09-17
1009Canada2026-09-19
1010United Kingdom2026-09-27
1011Russia2026-09-09
1012Brazil2026-09-30
1013Argentina2026-09-13
1014United Kingdom2026-10-03
1015Brazil2026-09-10
1016India2026-09-23
1017Italy2026-09-05
1018Spain2026-09-30
1019Spain2026-09-14
1020India2026-10-02
1021Argentina2026-09-11
1022Australia2026-10-01
1023France2026-09-30
1024Australia2026-09-10
1025Russia2026-09-24
1026Germany2026-09-23
1027Brazil2026-09-26
1028Australia2026-09-05
1029Canada2026-09-15
1030Italy2026-09-26
1031India2026-09-18
1032France2026-10-04
1033France2026-09-06
1034Italy2026-09-05
1035Spain2026-09-21
1036Spain2026-09-24
1037Canada2026-09-29
1038Spain2026-09-08
1039Russia2026-09-07
1040Germany2026-09-17
1041India2026-10-02
1042United Kingdom2026-09-11
1043Russia2026-09-19
1044Italy2026-09-15
1045Russia2026-10-01
1046Italy2026-09-13
1047Brazil2026-09-11
1048India2026-09-05
1049Argentina2026-10-01

On-Demand Data

NameIdCountryDate
Clifford O Butt1000Brazil2026-09-09
Greenwood Z Maclead1001Australia2026-09-15
Emily S Chui1002India2026-09-19
Chavez X Malet1003Russia2026-09-11
Jefferson R Marrier1004Argentina2026-09-22
Faith W Iturbide1005Canada2026-09-23
Kadeem B Kolmetz1006Russia2026-09-28
Deepesh O Shinko1007India2026-09-26
James X Albares1008Brazil2026-09-11
Antonio N Gillian1009Germany2026-09-20
Faith B Morasca1010Argentina2026-09-14
Salvatore S Ruta1011Russia2026-09-05
Rodrigues E Morasca1012Italy2026-09-09
Darci T Malet1013Germany2026-09-20
Ivar R Garufi1014Brazil2026-09-07
Leja M Flosi1015Brazil2026-09-16
Greenwood P Butt1016Japan2026-09-26
Faith Q Caldarera1017Australia2026-09-06
Aika M Foller1018Australia2026-09-05
Morrow R Morasca1019France2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio X WhobreyRussiaOnyama Limba UNQUALIFIED
Silvio X WhobreyItalyElwin Sharvill NEGOTIATION
Kadeem K NestleSpainBernardo Dominic RENEWAL
Kaitlin Q PaprockiRussiaOnyama Limba NEW
David D VocelkaSpainStephen Shaw NEW
Aruna J ButtJapanStephen Shaw NEW
Morrow W AmigonSpainIvan Magalhaes PROPOSAL
Chavez F CaudyCanadaIvan Magalhaes NEW
Ashley J GarufiUnited KingdomAnna Fali UNQUALIFIED
Tony O BologniaBrazilXuxue Feng NEGOTIATION
Kaitlin J ShinkoIndiaStephen Shaw QUALIFIED
Nicolas T WieserArgentinaOnyama Limba UNQUALIFIED
Johnson H PaprockiBrazilIoni Bowcher NEGOTIATION
Mujtaba H AmigonGermanyOnyama Limba QUALIFIED
Darci Q SchemmerItalyXuxue Feng PROPOSAL
Francesco I VocelkaItalyBernardo Dominic RENEWAL
Salvatore I OstroskySpainStephen Shaw QUALIFIED
Tony O SchemmerFranceOnyama Limba QUALIFIED
Tony V GillianFranceBernardo Dominic QUALIFIED
Maisha Z MaletItalyElwin Sharvill UNQUALIFIED
Johnson Z SchemmerFranceBernardo Dominic UNQUALIFIED
Aika S RutaFranceIoni Bowcher UNQUALIFIED
David N KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Emily U MorascaRussiaAnna Fali QUALIFIED
Claire Y RoysterRussiaIvan Magalhaes RENEWAL
Leja D BriddickAustraliaOnyama Limba UNQUALIFIED
Jones J BriddickSpainStephen Shaw UNQUALIFIED
Mujtaba S SchemmerAustraliaAnna Fali PROPOSAL
Aruna L PerinCanadaStephen Shaw PROPOSAL
Kaitlin A PerinArgentinaBernardo Dominic QUALIFIED
Maria O GlickJapanOnyama Limba NEW
David U AmigonArgentinaAnna Fali NEW
Kadeem F RimItalyAmy Elsner UNQUALIFIED
Greenwood O FigeroaAustraliaElwin Sharvill NEW
Morrow H RimCanadaIvan Magalhaes UNQUALIFIED
Misaki S MarrierFranceStephen Shaw PROPOSAL
Smith F RutaBrazilOnyama Limba NEW
Mayumi E MaletItalyIvan Magalhaes QUALIFIED
Aruna T IturbideGermanyIoni Bowcher UNQUALIFIED
Jones H PoquetteCanadaXuxue Feng NEGOTIATION

<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>