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
Francesco U MorascaAustraliaIvan Magalhaes UNQUALIFIED
Stacey J CaudyJapanStephen Shaw QUALIFIED
Mayumi Q OldroydRussiaElwin Sharvill RENEWAL
Salvatore P RutaAustraliaAsiya Javayant NEW
Jefferson J RoysterCanadaIoni Bowcher NEGOTIATION
Adams P IturbideSpainXuxue Feng UNQUALIFIED
Arvin V StensethJapanIoni Bowcher PROPOSAL
Stacey K GauchoCanadaXuxue Feng UNQUALIFIED
Adams D CaudyFranceAsiya Javayant UNQUALIFIED
Claire M GarufiArgentinaStephen Shaw RENEWAL
Ricardo G FollerIndiaStephen Shaw NEGOTIATION
Antonio T NickaArgentinaAnna Fali NEW
Jones I SchemmerBrazilIoni Bowcher NEGOTIATION
Nicolas C CampainGermanyElwin Sharvill NEGOTIATION
Nicolas H StensethArgentinaAnna Fali QUALIFIED
Octavia S BologniaCanadaXuxue Feng NEW
Tony G PaprockiUnited KingdomXuxue Feng QUALIFIED
Faith G IturbideUnited KingdomOnyama Limba PROPOSAL
Greenwood L VenereCanadaIoni Bowcher RENEWAL
Adams U MaletRussiaXuxue Feng PROPOSAL
Leja C IturbideSpainOnyama Limba PROPOSAL
David W GlickBrazilStephen Shaw PROPOSAL
Johnson X ShinkoSpainElwin Sharvill UNQUALIFIED
Aditya V KolmetzRussiaAsiya Javayant NEW
Aditya T RoysterIndiaOnyama Limba UNQUALIFIED
Adams C StensethRussiaStephen Shaw PROPOSAL
Johnson T FigeroaCanadaXuxue Feng PROPOSAL
David U CampainFranceAnna Fali NEGOTIATION
Aruna L KuskoFranceStephen Shaw QUALIFIED
Greenwood A WaycottAustraliaOnyama Limba NEW
Misaki Q IturbideSpainElwin Sharvill UNQUALIFIED
Jennifer J CaudyItalyIvan Magalhaes QUALIFIED
Jeanfrancois G GarufiRussiaOnyama Limba UNQUALIFIED
Julie I PerinCanadaXuxue Feng RENEWAL
Jones E MaletUnited KingdomAsiya Javayant NEGOTIATION
Mayumi H RimJapanOnyama Limba QUALIFIED
James L FerenczSpainIoni Bowcher NEW
Johnson T OstroskyJapanAsiya Javayant QUALIFIED
Faith Z FlosiRussiaElwin Sharvill UNQUALIFIED
Isabel V ShinkoItalyStephen Shaw RENEWAL
Wickens O BriddickUnited KingdomAmy Elsner NEGOTIATION
Kadeem E RoysterJapanOnyama Limba RENEWAL
Salvatore R IturbideSpainIvan Magalhaes QUALIFIED
Costa R AmigonRussiaXuxue Feng RENEWAL
Octavia E DoeFranceAmy Elsner QUALIFIED
Alejandro B WieserRussiaOnyama Limba UNQUALIFIED
Ashley B MarrierItalyBernardo Dominic QUALIFIED
Salvatore Z CampainGermanyElwin Sharvill NEW
Julie R WieserAustraliaIvan Magalhaes RENEWAL
Jones J MaletIndiaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan S GlickIndiaAnna Fali RENEWAL
Greenwood S NickaUnited KingdomXuxue Feng NEGOTIATION
Misaki X FlosiCanadaIoni Bowcher NEGOTIATION
Kaitlin G ChuiBrazilStephen Shaw NEW
Munro S KuskoItalyStephen Shaw NEW
James Z MaletSpainIvan Magalhaes RENEWAL
David C KuskoGermanyIoni Bowcher NEGOTIATION
Maisha E BriddickJapanAnna Fali QUALIFIED
Greenwood W RoysterGermanyIoni Bowcher UNQUALIFIED
Murillo R AmigonAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro M CaudyFrance2024-05-19Benton, John B Jr NEW13Asiya Javayant
1001Emily Y DoeUnited Kingdom2024-06-11Feltz Printing Service UNQUALIFIED17Ivan Magalhaes
1002Faith W BriddickJapan2024-06-02Rousseaux, Michael Esq QUALIFIED27Ioni Bowcher
1003Munro I MaletBrazil2024-05-19Chapman, Ross E Esq PROPOSAL61Onyama Limba
1004Maria R CaudyIndia2024-05-23Morlong Associates NEW70Stephen Shaw
1005Leon C MaletJapan2024-05-21Commercial Press QUALIFIED44Ioni Bowcher
1006Cody P AlbaresItaly2024-05-16Rousseaux, Michael Esq RENEWAL82Ioni Bowcher
1007Wickens F RimGermany2024-05-30Chemel, James L Cpa NEGOTIATION99Anna Fali
1008Nicolas K FollerGermany2024-06-01Dorl, James J Esq QUALIFIED41Bernardo Dominic
1009Salvatore R NickaItaly2024-05-18Chanay, Jeffrey A Esq NEW12Stephen Shaw
1010Faith S BowleyJapan2024-05-30Buckley Miller Wright NEW66Bernardo Dominic
1011Izzy V FollerFrance2024-05-19Rousseaux, Michael Esq RENEWAL25Ivan Magalhaes
1012Sinclair R StensethCanada2024-06-06Buckley Miller Wright QUALIFIED75Amy Elsner
1013Alejandro O StensethSpain2024-06-02Dorl, James J Esq NEW76Asiya Javayant
1014Francesco F NestleArgentina2024-05-18Rangoni Of Florence QUALIFIED64Anna Fali
1015James J CampainFrance2024-06-12King, Christopher A Esq RENEWAL79Onyama Limba
1016Aika O KolmetzItaly2024-05-16Chapman, Ross E Esq QUALIFIED5Amy Elsner
1017Costa R RimSpain2024-05-20Feiner Bros UNQUALIFIED33Anna Fali
1018James U CaldareraFrance2024-06-11King, Christopher A Esq NEGOTIATION84Onyama Limba
1019Izzy C RulapaughFrance2024-05-31Buckley Miller Wright QUALIFIED72Ivan Magalhaes
1020Kadeem S DarakjyArgentina2024-06-10Buckley Miller Wright RENEWAL36Elwin Sharvill
1021Octavia E InouyeFrance2024-05-28Feltz Printing Service QUALIFIED92Stephen Shaw
1022Johnson O RutaSpain2024-06-02Dorl, James J Esq RENEWAL53Ioni Bowcher
1023Deepesh W SlusarskiUnited Kingdom2024-05-22King, Christopher A Esq RENEWAL20Elwin Sharvill
1024Leja D MacleadJapan2024-06-03King, Christopher A Esq NEW27Ioni Bowcher
1025Cody I FlosiIndia2024-05-30Feiner Bros UNQUALIFIED51Elwin Sharvill
1026Chavez Y RutaArgentina2024-06-06Buckley Miller Wright NEW52Stephen Shaw
1027Maisha L VenereJapan2024-05-20Truhlar And Truhlar Attys PROPOSAL99Amy Elsner
1028Ashley F WaycottGermany2024-06-07Benton, John B Jr PROPOSAL79Xuxue Feng
1029Ivar G SlusarskiRussia2024-05-20Feiner Bros QUALIFIED79Ivan Magalhaes
1030Murillo K TollnerItaly2024-06-08Commercial Press NEGOTIATION79Bernardo Dominic
1031Murillo E FollerFrance2024-05-22Rousseaux, Michael Esq QUALIFIED58Onyama Limba
1032Antonio Y SchemmerGermany2024-05-20Dorl, James J Esq UNQUALIFIED2Asiya Javayant
1033Clifford D WhobreySpain2024-06-09Rousseaux, Michael Esq NEW76Bernardo Dominic
1034Cody N DarakjyIndia2024-05-23Truhlar And Truhlar Attys RENEWAL81Anna Fali
1035Deepesh B MaletSpain2024-05-15Benton, John B Jr RENEWAL24Stephen Shaw
1036Claire M GillianFrance2024-06-10Feiner Bros PROPOSAL81Amy Elsner
1037Mayumi P OstroskyCanada2024-06-05Rousseaux, Michael Esq QUALIFIED27Bernardo Dominic
1038Morrow T VenereBrazil2024-05-27Truhlar And Truhlar Attys UNQUALIFIED24Anna Fali
1039Chavez C KolmetzSpain2024-05-23Commercial Press PROPOSAL97Anna Fali
1040Aika Q ShinkoRussia2024-06-04Feltz Printing Service QUALIFIED5Asiya Javayant
1041Rodrigues S BologniaRussia2024-05-27Chapman, Ross E Esq UNQUALIFIED69Onyama Limba
1042Leja I ButtSpain2024-06-13Morlong Associates NEW73Ioni Bowcher
1043Octavia H TollnerCanada2024-06-05Morlong Associates UNQUALIFIED29Bernardo Dominic
1044Greenwood N KolmetzRussia2024-06-09Rousseaux, Michael Esq PROPOSAL88Asiya Javayant
1045Arvin O MarrierRussia2024-05-28Chapman, Ross E Esq UNQUALIFIED88Asiya Javayant
1046Darci H OldroydIndia2024-05-30Commercial Press RENEWAL96Asiya Javayant
1047Greenwood F BriddickArgentina2024-05-17Chemel, James L Cpa QUALIFIED48Anna Fali
1048Ivar E GlickFrance2024-05-16King, Christopher A Esq NEGOTIATION27Onyama Limba
1049Izzy N VocelkaCanada2024-06-11Morlong Associates UNQUALIFIED12Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas Q DoeJapanXuxue Feng NEW
Kaitlin C GlickGermanyIoni Bowcher QUALIFIED
Ricardo Y MarrierFranceAmy Elsner NEGOTIATION
Faith I SergiJapanOnyama Limba NEW
Claire U SchemmerUnited KingdomXuxue Feng PROPOSAL
Mayumi I DarakjyJapanAmy Elsner UNQUALIFIED
Tony Z MaletUnited KingdomStephen Shaw UNQUALIFIED
Jefferson S WhobreyIndiaIvan Magalhaes UNQUALIFIED
Nicolas P FollerSpainAsiya Javayant NEW
Francesco S BologniaJapanStephen Shaw RENEWAL
Misaki R ChuiIndiaAnna Fali NEGOTIATION
Maria V OstroskyIndiaAnna Fali NEGOTIATION
Costa T GillianUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem W FollerGermanyBernardo Dominic PROPOSAL
Claire G OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Leon O StensethBrazilIvan Magalhaes RENEWAL
Chavez Q MaletRussiaAsiya Javayant RENEWAL
Leon I WaycottAustraliaStephen Shaw PROPOSAL
Leon H AlbaresJapanAnna Fali UNQUALIFIED
Nicolas O DilliardItalyBernardo Dominic RENEWAL
Darci B NestleJapanAnna Fali NEW
Greenwood O MaletJapanOnyama Limba UNQUALIFIED
Izzy R ButtBrazilBernardo Dominic QUALIFIED
Jefferson E MaletCanadaBernardo Dominic NEW
Antonio N KolmetzSpainOnyama Limba NEGOTIATION
Faith U WaycottAustraliaAsiya Javayant RENEWAL
Morrow W RimFranceIvan Magalhaes PROPOSAL
Silvio N ChuiFranceOnyama Limba NEGOTIATION
Ivar R SlusarskiArgentinaAnna Fali NEW
Jennifer C GillianGermanyElwin Sharvill NEGOTIATION
James I MacleadCanadaStephen Shaw PROPOSAL
Johnson G TollnerIndiaElwin Sharvill QUALIFIED
Rodrigues G VenereCanadaAmy Elsner RENEWAL
Leja M WieserSpainXuxue Feng UNQUALIFIED
Johnson D DoeArgentinaAnna Fali NEGOTIATION
Kaitlin Z ChuiAustraliaAnna Fali UNQUALIFIED
Murillo Y MaletAustraliaOnyama Limba NEW
Ricardo E InouyeItalyAsiya Javayant UNQUALIFIED
Juan T TollnerArgentinaXuxue Feng PROPOSAL
Tony N CaudyBrazilBernardo Dominic PROPOSAL
Jones M BriddickFranceAnna Fali QUALIFIED
Wickens I StensethRussiaElwin Sharvill NEW
Munro R DarakjyCanadaBernardo Dominic QUALIFIED
Jefferson O OldroydFranceOnyama Limba NEW
Izzy J GarufiCanadaStephen Shaw NEGOTIATION
Jefferson J MarrierItalyElwin Sharvill RENEWAL
Maria I CaudyItalyXuxue Feng PROPOSAL
Murillo X WaycottIndiaStephen Shaw UNQUALIFIED
Maria G GillianIndiaOnyama Limba UNQUALIFIED
Isabel K WieserRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Salvatore S Schemmer
Octavia P Caldarera
Munro V Wieser
David X Oldroyd
James W Caudy
Jeanfrancois I Saylors
Octavia H Stenseth
Jennifer K Morasca
Maria C Glick
Maisha F Ostrosky
Chavez N Kolmetz
Julie D Ruta
Aruna Z Ruta
Jennifer O Darakjy
Adams M Bolognia
Mayumi R Poquette
Maria V Shinko
Aika N Darakjy
Cody J Schemmer
Morrow I Kusko
Salvatore Z Morasca
Kaitlin M Glick
Francesco B Slusarski
Julie F Chui
David F Ostrosky
Chavez L Nestle
Smith X Chui
Francesco M Caudy
Cody J Amigon
Aditya U Royster
Salvatore Q Kusko
Clifford C Oldroyd
Clifford N Slusarski
Alejandro W Rulapaugh
Izzy C Schemmer
Mujtaba J Bolognia
Sinclair W Dilliard
Julie X Bolognia
Ashley B Gillian
Jefferson D Tollner
Rodrigues Z Poquette
Emily I Saylors
Rodrigues Z Perin
Mayumi O Perin
Costa F Ostrosky
Misaki N Caldarera
Julie X Tollner
David H Vocelka
Costa U Perin
Jefferson S Sergi
IdCountryDate
1000Argentina2024-06-12
1001India2024-06-07
1002Brazil2024-05-26
1003Spain2024-05-27
1004United Kingdom2024-06-04
1005Japan2024-05-23
1006Australia2024-05-15
1007United Kingdom2024-06-07
1008Spain2024-05-21
1009Spain2024-05-24
1010India2024-05-20
1011Italy2024-06-10
1012United Kingdom2024-06-01
1013Japan2024-06-11
1014Canada2024-06-11
1015Canada2024-06-09
1016Italy2024-06-12
1017Australia2024-05-31
1018India2024-06-10
1019Italy2024-05-21
1020France2024-05-15
1021France2024-06-05
1022France2024-06-10
1023Argentina2024-05-29
1024Russia2024-06-11
1025Brazil2024-06-08
1026Argentina2024-06-10
1027United Kingdom2024-05-23
1028France2024-06-13
1029United Kingdom2024-05-18
1030United Kingdom2024-06-11
1031Spain2024-05-31
1032Japan2024-05-26
1033Russia2024-05-18
1034Spain2024-05-30
1035Spain2024-06-04
1036Russia2024-06-02
1037Spain2024-05-19
1038Japan2024-05-22
1039India2024-05-19
1040United Kingdom2024-06-12
1041Argentina2024-06-05
1042Argentina2024-05-28
1043Germany2024-05-27
1044Canada2024-05-22
1045Brazil2024-06-13
1046Spain2024-06-03
1047Russia2024-06-12
1048France2024-05-16
1049France2024-05-16

On-Demand Data

NameIdCountryDate
Johnson E Caldarera1000France2024-05-23
David U Foller1001Russia2024-06-04
Greenwood W Stenseth1002Australia2024-06-10
Nicolas O Marrier1003Italy2024-05-15
Leon Z Caldarera1004India2024-05-24
Ricardo T Maclead1005Russia2024-05-16
Izzy G Stenseth1006Italy2024-06-09
Alejandro C Schemmer1007Spain2024-06-05
Morrow R Saylors1008Spain2024-05-22
Adams A Venere1009Germany2024-05-25
Greenwood V Inouye1010United Kingdom2024-05-25
Antonio A Venere1011Canada2024-05-29
Adams J Darakjy1012Canada2024-05-28
Tony S Slusarski1013Australia2024-06-02
Jeanfrancois T Bolognia1014Russia2024-06-10
Clifford S Perin1015Spain2024-06-07
James M Gillian1016Japan2024-06-12
Aditya W Vocelka1017Japan2024-06-11
Johnson O Iturbide1018Canada2024-06-03
Deepesh D Sergi1019India2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja G MacleadIndiaAnna Fali NEW
Izzy Y CampainCanadaAmy Elsner RENEWAL
Emily Q PoquetteUnited KingdomStephen Shaw PROPOSAL
James H SergiSpainIoni Bowcher PROPOSAL
Silvio X NickaItalyOnyama Limba QUALIFIED
Smith W AmigonCanadaAsiya Javayant NEGOTIATION
Julie J CampainBrazilIvan Magalhaes NEGOTIATION
Faith C PoquetteSpainAmy Elsner RENEWAL
Darci L RoysterIndiaIvan Magalhaes QUALIFIED
Aruna Y OldroydAustraliaIvan Magalhaes PROPOSAL
Faith R MarrierItalyXuxue Feng NEW
Munro H KuskoRussiaOnyama Limba PROPOSAL
Maria S ButtUnited KingdomIoni Bowcher UNQUALIFIED
Silvio T MarrierUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois Q InouyeAustraliaAnna Fali RENEWAL
Ashley H MaletItalyStephen Shaw NEW
James X SergiIndiaIoni Bowcher NEW
Juan W SchemmerBrazilOnyama Limba RENEWAL
Arvin I RulapaughSpainElwin Sharvill QUALIFIED
Claire P RimBrazilElwin Sharvill PROPOSAL
Aditya Y FerenczSpainAnna Fali RENEWAL
Morrow J GlickFranceXuxue Feng RENEWAL
Ricardo W FerenczCanadaIoni Bowcher NEGOTIATION
Rodrigues B OstroskyRussiaStephen Shaw NEW
James K StensethUnited KingdomAnna Fali PROPOSAL
Darci Q FerenczGermanyOnyama Limba RENEWAL
James W AmigonJapanAnna Fali UNQUALIFIED
Smith X BowleyIndiaAnna Fali QUALIFIED
Smith V GillianFranceStephen Shaw QUALIFIED
Smith R ChuiBrazilBernardo Dominic PROPOSAL
Leja P MarrierItalyBernardo Dominic PROPOSAL
Jeanfrancois R PaprockiGermanyBernardo Dominic NEW
Leja B ShinkoIndiaElwin Sharvill NEW
Ashley N DilliardJapanElwin Sharvill PROPOSAL
Ricardo A BologniaFranceXuxue Feng PROPOSAL
Deepesh D AmigonRussiaIoni Bowcher QUALIFIED
Cody G FerenczItalyElwin Sharvill UNQUALIFIED
Leja M MorascaAustraliaAnna Fali NEW
Aruna P MorascaGermanyXuxue Feng NEW
Clifford F MacleadRussiaStephen Shaw QUALIFIED

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