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
Chavez L StensethArgentinaAnna Fali NEW
Cody M KolmetzSpainIoni Bowcher PROPOSAL
Faith T AmigonCanadaIoni Bowcher NEW
Jefferson B BowleyGermanyIvan Magalhaes RENEWAL
Greenwood R SlusarskiAustraliaAnna Fali NEGOTIATION
Silvio J FlosiIndiaIoni Bowcher NEGOTIATION
Tony H WieserBrazilStephen Shaw UNQUALIFIED
Chavez O SaylorsGermanyOnyama Limba UNQUALIFIED
Smith O SchemmerFranceIoni Bowcher QUALIFIED
Ivar O CaudyFranceBernardo Dominic PROPOSAL
Darci Q PerinUnited KingdomXuxue Feng QUALIFIED
Nicolas I BriddickUnited KingdomBernardo Dominic RENEWAL
Juan V DoeUnited KingdomAmy Elsner NEW
Faith L WhobreyAustraliaIoni Bowcher RENEWAL
Mujtaba B IturbideGermanyIvan Magalhaes UNQUALIFIED
Greenwood E TollnerJapanAmy Elsner PROPOSAL
Munro N KolmetzGermanyAsiya Javayant NEGOTIATION
Johnson A AmigonIndiaIvan Magalhaes RENEWAL
Alejandro H MaletIndiaStephen Shaw QUALIFIED
Maisha A MaletBrazilOnyama Limba NEGOTIATION
Deepesh T DarakjyRussiaIvan Magalhaes UNQUALIFIED
Smith M OstroskySpainOnyama Limba QUALIFIED
Jennifer B MorascaCanadaIvan Magalhaes QUALIFIED
Misaki D MacleadFranceOnyama Limba UNQUALIFIED
Maisha M OldroydFranceAsiya Javayant RENEWAL
Aruna M StensethArgentinaStephen Shaw QUALIFIED
Francesco T ShinkoAustraliaAsiya Javayant UNQUALIFIED
Aruna N KuskoUnited KingdomIoni Bowcher PROPOSAL
Octavia A VocelkaCanadaAsiya Javayant UNQUALIFIED
Jones N PerinUnited KingdomIvan Magalhaes NEW
Silvio Y OstroskyArgentinaIvan Magalhaes PROPOSAL
Leon B NestleRussiaBernardo Dominic QUALIFIED
Salvatore S BologniaGermanyXuxue Feng PROPOSAL
Jones S FollerFranceXuxue Feng NEW
Rodrigues F BologniaCanadaIvan Magalhaes PROPOSAL
Murillo M PerinGermanyIvan Magalhaes NEGOTIATION
Deepesh K SlusarskiUnited KingdomAnna Fali NEW
Octavia T NickaRussiaElwin Sharvill UNQUALIFIED
Leja R CaldareraGermanyIvan Magalhaes NEGOTIATION
Alejandro F DilliardArgentinaAsiya Javayant RENEWAL
Kaitlin E WaycottFranceIvan Magalhaes NEW
Izzy K KolmetzRussiaAnna Fali UNQUALIFIED
Leon S StensethJapanOnyama Limba PROPOSAL
Ashley B SchemmerFranceElwin Sharvill PROPOSAL
Chavez Q SergiArgentinaIoni Bowcher NEGOTIATION
Antonio W VocelkaJapanXuxue Feng NEW
Antonio N WhobreyAustraliaElwin Sharvill PROPOSAL
Chavez P GarufiAustraliaAnna Fali QUALIFIED
James N FigeroaArgentinaAnna Fali PROPOSAL
Sinclair N VocelkaIndiaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer S RutaCanadaStephen Shaw NEW
Jeanfrancois D CaudyItalyXuxue Feng NEW
Arvin U AlbaresRussiaOnyama Limba PROPOSAL
Cody T GauchoRussiaAmy Elsner QUALIFIED
Wickens T RoysterIndiaBernardo Dominic NEGOTIATION
Aruna I BriddickRussiaBernardo Dominic NEGOTIATION
David E CaldareraCanadaAnna Fali NEW
Greenwood T RoysterItalyElwin Sharvill UNQUALIFIED
Tony Z MaletBrazilXuxue Feng PROPOSAL
Ricardo V NickaJapanIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith U ChuiRussia2024-05-23Printing Dimensions NEW16Onyama Limba
1001Octavia T FlosiArgentina2024-05-26Feiner Bros RENEWAL33Asiya Javayant
1002Leon W BriddickSpain2024-05-24Chapman, Ross E Esq RENEWAL80Amy Elsner
1003Arvin N OstroskySpain2024-06-18Buckley Miller Wright NEGOTIATION61Onyama Limba
1004Murillo M OstroskyBrazil2024-06-01Benton, John B Jr PROPOSAL42Xuxue Feng
1005Wickens Q RulapaughGermany2024-06-14Chanay, Jeffrey A Esq NEGOTIATION47Asiya Javayant
1006Kaitlin I PoquetteFrance2024-06-04Benton, John B Jr RENEWAL37Ioni Bowcher
1007Munro N SlusarskiFrance2024-05-26Buckley Miller Wright UNQUALIFIED86Ioni Bowcher
1008Izzy W DilliardArgentina2024-05-24Chapman, Ross E Esq PROPOSAL8Stephen Shaw
1009Maria M WhobreyGermany2024-06-10Printing Dimensions RENEWAL69Asiya Javayant
1010Leon U WaycottUnited Kingdom2024-05-25Chanay, Jeffrey A Esq RENEWAL63Asiya Javayant
1011Ricardo N OstroskyCanada2024-06-02Buckley Miller Wright NEGOTIATION73Asiya Javayant
1012Misaki T RulapaughAustralia2024-06-02Rousseaux, Michael Esq QUALIFIED38Anna Fali
1013David X MorascaSpain2024-06-03Chemel, James L Cpa NEW84Elwin Sharvill
1014Misaki A KolmetzAustralia2024-06-09Feltz Printing Service UNQUALIFIED47Bernardo Dominic
1015Jennifer I MaletArgentina2024-06-08Dorl, James J Esq NEW10Ioni Bowcher
1016Murillo A VocelkaArgentina2024-06-06Commercial Press NEGOTIATION56Ivan Magalhaes
1017Claire U GillianBrazil2024-06-19Truhlar And Truhlar Attys UNQUALIFIED70Xuxue Feng
1018Mayumi Y VocelkaRussia2024-06-02Chemel, James L Cpa QUALIFIED89Amy Elsner
1019Isabel V RulapaughSpain2024-05-28King, Christopher A Esq NEW97Xuxue Feng
1020David I InouyeFrance2024-05-30Rousseaux, Michael Esq NEGOTIATION42Xuxue Feng
1021Munro U BriddickBrazil2024-05-27Morlong Associates UNQUALIFIED56Asiya Javayant
1022Mujtaba C OstroskyCanada2024-06-04Chemel, James L Cpa NEGOTIATION74Elwin Sharvill
1023Clifford P VenereUnited Kingdom2024-06-12Benton, John B Jr UNQUALIFIED31Anna Fali
1024Silvio C CampainItaly2024-06-11Rousseaux, Michael Esq UNQUALIFIED62Asiya Javayant
1025Salvatore G FigeroaGermany2024-05-26Benton, John B Jr RENEWAL24Bernardo Dominic
1026Sinclair W SaylorsIndia2024-06-11Truhlar And Truhlar Attys QUALIFIED32Stephen Shaw
1027Morrow Z FollerItaly2024-06-17Feiner Bros QUALIFIED61Ivan Magalhaes
1028Leja G SchemmerJapan2024-06-11Rangoni Of Florence UNQUALIFIED96Asiya Javayant
1029Francesco F StensethIndia2024-05-24Commercial Press QUALIFIED30Xuxue Feng
1030Chavez V StockhamArgentina2024-05-29Feltz Printing Service UNQUALIFIED80Anna Fali
1031Jeanfrancois E FollerBrazil2024-06-16Feltz Printing Service UNQUALIFIED98Elwin Sharvill
1032Maria S KuskoFrance2024-05-27Printing Dimensions PROPOSAL49Elwin Sharvill
1033Mujtaba G FerenczJapan2024-05-28Morlong Associates UNQUALIFIED86Bernardo Dominic
1034Claire P PerinJapan2024-06-21Chapman, Ross E Esq PROPOSAL7Onyama Limba
1035Maria W FlosiUnited Kingdom2024-05-25Rangoni Of Florence QUALIFIED30Elwin Sharvill
1036David I MaletUnited Kingdom2024-06-18Rangoni Of Florence UNQUALIFIED14Onyama Limba
1037Kadeem A RimSpain2024-05-27Chapman, Ross E Esq NEGOTIATION23Asiya Javayant
1038Darci P DarakjyIndia2024-06-14Benton, John B Jr NEW17Ivan Magalhaes
1039Maisha D GillianRussia2024-06-02Buckley Miller Wright RENEWAL30Ivan Magalhaes
1040Smith O AmigonFrance2024-06-12Chanay, Jeffrey A Esq NEGOTIATION17Xuxue Feng
1041Wickens V NickaArgentina2024-06-16King, Christopher A Esq PROPOSAL78Asiya Javayant
1042Adams T FigeroaCanada2024-06-08Chanay, Jeffrey A Esq QUALIFIED89Bernardo Dominic
1043Darci S DilliardIndia2024-06-15Chanay, Jeffrey A Esq NEGOTIATION99Elwin Sharvill
1044Kadeem P FlosiJapan2024-06-06King, Christopher A Esq UNQUALIFIED86Amy Elsner
1045Costa C ButtFrance2024-06-20Dorl, James J Esq PROPOSAL59Onyama Limba
1046Chavez M GlickRussia2024-06-01Rangoni Of Florence RENEWAL61Bernardo Dominic
1047Leja P FollerCanada2024-06-06Buckley Miller Wright QUALIFIED45Elwin Sharvill
1048Ivar C ShinkoSpain2024-06-07Benton, John B Jr UNQUALIFIED58Asiya Javayant
1049Leja P ButtGermany2024-06-08Truhlar And Truhlar Attys NEGOTIATION23Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leja M BowleyItalyAsiya Javayant PROPOSAL
Clifford B SlusarskiSpainAsiya Javayant NEGOTIATION
Aruna E NestleSpainXuxue Feng NEGOTIATION
Deepesh Q GarufiBrazilAsiya Javayant PROPOSAL
Greenwood V ChuiFranceIoni Bowcher NEGOTIATION
Kadeem O RimSpainAmy Elsner PROPOSAL
Ivar G SaylorsGermanyIoni Bowcher NEGOTIATION
Aditya T MorascaCanadaIoni Bowcher NEW
Murillo C IturbideSpainAmy Elsner RENEWAL
Rodrigues Q GlickArgentinaIoni Bowcher QUALIFIED
Mayumi R TollnerJapanBernardo Dominic NEW
Greenwood O OstroskyBrazilXuxue Feng NEW
Alejandro H WieserBrazilStephen Shaw UNQUALIFIED
Cody S VocelkaRussiaIvan Magalhaes PROPOSAL
Mayumi B SchemmerSpainBernardo Dominic RENEWAL
Ricardo F GillianItalyStephen Shaw PROPOSAL
Stacey A BriddickFranceAnna Fali NEGOTIATION
Tony T SlusarskiArgentinaOnyama Limba RENEWAL
Murillo J BologniaGermanyBernardo Dominic RENEWAL
Claire D SaylorsGermanyAsiya Javayant PROPOSAL
Aditya F SchemmerItalyAnna Fali NEGOTIATION
Claire Q RutaItalyAsiya Javayant RENEWAL
Maisha I PaprockiItalyIoni Bowcher NEW
Clifford Y MarrierIndiaIoni Bowcher QUALIFIED
Claire Y BologniaFranceIoni Bowcher QUALIFIED
Clifford F GillianArgentinaIvan Magalhaes QUALIFIED
Misaki F MacleadItalyIoni Bowcher NEW
Claire T MaletItalyBernardo Dominic UNQUALIFIED
Morrow S StockhamGermanyXuxue Feng PROPOSAL
Stacey L OstroskyItalyBernardo Dominic NEGOTIATION
Adams G DoeItalyIoni Bowcher RENEWAL
Kaitlin K MarrierGermanyAsiya Javayant PROPOSAL
Claire P GarufiRussiaIoni Bowcher UNQUALIFIED
Johnson R CaldareraAustraliaOnyama Limba QUALIFIED
Octavia T InouyeGermanyStephen Shaw PROPOSAL
Mayumi W MorascaIndiaElwin Sharvill RENEWAL
Greenwood G CaudyRussiaStephen Shaw QUALIFIED
Nicolas V MacleadSpainXuxue Feng RENEWAL
Murillo U AmigonJapanAmy Elsner NEW
David A CaldareraSpainStephen Shaw QUALIFIED
Alejandro H TollnerAustraliaIoni Bowcher PROPOSAL
Ricardo G KuskoArgentinaElwin Sharvill NEW
Chavez U PerinGermanyAsiya Javayant NEGOTIATION
Isabel K DarakjyJapanXuxue Feng QUALIFIED
Octavia W PoquetteGermanyIvan Magalhaes NEGOTIATION
Smith X BowleyAustraliaAmy Elsner NEW
Jones I PoquetteSpainBernardo Dominic NEW
Arvin J RulapaughItalyIoni Bowcher UNQUALIFIED
Aditya C SchemmerGermanyAnna Fali UNQUALIFIED
Alejandro U OldroydArgentinaElwin Sharvill NEW
Frozen Columns
Name
Kadeem J Marrier
Rodrigues M Darakjy
Nicolas H Whobrey
Munro H Darakjy
David G Malet
Adams L Waycott
Morrow R Gillian
Stacey P Garufi
Adams H Figeroa
Adams Q Royster
Isabel C Briddick
Isabel F Albares
Adams V Slusarski
Deepesh Y Stockham
Kaitlin U Tollner
Wickens F Butt
Jefferson O Oldroyd
Cody M Venere
Clifford Y Slusarski
Aditya G Briddick
Stacey P Glick
Costa H Kusko
Chavez Y Shinko
James R Gaucho
Johnson R Oldroyd
Chavez K Sergi
Clifford M Glick
Octavia A Figeroa
Faith U Gillian
Kadeem Q Caldarera
Ivar J Vocelka
Emily M Stenseth
Mujtaba R Albares
Juan Q Ferencz
Aika C Paprocki
Leja V Gaucho
Claire H Nicka
Octavia P Inouye
Jones U Inouye
Aika E Malet
Tony P Inouye
Arvin T Darakjy
Ashley B Bowley
Stacey Z Kusko
Nicolas I Saylors
Isabel T Stockham
Misaki S Waycott
Silvio X Garufi
Nicolas T Ruta
Kadeem J Schemmer
IdCountryDate
1000Italy2024-05-23
1001Spain2024-06-17
1002Russia2024-05-23
1003Spain2024-06-18
1004United Kingdom2024-06-10
1005Italy2024-05-27
1006Germany2024-05-30
1007Russia2024-05-27
1008Brazil2024-06-09
1009Brazil2024-06-09
1010India2024-05-23
1011India2024-06-11
1012Spain2024-06-10
1013Russia2024-05-26
1014Australia2024-06-19
1015Argentina2024-06-07
1016Argentina2024-05-28
1017India2024-06-18
1018Japan2024-05-28
1019Japan2024-05-30
1020Japan2024-06-08
1021Australia2024-06-15
1022Japan2024-06-15
1023Australia2024-06-18
1024Italy2024-05-28
1025Japan2024-06-20
1026Argentina2024-06-16
1027Argentina2024-06-13
1028Canada2024-06-01
1029Australia2024-05-27
1030Spain2024-05-24
1031Japan2024-06-20
1032India2024-06-10
1033Argentina2024-06-04
1034Canada2024-05-31
1035Spain2024-06-01
1036France2024-06-02
1037Brazil2024-06-20
1038Russia2024-05-26
1039Australia2024-06-13
1040India2024-06-02
1041Australia2024-06-17
1042Australia2024-05-26
1043Germany2024-06-09
1044France2024-06-01
1045Italy2024-05-27
1046India2024-06-20
1047Spain2024-06-16
1048Russia2024-06-05
1049Canada2024-06-15

On-Demand Data

NameIdCountryDate
Faith O Stenseth1000Argentina2024-06-10
Kaitlin E Saylors1001Italy2024-06-06
Smith O Campain1002Argentina2024-06-04
Ivar O Bowley1003Germany2024-05-26
Ricardo U Tollner1004Canada2024-06-15
Aika T Inouye1005Spain2024-06-06
Cody U Gillian1006Brazil2024-06-19
Leon D Paprocki1007Japan2024-06-07
Adams A Nicka1008Australia2024-06-09
Leja P Flosi1009Germany2024-06-09
Antonio Y Amigon1010India2024-06-09
Stacey H Chui1011France2024-05-31
Alejandro P Gillian1012Canada2024-06-18
Claire M Darakjy1013Argentina2024-05-26
Isabel R Kusko1014United Kingdom2024-06-02
Smith I Flosi1015Canada2024-05-30
Salvatore N Dilliard1016India2024-06-07
Antonio S Waycott1017Russia2024-06-21
Murillo R Dilliard1018Spain2024-06-14
Costa C Ostrosky1019Germany2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy X PoquetteRussiaIoni Bowcher NEGOTIATION
Ivar B GauchoSpainBernardo Dominic NEW
Maria D DilliardIndiaAsiya Javayant RENEWAL
Cody S NestleItalyAnna Fali RENEWAL
Kaitlin C RutaUnited KingdomAmy Elsner UNQUALIFIED
Jefferson D WieserRussiaBernardo Dominic UNQUALIFIED
Aika O CampainGermanyStephen Shaw PROPOSAL
Jones W MaletFranceAnna Fali UNQUALIFIED
Mayumi T IturbideSpainXuxue Feng NEW
David S NickaAustraliaOnyama Limba RENEWAL
Julie T OldroydAustraliaAnna Fali UNQUALIFIED
Arvin K RutaIndiaXuxue Feng NEW
James Q PerinRussiaIoni Bowcher UNQUALIFIED
Juan Q DarakjyAustraliaIoni Bowcher QUALIFIED
Mayumi Z DarakjyCanadaAsiya Javayant NEW
Juan J InouyeJapanOnyama Limba RENEWAL
Leon M RoysterJapanAmy Elsner PROPOSAL
Juan P KolmetzAustraliaIvan Magalhaes QUALIFIED
Antonio O AlbaresAustraliaOnyama Limba PROPOSAL
Isabel X StensethItalyAmy Elsner RENEWAL
Emily E RulapaughBrazilAnna Fali RENEWAL
Claire M NestleCanadaAsiya Javayant NEGOTIATION
Arvin X KolmetzArgentinaXuxue Feng PROPOSAL
Munro W CaudyFranceAmy Elsner RENEWAL
Misaki V RutaCanadaAnna Fali PROPOSAL
Arvin A VenereArgentinaAmy Elsner NEW
Claire I NickaArgentinaIoni Bowcher UNQUALIFIED
Kaitlin F GillianAustraliaAnna Fali UNQUALIFIED
Aika F ShinkoArgentinaElwin Sharvill QUALIFIED
Sinclair K AmigonJapanAsiya Javayant NEW
Costa O RutaAustraliaElwin Sharvill NEW
Munro V VocelkaSpainXuxue Feng QUALIFIED
Rodrigues B BowleyItalyOnyama Limba RENEWAL
Maria R NickaCanadaStephen Shaw PROPOSAL
Salvatore D BologniaAustraliaAmy Elsner QUALIFIED
Munro R StockhamRussiaIvan Magalhaes RENEWAL
Octavia I KuskoUnited KingdomOnyama Limba RENEWAL
Tony Q MorascaItalyStephen Shaw NEW
Jones J AlbaresRussiaElwin Sharvill PROPOSAL
Maisha A MacleadIndiaAsiya Javayant PROPOSAL

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