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
Murillo Q OldroydSpainXuxue Feng UNQUALIFIED
Stacey R RoysterAustraliaXuxue Feng NEGOTIATION
Ivar O BriddickUnited KingdomAsiya Javayant NEGOTIATION
Ashley C MarrierUnited KingdomIoni Bowcher NEW
Smith Z CampainUnited KingdomOnyama Limba NEW
Smith X PaprockiSpainElwin Sharvill RENEWAL
Leja G AlbaresAustraliaXuxue Feng UNQUALIFIED
Julie S WaycottIndiaXuxue Feng QUALIFIED
Morrow C RulapaughJapanIvan Magalhaes NEGOTIATION
Francesco Q KolmetzRussiaIoni Bowcher NEW
Clifford G WieserUnited KingdomAnna Fali UNQUALIFIED
Smith O FollerGermanyStephen Shaw UNQUALIFIED
Cody W InouyeArgentinaAnna Fali UNQUALIFIED
Izzy A CaldareraRussiaStephen Shaw RENEWAL
Nicolas P NestleIndiaBernardo Dominic NEGOTIATION
Aditya Q RulapaughUnited KingdomAsiya Javayant PROPOSAL
Aruna R GauchoFranceElwin Sharvill RENEWAL
David D MarrierSpainIvan Magalhaes PROPOSAL
Leon Y SergiFranceIvan Magalhaes RENEWAL
Maria O WaycottAustraliaAmy Elsner RENEWAL
Kaitlin K KuskoFranceStephen Shaw QUALIFIED
Wickens L WaycottSpainOnyama Limba RENEWAL
Mayumi E WieserCanadaAnna Fali UNQUALIFIED
Sinclair P PaprockiAustraliaOnyama Limba NEW
Emily P BologniaIndiaIoni Bowcher NEW
Aika R KuskoJapanAsiya Javayant NEW
Misaki J OldroydJapanIoni Bowcher UNQUALIFIED
Tony M OstroskyGermanyIoni Bowcher RENEWAL
Arvin I FlosiIndiaAsiya Javayant NEGOTIATION
Jones W BologniaBrazilAmy Elsner NEGOTIATION
Faith G FerenczAustraliaAmy Elsner PROPOSAL
Greenwood N PerinAustraliaStephen Shaw QUALIFIED
Jefferson P VocelkaCanadaIvan Magalhaes NEW
Jennifer R CampainBrazilIoni Bowcher UNQUALIFIED
Francesco U CampainBrazilAmy Elsner UNQUALIFIED
Francesco M RutaIndiaAnna Fali RENEWAL
Jones F FlosiCanadaIvan Magalhaes PROPOSAL
Silvio Q FerenczCanadaElwin Sharvill NEW
Juan C RimJapanIvan Magalhaes PROPOSAL
Julie Z RoysterItalyIoni Bowcher PROPOSAL
Aditya V OstroskyFranceStephen Shaw UNQUALIFIED
Costa Q VenereUnited KingdomAmy Elsner UNQUALIFIED
Murillo B BologniaJapanIvan Magalhaes UNQUALIFIED
Izzy N PerinArgentinaBernardo Dominic NEGOTIATION
Leon N VenereBrazilIoni Bowcher NEW
David M DilliardCanadaBernardo Dominic UNQUALIFIED
Mujtaba L InouyeAustraliaAmy Elsner NEW
Claire R FerenczGermanyStephen Shaw NEW
Jennifer O AlbaresArgentinaAmy Elsner UNQUALIFIED
Alejandro G StensethSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna W PoquetteAustraliaAmy Elsner NEGOTIATION
Leja K WieserSpainIvan Magalhaes RENEWAL
Maria L KolmetzArgentinaIoni Bowcher RENEWAL
Jeanfrancois Z StensethGermanyAnna Fali NEW
Rodrigues Z BologniaRussiaXuxue Feng NEGOTIATION
Arvin T RutaUnited KingdomStephen Shaw UNQUALIFIED
Aruna V StensethJapanXuxue Feng NEW
Clifford C MarrierArgentinaAnna Fali NEGOTIATION
Octavia Z KolmetzArgentinaAsiya Javayant UNQUALIFIED
Sinclair X AmigonFranceStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo Y PerinFrance2024-06-21Rousseaux, Michael Esq QUALIFIED23Elwin Sharvill
1001Smith D GauchoCanada2024-06-11Commercial Press NEW20Onyama Limba
1002Antonio F StensethArgentina2024-05-24Dorl, James J Esq NEGOTIATION31Elwin Sharvill
1003Leja U WieserArgentina2024-06-01Truhlar And Truhlar Attys RENEWAL62Asiya Javayant
1004Juan J MorascaBrazil2024-06-03Dorl, James J Esq UNQUALIFIED64Stephen Shaw
1005Aruna Y GarufiArgentina2024-05-29Rousseaux, Michael Esq NEW88Stephen Shaw
1006Nicolas I PaprockiSpain2024-06-18Truhlar And Truhlar Attys RENEWAL83Onyama Limba
1007Clifford Y IturbideBrazil2024-05-27Dorl, James J Esq UNQUALIFIED56Ioni Bowcher
1008Misaki K FerenczSpain2024-06-07Chanay, Jeffrey A Esq NEW94Elwin Sharvill
1009Francesco E ShinkoAustralia2024-06-11Chapman, Ross E Esq NEGOTIATION30Amy Elsner
1010Wickens X OldroydBrazil2024-06-20Rousseaux, Michael Esq PROPOSAL0Onyama Limba
1011James D NickaIndia2024-05-26Commercial Press RENEWAL40Ivan Magalhaes
1012Tony Y KuskoUnited Kingdom2024-06-04Morlong Associates NEGOTIATION20Amy Elsner
1013Emily F MacleadItaly2024-06-05Morlong Associates PROPOSAL12Elwin Sharvill
1014Jefferson X VenereItaly2024-06-11Rangoni Of Florence NEGOTIATION18Bernardo Dominic
1015Stacey B PoquetteCanada2024-05-25Morlong Associates RENEWAL78Ivan Magalhaes
1016Munro U RutaFrance2024-06-08Truhlar And Truhlar Attys PROPOSAL91Ioni Bowcher
1017Adams A OstroskyJapan2024-06-02Rangoni Of Florence RENEWAL33Onyama Limba
1018Jones I SaylorsJapan2024-06-01Chemel, James L Cpa QUALIFIED96Onyama Limba
1019Arvin T PerinSpain2024-05-24Chapman, Ross E Esq NEW99Onyama Limba
1020Faith O KuskoArgentina2024-06-06Morlong Associates NEW58Ioni Bowcher
1021Leon Y VocelkaBrazil2024-06-14Truhlar And Truhlar Attys UNQUALIFIED47Xuxue Feng
1022Murillo X FigeroaUnited Kingdom2024-06-17Chapman, Ross E Esq PROPOSAL94Xuxue Feng
1023Nicolas G FigeroaGermany2024-06-15Chemel, James L Cpa UNQUALIFIED27Onyama Limba
1024Maisha G CaldareraIndia2024-06-20Morlong Associates QUALIFIED49Bernardo Dominic
1025Tony Q WaycottGermany2024-05-27Rangoni Of Florence NEGOTIATION51Bernardo Dominic
1026Faith F InouyeArgentina2024-06-11Feltz Printing Service PROPOSAL24Anna Fali
1027Clifford S StockhamJapan2024-06-05Chemel, James L Cpa NEW50Asiya Javayant
1028Darci B MaletJapan2024-06-19Rousseaux, Michael Esq NEGOTIATION0Ioni Bowcher
1029Deepesh Q BologniaCanada2024-06-04Rousseaux, Michael Esq RENEWAL53Amy Elsner
1030Jones P CaldareraCanada2024-06-21Rangoni Of Florence NEGOTIATION96Elwin Sharvill
1031Kadeem J KolmetzItaly2024-06-07Morlong Associates NEW4Onyama Limba
1032Clifford O OldroydJapan2024-05-25Rangoni Of Florence PROPOSAL87Elwin Sharvill
1033Aika J StockhamBrazil2024-06-08King, Christopher A Esq UNQUALIFIED46Amy Elsner
1034Mujtaba X GauchoSpain2024-06-19Rousseaux, Michael Esq RENEWAL65Stephen Shaw
1035Silvio A SaylorsSpain2024-05-26Morlong Associates NEW23Asiya Javayant
1036Ricardo U SlusarskiRussia2024-06-09Benton, John B Jr QUALIFIED16Ioni Bowcher
1037Tony U BologniaRussia2024-06-16Dorl, James J Esq UNQUALIFIED49Stephen Shaw
1038Greenwood J PoquetteBrazil2024-06-13Rousseaux, Michael Esq NEW88Asiya Javayant
1039Chavez K StensethRussia2024-06-08Rousseaux, Michael Esq QUALIFIED18Ioni Bowcher
1040Mayumi B MaletSpain2024-06-13Truhlar And Truhlar Attys QUALIFIED61Ioni Bowcher
1041Kadeem A RulapaughUnited Kingdom2024-06-04Feiner Bros PROPOSAL13Elwin Sharvill
1042Octavia D WaycottUnited Kingdom2024-06-07King, Christopher A Esq QUALIFIED28Anna Fali
1043Emily M MaletRussia2024-06-17Feiner Bros PROPOSAL33Ioni Bowcher
1044Deepesh J IturbideSpain2024-06-12Chanay, Jeffrey A Esq NEW74Amy Elsner
1045Rodrigues U SlusarskiFrance2024-05-31Truhlar And Truhlar Attys PROPOSAL87Onyama Limba
1046Silvio G RutaUnited Kingdom2024-06-04Feltz Printing Service PROPOSAL12Xuxue Feng
1047Wickens J TollnerCanada2024-06-18Chemel, James L Cpa NEGOTIATION23Elwin Sharvill
1048Clifford T AmigonBrazil2024-06-17Rousseaux, Michael Esq PROPOSAL80Xuxue Feng
1049Deepesh G CaldareraArgentina2024-05-31Printing Dimensions NEGOTIATION74Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Octavia R StensethSpainAmy Elsner NEW
Ivar Y SaylorsSpainBernardo Dominic QUALIFIED
Silvio J AlbaresFranceXuxue Feng QUALIFIED
Alejandro H OstroskyCanadaBernardo Dominic NEW
Francesco D RutaGermanyBernardo Dominic QUALIFIED
Leja P SergiFranceAsiya Javayant NEGOTIATION
Rodrigues H WieserArgentinaIvan Magalhaes RENEWAL
Greenwood X SaylorsJapanAnna Fali NEW
Alejandro F RimRussiaIvan Magalhaes RENEWAL
Maria W RulapaughAustraliaOnyama Limba PROPOSAL
Kadeem J MaletFranceAnna Fali PROPOSAL
Mujtaba P FollerJapanAsiya Javayant NEGOTIATION
Silvio X AlbaresJapanAnna Fali RENEWAL
Kaitlin M VenereFranceIvan Magalhaes RENEWAL
Morrow H GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi K VocelkaGermanyAsiya Javayant NEW
Antonio Y DilliardSpainXuxue Feng NEW
Jennifer L IturbideGermanyBernardo Dominic QUALIFIED
Jefferson U MarrierUnited KingdomAmy Elsner QUALIFIED
Wickens B OldroydJapanAmy Elsner RENEWAL
Aika K AmigonUnited KingdomBernardo Dominic RENEWAL
Emily M MarrierItalyIoni Bowcher UNQUALIFIED
Ricardo X MaletItalyElwin Sharvill NEGOTIATION
Isabel G FigeroaAustraliaStephen Shaw NEW
Aika E FollerIndiaElwin Sharvill NEW
Costa O AmigonJapanElwin Sharvill NEGOTIATION
Johnson C NestleAustraliaElwin Sharvill QUALIFIED
Francesco Z SlusarskiAustraliaAmy Elsner UNQUALIFIED
Wickens Y KuskoAustraliaOnyama Limba UNQUALIFIED
Johnson T PoquetteGermanyElwin Sharvill QUALIFIED
Nicolas W VenereItalyAsiya Javayant PROPOSAL
Antonio Q DarakjyFranceStephen Shaw PROPOSAL
Deepesh A MacleadItalyOnyama Limba RENEWAL
Aruna B WieserBrazilOnyama Limba UNQUALIFIED
Jones J MaletIndiaBernardo Dominic PROPOSAL
Wickens M GillianAustraliaAsiya Javayant RENEWAL
Arvin Z OldroydUnited KingdomIoni Bowcher PROPOSAL
Jennifer Y SaylorsArgentinaAsiya Javayant QUALIFIED
Arvin T OstroskySpainAmy Elsner QUALIFIED
Leon U SchemmerItalyAnna Fali UNQUALIFIED
Kadeem R ButtUnited KingdomXuxue Feng UNQUALIFIED
James X BowleyUnited KingdomAnna Fali RENEWAL
Morrow T GlickBrazilAsiya Javayant NEGOTIATION
Jones H RulapaughItalyStephen Shaw QUALIFIED
Leon J DarakjyAustraliaXuxue Feng QUALIFIED
Darci R WhobreyBrazilIoni Bowcher RENEWAL
Jennifer Z ShinkoJapanStephen Shaw UNQUALIFIED
Tony U GarufiUnited KingdomAnna Fali NEGOTIATION
Stacey D VocelkaJapanAsiya Javayant UNQUALIFIED
Juan W BologniaIndiaAnna Fali QUALIFIED
Frozen Columns
Name
Emily A Tollner
Julie K Nicka
Kadeem O Kusko
Julie E Gillian
Nicolas H Malet
Salvatore L Darakjy
Leja K Wieser
Francesco F Paprocki
Aruna M Maclead
Leon H Stockham
Alejandro L Ostrosky
Izzy J Kusko
James Y Caudy
Aditya M Shinko
Darci S Royster
Mujtaba T Malet
Jennifer M Marrier
Stacey N Nicka
Juan D Butt
Jeanfrancois D Darakjy
James B Bolognia
Ricardo I Doe
Francesco Q Ferencz
Stacey A Figeroa
Leon O Venere
Jeanfrancois T Stenseth
Isabel T Inouye
Johnson O Sergi
Costa F Caudy
Emily U Bowley
Francesco W Wieser
Mayumi X Venere
Wickens J Waycott
Murillo A Iturbide
Rodrigues D Rim
Ivar S Amigon
Stacey W Gaucho
Clifford T Iturbide
Smith W Malet
Wickens W Shinko
Octavia C Saylors
Cody X Kolmetz
Maisha L Figeroa
Emily G Ruta
James T Garufi
Faith X Kolmetz
Morrow D Figeroa
Greenwood H Foller
Mujtaba P Briddick
Morrow Z Saylors
IdCountryDate
1000Germany2024-06-12
1001Japan2024-06-01
1002Japan2024-06-07
1003Russia2024-06-04
1004Brazil2024-06-05
1005Japan2024-06-22
1006Japan2024-06-07
1007United Kingdom2024-06-22
1008Argentina2024-06-11
1009Argentina2024-06-10
1010Germany2024-05-30
1011India2024-06-16
1012Italy2024-06-02
1013Australia2024-06-12
1014Russia2024-05-26
1015Spain2024-06-04
1016Russia2024-06-04
1017India2024-06-19
1018Canada2024-05-31
1019Italy2024-06-12
1020Italy2024-06-14
1021India2024-05-24
1022Spain2024-06-21
1023Spain2024-06-18
1024Spain2024-05-31
1025Germany2024-06-15
1026Russia2024-05-31
1027Argentina2024-06-20
1028India2024-06-01
1029Japan2024-06-05
1030India2024-06-04
1031India2024-06-05
1032India2024-05-26
1033Spain2024-06-01
1034Canada2024-06-01
1035India2024-06-12
1036Argentina2024-06-17
1037Italy2024-06-01
1038Argentina2024-05-30
1039Spain2024-05-25
1040Argentina2024-06-10
1041Canada2024-06-22
1042Brazil2024-06-22
1043Canada2024-06-02
1044Italy2024-06-01
1045Brazil2024-06-13
1046India2024-06-06
1047Australia2024-05-28
1048Canada2024-06-07
1049Argentina2024-05-25

On-Demand Data

NameIdCountryDate
Salvatore P Oldroyd1000France2024-06-17
Jennifer P Marrier1001Russia2024-05-24
Ivar J Waycott1002Germany2024-06-17
Ricardo P Albares1003Russia2024-05-24
Deepesh A Rulapaugh1004Japan2024-06-20
Mujtaba J Chui1005Argentina2024-06-04
Adams K Malet1006Russia2024-06-18
Faith O Darakjy1007Russia2024-06-15
Murillo L Wieser1008Canada2024-06-17
Darci F Marrier1009France2024-05-29
Costa X Marrier1010Australia2024-06-17
Maria H Stockham1011Brazil2024-06-08
Maria A Stockham1012Brazil2024-06-22
Deepesh P Rulapaugh1013Brazil2024-06-03
David Q Stenseth1014France2024-06-06
Maisha N Ruta1015United Kingdom2024-06-22
Misaki X Gaucho1016France2024-06-04
Leon J Poquette1017Canada2024-05-29
Misaki Y Ruta1018India2024-06-09
Faith B Caldarera1019Japan2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel W MarrierSpainAsiya Javayant RENEWAL
Silvio S DarakjyBrazilAmy Elsner QUALIFIED
Salvatore R StockhamSpainIvan Magalhaes NEW
Francesco C FigeroaFranceIoni Bowcher QUALIFIED
Francesco B PerinFranceBernardo Dominic NEGOTIATION
Jefferson H GillianBrazilBernardo Dominic NEW
Darci F MaletJapanIoni Bowcher RENEWAL
Johnson P PaprockiArgentinaIvan Magalhaes QUALIFIED
Deepesh Z GillianSpainIoni Bowcher QUALIFIED
Munro E GlickSpainBernardo Dominic NEW
Aika G FigeroaJapanXuxue Feng PROPOSAL
Isabel W NickaBrazilBernardo Dominic UNQUALIFIED
Deepesh L PerinBrazilIoni Bowcher NEGOTIATION
Juan M SlusarskiGermanyBernardo Dominic QUALIFIED
Juan P KuskoJapanIoni Bowcher RENEWAL
Claire F CaldareraCanadaIvan Magalhaes QUALIFIED
Sinclair T ShinkoGermanyBernardo Dominic RENEWAL
Stacey V CampainFranceElwin Sharvill NEW
Aika P SchemmerFranceAmy Elsner UNQUALIFIED
Smith I TollnerFranceElwin Sharvill PROPOSAL
Rodrigues T BowleySpainAsiya Javayant QUALIFIED
Silvio I OldroydArgentinaAsiya Javayant PROPOSAL
Chavez L RimFranceAmy Elsner QUALIFIED
Rodrigues Y GillianFranceElwin Sharvill QUALIFIED
Wickens E MaletCanadaBernardo Dominic NEGOTIATION
Aditya D MacleadRussiaBernardo Dominic NEGOTIATION
Adams L TollnerRussiaAnna Fali PROPOSAL
Chavez G PaprockiFranceBernardo Dominic RENEWAL
Chavez O StensethJapanStephen Shaw UNQUALIFIED
Smith U FlosiFranceIoni Bowcher PROPOSAL
Chavez G MaletRussiaElwin Sharvill RENEWAL
Ashley U CampainArgentinaAsiya Javayant NEW
Darci L NestleUnited KingdomAnna Fali RENEWAL
Aruna L VenereItalyStephen Shaw NEGOTIATION
Greenwood A AlbaresAustraliaBernardo Dominic UNQUALIFIED
Stacey M InouyeSpainAmy Elsner NEW
Adams I ChuiSpainElwin Sharvill PROPOSAL
Jefferson K SaylorsRussiaAmy Elsner QUALIFIED
Jeanfrancois D PoquetteBrazilOnyama Limba PROPOSAL
Wickens C MaletSpainOnyama Limba 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>