Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Morrow T ShinkoSpainOnyama Limba QUALIFIED
Aditya E DarakjyCanadaAnna Fali RENEWAL
Isabel B CaldareraUnited KingdomAnna Fali UNQUALIFIED
Salvatore A NickaSpainBernardo Dominic NEW
Kadeem G MaletUnited KingdomAsiya Javayant PROPOSAL
Stacey I DarakjySpainIoni Bowcher RENEWAL
Jefferson Z MorascaBrazilElwin Sharvill UNQUALIFIED
Mujtaba Q ChuiCanadaAsiya Javayant PROPOSAL
Octavia D GillianUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore J NestleIndiaAnna Fali PROPOSAL
Maria Y VenereJapanXuxue Feng RENEWAL
Sinclair U MorascaBrazilIvan Magalhaes UNQUALIFIED
Emily U OstroskySpainBernardo Dominic UNQUALIFIED
Leja I RimIndiaBernardo Dominic QUALIFIED
Greenwood E SergiArgentinaStephen Shaw NEW
Kadeem P FerenczRussiaIoni Bowcher NEW
Emily O GillianUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson R FlosiGermanyAnna Fali QUALIFIED
Wickens C ChuiIndiaAmy Elsner NEGOTIATION
Mayumi K SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Munro E WaycottIndiaAsiya Javayant NEGOTIATION
Ashley Q NickaFranceXuxue Feng NEGOTIATION
Maria Q SaylorsJapanXuxue Feng RENEWAL
Octavia Y StensethCanadaStephen Shaw PROPOSAL
Darci L MorascaUnited KingdomIoni Bowcher RENEWAL
Adams E OldroydGermanyIoni Bowcher NEW
Claire B PerinItalyXuxue Feng UNQUALIFIED
Isabel J TollnerJapanOnyama Limba NEGOTIATION
Arvin N RulapaughJapanXuxue Feng NEGOTIATION
Cody P SergiSpainAsiya Javayant QUALIFIED
Cody N DoeSpainAmy Elsner PROPOSAL
Cody E PoquetteItalyXuxue Feng NEW
Tony L OldroydCanadaIoni Bowcher RENEWAL
Nicolas I TollnerFranceAnna Fali UNQUALIFIED
Kadeem F MaletSpainAsiya Javayant NEW
Octavia O RimIndiaAmy Elsner UNQUALIFIED
Claire J VenereFranceAnna Fali QUALIFIED
Morrow Y GlickRussiaAmy Elsner NEGOTIATION
Alejandro A GillianUnited KingdomXuxue Feng UNQUALIFIED
Izzy R SlusarskiSpainXuxue Feng PROPOSAL
Antonio O GarufiCanadaOnyama Limba NEGOTIATION
Sinclair R MarrierAustraliaXuxue Feng RENEWAL
Smith G KolmetzGermanyAnna Fali QUALIFIED
Aika Z KuskoArgentinaStephen Shaw NEW
Aruna O SergiCanadaOnyama Limba NEGOTIATION
Leon L TollnerRussiaXuxue Feng NEGOTIATION
Francesco C VocelkaSpainOnyama Limba NEW
Ivar N ButtBrazilIoni Bowcher PROPOSAL
Salvatore V ButtBrazilBernardo Dominic UNQUALIFIED
Aika M BowleyItalyBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja G SlusarskiRussiaOnyama Limba PROPOSAL
Antonio J OldroydAustraliaXuxue Feng RENEWAL
Chavez H SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Jones T MarrierItalyAmy Elsner NEGOTIATION
Tony H FlosiBrazilBernardo Dominic PROPOSAL
Wickens Y GlickUnited KingdomXuxue Feng NEGOTIATION
Faith K ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues T MaletRussiaStephen Shaw QUALIFIED
Costa W TollnerAustraliaAmy Elsner PROPOSAL
Jones P RoysterAustraliaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer A BriddickArgentina2025-09-29Morlong Associates UNQUALIFIED99Bernardo Dominic
1001Juan B StockhamGermany2025-09-29Chapman, Ross E Esq QUALIFIED98Elwin Sharvill
1002Munro N RimIndia2025-09-17Dorl, James J Esq NEW12Ioni Bowcher
1003Salvatore F CampainCanada2025-09-27Commercial Press QUALIFIED85Onyama Limba
1004Faith F NickaItaly2025-09-18Benton, John B Jr QUALIFIED44Ivan Magalhaes
1005Salvatore U MarrierBrazil2025-09-17Benton, John B Jr QUALIFIED94Elwin Sharvill
1006Wickens U FlosiArgentina2025-09-30Chapman, Ross E Esq QUALIFIED38Elwin Sharvill
1007Silvio O GlickGermany2025-10-09Printing Dimensions UNQUALIFIED70Xuxue Feng
1008Greenwood A DarakjyAustralia2025-10-11Truhlar And Truhlar Attys PROPOSAL17Elwin Sharvill
1009Maria K CaudyIndia2025-09-17Chemel, James L Cpa NEW39Ivan Magalhaes
1010Ashley G BriddickBrazil2025-10-07King, Christopher A Esq NEGOTIATION84Amy Elsner
1011Francesco F FollerUnited Kingdom2025-09-17Truhlar And Truhlar Attys RENEWAL19Stephen Shaw
1012Smith E IturbideRussia2025-09-27Feiner Bros PROPOSAL9Stephen Shaw
1013Clifford Y MarrierBrazil2025-09-20Buckley Miller Wright UNQUALIFIED31Ioni Bowcher
1014Johnson E StensethItaly2025-10-01Commercial Press NEW70Ioni Bowcher
1015James B KolmetzIndia2025-10-04Chemel, James L Cpa PROPOSAL89Stephen Shaw
1016Izzy N BowleyIndia2025-09-21Chemel, James L Cpa NEW76Bernardo Dominic
1017Salvatore U NestleItaly2025-09-15Truhlar And Truhlar Attys QUALIFIED13Ivan Magalhaes
1018Alejandro S OldroydGermany2025-10-11Buckley Miller Wright NEGOTIATION40Amy Elsner
1019Aruna L SchemmerFrance2025-10-06Truhlar And Truhlar Attys UNQUALIFIED94Stephen Shaw
1020Cody J MorascaCanada2025-10-14Truhlar And Truhlar Attys UNQUALIFIED19Ivan Magalhaes
1021Jeanfrancois M WhobreyGermany2025-09-26Printing Dimensions NEGOTIATION50Bernardo Dominic
1022Octavia X VocelkaBrazil2025-10-07Chanay, Jeffrey A Esq RENEWAL40Xuxue Feng
1023Rodrigues Y FigeroaFrance2025-09-17Rangoni Of Florence QUALIFIED80Asiya Javayant
1024David E TollnerJapan2025-09-18Buckley Miller Wright UNQUALIFIED85Ioni Bowcher
1025Emily L BriddickAustralia2025-10-01Chemel, James L Cpa QUALIFIED6Ioni Bowcher
1026Maisha W GillianBrazil2025-10-14Chapman, Ross E Esq NEGOTIATION85Amy Elsner
1027Kadeem E TollnerCanada2025-10-02Morlong Associates UNQUALIFIED46Bernardo Dominic
1028Stacey W FerenczUnited Kingdom2025-10-02Rangoni Of Florence NEW68Asiya Javayant
1029Isabel P FlosiJapan2025-10-06Buckley Miller Wright UNQUALIFIED98Ivan Magalhaes
1030James P SchemmerAustralia2025-09-18Rousseaux, Michael Esq NEGOTIATION66Stephen Shaw
1031Cody N OstroskyBrazil2025-09-16Rousseaux, Michael Esq NEW9Onyama Limba
1032Silvio P KuskoSpain2025-10-12King, Christopher A Esq QUALIFIED1Onyama Limba
1033Ricardo Y RimJapan2025-09-16Buckley Miller Wright QUALIFIED81Bernardo Dominic
1034Aditya O StensethItaly2025-09-18Buckley Miller Wright RENEWAL69Onyama Limba
1035David J RimSpain2025-10-04Chapman, Ross E Esq RENEWAL18Stephen Shaw
1036Deepesh J ChuiRussia2025-10-09Truhlar And Truhlar Attys NEW66Onyama Limba
1037Ivar R CampainAustralia2025-09-16Chemel, James L Cpa UNQUALIFIED13Xuxue Feng
1038Ivar I MacleadItaly2025-09-22Chanay, Jeffrey A Esq RENEWAL61Ioni Bowcher
1039Faith U PoquetteFrance2025-09-23Rousseaux, Michael Esq RENEWAL70Xuxue Feng
1040Jennifer E OstroskyItaly2025-10-02Commercial Press PROPOSAL58Anna Fali
1041Deepesh T VenereRussia2025-10-07Rousseaux, Michael Esq NEW10Onyama Limba
1042Arvin H GlickAustralia2025-10-10Truhlar And Truhlar Attys UNQUALIFIED96Onyama Limba
1043Ivar W VocelkaUnited Kingdom2025-09-19Rousseaux, Michael Esq PROPOSAL57Elwin Sharvill
1044Silvio Y NestleBrazil2025-10-11Chapman, Ross E Esq QUALIFIED81Stephen Shaw
1045Arvin S FerenczArgentina2025-10-03Chapman, Ross E Esq NEW11Onyama Limba
1046Francesco Y StensethBrazil2025-09-23Chemel, James L Cpa UNQUALIFIED3Elwin Sharvill
1047Salvatore E GillianJapan2025-09-25Feiner Bros RENEWAL26Bernardo Dominic
1048Julie B SergiCanada2025-10-06Feiner Bros NEGOTIATION93Onyama Limba
1049Aika U BowleyJapan2025-09-29Chanay, Jeffrey A Esq NEW24Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya Q BriddickBrazilOnyama Limba NEGOTIATION
Alejandro W RimItalyXuxue Feng PROPOSAL
Antonio G FollerBrazilStephen Shaw PROPOSAL
Greenwood Y RimJapanElwin Sharvill QUALIFIED
Misaki N RutaAustraliaAmy Elsner RENEWAL
Izzy N ButtFranceOnyama Limba NEGOTIATION
Juan Y DarakjySpainXuxue Feng NEW
Francesco I BriddickCanadaAsiya Javayant RENEWAL
Ivar C ChuiIndiaIvan Magalhaes RENEWAL
Kadeem L VenereGermanyBernardo Dominic NEW
Clifford E MarrierItalyAmy Elsner RENEWAL
Darci E GillianItalyIoni Bowcher QUALIFIED
Clifford Q BriddickBrazilXuxue Feng RENEWAL
Silvio W FerenczJapanIvan Magalhaes QUALIFIED
Silvio W StensethRussiaStephen Shaw QUALIFIED
Tony S DoeCanadaXuxue Feng QUALIFIED
Cody S CampainItalyElwin Sharvill NEW
Francesco A CaldareraJapanIoni Bowcher PROPOSAL
Nicolas V TollnerCanadaOnyama Limba PROPOSAL
Stacey F ShinkoSpainAmy Elsner NEW
Maisha B StockhamGermanyXuxue Feng RENEWAL
Ashley O FigeroaIndiaOnyama Limba PROPOSAL
Octavia M TollnerJapanOnyama Limba QUALIFIED
Stacey J MacleadRussiaXuxue Feng NEW
Tony I FigeroaIndiaXuxue Feng PROPOSAL
Nicolas T FollerCanadaXuxue Feng QUALIFIED
Jennifer E NickaAustraliaOnyama Limba NEGOTIATION
Rodrigues Z AlbaresRussiaAnna Fali NEGOTIATION
Izzy O WaycottUnited KingdomElwin Sharvill PROPOSAL
Cody I PerinJapanAnna Fali PROPOSAL
Johnson F FlosiIndiaAnna Fali RENEWAL
Deepesh S BriddickAustraliaElwin Sharvill UNQUALIFIED
Juan I SaylorsBrazilElwin Sharvill RENEWAL
Chavez G SaylorsArgentinaAmy Elsner QUALIFIED
Francesco S DarakjyGermanyAmy Elsner RENEWAL
Misaki E NickaAustraliaIoni Bowcher NEW
Aruna P KolmetzRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois I CampainSpainIvan Magalhaes QUALIFIED
Costa F ShinkoAustraliaBernardo Dominic QUALIFIED
Maria V FollerCanadaIoni Bowcher NEW
Faith X StockhamJapanAsiya Javayant RENEWAL
Wickens O KuskoBrazilOnyama Limba QUALIFIED
Wickens X FigeroaBrazilAnna Fali PROPOSAL
Arvin Z StensethGermanyAsiya Javayant RENEWAL
Darci J StockhamRussiaXuxue Feng NEGOTIATION
Francesco D FollerUnited KingdomBernardo Dominic NEGOTIATION
Isabel J GarufiBrazilOnyama Limba NEGOTIATION
Nicolas Q OldroydRussiaXuxue Feng UNQUALIFIED
Deepesh N KuskoRussiaBernardo Dominic NEW
Sinclair L CampainJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Morrow F Saylors
Kadeem K Dilliard
Julie W Malet
Mayumi J Glick
Claire W Waycott
Leja M Morasca
Alejandro N Bowley
David Y Marrier
Munro P Caudy
Rodrigues F Flosi
Francesco F Marrier
Silvio R Whobrey
Jennifer J Darakjy
Greenwood M Poquette
Misaki L Sergi
Cody N Waycott
Ashley W Shinko
James Z Doe
Kaitlin L Marrier
Aditya F Flosi
Greenwood Q Kusko
Clifford Y Darakjy
Munro P Wieser
Jennifer R Garufi
Silvio Z Rim
Octavia L Malet
Adams Z Chui
Chavez Z Stockham
Sinclair Q Amigon
Francesco K Oldroyd
Aruna T Venere
Claire J Whobrey
Chavez X Marrier
Aika X Stockham
Rodrigues F Figeroa
Jeanfrancois H Wieser
Adams L Poquette
Rodrigues R Campain
Faith Z Gillian
Ashley B Malet
Ivar N Vocelka
Ivar W Slusarski
Leja A Royster
Cody P Caldarera
Wickens M Perin
Izzy G Stenseth
Octavia S Nicka
Wickens P Rulapaugh
Emily Y Gaucho
Julie V Saylors
IdCountryDate
1000France2025-09-20
1001Russia2025-09-26
1002Spain2025-10-12
1003Russia2025-10-11
1004Australia2025-09-16
1005Japan2025-09-26
1006India2025-10-07
1007Canada2025-10-10
1008India2025-09-25
1009Russia2025-09-20
1010France2025-09-28
1011Germany2025-10-09
1012Russia2025-10-05
1013Germany2025-10-12
1014Japan2025-10-05
1015India2025-10-02
1016Russia2025-09-18
1017France2025-10-08
1018Brazil2025-10-13
1019Brazil2025-09-20
1020Australia2025-10-01
1021Italy2025-10-05
1022Spain2025-10-07
1023Russia2025-10-03
1024Germany2025-10-07
1025Germany2025-09-22
1026Italy2025-10-11
1027France2025-10-02
1028Japan2025-09-21
1029Italy2025-09-27
1030Spain2025-09-24
1031United Kingdom2025-10-13
1032Russia2025-10-04
1033Brazil2025-09-27
1034Spain2025-09-21
1035Argentina2025-09-27
1036Japan2025-09-29
1037Canada2025-10-13
1038Australia2025-09-30
1039India2025-10-05
1040France2025-10-14
1041Germany2025-10-01
1042Russia2025-09-23
1043Italy2025-09-19
1044Australia2025-09-23
1045Spain2025-10-02
1046Brazil2025-09-15
1047Germany2025-10-08
1048Italy2025-09-19
1049Germany2025-10-13

On-Demand Data

NameIdCountryDate
Kadeem K Oldroyd1000Argentina2025-10-06
Jeanfrancois Y Poquette1001Spain2025-10-10
Aditya H Doe1002India2025-10-05
Leja K Perin1003Australia2025-10-02
Aika N Kusko1004Japan2025-09-21
Adams E Flosi1005India2025-10-07
Jefferson U Nestle1006India2025-09-29
Leon C Poquette1007United Kingdom2025-09-21
Claire M Rim1008Canada2025-09-18
Salvatore P Foller1009Canada2025-10-04
Murillo R Saylors1010Germany2025-10-10
Ashley C Rim1011United Kingdom2025-10-07
Johnson U Oldroyd1012India2025-09-30
James C Malet1013Brazil2025-10-09
Juan W Poquette1014Japan2025-09-25
Greenwood D Perin1015Germany2025-09-23
Julie D Garufi1016India2025-09-28
Claire R Amigon1017Spain2025-09-18
Emily I Inouye1018Brazil2025-10-11
Adams C Malet1019Australia2025-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire N MarrierBrazilBernardo Dominic QUALIFIED
Jeanfrancois Y ShinkoArgentinaElwin Sharvill NEW
Jeanfrancois G KuskoJapanAnna Fali NEW
Chavez Z BowleyIndiaAmy Elsner NEGOTIATION
Johnson P NickaGermanyOnyama Limba RENEWAL
Maria O WaycottFranceAsiya Javayant UNQUALIFIED
Antonio P InouyeJapanElwin Sharvill RENEWAL
Tony P ChuiItalyIvan Magalhaes QUALIFIED
Greenwood H StensethGermanyIoni Bowcher PROPOSAL
Kadeem M FerenczSpainAnna Fali PROPOSAL
Arvin Q VenereRussiaElwin Sharvill NEW
Salvatore I DoeItalyBernardo Dominic QUALIFIED
Leja M MarrierItalyIoni Bowcher RENEWAL
Ashley I ChuiGermanyIvan Magalhaes RENEWAL
Salvatore I AmigonJapanAmy Elsner NEGOTIATION
Murillo F SaylorsRussiaBernardo Dominic NEGOTIATION
Greenwood M StensethItalyAsiya Javayant NEW
Antonio Q WaycottBrazilBernardo Dominic NEGOTIATION
Jones W GarufiIndiaIoni Bowcher NEW
Chavez N MarrierArgentinaAnna Fali UNQUALIFIED
Octavia N VenereFranceStephen Shaw NEW
Izzy C PerinItalyStephen Shaw QUALIFIED
Tony S StensethBrazilStephen Shaw UNQUALIFIED
Wickens U CaudyArgentinaAmy Elsner PROPOSAL
Stacey G FollerAustraliaAnna Fali QUALIFIED
Murillo D FigeroaGermanyElwin Sharvill PROPOSAL
Darci B KolmetzArgentinaAsiya Javayant QUALIFIED
Mayumi R StockhamItalyIoni Bowcher NEGOTIATION
Jones C BologniaIndiaBernardo Dominic NEW
Clifford O PaprockiCanadaStephen Shaw NEGOTIATION
Jeanfrancois L RutaRussiaElwin Sharvill PROPOSAL
Salvatore F CaldareraBrazilElwin Sharvill QUALIFIED
Johnson L StockhamGermanyOnyama Limba QUALIFIED
Costa A RulapaughCanadaIvan Magalhaes NEW
Chavez B AmigonArgentinaElwin Sharvill NEW
Julie Q CaudySpainOnyama Limba RENEWAL
Sinclair V DoeCanadaAmy Elsner PROPOSAL
Morrow G MaletArgentinaElwin Sharvill UNQUALIFIED
Arvin D StensethGermanyStephen Shaw NEGOTIATION
Julie M WhobreyGermanyAmy Elsner 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>