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

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Jeanfrancois I BologniaCanadaXuxue Feng QUALIFIED
Deepesh S DoeIndiaAsiya Javayant QUALIFIED
Jeanfrancois X VocelkaBrazilElwin Sharvill UNQUALIFIED
Francesco J WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Julie K WaycottIndiaXuxue Feng NEGOTIATION
Sinclair K NickaBrazilAmy Elsner NEGOTIATION
Smith Y VocelkaGermanyElwin Sharvill PROPOSAL
Francesco P ShinkoArgentinaAmy Elsner NEW
Nicolas U MaletJapanXuxue Feng UNQUALIFIED
Kaitlin L NickaIndiaAnna Fali UNQUALIFIED
Izzy W SlusarskiCanadaIvan Magalhaes UNQUALIFIED
David Z MacleadUnited KingdomOnyama Limba NEW
Leon Z IturbideCanadaElwin Sharvill PROPOSAL
Morrow C VocelkaItalyAsiya Javayant UNQUALIFIED
Francesco O BologniaAustraliaBernardo Dominic UNQUALIFIED
Jennifer M CaldareraFranceBernardo Dominic PROPOSAL
Mayumi P MorascaGermanyAnna Fali PROPOSAL
Salvatore S AlbaresJapanStephen Shaw RENEWAL
Murillo J AmigonUnited KingdomIvan Magalhaes RENEWAL
Emily V DarakjyCanadaElwin Sharvill UNQUALIFIED
Johnson Y TollnerUnited KingdomXuxue Feng RENEWAL
Aika Z MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Aika E ShinkoAustraliaAsiya Javayant UNQUALIFIED
Mayumi J BologniaFranceAnna Fali RENEWAL
Claire M IturbideCanadaAsiya Javayant NEW
Ricardo Z CaldareraUnited KingdomXuxue Feng QUALIFIED
Chavez V OldroydArgentinaAnna Fali QUALIFIED
Juan S PerinArgentinaBernardo Dominic RENEWAL
Salvatore B SaylorsAustraliaIvan Magalhaes RENEWAL
Costa I OldroydGermanyElwin Sharvill UNQUALIFIED
Isabel V AmigonAustraliaAnna Fali QUALIFIED
Rodrigues X BriddickAustraliaStephen Shaw QUALIFIED
Darci N MarrierRussiaIvan Magalhaes QUALIFIED
Johnson K MacleadSpainAsiya Javayant UNQUALIFIED
Tony V CaldareraAustraliaXuxue Feng PROPOSAL
Aditya C FlosiItalyIvan Magalhaes UNQUALIFIED
Ivar O OstroskyAustraliaAsiya Javayant RENEWAL
Ricardo G PerinBrazilIoni Bowcher PROPOSAL
Antonio R PoquetteCanadaAmy Elsner NEGOTIATION
Leon Q WaycottSpainIvan Magalhaes QUALIFIED
Emily L RoysterItalyOnyama Limba NEGOTIATION
Johnson N GarufiArgentinaIvan Magalhaes UNQUALIFIED
Mujtaba J OldroydSpainAsiya Javayant NEW
Cody P GlickUnited KingdomAsiya Javayant QUALIFIED
Clifford X FollerAustraliaAmy Elsner NEW
Julie N NickaArgentinaElwin Sharvill PROPOSAL
Salvatore W RoysterRussiaOnyama Limba UNQUALIFIED
Leon E AmigonFranceIvan Magalhaes QUALIFIED
Isabel Z PoquetteArgentinaXuxue Feng QUALIFIED
Aditya P CaldareraBrazilBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ivar F DarakjySpainIvan Magalhaes RENEWAL
Morrow L PoquetteAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois C DoeAustraliaAsiya Javayant PROPOSAL
Jeanfrancois H DilliardBrazilIoni Bowcher UNQUALIFIED
Emily O RulapaughGermanyStephen Shaw QUALIFIED
Mujtaba U SaylorsAustraliaAsiya Javayant RENEWAL
Greenwood R NickaAustraliaElwin Sharvill QUALIFIED
James B WhobreyIndiaXuxue Feng RENEWAL
Smith C InouyeRussiaIoni Bowcher QUALIFIED
Leja S NestleFranceElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro H InouyeFrance2024-05-07Rousseaux, Michael Esq PROPOSAL36Bernardo Dominic
1001Aditya W SchemmerArgentina2024-05-19Commercial Press NEW60Ioni Bowcher
1002Wickens J NickaGermany2024-05-01Truhlar And Truhlar Attys NEGOTIATION97Xuxue Feng
1003Morrow R OldroydFrance2024-05-16Buckley Miller Wright UNQUALIFIED14Xuxue Feng
1004Mayumi C StensethArgentina2024-05-21Rousseaux, Michael Esq NEGOTIATION73Asiya Javayant
1005Ivar E DarakjySpain2024-05-03Chapman, Ross E Esq NEGOTIATION43Stephen Shaw
1006Smith X CampainSpain2024-04-26Dorl, James J Esq NEW49Onyama Limba
1007Rodrigues U BowleyBrazil2024-05-07King, Christopher A Esq PROPOSAL61Elwin Sharvill
1008Kaitlin H MacleadGermany2024-05-01Feiner Bros NEW97Amy Elsner
1009Julie C GarufiBrazil2024-04-25Dorl, James J Esq PROPOSAL72Ivan Magalhaes
1010Chavez K InouyeFrance2024-05-15Benton, John B Jr NEGOTIATION52Elwin Sharvill
1011Octavia H PerinFrance2024-05-14Chemel, James L Cpa UNQUALIFIED9Xuxue Feng
1012Isabel U GarufiGermany2024-05-10Feiner Bros RENEWAL97Onyama Limba
1013Ivar I PaprockiJapan2024-05-10King, Christopher A Esq QUALIFIED19Elwin Sharvill
1014Deepesh H SlusarskiIndia2024-04-27Dorl, James J Esq NEGOTIATION22Ivan Magalhaes
1015Rodrigues H DarakjyCanada2024-05-18Rousseaux, Michael Esq PROPOSAL94Amy Elsner
1016Costa Z PoquetteJapan2024-04-30Buckley Miller Wright NEW95Amy Elsner
1017Adams S BologniaAustralia2024-04-30Chapman, Ross E Esq UNQUALIFIED3Ivan Magalhaes
1018Salvatore Q CaldareraAustralia2024-05-22Dorl, James J Esq NEW56Onyama Limba
1019Kaitlin W AlbaresAustralia2024-05-04Buckley Miller Wright UNQUALIFIED91Asiya Javayant
1020Jeanfrancois K ChuiIndia2024-05-06Truhlar And Truhlar Attys PROPOSAL83Asiya Javayant
1021Silvio Y VocelkaBrazil2024-05-14Printing Dimensions NEW58Anna Fali
1022Leja T BowleyJapan2024-05-06King, Christopher A Esq PROPOSAL8Asiya Javayant
1023Ivar H FerenczFrance2024-05-21Feiner Bros NEGOTIATION40Asiya Javayant
1024Leja W SergiItaly2024-05-21Commercial Press UNQUALIFIED97Anna Fali
1025Wickens Z WhobreyItaly2024-04-27Commercial Press QUALIFIED20Stephen Shaw
1026Claire J TollnerItaly2024-05-21Chemel, James L Cpa PROPOSAL30Bernardo Dominic
1027Johnson X InouyeArgentina2024-05-08Chemel, James L Cpa UNQUALIFIED88Xuxue Feng
1028Juan X PerinJapan2024-05-24Dorl, James J Esq RENEWAL16Ivan Magalhaes
1029Ashley L RutaGermany2024-04-27King, Christopher A Esq NEGOTIATION81Xuxue Feng
1030Greenwood B MorascaArgentina2024-05-09Dorl, James J Esq NEGOTIATION34Ivan Magalhaes
1031Jefferson U FollerJapan2024-05-08Truhlar And Truhlar Attys QUALIFIED21Xuxue Feng
1032Mayumi B PaprockiSpain2024-05-18Feltz Printing Service RENEWAL32Stephen Shaw
1033Faith R NickaJapan2024-05-12Morlong Associates RENEWAL2Stephen Shaw
1034Antonio V GarufiUnited Kingdom2024-05-16Morlong Associates QUALIFIED56Amy Elsner
1035Jeanfrancois G MaletCanada2024-05-20Chanay, Jeffrey A Esq QUALIFIED99Asiya Javayant
1036Silvio Q TollnerRussia2024-04-28Truhlar And Truhlar Attys QUALIFIED5Stephen Shaw
1037Aditya U CampainArgentina2024-05-23King, Christopher A Esq NEGOTIATION81Asiya Javayant
1038Maria N GillianGermany2024-05-03Commercial Press QUALIFIED23Amy Elsner
1039James H MorascaItaly2024-04-30Commercial Press QUALIFIED2Anna Fali
1040Sinclair A MaletCanada2024-05-03Commercial Press RENEWAL46Bernardo Dominic
1041James W VenereRussia2024-05-20Rousseaux, Michael Esq NEGOTIATION31Bernardo Dominic
1042Julie N CampainArgentina2024-05-11Chapman, Ross E Esq NEGOTIATION67Anna Fali
1043Julie V MaletItaly2024-05-11Buckley Miller Wright RENEWAL29Amy Elsner
1044Nicolas H GillianArgentina2024-05-16Printing Dimensions RENEWAL63Anna Fali
1045Ashley O CampainArgentina2024-05-09Morlong Associates PROPOSAL29Amy Elsner
1046Leon I SlusarskiIndia2024-05-15Chapman, Ross E Esq NEGOTIATION64Xuxue Feng
1047Nicolas O BriddickUnited Kingdom2024-05-13Chapman, Ross E Esq PROPOSAL55Ivan Magalhaes
1048Smith W GauchoArgentina2024-05-03Morlong Associates UNQUALIFIED29Amy Elsner
1049Isabel S PoquetteAustralia2024-05-11King, Christopher A Esq NEW96Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Cody G InouyeJapanXuxue Feng NEGOTIATION
Leon G IturbideBrazilBernardo Dominic PROPOSAL
Aika U PaprockiJapanBernardo Dominic QUALIFIED
Ricardo P ChuiCanadaAsiya Javayant QUALIFIED
Kadeem C OstroskyAustraliaXuxue Feng UNQUALIFIED
Tony U NickaSpainStephen Shaw PROPOSAL
Nicolas Q PaprockiBrazilAmy Elsner NEW
Costa N VocelkaIndiaOnyama Limba NEW
Greenwood S RoysterSpainIoni Bowcher QUALIFIED
Johnson N SchemmerAustraliaIoni Bowcher UNQUALIFIED
Arvin H WaycottFranceIoni Bowcher PROPOSAL
Sinclair G ShinkoAustraliaOnyama Limba PROPOSAL
Aruna M ChuiJapanIoni Bowcher UNQUALIFIED
Rodrigues Z FigeroaItalyAnna Fali UNQUALIFIED
Ivar S SergiCanadaIoni Bowcher PROPOSAL
Mujtaba T RulapaughBrazilXuxue Feng NEGOTIATION
Johnson L FlosiUnited KingdomIvan Magalhaes RENEWAL
James X MaletJapanXuxue Feng UNQUALIFIED
Ricardo Y CampainRussiaBernardo Dominic RENEWAL
Greenwood Y AlbaresAustraliaOnyama Limba QUALIFIED
Mayumi H OldroydItalyAnna Fali NEGOTIATION
Isabel V NickaArgentinaOnyama Limba NEW
Faith H PerinFranceAmy Elsner PROPOSAL
Clifford D NestleJapanAsiya Javayant NEW
Ivar B OldroydFranceOnyama Limba NEW
Morrow A BowleyUnited KingdomElwin Sharvill PROPOSAL
Arvin Q IturbideRussiaAmy Elsner NEGOTIATION
Mujtaba R BowleyJapanAsiya Javayant UNQUALIFIED
Wickens E KolmetzRussiaStephen Shaw QUALIFIED
Deepesh C OstroskyBrazilStephen Shaw NEW
Octavia D FlosiRussiaElwin Sharvill QUALIFIED
Cody V FlosiFranceIvan Magalhaes QUALIFIED
Mayumi O GarufiGermanyAsiya Javayant NEGOTIATION
Munro J PoquetteArgentinaAnna Fali NEGOTIATION
Leja G GarufiItalyXuxue Feng RENEWAL
Wickens S GarufiUnited KingdomAnna Fali PROPOSAL
David N InouyeSpainElwin Sharvill NEGOTIATION
Darci G NestleItalyXuxue Feng QUALIFIED
Johnson J BowleyRussiaAnna Fali QUALIFIED
Ashley Z NestleAustraliaStephen Shaw NEGOTIATION
Aditya J FerenczGermanyElwin Sharvill PROPOSAL
Salvatore N GillianGermanyElwin Sharvill RENEWAL
Johnson N CampainArgentinaOnyama Limba NEGOTIATION
Aditya K SchemmerAustraliaElwin Sharvill QUALIFIED
Jones V NickaAustraliaIvan Magalhaes PROPOSAL
Ivar H FerenczSpainIoni Bowcher PROPOSAL
Greenwood N PoquetteIndiaIoni Bowcher NEGOTIATION
Julie E BologniaFranceIoni Bowcher QUALIFIED
Ivar D TollnerFranceIvan Magalhaes QUALIFIED
Rodrigues J PerinArgentinaAmy Elsner NEGOTIATION
Frozen Columns
Name
Jennifer M Venere
Aruna N Inouye
Johnson G Wieser
Arvin T Rim
Kadeem L Schemmer
Julie T Shinko
Aruna Q Garufi
Nicolas T Iturbide
Tony Q Tollner
Arvin X Butt
Ashley R Morasca
Mujtaba U Tollner
Darci Q Morasca
Claire T Campain
Darci N Doe
Aditya V Oldroyd
Mujtaba Q Garufi
Morrow E Kolmetz
Maria Y Ostrosky
Juan O Whobrey
Julie Q Rulapaugh
Deepesh Z Whobrey
Sinclair B Kolmetz
Jeanfrancois Z Sergi
Deepesh D Nestle
Emily H Stenseth
Smith H Bolognia
Aika L Albares
Murillo L Butt
Clifford K Wieser
Kadeem G Amigon
Wickens T Shinko
Juan R Vocelka
Julie D Foller
Emily M Maclead
Rodrigues V Poquette
Adams Y Venere
Jones D Rulapaugh
Aditya I Tollner
Rodrigues Z Whobrey
Jefferson A Rim
Maria U Garufi
David J Campain
Wickens I Bolognia
Darci K Inouye
Johnson N Bolognia
Ivar R Shinko
Izzy X Butt
Jennifer I Caldarera
Clifford V Figeroa
IdCountryDate
1000Brazil2024-05-13
1001Japan2024-04-27
1002Italy2024-05-09
1003Australia2024-05-05
1004Russia2024-05-17
1005Australia2024-05-17
1006Germany2024-05-22
1007Spain2024-05-22
1008Australia2024-04-28
1009France2024-04-25
1010United Kingdom2024-05-22
1011Brazil2024-04-29
1012France2024-05-05
1013Japan2024-05-20
1014Germany2024-04-26
1015United Kingdom2024-05-08
1016Argentina2024-05-15
1017Australia2024-05-18
1018France2024-05-23
1019United Kingdom2024-05-13
1020Canada2024-05-15
1021Spain2024-05-05
1022Spain2024-05-06
1023Australia2024-05-14
1024Germany2024-05-14
1025India2024-04-25
1026Spain2024-05-05
1027United Kingdom2024-05-07
1028Argentina2024-05-19
1029France2024-05-01
1030Brazil2024-05-16
1031Australia2024-05-07
1032Italy2024-05-10
1033Russia2024-05-04
1034United Kingdom2024-05-09
1035Spain2024-05-07
1036India2024-04-27
1037Germany2024-05-22
1038Germany2024-04-28
1039Japan2024-05-20
1040Japan2024-05-07
1041Spain2024-05-23
1042Canada2024-04-27
1043India2024-05-01
1044Australia2024-04-26
1045France2024-05-23
1046Brazil2024-05-01
1047Russia2024-05-08
1048Italy2024-05-23
1049India2024-05-18

On-Demand Data

NameIdCountryDate
Deepesh E Bolognia1000Japan2024-04-29
Johnson E Marrier1001Canada2024-05-22
Mujtaba F Ferencz1002India2024-05-08
Adams Y Gaucho1003France2024-05-07
Kaitlin M Stockham1004Argentina2024-04-26
Octavia U Shinko1005France2024-05-04
Darci F Caldarera1006France2024-05-15
Isabel Q Campain1007India2024-05-05
Emily J Ferencz1008Spain2024-05-07
Ashley D Slusarski1009Australia2024-05-17
Izzy J Saylors1010United Kingdom2024-05-06
Mayumi J Kusko1011Argentina2024-05-16
Stacey D Sergi1012Russia2024-04-27
Stacey B Saylors1013United Kingdom2024-05-23
Smith X Nestle1014India2024-05-09
Mujtaba O Garufi1015Argentina2024-05-07
David V Garufi1016Russia2024-05-23
Juan B Oldroyd1017Russia2024-05-02
Darci X Malet1018Australia2024-05-18
Costa B Gillian1019Russia2024-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon V RoysterGermanyAnna Fali UNQUALIFIED
Smith G PoquetteItalyXuxue Feng QUALIFIED
Faith M PoquetteItalyBernardo Dominic NEGOTIATION
Aruna R StockhamFranceOnyama Limba UNQUALIFIED
Emily K OstroskyFranceXuxue Feng NEGOTIATION
David P MacleadArgentinaIvan Magalhaes NEGOTIATION
Costa H GarufiBrazilIoni Bowcher NEGOTIATION
Leon N PerinRussiaIoni Bowcher PROPOSAL
Aika G WhobreyArgentinaElwin Sharvill QUALIFIED
Sinclair X MacleadUnited KingdomOnyama Limba QUALIFIED
Aruna L PoquetteRussiaElwin Sharvill RENEWAL
Kaitlin A RulapaughArgentinaOnyama Limba NEGOTIATION
Ashley G MacleadSpainIvan Magalhaes NEGOTIATION
Kaitlin E ShinkoArgentinaAmy Elsner UNQUALIFIED
Chavez Y PerinJapanXuxue Feng NEGOTIATION
Ivar M PoquetteAustraliaXuxue Feng QUALIFIED
Jones V GarufiUnited KingdomXuxue Feng QUALIFIED
Faith B WhobreyFranceOnyama Limba NEGOTIATION
Cody J WieserItalyAmy Elsner QUALIFIED
Sinclair X WhobreyUnited KingdomAsiya Javayant NEW
Faith U RoysterIndiaIoni Bowcher NEGOTIATION
Tony I MarrierFranceAnna Fali NEGOTIATION
Leja L StockhamSpainAsiya Javayant NEGOTIATION
Murillo Y CaldareraCanadaAsiya Javayant QUALIFIED
Salvatore N StensethRussiaOnyama Limba NEGOTIATION
Kaitlin K VocelkaAustraliaIoni Bowcher NEW
Mujtaba V DarakjyBrazilStephen Shaw PROPOSAL
Maria F StockhamAustraliaAmy Elsner UNQUALIFIED
Silvio X KuskoFranceAsiya Javayant NEW
Antonio B KuskoGermanyAnna Fali NEW
James W StensethBrazilIvan Magalhaes RENEWAL
Maisha U SchemmerBrazilIoni Bowcher NEW
Rodrigues F AlbaresIndiaStephen Shaw QUALIFIED
Isabel Z DilliardUnited KingdomElwin Sharvill PROPOSAL
Stacey Z BowleyCanadaAmy Elsner QUALIFIED
Kaitlin C KolmetzArgentinaAsiya Javayant QUALIFIED
Izzy R VocelkaRussiaAmy Elsner QUALIFIED
Misaki Q AlbaresCanadaBernardo Dominic PROPOSAL
Antonio J AmigonBrazilIvan Magalhaes RENEWAL
Juan J CaldareraSpainAmy Elsner NEGOTIATION

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