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
James E MorascaRussiaBernardo Dominic NEW
Darci C FigeroaIndiaAmy Elsner PROPOSAL
Kaitlin I MaletUnited KingdomStephen Shaw QUALIFIED
Tony Y VocelkaJapanElwin Sharvill QUALIFIED
Leja Q AlbaresGermanyStephen Shaw PROPOSAL
Juan A OstroskyItalyIvan Magalhaes PROPOSAL
Maisha P CaudyFranceXuxue Feng NEGOTIATION
Mayumi R PoquetteJapanIoni Bowcher QUALIFIED
Murillo N NickaCanadaStephen Shaw NEGOTIATION
Cody I GlickFranceAnna Fali NEGOTIATION
Murillo Z ChuiIndiaAnna Fali RENEWAL
Octavia W AmigonRussiaStephen Shaw UNQUALIFIED
Salvatore D FlosiCanadaIoni Bowcher QUALIFIED
Kaitlin W VenereGermanyAnna Fali PROPOSAL
Ivar Q OstroskyItalyAsiya Javayant NEGOTIATION
Johnson C StensethBrazilAnna Fali QUALIFIED
Johnson K ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Johnson S ShinkoArgentinaIoni Bowcher UNQUALIFIED
Jennifer W MaletRussiaAmy Elsner NEGOTIATION
Silvio P RutaJapanAnna Fali PROPOSAL
Silvio N CaldareraAustraliaIoni Bowcher NEGOTIATION
Morrow D OldroydItalyStephen Shaw QUALIFIED
Darci R GillianFranceAnna Fali RENEWAL
David K TollnerGermanyIvan Magalhaes NEGOTIATION
Leja U GlickIndiaIoni Bowcher UNQUALIFIED
Darci F CaudyCanadaAmy Elsner NEW
Juan R SchemmerIndiaAnna Fali PROPOSAL
Stacey D DarakjySpainAnna Fali UNQUALIFIED
Ivar B OldroydFranceXuxue Feng PROPOSAL
Jennifer Y TollnerCanadaOnyama Limba NEGOTIATION
Chavez L SaylorsAustraliaXuxue Feng PROPOSAL
Munro O KolmetzArgentinaOnyama Limba UNQUALIFIED
Mujtaba T MacleadIndiaIoni Bowcher RENEWAL
Julie I DilliardIndiaXuxue Feng NEGOTIATION
Silvio H DarakjyRussiaXuxue Feng RENEWAL
Julie N ShinkoBrazilAnna Fali PROPOSAL
Adams B MorascaFranceIvan Magalhaes UNQUALIFIED
Wickens F AlbaresAustraliaAnna Fali RENEWAL
Sinclair N DoeItalyOnyama Limba UNQUALIFIED
Jennifer W OldroydJapanElwin Sharvill NEW
Emily Z MaletJapanAsiya Javayant PROPOSAL
Tony U WhobreySpainElwin Sharvill QUALIFIED
Darci X BologniaSpainIoni Bowcher UNQUALIFIED
Jefferson S ChuiRussiaXuxue Feng PROPOSAL
Maria T RoysterCanadaBernardo Dominic RENEWAL
Jeanfrancois R CaudyIndiaIvan Magalhaes RENEWAL
Salvatore R AmigonIndiaAmy Elsner NEGOTIATION
Johnson Y PaprockiUnited KingdomAsiya Javayant PROPOSAL
Izzy A BologniaJapanOnyama Limba NEGOTIATION
Misaki E DarakjyUnited KingdomAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair E WieserJapanAmy Elsner RENEWAL
Mujtaba Q AlbaresUnited KingdomBernardo Dominic QUALIFIED
Alejandro K GlickJapanAsiya Javayant QUALIFIED
Emily M WaycottRussiaIvan Magalhaes PROPOSAL
Francesco C FigeroaFranceAsiya Javayant RENEWAL
Stacey D AmigonSpainIvan Magalhaes NEW
Maisha F TollnerAustraliaElwin Sharvill RENEWAL
Jennifer L KolmetzCanadaBernardo Dominic QUALIFIED
Smith X DarakjyFranceAmy Elsner NEGOTIATION
Nicolas Y KolmetzIndiaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood R DarakjySpain2025-10-04Rousseaux, Michael Esq QUALIFIED26Elwin Sharvill
1001Ricardo E IturbideFrance2025-09-24Rangoni Of Florence UNQUALIFIED54Anna Fali
1002Jeanfrancois A BriddickJapan2025-10-02Benton, John B Jr QUALIFIED48Ivan Magalhaes
1003Tony E PoquetteFrance2025-09-29King, Christopher A Esq NEW5Xuxue Feng
1004Kadeem E BriddickRussia2025-09-27Dorl, James J Esq QUALIFIED4Amy Elsner
1005Silvio U FollerBrazil2025-10-17Chapman, Ross E Esq NEGOTIATION90Ioni Bowcher
1006Maisha S RutaSpain2025-10-03Dorl, James J Esq UNQUALIFIED99Asiya Javayant
1007Jefferson T ChuiArgentina2025-10-12Rousseaux, Michael Esq PROPOSAL72Bernardo Dominic
1008Arvin Z MaletJapan2025-09-26Rousseaux, Michael Esq NEGOTIATION58Onyama Limba
1009Wickens P WhobreyRussia2025-09-26Rangoni Of Florence PROPOSAL13Ivan Magalhaes
1010Silvio X ButtUnited Kingdom2025-10-19Buckley Miller Wright QUALIFIED58Asiya Javayant
1011Jefferson P NestleUnited Kingdom2025-10-05Commercial Press NEGOTIATION55Anna Fali
1012Aika Y VenereJapan2025-10-06Feltz Printing Service NEW16Onyama Limba
1013Octavia C MacleadBrazil2025-10-21Printing Dimensions UNQUALIFIED84Bernardo Dominic
1014Kaitlin S NestleJapan2025-10-20Dorl, James J Esq QUALIFIED87Amy Elsner
1015Ivar R VenereSpain2025-10-04Commercial Press QUALIFIED81Stephen Shaw
1016Murillo H GillianIndia2025-09-26Buckley Miller Wright QUALIFIED31Ivan Magalhaes
1017James W DilliardBrazil2025-10-01Dorl, James J Esq PROPOSAL19Amy Elsner
1018Salvatore V RimAustralia2025-10-13Feiner Bros NEGOTIATION94Elwin Sharvill
1019Maria D PaprockiArgentina2025-09-28Feltz Printing Service NEGOTIATION88Xuxue Feng
1020Maria H VocelkaRussia2025-09-28Commercial Press RENEWAL64Anna Fali
1021Faith Q KolmetzBrazil2025-10-19Commercial Press NEGOTIATION87Anna Fali
1022Isabel I GlickUnited Kingdom2025-10-09Chapman, Ross E Esq RENEWAL52Bernardo Dominic
1023Salvatore Z BriddickRussia2025-09-23Feiner Bros UNQUALIFIED69Ivan Magalhaes
1024Leon W BowleyFrance2025-10-06Printing Dimensions RENEWAL49Ivan Magalhaes
1025Deepesh U OldroydAustralia2025-10-10Morlong Associates UNQUALIFIED42Ioni Bowcher
1026Nicolas O DoeRussia2025-10-10Rangoni Of Florence UNQUALIFIED82Elwin Sharvill
1027Leon S CaldareraCanada2025-10-15Printing Dimensions NEGOTIATION20Amy Elsner
1028David V SaylorsAustralia2025-10-04Chemel, James L Cpa QUALIFIED74Anna Fali
1029Leja H NestleIndia2025-09-28King, Christopher A Esq QUALIFIED11Xuxue Feng
1030Salvatore G MorascaArgentina2025-09-29Chapman, Ross E Esq NEGOTIATION62Onyama Limba
1031Mujtaba K InouyeJapan2025-10-10Chapman, Ross E Esq NEW67Anna Fali
1032Munro S GarufiUnited Kingdom2025-09-30Buckley Miller Wright QUALIFIED7Xuxue Feng
1033Murillo V GarufiArgentina2025-10-13Rousseaux, Michael Esq NEW4Onyama Limba
1034Ivar D BologniaUnited Kingdom2025-10-05Dorl, James J Esq NEGOTIATION61Amy Elsner
1035David L BowleyBrazil2025-10-08Rousseaux, Michael Esq QUALIFIED9Elwin Sharvill
1036Murillo G SlusarskiCanada2025-10-20Rousseaux, Michael Esq UNQUALIFIED80Anna Fali
1037Ashley G KolmetzItaly2025-10-12Feiner Bros RENEWAL79Asiya Javayant
1038Isabel J MorascaCanada2025-09-23Feltz Printing Service QUALIFIED79Xuxue Feng
1039Greenwood L TollnerItaly2025-09-24Chanay, Jeffrey A Esq NEGOTIATION3Asiya Javayant
1040Greenwood E PerinArgentina2025-10-11Benton, John B Jr PROPOSAL84Xuxue Feng
1041Munro N KolmetzGermany2025-09-22King, Christopher A Esq QUALIFIED53Elwin Sharvill
1042Maisha L BologniaRussia2025-10-08Chanay, Jeffrey A Esq RENEWAL82Xuxue Feng
1043Costa W MacleadAustralia2025-10-05Rangoni Of Florence NEGOTIATION38Ivan Magalhaes
1044Munro R ChuiGermany2025-10-09Feiner Bros NEGOTIATION48Stephen Shaw
1045Munro Y FollerAustralia2025-10-21Printing Dimensions RENEWAL24Anna Fali
1046Costa S KuskoBrazil2025-10-06Printing Dimensions UNQUALIFIED15Amy Elsner
1047Greenwood C StensethGermany2025-10-19Chemel, James L Cpa UNQUALIFIED41Elwin Sharvill
1048Greenwood C PerinFrance2025-09-26Feiner Bros QUALIFIED63Asiya Javayant
1049Octavia C OstroskySpain2025-09-22Chanay, Jeffrey A Esq NEW77Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson M NickaCanadaIoni Bowcher NEGOTIATION
Maria J BriddickCanadaOnyama Limba NEGOTIATION
Stacey C StensethBrazilAsiya Javayant NEGOTIATION
Kaitlin V AlbaresFranceIvan Magalhaes RENEWAL
Morrow R MarrierArgentinaIvan Magalhaes QUALIFIED
Misaki T TollnerBrazilAsiya Javayant UNQUALIFIED
Antonio E RulapaughItalyXuxue Feng UNQUALIFIED
Deepesh F KolmetzUnited KingdomAsiya Javayant PROPOSAL
Silvio X FollerGermanyElwin Sharvill NEW
Isabel W RutaIndiaBernardo Dominic PROPOSAL
Kadeem N SlusarskiAustraliaAnna Fali PROPOSAL
Arvin M KolmetzFranceIoni Bowcher PROPOSAL
Juan I BriddickUnited KingdomAmy Elsner PROPOSAL
Clifford J RimItalyIvan Magalhaes QUALIFIED
Rodrigues U KolmetzSpainIoni Bowcher NEGOTIATION
Wickens L NickaCanadaStephen Shaw NEGOTIATION
Antonio D FollerGermanyXuxue Feng QUALIFIED
Morrow V OldroydAustraliaAmy Elsner NEW
Aika N RulapaughRussiaStephen Shaw PROPOSAL
Arvin Z PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens A InouyeArgentinaIvan Magalhaes QUALIFIED
Deepesh W GauchoJapanXuxue Feng PROPOSAL
Jones S StensethIndiaAsiya Javayant RENEWAL
Clifford W GarufiRussiaIoni Bowcher PROPOSAL
Jeanfrancois M MaletAustraliaIoni Bowcher RENEWAL
Wickens N ShinkoGermanyIoni Bowcher UNQUALIFIED
Juan K FigeroaFranceOnyama Limba RENEWAL
Isabel U GlickBrazilElwin Sharvill NEW
Maria H CaldareraCanadaAnna Fali PROPOSAL
Julie U RutaJapanIvan Magalhaes UNQUALIFIED
Arvin L PoquetteFranceStephen Shaw QUALIFIED
Stacey G InouyeSpainBernardo Dominic QUALIFIED
David E FerenczFranceIvan Magalhaes PROPOSAL
Emily L CampainIndiaIoni Bowcher PROPOSAL
Emily B NickaIndiaXuxue Feng NEW
Deepesh W SchemmerCanadaStephen Shaw UNQUALIFIED
Alejandro Z MacleadSpainAnna Fali UNQUALIFIED
Jeanfrancois Z GauchoCanadaStephen Shaw RENEWAL
Ricardo K DilliardAustraliaBernardo Dominic UNQUALIFIED
Greenwood G ChuiJapanAmy Elsner PROPOSAL
Darci B CampainBrazilAmy Elsner UNQUALIFIED
David Y SaylorsFranceIoni Bowcher NEW
Chavez S NickaBrazilIoni Bowcher PROPOSAL
Ivar J BologniaIndiaStephen Shaw RENEWAL
Kadeem Q FigeroaSpainBernardo Dominic PROPOSAL
Maisha A BowleyBrazilAnna Fali RENEWAL
Clifford A KolmetzGermanyXuxue Feng QUALIFIED
David Y NickaIndiaIoni Bowcher NEW
Julie I GarufiCanadaAmy Elsner UNQUALIFIED
Maisha P FigeroaSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Isabel W Gillian
Emily V Rulapaugh
Arvin E Foller
Leja W Paprocki
Jones M Doe
Clifford N Garufi
Alejandro S Malet
Isabel I Slusarski
Kaitlin O Dilliard
Munro A Albares
Rodrigues H Royster
Kadeem H Briddick
Smith X Butt
Faith M Figeroa
Silvio B Nestle
Chavez W Kusko
Antonio O Venere
James F Vocelka
Tony U Perin
Antonio H Caudy
Aditya L Bolognia
Julie H Slusarski
Jefferson T Gillian
Jeanfrancois M Garufi
Salvatore N Slusarski
Francesco W Kusko
Octavia X Foller
Silvio Q Bowley
Munro S Inouye
Leja F Vocelka
Ricardo W Bowley
Cody F Amigon
Aditya G Perin
Julie W Dilliard
Maisha J Albares
Smith G Malet
Mujtaba Z Slusarski
Costa Y Nicka
Octavia O Bowley
Adams I Rulapaugh
Ivar M Ferencz
Leja L Saylors
Wickens K Ruta
Munro T Rulapaugh
Jennifer X Paprocki
Smith L Chui
Emily U Garufi
Jefferson W Nestle
Maisha D Maclead
Isabel Z Vocelka
IdCountryDate
1000Italy2025-10-15
1001Canada2025-09-27
1002Russia2025-10-01
1003India2025-09-30
1004Brazil2025-09-26
1005Brazil2025-09-30
1006Argentina2025-10-04
1007Japan2025-10-14
1008United Kingdom2025-09-22
1009France2025-10-07
1010Argentina2025-10-02
1011Russia2025-10-19
1012Australia2025-10-20
1013United Kingdom2025-10-17
1014Japan2025-10-20
1015Germany2025-10-17
1016Germany2025-10-17
1017Spain2025-10-01
1018Spain2025-10-20
1019Russia2025-10-12
1020Germany2025-09-25
1021Australia2025-10-08
1022Germany2025-09-24
1023Argentina2025-09-25
1024Canada2025-09-26
1025Italy2025-10-01
1026Brazil2025-10-19
1027France2025-10-20
1028Russia2025-10-09
1029Russia2025-09-25
1030Spain2025-09-26
1031Japan2025-10-14
1032Argentina2025-10-01
1033Canada2025-10-17
1034Russia2025-09-30
1035Italy2025-10-18
1036Australia2025-10-08
1037Argentina2025-09-26
1038Germany2025-10-06
1039Italy2025-09-25
1040Australia2025-10-15
1041Italy2025-09-24
1042Argentina2025-10-09
1043Italy2025-10-06
1044France2025-10-05
1045Argentina2025-10-15
1046Russia2025-09-30
1047Russia2025-10-05
1048Italy2025-10-10
1049Spain2025-09-26

On-Demand Data

NameIdCountryDate
Alejandro A Bolognia1000Russia2025-09-23
Smith S Wieser1001Australia2025-09-26
Mayumi N Marrier1002Russia2025-10-04
Aruna Q Shinko1003India2025-10-13
Ricardo A Oldroyd1004India2025-10-13
Munro E Nestle1005Japan2025-10-09
Nicolas Y Bolognia1006Spain2025-10-11
Costa Z Darakjy1007United Kingdom2025-10-16
Tony T Dilliard1008Japan2025-10-10
Murillo N Gillian1009Italy2025-10-09
Aika I Chui1010Australia2025-10-09
Jennifer H Perin1011Argentina2025-10-18
Izzy T Stockham1012Spain2025-10-17
Kadeem H Ferencz1013Germany2025-10-08
Aika E Maclead1014United Kingdom2025-10-11
Nicolas J Waycott1015Brazil2025-10-05
Isabel O Gillian1016Australia2025-10-12
Adams L Glick1017Russia2025-10-14
Leon F Nicka1018Japan2025-10-04
Munro N Amigon1019Russia2025-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire X NestleCanadaElwin Sharvill QUALIFIED
Ivar B WieserFranceBernardo Dominic QUALIFIED
Ashley Z SergiFranceElwin Sharvill UNQUALIFIED
Tony J KuskoArgentinaIoni Bowcher UNQUALIFIED
Jefferson P ChuiFranceBernardo Dominic PROPOSAL
Munro Y CampainFranceAnna Fali QUALIFIED
Munro G IturbideArgentinaAnna Fali NEW
Kaitlin H KolmetzGermanyOnyama Limba UNQUALIFIED
Kaitlin O VocelkaRussiaOnyama Limba UNQUALIFIED
Misaki X VocelkaUnited KingdomOnyama Limba PROPOSAL
Antonio T PoquetteIndiaAmy Elsner RENEWAL
Stacey Z AmigonSpainIoni Bowcher PROPOSAL
Jones F BologniaJapanBernardo Dominic UNQUALIFIED
Sinclair Z GillianFranceAsiya Javayant NEW
Aditya H GillianRussiaStephen Shaw PROPOSAL
Faith L FerenczUnited KingdomIoni Bowcher NEW
Leon Z GauchoArgentinaAmy Elsner RENEWAL
Julie U OstroskyItalyBernardo Dominic UNQUALIFIED
Mayumi R MacleadBrazilStephen Shaw RENEWAL
Silvio U InouyeArgentinaXuxue Feng RENEWAL
Juan Y MacleadJapanElwin Sharvill NEGOTIATION
Jones F DarakjySpainXuxue Feng PROPOSAL
Ivar B GillianIndiaIoni Bowcher QUALIFIED
Rodrigues K RimIndiaAmy Elsner RENEWAL
Jefferson J KolmetzRussiaIvan Magalhaes PROPOSAL
Silvio G PaprockiJapanXuxue Feng RENEWAL
Clifford D StensethRussiaStephen Shaw NEGOTIATION
David R AmigonIndiaStephen Shaw UNQUALIFIED
Nicolas G SergiArgentinaIoni Bowcher QUALIFIED
Antonio K RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Octavia O ShinkoUnited KingdomAnna Fali NEW
Jones Y VocelkaCanadaStephen Shaw PROPOSAL
Nicolas F VenereRussiaAsiya Javayant QUALIFIED
Kaitlin Q VocelkaSpainStephen Shaw RENEWAL
Antonio E CaldareraAustraliaAsiya Javayant QUALIFIED
Alejandro C IturbideRussiaOnyama Limba UNQUALIFIED
Chavez C BowleyJapanAmy Elsner NEGOTIATION
Leon L OldroydRussiaIvan Magalhaes RENEWAL
Adams L CaudyArgentinaAsiya Javayant PROPOSAL
Octavia H KuskoSpainBernardo Dominic NEW

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