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
Leon H InouyeUnited KingdomIvan Magalhaes RENEWAL
Salvatore A PaprockiArgentinaXuxue Feng RENEWAL
Claire L StensethIndiaXuxue Feng UNQUALIFIED
Aditya C SlusarskiRussiaIvan Magalhaes NEGOTIATION
Alejandro E SchemmerFranceBernardo Dominic PROPOSAL
Faith I MarrierJapanOnyama Limba QUALIFIED
Chavez K MaletJapanAmy Elsner RENEWAL
Maisha W FerenczItalyAnna Fali RENEWAL
James M GarufiSpainAsiya Javayant RENEWAL
Arvin Z AmigonItalyXuxue Feng QUALIFIED
Adams H MorascaAustraliaIoni Bowcher NEW
Chavez H DarakjyUnited KingdomAsiya Javayant QUALIFIED
Jones Q DoeIndiaAsiya Javayant UNQUALIFIED
Wickens Y NestleBrazilXuxue Feng RENEWAL
Ashley J RoysterSpainBernardo Dominic UNQUALIFIED
Ricardo S OldroydSpainIvan Magalhaes NEW
Darci Q MarrierRussiaIvan Magalhaes NEGOTIATION
Francesco J SaylorsAustraliaAmy Elsner PROPOSAL
Wickens V StockhamJapanIoni Bowcher UNQUALIFIED
Izzy L SaylorsIndiaAsiya Javayant RENEWAL
Smith Y AmigonAustraliaAmy Elsner UNQUALIFIED
Clifford V KuskoJapanElwin Sharvill NEGOTIATION
Francesco N MaletFranceAmy Elsner QUALIFIED
Sinclair O BriddickUnited KingdomStephen Shaw NEW
Leon Y TollnerItalyBernardo Dominic RENEWAL
Antonio D CampainGermanyAmy Elsner RENEWAL
Isabel Z OldroydSpainXuxue Feng QUALIFIED
Faith Q SergiJapanBernardo Dominic UNQUALIFIED
Rodrigues V OldroydSpainStephen Shaw PROPOSAL
Smith L InouyeRussiaAsiya Javayant UNQUALIFIED
Rodrigues E KuskoItalyIoni Bowcher QUALIFIED
Mujtaba M DilliardItalyAmy Elsner NEGOTIATION
Emily H StockhamBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois C CaudyBrazilIoni Bowcher NEW
Juan C ButtArgentinaAnna Fali NEW
Mayumi C ShinkoSpainStephen Shaw NEGOTIATION
Kadeem V BologniaCanadaIoni Bowcher NEW
Aditya S RoysterArgentinaIvan Magalhaes QUALIFIED
Morrow D StensethItalyElwin Sharvill NEW
Kaitlin N MorascaRussiaOnyama Limba NEW
Emily N PoquetteRussiaIoni Bowcher PROPOSAL
Deepesh H AlbaresBrazilIvan Magalhaes RENEWAL
Leon V OldroydFranceXuxue Feng QUALIFIED
Darci R SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Deepesh K BowleyFranceIvan Magalhaes NEGOTIATION
Deepesh O GillianJapanStephen Shaw RENEWAL
James I BowleyArgentinaIvan Magalhaes NEW
Wickens O RutaArgentinaStephen Shaw PROPOSAL
Faith H SlusarskiAustraliaStephen Shaw NEGOTIATION
Deepesh Y GarufiArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
James W PoquetteSpainIvan Magalhaes NEGOTIATION
Misaki U SaylorsSpainAsiya Javayant NEGOTIATION
Jeanfrancois E StensethGermanyStephen Shaw RENEWAL
Deepesh Z SaylorsItalyAnna Fali QUALIFIED
Leon B CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Juan G GillianGermanyIoni Bowcher QUALIFIED
Mayumi S WaycottFranceBernardo Dominic RENEWAL
Antonio E WhobreyFranceAnna Fali QUALIFIED
Cody J StensethItalyXuxue Feng RENEWAL
Ricardo G CampainBrazilOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois S GillianBrazil2024-05-04Buckley Miller Wright PROPOSAL2Onyama Limba
1001Sinclair R DilliardCanada2024-04-26Truhlar And Truhlar Attys UNQUALIFIED86Bernardo Dominic
1002Silvio C SlusarskiFrance2024-04-29Chapman, Ross E Esq NEW64Asiya Javayant
1003Stacey R FigeroaCanada2024-05-02Morlong Associates QUALIFIED26Anna Fali
1004Clifford D FigeroaJapan2024-05-16King, Christopher A Esq RENEWAL86Elwin Sharvill
1005Greenwood A OldroydIndia2024-04-25Morlong Associates RENEWAL62Bernardo Dominic
1006Jefferson Q MarrierBrazil2024-05-05Benton, John B Jr NEW16Bernardo Dominic
1007Leon N GarufiIndia2024-05-24Rangoni Of Florence QUALIFIED16Ioni Bowcher
1008James W BologniaAustralia2024-04-29Rangoni Of Florence NEW7Asiya Javayant
1009Octavia R MaletSpain2024-05-19Rangoni Of Florence NEW70Bernardo Dominic
1010Morrow R ChuiUnited Kingdom2024-05-16Morlong Associates UNQUALIFIED55Amy Elsner
1011Jeanfrancois H WhobreyAustralia2024-05-14Feltz Printing Service NEW62Stephen Shaw
1012Jennifer H CaudyUnited Kingdom2024-05-16Benton, John B Jr NEGOTIATION94Ioni Bowcher
1013Francesco C CaldareraRussia2024-05-01King, Christopher A Esq NEGOTIATION23Anna Fali
1014Maria U GarufiGermany2024-05-11Commercial Press NEW35Anna Fali
1015Clifford G PerinBrazil2024-05-24Chapman, Ross E Esq NEW30Anna Fali
1016Murillo J IturbideFrance2024-05-18Buckley Miller Wright NEGOTIATION49Anna Fali
1017Mayumi V RulapaughIndia2024-04-27Dorl, James J Esq NEW23Elwin Sharvill
1018Mayumi V PaprockiRussia2024-04-26Feltz Printing Service NEW86Onyama Limba
1019Cody V RutaFrance2024-05-13King, Christopher A Esq PROPOSAL7Stephen Shaw
1020Ivar X KuskoUnited Kingdom2024-05-07Chanay, Jeffrey A Esq QUALIFIED44Asiya Javayant
1021Wickens L StockhamAustralia2024-05-15King, Christopher A Esq RENEWAL76Anna Fali
1022Francesco O TollnerJapan2024-05-22Buckley Miller Wright QUALIFIED10Ioni Bowcher
1023Aditya N MarrierIndia2024-05-05King, Christopher A Esq RENEWAL23Ioni Bowcher
1024Juan D TollnerArgentina2024-05-23Chanay, Jeffrey A Esq NEGOTIATION6Bernardo Dominic
1025Wickens V ChuiJapan2024-05-07Commercial Press PROPOSAL98Stephen Shaw
1026Isabel C NestleArgentina2024-05-21Truhlar And Truhlar Attys NEW7Xuxue Feng
1027Greenwood G StensethCanada2024-05-01Chanay, Jeffrey A Esq UNQUALIFIED48Anna Fali
1028Jefferson U BriddickJapan2024-05-09Morlong Associates UNQUALIFIED78Elwin Sharvill
1029Nicolas R TollnerJapan2024-05-02Benton, John B Jr QUALIFIED27Anna Fali
1030Isabel E RutaRussia2024-05-11Rangoni Of Florence NEGOTIATION11Anna Fali
1031Kaitlin R InouyeJapan2024-05-06King, Christopher A Esq NEW51Asiya Javayant
1032Rodrigues I FerenczUnited Kingdom2024-05-06King, Christopher A Esq PROPOSAL99Stephen Shaw
1033Munro R OstroskyBrazil2024-05-03Chemel, James L Cpa NEGOTIATION30Stephen Shaw
1034Adams B FerenczAustralia2024-05-20Truhlar And Truhlar Attys RENEWAL26Ioni Bowcher
1035Wickens T CaldareraGermany2024-05-11Buckley Miller Wright QUALIFIED41Asiya Javayant
1036Morrow I BriddickUnited Kingdom2024-05-07Buckley Miller Wright NEGOTIATION79Bernardo Dominic
1037Chavez J BowleyBrazil2024-05-21Morlong Associates PROPOSAL3Anna Fali
1038Isabel Y DarakjyItaly2024-05-08Rousseaux, Michael Esq NEW43Amy Elsner
1039Faith I GillianUnited Kingdom2024-05-10Chapman, Ross E Esq PROPOSAL88Elwin Sharvill
1040Jones X MorascaItaly2024-05-01King, Christopher A Esq UNQUALIFIED13Elwin Sharvill
1041Octavia Q StockhamAustralia2024-05-08Feiner Bros RENEWAL87Amy Elsner
1042Nicolas B MaletUnited Kingdom2024-05-21Benton, John B Jr PROPOSAL87Bernardo Dominic
1043Wickens G StockhamCanada2024-05-02Feltz Printing Service UNQUALIFIED72Onyama Limba
1044Nicolas Z WieserJapan2024-05-17King, Christopher A Esq UNQUALIFIED97Anna Fali
1045David R SergiBrazil2024-05-08King, Christopher A Esq UNQUALIFIED65Ivan Magalhaes
1046Juan Q VenereIndia2024-05-09King, Christopher A Esq NEW35Onyama Limba
1047Ashley T MaletRussia2024-04-29Commercial Press QUALIFIED44Anna Fali
1048Smith L CampainArgentina2024-05-12Feltz Printing Service PROPOSAL35Xuxue Feng
1049Maisha W GarufiSpain2024-05-20Feiner Bros UNQUALIFIED3Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Claire X MacleadArgentinaAsiya Javayant RENEWAL
Jones F RulapaughFranceXuxue Feng RENEWAL
Mayumi B FlosiItalyBernardo Dominic RENEWAL
Leja Z InouyeFranceStephen Shaw NEW
Darci L InouyeGermanyAnna Fali QUALIFIED
Ashley F InouyeIndiaElwin Sharvill NEW
Smith K NickaArgentinaAsiya Javayant UNQUALIFIED
Kadeem A KolmetzAustraliaAsiya Javayant PROPOSAL
Isabel G MacleadGermanyStephen Shaw NEGOTIATION
Aruna F VenereBrazilOnyama Limba NEGOTIATION
Leja K MacleadAustraliaStephen Shaw NEW
Jefferson E AmigonJapanOnyama Limba PROPOSAL
James D ShinkoUnited KingdomBernardo Dominic RENEWAL
Mayumi I PerinBrazilAsiya Javayant NEGOTIATION
Faith S BologniaFranceStephen Shaw PROPOSAL
Jones U FerenczItalyIvan Magalhaes RENEWAL
Kadeem U ChuiIndiaIvan Magalhaes RENEWAL
Francesco P DoeJapanOnyama Limba NEW
Leon P RulapaughUnited KingdomIoni Bowcher RENEWAL
Claire B SlusarskiJapanStephen Shaw RENEWAL
Ivar U FlosiCanadaAmy Elsner UNQUALIFIED
Maria L FlosiIndiaStephen Shaw NEW
Adams X FigeroaFranceIoni Bowcher UNQUALIFIED
James Z FigeroaItalyAnna Fali NEGOTIATION
Clifford I FlosiJapanElwin Sharvill QUALIFIED
Jeanfrancois D ButtJapanAsiya Javayant PROPOSAL
Sinclair B RimUnited KingdomIvan Magalhaes NEGOTIATION
Faith V OstroskyUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois V OstroskyRussiaIvan Magalhaes PROPOSAL
Murillo O DilliardItalyStephen Shaw UNQUALIFIED
Kadeem C ShinkoSpainAmy Elsner NEGOTIATION
Kaitlin Z FollerUnited KingdomAmy Elsner PROPOSAL
Greenwood F AlbaresFranceAnna Fali NEW
Ashley J KuskoFranceXuxue Feng NEGOTIATION
Antonio J ShinkoIndiaAmy Elsner PROPOSAL
Ricardo R CaudyUnited KingdomAsiya Javayant QUALIFIED
Cody S KuskoBrazilOnyama Limba NEW
Mayumi S MacleadBrazilAsiya Javayant RENEWAL
Sinclair S MarrierJapanBernardo Dominic QUALIFIED
Clifford K WhobreyJapanBernardo Dominic PROPOSAL
Ashley C DilliardIndiaXuxue Feng RENEWAL
Arvin H NickaSpainStephen Shaw UNQUALIFIED
Deepesh D BriddickRussiaOnyama Limba RENEWAL
Morrow D StockhamArgentinaElwin Sharvill NEGOTIATION
Francesco R GlickJapanAmy Elsner RENEWAL
Octavia Q WhobreyCanadaIvan Magalhaes PROPOSAL
Silvio R PaprockiItalyAmy Elsner NEW
James U AlbaresBrazilXuxue Feng QUALIFIED
David G CampainRussiaAmy Elsner PROPOSAL
Faith E CampainArgentinaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Isabel O Stenseth
Kadeem Z Glick
Jennifer F Venere
Munro O Maclead
Alejandro V Slusarski
Leja X Rim
Jefferson S Malet
Jones K Bolognia
Francesco X Malet
Maisha B Figeroa
Maisha I Oldroyd
Murillo Y Garufi
Deepesh N Paprocki
Misaki I Saylors
Kadeem I Dilliard
Munro X Bowley
Mujtaba O Ruta
Maria K Nestle
Octavia O Poquette
Wickens I Rim
Emily D Inouye
Stacey S Whobrey
Jeanfrancois Y Briddick
Aditya O Bolognia
Mujtaba V Campain
Morrow L Sergi
Rodrigues F Campain
Darci C Briddick
Julie Y Paprocki
Jeanfrancois I Malet
Leon U Caudy
Maisha K Marrier
Chavez R Marrier
Johnson R Gillian
Maria Z Briddick
Arvin F Albares
Mujtaba P Iturbide
Costa T Caudy
Murillo L Tollner
Isabel E Ruta
Chavez G Doe
Aruna W Doe
Kadeem O Caudy
Arvin X Caudy
Mujtaba J Caudy
Stacey H Sergi
Costa K Malet
Jefferson I Kolmetz
Chavez T Foller
Chavez S Albares
IdCountryDate
1000Australia2024-04-29
1001Canada2024-05-09
1002Argentina2024-05-15
1003Argentina2024-04-28
1004Canada2024-04-30
1005Australia2024-04-26
1006Germany2024-05-22
1007Brazil2024-05-23
1008Argentina2024-05-06
1009Canada2024-05-22
1010Germany2024-05-15
1011Germany2024-05-21
1012Canada2024-04-30
1013Brazil2024-05-12
1014France2024-04-27
1015Japan2024-05-19
1016Argentina2024-05-19
1017Argentina2024-05-03
1018Spain2024-05-24
1019France2024-05-23
1020France2024-05-05
1021United Kingdom2024-05-14
1022Australia2024-05-07
1023Russia2024-05-03
1024India2024-05-24
1025Brazil2024-05-06
1026Spain2024-04-27
1027Japan2024-05-03
1028Japan2024-05-02
1029Russia2024-05-11
1030Canada2024-05-06
1031Spain2024-05-04
1032Australia2024-05-06
1033Argentina2024-05-12
1034Australia2024-05-20
1035Germany2024-05-04
1036Australia2024-04-26
1037India2024-05-01
1038France2024-05-09
1039Australia2024-04-26
1040Japan2024-05-05
1041United Kingdom2024-05-21
1042France2024-05-24
1043Russia2024-05-07
1044United Kingdom2024-05-18
1045Germany2024-05-13
1046India2024-04-29
1047Australia2024-05-11
1048Spain2024-05-21
1049France2024-05-09

On-Demand Data

NameIdCountryDate
Deepesh E Waycott1000Japan2024-05-05
Chavez W Rulapaugh1001Canada2024-05-08
Rodrigues K Nestle1002Italy2024-05-23
Alejandro D Ferencz1003Japan2024-05-01
Jefferson Q Rulapaugh1004Russia2024-05-05
Faith O Maclead1005Brazil2024-05-07
Francesco X Doe1006Canada2024-05-04
Murillo F Rulapaugh1007Russia2024-05-11
Leja L Paprocki1008India2024-05-15
Emily Q Rim1009Japan2024-05-10
Chavez J Ostrosky1010France2024-05-12
Tony F Malet1011Russia2024-04-27
Julie H Gillian1012Russia2024-05-11
Munro P Albares1013Italy2024-05-17
Aika I Wieser1014Germany2024-05-03
Aika X Ruta1015France2024-05-16
Isabel K Shinko1016Japan2024-05-04
Morrow O Schemmer1017Spain2024-05-20
Sinclair P Kusko1018Brazil2024-05-21
Rodrigues C Briddick1019Argentina2024-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois P WaycottBrazilIoni Bowcher NEW
Antonio N GillianIndiaOnyama Limba NEGOTIATION
Adams I DilliardItalyIoni Bowcher PROPOSAL
Wickens V MarrierCanadaIoni Bowcher NEGOTIATION
Maria D FigeroaArgentinaStephen Shaw UNQUALIFIED
Leon C WieserSpainXuxue Feng RENEWAL
Adams J GarufiAustraliaIvan Magalhaes QUALIFIED
Morrow R FerenczCanadaElwin Sharvill UNQUALIFIED
Juan U NickaAustraliaAmy Elsner PROPOSAL
Leon V CaudyAustraliaBernardo Dominic UNQUALIFIED
Costa I RimBrazilElwin Sharvill NEW
Mayumi G NickaIndiaIvan Magalhaes QUALIFIED
Jeanfrancois S WaycottGermanyXuxue Feng QUALIFIED
Mayumi C KuskoItalyXuxue Feng QUALIFIED
Adams U GillianFranceAsiya Javayant NEW
Morrow R GlickUnited KingdomIoni Bowcher RENEWAL
Ivar M IturbideFranceAnna Fali UNQUALIFIED
Misaki P ChuiJapanXuxue Feng QUALIFIED
Jefferson R BriddickUnited KingdomXuxue Feng UNQUALIFIED
Juan N RoysterRussiaElwin Sharvill NEW
Jeanfrancois E MaletArgentinaElwin Sharvill PROPOSAL
Nicolas Z RimItalyAsiya Javayant NEGOTIATION
Kadeem V OstroskyUnited KingdomStephen Shaw NEGOTIATION
Munro F DoeAustraliaStephen Shaw NEGOTIATION
Sinclair P ChuiFranceXuxue Feng NEW
Stacey I PoquetteFranceBernardo Dominic PROPOSAL
Jones M VocelkaItalyElwin Sharvill UNQUALIFIED
Claire Y PaprockiFranceAsiya Javayant NEGOTIATION
Greenwood N VocelkaUnited KingdomAmy Elsner RENEWAL
Rodrigues A KuskoSpainStephen Shaw RENEWAL
Kaitlin N InouyeIndiaAnna Fali RENEWAL
Rodrigues X WieserAustraliaAmy Elsner RENEWAL
Aruna Y BologniaIndiaIvan Magalhaes RENEWAL
Leon B StockhamRussiaOnyama Limba PROPOSAL
Silvio G VocelkaUnited KingdomXuxue Feng PROPOSAL
Chavez Q MacleadIndiaOnyama Limba QUALIFIED
Claire L SlusarskiJapanAsiya Javayant UNQUALIFIED
Aika L CampainGermanyElwin Sharvill UNQUALIFIED
Emily G MarrierArgentinaIvan Magalhaes NEGOTIATION
Greenwood M IturbideItalyStephen 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>