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
Tony B PaprockiFranceAmy Elsner RENEWAL
Darci L MacleadIndiaBernardo Dominic QUALIFIED
Johnson R VocelkaGermanyIoni Bowcher QUALIFIED
Costa T WhobreyIndiaAsiya Javayant PROPOSAL
Aika B DarakjyItalyXuxue Feng NEW
Arvin G DilliardRussiaXuxue Feng PROPOSAL
Octavia H NickaGermanyXuxue Feng PROPOSAL
Smith E GillianCanadaElwin Sharvill UNQUALIFIED
Mayumi G OstroskyGermanyAsiya Javayant RENEWAL
Julie R MorascaSpainAnna Fali NEW
Ricardo N OstroskyRussiaAsiya Javayant QUALIFIED
Greenwood R GarufiItalyIvan Magalhaes NEW
Juan K BowleyRussiaBernardo Dominic QUALIFIED
Jefferson M MacleadFranceIoni Bowcher UNQUALIFIED
Sinclair Q PerinUnited KingdomIvan Magalhaes PROPOSAL
Antonio W MorascaGermanyAsiya Javayant NEW
Clifford E FlosiBrazilStephen Shaw UNQUALIFIED
David F AlbaresCanadaAmy Elsner UNQUALIFIED
Juan O VocelkaUnited KingdomAnna Fali UNQUALIFIED
Munro P CaudyUnited KingdomIvan Magalhaes RENEWAL
Ashley S CampainItalyAmy Elsner NEGOTIATION
Mujtaba G RimSpainIoni Bowcher UNQUALIFIED
Sinclair J DarakjyIndiaOnyama Limba NEW
Aditya B PaprockiIndiaAmy Elsner UNQUALIFIED
Sinclair C GauchoRussiaStephen Shaw UNQUALIFIED
Emily Z WhobreyBrazilIvan Magalhaes RENEWAL
Kaitlin J GillianAustraliaAmy Elsner NEGOTIATION
Munro I PerinIndiaIoni Bowcher UNQUALIFIED
Silvio Y InouyeUnited KingdomAnna Fali RENEWAL
Julie V ShinkoBrazilOnyama Limba PROPOSAL
Jennifer C BologniaSpainStephen Shaw UNQUALIFIED
Ashley H IturbideItalyIoni Bowcher NEGOTIATION
Arvin I RulapaughArgentinaXuxue Feng RENEWAL
Jeanfrancois Z FollerArgentinaStephen Shaw PROPOSAL
Arvin Q NestleJapanBernardo Dominic NEW
Johnson P KolmetzCanadaStephen Shaw PROPOSAL
Alejandro Z RimCanadaIvan Magalhaes QUALIFIED
Ricardo Q WaycottArgentinaAnna Fali UNQUALIFIED
Alejandro O BologniaItalyAnna Fali QUALIFIED
Alejandro I CaldareraIndiaIvan Magalhaes NEGOTIATION
Murillo E DilliardItalyStephen Shaw QUALIFIED
Aditya D BowleyFranceElwin Sharvill QUALIFIED
Wickens W DoeArgentinaStephen Shaw RENEWAL
Johnson G BowleyGermanyAnna Fali NEW
Jefferson Q FollerRussiaAnna Fali RENEWAL
Maria T NestleIndiaIvan Magalhaes PROPOSAL
Francesco L GillianAustraliaAsiya Javayant NEGOTIATION
Greenwood A InouyeJapanAsiya Javayant NEGOTIATION
Nicolas Y TollnerAustraliaAnna Fali UNQUALIFIED
Aditya J FlosiBrazilAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo I TollnerFranceIoni Bowcher NEW
Jefferson K FigeroaRussiaOnyama Limba NEW
Silvio Q BologniaFranceXuxue Feng RENEWAL
Francesco R OldroydBrazilAsiya Javayant NEW
Maisha W GillianSpainAsiya Javayant NEGOTIATION
Maisha Z DilliardAustraliaOnyama Limba PROPOSAL
Ivar W FigeroaBrazilOnyama Limba RENEWAL
Kadeem P SlusarskiItalyAmy Elsner PROPOSAL
Smith S SchemmerUnited KingdomIoni Bowcher QUALIFIED
Emily D DilliardFranceElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan W DilliardAustralia2026-10-30Printing Dimensions QUALIFIED62Anna Fali
1001Juan C BriddickArgentina2026-10-18Benton, John B Jr UNQUALIFIED36Ivan Magalhaes
1002Jones I MaletIndia2026-10-31Rousseaux, Michael Esq NEW24Stephen Shaw
1003David E GarufiItaly2026-10-05Printing Dimensions RENEWAL11Stephen Shaw
1004Mayumi Y DarakjyAustralia2026-10-26Benton, John B Jr QUALIFIED82Xuxue Feng
1005Leon N CaldareraItaly2026-10-24Feiner Bros RENEWAL6Stephen Shaw
1006Julie I DilliardGermany2026-10-29Feiner Bros RENEWAL35Elwin Sharvill
1007Silvio H DarakjyBrazil2026-10-21Dorl, James J Esq UNQUALIFIED83Ioni Bowcher
1008Ricardo S PerinIndia2026-10-27Printing Dimensions UNQUALIFIED69Elwin Sharvill
1009Morrow E VenereIndia2026-10-21King, Christopher A Esq NEGOTIATION38Amy Elsner
1010Deepesh U SchemmerIndia2026-11-02Chanay, Jeffrey A Esq PROPOSAL49Stephen Shaw
1011Adams U NickaGermany2026-10-25Feltz Printing Service PROPOSAL52Stephen Shaw
1012Faith X TollnerJapan2026-10-26Rangoni Of Florence NEGOTIATION53Elwin Sharvill
1013Leja V CaldareraRussia2026-10-24Rousseaux, Michael Esq NEGOTIATION65Ioni Bowcher
1014Maisha T BriddickRussia2026-10-16Chemel, James L Cpa QUALIFIED92Asiya Javayant
1015James L FerenczSpain2026-10-09Truhlar And Truhlar Attys QUALIFIED2Stephen Shaw
1016Misaki B OldroydRussia2026-10-23Morlong Associates UNQUALIFIED85Bernardo Dominic
1017Nicolas G ChuiJapan2026-10-19Benton, John B Jr NEGOTIATION8Bernardo Dominic
1018Arvin E GauchoArgentina2026-10-07King, Christopher A Esq PROPOSAL36Bernardo Dominic
1019Nicolas Z WaycottGermany2026-10-13Dorl, James J Esq NEGOTIATION91Onyama Limba
1020Ivar I MorascaJapan2026-10-16Morlong Associates UNQUALIFIED78Stephen Shaw
1021Leon I PerinAustralia2026-10-12Buckley Miller Wright PROPOSAL68Onyama Limba
1022Misaki D StensethJapan2026-10-19Printing Dimensions RENEWAL75Xuxue Feng
1023Julie J BowleySpain2026-10-14Commercial Press NEW38Onyama Limba
1024Kadeem L WieserGermany2026-10-19Morlong Associates NEW54Anna Fali
1025Julie D RimJapan2026-10-29Chemel, James L Cpa QUALIFIED75Ioni Bowcher
1026Leon C OstroskyArgentina2026-10-29Feltz Printing Service QUALIFIED72Xuxue Feng
1027Clifford E WhobreyAustralia2026-10-24Benton, John B Jr UNQUALIFIED55Stephen Shaw
1028Chavez G BologniaIndia2026-10-26Benton, John B Jr PROPOSAL90Stephen Shaw
1029Cody I InouyeBrazil2026-10-07Chemel, James L Cpa NEGOTIATION7Bernardo Dominic
1030Wickens C ShinkoArgentina2026-10-28Commercial Press UNQUALIFIED31Amy Elsner
1031Munro J MaletItaly2026-10-16Rangoni Of Florence UNQUALIFIED94Bernardo Dominic
1032Juan R FerenczAustralia2026-10-29Buckley Miller Wright RENEWAL1Amy Elsner
1033Nicolas Y SchemmerCanada2026-10-19Chapman, Ross E Esq UNQUALIFIED70Anna Fali
1034Leja O CaldareraAustralia2026-10-14Chanay, Jeffrey A Esq RENEWAL64Stephen Shaw
1035Jeanfrancois G GauchoFrance2026-10-11Truhlar And Truhlar Attys NEW88Stephen Shaw
1036Sinclair R CaudyIndia2026-10-27Feiner Bros UNQUALIFIED48Ivan Magalhaes
1037Ashley T PoquetteFrance2026-10-17Buckley Miller Wright NEW14Elwin Sharvill
1038Silvio C OstroskyRussia2026-10-07Chemel, James L Cpa UNQUALIFIED8Anna Fali
1039Mayumi M GlickRussia2026-10-26Buckley Miller Wright RENEWAL74Ivan Magalhaes
1040Juan H GillianIndia2026-10-06Benton, John B Jr PROPOSAL96Stephen Shaw
1041Stacey S PoquetteGermany2026-10-14Chapman, Ross E Esq UNQUALIFIED98Stephen Shaw
1042Mayumi E GauchoGermany2026-10-24Benton, John B Jr RENEWAL95Anna Fali
1043Cody S CaudyAustralia2026-10-23Chemel, James L Cpa PROPOSAL28Xuxue Feng
1044Kaitlin X WaycottAustralia2026-10-09Dorl, James J Esq RENEWAL93Ivan Magalhaes
1045Clifford E DarakjyCanada2026-10-23King, Christopher A Esq UNQUALIFIED4Stephen Shaw
1046Leon W VenereIndia2026-10-12Chanay, Jeffrey A Esq PROPOSAL63Bernardo Dominic
1047Adams O RulapaughFrance2026-10-11Feltz Printing Service NEGOTIATION89Elwin Sharvill
1048Francesco F IturbideAustralia2026-10-24Benton, John B Jr UNQUALIFIED60Stephen Shaw
1049Clifford F StensethIndia2026-10-11Chemel, James L Cpa UNQUALIFIED0Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Deepesh V PaprockiRussiaAsiya Javayant PROPOSAL
Jeanfrancois Y SchemmerGermanyBernardo Dominic NEW
Silvio S RimFranceIvan Magalhaes QUALIFIED
Aditya L IturbideFranceAmy Elsner QUALIFIED
Juan J StockhamSpainXuxue Feng NEW
David R WaycottSpainElwin Sharvill NEW
Maria E CaldareraJapanIvan Magalhaes QUALIFIED
Mujtaba T RimItalyBernardo Dominic QUALIFIED
Nicolas Z AmigonGermanyBernardo Dominic NEGOTIATION
Juan X InouyeBrazilAmy Elsner NEGOTIATION
Kaitlin T PoquetteIndiaAsiya Javayant UNQUALIFIED
Silvio Z MarrierAustraliaStephen Shaw NEW
Murillo M SergiCanadaAnna Fali UNQUALIFIED
Kaitlin J DarakjyArgentinaAsiya Javayant UNQUALIFIED
Jefferson T DilliardFranceAsiya Javayant RENEWAL
Claire I RulapaughGermanyIoni Bowcher QUALIFIED
James A InouyeBrazilStephen Shaw NEGOTIATION
Alejandro F FlosiBrazilAsiya Javayant RENEWAL
Adams N DilliardCanadaIoni Bowcher QUALIFIED
Aika E PoquetteIndiaElwin Sharvill RENEWAL
Johnson N WaycottJapanOnyama Limba UNQUALIFIED
Darci Z WhobreyAustraliaIvan Magalhaes QUALIFIED
Kaitlin T BowleyJapanAmy Elsner UNQUALIFIED
Maria S FerenczFranceStephen Shaw RENEWAL
Jefferson D OldroydItalyOnyama Limba RENEWAL
Aditya E MaletItalyStephen Shaw NEW
Julie A VenereBrazilIvan Magalhaes NEW
Faith I TollnerFranceAmy Elsner NEW
Mujtaba S GillianSpainAsiya Javayant PROPOSAL
Juan L RimArgentinaAnna Fali NEW
Aditya Y FlosiJapanIoni Bowcher NEGOTIATION
Ivar X StensethCanadaAmy Elsner RENEWAL
Clifford C SchemmerIndiaElwin Sharvill QUALIFIED
Jones K AlbaresJapanIvan Magalhaes PROPOSAL
Darci K DilliardFranceAmy Elsner NEW
Leja H CaldareraItalyXuxue Feng PROPOSAL
Ivar Q BologniaGermanyOnyama Limba NEW
Izzy B GlickJapanBernardo Dominic UNQUALIFIED
Clifford C ChuiIndiaOnyama Limba NEW
Kadeem L StensethJapanIvan Magalhaes UNQUALIFIED
Ashley M MacleadUnited KingdomElwin Sharvill RENEWAL
Stacey V GillianCanadaAsiya Javayant RENEWAL
Nicolas W CampainItalyAmy Elsner RENEWAL
Silvio R DarakjyItalyOnyama Limba PROPOSAL
Kaitlin Y NickaCanadaStephen Shaw PROPOSAL
Ricardo Q WhobreyItalyStephen Shaw RENEWAL
Mayumi E MacleadSpainIvan Magalhaes QUALIFIED
Adams E MacleadItalyIoni Bowcher QUALIFIED
Ashley N GarufiFranceIvan Magalhaes PROPOSAL
Claire X RutaJapanIoni Bowcher RENEWAL
Frozen Columns
Name
Sinclair G Butt
Greenwood L Stockham
Octavia M Waycott
Kadeem R Morasca
Isabel M Vocelka
Ricardo F Marrier
Salvatore I Marrier
Faith N Gillian
Stacey Y Glick
Alejandro D Tollner
Jones G Doe
Jennifer F Poquette
Murillo Q Malet
Salvatore T Maclead
Stacey U Garufi
Aditya R Kusko
Aditya E Bolognia
Ashley K Waycott
Cody G Malet
Stacey Y Amigon
Aruna H Chui
Mayumi U Campain
Murillo V Perin
Emily C Rulapaugh
Emily L Caudy
Rodrigues A Vocelka
Maria V Campain
Leon O Paprocki
Octavia L Kolmetz
Claire Y Ruta
Aditya L Campain
Sinclair D Figeroa
Adams D Schemmer
Alejandro T Bowley
Murillo W Caudy
Salvatore K Marrier
Juan W Flosi
Silvio S Glick
Mayumi D Rulapaugh
James V Flosi
Alejandro Z Glick
Ashley V Inouye
Silvio A Paprocki
Leon B Briddick
Faith Z Bowley
Silvio L Marrier
Isabel R Kolmetz
Faith X Campain
Maria L Saylors
Chavez T Vocelka
IdCountryDate
1000Brazil2026-10-25
1001India2026-10-17
1002France2026-10-04
1003Canada2026-10-05
1004Germany2026-10-30
1005Spain2026-10-31
1006Spain2026-10-22
1007Japan2026-10-17
1008United Kingdom2026-10-23
1009Germany2026-10-28
1010Australia2026-10-24
1011Italy2026-10-15
1012France2026-10-18
1013Germany2026-10-19
1014Brazil2026-10-27
1015Argentina2026-10-10
1016Japan2026-11-01
1017India2026-10-10
1018India2026-10-31
1019Australia2026-10-28
1020Italy2026-10-23
1021France2026-10-10
1022India2026-10-07
1023United Kingdom2026-10-26
1024Russia2026-10-09
1025Japan2026-11-02
1026Japan2026-10-24
1027Argentina2026-10-29
1028Australia2026-10-11
1029France2026-10-18
1030Germany2026-10-21
1031United Kingdom2026-10-19
1032Italy2026-10-25
1033Australia2026-10-25
1034France2026-10-09
1035Italy2026-10-05
1036Argentina2026-10-07
1037France2026-10-28
1038Canada2026-10-20
1039Germany2026-10-18
1040Canada2026-10-12
1041Italy2026-10-28
1042Japan2026-11-02
1043Russia2026-10-24
1044Spain2026-10-14
1045Argentina2026-10-14
1046Brazil2026-10-18
1047Brazil2026-10-19
1048Brazil2026-10-14
1049Canada2026-11-01

On-Demand Data

NameIdCountryDate
Maisha W Amigon1000Japan2026-11-02
Kaitlin P Saylors1001Germany2026-10-15
Wickens K Campain1002Canada2026-10-13
Kadeem H Wieser1003Russia2026-10-27
Kaitlin Z Glick1004United Kingdom2026-10-27
Maisha G Garufi1005Italy2026-10-09
Maria E Darakjy1006United Kingdom2026-10-15
Alejandro W Figeroa1007Japan2026-10-04
Nicolas L Darakjy1008Argentina2026-10-09
Ricardo I Chui1009Germany2026-10-22
Juan T Garufi1010France2026-10-24
Francesco K Shinko1011Russia2026-10-24
Jones I Perin1012Italy2026-10-30
Adams X Poquette1013United Kingdom2026-10-27
Costa C Schemmer1014India2026-10-18
Mayumi E Kusko1015Brazil2026-11-01
Munro I Rulapaugh1016Brazil2026-10-21
Ashley H Flosi1017Italy2026-10-30
Wickens M Dilliard1018Spain2026-11-01
Ricardo F Paprocki1019Canada2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Y SergiRussiaAnna Fali UNQUALIFIED
Jones V StockhamAustraliaAsiya Javayant NEGOTIATION
Mujtaba S KolmetzArgentinaXuxue Feng RENEWAL
Adams A PaprockiJapanIoni Bowcher QUALIFIED
Aika F ShinkoGermanyOnyama Limba QUALIFIED
Antonio K VocelkaBrazilOnyama Limba RENEWAL
Greenwood N ButtIndiaStephen Shaw QUALIFIED
Octavia M DoeArgentinaAmy Elsner UNQUALIFIED
Clifford C GillianArgentinaOnyama Limba NEW
Leja J VocelkaRussiaAnna Fali NEW
Mujtaba P SaylorsAustraliaIvan Magalhaes PROPOSAL
Leja P FerenczIndiaAmy Elsner PROPOSAL
Deepesh F StockhamIndiaStephen Shaw UNQUALIFIED
Mayumi F BriddickJapanStephen Shaw QUALIFIED
Rodrigues L SlusarskiItalyXuxue Feng QUALIFIED
Emily S FlosiAustraliaBernardo Dominic NEW
James Y GlickUnited KingdomAnna Fali NEGOTIATION
Jennifer Y OldroydFranceIoni Bowcher PROPOSAL
David B RoysterCanadaAmy Elsner RENEWAL
Ashley T WhobreySpainAnna Fali RENEWAL
Chavez U WieserGermanyOnyama Limba NEGOTIATION
Faith R AlbaresGermanyXuxue Feng RENEWAL
Alejandro U DilliardFranceStephen Shaw NEW
Leja R WaycottSpainIoni Bowcher RENEWAL
Murillo D VocelkaSpainAnna Fali UNQUALIFIED
Wickens T VocelkaSpainAmy Elsner UNQUALIFIED
Kadeem K SlusarskiSpainOnyama Limba NEW
Ashley F TollnerGermanyAnna Fali UNQUALIFIED
Clifford T OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem G WaycottRussiaAnna Fali NEW
Jefferson D VenereRussiaStephen Shaw NEW
Mujtaba H AlbaresSpainAsiya Javayant PROPOSAL
Misaki F MacleadCanadaStephen Shaw QUALIFIED
Salvatore A BriddickSpainAmy Elsner PROPOSAL
Sinclair W DilliardArgentinaAnna Fali QUALIFIED
Juan E SchemmerFranceIvan Magalhaes UNQUALIFIED
Murillo V FlosiAustraliaOnyama Limba UNQUALIFIED
Francesco K WhobreyIndiaBernardo Dominic PROPOSAL
David Q WieserItalyIvan Magalhaes PROPOSAL
Alejandro P DarakjyIndiaIvan Magalhaes PROPOSAL

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