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
Morrow Q BriddickRussiaAsiya Javayant PROPOSAL
Francesco F StockhamGermanyAsiya Javayant RENEWAL
Misaki H BowleyJapanAnna Fali RENEWAL
Isabel Q BowleyJapanIvan Magalhaes UNQUALIFIED
Johnson F SlusarskiIndiaStephen Shaw NEGOTIATION
Francesco U NestleUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem T OstroskyArgentinaAmy Elsner QUALIFIED
Sinclair V ChuiFranceBernardo Dominic UNQUALIFIED
Smith Z NickaAustraliaIoni Bowcher NEW
Stacey K RimAustraliaAnna Fali PROPOSAL
Jefferson O CaudyGermanyAsiya Javayant NEGOTIATION
Misaki U WhobreyGermanyOnyama Limba NEGOTIATION
Izzy A DarakjyArgentinaOnyama Limba RENEWAL
Leon D InouyeJapanIoni Bowcher NEGOTIATION
Alejandro M BriddickUnited KingdomAnna Fali RENEWAL
Ricardo U MorascaArgentinaIvan Magalhaes RENEWAL
David O GarufiIndiaElwin Sharvill NEW
Morrow Y ButtJapanAmy Elsner NEGOTIATION
Deepesh E FollerItalyIoni Bowcher NEW
Arvin J GlickUnited KingdomElwin Sharvill RENEWAL
Leja C WieserSpainIoni Bowcher PROPOSAL
James Q BologniaGermanyAsiya Javayant NEW
Emily Y MaletArgentinaOnyama Limba RENEWAL
Aruna O MorascaSpainIoni Bowcher NEW
Izzy W CaudyBrazilBernardo Dominic RENEWAL
Alejandro V SchemmerSpainOnyama Limba NEGOTIATION
Isabel W WhobreyAustraliaAmy Elsner QUALIFIED
Johnson B CampainGermanyAmy Elsner PROPOSAL
Misaki B MorascaItalyAmy Elsner QUALIFIED
Ricardo T DilliardFranceAmy Elsner NEGOTIATION
Deepesh K MorascaItalyBernardo Dominic NEW
Rodrigues A RulapaughCanadaOnyama Limba UNQUALIFIED
Aruna I CaldareraItalyXuxue Feng NEW
Jennifer G DoeItalyIvan Magalhaes NEW
Clifford G DilliardIndiaIvan Magalhaes PROPOSAL
Juan J TollnerSpainBernardo Dominic RENEWAL
Johnson F BowleyCanadaIoni Bowcher UNQUALIFIED
Ashley J RoysterAustraliaIoni Bowcher RENEWAL
Jeanfrancois Q ShinkoUnited KingdomXuxue Feng QUALIFIED
Ivar S KuskoSpainIoni Bowcher RENEWAL
Kaitlin X MacleadJapanAsiya Javayant NEGOTIATION
Cody Y CampainRussiaAsiya Javayant PROPOSAL
Stacey C DarakjyFranceIoni Bowcher NEW
Francesco Z InouyeRussiaBernardo Dominic PROPOSAL
Silvio A SaylorsSpainXuxue Feng UNQUALIFIED
Jones F GillianRussiaAmy Elsner NEW
David A GillianUnited KingdomOnyama Limba PROPOSAL
Greenwood M RimJapanElwin Sharvill NEW
Wickens H MarrierGermanyXuxue Feng NEGOTIATION
Julie Z WieserItalyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria I GlickIndiaBernardo Dominic NEGOTIATION
Adams Y WaycottBrazilOnyama Limba PROPOSAL
Misaki G FollerAustraliaIvan Magalhaes NEW
Faith L InouyeBrazilOnyama Limba RENEWAL
Isabel S CaudyIndiaAmy Elsner PROPOSAL
Munro O CampainRussiaAnna Fali PROPOSAL
Emily R ChuiUnited KingdomOnyama Limba PROPOSAL
Julie K SergiCanadaBernardo Dominic RENEWAL
Jennifer Q WaycottJapanIvan Magalhaes UNQUALIFIED
Munro N FlosiUnited KingdomBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford B FlosiItaly2025-09-21Chapman, Ross E Esq PROPOSAL75Asiya Javayant
1001Arvin C SergiItaly2025-09-30Feiner Bros PROPOSAL21Elwin Sharvill
1002Francesco A RoysterArgentina2025-09-24Benton, John B Jr PROPOSAL69Bernardo Dominic
1003Deepesh O FlosiJapan2025-09-16Printing Dimensions PROPOSAL56Stephen Shaw
1004Maisha C SaylorsFrance2025-09-24Morlong Associates NEW65Amy Elsner
1005Johnson S CampainUnited Kingdom2025-09-28Feltz Printing Service NEW26Onyama Limba
1006Costa D MarrierAustralia2025-09-28Morlong Associates RENEWAL87Onyama Limba
1007Aruna S FigeroaJapan2025-09-06Printing Dimensions RENEWAL76Ivan Magalhaes
1008Leon H VenereGermany2025-09-02Chapman, Ross E Esq RENEWAL97Stephen Shaw
1009Munro F DoeArgentina2025-09-12Commercial Press RENEWAL39Bernardo Dominic
1010Wickens D DoeFrance2025-09-11Chanay, Jeffrey A Esq RENEWAL34Anna Fali
1011Maria J TollnerRussia2025-09-20Chapman, Ross E Esq QUALIFIED22Amy Elsner
1012Smith K VenereIndia2025-09-02Dorl, James J Esq UNQUALIFIED28Asiya Javayant
1013Clifford A SaylorsUnited Kingdom2025-09-21King, Christopher A Esq QUALIFIED80Ioni Bowcher
1014Adams Y RimCanada2025-09-29Chapman, Ross E Esq PROPOSAL7Elwin Sharvill
1015Mujtaba H RoysterJapan2025-09-29Feltz Printing Service QUALIFIED84Bernardo Dominic
1016Darci N CampainArgentina2025-09-04Truhlar And Truhlar Attys PROPOSAL88Bernardo Dominic
1017Morrow M ChuiIndia2025-09-22King, Christopher A Esq UNQUALIFIED33Elwin Sharvill
1018Murillo Y BologniaUnited Kingdom2025-09-15Chanay, Jeffrey A Esq QUALIFIED63Ioni Bowcher
1019Mayumi E GlickArgentina2025-09-09King, Christopher A Esq NEW67Amy Elsner
1020Aika N CampainJapan2025-09-07Feiner Bros RENEWAL71Asiya Javayant
1021Wickens J DilliardUnited Kingdom2025-09-29Chemel, James L Cpa UNQUALIFIED61Elwin Sharvill
1022Arvin T TollnerGermany2025-09-25Truhlar And Truhlar Attys QUALIFIED78Anna Fali
1023Antonio M AmigonItaly2025-09-12Buckley Miller Wright UNQUALIFIED65Xuxue Feng
1024Claire C MaletArgentina2025-09-29Dorl, James J Esq NEGOTIATION47Onyama Limba
1025Jennifer P OstroskyArgentina2025-09-22Rousseaux, Michael Esq RENEWAL76Asiya Javayant
1026Rodrigues I RimFrance2025-09-04Rousseaux, Michael Esq RENEWAL70Bernardo Dominic
1027Rodrigues P ButtRussia2025-09-21Rangoni Of Florence QUALIFIED60Xuxue Feng
1028Ricardo E TollnerUnited Kingdom2025-09-25Chemel, James L Cpa QUALIFIED39Elwin Sharvill
1029Johnson E StockhamIndia2025-09-06Chanay, Jeffrey A Esq PROPOSAL83Ioni Bowcher
1030Wickens D RutaItaly2025-09-19Truhlar And Truhlar Attys PROPOSAL81Amy Elsner
1031Julie B FollerBrazil2025-09-11Buckley Miller Wright PROPOSAL59Onyama Limba
1032Kaitlin Q PoquetteUnited Kingdom2025-09-11Chanay, Jeffrey A Esq QUALIFIED30Elwin Sharvill
1033Izzy H DilliardArgentina2025-09-11Chapman, Ross E Esq RENEWAL56Elwin Sharvill
1034Jennifer G DilliardUnited Kingdom2025-09-06Truhlar And Truhlar Attys NEW93Elwin Sharvill
1035Claire U GauchoIndia2025-09-12Rousseaux, Michael Esq RENEWAL22Onyama Limba
1036Octavia T CaldareraBrazil2025-09-25Rousseaux, Michael Esq QUALIFIED34Bernardo Dominic
1037Antonio X DarakjyBrazil2025-09-23King, Christopher A Esq NEW91Stephen Shaw
1038Smith M VocelkaSpain2025-09-07King, Christopher A Esq QUALIFIED44Xuxue Feng
1039Munro V KolmetzIndia2025-09-22Buckley Miller Wright UNQUALIFIED34Amy Elsner
1040Chavez W RimIndia2025-09-18Feltz Printing Service PROPOSAL40Anna Fali
1041Salvatore J MorascaJapan2025-09-11Feltz Printing Service RENEWAL60Elwin Sharvill
1042Jefferson V WaycottCanada2025-09-01Chapman, Ross E Esq UNQUALIFIED56Bernardo Dominic
1043Ivar R MorascaCanada2025-09-16Printing Dimensions RENEWAL74Anna Fali
1044Jefferson K KolmetzGermany2025-09-16Rousseaux, Michael Esq RENEWAL91Elwin Sharvill
1045Mayumi R NestleRussia2025-09-07Commercial Press NEW25Xuxue Feng
1046Deepesh Z FerenczAustralia2025-09-07Buckley Miller Wright NEGOTIATION70Ivan Magalhaes
1047David Q PoquetteCanada2025-09-30Dorl, James J Esq RENEWAL99Elwin Sharvill
1048Nicolas P BriddickGermany2025-09-06Chanay, Jeffrey A Esq NEGOTIATION45Amy Elsner
1049Ashley V DilliardItaly2025-09-02King, Christopher A Esq NEGOTIATION36Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Julie F AlbaresBrazilStephen Shaw UNQUALIFIED
Munro Y SaylorsSpainStephen Shaw NEGOTIATION
Smith L AlbaresFranceIvan Magalhaes QUALIFIED
Munro D RoysterItalyElwin Sharvill NEW
Greenwood Q BriddickArgentinaElwin Sharvill UNQUALIFIED
Jones X CampainArgentinaBernardo Dominic PROPOSAL
Octavia C PerinGermanyBernardo Dominic PROPOSAL
Ashley P ShinkoGermanyXuxue Feng QUALIFIED
Jeanfrancois J ButtFranceAmy Elsner NEW
Isabel D WieserArgentinaIoni Bowcher PROPOSAL
Jefferson Z KuskoCanadaXuxue Feng NEW
Leon R WhobreyBrazilOnyama Limba NEGOTIATION
Darci L ChuiItalyIoni Bowcher NEGOTIATION
Emily V VocelkaUnited KingdomBernardo Dominic RENEWAL
Aika Y WaycottUnited KingdomAmy Elsner NEGOTIATION
Adams P FigeroaCanadaElwin Sharvill RENEWAL
Jones L FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Francesco M MacleadSpainIoni Bowcher NEGOTIATION
Jeanfrancois R ChuiAustraliaAmy Elsner NEGOTIATION
Arvin T PerinJapanStephen Shaw QUALIFIED
Leja V MaletAustraliaIvan Magalhaes PROPOSAL
Juan K InouyeFranceBernardo Dominic UNQUALIFIED
Francesco I DilliardAustraliaXuxue Feng UNQUALIFIED
Costa D DilliardBrazilBernardo Dominic NEW
Wickens Z MacleadJapanOnyama Limba PROPOSAL
Isabel H NestleFranceIoni Bowcher RENEWAL
Darci X MaletItalyIvan Magalhaes PROPOSAL
Cody P DarakjyArgentinaElwin Sharvill QUALIFIED
Misaki Y RoysterSpainElwin Sharvill PROPOSAL
Greenwood Z CaudyCanadaIoni Bowcher PROPOSAL
Chavez R RutaBrazilElwin Sharvill NEW
Darci J CaldareraRussiaBernardo Dominic RENEWAL
Kadeem C IturbideJapanAsiya Javayant UNQUALIFIED
Mayumi R ShinkoIndiaIvan Magalhaes RENEWAL
Antonio U SchemmerItalyElwin Sharvill NEGOTIATION
Rodrigues I WaycottSpainAmy Elsner RENEWAL
Adams P DoeGermanyAnna Fali QUALIFIED
Julie C AlbaresUnited KingdomOnyama Limba PROPOSAL
Chavez U DoeIndiaAnna Fali RENEWAL
Aditya I GauchoCanadaIvan Magalhaes NEW
Jefferson Z SergiAustraliaAnna Fali NEW
Greenwood J DarakjyGermanyElwin Sharvill RENEWAL
Nicolas Y IturbideIndiaOnyama Limba QUALIFIED
Sinclair W KolmetzFranceAsiya Javayant NEW
Mayumi R TollnerBrazilStephen Shaw NEGOTIATION
Deepesh G DoeFranceAmy Elsner NEGOTIATION
Adams Y BowleyGermanyElwin Sharvill NEGOTIATION
Cody A RulapaughFranceAmy Elsner NEGOTIATION
Faith U FollerFranceAnna Fali RENEWAL
Aika W CampainCanadaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Leon L Whobrey
Misaki O Campain
Jones H Royster
Aika P Caudy
Greenwood J Albares
Octavia W Whobrey
Jennifer P Ostrosky
Clifford T Poquette
David N Morasca
Clifford W Sergi
Munro H Paprocki
Ivar K Shinko
Nicolas C Kusko
Rodrigues H Oldroyd
Smith Q Inouye
Rodrigues N Marrier
Ashley O Rulapaugh
Aika T Oldroyd
Morrow E Glick
Octavia Q Poquette
Leon K Stockham
Ashley A Foller
Aruna D Ruta
Ivar Z Dilliard
Kadeem K Butt
Murillo X Ostrosky
Julie F Ferencz
Stacey U Venere
Silvio A Kusko
Francesco K Marrier
Leja W Doe
Leon D Maclead
Kadeem W Nestle
Smith Y Iturbide
Claire K Malet
Faith S Waycott
Ashley V Campain
Deepesh D Caudy
Octavia F Foller
Mayumi B Albares
Leja U Chui
Stacey Q Vocelka
Adams A Morasca
Antonio M Bolognia
Maisha R Gillian
Juan I Maclead
Greenwood M Rulapaugh
Ivar B Saylors
James S Whobrey
Jeanfrancois M Inouye
IdCountryDate
1000India2025-09-08
1001Argentina2025-09-13
1002Australia2025-09-15
1003Germany2025-09-04
1004United Kingdom2025-09-26
1005Argentina2025-09-09
1006India2025-09-19
1007Russia2025-09-21
1008Russia2025-09-02
1009Argentina2025-09-09
1010United Kingdom2025-09-23
1011Italy2025-09-13
1012Brazil2025-09-24
1013Germany2025-09-24
1014Spain2025-09-29
1015France2025-09-10
1016Argentina2025-09-01
1017Australia2025-09-22
1018France2025-09-12
1019India2025-09-25
1020Germany2025-09-24
1021France2025-09-26
1022Italy2025-09-18
1023Italy2025-09-15
1024Canada2025-09-24
1025Japan2025-09-17
1026Australia2025-09-27
1027Germany2025-09-09
1028France2025-09-23
1029Brazil2025-09-28
1030Spain2025-09-04
1031France2025-09-10
1032Australia2025-09-05
1033Japan2025-09-07
1034France2025-09-01
1035Australia2025-09-14
1036Japan2025-09-10
1037France2025-09-16
1038France2025-09-11
1039Russia2025-09-04
1040Argentina2025-09-11
1041Canada2025-09-16
1042Germany2025-09-09
1043France2025-09-30
1044Australia2025-09-20
1045France2025-09-20
1046Germany2025-09-25
1047Australia2025-09-23
1048India2025-09-01
1049Italy2025-09-26

On-Demand Data

NameIdCountryDate
Stacey U Butt1000India2025-09-03
Jones S Foller1001Italy2025-09-09
Johnson G Marrier1002Russia2025-09-27
Munro A Glick1003Argentina2025-09-06
Alejandro Y Butt1004France2025-09-27
Munro X Perin1005United Kingdom2025-09-14
Kaitlin X Slusarski1006Japan2025-09-27
Nicolas Q Saylors1007France2025-09-12
Deepesh I Albares1008Spain2025-09-12
Jefferson T Caudy1009Japan2025-09-13
Juan N Malet1010Japan2025-09-10
Leon K Venere1011India2025-09-25
Izzy I Rim1012Argentina2025-09-27
Silvio X Malet1013Australia2025-09-09
Mujtaba T Bolognia1014Spain2025-09-25
Leja R Marrier1015Russia2025-09-19
Francesco B Saylors1016Brazil2025-09-14
Misaki I Stenseth1017Russia2025-09-02
Misaki X Sergi1018Brazil2025-09-17
Cody L Gillian1019Australia2025-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar Z OstroskyUnited KingdomStephen Shaw PROPOSAL
James N IturbideCanadaElwin Sharvill QUALIFIED
Jefferson L StockhamJapanIvan Magalhaes NEW
Leon O FlosiGermanyAmy Elsner UNQUALIFIED
Leon O MarrierFranceAnna Fali RENEWAL
Leja E KuskoCanadaAmy Elsner RENEWAL
Cody A AmigonSpainIoni Bowcher RENEWAL
Juan F CaldareraIndiaXuxue Feng NEW
Cody P MacleadJapanStephen Shaw RENEWAL
Izzy O DoeJapanStephen Shaw PROPOSAL
Kaitlin X MarrierBrazilXuxue Feng NEW
Adams V VenereArgentinaStephen Shaw NEW
Chavez Q BowleyJapanXuxue Feng NEW
Silvio T SlusarskiArgentinaStephen Shaw QUALIFIED
Wickens Q MorascaFranceStephen Shaw NEW
Arvin R FerenczUnited KingdomAnna Fali QUALIFIED
Kadeem C FigeroaJapanAnna Fali UNQUALIFIED
Nicolas J VocelkaArgentinaIvan Magalhaes NEGOTIATION
Kaitlin B FerenczJapanXuxue Feng UNQUALIFIED
Emily A MarrierFranceStephen Shaw NEW
Leja Z OldroydFranceIvan Magalhaes NEGOTIATION
James W GarufiCanadaAmy Elsner NEW
Julie V FerenczCanadaElwin Sharvill PROPOSAL
Octavia V ChuiArgentinaAmy Elsner RENEWAL
Maisha W FigeroaAustraliaElwin Sharvill UNQUALIFIED
Kadeem Q SergiArgentinaStephen Shaw NEW
Kadeem P FerenczItalyBernardo Dominic QUALIFIED
Jennifer B CampainSpainElwin Sharvill NEGOTIATION
Deepesh K PoquetteItalyAnna Fali PROPOSAL
Leon B StockhamFranceElwin Sharvill QUALIFIED
Aditya N ChuiRussiaBernardo Dominic NEGOTIATION
Antonio Z TollnerItalyStephen Shaw RENEWAL
Izzy U GillianJapanAsiya Javayant NEW
Darci F KuskoBrazilIoni Bowcher PROPOSAL
Greenwood W SchemmerCanadaAnna Fali NEGOTIATION
Jefferson L InouyeFranceElwin Sharvill PROPOSAL
Francesco A VenereFranceStephen Shaw NEGOTIATION
Greenwood P DoeCanadaOnyama Limba RENEWAL
Aditya F NestleArgentinaIvan Magalhaes UNQUALIFIED
Deepesh S BologniaArgentinaBernardo Dominic 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>