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
Emily B FerenczRussiaIoni Bowcher UNQUALIFIED
Wickens S StensethGermanyBernardo Dominic RENEWAL
Arvin D ChuiIndiaElwin Sharvill NEGOTIATION
Greenwood G RutaUnited KingdomIvan Magalhaes PROPOSAL
Ivar N PaprockiFranceIoni Bowcher NEW
Rodrigues E RoysterBrazilIoni Bowcher PROPOSAL
Adams W BriddickItalyAmy Elsner NEGOTIATION
Ivar L IturbideCanadaIvan Magalhaes QUALIFIED
Arvin H PerinRussiaXuxue Feng PROPOSAL
Johnson I VocelkaBrazilStephen Shaw RENEWAL
Nicolas Y SaylorsFranceIoni Bowcher NEW
Silvio I BowleyFranceIoni Bowcher RENEWAL
Jefferson R RoysterSpainAnna Fali UNQUALIFIED
Aruna D GauchoUnited KingdomAnna Fali UNQUALIFIED
Julie Q MaletIndiaIoni Bowcher NEGOTIATION
Aika Q VenereUnited KingdomElwin Sharvill RENEWAL
Adams Y CaudyBrazilAsiya Javayant NEGOTIATION
Sinclair I RoysterRussiaXuxue Feng NEGOTIATION
Mayumi W FlosiRussiaBernardo Dominic NEGOTIATION
Arvin B RulapaughFranceBernardo Dominic NEW
Ashley V MorascaIndiaElwin Sharvill NEW
Misaki G IturbideGermanyIvan Magalhaes UNQUALIFIED
Leon N VenereSpainElwin Sharvill PROPOSAL
Ricardo S OldroydArgentinaXuxue Feng NEW
Kadeem B RimUnited KingdomElwin Sharvill QUALIFIED
Wickens V SaylorsCanadaAmy Elsner NEGOTIATION
Stacey L IturbideJapanIoni Bowcher NEGOTIATION
Stacey I OldroydSpainXuxue Feng QUALIFIED
Leon Z AmigonJapanBernardo Dominic NEW
Ivar R WieserRussiaOnyama Limba RENEWAL
Antonio I AlbaresRussiaOnyama Limba UNQUALIFIED
Darci S GlickRussiaAnna Fali NEGOTIATION
Sinclair P DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem Z GlickItalyOnyama Limba UNQUALIFIED
Ricardo U KolmetzUnited KingdomElwin Sharvill NEW
Jones I MarrierItalyIvan Magalhaes NEGOTIATION
Maria X MacleadFranceElwin Sharvill RENEWAL
Emily W CaudyAustraliaXuxue Feng UNQUALIFIED
Munro R OldroydUnited KingdomStephen Shaw PROPOSAL
Johnson Q PoquetteSpainBernardo Dominic NEGOTIATION
Izzy F PoquetteFranceOnyama Limba PROPOSAL
Johnson K AlbaresBrazilXuxue Feng NEW
Isabel H SaylorsItalyElwin Sharvill QUALIFIED
Murillo Y IturbideAustraliaIvan Magalhaes NEW
Jones G DilliardRussiaIoni Bowcher UNQUALIFIED
Isabel R StockhamSpainXuxue Feng NEGOTIATION
Aditya G SergiBrazilElwin Sharvill UNQUALIFIED
Alejandro C TollnerBrazilIvan Magalhaes UNQUALIFIED
Octavia R FollerSpainAnna Fali NEW
Johnson U SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro E FerenczArgentinaXuxue Feng UNQUALIFIED
Silvio V WaycottJapanElwin Sharvill QUALIFIED
Aika L PaprockiCanadaAnna Fali UNQUALIFIED
Munro F RulapaughIndiaStephen Shaw NEW
Jeanfrancois V MarrierUnited KingdomAmy Elsner NEW
Aditya L GillianJapanXuxue Feng RENEWAL
Antonio M SlusarskiAustraliaIoni Bowcher QUALIFIED
Maisha W GauchoUnited KingdomIoni Bowcher RENEWAL
Isabel L FlosiIndiaOnyama Limba QUALIFIED
Rodrigues Y GarufiSpainIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo A OstroskySpain2024-06-07Chemel, James L Cpa QUALIFIED89Ioni Bowcher
1001Greenwood F InouyeFrance2024-06-09Rousseaux, Michael Esq RENEWAL5Xuxue Feng
1002Smith P FlosiBrazil2024-06-22Rousseaux, Michael Esq NEGOTIATION20Amy Elsner
1003Stacey E IturbideSpain2024-06-16Dorl, James J Esq RENEWAL88Xuxue Feng
1004Johnson F MacleadArgentina2024-06-04Buckley Miller Wright QUALIFIED51Ioni Bowcher
1005Leja R RutaSpain2024-06-22Commercial Press NEGOTIATION84Asiya Javayant
1006Johnson M KolmetzRussia2024-05-26Truhlar And Truhlar Attys QUALIFIED6Amy Elsner
1007Misaki V OldroydAustralia2024-06-17Printing Dimensions NEW2Asiya Javayant
1008Clifford Q RulapaughAustralia2024-05-30Dorl, James J Esq NEGOTIATION2Ivan Magalhaes
1009Munro D SergiArgentina2024-06-01Feltz Printing Service RENEWAL81Ioni Bowcher
1010Leon H FerenczFrance2024-06-22Commercial Press PROPOSAL41Xuxue Feng
1011Misaki V RimAustralia2024-06-10Chemel, James L Cpa NEW24Anna Fali
1012Juan C AlbaresSpain2024-06-18Feiner Bros RENEWAL97Bernardo Dominic
1013Misaki S InouyeAustralia2024-06-19King, Christopher A Esq RENEWAL49Bernardo Dominic
1014Chavez L AlbaresSpain2024-06-09Chemel, James L Cpa UNQUALIFIED17Amy Elsner
1015Chavez C GillianGermany2024-05-24Dorl, James J Esq QUALIFIED95Ioni Bowcher
1016Munro J KolmetzBrazil2024-06-12Dorl, James J Esq NEW79Onyama Limba
1017Leja U WaycottUnited Kingdom2024-05-24King, Christopher A Esq RENEWAL64Anna Fali
1018Silvio T InouyeRussia2024-06-19Dorl, James J Esq NEW36Ioni Bowcher
1019Aika K FigeroaUnited Kingdom2024-06-14Benton, John B Jr QUALIFIED84Stephen Shaw
1020Johnson Z PerinGermany2024-06-08Chemel, James L Cpa RENEWAL29Amy Elsner
1021Wickens N GlickBrazil2024-05-29Commercial Press QUALIFIED18Bernardo Dominic
1022Costa D GillianSpain2024-06-17Dorl, James J Esq PROPOSAL44Xuxue Feng
1023Tony M IturbideArgentina2024-05-30Truhlar And Truhlar Attys RENEWAL16Elwin Sharvill
1024Aruna W BologniaGermany2024-06-01Buckley Miller Wright NEW55Xuxue Feng
1025Murillo D WieserUnited Kingdom2024-06-01Chapman, Ross E Esq PROPOSAL84Xuxue Feng
1026Chavez C OstroskyRussia2024-05-24Rousseaux, Michael Esq NEGOTIATION26Asiya Javayant
1027Leja O AlbaresRussia2024-06-21Dorl, James J Esq NEGOTIATION4Xuxue Feng
1028Alejandro O RimItaly2024-05-24Rousseaux, Michael Esq PROPOSAL59Ivan Magalhaes
1029Jeanfrancois K ChuiSpain2024-05-27Chapman, Ross E Esq RENEWAL7Elwin Sharvill
1030Chavez G MaletFrance2024-06-18Morlong Associates PROPOSAL13Ioni Bowcher
1031Izzy B OldroydJapan2024-06-03Rousseaux, Michael Esq UNQUALIFIED67Ivan Magalhaes
1032Misaki L StockhamBrazil2024-06-12Printing Dimensions RENEWAL43Stephen Shaw
1033Adams H VenereFrance2024-06-10Rousseaux, Michael Esq NEW59Ivan Magalhaes
1034Leja C KuskoUnited Kingdom2024-06-11Chemel, James L Cpa UNQUALIFIED53Anna Fali
1035Clifford N CampainIndia2024-06-15Rousseaux, Michael Esq RENEWAL54Amy Elsner
1036James Y BologniaIndia2024-06-19Benton, John B Jr RENEWAL61Anna Fali
1037Chavez T PaprockiSpain2024-06-15Chapman, Ross E Esq NEW51Bernardo Dominic
1038Cody M SaylorsUnited Kingdom2024-06-09Morlong Associates RENEWAL2Asiya Javayant
1039Murillo J BriddickCanada2024-06-09Morlong Associates NEW6Asiya Javayant
1040Morrow O KolmetzItaly2024-05-26Rangoni Of Florence NEGOTIATION54Onyama Limba
1041Cody V RoysterBrazil2024-06-14Printing Dimensions NEW42Asiya Javayant
1042Jones X InouyeArgentina2024-06-12Chapman, Ross E Esq NEGOTIATION17Anna Fali
1043Cody R BowleyGermany2024-05-30Rousseaux, Michael Esq UNQUALIFIED90Onyama Limba
1044Aika N KolmetzUnited Kingdom2024-06-15Chemel, James L Cpa PROPOSAL56Anna Fali
1045Ricardo X GillianArgentina2024-06-17Chemel, James L Cpa QUALIFIED91Amy Elsner
1046Ricardo N WhobreyCanada2024-06-03Feltz Printing Service UNQUALIFIED87Ioni Bowcher
1047Jefferson N BriddickFrance2024-05-29Commercial Press NEW15Ivan Magalhaes
1048Smith P ShinkoRussia2024-06-01Feltz Printing Service RENEWAL33Xuxue Feng
1049Salvatore X PaprockiJapan2024-06-06Chemel, James L Cpa RENEWAL19Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Arvin F SergiFranceXuxue Feng PROPOSAL
Cody S PaprockiFranceBernardo Dominic NEW
Johnson P ShinkoJapanXuxue Feng RENEWAL
Johnson J ChuiItalyIvan Magalhaes UNQUALIFIED
Julie K MorascaItalyAsiya Javayant NEGOTIATION
Adams J AmigonArgentinaBernardo Dominic NEW
Johnson Z AmigonAustraliaOnyama Limba RENEWAL
Morrow F StockhamCanadaBernardo Dominic PROPOSAL
Francesco P RutaArgentinaStephen Shaw UNQUALIFIED
Deepesh Q BowleyUnited KingdomBernardo Dominic RENEWAL
Aditya M TollnerUnited KingdomIvan Magalhaes QUALIFIED
Alejandro O NestleCanadaAmy Elsner QUALIFIED
Munro T RimFranceIvan Magalhaes NEGOTIATION
Deepesh T OstroskyItalyAmy Elsner NEW
Aditya B DarakjyBrazilIvan Magalhaes QUALIFIED
Smith M GauchoSpainAmy Elsner PROPOSAL
Greenwood L FerenczSpainIvan Magalhaes RENEWAL
Johnson Q SergiGermanyAmy Elsner PROPOSAL
Leon V PerinUnited KingdomStephen Shaw RENEWAL
Nicolas R IturbideJapanBernardo Dominic RENEWAL
Smith S FollerCanadaAsiya Javayant NEW
Ricardo D GarufiJapanIoni Bowcher QUALIFIED
David Q BriddickSpainElwin Sharvill PROPOSAL
Nicolas T NickaItalyAsiya Javayant RENEWAL
Antonio G ButtAustraliaAmy Elsner NEGOTIATION
Francesco M MacleadFranceAsiya Javayant RENEWAL
Mayumi N ChuiIndiaBernardo Dominic PROPOSAL
Faith C BologniaFranceBernardo Dominic NEW
Greenwood M VocelkaAustraliaBernardo Dominic NEGOTIATION
Silvio S ButtItalyIoni Bowcher NEGOTIATION
Mujtaba L RulapaughArgentinaAsiya Javayant NEGOTIATION
David B PerinJapanOnyama Limba PROPOSAL
Jennifer M VocelkaGermanyOnyama Limba RENEWAL
David O MacleadBrazilAnna Fali NEGOTIATION
Costa N MaletArgentinaElwin Sharvill UNQUALIFIED
Adams G DoeIndiaOnyama Limba UNQUALIFIED
Salvatore D MorascaUnited KingdomAsiya Javayant NEW
Chavez T FerenczFranceXuxue Feng RENEWAL
Jeanfrancois C GarufiIndiaBernardo Dominic QUALIFIED
Stacey A ChuiFranceIoni Bowcher RENEWAL
Nicolas L DarakjyItalyBernardo Dominic NEGOTIATION
Tony Y SergiArgentinaStephen Shaw UNQUALIFIED
Izzy D SergiGermanyStephen Shaw PROPOSAL
Darci V RutaBrazilElwin Sharvill QUALIFIED
Mayumi T StensethBrazilOnyama Limba QUALIFIED
Alejandro R GarufiUnited KingdomAmy Elsner NEGOTIATION
Rodrigues Q OstroskyFranceIvan Magalhaes RENEWAL
Kadeem E RoysterUnited KingdomBernardo Dominic RENEWAL
Wickens Q InouyeGermanyAsiya Javayant NEW
Chavez C OldroydIndiaStephen Shaw PROPOSAL
Frozen Columns
Name
Mujtaba J Sergi
Leon A Darakjy
Stacey Q Gillian
Octavia I Slusarski
James D Doe
Silvio G Gillian
James L Gillian
James N Caldarera
Jones V Poquette
Jennifer V Marrier
Isabel K Maclead
Smith T Bowley
Tony U Paprocki
Morrow V Garufi
Chavez G Rulapaugh
Sinclair Y Whobrey
Leon K Glick
Alejandro Z Oldroyd
Aika F Caudy
Maria D Stockham
Claire S Garufi
Wickens P Caldarera
Chavez A Wieser
Jeanfrancois N Briddick
Faith M Ostrosky
Nicolas W Ruta
Jones L Campain
Smith M Campain
Arvin J Poquette
Smith K Shinko
Wickens I Nestle
Jones P Iturbide
Jennifer S Ostrosky
Ashley W Iturbide
Murillo X Malet
Silvio M Foller
Clifford G Inouye
Adams J Whobrey
David G Gaucho
Mujtaba L Vocelka
Kadeem T Doe
Murillo G Rim
Aditya Q Saylors
Maria J Briddick
Tony T Kolmetz
Morrow O Iturbide
Ivar S Paprocki
Cody B Marrier
Mujtaba D Figeroa
Francesco D Shinko
IdCountryDate
1000Canada2024-06-08
1001Germany2024-05-25
1002Canada2024-06-16
1003Canada2024-06-22
1004Japan2024-06-03
1005Australia2024-06-20
1006Russia2024-06-14
1007Japan2024-06-13
1008India2024-06-16
1009Canada2024-06-07
1010Russia2024-06-16
1011Spain2024-06-08
1012Spain2024-06-09
1013Argentina2024-06-04
1014Spain2024-05-28
1015India2024-06-20
1016France2024-06-16
1017Russia2024-06-11
1018Italy2024-06-10
1019France2024-06-13
1020France2024-05-27
1021India2024-06-11
1022France2024-06-02
1023United Kingdom2024-06-02
1024Canada2024-06-16
1025India2024-06-19
1026Spain2024-06-12
1027Argentina2024-06-07
1028Brazil2024-05-26
1029Canada2024-06-11
1030Italy2024-05-31
1031Australia2024-06-22
1032Brazil2024-06-20
1033Argentina2024-06-18
1034Spain2024-05-26
1035Spain2024-05-29
1036Brazil2024-06-16
1037Russia2024-05-31
1038Russia2024-06-01
1039India2024-06-20
1040Spain2024-05-28
1041Italy2024-05-24
1042Australia2024-06-06
1043France2024-06-22
1044Spain2024-05-30
1045Spain2024-06-04
1046Japan2024-05-28
1047Germany2024-06-20
1048Canada2024-05-30
1049Japan2024-06-18

On-Demand Data

NameIdCountryDate
Chavez V Campain1000Spain2024-06-18
Rodrigues G Dilliard1001Germany2024-05-25
Chavez P Garufi1002Argentina2024-06-01
Johnson K Gillian1003Italy2024-05-28
Faith X Campain1004Australia2024-06-12
Mayumi T Kolmetz1005Russia2024-05-25
Rodrigues H Bolognia1006Italy2024-06-20
David G Sergi1007Australia2024-06-17
Francesco M Nicka1008Argentina2024-06-04
Maisha G Briddick1009Italy2024-05-29
Alejandro U Morasca1010France2024-06-20
Leja G Vocelka1011Italy2024-06-21
Stacey Q Slusarski1012Russia2024-06-15
Deepesh G Campain1013France2024-06-04
Aditya H Stenseth1014Canada2024-05-24
Aika V Royster1015Canada2024-05-25
Cody S Shinko1016Russia2024-06-22
Francesco L Ruta1017Russia2024-06-12
Emily I Slusarski1018Japan2024-05-26
Jeanfrancois T Amigon1019Japan2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez A ChuiSpainOnyama Limba PROPOSAL
Maria S RulapaughCanadaStephen Shaw UNQUALIFIED
Nicolas M WaycottGermanyXuxue Feng NEW
Izzy Z BologniaIndiaAsiya Javayant NEW
Jeanfrancois K CaldareraItalyStephen Shaw QUALIFIED
Jeanfrancois O OstroskyUnited KingdomElwin Sharvill RENEWAL
Kadeem O SaylorsCanadaOnyama Limba UNQUALIFIED
Alejandro W RoysterFranceXuxue Feng PROPOSAL
Murillo L FollerSpainElwin Sharvill NEGOTIATION
Salvatore J PoquetteFranceIvan Magalhaes UNQUALIFIED
James Y CampainGermanyStephen Shaw RENEWAL
Jennifer O VenereJapanOnyama Limba QUALIFIED
Rodrigues Q FollerFranceOnyama Limba NEGOTIATION
Murillo P MarrierAustraliaBernardo Dominic RENEWAL
Jennifer B CaudyAustraliaBernardo Dominic RENEWAL
Ivar R VenereJapanElwin Sharvill QUALIFIED
Leja U MacleadArgentinaElwin Sharvill UNQUALIFIED
Kadeem D KolmetzBrazilAmy Elsner NEW
Ricardo L VocelkaIndiaElwin Sharvill PROPOSAL
Emily F BologniaFranceStephen Shaw PROPOSAL
Silvio X RutaGermanyIoni Bowcher PROPOSAL
Claire B GauchoBrazilBernardo Dominic UNQUALIFIED
Antonio A ButtCanadaIvan Magalhaes RENEWAL
David D DarakjyRussiaAsiya Javayant QUALIFIED
Maria F DoeSpainBernardo Dominic RENEWAL
Leja D DarakjyUnited KingdomBernardo Dominic QUALIFIED
Mujtaba S FigeroaAustraliaBernardo Dominic NEGOTIATION
Leon J RutaUnited KingdomBernardo Dominic NEW
Alejandro Z WieserItalyAnna Fali UNQUALIFIED
Aika I BriddickItalyStephen Shaw QUALIFIED
Antonio O PoquetteRussiaElwin Sharvill NEGOTIATION
Octavia T SlusarskiItalyAsiya Javayant QUALIFIED
Murillo O WaycottArgentinaAmy Elsner NEGOTIATION
Darci D MacleadArgentinaOnyama Limba UNQUALIFIED
Costa R FerenczAustraliaOnyama Limba QUALIFIED
Aika S SaylorsIndiaStephen Shaw NEGOTIATION
Jefferson A MacleadAustraliaOnyama Limba NEW
Nicolas Y ButtRussiaOnyama Limba QUALIFIED
Aditya V ChuiIndiaAnna Fali QUALIFIED
Chavez N PerinCanadaIoni Bowcher 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>