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
Darci B SergiSpainXuxue Feng NEGOTIATION
Jones K RulapaughGermanyStephen Shaw PROPOSAL
Greenwood V OldroydJapanXuxue Feng UNQUALIFIED
Maria F MacleadRussiaOnyama Limba NEGOTIATION
Wickens P MacleadBrazilIvan Magalhaes QUALIFIED
Kaitlin D DarakjyAustraliaXuxue Feng NEW
Kadeem P AlbaresJapanBernardo Dominic RENEWAL
Aruna P InouyeJapanAsiya Javayant QUALIFIED
Munro U GauchoArgentinaAnna Fali PROPOSAL
Ashley U DilliardRussiaAsiya Javayant QUALIFIED
Jeanfrancois D PerinArgentinaStephen Shaw NEW
Wickens A FollerGermanyOnyama Limba QUALIFIED
Maria Z ShinkoUnited KingdomXuxue Feng RENEWAL
Alejandro M StensethCanadaIvan Magalhaes NEGOTIATION
Leon Z FerenczRussiaAmy Elsner UNQUALIFIED
Wickens N KuskoGermanyAmy Elsner NEGOTIATION
Tony V CaldareraUnited KingdomStephen Shaw NEGOTIATION
Francesco K BriddickCanadaAmy Elsner RENEWAL
Aruna L PoquetteArgentinaAnna Fali PROPOSAL
Murillo N AmigonItalyIoni Bowcher NEGOTIATION
Francesco A StockhamIndiaAnna Fali QUALIFIED
Nicolas V CaldareraSpainAsiya Javayant NEW
Kaitlin L PerinUnited KingdomAmy Elsner RENEWAL
Rodrigues W WhobreyFranceIvan Magalhaes QUALIFIED
Alejandro X IturbideArgentinaXuxue Feng NEGOTIATION
Murillo Y OldroydUnited KingdomOnyama Limba QUALIFIED
Izzy R SchemmerCanadaOnyama Limba NEW
Ivar J RutaItalyElwin Sharvill NEGOTIATION
Octavia G CampainGermanyAmy Elsner PROPOSAL
Francesco H CampainRussiaStephen Shaw RENEWAL
Mayumi C ButtSpainElwin Sharvill QUALIFIED
Silvio F SlusarskiIndiaIoni Bowcher RENEWAL
Munro B PerinBrazilBernardo Dominic NEGOTIATION
James T MaletSpainAsiya Javayant QUALIFIED
Claire F FerenczIndiaIvan Magalhaes NEW
Clifford U SchemmerCanadaBernardo Dominic UNQUALIFIED
Mayumi X PaprockiCanadaAmy Elsner PROPOSAL
Murillo W NickaBrazilXuxue Feng PROPOSAL
Ashley E CampainFranceBernardo Dominic PROPOSAL
Leja T KolmetzUnited KingdomStephen Shaw RENEWAL
Misaki D AlbaresCanadaAnna Fali RENEWAL
Mayumi X SchemmerSpainIoni Bowcher NEW
Ashley H DarakjyArgentinaAsiya Javayant QUALIFIED
Wickens S VocelkaItalyIoni Bowcher RENEWAL
Kaitlin P GillianCanadaStephen Shaw UNQUALIFIED
Juan N RoysterFranceXuxue Feng RENEWAL
Johnson Y SlusarskiIndiaIoni Bowcher NEW
Arvin T GillianItalyAmy Elsner NEGOTIATION
Deepesh L PaprockiSpainAsiya Javayant QUALIFIED
Antonio C MaletCanadaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson P MorascaCanadaIoni Bowcher NEGOTIATION
Chavez F PoquetteAustraliaXuxue Feng RENEWAL
Ricardo V NickaGermanyAmy Elsner NEW
Maria O GarufiAustraliaIvan Magalhaes QUALIFIED
Emily M MarrierIndiaIoni Bowcher NEGOTIATION
Clifford B FigeroaIndiaElwin Sharvill UNQUALIFIED
Murillo E WaycottSpainAsiya Javayant QUALIFIED
Izzy I OldroydRussiaStephen Shaw QUALIFIED
Izzy X WieserIndiaStephen Shaw NEW
Jeanfrancois P MorascaRussiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy O ChuiIndia2025-10-04Buckley Miller Wright PROPOSAL82Onyama Limba
1001Ashley M SergiBrazil2025-10-16King, Christopher A Esq RENEWAL38Asiya Javayant
1002Jones A SchemmerArgentina2025-10-04Chapman, Ross E Esq NEW52Amy Elsner
1003Arvin S AlbaresSpain2025-09-21King, Christopher A Esq UNQUALIFIED43Anna Fali
1004Chavez U KuskoAustralia2025-09-29Chemel, James L Cpa RENEWAL16Stephen Shaw
1005Clifford B BologniaUnited Kingdom2025-10-07Chanay, Jeffrey A Esq NEW34Ivan Magalhaes
1006Francesco X ChuiUnited Kingdom2025-10-10King, Christopher A Esq NEGOTIATION7Bernardo Dominic
1007Isabel V GarufiGermany2025-09-22King, Christopher A Esq PROPOSAL6Ivan Magalhaes
1008Rodrigues M GlickAustralia2025-10-04Buckley Miller Wright QUALIFIED13Ioni Bowcher
1009Kadeem G IturbideSpain2025-09-20Commercial Press NEGOTIATION28Onyama Limba
1010Jeanfrancois F GlickCanada2025-10-03Chemel, James L Cpa UNQUALIFIED30Xuxue Feng
1011Munro B MaletCanada2025-10-03Feltz Printing Service PROPOSAL47Amy Elsner
1012Izzy A FerenczGermany2025-10-03Commercial Press NEGOTIATION94Stephen Shaw
1013David T WaycottGermany2025-10-11Rangoni Of Florence UNQUALIFIED31Xuxue Feng
1014Wickens H RimUnited Kingdom2025-10-13Dorl, James J Esq RENEWAL27Asiya Javayant
1015Sinclair B InouyeUnited Kingdom2025-10-01Benton, John B Jr QUALIFIED56Bernardo Dominic
1016Cody Z ChuiCanada2025-09-22Dorl, James J Esq NEW45Xuxue Feng
1017Adams Q ButtUnited Kingdom2025-10-14Dorl, James J Esq NEGOTIATION43Bernardo Dominic
1018Kadeem E NestleItaly2025-09-27Benton, John B Jr RENEWAL94Xuxue Feng
1019Izzy O OldroydJapan2025-10-04Feltz Printing Service QUALIFIED48Stephen Shaw
1020Jefferson R BologniaGermany2025-09-24Printing Dimensions UNQUALIFIED50Bernardo Dominic
1021Johnson Q VocelkaUnited Kingdom2025-09-25Truhlar And Truhlar Attys RENEWAL46Bernardo Dominic
1022Jefferson B BowleyGermany2025-09-30Feltz Printing Service PROPOSAL11Xuxue Feng
1023Adams R OstroskyGermany2025-10-11Chanay, Jeffrey A Esq NEW15Ioni Bowcher
1024Deepesh K SlusarskiGermany2025-09-28Rangoni Of Florence NEW17Ivan Magalhaes
1025Murillo S SlusarskiRussia2025-10-02Morlong Associates NEW10Xuxue Feng
1026Smith D WaycottRussia2025-10-19Feltz Printing Service RENEWAL45Amy Elsner
1027Jennifer C WaycottBrazil2025-09-28Feiner Bros NEW62Anna Fali
1028Darci G PoquetteIndia2025-10-09Chanay, Jeffrey A Esq QUALIFIED39Ioni Bowcher
1029Nicolas D FerenczItaly2025-10-12Dorl, James J Esq QUALIFIED4Ioni Bowcher
1030Rodrigues Z MacleadJapan2025-10-08Chemel, James L Cpa NEGOTIATION27Amy Elsner
1031Nicolas W MarrierItaly2025-09-26Buckley Miller Wright NEGOTIATION78Ioni Bowcher
1032Maisha W BowleyBrazil2025-10-05Rangoni Of Florence UNQUALIFIED4Asiya Javayant
1033Adams G MorascaGermany2025-09-22Morlong Associates RENEWAL57Stephen Shaw
1034Morrow X GauchoItaly2025-10-01King, Christopher A Esq UNQUALIFIED81Anna Fali
1035Rodrigues I GlickGermany2025-10-06King, Christopher A Esq PROPOSAL19Ivan Magalhaes
1036Darci R DilliardItaly2025-09-28Feltz Printing Service UNQUALIFIED63Bernardo Dominic
1037Smith Q PoquetteCanada2025-10-06Chanay, Jeffrey A Esq PROPOSAL75Ivan Magalhaes
1038Izzy W RutaCanada2025-10-15Buckley Miller Wright UNQUALIFIED88Onyama Limba
1039Jennifer O GlickArgentina2025-09-26Feiner Bros QUALIFIED6Ivan Magalhaes
1040Isabel C NestleJapan2025-09-27Dorl, James J Esq UNQUALIFIED80Xuxue Feng
1041Claire Z RulapaughUnited Kingdom2025-10-10Chanay, Jeffrey A Esq QUALIFIED60Elwin Sharvill
1042Nicolas X GauchoUnited Kingdom2025-10-05Printing Dimensions UNQUALIFIED45Xuxue Feng
1043Leja R AmigonCanada2025-10-10Feltz Printing Service NEW34Elwin Sharvill
1044Adams L WaycottAustralia2025-09-25Commercial Press UNQUALIFIED12Amy Elsner
1045Leon K WaycottFrance2025-10-03King, Christopher A Esq QUALIFIED39Bernardo Dominic
1046Claire V ShinkoIndia2025-10-05Feltz Printing Service PROPOSAL4Amy Elsner
1047Stacey B AlbaresRussia2025-10-12Chemel, James L Cpa RENEWAL41Ioni Bowcher
1048Rodrigues J SergiIndia2025-10-01Feltz Printing Service NEGOTIATION45Onyama Limba
1049Leon U MorascaSpain2025-10-16Morlong Associates PROPOSAL70Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams A MacleadCanadaIvan Magalhaes UNQUALIFIED
Ricardo F PaprockiIndiaBernardo Dominic NEW
Sinclair J KolmetzAustraliaBernardo Dominic NEGOTIATION
Murillo I KolmetzSpainElwin Sharvill NEGOTIATION
Ricardo T DoeJapanStephen Shaw RENEWAL
Silvio L PerinCanadaStephen Shaw QUALIFIED
Jeanfrancois A SchemmerItalyIvan Magalhaes NEGOTIATION
Aika U FlosiItalyAmy Elsner NEW
Leja R AlbaresAustraliaXuxue Feng PROPOSAL
Aruna Q DoeFranceStephen Shaw UNQUALIFIED
Kadeem U FlosiJapanXuxue Feng UNQUALIFIED
Maria P NestleRussiaAsiya Javayant PROPOSAL
Rodrigues I SaylorsArgentinaBernardo Dominic NEW
Emily S WaycottAustraliaBernardo Dominic RENEWAL
Ashley Q WieserFranceIvan Magalhaes QUALIFIED
Francesco O VenereGermanyIoni Bowcher UNQUALIFIED
Aruna N GauchoCanadaAsiya Javayant QUALIFIED
Nicolas Y FigeroaCanadaStephen Shaw QUALIFIED
Chavez Z StockhamBrazilIvan Magalhaes QUALIFIED
Antonio H MacleadRussiaIoni Bowcher QUALIFIED
Jeanfrancois Z VenereJapanIvan Magalhaes QUALIFIED
Ashley R WaycottAustraliaAnna Fali QUALIFIED
Misaki A NickaSpainIvan Magalhaes PROPOSAL
Arvin Y WieserIndiaIvan Magalhaes NEGOTIATION
Smith H FigeroaIndiaXuxue Feng PROPOSAL
Misaki T InouyeUnited KingdomStephen Shaw QUALIFIED
Nicolas Z AlbaresFranceAnna Fali NEW
Isabel J RutaCanadaXuxue Feng RENEWAL
Alejandro W VocelkaSpainAnna Fali RENEWAL
Cody N MaletSpainAsiya Javayant RENEWAL
Arvin N InouyeUnited KingdomXuxue Feng NEW
Nicolas P OldroydRussiaOnyama Limba QUALIFIED
Rodrigues G KolmetzIndiaAmy Elsner QUALIFIED
Misaki G GlickSpainIvan Magalhaes NEGOTIATION
Maisha H BologniaUnited KingdomAnna Fali NEGOTIATION
Faith V AlbaresIndiaElwin Sharvill NEW
Costa H RutaCanadaBernardo Dominic UNQUALIFIED
Johnson O WhobreyGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois Q SaylorsRussiaBernardo Dominic PROPOSAL
Wickens O GlickJapanXuxue Feng RENEWAL
Johnson P WhobreyBrazilIoni Bowcher PROPOSAL
Jones I WhobreyIndiaElwin Sharvill NEW
Salvatore C MorascaAustraliaStephen Shaw RENEWAL
Nicolas M WaycottJapanIoni Bowcher RENEWAL
Mayumi N VenereGermanyOnyama Limba RENEWAL
Clifford Z FerenczRussiaIvan Magalhaes NEGOTIATION
Greenwood K BowleyCanadaOnyama Limba NEW
Murillo A FigeroaSpainOnyama Limba UNQUALIFIED
Murillo H PaprockiIndiaAmy Elsner QUALIFIED
Tony G RoysterBrazilAnna Fali RENEWAL
Frozen Columns
Name
Wickens Q Garufi
Tony O Wieser
Emily I Slusarski
Octavia I Sergi
Ivar G Oldroyd
Johnson G Ferencz
Chavez W Bowley
Clifford W Flosi
Smith J Poquette
Isabel E Saylors
Jennifer J Ferencz
Ivar I Doe
Kadeem R Rulapaugh
Antonio W Ostrosky
Alejandro A Butt
David X Darakjy
Murillo I Chui
Smith S Doe
Isabel R Butt
Tony Q Stenseth
Ricardo G Malet
Silvio K Kolmetz
Johnson J Perin
Silvio V Sergi
Maria O Sergi
Murillo V Schemmer
Ivar H Amigon
Morrow T Flosi
Murillo B Darakjy
Maria K Caudy
Smith D Stenseth
Alejandro E Slusarski
Costa Q Ostrosky
Francesco G Glick
Rodrigues W Marrier
Izzy Z Nestle
David D Ruta
Nicolas S Kusko
Jones W Royster
Kadeem J Kusko
Cody P Venere
James X Oldroyd
Ricardo M Foller
Jefferson L Gillian
James P Schemmer
Jones D Amigon
Kadeem O Foller
Aika G Venere
Darci C Saylors
Greenwood C Caudy
IdCountryDate
1000United Kingdom2025-10-04
1001Japan2025-10-05
1002Japan2025-10-03
1003India2025-10-16
1004Argentina2025-09-20
1005India2025-10-11
1006Canada2025-10-19
1007Italy2025-10-19
1008Russia2025-09-21
1009India2025-09-26
1010United Kingdom2025-10-10
1011Brazil2025-10-08
1012Brazil2025-10-14
1013India2025-10-03
1014Germany2025-09-23
1015United Kingdom2025-10-18
1016Germany2025-10-04
1017Canada2025-09-28
1018Australia2025-10-08
1019Argentina2025-09-21
1020Japan2025-10-12
1021France2025-10-18
1022Canada2025-10-06
1023Spain2025-10-15
1024Russia2025-09-21
1025Germany2025-10-07
1026Argentina2025-10-04
1027Italy2025-10-14
1028United Kingdom2025-10-05
1029Italy2025-09-22
1030Germany2025-09-30
1031France2025-10-08
1032India2025-10-15
1033Spain2025-10-10
1034Australia2025-09-28
1035France2025-10-03
1036France2025-10-18
1037Brazil2025-10-10
1038Brazil2025-09-29
1039Japan2025-10-13
1040Italy2025-10-13
1041Canada2025-10-12
1042Brazil2025-10-13
1043Japan2025-10-13
1044United Kingdom2025-09-23
1045India2025-10-13
1046Canada2025-10-07
1047Italy2025-09-21
1048Argentina2025-10-12
1049Germany2025-09-21

On-Demand Data

NameIdCountryDate
Greenwood S Garufi1000France2025-09-26
Leja I Wieser1001Brazil2025-09-25
Munro O Bowley1002Argentina2025-10-15
Silvio V Butt1003Brazil2025-10-13
Rodrigues T Campain1004Brazil2025-10-15
Ashley N Darakjy1005Italy2025-09-23
Kaitlin W Dilliard1006United Kingdom2025-10-05
Octavia E Wieser1007United Kingdom2025-10-18
Leon H Ostrosky1008Russia2025-10-19
Silvio J Chui1009Argentina2025-09-29
Isabel W Rim1010Japan2025-09-29
Sinclair E Poquette1011Italy2025-09-29
David D Briddick1012Italy2025-10-01
Clifford O Kusko1013United Kingdom2025-10-08
Arvin Q Oldroyd1014Russia2025-10-18
Costa Y Kolmetz1015Russia2025-10-05
Morrow U Wieser1016Argentina2025-10-01
Johnson O Royster1017Australia2025-09-25
Izzy I Doe1018India2025-10-05
Wickens H Amigon1019Italy2025-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams M WhobreyItalyXuxue Feng NEGOTIATION
Aika E PaprockiSpainIoni Bowcher RENEWAL
Francesco Y OldroydIndiaAsiya Javayant QUALIFIED
Deepesh U FerenczArgentinaAsiya Javayant RENEWAL
Maria A MaletGermanyAmy Elsner PROPOSAL
Izzy E SergiAustraliaBernardo Dominic NEW
Aruna Z ButtGermanyAsiya Javayant PROPOSAL
Emily A IturbideJapanAmy Elsner QUALIFIED
Smith F ChuiGermanyStephen Shaw UNQUALIFIED
James J RutaUnited KingdomAsiya Javayant PROPOSAL
Antonio W OstroskyRussiaAsiya Javayant NEGOTIATION
Octavia V InouyeBrazilStephen Shaw NEW
Ivar E OldroydIndiaAmy Elsner NEW
Juan H BowleyGermanyAnna Fali NEGOTIATION
Kadeem L KuskoRussiaBernardo Dominic UNQUALIFIED
Leon O AlbaresBrazilIoni Bowcher QUALIFIED
Johnson K FigeroaItalyXuxue Feng UNQUALIFIED
Maisha G DilliardArgentinaStephen Shaw QUALIFIED
Salvatore G TollnerSpainAsiya Javayant NEW
Arvin W KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois Z KuskoJapanBernardo Dominic NEGOTIATION
Tony U FlosiCanadaIvan Magalhaes NEW
Deepesh E PoquetteJapanElwin Sharvill NEGOTIATION
Deepesh G GillianItalyStephen Shaw UNQUALIFIED
Arvin M SaylorsBrazilElwin Sharvill UNQUALIFIED
Octavia Y SchemmerArgentinaStephen Shaw NEGOTIATION
Kadeem D SaylorsUnited KingdomOnyama Limba PROPOSAL
Ricardo T StockhamCanadaAmy Elsner PROPOSAL
Kaitlin D SergiItalyXuxue Feng NEGOTIATION
Juan P SergiJapanAmy Elsner PROPOSAL
Kaitlin J BowleyFranceIvan Magalhaes RENEWAL
Antonio I BologniaItalyIvan Magalhaes QUALIFIED
Maria W ShinkoFranceStephen Shaw PROPOSAL
Julie S FollerUnited KingdomStephen Shaw RENEWAL
Stacey X MaletAustraliaAsiya Javayant UNQUALIFIED
Mujtaba N CampainGermanyXuxue Feng NEGOTIATION
Maria W KuskoItalyElwin Sharvill UNQUALIFIED
Aika W OstroskyBrazilAmy Elsner QUALIFIED
Claire G TollnerGermanyOnyama Limba NEGOTIATION
Morrow A FollerFranceStephen Shaw 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>