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
Juan L MaletSpainElwin Sharvill QUALIFIED
Deepesh N WhobreyFranceOnyama Limba NEW
David H BowleyCanadaAnna Fali UNQUALIFIED
Mayumi E TollnerIndiaXuxue Feng NEGOTIATION
Wickens L InouyeArgentinaOnyama Limba RENEWAL
David P NestleCanadaBernardo Dominic NEGOTIATION
Misaki K RutaArgentinaAsiya Javayant PROPOSAL
Leon Z MarrierJapanStephen Shaw RENEWAL
Izzy H DarakjyItalyIvan Magalhaes NEW
Adams A PoquetteFranceIvan Magalhaes RENEWAL
Johnson Z BriddickArgentinaOnyama Limba UNQUALIFIED
Maisha S WhobreySpainStephen Shaw NEGOTIATION
Leja R GillianIndiaAsiya Javayant QUALIFIED
Cody X StensethFranceIoni Bowcher PROPOSAL
Antonio S AlbaresRussiaIoni Bowcher NEGOTIATION
Chavez B FerenczBrazilStephen Shaw UNQUALIFIED
Wickens I PoquetteIndiaAsiya Javayant NEGOTIATION
Salvatore N GlickSpainAmy Elsner QUALIFIED
Maria K ButtGermanyElwin Sharvill PROPOSAL
Isabel J CampainSpainElwin Sharvill NEW
Rodrigues W RulapaughRussiaIvan Magalhaes PROPOSAL
Alejandro J VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Misaki Z FerenczCanadaBernardo Dominic QUALIFIED
Rodrigues O TollnerArgentinaAmy Elsner PROPOSAL
Mayumi M CaldareraIndiaAnna Fali UNQUALIFIED
Ricardo G CaldareraGermanyElwin Sharvill PROPOSAL
Mujtaba B RoysterRussiaOnyama Limba PROPOSAL
Isabel K AlbaresSpainBernardo Dominic UNQUALIFIED
Maisha Q ButtUnited KingdomStephen Shaw UNQUALIFIED
Leon K DilliardGermanyStephen Shaw NEGOTIATION
Aika O BowleyAustraliaStephen Shaw UNQUALIFIED
Ivar U CampainAustraliaIvan Magalhaes NEW
Morrow X GillianArgentinaBernardo Dominic PROPOSAL
Jeanfrancois S RutaBrazilAsiya Javayant QUALIFIED
Aika Q SlusarskiUnited KingdomIoni Bowcher QUALIFIED
David G BowleySpainOnyama Limba RENEWAL
Smith Z KuskoIndiaAmy Elsner PROPOSAL
Emily L DoeGermanyBernardo Dominic QUALIFIED
Silvio L CaudyBrazilStephen Shaw QUALIFIED
Smith Q VocelkaGermanyOnyama Limba NEGOTIATION
Deepesh R NestleCanadaAsiya Javayant RENEWAL
Maria N FollerFranceElwin Sharvill RENEWAL
Smith X MacleadItalyAmy Elsner RENEWAL
Tony P StockhamFranceElwin Sharvill NEW
Kadeem G VenereJapanXuxue Feng UNQUALIFIED
Aruna S DilliardFranceXuxue Feng UNQUALIFIED
Ivar U CampainJapanStephen Shaw NEGOTIATION
Jeanfrancois S TollnerFranceAnna Fali NEGOTIATION
Morrow K AmigonUnited KingdomStephen Shaw NEW
Arvin C BriddickRussiaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem B MacleadAustraliaElwin Sharvill RENEWAL
Silvio B GauchoIndiaStephen Shaw NEW
Octavia F CampainAustraliaIoni Bowcher PROPOSAL
Aruna W WieserCanadaIvan Magalhaes QUALIFIED
Jefferson Y GauchoSpainBernardo Dominic QUALIFIED
Mayumi D FlosiArgentinaXuxue Feng NEGOTIATION
Costa O CaudyBrazilElwin Sharvill PROPOSAL
Misaki D ButtBrazilIoni Bowcher QUALIFIED
Murillo S AlbaresGermanyXuxue Feng RENEWAL
Salvatore V DarakjySpainIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David X MorascaGermany2024-06-17Printing Dimensions PROPOSAL69Onyama Limba
1001Wickens O StensethSpain2024-05-31Benton, John B Jr QUALIFIED24Ioni Bowcher
1002Clifford A MarrierJapan2024-05-27Feltz Printing Service PROPOSAL57Elwin Sharvill
1003Rodrigues U MacleadFrance2024-06-10Benton, John B Jr QUALIFIED2Elwin Sharvill
1004Chavez P VocelkaIndia2024-06-14Chapman, Ross E Esq NEGOTIATION90Amy Elsner
1005Sinclair F CampainArgentina2024-06-17Feiner Bros QUALIFIED80Xuxue Feng
1006Adams O StockhamIndia2024-05-25Feiner Bros NEW4Ivan Magalhaes
1007David A ShinkoGermany2024-06-02King, Christopher A Esq RENEWAL69Anna Fali
1008Francesco L MarrierFrance2024-05-27Buckley Miller Wright RENEWAL25Elwin Sharvill
1009Maria B MaletIndia2024-05-23Chemel, James L Cpa QUALIFIED28Onyama Limba
1010Wickens G SchemmerItaly2024-06-17Rangoni Of Florence UNQUALIFIED41Elwin Sharvill
1011Jeanfrancois O CaudyCanada2024-06-04Commercial Press RENEWAL95Onyama Limba
1012Octavia Q SchemmerJapan2024-06-07King, Christopher A Esq NEGOTIATION26Stephen Shaw
1013Rodrigues H OldroydSpain2024-05-24Rangoni Of Florence RENEWAL64Ivan Magalhaes
1014Mayumi Y MaletSpain2024-06-07Chanay, Jeffrey A Esq NEW71Bernardo Dominic
1015Sinclair X VocelkaCanada2024-05-22Benton, John B Jr QUALIFIED97Ivan Magalhaes
1016Jones K GarufiCanada2024-05-27Chapman, Ross E Esq NEW23Elwin Sharvill
1017Jeanfrancois U ShinkoGermany2024-06-09Chemel, James L Cpa NEGOTIATION10Stephen Shaw
1018Izzy K IturbideJapan2024-06-04Printing Dimensions NEGOTIATION50Asiya Javayant
1019Chavez O NickaArgentina2024-06-03Rousseaux, Michael Esq RENEWAL44Xuxue Feng
1020Alejandro B RutaJapan2024-06-04Rousseaux, Michael Esq UNQUALIFIED51Ioni Bowcher
1021Jeanfrancois L BriddickArgentina2024-06-13Feltz Printing Service PROPOSAL77Stephen Shaw
1022Murillo Z GauchoCanada2024-05-25Benton, John B Jr RENEWAL73Ivan Magalhaes
1023Johnson F RoysterFrance2024-05-20Rangoni Of Florence UNQUALIFIED65Stephen Shaw
1024Nicolas A OstroskyAustralia2024-05-20Rangoni Of Florence PROPOSAL29Anna Fali
1025Silvio K SlusarskiIndia2024-06-12Truhlar And Truhlar Attys PROPOSAL77Amy Elsner
1026Sinclair S WhobreyAustralia2024-05-29Feiner Bros QUALIFIED42Bernardo Dominic
1027Maisha W SergiArgentina2024-06-04King, Christopher A Esq PROPOSAL10Onyama Limba
1028Julie J VenereGermany2024-06-14Chapman, Ross E Esq NEW72Asiya Javayant
1029Aika G MacleadGermany2024-06-05King, Christopher A Esq QUALIFIED21Bernardo Dominic
1030Maria A NickaFrance2024-05-28Morlong Associates QUALIFIED5Xuxue Feng
1031Morrow A VenereAustralia2024-05-21Printing Dimensions RENEWAL13Ivan Magalhaes
1032Chavez G WaycottArgentina2024-06-16Feiner Bros QUALIFIED66Onyama Limba
1033Silvio N NestleAustralia2024-05-28Feiner Bros RENEWAL46Amy Elsner
1034Emily Q KuskoSpain2024-06-01Buckley Miller Wright NEGOTIATION98Amy Elsner
1035Ricardo K BowleyIndia2024-06-05Chanay, Jeffrey A Esq RENEWAL20Elwin Sharvill
1036Leja Q MaletItaly2024-06-14Printing Dimensions NEGOTIATION87Bernardo Dominic
1037Rodrigues O MacleadCanada2024-05-26King, Christopher A Esq QUALIFIED23Anna Fali
1038Ivar G ShinkoFrance2024-06-11Chapman, Ross E Esq NEGOTIATION20Asiya Javayant
1039Maria M BriddickFrance2024-06-07Morlong Associates NEGOTIATION43Asiya Javayant
1040Aditya T FlosiCanada2024-05-24King, Christopher A Esq UNQUALIFIED22Amy Elsner
1041Munro J SergiBrazil2024-06-16Rousseaux, Michael Esq RENEWAL88Asiya Javayant
1042Adams W FigeroaFrance2024-06-07Truhlar And Truhlar Attys NEGOTIATION94Elwin Sharvill
1043Sinclair N AmigonRussia2024-06-10Chemel, James L Cpa NEW94Elwin Sharvill
1044Faith V KolmetzJapan2024-05-25Printing Dimensions QUALIFIED39Ivan Magalhaes
1045Ivar C NestleItaly2024-06-01Feltz Printing Service NEW33Onyama Limba
1046Faith F InouyeArgentina2024-05-26Printing Dimensions PROPOSAL73Stephen Shaw
1047Munro Q TollnerAustralia2024-06-03King, Christopher A Esq RENEWAL68Bernardo Dominic
1048Isabel Z FigeroaGermany2024-05-21Feiner Bros NEW6Ivan Magalhaes
1049Jefferson M VocelkaAustralia2024-05-22Printing Dimensions QUALIFIED54Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Juan V RimSpainOnyama Limba QUALIFIED
James Q DoeAustraliaAnna Fali UNQUALIFIED
Aditya C RulapaughRussiaAsiya Javayant PROPOSAL
Arvin N BologniaBrazilStephen Shaw PROPOSAL
Ricardo L IturbideCanadaElwin Sharvill PROPOSAL
Jefferson L GillianUnited KingdomBernardo Dominic RENEWAL
Aditya N OstroskyBrazilAsiya Javayant NEGOTIATION
Stacey Z CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez E WieserAustraliaAsiya Javayant QUALIFIED
Juan X SergiIndiaIvan Magalhaes QUALIFIED
Munro I RutaAustraliaAnna Fali PROPOSAL
Salvatore S SchemmerItalyIoni Bowcher NEGOTIATION
Maisha Q SlusarskiBrazilBernardo Dominic PROPOSAL
Emily Q CaldareraAustraliaAsiya Javayant QUALIFIED
Kadeem K MaletUnited KingdomBernardo Dominic PROPOSAL
Sinclair Y AlbaresBrazilStephen Shaw QUALIFIED
Johnson M CaudySpainBernardo Dominic QUALIFIED
Nicolas W GauchoJapanAnna Fali UNQUALIFIED
Silvio W KolmetzIndiaAmy Elsner NEW
Juan Z TollnerRussiaOnyama Limba PROPOSAL
Arvin S DilliardCanadaElwin Sharvill PROPOSAL
Juan V ShinkoCanadaAmy Elsner NEW
Sinclair R GillianRussiaAmy Elsner QUALIFIED
Julie R MaletArgentinaStephen Shaw RENEWAL
Leon L FigeroaFranceBernardo Dominic QUALIFIED
Murillo U KuskoRussiaElwin Sharvill NEW
Sinclair P BowleyJapanStephen Shaw UNQUALIFIED
Salvatore B InouyeArgentinaIoni Bowcher UNQUALIFIED
Johnson E BowleyAustraliaElwin Sharvill NEW
Claire R CampainUnited KingdomAmy Elsner PROPOSAL
Morrow J FigeroaIndiaBernardo Dominic NEW
Silvio V SergiSpainAsiya Javayant NEGOTIATION
Faith Z DarakjyBrazilBernardo Dominic QUALIFIED
Silvio F NickaUnited KingdomElwin Sharvill NEW
Izzy E IturbideIndiaAsiya Javayant QUALIFIED
Maisha L BowleyArgentinaIvan Magalhaes NEGOTIATION
Emily L PerinUnited KingdomXuxue Feng NEW
Ivar B WaycottGermanyAmy Elsner RENEWAL
Cody G RutaJapanIoni Bowcher NEW
Rodrigues J KolmetzAustraliaIvan Magalhaes NEGOTIATION
Isabel W NestleJapanAsiya Javayant NEW
Aruna O GillianIndiaOnyama Limba NEGOTIATION
Ivar P AmigonItalyIoni Bowcher RENEWAL
Jefferson N GillianUnited KingdomBernardo Dominic QUALIFIED
Silvio X DilliardBrazilStephen Shaw NEGOTIATION
Jennifer I KuskoIndiaOnyama Limba NEW
Aditya I OldroydUnited KingdomOnyama Limba NEGOTIATION
Smith J WieserArgentinaIoni Bowcher PROPOSAL
Mayumi P GauchoJapanAnna Fali RENEWAL
David G WaycottJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Sinclair E Chui
Murillo I Paprocki
Maria N Venere
Silvio Q Venere
Jones E Gaucho
Faith Q Vocelka
Francesco U Wieser
Mayumi S Caudy
Leon P Foller
Chavez G Schemmer
Ashley B Saylors
Izzy H Nicka
Francesco D Oldroyd
Juan E Darakjy
Nicolas D Nestle
Maria O Caudy
Jefferson D Saylors
Clifford H Gillian
Emily Q Briddick
Nicolas V Wieser
James O Amigon
Jefferson O Oldroyd
Aruna P Royster
Isabel V Foller
Stacey O Venere
Sinclair H Iturbide
Misaki S Sergi
Ricardo X Malet
Jones R Whobrey
Ricardo U Saylors
Mayumi C Wieser
Stacey W Schemmer
Kadeem I Nestle
James M Poquette
Rodrigues U Malet
Adams S Iturbide
Costa I Venere
Ivar G Briddick
Ricardo G Royster
Darci L Nestle
Aditya I Rulapaugh
Rodrigues S Ostrosky
Jefferson J Albares
Jefferson J Oldroyd
Greenwood L Marrier
Mujtaba Q Campain
David R Oldroyd
Jones X Kusko
Deepesh R Stockham
Claire T Ostrosky
IdCountryDate
1000Argentina2024-06-15
1001United Kingdom2024-05-29
1002United Kingdom2024-05-29
1003Germany2024-06-16
1004Russia2024-05-21
1005Canada2024-05-19
1006Spain2024-05-22
1007Japan2024-06-10
1008United Kingdom2024-06-14
1009Australia2024-06-06
1010Canada2024-06-11
1011Russia2024-05-24
1012Brazil2024-05-29
1013Canada2024-05-20
1014Germany2024-06-13
1015Japan2024-06-15
1016Spain2024-06-05
1017Australia2024-05-23
1018Italy2024-05-27
1019Germany2024-06-16
1020Argentina2024-06-01
1021India2024-06-12
1022Italy2024-05-21
1023Italy2024-06-05
1024Argentina2024-06-17
1025Russia2024-06-15
1026Spain2024-06-02
1027India2024-06-08
1028Canada2024-06-11
1029Russia2024-06-02
1030Argentina2024-06-12
1031Germany2024-05-20
1032Canada2024-05-21
1033Germany2024-05-22
1034Australia2024-05-20
1035Japan2024-06-04
1036Germany2024-06-12
1037Spain2024-05-23
1038Spain2024-05-24
1039Brazil2024-06-06
1040Argentina2024-06-14
1041Russia2024-06-09
1042Italy2024-05-22
1043Spain2024-06-05
1044Germany2024-06-02
1045Italy2024-06-16
1046Australia2024-05-27
1047Spain2024-05-20
1048Australia2024-05-30
1049Russia2024-05-27

On-Demand Data

NameIdCountryDate
Mayumi I Perin1000France2024-06-06
Misaki T Bowley1001Japan2024-06-15
Arvin K Nestle1002Argentina2024-06-06
Maisha Z Kolmetz1003Canada2024-06-03
Adams D Bolognia1004Argentina2024-06-03
Jones X Ferencz1005Italy2024-05-22
Jeanfrancois H Bowley1006Argentina2024-06-14
Octavia Q Sergi1007Brazil2024-06-02
Morrow U Kolmetz1008Japan2024-06-05
Alejandro P Ostrosky1009Australia2024-06-02
Kadeem V Albares1010Russia2024-06-14
Arvin F Wieser1011France2024-05-21
Jennifer Y Inouye1012Italy2024-06-02
Greenwood D Gaucho1013Germany2024-06-17
Faith G Schemmer1014India2024-05-24
Julie U Dilliard1015Australia2024-06-09
Munro I Doe1016Spain2024-06-13
Claire V Schemmer1017Canada2024-05-25
Kaitlin T Ferencz1018Argentina2024-05-30
David J Perin1019Argentina2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio L MacleadItalyXuxue Feng NEGOTIATION
Alejandro X FigeroaGermanyXuxue Feng UNQUALIFIED
Claire H ButtRussiaIoni Bowcher PROPOSAL
Misaki P CampainArgentinaOnyama Limba QUALIFIED
Leja H KuskoBrazilIvan Magalhaes PROPOSAL
Kadeem S StensethArgentinaIvan Magalhaes PROPOSAL
Stacey J GlickBrazilBernardo Dominic NEW
Maria P AlbaresBrazilAmy Elsner QUALIFIED
Silvio C MarrierCanadaIoni Bowcher PROPOSAL
Wickens Q BowleySpainAmy Elsner RENEWAL
Tony D OldroydItalyIoni Bowcher UNQUALIFIED
Alejandro I BowleyRussiaOnyama Limba NEGOTIATION
Jeanfrancois N MarrierCanadaStephen Shaw QUALIFIED
Aika N OldroydAustraliaAsiya Javayant RENEWAL
Jeanfrancois G MaletGermanyOnyama Limba RENEWAL
Arvin A SaylorsItalyIoni Bowcher NEGOTIATION
Chavez E MaletAustraliaAsiya Javayant NEGOTIATION
Julie D SaylorsJapanIoni Bowcher QUALIFIED
Jones T MorascaFranceXuxue Feng RENEWAL
Mayumi X WhobreyUnited KingdomAnna Fali NEGOTIATION
Johnson V GauchoUnited KingdomElwin Sharvill RENEWAL
Octavia T MarrierUnited KingdomStephen Shaw UNQUALIFIED
Ricardo E GarufiBrazilElwin Sharvill QUALIFIED
Smith G GarufiFranceStephen Shaw UNQUALIFIED
Ashley Z FerenczUnited KingdomAsiya Javayant NEGOTIATION
Arvin G NestleFranceIvan Magalhaes NEW
Jeanfrancois A SchemmerItalyXuxue Feng NEW
Darci K GlickJapanAnna Fali UNQUALIFIED
Antonio W FerenczSpainOnyama Limba QUALIFIED
Jeanfrancois O NickaAustraliaIoni Bowcher NEW
Mujtaba X ShinkoUnited KingdomAnna Fali UNQUALIFIED
Ashley K SergiJapanAsiya Javayant NEW
Francesco U MorascaItalyAsiya Javayant RENEWAL
Johnson J MarrierAustraliaAnna Fali QUALIFIED
Jennifer Z WieserIndiaOnyama Limba UNQUALIFIED
Chavez D OldroydSpainIoni Bowcher RENEWAL
Leon M PoquetteFranceOnyama Limba NEW
Jeanfrancois E PerinJapanXuxue Feng NEW
Darci E MaletGermanyIoni Bowcher NEGOTIATION
Aruna N StensethSpainAsiya Javayant 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>