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 PaprockiSpainBernardo Dominic RENEWAL
Rodrigues K VocelkaItalyIoni Bowcher QUALIFIED
Aruna T MaletRussiaElwin Sharvill NEW
Juan H RimRussiaStephen Shaw NEGOTIATION
Munro F FlosiUnited KingdomStephen Shaw UNQUALIFIED
Misaki B CampainGermanyAnna Fali QUALIFIED
Darci K AmigonUnited KingdomStephen Shaw QUALIFIED
Faith B WieserArgentinaXuxue Feng NEW
Nicolas F RutaItalyAmy Elsner QUALIFIED
James C VocelkaJapanAmy Elsner QUALIFIED
Jeanfrancois Q WaycottGermanyXuxue Feng RENEWAL
Deepesh A CaldareraUnited KingdomAnna Fali QUALIFIED
Mujtaba P RoysterUnited KingdomBernardo Dominic QUALIFIED
Aika J FollerUnited KingdomElwin Sharvill RENEWAL
Costa A SaylorsGermanyBernardo Dominic QUALIFIED
Mayumi C FerenczItalyIoni Bowcher RENEWAL
Octavia X StockhamUnited KingdomIvan Magalhaes RENEWAL
Octavia S KolmetzCanadaStephen Shaw QUALIFIED
Deepesh U CaldareraItalyStephen Shaw PROPOSAL
Alejandro G BriddickRussiaAsiya Javayant UNQUALIFIED
Adams U FigeroaArgentinaAnna Fali NEW
Cody Q OldroydRussiaXuxue Feng NEW
Ivar R InouyeFranceIvan Magalhaes PROPOSAL
Alejandro V PerinItalyBernardo Dominic PROPOSAL
James G MacleadUnited KingdomAmy Elsner UNQUALIFIED
Ricardo R WhobreyIndiaOnyama Limba PROPOSAL
Ivar N MaletCanadaElwin Sharvill PROPOSAL
Salvatore Z DilliardIndiaAnna Fali NEGOTIATION
Jones O CaudySpainIoni Bowcher UNQUALIFIED
Leon M ChuiFranceXuxue Feng UNQUALIFIED
Mujtaba P GillianJapanOnyama Limba NEGOTIATION
Greenwood U WieserIndiaXuxue Feng NEW
Aditya H FollerUnited KingdomAmy Elsner UNQUALIFIED
Cody Q RoysterSpainAnna Fali QUALIFIED
Arvin B FerenczAustraliaAmy Elsner QUALIFIED
Ivar B ShinkoRussiaAmy Elsner QUALIFIED
Rodrigues U KolmetzAustraliaAnna Fali QUALIFIED
Ricardo Q PerinCanadaXuxue Feng NEGOTIATION
Greenwood Q ButtFranceElwin Sharvill QUALIFIED
Maisha G OldroydUnited KingdomAmy Elsner PROPOSAL
Izzy Y DilliardUnited KingdomIoni Bowcher NEW
Arvin M RoysterBrazilIvan Magalhaes NEGOTIATION
Leon U DoeIndiaElwin Sharvill UNQUALIFIED
Jefferson Q BriddickRussiaAnna Fali QUALIFIED
Clifford A GlickIndiaStephen Shaw NEW
Salvatore Q GillianCanadaBernardo Dominic NEGOTIATION
Munro T GauchoGermanyAsiya Javayant QUALIFIED
Leon Y SchemmerJapanBernardo Dominic QUALIFIED
Salvatore I RimGermanyElwin Sharvill UNQUALIFIED
Rodrigues C OldroydIndiaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Darci M GlickArgentinaElwin Sharvill QUALIFIED
Faith O SlusarskiBrazilIvan Magalhaes NEGOTIATION
Murillo D CaudyGermanyAnna Fali QUALIFIED
Chavez T BriddickArgentinaElwin Sharvill PROPOSAL
Aika O GarufiItalyElwin Sharvill NEW
Darci K StensethJapanAnna Fali QUALIFIED
Johnson Y DarakjyArgentinaStephen Shaw RENEWAL
Wickens X BriddickBrazilElwin Sharvill UNQUALIFIED
Antonio C MarrierArgentinaOnyama Limba NEGOTIATION
Ricardo G OldroydCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson W AmigonFrance2024-06-09Rousseaux, Michael Esq NEGOTIATION6Onyama Limba
1001Jefferson I NickaBrazil2024-06-06Chapman, Ross E Esq QUALIFIED73Asiya Javayant
1002Maria Q MorascaAustralia2024-06-06Benton, John B Jr QUALIFIED33Onyama Limba
1003Claire J ButtItaly2024-06-02Chanay, Jeffrey A Esq RENEWAL93Bernardo Dominic
1004Nicolas H MacleadBrazil2024-06-09Benton, John B Jr UNQUALIFIED53Stephen Shaw
1005Deepesh Q CampainCanada2024-06-17Benton, John B Jr PROPOSAL49Onyama Limba
1006Kadeem E OstroskyRussia2024-06-20Chapman, Ross E Esq RENEWAL47Amy Elsner
1007Claire B BowleyIndia2024-05-29Dorl, James J Esq UNQUALIFIED9Bernardo Dominic
1008Greenwood A DoeSpain2024-06-01Chanay, Jeffrey A Esq RENEWAL8Bernardo Dominic
1009James S SlusarskiGermany2024-05-31Rousseaux, Michael Esq PROPOSAL91Anna Fali
1010Munro J FigeroaUnited Kingdom2024-06-13Rousseaux, Michael Esq QUALIFIED93Onyama Limba
1011Clifford O AmigonArgentina2024-06-04Buckley Miller Wright PROPOSAL87Ioni Bowcher
1012Faith M InouyeSpain2024-05-23Rousseaux, Michael Esq NEGOTIATION38Xuxue Feng
1013Smith I GarufiCanada2024-06-17Buckley Miller Wright PROPOSAL33Bernardo Dominic
1014Darci L StensethSpain2024-06-19Chanay, Jeffrey A Esq NEGOTIATION15Bernardo Dominic
1015Juan F CaudyJapan2024-05-25Chanay, Jeffrey A Esq NEW61Stephen Shaw
1016Claire P NickaFrance2024-06-20Buckley Miller Wright QUALIFIED49Xuxue Feng
1017Adams T RutaSpain2024-05-29Printing Dimensions RENEWAL93Bernardo Dominic
1018Antonio O BologniaItaly2024-06-13Feiner Bros PROPOSAL52Xuxue Feng
1019Aruna Y MorascaUnited Kingdom2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED58Xuxue Feng
1020Jennifer X CampainItaly2024-06-10Rousseaux, Michael Esq RENEWAL72Xuxue Feng
1021Costa N GillianCanada2024-05-30Feltz Printing Service UNQUALIFIED95Amy Elsner
1022Mayumi J NickaBrazil2024-06-05Morlong Associates RENEWAL9Xuxue Feng
1023Clifford U IturbideCanada2024-05-26Morlong Associates NEW19Onyama Limba
1024Jones K PerinJapan2024-06-18Rousseaux, Michael Esq PROPOSAL96Xuxue Feng
1025Mujtaba K MaletIndia2024-05-28Buckley Miller Wright PROPOSAL3Bernardo Dominic
1026Chavez F GlickIndia2024-06-02Chanay, Jeffrey A Esq RENEWAL86Amy Elsner
1027Silvio I StockhamIndia2024-05-23Dorl, James J Esq PROPOSAL22Xuxue Feng
1028Smith K GarufiFrance2024-05-27Rangoni Of Florence QUALIFIED57Ivan Magalhaes
1029Chavez B RutaUnited Kingdom2024-05-30Chanay, Jeffrey A Esq NEW1Onyama Limba
1030James P MacleadArgentina2024-05-31Dorl, James J Esq PROPOSAL64Stephen Shaw
1031Leja C InouyeItaly2024-05-28Rousseaux, Michael Esq NEGOTIATION29Stephen Shaw
1032Maisha N CaldareraCanada2024-05-30Printing Dimensions RENEWAL40Amy Elsner
1033Emily Y DilliardIndia2024-06-15Commercial Press NEW79Anna Fali
1034Mujtaba N GillianSpain2024-06-05Buckley Miller Wright PROPOSAL2Onyama Limba
1035Leon V RoysterGermany2024-05-26Rousseaux, Michael Esq PROPOSAL59Stephen Shaw
1036Kaitlin G KolmetzArgentina2024-06-02Printing Dimensions UNQUALIFIED87Xuxue Feng
1037Julie V InouyeIndia2024-05-25Morlong Associates NEGOTIATION84Onyama Limba
1038Sinclair D GauchoAustralia2024-06-07Rangoni Of Florence NEGOTIATION74Ivan Magalhaes
1039Greenwood Z BowleyJapan2024-06-15Chemel, James L Cpa NEGOTIATION77Ivan Magalhaes
1040Julie A RimGermany2024-06-08King, Christopher A Esq UNQUALIFIED10Onyama Limba
1041Ivar K ShinkoCanada2024-06-05Chemel, James L Cpa PROPOSAL75Elwin Sharvill
1042Cody K SaylorsItaly2024-05-30Dorl, James J Esq QUALIFIED84Ivan Magalhaes
1043Izzy K BowleyBrazil2024-06-12Printing Dimensions NEGOTIATION84Bernardo Dominic
1044Isabel B FigeroaBrazil2024-05-27Chapman, Ross E Esq PROPOSAL55Anna Fali
1045Jefferson F BowleyItaly2024-06-07Printing Dimensions UNQUALIFIED92Xuxue Feng
1046Stacey N RulapaughUnited Kingdom2024-06-10Chemel, James L Cpa NEGOTIATION53Elwin Sharvill
1047Greenwood W DoeAustralia2024-06-21Commercial Press NEW94Elwin Sharvill
1048Costa K WaycottSpain2024-06-15Truhlar And Truhlar Attys RENEWAL23Ioni Bowcher
1049James G GarufiJapan2024-06-19Rousseaux, Michael Esq QUALIFIED10Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leon W MaletAustraliaAmy Elsner NEGOTIATION
Morrow W PaprockiGermanyBernardo Dominic NEW
Kaitlin Y CaudySpainIvan Magalhaes NEGOTIATION
Mayumi C NickaFranceIoni Bowcher NEW
Julie K GarufiItalyAmy Elsner PROPOSAL
Smith R FigeroaItalyAnna Fali QUALIFIED
Leon H CaudyArgentinaXuxue Feng PROPOSAL
Misaki A SergiGermanyIvan Magalhaes NEGOTIATION
Juan E VenereFranceIvan Magalhaes PROPOSAL
Murillo G StensethRussiaAmy Elsner UNQUALIFIED
Tony W OstroskyAustraliaIvan Magalhaes NEW
Wickens E BowleyFranceIoni Bowcher QUALIFIED
Cody U DoeItalyAsiya Javayant PROPOSAL
Juan P BowleyAustraliaXuxue Feng UNQUALIFIED
Arvin P WaycottSpainAnna Fali UNQUALIFIED
Jones H WaycottAustraliaAsiya Javayant RENEWAL
Aika S StockhamUnited KingdomOnyama Limba UNQUALIFIED
Leon Q SlusarskiArgentinaIvan Magalhaes NEW
Francesco M GillianGermanyAmy Elsner QUALIFIED
Misaki M MaletJapanOnyama Limba PROPOSAL
Jeanfrancois F ButtIndiaStephen Shaw PROPOSAL
Adams T GauchoRussiaAsiya Javayant NEGOTIATION
Cody Q SergiIndiaAsiya Javayant NEW
Mujtaba N DoeIndiaIoni Bowcher NEGOTIATION
Misaki U FlosiAustraliaAmy Elsner NEGOTIATION
Leon T NestleGermanyOnyama Limba NEW
Maria L MacleadUnited KingdomOnyama Limba QUALIFIED
Rodrigues T MacleadUnited KingdomAmy Elsner NEGOTIATION
David H VocelkaGermanyBernardo Dominic RENEWAL
Julie C ChuiGermanyStephen Shaw NEGOTIATION
Cody T OstroskyGermanyIvan Magalhaes UNQUALIFIED
Arvin O VenereBrazilAnna Fali UNQUALIFIED
Costa M FerenczRussiaBernardo Dominic RENEWAL
Johnson G ChuiArgentinaBernardo Dominic NEW
Claire X DoeGermanyIoni Bowcher RENEWAL
Silvio G WieserIndiaIoni Bowcher UNQUALIFIED
Clifford R AmigonJapanAmy Elsner RENEWAL
Chavez K SaylorsGermanyStephen Shaw UNQUALIFIED
Arvin P BowleyCanadaXuxue Feng PROPOSAL
Salvatore I GillianAustraliaElwin Sharvill UNQUALIFIED
Silvio H ButtFranceOnyama Limba PROPOSAL
Smith E RimUnited KingdomAsiya Javayant RENEWAL
Jones O MorascaGermanyAnna Fali NEW
Deepesh B KuskoJapanOnyama Limba QUALIFIED
Kaitlin N OstroskySpainIvan Magalhaes UNQUALIFIED
Deepesh P StensethCanadaAsiya Javayant NEW
Stacey K SchemmerGermanyXuxue Feng RENEWAL
Kaitlin P ButtBrazilStephen Shaw QUALIFIED
Francesco B KuskoIndiaIoni Bowcher RENEWAL
Julie I ChuiFranceAnna Fali PROPOSAL
Frozen Columns
Name
Sinclair L Caudy
Misaki C Ferencz
Alejandro K Oldroyd
Leja I Caudy
Clifford H Glick
Ricardo R Darakjy
Juan W Saylors
Kaitlin O Malet
Faith T Inouye
Sinclair H Slusarski
Isabel O Sergi
David R Inouye
Arvin O Venere
Maria L Oldroyd
Maria E Ruta
Johnson S Rulapaugh
Costa J Nestle
Maisha O Royster
Jennifer S Nicka
Emily N Garufi
Arvin A Maclead
Ricardo C Darakjy
Isabel B Waycott
Juan A Malet
James I Campain
Mujtaba Q Foller
Morrow Z Figeroa
Julie Y Bolognia
Arvin P Morasca
Cody R Vocelka
Alejandro N Amigon
Jefferson P Kusko
Julie F Waycott
Jennifer M Caldarera
Costa B Amigon
Octavia Z Vocelka
Francesco V Darakjy
Misaki L Iturbide
Aditya M Dilliard
Aruna A Sergi
Faith H Kusko
Greenwood F Rulapaugh
Ashley Y Rim
Alejandro Y Stenseth
David J Tollner
Ashley R Doe
Smith C Glick
Julie P Maclead
Leon V Nestle
Darci F Briddick
IdCountryDate
1000Brazil2024-06-13
1001Australia2024-06-14
1002Canada2024-06-19
1003United Kingdom2024-06-16
1004Italy2024-06-04
1005France2024-06-12
1006Japan2024-06-07
1007India2024-06-09
1008India2024-06-06
1009Japan2024-06-11
1010Canada2024-05-27
1011Italy2024-06-12
1012Russia2024-06-09
1013Germany2024-05-29
1014India2024-05-23
1015India2024-05-26
1016Australia2024-06-13
1017Brazil2024-05-25
1018Australia2024-06-08
1019India2024-06-12
1020Brazil2024-06-09
1021Argentina2024-06-08
1022Japan2024-05-27
1023United Kingdom2024-05-27
1024United Kingdom2024-06-07
1025Brazil2024-06-21
1026Canada2024-05-29
1027Brazil2024-06-06
1028United Kingdom2024-06-07
1029India2024-06-05
1030France2024-06-05
1031United Kingdom2024-06-09
1032Brazil2024-06-14
1033India2024-05-27
1034Brazil2024-06-17
1035Japan2024-05-23
1036Italy2024-06-07
1037Japan2024-06-19
1038France2024-06-16
1039Brazil2024-06-09
1040United Kingdom2024-06-02
1041India2024-05-25
1042Argentina2024-05-29
1043Brazil2024-06-19
1044Italy2024-05-29
1045Russia2024-05-28
1046Australia2024-06-02
1047Japan2024-06-16
1048Canada2024-06-15
1049Italy2024-06-17

On-Demand Data

NameIdCountryDate
Stacey H Albares1000Brazil2024-05-26
Adams H Bowley1001Russia2024-06-05
Ricardo Q Stockham1002India2024-06-08
Mujtaba K Bolognia1003Spain2024-06-06
Salvatore T Stenseth1004Canada2024-06-18
Francesco R Kusko1005Japan2024-06-18
Kadeem O Schemmer1006Italy2024-05-26
Kadeem J Rim1007Germany2024-05-24
Arvin M Marrier1008Japan2024-05-25
Adams I Bowley1009Japan2024-05-28
Adams X Perin1010India2024-06-04
Claire E Inouye1011Brazil2024-05-28
James Q Stenseth1012Argentina2024-05-31
Arvin Z Albares1013Argentina2024-06-20
Morrow F Shinko1014France2024-05-29
Chavez K Malet1015Germany2024-06-13
Tony T Dilliard1016India2024-05-29
Maisha F Stenseth1017Canada2024-05-31
Aditya N Waycott1018France2024-06-19
Isabel S Garufi1019United Kingdom2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya S BriddickSpainIvan Magalhaes QUALIFIED
Maria P OstroskyArgentinaElwin Sharvill PROPOSAL
Rodrigues Y OldroydCanadaIvan Magalhaes UNQUALIFIED
Octavia C KolmetzFranceAmy Elsner PROPOSAL
Mayumi Y SaylorsArgentinaElwin Sharvill UNQUALIFIED
Antonio B NickaFranceElwin Sharvill PROPOSAL
Cody E FlosiFranceIoni Bowcher NEW
Mayumi C DilliardFranceXuxue Feng QUALIFIED
Aika I NestleGermanyIvan Magalhaes QUALIFIED
Morrow Y CaudyJapanXuxue Feng NEGOTIATION
Kadeem E GarufiAustraliaElwin Sharvill UNQUALIFIED
Silvio J PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Arvin N MacleadBrazilIoni Bowcher PROPOSAL
Salvatore T RimJapanStephen Shaw QUALIFIED
Aruna G DoeIndiaAnna Fali QUALIFIED
Jones V MaletBrazilAmy Elsner RENEWAL
Chavez A CaudyGermanyAnna Fali RENEWAL
Costa K BriddickCanadaXuxue Feng QUALIFIED
Emily R PoquetteIndiaOnyama Limba NEW
Faith T VenereJapanAnna Fali QUALIFIED
Murillo N RoysterSpainIvan Magalhaes NEGOTIATION
Arvin V GlickGermanyAsiya Javayant NEW
Alejandro O GillianUnited KingdomIoni Bowcher NEGOTIATION
Julie Z SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Aditya E WhobreyIndiaIvan Magalhaes QUALIFIED
Ashley F RutaFranceIoni Bowcher RENEWAL
Tony Z DoeIndiaOnyama Limba QUALIFIED
Jefferson W GarufiItalyIoni Bowcher UNQUALIFIED
Kadeem Q BologniaUnited KingdomStephen Shaw PROPOSAL
Wickens B WieserAustraliaAmy Elsner PROPOSAL
Emily S AmigonItalyAmy Elsner PROPOSAL
Costa Z SergiJapanIvan Magalhaes RENEWAL
Greenwood X DarakjySpainXuxue Feng NEGOTIATION
Mayumi V AlbaresUnited KingdomIvan Magalhaes NEW
Rodrigues W BologniaUnited KingdomAnna Fali NEGOTIATION
Izzy G GauchoJapanStephen Shaw PROPOSAL
Stacey R DilliardBrazilStephen Shaw PROPOSAL
David H GauchoFranceAsiya Javayant RENEWAL
Maria B StockhamItalyStephen Shaw UNQUALIFIED
Maisha N BowleyCanadaAnna Fali 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>