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
Morrow W GillianRussiaAmy Elsner RENEWAL
Kaitlin T DarakjyUnited KingdomXuxue Feng NEW
Munro R KolmetzUnited KingdomOnyama Limba NEGOTIATION
Costa O GauchoCanadaStephen Shaw PROPOSAL
Jefferson R OldroydBrazilAnna Fali NEW
Mujtaba M MorascaJapanOnyama Limba QUALIFIED
Jefferson T BowleyIndiaAmy Elsner RENEWAL
Greenwood I RimUnited KingdomAmy Elsner RENEWAL
Jennifer B ShinkoCanadaXuxue Feng PROPOSAL
Nicolas Q PerinItalyBernardo Dominic UNQUALIFIED
Morrow C OldroydBrazilAsiya Javayant UNQUALIFIED
Ashley T RulapaughItalyAnna Fali PROPOSAL
Mayumi J KolmetzSpainIvan Magalhaes PROPOSAL
Antonio K BriddickArgentinaBernardo Dominic NEGOTIATION
Julie X GillianBrazilIoni Bowcher UNQUALIFIED
Cody N GarufiGermanyAsiya Javayant QUALIFIED
Nicolas D RimBrazilIvan Magalhaes RENEWAL
Chavez T GillianGermanyXuxue Feng QUALIFIED
Ricardo Y SaylorsGermanyIoni Bowcher UNQUALIFIED
Silvio H GlickIndiaElwin Sharvill UNQUALIFIED
Deepesh P NickaSpainXuxue Feng PROPOSAL
Aruna Q TollnerItalyXuxue Feng NEW
Maria N DoeGermanyAmy Elsner UNQUALIFIED
Emily T GlickBrazilBernardo Dominic UNQUALIFIED
Izzy H AmigonGermanyAsiya Javayant QUALIFIED
Alejandro E GlickFranceAsiya Javayant PROPOSAL
Deepesh S WieserItalyXuxue Feng NEW
Jeanfrancois X DarakjyArgentinaAmy Elsner NEGOTIATION
Ivar V NickaUnited KingdomBernardo Dominic NEGOTIATION
Greenwood B GlickArgentinaAsiya Javayant RENEWAL
Maria H FollerCanadaIoni Bowcher UNQUALIFIED
Costa Z GarufiGermanyXuxue Feng QUALIFIED
Mayumi E TollnerAustraliaOnyama Limba PROPOSAL
Silvio G SlusarskiArgentinaXuxue Feng QUALIFIED
James K DoeBrazilAnna Fali RENEWAL
Misaki N ChuiGermanyXuxue Feng NEGOTIATION
David D StensethUnited KingdomOnyama Limba PROPOSAL
Leja N RutaFranceIvan Magalhaes NEGOTIATION
Smith Q CaldareraUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois N SaylorsGermanyAnna Fali RENEWAL
Maria K GlickRussiaStephen Shaw PROPOSAL
Silvio H BriddickGermanyAnna Fali QUALIFIED
Jeanfrancois N RimArgentinaXuxue Feng NEGOTIATION
Costa A SlusarskiIndiaIoni Bowcher PROPOSAL
Kadeem G RoysterFranceStephen Shaw PROPOSAL
Morrow E CampainGermanyStephen Shaw PROPOSAL
Munro Q CaldareraFranceIoni Bowcher PROPOSAL
Costa C CaldareraGermanyAnna Fali UNQUALIFIED
Emily G FerenczCanadaAsiya Javayant NEW
Maria H MarrierSpainOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin Y MacleadArgentinaAsiya Javayant RENEWAL
Stacey P PoquetteAustraliaIoni Bowcher NEW
Mujtaba C MaletArgentinaOnyama Limba RENEWAL
David N CampainArgentinaOnyama Limba RENEWAL
Darci I MorascaUnited KingdomStephen Shaw RENEWAL
Wickens V BologniaArgentinaAsiya Javayant UNQUALIFIED
Alejandro R PaprockiArgentinaIoni Bowcher RENEWAL
Arvin Z FerenczItalyAmy Elsner UNQUALIFIED
Aruna W SaylorsSpainIoni Bowcher UNQUALIFIED
Murillo K CaudyArgentinaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya J FlosiCanada2024-05-25King, Christopher A Esq NEGOTIATION24Onyama Limba
1001Aika P GlickBrazil2024-05-28King, Christopher A Esq RENEWAL32Amy Elsner
1002Leon S NestleGermany2024-05-25Dorl, James J Esq UNQUALIFIED60Ioni Bowcher
1003Alejandro O DoeAustralia2024-06-13Feltz Printing Service QUALIFIED10Bernardo Dominic
1004Rodrigues K CaldareraAustralia2024-06-11Feiner Bros QUALIFIED49Stephen Shaw
1005Stacey P KuskoFrance2024-06-12Printing Dimensions RENEWAL58Ivan Magalhaes
1006Clifford J CaudyRussia2024-06-08King, Christopher A Esq QUALIFIED14Stephen Shaw
1007Kaitlin D GauchoSpain2024-06-16Buckley Miller Wright RENEWAL61Amy Elsner
1008Octavia B RoysterIndia2024-06-20Printing Dimensions NEW52Amy Elsner
1009Mujtaba T FollerUnited Kingdom2024-06-03Rangoni Of Florence RENEWAL84Xuxue Feng
1010Jefferson X ChuiAustralia2024-06-20Chapman, Ross E Esq NEW3Onyama Limba
1011Aika T MacleadAustralia2024-06-03Printing Dimensions PROPOSAL7Stephen Shaw
1012Emily C MorascaRussia2024-05-29Rangoni Of Florence NEW6Ioni Bowcher
1013Arvin D BologniaAustralia2024-06-07Feltz Printing Service NEGOTIATION60Ioni Bowcher
1014Jennifer F NestleRussia2024-06-02Chapman, Ross E Esq NEW11Xuxue Feng
1015Maisha M StensethBrazil2024-06-20Morlong Associates QUALIFIED97Ioni Bowcher
1016Greenwood N BowleyCanada2024-06-13Feltz Printing Service RENEWAL92Bernardo Dominic
1017Aika D TollnerIndia2024-06-12Truhlar And Truhlar Attys PROPOSAL16Ivan Magalhaes
1018Nicolas O MorascaArgentina2024-06-21Feiner Bros RENEWAL87Xuxue Feng
1019Arvin W PaprockiArgentina2024-06-08Truhlar And Truhlar Attys PROPOSAL94Ioni Bowcher
1020Mayumi M IturbideFrance2024-06-17Buckley Miller Wright UNQUALIFIED99Asiya Javayant
1021Mujtaba S MaletGermany2024-05-24Benton, John B Jr RENEWAL65Anna Fali
1022Emily G CampainAustralia2024-06-20Feiner Bros UNQUALIFIED30Anna Fali
1023Johnson W NestleJapan2024-06-01Chemel, James L Cpa UNQUALIFIED22Stephen Shaw
1024Jeanfrancois K MacleadIndia2024-06-21Feltz Printing Service UNQUALIFIED39Onyama Limba
1025David C KuskoCanada2024-06-08Chapman, Ross E Esq RENEWAL52Amy Elsner
1026Misaki O GarufiRussia2024-05-24Feltz Printing Service QUALIFIED22Asiya Javayant
1027Jeanfrancois M OldroydBrazil2024-06-03Dorl, James J Esq NEW78Xuxue Feng
1028Kadeem W GauchoGermany2024-06-09Feltz Printing Service RENEWAL60Onyama Limba
1029Emily H DoeCanada2024-06-06Chemel, James L Cpa NEW70Elwin Sharvill
1030Stacey B PoquetteCanada2024-06-08Rousseaux, Michael Esq NEW5Bernardo Dominic
1031Arvin C KolmetzBrazil2024-06-17Feltz Printing Service PROPOSAL64Ioni Bowcher
1032Jeanfrancois O RoysterJapan2024-06-19Buckley Miller Wright NEW17Anna Fali
1033Munro J VocelkaIndia2024-06-21King, Christopher A Esq UNQUALIFIED57Asiya Javayant
1034Misaki A PerinBrazil2024-06-20Feiner Bros PROPOSAL89Amy Elsner
1035Arvin K BologniaAustralia2024-06-04Dorl, James J Esq UNQUALIFIED34Xuxue Feng
1036Morrow B MaletItaly2024-05-30Morlong Associates UNQUALIFIED1Ioni Bowcher
1037Munro P MarrierItaly2024-05-26Benton, John B Jr QUALIFIED9Stephen Shaw
1038Misaki P FerenczBrazil2024-05-30Printing Dimensions UNQUALIFIED34Xuxue Feng
1039Kaitlin R OldroydJapan2024-06-22Rangoni Of Florence PROPOSAL9Ioni Bowcher
1040Leon K ShinkoFrance2024-06-10Truhlar And Truhlar Attys RENEWAL38Bernardo Dominic
1041Jones Z RulapaughCanada2024-06-22Dorl, James J Esq RENEWAL26Stephen Shaw
1042Clifford F PoquetteFrance2024-06-08Morlong Associates RENEWAL59Anna Fali
1043Nicolas O KuskoCanada2024-06-03Feltz Printing Service UNQUALIFIED39Elwin Sharvill
1044Juan O GarufiJapan2024-06-02Morlong Associates NEW34Onyama Limba
1045Silvio O MacleadArgentina2024-05-27Rousseaux, Michael Esq RENEWAL11Amy Elsner
1046Leja N BowleyBrazil2024-06-10Feiner Bros PROPOSAL65Asiya Javayant
1047David R TollnerSpain2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED27Bernardo Dominic
1048Kadeem B RulapaughCanada2024-06-22Dorl, James J Esq QUALIFIED96Stephen Shaw
1049Jennifer I FollerJapan2024-06-22Rousseaux, Michael Esq PROPOSAL10Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Salvatore D ButtCanadaStephen Shaw UNQUALIFIED
Maisha A MaletRussiaIvan Magalhaes UNQUALIFIED
Maria V FlosiRussiaAnna Fali QUALIFIED
Darci K MaletJapanAmy Elsner UNQUALIFIED
James C NestleBrazilXuxue Feng QUALIFIED
Ricardo T SlusarskiIndiaBernardo Dominic UNQUALIFIED
Mayumi T GarufiUnited KingdomAmy Elsner RENEWAL
Ivar G NestleGermanyOnyama Limba QUALIFIED
Faith N DoeSpainElwin Sharvill UNQUALIFIED
Adams U RoysterAustraliaAsiya Javayant RENEWAL
Salvatore C StensethSpainOnyama Limba RENEWAL
Maria E FerenczArgentinaXuxue Feng NEGOTIATION
Jones Q OldroydJapanXuxue Feng PROPOSAL
Stacey M KuskoSpainElwin Sharvill QUALIFIED
Leja C MorascaCanadaBernardo Dominic PROPOSAL
Ashley J AmigonBrazilAmy Elsner QUALIFIED
Jennifer K VenereSpainAmy Elsner NEW
Ivar H BriddickIndiaOnyama Limba QUALIFIED
Salvatore M CaldareraItalyAnna Fali PROPOSAL
Octavia O GlickSpainAnna Fali UNQUALIFIED
Sinclair X InouyeJapanAmy Elsner UNQUALIFIED
Leja L ButtUnited KingdomIvan Magalhaes RENEWAL
Alejandro F MaletBrazilAsiya Javayant UNQUALIFIED
Kaitlin J KolmetzGermanyXuxue Feng NEGOTIATION
Johnson A FollerAustraliaAmy Elsner UNQUALIFIED
Jennifer T AlbaresItalyOnyama Limba QUALIFIED
Antonio O AmigonArgentinaOnyama Limba UNQUALIFIED
Stacey K StensethCanadaOnyama Limba RENEWAL
Isabel A FerenczJapanXuxue Feng PROPOSAL
Darci H FigeroaItalyIvan Magalhaes UNQUALIFIED
Jones U ButtItalyAnna Fali UNQUALIFIED
Tony U CampainRussiaIoni Bowcher QUALIFIED
Morrow K GillianJapanStephen Shaw NEGOTIATION
Antonio U DilliardItalyOnyama Limba RENEWAL
Darci A CaudyUnited KingdomAsiya Javayant UNQUALIFIED
James O DarakjyIndiaIvan Magalhaes RENEWAL
Isabel T CampainFranceBernardo Dominic RENEWAL
Clifford S GlickBrazilAnna Fali UNQUALIFIED
Stacey N WhobreyJapanAnna Fali UNQUALIFIED
Morrow G InouyeCanadaStephen Shaw QUALIFIED
Ricardo E ButtJapanIvan Magalhaes NEW
Mayumi J MaletRussiaIvan Magalhaes NEW
Greenwood H VocelkaCanadaBernardo Dominic NEGOTIATION
Jefferson I OldroydCanadaStephen Shaw NEW
Costa A BowleyRussiaIvan Magalhaes QUALIFIED
Stacey U MorascaRussiaOnyama Limba UNQUALIFIED
Jennifer G SergiRussiaIvan Magalhaes PROPOSAL
Stacey Y BologniaAustraliaXuxue Feng RENEWAL
Arvin R SlusarskiCanadaIoni Bowcher RENEWAL
Salvatore R CampainAustraliaIoni Bowcher PROPOSAL
Frozen Columns
Name
Arvin K Sergi
Antonio L Albares
Maria Z Nestle
Jefferson X Albares
Aruna N Butt
Alejandro B Flosi
Munro S Tollner
Aika P Shinko
Juan Y Darakjy
Octavia N Garufi
Alejandro R Malet
Francesco B Amigon
Munro X Venere
Smith O Ferencz
Salvatore P Butt
Ricardo D Glick
Wickens R Garufi
Jefferson B Royster
Silvio N Foller
Wickens H Royster
Rodrigues N Rulapaugh
Alejandro C Perin
Faith Q Venere
David P Flosi
Alejandro R Kolmetz
Clifford L Flosi
Ashley Q Tollner
Octavia Z Rim
Morrow G Doe
Murillo R Perin
Deepesh S Gaucho
Octavia N Ostrosky
Julie K Albares
Deepesh N Ferencz
Juan F Ostrosky
Murillo B Glick
Smith W Venere
Emily J Figeroa
Juan S Royster
Wickens N Butt
Stacey H Amigon
Francesco F Paprocki
Ricardo L Waycott
Aika W Shinko
Leon X Malet
Darci R Bolognia
Faith S Bowley
Aruna P Rim
Tony W Garufi
Rodrigues G Amigon
IdCountryDate
1000Argentina2024-06-08
1001Italy2024-06-05
1002United Kingdom2024-06-07
1003Canada2024-06-01
1004Japan2024-06-12
1005Russia2024-06-19
1006Argentina2024-06-13
1007Spain2024-06-03
1008Argentina2024-06-04
1009India2024-06-09
1010Japan2024-05-25
1011Argentina2024-06-15
1012Argentina2024-06-07
1013Canada2024-06-17
1014Australia2024-06-04
1015Canada2024-06-09
1016United Kingdom2024-05-24
1017Brazil2024-06-17
1018Brazil2024-06-02
1019Germany2024-05-27
1020Canada2024-06-05
1021Spain2024-06-14
1022Canada2024-05-24
1023Germany2024-05-25
1024Canada2024-06-08
1025India2024-06-02
1026France2024-06-22
1027Argentina2024-06-06
1028Canada2024-05-26
1029France2024-06-07
1030Germany2024-06-15
1031Canada2024-05-25
1032Spain2024-06-15
1033Italy2024-06-07
1034Germany2024-05-26
1035Brazil2024-06-20
1036Germany2024-06-21
1037France2024-06-09
1038Australia2024-06-13
1039Canada2024-05-30
1040Australia2024-06-16
1041Russia2024-06-02
1042Japan2024-06-01
1043Argentina2024-05-26
1044India2024-05-27
1045Russia2024-05-25
1046Brazil2024-05-26
1047Canada2024-05-26
1048Russia2024-05-27
1049United Kingdom2024-06-04

On-Demand Data

NameIdCountryDate
Aruna T Maclead1000India2024-05-29
Isabel O Ostrosky1001Canada2024-06-21
Jeanfrancois F Malet1002France2024-06-05
Arvin Q Royster1003Italy2024-06-05
Aika N Foller1004Russia2024-06-12
Murillo D Malet1005India2024-05-31
Ivar S Doe1006Argentina2024-05-25
Antonio W Stockham1007Argentina2024-05-27
Leon L Maclead1008Argentina2024-05-25
Ricardo D Nicka1009Japan2024-06-18
Smith M Bolognia1010France2024-06-22
Jeanfrancois D Oldroyd1011Germany2024-06-21
Morrow H Marrier1012Spain2024-06-12
Darci G Rulapaugh1013Japan2024-05-26
David A Rim1014Germany2024-06-04
Mujtaba P Malet1015Germany2024-06-14
Izzy M Stenseth1016Japan2024-06-03
Faith Q Gillian1017France2024-06-07
Mayumi L Perin1018Canada2024-06-01
Kadeem O Rulapaugh1019Italy2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G WhobreyFranceXuxue Feng QUALIFIED
Claire D RoysterGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois G CaudyGermanyStephen Shaw PROPOSAL
Aditya F RoysterItalyElwin Sharvill RENEWAL
Ricardo P SergiRussiaAsiya Javayant UNQUALIFIED
Jones H SlusarskiFranceAmy Elsner NEGOTIATION
Maisha E IturbideCanadaAmy Elsner QUALIFIED
Alejandro W InouyeItalyBernardo Dominic NEW
Misaki M WhobreyCanadaIoni Bowcher QUALIFIED
Jefferson B WaycottGermanyAmy Elsner PROPOSAL
Julie Q PaprockiJapanOnyama Limba QUALIFIED
Antonio K FigeroaJapanAsiya Javayant NEW
Munro K DilliardBrazilAsiya Javayant NEW
Francesco V DilliardIndiaAnna Fali QUALIFIED
Aika S MaletRussiaElwin Sharvill NEGOTIATION
Rodrigues K SchemmerItalyOnyama Limba UNQUALIFIED
Sinclair A ButtSpainIoni Bowcher UNQUALIFIED
Faith L AlbaresArgentinaElwin Sharvill QUALIFIED
Mayumi V MacleadJapanIvan Magalhaes RENEWAL
Arvin Q MacleadAustraliaIoni Bowcher NEW
Kaitlin Y InouyeIndiaXuxue Feng UNQUALIFIED
Silvio G AlbaresIndiaElwin Sharvill PROPOSAL
Clifford M DilliardRussiaXuxue Feng UNQUALIFIED
Faith M NickaGermanyAmy Elsner PROPOSAL
Isabel E MarrierAustraliaStephen Shaw RENEWAL
Chavez T FollerArgentinaAnna Fali QUALIFIED
Rodrigues M RutaRussiaAmy Elsner UNQUALIFIED
Maisha N OldroydRussiaBernardo Dominic NEW
Morrow Z SergiJapanAsiya Javayant QUALIFIED
Jeanfrancois C PoquetteSpainIoni Bowcher RENEWAL
Adams J DoeFranceXuxue Feng QUALIFIED
Jones U BologniaCanadaOnyama Limba NEW
Tony V GauchoItalyAnna Fali QUALIFIED
Mujtaba P DoeItalyXuxue Feng UNQUALIFIED
Julie A WaycottItalyIoni Bowcher QUALIFIED
Octavia X MaletSpainStephen Shaw UNQUALIFIED
David F DilliardIndiaAsiya Javayant NEW
Aruna L WieserRussiaStephen Shaw PROPOSAL
Chavez L IturbideRussiaIoni Bowcher UNQUALIFIED
Adams F ButtItalyAnna Fali UNQUALIFIED

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