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
Ricardo V SergiArgentinaAnna Fali RENEWAL
David V SergiIndiaXuxue Feng QUALIFIED
Adams N VocelkaUnited KingdomStephen Shaw PROPOSAL
Stacey G SergiItalyIoni Bowcher PROPOSAL
Deepesh E DilliardJapanOnyama Limba NEGOTIATION
Rodrigues A InouyeItalyIvan Magalhaes UNQUALIFIED
Cody Z ChuiUnited KingdomIvan Magalhaes PROPOSAL
Morrow M KolmetzSpainStephen Shaw NEW
Aruna Y DoeAustraliaStephen Shaw QUALIFIED
Leja W ChuiArgentinaIvan Magalhaes RENEWAL
Antonio I FerenczUnited KingdomAmy Elsner NEGOTIATION
Tony E AmigonUnited KingdomAmy Elsner PROPOSAL
Aruna L FollerAustraliaElwin Sharvill QUALIFIED
Munro P WieserFranceAnna Fali RENEWAL
Jennifer R CaudyGermanyElwin Sharvill RENEWAL
Mayumi K InouyeAustraliaElwin Sharvill NEW
Izzy E PoquetteSpainOnyama Limba NEGOTIATION
Maisha A NickaArgentinaIoni Bowcher NEW
Jones I AlbaresArgentinaElwin Sharvill PROPOSAL
Deepesh N IturbideFranceIvan Magalhaes NEGOTIATION
Kadeem W PoquetteAustraliaIoni Bowcher QUALIFIED
Ricardo S OldroydSpainAmy Elsner NEW
David Z GauchoItalyBernardo Dominic NEGOTIATION
James S FlosiBrazilAmy Elsner QUALIFIED
Antonio I KuskoCanadaBernardo Dominic NEGOTIATION
Mujtaba G VocelkaJapanStephen Shaw RENEWAL
Alejandro W GillianCanadaAmy Elsner UNQUALIFIED
Aditya H ButtIndiaIvan Magalhaes NEW
Salvatore Y OstroskyItalyAmy Elsner QUALIFIED
Aditya K RoysterFranceAmy Elsner NEGOTIATION
Julie J VocelkaIndiaIvan Magalhaes UNQUALIFIED
Mujtaba R MarrierAustraliaAmy Elsner PROPOSAL
Aditya N FollerSpainOnyama Limba NEW
Murillo Q GillianUnited KingdomAmy Elsner NEGOTIATION
Alejandro I CaudyItalyStephen Shaw RENEWAL
Rodrigues F AlbaresSpainAsiya Javayant NEW
Misaki P StockhamFranceXuxue Feng NEW
Francesco Z SlusarskiArgentinaIoni Bowcher NEW
Clifford J KuskoAustraliaAnna Fali PROPOSAL
Arvin D OldroydCanadaAmy Elsner QUALIFIED
Alejandro Z ButtFranceBernardo Dominic PROPOSAL
Juan J ButtRussiaElwin Sharvill RENEWAL
Julie C NestleJapanStephen Shaw UNQUALIFIED
Deepesh V OstroskyBrazilXuxue Feng QUALIFIED
Johnson X OldroydIndiaElwin Sharvill NEW
Munro P DoeAustraliaXuxue Feng RENEWAL
Octavia D OldroydAustraliaIvan Magalhaes NEGOTIATION
Aditya Q PoquetteArgentinaElwin Sharvill PROPOSAL
Antonio X OstroskyRussiaXuxue Feng RENEWAL
James J ShinkoCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford Q GarufiBrazilBernardo Dominic PROPOSAL
Jones X ChuiItalyXuxue Feng RENEWAL
Adams Z OldroydCanadaIvan Magalhaes NEGOTIATION
Ricardo U AlbaresAustraliaIoni Bowcher RENEWAL
Ivar J SaylorsArgentinaIoni Bowcher UNQUALIFIED
David C FerenczItalyXuxue Feng PROPOSAL
Rodrigues X MarrierBrazilBernardo Dominic PROPOSAL
Cody R OstroskyFranceElwin Sharvill RENEWAL
Chavez N SlusarskiIndiaAmy Elsner PROPOSAL
Stacey W BriddickIndiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja O StockhamIndia2025-05-25Benton, John B Jr NEGOTIATION99Stephen Shaw
1001Faith B SergiFrance2025-05-28Dorl, James J Esq QUALIFIED51Bernardo Dominic
1002Nicolas C VocelkaRussia2025-05-09Chemel, James L Cpa NEW54Stephen Shaw
1003Emily V InouyeItaly2025-05-16Chemel, James L Cpa NEGOTIATION75Amy Elsner
1004Aditya X KolmetzAustralia2025-06-04Chemel, James L Cpa UNQUALIFIED87Stephen Shaw
1005Ricardo D FerenczJapan2025-06-06Dorl, James J Esq NEGOTIATION1Xuxue Feng
1006Julie Z GillianRussia2025-06-05Commercial Press UNQUALIFIED40Elwin Sharvill
1007Clifford N DarakjyJapan2025-05-27Benton, John B Jr QUALIFIED79Onyama Limba
1008Faith F MarrierJapan2025-06-02Chemel, James L Cpa NEW64Onyama Limba
1009Claire C GauchoIndia2025-06-02Rousseaux, Michael Esq QUALIFIED28Amy Elsner
1010Wickens B AlbaresUnited Kingdom2025-05-08Dorl, James J Esq NEW61Xuxue Feng
1011Mayumi J PerinItaly2025-05-16Chapman, Ross E Esq NEW73Amy Elsner
1012Silvio J MaletArgentina2025-05-20Morlong Associates NEGOTIATION18Stephen Shaw
1013Faith H FigeroaJapan2025-05-14King, Christopher A Esq RENEWAL22Bernardo Dominic
1014Jennifer R MaletIndia2025-06-01Rangoni Of Florence NEW45Elwin Sharvill
1015Jefferson W SlusarskiRussia2025-05-22Commercial Press QUALIFIED33Ivan Magalhaes
1016Chavez G CaldareraUnited Kingdom2025-05-11Printing Dimensions PROPOSAL41Asiya Javayant
1017Jeanfrancois O ChuiCanada2025-05-14Printing Dimensions PROPOSAL88Anna Fali
1018Sinclair U BowleyFrance2025-05-29Feltz Printing Service NEGOTIATION18Bernardo Dominic
1019Mayumi J GauchoCanada2025-06-06King, Christopher A Esq NEW19Anna Fali
1020Isabel L BriddickSpain2025-05-22Feiner Bros NEW77Stephen Shaw
1021Nicolas I DarakjyBrazil2025-06-02King, Christopher A Esq UNQUALIFIED23Onyama Limba
1022Stacey S FigeroaGermany2025-05-27Rousseaux, Michael Esq PROPOSAL69Ioni Bowcher
1023Arvin Z IturbideAustralia2025-05-15King, Christopher A Esq UNQUALIFIED24Xuxue Feng
1024Izzy S MacleadAustralia2025-05-22Commercial Press NEGOTIATION54Onyama Limba
1025Aditya I RulapaughIndia2025-05-15Truhlar And Truhlar Attys NEW79Anna Fali
1026Izzy A AmigonBrazil2025-06-06Chemel, James L Cpa UNQUALIFIED79Stephen Shaw
1027Costa Z InouyeGermany2025-05-18Morlong Associates PROPOSAL15Ioni Bowcher
1028Aditya Q GarufiRussia2025-05-18Rangoni Of Florence RENEWAL14Asiya Javayant
1029Maisha K RulapaughGermany2025-05-29Chemel, James L Cpa QUALIFIED87Onyama Limba
1030Leja W FlosiGermany2025-06-04Commercial Press PROPOSAL69Anna Fali
1031Wickens D DarakjyGermany2025-05-13Dorl, James J Esq UNQUALIFIED79Ioni Bowcher
1032Kaitlin N DilliardBrazil2025-05-18Chemel, James L Cpa NEGOTIATION36Amy Elsner
1033Mayumi F WaycottItaly2025-05-08Chemel, James L Cpa UNQUALIFIED89Xuxue Feng
1034Chavez K KolmetzCanada2025-06-04Commercial Press NEGOTIATION66Elwin Sharvill
1035Jeanfrancois Y BowleyAustralia2025-05-13Dorl, James J Esq UNQUALIFIED56Anna Fali
1036Claire C FollerAustralia2025-05-24Rousseaux, Michael Esq NEW79Elwin Sharvill
1037James J ButtJapan2025-05-09Chapman, Ross E Esq NEW35Amy Elsner
1038Maria Z GillianIndia2025-05-30Feiner Bros NEW68Stephen Shaw
1039Jones D RoysterIndia2025-05-29Morlong Associates RENEWAL32Amy Elsner
1040James T StockhamRussia2025-05-16Buckley Miller Wright RENEWAL50Xuxue Feng
1041Sinclair V WaycottItaly2025-05-27Rangoni Of Florence NEGOTIATION49Anna Fali
1042Maria W StockhamUnited Kingdom2025-05-08Rousseaux, Michael Esq QUALIFIED54Ivan Magalhaes
1043Maisha Y PaprockiJapan2025-06-05Buckley Miller Wright UNQUALIFIED54Stephen Shaw
1044Aditya F RulapaughCanada2025-05-31Commercial Press NEW51Xuxue Feng
1045Chavez J PoquetteBrazil2025-05-09Rousseaux, Michael Esq RENEWAL3Onyama Limba
1046Jones C SaylorsArgentina2025-05-12Rangoni Of Florence UNQUALIFIED50Stephen Shaw
1047Kadeem Y NickaItaly2025-05-24King, Christopher A Esq NEW50Ioni Bowcher
1048Leja R RimGermany2025-06-04Morlong Associates PROPOSAL94Elwin Sharvill
1049Emily R SchemmerItaly2025-05-28Rangoni Of Florence PROPOSAL16Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Stacey L SchemmerSpainXuxue Feng QUALIFIED
Maria N RimArgentinaStephen Shaw UNQUALIFIED
Kadeem F SlusarskiIndiaStephen Shaw PROPOSAL
Juan J WieserSpainAnna Fali PROPOSAL
Kaitlin B MaletArgentinaAsiya Javayant RENEWAL
Ashley T StockhamArgentinaBernardo Dominic RENEWAL
Munro I RoysterArgentinaBernardo Dominic QUALIFIED
Julie D BologniaRussiaIoni Bowcher NEGOTIATION
Deepesh Q FigeroaBrazilIoni Bowcher QUALIFIED
Izzy B SlusarskiBrazilStephen Shaw RENEWAL
Clifford K VenereSpainElwin Sharvill NEGOTIATION
Octavia Y CaldareraCanadaXuxue Feng QUALIFIED
Juan L ShinkoFranceElwin Sharvill UNQUALIFIED
Francesco H MorascaGermanyBernardo Dominic NEW
Kaitlin Z ButtCanadaIoni Bowcher UNQUALIFIED
Izzy B DoeItalyAmy Elsner NEW
Kaitlin U SlusarskiIndiaAnna Fali NEW
Rodrigues R RoysterJapanIvan Magalhaes NEGOTIATION
Isabel L CaudyAustraliaXuxue Feng PROPOSAL
Mujtaba P MaletSpainBernardo Dominic UNQUALIFIED
Kadeem R OldroydArgentinaIvan Magalhaes RENEWAL
Claire K MarrierJapanAmy Elsner NEW
Jefferson Y SaylorsArgentinaOnyama Limba UNQUALIFIED
Costa B MarrierFranceElwin Sharvill QUALIFIED
Chavez X AlbaresBrazilAmy Elsner NEW
Kadeem Q KolmetzRussiaXuxue Feng NEW
Maria L IturbideItalyBernardo Dominic NEW
Silvio Y RoysterFranceStephen Shaw QUALIFIED
Costa B RulapaughSpainIvan Magalhaes NEW
Claire R FerenczUnited KingdomStephen Shaw NEW
Mujtaba Y MarrierFranceAnna Fali QUALIFIED
Murillo W RulapaughItalyAnna Fali QUALIFIED
Tony V KolmetzCanadaBernardo Dominic UNQUALIFIED
Sinclair Q DilliardUnited KingdomIvan Magalhaes RENEWAL
Arvin Q ChuiSpainAnna Fali PROPOSAL
Jefferson J ButtBrazilIoni Bowcher UNQUALIFIED
Munro V FlosiJapanIvan Magalhaes PROPOSAL
Rodrigues G DarakjyBrazilAnna Fali UNQUALIFIED
Leon V VocelkaArgentinaAnna Fali QUALIFIED
Maria U PaprockiItalyIoni Bowcher QUALIFIED
Costa P SchemmerIndiaAmy Elsner QUALIFIED
Izzy I MaletSpainOnyama Limba UNQUALIFIED
Kaitlin X SaylorsRussiaIoni Bowcher NEW
David C BowleyRussiaAnna Fali RENEWAL
Stacey H FerenczFranceStephen Shaw NEGOTIATION
Aika I BowleyArgentinaXuxue Feng PROPOSAL
Leon G WaycottGermanyBernardo Dominic RENEWAL
Rodrigues Z NestleFranceOnyama Limba NEW
Ivar U CampainCanadaAnna Fali NEGOTIATION
Claire Y FollerRussiaOnyama Limba QUALIFIED
Frozen Columns
Name
Deepesh T Bowley
Misaki C Sergi
Greenwood V Morasca
Stacey F Poquette
Jeanfrancois H Briddick
Chavez A Morasca
Jennifer B Rim
Leon X Rim
Francesco Q Waycott
Aditya Y Waycott
Chavez X Sergi
Juan E Schemmer
Ashley W Slusarski
Leon R Malet
Johnson V Ostrosky
Ivar J Waycott
Leja Q Rim
Leja E Stockham
Jones E Morasca
Emily J Rulapaugh
Kadeem K Shinko
Jones I Caudy
Francesco H Gillian
Clifford J Bolognia
Aditya Q Flosi
Munro Y Flosi
Francesco Z Gillian
Leja X Ferencz
Deepesh E Bowley
Morrow Q Briddick
Isabel P Darakjy
Murillo L Caldarera
Aditya T Vocelka
Cody M Glick
Cody E Royster
Johnson E Oldroyd
Clifford U Kolmetz
Johnson M Maclead
Alejandro D Malet
Murillo D Glick
Ivar X Garufi
Costa H Rim
Ricardo E Shinko
Kadeem L Whobrey
Darci Y Amigon
Maisha Z Ruta
Kadeem F Figeroa
Darci P Ostrosky
Nicolas H Iturbide
Aruna S Garufi
IdCountryDate
1000Russia2025-05-22
1001Argentina2025-05-18
1002Spain2025-05-08
1003Russia2025-05-30
1004Germany2025-05-11
1005Italy2025-06-05
1006Italy2025-05-14
1007Germany2025-05-28
1008Brazil2025-05-18
1009India2025-05-21
1010Canada2025-05-18
1011Japan2025-05-24
1012Australia2025-05-12
1013Canada2025-05-24
1014United Kingdom2025-05-13
1015Italy2025-05-17
1016Germany2025-06-04
1017Spain2025-05-18
1018Canada2025-06-05
1019Canada2025-05-20
1020India2025-05-25
1021France2025-05-23
1022Japan2025-05-18
1023Argentina2025-06-06
1024United Kingdom2025-05-13
1025France2025-05-17
1026United Kingdom2025-05-29
1027Spain2025-05-11
1028Italy2025-05-26
1029United Kingdom2025-05-17
1030United Kingdom2025-05-21
1031Italy2025-05-21
1032France2025-05-11
1033India2025-05-29
1034Japan2025-05-16
1035Argentina2025-05-15
1036Argentina2025-05-30
1037Germany2025-05-11
1038France2025-06-06
1039Spain2025-05-31
1040Russia2025-05-29
1041Brazil2025-05-27
1042Australia2025-05-16
1043Australia2025-06-01
1044Spain2025-05-30
1045Australia2025-05-13
1046Spain2025-05-28
1047Canada2025-05-26
1048India2025-05-17
1049United Kingdom2025-05-17

On-Demand Data

NameIdCountryDate
Costa L Bowley1000Argentina2025-06-05
Aruna N Perin1001Argentina2025-05-23
Ivar P Poquette1002Japan2025-05-16
Aruna A Caldarera1003Australia2025-06-02
Smith B Shinko1004India2025-05-09
Johnson I Darakjy1005India2025-05-31
Julie C Ferencz1006Italy2025-05-26
Leon X Dilliard1007Italy2025-05-14
Smith J Inouye1008Japan2025-05-20
Antonio Q Kusko1009Canada2025-05-16
Aruna B Tollner1010Spain2025-05-26
Kadeem O Kolmetz1011Australia2025-05-17
Stacey D Gaucho1012Brazil2025-05-26
Arvin B Gillian1013Japan2025-05-09
Claire I Caldarera1014France2025-05-29
Morrow Q Perin1015Brazil2025-05-31
Julie O Kolmetz1016Argentina2025-05-26
Misaki S Foller1017Japan2025-05-26
Salvatore Z Whobrey1018Canada2025-05-13
Wickens Y Venere1019Australia2025-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo Z SergiAustraliaAmy Elsner RENEWAL
Juan D GarufiFranceIvan Magalhaes NEGOTIATION
Wickens Z CampainIndiaElwin Sharvill NEGOTIATION
Mayumi L CaudySpainIvan Magalhaes PROPOSAL
Nicolas N WaycottRussiaAnna Fali NEW
Juan H GillianIndiaElwin Sharvill NEGOTIATION
Tony S PoquetteSpainElwin Sharvill NEW
Ashley Y FerenczUnited KingdomStephen Shaw RENEWAL
Claire J VenereRussiaAsiya Javayant UNQUALIFIED
Misaki R FerenczAustraliaIoni Bowcher QUALIFIED
Izzy P ButtAustraliaOnyama Limba UNQUALIFIED
Francesco N SlusarskiSpainAsiya Javayant PROPOSAL
Aruna E FollerIndiaStephen Shaw NEGOTIATION
Munro L IturbideItalyAnna Fali UNQUALIFIED
Greenwood I WieserUnited KingdomAmy Elsner PROPOSAL
Kaitlin T FerenczSpainXuxue Feng NEGOTIATION
Ricardo R TollnerBrazilStephen Shaw UNQUALIFIED
Deepesh D KolmetzFranceAmy Elsner NEGOTIATION
James H BowleyAustraliaElwin Sharvill PROPOSAL
Maria Y MaletRussiaAsiya Javayant QUALIFIED
Munro O IturbideBrazilAnna Fali PROPOSAL
Adams Y InouyeFranceAnna Fali RENEWAL
Emily O IturbideSpainOnyama Limba QUALIFIED
Smith G CaudyGermanyIvan Magalhaes RENEWAL
Greenwood W AlbaresItalyElwin Sharvill NEW
Aditya S WieserBrazilBernardo Dominic NEW
Darci M GarufiRussiaAmy Elsner NEGOTIATION
Jones R KuskoJapanElwin Sharvill PROPOSAL
James A FollerAustraliaIvan Magalhaes RENEWAL
Claire F ShinkoCanadaBernardo Dominic NEGOTIATION
Alejandro T ShinkoSpainAmy Elsner NEW
Kaitlin G CaldareraIndiaStephen Shaw NEGOTIATION
Munro W RoysterFranceStephen Shaw QUALIFIED
Leja I BologniaAustraliaXuxue Feng NEW
Darci O FollerFranceAnna Fali UNQUALIFIED
Arvin O MorascaArgentinaIoni Bowcher PROPOSAL
Chavez I ChuiSpainAsiya Javayant QUALIFIED
Chavez W ShinkoGermanyElwin Sharvill UNQUALIFIED
Cody M IturbideBrazilAnna Fali PROPOSAL
Octavia E WhobreySpainXuxue Feng 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>