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
Kaitlin Z CampainSpainElwin Sharvill RENEWAL
Murillo D NestleJapanIvan Magalhaes RENEWAL
Stacey O MaletItalyXuxue Feng PROPOSAL
Jefferson G CampainRussiaIoni Bowcher RENEWAL
Johnson B DoeGermanyAsiya Javayant PROPOSAL
Nicolas G FigeroaArgentinaAnna Fali UNQUALIFIED
Cody Z DarakjyJapanBernardo Dominic PROPOSAL
Chavez T VenereBrazilElwin Sharvill NEGOTIATION
Maisha L OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Clifford L IturbideGermanyStephen Shaw NEW
Ivar G OstroskyBrazilIvan Magalhaes NEGOTIATION
Antonio K NickaBrazilAmy Elsner NEW
Darci V CaldareraRussiaIoni Bowcher NEGOTIATION
Aika V RoysterRussiaElwin Sharvill PROPOSAL
Leon X CaudyRussiaIvan Magalhaes NEGOTIATION
Mayumi A FerenczCanadaOnyama Limba NEW
Isabel O RulapaughIndiaIvan Magalhaes UNQUALIFIED
David V ShinkoIndiaXuxue Feng NEGOTIATION
Tony G WhobreyBrazilStephen Shaw PROPOSAL
Kadeem J GlickArgentinaXuxue Feng RENEWAL
Salvatore E SaylorsCanadaElwin Sharvill NEGOTIATION
Jeanfrancois U GillianSpainElwin Sharvill UNQUALIFIED
Rodrigues Z StensethAustraliaAmy Elsner QUALIFIED
Juan K DarakjyItalyElwin Sharvill NEGOTIATION
Murillo C BriddickFranceAnna Fali NEGOTIATION
Murillo S RimCanadaAnna Fali RENEWAL
Leja R WieserBrazilBernardo Dominic UNQUALIFIED
Leon C RulapaughIndiaIoni Bowcher PROPOSAL
Jeanfrancois L ShinkoRussiaAnna Fali UNQUALIFIED
Antonio U FlosiIndiaAmy Elsner RENEWAL
Mayumi X ButtArgentinaStephen Shaw NEGOTIATION
Antonio H RutaRussiaIvan Magalhaes RENEWAL
Smith X CaudySpainStephen Shaw NEGOTIATION
Mayumi N RulapaughGermanyStephen Shaw NEW
Rodrigues U PaprockiAustraliaElwin Sharvill NEW
Misaki Q FerenczUnited KingdomOnyama Limba NEGOTIATION
Morrow Z ButtArgentinaBernardo Dominic PROPOSAL
Misaki L MorascaArgentinaAsiya Javayant QUALIFIED
Kaitlin P ChuiIndiaOnyama Limba PROPOSAL
Greenwood S KolmetzCanadaOnyama Limba NEW
Emily J GillianIndiaBernardo Dominic UNQUALIFIED
David L FollerBrazilAmy Elsner NEW
Nicolas U GlickJapanElwin Sharvill UNQUALIFIED
Murillo U CampainBrazilAnna Fali NEW
Costa T ChuiUnited KingdomAmy Elsner UNQUALIFIED
Costa R NickaBrazilBernardo Dominic RENEWAL
Ashley N WhobreyArgentinaXuxue Feng UNQUALIFIED
Aditya N GauchoFranceXuxue Feng NEW
Ivar M FlosiJapanBernardo Dominic QUALIFIED
Maisha S FlosiCanadaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer A RulapaughFranceIvan Magalhaes PROPOSAL
Misaki D StensethGermanyXuxue Feng UNQUALIFIED
Leja R VocelkaRussiaAmy Elsner PROPOSAL
James T FerenczRussiaIoni Bowcher RENEWAL
Deepesh X MacleadUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois R PaprockiCanadaStephen Shaw PROPOSAL
Ricardo I NestleAustraliaIvan Magalhaes RENEWAL
Costa D BologniaSpainOnyama Limba RENEWAL
Greenwood Q CampainGermanyAsiya Javayant NEGOTIATION
Aruna A PaprockiIndiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore A GlickIndia2025-09-08Rousseaux, Michael Esq RENEWAL17Xuxue Feng
1001Smith A RutaCanada2025-09-19Feiner Bros QUALIFIED95Asiya Javayant
1002Isabel T ShinkoRussia2025-09-25Feiner Bros NEW68Ivan Magalhaes
1003Misaki G VenereBrazil2025-09-29King, Christopher A Esq UNQUALIFIED3Asiya Javayant
1004Nicolas O InouyeGermany2025-09-25Truhlar And Truhlar Attys NEGOTIATION54Asiya Javayant
1005Silvio V IturbideUnited Kingdom2025-09-18Truhlar And Truhlar Attys NEW10Stephen Shaw
1006Arvin V GarufiAustralia2025-09-06Rousseaux, Michael Esq PROPOSAL39Asiya Javayant
1007Smith V FigeroaSpain2025-09-17Chanay, Jeffrey A Esq RENEWAL40Bernardo Dominic
1008Kaitlin Z InouyeIndia2025-09-13Printing Dimensions PROPOSAL3Ivan Magalhaes
1009Octavia U RutaJapan2025-09-04Benton, John B Jr QUALIFIED63Anna Fali
1010Claire I MacleadJapan2025-09-21Benton, John B Jr NEW28Elwin Sharvill
1011Wickens Y StockhamGermany2025-09-22Feiner Bros NEGOTIATION55Ioni Bowcher
1012Juan T AmigonIndia2025-09-05Commercial Press UNQUALIFIED46Xuxue Feng
1013Arvin C NickaIndia2025-09-24Dorl, James J Esq NEGOTIATION51Asiya Javayant
1014Kaitlin B CampainJapan2025-09-18Chapman, Ross E Esq RENEWAL56Onyama Limba
1015Isabel Z MarrierJapan2025-09-19Rousseaux, Michael Esq RENEWAL9Elwin Sharvill
1016Jeanfrancois X RoysterUnited Kingdom2025-09-24King, Christopher A Esq NEGOTIATION88Elwin Sharvill
1017Jennifer Y GarufiFrance2025-09-14Rousseaux, Michael Esq RENEWAL83Stephen Shaw
1018Ivar C InouyeUnited Kingdom2025-09-29Buckley Miller Wright QUALIFIED60Anna Fali
1019Aika S AlbaresSpain2025-09-08Morlong Associates RENEWAL84Stephen Shaw
1020Mujtaba F KolmetzIndia2025-09-08Rangoni Of Florence NEW26Elwin Sharvill
1021Jones I FerenczIndia2025-09-24Chapman, Ross E Esq QUALIFIED90Onyama Limba
1022Mayumi B FigeroaArgentina2025-09-14Chanay, Jeffrey A Esq PROPOSAL18Stephen Shaw
1023Leon Y TollnerJapan2025-09-23Morlong Associates NEGOTIATION59Anna Fali
1024Tony Q MacleadRussia2025-09-06Chanay, Jeffrey A Esq QUALIFIED32Elwin Sharvill
1025Arvin O CampainFrance2025-09-21Morlong Associates NEGOTIATION94Elwin Sharvill
1026Emily L FerenczJapan2025-09-10Truhlar And Truhlar Attys UNQUALIFIED72Elwin Sharvill
1027Mujtaba K GauchoSpain2025-09-21Chanay, Jeffrey A Esq PROPOSAL79Stephen Shaw
1028Silvio F WieserUnited Kingdom2025-09-08Chanay, Jeffrey A Esq RENEWAL31Anna Fali
1029Murillo P SchemmerBrazil2025-09-28Feiner Bros QUALIFIED13Ivan Magalhaes
1030Adams X MarrierIndia2025-09-11Morlong Associates RENEWAL87Xuxue Feng
1031Salvatore B CaldareraRussia2025-09-06Truhlar And Truhlar Attys QUALIFIED14Stephen Shaw
1032Cody O DoeFrance2025-09-13Truhlar And Truhlar Attys UNQUALIFIED69Ivan Magalhaes
1033Stacey Z GlickSpain2025-09-19Dorl, James J Esq NEGOTIATION50Onyama Limba
1034Darci I MarrierRussia2025-09-07Benton, John B Jr UNQUALIFIED3Stephen Shaw
1035Kaitlin M VocelkaAustralia2025-09-25Rousseaux, Michael Esq PROPOSAL38Elwin Sharvill
1036Jennifer H BowleyJapan2025-09-12Rangoni Of Florence PROPOSAL64Onyama Limba
1037Antonio J StensethGermany2025-09-09Chanay, Jeffrey A Esq NEGOTIATION48Stephen Shaw
1038Clifford T ChuiArgentina2025-09-01Feltz Printing Service PROPOSAL32Onyama Limba
1039Antonio O DoeFrance2025-09-15Rangoni Of Florence PROPOSAL82Stephen Shaw
1040Costa K StockhamGermany2025-09-13Buckley Miller Wright NEGOTIATION79Anna Fali
1041Claire N OstroskyUnited Kingdom2025-09-20Truhlar And Truhlar Attys RENEWAL96Ivan Magalhaes
1042Mujtaba E ShinkoRussia2025-09-26Printing Dimensions UNQUALIFIED30Amy Elsner
1043Mujtaba A WaycottJapan2025-09-26Printing Dimensions UNQUALIFIED64Bernardo Dominic
1044Maisha Z DoeAustralia2025-09-06Buckley Miller Wright RENEWAL64Stephen Shaw
1045David R RutaBrazil2025-09-09Commercial Press RENEWAL7Asiya Javayant
1046Kadeem R StockhamGermany2025-09-29Buckley Miller Wright UNQUALIFIED59Onyama Limba
1047Cody O InouyeCanada2025-09-18Rousseaux, Michael Esq QUALIFIED4Asiya Javayant
1048Arvin N WaycottFrance2025-09-22Feltz Printing Service UNQUALIFIED36Onyama Limba
1049Jeanfrancois R TollnerAustralia2025-09-13Buckley Miller Wright PROPOSAL92Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer X StockhamJapanIvan Magalhaes RENEWAL
Kadeem G OstroskyJapanAsiya Javayant PROPOSAL
Claire G VocelkaCanadaAsiya Javayant RENEWAL
Tony F SaylorsItalyAnna Fali NEW
Jennifer R SaylorsFranceAsiya Javayant RENEWAL
Emily Y CampainFranceAsiya Javayant PROPOSAL
Johnson R OldroydRussiaXuxue Feng RENEWAL
Jefferson I DoeCanadaElwin Sharvill PROPOSAL
Jennifer Y OstroskyUnited KingdomOnyama Limba NEW
Adams X ButtIndiaAsiya Javayant NEGOTIATION
Ashley A CampainItalyBernardo Dominic NEGOTIATION
Aika F MacleadBrazilIoni Bowcher QUALIFIED
Kaitlin Y MaletArgentinaStephen Shaw NEW
Alejandro Y AlbaresIndiaBernardo Dominic UNQUALIFIED
Silvio M ShinkoAustraliaIoni Bowcher QUALIFIED
Sinclair I GarufiFranceStephen Shaw UNQUALIFIED
Leja Y RoysterCanadaAmy Elsner PROPOSAL
Tony R BologniaJapanXuxue Feng NEW
Deepesh P CaudyFranceAnna Fali PROPOSAL
Kaitlin C StensethCanadaElwin Sharvill RENEWAL
Adams Z GillianIndiaBernardo Dominic QUALIFIED
Greenwood I ButtBrazilOnyama Limba RENEWAL
James K RimFranceXuxue Feng QUALIFIED
Stacey X PaprockiBrazilXuxue Feng RENEWAL
Maria S OldroydGermanyIoni Bowcher QUALIFIED
Sinclair N BriddickFranceOnyama Limba NEGOTIATION
Tony E ButtUnited KingdomStephen Shaw PROPOSAL
Chavez P SergiGermanyXuxue Feng RENEWAL
Deepesh P NickaItalyElwin Sharvill RENEWAL
Jennifer L CaudyFranceIvan Magalhaes RENEWAL
Darci F ButtBrazilAmy Elsner RENEWAL
Cody C MorascaBrazilAsiya Javayant UNQUALIFIED
Salvatore F GarufiJapanAmy Elsner RENEWAL
James X BologniaRussiaIvan Magalhaes UNQUALIFIED
David K BologniaArgentinaIoni Bowcher PROPOSAL
Octavia X MorascaFranceIvan Magalhaes NEGOTIATION
Octavia Z KolmetzRussiaBernardo Dominic RENEWAL
Tony W MaletJapanOnyama Limba RENEWAL
Faith O WaycottArgentinaXuxue Feng RENEWAL
Maria J DilliardItalyStephen Shaw NEW
Juan N TollnerItalyElwin Sharvill UNQUALIFIED
Murillo W DilliardCanadaElwin Sharvill NEW
Adams J StockhamArgentinaAmy Elsner UNQUALIFIED
Arvin K VenereJapanAsiya Javayant NEGOTIATION
Smith M MacleadSpainIoni Bowcher PROPOSAL
Leja R FerenczSpainAsiya Javayant NEGOTIATION
Stacey F RulapaughSpainElwin Sharvill UNQUALIFIED
Rodrigues D RoysterArgentinaAnna Fali NEW
Juan T WhobreyItalyOnyama Limba NEW
Aditya O FlosiAustraliaStephen Shaw QUALIFIED
Frozen Columns
Name
Julie R Oldroyd
Johnson K Nicka
Munro F Schemmer
Greenwood J Darakjy
Aditya X Sergi
Wickens K Ruta
Maria V Stenseth
Chavez Q Butt
Alejandro R Venere
Ricardo W Waycott
Francesco X Glick
Silvio I Slusarski
Smith K Rim
Claire X Dilliard
Leja X Whobrey
Claire D Royster
Clifford M Bowley
Alejandro K Nicka
Smith L Flosi
Francesco D Amigon
Adams H Iturbide
Leon A Vocelka
Aditya E Doe
Maria M Gaucho
Nicolas C Shinko
Emily I Amigon
Costa O Ferencz
James C Briddick
Clifford G Waycott
Julie V Saylors
Darci S Sergi
Aika D Foller
David L Nicka
James W Whobrey
Juan W Stockham
Mujtaba Y Malet
Deepesh K Sergi
Chavez M Bowley
Munro K Oldroyd
Jeanfrancois E Ostrosky
Stacey G Ruta
Murillo P Ruta
Salvatore R Caudy
Ashley K Foller
Izzy F Rim
Ricardo A Foller
Morrow R Iturbide
Leon M Stenseth
Leon B Ostrosky
Izzy T Dilliard
IdCountryDate
1000United Kingdom2025-09-26
1001Spain2025-09-20
1002Argentina2025-09-12
1003Russia2025-09-20
1004Italy2025-09-01
1005Spain2025-09-13
1006Japan2025-09-19
1007Russia2025-09-12
1008Argentina2025-09-22
1009Japan2025-09-02
1010Japan2025-09-25
1011United Kingdom2025-09-05
1012Japan2025-09-05
1013Australia2025-09-01
1014Argentina2025-09-26
1015India2025-09-24
1016Italy2025-09-08
1017Russia2025-09-16
1018France2025-09-10
1019United Kingdom2025-09-06
1020Australia2025-09-16
1021Germany2025-09-03
1022United Kingdom2025-09-01
1023Japan2025-09-07
1024India2025-09-09
1025Russia2025-09-12
1026Argentina2025-09-16
1027Russia2025-09-23
1028France2025-09-18
1029Spain2025-09-15
1030Italy2025-09-10
1031Argentina2025-09-26
1032Argentina2025-09-30
1033Italy2025-09-28
1034Canada2025-09-19
1035Italy2025-09-21
1036Germany2025-09-23
1037Argentina2025-09-26
1038Germany2025-09-22
1039Australia2025-09-25
1040Japan2025-09-08
1041France2025-09-12
1042Brazil2025-09-22
1043France2025-09-15
1044Argentina2025-09-12
1045Italy2025-09-30
1046France2025-09-03
1047Argentina2025-09-15
1048Spain2025-09-25
1049Japan2025-09-06

On-Demand Data

NameIdCountryDate
Leon N Chui1000Australia2025-09-21
Adams G Darakjy1001Italy2025-09-19
Sinclair C Slusarski1002Brazil2025-09-08
Ashley A Whobrey1003Brazil2025-09-30
Adams X Maclead1004India2025-09-07
Francesco B Gaucho1005Canada2025-09-10
Ivar C Iturbide1006Canada2025-09-06
Rodrigues Y Glick1007Spain2025-09-07
James L Ruta1008Russia2025-09-07
Misaki J Poquette1009United Kingdom2025-09-13
Aika T Gaucho1010United Kingdom2025-09-20
Alejandro V Shinko1011Brazil2025-09-19
Greenwood O Royster1012United Kingdom2025-09-14
Rodrigues G Oldroyd1013Canada2025-09-15
Tony O Shinko1014Germany2025-09-12
Clifford K Nicka1015Argentina2025-09-22
Antonio Z Vocelka1016France2025-09-05
Nicolas V Nestle1017Spain2025-09-19
Smith Y Figeroa1018Spain2025-09-15
Alejandro I Marrier1019Japan2025-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody W BowleyCanadaAmy Elsner RENEWAL
Francesco F FerenczRussiaBernardo Dominic NEGOTIATION
Claire M MorascaGermanyAnna Fali PROPOSAL
Octavia T WieserSpainIoni Bowcher RENEWAL
Ricardo L KolmetzCanadaIvan Magalhaes NEGOTIATION
Izzy H OldroydGermanyStephen Shaw PROPOSAL
Izzy X CampainJapanAsiya Javayant PROPOSAL
Izzy R KolmetzCanadaIoni Bowcher UNQUALIFIED
Ivar H MaletGermanyStephen Shaw PROPOSAL
Murillo Y NickaSpainIvan Magalhaes UNQUALIFIED
Aditya G MorascaItalyIoni Bowcher UNQUALIFIED
Isabel V SergiUnited KingdomAnna Fali NEGOTIATION
Alejandro C AlbaresIndiaElwin Sharvill NEGOTIATION
Aruna O SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem O IturbideItalyAsiya Javayant NEGOTIATION
Greenwood T ChuiCanadaBernardo Dominic UNQUALIFIED
Emily K StockhamCanadaAmy Elsner RENEWAL
Darci Y CaudyItalyIoni Bowcher QUALIFIED
Izzy T MarrierFranceXuxue Feng RENEWAL
Juan Q FollerAustraliaAmy Elsner PROPOSAL
Sinclair S StensethCanadaOnyama Limba UNQUALIFIED
Julie W KolmetzIndiaElwin Sharvill RENEWAL
Maisha A MaletBrazilStephen Shaw NEW
Kadeem K AmigonGermanyStephen Shaw NEGOTIATION
Costa U KolmetzFranceAnna Fali UNQUALIFIED
Costa V WaycottSpainBernardo Dominic RENEWAL
Wickens M GarufiAustraliaAnna Fali UNQUALIFIED
Emily X MaletBrazilBernardo Dominic QUALIFIED
Ivar W RoysterBrazilIoni Bowcher RENEWAL
Maria I IturbideGermanyAnna Fali NEGOTIATION
Alejandro A DoeSpainXuxue Feng QUALIFIED
Mujtaba X KolmetzRussiaIvan Magalhaes UNQUALIFIED
Clifford P VenereIndiaIvan Magalhaes RENEWAL
Cody F ShinkoJapanElwin Sharvill NEW
Leja E FerenczSpainXuxue Feng PROPOSAL
Isabel G GlickUnited KingdomIoni Bowcher PROPOSAL
Mayumi Q SaylorsBrazilIoni Bowcher PROPOSAL
James R ChuiCanadaIoni Bowcher UNQUALIFIED
Johnson U NestleUnited KingdomAmy Elsner NEGOTIATION
Maisha L StensethItalyIvan Magalhaes UNQUALIFIED

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