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
Ricardo U VocelkaBrazilAmy Elsner NEGOTIATION
Faith S AmigonAustraliaXuxue Feng QUALIFIED
Ricardo O AmigonIndiaXuxue Feng QUALIFIED
Cody V InouyeArgentinaAsiya Javayant RENEWAL
Maisha Y DarakjySpainIvan Magalhaes NEGOTIATION
Greenwood Z NestleGermanyAnna Fali QUALIFIED
Stacey B FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy U VocelkaAustraliaAmy Elsner NEW
Leon I RulapaughAustraliaElwin Sharvill NEW
David N PerinUnited KingdomAmy Elsner UNQUALIFIED
Chavez N KolmetzUnited KingdomAsiya Javayant QUALIFIED
Sinclair L SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Clifford U SergiUnited KingdomStephen Shaw UNQUALIFIED
Claire S SaylorsItalyAmy Elsner RENEWAL
Emily Y VocelkaUnited KingdomAnna Fali PROPOSAL
Adams A MarrierJapanElwin Sharvill QUALIFIED
Emily Q FollerSpainElwin Sharvill QUALIFIED
Costa U CaldareraBrazilIoni Bowcher RENEWAL
Aika E GarufiGermanyIoni Bowcher NEGOTIATION
Sinclair Y ShinkoGermanyIvan Magalhaes QUALIFIED
Aruna K PoquetteSpainAnna Fali UNQUALIFIED
Ricardo J WhobreyArgentinaBernardo Dominic QUALIFIED
Juan S RulapaughRussiaStephen Shaw RENEWAL
Juan K RimJapanAnna Fali NEGOTIATION
Juan L WaycottFranceStephen Shaw NEW
Jennifer K VocelkaAustraliaIvan Magalhaes PROPOSAL
Arvin F CaldareraBrazilAmy Elsner NEW
Jefferson D DoeAustraliaOnyama Limba NEGOTIATION
Octavia S OstroskyBrazilIoni Bowcher NEGOTIATION
Nicolas G ButtUnited KingdomAmy Elsner RENEWAL
Ivar A GarufiBrazilAsiya Javayant NEW
Emily Z SchemmerFranceIvan Magalhaes NEGOTIATION
Rodrigues U GarufiIndiaXuxue Feng NEGOTIATION
Antonio U IturbideSpainIoni Bowcher UNQUALIFIED
Silvio Q StockhamSpainIoni Bowcher NEGOTIATION
Misaki M GarufiCanadaAnna Fali NEGOTIATION
Francesco A AmigonAustraliaIvan Magalhaes QUALIFIED
Cody D MarrierRussiaAmy Elsner QUALIFIED
Mayumi Q FigeroaCanadaOnyama Limba PROPOSAL
Johnson B CaldareraJapanAmy Elsner NEW
Mujtaba I KuskoSpainOnyama Limba PROPOSAL
James L SaylorsCanadaAsiya Javayant QUALIFIED
Jennifer X KuskoArgentinaXuxue Feng PROPOSAL
Morrow F WhobreyJapanAsiya Javayant NEGOTIATION
Adams R CampainFranceStephen Shaw UNQUALIFIED
Octavia I NickaGermanyStephen Shaw UNQUALIFIED
Emily G GauchoJapanAsiya Javayant NEW
Kaitlin B OstroskyBrazilAmy Elsner NEW
David X RutaCanadaBernardo Dominic NEW
Jefferson G MaletArgentinaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Jones C MaletBrazilStephen Shaw NEW
Smith M OldroydGermanyIoni Bowcher RENEWAL
Smith N ShinkoArgentinaIoni Bowcher NEGOTIATION
Claire Z ShinkoAustraliaStephen Shaw NEGOTIATION
Juan L WaycottRussiaElwin Sharvill PROPOSAL
Rodrigues N PerinSpainElwin Sharvill NEW
Julie D AlbaresAustraliaOnyama Limba NEGOTIATION
Cody P MarrierCanadaIoni Bowcher PROPOSAL
Jennifer T BologniaFranceAsiya Javayant NEGOTIATION
Kadeem Z ChuiFranceBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David U SergiItaly2024-06-16Morlong Associates PROPOSAL84Ivan Magalhaes
1001Stacey Y FerenczRussia2024-06-05Rangoni Of Florence NEGOTIATION76Amy Elsner
1002Kaitlin F TollnerItaly2024-06-11Rangoni Of Florence QUALIFIED48Stephen Shaw
1003Smith D GlickJapan2024-06-23King, Christopher A Esq UNQUALIFIED48Ioni Bowcher
1004Kadeem D PerinUnited Kingdom2024-05-30Truhlar And Truhlar Attys NEGOTIATION30Amy Elsner
1005Isabel C DilliardUnited Kingdom2024-06-16Buckley Miller Wright QUALIFIED82Bernardo Dominic
1006Emily M DarakjyAustralia2024-06-02Rousseaux, Michael Esq UNQUALIFIED51Asiya Javayant
1007Faith G OldroydItaly2024-05-27Chemel, James L Cpa UNQUALIFIED81Ivan Magalhaes
1008Salvatore V TollnerAustralia2024-05-28Feiner Bros UNQUALIFIED90Elwin Sharvill
1009David M AlbaresIndia2024-06-20Chemel, James L Cpa NEGOTIATION73Stephen Shaw
1010Darci S AlbaresFrance2024-06-23King, Christopher A Esq QUALIFIED83Ioni Bowcher
1011Mujtaba C PoquetteAustralia2024-05-27Benton, John B Jr NEW43Bernardo Dominic
1012Greenwood K PoquetteGermany2024-06-04Rousseaux, Michael Esq PROPOSAL30Elwin Sharvill
1013Darci W SergiAustralia2024-06-23Dorl, James J Esq PROPOSAL2Elwin Sharvill
1014Johnson X VenereJapan2024-06-05Chanay, Jeffrey A Esq NEGOTIATION77Xuxue Feng
1015Nicolas Z OldroydBrazil2024-06-11Dorl, James J Esq NEGOTIATION84Ioni Bowcher
1016Wickens M MaletFrance2024-05-26Rousseaux, Michael Esq NEW73Xuxue Feng
1017Alejandro G RoysterAustralia2024-05-27Feltz Printing Service NEGOTIATION31Anna Fali
1018Octavia V DilliardFrance2024-06-18Rousseaux, Michael Esq RENEWAL84Stephen Shaw
1019Arvin Q InouyeGermany2024-05-26Chemel, James L Cpa RENEWAL38Onyama Limba
1020Claire I OldroydArgentina2024-06-03Feltz Printing Service RENEWAL70Ivan Magalhaes
1021Jennifer Y SergiFrance2024-06-04Chemel, James L Cpa UNQUALIFIED32Anna Fali
1022Kaitlin B WaycottJapan2024-05-26Truhlar And Truhlar Attys PROPOSAL63Ioni Bowcher
1023Deepesh V DilliardItaly2024-06-21Feiner Bros QUALIFIED12Onyama Limba
1024Maisha N WaycottSpain2024-06-01Rousseaux, Michael Esq NEW84Amy Elsner
1025Francesco D RimSpain2024-06-19Benton, John B Jr QUALIFIED91Asiya Javayant
1026Claire V CaudyJapan2024-06-21Rousseaux, Michael Esq PROPOSAL50Asiya Javayant
1027Wickens C CaldareraRussia2024-06-19Morlong Associates NEGOTIATION44Stephen Shaw
1028Chavez V KuskoFrance2024-06-17Chapman, Ross E Esq UNQUALIFIED53Ivan Magalhaes
1029Nicolas R PerinGermany2024-05-29Rousseaux, Michael Esq PROPOSAL15Onyama Limba
1030Julie M DilliardArgentina2024-06-14Truhlar And Truhlar Attys UNQUALIFIED89Stephen Shaw
1031Salvatore R VenereUnited Kingdom2024-06-18Chanay, Jeffrey A Esq RENEWAL24Stephen Shaw
1032Cody W WhobreySpain2024-05-28Printing Dimensions UNQUALIFIED40Elwin Sharvill
1033Silvio S DilliardItaly2024-06-16Feltz Printing Service PROPOSAL24Bernardo Dominic
1034Ashley Y ShinkoItaly2024-05-28Chapman, Ross E Esq QUALIFIED14Onyama Limba
1035David W GarufiFrance2024-06-09King, Christopher A Esq NEW33Elwin Sharvill
1036Claire W CaldareraIndia2024-06-19Chanay, Jeffrey A Esq QUALIFIED64Elwin Sharvill
1037James F CampainUnited Kingdom2024-06-19Buckley Miller Wright NEW39Ioni Bowcher
1038Cody S RimGermany2024-05-27Chemel, James L Cpa QUALIFIED10Amy Elsner
1039Julie W GauchoAustralia2024-06-05Chanay, Jeffrey A Esq RENEWAL27Ioni Bowcher
1040Morrow K AmigonItaly2024-05-28Morlong Associates NEGOTIATION19Asiya Javayant
1041James W NestleAustralia2024-06-19Rangoni Of Florence QUALIFIED54Xuxue Feng
1042Jeanfrancois S BriddickBrazil2024-06-15Dorl, James J Esq RENEWAL45Amy Elsner
1043Clifford S WhobreyFrance2024-06-23Buckley Miller Wright UNQUALIFIED0Ivan Magalhaes
1044Nicolas P PoquetteFrance2024-06-12King, Christopher A Esq RENEWAL8Amy Elsner
1045Octavia Z PaprockiUnited Kingdom2024-05-30Feltz Printing Service RENEWAL56Xuxue Feng
1046Morrow B AmigonCanada2024-06-01Truhlar And Truhlar Attys NEW42Anna Fali
1047Adams I SlusarskiUnited Kingdom2024-06-13Rangoni Of Florence RENEWAL28Onyama Limba
1048Arvin K OldroydIndia2024-06-24Buckley Miller Wright PROPOSAL87Xuxue Feng
1049Alejandro D GillianGermany2024-06-15Commercial Press RENEWAL58Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
James N ChuiSpainIvan Magalhaes QUALIFIED
Maria C FlosiArgentinaAsiya Javayant RENEWAL
Aditya E GarufiJapanElwin Sharvill NEGOTIATION
Izzy H WhobreyBrazilIvan Magalhaes NEGOTIATION
Juan U StensethCanadaIvan Magalhaes RENEWAL
Maria R FerenczRussiaIvan Magalhaes QUALIFIED
Arvin I FerenczGermanyAmy Elsner RENEWAL
Chavez T PaprockiFranceStephen Shaw UNQUALIFIED
Clifford J BologniaJapanXuxue Feng NEGOTIATION
Aika I GauchoCanadaIoni Bowcher NEGOTIATION
Arvin P DoeIndiaAsiya Javayant RENEWAL
Octavia E DilliardSpainStephen Shaw NEW
Emily C SlusarskiCanadaAsiya Javayant QUALIFIED
Stacey C DarakjySpainAsiya Javayant QUALIFIED
Ashley U BriddickAustraliaAmy Elsner PROPOSAL
Ricardo L DarakjyGermanyXuxue Feng RENEWAL
Jefferson Z PoquetteUnited KingdomAnna Fali UNQUALIFIED
Kaitlin Q GauchoAustraliaAsiya Javayant NEW
Stacey V InouyeUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki Y MorascaJapanIoni Bowcher PROPOSAL
Isabel X PoquetteArgentinaBernardo Dominic UNQUALIFIED
Octavia V GarufiJapanOnyama Limba QUALIFIED
Alejandro W RulapaughArgentinaAsiya Javayant NEW
Smith M RulapaughRussiaIvan Magalhaes UNQUALIFIED
James M ButtItalyElwin Sharvill NEW
Johnson K BologniaArgentinaAnna Fali QUALIFIED
Mujtaba P PerinArgentinaStephen Shaw NEW
Adams I SlusarskiItalyAsiya Javayant UNQUALIFIED
Alejandro G ChuiArgentinaOnyama Limba QUALIFIED
Alejandro Q DarakjySpainAsiya Javayant PROPOSAL
Stacey W IturbideSpainElwin Sharvill RENEWAL
Aruna D AlbaresFranceAnna Fali QUALIFIED
Salvatore U DoeItalyXuxue Feng UNQUALIFIED
Adams M KolmetzCanadaOnyama Limba RENEWAL
Deepesh K WaycottAustraliaAmy Elsner UNQUALIFIED
Clifford G NestleUnited KingdomAnna Fali NEW
Misaki E WieserIndiaIvan Magalhaes PROPOSAL
Aditya V SergiGermanyStephen Shaw RENEWAL
Jennifer R DarakjyIndiaOnyama Limba RENEWAL
Smith H CaudyGermanyAnna Fali QUALIFIED
Jefferson B RoysterGermanyAmy Elsner UNQUALIFIED
Izzy B GlickArgentinaStephen Shaw PROPOSAL
Cody F RimAustraliaOnyama Limba RENEWAL
Maria C CampainItalyAsiya Javayant NEGOTIATION
Tony X RoysterCanadaIoni Bowcher UNQUALIFIED
Mujtaba G ShinkoFranceIoni Bowcher PROPOSAL
James K GlickIndiaIvan Magalhaes QUALIFIED
Francesco A CaudyBrazilXuxue Feng NEGOTIATION
Aruna R KuskoSpainIvan Magalhaes UNQUALIFIED
Deepesh R MarrierItalyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Aruna V Saylors
Jeanfrancois J Inouye
Ivar X Slusarski
Wickens A Rulapaugh
Johnson S Stockham
Greenwood Z Waycott
Ricardo U Rulapaugh
Juan V Malet
Chavez Y Ferencz
Mayumi L Foller
Tony M Malet
James U Dilliard
Maisha A Briddick
Jefferson M Gaucho
Jeanfrancois T Albares
Maria Z Saylors
Smith X Royster
Octavia Y Foller
Jeanfrancois O Marrier
James J Nestle
Julie V Gillian
Faith G Iturbide
Julie R Dilliard
James E Briddick
Octavia I Schemmer
Kaitlin A Paprocki
Emily B Paprocki
Aruna K Sergi
Aika N Darakjy
Alejandro G Ostrosky
Mayumi D Inouye
Salvatore L Butt
Julie E Dilliard
Murillo V Malet
Leja S Sergi
Emily M Albares
Deepesh W Foller
Leon I Flosi
Maria B Iturbide
Deepesh N Kusko
Maria J Ferencz
Kadeem C Dilliard
Isabel M Campain
Ricardo H Chui
Wickens J Rim
Julie U Nestle
Greenwood U Slusarski
Jefferson O Nicka
Darci R Bowley
Cody A Morasca
IdCountryDate
1000Argentina2024-06-10
1001France2024-06-12
1002Australia2024-06-04
1003Brazil2024-06-14
1004Spain2024-06-05
1005France2024-05-31
1006Japan2024-06-21
1007United Kingdom2024-06-12
1008Japan2024-05-30
1009Argentina2024-05-27
1010Spain2024-05-29
1011Australia2024-06-20
1012Canada2024-06-18
1013Italy2024-06-07
1014Italy2024-06-24
1015Spain2024-06-09
1016Japan2024-05-26
1017Japan2024-05-29
1018Germany2024-06-20
1019Germany2024-06-03
1020Argentina2024-06-09
1021Spain2024-06-06
1022United Kingdom2024-05-26
1023United Kingdom2024-06-03
1024Brazil2024-06-14
1025France2024-06-07
1026France2024-06-16
1027Brazil2024-06-21
1028Italy2024-06-10
1029Italy2024-06-21
1030Russia2024-06-10
1031Australia2024-06-09
1032France2024-06-11
1033Brazil2024-05-27
1034Japan2024-06-17
1035Japan2024-06-07
1036Argentina2024-05-30
1037Spain2024-05-29
1038Germany2024-05-30
1039Japan2024-06-24
1040Germany2024-06-16
1041Brazil2024-05-28
1042Russia2024-05-31
1043Australia2024-06-22
1044Australia2024-06-18
1045Argentina2024-05-27
1046Japan2024-06-05
1047France2024-06-03
1048Germany2024-06-11
1049Australia2024-06-12

On-Demand Data

NameIdCountryDate
Silvio W Rim1000Japan2024-06-02
Alejandro W Nestle1001Italy2024-06-10
Mayumi Y Royster1002Spain2024-06-12
Wickens T Morasca1003Germany2024-06-24
Darci U Paprocki1004Japan2024-06-13
Jefferson R Nestle1005Argentina2024-06-14
Aruna K Flosi1006Spain2024-05-31
James H Nestle1007Spain2024-06-04
Greenwood D Dilliard1008Russia2024-06-15
Izzy E Morasca1009Argentina2024-05-27
Greenwood O Nestle1010India2024-06-15
Clifford J Saylors1011Russia2024-05-29
Kadeem K Garufi1012Canada2024-06-02
Darci W Stenseth1013Brazil2024-06-01
Leja Y Maclead1014Argentina2024-05-30
James O Sergi1015Germany2024-06-13
Stacey U Chui1016Australia2024-06-19
Chavez B Nicka1017United Kingdom2024-06-11
Costa X Caldarera1018Spain2024-06-01
James K Poquette1019Spain2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois P IturbideUnited KingdomXuxue Feng QUALIFIED
Emily Z SergiAustraliaAsiya Javayant UNQUALIFIED
Aditya U KolmetzFranceAmy Elsner QUALIFIED
Darci W SergiSpainIoni Bowcher NEGOTIATION
Misaki L InouyeAustraliaAsiya Javayant QUALIFIED
Claire F CaldareraIndiaAsiya Javayant RENEWAL
Johnson J SergiCanadaAnna Fali QUALIFIED
Deepesh I RulapaughRussiaStephen Shaw PROPOSAL
Smith X SchemmerJapanOnyama Limba PROPOSAL
Cody B StensethJapanIoni Bowcher PROPOSAL
Izzy U MorascaCanadaStephen Shaw UNQUALIFIED
Munro Y RutaAustraliaBernardo Dominic QUALIFIED
Murillo A FollerSpainElwin Sharvill UNQUALIFIED
Aditya G VenereArgentinaBernardo Dominic NEW
Aditya W DilliardArgentinaXuxue Feng QUALIFIED
Claire R ButtJapanXuxue Feng NEW
Izzy H IturbideBrazilAsiya Javayant NEW
Clifford T DarakjyAustraliaBernardo Dominic NEGOTIATION
Aruna B ChuiAustraliaOnyama Limba PROPOSAL
Rodrigues N StensethBrazilAnna Fali QUALIFIED
Arvin Y SergiGermanyIvan Magalhaes NEGOTIATION
Ricardo D BologniaAustraliaAsiya Javayant UNQUALIFIED
Claire J GlickCanadaElwin Sharvill RENEWAL
Alejandro N MorascaBrazilAsiya Javayant QUALIFIED
James O MarrierJapanAnna Fali NEW
Aruna W GarufiAustraliaAmy Elsner QUALIFIED
Leja O KolmetzSpainElwin Sharvill PROPOSAL
Kadeem C TollnerBrazilXuxue Feng NEGOTIATION
Clifford S ButtFranceStephen Shaw RENEWAL
Antonio V CaudyFranceIvan Magalhaes RENEWAL
Ivar B OstroskyJapanStephen Shaw RENEWAL
Rodrigues U StockhamCanadaIoni Bowcher QUALIFIED
Salvatore O SergiSpainIvan Magalhaes RENEWAL
Stacey C RimArgentinaElwin Sharvill NEGOTIATION
Kadeem W VenereGermanyXuxue Feng QUALIFIED
Mayumi P CampainUnited KingdomIoni Bowcher QUALIFIED
Aika Y VenereArgentinaStephen Shaw PROPOSAL
Deepesh W SergiRussiaAmy Elsner NEW
Costa K PaprockiSpainAsiya Javayant PROPOSAL
Kadeem S MaletArgentinaElwin Sharvill 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>