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
Octavia T KolmetzBrazilAsiya Javayant NEW
Costa T DilliardFranceStephen Shaw NEGOTIATION
Faith Z ChuiItalyAmy Elsner RENEWAL
Smith Y OldroydRussiaStephen Shaw RENEWAL
Juan K PerinJapanOnyama Limba NEW
Arvin W OstroskySpainIvan Magalhaes QUALIFIED
David C KuskoBrazilIvan Magalhaes UNQUALIFIED
Chavez F NickaGermanyAmy Elsner UNQUALIFIED
Jennifer G DarakjyIndiaBernardo Dominic UNQUALIFIED
Aditya C RulapaughFranceIvan Magalhaes PROPOSAL
Francesco M VocelkaUnited KingdomAmy Elsner PROPOSAL
Maisha U BologniaFranceOnyama Limba QUALIFIED
Juan N MaletJapanXuxue Feng NEGOTIATION
Emily G OstroskyRussiaAnna Fali NEW
Jennifer B InouyeArgentinaXuxue Feng PROPOSAL
Octavia U AlbaresJapanStephen Shaw UNQUALIFIED
Claire Y BriddickAustraliaXuxue Feng QUALIFIED
Nicolas O MaletBrazilAnna Fali RENEWAL
Isabel L InouyeBrazilStephen Shaw PROPOSAL
Francesco S DilliardJapanStephen Shaw NEGOTIATION
Isabel Z BologniaAustraliaAmy Elsner UNQUALIFIED
Aika Q NestleAustraliaIvan Magalhaes QUALIFIED
Maria Z SlusarskiAustraliaOnyama Limba NEGOTIATION
Antonio E NestleBrazilAnna Fali NEW
Salvatore M VocelkaBrazilAmy Elsner NEW
Juan F VenereJapanStephen Shaw NEW
Johnson F RimGermanyAmy Elsner PROPOSAL
Octavia A RoysterItalyIvan Magalhaes NEGOTIATION
James T CaudyFranceBernardo Dominic NEGOTIATION
Ashley U WieserJapanXuxue Feng QUALIFIED
Ashley L GauchoCanadaStephen Shaw NEW
Greenwood J AlbaresAustraliaOnyama Limba NEW
Octavia W MacleadJapanOnyama Limba QUALIFIED
Ashley R BowleyIndiaAnna Fali UNQUALIFIED
Silvio V StensethSpainBernardo Dominic PROPOSAL
Ricardo B KuskoAustraliaElwin Sharvill UNQUALIFIED
Jennifer M GlickItalyIvan Magalhaes PROPOSAL
Tony B GarufiUnited KingdomAmy Elsner RENEWAL
Deepesh K MacleadFranceBernardo Dominic NEW
Darci Z KolmetzSpainElwin Sharvill UNQUALIFIED
Jeanfrancois K VenereBrazilElwin Sharvill NEW
Kadeem G MarrierUnited KingdomStephen Shaw PROPOSAL
Deepesh S AlbaresCanadaElwin Sharvill UNQUALIFIED
Maisha T BriddickItalyIvan Magalhaes NEGOTIATION
Aruna H AlbaresAustraliaAsiya Javayant PROPOSAL
James D CaldareraJapanOnyama Limba NEGOTIATION
Ivar I DarakjyFranceBernardo Dominic NEGOTIATION
David T KolmetzJapanElwin Sharvill UNQUALIFIED
Clifford X WhobreyCanadaAnna Fali QUALIFIED
Mayumi T RutaRussiaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi D FlosiIndiaIvan Magalhaes UNQUALIFIED
Faith K TollnerGermanyElwin Sharvill RENEWAL
Kaitlin O MaletFranceOnyama Limba NEW
Adams H DilliardRussiaIoni Bowcher PROPOSAL
Misaki S RulapaughGermanyAmy Elsner NEGOTIATION
Izzy Y RimAustraliaIvan Magalhaes NEGOTIATION
Silvio M FigeroaSpainIoni Bowcher QUALIFIED
Leon L KolmetzItalyElwin Sharvill PROPOSAL
Jennifer V RoysterGermanyOnyama Limba PROPOSAL
Leon V GarufiFranceXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F FigeroaBrazil2025-09-06Feiner Bros NEGOTIATION7Bernardo Dominic
1001Jefferson X DilliardUnited Kingdom2025-08-27Rousseaux, Michael Esq RENEWAL76Bernardo Dominic
1002Emily D TollnerUnited Kingdom2025-09-14Buckley Miller Wright NEW1Stephen Shaw
1003Nicolas F FerenczRussia2025-09-10Buckley Miller Wright RENEWAL38Asiya Javayant
1004Jones C ButtArgentina2025-09-04Benton, John B Jr QUALIFIED19Stephen Shaw
1005Chavez O GlickRussia2025-09-17Rousseaux, Michael Esq UNQUALIFIED36Ioni Bowcher
1006Arvin S BowleyGermany2025-09-07Buckley Miller Wright UNQUALIFIED8Ivan Magalhaes
1007Mujtaba X ChuiBrazil2025-09-19Benton, John B Jr QUALIFIED48Bernardo Dominic
1008Misaki J StensethJapan2025-08-29Benton, John B Jr NEW26Bernardo Dominic
1009Aruna N WaycottGermany2025-09-21Rangoni Of Florence UNQUALIFIED57Asiya Javayant
1010Smith K ChuiArgentina2025-09-12Rangoni Of Florence PROPOSAL88Ioni Bowcher
1011Aruna Z PaprockiBrazil2025-09-20Truhlar And Truhlar Attys QUALIFIED28Asiya Javayant
1012Francesco L StockhamCanada2025-09-12Morlong Associates UNQUALIFIED92Ivan Magalhaes
1013Cody X IturbideUnited Kingdom2025-08-23Morlong Associates RENEWAL32Ivan Magalhaes
1014Faith K DarakjyGermany2025-09-17Morlong Associates UNQUALIFIED68Ioni Bowcher
1015Aika E CaldareraIndia2025-09-05Printing Dimensions QUALIFIED58Stephen Shaw
1016Emily I RoysterBrazil2025-08-26Chemel, James L Cpa PROPOSAL96Ioni Bowcher
1017Jones M FollerItaly2025-09-04Buckley Miller Wright NEW9Elwin Sharvill
1018Greenwood C GillianSpain2025-08-31Commercial Press QUALIFIED52Asiya Javayant
1019Jeanfrancois H ChuiFrance2025-09-08Chanay, Jeffrey A Esq NEW13Xuxue Feng
1020Johnson X PoquetteItaly2025-09-08Benton, John B Jr NEGOTIATION4Amy Elsner
1021Stacey Z FerenczRussia2025-09-09King, Christopher A Esq UNQUALIFIED4Stephen Shaw
1022Morrow S StensethJapan2025-09-03Feltz Printing Service UNQUALIFIED0Ioni Bowcher
1023Murillo Q SlusarskiJapan2025-08-25Buckley Miller Wright NEGOTIATION45Bernardo Dominic
1024Ivar P BowleyGermany2025-09-19Feiner Bros NEGOTIATION20Ivan Magalhaes
1025Francesco X AmigonUnited Kingdom2025-09-06Morlong Associates PROPOSAL41Asiya Javayant
1026Murillo O FerenczSpain2025-09-04Feltz Printing Service QUALIFIED62Onyama Limba
1027Cody O NickaRussia2025-09-01Feltz Printing Service NEGOTIATION80Asiya Javayant
1028Maisha V RoysterBrazil2025-09-01Benton, John B Jr RENEWAL94Onyama Limba
1029Jeanfrancois D CampainJapan2025-09-17Morlong Associates QUALIFIED93Ivan Magalhaes
1030Darci E StensethRussia2025-09-18Feltz Printing Service PROPOSAL59Ioni Bowcher
1031Juan Z FerenczUnited Kingdom2025-09-18Morlong Associates RENEWAL74Stephen Shaw
1032Ashley N DilliardBrazil2025-09-04Feltz Printing Service RENEWAL5Anna Fali
1033Kaitlin A DoeArgentina2025-09-09Rousseaux, Michael Esq PROPOSAL42Elwin Sharvill
1034Aditya G ButtAustralia2025-09-01Feltz Printing Service NEW99Ioni Bowcher
1035Juan Y VocelkaSpain2025-08-24Chapman, Ross E Esq QUALIFIED25Onyama Limba
1036Leon D GlickItaly2025-09-20Benton, John B Jr NEW24Elwin Sharvill
1037Greenwood G CampainRussia2025-09-03Commercial Press PROPOSAL9Xuxue Feng
1038Munro P ButtItaly2025-09-04Buckley Miller Wright RENEWAL35Amy Elsner
1039Clifford M AmigonSpain2025-09-15Dorl, James J Esq NEW59Anna Fali
1040Emily U MorascaSpain2025-09-11Feltz Printing Service QUALIFIED67Asiya Javayant
1041Costa C DoeJapan2025-09-08Printing Dimensions NEGOTIATION2Ioni Bowcher
1042Jefferson G MaletRussia2025-09-11Truhlar And Truhlar Attys QUALIFIED13Ivan Magalhaes
1043Nicolas D AmigonSpain2025-09-12Dorl, James J Esq NEGOTIATION67Ioni Bowcher
1044Leon R RulapaughUnited Kingdom2025-09-19Feiner Bros NEW51Amy Elsner
1045Ricardo N IturbideRussia2025-09-06Rousseaux, Michael Esq PROPOSAL78Amy Elsner
1046Mayumi X VenereCanada2025-09-18Truhlar And Truhlar Attys UNQUALIFIED46Amy Elsner
1047Juan X PoquetteArgentina2025-09-17King, Christopher A Esq PROPOSAL54Ivan Magalhaes
1048Aruna F KolmetzSpain2025-08-25Printing Dimensions QUALIFIED52Amy Elsner
1049Clifford N DilliardJapan2025-09-01Feltz Printing Service RENEWAL68Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois U FerenczGermanyXuxue Feng PROPOSAL
Faith Z KolmetzJapanIoni Bowcher RENEWAL
Morrow R MaletAustraliaAsiya Javayant RENEWAL
Deepesh U CampainItalyAmy Elsner NEW
Emily T SlusarskiCanadaIoni Bowcher RENEWAL
Octavia B AmigonGermanyAsiya Javayant QUALIFIED
David H RoysterRussiaIoni Bowcher UNQUALIFIED
Ricardo J WhobreySpainElwin Sharvill RENEWAL
Maisha G MacleadIndiaAnna Fali UNQUALIFIED
Alejandro Z ChuiItalyStephen Shaw QUALIFIED
Silvio S BowleyItalyBernardo Dominic NEGOTIATION
Leon X RoysterIndiaXuxue Feng NEW
Alejandro T FerenczCanadaAnna Fali RENEWAL
Ricardo I DarakjyArgentinaAmy Elsner PROPOSAL
Antonio Q MarrierArgentinaStephen Shaw NEW
Munro W OldroydFranceStephen Shaw PROPOSAL
Kaitlin T DarakjyUnited KingdomElwin Sharvill RENEWAL
Darci K GlickJapanIoni Bowcher UNQUALIFIED
Darci K GarufiGermanyOnyama Limba QUALIFIED
Aika J CampainGermanyXuxue Feng RENEWAL
Johnson Y GarufiIndiaAsiya Javayant UNQUALIFIED
Isabel B MorascaJapanIvan Magalhaes NEGOTIATION
Kaitlin F OstroskyBrazilOnyama Limba UNQUALIFIED
Jones X FigeroaFranceStephen Shaw QUALIFIED
Cody V ButtSpainAnna Fali NEGOTIATION
Deepesh O FerenczUnited KingdomStephen Shaw NEGOTIATION
Kadeem Z GarufiFranceElwin Sharvill RENEWAL
Greenwood S CampainFranceBernardo Dominic UNQUALIFIED
Jennifer D StensethArgentinaElwin Sharvill UNQUALIFIED
Juan T FlosiItalyIvan Magalhaes NEW
Maria W FlosiArgentinaIoni Bowcher NEW
Ashley L GarufiItalyAmy Elsner NEGOTIATION
Adams W OstroskyItalyElwin Sharvill PROPOSAL
Arvin S DilliardIndiaBernardo Dominic PROPOSAL
Jefferson C InouyeGermanyIvan Magalhaes NEGOTIATION
Emily H PoquetteGermanyOnyama Limba NEGOTIATION
Maria A RulapaughIndiaIoni Bowcher QUALIFIED
Johnson Q RutaIndiaElwin Sharvill NEW
Maisha V PoquetteGermanyStephen Shaw NEW
Deepesh G PoquetteSpainElwin Sharvill PROPOSAL
Rodrigues R RimItalyAmy Elsner PROPOSAL
Sinclair G BologniaIndiaAmy Elsner RENEWAL
Johnson C DoeRussiaOnyama Limba PROPOSAL
Munro L RulapaughIndiaOnyama Limba PROPOSAL
Silvio E FigeroaAustraliaBernardo Dominic NEW
Costa Q InouyeRussiaOnyama Limba NEGOTIATION
Munro G TollnerCanadaElwin Sharvill QUALIFIED
Morrow F SchemmerItalyAsiya Javayant NEGOTIATION
Deepesh W GlickCanadaBernardo Dominic UNQUALIFIED
Juan P BriddickFranceOnyama Limba RENEWAL
Frozen Columns
Name
Octavia Y Bowley
Jones C Iturbide
Arvin Y Tollner
Jones H Campain
Maisha C Figeroa
Izzy S Waycott
Darci G Paprocki
Arvin H Whobrey
Jones O Malet
Kadeem P Malet
Kaitlin L Maclead
Cody F Amigon
Arvin D Glick
Ashley C Kusko
Faith X Malet
Leon O Iturbide
Francesco A Rim
Alejandro L Waycott
Maria J Nestle
Morrow K Shinko
Silvio E Chui
Arvin I Morasca
Aika O Chui
Maria C Kolmetz
Johnson C Glick
Leja X Foller
Aika A Gaucho
Maisha G Bolognia
Izzy U Perin
Wickens S Foller
Antonio B Morasca
David E Tollner
Munro S Sergi
Octavia G Oldroyd
Jones E Rim
Octavia R Poquette
Aika Z Oldroyd
Mujtaba J Marrier
Tony Z Caudy
Emily X Saylors
Ivar U Kolmetz
Darci G Malet
Julie I Rim
Aditya P Ostrosky
Jennifer A Tollner
Wickens D Albares
Leja Y Paprocki
Julie V Slusarski
Mujtaba F Ruta
Sinclair K Whobrey
IdCountryDate
1000Brazil2025-09-13
1001Japan2025-09-12
1002Russia2025-09-18
1003Russia2025-09-10
1004Germany2025-08-31
1005Germany2025-09-01
1006Italy2025-09-03
1007Japan2025-09-03
1008France2025-08-27
1009France2025-09-03
1010Spain2025-09-20
1011Italy2025-08-26
1012France2025-08-24
1013Germany2025-09-07
1014Russia2025-09-14
1015Canada2025-09-19
1016Argentina2025-09-09
1017Canada2025-08-25
1018Spain2025-08-24
1019Japan2025-09-04
1020Canada2025-09-14
1021Brazil2025-09-19
1022Australia2025-09-12
1023Russia2025-08-28
1024Germany2025-09-17
1025Brazil2025-09-17
1026Canada2025-09-19
1027Australia2025-09-21
1028Argentina2025-09-08
1029Italy2025-08-27
1030Spain2025-09-20
1031Spain2025-08-24
1032Germany2025-09-07
1033Russia2025-09-19
1034Spain2025-09-10
1035United Kingdom2025-09-01
1036United Kingdom2025-09-18
1037Australia2025-09-14
1038Brazil2025-09-17
1039Argentina2025-09-02
1040Russia2025-09-04
1041Spain2025-09-09
1042Germany2025-09-19
1043Canada2025-09-06
1044India2025-09-06
1045Italy2025-09-13
1046India2025-08-31
1047France2025-08-31
1048Canada2025-09-15
1049Argentina2025-08-29

On-Demand Data

NameIdCountryDate
Ashley C Morasca1000United Kingdom2025-09-13
Izzy T Inouye1001Spain2025-09-19
Cody G Morasca1002Italy2025-08-30
Ricardo F Ferencz1003Australia2025-09-18
Salvatore L Amigon1004Russia2025-09-04
Julie N Malet1005Spain2025-09-09
Murillo W Perin1006Russia2025-09-04
Kadeem Z Tollner1007Brazil2025-09-11
Juan L Ostrosky1008Italy2025-09-04
Morrow R Vocelka1009Australia2025-08-28
Stacey N Garufi1010Russia2025-09-06
Claire L Doe1011Japan2025-09-06
Izzy T Flosi1012Canada2025-09-16
Ivar M Oldroyd1013Argentina2025-09-18
Aika S Foller1014Australia2025-08-26
Jeanfrancois Y Doe1015Spain2025-09-10
Kaitlin W Albares1016Australia2025-08-24
Silvio F Flosi1017Australia2025-09-16
Misaki I Oldroyd1018Argentina2025-09-07
Greenwood H Albares1019Spain2025-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco D CaldareraArgentinaOnyama Limba QUALIFIED
Antonio S WieserRussiaAmy Elsner NEGOTIATION
Juan R AmigonJapanOnyama Limba UNQUALIFIED
Kadeem I BologniaCanadaIoni Bowcher UNQUALIFIED
Kadeem H BologniaUnited KingdomXuxue Feng NEGOTIATION
Kadeem Q VenereGermanyOnyama Limba PROPOSAL
Leon C BriddickArgentinaAsiya Javayant PROPOSAL
Tony S MarrierBrazilIoni Bowcher QUALIFIED
Jones Y SaylorsItalyAmy Elsner NEW
Ashley S NickaArgentinaAnna Fali UNQUALIFIED
Munro N RutaSpainOnyama Limba NEGOTIATION
Morrow I WhobreyRussiaXuxue Feng NEW
Izzy N BriddickCanadaStephen Shaw NEW
Mujtaba N IturbideIndiaXuxue Feng UNQUALIFIED
Juan Y IturbideFranceBernardo Dominic QUALIFIED
David H WieserSpainBernardo Dominic NEW
Emily M SaylorsCanadaIvan Magalhaes PROPOSAL
Deepesh V AmigonArgentinaXuxue Feng RENEWAL
Claire H FlosiRussiaBernardo Dominic NEW
Emily B NestleItalyAmy Elsner NEGOTIATION
Mayumi Z FlosiAustraliaIoni Bowcher UNQUALIFIED
Silvio F BologniaCanadaOnyama Limba QUALIFIED
Kadeem V StockhamIndiaXuxue Feng NEW
Sinclair T FigeroaFranceAnna Fali UNQUALIFIED
Aika J KolmetzRussiaOnyama Limba NEGOTIATION
Mayumi C KolmetzRussiaElwin Sharvill RENEWAL
Jennifer P GillianIndiaAmy Elsner RENEWAL
Antonio D MacleadIndiaBernardo Dominic QUALIFIED
Greenwood F RulapaughSpainOnyama Limba PROPOSAL
Ricardo P CaldareraIndiaAmy Elsner NEGOTIATION
Salvatore P SergiUnited KingdomXuxue Feng NEGOTIATION
Arvin Y GlickJapanOnyama Limba UNQUALIFIED
Salvatore Z PaprockiCanadaAnna Fali QUALIFIED
Murillo B KolmetzIndiaAnna Fali NEGOTIATION
Ashley K MaletAustraliaElwin Sharvill PROPOSAL
Leon L GillianJapanBernardo Dominic NEGOTIATION
Misaki F KolmetzSpainXuxue Feng UNQUALIFIED
Costa V GlickJapanBernardo Dominic RENEWAL
Jeanfrancois M NestleIndiaOnyama Limba RENEWAL
Silvio D FerenczItalyElwin Sharvill 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>