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
Leon L MacleadItalyStephen Shaw UNQUALIFIED
Claire Y PaprockiArgentinaAmy Elsner PROPOSAL
Cody P SlusarskiFranceElwin Sharvill NEW
Mujtaba E SlusarskiIndiaAsiya Javayant UNQUALIFIED
Leon R VocelkaRussiaOnyama Limba RENEWAL
Johnson F FollerGermanyOnyama Limba UNQUALIFIED
Ashley J ButtCanadaStephen Shaw NEW
Isabel I GlickFranceAnna Fali UNQUALIFIED
Arvin H CaldareraJapanOnyama Limba RENEWAL
Ashley W DoeFranceElwin Sharvill QUALIFIED
Rodrigues I FollerAustraliaBernardo Dominic NEGOTIATION
Smith G BologniaCanadaStephen Shaw NEW
Johnson H ShinkoItalyXuxue Feng PROPOSAL
Leja T ButtAustraliaIoni Bowcher PROPOSAL
Alejandro F ShinkoSpainIoni Bowcher UNQUALIFIED
Alejandro B StensethGermanyBernardo Dominic UNQUALIFIED
Jefferson U NickaBrazilIoni Bowcher NEW
Sinclair V InouyeSpainIoni Bowcher NEGOTIATION
Murillo N WaycottSpainXuxue Feng PROPOSAL
Smith B NestleArgentinaIvan Magalhaes QUALIFIED
Jones O MaletFranceBernardo Dominic NEGOTIATION
Clifford M GarufiCanadaIvan Magalhaes NEGOTIATION
Chavez Y MarrierRussiaAmy Elsner PROPOSAL
Julie J VocelkaRussiaAnna Fali NEGOTIATION
Darci L GarufiJapanIvan Magalhaes PROPOSAL
Chavez X FlosiArgentinaIoni Bowcher NEGOTIATION
Greenwood T SlusarskiArgentinaOnyama Limba NEGOTIATION
Johnson D OldroydArgentinaOnyama Limba NEGOTIATION
Greenwood W AmigonArgentinaAsiya Javayant NEW
Salvatore A NickaArgentinaIvan Magalhaes QUALIFIED
Claire Z ButtItalyAmy Elsner RENEWAL
Jones P SchemmerItalyStephen Shaw RENEWAL
Jefferson M StockhamSpainXuxue Feng RENEWAL
Jefferson L BologniaSpainAsiya Javayant NEGOTIATION
Greenwood L BriddickBrazilOnyama Limba UNQUALIFIED
Kadeem W DilliardRussiaStephen Shaw UNQUALIFIED
Arvin J TollnerFranceAnna Fali RENEWAL
Leon D FerenczJapanIvan Magalhaes QUALIFIED
Arvin E BowleyArgentinaIoni Bowcher UNQUALIFIED
Chavez V GarufiArgentinaAmy Elsner PROPOSAL
Cody I IturbideRussiaIoni Bowcher NEW
Cody F GarufiSpainIoni Bowcher QUALIFIED
Ashley E FigeroaFranceIoni Bowcher PROPOSAL
Leja U SchemmerFranceOnyama Limba NEGOTIATION
Chavez J TollnerUnited KingdomOnyama Limba NEW
Aditya T BriddickAustraliaBernardo Dominic NEGOTIATION
Cody V DoeFranceBernardo Dominic RENEWAL
Deepesh L DilliardBrazilXuxue Feng NEW
Chavez A MarrierBrazilAmy Elsner PROPOSAL
Leon U CaudyArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Izzy N KuskoSpainXuxue Feng RENEWAL
Emily Z BowleyGermanyElwin Sharvill NEW
Octavia C InouyeCanadaElwin Sharvill NEGOTIATION
Murillo A KuskoFranceStephen Shaw NEGOTIATION
Maria M SchemmerArgentinaStephen Shaw NEGOTIATION
Leja B MaletCanadaAsiya Javayant QUALIFIED
Ashley R MorascaRussiaBernardo Dominic NEGOTIATION
Rodrigues Y RutaGermanyIoni Bowcher NEW
Mayumi U IturbideCanadaAnna Fali UNQUALIFIED
Maria U DarakjyUnited KingdomIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams G MorascaItaly2025-04-29Truhlar And Truhlar Attys QUALIFIED74Bernardo Dominic
1001Wickens V CaldareraIndia2025-04-08Dorl, James J Esq NEW17Amy Elsner
1002Darci K AlbaresSpain2025-04-17Feiner Bros UNQUALIFIED6Ivan Magalhaes
1003Chavez Q CaldareraItaly2025-04-19Rangoni Of Florence QUALIFIED74Xuxue Feng
1004Clifford W VenereItaly2025-04-19King, Christopher A Esq UNQUALIFIED65Bernardo Dominic
1005Jennifer L RulapaughSpain2025-04-28Feiner Bros UNQUALIFIED80Elwin Sharvill
1006Sinclair L VocelkaUnited Kingdom2025-04-16Feltz Printing Service NEGOTIATION38Ioni Bowcher
1007Rodrigues V GarufiItaly2025-04-26Rangoni Of Florence NEGOTIATION42Ivan Magalhaes
1008Clifford L DoeSpain2025-04-29Morlong Associates PROPOSAL4Amy Elsner
1009Octavia C GillianItaly2025-04-26Chanay, Jeffrey A Esq NEW42Ioni Bowcher
1010Kaitlin C SergiCanada2025-04-22Printing Dimensions RENEWAL94Asiya Javayant
1011James G DarakjySpain2025-04-28Morlong Associates RENEWAL62Amy Elsner
1012Wickens Q FerenczSpain2025-04-19Truhlar And Truhlar Attys UNQUALIFIED49Asiya Javayant
1013Jeanfrancois U SergiItaly2025-04-23Feltz Printing Service RENEWAL37Xuxue Feng
1014Tony Y CampainBrazil2025-04-01Rousseaux, Michael Esq NEGOTIATION40Elwin Sharvill
1015Arvin J StensethIndia2025-04-03Commercial Press NEW5Stephen Shaw
1016Rodrigues M CampainItaly2025-04-19Benton, John B Jr NEW68Amy Elsner
1017Clifford H SlusarskiIndia2025-04-07Rousseaux, Michael Esq QUALIFIED69Ioni Bowcher
1018Leja M FerenczRussia2025-04-03Buckley Miller Wright UNQUALIFIED12Amy Elsner
1019Juan D PoquetteGermany2025-04-07Commercial Press PROPOSAL22Anna Fali
1020Juan F RulapaughBrazil2025-04-26Rousseaux, Michael Esq NEW97Xuxue Feng
1021Arvin S VocelkaFrance2025-04-30Truhlar And Truhlar Attys RENEWAL52Anna Fali
1022Leja I FollerGermany2025-04-03Chanay, Jeffrey A Esq NEGOTIATION38Amy Elsner
1023Mayumi M KuskoAustralia2025-04-16Commercial Press RENEWAL2Elwin Sharvill
1024Sinclair V SergiUnited Kingdom2025-04-26Feltz Printing Service NEGOTIATION1Asiya Javayant
1025Juan F InouyeItaly2025-04-01Buckley Miller Wright NEW4Ivan Magalhaes
1026Rodrigues H MaletRussia2025-04-13Feiner Bros NEW67Amy Elsner
1027Julie C WhobreyFrance2025-04-13Commercial Press UNQUALIFIED80Ioni Bowcher
1028Emily Q RimItaly2025-04-17Benton, John B Jr RENEWAL68Ivan Magalhaes
1029Murillo Q NickaRussia2025-04-28Morlong Associates PROPOSAL70Ioni Bowcher
1030Silvio F ButtIndia2025-04-08Chanay, Jeffrey A Esq RENEWAL3Elwin Sharvill
1031Stacey B AlbaresFrance2025-04-30Benton, John B Jr QUALIFIED24Bernardo Dominic
1032Chavez P MorascaGermany2025-04-13Benton, John B Jr NEGOTIATION36Asiya Javayant
1033Costa E NestleArgentina2025-04-12Morlong Associates NEGOTIATION2Asiya Javayant
1034Darci M DoeJapan2025-04-10Printing Dimensions UNQUALIFIED44Stephen Shaw
1035Munro D FerenczFrance2025-04-09Commercial Press QUALIFIED94Amy Elsner
1036Francesco R RutaBrazil2025-04-09Buckley Miller Wright RENEWAL48Ioni Bowcher
1037Mujtaba R MorascaIndia2025-04-13Morlong Associates NEGOTIATION33Bernardo Dominic
1038Julie K SergiGermany2025-04-21Commercial Press PROPOSAL22Elwin Sharvill
1039Chavez E MaletItaly2025-04-03Buckley Miller Wright PROPOSAL68Asiya Javayant
1040Jones R IturbideFrance2025-04-20Dorl, James J Esq PROPOSAL31Bernardo Dominic
1041Tony B RutaUnited Kingdom2025-04-14Printing Dimensions NEW87Elwin Sharvill
1042Francesco W OstroskyAustralia2025-04-03King, Christopher A Esq QUALIFIED13Elwin Sharvill
1043Jeanfrancois K WaycottRussia2025-04-01Buckley Miller Wright RENEWAL0Anna Fali
1044Jones K FigeroaItaly2025-04-05Rousseaux, Michael Esq NEGOTIATION78Onyama Limba
1045Rodrigues M DilliardSpain2025-04-08Rangoni Of Florence QUALIFIED32Ioni Bowcher
1046Aditya P MarrierGermany2025-04-02Benton, John B Jr QUALIFIED41Asiya Javayant
1047Kadeem G GauchoUnited Kingdom2025-04-29Chanay, Jeffrey A Esq PROPOSAL26Bernardo Dominic
1048Mujtaba N BriddickUnited Kingdom2025-04-27Feltz Printing Service PROPOSAL69Ivan Magalhaes
1049Jeanfrancois O GlickRussia2025-04-06Feltz Printing Service UNQUALIFIED17Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey I WaycottJapanIvan Magalhaes PROPOSAL
James T BriddickJapanBernardo Dominic PROPOSAL
Wickens E OstroskyJapanOnyama Limba NEGOTIATION
James V OldroydFranceStephen Shaw NEGOTIATION
Adams Q VenereJapanIoni Bowcher NEGOTIATION
Jefferson X NickaRussiaAmy Elsner UNQUALIFIED
Jefferson D SchemmerCanadaAmy Elsner UNQUALIFIED
Francesco B FigeroaIndiaAmy Elsner PROPOSAL
Costa P PaprockiJapanIoni Bowcher NEW
Antonio I DarakjyGermanyAsiya Javayant NEGOTIATION
Deepesh Z WaycottIndiaBernardo Dominic QUALIFIED
Deepesh T KuskoArgentinaIvan Magalhaes NEGOTIATION
Wickens Q VocelkaGermanyIvan Magalhaes PROPOSAL
Isabel B CaudyCanadaBernardo Dominic NEW
Aruna V FerenczSpainElwin Sharvill QUALIFIED
Arvin R SaylorsBrazilElwin Sharvill NEGOTIATION
Kadeem C InouyeAustraliaElwin Sharvill PROPOSAL
Cody B IturbideAustraliaElwin Sharvill QUALIFIED
Kadeem W RulapaughItalyBernardo Dominic QUALIFIED
Julie F SchemmerSpainBernardo Dominic QUALIFIED
Munro K ChuiUnited KingdomIoni Bowcher NEGOTIATION
Jefferson K RimBrazilAnna Fali QUALIFIED
Mayumi B MorascaSpainIoni Bowcher RENEWAL
Jones X RoysterGermanyStephen Shaw PROPOSAL
Murillo W OldroydAustraliaXuxue Feng UNQUALIFIED
Nicolas I MaletItalyBernardo Dominic RENEWAL
Murillo U GarufiFranceXuxue Feng NEGOTIATION
Emily O TollnerJapanAnna Fali PROPOSAL
Izzy A FollerAustraliaXuxue Feng RENEWAL
Morrow D SergiRussiaStephen Shaw UNQUALIFIED
Izzy Y MaletUnited KingdomElwin Sharvill UNQUALIFIED
Wickens Z AmigonJapanIvan Magalhaes NEGOTIATION
Costa G DilliardFranceAnna Fali RENEWAL
Stacey N MaletCanadaAsiya Javayant UNQUALIFIED
Faith C AlbaresItalyAmy Elsner PROPOSAL
Jefferson S KolmetzAustraliaIoni Bowcher UNQUALIFIED
Maisha R AmigonRussiaStephen Shaw UNQUALIFIED
Stacey Y CaudyItalyStephen Shaw UNQUALIFIED
Munro V BriddickSpainAsiya Javayant QUALIFIED
Costa Y FollerRussiaAmy Elsner NEGOTIATION
Smith D WhobreyItalyOnyama Limba QUALIFIED
Aika U SlusarskiIndiaBernardo Dominic NEW
Ricardo V WieserGermanyAsiya Javayant QUALIFIED
Leja C FlosiItalyAsiya Javayant NEW
Misaki C BowleyArgentinaAmy Elsner RENEWAL
Sinclair J AmigonJapanAsiya Javayant RENEWAL
Murillo X RutaAustraliaAnna Fali PROPOSAL
Smith F BowleySpainIvan Magalhaes QUALIFIED
Ivar J GlickBrazilAnna Fali UNQUALIFIED
Jones V WieserAustraliaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Clifford V Slusarski
Francesco P Malet
Mujtaba L Glick
Faith X Gillian
Kaitlin P Flosi
Maria Q Figeroa
Chavez T Nestle
Munro R Gaucho
Misaki U Perin
Rodrigues L Doe
Wickens F Bowley
Adams D Glick
Wickens I Doe
Isabel S Glick
Antonio X Gillian
Kaitlin J Chui
Ashley F Glick
Kadeem V Glick
Leon M Kusko
Ivar Q Iturbide
Cody N Darakjy
Misaki O Briddick
Faith L Slusarski
Sinclair I Poquette
Francesco I Sergi
Sinclair R Kusko
Francesco K Rulapaugh
Antonio Y Amigon
Faith W Tollner
Maria B Inouye
Johnson B Garufi
Clifford J Bolognia
Costa A Malet
Tony R Poquette
Adams T Iturbide
Kaitlin X Shinko
Leon C Rim
Aruna X Caldarera
Leon A Albares
Faith P Butt
Chavez U Rulapaugh
Stacey K Glick
Jeanfrancois H Stockham
Adams J Slusarski
Leja A Stockham
Sinclair X Slusarski
Salvatore Y Stockham
Julie F Nestle
Adams H Morasca
Rodrigues I Glick
IdCountryDate
1000India2025-04-28
1001Australia2025-04-01
1002Russia2025-04-17
1003Spain2025-04-19
1004United Kingdom2025-04-19
1005India2025-04-01
1006Australia2025-04-26
1007Canada2025-04-18
1008Australia2025-04-14
1009United Kingdom2025-04-21
1010Australia2025-04-16
1011Brazil2025-04-16
1012Spain2025-04-19
1013Russia2025-04-22
1014Brazil2025-04-09
1015Brazil2025-04-14
1016United Kingdom2025-04-07
1017Russia2025-04-21
1018Canada2025-04-29
1019United Kingdom2025-04-23
1020Argentina2025-04-02
1021Japan2025-04-15
1022India2025-04-25
1023India2025-04-24
1024France2025-04-02
1025Germany2025-04-05
1026Japan2025-04-24
1027Australia2025-04-18
1028Russia2025-04-12
1029Japan2025-04-28
1030Australia2025-04-28
1031Argentina2025-04-22
1032Canada2025-04-14
1033Australia2025-04-26
1034France2025-04-30
1035Australia2025-04-16
1036India2025-04-19
1037Japan2025-04-30
1038Germany2025-04-19
1039Spain2025-04-13
1040Russia2025-04-15
1041Canada2025-04-05
1042Argentina2025-04-28
1043France2025-04-28
1044France2025-04-03
1045Japan2025-04-15
1046Spain2025-04-13
1047Germany2025-04-15
1048Russia2025-04-20
1049India2025-04-18

On-Demand Data

NameIdCountryDate
Johnson G Kolmetz1000United Kingdom2025-04-04
Salvatore O Flosi1001Canada2025-04-12
Francesco K Rulapaugh1002Italy2025-04-21
Morrow V Royster1003Argentina2025-04-20
Misaki Z Tollner1004Canada2025-04-02
Munro U Paprocki1005Germany2025-04-10
Ricardo W Gaucho1006Germany2025-04-27
Isabel U Venere1007Germany2025-04-30
Ashley Y Paprocki1008Spain2025-04-30
Cody B Caldarera1009Canada2025-04-03
Jennifer U Oldroyd1010France2025-04-25
Ricardo R Briddick1011Argentina2025-04-24
Clifford M Whobrey1012Australia2025-04-09
Octavia C Iturbide1013Russia2025-04-13
Murillo T Poquette1014Russia2025-04-21
Alejandro P Dilliard1015Australia2025-04-26
Clifford F Malet1016France2025-04-18
Ashley I Chui1017United Kingdom2025-04-08
Aruna D Poquette1018Australia2025-04-15
Silvio U Kolmetz1019Canada2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro E VocelkaArgentinaIvan Magalhaes NEW
Leja G DoeItalyIvan Magalhaes QUALIFIED
Aruna S OldroydCanadaAmy Elsner UNQUALIFIED
Greenwood V GillianItalyIoni Bowcher RENEWAL
Deepesh L RoysterIndiaOnyama Limba RENEWAL
Maria X FerenczGermanyIoni Bowcher QUALIFIED
Maria K NickaIndiaIoni Bowcher RENEWAL
Salvatore A WhobreyGermanyAnna Fali QUALIFIED
Greenwood X PaprockiCanadaBernardo Dominic UNQUALIFIED
Emily A GillianBrazilAsiya Javayant NEGOTIATION
Arvin U RoysterArgentinaAsiya Javayant UNQUALIFIED
Antonio D StockhamSpainIvan Magalhaes RENEWAL
Jennifer B VenereIndiaOnyama Limba NEW
Leja M ButtArgentinaStephen Shaw PROPOSAL
Claire I FlosiJapanBernardo Dominic NEGOTIATION
Cody S MacleadItalyXuxue Feng NEW
Chavez M MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Leon I FigeroaRussiaOnyama Limba NEW
David F IturbideAustraliaAnna Fali PROPOSAL
Murillo Z PaprockiItalyIoni Bowcher NEGOTIATION
Aika S OstroskyJapanIoni Bowcher NEGOTIATION
Juan W SlusarskiGermanyIvan Magalhaes NEGOTIATION
Mujtaba M BologniaAustraliaElwin Sharvill QUALIFIED
Izzy D WaycottUnited KingdomAmy Elsner PROPOSAL
Francesco J CaldareraUnited KingdomIvan Magalhaes NEW
David N WieserBrazilIoni Bowcher PROPOSAL
Arvin X SchemmerBrazilStephen Shaw PROPOSAL
Silvio L SlusarskiRussiaElwin Sharvill QUALIFIED
Ivar G PaprockiItalyAnna Fali QUALIFIED
Tony T WhobreyItalyStephen Shaw NEGOTIATION
Mayumi J SaylorsBrazilElwin Sharvill NEW
Jennifer P GarufiAustraliaOnyama Limba PROPOSAL
Ashley S PaprockiCanadaOnyama Limba PROPOSAL
Ashley P StensethFranceAnna Fali NEGOTIATION
Costa M CaudyJapanElwin Sharvill PROPOSAL
Izzy S GarufiFranceXuxue Feng QUALIFIED
Jennifer Y IturbideSpainAmy Elsner RENEWAL
Munro U MorascaUnited KingdomStephen Shaw QUALIFIED
Arvin P ButtJapanBernardo Dominic NEGOTIATION
Aika D KuskoFranceBernardo 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>