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
Aruna Y VenereSpainBernardo Dominic PROPOSAL
Jones E NestleArgentinaBernardo Dominic UNQUALIFIED
Claire B GillianBrazilBernardo Dominic UNQUALIFIED
Misaki L WhobreyAustraliaAnna Fali QUALIFIED
Maisha E SaylorsAustraliaXuxue Feng RENEWAL
Tony P KolmetzBrazilXuxue Feng NEW
Juan R GillianRussiaAsiya Javayant RENEWAL
Munro S StensethAustraliaXuxue Feng NEW
Julie P MaletJapanIoni Bowcher QUALIFIED
Mujtaba R WaycottRussiaXuxue Feng QUALIFIED
Costa V DarakjyFranceElwin Sharvill RENEWAL
Wickens N SergiGermanyAnna Fali PROPOSAL
Cody A SergiCanadaBernardo Dominic QUALIFIED
Aika L FollerRussiaOnyama Limba NEGOTIATION
Mujtaba X CaudyArgentinaBernardo Dominic NEW
Octavia C MaletUnited KingdomAsiya Javayant NEW
Cody G NickaJapanAmy Elsner PROPOSAL
Sinclair Q StensethGermanyIvan Magalhaes NEGOTIATION
Aika K IturbideSpainAnna Fali NEW
Munro U StensethJapanXuxue Feng NEW
Maria N VocelkaUnited KingdomOnyama Limba QUALIFIED
Isabel C OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Izzy U MaletItalyIvan Magalhaes NEGOTIATION
Nicolas D PerinUnited KingdomAsiya Javayant QUALIFIED
Misaki K CampainSpainElwin Sharvill RENEWAL
Izzy U GlickArgentinaAmy Elsner RENEWAL
Cody K SaylorsArgentinaElwin Sharvill UNQUALIFIED
Aika Q PerinCanadaIvan Magalhaes QUALIFIED
Tony Y AlbaresCanadaAmy Elsner NEGOTIATION
Misaki N NickaAustraliaBernardo Dominic QUALIFIED
Sinclair F FerenczSpainXuxue Feng RENEWAL
Rodrigues P MacleadBrazilIoni Bowcher NEW
Ivar E DoeCanadaBernardo Dominic RENEWAL
David G AmigonUnited KingdomIvan Magalhaes NEW
Mujtaba Z KuskoAustraliaIvan Magalhaes QUALIFIED
Clifford D CampainUnited KingdomBernardo Dominic NEGOTIATION
James R ButtCanadaIvan Magalhaes NEW
Costa H AlbaresUnited KingdomBernardo Dominic QUALIFIED
James A CampainArgentinaBernardo Dominic NEGOTIATION
Claire Z RulapaughIndiaAnna Fali UNQUALIFIED
Cody X VocelkaIndiaXuxue Feng PROPOSAL
Juan D SlusarskiUnited KingdomElwin Sharvill NEW
Deepesh J MacleadArgentinaAmy Elsner NEW
Jennifer Q RutaAustraliaIoni Bowcher QUALIFIED
Jeanfrancois A KolmetzFranceStephen Shaw NEW
Stacey I BologniaItalyXuxue Feng RENEWAL
Juan L OldroydSpainBernardo Dominic RENEWAL
Rodrigues R CampainRussiaStephen Shaw PROPOSAL
David E CaldareraItalyAmy Elsner NEGOTIATION
Mayumi M StockhamAustraliaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Misaki R PerinBrazilIvan Magalhaes RENEWAL
Isabel Z KuskoSpainBernardo Dominic UNQUALIFIED
Mujtaba X SchemmerSpainElwin Sharvill UNQUALIFIED
Darci Z BologniaRussiaAsiya Javayant QUALIFIED
David L StockhamBrazilXuxue Feng QUALIFIED
Murillo L RulapaughGermanyXuxue Feng NEW
Sinclair Z GlickItalyXuxue Feng PROPOSAL
Adams N PaprockiItalyBernardo Dominic NEW
Aika S DoeSpainStephen Shaw QUALIFIED
Jeanfrancois R KuskoUnited KingdomXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody N NestleFrance2025-09-10Feiner Bros RENEWAL52Xuxue Feng
1001Stacey W MacleadRussia2025-08-24Chemel, James L Cpa NEGOTIATION8Onyama Limba
1002Aruna N DilliardCanada2025-09-17Chemel, James L Cpa UNQUALIFIED89Amy Elsner
1003Tony N PoquetteBrazil2025-09-03Benton, John B Jr RENEWAL33Bernardo Dominic
1004Morrow P DilliardBrazil2025-08-24Truhlar And Truhlar Attys NEW43Xuxue Feng
1005David L KuskoFrance2025-09-17Feiner Bros UNQUALIFIED70Amy Elsner
1006David F BologniaBrazil2025-09-20Rousseaux, Michael Esq NEGOTIATION53Ioni Bowcher
1007Juan N KuskoArgentina2025-09-17Morlong Associates UNQUALIFIED61Asiya Javayant
1008Tony T FerenczAustralia2025-09-04King, Christopher A Esq QUALIFIED27Ivan Magalhaes
1009Ivar R GauchoArgentina2025-09-05Benton, John B Jr NEGOTIATION40Anna Fali
1010Clifford B FollerAustralia2025-09-03Benton, John B Jr NEW83Asiya Javayant
1011Ashley J KolmetzSpain2025-08-26King, Christopher A Esq NEW97Asiya Javayant
1012Smith P WieserGermany2025-09-02Buckley Miller Wright UNQUALIFIED32Stephen Shaw
1013Stacey Q CaudyAustralia2025-08-28Morlong Associates NEGOTIATION89Bernardo Dominic
1014Chavez T TollnerAustralia2025-09-02King, Christopher A Esq UNQUALIFIED8Ioni Bowcher
1015Ivar P FigeroaArgentina2025-09-08Dorl, James J Esq NEGOTIATION75Ioni Bowcher
1016Tony Z TollnerArgentina2025-09-13Morlong Associates NEGOTIATION68Asiya Javayant
1017Deepesh L FerenczCanada2025-09-01Feltz Printing Service PROPOSAL95Elwin Sharvill
1018Izzy I PoquetteUnited Kingdom2025-09-11Benton, John B Jr NEW98Amy Elsner
1019Jennifer J FerenczRussia2025-08-28Feiner Bros RENEWAL46Onyama Limba
1020Mujtaba R BriddickGermany2025-09-11Chemel, James L Cpa NEGOTIATION55Asiya Javayant
1021Morrow M BowleyBrazil2025-09-18Printing Dimensions PROPOSAL4Onyama Limba
1022Kaitlin E WieserArgentina2025-09-15Buckley Miller Wright RENEWAL73Ioni Bowcher
1023Julie Z DoeRussia2025-09-13Commercial Press PROPOSAL95Onyama Limba
1024Tony S BologniaAustralia2025-09-08Feltz Printing Service NEGOTIATION13Elwin Sharvill
1025Johnson S OldroydSpain2025-09-21Chemel, James L Cpa RENEWAL80Elwin Sharvill
1026Jefferson J CaudySpain2025-08-28Benton, John B Jr QUALIFIED52Ioni Bowcher
1027James M KuskoAustralia2025-09-12Commercial Press NEGOTIATION96Ivan Magalhaes
1028Antonio B StensethBrazil2025-08-29Chapman, Ross E Esq NEW25Stephen Shaw
1029Salvatore T DoeIndia2025-09-10Truhlar And Truhlar Attys RENEWAL19Elwin Sharvill
1030Ashley T VocelkaSpain2025-08-29Printing Dimensions NEGOTIATION85Asiya Javayant
1031Munro F RutaArgentina2025-09-22Chapman, Ross E Esq QUALIFIED50Amy Elsner
1032Aika R ChuiGermany2025-09-20Printing Dimensions NEGOTIATION67Onyama Limba
1033Jennifer Z RoysterFrance2025-08-30Printing Dimensions NEW96Onyama Limba
1034Wickens M NestleGermany2025-09-19Feiner Bros RENEWAL1Bernardo Dominic
1035Misaki K FlosiFrance2025-09-06Buckley Miller Wright PROPOSAL7Elwin Sharvill
1036Mujtaba O ShinkoAustralia2025-09-18Chemel, James L Cpa PROPOSAL79Bernardo Dominic
1037David V RimItaly2025-09-13Buckley Miller Wright NEGOTIATION50Amy Elsner
1038Alejandro X MorascaRussia2025-09-03Feltz Printing Service PROPOSAL47Xuxue Feng
1039Smith V RulapaughCanada2025-08-27King, Christopher A Esq UNQUALIFIED93Bernardo Dominic
1040Adams U SlusarskiGermany2025-09-16Feiner Bros UNQUALIFIED17Asiya Javayant
1041Mayumi U RoysterUnited Kingdom2025-09-12King, Christopher A Esq RENEWAL26Onyama Limba
1042Greenwood I MaletRussia2025-08-25Chemel, James L Cpa NEW42Bernardo Dominic
1043Cody A FlosiItaly2025-09-10Morlong Associates RENEWAL92Onyama Limba
1044Jefferson I PerinBrazil2025-09-07Commercial Press QUALIFIED95Stephen Shaw
1045Francesco G SergiSpain2025-09-04Chapman, Ross E Esq NEW18Amy Elsner
1046Wickens R KuskoJapan2025-09-14Chapman, Ross E Esq RENEWAL23Elwin Sharvill
1047Misaki K RutaBrazil2025-08-29Commercial Press NEGOTIATION29Onyama Limba
1048Rodrigues C BriddickIndia2025-09-05Chapman, Ross E Esq RENEWAL60Ivan Magalhaes
1049Clifford C MaletArgentina2025-09-13Chemel, James L Cpa UNQUALIFIED25Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki X StockhamGermanyBernardo Dominic RENEWAL
Claire W DilliardCanadaStephen Shaw RENEWAL
Costa V MacleadAustraliaAmy Elsner UNQUALIFIED
Arvin Q RimRussiaStephen Shaw RENEWAL
Morrow A RutaSpainElwin Sharvill RENEWAL
Leon G BowleyAustraliaBernardo Dominic RENEWAL
Morrow B AlbaresGermanyOnyama Limba NEW
Julie C ShinkoBrazilStephen Shaw NEGOTIATION
James R GarufiUnited KingdomIvan Magalhaes RENEWAL
Octavia S DarakjyArgentinaAmy Elsner RENEWAL
Ricardo B GarufiRussiaIoni Bowcher PROPOSAL
Ivar X AmigonJapanAnna Fali QUALIFIED
David O CampainArgentinaElwin Sharvill NEGOTIATION
Alejandro Q MaletIndiaAmy Elsner NEGOTIATION
Silvio M AmigonUnited KingdomAsiya Javayant NEGOTIATION
Smith G FerenczJapanBernardo Dominic PROPOSAL
Leja B RoysterArgentinaAmy Elsner NEW
Kaitlin X VocelkaArgentinaIoni Bowcher UNQUALIFIED
Murillo Q TollnerSpainAsiya Javayant NEGOTIATION
Ivar H BowleyUnited KingdomStephen Shaw RENEWAL
Nicolas N SergiBrazilAnna Fali RENEWAL
Cody W VenereRussiaOnyama Limba UNQUALIFIED
Ivar I MaletAustraliaElwin Sharvill QUALIFIED
Mayumi H DarakjyIndiaAnna Fali UNQUALIFIED
Leja Y ShinkoIndiaStephen Shaw PROPOSAL
Kaitlin U PoquetteUnited KingdomXuxue Feng RENEWAL
Nicolas M AmigonCanadaAnna Fali NEW
Rodrigues P WaycottSpainBernardo Dominic RENEWAL
Aruna A BriddickBrazilXuxue Feng QUALIFIED
David M FerenczGermanyAmy Elsner NEW
Sinclair D AmigonGermanyXuxue Feng PROPOSAL
Stacey H DarakjyJapanIoni Bowcher UNQUALIFIED
Tony H KuskoSpainStephen Shaw NEGOTIATION
David Z PoquetteJapanAsiya Javayant RENEWAL
Stacey Y GarufiAustraliaElwin Sharvill UNQUALIFIED
Costa D BriddickItalyOnyama Limba NEW
Aruna S PaprockiJapanIoni Bowcher NEGOTIATION
Tony L PaprockiGermanyElwin Sharvill NEGOTIATION
Izzy D MaletFranceAsiya Javayant NEGOTIATION
Cody D FigeroaFranceAnna Fali UNQUALIFIED
Rodrigues L AmigonCanadaAnna Fali NEW
Jeanfrancois C BriddickJapanBernardo Dominic QUALIFIED
Leja B PerinBrazilOnyama Limba NEGOTIATION
Murillo B NestleUnited KingdomAmy Elsner UNQUALIFIED
Juan Y BriddickArgentinaIvan Magalhaes PROPOSAL
Leon K VenereUnited KingdomStephen Shaw RENEWAL
Francesco D DarakjyRussiaAmy Elsner UNQUALIFIED
Emily Z RulapaughItalyAmy Elsner NEGOTIATION
Adams P GlickUnited KingdomStephen Shaw QUALIFIED
Octavia I DilliardGermanyStephen Shaw PROPOSAL
Frozen Columns
Name
Smith A Bolognia
Maisha E Waycott
Emily J Vocelka
Deepesh S Waycott
Faith A Malet
Aditya K Malet
Ivar Y Paprocki
Maisha Y Bowley
Leon S Gaucho
Aika I Flosi
Ricardo Q Whobrey
James Q Whobrey
Octavia A Rulapaugh
Ivar D Saylors
Leja Y Iturbide
Adams L Caldarera
Rodrigues V Kolmetz
Jefferson H Chui
Morrow X Bolognia
Julie V Perin
Nicolas G Briddick
Costa J Doe
Leon M Inouye
Ricardo W Iturbide
Juan H Slusarski
Mujtaba M Darakjy
Claire O Butt
Smith O Amigon
Chavez A Waycott
Isabel R Venere
Octavia B Doe
David J Rulapaugh
Murillo T Royster
Munro Y Foller
Francesco M Poquette
Morrow Q Ostrosky
Kaitlin P Caudy
Jones A Albares
Cody S Inouye
Mujtaba D Stockham
Aruna L Kolmetz
Smith U Rulapaugh
Rodrigues Z Maclead
Salvatore R Stockham
Nicolas N Stenseth
Faith N Rulapaugh
Nicolas P Campain
Misaki N Rulapaugh
Ivar U Garufi
Isabel X Albares
IdCountryDate
1000Russia2025-09-20
1001France2025-09-12
1002Brazil2025-08-25
1003Australia2025-09-06
1004Australia2025-08-28
1005Japan2025-09-07
1006United Kingdom2025-08-25
1007United Kingdom2025-09-20
1008India2025-09-18
1009India2025-08-30
1010Germany2025-09-20
1011United Kingdom2025-09-10
1012Brazil2025-09-08
1013United Kingdom2025-08-26
1014Italy2025-09-18
1015Brazil2025-09-08
1016Australia2025-09-05
1017United Kingdom2025-09-12
1018Argentina2025-09-04
1019Italy2025-09-09
1020Italy2025-09-18
1021Japan2025-09-10
1022Germany2025-09-16
1023Germany2025-09-10
1024United Kingdom2025-09-19
1025Australia2025-09-08
1026Brazil2025-08-30
1027United Kingdom2025-09-09
1028Russia2025-09-10
1029Argentina2025-08-31
1030Brazil2025-09-21
1031Japan2025-08-31
1032Russia2025-08-31
1033France2025-09-22
1034Germany2025-09-20
1035Italy2025-09-15
1036United Kingdom2025-09-03
1037Russia2025-09-10
1038Spain2025-09-02
1039Germany2025-08-28
1040India2025-08-25
1041Japan2025-08-27
1042Brazil2025-09-01
1043Italy2025-08-28
1044Germany2025-08-28
1045Spain2025-09-02
1046Russia2025-09-06
1047Australia2025-09-13
1048United Kingdom2025-09-10
1049Brazil2025-09-03

On-Demand Data

NameIdCountryDate
Salvatore M Ruta1000Japan2025-09-17
Silvio Y Ostrosky1001United Kingdom2025-09-09
Morrow S Darakjy1002Australia2025-09-06
Emily S Bowley1003United Kingdom2025-09-14
Aruna V Ostrosky1004Italy2025-08-27
Chavez L Shinko1005France2025-09-01
Morrow L Inouye1006United Kingdom2025-08-31
Mayumi I Iturbide1007Brazil2025-08-26
Rodrigues J Inouye1008Australia2025-09-08
Faith T Tollner1009United Kingdom2025-08-27
James D Flosi1010Argentina2025-08-25
Jefferson O Amigon1011Germany2025-09-02
Deepesh M Slusarski1012Japan2025-09-14
James R Maclead1013Germany2025-09-18
Morrow D Kusko1014Argentina2025-08-31
Jones Z Waycott1015United Kingdom2025-09-20
Alejandro T Stenseth1016France2025-09-07
Antonio O Kusko1017Brazil2025-09-15
Darci P Schemmer1018France2025-09-21
Deepesh N Doe1019United Kingdom2025-09-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika X GillianBrazilOnyama Limba UNQUALIFIED
Alejandro R CaldareraRussiaAsiya Javayant NEGOTIATION
Morrow O VocelkaBrazilIvan Magalhaes NEW
Maria S CaldareraItalyXuxue Feng QUALIFIED
Ricardo C BriddickJapanIoni Bowcher PROPOSAL
Mujtaba X IturbideJapanOnyama Limba RENEWAL
Stacey X VenereAustraliaIvan Magalhaes QUALIFIED
Adams Q AmigonGermanyIoni Bowcher UNQUALIFIED
Deepesh G GarufiAustraliaAsiya Javayant PROPOSAL
Claire C CampainRussiaIvan Magalhaes RENEWAL
Aruna K DarakjyGermanyAmy Elsner RENEWAL
Kadeem Q KuskoSpainXuxue Feng UNQUALIFIED
Jennifer Y PerinBrazilAmy Elsner NEGOTIATION
Mayumi X StockhamSpainAnna Fali NEW
Faith S IturbideJapanElwin Sharvill NEW
Cody L StockhamArgentinaAnna Fali UNQUALIFIED
Maria W RutaUnited KingdomElwin Sharvill PROPOSAL
Aditya X NickaArgentinaAsiya Javayant RENEWAL
Jones S DarakjyIndiaIoni Bowcher UNQUALIFIED
Deepesh V DilliardRussiaAnna Fali UNQUALIFIED
Kaitlin P DilliardSpainElwin Sharvill RENEWAL
Arvin F RulapaughRussiaOnyama Limba UNQUALIFIED
Clifford S MaletCanadaElwin Sharvill RENEWAL
Salvatore Z DilliardIndiaXuxue Feng NEW
Aika I WieserGermanyIvan Magalhaes RENEWAL
Munro F WaycottRussiaOnyama Limba PROPOSAL
Morrow A FollerRussiaAsiya Javayant QUALIFIED
James W KuskoSpainAmy Elsner RENEWAL
Alejandro M FerenczRussiaAsiya Javayant UNQUALIFIED
Ricardo Z SergiJapanIoni Bowcher RENEWAL
Tony Q BriddickCanadaStephen Shaw PROPOSAL
Jeanfrancois D GauchoArgentinaXuxue Feng PROPOSAL
Octavia T StensethJapanAmy Elsner NEGOTIATION
Sinclair S FigeroaArgentinaOnyama Limba NEGOTIATION
Octavia E BriddickBrazilStephen Shaw UNQUALIFIED
Jeanfrancois X NestleGermanyXuxue Feng RENEWAL
Chavez D BriddickItalyAsiya Javayant UNQUALIFIED
Cody M CaudyItalyOnyama Limba RENEWAL
Adams Q VocelkaJapanAnna Fali NEGOTIATION
Rodrigues R RoysterAustraliaIoni Bowcher 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>