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
Leon Z FollerSpainAsiya Javayant RENEWAL
James H FigeroaFranceElwin Sharvill QUALIFIED
Jefferson O InouyeArgentinaAnna Fali PROPOSAL
Arvin O GlickFranceXuxue Feng UNQUALIFIED
Salvatore Z BologniaBrazilIvan Magalhaes UNQUALIFIED
Murillo L DilliardAustraliaIvan Magalhaes QUALIFIED
Munro Z BriddickBrazilOnyama Limba NEGOTIATION
Johnson O NestleAustraliaBernardo Dominic NEW
James Y OldroydArgentinaAsiya Javayant PROPOSAL
Ivar L StensethSpainXuxue Feng UNQUALIFIED
Izzy H WieserJapanXuxue Feng QUALIFIED
Mayumi M SlusarskiGermanyAnna Fali RENEWAL
Chavez U MarrierCanadaOnyama Limba QUALIFIED
Jennifer O CaudyRussiaElwin Sharvill NEGOTIATION
Clifford V KuskoRussiaElwin Sharvill NEW
Cody V SergiFranceAsiya Javayant QUALIFIED
Claire B OstroskyGermanyBernardo Dominic QUALIFIED
Deepesh Z IturbideUnited KingdomAsiya Javayant NEW
Nicolas A MarrierJapanIvan Magalhaes UNQUALIFIED
Munro P AmigonAustraliaAnna Fali UNQUALIFIED
Deepesh S GarufiAustraliaAsiya Javayant NEGOTIATION
Antonio J FollerJapanIoni Bowcher NEW
Julie N FlosiAustraliaBernardo Dominic NEW
Morrow L MorascaFranceAnna Fali UNQUALIFIED
Salvatore E OstroskySpainAmy Elsner UNQUALIFIED
Juan O FollerUnited KingdomAnna Fali NEW
Rodrigues J MorascaJapanElwin Sharvill RENEWAL
Clifford P GlickUnited KingdomAnna Fali QUALIFIED
Aruna S MorascaUnited KingdomAnna Fali UNQUALIFIED
Faith A DarakjyFranceAsiya Javayant PROPOSAL
Jones V RutaJapanIvan Magalhaes NEW
Clifford U NestleJapanStephen Shaw NEW
Sinclair F InouyeBrazilOnyama Limba UNQUALIFIED
James C GarufiFranceIoni Bowcher QUALIFIED
Leon Z ChuiAustraliaAnna Fali NEGOTIATION
Kaitlin E GarufiJapanStephen Shaw QUALIFIED
Maria G NickaFranceAsiya Javayant NEGOTIATION
Ricardo B PerinCanadaAsiya Javayant QUALIFIED
Claire Y SchemmerGermanyXuxue Feng PROPOSAL
Leja O BriddickJapanXuxue Feng UNQUALIFIED
Maisha P GauchoRussiaAmy Elsner UNQUALIFIED
Julie B PoquetteFranceOnyama Limba RENEWAL
Arvin X MacleadUnited KingdomBernardo Dominic NEW
Mayumi H WhobreyRussiaBernardo Dominic NEGOTIATION
Octavia V DarakjyItalyIoni Bowcher RENEWAL
Jefferson O DarakjySpainElwin Sharvill RENEWAL
Greenwood D SchemmerArgentinaOnyama Limba RENEWAL
Munro W DoeCanadaBernardo Dominic PROPOSAL
James A KolmetzFranceAmy Elsner NEW
Adams J CaldareraBrazilAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem N GarufiItalyStephen Shaw NEGOTIATION
Alejandro Q DilliardGermanyAmy Elsner QUALIFIED
Clifford H FlosiGermanyAnna Fali UNQUALIFIED
Mayumi U SaylorsAustraliaElwin Sharvill UNQUALIFIED
Kadeem E StensethAustraliaAsiya Javayant QUALIFIED
Greenwood W GauchoIndiaAsiya Javayant NEGOTIATION
Silvio J BowleyUnited KingdomAmy Elsner NEGOTIATION
Cody S KolmetzJapanStephen Shaw QUALIFIED
Maria E DoeRussiaStephen Shaw NEGOTIATION
Wickens Y AlbaresBrazilElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem M MorascaJapan2025-09-23King, Christopher A Esq QUALIFIED30Elwin Sharvill
1001Silvio K IturbideAustralia2025-10-19Dorl, James J Esq RENEWAL48Ivan Magalhaes
1002Salvatore S CampainSpain2025-10-02Buckley Miller Wright QUALIFIED4Stephen Shaw
1003Leon G GauchoSpain2025-09-22Printing Dimensions RENEWAL3Ioni Bowcher
1004Maisha D DoeJapan2025-10-14Chanay, Jeffrey A Esq QUALIFIED28Anna Fali
1005Morrow H SlusarskiIndia2025-10-19Chapman, Ross E Esq NEGOTIATION74Amy Elsner
1006Mayumi M SlusarskiUnited Kingdom2025-09-22King, Christopher A Esq UNQUALIFIED87Amy Elsner
1007Costa W MarrierBrazil2025-09-25Feiner Bros PROPOSAL40Bernardo Dominic
1008Munro S MacleadIndia2025-09-22Commercial Press NEGOTIATION25Xuxue Feng
1009Julie W DarakjyItaly2025-10-14Benton, John B Jr NEGOTIATION24Bernardo Dominic
1010David P OstroskyIndia2025-09-26Rangoni Of Florence UNQUALIFIED59Anna Fali
1011Leja N FollerGermany2025-09-24Rangoni Of Florence NEGOTIATION38Elwin Sharvill
1012Izzy K WieserFrance2025-10-02Truhlar And Truhlar Attys PROPOSAL40Bernardo Dominic
1013Kadeem K VenereJapan2025-10-02Feiner Bros PROPOSAL31Elwin Sharvill
1014Ricardo G InouyeAustralia2025-10-08Chemel, James L Cpa QUALIFIED14Asiya Javayant
1015Julie G BriddickJapan2025-10-09Chanay, Jeffrey A Esq UNQUALIFIED15Amy Elsner
1016Wickens N NickaIndia2025-10-04Benton, John B Jr RENEWAL2Bernardo Dominic
1017Maisha F NestleAustralia2025-09-22Truhlar And Truhlar Attys RENEWAL61Asiya Javayant
1018Johnson Y AlbaresRussia2025-09-21Commercial Press QUALIFIED19Xuxue Feng
1019Darci E InouyeCanada2025-10-12King, Christopher A Esq UNQUALIFIED85Anna Fali
1020Aruna I FerenczBrazil2025-09-25Feiner Bros NEGOTIATION15Ioni Bowcher
1021Nicolas U FigeroaCanada2025-10-18Benton, John B Jr NEW93Ivan Magalhaes
1022Faith T DilliardGermany2025-09-23Rousseaux, Michael Esq QUALIFIED64Elwin Sharvill
1023Alejandro R ChuiFrance2025-10-08Truhlar And Truhlar Attys NEGOTIATION42Elwin Sharvill
1024Costa F GlickRussia2025-09-24Rousseaux, Michael Esq RENEWAL84Asiya Javayant
1025Ivar M StockhamSpain2025-09-26Morlong Associates UNQUALIFIED59Xuxue Feng
1026Deepesh X CampainBrazil2025-10-09Chemel, James L Cpa PROPOSAL40Ioni Bowcher
1027Aika W SlusarskiAustralia2025-10-14Chapman, Ross E Esq NEW23Asiya Javayant
1028Rodrigues Y MorascaAustralia2025-10-11King, Christopher A Esq UNQUALIFIED32Bernardo Dominic
1029Johnson R CaldareraIndia2025-09-29Chapman, Ross E Esq UNQUALIFIED84Anna Fali
1030Wickens U GauchoRussia2025-10-07Rousseaux, Michael Esq QUALIFIED87Anna Fali
1031Ricardo B NestleItaly2025-09-28Feltz Printing Service NEW75Ivan Magalhaes
1032James A WaycottFrance2025-10-10Dorl, James J Esq RENEWAL55Onyama Limba
1033Aika L PoquetteSpain2025-09-27Feiner Bros QUALIFIED62Anna Fali
1034Maisha N IturbideUnited Kingdom2025-10-06Chanay, Jeffrey A Esq NEGOTIATION79Ivan Magalhaes
1035Isabel F IturbideArgentina2025-10-03Rangoni Of Florence QUALIFIED41Xuxue Feng
1036Alejandro J CaldareraGermany2025-10-03Rousseaux, Michael Esq QUALIFIED86Ivan Magalhaes
1037Ashley U CaldareraGermany2025-09-26Chapman, Ross E Esq RENEWAL78Onyama Limba
1038Faith W StensethItaly2025-10-17Dorl, James J Esq NEW76Xuxue Feng
1039Aruna S GarufiCanada2025-10-14Feiner Bros PROPOSAL27Ioni Bowcher
1040Alejandro C BowleyCanada2025-10-10Feiner Bros RENEWAL42Ioni Bowcher
1041Tony N MarrierRussia2025-10-10Feltz Printing Service QUALIFIED65Xuxue Feng
1042Emily E FlosiFrance2025-10-18Chapman, Ross E Esq NEW17Anna Fali
1043Misaki E RimArgentina2025-09-27Chanay, Jeffrey A Esq NEGOTIATION66Elwin Sharvill
1044Maria H ButtGermany2025-10-12Feiner Bros PROPOSAL50Asiya Javayant
1045Claire F GauchoFrance2025-10-17Rangoni Of Florence PROPOSAL88Xuxue Feng
1046Murillo K PaprockiArgentina2025-10-08Chapman, Ross E Esq UNQUALIFIED92Ioni Bowcher
1047Mayumi L MacleadGermany2025-10-06Chanay, Jeffrey A Esq NEW41Anna Fali
1048Ashley B DilliardIndia2025-10-02Morlong Associates QUALIFIED89Elwin Sharvill
1049Smith R GarufiIndia2025-10-03Chanay, Jeffrey A Esq NEGOTIATION12Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues L DarakjySpainAmy Elsner NEGOTIATION
Jennifer A GarufiFranceAmy Elsner NEGOTIATION
Jones U BowleyUnited KingdomAmy Elsner QUALIFIED
Izzy X DoeCanadaIoni Bowcher RENEWAL
Faith Y CaldareraBrazilIvan Magalhaes RENEWAL
Izzy H GarufiArgentinaElwin Sharvill NEGOTIATION
Kaitlin T PaprockiAustraliaBernardo Dominic PROPOSAL
Aika R GauchoFranceXuxue Feng UNQUALIFIED
Francesco X RutaFranceElwin Sharvill QUALIFIED
Misaki H GillianArgentinaXuxue Feng NEGOTIATION
Clifford H BowleyFranceIoni Bowcher NEGOTIATION
Ashley N WaycottFranceIvan Magalhaes PROPOSAL
Izzy H RulapaughGermanyIvan Magalhaes NEGOTIATION
Kadeem N SchemmerIndiaXuxue Feng RENEWAL
Arvin V FlosiIndiaBernardo Dominic PROPOSAL
Antonio P DoeBrazilStephen Shaw PROPOSAL
David F RulapaughCanadaAnna Fali NEGOTIATION
Izzy U SlusarskiGermanyStephen Shaw NEW
Maisha Z SergiCanadaIvan Magalhaes QUALIFIED
Greenwood O RulapaughUnited KingdomIoni Bowcher PROPOSAL
Aika A WaycottAustraliaElwin Sharvill UNQUALIFIED
Clifford V GauchoCanadaElwin Sharvill RENEWAL
Greenwood Z WhobreyGermanyAnna Fali RENEWAL
Leja T PerinSpainAsiya Javayant UNQUALIFIED
Adams Q StockhamJapanAsiya Javayant NEW
Jones I DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Sinclair G NestleSpainAnna Fali UNQUALIFIED
Izzy S BriddickRussiaStephen Shaw RENEWAL
James H TollnerCanadaElwin Sharvill NEW
Mujtaba L GlickSpainAnna Fali PROPOSAL
Costa T SergiRussiaBernardo Dominic NEGOTIATION
Alejandro G WieserRussiaXuxue Feng UNQUALIFIED
Kaitlin V MaletSpainIvan Magalhaes NEGOTIATION
Murillo J MaletBrazilIvan Magalhaes RENEWAL
Stacey L SchemmerItalyIoni Bowcher QUALIFIED
Costa B WieserFranceAmy Elsner NEW
Silvio I MaletItalyAmy Elsner UNQUALIFIED
Juan I MaletItalyAmy Elsner PROPOSAL
Alejandro A StensethRussiaAmy Elsner NEGOTIATION
Mujtaba Z MaletAustraliaStephen Shaw PROPOSAL
Ashley B AmigonSpainIvan Magalhaes NEGOTIATION
Maisha H DarakjyIndiaAsiya Javayant NEW
David V ButtRussiaAnna Fali QUALIFIED
Cody B KolmetzGermanyIvan Magalhaes PROPOSAL
Mujtaba M BriddickFranceAsiya Javayant NEW
Antonio Y BowleyItalyXuxue Feng NEW
Isabel L VenereFranceAsiya Javayant PROPOSAL
Alejandro L FigeroaJapanXuxue Feng QUALIFIED
Octavia V GarufiJapanAnna Fali NEGOTIATION
Leja U GillianUnited KingdomOnyama Limba NEGOTIATION
Frozen Columns
Name
Aditya J Sergi
Mujtaba D Iturbide
Mujtaba M Marrier
Murillo F Poquette
Ashley C Marrier
Arvin F Glick
Stacey P Sergi
Greenwood T Sergi
Sinclair Z Inouye
Izzy T Butt
Mayumi K Oldroyd
Morrow S Malet
Smith R Maclead
Jennifer R Malet
James W Rim
Leon O Albares
James S Doe
Ricardo K Whobrey
Mayumi O Slusarski
Leja U Ostrosky
Morrow S Saylors
Leon I Inouye
Maisha Z Bolognia
Kadeem M Garufi
Kaitlin S Inouye
Johnson R Stenseth
Emily Q Tollner
Juan D Stockham
Leja O Campain
Emily R Oldroyd
Ricardo V Oldroyd
Aruna A Marrier
Smith W Amigon
Ricardo D Ferencz
Salvatore E Sergi
David X Bowley
Salvatore S Rim
Mayumi D Kusko
Julie F Nestle
Faith M Gaucho
Mujtaba H Gaucho
Francesco Q Sergi
Greenwood K Ruta
Silvio C Glick
Darci L Marrier
Faith R Glick
Ashley O Rulapaugh
Jefferson Z Poquette
Rodrigues E Wieser
David Z Whobrey
IdCountryDate
1000France2025-09-29
1001Russia2025-10-08
1002Spain2025-10-16
1003Canada2025-09-23
1004Italy2025-10-15
1005India2025-09-20
1006Argentina2025-09-30
1007Canada2025-10-06
1008Italy2025-10-11
1009Argentina2025-09-30
1010Russia2025-09-27
1011Germany2025-09-20
1012Germany2025-10-15
1013France2025-10-08
1014Japan2025-10-08
1015Spain2025-10-08
1016Italy2025-09-22
1017India2025-09-22
1018Russia2025-09-22
1019Australia2025-10-18
1020Brazil2025-10-11
1021Argentina2025-10-09
1022Argentina2025-10-08
1023Argentina2025-09-24
1024United Kingdom2025-09-20
1025Australia2025-09-27
1026Australia2025-10-14
1027France2025-09-21
1028Canada2025-10-16
1029Germany2025-10-18
1030Argentina2025-10-10
1031Brazil2025-09-28
1032Italy2025-10-11
1033Argentina2025-10-19
1034Spain2025-10-06
1035Japan2025-09-20
1036United Kingdom2025-10-10
1037France2025-10-06
1038Italy2025-09-28
1039France2025-10-08
1040France2025-09-23
1041Brazil2025-10-02
1042Argentina2025-09-23
1043Japan2025-09-25
1044India2025-09-23
1045Japan2025-09-27
1046Argentina2025-09-26
1047Italy2025-10-08
1048Argentina2025-10-08
1049Canada2025-10-10

On-Demand Data

NameIdCountryDate
Murillo R Saylors1000Australia2025-10-19
James S Shinko1001Russia2025-10-18
Leon S Garufi1002Australia2025-10-07
Darci F Gaucho1003Russia2025-10-11
Darci H Amigon1004India2025-10-14
Jones J Nicka1005United Kingdom2025-09-24
Maria D Briddick1006United Kingdom2025-10-06
Juan W Stenseth1007United Kingdom2025-09-29
Isabel L Dilliard1008France2025-09-20
James S Bowley1009Spain2025-10-09
Aika A Foller1010Canada2025-09-20
Chavez T Rim1011Germany2025-10-12
Faith W Marrier1012India2025-10-18
Izzy N Caldarera1013Australia2025-09-26
Wickens I Poquette1014India2025-10-05
Aika K Maclead1015Germany2025-10-04
Darci G Gillian1016Argentina2025-09-25
Costa E Stenseth1017Russia2025-09-27
Chavez M Perin1018Italy2025-09-26
Morrow O Marrier1019Japan2025-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci O SlusarskiFranceAnna Fali RENEWAL
Mayumi Q DoeSpainXuxue Feng NEGOTIATION
Antonio Y NickaItalyXuxue Feng NEW
Munro V InouyeJapanIoni Bowcher QUALIFIED
Murillo R InouyeGermanyBernardo Dominic NEW
Ivar X SchemmerArgentinaXuxue Feng NEGOTIATION
Adams S MaletSpainIvan Magalhaes NEW
Ricardo S StensethArgentinaStephen Shaw RENEWAL
Johnson H CampainFranceOnyama Limba NEW
Claire K CaldareraUnited KingdomElwin Sharvill RENEWAL
Morrow Q MaletRussiaAnna Fali NEW
Aditya R RutaRussiaBernardo Dominic NEGOTIATION
Jefferson W StockhamArgentinaAmy Elsner RENEWAL
Morrow Z CampainRussiaAnna Fali PROPOSAL
Kaitlin K WieserItalyElwin Sharvill UNQUALIFIED
Jones Z BowleyFranceStephen Shaw PROPOSAL
Munro W WaycottIndiaStephen Shaw NEGOTIATION
Jefferson T OstroskyIndiaAnna Fali PROPOSAL
Misaki E FollerAustraliaXuxue Feng NEGOTIATION
Tony J IturbideRussiaStephen Shaw NEW
Murillo O OstroskyFranceStephen Shaw UNQUALIFIED
Misaki D SaylorsJapanAsiya Javayant RENEWAL
Smith J RoysterJapanBernardo Dominic NEGOTIATION
Misaki A PerinArgentinaStephen Shaw UNQUALIFIED
Aika M MorascaRussiaAmy Elsner RENEWAL
James H FigeroaSpainOnyama Limba NEW
James G MarrierFranceXuxue Feng QUALIFIED
Octavia T RutaFranceOnyama Limba QUALIFIED
Leon B FlosiAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois T NestleArgentinaIvan Magalhaes NEGOTIATION
Darci D OldroydArgentinaStephen Shaw NEW
Mayumi L KuskoRussiaBernardo Dominic NEW
Greenwood R RutaBrazilOnyama Limba UNQUALIFIED
Maisha M DoeCanadaAnna Fali QUALIFIED
Darci T SergiItalyIoni Bowcher PROPOSAL
Morrow D VenereArgentinaIvan Magalhaes RENEWAL
Adams D WaycottCanadaBernardo Dominic PROPOSAL
Aika D ButtJapanIoni Bowcher PROPOSAL
Leja B MaletRussiaBernardo Dominic RENEWAL
Jefferson U BowleyCanadaElwin 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>