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
James S WieserFranceXuxue Feng UNQUALIFIED
Antonio S AmigonIndiaElwin Sharvill PROPOSAL
Arvin E AlbaresJapanAsiya Javayant PROPOSAL
David R InouyeJapanAmy Elsner NEW
Morrow V VenereItalyIvan Magalhaes PROPOSAL
Maisha H TollnerRussiaElwin Sharvill PROPOSAL
Munro U FlosiFranceElwin Sharvill NEGOTIATION
Jennifer C PerinItalyIvan Magalhaes PROPOSAL
Smith B MaletRussiaAsiya Javayant QUALIFIED
Nicolas N VenereBrazilBernardo Dominic UNQUALIFIED
Francesco K DilliardRussiaXuxue Feng NEW
Wickens Y ShinkoAustraliaBernardo Dominic UNQUALIFIED
Izzy H CampainArgentinaXuxue Feng RENEWAL
Octavia H RimSpainIoni Bowcher RENEWAL
Francesco U PoquetteSpainIoni Bowcher PROPOSAL
Greenwood W KolmetzJapanStephen Shaw QUALIFIED
Sinclair E ButtItalyStephen Shaw PROPOSAL
Octavia Z WhobreyRussiaIvan Magalhaes QUALIFIED
Darci N TollnerIndiaStephen Shaw QUALIFIED
Emily V DarakjyJapanXuxue Feng NEW
Emily Z WieserArgentinaAsiya Javayant QUALIFIED
Misaki C GauchoItalyOnyama Limba NEW
Maria V OstroskyItalyXuxue Feng RENEWAL
Aditya F SlusarskiItalyIoni Bowcher PROPOSAL
Nicolas R BowleyGermanyElwin Sharvill UNQUALIFIED
Arvin F SlusarskiCanadaAsiya Javayant QUALIFIED
Chavez V WieserGermanyStephen Shaw NEW
Maria Z GauchoUnited KingdomAmy Elsner UNQUALIFIED
David F ShinkoGermanyAnna Fali QUALIFIED
Mayumi P KolmetzJapanIvan Magalhaes NEGOTIATION
Jefferson M SchemmerCanadaAsiya Javayant QUALIFIED
Stacey Q MaletFranceAsiya Javayant NEW
Greenwood D NestleAustraliaBernardo Dominic NEGOTIATION
Leon S SergiFranceAnna Fali NEGOTIATION
Adams E GillianSpainOnyama Limba NEGOTIATION
Aruna H OldroydIndiaIvan Magalhaes QUALIFIED
Aditya Q BowleyItalyOnyama Limba RENEWAL
Costa J MaletRussiaAnna Fali UNQUALIFIED
Kadeem S RimUnited KingdomIvan Magalhaes RENEWAL
Greenwood G ChuiBrazilAnna Fali PROPOSAL
Darci I CampainFranceAnna Fali UNQUALIFIED
Morrow Z TollnerGermanyAmy Elsner PROPOSAL
Claire S NestleBrazilAmy Elsner NEW
Arvin X VocelkaAustraliaAsiya Javayant QUALIFIED
Misaki C GlickBrazilIvan Magalhaes UNQUALIFIED
Deepesh I VocelkaIndiaAnna Fali PROPOSAL
Aditya D VenereRussiaXuxue Feng UNQUALIFIED
Greenwood B NickaIndiaAmy Elsner QUALIFIED
Jennifer D RimArgentinaAmy Elsner RENEWAL
Clifford F SaylorsIndiaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson D VenereGermanyIvan Magalhaes NEGOTIATION
Murillo O CaudyItalyIoni Bowcher NEGOTIATION
Stacey U GauchoJapanOnyama Limba RENEWAL
Misaki P PoquetteRussiaAsiya Javayant NEGOTIATION
David F DoeSpainStephen Shaw RENEWAL
David E DilliardItalyXuxue Feng UNQUALIFIED
Costa B BologniaArgentinaAnna Fali UNQUALIFIED
Chavez G GauchoFranceAsiya Javayant RENEWAL
Jennifer J SchemmerGermanyXuxue Feng PROPOSAL
Jones A SergiSpainAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford X BowleyUnited Kingdom2025-04-02Chanay, Jeffrey A Esq NEGOTIATION24Asiya Javayant
1001Darci B FlosiAustralia2025-04-28Truhlar And Truhlar Attys NEW40Xuxue Feng
1002Rodrigues I PerinFrance2025-04-06Truhlar And Truhlar Attys NEW84Bernardo Dominic
1003Jeanfrancois X PerinArgentina2025-04-26Commercial Press UNQUALIFIED75Anna Fali
1004Ricardo L OldroydFrance2025-04-23Printing Dimensions NEW18Bernardo Dominic
1005Kadeem J KuskoItaly2025-04-23Printing Dimensions QUALIFIED98Ivan Magalhaes
1006Wickens W WhobreyUnited Kingdom2025-04-13Feltz Printing Service RENEWAL22Asiya Javayant
1007Adams Q RoysterIndia2025-04-19Benton, John B Jr UNQUALIFIED52Xuxue Feng
1008Silvio Q FigeroaUnited Kingdom2025-04-08Rangoni Of Florence PROPOSAL55Ivan Magalhaes
1009Aika H OldroydUnited Kingdom2025-04-15Feltz Printing Service RENEWAL16Elwin Sharvill
1010Maisha O VenereUnited Kingdom2025-04-02Chapman, Ross E Esq NEGOTIATION72Stephen Shaw
1011Stacey S BologniaUnited Kingdom2025-04-20Rangoni Of Florence RENEWAL52Onyama Limba
1012James S BriddickAustralia2025-04-15Printing Dimensions RENEWAL97Asiya Javayant
1013Jennifer N GillianGermany2025-04-07Chemel, James L Cpa QUALIFIED61Asiya Javayant
1014Julie N CampainCanada2025-04-13Buckley Miller Wright UNQUALIFIED55Elwin Sharvill
1015Claire E SlusarskiArgentina2025-04-11Truhlar And Truhlar Attys QUALIFIED26Ivan Magalhaes
1016Ricardo G StensethRussia2025-04-23Commercial Press RENEWAL3Elwin Sharvill
1017Francesco R FigeroaItaly2025-04-09Commercial Press UNQUALIFIED3Bernardo Dominic
1018Jefferson K PaprockiCanada2025-04-12Buckley Miller Wright PROPOSAL81Elwin Sharvill
1019Salvatore K PoquetteItaly2025-04-04Dorl, James J Esq QUALIFIED66Onyama Limba
1020Darci N ShinkoBrazil2025-04-01Rousseaux, Michael Esq QUALIFIED73Anna Fali
1021Faith P MaletSpain2025-04-09Morlong Associates NEW92Ivan Magalhaes
1022Aika G FigeroaUnited Kingdom2025-04-10Chanay, Jeffrey A Esq NEGOTIATION26Stephen Shaw
1023Deepesh R GlickUnited Kingdom2025-04-10Chemel, James L Cpa RENEWAL36Ivan Magalhaes
1024Nicolas Y IturbideAustralia2025-04-08Rangoni Of Florence UNQUALIFIED74Amy Elsner
1025Aruna I TollnerFrance2025-04-13Printing Dimensions NEW78Bernardo Dominic
1026Costa A WieserSpain2025-04-19Chanay, Jeffrey A Esq QUALIFIED79Stephen Shaw
1027Nicolas J NickaCanada2025-04-23Rangoni Of Florence PROPOSAL81Xuxue Feng
1028Tony I MacleadSpain2025-04-30Commercial Press RENEWAL98Xuxue Feng
1029Misaki X NestleAustralia2025-04-20Chemel, James L Cpa NEW56Ivan Magalhaes
1030Jeanfrancois W KolmetzBrazil2025-04-02Printing Dimensions RENEWAL6Asiya Javayant
1031Nicolas H MaletSpain2025-04-22King, Christopher A Esq NEW14Xuxue Feng
1032Smith Q WieserSpain2025-04-16Feltz Printing Service QUALIFIED3Anna Fali
1033Greenwood L ShinkoArgentina2025-04-22Rousseaux, Michael Esq UNQUALIFIED86Onyama Limba
1034Jones L VocelkaRussia2025-04-28King, Christopher A Esq NEGOTIATION20Amy Elsner
1035David B CaudyFrance2025-04-04Dorl, James J Esq QUALIFIED3Elwin Sharvill
1036Isabel Y DarakjySpain2025-04-26Rousseaux, Michael Esq NEGOTIATION74Anna Fali
1037Misaki C GillianGermany2025-04-11Benton, John B Jr RENEWAL8Asiya Javayant
1038James L MaletUnited Kingdom2025-04-15Chemel, James L Cpa UNQUALIFIED72Anna Fali
1039Murillo E ShinkoCanada2025-04-07King, Christopher A Esq RENEWAL91Elwin Sharvill
1040Jefferson V DoeSpain2025-04-17Truhlar And Truhlar Attys RENEWAL56Asiya Javayant
1041Adams L AmigonSpain2025-04-27Morlong Associates NEGOTIATION65Ivan Magalhaes
1042Cody M FollerUnited Kingdom2025-04-11Feltz Printing Service QUALIFIED26Ioni Bowcher
1043Arvin O ButtUnited Kingdom2025-04-09Commercial Press RENEWAL22Elwin Sharvill
1044James W ChuiFrance2025-04-25Chanay, Jeffrey A Esq UNQUALIFIED94Onyama Limba
1045Jones B GlickAustralia2025-04-21Benton, John B Jr NEGOTIATION95Xuxue Feng
1046Johnson M ShinkoSpain2025-04-18Chanay, Jeffrey A Esq PROPOSAL88Asiya Javayant
1047Misaki G GlickSpain2025-04-01Commercial Press RENEWAL22Ivan Magalhaes
1048Aditya U StensethIndia2025-04-17Benton, John B Jr UNQUALIFIED36Ivan Magalhaes
1049Ashley J RutaUnited Kingdom2025-04-11Feiner Bros RENEWAL67Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Z CaldareraCanadaStephen Shaw NEW
Claire W BologniaCanadaAsiya Javayant PROPOSAL
Johnson V SergiArgentinaAnna Fali NEGOTIATION
James C ChuiGermanyStephen Shaw UNQUALIFIED
Nicolas J StockhamSpainStephen Shaw UNQUALIFIED
Salvatore Q SlusarskiGermanyElwin Sharvill RENEWAL
Johnson R NestleAustraliaAsiya Javayant RENEWAL
James U WhobreyGermanyAmy Elsner UNQUALIFIED
Isabel C FigeroaGermanyIvan Magalhaes QUALIFIED
Tony X DoeArgentinaAnna Fali UNQUALIFIED
Greenwood F DarakjyItalyIvan Magalhaes RENEWAL
Stacey Z PoquetteArgentinaElwin Sharvill NEGOTIATION
Leon O ShinkoArgentinaAmy Elsner NEGOTIATION
Juan V RimJapanIvan Magalhaes PROPOSAL
Jefferson B WaycottGermanyAmy Elsner UNQUALIFIED
Kadeem Q PoquetteSpainAsiya Javayant PROPOSAL
Jeanfrancois Q RulapaughSpainAsiya Javayant RENEWAL
Maria P DarakjyIndiaAsiya Javayant NEGOTIATION
Isabel P WaycottAustraliaBernardo Dominic UNQUALIFIED
Arvin S AlbaresJapanAnna Fali PROPOSAL
Misaki Q DilliardGermanyElwin Sharvill NEW
Sinclair Y KolmetzGermanyStephen Shaw UNQUALIFIED
Costa H MaletArgentinaElwin Sharvill UNQUALIFIED
Johnson Q OldroydGermanyBernardo Dominic QUALIFIED
Aditya J StensethBrazilIvan Magalhaes UNQUALIFIED
Leon P VocelkaRussiaElwin Sharvill UNQUALIFIED
Smith J DoeArgentinaStephen Shaw NEGOTIATION
Jennifer D OstroskyFranceAmy Elsner QUALIFIED
Salvatore J DarakjyArgentinaStephen Shaw QUALIFIED
Clifford I GillianRussiaElwin Sharvill NEW
Greenwood M SaylorsUnited KingdomAmy Elsner QUALIFIED
Octavia Z CaudyIndiaElwin Sharvill NEW
Emily V NickaFranceIvan Magalhaes NEW
Faith S DilliardBrazilIvan Magalhaes PROPOSAL
Jeanfrancois S RoysterUnited KingdomAnna Fali NEW
Costa B WieserBrazilAmy Elsner NEW
Mayumi U SergiItalyStephen Shaw UNQUALIFIED
Jeanfrancois W StensethItalyBernardo Dominic QUALIFIED
Octavia Z KuskoArgentinaAsiya Javayant NEGOTIATION
Maisha F DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Jones U WhobreyBrazilOnyama Limba NEW
Misaki F AmigonSpainElwin Sharvill QUALIFIED
Clifford D MorascaGermanyBernardo Dominic RENEWAL
Jefferson R DoeSpainOnyama Limba PROPOSAL
Jennifer D VenereGermanyBernardo Dominic UNQUALIFIED
Salvatore V MaletBrazilAnna Fali NEW
Costa Q OldroydItalyElwin Sharvill QUALIFIED
Faith Y NickaItalyBernardo Dominic PROPOSAL
Sinclair Z KolmetzRussiaStephen Shaw RENEWAL
Maisha B SchemmerGermanyIoni Bowcher NEW
Frozen Columns
Name
Jeanfrancois R Ostrosky
Adams S Poquette
Ricardo N Doe
Octavia N Ruta
Smith X Bolognia
Murillo W Kusko
Leon P Malet
Deepesh L Figeroa
Isabel Y Perin
Ricardo I Perin
Wickens V Bowley
Antonio H Briddick
Mayumi N Briddick
Juan W Figeroa
Julie L Venere
Stacey E Wieser
Nicolas G Nestle
Sinclair I Wieser
Emily U Perin
Jennifer V Garufi
Ashley K Glick
Jeanfrancois U Rim
Leon T Ostrosky
Leon I Caudy
Darci L Glick
Kaitlin E Saylors
Nicolas N Sergi
Aika L Butt
Smith P Ruta
Claire P Kusko
Smith C Saylors
Chavez N Doe
Cody C Caldarera
David K Iturbide
Sinclair G Figeroa
Francesco I Foller
Octavia Z Royster
David H Stenseth
Cody I Marrier
Cody F Oldroyd
Adams Z Garufi
Claire C Gillian
Ivar O Whobrey
Stacey V Albares
Smith V Butt
Jefferson S Foller
Clifford Q Saylors
Smith N Campain
Kaitlin M Venere
James Z Malet
IdCountryDate
1000Germany2025-04-11
1001France2025-04-10
1002Germany2025-04-02
1003Brazil2025-04-01
1004Canada2025-04-10
1005Japan2025-04-17
1006Argentina2025-04-14
1007Brazil2025-04-25
1008Canada2025-04-07
1009Brazil2025-04-02
1010France2025-04-27
1011Argentina2025-04-21
1012France2025-04-17
1013United Kingdom2025-04-20
1014Russia2025-04-10
1015Germany2025-04-14
1016France2025-04-12
1017Spain2025-04-27
1018Spain2025-04-21
1019Italy2025-04-28
1020Italy2025-04-23
1021United Kingdom2025-04-29
1022Germany2025-04-06
1023United Kingdom2025-04-23
1024India2025-04-05
1025Italy2025-04-18
1026United Kingdom2025-04-16
1027Russia2025-04-17
1028Japan2025-04-19
1029Australia2025-04-09
1030United Kingdom2025-04-15
1031Spain2025-04-21
1032Germany2025-04-24
1033Brazil2025-04-05
1034Spain2025-04-13
1035Brazil2025-04-08
1036Canada2025-04-15
1037Japan2025-04-14
1038Argentina2025-04-03
1039Italy2025-04-03
1040Argentina2025-04-18
1041Japan2025-04-09
1042Spain2025-04-11
1043Canada2025-04-01
1044India2025-04-10
1045Japan2025-04-21
1046Russia2025-04-01
1047Australia2025-04-24
1048France2025-04-03
1049Germany2025-04-04

On-Demand Data

NameIdCountryDate
Sinclair O Nestle1000United Kingdom2025-04-20
Greenwood R Stockham1001Italy2025-04-03
Ricardo F Ostrosky1002Canada2025-04-25
Misaki F Whobrey1003Japan2025-04-13
Kaitlin T Kusko1004Russia2025-04-11
Clifford C Kolmetz1005Russia2025-04-20
Octavia J Inouye1006Germany2025-04-24
Smith W Caldarera1007Australia2025-04-22
Smith B Nicka1008France2025-04-01
Leja C Caldarera1009Australia2025-04-27
David B Waycott1010India2025-04-01
Kaitlin Y Glick1011United Kingdom2025-04-10
Jefferson B Inouye1012Japan2025-04-26
Izzy F Malet1013Canada2025-04-08
Rodrigues B Stenseth1014Australia2025-04-07
Kadeem H Malet1015Russia2025-04-02
Wickens M Royster1016Japan2025-04-21
Clifford H Vocelka1017United Kingdom2025-04-13
Leon E Briddick1018Japan2025-04-05
Salvatore Q Darakjy1019Germany2025-04-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford J MacleadSpainAsiya Javayant PROPOSAL
Deepesh E ShinkoJapanIoni Bowcher QUALIFIED
Morrow P PaprockiItalyAnna Fali QUALIFIED
Cody H RoysterItalyStephen Shaw NEW
Sinclair H MaletCanadaElwin Sharvill PROPOSAL
Munro P MorascaUnited KingdomAmy Elsner RENEWAL
Johnson D PoquetteFranceXuxue Feng NEW
Stacey I DarakjyArgentinaXuxue Feng RENEWAL
Smith N RulapaughGermanyElwin Sharvill PROPOSAL
Smith R WhobreyRussiaAsiya Javayant QUALIFIED
Greenwood A MaletBrazilIvan Magalhaes NEGOTIATION
Sinclair N RutaUnited KingdomAsiya Javayant PROPOSAL
Greenwood V RutaItalyOnyama Limba UNQUALIFIED
Adams I DarakjyFranceXuxue Feng PROPOSAL
Francesco T InouyeItalyOnyama Limba RENEWAL
Leja K SlusarskiUnited KingdomAnna Fali NEW
Chavez Y FigeroaCanadaAnna Fali NEGOTIATION
Jennifer C MarrierArgentinaElwin Sharvill PROPOSAL
Silvio A MaletCanadaIoni Bowcher UNQUALIFIED
Sinclair U PoquetteRussiaOnyama Limba NEW
Alejandro E KuskoFranceXuxue Feng UNQUALIFIED
Nicolas Y GarufiArgentinaIoni Bowcher QUALIFIED
Jefferson Y VocelkaRussiaXuxue Feng PROPOSAL
Faith M MaletIndiaElwin Sharvill RENEWAL
Alejandro E PoquetteIndiaIoni Bowcher NEGOTIATION
Ivar K DilliardSpainAmy Elsner RENEWAL
Aika P SaylorsIndiaBernardo Dominic RENEWAL
Mujtaba Q KolmetzCanadaElwin Sharvill PROPOSAL
Alejandro D RulapaughSpainIvan Magalhaes UNQUALIFIED
Adams T PoquetteRussiaOnyama Limba QUALIFIED
Morrow G IturbideAustraliaIoni Bowcher RENEWAL
Clifford X GarufiIndiaAnna Fali NEGOTIATION
Julie M NestleRussiaAnna Fali NEW
Ashley P MorascaFranceAnna Fali NEGOTIATION
Jennifer P StockhamSpainOnyama Limba QUALIFIED
James C MaletJapanIvan Magalhaes NEGOTIATION
Sinclair G FlosiFranceAsiya Javayant UNQUALIFIED
Aika A PerinGermanyAsiya Javayant NEGOTIATION
Silvio V BowleyBrazilOnyama Limba NEW
Salvatore C KuskoJapanXuxue Feng UNQUALIFIED

<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>