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
Faith U RoysterGermanyIvan Magalhaes QUALIFIED
Darci K SchemmerUnited KingdomXuxue Feng NEW
Mayumi E MorascaGermanyAmy Elsner NEGOTIATION
Stacey T SergiAustraliaIvan Magalhaes PROPOSAL
Murillo N ButtArgentinaBernardo Dominic NEW
Alejandro P DoeItalyStephen Shaw RENEWAL
Claire J MaletFranceAmy Elsner QUALIFIED
Mayumi X WaycottArgentinaStephen Shaw NEW
Kaitlin S StockhamItalyOnyama Limba UNQUALIFIED
Maria Q CampainArgentinaIvan Magalhaes PROPOSAL
Leon I ButtUnited KingdomAmy Elsner RENEWAL
Clifford U MarrierSpainStephen Shaw UNQUALIFIED
Izzy R BowleyCanadaStephen Shaw UNQUALIFIED
Murillo J DoeFranceOnyama Limba QUALIFIED
Leja B FollerBrazilAsiya Javayant RENEWAL
Jennifer R ChuiAustraliaIvan Magalhaes PROPOSAL
Silvio C TollnerIndiaElwin Sharvill UNQUALIFIED
Murillo P RoysterSpainIoni Bowcher PROPOSAL
Emily S ChuiFranceAmy Elsner RENEWAL
Darci B GarufiArgentinaAsiya Javayant QUALIFIED
Jones H OldroydIndiaOnyama Limba NEW
Salvatore H CaldareraIndiaAsiya Javayant UNQUALIFIED
Claire E VocelkaRussiaAnna Fali UNQUALIFIED
Mayumi U RutaRussiaIoni Bowcher RENEWAL
Kadeem N GlickJapanXuxue Feng NEGOTIATION
Jefferson M WaycottUnited KingdomStephen Shaw NEW
Morrow U MaletIndiaIvan Magalhaes RENEWAL
Darci O WaycottUnited KingdomIoni Bowcher NEGOTIATION
Leja X SaylorsUnited KingdomBernardo Dominic RENEWAL
Arvin U MaletUnited KingdomAnna Fali QUALIFIED
Jennifer X PaprockiCanadaAnna Fali RENEWAL
Greenwood K SlusarskiSpainOnyama Limba NEGOTIATION
Wickens H GauchoRussiaBernardo Dominic QUALIFIED
James H KuskoJapanIoni Bowcher NEW
Nicolas E ChuiFranceOnyama Limba PROPOSAL
Emily U SergiJapanElwin Sharvill UNQUALIFIED
Izzy Z MarrierGermanyAsiya Javayant RENEWAL
Ivar X CaldareraIndiaBernardo Dominic NEW
Claire E DoeAustraliaAmy Elsner PROPOSAL
Julie M MaletRussiaIvan Magalhaes NEGOTIATION
Maria Q SlusarskiCanadaStephen Shaw NEW
David J StensethAustraliaIoni Bowcher RENEWAL
Smith F ShinkoItalyBernardo Dominic UNQUALIFIED
Stacey N MaletJapanXuxue Feng NEW
Sinclair W DilliardArgentinaOnyama Limba NEGOTIATION
Jefferson J DilliardUnited KingdomOnyama Limba PROPOSAL
Deepesh V NickaCanadaAmy Elsner PROPOSAL
Chavez M OstroskyRussiaElwin Sharvill UNQUALIFIED
Johnson P RulapaughUnited KingdomBernardo Dominic QUALIFIED
Stacey A FerenczJapanAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Stacey A MacleadGermanyXuxue Feng NEW
Deepesh O PerinIndiaOnyama Limba QUALIFIED
David T StensethArgentinaAnna Fali UNQUALIFIED
Stacey A StensethUnited KingdomOnyama Limba NEGOTIATION
Ivar K KolmetzCanadaAnna Fali QUALIFIED
Murillo N StockhamSpainAsiya Javayant QUALIFIED
Nicolas X RutaCanadaIoni Bowcher PROPOSAL
Munro A StensethIndiaXuxue Feng NEW
Murillo P BriddickAustraliaIoni Bowcher NEW
Costa A InouyeUnited KingdomXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria S TollnerUnited Kingdom2024-05-26Chapman, Ross E Esq NEW31Xuxue Feng
1001Faith G WaycottGermany2024-06-17Chapman, Ross E Esq UNQUALIFIED83Anna Fali
1002Jennifer R FerenczCanada2024-06-20Truhlar And Truhlar Attys NEGOTIATION59Asiya Javayant
1003Wickens J BriddickItaly2024-05-28Feltz Printing Service RENEWAL20Elwin Sharvill
1004Leon N VocelkaBrazil2024-06-03Commercial Press RENEWAL50Onyama Limba
1005Mujtaba B MaletJapan2024-05-28Buckley Miller Wright QUALIFIED46Onyama Limba
1006Morrow M FerenczCanada2024-06-07Dorl, James J Esq RENEWAL3Anna Fali
1007Emily E ButtIndia2024-06-19Chemel, James L Cpa UNQUALIFIED71Stephen Shaw
1008Cody E ShinkoUnited Kingdom2024-06-12Chapman, Ross E Esq QUALIFIED40Ioni Bowcher
1009Leja Y FerenczIndia2024-06-19Chanay, Jeffrey A Esq NEW63Asiya Javayant
1010Antonio L GarufiCanada2024-05-31Chemel, James L Cpa QUALIFIED22Ioni Bowcher
1011Leja I KuskoIndia2024-06-21Rousseaux, Michael Esq NEGOTIATION39Anna Fali
1012Jeanfrancois R GauchoIndia2024-06-17Commercial Press PROPOSAL33Xuxue Feng
1013Francesco Q GauchoArgentina2024-06-11Chapman, Ross E Esq RENEWAL32Onyama Limba
1014Leon Z InouyeCanada2024-05-24Truhlar And Truhlar Attys NEGOTIATION57Asiya Javayant
1015Costa E CampainArgentina2024-06-12Rousseaux, Michael Esq QUALIFIED91Stephen Shaw
1016Cody W IturbideArgentina2024-06-16Chapman, Ross E Esq UNQUALIFIED34Asiya Javayant
1017Silvio V TollnerFrance2024-06-11Chapman, Ross E Esq NEGOTIATION17Amy Elsner
1018Isabel O TollnerGermany2024-06-08King, Christopher A Esq PROPOSAL0Asiya Javayant
1019Tony Q ChuiItaly2024-05-29King, Christopher A Esq PROPOSAL10Bernardo Dominic
1020Francesco U GarufiIndia2024-06-17Chapman, Ross E Esq NEGOTIATION62Asiya Javayant
1021Aditya Q PerinBrazil2024-05-24Feiner Bros UNQUALIFIED87Ioni Bowcher
1022Mayumi V SaylorsIndia2024-06-12Rousseaux, Michael Esq QUALIFIED71Xuxue Feng
1023Faith N RutaArgentina2024-06-01Chapman, Ross E Esq QUALIFIED35Bernardo Dominic
1024Sinclair K AlbaresArgentina2024-06-08Dorl, James J Esq NEGOTIATION46Bernardo Dominic
1025Mayumi P MaletSpain2024-05-25Dorl, James J Esq PROPOSAL94Xuxue Feng
1026Wickens J NestleGermany2024-06-09Commercial Press NEW91Xuxue Feng
1027Johnson Y DarakjyBrazil2024-05-25Buckley Miller Wright NEW56Ioni Bowcher
1028Kaitlin R DoeArgentina2024-05-29King, Christopher A Esq QUALIFIED21Ioni Bowcher
1029Johnson K GillianItaly2024-06-18Chanay, Jeffrey A Esq PROPOSAL10Onyama Limba
1030Maria L RutaJapan2024-05-28Feltz Printing Service UNQUALIFIED69Asiya Javayant
1031Sinclair P SlusarskiIndia2024-06-14Chanay, Jeffrey A Esq PROPOSAL92Elwin Sharvill
1032Smith T VenereIndia2024-06-20Feltz Printing Service QUALIFIED45Bernardo Dominic
1033Antonio N FlosiSpain2024-05-25Buckley Miller Wright NEGOTIATION73Xuxue Feng
1034Jones B MaletCanada2024-06-08Dorl, James J Esq QUALIFIED44Bernardo Dominic
1035Darci B VocelkaIndia2024-06-11Morlong Associates NEW14Asiya Javayant
1036Julie W GillianFrance2024-06-09Feltz Printing Service NEW41Elwin Sharvill
1037Chavez E BologniaFrance2024-06-19Rousseaux, Michael Esq NEGOTIATION9Elwin Sharvill
1038Costa R WhobreyRussia2024-06-04King, Christopher A Esq RENEWAL18Ivan Magalhaes
1039Alejandro X FlosiAustralia2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED56Onyama Limba
1040Kaitlin M NestleAustralia2024-05-26King, Christopher A Esq NEGOTIATION2Stephen Shaw
1041Alejandro Z MarrierItaly2024-06-07Chemel, James L Cpa PROPOSAL11Onyama Limba
1042Claire L PaprockiGermany2024-05-28Chemel, James L Cpa RENEWAL20Ivan Magalhaes
1043Jefferson D SchemmerCanada2024-06-17Dorl, James J Esq RENEWAL91Ioni Bowcher
1044Johnson T NestleUnited Kingdom2024-06-14Feiner Bros NEGOTIATION91Xuxue Feng
1045Ivar H VenereArgentina2024-06-03Printing Dimensions NEW8Stephen Shaw
1046Kadeem A CaudyArgentina2024-06-06Truhlar And Truhlar Attys RENEWAL83Onyama Limba
1047Mayumi K TollnerIndia2024-06-05King, Christopher A Esq UNQUALIFIED59Anna Fali
1048Ricardo O AlbaresAustralia2024-06-08Morlong Associates NEGOTIATION21Elwin Sharvill
1049Stacey A MaletRussia2024-06-13Buckley Miller Wright NEGOTIATION94Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Salvatore L SaylorsJapanElwin Sharvill UNQUALIFIED
Chavez E MaletArgentinaAmy Elsner QUALIFIED
Julie V FerenczAustraliaIoni Bowcher UNQUALIFIED
Cody X TollnerBrazilBernardo Dominic NEGOTIATION
Julie G PerinCanadaBernardo Dominic RENEWAL
Octavia Z OldroydBrazilIoni Bowcher PROPOSAL
Izzy J RutaGermanyBernardo Dominic NEW
Adams A MorascaItalyAsiya Javayant QUALIFIED
Darci S CampainAustraliaStephen Shaw RENEWAL
Kadeem L VenereAustraliaOnyama Limba NEGOTIATION
Cody N GauchoJapanAnna Fali UNQUALIFIED
Aditya O NestleIndiaAnna Fali NEGOTIATION
Francesco E GarufiIndiaAmy Elsner RENEWAL
Costa C IturbideAustraliaXuxue Feng UNQUALIFIED
Smith G VocelkaAustraliaElwin Sharvill UNQUALIFIED
Kadeem A CampainItalyAsiya Javayant QUALIFIED
Murillo K RutaItalyAnna Fali UNQUALIFIED
Salvatore Y SlusarskiJapanElwin Sharvill NEW
Francesco N WhobreyBrazilBernardo Dominic UNQUALIFIED
Jones M SchemmerUnited KingdomIoni Bowcher QUALIFIED
Silvio E ChuiFranceOnyama Limba NEGOTIATION
Ashley K PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Alejandro L GarufiBrazilElwin Sharvill PROPOSAL
Clifford H WieserRussiaIvan Magalhaes UNQUALIFIED
Maria E RoysterCanadaBernardo Dominic RENEWAL
Rodrigues A DarakjyAustraliaAmy Elsner RENEWAL
Izzy L NickaRussiaAnna Fali NEGOTIATION
Maria E MorascaFranceIvan Magalhaes RENEWAL
Jefferson K BologniaArgentinaAsiya Javayant PROPOSAL
Jennifer Z MaletGermanyXuxue Feng QUALIFIED
Ivar F StensethFranceIoni Bowcher RENEWAL
Ivar E SaylorsArgentinaOnyama Limba PROPOSAL
Costa G AlbaresSpainAnna Fali PROPOSAL
Kaitlin R InouyeRussiaAmy Elsner UNQUALIFIED
Juan D SaylorsJapanAnna Fali NEGOTIATION
Johnson U BologniaSpainAmy Elsner NEGOTIATION
Emily E BriddickRussiaAnna Fali PROPOSAL
Maria L FlosiFranceAmy Elsner NEW
Antonio Y CaudyUnited KingdomIvan Magalhaes PROPOSAL
Nicolas I PaprockiCanadaStephen Shaw NEW
Ivar S RutaRussiaIoni Bowcher RENEWAL
Darci M MacleadJapanAmy Elsner NEGOTIATION
Aika X ShinkoFranceXuxue Feng UNQUALIFIED
Antonio G RoysterIndiaAnna Fali NEW
Cody G MaletGermanyXuxue Feng QUALIFIED
Kaitlin W CaudyFranceElwin Sharvill QUALIFIED
Aruna U StockhamGermanyStephen Shaw QUALIFIED
Munro L TollnerArgentinaAsiya Javayant NEGOTIATION
Murillo Q IturbideUnited KingdomAnna Fali PROPOSAL
Antonio C ButtBrazilIoni Bowcher QUALIFIED
Frozen Columns
Name
Emily K Oldroyd
Alejandro U Inouye
Kaitlin O Sergi
Claire L Bolognia
Wickens R Whobrey
Tony I Flosi
Ashley R Schemmer
Isabel S Ostrosky
Jennifer C Stockham
Darci N Bowley
Johnson A Royster
Munro P Darakjy
Stacey J Ostrosky
Octavia I Flosi
Maria D Poquette
Munro Z Schemmer
Murillo M Shinko
Johnson J Ruta
Mujtaba W Flosi
Jefferson X Paprocki
Jennifer X Ostrosky
Ivar D Vocelka
Jones D Darakjy
Jeanfrancois I Campain
Clifford R Flosi
David E Poquette
Johnson F Chui
Wickens V Tollner
Sinclair W Glick
Aditya E Shinko
Murillo A Stockham
Maisha G Sergi
Julie O Chui
Wickens Q Butt
Morrow L Glick
Mujtaba C Kusko
Ashley G Oldroyd
Julie W Oldroyd
Alejandro Z Schemmer
Deepesh X Iturbide
Salvatore R Rulapaugh
James N Rulapaugh
Tony S Malet
Misaki M Briddick
Rodrigues R Whobrey
Jeanfrancois H Kusko
Maria G Figeroa
Jennifer S Chui
Emily W Campain
Izzy I Maclead
IdCountryDate
1000Argentina2024-06-05
1001France2024-05-28
1002Russia2024-06-10
1003Canada2024-06-08
1004Argentina2024-06-17
1005United Kingdom2024-06-13
1006Australia2024-06-14
1007Canada2024-05-26
1008Canada2024-06-03
1009Russia2024-06-11
1010India2024-05-31
1011United Kingdom2024-06-12
1012Australia2024-05-24
1013France2024-06-03
1014Russia2024-05-25
1015United Kingdom2024-05-29
1016India2024-05-27
1017United Kingdom2024-06-02
1018Canada2024-06-07
1019Russia2024-06-06
1020Russia2024-06-02
1021Russia2024-05-27
1022United Kingdom2024-05-31
1023Canada2024-05-27
1024United Kingdom2024-06-12
1025Italy2024-05-24
1026Australia2024-05-28
1027France2024-06-05
1028Italy2024-06-16
1029Australia2024-06-02
1030France2024-05-24
1031Argentina2024-06-10
1032Italy2024-06-09
1033Canada2024-06-22
1034United Kingdom2024-06-01
1035Canada2024-06-05
1036Canada2024-06-15
1037Canada2024-05-30
1038Brazil2024-06-01
1039India2024-06-22
1040Argentina2024-06-05
1041France2024-06-09
1042Germany2024-06-01
1043Canada2024-06-17
1044Russia2024-06-12
1045Japan2024-06-22
1046Russia2024-06-12
1047India2024-06-02
1048Australia2024-06-02
1049United Kingdom2024-06-03

On-Demand Data

NameIdCountryDate
Adams M Glick1000Germany2024-06-08
Stacey J Perin1001Canada2024-06-05
Julie F Royster1002India2024-05-30
Maisha Y Vocelka1003United Kingdom2024-06-07
Jeanfrancois V Butt1004United Kingdom2024-06-07
Alejandro G Caudy1005Japan2024-06-13
Costa R Albares1006United Kingdom2024-06-14
Cody U Campain1007Brazil2024-05-27
Alejandro S Flosi1008Australia2024-06-09
Nicolas D Ferencz1009Canada2024-06-22
Aika G Chui1010Brazil2024-06-14
Chavez H Bolognia1011India2024-06-07
Jennifer E Caudy1012France2024-06-10
Arvin H Nicka1013Australia2024-06-15
Emily L Bolognia1014Japan2024-06-06
Nicolas O Inouye1015Spain2024-06-20
Ivar Z Kolmetz1016Spain2024-06-04
Silvio G Iturbide1017Canada2024-06-10
Tony P Royster1018Russia2024-06-08
Munro N Wieser1019France2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio P RulapaughArgentinaBernardo Dominic NEW
James K AmigonJapanAmy Elsner PROPOSAL
Munro U TollnerJapanXuxue Feng NEGOTIATION
Salvatore Q DoeSpainOnyama Limba QUALIFIED
Ivar J RulapaughAustraliaElwin Sharvill QUALIFIED
Clifford R KolmetzBrazilElwin Sharvill RENEWAL
David F PoquetteSpainXuxue Feng RENEWAL
Ashley M RimGermanyElwin Sharvill QUALIFIED
Faith G SaylorsSpainBernardo Dominic PROPOSAL
Aruna I ShinkoGermanyElwin Sharvill UNQUALIFIED
Jones S ShinkoBrazilXuxue Feng NEW
Aditya G DarakjySpainOnyama Limba PROPOSAL
Jeanfrancois M KuskoRussiaOnyama Limba UNQUALIFIED
Sinclair S AmigonBrazilAnna Fali NEW
Mujtaba E MarrierFranceAsiya Javayant RENEWAL
Ivar B BologniaFranceElwin Sharvill UNQUALIFIED
Leon H ChuiAustraliaXuxue Feng NEW
Munro R BriddickCanadaIvan Magalhaes NEW
Tony H FigeroaItalyIvan Magalhaes NEGOTIATION
Aika A KuskoCanadaElwin Sharvill QUALIFIED
Salvatore A RoysterSpainAmy Elsner RENEWAL
Smith I WieserGermanyXuxue Feng NEW
Cody W TollnerCanadaBernardo Dominic RENEWAL
Faith E MaletGermanyOnyama Limba NEW
Ashley F VenereAustraliaIoni Bowcher PROPOSAL
Nicolas L VocelkaUnited KingdomAnna Fali RENEWAL
Johnson B RoysterAustraliaIoni Bowcher NEW
Faith Y FigeroaItalyOnyama Limba RENEWAL
David E CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo S FerenczCanadaIvan Magalhaes RENEWAL
Emily J BologniaUnited KingdomStephen Shaw NEGOTIATION
Tony D SaylorsArgentinaXuxue Feng PROPOSAL
Aika Q BriddickGermanyAsiya Javayant NEW
Juan J ChuiCanadaXuxue Feng QUALIFIED
Darci D GauchoFranceIvan Magalhaes RENEWAL
Darci H FollerCanadaXuxue Feng PROPOSAL
Jennifer G DilliardBrazilStephen Shaw UNQUALIFIED
Jennifer W MaletCanadaOnyama Limba QUALIFIED
Rodrigues T FollerUnited KingdomElwin Sharvill RENEWAL
Kadeem V KuskoSpainOnyama Limba 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>