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
Juan M VenereBrazilXuxue Feng NEW
Johnson X ChuiCanadaElwin Sharvill NEW
Misaki R WaycottIndiaIoni Bowcher RENEWAL
Francesco J OstroskyCanadaAmy Elsner NEW
Ricardo D ButtItalyElwin Sharvill QUALIFIED
Leja X VenereAustraliaAnna Fali UNQUALIFIED
Jeanfrancois X BriddickCanadaAmy Elsner NEGOTIATION
Francesco J RoysterSpainIoni Bowcher RENEWAL
Rodrigues O BologniaFranceAmy Elsner QUALIFIED
Chavez V MarrierItalyStephen Shaw NEW
Octavia T ChuiItalyAmy Elsner NEGOTIATION
Aruna C CaudyUnited KingdomBernardo Dominic NEGOTIATION
Salvatore N MorascaIndiaIoni Bowcher UNQUALIFIED
David O OldroydJapanStephen Shaw NEGOTIATION
Costa B ShinkoAustraliaAsiya Javayant QUALIFIED
Claire O DoeSpainAsiya Javayant QUALIFIED
Aika A CaldareraFranceOnyama Limba UNQUALIFIED
Maisha J MorascaBrazilAsiya Javayant QUALIFIED
Juan W BowleyItalyAnna Fali NEW
Clifford D BriddickCanadaIoni Bowcher RENEWAL
Kadeem R SchemmerItalyElwin Sharvill QUALIFIED
Maria H MaletRussiaStephen Shaw RENEWAL
Faith H CaldareraRussiaXuxue Feng PROPOSAL
Stacey X MorascaIndiaIvan Magalhaes UNQUALIFIED
James K PoquetteIndiaOnyama Limba QUALIFIED
James A PaprockiItalyOnyama Limba NEW
Murillo M NestleSpainAmy Elsner NEW
Jennifer E WhobreyBrazilAnna Fali QUALIFIED
Clifford M SergiAustraliaStephen Shaw NEW
Adams R KolmetzFranceStephen Shaw RENEWAL
James M PerinUnited KingdomStephen Shaw NEW
Julie I GarufiUnited KingdomIvan Magalhaes NEW
Sinclair A FerenczAustraliaStephen Shaw PROPOSAL
Tony D FlosiJapanAmy Elsner RENEWAL
Mujtaba D VocelkaIndiaIoni Bowcher QUALIFIED
Jennifer A CaldareraFranceAmy Elsner NEGOTIATION
Isabel F FigeroaSpainIvan Magalhaes NEGOTIATION
Munro A ChuiArgentinaAmy Elsner RENEWAL
Darci N ChuiFranceAnna Fali PROPOSAL
Arvin L RoysterItalyStephen Shaw RENEWAL
Juan D SergiRussiaAsiya Javayant PROPOSAL
Deepesh J ButtCanadaBernardo Dominic NEW
Greenwood M RulapaughRussiaOnyama Limba UNQUALIFIED
Wickens Z CampainSpainAnna Fali QUALIFIED
Cody G MorascaRussiaIvan Magalhaes NEGOTIATION
Izzy M BowleyIndiaAmy Elsner PROPOSAL
Mujtaba Z DilliardSpainAnna Fali PROPOSAL
Greenwood N IturbideSpainElwin Sharvill NEGOTIATION
Tony A MaletBrazilStephen Shaw PROPOSAL
Greenwood A SergiBrazilOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Silvio W WhobreySpainIvan Magalhaes PROPOSAL
Izzy B FerenczFranceAnna Fali NEGOTIATION
Jennifer D NickaArgentinaBernardo Dominic RENEWAL
Tony U KuskoCanadaXuxue Feng UNQUALIFIED
Leon J BowleyJapanStephen Shaw NEW
Mujtaba I FigeroaFranceOnyama Limba RENEWAL
Kaitlin M DarakjyFranceIvan Magalhaes RENEWAL
Antonio T DilliardIndiaXuxue Feng QUALIFIED
Isabel V KolmetzCanadaIvan Magalhaes PROPOSAL
Octavia G MaletUnited KingdomXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Y ShinkoSpain2025-08-23Feiner Bros NEGOTIATION0Asiya Javayant
1001Kadeem D WieserFrance2025-08-20Feltz Printing Service PROPOSAL7Onyama Limba
1002Aika Z NestleRussia2025-08-16Rousseaux, Michael Esq QUALIFIED85Bernardo Dominic
1003Ivar H BriddickFrance2025-08-17Feltz Printing Service UNQUALIFIED40Bernardo Dominic
1004Greenwood O IturbideRussia2025-08-22Rangoni Of Florence PROPOSAL30Elwin Sharvill
1005Clifford P OstroskyCanada2025-08-06Rangoni Of Florence UNQUALIFIED6Anna Fali
1006Darci U InouyeArgentina2025-07-27Rousseaux, Michael Esq NEGOTIATION9Ivan Magalhaes
1007Alejandro N KuskoCanada2025-08-19Feiner Bros UNQUALIFIED86Elwin Sharvill
1008Johnson C StockhamGermany2025-08-18Chemel, James L Cpa RENEWAL34Onyama Limba
1009Jones R VenereFrance2025-08-09Dorl, James J Esq RENEWAL43Asiya Javayant
1010Costa F TollnerFrance2025-08-22Chapman, Ross E Esq UNQUALIFIED19Ioni Bowcher
1011Ivar H FerenczBrazil2025-08-04Commercial Press PROPOSAL62Bernardo Dominic
1012Silvio F FlosiFrance2025-07-28Buckley Miller Wright NEGOTIATION21Xuxue Feng
1013Costa Z MacleadIndia2025-08-07King, Christopher A Esq UNQUALIFIED39Ioni Bowcher
1014Leja V RimSpain2025-08-10Rangoni Of Florence PROPOSAL95Ivan Magalhaes
1015Darci E ShinkoFrance2025-08-06King, Christopher A Esq RENEWAL14Anna Fali
1016Octavia P PerinIndia2025-08-14Buckley Miller Wright NEW15Ioni Bowcher
1017Misaki X VocelkaAustralia2025-08-16Commercial Press NEW89Stephen Shaw
1018Smith K DilliardBrazil2025-07-28Printing Dimensions NEW51Anna Fali
1019Aruna M InouyeCanada2025-08-01Feltz Printing Service NEW56Anna Fali
1020Clifford Z AmigonSpain2025-08-07Truhlar And Truhlar Attys RENEWAL64Bernardo Dominic
1021Murillo G SergiUnited Kingdom2025-07-25Feiner Bros NEGOTIATION5Ioni Bowcher
1022Deepesh I MaletCanada2025-08-21Rousseaux, Michael Esq UNQUALIFIED26Amy Elsner
1023Murillo L GillianArgentina2025-08-22Chemel, James L Cpa UNQUALIFIED21Bernardo Dominic
1024Francesco N CaudyBrazil2025-07-31Rousseaux, Michael Esq UNQUALIFIED85Stephen Shaw
1025Ricardo C WaycottBrazil2025-08-19Rousseaux, Michael Esq QUALIFIED84Xuxue Feng
1026Greenwood G FigeroaIndia2025-08-08Dorl, James J Esq UNQUALIFIED72Xuxue Feng
1027Costa W BriddickItaly2025-08-23Chapman, Ross E Esq RENEWAL15Ivan Magalhaes
1028Jennifer N ChuiJapan2025-08-03Chapman, Ross E Esq NEW11Asiya Javayant
1029Ashley F KuskoSpain2025-08-14Chapman, Ross E Esq RENEWAL96Ivan Magalhaes
1030Deepesh I DilliardGermany2025-07-29King, Christopher A Esq RENEWAL8Ioni Bowcher
1031Kaitlin D AmigonFrance2025-08-02Printing Dimensions PROPOSAL47Ioni Bowcher
1032Rodrigues E AlbaresIndia2025-08-14Feltz Printing Service NEGOTIATION83Anna Fali
1033Jones Z FerenczFrance2025-08-01Feiner Bros RENEWAL27Asiya Javayant
1034Aditya G CampainGermany2025-07-31Printing Dimensions QUALIFIED0Ioni Bowcher
1035Chavez G MorascaUnited Kingdom2025-08-03King, Christopher A Esq PROPOSAL35Amy Elsner
1036David V MaletGermany2025-08-07Morlong Associates RENEWAL54Xuxue Feng
1037Misaki V InouyeUnited Kingdom2025-08-12Chemel, James L Cpa UNQUALIFIED31Elwin Sharvill
1038Francesco X TollnerUnited Kingdom2025-08-04Feltz Printing Service NEW7Onyama Limba
1039Tony Y VenereBrazil2025-07-29Feiner Bros RENEWAL22Amy Elsner
1040Deepesh V MaletCanada2025-08-01King, Christopher A Esq RENEWAL28Onyama Limba
1041Izzy W CaldareraUnited Kingdom2025-08-09Chanay, Jeffrey A Esq UNQUALIFIED9Bernardo Dominic
1042Rodrigues B MaletSpain2025-08-03Morlong Associates NEGOTIATION93Amy Elsner
1043Johnson H StockhamItaly2025-07-25Rousseaux, Michael Esq NEW56Amy Elsner
1044Salvatore Z SchemmerGermany2025-07-30Morlong Associates PROPOSAL0Ivan Magalhaes
1045Ashley H PaprockiIndia2025-07-29Chanay, Jeffrey A Esq PROPOSAL35Bernardo Dominic
1046Deepesh Z OldroydArgentina2025-08-15Dorl, James J Esq NEGOTIATION29Bernardo Dominic
1047Izzy E VenereFrance2025-08-08Rangoni Of Florence UNQUALIFIED56Stephen Shaw
1048Aika W OldroydGermany2025-08-17Commercial Press RENEWAL64Bernardo Dominic
1049Arvin X RutaFrance2025-07-25Commercial Press UNQUALIFIED73Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Greenwood A CampainBrazilOnyama Limba QUALIFIED
Kadeem H MaletGermanyIvan Magalhaes UNQUALIFIED
Johnson R DilliardArgentinaIoni Bowcher NEW
Costa G ChuiGermanyStephen Shaw UNQUALIFIED
Maisha O PaprockiGermanyXuxue Feng NEGOTIATION
Leon F OstroskyAustraliaAmy Elsner NEGOTIATION
Ashley I CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Deepesh I StensethIndiaIoni Bowcher QUALIFIED
Arvin O RoysterCanadaStephen Shaw RENEWAL
Darci T FlosiCanadaAmy Elsner QUALIFIED
Francesco Q BowleyArgentinaAnna Fali UNQUALIFIED
Darci C CaudyGermanyStephen Shaw NEGOTIATION
Claire K MaletItalyIvan Magalhaes RENEWAL
James Q IturbideBrazilOnyama Limba NEGOTIATION
Greenwood W SlusarskiFranceAmy Elsner NEW
Emily J StockhamGermanyStephen Shaw QUALIFIED
Wickens W ShinkoJapanStephen Shaw QUALIFIED
Munro I MaletFranceBernardo Dominic RENEWAL
Nicolas V MaletSpainIvan Magalhaes NEGOTIATION
Morrow N AlbaresBrazilStephen Shaw NEW
Faith J SlusarskiIndiaAmy Elsner QUALIFIED
Clifford P InouyeUnited KingdomAmy Elsner QUALIFIED
Costa X BologniaItalyAnna Fali QUALIFIED
Aditya F RutaSpainBernardo Dominic QUALIFIED
Jeanfrancois U KuskoBrazilOnyama Limba RENEWAL
Costa T FigeroaArgentinaAsiya Javayant RENEWAL
Ivar I SlusarskiIndiaXuxue Feng NEGOTIATION
Sinclair R PerinIndiaStephen Shaw PROPOSAL
Aruna P BologniaRussiaAsiya Javayant NEGOTIATION
Arvin M DoeIndiaElwin Sharvill NEGOTIATION
Misaki U PaprockiSpainAmy Elsner NEGOTIATION
Misaki G DilliardArgentinaIvan Magalhaes RENEWAL
Arvin Y DilliardIndiaStephen Shaw PROPOSAL
Munro V StensethCanadaBernardo Dominic RENEWAL
Tony J SlusarskiJapanIvan Magalhaes QUALIFIED
Juan U GauchoGermanyAmy Elsner NEGOTIATION
Stacey D VocelkaItalyIoni Bowcher NEW
Isabel S WieserItalyXuxue Feng NEW
Octavia G GauchoJapanIoni Bowcher NEW
Wickens T PaprockiAustraliaAsiya Javayant NEW
Ashley E ButtRussiaAnna Fali NEGOTIATION
Alejandro Q NickaRussiaIoni Bowcher NEGOTIATION
Jefferson L MacleadFranceBernardo Dominic QUALIFIED
Darci U AmigonSpainBernardo Dominic NEW
Nicolas V SlusarskiSpainIvan Magalhaes NEW
Aruna S BowleyBrazilStephen Shaw NEGOTIATION
Izzy D KuskoUnited KingdomXuxue Feng PROPOSAL
Greenwood L MaletGermanyBernardo Dominic RENEWAL
Maisha S GlickSpainAnna Fali RENEWAL
Julie F SlusarskiGermanyElwin Sharvill QUALIFIED
Frozen Columns
Name
Isabel B Venere
Isabel S Paprocki
Arvin D Ruta
Misaki L Caudy
Jefferson I Royster
Aika M Royster
Maria H Kusko
Smith C Doe
Salvatore P Kolmetz
Jennifer M Caudy
Octavia N Kolmetz
James A Figeroa
Munro E Slusarski
Maisha L Stockham
Cody Y Nicka
Smith M Doe
Aruna J Sergi
Isabel G Saylors
Munro C Venere
Claire R Stenseth
Mayumi B Shinko
Nicolas Q Ferencz
Kaitlin R Bowley
Kaitlin H Albares
Costa I Malet
Rodrigues V Caldarera
Kadeem Q Darakjy
Alejandro Z Bolognia
Murillo T Vocelka
Kadeem X Doe
Morrow H Nicka
Jennifer E Royster
Misaki I Perin
Mayumi H Darakjy
Tony I Rim
Jefferson M Doe
Francesco D Butt
Francesco Y Caudy
Octavia U Albares
Emily D Shinko
Alejandro O Ostrosky
Kadeem V Gaucho
Rodrigues O Darakjy
Francesco M Glick
Rodrigues I Figeroa
Smith K Caldarera
Jeanfrancois N Ferencz
Izzy U Paprocki
Arvin Q Nicka
Sinclair A Paprocki
IdCountryDate
1000United Kingdom2025-08-11
1001Australia2025-08-12
1002Germany2025-08-19
1003Russia2025-07-29
1004Germany2025-08-14
1005Italy2025-07-30
1006Spain2025-08-10
1007Germany2025-08-09
1008Australia2025-07-25
1009India2025-08-03
1010Australia2025-08-07
1011Brazil2025-07-27
1012Germany2025-08-17
1013Spain2025-08-19
1014Canada2025-08-16
1015Brazil2025-08-17
1016Canada2025-08-14
1017India2025-08-10
1018Spain2025-08-17
1019Italy2025-08-07
1020United Kingdom2025-07-28
1021United Kingdom2025-08-08
1022United Kingdom2025-08-21
1023Japan2025-08-11
1024Spain2025-08-19
1025Italy2025-07-28
1026Italy2025-07-29
1027India2025-08-11
1028Japan2025-07-30
1029Argentina2025-08-20
1030Russia2025-07-30
1031India2025-08-14
1032Argentina2025-08-18
1033Argentina2025-08-07
1034United Kingdom2025-08-13
1035France2025-07-30
1036Italy2025-07-29
1037Italy2025-08-17
1038Japan2025-08-01
1039Australia2025-08-07
1040France2025-08-23
1041Canada2025-07-30
1042Spain2025-08-07
1043Spain2025-08-13
1044India2025-07-28
1045Spain2025-07-26
1046Russia2025-08-21
1047Australia2025-08-09
1048Spain2025-08-01
1049Japan2025-08-08

On-Demand Data

NameIdCountryDate
Francesco X Wieser1000Australia2025-08-04
Smith Q Nicka1001Russia2025-08-17
Aruna Y Stockham1002United Kingdom2025-08-14
Ivar S Sergi1003Japan2025-08-11
Antonio Q Chui1004Japan2025-08-07
Jennifer Z Gillian1005France2025-08-21
Aditya H Poquette1006Australia2025-08-16
Murillo Q Oldroyd1007India2025-08-09
Claire I Bolognia1008Russia2025-08-01
Nicolas C Gillian1009Italy2025-08-09
Kaitlin S Bowley1010Germany2025-08-08
James G Ostrosky1011Canada2025-07-27
Isabel G Morasca1012Italy2025-08-07
Antonio G Nestle1013United Kingdom2025-08-20
Antonio L Kolmetz1014Russia2025-08-19
Izzy N Shinko1015Canada2025-08-14
Jennifer O Briddick1016Italy2025-08-06
Chavez G Morasca1017Australia2025-08-21
Claire X Perin1018France2025-07-30
David I Caldarera1019Brazil2025-08-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci I VocelkaJapanStephen Shaw UNQUALIFIED
Rodrigues A PaprockiJapanAmy Elsner RENEWAL
Misaki Y OldroydUnited KingdomIoni Bowcher PROPOSAL
Sinclair B WieserGermanyOnyama Limba RENEWAL
Jennifer M RutaGermanyElwin Sharvill QUALIFIED
Alejandro T MacleadRussiaStephen Shaw UNQUALIFIED
James K OstroskyFranceOnyama Limba RENEWAL
Antonio A GillianAustraliaBernardo Dominic UNQUALIFIED
Mujtaba N InouyeFranceBernardo Dominic UNQUALIFIED
Maisha U MaletGermanyBernardo Dominic RENEWAL
Smith G FlosiArgentinaXuxue Feng NEW
Mayumi Z MaletUnited KingdomBernardo Dominic QUALIFIED
Juan X BowleyItalyStephen Shaw NEW
Mayumi S ShinkoRussiaIoni Bowcher RENEWAL
Jeanfrancois Q RoysterJapanIvan Magalhaes PROPOSAL
Emily R RimJapanBernardo Dominic RENEWAL
Francesco P WieserItalyElwin Sharvill NEW
Francesco E RulapaughGermanyAmy Elsner PROPOSAL
Misaki G KolmetzGermanyAmy Elsner NEGOTIATION
Francesco L PaprockiArgentinaAnna Fali QUALIFIED
Claire I SchemmerGermanyStephen Shaw QUALIFIED
Clifford M OstroskySpainElwin Sharvill PROPOSAL
Mujtaba C RoysterCanadaAnna Fali NEW
Munro W RimIndiaXuxue Feng NEW
Clifford L CampainRussiaStephen Shaw PROPOSAL
Aruna P MorascaGermanyBernardo Dominic QUALIFIED
Sinclair K IturbideUnited KingdomStephen Shaw UNQUALIFIED
Greenwood J GarufiBrazilAmy Elsner PROPOSAL
Maria Q IturbideIndiaOnyama Limba NEGOTIATION
Cody F MaletJapanBernardo Dominic RENEWAL
Clifford Z CaudyJapanAmy Elsner NEGOTIATION
Clifford K GauchoJapanAmy Elsner UNQUALIFIED
Izzy J MarrierUnited KingdomIvan Magalhaes RENEWAL
Munro C WieserGermanyAsiya Javayant RENEWAL
Jones E GauchoRussiaIoni Bowcher PROPOSAL
Cody V CaudyItalyStephen Shaw UNQUALIFIED
Costa H CaudyItalyAsiya Javayant UNQUALIFIED
Antonio D FerenczUnited KingdomAnna Fali UNQUALIFIED
Salvatore M ShinkoIndiaStephen Shaw UNQUALIFIED
Cody O InouyeArgentinaIoni Bowcher 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>