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
Stacey A StockhamBrazilStephen Shaw NEW
James R BowleyArgentinaStephen Shaw NEGOTIATION
Darci Z ShinkoBrazilStephen Shaw NEW
Maisha B FollerSpainIvan Magalhaes UNQUALIFIED
Kaitlin V RimBrazilXuxue Feng QUALIFIED
Cody Y WaycottRussiaIoni Bowcher NEGOTIATION
Rodrigues W MorascaSpainBernardo Dominic NEGOTIATION
Cody R RoysterSpainAmy Elsner UNQUALIFIED
Juan S DarakjyUnited KingdomIoni Bowcher NEW
Stacey L KolmetzJapanAnna Fali QUALIFIED
Adams U InouyeSpainStephen Shaw PROPOSAL
Emily I RutaFranceAsiya Javayant UNQUALIFIED
Faith Q TollnerFranceAsiya Javayant NEGOTIATION
Johnson A FigeroaCanadaIvan Magalhaes NEW
Darci H InouyeArgentinaXuxue Feng NEGOTIATION
Greenwood J FlosiRussiaStephen Shaw RENEWAL
Clifford R AmigonSpainOnyama Limba NEW
Aruna Q OldroydSpainIvan Magalhaes RENEWAL
Murillo Z BowleyJapanAmy Elsner PROPOSAL
Kaitlin K PaprockiAustraliaIoni Bowcher NEW
David F MacleadArgentinaXuxue Feng NEW
Leja H PoquetteUnited KingdomStephen Shaw RENEWAL
Deepesh E BologniaJapanAsiya Javayant UNQUALIFIED
Murillo M ButtRussiaElwin Sharvill RENEWAL
Deepesh W AlbaresFranceXuxue Feng RENEWAL
Aika G RoysterIndiaElwin Sharvill RENEWAL
Stacey M VenereJapanOnyama Limba NEGOTIATION
Antonio A OstroskyCanadaOnyama Limba PROPOSAL
David P MacleadCanadaIoni Bowcher QUALIFIED
Jeanfrancois Q KolmetzGermanyOnyama Limba NEGOTIATION
Deepesh P VenereAustraliaIoni Bowcher NEGOTIATION
Antonio F KolmetzItalyAnna Fali UNQUALIFIED
Johnson M SlusarskiUnited KingdomAsiya Javayant RENEWAL
Greenwood K GauchoIndiaAsiya Javayant QUALIFIED
Juan V ButtAustraliaElwin Sharvill NEGOTIATION
Darci V ShinkoFranceIoni Bowcher NEW
Johnson Z InouyeFranceOnyama Limba QUALIFIED
James R OldroydJapanAnna Fali RENEWAL
Clifford B PerinItalyOnyama Limba QUALIFIED
Salvatore X PaprockiGermanyStephen Shaw NEW
Isabel W SchemmerFranceIvan Magalhaes RENEWAL
Chavez M OstroskyGermanyOnyama Limba UNQUALIFIED
Misaki T DarakjyFranceIvan Magalhaes RENEWAL
Aruna F MaletSpainBernardo Dominic NEW
Tony M KuskoSpainElwin Sharvill UNQUALIFIED
Aika U ChuiSpainIoni Bowcher UNQUALIFIED
Munro L StockhamCanadaIoni Bowcher RENEWAL
Clifford E RimIndiaIoni Bowcher RENEWAL
Antonio S GauchoBrazilIvan Magalhaes UNQUALIFIED
Adams V StensethGermanyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Wickens C NestleIndiaOnyama Limba UNQUALIFIED
Faith E NickaCanadaXuxue Feng NEGOTIATION
Claire O GlickBrazilAnna Fali QUALIFIED
Jennifer E DarakjyFranceIvan Magalhaes RENEWAL
Leon M CaldareraIndiaBernardo Dominic NEGOTIATION
Octavia M SchemmerCanadaIoni Bowcher PROPOSAL
Alejandro F GillianJapanOnyama Limba PROPOSAL
Alejandro N VocelkaAustraliaIvan Magalhaes QUALIFIED
Kaitlin H WieserBrazilIoni Bowcher UNQUALIFIED
Emily X RimItalyStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja D ShinkoAustralia2024-06-12Feltz Printing Service UNQUALIFIED93Anna Fali
1001Smith L VocelkaIndia2024-06-12Truhlar And Truhlar Attys PROPOSAL5Anna Fali
1002Murillo O CaudyIndia2024-06-09Truhlar And Truhlar Attys UNQUALIFIED93Stephen Shaw
1003Faith Y BriddickSpain2024-06-20Feltz Printing Service NEGOTIATION6Amy Elsner
1004Ashley W WaycottJapan2024-06-15Chanay, Jeffrey A Esq NEW83Amy Elsner
1005Alejandro N MorascaAustralia2024-06-17Chemel, James L Cpa PROPOSAL12Elwin Sharvill
1006Izzy E CaudyAustralia2024-06-10Benton, John B Jr UNQUALIFIED56Bernardo Dominic
1007Wickens W BowleyJapan2024-05-23Truhlar And Truhlar Attys UNQUALIFIED37Stephen Shaw
1008Francesco Q MarrierArgentina2024-06-08Chanay, Jeffrey A Esq NEGOTIATION61Amy Elsner
1009Smith K DarakjyBrazil2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED95Asiya Javayant
1010Leja N BologniaAustralia2024-06-13Printing Dimensions NEW59Elwin Sharvill
1011Aika G SergiFrance2024-06-09Rangoni Of Florence NEW66Stephen Shaw
1012Chavez O RoysterAustralia2024-05-26Dorl, James J Esq RENEWAL12Ioni Bowcher
1013David W BriddickCanada2024-06-06Commercial Press NEW5Anna Fali
1014Leja S GlickFrance2024-05-23Commercial Press NEW11Stephen Shaw
1015Chavez R GarufiItaly2024-05-30Morlong Associates NEGOTIATION79Bernardo Dominic
1016Mujtaba G FerenczItaly2024-05-24Chanay, Jeffrey A Esq PROPOSAL11Bernardo Dominic
1017Jones F BowleyArgentina2024-05-27Chemel, James L Cpa RENEWAL74Elwin Sharvill
1018Emily E OldroydArgentina2024-05-31Commercial Press NEGOTIATION48Asiya Javayant
1019Izzy D PoquetteFrance2024-06-16Rousseaux, Michael Esq PROPOSAL25Elwin Sharvill
1020Stacey D StockhamAustralia2024-05-28Chemel, James L Cpa NEGOTIATION79Ivan Magalhaes
1021Octavia N RoysterRussia2024-05-25Benton, John B Jr NEW29Onyama Limba
1022Maisha I GillianUnited Kingdom2024-06-08Chemel, James L Cpa NEGOTIATION10Onyama Limba
1023Adams W DarakjyJapan2024-05-24Rangoni Of Florence RENEWAL20Amy Elsner
1024Adams Z RutaRussia2024-05-27King, Christopher A Esq RENEWAL49Bernardo Dominic
1025Salvatore O RutaCanada2024-05-31Buckley Miller Wright PROPOSAL17Amy Elsner
1026Adams Z CampainGermany2024-05-23Printing Dimensions RENEWAL0Anna Fali
1027Claire M SchemmerArgentina2024-05-25Commercial Press UNQUALIFIED48Stephen Shaw
1028Jeanfrancois V GauchoRussia2024-05-26Truhlar And Truhlar Attys QUALIFIED46Onyama Limba
1029Wickens W SergiGermany2024-05-28Truhlar And Truhlar Attys RENEWAL33Bernardo Dominic
1030Antonio Q RulapaughJapan2024-06-21Feiner Bros NEGOTIATION14Anna Fali
1031Smith E InouyeRussia2024-05-30Dorl, James J Esq NEGOTIATION73Bernardo Dominic
1032Claire K WhobreySpain2024-06-01Buckley Miller Wright RENEWAL98Elwin Sharvill
1033Antonio N CaldareraFrance2024-06-10Buckley Miller Wright PROPOSAL77Elwin Sharvill
1034Antonio A RoysterCanada2024-06-06King, Christopher A Esq UNQUALIFIED72Elwin Sharvill
1035Costa Z StensethAustralia2024-06-03Rangoni Of Florence PROPOSAL88Amy Elsner
1036Alejandro T RulapaughUnited Kingdom2024-06-17Feiner Bros PROPOSAL45Onyama Limba
1037Costa N MaletBrazil2024-05-25Dorl, James J Esq UNQUALIFIED46Asiya Javayant
1038Juan B FigeroaAustralia2024-06-04Dorl, James J Esq UNQUALIFIED36Stephen Shaw
1039Emily J StensethItaly2024-06-09Feltz Printing Service NEW67Xuxue Feng
1040Johnson P TollnerSpain2024-06-06Commercial Press UNQUALIFIED28Amy Elsner
1041Salvatore O MarrierGermany2024-06-06Chemel, James L Cpa UNQUALIFIED14Onyama Limba
1042Aika A ButtSpain2024-06-04Chemel, James L Cpa NEGOTIATION32Amy Elsner
1043Jennifer T FlosiJapan2024-06-14Chapman, Ross E Esq PROPOSAL27Asiya Javayant
1044Ivar I MacleadUnited Kingdom2024-06-17Benton, John B Jr NEGOTIATION73Amy Elsner
1045Clifford R StensethUnited Kingdom2024-06-21Chapman, Ross E Esq RENEWAL47Elwin Sharvill
1046Darci K KolmetzSpain2024-06-18King, Christopher A Esq NEGOTIATION17Ioni Bowcher
1047Smith D MaletFrance2024-06-14Rousseaux, Michael Esq PROPOSAL21Onyama Limba
1048Greenwood M FollerArgentina2024-06-14Buckley Miller Wright RENEWAL54Onyama Limba
1049Mujtaba A MaletUnited Kingdom2024-05-24Chemel, James L Cpa QUALIFIED19Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Adams D GillianJapanAnna Fali RENEWAL
Claire M CaudyCanadaAsiya Javayant PROPOSAL
Aditya P OstroskyBrazilXuxue Feng UNQUALIFIED
Alejandro W PerinUnited KingdomIoni Bowcher NEW
Adams T MorascaJapanOnyama Limba RENEWAL
Ashley T AmigonArgentinaIoni Bowcher NEGOTIATION
Stacey W SergiUnited KingdomStephen Shaw NEGOTIATION
Stacey N SergiJapanBernardo Dominic UNQUALIFIED
Deepesh D StockhamIndiaAsiya Javayant UNQUALIFIED
Juan K GillianSpainStephen Shaw NEW
Izzy L KolmetzArgentinaXuxue Feng QUALIFIED
Nicolas Z RulapaughSpainAnna Fali QUALIFIED
Kaitlin J RimUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois R DoeAustraliaIvan Magalhaes QUALIFIED
Emily T MaletFranceIvan Magalhaes UNQUALIFIED
Rodrigues M CaldareraBrazilStephen Shaw RENEWAL
Clifford R DoeArgentinaBernardo Dominic UNQUALIFIED
Juan C RoysterGermanyXuxue Feng NEW
Arvin F VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Aditya G GlickArgentinaBernardo Dominic NEW
Faith Z InouyeFranceAsiya Javayant UNQUALIFIED
Sinclair Y WaycottBrazilOnyama Limba QUALIFIED
Isabel R TollnerIndiaIvan Magalhaes NEGOTIATION
Mayumi T BriddickJapanOnyama Limba QUALIFIED
Jefferson B RutaGermanyXuxue Feng UNQUALIFIED
Wickens E BriddickRussiaBernardo Dominic UNQUALIFIED
David G MarrierAustraliaAsiya Javayant QUALIFIED
Aika S PaprockiCanadaXuxue Feng NEGOTIATION
Maria J DoeArgentinaBernardo Dominic NEW
Nicolas E PoquetteGermanyOnyama Limba NEW
David C InouyeBrazilAmy Elsner NEGOTIATION
Silvio W FlosiSpainXuxue Feng QUALIFIED
Alejandro X WieserAustraliaXuxue Feng NEW
Kaitlin W ShinkoGermanyAsiya Javayant QUALIFIED
Morrow Z PoquetteArgentinaAmy Elsner RENEWAL
Julie E BowleyRussiaStephen Shaw PROPOSAL
Leja A ButtJapanElwin Sharvill NEW
Morrow B MarrierArgentinaAsiya Javayant NEGOTIATION
Antonio L MaletIndiaAmy Elsner PROPOSAL
Misaki M NickaCanadaStephen Shaw RENEWAL
Sinclair Z FlosiCanadaXuxue Feng NEW
Jennifer G BriddickSpainElwin Sharvill PROPOSAL
Jeanfrancois V ChuiFranceIoni Bowcher QUALIFIED
Costa K SaylorsUnited KingdomAmy Elsner PROPOSAL
Isabel A MaletArgentinaIvan Magalhaes RENEWAL
Chavez X SergiFranceStephen Shaw NEW
Greenwood G RimItalyOnyama Limba QUALIFIED
Leon C CaudyIndiaAmy Elsner NEGOTIATION
Johnson U PoquetteUnited KingdomIvan Magalhaes NEW
Ricardo F NestleFranceIvan Magalhaes PROPOSAL
Frozen Columns
Name
Murillo E Darakjy
Arvin T Morasca
Antonio M Morasca
Emily C Malet
Kaitlin Z Chui
Julie K Garufi
Mayumi F Waycott
Cody D Gillian
Morrow J Paprocki
Sinclair S Royster
Izzy T Marrier
Leon C Gillian
Maria J Whobrey
Misaki W Whobrey
Cody I Kolmetz
Antonio L Vocelka
Jefferson X Dilliard
Misaki N Marrier
Izzy B Stenseth
Ashley I Caldarera
Faith L Dilliard
Greenwood P Inouye
Morrow F Albares
Alejandro N Ruta
Jennifer H Briddick
Costa H Figeroa
Antonio G Saylors
Salvatore A Chui
Izzy I Poquette
Jeanfrancois J Nestle
Clifford D Malet
Murillo L Rim
Murillo K Sergi
Kaitlin E Caldarera
Mujtaba A Ruta
Emily Y Chui
Kadeem E Whobrey
Johnson E Inouye
Ashley F Briddick
Rodrigues L Albares
Leja E Caudy
Isabel T Caudy
Chavez K Bowley
Morrow X Royster
Arvin S Kolmetz
Maria W Ostrosky
Tony T Stockham
Mayumi I Malet
Emily W Foller
Mayumi Y Oldroyd
IdCountryDate
1000Argentina2024-06-10
1001Japan2024-06-12
1002Argentina2024-06-16
1003Brazil2024-06-08
1004France2024-05-29
1005United Kingdom2024-05-25
1006Brazil2024-06-05
1007Canada2024-06-20
1008Spain2024-06-15
1009Canada2024-06-05
1010India2024-06-13
1011Australia2024-06-21
1012Argentina2024-05-25
1013Argentina2024-06-21
1014India2024-06-20
1015Russia2024-05-24
1016Japan2024-06-01
1017Japan2024-06-21
1018Italy2024-06-21
1019Germany2024-06-18
1020Japan2024-06-21
1021India2024-06-19
1022Germany2024-06-21
1023Russia2024-06-19
1024Canada2024-05-30
1025Russia2024-06-19
1026Japan2024-06-02
1027Spain2024-06-10
1028Russia2024-06-19
1029Spain2024-05-27
1030United Kingdom2024-06-20
1031Russia2024-06-02
1032Canada2024-06-20
1033Japan2024-05-26
1034Japan2024-05-23
1035Italy2024-06-10
1036Canada2024-06-16
1037United Kingdom2024-05-26
1038India2024-06-02
1039United Kingdom2024-05-31
1040United Kingdom2024-05-24
1041Brazil2024-06-20
1042Germany2024-05-28
1043India2024-06-03
1044United Kingdom2024-06-13
1045Russia2024-06-01
1046Russia2024-06-07
1047Argentina2024-06-21
1048Brazil2024-05-26
1049India2024-06-04

On-Demand Data

NameIdCountryDate
Johnson F Chui1000Argentina2024-05-25
Aditya V Rim1001Argentina2024-06-07
Arvin E Nicka1002United Kingdom2024-05-27
Leon N Malet1003Russia2024-06-08
Jennifer I Venere1004United Kingdom2024-06-11
Izzy X Gaucho1005India2024-06-03
Alejandro I Royster1006Brazil2024-06-19
Ivar G Whobrey1007Canada2024-05-31
Wickens T Malet1008Brazil2024-06-02
Mayumi E Kolmetz1009Germany2024-06-08
Izzy K Malet1010Brazil2024-06-17
Misaki Y Kusko1011Canada2024-05-23
Octavia Y Garufi1012Argentina2024-05-25
Nicolas Q Paprocki1013Italy2024-06-04
Jefferson E Paprocki1014Germany2024-05-26
Rodrigues B Figeroa1015Brazil2024-06-21
Leja T Garufi1016Australia2024-06-08
Murillo B Briddick1017Germany2024-05-25
Stacey Z Sergi1018Canada2024-06-17
Kaitlin T Iturbide1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar Z BriddickBrazilXuxue Feng RENEWAL
Stacey N PaprockiItalyBernardo Dominic QUALIFIED
Misaki M MaletItalyXuxue Feng PROPOSAL
Adams K BologniaItalyAsiya Javayant RENEWAL
Nicolas D CampainFranceIvan Magalhaes QUALIFIED
Ashley V DilliardFranceAnna Fali NEW
Julie I WhobreyAustraliaAnna Fali NEW
Johnson M FollerItalyAsiya Javayant RENEWAL
Izzy Z FollerSpainAnna Fali NEGOTIATION
Silvio H StensethCanadaIvan Magalhaes UNQUALIFIED
Octavia X FerenczArgentinaBernardo Dominic QUALIFIED
Francesco V BriddickArgentinaAnna Fali PROPOSAL
Smith W ChuiJapanAmy Elsner PROPOSAL
Murillo B GauchoItalyAmy Elsner NEW
David C MorascaCanadaXuxue Feng PROPOSAL
Silvio W SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Cody C KolmetzSpainElwin Sharvill NEGOTIATION
Salvatore U OstroskyItalyStephen Shaw PROPOSAL
Julie W CampainUnited KingdomIoni Bowcher QUALIFIED
David V ChuiCanadaAsiya Javayant NEGOTIATION
Munro D PerinAustraliaAsiya Javayant QUALIFIED
Maria W KuskoSpainAmy Elsner UNQUALIFIED
Kaitlin W WhobreyCanadaXuxue Feng UNQUALIFIED
Aditya I SchemmerFranceAnna Fali PROPOSAL
Kaitlin S FerenczIndiaIvan Magalhaes RENEWAL
Murillo Q SergiAustraliaStephen Shaw NEW
Murillo M CaudyUnited KingdomAmy Elsner RENEWAL
Kaitlin K InouyeUnited KingdomStephen Shaw QUALIFIED
Greenwood Q FlosiAustraliaAsiya Javayant NEW
Alejandro I FollerIndiaIoni Bowcher NEGOTIATION
Rodrigues I PaprockiItalyOnyama Limba PROPOSAL
Francesco P StockhamJapanBernardo Dominic UNQUALIFIED
Sinclair E DarakjyJapanAsiya Javayant PROPOSAL
Jones Y PerinAustraliaAmy Elsner PROPOSAL
James K GarufiItalyXuxue Feng NEW
Alejandro D OldroydFranceIoni Bowcher NEW
Arvin O VocelkaSpainAmy Elsner RENEWAL
Jennifer N InouyeFranceBernardo Dominic PROPOSAL
Mayumi A PerinFranceStephen Shaw UNQUALIFIED
Antonio M GauchoRussiaAmy Elsner 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>