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
Mujtaba V StensethBrazilIvan Magalhaes NEW
Murillo P GillianAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois G WhobreyIndiaOnyama Limba PROPOSAL
Murillo M CaldareraIndiaOnyama Limba NEW
David Y PaprockiIndiaAsiya Javayant UNQUALIFIED
Chavez S CaldareraGermanyStephen Shaw PROPOSAL
Clifford U StensethCanadaAnna Fali PROPOSAL
Stacey T GauchoJapanIoni Bowcher NEGOTIATION
Claire G BriddickItalyIvan Magalhaes NEW
Maria Y DilliardJapanOnyama Limba RENEWAL
Wickens N IturbideCanadaIvan Magalhaes NEGOTIATION
Sinclair K SaylorsFranceXuxue Feng UNQUALIFIED
Silvio J NickaUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi O MaletAustraliaIvan Magalhaes RENEWAL
Jefferson X FerenczFranceXuxue Feng RENEWAL
Murillo K RutaBrazilIoni Bowcher PROPOSAL
Mujtaba E GillianUnited KingdomIoni Bowcher NEGOTIATION
Misaki T ButtCanadaIoni Bowcher RENEWAL
Emily K OldroydRussiaOnyama Limba PROPOSAL
Maria L GauchoCanadaAsiya Javayant NEGOTIATION
Isabel R BriddickSpainIvan Magalhaes PROPOSAL
Munro Z BriddickCanadaXuxue Feng UNQUALIFIED
Maria V MaletIndiaXuxue Feng QUALIFIED
Aruna C RimSpainXuxue Feng RENEWAL
Jefferson A PaprockiIndiaIvan Magalhaes QUALIFIED
Chavez X RoysterFranceAnna Fali QUALIFIED
Isabel N FollerUnited KingdomAsiya Javayant RENEWAL
Mayumi W MaletCanadaOnyama Limba PROPOSAL
Jennifer F NestleArgentinaStephen Shaw RENEWAL
Adams Y SlusarskiArgentinaAmy Elsner RENEWAL
Mayumi K PoquetteAustraliaElwin Sharvill QUALIFIED
Silvio H MaletSpainAnna Fali PROPOSAL
Salvatore M GlickIndiaBernardo Dominic PROPOSAL
Murillo Q KuskoFranceBernardo Dominic UNQUALIFIED
Chavez R WieserAustraliaIvan Magalhaes QUALIFIED
James Z ShinkoCanadaAsiya Javayant UNQUALIFIED
Deepesh D SergiFranceElwin Sharvill UNQUALIFIED
Sinclair N FollerGermanyBernardo Dominic NEGOTIATION
Salvatore N ButtSpainAnna Fali PROPOSAL
Ricardo R GauchoCanadaElwin Sharvill RENEWAL
Aruna V GarufiCanadaAsiya Javayant QUALIFIED
Nicolas T DoeJapanBernardo Dominic NEGOTIATION
Maria C PaprockiItalyOnyama Limba NEW
Costa H WaycottIndiaAmy Elsner NEW
James E PaprockiSpainIvan Magalhaes PROPOSAL
Jefferson M VocelkaItalyAnna Fali QUALIFIED
Cody O MacleadCanadaIvan Magalhaes PROPOSAL
Francesco A CaudyCanadaStephen Shaw RENEWAL
Faith B IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Darci F IturbideBrazilAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aruna G DilliardArgentinaAnna Fali NEGOTIATION
Maisha Z FerenczIndiaXuxue Feng NEW
Leja Q AmigonFranceIvan Magalhaes QUALIFIED
Deepesh E BowleyAustraliaBernardo Dominic PROPOSAL
Adams S RulapaughJapanElwin Sharvill NEW
Cody Z TollnerItalyIoni Bowcher NEW
Jones M RulapaughSpainIoni Bowcher PROPOSAL
Aditya K AlbaresItalyXuxue Feng PROPOSAL
Cody A FigeroaRussiaIvan Magalhaes QUALIFIED
Darci N AmigonJapanIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa G BowleyBrazil2025-08-04Truhlar And Truhlar Attys PROPOSAL82Bernardo Dominic
1001Ashley C PoquetteIndia2025-08-09Chemel, James L Cpa PROPOSAL25Stephen Shaw
1002Ricardo W MaletIndia2025-08-01Chanay, Jeffrey A Esq PROPOSAL43Ivan Magalhaes
1003Jennifer V DoeIndia2025-08-10Chanay, Jeffrey A Esq RENEWAL25Ivan Magalhaes
1004Octavia Z GarufiArgentina2025-08-07Dorl, James J Esq RENEWAL82Ioni Bowcher
1005Kadeem U NickaUnited Kingdom2025-08-20Chemel, James L Cpa RENEWAL62Onyama Limba
1006Costa J DoeGermany2025-08-22Chapman, Ross E Esq QUALIFIED37Ioni Bowcher
1007Isabel W KuskoRussia2025-08-18Buckley Miller Wright QUALIFIED32Stephen Shaw
1008Salvatore X CampainRussia2025-08-16Dorl, James J Esq PROPOSAL93Stephen Shaw
1009James H RoysterRussia2025-07-25Buckley Miller Wright RENEWAL21Elwin Sharvill
1010Wickens C CampainRussia2025-07-28Rangoni Of Florence NEGOTIATION43Asiya Javayant
1011Julie W PoquetteBrazil2025-08-04Feiner Bros RENEWAL33Elwin Sharvill
1012Ricardo M ChuiRussia2025-08-16Commercial Press UNQUALIFIED37Xuxue Feng
1013James X GillianFrance2025-07-31Rousseaux, Michael Esq UNQUALIFIED91Anna Fali
1014Mujtaba O DilliardCanada2025-07-25Rousseaux, Michael Esq RENEWAL50Xuxue Feng
1015Julie C GillianFrance2025-08-04Commercial Press UNQUALIFIED19Stephen Shaw
1016Ashley H PaprockiAustralia2025-08-08Rousseaux, Michael Esq QUALIFIED48Amy Elsner
1017Alejandro J CaldareraCanada2025-08-08Feltz Printing Service QUALIFIED43Bernardo Dominic
1018Octavia H BowleyJapan2025-08-04Rousseaux, Michael Esq RENEWAL0Onyama Limba
1019Rodrigues V SchemmerAustralia2025-07-30Feltz Printing Service NEW80Onyama Limba
1020Aika X OstroskyIndia2025-08-05Dorl, James J Esq RENEWAL7Asiya Javayant
1021Emily Q StockhamSpain2025-07-28Buckley Miller Wright RENEWAL54Amy Elsner
1022Leja N KuskoAustralia2025-08-23Chanay, Jeffrey A Esq PROPOSAL83Elwin Sharvill
1023Munro A RoysterFrance2025-08-04Commercial Press QUALIFIED41Bernardo Dominic
1024Greenwood E BowleySpain2025-07-29King, Christopher A Esq PROPOSAL18Elwin Sharvill
1025Aika D DoeFrance2025-08-21Chemel, James L Cpa UNQUALIFIED35Ivan Magalhaes
1026Jefferson L MacleadUnited Kingdom2025-08-17Chapman, Ross E Esq NEW88Ioni Bowcher
1027Sinclair N RutaBrazil2025-08-14Rangoni Of Florence RENEWAL54Amy Elsner
1028Aruna X FigeroaAustralia2025-08-22Benton, John B Jr QUALIFIED98Onyama Limba
1029Aruna I BriddickAustralia2025-08-19Printing Dimensions RENEWAL41Anna Fali
1030Mayumi F StockhamFrance2025-08-09Truhlar And Truhlar Attys NEGOTIATION82Onyama Limba
1031Emily Z DoeUnited Kingdom2025-08-05Feltz Printing Service PROPOSAL49Amy Elsner
1032Morrow M WaycottJapan2025-08-09Commercial Press QUALIFIED94Elwin Sharvill
1033Greenwood Z PerinUnited Kingdom2025-08-06Benton, John B Jr QUALIFIED16Ioni Bowcher
1034Jefferson U OldroydItaly2025-08-06Commercial Press NEGOTIATION65Amy Elsner
1035Kadeem T BriddickCanada2025-08-18Chapman, Ross E Esq QUALIFIED58Stephen Shaw
1036Octavia H OstroskyRussia2025-08-19Chemel, James L Cpa NEW91Stephen Shaw
1037Faith Y RimGermany2025-08-03Chanay, Jeffrey A Esq QUALIFIED79Ivan Magalhaes
1038Jeanfrancois J AlbaresUnited Kingdom2025-08-20Truhlar And Truhlar Attys RENEWAL58Ivan Magalhaes
1039Adams C PaprockiJapan2025-07-25Rousseaux, Michael Esq QUALIFIED77Anna Fali
1040Deepesh U KuskoItaly2025-08-13Rangoni Of Florence NEGOTIATION92Anna Fali
1041Faith Q AlbaresItaly2025-08-01Truhlar And Truhlar Attys UNQUALIFIED13Asiya Javayant
1042Nicolas E MorascaSpain2025-08-22Dorl, James J Esq RENEWAL43Amy Elsner
1043Aika E RoysterIndia2025-08-12Truhlar And Truhlar Attys NEW58Elwin Sharvill
1044Kadeem U GauchoFrance2025-07-31Dorl, James J Esq UNQUALIFIED15Xuxue Feng
1045Mayumi V MaletAustralia2025-08-17Commercial Press NEW27Onyama Limba
1046Ivar B GauchoRussia2025-08-02Buckley Miller Wright QUALIFIED69Amy Elsner
1047Munro U WaycottIndia2025-08-05Rangoni Of Florence RENEWAL55Xuxue Feng
1048Darci N NestleItaly2025-08-19Rousseaux, Michael Esq QUALIFIED37Ivan Magalhaes
1049Claire V BowleyJapan2025-07-29Truhlar And Truhlar Attys NEGOTIATION99Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jefferson A NickaSpainStephen Shaw RENEWAL
Jefferson Q WieserGermanyElwin Sharvill NEW
Murillo L BriddickJapanXuxue Feng UNQUALIFIED
Jefferson J MorascaJapanBernardo Dominic QUALIFIED
Claire Z CampainRussiaElwin Sharvill QUALIFIED
Mujtaba S CampainSpainXuxue Feng NEGOTIATION
Aruna N StensethGermanyStephen Shaw RENEWAL
Leja Q StockhamJapanXuxue Feng RENEWAL
Leja Q RutaBrazilIvan Magalhaes NEGOTIATION
Jones Q IturbideAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois A NestleSpainOnyama Limba UNQUALIFIED
Maisha D IturbideArgentinaIvan Magalhaes NEW
James N VenereCanadaIoni Bowcher NEGOTIATION
Francesco P FollerCanadaIoni Bowcher NEGOTIATION
Salvatore T VenereArgentinaBernardo Dominic RENEWAL
Clifford C GlickSpainBernardo Dominic NEW
Emily G OldroydFranceAnna Fali QUALIFIED
Maisha H GarufiFranceIvan Magalhaes PROPOSAL
Johnson J FigeroaItalyBernardo Dominic PROPOSAL
Clifford U NickaSpainIvan Magalhaes RENEWAL
David D WaycottBrazilAnna Fali RENEWAL
Wickens X KuskoAustraliaStephen Shaw PROPOSAL
Francesco C PerinItalyBernardo Dominic NEW
Jennifer M FerenczUnited KingdomElwin Sharvill PROPOSAL
Kaitlin F OldroydFranceAnna Fali QUALIFIED
Mujtaba F RutaAustraliaOnyama Limba QUALIFIED
Mujtaba Z BologniaCanadaAmy Elsner RENEWAL
Misaki P FerenczBrazilBernardo Dominic PROPOSAL
Francesco B RoysterSpainXuxue Feng NEW
Mayumi L DilliardJapanAnna Fali PROPOSAL
Mayumi K PaprockiCanadaBernardo Dominic UNQUALIFIED
Morrow F CampainBrazilAnna Fali UNQUALIFIED
Izzy G BologniaBrazilAnna Fali PROPOSAL
Faith V FigeroaBrazilIvan Magalhaes PROPOSAL
Juan O TollnerCanadaIoni Bowcher PROPOSAL
Darci Y FigeroaUnited KingdomAmy Elsner RENEWAL
David C SlusarskiFranceStephen Shaw RENEWAL
Nicolas M SaylorsBrazilBernardo Dominic RENEWAL
Mujtaba W SlusarskiGermanyOnyama Limba UNQUALIFIED
Leja J OldroydItalyOnyama Limba RENEWAL
Kadeem F FigeroaAustraliaStephen Shaw PROPOSAL
Salvatore J CaudyGermanyAnna Fali UNQUALIFIED
Izzy V FlosiAustraliaElwin Sharvill QUALIFIED
Emily O GillianBrazilAsiya Javayant NEW
Wickens C KuskoGermanyAsiya Javayant QUALIFIED
Leja E NestleBrazilStephen Shaw NEGOTIATION
Kadeem C SergiArgentinaXuxue Feng QUALIFIED
Misaki Y StensethJapanOnyama Limba QUALIFIED
Claire S FlosiIndiaIoni Bowcher NEW
Kadeem D MorascaBrazilBernardo Dominic QUALIFIED
Frozen Columns
Name
Misaki W Amigon
Sinclair N Waycott
Antonio P Briddick
Emily A Poquette
Morrow S Foller
David U Venere
Mayumi G Sergi
Juan R Rulapaugh
Rodrigues X Kusko
Tony W Figeroa
Ricardo B Rim
Smith H Morasca
Cody L Butt
Johnson H Shinko
Kaitlin B Butt
Leja F Slusarski
Aruna D Schemmer
Johnson L Perin
Nicolas E Albares
Ricardo E Vocelka
Ashley U Flosi
Leon V Caudy
Jones U Amigon
Arvin B Ferencz
Ashley M Kolmetz
Adams L Ruta
Arvin C Slusarski
Darci Q Schemmer
Julie M Oldroyd
Maria S Marrier
Tony U Garufi
Adams L Albares
Wickens C Gaucho
Silvio R Paprocki
Adams J Vocelka
Isabel D Whobrey
Adams P Rulapaugh
Johnson V Butt
Tony G Bowley
Salvatore T Vocelka
Mayumi V Whobrey
Jefferson E Doe
James H Whobrey
Deepesh X Flosi
Costa M Chui
Mujtaba F Gaucho
Leon P Waycott
Isabel D Ruta
Faith E Bolognia
Aditya Y Rulapaugh
IdCountryDate
1000Canada2025-07-25
1001Brazil2025-08-19
1002Spain2025-08-15
1003Canada2025-08-09
1004United Kingdom2025-07-26
1005Japan2025-08-06
1006United Kingdom2025-08-18
1007Russia2025-08-03
1008Spain2025-08-14
1009France2025-08-22
1010Argentina2025-08-13
1011Argentina2025-08-13
1012United Kingdom2025-07-30
1013Australia2025-08-12
1014India2025-08-23
1015Spain2025-08-21
1016Argentina2025-08-01
1017Argentina2025-08-11
1018Japan2025-08-03
1019Japan2025-08-21
1020France2025-08-17
1021Russia2025-08-02
1022Australia2025-08-13
1023Brazil2025-07-29
1024Spain2025-08-19
1025Argentina2025-08-03
1026Argentina2025-07-26
1027Germany2025-08-18
1028France2025-08-12
1029Australia2025-08-21
1030Spain2025-07-31
1031Australia2025-08-18
1032United Kingdom2025-08-19
1033Argentina2025-08-07
1034France2025-08-06
1035Germany2025-08-16
1036Italy2025-08-11
1037Russia2025-08-14
1038Brazil2025-08-15
1039Australia2025-07-26
1040Germany2025-08-08
1041France2025-07-25
1042India2025-08-07
1043France2025-07-25
1044Germany2025-08-18
1045France2025-08-21
1046Canada2025-08-02
1047Canada2025-08-14
1048Spain2025-08-15
1049Italy2025-08-12

On-Demand Data

NameIdCountryDate
Deepesh L Foller1000India2025-08-07
Mayumi A Royster1001Argentina2025-08-15
Jennifer I Garufi1002India2025-08-15
Ricardo M Bowley1003Argentina2025-07-26
Kadeem F Saylors1004Italy2025-08-11
Aika A Bowley1005Germany2025-08-12
Arvin G Caudy1006Japan2025-07-30
Kaitlin V Foller1007Spain2025-07-30
David A Waycott1008France2025-08-18
Kadeem T Paprocki1009Japan2025-08-03
Ashley A Rim1010Argentina2025-08-20
Murillo F Amigon1011Italy2025-08-18
Cody B Caudy1012Japan2025-08-08
Munro O Gillian1013Germany2025-08-19
Jones S Ruta1014Argentina2025-08-04
Wickens U Flosi1015Japan2025-08-13
Aditya C Rulapaugh1016United Kingdom2025-08-22
Izzy C Royster1017Italy2025-08-07
Jefferson A Briddick1018Spain2025-07-29
Silvio C Poquette1019Germany2025-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer T FigeroaItalyAmy Elsner NEGOTIATION
Jennifer H VenereRussiaBernardo Dominic NEW
Rodrigues C FigeroaRussiaAnna Fali NEW
Kaitlin D ShinkoFranceOnyama Limba QUALIFIED
Aruna Z RulapaughJapanAnna Fali NEGOTIATION
Julie H RulapaughItalyXuxue Feng UNQUALIFIED
Maria E WhobreyFranceOnyama Limba NEW
Alejandro W FlosiArgentinaXuxue Feng PROPOSAL
Jones V GlickRussiaBernardo Dominic QUALIFIED
Juan X DarakjyIndiaIoni Bowcher UNQUALIFIED
Sinclair V VocelkaIndiaAmy Elsner UNQUALIFIED
Munro I KuskoRussiaBernardo Dominic UNQUALIFIED
Faith T WhobreyAustraliaAnna Fali PROPOSAL
Ashley Q RoysterRussiaOnyama Limba QUALIFIED
Morrow V ButtGermanyXuxue Feng PROPOSAL
Johnson I DilliardArgentinaOnyama Limba PROPOSAL
Leja Q FollerGermanyAmy Elsner NEW
Nicolas J RimCanadaIvan Magalhaes RENEWAL
Mujtaba D GauchoCanadaIvan Magalhaes NEGOTIATION
Greenwood U NickaIndiaIoni Bowcher UNQUALIFIED
Nicolas E DoeSpainAsiya Javayant RENEWAL
Murillo C OldroydSpainXuxue Feng QUALIFIED
Stacey V FerenczAustraliaAsiya Javayant NEGOTIATION
Juan K StockhamAustraliaElwin Sharvill NEW
David Z FollerFranceIvan Magalhaes PROPOSAL
Jefferson Q KuskoJapanIvan Magalhaes QUALIFIED
Octavia R GauchoGermanyIoni Bowcher NEW
Claire H FlosiAustraliaStephen Shaw UNQUALIFIED
James A PaprockiGermanyOnyama Limba RENEWAL
Kadeem X CaldareraIndiaXuxue Feng NEGOTIATION
Francesco R CampainAustraliaXuxue Feng RENEWAL
Isabel O IturbideUnited KingdomAmy Elsner QUALIFIED
Alejandro O StockhamSpainIvan Magalhaes RENEWAL
Smith X BriddickBrazilStephen Shaw RENEWAL
Wickens A DilliardArgentinaAnna Fali NEGOTIATION
Jones Y StensethAustraliaIvan Magalhaes NEGOTIATION
Silvio Z FollerUnited KingdomIvan Magalhaes PROPOSAL
Smith S CaudyItalyIoni Bowcher PROPOSAL
Morrow U BologniaUnited KingdomElwin Sharvill NEGOTIATION
Ashley B RimUnited KingdomIvan Magalhaes 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>