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
Sinclair L WieserFranceStephen Shaw QUALIFIED
Silvio Q FollerSpainIvan Magalhaes NEW
Maisha H GarufiFranceOnyama Limba UNQUALIFIED
Kadeem R SlusarskiCanadaOnyama Limba QUALIFIED
Faith J MarrierIndiaStephen Shaw UNQUALIFIED
Isabel O FigeroaItalyStephen Shaw PROPOSAL
Leon M ButtFranceAmy Elsner NEGOTIATION
Morrow X RulapaughBrazilAnna Fali RENEWAL
Kaitlin K FigeroaBrazilBernardo Dominic NEW
Darci W DarakjyJapanAnna Fali NEW
Leon R OldroydFranceElwin Sharvill NEGOTIATION
Silvio D MorascaIndiaAnna Fali PROPOSAL
Octavia I KuskoArgentinaOnyama Limba RENEWAL
Misaki J IturbideAustraliaIvan Magalhaes NEGOTIATION
Aruna I AlbaresRussiaIoni Bowcher PROPOSAL
Leon N GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Claire K WhobreyCanadaIvan Magalhaes NEW
Maria A GauchoAustraliaIoni Bowcher PROPOSAL
Isabel Q StensethUnited KingdomXuxue Feng RENEWAL
Costa O PoquetteAustraliaBernardo Dominic NEGOTIATION
Sinclair S IturbideArgentinaBernardo Dominic UNQUALIFIED
Deepesh Y MacleadGermanyAsiya Javayant PROPOSAL
Jennifer M GlickFranceElwin Sharvill PROPOSAL
Greenwood A MaletGermanyStephen Shaw PROPOSAL
Jennifer G CampainCanadaElwin Sharvill NEGOTIATION
Darci L FerenczIndiaElwin Sharvill PROPOSAL
Leja B FerenczGermanyOnyama Limba NEW
Kadeem J VenereCanadaBernardo Dominic NEW
Jeanfrancois G ShinkoAustraliaStephen Shaw RENEWAL
Jennifer I ButtSpainStephen Shaw QUALIFIED
Cody S MacleadUnited KingdomAsiya Javayant NEW
Ashley F MorascaJapanAnna Fali QUALIFIED
Isabel O GarufiIndiaXuxue Feng PROPOSAL
Nicolas E TollnerUnited KingdomOnyama Limba NEGOTIATION
Munro P StensethAustraliaAmy Elsner NEW
Aika B RimFranceIvan Magalhaes UNQUALIFIED
Greenwood F FlosiBrazilElwin Sharvill UNQUALIFIED
Smith C RoysterFranceAmy Elsner RENEWAL
Alejandro Z RulapaughAustraliaBernardo Dominic PROPOSAL
Misaki U RutaGermanyAmy Elsner NEW
Misaki F RimRussiaXuxue Feng NEGOTIATION
Chavez E TollnerCanadaAnna Fali RENEWAL
Rodrigues T KolmetzRussiaBernardo Dominic QUALIFIED
Kaitlin Z FigeroaItalyElwin Sharvill NEW
Adams X FollerAustraliaAsiya Javayant NEW
Claire L VenereBrazilIoni Bowcher UNQUALIFIED
Murillo C MacleadItalyIoni Bowcher PROPOSAL
Deepesh J WhobreyUnited KingdomIoni Bowcher RENEWAL
Kaitlin N FollerFranceAmy Elsner QUALIFIED
Munro K VocelkaIndiaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha V SaylorsArgentinaIoni Bowcher NEW
Wickens H StensethItalyAsiya Javayant RENEWAL
Chavez Y RulapaughCanadaStephen Shaw NEW
Rodrigues Q GillianJapanAmy Elsner NEGOTIATION
Octavia M DilliardIndiaStephen Shaw QUALIFIED
Antonio K MorascaRussiaIoni Bowcher NEGOTIATION
James N IturbideRussiaStephen Shaw PROPOSAL
Alejandro Q DarakjyArgentinaXuxue Feng QUALIFIED
Greenwood L OldroydRussiaIoni Bowcher NEW
Adams Z ShinkoArgentinaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria W NestleCanada2026-07-14Buckley Miller Wright UNQUALIFIED71Asiya Javayant
1001Jennifer W PerinUnited Kingdom2026-07-16Rangoni Of Florence RENEWAL40Ivan Magalhaes
1002Izzy W MorascaRussia2026-07-23Buckley Miller Wright NEGOTIATION16Onyama Limba
1003Stacey L BriddickFrance2026-07-21Feltz Printing Service RENEWAL1Onyama Limba
1004Rodrigues S InouyeFrance2026-07-01Truhlar And Truhlar Attys NEW19Xuxue Feng
1005Leon Q MarrierUnited Kingdom2026-07-20Chapman, Ross E Esq QUALIFIED68Ioni Bowcher
1006Kadeem R RulapaughBrazil2026-07-13Dorl, James J Esq UNQUALIFIED26Onyama Limba
1007Mujtaba G RimSpain2026-07-20Rousseaux, Michael Esq NEGOTIATION53Ivan Magalhaes
1008Juan J OstroskyJapan2026-07-17Chanay, Jeffrey A Esq RENEWAL78Xuxue Feng
1009Munro S MorascaIndia2026-07-23Feiner Bros UNQUALIFIED66Onyama Limba
1010Maisha X GillianUnited Kingdom2026-06-29Feiner Bros RENEWAL57Onyama Limba
1011Smith W FerenczSpain2026-07-24Dorl, James J Esq QUALIFIED97Stephen Shaw
1012Arvin C DarakjyBrazil2026-07-19Buckley Miller Wright UNQUALIFIED6Asiya Javayant
1013Tony L SchemmerRussia2026-07-06Dorl, James J Esq NEGOTIATION83Bernardo Dominic
1014Ashley R DoeItaly2026-07-02Truhlar And Truhlar Attys NEGOTIATION38Bernardo Dominic
1015Isabel S WaycottAustralia2026-07-07Feltz Printing Service PROPOSAL36Anna Fali
1016Sinclair S WieserArgentina2026-07-21Dorl, James J Esq QUALIFIED52Xuxue Feng
1017Chavez L StockhamAustralia2026-06-28Feiner Bros NEW73Asiya Javayant
1018Alejandro U AlbaresGermany2026-07-01Buckley Miller Wright NEW37Anna Fali
1019Nicolas O DilliardRussia2026-07-13Rousseaux, Michael Esq NEW26Asiya Javayant
1020Leon C VocelkaSpain2026-07-21King, Christopher A Esq PROPOSAL54Ivan Magalhaes
1021Aditya O SaylorsFrance2026-07-11King, Christopher A Esq NEW62Ivan Magalhaes
1022Deepesh I PoquetteAustralia2026-06-27Dorl, James J Esq RENEWAL42Elwin Sharvill
1023Clifford I NickaFrance2026-07-07Morlong Associates NEGOTIATION18Asiya Javayant
1024Leja O StockhamIndia2026-07-03Rousseaux, Michael Esq RENEWAL19Elwin Sharvill
1025Aditya F MacleadCanada2026-07-11Truhlar And Truhlar Attys RENEWAL29Bernardo Dominic
1026Darci B WaycottGermany2026-07-08Chemel, James L Cpa NEW51Onyama Limba
1027Aika P BowleyCanada2026-06-29Printing Dimensions PROPOSAL73Ioni Bowcher
1028Emily Z VocelkaUnited Kingdom2026-07-16Morlong Associates QUALIFIED51Elwin Sharvill
1029Kadeem X GlickCanada2026-06-28Dorl, James J Esq NEW78Elwin Sharvill
1030Leja N DoeSpain2026-07-19Truhlar And Truhlar Attys QUALIFIED7Ioni Bowcher
1031Munro F GlickAustralia2026-07-19Morlong Associates RENEWAL35Ivan Magalhaes
1032Misaki C MorascaCanada2026-07-10Rousseaux, Michael Esq NEW30Elwin Sharvill
1033Maria N PerinCanada2026-07-23Printing Dimensions NEW34Asiya Javayant
1034Francesco L MorascaBrazil2026-07-13King, Christopher A Esq RENEWAL47Onyama Limba
1035Juan H BowleyCanada2026-07-11Chapman, Ross E Esq QUALIFIED53Amy Elsner
1036Smith E CampainSpain2026-07-19Printing Dimensions NEGOTIATION75Anna Fali
1037Francesco I MorascaRussia2026-07-08Rousseaux, Michael Esq RENEWAL72Elwin Sharvill
1038Antonio B MorascaFrance2026-07-06Rousseaux, Michael Esq PROPOSAL82Bernardo Dominic
1039Aika J GlickJapan2026-07-10Rousseaux, Michael Esq RENEWAL59Amy Elsner
1040Faith S ShinkoUnited Kingdom2026-07-16Chanay, Jeffrey A Esq NEGOTIATION8Bernardo Dominic
1041Jefferson O BowleyBrazil2026-07-10Buckley Miller Wright NEGOTIATION27Amy Elsner
1042Deepesh H FollerFrance2026-06-29Feltz Printing Service NEW87Anna Fali
1043Isabel R BriddickCanada2026-07-01Commercial Press NEGOTIATION36Onyama Limba
1044Maria I FollerItaly2026-07-11Printing Dimensions PROPOSAL53Bernardo Dominic
1045Mayumi N SaylorsArgentina2026-07-05Dorl, James J Esq NEW48Amy Elsner
1046James P SchemmerJapan2026-07-06King, Christopher A Esq UNQUALIFIED42Onyama Limba
1047Ashley J NestleIndia2026-06-27Chemel, James L Cpa RENEWAL42Ivan Magalhaes
1048Wickens Q WieserFrance2026-07-21Feiner Bros RENEWAL86Amy Elsner
1049Greenwood P KolmetzAustralia2026-06-27Rangoni Of Florence UNQUALIFIED40Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Greenwood H BriddickAustraliaAnna Fali NEGOTIATION
Adams Y RimFranceBernardo Dominic PROPOSAL
Munro V DoeBrazilIvan Magalhaes NEGOTIATION
Johnson X GlickGermanyXuxue Feng NEW
Arvin K InouyeFranceIvan Magalhaes UNQUALIFIED
Mujtaba C AlbaresArgentinaXuxue Feng NEGOTIATION
Salvatore L NickaGermanyIoni Bowcher PROPOSAL
Jeanfrancois F ButtGermanyElwin Sharvill NEGOTIATION
Salvatore D DilliardArgentinaBernardo Dominic NEW
Maisha I StensethBrazilIoni Bowcher QUALIFIED
Arvin J BriddickBrazilStephen Shaw RENEWAL
Murillo Z DoeBrazilAsiya Javayant RENEWAL
Jennifer Y VocelkaAustraliaIvan Magalhaes QUALIFIED
Misaki I WieserBrazilAmy Elsner UNQUALIFIED
Leja T FerenczJapanAnna Fali QUALIFIED
Stacey S FlosiBrazilAnna Fali RENEWAL
Darci G ShinkoJapanAsiya Javayant UNQUALIFIED
Stacey F SaylorsSpainBernardo Dominic UNQUALIFIED
Adams N ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Jeanfrancois G SchemmerFranceAnna Fali RENEWAL
Francesco L MorascaRussiaIoni Bowcher NEW
Sinclair S BriddickArgentinaOnyama Limba RENEWAL
Kadeem W SaylorsItalyAnna Fali UNQUALIFIED
Deepesh X SergiIndiaIoni Bowcher NEW
Francesco V NestleIndiaAsiya Javayant RENEWAL
Chavez X StockhamBrazilBernardo Dominic PROPOSAL
Stacey Y WieserGermanyAmy Elsner NEW
Kadeem J WaycottItalyIvan Magalhaes RENEWAL
Clifford E AmigonJapanOnyama Limba RENEWAL
James Y SaylorsArgentinaElwin Sharvill NEGOTIATION
Tony D OldroydRussiaIvan Magalhaes NEW
Juan G GillianCanadaBernardo Dominic PROPOSAL
Alejandro B WieserAustraliaAsiya Javayant UNQUALIFIED
Clifford J NestleIndiaIoni Bowcher PROPOSAL
Tony A ButtUnited KingdomIvan Magalhaes QUALIFIED
Sinclair J KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Emily D PoquetteArgentinaOnyama Limba NEGOTIATION
James U WaycottFranceOnyama Limba PROPOSAL
Tony A SlusarskiBrazilIvan Magalhaes NEGOTIATION
Mujtaba H NestleBrazilXuxue Feng QUALIFIED
Adams Y KuskoItalyOnyama Limba QUALIFIED
Tony P ShinkoUnited KingdomAmy Elsner PROPOSAL
Salvatore I NickaAustraliaIoni Bowcher NEGOTIATION
Sinclair R GarufiSpainIvan Magalhaes QUALIFIED
Costa N MaletCanadaElwin Sharvill RENEWAL
Kadeem N KolmetzJapanIoni Bowcher QUALIFIED
Chavez H PerinItalyIoni Bowcher RENEWAL
Misaki E NestleIndiaOnyama Limba RENEWAL
Izzy S StensethUnited KingdomXuxue Feng QUALIFIED
Greenwood C PerinUnited KingdomBernardo Dominic NEW
Frozen Columns
Name
Kaitlin D Nicka
Jeanfrancois S Ostrosky
Silvio H Venere
Costa Q Iturbide
David J Ostrosky
Sinclair O Doe
Rodrigues E Paprocki
Aika N Gillian
Darci L Maclead
Francesco C Rim
Mujtaba T Wieser
Julie Y Whobrey
Rodrigues T Slusarski
Smith N Sergi
Adams Z Dilliard
Kadeem X Kusko
Maria K Rulapaugh
Sinclair W Malet
Nicolas G Briddick
Tony Y Rim
Johnson K Whobrey
Jeanfrancois R Darakjy
Octavia K Morasca
Jennifer M Darakjy
Jennifer V Kolmetz
Smith C Vocelka
Cody E Royster
Jones T Figeroa
Sinclair Z Flosi
Rodrigues T Stenseth
Alejandro U Rulapaugh
David X Figeroa
Isabel E Glick
Leon A Wieser
Munro D Rim
Nicolas A Sergi
Silvio W Ostrosky
Johnson O Caldarera
Deepesh N Doe
Smith I Wieser
Greenwood S Albares
Morrow F Slusarski
Antonio U Ostrosky
Johnson D Gillian
Maisha R Doe
Costa X Oldroyd
Murillo D Malet
Emily Q Morasca
Ricardo Y Inouye
Maria I Flosi
IdCountryDate
1000United Kingdom2026-07-01
1001France2026-06-30
1002Russia2026-07-15
1003United Kingdom2026-07-06
1004Germany2026-07-15
1005France2026-07-10
1006Germany2026-07-06
1007Spain2026-07-01
1008Italy2026-06-26
1009India2026-07-04
1010Spain2026-07-16
1011Canada2026-07-19
1012Argentina2026-07-08
1013Russia2026-07-12
1014Argentina2026-06-29
1015Russia2026-07-12
1016France2026-07-03
1017Russia2026-07-20
1018Brazil2026-07-03
1019Italy2026-07-04
1020Germany2026-07-24
1021Russia2026-07-03
1022Russia2026-07-13
1023Canada2026-07-18
1024Australia2026-07-16
1025Russia2026-07-09
1026Japan2026-07-08
1027Brazil2026-07-05
1028India2026-07-12
1029Canada2026-07-02
1030India2026-07-24
1031United Kingdom2026-07-01
1032France2026-07-06
1033Japan2026-07-03
1034India2026-07-24
1035Germany2026-07-11
1036Japan2026-07-21
1037Australia2026-07-05
1038Russia2026-07-24
1039Italy2026-07-16
1040Japan2026-07-06
1041France2026-07-15
1042Australia2026-07-06
1043Italy2026-07-16
1044France2026-07-22
1045Australia2026-06-27
1046Canada2026-06-30
1047United Kingdom2026-06-27
1048Canada2026-06-26
1049Russia2026-06-30

On-Demand Data

NameIdCountryDate
Nicolas Z Caldarera1000Russia2026-07-07
Arvin W Nestle1001Canada2026-07-11
Darci O Stockham1002Brazil2026-07-05
Claire Z Slusarski1003Germany2026-07-18
Smith P Waycott1004Germany2026-07-11
Murillo D Doe1005Canada2026-07-24
Faith K Garufi1006Spain2026-07-13
Adams K Chui1007India2026-07-10
Johnson P Perin1008Japan2026-07-12
Mayumi U Ruta1009Argentina2026-07-23
Alejandro Z Poquette1010United Kingdom2026-06-29
Johnson I Sergi1011Japan2026-07-04
Aruna K Gaucho1012Spain2026-07-16
Arvin U Rulapaugh1013Japan2026-07-21
Arvin N Butt1014Germany2026-07-23
Chavez X Albares1015Brazil2026-07-19
Maria G Shinko1016Japan2026-07-17
Jones F Albares1017Argentina2026-07-20
Salvatore B Malet1018Japan2026-06-29
Maisha S Royster1019Brazil2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya J ChuiAustraliaElwin Sharvill NEW
Ashley X KolmetzRussiaAsiya Javayant UNQUALIFIED
Alejandro V SlusarskiCanadaElwin Sharvill NEGOTIATION
James F RoysterCanadaIoni Bowcher QUALIFIED
Ivar M FerenczSpainOnyama Limba PROPOSAL
Costa P MorascaCanadaAmy Elsner NEGOTIATION
Rodrigues X NestleAustraliaElwin Sharvill UNQUALIFIED
Greenwood Q FollerRussiaIoni Bowcher PROPOSAL
Nicolas D OstroskyArgentinaAmy Elsner NEGOTIATION
Juan N CampainUnited KingdomAmy Elsner PROPOSAL
Francesco I BriddickCanadaStephen Shaw QUALIFIED
Mayumi F SchemmerBrazilStephen Shaw UNQUALIFIED
Wickens W InouyeJapanElwin Sharvill RENEWAL
Sinclair Y BologniaFranceIvan Magalhaes NEW
Deepesh Y GarufiCanadaAmy Elsner UNQUALIFIED
Izzy W NestleUnited KingdomXuxue Feng NEW
Clifford D MarrierCanadaXuxue Feng QUALIFIED
Emily L KuskoCanadaIvan Magalhaes NEGOTIATION
Misaki N SaylorsUnited KingdomBernardo Dominic RENEWAL
Clifford Y FerenczUnited KingdomAsiya Javayant PROPOSAL
Juan Y GauchoFranceStephen Shaw NEW
Leja C MorascaItalyAnna Fali PROPOSAL
Aika E StensethGermanyElwin Sharvill QUALIFIED
Morrow D NickaAustraliaIoni Bowcher NEW
Francesco S FigeroaCanadaAsiya Javayant QUALIFIED
Juan Q BriddickJapanAmy Elsner NEGOTIATION
Alejandro T MorascaAustraliaStephen Shaw PROPOSAL
Aika G ButtItalyIoni Bowcher NEW
Ivar L BologniaCanadaXuxue Feng PROPOSAL
Kaitlin S FlosiJapanXuxue Feng QUALIFIED
Faith N CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Munro X StensethAustraliaBernardo Dominic RENEWAL
Juan U SaylorsAustraliaOnyama Limba UNQUALIFIED
Deepesh I InouyeItalyStephen Shaw QUALIFIED
Cody N AlbaresBrazilIvan Magalhaes NEW
Aika V RimGermanyAnna Fali QUALIFIED
Leon C PaprockiRussiaIoni Bowcher PROPOSAL
Cody O IturbideGermanyXuxue Feng QUALIFIED
James K BologniaSpainBernardo Dominic PROPOSAL
Kaitlin L WhobreyFranceAmy Elsner 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>