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
Munro J IturbideIndiaOnyama Limba NEGOTIATION
Chavez F CampainJapanOnyama Limba PROPOSAL
Adams R GarufiItalyIvan Magalhaes PROPOSAL
Maria I FollerGermanyElwin Sharvill UNQUALIFIED
Jefferson I AmigonItalyElwin Sharvill UNQUALIFIED
Leon G PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Wickens N RutaRussiaIvan Magalhaes QUALIFIED
Silvio H CaldareraBrazilIoni Bowcher RENEWAL
Deepesh Q RoysterRussiaAmy Elsner NEW
Ricardo H DoeCanadaBernardo Dominic PROPOSAL
Rodrigues U VocelkaUnited KingdomAnna Fali UNQUALIFIED
Deepesh U MarrierItalyAmy Elsner UNQUALIFIED
Juan F SlusarskiFranceIvan Magalhaes RENEWAL
Kaitlin S SergiArgentinaIvan Magalhaes UNQUALIFIED
Adams A MaletUnited KingdomIoni Bowcher NEW
Maisha Z MacleadCanadaIoni Bowcher NEGOTIATION
Jones C AlbaresArgentinaIvan Magalhaes RENEWAL
Jeanfrancois Y RoysterItalyIoni Bowcher UNQUALIFIED
Misaki L FollerAustraliaBernardo Dominic NEGOTIATION
Smith E CaudyIndiaStephen Shaw QUALIFIED
Tony D GillianGermanyElwin Sharvill PROPOSAL
Deepesh M BologniaItalyIvan Magalhaes UNQUALIFIED
Mayumi K GlickItalyAsiya Javayant NEW
Misaki Y FerenczUnited KingdomOnyama Limba NEGOTIATION
Wickens V RutaGermanyAmy Elsner PROPOSAL
Ivar O FigeroaJapanStephen Shaw QUALIFIED
Antonio S WieserFranceBernardo Dominic RENEWAL
Sinclair B DarakjyJapanAsiya Javayant PROPOSAL
Adams F PoquetteArgentinaIoni Bowcher UNQUALIFIED
Arvin E DoeArgentinaXuxue Feng UNQUALIFIED
James C RimArgentinaElwin Sharvill PROPOSAL
Arvin P FlosiUnited KingdomAsiya Javayant PROPOSAL
Costa U ChuiRussiaIvan Magalhaes QUALIFIED
Faith O MorascaJapanBernardo Dominic NEW
Jeanfrancois R ChuiRussiaIoni Bowcher UNQUALIFIED
Leon D VocelkaItalyIoni Bowcher NEW
Johnson V NestleCanadaStephen Shaw PROPOSAL
Adams C VocelkaAustraliaOnyama Limba RENEWAL
Costa G FerenczRussiaOnyama Limba NEGOTIATION
Jennifer U KuskoArgentinaAnna Fali RENEWAL
James F PoquetteBrazilIoni Bowcher PROPOSAL
Darci Y WhobreyArgentinaXuxue Feng NEGOTIATION
Munro W FerenczArgentinaAsiya Javayant QUALIFIED
Leja J BowleyJapanStephen Shaw PROPOSAL
David A MacleadBrazilAnna Fali NEW
Silvio L DarakjyItalyAnna Fali PROPOSAL
Izzy N IturbideIndiaStephen Shaw RENEWAL
Morrow B GillianBrazilStephen Shaw PROPOSAL
Maisha V ChuiSpainBernardo Dominic NEW
Nicolas F SchemmerSpainXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin H ButtSpainAmy Elsner NEGOTIATION
Maria Z StockhamJapanIoni Bowcher PROPOSAL
Jones Q IturbideFranceBernardo Dominic NEW
Johnson H MorascaFranceAmy Elsner NEGOTIATION
Nicolas L WhobreyUnited KingdomElwin Sharvill NEW
Salvatore I MaletSpainOnyama Limba PROPOSAL
Arvin T OstroskyAustraliaOnyama Limba NEGOTIATION
Morrow D GarufiUnited KingdomElwin Sharvill PROPOSAL
David W GarufiJapanIvan Magalhaes UNQUALIFIED
Wickens W ShinkoFranceXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja K MaletUnited Kingdom2024-05-17Printing Dimensions RENEWAL93Stephen Shaw
1001James W BriddickSpain2024-05-20Rousseaux, Michael Esq UNQUALIFIED49Asiya Javayant
1002Stacey B AlbaresArgentina2024-06-10Buckley Miller Wright QUALIFIED37Onyama Limba
1003Jeanfrancois O BriddickIndia2024-06-02Feiner Bros QUALIFIED72Ivan Magalhaes
1004Jefferson S TollnerAustralia2024-05-15Rangoni Of Florence PROPOSAL11Anna Fali
1005Leon M OldroydFrance2024-05-19Rangoni Of Florence NEW13Ivan Magalhaes
1006Nicolas O MarrierAustralia2024-06-09Truhlar And Truhlar Attys NEW21Ioni Bowcher
1007Rodrigues E FlosiSpain2024-05-18Buckley Miller Wright QUALIFIED2Ioni Bowcher
1008Costa B WaycottSpain2024-05-30Morlong Associates NEGOTIATION38Ioni Bowcher
1009Deepesh A RulapaughJapan2024-05-21Feiner Bros RENEWAL42Bernardo Dominic
1010Jeanfrancois E RimUnited Kingdom2024-05-22Truhlar And Truhlar Attys NEW35Ioni Bowcher
1011Murillo Q GauchoAustralia2024-05-20Rangoni Of Florence RENEWAL29Onyama Limba
1012Rodrigues V TollnerRussia2024-05-27Truhlar And Truhlar Attys PROPOSAL60Onyama Limba
1013Clifford A SlusarskiCanada2024-05-21Rangoni Of Florence NEW55Amy Elsner
1014Adams B FerenczFrance2024-05-20King, Christopher A Esq NEW58Asiya Javayant
1015Izzy N GlickUnited Kingdom2024-05-23Rousseaux, Michael Esq NEW53Amy Elsner
1016Juan O VocelkaCanada2024-06-07Morlong Associates RENEWAL68Onyama Limba
1017Jennifer S MorascaRussia2024-06-01Rousseaux, Michael Esq UNQUALIFIED36Asiya Javayant
1018Costa K MarrierAustralia2024-05-31Chapman, Ross E Esq UNQUALIFIED46Ivan Magalhaes
1019Silvio W ButtArgentina2024-05-20Rousseaux, Michael Esq NEW36Ivan Magalhaes
1020Octavia V CaudyUnited Kingdom2024-06-03Buckley Miller Wright PROPOSAL56Asiya Javayant
1021Francesco C MaletFrance2024-05-26Dorl, James J Esq NEW79Asiya Javayant
1022Octavia O FerenczUnited Kingdom2024-05-28Benton, John B Jr UNQUALIFIED98Amy Elsner
1023Juan N ShinkoUnited Kingdom2024-05-21Truhlar And Truhlar Attys UNQUALIFIED57Stephen Shaw
1024David E CaldareraUnited Kingdom2024-06-03Rangoni Of Florence RENEWAL22Onyama Limba
1025Morrow I MarrierCanada2024-06-01Truhlar And Truhlar Attys QUALIFIED38Ivan Magalhaes
1026Chavez Q MarrierBrazil2024-05-31King, Christopher A Esq NEGOTIATION8Asiya Javayant
1027Kaitlin Q OldroydSpain2024-05-31Morlong Associates PROPOSAL16Ioni Bowcher
1028Morrow C RimArgentina2024-05-27Feiner Bros NEGOTIATION45Amy Elsner
1029Jennifer W FerenczCanada2024-06-10Benton, John B Jr QUALIFIED46Bernardo Dominic
1030Ivar M ButtGermany2024-05-24Benton, John B Jr QUALIFIED5Elwin Sharvill
1031Johnson D RutaIndia2024-06-12Feltz Printing Service NEW39Anna Fali
1032Wickens N CaudyCanada2024-06-11King, Christopher A Esq NEW10Bernardo Dominic
1033Ivar Y CaudyCanada2024-05-18Truhlar And Truhlar Attys NEGOTIATION80Anna Fali
1034Sinclair X DoeRussia2024-05-24Benton, John B Jr NEGOTIATION48Stephen Shaw
1035Stacey X AmigonItaly2024-05-24Chanay, Jeffrey A Esq PROPOSAL58Amy Elsner
1036Clifford N OldroydAustralia2024-05-16Buckley Miller Wright QUALIFIED3Elwin Sharvill
1037James L GarufiArgentina2024-05-29Benton, John B Jr RENEWAL5Onyama Limba
1038Kaitlin T CampainGermany2024-06-08Rousseaux, Michael Esq QUALIFIED51Bernardo Dominic
1039Wickens J StockhamAustralia2024-06-08Dorl, James J Esq QUALIFIED79Amy Elsner
1040Maria Y KuskoArgentina2024-06-08Chapman, Ross E Esq QUALIFIED77Anna Fali
1041Stacey E MarrierGermany2024-05-19Benton, John B Jr NEGOTIATION17Elwin Sharvill
1042Jones Q DilliardRussia2024-06-01Chapman, Ross E Esq QUALIFIED3Onyama Limba
1043Chavez M GauchoCanada2024-06-13Chemel, James L Cpa RENEWAL53Stephen Shaw
1044Aruna D FlosiItaly2024-05-21Chanay, Jeffrey A Esq NEGOTIATION83Ioni Bowcher
1045Aika N StensethItaly2024-05-29Rousseaux, Michael Esq NEW29Ioni Bowcher
1046Octavia X VenereGermany2024-06-04Rangoni Of Florence RENEWAL83Ioni Bowcher
1047Antonio E ShinkoIndia2024-06-12Chapman, Ross E Esq NEW44Elwin Sharvill
1048Sinclair L TollnerArgentina2024-06-10Chapman, Ross E Esq UNQUALIFIED51Ioni Bowcher
1049Johnson C FollerJapan2024-06-13Rangoni Of Florence NEGOTIATION95Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Morrow F MaletSpainIvan Magalhaes NEW
Adams P GarufiBrazilAnna Fali RENEWAL
Jones F RutaUnited KingdomOnyama Limba NEGOTIATION
Jones W MarrierRussiaIvan Magalhaes NEGOTIATION
David R ShinkoFranceAmy Elsner NEW
Clifford E PoquetteSpainBernardo Dominic NEGOTIATION
Emily E GarufiFranceAnna Fali PROPOSAL
Emily V FlosiSpainAmy Elsner QUALIFIED
Morrow S GlickCanadaIoni Bowcher PROPOSAL
Isabel T CaudyUnited KingdomOnyama Limba QUALIFIED
Murillo F MaletSpainBernardo Dominic UNQUALIFIED
Sinclair I MaletArgentinaBernardo Dominic QUALIFIED
Chavez R DilliardBrazilIoni Bowcher RENEWAL
Francesco D AmigonRussiaXuxue Feng QUALIFIED
Maisha E TollnerAustraliaOnyama Limba NEW
Faith I AmigonArgentinaXuxue Feng NEW
Octavia L KolmetzFranceXuxue Feng RENEWAL
Ivar C SlusarskiArgentinaAsiya Javayant NEW
David A DilliardGermanyBernardo Dominic PROPOSAL
Jefferson L SaylorsBrazilIoni Bowcher QUALIFIED
Munro M WhobreySpainXuxue Feng NEW
Ashley L GarufiBrazilAmy Elsner NEGOTIATION
Aditya G OstroskySpainIvan Magalhaes RENEWAL
James C CaudyCanadaBernardo Dominic PROPOSAL
Adams W BologniaAustraliaStephen Shaw QUALIFIED
Arvin B NestleUnited KingdomIoni Bowcher PROPOSAL
Emily Z DoeJapanIvan Magalhaes QUALIFIED
Tony H SchemmerSpainAnna Fali UNQUALIFIED
Alejandro M MorascaFranceOnyama Limba NEGOTIATION
Smith F AmigonGermanyBernardo Dominic NEGOTIATION
Adams V CaldareraItalyAsiya Javayant NEW
Ashley W SaylorsArgentinaIvan Magalhaes RENEWAL
Cody D MacleadIndiaAnna Fali QUALIFIED
James M FollerCanadaOnyama Limba QUALIFIED
Kaitlin P GarufiArgentinaBernardo Dominic NEW
Ashley R KuskoAustraliaXuxue Feng PROPOSAL
James F MorascaAustraliaStephen Shaw PROPOSAL
Sinclair W MarrierItalyAmy Elsner RENEWAL
Aika E GillianItalyStephen Shaw RENEWAL
Aika G StockhamSpainAmy Elsner QUALIFIED
Leja G ChuiBrazilBernardo Dominic NEW
Nicolas J ButtFranceAnna Fali PROPOSAL
Munro D BriddickGermanyStephen Shaw NEGOTIATION
Johnson Y AmigonCanadaIoni Bowcher RENEWAL
Emily G OldroydRussiaAsiya Javayant PROPOSAL
Mayumi G MacleadArgentinaIvan Magalhaes UNQUALIFIED
Izzy L SergiBrazilElwin Sharvill NEW
Clifford W GauchoItalyBernardo Dominic QUALIFIED
Arvin R FigeroaRussiaElwin Sharvill QUALIFIED
Stacey Y InouyeBrazilIoni Bowcher NEW
Frozen Columns
Name
Aika L Gillian
Costa N Royster
Alejandro P Glick
Costa J Iturbide
Munro Z Iturbide
Costa S Doe
James K Royster
Emily M Royster
Murillo R Kusko
Nicolas M Campain
Kadeem X Rim
Maria R Maclead
Adams S Schemmer
Cody O Perin
Jeanfrancois N Gaucho
Munro W Iturbide
Rodrigues U Royster
Deepesh J Kusko
Morrow W Morasca
Izzy G Waycott
Smith P Kusko
Tony X Venere
Octavia R Sergi
Julie N Campain
Darci N Paprocki
Izzy N Briddick
Emily X Poquette
Mayumi L Campain
Maisha A Amigon
Mujtaba R Inouye
Ricardo X Dilliard
Stacey R Doe
Julie Y Campain
Mujtaba F Paprocki
Jennifer O Caldarera
Kaitlin M Ferencz
Kaitlin I Iturbide
Stacey R Gaucho
Ashley H Darakjy
Ashley O Flosi
Mujtaba I Venere
Johnson D Glick
Costa G Darakjy
Kaitlin N Kusko
Julie K Maclead
Nicolas N Perin
Octavia I Waycott
Jones N Oldroyd
Johnson X Caldarera
Sinclair Q Whobrey
IdCountryDate
1000Spain2024-05-21
1001Japan2024-06-06
1002United Kingdom2024-05-19
1003Japan2024-06-02
1004Spain2024-06-01
1005France2024-05-29
1006Germany2024-05-29
1007Brazil2024-05-19
1008Japan2024-05-30
1009Australia2024-06-08
1010Spain2024-05-21
1011France2024-05-22
1012Japan2024-05-31
1013Argentina2024-06-11
1014Germany2024-05-29
1015Canada2024-05-20
1016India2024-05-26
1017Italy2024-06-09
1018Spain2024-05-26
1019France2024-05-27
1020Brazil2024-05-29
1021Japan2024-05-29
1022Canada2024-05-29
1023Australia2024-05-31
1024Japan2024-06-06
1025Brazil2024-06-04
1026Russia2024-05-23
1027Argentina2024-05-15
1028Germany2024-06-11
1029India2024-05-26
1030Canada2024-05-24
1031Canada2024-06-01
1032Argentina2024-06-11
1033Russia2024-05-24
1034India2024-05-17
1035Brazil2024-06-08
1036Italy2024-06-03
1037Canada2024-06-12
1038India2024-05-22
1039Italy2024-06-10
1040Canada2024-05-22
1041Russia2024-05-15
1042United Kingdom2024-06-05
1043United Kingdom2024-05-19
1044Canada2024-06-03
1045Japan2024-05-28
1046Spain2024-05-25
1047Russia2024-06-02
1048Canada2024-06-05
1049Spain2024-05-19

On-Demand Data

NameIdCountryDate
Silvio D Garufi1000United Kingdom2024-06-02
Cody T Malet1001Brazil2024-05-26
Leja J Shinko1002Argentina2024-05-15
Aruna M Gaucho1003Canada2024-05-20
Rodrigues W Ostrosky1004Spain2024-06-10
Salvatore K Malet1005Japan2024-05-16
Stacey E Perin1006Italy2024-06-06
Darci T Venere1007Japan2024-05-18
Cody P Slusarski1008Russia2024-05-26
Arvin U Albares1009Australia2024-05-26
Misaki K Stenseth1010Australia2024-05-27
Claire O Morasca1011Argentina2024-06-05
Aditya Z Gillian1012Argentina2024-06-03
Greenwood F Vocelka1013India2024-05-15
Mayumi C Glick1014Australia2024-05-24
Faith N Iturbide1015Germany2024-06-08
Silvio X Caudy1016Argentina2024-05-20
Claire L Ostrosky1017Argentina2024-06-01
Aika Q Doe1018France2024-05-28
Silvio T Whobrey1019Russia2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha S SchemmerArgentinaAnna Fali NEW
Kadeem U VenereArgentinaAsiya Javayant PROPOSAL
Rodrigues P StensethJapanXuxue Feng RENEWAL
James L AmigonBrazilStephen Shaw NEGOTIATION
Isabel O OstroskyIndiaElwin Sharvill RENEWAL
Leon K VenereJapanXuxue Feng PROPOSAL
Sinclair V GillianFranceOnyama Limba RENEWAL
Darci Y PoquetteIndiaXuxue Feng RENEWAL
Costa S RulapaughBrazilIoni Bowcher NEGOTIATION
Salvatore F PaprockiItalyIoni Bowcher PROPOSAL
Faith O CaudyArgentinaStephen Shaw RENEWAL
Ashley W StockhamGermanyIvan Magalhaes NEGOTIATION
Ashley U BowleyFranceAsiya Javayant UNQUALIFIED
Smith Q VenereIndiaAnna Fali PROPOSAL
Antonio Q GlickFranceOnyama Limba NEW
Munro N InouyeIndiaElwin Sharvill NEW
Julie I MaletJapanOnyama Limba UNQUALIFIED
Cody M AmigonIndiaAmy Elsner QUALIFIED
Jones K StensethGermanyXuxue Feng UNQUALIFIED
Leon C NickaArgentinaOnyama Limba NEGOTIATION
Wickens G OldroydAustraliaIvan Magalhaes RENEWAL
Ricardo U CaudyFranceAnna Fali RENEWAL
Cody X WhobreyArgentinaXuxue Feng NEW
Jones Z ChuiCanadaAsiya Javayant NEW
Deepesh M InouyeBrazilIvan Magalhaes RENEWAL
Clifford T RutaRussiaStephen Shaw QUALIFIED
Ashley C KuskoIndiaXuxue Feng RENEWAL
Johnson B GillianItalyIvan Magalhaes NEW
Morrow D StensethArgentinaBernardo Dominic NEW
Jones G CaldareraArgentinaAnna Fali PROPOSAL
Silvio F PaprockiFranceAnna Fali UNQUALIFIED
Murillo H SergiItalyAsiya Javayant QUALIFIED
Tony S RutaArgentinaIoni Bowcher NEGOTIATION
James J RimRussiaBernardo Dominic PROPOSAL
Morrow A FollerSpainElwin Sharvill UNQUALIFIED
Izzy Q FlosiUnited KingdomAmy Elsner QUALIFIED
Deepesh D VenereJapanAnna Fali UNQUALIFIED
Morrow W BowleyItalyElwin Sharvill UNQUALIFIED
Jeanfrancois N CampainSpainAnna Fali QUALIFIED
Octavia K FollerArgentinaOnyama Limba 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>