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 W RulapaughIndiaAsiya Javayant UNQUALIFIED
Tony G PoquetteCanadaIvan Magalhaes PROPOSAL
David E StockhamJapanElwin Sharvill NEW
Claire U RoysterIndiaElwin Sharvill RENEWAL
Octavia B CaldareraArgentinaAsiya Javayant PROPOSAL
Misaki O NestleRussiaAsiya Javayant UNQUALIFIED
Darci I KolmetzAustraliaStephen Shaw RENEWAL
Ricardo J RutaBrazilElwin Sharvill PROPOSAL
Aditya T BowleyAustraliaBernardo Dominic RENEWAL
Faith M SaylorsGermanyAsiya Javayant RENEWAL
Sinclair L ButtBrazilOnyama Limba RENEWAL
David L FigeroaAustraliaAmy Elsner QUALIFIED
James N MarrierUnited KingdomElwin Sharvill PROPOSAL
Faith H GauchoGermanyIoni Bowcher RENEWAL
Kadeem I StockhamBrazilAsiya Javayant QUALIFIED
Munro W InouyeItalyXuxue Feng PROPOSAL
Leon U FlosiAustraliaAnna Fali UNQUALIFIED
Stacey D MaletIndiaElwin Sharvill UNQUALIFIED
Juan W MacleadCanadaIvan Magalhaes RENEWAL
Francesco X StensethArgentinaXuxue Feng RENEWAL
Emily E FigeroaArgentinaOnyama Limba PROPOSAL
Stacey F StockhamBrazilXuxue Feng NEGOTIATION
Silvio J StockhamRussiaXuxue Feng UNQUALIFIED
Smith K WaycottAustraliaOnyama Limba PROPOSAL
Aditya I BriddickCanadaStephen Shaw NEW
Juan K OstroskyJapanElwin Sharvill QUALIFIED
James K SlusarskiItalyAnna Fali UNQUALIFIED
David M WhobreyGermanyOnyama Limba QUALIFIED
Alejandro D InouyeJapanIoni Bowcher NEW
Jefferson E BowleyGermanyAmy Elsner RENEWAL
Juan D RulapaughArgentinaIoni Bowcher NEW
Jefferson S SlusarskiGermanyBernardo Dominic UNQUALIFIED
Claire F BowleyCanadaIvan Magalhaes QUALIFIED
Clifford W PaprockiBrazilIoni Bowcher UNQUALIFIED
Chavez A StensethRussiaAsiya Javayant NEW
Isabel P InouyeIndiaAmy Elsner PROPOSAL
Izzy O BologniaItalyIvan Magalhaes NEW
Octavia L CaldareraJapanXuxue Feng NEW
Izzy S CampainCanadaAnna Fali NEGOTIATION
Maisha T FigeroaUnited KingdomIoni Bowcher RENEWAL
Jones I VocelkaBrazilIvan Magalhaes RENEWAL
Rodrigues O ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Aruna H RulapaughGermanyStephen Shaw RENEWAL
Stacey O RutaGermanyOnyama Limba NEW
Isabel X MacleadBrazilIoni Bowcher PROPOSAL
Adams M MorascaIndiaAmy Elsner PROPOSAL
Aruna U WhobreyRussiaAsiya Javayant QUALIFIED
Nicolas J KolmetzSpainAmy Elsner PROPOSAL
Arvin M InouyeIndiaIoni Bowcher NEW
Jones F ButtIndiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Munro G DarakjySpainBernardo Dominic QUALIFIED
Jones E VocelkaFranceIoni Bowcher QUALIFIED
Julie P WaycottBrazilOnyama Limba RENEWAL
Adams J MarrierCanadaStephen Shaw UNQUALIFIED
Francesco Y RimSpainStephen Shaw PROPOSAL
Jones C DarakjyRussiaIoni Bowcher PROPOSAL
Jones K CampainBrazilAsiya Javayant NEW
Deepesh H ButtFranceAnna Fali UNQUALIFIED
Kaitlin Y FollerUnited KingdomXuxue Feng PROPOSAL
Clifford J WieserSpainXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie E GillianJapan2025-09-17Chapman, Ross E Esq RENEWAL92Bernardo Dominic
1001Leon O DarakjyFrance2025-09-28Buckley Miller Wright RENEWAL8Amy Elsner
1002Leja H TollnerAustralia2025-09-10Chanay, Jeffrey A Esq UNQUALIFIED10Elwin Sharvill
1003Greenwood O GarufiAustralia2025-09-12Rangoni Of Florence QUALIFIED69Elwin Sharvill
1004Faith N BologniaCanada2025-09-11Feiner Bros QUALIFIED8Ioni Bowcher
1005Emily G BowleyItaly2025-09-17Printing Dimensions NEW46Amy Elsner
1006Mujtaba G FerenczUnited Kingdom2025-09-10Printing Dimensions UNQUALIFIED67Amy Elsner
1007Kadeem R AlbaresFrance2025-10-03Commercial Press NEW22Elwin Sharvill
1008Salvatore W OldroydItaly2025-09-20King, Christopher A Esq NEW35Anna Fali
1009Faith G ShinkoRussia2025-09-20Rangoni Of Florence PROPOSAL10Ivan Magalhaes
1010Kadeem R CaudyIndia2025-09-15Feltz Printing Service NEGOTIATION60Xuxue Feng
1011Antonio T RimCanada2025-09-30Buckley Miller Wright PROPOSAL25Anna Fali
1012Salvatore V GarufiItaly2025-09-09Chanay, Jeffrey A Esq RENEWAL5Anna Fali
1013Stacey S StensethSpain2025-09-14Morlong Associates QUALIFIED67Ivan Magalhaes
1014Morrow C RulapaughFrance2025-09-28Printing Dimensions NEW5Amy Elsner
1015Nicolas Q WieserBrazil2025-10-04Rangoni Of Florence UNQUALIFIED58Stephen Shaw
1016Jefferson B SlusarskiFrance2025-09-11Rousseaux, Michael Esq UNQUALIFIED69Elwin Sharvill
1017Jefferson L MorascaBrazil2025-09-26Printing Dimensions NEW79Asiya Javayant
1018Misaki E MarrierFrance2025-09-16Buckley Miller Wright QUALIFIED96Ivan Magalhaes
1019Leon Z NickaRussia2025-10-01Chanay, Jeffrey A Esq NEW22Anna Fali
1020Ashley E DilliardArgentina2025-09-10Commercial Press PROPOSAL64Stephen Shaw
1021Claire H BologniaRussia2025-09-22Benton, John B Jr NEW60Stephen Shaw
1022Francesco J MacleadRussia2025-09-08Dorl, James J Esq RENEWAL64Onyama Limba
1023Francesco C WieserFrance2025-09-21Feiner Bros NEW42Anna Fali
1024James K BriddickItaly2025-09-27Chemel, James L Cpa PROPOSAL76Bernardo Dominic
1025Leja P IturbideCanada2025-10-06Dorl, James J Esq NEGOTIATION79Amy Elsner
1026Leja Y MaletRussia2025-09-26Buckley Miller Wright NEW7Anna Fali
1027Stacey Z AmigonIndia2025-09-24Commercial Press UNQUALIFIED64Stephen Shaw
1028Salvatore S MacleadItaly2025-09-23Chapman, Ross E Esq NEW82Bernardo Dominic
1029Aika R CaudyFrance2025-09-25Feiner Bros NEGOTIATION70Anna Fali
1030Ricardo U StockhamSpain2025-09-13Chanay, Jeffrey A Esq UNQUALIFIED9Ivan Magalhaes
1031Cody L ChuiCanada2025-10-04Benton, John B Jr PROPOSAL46Bernardo Dominic
1032Morrow F SaylorsFrance2025-10-05Chanay, Jeffrey A Esq PROPOSAL93Asiya Javayant
1033Arvin Z MaletIndia2025-09-26Morlong Associates NEW59Elwin Sharvill
1034Kaitlin O DarakjyRussia2025-10-04Chemel, James L Cpa NEGOTIATION61Amy Elsner
1035Maria Z RoysterJapan2025-10-06Dorl, James J Esq NEGOTIATION94Ivan Magalhaes
1036Deepesh C KolmetzGermany2025-09-17Benton, John B Jr NEW60Asiya Javayant
1037Leja X PoquetteBrazil2025-10-07King, Christopher A Esq RENEWAL77Asiya Javayant
1038Leja D IturbideIndia2025-09-16Chapman, Ross E Esq UNQUALIFIED74Elwin Sharvill
1039Deepesh V DoeJapan2025-10-03Truhlar And Truhlar Attys NEGOTIATION12Bernardo Dominic
1040Clifford Q MaletSpain2025-09-15Chanay, Jeffrey A Esq UNQUALIFIED10Ioni Bowcher
1041Munro Z FerenczAustralia2025-09-26Commercial Press RENEWAL18Elwin Sharvill
1042Isabel L MorascaJapan2025-09-20Buckley Miller Wright NEGOTIATION42Ivan Magalhaes
1043Leja P BriddickAustralia2025-10-07Rousseaux, Michael Esq QUALIFIED17Stephen Shaw
1044David T MaletRussia2025-09-15Rangoni Of Florence QUALIFIED68Elwin Sharvill
1045Leja K FollerArgentina2025-09-25Chapman, Ross E Esq UNQUALIFIED28Ivan Magalhaes
1046Clifford F GarufiCanada2025-09-29Feltz Printing Service NEGOTIATION95Xuxue Feng
1047Leon S GarufiGermany2025-09-13Truhlar And Truhlar Attys NEW54Amy Elsner
1048Clifford T GarufiCanada2025-09-14Benton, John B Jr RENEWAL91Amy Elsner
1049Arvin W DilliardUnited Kingdom2025-09-18Feiner Bros UNQUALIFIED68Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony R BologniaCanadaIvan Magalhaes QUALIFIED
Jefferson I KolmetzIndiaStephen Shaw NEGOTIATION
Nicolas B PerinCanadaIoni Bowcher RENEWAL
Tony U KolmetzGermanyOnyama Limba QUALIFIED
Salvatore A NickaArgentinaStephen Shaw UNQUALIFIED
Morrow K BologniaFranceOnyama Limba UNQUALIFIED
Clifford B IturbideCanadaElwin Sharvill NEW
Aika M CaldareraFranceXuxue Feng NEGOTIATION
Alejandro R FigeroaFranceAnna Fali UNQUALIFIED
Cody Y PaprockiCanadaStephen Shaw QUALIFIED
Costa Y WhobreyArgentinaIoni Bowcher UNQUALIFIED
Johnson F RimJapanAsiya Javayant QUALIFIED
Nicolas V OstroskyCanadaOnyama Limba NEGOTIATION
Izzy E RutaFranceXuxue Feng NEGOTIATION
Jennifer N PaprockiUnited KingdomXuxue Feng QUALIFIED
Aditya C GauchoArgentinaOnyama Limba NEW
Maria X TollnerArgentinaElwin Sharvill PROPOSAL
Munro J MarrierItalyIvan Magalhaes PROPOSAL
Rodrigues G AlbaresRussiaAnna Fali RENEWAL
Stacey L AmigonFranceElwin Sharvill QUALIFIED
Ricardo N OstroskyIndiaOnyama Limba UNQUALIFIED
Tony Z GarufiCanadaOnyama Limba QUALIFIED
Murillo B RoysterUnited KingdomAsiya Javayant RENEWAL
Clifford S FigeroaArgentinaAmy Elsner PROPOSAL
Kadeem E IturbideCanadaElwin Sharvill PROPOSAL
Izzy B FerenczArgentinaBernardo Dominic UNQUALIFIED
Jefferson Q MaletFranceIvan Magalhaes UNQUALIFIED
Jennifer J DoeGermanyOnyama Limba NEW
Alejandro T GauchoSpainStephen Shaw QUALIFIED
Murillo K GlickRussiaAsiya Javayant PROPOSAL
Jeanfrancois P BologniaItalyIvan Magalhaes NEW
Jefferson O BriddickAustraliaAmy Elsner UNQUALIFIED
Greenwood J MarrierFranceStephen Shaw NEW
Costa N StockhamAustraliaOnyama Limba NEGOTIATION
Aditya P GillianIndiaAnna Fali UNQUALIFIED
Adams P DoeJapanXuxue Feng RENEWAL
Johnson B CampainArgentinaXuxue Feng PROPOSAL
Darci T FigeroaRussiaElwin Sharvill PROPOSAL
Antonio V DilliardUnited KingdomElwin Sharvill QUALIFIED
Faith G ShinkoArgentinaIoni Bowcher QUALIFIED
Munro R MaletGermanyAmy Elsner PROPOSAL
Alejandro Y WhobreyRussiaIvan Magalhaes UNQUALIFIED
Maria H SchemmerIndiaStephen Shaw NEGOTIATION
James K ShinkoIndiaXuxue Feng QUALIFIED
Claire B MaletItalyXuxue Feng UNQUALIFIED
Jeanfrancois D FerenczIndiaAmy Elsner UNQUALIFIED
Misaki H MacleadItalyOnyama Limba UNQUALIFIED
Misaki I GillianSpainIvan Magalhaes PROPOSAL
Costa O AmigonIndiaAsiya Javayant QUALIFIED
Stacey O AmigonFranceBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Julie B Tollner
Aditya D Garufi
Isabel W Albares
Sinclair E Bolognia
Tony K Saylors
Claire G Glick
David O Inouye
Isabel A Briddick
Jennifer Q Whobrey
Octavia G Gillian
Jennifer Q Kolmetz
Costa H Venere
Chavez S Tollner
Faith U Malet
Faith K Royster
James K Rim
Juan R Dilliard
Sinclair X Glick
Misaki Z Figeroa
Adams M Briddick
Adams P Slusarski
Arvin Q Oldroyd
Leja Q Perin
Jefferson Q Foller
Isabel G Nicka
Smith C Royster
Deepesh H Caudy
Mujtaba M Oldroyd
Arvin P Kolmetz
Maisha A Venere
Nicolas J Malet
Francesco Z Saylors
Juan V Albares
Maria V Vocelka
Misaki I Stenseth
Aika Y Perin
Julie P Albares
Murillo I Shinko
Ricardo C Dilliard
Cody I Doe
Smith K Inouye
Silvio Y Campain
Ivar J Perin
Ashley V Figeroa
Jennifer W Kusko
Wickens A Darakjy
Cody Q Venere
Aruna E Iturbide
Ashley R Perin
Alejandro Y Perin
IdCountryDate
1000India2025-10-02
1001France2025-10-01
1002United Kingdom2025-10-07
1003Germany2025-09-27
1004Spain2025-10-05
1005France2025-09-10
1006India2025-09-29
1007Spain2025-09-25
1008Australia2025-09-18
1009Canada2025-09-29
1010France2025-09-17
1011Canada2025-09-21
1012Italy2025-09-25
1013Germany2025-09-18
1014Spain2025-09-26
1015India2025-09-23
1016France2025-10-03
1017Spain2025-09-10
1018Japan2025-10-03
1019Canada2025-09-27
1020United Kingdom2025-10-05
1021France2025-09-26
1022Argentina2025-10-06
1023Australia2025-10-01
1024Italy2025-09-19
1025Canada2025-09-13
1026Canada2025-10-02
1027United Kingdom2025-09-29
1028United Kingdom2025-09-26
1029Italy2025-09-08
1030Germany2025-09-08
1031United Kingdom2025-10-05
1032United Kingdom2025-09-18
1033Australia2025-09-12
1034Japan2025-09-14
1035India2025-09-20
1036Italy2025-09-10
1037Italy2025-09-16
1038France2025-10-06
1039United Kingdom2025-09-24
1040Italy2025-09-19
1041Australia2025-09-26
1042Germany2025-10-03
1043Japan2025-10-03
1044Australia2025-09-18
1045Russia2025-10-04
1046Japan2025-10-02
1047Australia2025-10-01
1048Australia2025-10-04
1049India2025-10-05

On-Demand Data

NameIdCountryDate
Mayumi S Dilliard1000Australia2025-09-24
Sinclair I Poquette1001India2025-09-16
Antonio R Morasca1002Australia2025-09-16
Faith N Figeroa1003France2025-09-18
Sinclair X Iturbide1004Germany2025-09-18
Silvio P Rim1005Italy2025-09-28
Emily X Maclead1006United Kingdom2025-09-12
Misaki E Saylors1007Spain2025-09-15
Munro Q Dilliard1008Japan2025-09-08
Juan N Wieser1009France2025-09-15
Murillo E Flosi1010Argentina2025-09-26
Claire X Poquette1011Italy2025-09-26
Octavia J Iturbide1012Canada2025-09-16
James I Kolmetz1013India2025-09-10
Francesco S Ostrosky1014France2025-09-10
Leja J Amigon1015Spain2025-10-02
Ivar W Rulapaugh1016Australia2025-09-24
Cody F Malet1017Spain2025-09-15
Tony F Tollner1018Italy2025-09-23
Munro J Gaucho1019Australia2025-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel G ButtCanadaIvan Magalhaes NEGOTIATION
Murillo S GillianCanadaElwin Sharvill RENEWAL
Tony X StockhamFranceElwin Sharvill PROPOSAL
Maisha T MaletUnited KingdomXuxue Feng RENEWAL
Nicolas B MacleadUnited KingdomElwin Sharvill RENEWAL
Stacey L IturbideCanadaIvan Magalhaes UNQUALIFIED
Wickens J FigeroaCanadaIvan Magalhaes QUALIFIED
Jennifer F ButtArgentinaAsiya Javayant QUALIFIED
Julie E MaletFranceXuxue Feng RENEWAL
Julie T TollnerGermanyElwin Sharvill QUALIFIED
David U RulapaughFranceBernardo Dominic NEW
Kadeem O IturbideJapanXuxue Feng NEW
Mujtaba N SergiJapanAmy Elsner NEW
Aditya N FollerFranceAsiya Javayant PROPOSAL
Faith L RoysterIndiaElwin Sharvill QUALIFIED
Clifford A SergiJapanElwin Sharvill UNQUALIFIED
Juan U WhobreyUnited KingdomOnyama Limba NEW
Emily P MaletArgentinaAmy Elsner PROPOSAL
Leja J BriddickItalyXuxue Feng NEW
Silvio N BowleyJapanElwin Sharvill NEW
Isabel C PaprockiJapanAmy Elsner UNQUALIFIED
Ivar Z MaletGermanyIoni Bowcher UNQUALIFIED
Emily O PoquetteGermanyBernardo Dominic NEW
Cody N SergiUnited KingdomElwin Sharvill NEGOTIATION
James F DilliardGermanyAsiya Javayant NEGOTIATION
Aditya X FerenczIndiaStephen Shaw RENEWAL
Emily O TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Costa K ChuiRussiaElwin Sharvill NEW
Adams O NestleFranceIoni Bowcher NEGOTIATION
Maria I GauchoFranceOnyama Limba NEW
Arvin D ChuiUnited KingdomOnyama Limba QUALIFIED
Costa U CaudyIndiaIvan Magalhaes NEW
Greenwood F RutaGermanyStephen Shaw RENEWAL
Deepesh O FlosiFranceXuxue Feng RENEWAL
Adams O SchemmerFranceOnyama Limba QUALIFIED
Leon A ButtIndiaElwin Sharvill NEGOTIATION
Stacey D RutaArgentinaAsiya Javayant UNQUALIFIED
Aruna A BriddickAustraliaElwin Sharvill NEGOTIATION
Antonio C CaudyGermanyIvan Magalhaes NEGOTIATION
Aika Z DoeRussiaXuxue Feng 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>