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
Munro I RutaSpainAsiya Javayant UNQUALIFIED
Costa D SlusarskiSpainIoni Bowcher NEW
Alejandro L VocelkaAustraliaBernardo Dominic RENEWAL
Johnson X VenereIndiaXuxue Feng NEGOTIATION
Isabel J WaycottBrazilAsiya Javayant PROPOSAL
Smith U GauchoUnited KingdomAnna Fali NEGOTIATION
Wickens J MarrierFranceIvan Magalhaes NEGOTIATION
Rodrigues P GauchoIndiaXuxue Feng PROPOSAL
Kaitlin A WhobreyCanadaOnyama Limba NEW
Wickens K VocelkaUnited KingdomAsiya Javayant QUALIFIED
Aruna J PoquetteFranceOnyama Limba NEW
Chavez O DoeArgentinaStephen Shaw RENEWAL
Deepesh X TollnerAustraliaStephen Shaw PROPOSAL
Kadeem P SergiBrazilAsiya Javayant UNQUALIFIED
Morrow T GillianUnited KingdomAmy Elsner UNQUALIFIED
Maisha Z VenereBrazilAnna Fali UNQUALIFIED
David R OldroydCanadaElwin Sharvill NEW
Leja B RoysterFranceIoni Bowcher PROPOSAL
Johnson S AmigonAustraliaIvan Magalhaes PROPOSAL
Nicolas L ButtArgentinaBernardo Dominic NEW
Chavez W PoquetteIndiaAnna Fali NEW
Wickens I RoysterCanadaStephen Shaw NEGOTIATION
Adams L BologniaBrazilAnna Fali PROPOSAL
Mayumi K FerenczIndiaAmy Elsner PROPOSAL
Adams T DilliardRussiaAsiya Javayant UNQUALIFIED
Claire T CaldareraCanadaStephen Shaw NEGOTIATION
Morrow D DarakjyArgentinaXuxue Feng UNQUALIFIED
Tony E DarakjyArgentinaAmy Elsner RENEWAL
Nicolas F ChuiCanadaIvan Magalhaes RENEWAL
Ivar C PaprockiCanadaIoni Bowcher RENEWAL
Salvatore S WhobreyAustraliaAsiya Javayant UNQUALIFIED
David H KuskoJapanBernardo Dominic NEW
Ricardo B MaletSpainIvan Magalhaes NEGOTIATION
Izzy U IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Juan R GauchoItalyAsiya Javayant UNQUALIFIED
Greenwood Q SlusarskiCanadaXuxue Feng RENEWAL
Emily K ChuiArgentinaBernardo Dominic NEGOTIATION
Ashley I StockhamRussiaElwin Sharvill PROPOSAL
Julie J PerinIndiaAnna Fali QUALIFIED
Mujtaba Y VocelkaIndiaXuxue Feng RENEWAL
Jennifer C MacleadGermanyIvan Magalhaes NEW
Smith Q FerenczJapanIoni Bowcher RENEWAL
Leja U PaprockiAustraliaOnyama Limba NEW
Francesco F PerinRussiaStephen Shaw NEW
Arvin B FlosiRussiaAmy Elsner NEGOTIATION
Aruna C FerenczCanadaAmy Elsner NEW
Clifford E SergiSpainAmy Elsner QUALIFIED
Isabel N FollerUnited KingdomStephen Shaw NEGOTIATION
Alejandro I KolmetzFranceBernardo Dominic NEGOTIATION
Arvin Q SchemmerUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy T ChuiArgentinaStephen Shaw QUALIFIED
Juan P ChuiCanadaAnna Fali RENEWAL
David W CaudyArgentinaAsiya Javayant QUALIFIED
Smith O SchemmerAustraliaAnna Fali PROPOSAL
Kadeem W RulapaughAustraliaStephen Shaw NEW
Claire S MorascaGermanyElwin Sharvill NEW
Francesco Y PerinUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois N RoysterFranceElwin Sharvill UNQUALIFIED
David G NickaItalyElwin Sharvill NEW
Maisha W WieserAustraliaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy I MaletSpain2024-05-25Printing Dimensions RENEWAL46Bernardo Dominic
1001Nicolas M WhobreyJapan2024-05-25Benton, John B Jr UNQUALIFIED79Onyama Limba
1002Emily E FigeroaCanada2024-06-18Feltz Printing Service UNQUALIFIED13Asiya Javayant
1003Ivar G CaudyUnited Kingdom2024-06-11Printing Dimensions NEGOTIATION90Stephen Shaw
1004Stacey G SergiFrance2024-05-29Printing Dimensions RENEWAL83Onyama Limba
1005Rodrigues U FollerAustralia2024-06-12Rousseaux, Michael Esq NEW81Anna Fali
1006Aruna E ChuiIndia2024-06-18Printing Dimensions NEW11Bernardo Dominic
1007Ricardo X DilliardArgentina2024-06-11Morlong Associates UNQUALIFIED33Asiya Javayant
1008Costa U RoysterGermany2024-06-03Chanay, Jeffrey A Esq NEGOTIATION97Xuxue Feng
1009Faith K AlbaresIndia2024-06-13Morlong Associates UNQUALIFIED78Onyama Limba
1010Rodrigues O MaletIndia2024-06-10Benton, John B Jr NEW7Amy Elsner
1011Mujtaba R KuskoFrance2024-05-31Rangoni Of Florence NEGOTIATION25Ivan Magalhaes
1012Faith T FigeroaSpain2024-06-04Feltz Printing Service UNQUALIFIED46Amy Elsner
1013Salvatore V StockhamRussia2024-06-12Truhlar And Truhlar Attys UNQUALIFIED52Bernardo Dominic
1014Munro R MacleadItaly2024-05-28Buckley Miller Wright NEW17Ivan Magalhaes
1015Nicolas H StockhamItaly2024-06-09Buckley Miller Wright RENEWAL43Asiya Javayant
1016Greenwood K MaletRussia2024-06-14Dorl, James J Esq UNQUALIFIED39Bernardo Dominic
1017Leon J FollerItaly2024-06-08Dorl, James J Esq UNQUALIFIED44Xuxue Feng
1018Stacey Y DarakjyIndia2024-05-26Rousseaux, Michael Esq PROPOSAL55Elwin Sharvill
1019Clifford B FerenczItaly2024-05-28Chanay, Jeffrey A Esq NEW94Onyama Limba
1020Leon C MacleadAustralia2024-06-16Printing Dimensions NEGOTIATION38Xuxue Feng
1021Costa S RoysterCanada2024-06-10Chanay, Jeffrey A Esq PROPOSAL48Asiya Javayant
1022Deepesh P MaletCanada2024-06-09Feiner Bros NEGOTIATION55Ivan Magalhaes
1023Ivar R IturbideRussia2024-06-19Rangoni Of Florence RENEWAL67Ioni Bowcher
1024Cody T KuskoRussia2024-06-17King, Christopher A Esq QUALIFIED56Xuxue Feng
1025Jeanfrancois D GillianGermany2024-05-27Printing Dimensions NEW71Stephen Shaw
1026Nicolas G RulapaughItaly2024-06-07Truhlar And Truhlar Attys UNQUALIFIED34Elwin Sharvill
1027Ivar S MorascaArgentina2024-06-19King, Christopher A Esq RENEWAL12Elwin Sharvill
1028Smith L IturbideAustralia2024-06-07Buckley Miller Wright NEW2Ivan Magalhaes
1029Emily P SergiFrance2024-06-19Dorl, James J Esq PROPOSAL42Stephen Shaw
1030Stacey S CampainJapan2024-06-19Printing Dimensions UNQUALIFIED35Xuxue Feng
1031Julie V IturbideCanada2024-06-06Dorl, James J Esq NEGOTIATION0Anna Fali
1032Deepesh Q IturbideSpain2024-06-15Chemel, James L Cpa NEGOTIATION98Ioni Bowcher
1033Arvin Q PaprockiIndia2024-06-03Benton, John B Jr UNQUALIFIED14Asiya Javayant
1034Aika R BologniaIndia2024-06-10Rangoni Of Florence NEW43Anna Fali
1035Rodrigues Q StensethSpain2024-06-21Commercial Press PROPOSAL4Asiya Javayant
1036Julie M StensethRussia2024-06-21Truhlar And Truhlar Attys UNQUALIFIED50Bernardo Dominic
1037Darci D NestleCanada2024-06-16Dorl, James J Esq PROPOSAL3Ivan Magalhaes
1038Kaitlin E ShinkoSpain2024-06-21Rousseaux, Michael Esq UNQUALIFIED45Anna Fali
1039Juan E CampainSpain2024-06-18Commercial Press UNQUALIFIED27Elwin Sharvill
1040Aruna T CaudyCanada2024-06-04Commercial Press NEGOTIATION86Ioni Bowcher
1041Izzy Z IturbideJapan2024-06-03Dorl, James J Esq NEGOTIATION73Bernardo Dominic
1042Salvatore A CaldareraBrazil2024-05-24Chanay, Jeffrey A Esq RENEWAL92Amy Elsner
1043Misaki K KuskoFrance2024-06-18Rousseaux, Michael Esq UNQUALIFIED63Ioni Bowcher
1044Aika K RutaGermany2024-06-13Feltz Printing Service RENEWAL37Bernardo Dominic
1045Julie K IturbideItaly2024-05-24Morlong Associates QUALIFIED50Bernardo Dominic
1046Jefferson C KolmetzJapan2024-06-06Dorl, James J Esq RENEWAL24Ivan Magalhaes
1047Isabel G RoysterUnited Kingdom2024-05-26Feiner Bros NEGOTIATION42Ioni Bowcher
1048Jennifer N CaldareraAustralia2024-05-31Rousseaux, Michael Esq NEW88Onyama Limba
1049Misaki H ShinkoIndia2024-06-06Chapman, Ross E Esq UNQUALIFIED19Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony T SaylorsAustraliaAnna Fali UNQUALIFIED
Juan A CampainArgentinaElwin Sharvill RENEWAL
Julie F MaletFranceStephen Shaw NEGOTIATION
Mayumi Z InouyeCanadaXuxue Feng NEW
Mujtaba J GillianCanadaXuxue Feng NEW
Murillo S MarrierBrazilOnyama Limba PROPOSAL
Salvatore W RutaBrazilAsiya Javayant UNQUALIFIED
Stacey L AmigonArgentinaElwin Sharvill RENEWAL
Ricardo D MaletJapanAnna Fali NEGOTIATION
Antonio A WhobreyGermanyElwin Sharvill QUALIFIED
Claire J NestleRussiaAmy Elsner UNQUALIFIED
Johnson L StockhamCanadaStephen Shaw NEGOTIATION
Rodrigues R NestleArgentinaAmy Elsner UNQUALIFIED
Clifford I ButtGermanyIoni Bowcher UNQUALIFIED
Wickens K GillianUnited KingdomStephen Shaw UNQUALIFIED
Emily T MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Claire D FerenczArgentinaIoni Bowcher UNQUALIFIED
Nicolas D SaylorsBrazilAnna Fali PROPOSAL
Mayumi M GauchoRussiaAsiya Javayant QUALIFIED
Mayumi J StensethItalyElwin Sharvill UNQUALIFIED
Juan F FigeroaAustraliaAnna Fali NEW
Stacey P WaycottRussiaBernardo Dominic PROPOSAL
Aruna D BologniaUnited KingdomIoni Bowcher RENEWAL
Mayumi C KolmetzUnited KingdomAmy Elsner QUALIFIED
Smith X MarrierGermanyBernardo Dominic NEGOTIATION
Clifford Z FlosiSpainXuxue Feng UNQUALIFIED
Isabel U ButtItalyAnna Fali NEGOTIATION
Octavia N FigeroaJapanAsiya Javayant UNQUALIFIED
Sinclair Q PoquetteRussiaAsiya Javayant RENEWAL
Adams Z GlickAustraliaElwin Sharvill UNQUALIFIED
Johnson O CaldareraCanadaStephen Shaw QUALIFIED
Antonio Y GlickUnited KingdomAsiya Javayant NEW
Tony Z PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Greenwood O MarrierUnited KingdomBernardo Dominic QUALIFIED
Claire H ShinkoSpainIoni Bowcher QUALIFIED
Murillo K RutaUnited KingdomAmy Elsner QUALIFIED
Jefferson X CampainCanadaAnna Fali NEGOTIATION
Izzy U WieserJapanAnna Fali UNQUALIFIED
Aditya I FollerBrazilAnna Fali PROPOSAL
Antonio V OstroskyUnited KingdomElwin Sharvill NEW
Mujtaba D ChuiItalyIvan Magalhaes QUALIFIED
Tony S FigeroaJapanAnna Fali NEGOTIATION
Johnson Y MaletAustraliaStephen Shaw UNQUALIFIED
Murillo B DilliardAustraliaElwin Sharvill NEW
Sinclair A DilliardBrazilIoni Bowcher QUALIFIED
Jennifer O ShinkoAustraliaAmy Elsner UNQUALIFIED
Sinclair T RutaArgentinaIoni Bowcher PROPOSAL
Claire Q RulapaughGermanyElwin Sharvill NEW
Maisha W PaprockiRussiaBernardo Dominic NEGOTIATION
Emily D RoysterRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Arvin K Maclead
Mujtaba L Rim
Clifford O Saylors
Francesco Y Royster
Mayumi C Inouye
Jeanfrancois O Whobrey
Juan Y Royster
Maria M Rim
Morrow E Campain
Jones A Ostrosky
Aditya Y Wieser
Murillo Y Malet
Aika Y Perin
Izzy A Campain
Johnson S Amigon
Adams Y Glick
Leon E Royster
Mayumi P Bowley
Salvatore X Ruta
Johnson X Ruta
Jeanfrancois D Rim
Stacey D Glick
Isabel P Stenseth
Maria S Gaucho
Cody U Venere
Tony E Ruta
Aruna Q Gillian
Faith R Whobrey
Murillo V Kolmetz
Deepesh V Stenseth
David W Oldroyd
Aruna X Stenseth
Costa K Caldarera
Juan R Bolognia
Aditya V Gaucho
Maisha W Bowley
Emily P Vocelka
Claire C Morasca
Deepesh T Butt
Claire P Whobrey
Costa R Malet
Kadeem I Waycott
Emily S Flosi
Antonio Y Sergi
Jefferson V Whobrey
Ricardo M Flosi
Misaki S Maclead
Aditya Q Schemmer
Wickens V Vocelka
Kaitlin F Whobrey
IdCountryDate
1000Australia2024-06-03
1001Argentina2024-06-14
1002Japan2024-06-06
1003India2024-05-24
1004Brazil2024-06-04
1005Brazil2024-05-29
1006Spain2024-05-25
1007Italy2024-06-03
1008Canada2024-06-02
1009United Kingdom2024-06-20
1010Japan2024-06-13
1011Russia2024-06-16
1012Spain2024-06-17
1013Spain2024-05-28
1014Japan2024-06-01
1015Japan2024-06-10
1016Brazil2024-06-06
1017Canada2024-05-31
1018Russia2024-06-20
1019Brazil2024-05-28
1020Australia2024-06-04
1021Canada2024-05-29
1022Brazil2024-06-02
1023Germany2024-06-21
1024France2024-05-24
1025Brazil2024-05-28
1026Italy2024-06-15
1027Canada2024-06-17
1028Brazil2024-05-26
1029Argentina2024-06-21
1030Russia2024-06-06
1031India2024-05-31
1032Brazil2024-05-27
1033United Kingdom2024-06-03
1034Spain2024-06-08
1035United Kingdom2024-06-10
1036Argentina2024-06-16
1037Russia2024-06-07
1038Argentina2024-06-07
1039Argentina2024-06-01
1040Brazil2024-06-06
1041Japan2024-06-03
1042Russia2024-06-20
1043Argentina2024-06-20
1044Canada2024-06-06
1045Argentina2024-05-26
1046Italy2024-05-26
1047Brazil2024-06-12
1048Argentina2024-06-22
1049France2024-06-19

On-Demand Data

NameIdCountryDate
Johnson D Wieser1000United Kingdom2024-06-12
Claire V Figeroa1001Canada2024-05-24
Leon Z Malet1002Australia2024-05-25
Morrow T Paprocki1003Spain2024-06-22
Nicolas X Amigon1004Germany2024-06-18
Faith R Vocelka1005United Kingdom2024-06-01
Ricardo G Gillian1006France2024-06-11
Rodrigues H Nicka1007Germany2024-06-19
Smith F Ruta1008Germany2024-06-21
Julie N Garufi1009Spain2024-06-05
Ricardo J Bowley1010Russia2024-06-15
Juan P Ferencz1011Argentina2024-06-09
Murillo D Rim1012Germany2024-06-07
Jones K Maclead1013Canada2024-05-29
Claire U Ferencz1014Australia2024-05-28
Silvio B Rim1015France2024-06-03
Stacey W Stenseth1016France2024-06-15
Arvin F Iturbide1017Australia2024-06-21
Kadeem X Ruta1018Argentina2024-06-06
Rodrigues G Kusko1019Italy2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya W GauchoBrazilStephen Shaw NEGOTIATION
Ivar K GlickIndiaAsiya Javayant PROPOSAL
Tony W StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Aditya G NickaAustraliaIvan Magalhaes QUALIFIED
Kadeem L DilliardCanadaIoni Bowcher UNQUALIFIED
Leon C InouyeBrazilIoni Bowcher PROPOSAL
Ivar F KolmetzUnited KingdomAnna Fali UNQUALIFIED
Rodrigues S VocelkaBrazilElwin Sharvill UNQUALIFIED
Darci G FigeroaItalyIoni Bowcher PROPOSAL
Costa D IturbideIndiaAnna Fali QUALIFIED
Tony G StensethItalyElwin Sharvill QUALIFIED
Kadeem L PaprockiIndiaIvan Magalhaes QUALIFIED
Francesco T MacleadArgentinaAmy Elsner PROPOSAL
Cody G SchemmerUnited KingdomXuxue Feng QUALIFIED
Aditya V KuskoUnited KingdomElwin Sharvill PROPOSAL
Kadeem P RoysterArgentinaBernardo Dominic RENEWAL
James Z MaletCanadaXuxue Feng UNQUALIFIED
Munro S DoeIndiaIoni Bowcher NEGOTIATION
Mujtaba B MorascaAustraliaXuxue Feng RENEWAL
Juan A PoquetteCanadaElwin Sharvill RENEWAL
James S RutaFranceAsiya Javayant NEW
Salvatore Y VenereJapanIoni Bowcher UNQUALIFIED
Kadeem Y TollnerIndiaIvan Magalhaes QUALIFIED
Leon W WieserJapanOnyama Limba QUALIFIED
Isabel O StockhamBrazilElwin Sharvill RENEWAL
Ivar D MaletRussiaElwin Sharvill UNQUALIFIED
Aditya F BriddickUnited KingdomStephen Shaw PROPOSAL
Salvatore T DoeSpainAmy Elsner QUALIFIED
Alejandro O FigeroaArgentinaBernardo Dominic UNQUALIFIED
Morrow J PerinSpainOnyama Limba PROPOSAL
Jefferson D FerenczItalyIvan Magalhaes NEGOTIATION
Aruna W GlickUnited KingdomElwin Sharvill NEW
Kadeem G DoeBrazilIvan Magalhaes NEW
Jeanfrancois V AmigonSpainAnna Fali NEGOTIATION
Jeanfrancois G NickaUnited KingdomXuxue Feng QUALIFIED
Morrow O RulapaughJapanAnna Fali UNQUALIFIED
Izzy T SchemmerRussiaAsiya Javayant NEW
James Q MaletSpainIvan Magalhaes UNQUALIFIED
Costa V GlickSpainAsiya Javayant NEGOTIATION
Julie J GillianSpainStephen Shaw RENEWAL

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