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
Jennifer H DilliardCanadaAsiya Javayant RENEWAL
Juan S ShinkoArgentinaElwin Sharvill NEGOTIATION
Octavia H ChuiAustraliaAmy Elsner PROPOSAL
David M WaycottAustraliaAnna Fali NEW
Deepesh C CampainIndiaStephen Shaw RENEWAL
Aditya Y PerinIndiaStephen Shaw QUALIFIED
Claire Y ShinkoAustraliaBernardo Dominic PROPOSAL
Ricardo A VenereRussiaOnyama Limba NEGOTIATION
Maisha V GillianBrazilAnna Fali QUALIFIED
Nicolas J SergiRussiaXuxue Feng PROPOSAL
Salvatore Q StensethFranceOnyama Limba QUALIFIED
Greenwood R MaletRussiaIoni Bowcher QUALIFIED
Munro Y TollnerItalyOnyama Limba NEGOTIATION
Juan V RimRussiaAnna Fali UNQUALIFIED
Costa T MarrierCanadaAmy Elsner RENEWAL
Smith L RutaIndiaAmy Elsner NEW
Juan K CaldareraUnited KingdomOnyama Limba UNQUALIFIED
David K AmigonArgentinaIoni Bowcher QUALIFIED
Mayumi F FigeroaCanadaStephen Shaw PROPOSAL
Kadeem W DoeFranceXuxue Feng NEW
Johnson Q PaprockiIndiaOnyama Limba NEGOTIATION
Claire G MaletRussiaXuxue Feng PROPOSAL
Leja R FlosiRussiaAnna Fali PROPOSAL
Munro V SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Francesco Y ShinkoSpainElwin Sharvill NEGOTIATION
Jefferson B MorascaBrazilStephen Shaw NEGOTIATION
James N InouyeItalyBernardo Dominic PROPOSAL
Kadeem L OldroydIndiaStephen Shaw NEGOTIATION
Faith S SlusarskiUnited KingdomElwin Sharvill RENEWAL
Wickens E MaletRussiaAsiya Javayant RENEWAL
Silvio L InouyeSpainAnna Fali NEGOTIATION
Kadeem G StockhamUnited KingdomStephen Shaw PROPOSAL
Alejandro L BologniaArgentinaOnyama Limba QUALIFIED
Stacey E RulapaughFranceOnyama Limba NEW
Smith R VenereIndiaAsiya Javayant QUALIFIED
Clifford C BriddickItalyIvan Magalhaes PROPOSAL
Nicolas J CampainArgentinaBernardo Dominic UNQUALIFIED
Julie W PerinItalyXuxue Feng RENEWAL
Ivar J SergiFranceAmy Elsner UNQUALIFIED
Rodrigues Q MacleadCanadaAmy Elsner UNQUALIFIED
Clifford S VocelkaUnited KingdomStephen Shaw PROPOSAL
Rodrigues C SlusarskiJapanOnyama Limba UNQUALIFIED
Alejandro W ChuiFranceIoni Bowcher QUALIFIED
Kaitlin T KuskoBrazilBernardo Dominic NEGOTIATION
Deepesh N StockhamItalyIoni Bowcher PROPOSAL
Stacey S ButtCanadaIvan Magalhaes UNQUALIFIED
Faith J ChuiGermanyBernardo Dominic NEW
Faith G RimRussiaAnna Fali PROPOSAL
Greenwood B FerenczRussiaIoni Bowcher UNQUALIFIED
Arvin I ShinkoCanadaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba W MacleadUnited KingdomOnyama Limba RENEWAL
Sinclair D GauchoItalyIvan Magalhaes NEW
Deepesh N MaletAustraliaIvan Magalhaes UNQUALIFIED
Francesco C DoeBrazilAnna Fali PROPOSAL
Maria B InouyeFranceAsiya Javayant NEW
Isabel A StensethUnited KingdomBernardo Dominic QUALIFIED
Alejandro X SchemmerGermanyBernardo Dominic NEW
Sinclair I ChuiArgentinaElwin Sharvill NEW
Nicolas W PaprockiArgentinaAnna Fali QUALIFIED
Deepesh I BowleyBrazilIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem H PaprockiCanada2026-07-21Morlong Associates UNQUALIFIED84Elwin Sharvill
1001Murillo I WaycottAustralia2026-07-20Dorl, James J Esq RENEWAL15Onyama Limba
1002Sinclair J RutaIndia2026-07-18Truhlar And Truhlar Attys NEW49Bernardo Dominic
1003Adams X FerenczCanada2026-07-22Chemel, James L Cpa NEW82Ivan Magalhaes
1004Salvatore W BowleyItaly2026-07-11Buckley Miller Wright UNQUALIFIED27Ioni Bowcher
1005Claire X SlusarskiUnited Kingdom2026-07-29Chemel, James L Cpa UNQUALIFIED29Ivan Magalhaes
1006Isabel P FigeroaIndia2026-07-03Morlong Associates UNQUALIFIED50Onyama Limba
1007Isabel A FlosiBrazil2026-07-19Chanay, Jeffrey A Esq RENEWAL12Amy Elsner
1008Ashley O PaprockiAustralia2026-07-19Dorl, James J Esq NEGOTIATION73Xuxue Feng
1009David H VenereGermany2026-07-27Dorl, James J Esq QUALIFIED42Amy Elsner
1010Tony G InouyeJapan2026-07-31Morlong Associates NEGOTIATION26Anna Fali
1011Nicolas J GlickItaly2026-07-25King, Christopher A Esq RENEWAL6Xuxue Feng
1012Leon F SchemmerBrazil2026-07-18Dorl, James J Esq QUALIFIED65Asiya Javayant
1013Deepesh C NickaRussia2026-07-13Printing Dimensions QUALIFIED27Amy Elsner
1014Ashley E FigeroaIndia2026-07-07Feltz Printing Service PROPOSAL96Ioni Bowcher
1015Faith B StensethUnited Kingdom2026-07-19Truhlar And Truhlar Attys PROPOSAL46Bernardo Dominic
1016Leon S MarrierArgentina2026-07-31Morlong Associates NEGOTIATION78Xuxue Feng
1017Izzy M GauchoUnited Kingdom2026-07-29Chanay, Jeffrey A Esq RENEWAL11Stephen Shaw
1018Maria Y SchemmerUnited Kingdom2026-07-02Rangoni Of Florence QUALIFIED0Asiya Javayant
1019Jones N BriddickBrazil2026-07-08Morlong Associates NEW83Ivan Magalhaes
1020Octavia R FollerJapan2026-07-27Benton, John B Jr PROPOSAL42Stephen Shaw
1021David E VocelkaUnited Kingdom2026-07-18Morlong Associates NEGOTIATION48Onyama Limba
1022Sinclair W RimIndia2026-07-11Chemel, James L Cpa NEW94Asiya Javayant
1023Kadeem U WhobreyIndia2026-07-07Feltz Printing Service UNQUALIFIED34Xuxue Feng
1024David E BowleySpain2026-07-31Feiner Bros NEGOTIATION25Elwin Sharvill
1025Johnson F OldroydAustralia2026-07-06Chanay, Jeffrey A Esq RENEWAL8Anna Fali
1026Ricardo B RoysterJapan2026-07-30Chapman, Ross E Esq QUALIFIED58Anna Fali
1027Clifford G ChuiItaly2026-07-30Dorl, James J Esq UNQUALIFIED91Xuxue Feng
1028Tony H KuskoGermany2026-07-16King, Christopher A Esq PROPOSAL81Asiya Javayant
1029Tony Q TollnerRussia2026-07-29Chapman, Ross E Esq NEW18Amy Elsner
1030Adams R FerenczSpain2026-07-17Printing Dimensions NEW44Ioni Bowcher
1031Isabel L ShinkoRussia2026-07-12Rangoni Of Florence NEW58Anna Fali
1032Clifford R PaprockiJapan2026-07-07Printing Dimensions QUALIFIED78Amy Elsner
1033David H FigeroaRussia2026-07-19King, Christopher A Esq NEGOTIATION21Ioni Bowcher
1034David U ShinkoGermany2026-07-23Feiner Bros UNQUALIFIED55Amy Elsner
1035Deepesh P FollerJapan2026-07-22Feiner Bros RENEWAL9Stephen Shaw
1036Munro B TollnerAustralia2026-07-02Feiner Bros QUALIFIED30Onyama Limba
1037Jefferson L PaprockiCanada2026-07-31Feltz Printing Service RENEWAL23Anna Fali
1038Costa V RutaAustralia2026-07-22King, Christopher A Esq QUALIFIED3Ioni Bowcher
1039Chavez I RoysterSpain2026-07-14Truhlar And Truhlar Attys NEW98Asiya Javayant
1040Stacey E MacleadSpain2026-07-05Truhlar And Truhlar Attys PROPOSAL77Elwin Sharvill
1041Leja R AmigonAustralia2026-07-27Chanay, Jeffrey A Esq NEGOTIATION88Onyama Limba
1042Misaki N WaycottSpain2026-07-17Morlong Associates NEGOTIATION64Ivan Magalhaes
1043Arvin Y IturbideFrance2026-07-21Feltz Printing Service NEGOTIATION9Amy Elsner
1044Ricardo L OldroydCanada2026-07-08Chemel, James L Cpa PROPOSAL35Onyama Limba
1045Jones L CaldareraGermany2026-07-27Rangoni Of Florence RENEWAL9Xuxue Feng
1046Johnson R MaletAustralia2026-07-03Feiner Bros RENEWAL18Onyama Limba
1047Octavia D AlbaresJapan2026-07-08Chemel, James L Cpa QUALIFIED64Asiya Javayant
1048Murillo C GillianUnited Kingdom2026-07-31Buckley Miller Wright UNQUALIFIED30Amy Elsner
1049Wickens L GlickSpain2026-07-24Buckley Miller Wright NEW9Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Munro V AlbaresAustraliaElwin Sharvill NEW
Silvio F WhobreyBrazilIvan Magalhaes RENEWAL
Cody P WaycottItalyIvan Magalhaes NEW
Maria V RulapaughGermanyIoni Bowcher QUALIFIED
Adams S VenereGermanyIvan Magalhaes NEW
Deepesh A GlickGermanyIvan Magalhaes RENEWAL
Johnson Z WaycottJapanIvan Magalhaes RENEWAL
Deepesh N KolmetzRussiaOnyama Limba UNQUALIFIED
Emily E ShinkoItalyIvan Magalhaes UNQUALIFIED
Alejandro R FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Murillo E OldroydGermanyIoni Bowcher RENEWAL
Maisha F GarufiJapanElwin Sharvill UNQUALIFIED
Greenwood K ShinkoSpainAnna Fali PROPOSAL
Kadeem N KuskoItalyAsiya Javayant RENEWAL
Munro M FlosiUnited KingdomBernardo Dominic QUALIFIED
Faith V SchemmerFranceAmy Elsner QUALIFIED
Maria N MaletUnited KingdomAsiya Javayant NEW
Alejandro G ChuiBrazilAnna Fali UNQUALIFIED
Arvin L NestleArgentinaOnyama Limba UNQUALIFIED
Francesco W FigeroaArgentinaIvan Magalhaes QUALIFIED
Alejandro T NickaGermanyStephen Shaw QUALIFIED
Johnson L SlusarskiUnited KingdomStephen Shaw QUALIFIED
James X GillianItalyBernardo Dominic NEGOTIATION
Faith Z MarrierGermanyIoni Bowcher PROPOSAL
Isabel G TollnerAustraliaElwin Sharvill UNQUALIFIED
Stacey N DilliardCanadaOnyama Limba QUALIFIED
Clifford P AlbaresFranceAmy Elsner RENEWAL
Stacey F GlickArgentinaOnyama Limba NEGOTIATION
Morrow W VenereAustraliaBernardo Dominic NEW
Faith N BologniaItalyAmy Elsner UNQUALIFIED
Wickens P ButtBrazilElwin Sharvill PROPOSAL
Stacey T MacleadIndiaAmy Elsner UNQUALIFIED
Leon Q PerinIndiaXuxue Feng RENEWAL
Francesco Y FlosiRussiaAmy Elsner UNQUALIFIED
David Y ChuiArgentinaIvan Magalhaes RENEWAL
Mujtaba Z RoysterItalyIoni Bowcher NEGOTIATION
Salvatore M SergiGermanyElwin Sharvill PROPOSAL
Wickens Y CaudyBrazilOnyama Limba UNQUALIFIED
Antonio G FollerItalyAnna Fali NEGOTIATION
Mujtaba E ShinkoSpainOnyama Limba NEW
Maria F FerenczItalyAnna Fali UNQUALIFIED
Emily U OstroskyRussiaIvan Magalhaes NEGOTIATION
Cody W DarakjyFranceAmy Elsner PROPOSAL
Murillo S KolmetzArgentinaAsiya Javayant QUALIFIED
Clifford M DarakjyCanadaOnyama Limba RENEWAL
Arvin M GlickSpainOnyama Limba PROPOSAL
Leon K FlosiJapanElwin Sharvill RENEWAL
Salvatore V WhobreyCanadaAsiya Javayant QUALIFIED
Mujtaba X FollerArgentinaAmy Elsner UNQUALIFIED
Octavia T KuskoCanadaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Adams J Shinko
Julie O Ferencz
Greenwood C Briddick
Antonio P Stenseth
Ashley T Darakjy
Francesco R Caldarera
Arvin M Royster
Silvio I Perin
Faith D Gillian
Emily M Wieser
Claire S Ostrosky
Aditya I Schemmer
Silvio N Amigon
Cody J Waycott
Darci E Malet
Maria W Inouye
Leja B Rulapaugh
Misaki J Doe
Deepesh V Malet
Munro M Kusko
Kaitlin R Ferencz
Izzy C Chui
Deepesh M Gillian
Ricardo X Darakjy
Cody R Wieser
Aika Z Schemmer
Johnson P Maclead
Ashley X Whobrey
Mayumi G Saylors
Mujtaba I Butt
Ashley V Dilliard
Leon X Stockham
Faith X Dilliard
Murillo X Nicka
Deepesh E Figeroa
Faith F Oldroyd
Salvatore D Nestle
Clifford Q Amigon
Sinclair H Glick
Ricardo R Kolmetz
Leon Q Perin
Silvio Y Glick
Jennifer J Gaucho
Johnson G Venere
James Y Gaucho
Alejandro S Inouye
Costa R Ruta
Mayumi Y Nestle
Ricardo R Ferencz
Smith W Butt
IdCountryDate
1000India2026-07-29
1001Italy2026-07-21
1002India2026-07-11
1003India2026-07-10
1004Brazil2026-07-03
1005Japan2026-07-23
1006United Kingdom2026-07-26
1007Canada2026-07-06
1008Argentina2026-07-09
1009India2026-07-08
1010Russia2026-07-15
1011Argentina2026-07-31
1012Canada2026-07-20
1013France2026-07-06
1014Brazil2026-07-04
1015India2026-07-24
1016Russia2026-07-09
1017Argentina2026-07-04
1018India2026-07-13
1019Argentina2026-07-16
1020France2026-07-29
1021Italy2026-07-26
1022United Kingdom2026-07-11
1023Argentina2026-07-30
1024United Kingdom2026-07-26
1025Brazil2026-07-06
1026Spain2026-07-19
1027Russia2026-07-02
1028Germany2026-07-08
1029Australia2026-07-29
1030Canada2026-07-31
1031Russia2026-07-28
1032Spain2026-07-30
1033Japan2026-07-25
1034Argentina2026-07-27
1035Italy2026-07-02
1036Italy2026-07-03
1037Germany2026-07-05
1038Germany2026-07-10
1039Spain2026-07-04
1040Germany2026-07-03
1041Spain2026-07-14
1042Japan2026-07-20
1043France2026-07-10
1044Spain2026-07-30
1045India2026-07-25
1046Canada2026-07-30
1047United Kingdom2026-07-05
1048India2026-07-05
1049Argentina2026-07-29

On-Demand Data

NameIdCountryDate
Maisha K Amigon1000India2026-07-09
Izzy M Malet1001Japan2026-07-23
Mayumi B Nestle1002Argentina2026-07-27
Aditya B Campain1003Italy2026-07-02
Chavez A Garufi1004Australia2026-07-22
Ashley I Ostrosky1005Italy2026-07-10
Claire U Briddick1006United Kingdom2026-07-07
Murillo G Malet1007Italy2026-07-10
Nicolas P Darakjy1008Australia2026-07-06
Mujtaba Y Stockham1009Germany2026-07-25
Leja U Caldarera1010Spain2026-07-09
Leja L Chui1011France2026-07-25
Mujtaba M Gaucho1012Brazil2026-07-04
Isabel I Kolmetz1013Australia2026-07-06
Tony L Whobrey1014India2026-07-13
Rodrigues S Whobrey1015Germany2026-07-10
Murillo H Kusko1016Germany2026-07-12
Smith B Bolognia1017India2026-07-25
Munro N Flosi1018Australia2026-07-23
Ricardo Z Bowley1019Argentina2026-07-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio J FollerCanadaElwin Sharvill RENEWAL
Leon N DilliardGermanyBernardo Dominic RENEWAL
Izzy D ShinkoJapanOnyama Limba RENEWAL
Faith Z MarrierItalyAnna Fali UNQUALIFIED
Chavez G GillianJapanIvan Magalhaes NEGOTIATION
Aditya Q StensethIndiaOnyama Limba QUALIFIED
Munro H GillianBrazilXuxue Feng NEGOTIATION
Munro O OstroskySpainAmy Elsner NEW
Isabel D KolmetzGermanyElwin Sharvill NEW
Maria Z MorascaFranceAsiya Javayant NEGOTIATION
Misaki M ButtGermanyXuxue Feng NEW
Jennifer U StockhamFranceBernardo Dominic NEW
Wickens A MaletItalyXuxue Feng PROPOSAL
Francesco L AmigonArgentinaAnna Fali NEW
Munro N CaldareraItalyStephen Shaw QUALIFIED
Claire X OldroydBrazilBernardo Dominic UNQUALIFIED
Leon Q IturbideItalyIvan Magalhaes QUALIFIED
Juan V InouyeItalyElwin Sharvill RENEWAL
Mayumi A MaletBrazilIoni Bowcher NEW
Aditya V PaprockiJapanOnyama Limba NEW
James S TollnerIndiaAnna Fali UNQUALIFIED
Juan J NickaArgentinaAnna Fali UNQUALIFIED
Alejandro H WieserFranceBernardo Dominic UNQUALIFIED
Salvatore T FlosiArgentinaAmy Elsner NEW
Juan B StockhamItalyIvan Magalhaes PROPOSAL
Julie B GarufiAustraliaOnyama Limba NEW
Costa V RutaAustraliaAmy Elsner UNQUALIFIED
Ricardo J StockhamAustraliaOnyama Limba QUALIFIED
Murillo W FlosiAustraliaAsiya Javayant RENEWAL
David X BowleyAustraliaIoni Bowcher RENEWAL
Ivar H SaylorsArgentinaIvan Magalhaes RENEWAL
Aditya Z FlosiFranceOnyama Limba UNQUALIFIED
Clifford D NickaSpainIvan Magalhaes NEGOTIATION
Chavez W GillianFranceXuxue Feng NEGOTIATION
Salvatore O IturbideGermanyIvan Magalhaes QUALIFIED
Maria R TollnerBrazilAsiya Javayant NEGOTIATION
Jones F CaudyArgentinaIoni Bowcher QUALIFIED
Juan Z OldroydUnited KingdomAnna Fali NEW
Chavez C TollnerRussiaElwin Sharvill RENEWAL
Isabel R DilliardRussiaXuxue Feng 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>