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
Sinclair K RimJapanBernardo Dominic NEGOTIATION
Deepesh V InouyeAustraliaOnyama Limba PROPOSAL
Francesco M GauchoIndiaIvan Magalhaes QUALIFIED
Juan C MaletArgentinaOnyama Limba NEW
Munro M GarufiFranceBernardo Dominic QUALIFIED
Ricardo M GillianItalyAmy Elsner UNQUALIFIED
Greenwood I RutaCanadaAmy Elsner NEGOTIATION
Adams D DarakjyRussiaXuxue Feng RENEWAL
Chavez Y DoeJapanAnna Fali UNQUALIFIED
Sinclair W DilliardSpainBernardo Dominic QUALIFIED
Emily T SergiArgentinaOnyama Limba NEW
Leja E SlusarskiAustraliaAsiya Javayant QUALIFIED
Aruna Q InouyeUnited KingdomBernardo Dominic NEGOTIATION
Aruna W DoeFranceElwin Sharvill RENEWAL
Francesco U GlickFranceBernardo Dominic RENEWAL
Leon A FerenczRussiaIoni Bowcher PROPOSAL
Misaki E DilliardUnited KingdomIoni Bowcher NEGOTIATION
James C RutaUnited KingdomBernardo Dominic UNQUALIFIED
Morrow R RulapaughSpainAsiya Javayant PROPOSAL
Misaki Y GlickFranceAmy Elsner PROPOSAL
Darci K GillianGermanyIvan Magalhaes NEGOTIATION
Ashley G MaletJapanStephen Shaw QUALIFIED
Claire V AmigonUnited KingdomElwin Sharvill NEW
Ricardo I InouyeBrazilAnna Fali QUALIFIED
Munro A RulapaughGermanyElwin Sharvill NEW
Chavez R RimAustraliaAsiya Javayant PROPOSAL
Leon T RoysterSpainBernardo Dominic PROPOSAL
Maria Z MarrierRussiaStephen Shaw RENEWAL
Mayumi E NickaGermanyAsiya Javayant UNQUALIFIED
Francesco D MaletArgentinaOnyama Limba QUALIFIED
Smith B DoeBrazilOnyama Limba NEW
Leon Z KolmetzIndiaAmy Elsner NEGOTIATION
Antonio E MacleadSpainAnna Fali NEGOTIATION
Murillo C AlbaresItalyAnna Fali NEW
Julie F StockhamRussiaOnyama Limba NEGOTIATION
Chavez M KolmetzJapanXuxue Feng PROPOSAL
Darci I FlosiItalyStephen Shaw NEW
Johnson V GauchoArgentinaIvan Magalhaes PROPOSAL
Kaitlin Z VocelkaArgentinaAsiya Javayant QUALIFIED
Leon M SchemmerBrazilIvan Magalhaes QUALIFIED
Leja C MaletIndiaOnyama Limba NEGOTIATION
Rodrigues F DoeArgentinaIvan Magalhaes QUALIFIED
Aditya Q GauchoCanadaOnyama Limba RENEWAL
Claire L SergiAustraliaXuxue Feng UNQUALIFIED
Munro X WhobreyAustraliaIoni Bowcher RENEWAL
Stacey F GarufiBrazilElwin Sharvill PROPOSAL
Aditya C SaylorsItalyStephen Shaw QUALIFIED
Maisha E RimItalyIoni Bowcher NEW
Jennifer G InouyeBrazilAsiya Javayant NEW
Mayumi T DoeGermanyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Clifford F BriddickUnited KingdomAsiya Javayant NEGOTIATION
Arvin F StockhamUnited KingdomAsiya Javayant QUALIFIED
Johnson K MaletIndiaStephen Shaw RENEWAL
Isabel B CampainJapanElwin Sharvill UNQUALIFIED
Juan W FerenczIndiaOnyama Limba NEGOTIATION
Smith B AlbaresJapanXuxue Feng NEGOTIATION
Munro M CaudyFranceAmy Elsner QUALIFIED
Aditya G ShinkoItalyIoni Bowcher NEGOTIATION
Aruna R MorascaItalyStephen Shaw QUALIFIED
Aruna Y IturbideGermanyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika M WaycottGermany2025-08-06Feltz Printing Service PROPOSAL54Ivan Magalhaes
1001Kaitlin T PoquetteFrance2025-07-31Benton, John B Jr QUALIFIED42Asiya Javayant
1002Maisha F BriddickGermany2025-08-12Dorl, James J Esq RENEWAL26Stephen Shaw
1003David L ShinkoCanada2025-08-01Chapman, Ross E Esq UNQUALIFIED30Bernardo Dominic
1004Stacey I InouyeItaly2025-08-12Morlong Associates NEGOTIATION11Bernardo Dominic
1005Jeanfrancois H CaudyBrazil2025-08-25Chapman, Ross E Esq RENEWAL5Xuxue Feng
1006Jefferson S KuskoArgentina2025-08-14King, Christopher A Esq RENEWAL90Anna Fali
1007David A FlosiRussia2025-08-06Feiner Bros NEGOTIATION91Elwin Sharvill
1008Morrow U DarakjyBrazil2025-08-18Truhlar And Truhlar Attys NEW69Xuxue Feng
1009Morrow Q DarakjySpain2025-08-23Feltz Printing Service RENEWAL3Anna Fali
1010Adams E CaudyArgentina2025-08-01Chapman, Ross E Esq UNQUALIFIED21Onyama Limba
1011Clifford V StensethCanada2025-08-18Morlong Associates UNQUALIFIED72Bernardo Dominic
1012Morrow W TollnerRussia2025-08-08Rousseaux, Michael Esq UNQUALIFIED55Ivan Magalhaes
1013Julie K NickaBrazil2025-08-05King, Christopher A Esq RENEWAL34Anna Fali
1014Jefferson Y DilliardItaly2025-08-11Buckley Miller Wright QUALIFIED79Onyama Limba
1015Misaki O InouyeAustralia2025-08-07Commercial Press RENEWAL40Xuxue Feng
1016Clifford G DilliardUnited Kingdom2025-08-20Feiner Bros UNQUALIFIED45Anna Fali
1017Tony P KuskoAustralia2025-08-24Chapman, Ross E Esq NEGOTIATION27Stephen Shaw
1018Ivar V StensethIndia2025-08-27Truhlar And Truhlar Attys QUALIFIED29Anna Fali
1019Aruna J GauchoArgentina2025-08-28Chanay, Jeffrey A Esq PROPOSAL51Anna Fali
1020Mujtaba I GillianBrazil2025-08-08Commercial Press NEGOTIATION18Bernardo Dominic
1021Silvio A StockhamCanada2025-08-19Printing Dimensions QUALIFIED9Stephen Shaw
1022Kadeem L RutaRussia2025-08-17Commercial Press QUALIFIED77Bernardo Dominic
1023Munro B WaycottBrazil2025-08-02Buckley Miller Wright NEW27Onyama Limba
1024Aika Y FollerIndia2025-08-24Feltz Printing Service PROPOSAL30Ioni Bowcher
1025Chavez S FerenczSpain2025-08-25King, Christopher A Esq PROPOSAL86Amy Elsner
1026Munro L MacleadJapan2025-08-07Chapman, Ross E Esq RENEWAL92Ivan Magalhaes
1027Kadeem F CaldareraUnited Kingdom2025-08-14Printing Dimensions NEW25Stephen Shaw
1028Morrow F RutaItaly2025-07-31Buckley Miller Wright NEW71Onyama Limba
1029Jones M GauchoSpain2025-08-07Benton, John B Jr QUALIFIED34Ivan Magalhaes
1030Ashley N DoeJapan2025-08-10Truhlar And Truhlar Attys PROPOSAL53Onyama Limba
1031Antonio O RimUnited Kingdom2025-08-26Chapman, Ross E Esq PROPOSAL95Ivan Magalhaes
1032Jefferson B RutaUnited Kingdom2025-08-05Chapman, Ross E Esq NEGOTIATION74Elwin Sharvill
1033Mujtaba F CaudyCanada2025-08-24Printing Dimensions NEGOTIATION51Amy Elsner
1034Chavez U RulapaughArgentina2025-08-11Rangoni Of Florence NEGOTIATION30Xuxue Feng
1035Johnson L ChuiSpain2025-08-21Truhlar And Truhlar Attys UNQUALIFIED33Stephen Shaw
1036David U NickaAustralia2025-08-03Chemel, James L Cpa PROPOSAL67Bernardo Dominic
1037Ricardo S DarakjyUnited Kingdom2025-08-15Rousseaux, Michael Esq NEW95Elwin Sharvill
1038Izzy H VenereBrazil2025-08-17Chanay, Jeffrey A Esq QUALIFIED78Ivan Magalhaes
1039Jones V CampainRussia2025-08-20Chapman, Ross E Esq NEGOTIATION21Ioni Bowcher
1040Jones P OldroydJapan2025-08-23Chemel, James L Cpa QUALIFIED98Asiya Javayant
1041Kadeem H IturbideArgentina2025-08-22Truhlar And Truhlar Attys UNQUALIFIED94Bernardo Dominic
1042Wickens X NestleRussia2025-08-25Feltz Printing Service PROPOSAL16Elwin Sharvill
1043Silvio D RimRussia2025-08-23Chapman, Ross E Esq NEW31Ivan Magalhaes
1044Maria L RimFrance2025-08-12Rousseaux, Michael Esq QUALIFIED99Ioni Bowcher
1045Ashley W FigeroaFrance2025-08-20Chapman, Ross E Esq RENEWAL6Bernardo Dominic
1046Octavia M RimArgentina2025-07-30Chanay, Jeffrey A Esq NEGOTIATION58Xuxue Feng
1047Alejandro P OldroydSpain2025-08-25Truhlar And Truhlar Attys RENEWAL11Ioni Bowcher
1048Clifford L WhobreyGermany2025-08-17Morlong Associates NEW78Onyama Limba
1049Rodrigues J NickaAustralia2025-08-20Chemel, James L Cpa NEGOTIATION32Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leon G StockhamUnited KingdomStephen Shaw PROPOSAL
Jennifer L AlbaresArgentinaXuxue Feng NEW
Morrow F BowleyArgentinaXuxue Feng NEGOTIATION
Isabel X RoysterBrazilStephen Shaw NEW
Jefferson G AlbaresFranceOnyama Limba RENEWAL
Arvin Z KolmetzJapanAnna Fali RENEWAL
Octavia M WhobreyItalyAmy Elsner QUALIFIED
Greenwood X VocelkaGermanyElwin Sharvill NEW
Munro X RutaSpainOnyama Limba NEGOTIATION
Jennifer E PerinGermanyStephen Shaw NEW
Misaki W MacleadSpainBernardo Dominic QUALIFIED
Leon H CaudyArgentinaIvan Magalhaes NEW
Arvin L PoquetteCanadaOnyama Limba RENEWAL
Ivar T BriddickBrazilBernardo Dominic NEGOTIATION
Tony C RimCanadaIoni Bowcher PROPOSAL
James M StensethBrazilOnyama Limba UNQUALIFIED
Johnson C NickaGermanyIoni Bowcher NEGOTIATION
Claire D CaldareraUnited KingdomXuxue Feng NEGOTIATION
Silvio S SaylorsCanadaBernardo Dominic PROPOSAL
Cody A ButtUnited KingdomElwin Sharvill QUALIFIED
Costa M ShinkoBrazilAnna Fali RENEWAL
Nicolas Q VenereUnited KingdomElwin Sharvill PROPOSAL
Darci Q AmigonGermanyAsiya Javayant NEGOTIATION
Ivar R OstroskyCanadaBernardo Dominic UNQUALIFIED
Jefferson D FlosiSpainXuxue Feng QUALIFIED
Aditya M FollerUnited KingdomOnyama Limba NEW
Maisha L WieserRussiaAmy Elsner UNQUALIFIED
Stacey D GauchoSpainAsiya Javayant NEGOTIATION
Maisha W SchemmerJapanElwin Sharvill RENEWAL
Ashley Q BowleyArgentinaOnyama Limba UNQUALIFIED
Cody H MacleadCanadaIoni Bowcher RENEWAL
David D NestleRussiaXuxue Feng NEW
David I KuskoArgentinaOnyama Limba RENEWAL
Izzy E KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Francesco E MacleadFranceXuxue Feng NEGOTIATION
Juan P AlbaresRussiaIvan Magalhaes RENEWAL
Stacey J FlosiItalyXuxue Feng UNQUALIFIED
Adams B KolmetzSpainIvan Magalhaes NEW
Cody E AlbaresFranceAsiya Javayant NEGOTIATION
Nicolas U KolmetzJapanAsiya Javayant QUALIFIED
Deepesh C VocelkaSpainStephen Shaw PROPOSAL
Costa B ChuiIndiaIoni Bowcher UNQUALIFIED
Costa W BologniaItalyAmy Elsner NEGOTIATION
Claire F WhobreyArgentinaStephen Shaw QUALIFIED
Salvatore S ButtBrazilIoni Bowcher QUALIFIED
Morrow G RoysterBrazilIoni Bowcher NEW
Ivar O SergiJapanElwin Sharvill PROPOSAL
Maisha Q FigeroaArgentinaIvan Magalhaes QUALIFIED
Isabel F DarakjyJapanXuxue Feng NEW
Jeanfrancois T SchemmerFranceIoni Bowcher QUALIFIED
Frozen Columns
Name
Clifford X Figeroa
Octavia Z Shinko
Antonio N Flosi
Nicolas E Tollner
Salvatore T Nicka
Silvio V Whobrey
Wickens L Albares
Julie M Dilliard
Izzy H Sergi
Leja D Inouye
Jennifer B Nicka
Jeanfrancois I Poquette
Julie V Oldroyd
Nicolas C Ruta
Munro Y Tollner
Leja W Bowley
Morrow T Sergi
Leja Y Iturbide
Aruna W Marrier
Johnson N Darakjy
Leon I Venere
Clifford W Ruta
Mujtaba I Shinko
Adams G Waycott
Cody O Iturbide
Kadeem J Figeroa
Ashley Y Slusarski
Ivar S Ferencz
Maisha V Perin
Costa V Doe
Misaki U Rim
Jeanfrancois R Waycott
Ricardo U Doe
Leja L Venere
Leja K Marrier
Nicolas D Albares
Stacey T Vocelka
James G Amigon
Ashley O Whobrey
Deepesh M Maclead
Jennifer M Venere
Aika P Waycott
Ivar J Kolmetz
Murillo Y Bowley
Claire O Marrier
Ricardo N Tollner
Aditya E Nicka
Aruna T Rim
Juan K Whobrey
Juan W Flosi
IdCountryDate
1000Japan2025-08-09
1001Australia2025-08-06
1002Australia2025-08-22
1003Italy2025-08-14
1004Japan2025-08-15
1005Russia2025-08-15
1006Italy2025-08-13
1007Canada2025-08-23
1008Australia2025-08-13
1009Canada2025-08-26
1010Spain2025-08-11
1011United Kingdom2025-07-30
1012France2025-08-05
1013United Kingdom2025-08-16
1014Argentina2025-08-04
1015Spain2025-08-17
1016Brazil2025-08-21
1017Canada2025-08-22
1018France2025-08-13
1019Australia2025-08-16
1020United Kingdom2025-08-16
1021Germany2025-08-19
1022Australia2025-08-28
1023Japan2025-08-13
1024Russia2025-08-25
1025Spain2025-08-05
1026Canada2025-08-10
1027Australia2025-08-16
1028United Kingdom2025-08-02
1029Argentina2025-08-15
1030Japan2025-08-02
1031Australia2025-08-26
1032Japan2025-08-18
1033United Kingdom2025-08-28
1034Brazil2025-08-06
1035India2025-07-30
1036Brazil2025-08-04
1037Japan2025-08-04
1038Russia2025-08-15
1039Argentina2025-08-25
1040Australia2025-08-04
1041Germany2025-08-24
1042United Kingdom2025-08-26
1043Japan2025-08-12
1044Canada2025-08-03
1045Italy2025-07-30
1046Argentina2025-08-09
1047Italy2025-08-09
1048Canada2025-08-11
1049United Kingdom2025-07-31

On-Demand Data

NameIdCountryDate
Rodrigues H Gaucho1000Italy2025-08-28
Maisha Q Kolmetz1001Spain2025-08-17
Ashley R Nicka1002Brazil2025-08-16
Salvatore O Dilliard1003Australia2025-08-19
Darci B Shinko1004Canada2025-08-21
Rodrigues E Ostrosky1005India2025-08-03
Juan P Glick1006Canada2025-08-02
Izzy X Rim1007Canada2025-08-20
David X Royster1008India2025-08-12
Jefferson Z Inouye1009Argentina2025-08-18
Jennifer A Rulapaugh1010Germany2025-08-19
David C Chui1011Russia2025-08-03
Stacey I Rim1012Germany2025-08-22
Munro J Ostrosky1013Japan2025-08-07
Ricardo I Darakjy1014India2025-08-11
Darci H Gillian1015Japan2025-08-14
Mujtaba P Rulapaugh1016Italy2025-08-21
Jennifer F Inouye1017Canada2025-08-18
Salvatore I Butt1018United Kingdom2025-08-08
Ivar P Maclead1019Argentina2025-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo W GlickIndiaXuxue Feng NEW
Sinclair R WhobreyGermanyXuxue Feng UNQUALIFIED
David P SchemmerIndiaStephen Shaw QUALIFIED
Misaki L GauchoCanadaOnyama Limba PROPOSAL
Tony N WhobreyIndiaElwin Sharvill UNQUALIFIED
Arvin B CaudyItalyAnna Fali PROPOSAL
Jefferson R PoquetteAustraliaAsiya Javayant PROPOSAL
Aditya F SaylorsGermanyOnyama Limba PROPOSAL
Aruna O KuskoAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues P MacleadGermanyBernardo Dominic UNQUALIFIED
Juan A MaletUnited KingdomAsiya Javayant UNQUALIFIED
Aruna V FerenczSpainXuxue Feng RENEWAL
Chavez D GlickGermanyIoni Bowcher PROPOSAL
Izzy N DoeCanadaXuxue Feng QUALIFIED
Maria C ShinkoArgentinaAsiya Javayant QUALIFIED
Darci Q KolmetzAustraliaElwin Sharvill RENEWAL
Mujtaba W AlbaresIndiaStephen Shaw UNQUALIFIED
Adams L SchemmerCanadaIoni Bowcher UNQUALIFIED
Leja K GauchoItalyXuxue Feng NEW
Sinclair U BowleySpainAsiya Javayant UNQUALIFIED
Chavez U WhobreyRussiaXuxue Feng PROPOSAL
Octavia Q IturbideCanadaBernardo Dominic QUALIFIED
Smith R RulapaughSpainAmy Elsner RENEWAL
Francesco U WieserFranceXuxue Feng RENEWAL
Ashley N VocelkaSpainBernardo Dominic NEGOTIATION
Jeanfrancois Y SlusarskiBrazilIoni Bowcher UNQUALIFIED
Nicolas Q CaldareraJapanIoni Bowcher QUALIFIED
Alejandro P TollnerBrazilIoni Bowcher UNQUALIFIED
Morrow M CampainItalyAmy Elsner RENEWAL
Greenwood N MorascaItalyAsiya Javayant RENEWAL
Juan E PaprockiUnited KingdomAnna Fali QUALIFIED
Salvatore D KolmetzBrazilOnyama Limba QUALIFIED
Rodrigues P MorascaRussiaOnyama Limba QUALIFIED
Jones M RulapaughSpainAsiya Javayant UNQUALIFIED
Mujtaba P GillianBrazilIvan Magalhaes UNQUALIFIED
Murillo M DarakjyItalyBernardo Dominic NEGOTIATION
Ricardo V PoquetteSpainAsiya Javayant RENEWAL
Emily W CampainIndiaAsiya Javayant UNQUALIFIED
Deepesh M MaletArgentinaIoni Bowcher NEW
Maisha D StensethBrazilElwin Sharvill QUALIFIED

<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>