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
Adams N ShinkoArgentinaStephen Shaw NEW
Francesco S MaletArgentinaAnna Fali NEW
Kaitlin C DarakjySpainIoni Bowcher NEGOTIATION
Jones B SlusarskiAustraliaAmy Elsner QUALIFIED
Deepesh X BowleyArgentinaIoni Bowcher PROPOSAL
Isabel I WieserItalyIoni Bowcher UNQUALIFIED
Francesco K CaudyItalyElwin Sharvill NEGOTIATION
Jefferson B InouyeFranceAsiya Javayant NEW
Kaitlin X OstroskySpainIvan Magalhaes PROPOSAL
Murillo Q PaprockiArgentinaOnyama Limba QUALIFIED
Silvio S BowleyArgentinaElwin Sharvill NEW
Costa Z FollerCanadaAsiya Javayant UNQUALIFIED
Jennifer X WaycottSpainStephen Shaw PROPOSAL
Jennifer B MaletBrazilXuxue Feng QUALIFIED
Ashley Z WaycottBrazilBernardo Dominic NEW
Maria L RimRussiaOnyama Limba NEW
Kadeem N DarakjyFranceStephen Shaw PROPOSAL
Sinclair R KuskoCanadaAsiya Javayant QUALIFIED
Darci N MaletArgentinaXuxue Feng NEGOTIATION
Cody H OstroskyAustraliaAmy Elsner PROPOSAL
Stacey W SaylorsBrazilIvan Magalhaes RENEWAL
Aditya W GillianArgentinaStephen Shaw PROPOSAL
Wickens S RoysterCanadaStephen Shaw NEGOTIATION
Aika Y InouyeRussiaElwin Sharvill UNQUALIFIED
Leja X RutaSpainStephen Shaw NEGOTIATION
Sinclair H AlbaresCanadaElwin Sharvill NEGOTIATION
Kaitlin Y VenereRussiaXuxue Feng UNQUALIFIED
David U PaprockiItalyXuxue Feng NEW
Ricardo T AmigonRussiaXuxue Feng NEW
Ashley P BologniaCanadaAnna Fali UNQUALIFIED
Aditya V DoeGermanyOnyama Limba NEW
Chavez J SergiIndiaAnna Fali QUALIFIED
Maria A BriddickSpainOnyama Limba PROPOSAL
Wickens Q BologniaArgentinaAnna Fali QUALIFIED
Leon A StensethSpainBernardo Dominic RENEWAL
Wickens K TollnerArgentinaOnyama Limba PROPOSAL
Isabel F SaylorsCanadaXuxue Feng NEGOTIATION
Ricardo Z WaycottUnited KingdomBernardo Dominic RENEWAL
Emily E DoeAustraliaXuxue Feng UNQUALIFIED
Leon D FollerIndiaElwin Sharvill NEGOTIATION
Ashley A MaletUnited KingdomAsiya Javayant NEGOTIATION
David V MarrierJapanOnyama Limba RENEWAL
Jennifer Y AmigonRussiaIoni Bowcher UNQUALIFIED
Octavia M PoquetteSpainXuxue Feng UNQUALIFIED
Isabel L GillianAustraliaAmy Elsner NEW
Tony Z DilliardBrazilBernardo Dominic NEGOTIATION
Adams E SchemmerUnited KingdomStephen Shaw PROPOSAL
Cody K KolmetzIndiaAsiya Javayant PROPOSAL
Cody Z KuskoUnited KingdomStephen Shaw QUALIFIED
Francesco E SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh J VocelkaBrazilOnyama Limba RENEWAL
Juan T MaletJapanXuxue Feng NEGOTIATION
Maria N OldroydAustraliaBernardo Dominic RENEWAL
Jefferson T FerenczRussiaIoni Bowcher NEGOTIATION
Chavez S ButtFranceBernardo Dominic NEW
Leon F AmigonFranceElwin Sharvill RENEWAL
Wickens Y GarufiBrazilOnyama Limba NEGOTIATION
Izzy D VocelkaSpainAnna Fali QUALIFIED
Izzy D VenereGermanyAsiya Javayant NEW
Alejandro N VenereSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Z MarrierGermany2025-09-29Rangoni Of Florence UNQUALIFIED37Onyama Limba
1001Munro A RoysterArgentina2025-10-06Chapman, Ross E Esq QUALIFIED72Stephen Shaw
1002Morrow T AlbaresItaly2025-09-13Printing Dimensions NEW76Stephen Shaw
1003Octavia U SchemmerCanada2025-09-29Commercial Press PROPOSAL77Asiya Javayant
1004Clifford B CaldareraGermany2025-09-22Benton, John B Jr NEW37Ioni Bowcher
1005Aditya O ShinkoItaly2025-10-06Rangoni Of Florence NEW42Amy Elsner
1006Clifford P MaletCanada2025-09-14Printing Dimensions UNQUALIFIED69Asiya Javayant
1007Leon A SlusarskiAustralia2025-09-25Truhlar And Truhlar Attys UNQUALIFIED62Anna Fali
1008Alejandro D KuskoSpain2025-09-27King, Christopher A Esq NEGOTIATION84Elwin Sharvill
1009Nicolas L DarakjyJapan2025-09-27Chanay, Jeffrey A Esq QUALIFIED18Anna Fali
1010Faith P OstroskyBrazil2025-09-26Chapman, Ross E Esq NEGOTIATION26Amy Elsner
1011Aika C MorascaIndia2025-10-04King, Christopher A Esq NEGOTIATION99Elwin Sharvill
1012Mujtaba H GauchoCanada2025-10-07Feiner Bros RENEWAL49Stephen Shaw
1013Izzy K SchemmerGermany2025-09-29Commercial Press UNQUALIFIED90Elwin Sharvill
1014Ricardo T DilliardFrance2025-09-25Truhlar And Truhlar Attys NEGOTIATION31Ioni Bowcher
1015Alejandro Q SaylorsBrazil2025-09-14Printing Dimensions NEW40Stephen Shaw
1016Clifford B AlbaresArgentina2025-09-27Rousseaux, Michael Esq QUALIFIED86Ivan Magalhaes
1017Leon G DarakjyRussia2025-10-02Printing Dimensions RENEWAL2Bernardo Dominic
1018Silvio C FigeroaCanada2025-10-04Morlong Associates RENEWAL99Bernardo Dominic
1019Leja W SlusarskiFrance2025-10-04Commercial Press PROPOSAL74Xuxue Feng
1020Mayumi E GauchoJapan2025-10-07Chemel, James L Cpa UNQUALIFIED4Ivan Magalhaes
1021Aruna Z IturbideAustralia2025-09-24King, Christopher A Esq QUALIFIED85Amy Elsner
1022Wickens K PaprockiCanada2025-09-30Truhlar And Truhlar Attys QUALIFIED68Xuxue Feng
1023Costa F MacleadSpain2025-09-15Chapman, Ross E Esq NEW43Asiya Javayant
1024Mujtaba P FlosiUnited Kingdom2025-10-05Chapman, Ross E Esq UNQUALIFIED95Anna Fali
1025Costa T FlosiArgentina2025-09-13Rousseaux, Michael Esq QUALIFIED95Onyama Limba
1026Faith E OldroydJapan2025-09-18Rangoni Of Florence PROPOSAL27Anna Fali
1027Jones P NickaItaly2025-09-19Rangoni Of Florence UNQUALIFIED68Ioni Bowcher
1028Maria C ButtGermany2025-10-03Morlong Associates NEGOTIATION73Stephen Shaw
1029Juan I ButtJapan2025-09-18Chemel, James L Cpa NEGOTIATION55Anna Fali
1030Tony I KuskoFrance2025-10-06Chemel, James L Cpa QUALIFIED51Anna Fali
1031Misaki B MorascaAustralia2025-10-06Truhlar And Truhlar Attys RENEWAL34Amy Elsner
1032Octavia D RoysterIndia2025-09-17Feiner Bros NEW60Amy Elsner
1033Maria A GillianBrazil2025-09-30Benton, John B Jr PROPOSAL68Ivan Magalhaes
1034Cody G VocelkaSpain2025-10-06Rousseaux, Michael Esq NEW28Asiya Javayant
1035Silvio X IturbideCanada2025-09-28Buckley Miller Wright PROPOSAL40Bernardo Dominic
1036Greenwood Z FollerAustralia2025-09-28Benton, John B Jr UNQUALIFIED78Ioni Bowcher
1037Leja Z ChuiBrazil2025-09-20Truhlar And Truhlar Attys UNQUALIFIED95Onyama Limba
1038Antonio B CaudyJapan2025-10-05Rangoni Of Florence RENEWAL96Ioni Bowcher
1039Costa D NickaRussia2025-09-29Truhlar And Truhlar Attys NEGOTIATION56Bernardo Dominic
1040Johnson J TollnerIndia2025-10-09Benton, John B Jr NEGOTIATION94Ioni Bowcher
1041Cody L BologniaIndia2025-09-26Feltz Printing Service NEGOTIATION36Anna Fali
1042Mayumi C InouyeGermany2025-09-19Feltz Printing Service UNQUALIFIED21Elwin Sharvill
1043Morrow N RutaUnited Kingdom2025-09-17Chanay, Jeffrey A Esq UNQUALIFIED56Onyama Limba
1044Deepesh O CampainUnited Kingdom2025-09-16Feiner Bros NEW40Stephen Shaw
1045Aruna O CaudyArgentina2025-09-29Benton, John B Jr PROPOSAL54Amy Elsner
1046Isabel X AlbaresSpain2025-09-23Buckley Miller Wright NEW54Elwin Sharvill
1047Clifford N GauchoItaly2025-10-04Chapman, Ross E Esq RENEWAL68Stephen Shaw
1048Isabel Q NickaRussia2025-09-19Feltz Printing Service PROPOSAL57Bernardo Dominic
1049Nicolas Z SergiBrazil2025-10-09Benton, John B Jr NEW24Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Tony X OstroskyCanadaAsiya Javayant RENEWAL
Morrow H RutaRussiaBernardo Dominic QUALIFIED
Salvatore O SlusarskiFranceBernardo Dominic NEGOTIATION
Murillo R MacleadItalyBernardo Dominic RENEWAL
Maria L WaycottFranceAmy Elsner PROPOSAL
Chavez G SchemmerItalyBernardo Dominic QUALIFIED
Jeanfrancois A NickaRussiaAsiya Javayant NEGOTIATION
Wickens Y TollnerGermanyStephen Shaw UNQUALIFIED
James Q RoysterGermanyBernardo Dominic UNQUALIFIED
Alejandro N StensethAustraliaBernardo Dominic RENEWAL
Jennifer D RimJapanIvan Magalhaes NEW
Aika V StockhamRussiaAsiya Javayant NEW
Jennifer S RoysterJapanAnna Fali NEW
Wickens R MacleadBrazilBernardo Dominic NEW
Isabel N PaprockiFranceIvan Magalhaes NEGOTIATION
Salvatore R KuskoJapanStephen Shaw PROPOSAL
Izzy U GarufiJapanXuxue Feng RENEWAL
Misaki X PaprockiGermanyIoni Bowcher QUALIFIED
Costa G VocelkaUnited KingdomAmy Elsner RENEWAL
Wickens B GlickFranceAnna Fali NEW
Antonio K GauchoIndiaIoni Bowcher NEGOTIATION
Aika J DoeBrazilIoni Bowcher QUALIFIED
Leon L PerinBrazilOnyama Limba PROPOSAL
Munro J WhobreyItalyAnna Fali PROPOSAL
Sinclair T MaletBrazilAnna Fali PROPOSAL
Chavez E MorascaAustraliaOnyama Limba NEW
Leon V CaldareraItalyXuxue Feng NEW
Jennifer H AmigonBrazilBernardo Dominic QUALIFIED
Julie C MaletCanadaIoni Bowcher PROPOSAL
Emily O PoquetteArgentinaXuxue Feng QUALIFIED
Emily L GlickUnited KingdomAmy Elsner NEW
Adams G GarufiSpainXuxue Feng NEW
Arvin L BowleyAustraliaXuxue Feng RENEWAL
Salvatore T MacleadArgentinaElwin Sharvill PROPOSAL
Silvio O GlickSpainAnna Fali PROPOSAL
Jones Q AmigonJapanXuxue Feng NEGOTIATION
Stacey O StensethArgentinaOnyama Limba QUALIFIED
Jefferson L FollerSpainStephen Shaw RENEWAL
Munro R ChuiJapanAmy Elsner QUALIFIED
Aruna I CaldareraFranceElwin Sharvill UNQUALIFIED
Jefferson O ButtJapanXuxue Feng NEW
Julie G VenereJapanAmy Elsner NEW
Arvin V PerinArgentinaAnna Fali RENEWAL
Wickens F FerenczRussiaBernardo Dominic QUALIFIED
Mujtaba H KuskoJapanAnna Fali UNQUALIFIED
Wickens F StensethItalyXuxue Feng NEW
Leja E ButtCanadaIvan Magalhaes UNQUALIFIED
Ivar R MaletBrazilOnyama Limba NEGOTIATION
Aditya N DilliardArgentinaBernardo Dominic QUALIFIED
Wickens U InouyeGermanyAmy Elsner NEGOTIATION
Frozen Columns
Name
Murillo W Caudy
Misaki R Venere
Stacey M Malet
Leja R Stockham
Isabel Q Schemmer
Isabel P Whobrey
Kadeem U Ostrosky
Jennifer D Poquette
Sinclair N Butt
Jefferson B Darakjy
Maisha G Kolmetz
Munro F Shinko
Johnson G Saylors
Salvatore C Darakjy
Jennifer O Marrier
Leja I Campain
Kadeem T Kolmetz
Chavez H Sergi
Wickens B Bowley
Greenwood H Poquette
Chavez X Slusarski
Francesco O Slusarski
Jeanfrancois B Saylors
Claire W Foller
Ashley V Stockham
Aruna M Sergi
Ashley Y Slusarski
Jennifer T Briddick
Morrow Z Oldroyd
Costa V Saylors
Tony Q Schemmer
Jennifer W Rim
Mujtaba T Figeroa
Isabel F Inouye
Leja W Amigon
Isabel A Darakjy
Deepesh Y Oldroyd
Julie Q Shinko
Aditya Y Flosi
Deepesh A Figeroa
Murillo X Kusko
Izzy E Whobrey
Alejandro V Chui
David A Maclead
Jones P Venere
Aruna T Poquette
Jeanfrancois S Gillian
Adams N Campain
Aruna R Wieser
Aditya J Gillian
IdCountryDate
1000Russia2025-10-06
1001Russia2025-09-24
1002Japan2025-10-07
1003Japan2025-09-29
1004Russia2025-10-03
1005Spain2025-09-15
1006United Kingdom2025-09-21
1007Australia2025-09-11
1008India2025-09-30
1009Australia2025-09-13
1010Australia2025-09-30
1011Spain2025-09-24
1012United Kingdom2025-09-30
1013Germany2025-09-27
1014Japan2025-09-25
1015Germany2025-10-03
1016Japan2025-09-25
1017Japan2025-10-07
1018Canada2025-09-15
1019Brazil2025-09-15
1020Germany2025-09-14
1021Brazil2025-09-22
1022United Kingdom2025-09-25
1023Japan2025-10-01
1024Spain2025-10-07
1025Spain2025-09-29
1026France2025-09-17
1027Italy2025-09-10
1028Spain2025-09-19
1029Japan2025-10-07
1030Brazil2025-09-23
1031Australia2025-09-20
1032Germany2025-09-14
1033Italy2025-10-01
1034Australia2025-09-21
1035France2025-09-27
1036Germany2025-09-30
1037India2025-10-04
1038Japan2025-10-02
1039Argentina2025-09-29
1040Russia2025-09-29
1041Brazil2025-09-30
1042Brazil2025-09-12
1043Italy2025-09-14
1044Argentina2025-09-28
1045Italy2025-09-26
1046Brazil2025-10-05
1047Spain2025-09-17
1048Spain2025-09-12
1049Japan2025-10-09

On-Demand Data

NameIdCountryDate
Ashley P Stockham1000Germany2025-09-19
Smith T Morasca1001Germany2025-09-18
Deepesh G Gaucho1002Spain2025-09-21
Antonio E Butt1003Brazil2025-10-05
Silvio W Waycott1004France2025-09-24
Sinclair F Amigon1005Brazil2025-09-30
Leon Z Stockham1006Spain2025-09-16
Juan B Campain1007Russia2025-10-02
Maria J Amigon1008Argentina2025-09-27
Murillo H Iturbide1009Spain2025-10-05
Arvin K Iturbide1010Australia2025-09-17
Mayumi O Poquette1011Germany2025-10-01
Jones H Gaucho1012Italy2025-09-15
Arvin L Gaucho1013India2025-10-08
Ashley U Shinko1014Germany2025-10-09
Nicolas A Paprocki1015Spain2025-10-03
Mayumi U Whobrey1016United Kingdom2025-09-26
Johnson U Tollner1017United Kingdom2025-09-16
Isabel N Venere1018Japan2025-09-20
Kaitlin J Glick1019Canada2025-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel X GarufiUnited KingdomOnyama Limba NEGOTIATION
Francesco B DarakjyJapanOnyama Limba QUALIFIED
Jennifer W VenereBrazilStephen Shaw RENEWAL
Juan X WieserArgentinaStephen Shaw NEW
Stacey R GarufiArgentinaAnna Fali UNQUALIFIED
Julie N TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Munro X CaldareraAustraliaAmy Elsner UNQUALIFIED
Tony B VenereAustraliaElwin Sharvill UNQUALIFIED
Salvatore C GauchoCanadaStephen Shaw NEW
Nicolas G VenereItalyAnna Fali UNQUALIFIED
Wickens J MorascaBrazilAsiya Javayant QUALIFIED
David L WieserUnited KingdomAsiya Javayant PROPOSAL
Octavia W DoeJapanIvan Magalhaes NEGOTIATION
Jefferson N RulapaughBrazilXuxue Feng QUALIFIED
Wickens F MaletAustraliaElwin Sharvill PROPOSAL
James U RulapaughAustraliaIoni Bowcher NEGOTIATION
Faith J GarufiArgentinaOnyama Limba PROPOSAL
Aika I RimItalyStephen Shaw NEGOTIATION
Antonio I MaletAustraliaBernardo Dominic PROPOSAL
Johnson X RutaBrazilStephen Shaw NEW
Ivar K CaldareraAustraliaAmy Elsner RENEWAL
Isabel O NickaJapanAsiya Javayant PROPOSAL
David U AlbaresFranceIoni Bowcher NEGOTIATION
Ashley J FigeroaIndiaOnyama Limba NEW
Deepesh F RimUnited KingdomIoni Bowcher NEW
Aditya P KolmetzFranceAmy Elsner UNQUALIFIED
Arvin R GillianFranceXuxue Feng UNQUALIFIED
Faith U MorascaBrazilElwin Sharvill PROPOSAL
Greenwood U CampainSpainOnyama Limba QUALIFIED
Greenwood J RimItalyIoni Bowcher PROPOSAL
Izzy F GillianGermanyAmy Elsner QUALIFIED
Claire G PerinUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba F PerinUnited KingdomIoni Bowcher NEGOTIATION
Chavez T MacleadItalyXuxue Feng UNQUALIFIED
Jefferson Y OstroskyGermanyAnna Fali UNQUALIFIED
James U StockhamBrazilAmy Elsner RENEWAL
Jones G CaudyRussiaAsiya Javayant PROPOSAL
Greenwood L NickaIndiaIvan Magalhaes NEW
Emily M DilliardAustraliaAnna Fali UNQUALIFIED
Octavia M KuskoCanadaIvan 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>