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
Silvio U NestleSpainBernardo Dominic NEGOTIATION
Misaki F MorascaGermanyOnyama Limba QUALIFIED
Cody U ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Morrow P RoysterIndiaAmy Elsner NEGOTIATION
Ricardo E KolmetzUnited KingdomAnna Fali UNQUALIFIED
Izzy L MarrierArgentinaIoni Bowcher NEW
Aruna L DilliardItalyElwin Sharvill QUALIFIED
Arvin V ChuiBrazilIoni Bowcher RENEWAL
Octavia T VenereBrazilAnna Fali PROPOSAL
Misaki B MorascaCanadaIoni Bowcher QUALIFIED
Murillo L MaletCanadaOnyama Limba RENEWAL
Arvin Z FerenczCanadaIoni Bowcher NEW
Jennifer E BriddickIndiaAsiya Javayant UNQUALIFIED
Johnson X SlusarskiFranceXuxue Feng QUALIFIED
Morrow I KolmetzBrazilIvan Magalhaes QUALIFIED
Octavia V SchemmerArgentinaBernardo Dominic RENEWAL
Deepesh N FollerRussiaIvan Magalhaes NEW
Darci F BologniaBrazilXuxue Feng PROPOSAL
Maisha H GauchoIndiaIoni Bowcher NEW
Costa R NickaIndiaStephen Shaw QUALIFIED
Murillo R OldroydFranceIvan Magalhaes QUALIFIED
Johnson L AmigonAustraliaStephen Shaw NEGOTIATION
Murillo M KuskoAustraliaIvan Magalhaes RENEWAL
James Z GarufiCanadaAnna Fali NEW
Claire V GarufiJapanXuxue Feng RENEWAL
Juan S BologniaGermanyBernardo Dominic NEGOTIATION
Smith I OstroskyBrazilBernardo Dominic QUALIFIED
Misaki B WaycottJapanElwin Sharvill QUALIFIED
Jefferson K TollnerIndiaElwin Sharvill UNQUALIFIED
Octavia B IturbideIndiaElwin Sharvill PROPOSAL
Munro I DoeSpainAnna Fali PROPOSAL
Chavez A RulapaughIndiaIvan Magalhaes NEW
Aika R DilliardJapanStephen Shaw NEW
Aditya E CaudyIndiaIvan Magalhaes NEW
Sinclair D FerenczSpainIvan Magalhaes QUALIFIED
Jennifer D NestleItalyIvan Magalhaes RENEWAL
Johnson T CampainBrazilElwin Sharvill NEGOTIATION
Salvatore F PerinJapanIvan Magalhaes NEGOTIATION
Jennifer X RoysterFranceElwin Sharvill RENEWAL
Nicolas C DarakjyCanadaIoni Bowcher UNQUALIFIED
Aika P DarakjyArgentinaBernardo Dominic NEGOTIATION
Rodrigues B KuskoItalyXuxue Feng RENEWAL
Adams T OstroskyRussiaXuxue Feng QUALIFIED
Adams O BriddickRussiaAsiya Javayant NEW
Silvio O RulapaughGermanyXuxue Feng UNQUALIFIED
Cody Q IturbideJapanIoni Bowcher QUALIFIED
Wickens O ButtSpainAmy Elsner QUALIFIED
Morrow X IturbideAustraliaOnyama Limba NEGOTIATION
Chavez G PerinIndiaOnyama Limba PROPOSAL
Costa F GlickGermanyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David A GauchoArgentinaAmy Elsner RENEWAL
Izzy C FollerAustraliaIvan Magalhaes NEGOTIATION
Kadeem E GarufiJapanAnna Fali NEGOTIATION
Chavez U MacleadArgentinaIoni Bowcher PROPOSAL
Jefferson O GlickSpainXuxue Feng RENEWAL
Ashley H RimUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem A RutaJapanAnna Fali NEW
Kaitlin R RimItalyIvan Magalhaes UNQUALIFIED
Clifford D BowleyUnited KingdomIoni Bowcher NEGOTIATION
Murillo R MarrierIndiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody J NickaSpain2024-05-24Morlong Associates RENEWAL44Stephen Shaw
1001Octavia D BowleyCanada2024-05-27Feltz Printing Service RENEWAL41Anna Fali
1002David Q RulapaughGermany2024-05-26Chapman, Ross E Esq UNQUALIFIED18Ivan Magalhaes
1003Ricardo I DarakjyUnited Kingdom2024-06-16Rangoni Of Florence NEGOTIATION81Ivan Magalhaes
1004Alejandro I RimRussia2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED86Anna Fali
1005Silvio O SergiUnited Kingdom2024-06-01Chanay, Jeffrey A Esq QUALIFIED40Onyama Limba
1006Leon T PoquetteSpain2024-06-10Feiner Bros PROPOSAL70Amy Elsner
1007Maisha H IturbideSpain2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED51Stephen Shaw
1008Munro I VocelkaFrance2024-06-13Rangoni Of Florence NEGOTIATION51Stephen Shaw
1009Misaki A PoquetteCanada2024-06-11Truhlar And Truhlar Attys UNQUALIFIED15Asiya Javayant
1010Chavez P CaudyArgentina2024-06-14Commercial Press QUALIFIED91Ioni Bowcher
1011Antonio S NestleSpain2024-06-03Buckley Miller Wright NEGOTIATION52Ioni Bowcher
1012Greenwood W RoysterItaly2024-06-20Dorl, James J Esq NEW21Asiya Javayant
1013Jefferson F TollnerUnited Kingdom2024-06-10Dorl, James J Esq NEGOTIATION58Elwin Sharvill
1014Emily A OldroydFrance2024-05-30Chapman, Ross E Esq NEGOTIATION36Xuxue Feng
1015Mayumi S VocelkaJapan2024-06-21Rousseaux, Michael Esq PROPOSAL31Ioni Bowcher
1016Jones B SchemmerBrazil2024-06-01Buckley Miller Wright QUALIFIED6Amy Elsner
1017Aika G DilliardIndia2024-05-25Feiner Bros NEGOTIATION10Anna Fali
1018Francesco E OstroskyJapan2024-06-19Dorl, James J Esq UNQUALIFIED22Ivan Magalhaes
1019Leon F PaprockiAustralia2024-06-13Rousseaux, Michael Esq NEGOTIATION15Bernardo Dominic
1020Leon T PoquetteGermany2024-05-23Dorl, James J Esq NEGOTIATION11Elwin Sharvill
1021Darci K InouyeItaly2024-06-21Printing Dimensions NEW0Onyama Limba
1022Antonio X MarrierAustralia2024-06-04Benton, John B Jr UNQUALIFIED81Ioni Bowcher
1023Smith J RulapaughRussia2024-05-31Commercial Press NEW89Ioni Bowcher
1024Aruna I OldroydSpain2024-06-05Printing Dimensions NEGOTIATION63Bernardo Dominic
1025Julie W MaletGermany2024-06-04Printing Dimensions NEW87Xuxue Feng
1026Izzy Z RulapaughIndia2024-06-08Chapman, Ross E Esq RENEWAL47Xuxue Feng
1027Mayumi R StensethGermany2024-05-27King, Christopher A Esq QUALIFIED47Asiya Javayant
1028Ivar G MaletArgentina2024-06-16Morlong Associates UNQUALIFIED87Ioni Bowcher
1029James R TollnerJapan2024-05-26Feiner Bros QUALIFIED49Asiya Javayant
1030Silvio F BriddickSpain2024-06-13King, Christopher A Esq QUALIFIED97Elwin Sharvill
1031Adams S NestleFrance2024-05-26Morlong Associates RENEWAL95Amy Elsner
1032Morrow T SchemmerSpain2024-05-29King, Christopher A Esq NEGOTIATION6Ivan Magalhaes
1033Isabel K AlbaresFrance2024-06-16Commercial Press NEGOTIATION13Amy Elsner
1034Francesco G CaudyItaly2024-06-06Morlong Associates RENEWAL60Ivan Magalhaes
1035Smith J RimItaly2024-06-01Feltz Printing Service NEGOTIATION45Ivan Magalhaes
1036Greenwood W GlickJapan2024-06-17Chemel, James L Cpa RENEWAL44Amy Elsner
1037Kadeem E RoysterRussia2024-06-01Rousseaux, Michael Esq UNQUALIFIED67Asiya Javayant
1038Jeanfrancois B CaldareraUnited Kingdom2024-05-29Feiner Bros UNQUALIFIED79Amy Elsner
1039Aditya X ButtArgentina2024-06-04Commercial Press RENEWAL33Stephen Shaw
1040Kadeem C OstroskyAustralia2024-06-01Rousseaux, Michael Esq NEW63Bernardo Dominic
1041Murillo V WaycottSpain2024-06-05Chemel, James L Cpa QUALIFIED50Anna Fali
1042Jennifer Z NickaFrance2024-06-05King, Christopher A Esq RENEWAL93Stephen Shaw
1043Mujtaba M DilliardJapan2024-06-05Buckley Miller Wright PROPOSAL98Asiya Javayant
1044Wickens K InouyeAustralia2024-05-27Chanay, Jeffrey A Esq RENEWAL71Ioni Bowcher
1045Ivar F MaletRussia2024-06-02Rousseaux, Michael Esq QUALIFIED39Ioni Bowcher
1046Costa P SaylorsUnited Kingdom2024-05-24Dorl, James J Esq NEW72Ioni Bowcher
1047Greenwood S DarakjySpain2024-06-05Morlong Associates NEW32Amy Elsner
1048Arvin X AmigonAustralia2024-06-06Printing Dimensions NEGOTIATION28Ivan Magalhaes
1049Misaki N BowleyAustralia2024-06-09Rousseaux, Michael Esq NEW13Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Emily F ButtCanadaAmy Elsner PROPOSAL
Kadeem H KuskoIndiaXuxue Feng UNQUALIFIED
Greenwood C RulapaughCanadaBernardo Dominic NEW
Mujtaba T DarakjyItalyAsiya Javayant QUALIFIED
Julie Z VocelkaBrazilAmy Elsner RENEWAL
Darci S MaletSpainAnna Fali NEW
Chavez N SchemmerGermanyIvan Magalhaes NEW
Darci R OldroydFranceAnna Fali NEGOTIATION
Maria Q CampainFranceIoni Bowcher NEW
Leon G BriddickFranceAnna Fali NEW
Johnson H GillianUnited KingdomIvan Magalhaes PROPOSAL
Alejandro G AlbaresItalyIvan Magalhaes RENEWAL
Smith M GauchoAustraliaIvan Magalhaes UNQUALIFIED
Maria H KolmetzRussiaOnyama Limba NEGOTIATION
Sinclair E InouyeBrazilIvan Magalhaes NEW
Isabel E PoquetteArgentinaElwin Sharvill QUALIFIED
Adams A ChuiArgentinaXuxue Feng QUALIFIED
Cody O BriddickRussiaOnyama Limba RENEWAL
Jeanfrancois L ShinkoUnited KingdomXuxue Feng RENEWAL
Aditya P BologniaCanadaAmy Elsner NEW
Claire N MorascaIndiaXuxue Feng NEGOTIATION
Ricardo B RimIndiaAsiya Javayant NEW
Maria X InouyeSpainAmy Elsner RENEWAL
Arvin Q SlusarskiSpainElwin Sharvill PROPOSAL
Maria K StockhamJapanAmy Elsner QUALIFIED
Julie H RulapaughRussiaOnyama Limba PROPOSAL
Maisha P StensethItalyAnna Fali UNQUALIFIED
Johnson Y ButtAustraliaOnyama Limba PROPOSAL
Maria X FlosiFranceAmy Elsner QUALIFIED
Arvin K CaldareraArgentinaElwin Sharvill RENEWAL
Ashley O WieserItalyAsiya Javayant PROPOSAL
Misaki I SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Juan N BologniaBrazilBernardo Dominic NEGOTIATION
Jeanfrancois H SaylorsItalyIoni Bowcher RENEWAL
Leja L OstroskyGermanyAsiya Javayant NEGOTIATION
Alejandro V GarufiAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois P GlickJapanIoni Bowcher NEW
Isabel Q MorascaArgentinaAnna Fali QUALIFIED
Faith A GlickAustraliaAnna Fali NEW
Wickens O WhobreyFranceBernardo Dominic QUALIFIED
Faith V GarufiIndiaAsiya Javayant QUALIFIED
Alejandro E ChuiItalyOnyama Limba NEW
Ricardo J KolmetzUnited KingdomIoni Bowcher PROPOSAL
Izzy Z FerenczCanadaAmy Elsner NEGOTIATION
Nicolas O DoeItalyXuxue Feng RENEWAL
Salvatore Z BowleyFranceStephen Shaw NEGOTIATION
Mujtaba I CaldareraArgentinaOnyama Limba NEGOTIATION
Clifford S SergiSpainAnna Fali RENEWAL
Darci X ChuiSpainOnyama Limba QUALIFIED
David P SergiJapanBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco U Flosi
Clifford G Stenseth
Ivar K Amigon
Darci X Rulapaugh
Mujtaba U Shinko
David S Stenseth
Leon W Butt
Isabel R Ostrosky
Aika P Foller
David K Ferencz
David L Figeroa
Claire Z Marrier
Murillo C Inouye
Alejandro H Poquette
Faith D Malet
Rodrigues J Nicka
Smith L Garufi
Munro E Kusko
Faith V Ostrosky
Jefferson Y Waycott
Adams O Oldroyd
Tony W Glick
Kadeem K Oldroyd
Mayumi O Slusarski
Greenwood D Whobrey
Costa R Ferencz
Aruna L Campain
Wickens S Schemmer
Maria D Stockham
Aditya Y Wieser
Antonio U Flosi
Costa P Stenseth
Johnson X Inouye
Jennifer U Caldarera
Greenwood C Foller
Claire F Inouye
Francesco K Figeroa
Jefferson N Gaucho
Clifford S Darakjy
Alejandro X Gillian
Jennifer S Marrier
Leon B Kolmetz
Jennifer O Vocelka
Aika J Schemmer
Maria Q Albares
Stacey H Rim
Adams Z Tollner
Aditya U Morasca
Chavez B Morasca
Greenwood F Shinko
IdCountryDate
1000Germany2024-06-06
1001Russia2024-06-02
1002Argentina2024-05-31
1003Japan2024-05-26
1004Japan2024-06-14
1005Japan2024-06-15
1006Italy2024-06-05
1007Germany2024-05-27
1008Germany2024-06-18
1009Canada2024-06-10
1010United Kingdom2024-06-20
1011Canada2024-06-12
1012Australia2024-06-05
1013United Kingdom2024-06-13
1014Australia2024-06-08
1015Australia2024-06-01
1016Canada2024-06-13
1017India2024-06-04
1018Australia2024-06-14
1019Spain2024-05-26
1020India2024-06-13
1021Australia2024-06-03
1022Japan2024-06-19
1023Italy2024-06-19
1024Italy2024-06-18
1025Japan2024-06-08
1026Japan2024-06-05
1027Argentina2024-05-27
1028Brazil2024-06-20
1029Russia2024-05-24
1030France2024-06-12
1031Spain2024-06-04
1032Australia2024-06-05
1033Germany2024-05-23
1034Argentina2024-06-12
1035Australia2024-06-09
1036Italy2024-05-27
1037Italy2024-05-29
1038Australia2024-06-13
1039Argentina2024-05-31
1040Japan2024-05-28
1041Italy2024-06-06
1042Canada2024-06-18
1043Australia2024-06-21
1044Canada2024-06-09
1045India2024-06-02
1046India2024-05-25
1047Canada2024-06-13
1048United Kingdom2024-06-21
1049Australia2024-06-11

On-Demand Data

NameIdCountryDate
Ivar M Ferencz1000Italy2024-05-26
Maria U Vocelka1001Australia2024-06-09
Maisha J Slusarski1002India2024-06-20
Kaitlin W Darakjy1003Australia2024-06-01
Maria X Rim1004France2024-06-16
Salvatore T Stenseth1005Spain2024-06-04
Kadeem C Slusarski1006Italy2024-05-27
Greenwood J Wieser1007United Kingdom2024-06-11
Sinclair Q Briddick1008Canada2024-06-13
Costa X Ferencz1009Japan2024-06-12
Greenwood U Darakjy1010Canada2024-06-15
Wickens H Glick1011Canada2024-06-18
Ivar C Tollner1012United Kingdom2024-05-23
Clifford O Kusko1013United Kingdom2024-05-31
Antonio L Nestle1014Italy2024-06-13
Maisha Y Morasca1015Italy2024-05-24
Juan F Gaucho1016Italy2024-06-16
Mayumi S Poquette1017Russia2024-05-29
Greenwood T Paprocki1018Canada2024-05-27
Mujtaba Z Malet1019Russia2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore U MacleadBrazilBernardo Dominic RENEWAL
Munro Z CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Alejandro B DoeCanadaElwin Sharvill NEGOTIATION
Izzy T ShinkoBrazilIvan Magalhaes QUALIFIED
Maria Q DoeUnited KingdomXuxue Feng PROPOSAL
Leja Q RoysterItalyAmy Elsner PROPOSAL
Smith T ShinkoAustraliaIvan Magalhaes NEW
Alejandro B BriddickArgentinaOnyama Limba NEW
Jeanfrancois H WieserUnited KingdomElwin Sharvill NEW
Stacey M VenereAustraliaOnyama Limba NEGOTIATION
Kaitlin L BologniaBrazilIvan Magalhaes QUALIFIED
Smith B MacleadArgentinaOnyama Limba UNQUALIFIED
Tony L DarakjyArgentinaOnyama Limba NEGOTIATION
Murillo R IturbideFranceIvan Magalhaes RENEWAL
James V StensethJapanBernardo Dominic NEW
James K PaprockiAustraliaAnna Fali PROPOSAL
Francesco Q DilliardIndiaElwin Sharvill NEW
Johnson N BologniaGermanyElwin Sharvill PROPOSAL
Johnson J StensethCanadaIvan Magalhaes PROPOSAL
Aika G MorascaRussiaAnna Fali NEGOTIATION
Aditya M RimAustraliaBernardo Dominic UNQUALIFIED
Arvin W RoysterUnited KingdomAmy Elsner NEGOTIATION
Leja B WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Izzy F ChuiJapanAnna Fali RENEWAL
Jones M AmigonSpainOnyama Limba UNQUALIFIED
Tony X SlusarskiGermanyOnyama Limba PROPOSAL
Alejandro I MarrierItalyOnyama Limba NEGOTIATION
Kadeem Q BowleyRussiaAnna Fali PROPOSAL
Tony R FollerItalyIvan Magalhaes PROPOSAL
James D SergiIndiaBernardo Dominic RENEWAL
Ivar R PaprockiBrazilAsiya Javayant PROPOSAL
Deepesh P VocelkaFranceElwin Sharvill NEGOTIATION
James G DilliardSpainAsiya Javayant NEGOTIATION
Leja T MaletSpainAsiya Javayant UNQUALIFIED
Misaki X MarrierFranceAmy Elsner NEGOTIATION
Mujtaba L GlickArgentinaXuxue Feng PROPOSAL
Mujtaba K CampainBrazilAnna Fali PROPOSAL
Ivar U CampainArgentinaAmy Elsner UNQUALIFIED
Kaitlin D ChuiArgentinaAnna Fali PROPOSAL
Ivar U FerenczGermanyXuxue 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>