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
Jennifer G NestleFranceBernardo Dominic QUALIFIED
Kaitlin Y StockhamAustraliaAnna Fali NEGOTIATION
Claire C ShinkoCanadaOnyama Limba UNQUALIFIED
Juan L MaletArgentinaAsiya Javayant RENEWAL
Julie N MorascaIndiaXuxue Feng RENEWAL
Antonio M GillianRussiaXuxue Feng RENEWAL
James C StockhamBrazilAmy Elsner NEGOTIATION
Octavia U SaylorsItalyBernardo Dominic PROPOSAL
Darci Z OldroydItalyStephen Shaw NEGOTIATION
Jennifer N GarufiArgentinaBernardo Dominic NEW
Aika V MaletSpainAsiya Javayant NEW
Murillo M CaudyJapanStephen Shaw UNQUALIFIED
Johnson K CampainArgentinaAmy Elsner PROPOSAL
Ivar G DilliardSpainOnyama Limba UNQUALIFIED
Julie E GillianBrazilAnna Fali QUALIFIED
Leja V SaylorsUnited KingdomElwin Sharvill QUALIFIED
Darci M DarakjySpainIoni Bowcher RENEWAL
Cody S StensethGermanyAmy Elsner PROPOSAL
Francesco E MacleadSpainAsiya Javayant PROPOSAL
Misaki Z VocelkaRussiaElwin Sharvill NEGOTIATION
Munro T AmigonAustraliaIoni Bowcher NEW
Faith I IturbideCanadaIoni Bowcher QUALIFIED
Ivar L NestleBrazilOnyama Limba RENEWAL
David L DilliardRussiaStephen Shaw PROPOSAL
Tony E RoysterBrazilAnna Fali RENEWAL
Cody C SergiAustraliaIoni Bowcher UNQUALIFIED
Alejandro N CaldareraBrazilIvan Magalhaes RENEWAL
Octavia I DoeIndiaStephen Shaw PROPOSAL
Kaitlin J ShinkoRussiaAsiya Javayant NEGOTIATION
Deepesh U ShinkoSpainStephen Shaw RENEWAL
Maisha C GlickSpainBernardo Dominic QUALIFIED
Faith M NickaFranceElwin Sharvill RENEWAL
Greenwood G CaudyAustraliaIoni Bowcher RENEWAL
Clifford H StensethItalyElwin Sharvill PROPOSAL
Johnson V MacleadBrazilXuxue Feng NEW
Leja N GauchoFranceIoni Bowcher QUALIFIED
Jeanfrancois M IturbideBrazilAsiya Javayant PROPOSAL
Izzy S FerenczAustraliaIoni Bowcher PROPOSAL
Aditya N WhobreyUnited KingdomAsiya Javayant RENEWAL
Costa G ButtArgentinaAnna Fali NEW
Alejandro U NickaFranceXuxue Feng UNQUALIFIED
Claire N RimCanadaXuxue Feng PROPOSAL
Cody B BriddickAustraliaElwin Sharvill PROPOSAL
Aika W StensethFranceStephen Shaw NEW
Alejandro L TollnerJapanIvan Magalhaes QUALIFIED
James V DilliardAustraliaXuxue Feng PROPOSAL
Rodrigues O SlusarskiCanadaAsiya Javayant RENEWAL
Jefferson Y MarrierAustraliaOnyama Limba NEGOTIATION
Salvatore W SchemmerIndiaBernardo Dominic QUALIFIED
Izzy V MacleadSpainOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro U SlusarskiRussiaAnna Fali QUALIFIED
Faith Q GlickAustraliaElwin Sharvill PROPOSAL
Costa N FollerRussiaAsiya Javayant UNQUALIFIED
Morrow X WieserItalyOnyama Limba NEW
Nicolas M SchemmerUnited KingdomAnna Fali QUALIFIED
Kaitlin P DilliardRussiaIvan Magalhaes PROPOSAL
Faith R KuskoItalyIoni Bowcher PROPOSAL
Darci M StensethSpainAnna Fali RENEWAL
Octavia X StockhamAustraliaAmy Elsner QUALIFIED
Greenwood E GauchoSpainXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens J BowleySpain2025-08-09Feltz Printing Service RENEWAL73Anna Fali
1001Julie F BologniaCanada2025-08-06Feiner Bros QUALIFIED14Elwin Sharvill
1002Octavia J BriddickRussia2025-07-30Morlong Associates PROPOSAL13Amy Elsner
1003Greenwood C CaldareraJapan2025-07-17Commercial Press RENEWAL28Anna Fali
1004Arvin U ChuiItaly2025-08-05Chemel, James L Cpa UNQUALIFIED27Ivan Magalhaes
1005Claire P AlbaresCanada2025-07-27King, Christopher A Esq RENEWAL37Anna Fali
1006Emily N MorascaAustralia2025-07-17Commercial Press NEGOTIATION50Elwin Sharvill
1007James J TollnerIndia2025-07-23Rousseaux, Michael Esq NEW11Anna Fali
1008Izzy L SlusarskiBrazil2025-07-19Chemel, James L Cpa NEGOTIATION51Amy Elsner
1009Salvatore N NestleItaly2025-07-27Feiner Bros NEGOTIATION45Onyama Limba
1010Johnson V RimBrazil2025-08-09King, Christopher A Esq PROPOSAL40Asiya Javayant
1011Tony A AmigonAustralia2025-07-28Truhlar And Truhlar Attys NEW33Bernardo Dominic
1012Aditya G PerinAustralia2025-07-23Buckley Miller Wright UNQUALIFIED77Ivan Magalhaes
1013Isabel A VenereCanada2025-07-21Printing Dimensions NEW22Xuxue Feng
1014James S ShinkoFrance2025-08-08Rousseaux, Michael Esq NEW57Onyama Limba
1015Kadeem S AlbaresJapan2025-08-03Dorl, James J Esq UNQUALIFIED62Elwin Sharvill
1016Ashley F SaylorsBrazil2025-07-16Feiner Bros NEGOTIATION90Ivan Magalhaes
1017Octavia G AlbaresAustralia2025-07-20Rangoni Of Florence PROPOSAL71Asiya Javayant
1018Morrow K ButtBrazil2025-07-22Rangoni Of Florence NEGOTIATION73Ioni Bowcher
1019Adams B FlosiJapan2025-07-29Feiner Bros NEW91Stephen Shaw
1020Jennifer Z GauchoSpain2025-07-28Rangoni Of Florence NEGOTIATION23Elwin Sharvill
1021Leon J CaldareraUnited Kingdom2025-07-23Morlong Associates RENEWAL25Amy Elsner
1022Isabel O TollnerFrance2025-08-12Morlong Associates RENEWAL6Elwin Sharvill
1023Jones I RimArgentina2025-07-29King, Christopher A Esq RENEWAL94Bernardo Dominic
1024Johnson B NestleRussia2025-07-26King, Christopher A Esq QUALIFIED14Bernardo Dominic
1025Ricardo B FlosiGermany2025-08-06Feiner Bros PROPOSAL7Amy Elsner
1026Antonio S GlickGermany2025-08-03Printing Dimensions RENEWAL41Onyama Limba
1027Munro A ButtBrazil2025-08-11Chanay, Jeffrey A Esq PROPOSAL4Asiya Javayant
1028Faith X BologniaAustralia2025-08-09King, Christopher A Esq NEGOTIATION36Asiya Javayant
1029Adams O SlusarskiUnited Kingdom2025-07-15Chanay, Jeffrey A Esq PROPOSAL69Ivan Magalhaes
1030Stacey X InouyeItaly2025-07-21Feltz Printing Service QUALIFIED30Asiya Javayant
1031Munro U ButtJapan2025-07-29Feiner Bros UNQUALIFIED37Elwin Sharvill
1032David C OldroydUnited Kingdom2025-07-15Printing Dimensions UNQUALIFIED31Stephen Shaw
1033Aditya N StockhamSpain2025-07-20Printing Dimensions QUALIFIED26Amy Elsner
1034Leon H InouyeFrance2025-08-12Feltz Printing Service QUALIFIED45Ivan Magalhaes
1035Claire V GauchoCanada2025-07-16Morlong Associates PROPOSAL85Anna Fali
1036Aditya B CampainJapan2025-07-27Chanay, Jeffrey A Esq PROPOSAL96Asiya Javayant
1037Greenwood E ButtUnited Kingdom2025-07-21Chemel, James L Cpa NEW13Bernardo Dominic
1038Emily X MacleadCanada2025-08-09Benton, John B Jr QUALIFIED73Xuxue Feng
1039Claire D KolmetzAustralia2025-07-16King, Christopher A Esq NEGOTIATION44Asiya Javayant
1040Aika Q VocelkaArgentina2025-08-04Dorl, James J Esq RENEWAL32Onyama Limba
1041Chavez M InouyeAustralia2025-08-01Feiner Bros RENEWAL0Onyama Limba
1042Leja I CaldareraFrance2025-07-21Printing Dimensions PROPOSAL32Ivan Magalhaes
1043Ashley A StensethBrazil2025-07-24Printing Dimensions RENEWAL66Ioni Bowcher
1044Chavez A SlusarskiAustralia2025-07-14Dorl, James J Esq NEW17Onyama Limba
1045Misaki R MacleadBrazil2025-08-06Dorl, James J Esq QUALIFIED23Anna Fali
1046Wickens I FlosiUnited Kingdom2025-07-16Feltz Printing Service UNQUALIFIED47Stephen Shaw
1047Leon F StockhamItaly2025-07-16Chemel, James L Cpa PROPOSAL53Amy Elsner
1048Isabel L NestleSpain2025-08-06Feiner Bros PROPOSAL30Asiya Javayant
1049Tony Q FerenczArgentina2025-08-02Printing Dimensions RENEWAL46Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois H GillianArgentinaIvan Magalhaes RENEWAL
Isabel S RimItalyAmy Elsner PROPOSAL
Costa T VenereCanadaAsiya Javayant UNQUALIFIED
Costa Z MaletUnited KingdomElwin Sharvill PROPOSAL
Morrow M SchemmerIndiaXuxue Feng NEW
Rodrigues C RimItalyIvan Magalhaes NEW
Sinclair M VocelkaAustraliaAnna Fali UNQUALIFIED
Nicolas V StensethRussiaElwin Sharvill UNQUALIFIED
Faith S MorascaItalyStephen Shaw QUALIFIED
Aika S ChuiFranceAnna Fali RENEWAL
Juan A IturbideRussiaElwin Sharvill PROPOSAL
Kadeem G MaletUnited KingdomStephen Shaw NEW
Rodrigues E ChuiSpainIoni Bowcher NEGOTIATION
Claire B MaletCanadaXuxue Feng QUALIFIED
Aika N FlosiItalyBernardo Dominic NEGOTIATION
Sinclair W CaldareraJapanStephen Shaw NEW
Mayumi K DoeIndiaAnna Fali RENEWAL
James V RimArgentinaBernardo Dominic NEW
Wickens J GillianBrazilElwin Sharvill NEW
Aditya Q StensethRussiaIvan Magalhaes NEW
Chavez P ChuiAustraliaXuxue Feng RENEWAL
Jeanfrancois N InouyeSpainElwin Sharvill NEGOTIATION
James O MaletAustraliaElwin Sharvill QUALIFIED
Leja V GlickAustraliaIoni Bowcher NEW
Mujtaba B NestleBrazilAmy Elsner QUALIFIED
Johnson V RulapaughCanadaAnna Fali RENEWAL
Francesco J NestleJapanAmy Elsner UNQUALIFIED
Adams W VocelkaAustraliaStephen Shaw NEW
Rodrigues Z DilliardUnited KingdomStephen Shaw NEGOTIATION
Misaki G DoeFranceOnyama Limba PROPOSAL
Rodrigues L GillianCanadaAmy Elsner NEGOTIATION
Wickens T MarrierSpainAmy Elsner PROPOSAL
Deepesh N SchemmerGermanyIvan Magalhaes RENEWAL
Murillo C FlosiGermanyAnna Fali NEW
Aditya K FlosiFranceIvan Magalhaes QUALIFIED
Silvio T RulapaughItalyIoni Bowcher QUALIFIED
Munro S VenereJapanAsiya Javayant PROPOSAL
Cody I GauchoIndiaStephen Shaw NEW
Chavez W ButtBrazilXuxue Feng NEW
Jeanfrancois C SaylorsFranceOnyama Limba UNQUALIFIED
Salvatore K DilliardJapanIoni Bowcher PROPOSAL
James Q WhobreyRussiaElwin Sharvill UNQUALIFIED
Ivar I SaylorsItalyIoni Bowcher NEGOTIATION
Izzy H VocelkaAustraliaAsiya Javayant PROPOSAL
Kadeem P OstroskyUnited KingdomAmy Elsner QUALIFIED
Rodrigues H IturbideRussiaAsiya Javayant RENEWAL
Sinclair R MarrierSpainOnyama Limba RENEWAL
Munro F TollnerItalyXuxue Feng UNQUALIFIED
Alejandro C FlosiIndiaAnna Fali UNQUALIFIED
Leja M MorascaUnited KingdomAnna Fali RENEWAL
Frozen Columns
Name
Costa N Glick
Mayumi B Royster
Wickens O Royster
Rodrigues K Garufi
Greenwood Q Bolognia
Kaitlin I Tollner
Costa N Gaucho
Claire J Bowley
Maria C Campain
Mujtaba K Bowley
Chavez C Waycott
Stacey K Oldroyd
Darci N Shinko
Murillo S Paprocki
Ashley E Shinko
Deepesh L Doe
Smith S Ruta
Jennifer E Royster
Antonio W Glick
Jennifer E Rulapaugh
Darci M Nicka
Jones V Rim
Salvatore E Vocelka
Misaki H Foller
Morrow G Doe
Adams R Malet
Ivar A Rulapaugh
Jefferson Y Amigon
Cody M Flosi
Munro P Schemmer
Sinclair W Venere
Munro T Slusarski
Silvio Q Malet
Mayumi O Ruta
David Q Briddick
Arvin Q Wieser
Ivar I Royster
Mayumi R Royster
Jennifer J Bowley
Clifford P Poquette
Morrow H Garufi
Salvatore I Ostrosky
Smith P Saylors
Leon V Maclead
Greenwood S Campain
Sinclair Z Darakjy
Munro A Morasca
Smith P Darakjy
Chavez A Darakjy
Stacey X Royster
IdCountryDate
1000India2025-07-28
1001Australia2025-07-25
1002Australia2025-08-01
1003Germany2025-08-05
1004Russia2025-07-24
1005Canada2025-07-17
1006Canada2025-07-16
1007Brazil2025-08-06
1008Spain2025-07-25
1009France2025-08-04
1010India2025-07-17
1011Canada2025-07-25
1012Italy2025-07-17
1013Spain2025-07-26
1014Canada2025-07-30
1015Germany2025-08-02
1016Brazil2025-08-12
1017Russia2025-07-26
1018Argentina2025-07-29
1019Germany2025-08-03
1020Italy2025-08-01
1021Brazil2025-08-02
1022Brazil2025-07-30
1023Russia2025-07-20
1024France2025-07-18
1025Australia2025-07-17
1026Argentina2025-07-26
1027United Kingdom2025-08-08
1028France2025-07-20
1029Italy2025-08-04
1030Canada2025-07-16
1031United Kingdom2025-07-31
1032Japan2025-07-15
1033Canada2025-07-30
1034Australia2025-08-07
1035Germany2025-07-16
1036Spain2025-08-06
1037Italy2025-08-11
1038Germany2025-07-15
1039India2025-08-08
1040India2025-08-01
1041Australia2025-07-18
1042Brazil2025-07-17
1043Spain2025-07-25
1044Spain2025-08-10
1045Argentina2025-08-04
1046Canada2025-08-11
1047Japan2025-07-16
1048Spain2025-07-23
1049United Kingdom2025-07-17

On-Demand Data

NameIdCountryDate
Johnson H Chui1000Russia2025-07-27
Johnson C Vocelka1001Germany2025-08-11
Misaki G Tollner1002Spain2025-07-22
Nicolas X Kusko1003France2025-08-05
Jones P Ostrosky1004Canada2025-07-26
Stacey N Briddick1005France2025-07-15
David N Chui1006Canada2025-08-03
Isabel X Bolognia1007Germany2025-07-26
Julie G Morasca1008Canada2025-07-21
Alejandro Z Stenseth1009Russia2025-07-30
Misaki T Ferencz1010France2025-08-09
Arvin W Gillian1011United Kingdom2025-07-28
Silvio V Schemmer1012Australia2025-08-02
Kaitlin Y Flosi1013Italy2025-07-15
Murillo W Nicka1014Brazil2025-07-30
Leon W Waycott1015Germany2025-08-06
Johnson K Marrier1016Germany2025-07-28
David X Marrier1017Italy2025-07-19
Leon Y Malet1018Argentina2025-08-09
Jefferson T Ostrosky1019Brazil2025-08-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois S RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Emily R KolmetzGermanyBernardo Dominic QUALIFIED
Misaki A GillianUnited KingdomAsiya Javayant NEW
David F StockhamJapanStephen Shaw RENEWAL
Emily N VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow W StensethItalyAnna Fali NEW
Mujtaba S StensethGermanyXuxue Feng PROPOSAL
Octavia R BriddickBrazilBernardo Dominic NEW
Maisha O CampainUnited KingdomAsiya Javayant NEW
Rodrigues R SlusarskiUnited KingdomStephen Shaw NEGOTIATION
James X RulapaughArgentinaXuxue Feng NEW
Ashley O CaldareraGermanyElwin Sharvill RENEWAL
Julie E VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Nicolas Z IturbideAustraliaAsiya Javayant PROPOSAL
Misaki G TollnerBrazilBernardo Dominic UNQUALIFIED
Aruna R VenereCanadaStephen Shaw NEW
Smith Z WhobreyIndiaOnyama Limba NEGOTIATION
Ashley Z DilliardGermanyAsiya Javayant UNQUALIFIED
Julie A GillianItalyStephen Shaw RENEWAL
Mujtaba C RutaCanadaIoni Bowcher NEGOTIATION
Jefferson R FigeroaCanadaElwin Sharvill RENEWAL
Faith D DarakjyRussiaAsiya Javayant UNQUALIFIED
Aika R AmigonItalyBernardo Dominic NEGOTIATION
Mujtaba N PerinUnited KingdomStephen Shaw NEW
Smith C FlosiBrazilIoni Bowcher NEGOTIATION
Mujtaba L RulapaughItalyIvan Magalhaes UNQUALIFIED
Aditya D AmigonSpainBernardo Dominic PROPOSAL
Claire L DoeCanadaElwin Sharvill NEW
Arvin E SergiJapanElwin Sharvill RENEWAL
Greenwood T RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Antonio Y ButtIndiaAnna Fali PROPOSAL
Mujtaba G FerenczArgentinaIoni Bowcher PROPOSAL
Mujtaba L GauchoUnited KingdomAnna Fali NEGOTIATION
Jones H SchemmerUnited KingdomAsiya Javayant RENEWAL
Nicolas I MacleadGermanyAsiya Javayant PROPOSAL
Stacey G VenereArgentinaBernardo Dominic UNQUALIFIED
Leon K WieserArgentinaIoni Bowcher NEW
Morrow Q MorascaIndiaElwin Sharvill NEW
Aruna N FollerCanadaAmy Elsner PROPOSAL
Izzy R SchemmerAustraliaXuxue Feng PROPOSAL

<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>