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
Ricardo H SlusarskiArgentinaIvan Magalhaes PROPOSAL
Leon U MaletBrazilAmy Elsner QUALIFIED
Silvio H WhobreyJapanIvan Magalhaes PROPOSAL
Maisha C KuskoItalyIvan Magalhaes PROPOSAL
Johnson X RoysterCanadaAsiya Javayant NEGOTIATION
Emily X WhobreyRussiaAmy Elsner PROPOSAL
Rodrigues L NickaRussiaElwin Sharvill RENEWAL
Chavez I KolmetzRussiaStephen Shaw UNQUALIFIED
Arvin U NickaAustraliaIvan Magalhaes NEW
David T DoeArgentinaBernardo Dominic PROPOSAL
Morrow V CaldareraBrazilStephen Shaw QUALIFIED
Isabel V FollerFranceXuxue Feng UNQUALIFIED
Smith S FerenczArgentinaIoni Bowcher PROPOSAL
Rodrigues X MarrierUnited KingdomAsiya Javayant PROPOSAL
Ashley K ChuiRussiaStephen Shaw NEGOTIATION
Aditya A VenereJapanElwin Sharvill PROPOSAL
Ivar G CampainSpainBernardo Dominic QUALIFIED
Wickens O OldroydCanadaStephen Shaw NEGOTIATION
Stacey V TollnerJapanAsiya Javayant RENEWAL
Ricardo H PoquetteSpainElwin Sharvill QUALIFIED
Salvatore S MacleadItalyXuxue Feng UNQUALIFIED
Ivar F StensethSpainXuxue Feng PROPOSAL
James N OstroskyFranceAsiya Javayant RENEWAL
Morrow Z RulapaughItalyAmy Elsner PROPOSAL
Misaki I DoeJapanIoni Bowcher PROPOSAL
Sinclair K GlickRussiaElwin Sharvill NEGOTIATION
Costa X OstroskyUnited KingdomAnna Fali UNQUALIFIED
Kadeem L NestleItalyAsiya Javayant RENEWAL
Aditya M StockhamItalyAmy Elsner QUALIFIED
Tony A KuskoRussiaAsiya Javayant NEW
Greenwood J OstroskyArgentinaBernardo Dominic PROPOSAL
Johnson T SaylorsBrazilIoni Bowcher QUALIFIED
Aruna N InouyeFranceAmy Elsner NEGOTIATION
Munro T MaletArgentinaAsiya Javayant NEW
Claire E BriddickAustraliaXuxue Feng QUALIFIED
Ashley D NickaBrazilOnyama Limba PROPOSAL
Julie O FerenczArgentinaBernardo Dominic UNQUALIFIED
Aditya J SlusarskiJapanAnna Fali UNQUALIFIED
Silvio E KuskoUnited KingdomAnna Fali UNQUALIFIED
Claire S TollnerJapanElwin Sharvill UNQUALIFIED
Costa W DarakjyRussiaOnyama Limba UNQUALIFIED
Munro Z GlickSpainStephen Shaw PROPOSAL
Leja Q ChuiUnited KingdomAmy Elsner NEW
Leja H GlickArgentinaAmy Elsner PROPOSAL
Emily N PaprockiItalyIvan Magalhaes PROPOSAL
Adams H OstroskySpainStephen Shaw RENEWAL
Clifford C FlosiIndiaAsiya Javayant NEGOTIATION
Faith K KuskoBrazilAsiya Javayant QUALIFIED
Silvio C WhobreyRussiaElwin Sharvill RENEWAL
Faith O GlickIndiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha L SaylorsSpainElwin Sharvill QUALIFIED
Johnson I RutaItalyAmy Elsner QUALIFIED
Octavia X VenereGermanyElwin Sharvill UNQUALIFIED
Octavia U PoquetteIndiaStephen Shaw UNQUALIFIED
Clifford R RimArgentinaAsiya Javayant RENEWAL
David W RutaUnited KingdomBernardo Dominic UNQUALIFIED
Faith F SaylorsFranceIoni Bowcher NEGOTIATION
Kaitlin M StockhamRussiaOnyama Limba PROPOSAL
Greenwood R OldroydIndiaAnna Fali NEGOTIATION
James Z SchemmerCanadaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer K WieserCanada2024-11-17Dorl, James J Esq PROPOSAL86Xuxue Feng
1001Claire F RimRussia2024-11-07Benton, John B Jr NEGOTIATION66Amy Elsner
1002Johnson T FlosiFrance2024-11-12Feltz Printing Service UNQUALIFIED17Xuxue Feng
1003Leon X BologniaItaly2024-10-27Morlong Associates RENEWAL24Asiya Javayant
1004Juan C MorascaBrazil2024-10-28King, Christopher A Esq QUALIFIED6Onyama Limba
1005Murillo X GauchoSpain2024-10-26Commercial Press NEGOTIATION70Asiya Javayant
1006Morrow B MacleadAustralia2024-11-08Dorl, James J Esq NEW57Xuxue Feng
1007Maria K SchemmerJapan2024-10-26Rangoni Of Florence NEGOTIATION59Amy Elsner
1008Silvio X ButtGermany2024-11-21Benton, John B Jr PROPOSAL23Elwin Sharvill
1009Jones Q DilliardUnited Kingdom2024-10-31Benton, John B Jr NEGOTIATION81Onyama Limba
1010Emily I CampainItaly2024-11-19Feltz Printing Service NEW52Ivan Magalhaes
1011Sinclair X RutaJapan2024-11-09Morlong Associates UNQUALIFIED30Elwin Sharvill
1012Alejandro G CaudyArgentina2024-11-06Rousseaux, Michael Esq RENEWAL90Amy Elsner
1013Munro E SlusarskiUnited Kingdom2024-11-18Feiner Bros RENEWAL57Xuxue Feng
1014James C RutaArgentina2024-11-16Benton, John B Jr NEW63Xuxue Feng
1015Smith X SaylorsFrance2024-10-27Rousseaux, Michael Esq UNQUALIFIED31Stephen Shaw
1016Silvio Q MacleadBrazil2024-10-30Chanay, Jeffrey A Esq NEGOTIATION39Bernardo Dominic
1017Octavia W FlosiUnited Kingdom2024-11-11Rangoni Of Florence UNQUALIFIED45Ioni Bowcher
1018Darci J BologniaItaly2024-11-08Feiner Bros UNQUALIFIED27Bernardo Dominic
1019Juan O WieserUnited Kingdom2024-11-04Benton, John B Jr PROPOSAL85Amy Elsner
1020Izzy Z RutaGermany2024-11-02Dorl, James J Esq UNQUALIFIED61Amy Elsner
1021Emily L RulapaughAustralia2024-10-26Chapman, Ross E Esq PROPOSAL8Bernardo Dominic
1022Aruna K WaycottArgentina2024-11-18Feltz Printing Service NEGOTIATION79Bernardo Dominic
1023Kadeem D WhobreyGermany2024-11-03Printing Dimensions NEGOTIATION60Onyama Limba
1024Rodrigues E IturbideCanada2024-11-08Buckley Miller Wright QUALIFIED62Asiya Javayant
1025Chavez T AlbaresAustralia2024-10-30Rangoni Of Florence UNQUALIFIED44Elwin Sharvill
1026Clifford E VenereSpain2024-11-19Commercial Press PROPOSAL82Stephen Shaw
1027Johnson G BriddickBrazil2024-11-22Rangoni Of Florence QUALIFIED58Stephen Shaw
1028Smith E VenereBrazil2024-11-16Morlong Associates NEGOTIATION48Asiya Javayant
1029Rodrigues N RutaAustralia2024-11-19Feiner Bros UNQUALIFIED88Onyama Limba
1030Kadeem G MarrierBrazil2024-11-09Benton, John B Jr NEGOTIATION48Ivan Magalhaes
1031Jefferson L PaprockiJapan2024-10-28King, Christopher A Esq RENEWAL53Stephen Shaw
1032Chavez J FerenczSpain2024-11-17Truhlar And Truhlar Attys PROPOSAL31Anna Fali
1033Greenwood V PerinGermany2024-10-27Benton, John B Jr RENEWAL12Amy Elsner
1034Octavia Z DilliardRussia2024-11-14Morlong Associates NEGOTIATION86Xuxue Feng
1035Antonio F DilliardBrazil2024-11-03Chapman, Ross E Esq QUALIFIED78Ioni Bowcher
1036Salvatore W SlusarskiBrazil2024-11-20Benton, John B Jr NEW21Elwin Sharvill
1037Claire H OldroydFrance2024-11-13Benton, John B Jr NEGOTIATION61Onyama Limba
1038Munro G MacleadUnited Kingdom2024-11-14Chapman, Ross E Esq UNQUALIFIED31Anna Fali
1039Juan D DilliardBrazil2024-11-13Printing Dimensions QUALIFIED93Ioni Bowcher
1040Alejandro O KolmetzCanada2024-11-05Buckley Miller Wright RENEWAL88Bernardo Dominic
1041Arvin F WaycottGermany2024-10-29Morlong Associates UNQUALIFIED26Anna Fali
1042Silvio O StensethCanada2024-11-17Chemel, James L Cpa PROPOSAL97Ivan Magalhaes
1043Misaki C PerinCanada2024-11-01Dorl, James J Esq QUALIFIED26Elwin Sharvill
1044Jeanfrancois J GauchoFrance2024-11-17Rousseaux, Michael Esq UNQUALIFIED25Onyama Limba
1045Alejandro Q DilliardJapan2024-11-02King, Christopher A Esq NEGOTIATION90Bernardo Dominic
1046Kaitlin H PoquetteArgentina2024-11-17Chanay, Jeffrey A Esq RENEWAL10Elwin Sharvill
1047Mujtaba W CaldareraArgentina2024-11-10Chanay, Jeffrey A Esq NEW94Asiya Javayant
1048Arvin M SchemmerBrazil2024-11-13Feiner Bros NEGOTIATION82Onyama Limba
1049Claire I SergiRussia2024-11-14Dorl, James J Esq PROPOSAL26Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci X SlusarskiJapanAmy Elsner UNQUALIFIED
Jennifer A PerinBrazilAnna Fali QUALIFIED
Aditya F IturbideRussiaXuxue Feng NEW
Maisha C SaylorsGermanyElwin Sharvill QUALIFIED
Jones V CaldareraUnited KingdomBernardo Dominic PROPOSAL
Adams J BologniaRussiaAmy Elsner NEW
Jeanfrancois C VenereItalyAmy Elsner PROPOSAL
Silvio P PoquetteArgentinaStephen Shaw PROPOSAL
Alejandro Z MaletGermanyXuxue Feng QUALIFIED
Aditya F KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Johnson D DilliardAustraliaElwin Sharvill QUALIFIED
Aditya W VenereArgentinaAsiya Javayant NEGOTIATION
Mujtaba B MarrierJapanAnna Fali NEGOTIATION
Maria Q AmigonJapanStephen Shaw NEW
Greenwood K FlosiGermanyXuxue Feng NEGOTIATION
Salvatore D GillianBrazilXuxue Feng UNQUALIFIED
Salvatore S CaudyRussiaBernardo Dominic QUALIFIED
Kaitlin L SlusarskiAustraliaOnyama Limba UNQUALIFIED
Silvio S PoquetteItalyAmy Elsner NEW
Kaitlin A BriddickItalyOnyama Limba QUALIFIED
Leja Y ShinkoGermanyAmy Elsner RENEWAL
Rodrigues E CaldareraItalyIvan Magalhaes UNQUALIFIED
Ivar U GauchoUnited KingdomIvan Magalhaes PROPOSAL
Octavia B WieserIndiaAnna Fali QUALIFIED
Alejandro N TollnerGermanyIoni Bowcher NEW
Antonio O TollnerAustraliaAmy Elsner NEW
Darci O VocelkaBrazilStephen Shaw NEW
Maisha G KuskoCanadaOnyama Limba QUALIFIED
Misaki M GarufiRussiaOnyama Limba NEW
Mayumi H WieserCanadaAnna Fali QUALIFIED
Faith K StockhamSpainOnyama Limba UNQUALIFIED
Izzy Z FlosiUnited KingdomXuxue Feng UNQUALIFIED
Deepesh Z PoquetteGermanyIvan Magalhaes NEGOTIATION
Maisha A VenereGermanyIoni Bowcher NEGOTIATION
Clifford L VenereAustraliaXuxue Feng RENEWAL
Arvin D SchemmerRussiaIoni Bowcher PROPOSAL
Aditya G RimRussiaAmy Elsner NEW
Costa B FerenczJapanAsiya Javayant UNQUALIFIED
Salvatore M CampainArgentinaAmy Elsner NEGOTIATION
Stacey S StockhamRussiaXuxue Feng NEW
Adams B NickaSpainBernardo Dominic QUALIFIED
Maria Q AlbaresSpainOnyama Limba NEW
Jefferson W NickaSpainAmy Elsner NEW
Deepesh R ButtIndiaXuxue Feng UNQUALIFIED
Darci N KolmetzArgentinaElwin Sharvill NEW
Julie J DoeAustraliaAnna Fali QUALIFIED
James D GillianArgentinaAsiya Javayant QUALIFIED
Aditya S SchemmerArgentinaAsiya Javayant RENEWAL
Juan N DarakjyFranceAnna Fali RENEWAL
Jones C DoeItalyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Chavez H Oldroyd
Kaitlin O Dilliard
Aruna Z Malet
Stacey Z Campain
Maria K Ruta
Rodrigues J Iturbide
Ricardo K Marrier
Clifford V Ferencz
Rodrigues K Gaucho
Aditya C Royster
Adams X Perin
Mujtaba H Schemmer
Ivar C Schemmer
James W Caudy
Julie I Perin
Johnson U Garufi
Jefferson B Vocelka
Sinclair C Gaucho
Johnson U Iturbide
Greenwood H Albares
Ricardo B Poquette
Alejandro P Kolmetz
Alejandro J Poquette
Misaki G Foller
Sinclair B Flosi
Rodrigues T Darakjy
Kaitlin L Inouye
Octavia F Kolmetz
Jeanfrancois F Amigon
Izzy I Tollner
Mayumi T Ferencz
Juan F Vocelka
Adams H Bowley
David V Gaucho
Maria X Saylors
Greenwood P Ferencz
Clifford Z Foller
Leon F Iturbide
Morrow T Morasca
Nicolas D Doe
Greenwood A Stockham
Octavia F Garufi
Isabel Q Saylors
Tony E Whobrey
Alejandro L Caldarera
Emily A Chui
Murillo A Oldroyd
Kaitlin G Royster
Salvatore A Whobrey
Aruna N Glick
IdCountryDate
1000Germany2024-11-10
1001Spain2024-11-02
1002Germany2024-11-16
1003Australia2024-10-31
1004Italy2024-11-08
1005Argentina2024-11-09
1006United Kingdom2024-10-25
1007United Kingdom2024-10-30
1008Russia2024-11-02
1009Russia2024-11-08
1010Germany2024-10-25
1011Spain2024-11-08
1012Russia2024-11-04
1013Germany2024-11-06
1014Italy2024-11-19
1015India2024-10-30
1016Brazil2024-10-24
1017Brazil2024-11-21
1018United Kingdom2024-10-31
1019United Kingdom2024-11-02
1020Canada2024-11-09
1021Italy2024-11-18
1022Spain2024-11-11
1023Japan2024-11-09
1024Italy2024-11-14
1025Germany2024-11-03
1026Argentina2024-11-10
1027India2024-11-15
1028Canada2024-10-24
1029Germany2024-11-17
1030Japan2024-11-14
1031Germany2024-10-29
1032Germany2024-11-20
1033Spain2024-11-05
1034India2024-10-26
1035Japan2024-11-01
1036Australia2024-11-13
1037Italy2024-11-04
1038Spain2024-10-25
1039United Kingdom2024-10-25
1040Canada2024-10-24
1041Italy2024-10-29
1042United Kingdom2024-11-20
1043Italy2024-11-22
1044United Kingdom2024-10-29
1045Canada2024-11-12
1046Russia2024-11-16
1047Germany2024-11-14
1048United Kingdom2024-11-15
1049Canada2024-11-17

On-Demand Data

NameIdCountryDate
Smith S Iturbide1000Canada2024-11-13
Aika T Darakjy1001Canada2024-11-14
Nicolas E Campain1002Australia2024-10-27
Chavez N Caldarera1003Spain2024-10-27
Maisha Y Campain1004France2024-10-25
Jones W Stenseth1005France2024-11-19
Maria R Schemmer1006Australia2024-11-02
Salvatore E Slusarski1007Italy2024-11-02
Maria S Saylors1008United Kingdom2024-11-08
Alejandro M Kolmetz1009Italy2024-11-18
Jeanfrancois L Gillian1010Spain2024-11-19
Wickens Q Wieser1011Spain2024-10-30
Ashley N Albares1012Germany2024-11-17
Leja R Caldarera1013Canada2024-10-28
Jennifer M Saylors1014Argentina2024-10-30
Greenwood X Venere1015France2024-10-31
Jeanfrancois S Caudy1016Argentina2024-11-11
Aika X Morasca1017Russia2024-10-24
Jennifer F Rulapaugh1018Japan2024-11-11
Darci N Albares1019Brazil2024-11-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens P KolmetzJapanBernardo Dominic RENEWAL
Francesco P WhobreyCanadaAmy Elsner QUALIFIED
Chavez A CaldareraRussiaAmy Elsner NEGOTIATION
Sinclair V WhobreyUnited KingdomAnna Fali PROPOSAL
Juan Q WieserArgentinaOnyama Limba RENEWAL
Wickens S GauchoIndiaElwin Sharvill NEGOTIATION
Costa A IturbideRussiaBernardo Dominic RENEWAL
Maria G MaletBrazilIoni Bowcher PROPOSAL
Jeanfrancois B WieserGermanyAsiya Javayant PROPOSAL
Kaitlin X MorascaJapanOnyama Limba QUALIFIED
Alejandro G VocelkaArgentinaAmy Elsner PROPOSAL
Silvio Q MaletArgentinaOnyama Limba QUALIFIED
Nicolas E DilliardAustraliaOnyama Limba RENEWAL
Ashley L RutaCanadaAmy Elsner RENEWAL
Leon X FollerFranceAnna Fali PROPOSAL
Morrow H NestleGermanyOnyama Limba QUALIFIED
Francesco W PaprockiBrazilElwin Sharvill UNQUALIFIED
Smith D MaletAustraliaXuxue Feng UNQUALIFIED
Kadeem R ChuiFranceAnna Fali QUALIFIED
Misaki M GauchoIndiaIoni Bowcher NEW
Smith M MacleadArgentinaIvan Magalhaes QUALIFIED
Aditya X WieserRussiaElwin Sharvill UNQUALIFIED
Rodrigues K BologniaIndiaAnna Fali QUALIFIED
Ricardo Z WhobreyIndiaIoni Bowcher QUALIFIED
Mayumi Y PaprockiAustraliaIvan Magalhaes PROPOSAL
Aika C CaudyGermanyIoni Bowcher PROPOSAL
Leja D BriddickBrazilAmy Elsner NEGOTIATION
Jennifer F VocelkaBrazilAmy Elsner NEW
Johnson A DoeBrazilElwin Sharvill NEGOTIATION
Costa L FlosiArgentinaAnna Fali RENEWAL
Aruna Z BologniaAustraliaAsiya Javayant NEW
Adams S NestleUnited KingdomXuxue Feng NEW
Jeanfrancois Q OstroskyRussiaXuxue Feng NEGOTIATION
Mayumi I MaletGermanyIoni Bowcher QUALIFIED
Mayumi V FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Francesco D BriddickIndiaBernardo Dominic NEW
Salvatore J SlusarskiGermanyIoni Bowcher NEW
Salvatore O VenereAustraliaStephen Shaw NEGOTIATION
Leja R WaycottCanadaAsiya Javayant RENEWAL
Maisha F DilliardRussiaIoni Bowcher 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">
            <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>