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
Jones D FollerUnited KingdomAmy Elsner QUALIFIED
Nicolas Q GlickAustraliaAsiya Javayant NEW
Murillo S MaletJapanXuxue Feng NEGOTIATION
Maria H DarakjyGermanyXuxue Feng NEW
Mujtaba Z SlusarskiBrazilElwin Sharvill PROPOSAL
Murillo C FlosiSpainAmy Elsner RENEWAL
Aruna R WaycottItalyAnna Fali PROPOSAL
Faith C FollerItalyIvan Magalhaes PROPOSAL
Kadeem Q VocelkaSpainIoni Bowcher PROPOSAL
Jennifer O VenereRussiaElwin Sharvill QUALIFIED
Isabel V RimFranceOnyama Limba PROPOSAL
Adams H ChuiAustraliaAnna Fali NEW
Munro K MaletIndiaAnna Fali NEGOTIATION
Costa C PerinAustraliaElwin Sharvill PROPOSAL
Tony O DoeUnited KingdomXuxue Feng QUALIFIED
Aditya R GillianArgentinaAsiya Javayant NEW
Maria Y RimBrazilXuxue Feng UNQUALIFIED
Julie M CaudyRussiaElwin Sharvill NEGOTIATION
Jeanfrancois M MarrierRussiaXuxue Feng NEW
Jeanfrancois B CaldareraJapanXuxue Feng UNQUALIFIED
Nicolas V WaycottFranceAnna Fali NEGOTIATION
Aika S MacleadArgentinaXuxue Feng PROPOSAL
Antonio B StockhamBrazilElwin Sharvill UNQUALIFIED
Silvio H MacleadSpainElwin Sharvill NEGOTIATION
Rodrigues J NickaBrazilStephen Shaw UNQUALIFIED
Isabel R StensethFranceElwin Sharvill PROPOSAL
Ivar C GillianArgentinaIvan Magalhaes QUALIFIED
Munro O FigeroaJapanBernardo Dominic NEGOTIATION
Deepesh C GarufiBrazilIvan Magalhaes NEW
Jones T SergiGermanyElwin Sharvill QUALIFIED
Stacey Z VocelkaGermanyIoni Bowcher UNQUALIFIED
Costa O MacleadArgentinaAnna Fali NEGOTIATION
Mayumi H AmigonRussiaElwin Sharvill NEW
Smith R GarufiUnited KingdomAsiya Javayant NEGOTIATION
Murillo Y DarakjyArgentinaXuxue Feng NEGOTIATION
Mayumi H BriddickBrazilBernardo Dominic NEGOTIATION
Wickens N StensethAustraliaAmy Elsner RENEWAL
Tony F NickaItalyXuxue Feng UNQUALIFIED
Jefferson Q KolmetzGermanyStephen Shaw QUALIFIED
Johnson X GlickCanadaOnyama Limba QUALIFIED
Clifford W ShinkoRussiaIvan Magalhaes NEW
Cody E DoeIndiaOnyama Limba NEW
Johnson P SlusarskiRussiaXuxue Feng NEGOTIATION
Rodrigues B MarrierArgentinaElwin Sharvill NEGOTIATION
Jefferson C KolmetzAustraliaStephen Shaw NEW
Francesco F PaprockiBrazilXuxue Feng NEGOTIATION
Isabel W BowleySpainOnyama Limba RENEWAL
Juan F SaylorsJapanAnna Fali NEGOTIATION
James S FigeroaSpainAsiya Javayant NEW
Antonio J InouyeUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair J GauchoSpainXuxue Feng RENEWAL
Faith I CampainIndiaBernardo Dominic PROPOSAL
Munro L OldroydIndiaAsiya Javayant NEW
Aika T WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Isabel X PaprockiRussiaElwin Sharvill PROPOSAL
Darci L RulapaughSpainXuxue Feng QUALIFIED
Stacey B CampainUnited KingdomXuxue Feng UNQUALIFIED
Antonio I PerinSpainOnyama Limba RENEWAL
Greenwood Z SergiRussiaXuxue Feng UNQUALIFIED
Mayumi X OldroydJapanBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie W OstroskyJapan2025-09-25King, Christopher A Esq NEGOTIATION64Xuxue Feng
1001Deepesh K DoeIndia2025-10-07King, Christopher A Esq UNQUALIFIED81Elwin Sharvill
1002Munro O MaletCanada2025-10-08Chapman, Ross E Esq UNQUALIFIED20Amy Elsner
1003Ricardo D RutaItaly2025-09-29Chanay, Jeffrey A Esq PROPOSAL78Asiya Javayant
1004Jeanfrancois W AlbaresFrance2025-10-06Rangoni Of Florence RENEWAL23Ioni Bowcher
1005Jefferson H BowleyUnited Kingdom2025-09-23Feltz Printing Service RENEWAL26Xuxue Feng
1006Deepesh L MacleadIndia2025-10-05Morlong Associates NEGOTIATION43Anna Fali
1007Costa W FerenczGermany2025-09-28Printing Dimensions RENEWAL39Anna Fali
1008Julie H VenereSpain2025-09-27Chapman, Ross E Esq RENEWAL47Ivan Magalhaes
1009Alejandro W PerinGermany2025-10-18Morlong Associates UNQUALIFIED0Bernardo Dominic
1010Munro W WhobreyItaly2025-10-11Morlong Associates NEW47Anna Fali
1011Clifford A PoquetteFrance2025-10-02King, Christopher A Esq NEGOTIATION77Anna Fali
1012Julie P PerinArgentina2025-10-10King, Christopher A Esq RENEWAL27Ivan Magalhaes
1013James J DarakjyBrazil2025-10-17Commercial Press RENEWAL89Bernardo Dominic
1014Adams F PoquetteJapan2025-09-26Feltz Printing Service QUALIFIED41Ioni Bowcher
1015Claire Z CaudyGermany2025-09-28King, Christopher A Esq QUALIFIED65Ioni Bowcher
1016Kadeem R RimGermany2025-09-26Dorl, James J Esq NEW60Amy Elsner
1017Francesco M WieserSpain2025-10-06Chemel, James L Cpa QUALIFIED56Ivan Magalhaes
1018Ashley M GlickCanada2025-10-17Feiner Bros RENEWAL54Xuxue Feng
1019Darci W FlosiFrance2025-09-24Dorl, James J Esq UNQUALIFIED47Bernardo Dominic
1020Salvatore F IturbideIndia2025-10-18Morlong Associates UNQUALIFIED38Ioni Bowcher
1021Morrow M ChuiIndia2025-10-01Truhlar And Truhlar Attys UNQUALIFIED4Ioni Bowcher
1022Jefferson P TollnerCanada2025-10-15Morlong Associates NEGOTIATION33Stephen Shaw
1023Cody N GarufiAustralia2025-10-05Truhlar And Truhlar Attys NEW62Xuxue Feng
1024Leon T RulapaughFrance2025-10-03Truhlar And Truhlar Attys PROPOSAL38Stephen Shaw
1025Leon L DoeItaly2025-10-03Rangoni Of Florence UNQUALIFIED51Amy Elsner
1026Rodrigues L FollerIndia2025-09-22Commercial Press QUALIFIED13Elwin Sharvill
1027Greenwood K VocelkaCanada2025-09-22Chanay, Jeffrey A Esq PROPOSAL58Bernardo Dominic
1028Adams U DilliardBrazil2025-09-26Chanay, Jeffrey A Esq QUALIFIED71Bernardo Dominic
1029Leja O AmigonArgentina2025-09-20Chapman, Ross E Esq NEGOTIATION4Ioni Bowcher
1030Maisha C DarakjyAustralia2025-10-12Chapman, Ross E Esq RENEWAL70Elwin Sharvill
1031Kaitlin W DoeIndia2025-09-19Benton, John B Jr QUALIFIED64Amy Elsner
1032Darci I OstroskyGermany2025-10-04King, Christopher A Esq QUALIFIED52Anna Fali
1033Aditya X ShinkoArgentina2025-10-10Chapman, Ross E Esq UNQUALIFIED37Anna Fali
1034Nicolas Z ChuiJapan2025-09-27Commercial Press QUALIFIED31Asiya Javayant
1035Mayumi O PoquetteCanada2025-10-17Dorl, James J Esq UNQUALIFIED75Stephen Shaw
1036Clifford T CaldareraIndia2025-09-27Morlong Associates RENEWAL48Elwin Sharvill
1037Maisha D IturbideSpain2025-10-09Truhlar And Truhlar Attys UNQUALIFIED59Elwin Sharvill
1038Salvatore R FigeroaSpain2025-10-10Buckley Miller Wright RENEWAL50Xuxue Feng
1039Francesco Z DarakjyFrance2025-10-11King, Christopher A Esq QUALIFIED96Elwin Sharvill
1040Octavia H RutaCanada2025-10-11Truhlar And Truhlar Attys UNQUALIFIED49Anna Fali
1041Costa V RimItaly2025-10-15Rangoni Of Florence NEW9Ivan Magalhaes
1042Murillo A BologniaRussia2025-10-16Chemel, James L Cpa UNQUALIFIED84Bernardo Dominic
1043Rodrigues B BriddickArgentina2025-09-27Dorl, James J Esq UNQUALIFIED59Anna Fali
1044Rodrigues D SlusarskiBrazil2025-10-15Morlong Associates QUALIFIED86Asiya Javayant
1045Munro J DilliardJapan2025-09-26Dorl, James J Esq QUALIFIED29Ivan Magalhaes
1046Aruna J AlbaresUnited Kingdom2025-09-22Rousseaux, Michael Esq UNQUALIFIED0Stephen Shaw
1047Emily R MorascaIndia2025-10-15Dorl, James J Esq QUALIFIED41Stephen Shaw
1048Leja A WhobreyIndia2025-09-23Rangoni Of Florence NEGOTIATION43Amy Elsner
1049Chavez G ShinkoCanada2025-10-18Feiner Bros PROPOSAL81Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Johnson J InouyeItalyAnna Fali NEW
Isabel E MaletItalyAsiya Javayant UNQUALIFIED
Darci Z RutaJapanIvan Magalhaes QUALIFIED
Claire J CaldareraGermanyBernardo Dominic QUALIFIED
Jefferson F AlbaresFranceOnyama Limba NEGOTIATION
Misaki M GillianSpainElwin Sharvill RENEWAL
Juan R RulapaughAustraliaElwin Sharvill NEGOTIATION
Kaitlin O GauchoRussiaAsiya Javayant NEW
Izzy Y RulapaughItalyXuxue Feng UNQUALIFIED
Juan Z DilliardUnited KingdomIoni Bowcher QUALIFIED
Ivar F AlbaresUnited KingdomAnna Fali QUALIFIED
Smith Q StensethUnited KingdomAsiya Javayant UNQUALIFIED
Julie Q ButtBrazilIvan Magalhaes NEGOTIATION
Salvatore X FlosiBrazilAnna Fali UNQUALIFIED
Jeanfrancois W DarakjyUnited KingdomOnyama Limba QUALIFIED
Francesco W SchemmerUnited KingdomBernardo Dominic NEW
Kadeem U PaprockiAustraliaXuxue Feng PROPOSAL
Silvio W TollnerArgentinaIvan Magalhaes NEGOTIATION
Octavia Q PerinUnited KingdomXuxue Feng NEGOTIATION
Cody O WieserSpainIvan Magalhaes QUALIFIED
Tony S WhobreyItalyAsiya Javayant NEW
Aika J GillianUnited KingdomOnyama Limba QUALIFIED
Juan S PoquetteUnited KingdomIoni Bowcher QUALIFIED
Silvio X ShinkoSpainStephen Shaw QUALIFIED
Aruna N MaletIndiaElwin Sharvill PROPOSAL
Kadeem T PoquetteItalyOnyama Limba PROPOSAL
Aika J PaprockiIndiaBernardo Dominic QUALIFIED
Maisha F VenereAustraliaIoni Bowcher RENEWAL
Costa W SchemmerSpainOnyama Limba QUALIFIED
Mayumi E PoquetteAustraliaAsiya Javayant NEW
Kaitlin Z WaycottAustraliaAmy Elsner RENEWAL
Costa F DoeUnited KingdomElwin Sharvill NEGOTIATION
Maria B FigeroaCanadaOnyama Limba UNQUALIFIED
Kadeem H OstroskyItalyOnyama Limba PROPOSAL
Clifford I SchemmerBrazilIoni Bowcher PROPOSAL
Faith F SaylorsItalyAsiya Javayant PROPOSAL
Misaki U GlickRussiaElwin Sharvill QUALIFIED
Misaki U TollnerSpainIvan Magalhaes RENEWAL
Isabel O WieserGermanyBernardo Dominic NEW
Aditya I CampainGermanyOnyama Limba UNQUALIFIED
Isabel G GlickAustraliaIvan Magalhaes NEGOTIATION
Jefferson I NickaIndiaBernardo Dominic QUALIFIED
Arvin N PerinArgentinaAsiya Javayant UNQUALIFIED
Maria I BologniaGermanyStephen Shaw QUALIFIED
Aditya T KolmetzCanadaOnyama Limba RENEWAL
Antonio P PaprockiFranceAnna Fali PROPOSAL
Maisha P SergiIndiaElwin Sharvill NEW
Isabel U AlbaresArgentinaAmy Elsner RENEWAL
Julie L DarakjyIndiaBernardo Dominic PROPOSAL
Jeanfrancois X FlosiCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Silvio L Schemmer
James P Iturbide
Julie V Butt
Maria B Bowley
David N Iturbide
Leja B Flosi
Morrow A Bolognia
Deepesh G Wieser
Darci J Ruta
Silvio C Whobrey
Jeanfrancois V Stockham
Isabel F Dilliard
Maria X Campain
Alejandro I Sergi
Smith R Malet
Mayumi Q Marrier
Leon N Darakjy
Sinclair G Kolmetz
Kaitlin K Malet
Leon S Campain
Murillo P Wieser
Stacey P Darakjy
Julie F Wieser
Sinclair R Chui
Leja X Ferencz
Munro L Bolognia
Johnson L Poquette
Ivar H Schemmer
Mujtaba I Ostrosky
Chavez Q Schemmer
Munro V Rulapaugh
Aruna I Kusko
Juan R Doe
Cody H Whobrey
Salvatore D Amigon
Claire O Royster
Kadeem U Slusarski
Wickens I Rulapaugh
Deepesh K Garufi
Rodrigues K Garufi
Sinclair M Bowley
Aruna N Malet
Smith K Maclead
Darci W Briddick
Emily Y Campain
Aruna B Bowley
Francesco A Rim
Salvatore Z Saylors
Aruna P Glick
Wickens B Caudy
IdCountryDate
1000Australia2025-09-27
1001Brazil2025-09-23
1002Australia2025-10-11
1003Japan2025-09-19
1004Italy2025-09-29
1005Spain2025-10-16
1006Australia2025-09-26
1007Australia2025-10-03
1008Brazil2025-10-04
1009United Kingdom2025-10-06
1010France2025-09-19
1011Canada2025-09-28
1012United Kingdom2025-10-06
1013India2025-10-05
1014Italy2025-10-05
1015Germany2025-10-11
1016Russia2025-10-08
1017Brazil2025-09-24
1018India2025-10-13
1019United Kingdom2025-10-10
1020United Kingdom2025-10-06
1021Canada2025-10-15
1022Japan2025-10-11
1023Italy2025-10-10
1024Brazil2025-09-21
1025Spain2025-10-16
1026United Kingdom2025-10-10
1027France2025-10-16
1028Argentina2025-10-01
1029Russia2025-10-18
1030Spain2025-10-06
1031Canada2025-09-19
1032Brazil2025-10-18
1033France2025-09-28
1034Argentina2025-10-15
1035Australia2025-10-17
1036India2025-09-28
1037Australia2025-09-19
1038Germany2025-10-10
1039Brazil2025-09-21
1040Canada2025-09-30
1041France2025-10-15
1042Italy2025-10-16
1043United Kingdom2025-10-03
1044Brazil2025-10-05
1045Italy2025-10-08
1046Italy2025-09-27
1047Spain2025-10-05
1048Spain2025-09-21
1049United Kingdom2025-09-20

On-Demand Data

NameIdCountryDate
Claire G Oldroyd1000France2025-09-27
Jefferson A Marrier1001Germany2025-09-20
Cody B Maclead1002Germany2025-10-16
Tony O Ferencz1003Canada2025-10-07
Jones I Saylors1004Argentina2025-10-18
Deepesh H Saylors1005United Kingdom2025-09-20
Rodrigues T Butt1006Australia2025-09-29
Deepesh N Albares1007Australia2025-10-04
Jeanfrancois V Bowley1008Argentina2025-10-17
Leja L Kolmetz1009Brazil2025-10-13
Morrow F Malet1010Russia2025-10-11
Ashley A Bowley1011Australia2025-10-17
Greenwood D Tollner1012Spain2025-10-03
Maria O Rim1013Canada2025-10-03
Ashley E Campain1014Japan2025-09-23
David P Stenseth1015Japan2025-10-03
Ivar O Stenseth1016France2025-09-26
Salvatore S Glick1017Spain2025-10-08
Mayumi P Venere1018Japan2025-10-12
Nicolas H Kolmetz1019United Kingdom2025-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa F WieserAustraliaAnna Fali NEGOTIATION
Leja R RulapaughAustraliaAnna Fali UNQUALIFIED
Cody T MaletItalyAmy Elsner UNQUALIFIED
Faith V NickaBrazilBernardo Dominic NEGOTIATION
Emily P WieserIndiaAsiya Javayant PROPOSAL
Julie A StensethBrazilAmy Elsner NEGOTIATION
Munro O PerinSpainIvan Magalhaes QUALIFIED
Stacey I MarrierGermanyAmy Elsner QUALIFIED
Stacey O OldroydAustraliaBernardo Dominic NEW
Nicolas K FerenczArgentinaAsiya Javayant UNQUALIFIED
Antonio I FollerUnited KingdomElwin Sharvill UNQUALIFIED
Munro C ButtItalyIvan Magalhaes QUALIFIED
Jennifer A WaycottRussiaXuxue Feng NEW
Jeanfrancois U WaycottGermanyAsiya Javayant NEGOTIATION
Leja U InouyeIndiaAsiya Javayant PROPOSAL
Francesco U DoeRussiaAnna Fali UNQUALIFIED
Rodrigues X BologniaItalyIvan Magalhaes NEGOTIATION
Misaki H GillianGermanyOnyama Limba QUALIFIED
Chavez S SaylorsItalyAsiya Javayant RENEWAL
Jefferson X WhobreySpainBernardo Dominic NEW
Sinclair K GauchoJapanElwin Sharvill RENEWAL
Maisha Z StockhamAustraliaAmy Elsner UNQUALIFIED
Julie B PaprockiSpainIoni Bowcher RENEWAL
Francesco R InouyeItalyBernardo Dominic RENEWAL
Adams X DoeUnited KingdomBernardo Dominic NEW
Octavia Z DilliardCanadaAmy Elsner RENEWAL
Costa N CaudyArgentinaIvan Magalhaes QUALIFIED
Rodrigues F MacleadUnited KingdomAsiya Javayant NEW
Kaitlin S GarufiFranceStephen Shaw RENEWAL
Arvin K AlbaresFranceIoni Bowcher NEW
Faith Z SchemmerGermanyAsiya Javayant RENEWAL
Murillo C OstroskyAustraliaAmy Elsner NEW
Octavia V GillianGermanyAmy Elsner PROPOSAL
Ashley C VocelkaJapanAnna Fali PROPOSAL
Aruna A VocelkaRussiaOnyama Limba UNQUALIFIED
Izzy X KuskoRussiaStephen Shaw UNQUALIFIED
Ashley C RutaGermanyElwin Sharvill NEGOTIATION
Murillo W InouyeBrazilOnyama Limba PROPOSAL
Arvin Z AmigonAustraliaStephen Shaw RENEWAL
James R OldroydItalyBernardo 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>