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
Jeanfrancois I OstroskyBrazilAsiya Javayant UNQUALIFIED
Leon X DarakjyBrazilStephen Shaw QUALIFIED
Julie I VenereJapanBernardo Dominic PROPOSAL
Arvin E KolmetzJapanOnyama Limba UNQUALIFIED
Nicolas O StockhamJapanAsiya Javayant PROPOSAL
Jennifer U MacleadUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin J MacleadCanadaBernardo Dominic UNQUALIFIED
Tony Y MacleadJapanStephen Shaw PROPOSAL
Darci G BologniaJapanAsiya Javayant QUALIFIED
Faith Z WhobreyAustraliaElwin Sharvill PROPOSAL
Octavia C FerenczRussiaXuxue Feng PROPOSAL
Sinclair M NickaGermanyIoni Bowcher QUALIFIED
Antonio T PoquetteArgentinaElwin Sharvill RENEWAL
Emily P ButtArgentinaXuxue Feng PROPOSAL
Rodrigues Q NestleIndiaBernardo Dominic NEW
Misaki V GarufiSpainElwin Sharvill RENEWAL
Nicolas W RoysterUnited KingdomAnna Fali RENEWAL
Sinclair H MarrierFranceOnyama Limba RENEWAL
Greenwood Q RutaGermanyBernardo Dominic RENEWAL
Kadeem D GarufiGermanyIoni Bowcher PROPOSAL
Cody Y PoquetteSpainOnyama Limba QUALIFIED
Octavia Y CaudyBrazilIoni Bowcher NEW
Smith F VocelkaBrazilAsiya Javayant NEW
Costa U StockhamGermanyElwin Sharvill NEGOTIATION
Aruna C MorascaIndiaAsiya Javayant NEGOTIATION
Salvatore C VocelkaBrazilStephen Shaw PROPOSAL
Munro U StensethBrazilElwin Sharvill UNQUALIFIED
Alejandro X SchemmerJapanOnyama Limba RENEWAL
Jones U NestleArgentinaIvan Magalhaes UNQUALIFIED
Cody T AlbaresGermanyAmy Elsner QUALIFIED
Misaki H VocelkaUnited KingdomElwin Sharvill QUALIFIED
Wickens Y IturbideArgentinaStephen Shaw RENEWAL
Chavez Z GauchoIndiaXuxue Feng RENEWAL
Cody C AmigonItalyOnyama Limba UNQUALIFIED
Julie I WhobreyAustraliaIvan Magalhaes RENEWAL
Costa X StensethCanadaXuxue Feng NEW
Stacey G CaldareraArgentinaXuxue Feng PROPOSAL
Isabel I InouyeSpainAnna Fali QUALIFIED
Antonio B BologniaJapanStephen Shaw NEW
Julie K WieserAustraliaXuxue Feng NEW
Aditya B WieserBrazilElwin Sharvill QUALIFIED
Deepesh V AmigonCanadaIvan Magalhaes NEW
Maria P ChuiCanadaAnna Fali UNQUALIFIED
James K WhobreySpainIoni Bowcher PROPOSAL
Greenwood F ChuiCanadaIvan Magalhaes UNQUALIFIED
Smith A InouyeItalyAmy Elsner UNQUALIFIED
Ivar S SchemmerRussiaIvan Magalhaes PROPOSAL
Aruna S VocelkaItalyXuxue Feng NEW
Jennifer F SergiAustraliaBernardo Dominic PROPOSAL
Tony X FollerGermanyAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Johnson M GillianBrazilIvan Magalhaes PROPOSAL
Nicolas Z SergiAustraliaBernardo Dominic RENEWAL
Rodrigues D SlusarskiGermanyElwin Sharvill QUALIFIED
Antonio X FerenczAustraliaAnna Fali NEW
Kaitlin G BriddickBrazilAnna Fali NEGOTIATION
Mujtaba K ShinkoArgentinaIvan Magalhaes NEGOTIATION
Emily E ButtSpainXuxue Feng NEGOTIATION
Antonio U RoysterIndiaAnna Fali RENEWAL
Silvio G WieserArgentinaIvan Magalhaes RENEWAL
Maria Y GlickBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel K FerenczGermany2025-06-11Rousseaux, Michael Esq NEW65Elwin Sharvill
1001Costa O KolmetzIndia2025-05-26Rangoni Of Florence NEW39Elwin Sharvill
1002Aika D FigeroaGermany2025-05-24Rousseaux, Michael Esq PROPOSAL7Bernardo Dominic
1003Mujtaba K BologniaAustralia2025-06-03Commercial Press NEW15Elwin Sharvill
1004Jeanfrancois W CaldareraIndia2025-05-26Feltz Printing Service PROPOSAL67Bernardo Dominic
1005Darci L PerinArgentina2025-05-31Feiner Bros PROPOSAL32Onyama Limba
1006Tony L FlosiIndia2025-06-08Morlong Associates RENEWAL23Asiya Javayant
1007Aditya Q GlickGermany2025-05-30Commercial Press RENEWAL37Xuxue Feng
1008Ashley Z RimAustralia2025-05-18Chapman, Ross E Esq NEGOTIATION18Anna Fali
1009Kadeem R AmigonSpain2025-06-07Benton, John B Jr RENEWAL10Onyama Limba
1010Kaitlin W OstroskyCanada2025-06-10Feltz Printing Service NEGOTIATION76Ioni Bowcher
1011Cody B KuskoUnited Kingdom2025-05-24Chanay, Jeffrey A Esq UNQUALIFIED19Onyama Limba
1012Greenwood F IturbideItaly2025-05-23Feltz Printing Service NEGOTIATION66Xuxue Feng
1013Sinclair X RutaArgentina2025-06-02Rangoni Of Florence PROPOSAL66Xuxue Feng
1014Maria J CampainCanada2025-05-24Chemel, James L Cpa QUALIFIED55Elwin Sharvill
1015Darci D InouyeBrazil2025-06-03Truhlar And Truhlar Attys NEGOTIATION25Amy Elsner
1016Nicolas V SergiAustralia2025-06-05Feiner Bros NEW85Elwin Sharvill
1017Tony J PerinRussia2025-06-02King, Christopher A Esq PROPOSAL24Onyama Limba
1018Ashley O AmigonAustralia2025-06-13Feltz Printing Service NEGOTIATION2Onyama Limba
1019Misaki H MaletCanada2025-05-28Printing Dimensions NEW13Onyama Limba
1020Leon O FollerUnited Kingdom2025-06-02Dorl, James J Esq NEW53Elwin Sharvill
1021Isabel D DilliardCanada2025-06-09Truhlar And Truhlar Attys NEW13Ioni Bowcher
1022Faith H BowleyFrance2025-05-24Buckley Miller Wright NEGOTIATION50Stephen Shaw
1023Jefferson K BologniaGermany2025-05-18Rousseaux, Michael Esq UNQUALIFIED21Onyama Limba
1024Silvio O CaldareraAustralia2025-06-09Dorl, James J Esq PROPOSAL59Stephen Shaw
1025Ashley W DilliardAustralia2025-05-28Truhlar And Truhlar Attys NEW85Ioni Bowcher
1026Kadeem C GlickJapan2025-06-01Rangoni Of Florence RENEWAL36Xuxue Feng
1027Maisha D KuskoRussia2025-05-27Buckley Miller Wright UNQUALIFIED49Xuxue Feng
1028Leja S RoysterGermany2025-05-18Chanay, Jeffrey A Esq QUALIFIED61Stephen Shaw
1029Mujtaba J WhobreyRussia2025-06-01Rousseaux, Michael Esq NEGOTIATION25Onyama Limba
1030Arvin R SaylorsUnited Kingdom2025-05-18Feltz Printing Service UNQUALIFIED77Stephen Shaw
1031Johnson W DoeRussia2025-05-18Feltz Printing Service RENEWAL6Elwin Sharvill
1032Alejandro B GarufiItaly2025-05-27Chemel, James L Cpa NEGOTIATION22Anna Fali
1033Deepesh E WaycottAustralia2025-06-02Benton, John B Jr NEGOTIATION43Ivan Magalhaes
1034Adams L ChuiArgentina2025-05-21Buckley Miller Wright PROPOSAL57Bernardo Dominic
1035Morrow C WhobreyJapan2025-05-18Feltz Printing Service RENEWAL9Xuxue Feng
1036Stacey H RutaItaly2025-06-12Chemel, James L Cpa NEGOTIATION5Ivan Magalhaes
1037Johnson S RutaArgentina2025-05-21Benton, John B Jr QUALIFIED11Ioni Bowcher
1038Jeanfrancois R GillianCanada2025-05-29Feiner Bros NEW46Asiya Javayant
1039Francesco X KuskoAustralia2025-06-01Chanay, Jeffrey A Esq PROPOSAL8Ivan Magalhaes
1040Emily C IturbideUnited Kingdom2025-06-16Rangoni Of Florence QUALIFIED36Amy Elsner
1041Leon W BologniaBrazil2025-06-06Benton, John B Jr RENEWAL15Onyama Limba
1042Ricardo T NickaBrazil2025-06-09Chanay, Jeffrey A Esq UNQUALIFIED71Asiya Javayant
1043Claire E MaletFrance2025-06-07Chanay, Jeffrey A Esq UNQUALIFIED9Bernardo Dominic
1044Julie M MorascaJapan2025-05-30Dorl, James J Esq RENEWAL13Onyama Limba
1045Deepesh R RimArgentina2025-05-25Feiner Bros PROPOSAL33Onyama Limba
1046Munro T StensethBrazil2025-05-24Truhlar And Truhlar Attys NEW65Anna Fali
1047Antonio W KuskoGermany2025-05-23Chemel, James L Cpa RENEWAL27Stephen Shaw
1048Tony G CaldareraUnited Kingdom2025-06-08Morlong Associates UNQUALIFIED75Asiya Javayant
1049Smith N OldroydGermany2025-06-07Truhlar And Truhlar Attys UNQUALIFIED34Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin W RimFranceAsiya Javayant RENEWAL
Izzy A ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson G KuskoJapanBernardo Dominic UNQUALIFIED
Maisha Q WaycottIndiaStephen Shaw NEW
Tony E RulapaughGermanyAmy Elsner RENEWAL
Maria G RoysterGermanyAmy Elsner QUALIFIED
Deepesh A BologniaItalyAmy Elsner NEW
Jennifer M InouyeGermanyOnyama Limba NEGOTIATION
Ivar X MorascaArgentinaAmy Elsner NEGOTIATION
Kaitlin Z RutaGermanyAnna Fali NEW
Salvatore M ButtFranceElwin Sharvill RENEWAL
Jones I PoquetteArgentinaAmy Elsner QUALIFIED
Silvio C WieserIndiaAmy Elsner NEGOTIATION
Ricardo P ButtFranceAnna Fali UNQUALIFIED
Arvin M FerenczJapanAsiya Javayant NEGOTIATION
Julie C DoeItalyIvan Magalhaes NEGOTIATION
Sinclair U MorascaJapanIoni Bowcher RENEWAL
Stacey O MorascaArgentinaBernardo Dominic UNQUALIFIED
Ricardo Q FigeroaFranceBernardo Dominic PROPOSAL
Mujtaba J FlosiCanadaIvan Magalhaes PROPOSAL
Salvatore G NickaFranceAmy Elsner NEGOTIATION
Maisha S MaletUnited KingdomIoni Bowcher NEW
Adams G SchemmerRussiaAsiya Javayant NEGOTIATION
Jefferson B DilliardCanadaAnna Fali PROPOSAL
Maisha U ShinkoCanadaAsiya Javayant QUALIFIED
Jennifer Y RutaSpainAsiya Javayant PROPOSAL
Costa B RutaJapanIvan Magalhaes QUALIFIED
Salvatore M DoeArgentinaBernardo Dominic RENEWAL
Greenwood H AlbaresGermanyAmy Elsner UNQUALIFIED
Costa K GillianFranceAmy Elsner NEW
Aika B DarakjyCanadaAnna Fali PROPOSAL
Octavia Q InouyeRussiaBernardo Dominic UNQUALIFIED
Greenwood O WhobreyItalyAnna Fali UNQUALIFIED
Juan X SergiFranceElwin Sharvill QUALIFIED
Ivar X KolmetzCanadaIoni Bowcher NEGOTIATION
Stacey M DarakjyBrazilAmy Elsner RENEWAL
Claire J StensethUnited KingdomIvan Magalhaes RENEWAL
Leja F BriddickIndiaBernardo Dominic NEW
Morrow M PerinGermanyBernardo Dominic UNQUALIFIED
Wickens C SchemmerCanadaAmy Elsner NEW
Kadeem G DarakjyItalyAnna Fali RENEWAL
Ricardo H FigeroaRussiaIvan Magalhaes NEGOTIATION
Jefferson T PoquetteUnited KingdomBernardo Dominic RENEWAL
Izzy A ChuiRussiaAsiya Javayant UNQUALIFIED
Tony K RulapaughItalyOnyama Limba QUALIFIED
Rodrigues I PaprockiSpainIvan Magalhaes RENEWAL
James F PaprockiGermanyAsiya Javayant PROPOSAL
Antonio E RulapaughArgentinaStephen Shaw QUALIFIED
Alejandro H ShinkoGermanyIvan Magalhaes QUALIFIED
Chavez U SergiAustraliaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Tony K Figeroa
Antonio N Albares
Claire O Albares
Aika Q Morasca
Julie K Caudy
Aditya T Figeroa
Jones Z Caldarera
Johnson X Iturbide
Stacey G Doe
Clifford H Schemmer
Julie R Dilliard
Izzy K Butt
Ashley D Malet
Jones D Vocelka
Leja M Garufi
Ashley Y Iturbide
Alejandro F Shinko
Mujtaba T Dilliard
Darci Q Dilliard
Leon J Malet
Izzy J Malet
Jones R Albares
Munro Q Caudy
Chavez A Morasca
Julie I Amigon
Faith I Rim
Maisha I Maclead
Francesco X Albares
Mujtaba J Poquette
Smith W Stockham
Misaki Z Vocelka
Antonio L Schemmer
Francesco D Perin
Jones W Schemmer
Alejandro W Campain
Sinclair C Bowley
Jeanfrancois S Morasca
David W Poquette
Misaki Y Tollner
Stacey R Flosi
Julie A Whobrey
Clifford U Saylors
Costa E Tollner
Leja R Iturbide
Chavez C Saylors
Mayumi O Glick
Aruna D Dilliard
Isabel L Poquette
Silvio H Whobrey
Francesco N Darakjy
IdCountryDate
1000Italy2025-05-31
1001Italy2025-05-25
1002Japan2025-06-03
1003Russia2025-06-08
1004Japan2025-05-25
1005Russia2025-05-21
1006France2025-06-12
1007Australia2025-06-06
1008Canada2025-06-06
1009Japan2025-06-04
1010Germany2025-05-29
1011Brazil2025-06-10
1012Japan2025-06-08
1013Russia2025-05-28
1014Japan2025-06-03
1015Brazil2025-05-27
1016Spain2025-05-25
1017Canada2025-06-07
1018Russia2025-05-25
1019Canada2025-05-27
1020Brazil2025-05-18
1021Canada2025-05-31
1022India2025-06-12
1023India2025-05-27
1024France2025-06-01
1025Spain2025-06-07
1026Canada2025-05-31
1027Russia2025-06-14
1028Brazil2025-06-12
1029India2025-06-15
1030Italy2025-06-08
1031Russia2025-06-08
1032Italy2025-06-14
1033Russia2025-06-02
1034Brazil2025-06-03
1035Spain2025-05-30
1036Japan2025-06-06
1037Japan2025-05-24
1038Australia2025-06-15
1039Canada2025-05-31
1040France2025-06-11
1041Canada2025-05-21
1042Australia2025-05-28
1043Argentina2025-06-09
1044Italy2025-05-30
1045Germany2025-05-20
1046Spain2025-06-12
1047Australia2025-06-06
1048Australia2025-06-06
1049Brazil2025-05-18

On-Demand Data

NameIdCountryDate
Maria O Kolmetz1000United Kingdom2025-06-04
Misaki J Albares1001United Kingdom2025-05-19
Stacey E Gillian1002India2025-05-28
Aditya G Amigon1003Australia2025-06-09
Greenwood S Sergi1004United Kingdom2025-05-23
Arvin E Albares1005Japan2025-05-25
Clifford Z Nestle1006India2025-06-04
Julie D Morasca1007Italy2025-06-03
Aruna B Marrier1008United Kingdom2025-05-22
Claire K Foller1009Australia2025-05-19
Silvio U Rulapaugh1010India2025-06-09
Murillo O Ostrosky1011Brazil2025-05-20
Kaitlin Q Vocelka1012France2025-05-28
Claire R Amigon1013Australia2025-06-10
Ivar X Vocelka1014France2025-06-09
Arvin W Bolognia1015Spain2025-05-22
Kaitlin Q Garufi1016Canada2025-06-04
Misaki P Stenseth1017Russia2025-05-21
Misaki U Maclead1018Japan2025-05-31
Johnson P Caldarera1019France2025-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya K ChuiSpainBernardo Dominic UNQUALIFIED
Murillo M KuskoGermanyIoni Bowcher PROPOSAL
Faith W CampainCanadaAmy Elsner PROPOSAL
Kaitlin Z KolmetzRussiaAsiya Javayant PROPOSAL
Greenwood X DilliardRussiaIoni Bowcher RENEWAL
Ivar P WieserSpainAmy Elsner NEGOTIATION
Ivar M CampainBrazilAmy Elsner NEW
James A StockhamUnited KingdomAsiya Javayant RENEWAL
Greenwood Q GauchoSpainOnyama Limba NEW
Silvio N MorascaSpainAsiya Javayant QUALIFIED
Aditya Q NickaArgentinaIoni Bowcher QUALIFIED
Darci G VenereArgentinaStephen Shaw RENEWAL
Clifford C FlosiIndiaIoni Bowcher NEW
Adams V SaylorsFranceAnna Fali QUALIFIED
Nicolas R BriddickAustraliaIvan Magalhaes PROPOSAL
Smith U BowleyUnited KingdomIoni Bowcher NEGOTIATION
Misaki P MacleadBrazilElwin Sharvill QUALIFIED
Jefferson V MacleadArgentinaElwin Sharvill NEGOTIATION
David F RutaSpainXuxue Feng QUALIFIED
Julie E StensethSpainAmy Elsner NEW
Izzy L RimArgentinaXuxue Feng NEGOTIATION
Mayumi E ChuiIndiaStephen Shaw PROPOSAL
Wickens V KolmetzUnited KingdomAnna Fali RENEWAL
Faith O PoquetteFranceAsiya Javayant PROPOSAL
David F CaldareraBrazilOnyama Limba UNQUALIFIED
Adams M KolmetzGermanyOnyama Limba NEW
David U SergiCanadaStephen Shaw PROPOSAL
Greenwood P RutaFranceIvan Magalhaes PROPOSAL
Emily T StensethItalyAmy Elsner UNQUALIFIED
Sinclair A BriddickJapanAsiya Javayant NEGOTIATION
Mujtaba Q AmigonAustraliaElwin Sharvill RENEWAL
Smith D PaprockiFranceIoni Bowcher RENEWAL
Chavez H StensethGermanyAmy Elsner RENEWAL
Murillo K MorascaBrazilOnyama Limba NEW
Faith I PoquetteFranceBernardo Dominic QUALIFIED
Izzy H FerenczIndiaAmy Elsner NEW
Aruna Z FerenczUnited KingdomAmy Elsner UNQUALIFIED
Smith G PaprockiAustraliaStephen Shaw NEGOTIATION
Leja Q MaletBrazilAnna Fali UNQUALIFIED
Leja U FollerGermanyBernardo Dominic 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>