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
Ashley S FigeroaBrazilOnyama Limba NEGOTIATION
Stacey I RulapaughArgentinaIoni Bowcher NEW
Salvatore K IturbideFranceBernardo Dominic NEW
Maisha A DarakjyCanadaStephen Shaw NEGOTIATION
Julie W SaylorsArgentinaBernardo Dominic QUALIFIED
Nicolas S GauchoSpainAsiya Javayant NEGOTIATION
Kaitlin N DilliardSpainIoni Bowcher RENEWAL
Isabel A MaletSpainElwin Sharvill UNQUALIFIED
Silvio X StockhamBrazilXuxue Feng NEW
Wickens C VenereJapanBernardo Dominic QUALIFIED
Maria D MorascaSpainAsiya Javayant PROPOSAL
Wickens V PaprockiUnited KingdomBernardo Dominic QUALIFIED
Stacey P KuskoJapanBernardo Dominic QUALIFIED
Aditya O RutaRussiaIoni Bowcher QUALIFIED
Ricardo V GillianJapanIvan Magalhaes QUALIFIED
James G StensethRussiaAnna Fali QUALIFIED
Francesco D GauchoItalyElwin Sharvill QUALIFIED
Misaki C KuskoRussiaElwin Sharvill QUALIFIED
Silvio W SlusarskiItalyAsiya Javayant NEW
Leon P AmigonJapanIoni Bowcher NEGOTIATION
Johnson S BowleyBrazilElwin Sharvill PROPOSAL
Aditya Z DarakjyFranceIvan Magalhaes PROPOSAL
Silvio N StensethCanadaIoni Bowcher QUALIFIED
Ivar P SchemmerArgentinaStephen Shaw NEGOTIATION
Aruna F OstroskyAustraliaXuxue Feng QUALIFIED
Jennifer K GillianIndiaXuxue Feng NEW
Misaki B RimBrazilAnna Fali NEW
Chavez O BologniaSpainAsiya Javayant RENEWAL
Stacey J CampainFranceAmy Elsner RENEWAL
Aruna J CaudyFranceStephen Shaw QUALIFIED
Clifford K DoeSpainBernardo Dominic NEW
Silvio I MorascaAustraliaAsiya Javayant RENEWAL
Sinclair V BologniaRussiaAmy Elsner QUALIFIED
Jennifer Z PoquetteArgentinaAmy Elsner UNQUALIFIED
Wickens S ChuiItalyAnna Fali PROPOSAL
Salvatore L FerenczBrazilAnna Fali RENEWAL
Ashley Y DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin G BowleyArgentinaIoni Bowcher QUALIFIED
Salvatore Q InouyeFranceIoni Bowcher NEW
Stacey A PerinIndiaElwin Sharvill PROPOSAL
Silvio Z NestleFranceOnyama Limba UNQUALIFIED
Deepesh A WhobreyBrazilAnna Fali NEGOTIATION
Nicolas Y OstroskyCanadaAsiya Javayant UNQUALIFIED
Juan D MaletFranceAsiya Javayant NEW
Clifford Y CaudyCanadaOnyama Limba QUALIFIED
Deepesh M FerenczJapanIvan Magalhaes PROPOSAL
Francesco O RoysterSpainOnyama Limba UNQUALIFIED
Leja O KolmetzSpainIoni Bowcher NEW
Johnson Z CampainJapanIoni Bowcher RENEWAL
Misaki H MorascaCanadaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer X RulapaughIndiaOnyama Limba PROPOSAL
Aruna V RutaItalyAsiya Javayant PROPOSAL
Francesco Z FerenczUnited KingdomElwin Sharvill NEGOTIATION
Wickens A BowleyUnited KingdomStephen Shaw RENEWAL
Wickens M SchemmerJapanIvan Magalhaes RENEWAL
Jefferson G RulapaughSpainAnna Fali PROPOSAL
Faith O RulapaughFranceOnyama Limba RENEWAL
Sinclair H StockhamAustraliaOnyama Limba RENEWAL
Clifford H MarrierCanadaAmy Elsner UNQUALIFIED
Rodrigues X KuskoGermanyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire W PaprockiUnited Kingdom2026-09-30Commercial Press QUALIFIED5Elwin Sharvill
1001Darci W SlusarskiCanada2026-10-06Chanay, Jeffrey A Esq UNQUALIFIED10Xuxue Feng
1002Misaki Z FollerCanada2026-10-12Benton, John B Jr NEW62Ivan Magalhaes
1003Munro U IturbideCanada2026-09-26Buckley Miller Wright NEGOTIATION84Bernardo Dominic
1004Jeanfrancois I VenereAustralia2026-09-30Chanay, Jeffrey A Esq RENEWAL15Asiya Javayant
1005Maisha D MaletArgentina2026-10-12Morlong Associates UNQUALIFIED1Anna Fali
1006David Z BriddickItaly2026-10-04Feiner Bros NEGOTIATION9Amy Elsner
1007Stacey A WhobreyFrance2026-09-27Dorl, James J Esq NEGOTIATION21Bernardo Dominic
1008Morrow W MorascaRussia2026-09-25Chapman, Ross E Esq QUALIFIED82Ivan Magalhaes
1009Izzy G PaprockiUnited Kingdom2026-09-20Truhlar And Truhlar Attys UNQUALIFIED40Bernardo Dominic
1010Rodrigues S WieserAustralia2026-10-15Feiner Bros QUALIFIED54Onyama Limba
1011Tony O RutaBrazil2026-10-12Commercial Press NEGOTIATION94Stephen Shaw
1012Greenwood F AmigonCanada2026-10-17Dorl, James J Esq QUALIFIED84Ivan Magalhaes
1013Maria Y FlosiBrazil2026-10-07Feltz Printing Service QUALIFIED45Ioni Bowcher
1014Greenwood P NickaArgentina2026-09-30Rangoni Of Florence NEW86Bernardo Dominic
1015Salvatore B ShinkoIndia2026-09-22Feiner Bros NEGOTIATION83Stephen Shaw
1016Alejandro H RimArgentina2026-10-12Feiner Bros NEW91Elwin Sharvill
1017Aditya K StensethBrazil2026-09-25Commercial Press RENEWAL52Ivan Magalhaes
1018Ashley E PaprockiUnited Kingdom2026-10-14Buckley Miller Wright QUALIFIED31Anna Fali
1019Salvatore M OstroskyJapan2026-10-18Dorl, James J Esq PROPOSAL86Ivan Magalhaes
1020Munro I PoquetteGermany2026-10-17Printing Dimensions QUALIFIED34Bernardo Dominic
1021Chavez K WieserSpain2026-10-11Commercial Press QUALIFIED3Ivan Magalhaes
1022Kadeem E TollnerUnited Kingdom2026-10-10Morlong Associates NEW90Ivan Magalhaes
1023Izzy C MaletArgentina2026-10-08Feiner Bros NEW35Amy Elsner
1024David O NestleSpain2026-10-04Printing Dimensions NEGOTIATION47Bernardo Dominic
1025Kaitlin J FlosiItaly2026-10-19Chemel, James L Cpa PROPOSAL54Bernardo Dominic
1026Greenwood F AlbaresUnited Kingdom2026-10-05Truhlar And Truhlar Attys PROPOSAL38Asiya Javayant
1027Smith K MarrierFrance2026-09-27Truhlar And Truhlar Attys RENEWAL63Bernardo Dominic
1028Jones B MacleadArgentina2026-10-12Rousseaux, Michael Esq RENEWAL10Ivan Magalhaes
1029Faith W VenereJapan2026-10-01Buckley Miller Wright UNQUALIFIED57Bernardo Dominic
1030Wickens V FerenczCanada2026-10-18Feltz Printing Service QUALIFIED39Amy Elsner
1031Chavez I RulapaughFrance2026-09-25Feltz Printing Service UNQUALIFIED0Xuxue Feng
1032Morrow P RoysterItaly2026-10-09King, Christopher A Esq NEW15Xuxue Feng
1033Leon M DoeJapan2026-10-01Morlong Associates RENEWAL20Bernardo Dominic
1034Clifford C GlickGermany2026-09-28Printing Dimensions QUALIFIED62Amy Elsner
1035Ashley F ChuiAustralia2026-09-20Commercial Press UNQUALIFIED52Ioni Bowcher
1036Chavez M AmigonArgentina2026-10-12Buckley Miller Wright NEGOTIATION59Asiya Javayant
1037Salvatore A StensethBrazil2026-09-23Buckley Miller Wright PROPOSAL10Ivan Magalhaes
1038Wickens V BriddickJapan2026-10-15King, Christopher A Esq NEGOTIATION75Asiya Javayant
1039Nicolas V CampainAustralia2026-10-17Dorl, James J Esq QUALIFIED49Asiya Javayant
1040Kadeem R FlosiItaly2026-10-19Chemel, James L Cpa PROPOSAL35Elwin Sharvill
1041Rodrigues L RimArgentina2026-10-19King, Christopher A Esq RENEWAL45Elwin Sharvill
1042Isabel I ChuiGermany2026-10-11Benton, John B Jr PROPOSAL5Anna Fali
1043Silvio X OstroskyJapan2026-10-15Printing Dimensions PROPOSAL61Xuxue Feng
1044Sinclair T DoeBrazil2026-10-17Feiner Bros UNQUALIFIED14Amy Elsner
1045James N WieserSpain2026-10-19Printing Dimensions UNQUALIFIED73Bernardo Dominic
1046Octavia Y CampainBrazil2026-10-04Commercial Press NEGOTIATION86Ivan Magalhaes
1047Claire W SergiGermany2026-10-07Chanay, Jeffrey A Esq RENEWAL25Xuxue Feng
1048Octavia J SlusarskiItaly2026-10-19Printing Dimensions QUALIFIED35Ivan Magalhaes
1049Jeanfrancois R MaletCanada2026-10-03King, Christopher A Esq PROPOSAL82Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Darci Z StockhamGermanyElwin Sharvill UNQUALIFIED
Rodrigues K PaprockiArgentinaAmy Elsner RENEWAL
Isabel I BowleyAustraliaAsiya Javayant PROPOSAL
Kadeem C RimUnited KingdomIoni Bowcher QUALIFIED
Chavez B StockhamUnited KingdomAnna Fali RENEWAL
David L PaprockiCanadaIoni Bowcher UNQUALIFIED
Aruna V RimGermanyIoni Bowcher NEW
Claire C DilliardCanadaIvan Magalhaes NEGOTIATION
Cody R MarrierJapanAnna Fali NEGOTIATION
Juan I CaldareraFranceBernardo Dominic QUALIFIED
Aditya W MaletFranceBernardo Dominic PROPOSAL
Morrow E DilliardIndiaAsiya Javayant PROPOSAL
Tony U GarufiBrazilOnyama Limba NEGOTIATION
Jefferson Y CaudyCanadaOnyama Limba QUALIFIED
Morrow V VenereIndiaIvan Magalhaes NEW
Sinclair M GauchoBrazilIvan Magalhaes QUALIFIED
Deepesh R GauchoRussiaAsiya Javayant PROPOSAL
Silvio U PaprockiArgentinaXuxue Feng UNQUALIFIED
Aika Z MacleadRussiaBernardo Dominic NEGOTIATION
Adams U MaletJapanOnyama Limba QUALIFIED
Jones K KolmetzIndiaAsiya Javayant NEW
Jennifer J MaletFranceAsiya Javayant UNQUALIFIED
Antonio G CampainUnited KingdomIoni Bowcher RENEWAL
Tony I FigeroaItalyElwin Sharvill UNQUALIFIED
Antonio D WieserArgentinaStephen Shaw PROPOSAL
Claire E FigeroaAustraliaAsiya Javayant NEW
Costa O RoysterJapanElwin Sharvill UNQUALIFIED
Ricardo F SaylorsUnited KingdomIvan Magalhaes RENEWAL
Alejandro J ChuiArgentinaIvan Magalhaes NEW
Salvatore C FollerCanadaOnyama Limba RENEWAL
Isabel T BologniaGermanyAnna Fali QUALIFIED
Jennifer E RoysterCanadaStephen Shaw NEW
Jeanfrancois H FigeroaUnited KingdomOnyama Limba QUALIFIED
Claire S TollnerCanadaAmy Elsner NEGOTIATION
Maria W MaletIndiaAsiya Javayant NEW
Darci I ChuiIndiaAmy Elsner QUALIFIED
Jeanfrancois N SchemmerRussiaAsiya Javayant PROPOSAL
Johnson L PoquetteAustraliaXuxue Feng NEGOTIATION
Greenwood W RutaBrazilXuxue Feng NEW
Aruna O WaycottJapanAmy Elsner RENEWAL
Aditya G SergiArgentinaAsiya Javayant QUALIFIED
Claire L BowleyItalyElwin Sharvill QUALIFIED
Darci O SlusarskiFranceXuxue Feng UNQUALIFIED
Ivar W MaletSpainStephen Shaw QUALIFIED
Adams O MaletBrazilIvan Magalhaes NEW
Ashley J FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna J DoeIndiaStephen Shaw QUALIFIED
Mujtaba G AlbaresCanadaStephen Shaw NEGOTIATION
Silvio I KuskoItalyOnyama Limba PROPOSAL
Smith T RoysterIndiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Kaitlin J Bowley
Sinclair V Butt
Costa C Gaucho
Mayumi P Inouye
Costa Q Garufi
Jeanfrancois S Vocelka
Ricardo W Tollner
Misaki V Caudy
Adams A Chui
Ivar H Morasca
Jeanfrancois P Foller
Aruna A Vocelka
Aditya W Briddick
James G Albares
Ashley M Sergi
Leon X Figeroa
Chavez G Paprocki
Octavia O Gillian
Ricardo B Rim
Ivar B Wieser
Maisha I Dilliard
Adams R Wieser
Leja M Bowley
Costa H Nicka
Julie G Caldarera
Aika O Oldroyd
Silvio A Royster
Cody I Waycott
Jones E Gaucho
Ashley B Chui
Murillo O Sergi
Cody N Darakjy
Kaitlin S Saylors
Silvio S Royster
Juan X Rulapaugh
Aditya W Albares
Morrow X Caudy
Izzy P Sergi
Costa T Foller
Adams P Paprocki
Morrow A Marrier
Kaitlin W Paprocki
Aika X Flosi
Juan S Stenseth
Sinclair W Glick
Francesco D Foller
Kadeem R Briddick
Maria U Amigon
Izzy Y Stenseth
Antonio N Amigon
IdCountryDate
1000Argentina2026-10-11
1001Spain2026-10-07
1002Spain2026-10-08
1003Brazil2026-10-03
1004Argentina2026-10-05
1005Argentina2026-10-15
1006Russia2026-10-09
1007Spain2026-10-11
1008Japan2026-10-15
1009Italy2026-09-20
1010United Kingdom2026-10-04
1011Canada2026-09-28
1012Canada2026-10-16
1013Argentina2026-10-11
1014Spain2026-10-03
1015India2026-09-28
1016France2026-10-09
1017Japan2026-10-04
1018France2026-09-29
1019Spain2026-09-27
1020Canada2026-09-30
1021Russia2026-10-17
1022United Kingdom2026-10-16
1023Russia2026-09-24
1024Germany2026-10-10
1025United Kingdom2026-10-08
1026Japan2026-10-17
1027France2026-09-26
1028Italy2026-10-14
1029France2026-09-26
1030Italy2026-10-12
1031Brazil2026-09-26
1032Canada2026-10-01
1033France2026-10-04
1034Japan2026-10-14
1035Canada2026-09-30
1036Russia2026-10-17
1037Spain2026-10-06
1038Italy2026-10-08
1039Canada2026-10-14
1040Italy2026-10-05
1041Australia2026-10-05
1042United Kingdom2026-09-29
1043Russia2026-10-17
1044Australia2026-09-24
1045Australia2026-09-24
1046Italy2026-09-21
1047Germany2026-10-01
1048Canada2026-09-30
1049Spain2026-10-05

On-Demand Data

NameIdCountryDate
Cody X Campain1000Argentina2026-10-05
Jones P Chui1001Brazil2026-10-14
Aditya G Malet1002Italy2026-10-14
Jones B Schemmer1003Italy2026-10-12
James T Ferencz1004Japan2026-10-03
Leon C Shinko1005Canada2026-10-05
Alejandro O Foller1006Spain2026-09-25
Maria Z Campain1007United Kingdom2026-10-01
Jefferson B Ruta1008Japan2026-10-14
Nicolas M Campain1009Canada2026-09-25
Aditya K Rim1010Argentina2026-10-02
Ivar G Whobrey1011United Kingdom2026-10-08
Misaki G Vocelka1012Germany2026-10-09
Mujtaba E Poquette1013Canada2026-09-30
Murillo R Ruta1014Brazil2026-10-13
Jones C Gaucho1015Brazil2026-09-21
Greenwood T Briddick1016Argentina2026-10-09
Salvatore Q Campain1017Argentina2026-10-18
Leja M Whobrey1018Italy2026-09-30
Deepesh W Malet1019Brazil2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily V IturbideRussiaBernardo Dominic NEW
Mayumi W InouyeFranceBernardo Dominic NEGOTIATION
James X StensethGermanyElwin Sharvill UNQUALIFIED
Julie P WhobreySpainStephen Shaw QUALIFIED
Faith A VenereCanadaIoni Bowcher QUALIFIED
Octavia S VocelkaJapanIoni Bowcher UNQUALIFIED
Smith W OldroydSpainElwin Sharvill QUALIFIED
Munro A DoeJapanAnna Fali RENEWAL
Aruna J CaudyIndiaAmy Elsner QUALIFIED
Juan X BriddickArgentinaIoni Bowcher PROPOSAL
Misaki V KuskoIndiaXuxue Feng NEW
Adams N BologniaRussiaOnyama Limba NEW
Arvin Y AlbaresFranceAsiya Javayant NEW
Leon A WhobreyFranceElwin Sharvill NEW
Jeanfrancois B SchemmerCanadaAsiya Javayant PROPOSAL
Rodrigues C FerenczBrazilXuxue Feng NEGOTIATION
Chavez T AlbaresGermanyXuxue Feng QUALIFIED
Leon C SlusarskiIndiaXuxue Feng QUALIFIED
Ricardo F NestleGermanyIoni Bowcher RENEWAL
Ivar G RoysterRussiaAmy Elsner RENEWAL
Sinclair Z KolmetzSpainIvan Magalhaes PROPOSAL
Clifford S PaprockiSpainIvan Magalhaes NEGOTIATION
Isabel T MarrierUnited KingdomAsiya Javayant NEGOTIATION
Deepesh F CaldareraSpainIoni Bowcher PROPOSAL
Ashley I StockhamCanadaElwin Sharvill PROPOSAL
Cody H ShinkoIndiaAmy Elsner PROPOSAL
Rodrigues M PoquetteJapanElwin Sharvill PROPOSAL
Silvio D GillianFranceAmy Elsner QUALIFIED
Stacey J MaletSpainAsiya Javayant QUALIFIED
Costa X GarufiFranceAnna Fali QUALIFIED
Jeanfrancois V PerinRussiaStephen Shaw UNQUALIFIED
Mujtaba Z NickaJapanOnyama Limba NEGOTIATION
Jefferson R WhobreyGermanyBernardo Dominic NEW
Juan H VocelkaArgentinaElwin Sharvill UNQUALIFIED
Costa P RimIndiaAsiya Javayant UNQUALIFIED
Izzy A MarrierRussiaIvan Magalhaes UNQUALIFIED
Kaitlin K KolmetzArgentinaIoni Bowcher PROPOSAL
Rodrigues X SchemmerArgentinaIoni Bowcher RENEWAL
Darci A VenereRussiaBernardo Dominic NEGOTIATION
Rodrigues M MaletFranceBernardo Dominic 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>