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
Misaki Y SergiAustraliaElwin Sharvill NEGOTIATION
Octavia R OldroydItalyAnna Fali RENEWAL
Antonio L GlickJapanAmy Elsner QUALIFIED
Rodrigues G AmigonFranceIvan Magalhaes RENEWAL
Murillo F NestleItalyAnna Fali PROPOSAL
Aditya S BowleyCanadaAnna Fali NEGOTIATION
Mujtaba R PoquetteIndiaElwin Sharvill PROPOSAL
Costa W VenereRussiaIvan Magalhaes QUALIFIED
James C ChuiUnited KingdomBernardo Dominic RENEWAL
Aditya P RulapaughBrazilStephen Shaw UNQUALIFIED
Cody A ChuiAustraliaIvan Magalhaes NEGOTIATION
Aditya R SlusarskiAustraliaXuxue Feng PROPOSAL
Munro X ShinkoSpainIoni Bowcher NEGOTIATION
Isabel T SchemmerFranceStephen Shaw QUALIFIED
Deepesh T StockhamItalyAmy Elsner RENEWAL
Antonio F RoysterGermanyAsiya Javayant RENEWAL
Kaitlin Z FigeroaFranceAnna Fali QUALIFIED
Murillo B DilliardArgentinaElwin Sharvill QUALIFIED
Costa Q SchemmerIndiaBernardo Dominic NEW
Ashley L NestleSpainAsiya Javayant RENEWAL
Murillo F GillianArgentinaAmy Elsner NEGOTIATION
Isabel R SchemmerIndiaAnna Fali PROPOSAL
James B MarrierUnited KingdomXuxue Feng UNQUALIFIED
Aruna G OstroskyUnited KingdomStephen Shaw NEW
Morrow W ChuiAustraliaIvan Magalhaes QUALIFIED
Leon G MaletIndiaIvan Magalhaes PROPOSAL
Ricardo K StensethJapanIoni Bowcher NEGOTIATION
Maisha R DarakjyRussiaAnna Fali PROPOSAL
Aruna W FollerArgentinaAsiya Javayant PROPOSAL
Ashley D ShinkoFranceStephen Shaw QUALIFIED
Salvatore S ButtUnited KingdomIvan Magalhaes RENEWAL
Claire H RimIndiaIoni Bowcher QUALIFIED
Tony G FigeroaJapanIvan Magalhaes NEW
Izzy O VocelkaBrazilElwin Sharvill NEGOTIATION
Kaitlin I RoysterGermanyAmy Elsner RENEWAL
Adams X RoysterCanadaAmy Elsner PROPOSAL
Kadeem I GlickUnited KingdomElwin Sharvill QUALIFIED
Silvio Z RutaFranceIoni Bowcher PROPOSAL
Leon K GlickArgentinaAnna Fali NEGOTIATION
Maria P AlbaresSpainBernardo Dominic NEW
Julie N KolmetzAustraliaAnna Fali RENEWAL
Kadeem L OstroskyIndiaElwin Sharvill NEGOTIATION
Jennifer Z StockhamAustraliaIoni Bowcher QUALIFIED
Octavia S CaldareraGermanyIvan Magalhaes PROPOSAL
Julie C TollnerGermanyAsiya Javayant RENEWAL
Francesco R MaletIndiaAmy Elsner NEGOTIATION
Greenwood N IturbideGermanyAmy Elsner UNQUALIFIED
Jefferson G ButtRussiaIvan Magalhaes PROPOSAL
Antonio J PerinIndiaBernardo Dominic PROPOSAL
Greenwood I MaletUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio A GauchoArgentinaBernardo Dominic UNQUALIFIED
Claire B ChuiArgentinaXuxue Feng PROPOSAL
Silvio J RulapaughSpainAnna Fali QUALIFIED
Misaki Z SchemmerIndiaIvan Magalhaes PROPOSAL
Aruna Q VocelkaRussiaIvan Magalhaes UNQUALIFIED
Maria N VenereSpainIvan Magalhaes NEGOTIATION
Leon B InouyeBrazilBernardo Dominic UNQUALIFIED
Kaitlin C StensethUnited KingdomBernardo Dominic NEGOTIATION
Jones T VocelkaItalyIvan Magalhaes NEGOTIATION
Mayumi D GauchoAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones N SergiCanada2024-06-10King, Christopher A Esq PROPOSAL44Bernardo Dominic
1001Maria N GauchoItaly2024-06-06Chanay, Jeffrey A Esq NEGOTIATION74Ivan Magalhaes
1002Aruna D InouyeUnited Kingdom2024-06-06Benton, John B Jr NEW21Amy Elsner
1003Faith W SergiFrance2024-05-30Feltz Printing Service NEGOTIATION11Amy Elsner
1004Darci S KolmetzAustralia2024-06-06Chemel, James L Cpa PROPOSAL98Stephen Shaw
1005Johnson G CaudyFrance2024-06-22Buckley Miller Wright QUALIFIED83Amy Elsner
1006Deepesh Z WhobreyIndia2024-06-17Feiner Bros NEW28Stephen Shaw
1007Johnson R MaletItaly2024-05-28Buckley Miller Wright RENEWAL67Asiya Javayant
1008Ivar W StensethBrazil2024-06-04King, Christopher A Esq NEW17Xuxue Feng
1009Francesco R RimJapan2024-06-23Rousseaux, Michael Esq PROPOSAL44Amy Elsner
1010Mujtaba S ChuiFrance2024-05-31Rousseaux, Michael Esq NEGOTIATION35Ivan Magalhaes
1011Maisha R MaletArgentina2024-05-30Morlong Associates NEW46Onyama Limba
1012Claire N MaletItaly2024-05-27Feltz Printing Service UNQUALIFIED59Anna Fali
1013Wickens W AmigonFrance2024-06-12King, Christopher A Esq NEGOTIATION40Xuxue Feng
1014Ricardo I StockhamJapan2024-06-11Rangoni Of Florence NEW63Bernardo Dominic
1015Ricardo L SlusarskiCanada2024-06-12Rangoni Of Florence NEW31Onyama Limba
1016Maisha P AmigonJapan2024-06-23Commercial Press PROPOSAL83Xuxue Feng
1017Kadeem H DilliardRussia2024-06-22Rangoni Of Florence UNQUALIFIED38Stephen Shaw
1018Antonio O KolmetzFrance2024-06-23Feiner Bros UNQUALIFIED82Stephen Shaw
1019Deepesh W GlickBrazil2024-06-06Buckley Miller Wright PROPOSAL6Onyama Limba
1020Wickens W RutaGermany2024-06-01Rangoni Of Florence UNQUALIFIED46Onyama Limba
1021Silvio C SlusarskiSpain2024-06-21Benton, John B Jr NEW65Onyama Limba
1022Adams A WaycottRussia2024-06-13Feltz Printing Service NEGOTIATION98Asiya Javayant
1023Maria F NestleSpain2024-05-27Printing Dimensions UNQUALIFIED58Bernardo Dominic
1024Tony Q GlickJapan2024-06-06Feiner Bros NEGOTIATION31Ioni Bowcher
1025Wickens N SlusarskiUnited Kingdom2024-06-20Buckley Miller Wright UNQUALIFIED45Stephen Shaw
1026Mujtaba O OstroskyFrance2024-06-06Dorl, James J Esq QUALIFIED94Onyama Limba
1027Clifford A PaprockiGermany2024-05-28Chapman, Ross E Esq NEW55Ivan Magalhaes
1028Claire C ButtFrance2024-06-20Truhlar And Truhlar Attys UNQUALIFIED48Xuxue Feng
1029Kadeem K ButtUnited Kingdom2024-06-18King, Christopher A Esq RENEWAL40Anna Fali
1030Smith K TollnerSpain2024-06-14Chapman, Ross E Esq PROPOSAL69Ivan Magalhaes
1031Stacey C TollnerBrazil2024-05-29Commercial Press UNQUALIFIED97Stephen Shaw
1032Kadeem L PerinBrazil2024-06-21Feiner Bros QUALIFIED36Onyama Limba
1033Jeanfrancois N ChuiFrance2024-06-22Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1034Arvin F RimItaly2024-06-01Commercial Press PROPOSAL62Ivan Magalhaes
1035Wickens R SlusarskiRussia2024-06-18Commercial Press PROPOSAL25Amy Elsner
1036Aruna O AmigonFrance2024-05-27Buckley Miller Wright PROPOSAL57Anna Fali
1037Jennifer M VenereSpain2024-06-18Truhlar And Truhlar Attys PROPOSAL54Ioni Bowcher
1038Faith R TollnerIndia2024-05-26Chanay, Jeffrey A Esq NEW62Asiya Javayant
1039Aika Q PerinSpain2024-06-21King, Christopher A Esq PROPOSAL40Bernardo Dominic
1040Francesco M SergiAustralia2024-05-30Buckley Miller Wright QUALIFIED98Ioni Bowcher
1041Darci M FollerBrazil2024-05-26Feiner Bros RENEWAL8Onyama Limba
1042Ashley Z NestleAustralia2024-06-03Chemel, James L Cpa NEGOTIATION35Elwin Sharvill
1043Aika K CaldareraRussia2024-06-20Rangoni Of Florence RENEWAL97Ivan Magalhaes
1044Faith W PerinRussia2024-06-21Feiner Bros RENEWAL16Stephen Shaw
1045Jennifer O SaylorsAustralia2024-05-27Benton, John B Jr NEW89Onyama Limba
1046Mayumi W CaudyAustralia2024-06-04Chemel, James L Cpa RENEWAL50Onyama Limba
1047Julie Z VenereItaly2024-06-03Chapman, Ross E Esq UNQUALIFIED20Ivan Magalhaes
1048Claire F PaprockiIndia2024-05-28Rousseaux, Michael Esq NEGOTIATION84Amy Elsner
1049Wickens B VenereJapan2024-06-24Feltz Printing Service RENEWAL74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya H TollnerRussiaXuxue Feng RENEWAL
Mayumi L RoysterIndiaStephen Shaw UNQUALIFIED
Mayumi R OstroskySpainStephen Shaw PROPOSAL
Leja U GlickItalyAsiya Javayant QUALIFIED
Ashley Y GlickRussiaAmy Elsner QUALIFIED
Greenwood R FollerArgentinaAmy Elsner QUALIFIED
Morrow D PoquetteCanadaIoni Bowcher QUALIFIED
Jeanfrancois A MacleadUnited KingdomXuxue Feng RENEWAL
Rodrigues Q MacleadArgentinaIoni Bowcher QUALIFIED
Arvin C FigeroaAustraliaElwin Sharvill QUALIFIED
Aika Z ShinkoGermanyBernardo Dominic QUALIFIED
Kadeem E MacleadUnited KingdomOnyama Limba NEW
Salvatore E CampainArgentinaElwin Sharvill NEW
Jennifer R RimJapanStephen Shaw UNQUALIFIED
Aditya O BowleyRussiaAnna Fali NEGOTIATION
Jones S WieserBrazilStephen Shaw QUALIFIED
Jefferson O BologniaAustraliaIvan Magalhaes NEGOTIATION
Rodrigues O GillianBrazilElwin Sharvill NEGOTIATION
Ashley C MaletIndiaIvan Magalhaes NEW
Rodrigues T AlbaresIndiaBernardo Dominic RENEWAL
Greenwood A VenereUnited KingdomXuxue Feng NEW
Mayumi L MorascaItalyStephen Shaw RENEWAL
Darci B FlosiAustraliaAnna Fali PROPOSAL
Kadeem S CaudyAustraliaAnna Fali RENEWAL
Maisha Q RulapaughItalyXuxue Feng NEW
Sinclair J PoquetteBrazilIvan Magalhaes UNQUALIFIED
Kadeem E WaycottJapanIoni Bowcher QUALIFIED
Mayumi S SlusarskiRussiaIvan Magalhaes RENEWAL
Izzy Q OstroskyCanadaAsiya Javayant UNQUALIFIED
Tony O DarakjyArgentinaIoni Bowcher NEW
Clifford Y KuskoItalyAsiya Javayant NEW
Wickens W BriddickAustraliaXuxue Feng RENEWAL
Murillo V SergiItalyXuxue Feng PROPOSAL
Leja G ShinkoIndiaElwin Sharvill RENEWAL
Chavez X NestleGermanyElwin Sharvill PROPOSAL
Jeanfrancois K AmigonRussiaAmy Elsner NEGOTIATION
Greenwood E MorascaIndiaIvan Magalhaes RENEWAL
Costa N GillianSpainAmy Elsner PROPOSAL
Clifford H CaldareraIndiaXuxue Feng UNQUALIFIED
Jennifer G WaycottSpainIoni Bowcher NEGOTIATION
Costa Z CaudyArgentinaIvan Magalhaes UNQUALIFIED
Ivar T InouyeBrazilBernardo Dominic NEGOTIATION
Chavez D MacleadJapanAsiya Javayant RENEWAL
Munro D GauchoAustraliaIoni Bowcher NEGOTIATION
Maisha O CaudyGermanyBernardo Dominic RENEWAL
Arvin U MacleadFranceElwin Sharvill RENEWAL
Arvin W GlickItalyStephen Shaw PROPOSAL
Julie N CaldareraArgentinaXuxue Feng NEGOTIATION
Jennifer Y SaylorsJapanOnyama Limba UNQUALIFIED
Maisha N DoeAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Munro P Nestle
Adams O Paprocki
Aruna Z Amigon
David O Rim
Sinclair V Rim
Arvin F Gillian
Mayumi B Ruta
Kadeem F Nicka
Faith C Shinko
Isabel W Rim
Arvin W Flosi
James F Perin
Murillo T Gillian
Johnson Y Caudy
Nicolas A Schemmer
Alejandro B Gaucho
Costa P Glick
David G Caldarera
Aruna K Darakjy
Maisha Y Stockham
Alejandro Y Caldarera
Wickens V Marrier
Leon X Nicka
Ivar W Vocelka
Darci S Paprocki
Leon U Doe
Ivar W Chui
Alejandro T Ostrosky
Cody R Stenseth
Rodrigues Q Nicka
Sinclair X Foller
Jefferson A Stockham
Aika L Malet
Aditya V Foller
Misaki N Saylors
Greenwood I Nestle
Clifford A Slusarski
Leja Q Oldroyd
Nicolas O Morasca
Munro C Vocelka
Leja J Ferencz
Misaki G Foller
Costa H Morasca
Claire P Marrier
Jones I Amigon
Octavia E Oldroyd
Ivar N Oldroyd
Ashley A Figeroa
Adams Y Sergi
Costa K Malet
IdCountryDate
1000Germany2024-06-20
1001Spain2024-05-28
1002Brazil2024-05-27
1003Russia2024-06-06
1004Spain2024-06-05
1005Russia2024-06-15
1006Canada2024-06-19
1007Argentina2024-05-27
1008Germany2024-06-14
1009United Kingdom2024-06-13
1010Russia2024-06-02
1011Germany2024-05-27
1012Argentina2024-06-21
1013Argentina2024-06-09
1014France2024-05-26
1015Russia2024-06-11
1016France2024-06-12
1017Australia2024-05-28
1018Japan2024-06-02
1019Germany2024-06-02
1020India2024-06-15
1021United Kingdom2024-06-23
1022Brazil2024-06-05
1023Italy2024-05-26
1024Japan2024-06-18
1025Brazil2024-06-08
1026Germany2024-06-19
1027Spain2024-05-31
1028India2024-05-26
1029Brazil2024-06-18
1030Germany2024-06-11
1031Canada2024-06-19
1032Italy2024-06-13
1033Germany2024-06-24
1034Russia2024-06-12
1035India2024-06-17
1036Japan2024-05-31
1037Russia2024-06-10
1038Spain2024-06-02
1039Germany2024-06-10
1040Russia2024-06-18
1041Russia2024-06-20
1042Canada2024-06-19
1043Australia2024-06-13
1044Spain2024-05-29
1045Italy2024-05-27
1046Brazil2024-06-18
1047India2024-06-06
1048Australia2024-06-04
1049India2024-06-10

On-Demand Data

NameIdCountryDate
Murillo U Dilliard1000Brazil2024-06-10
Maria Y Garufi1001Brazil2024-06-22
Leja E Iturbide1002India2024-06-05
Wickens V Rulapaugh1003Italy2024-06-12
Octavia H Shinko1004Brazil2024-06-04
Cody C Marrier1005Argentina2024-06-02
Maisha D Saylors1006Japan2024-06-02
Julie O Maclead1007Spain2024-06-03
Maria O Flosi1008Brazil2024-06-02
Kadeem J Nestle1009United Kingdom2024-06-15
Munro O Nestle1010Japan2024-06-15
David Y Butt1011Spain2024-06-17
Izzy X Inouye1012Australia2024-05-31
Stacey M Campain1013Argentina2024-06-07
Silvio F Ostrosky1014Australia2024-06-20
Nicolas I Paprocki1015Japan2024-05-30
Morrow J Whobrey1016Argentina2024-06-12
Murillo F Iturbide1017Italy2024-06-04
Mayumi L Rulapaugh1018United Kingdom2024-05-27
Ricardo K Bolognia1019Brazil2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford J PaprockiGermanyIoni Bowcher QUALIFIED
Morrow Y GauchoAustraliaStephen Shaw NEW
Munro Q PerinAustraliaAsiya Javayant NEW
Costa W CaldareraSpainStephen Shaw NEGOTIATION
Jefferson O ShinkoItalyOnyama Limba NEGOTIATION
Maisha R FlosiSpainIvan Magalhaes QUALIFIED
Ashley M BowleyGermanyIoni Bowcher NEGOTIATION
Octavia N MarrierUnited KingdomStephen Shaw PROPOSAL
Smith R GillianFranceBernardo Dominic UNQUALIFIED
Smith L VenereSpainIoni Bowcher RENEWAL
Nicolas F PoquetteSpainIoni Bowcher NEGOTIATION
Kaitlin O ChuiAustraliaAnna Fali UNQUALIFIED
Greenwood M CaldareraRussiaAsiya Javayant NEW
Adams H OldroydAustraliaElwin Sharvill NEW
Salvatore T PerinRussiaStephen Shaw NEGOTIATION
Aika L OstroskyFranceIvan Magalhaes PROPOSAL
Cody X StensethCanadaOnyama Limba RENEWAL
Alejandro P BologniaSpainAmy Elsner UNQUALIFIED
Murillo K RoysterArgentinaAmy Elsner NEGOTIATION
Francesco L MacleadJapanBernardo Dominic NEW
Maisha E AlbaresSpainBernardo Dominic UNQUALIFIED
Izzy R BologniaSpainIvan Magalhaes NEGOTIATION
Kadeem V RimBrazilAnna Fali NEW
Costa F AmigonSpainAnna Fali NEGOTIATION
Mayumi J StockhamRussiaOnyama Limba PROPOSAL
Chavez D MaletSpainIoni Bowcher NEW
Jefferson N ShinkoArgentinaAnna Fali UNQUALIFIED
Jefferson D SaylorsBrazilXuxue Feng QUALIFIED
Munro Q AlbaresUnited KingdomAsiya Javayant PROPOSAL
Juan Y ShinkoIndiaAnna Fali NEW
Rodrigues N KolmetzFranceXuxue Feng NEW
Juan O DilliardArgentinaXuxue Feng NEGOTIATION
Chavez W SaylorsSpainOnyama Limba RENEWAL
Greenwood C BologniaUnited KingdomElwin Sharvill PROPOSAL
Alejandro K PoquetteGermanyAnna Fali NEW
Emily X GillianItalyAnna Fali NEGOTIATION
Rodrigues T FollerFranceXuxue Feng PROPOSAL
Morrow L FlosiBrazilOnyama Limba PROPOSAL
Maisha P VocelkaBrazilAnna Fali UNQUALIFIED
Faith F FigeroaBrazilXuxue 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>