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 DilliardCanadaElwin Sharvill NEGOTIATION
Antonio X PoquetteJapanAmy Elsner UNQUALIFIED
Aika T ShinkoJapanIoni Bowcher RENEWAL
Nicolas U CaldareraItalyXuxue Feng QUALIFIED
Clifford H AlbaresAustraliaIoni Bowcher UNQUALIFIED
Aika F TollnerBrazilIoni Bowcher UNQUALIFIED
Misaki U NickaItalyXuxue Feng QUALIFIED
Aditya I FigeroaJapanAsiya Javayant RENEWAL
Greenwood X StockhamFranceAnna Fali RENEWAL
Johnson N NickaCanadaAnna Fali UNQUALIFIED
Salvatore H OldroydSpainStephen Shaw PROPOSAL
Tony O CampainFranceIoni Bowcher UNQUALIFIED
Julie R FollerAustraliaXuxue Feng PROPOSAL
Murillo G DarakjyCanadaXuxue Feng NEGOTIATION
Maria D TollnerItalyBernardo Dominic NEW
Cody X GarufiGermanyIoni Bowcher NEGOTIATION
Arvin R SergiCanadaAsiya Javayant QUALIFIED
Maria Y MarrierIndiaStephen Shaw RENEWAL
Johnson L RulapaughUnited KingdomXuxue Feng NEW
Mayumi K MarrierBrazilAmy Elsner RENEWAL
James S WaycottJapanIoni Bowcher UNQUALIFIED
Kaitlin Z AlbaresItalyBernardo Dominic UNQUALIFIED
Izzy K MacleadSpainOnyama Limba NEW
David E SchemmerRussiaElwin Sharvill QUALIFIED
Smith A CaudyUnited KingdomIoni Bowcher NEGOTIATION
Greenwood D GauchoItalyAsiya Javayant UNQUALIFIED
Stacey C AmigonFranceElwin Sharvill RENEWAL
Mujtaba N ShinkoUnited KingdomAnna Fali NEGOTIATION
Mujtaba M WhobreyAustraliaAmy Elsner NEGOTIATION
Mujtaba T ShinkoCanadaAnna Fali UNQUALIFIED
Mayumi H MarrierAustraliaAnna Fali UNQUALIFIED
Costa J StockhamArgentinaXuxue Feng NEGOTIATION
Cody R PaprockiJapanBernardo Dominic PROPOSAL
Antonio B GauchoAustraliaElwin Sharvill UNQUALIFIED
Faith V IturbideGermanyAmy Elsner NEGOTIATION
Jeanfrancois Z MarrierRussiaAsiya Javayant NEW
Julie M AlbaresAustraliaAnna Fali RENEWAL
Mujtaba V DarakjyIndiaOnyama Limba NEW
Leja N FigeroaGermanyAmy Elsner RENEWAL
Alejandro M VocelkaFranceStephen Shaw PROPOSAL
Ashley B WhobreyCanadaBernardo Dominic NEW
Alejandro V RutaArgentinaAmy Elsner NEGOTIATION
Francesco V VocelkaRussiaStephen Shaw RENEWAL
Izzy B SchemmerBrazilStephen Shaw NEGOTIATION
Silvio B MaletSpainElwin Sharvill NEW
David G SergiGermanyAmy Elsner NEGOTIATION
Claire R DilliardCanadaXuxue Feng RENEWAL
Munro R GillianRussiaStephen Shaw QUALIFIED
Kadeem Z RutaCanadaElwin Sharvill PROPOSAL
Aika G CampainIndiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith A InouyeSpainIoni Bowcher NEGOTIATION
Mayumi Q SlusarskiFranceOnyama Limba PROPOSAL
Morrow K BologniaJapanXuxue Feng NEW
Kadeem W BriddickCanadaAnna Fali PROPOSAL
Jeanfrancois S MorascaBrazilElwin Sharvill RENEWAL
Adams K ChuiIndiaOnyama Limba NEGOTIATION
Claire O CaldareraGermanyXuxue Feng RENEWAL
Arvin M VenereAustraliaAmy Elsner NEGOTIATION
Johnson T PaprockiRussiaAmy Elsner RENEWAL
Jennifer P VenereSpainOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony W MacleadIndia2024-06-11King, Christopher A Esq NEW87Asiya Javayant
1001Maria E WieserFrance2024-06-06Feltz Printing Service NEW90Ivan Magalhaes
1002Kadeem I AmigonRussia2024-06-07Chemel, James L Cpa QUALIFIED53Elwin Sharvill
1003Antonio V FlosiRussia2024-06-09King, Christopher A Esq NEGOTIATION34Ivan Magalhaes
1004Stacey P MorascaUnited Kingdom2024-06-15Rousseaux, Michael Esq UNQUALIFIED35Amy Elsner
1005Isabel J NickaCanada2024-06-20Rangoni Of Florence UNQUALIFIED41Xuxue Feng
1006Izzy H SaylorsBrazil2024-06-08Chemel, James L Cpa NEGOTIATION26Ivan Magalhaes
1007Clifford R RoysterBrazil2024-05-31Feiner Bros NEW20Xuxue Feng
1008Ricardo Z FollerGermany2024-06-24Truhlar And Truhlar Attys NEGOTIATION92Onyama Limba
1009Wickens X FigeroaBrazil2024-06-23Feiner Bros NEW79Bernardo Dominic
1010Antonio X MacleadArgentina2024-06-11Chemel, James L Cpa NEGOTIATION53Elwin Sharvill
1011Ivar R SlusarskiGermany2024-05-27Feiner Bros RENEWAL53Xuxue Feng
1012Aditya K WhobreySpain2024-06-22King, Christopher A Esq UNQUALIFIED66Xuxue Feng
1013Juan O AlbaresCanada2024-06-20Chapman, Ross E Esq UNQUALIFIED51Stephen Shaw
1014Misaki X GauchoItaly2024-06-24Chemel, James L Cpa UNQUALIFIED60Ivan Magalhaes
1015Maria L BriddickJapan2024-06-24Rousseaux, Michael Esq PROPOSAL11Stephen Shaw
1016Sinclair V PerinGermany2024-05-31Buckley Miller Wright UNQUALIFIED92Onyama Limba
1017Aika R DoeSpain2024-06-05Chemel, James L Cpa PROPOSAL20Onyama Limba
1018Johnson Q StensethArgentina2024-06-02Dorl, James J Esq UNQUALIFIED69Asiya Javayant
1019Murillo K RimAustralia2024-06-03Chemel, James L Cpa UNQUALIFIED49Ivan Magalhaes
1020Jones X AlbaresGermany2024-06-05Truhlar And Truhlar Attys UNQUALIFIED46Bernardo Dominic
1021Costa V MaletRussia2024-06-13Chemel, James L Cpa NEW35Ivan Magalhaes
1022Emily Y BologniaRussia2024-05-30Feltz Printing Service RENEWAL96Ivan Magalhaes
1023Octavia G PerinSpain2024-06-18Chanay, Jeffrey A Esq QUALIFIED33Ivan Magalhaes
1024Antonio T ChuiGermany2024-06-23Feiner Bros NEW41Stephen Shaw
1025Aika Y SergiItaly2024-06-15Feltz Printing Service QUALIFIED14Stephen Shaw
1026Morrow N RimArgentina2024-06-01Chanay, Jeffrey A Esq PROPOSAL6Amy Elsner
1027Mujtaba P StensethGermany2024-06-16Commercial Press PROPOSAL83Anna Fali
1028Ashley K DoeBrazil2024-05-30King, Christopher A Esq PROPOSAL10Stephen Shaw
1029Chavez M FerenczFrance2024-05-27Morlong Associates NEGOTIATION7Anna Fali
1030Octavia M WaycottRussia2024-06-14Buckley Miller Wright QUALIFIED8Amy Elsner
1031David L KolmetzRussia2024-06-05Printing Dimensions RENEWAL59Xuxue Feng
1032Darci M MaletUnited Kingdom2024-06-13Commercial Press RENEWAL51Ioni Bowcher
1033Mayumi V SaylorsFrance2024-05-29Buckley Miller Wright UNQUALIFIED65Bernardo Dominic
1034Deepesh M KuskoGermany2024-05-26Chanay, Jeffrey A Esq RENEWAL67Ivan Magalhaes
1035Emily Z ButtCanada2024-06-23Morlong Associates UNQUALIFIED7Bernardo Dominic
1036Kaitlin T StockhamUnited Kingdom2024-06-12Morlong Associates NEW86Bernardo Dominic
1037Jones J DarakjyRussia2024-06-05Printing Dimensions NEGOTIATION44Anna Fali
1038Octavia P BologniaFrance2024-06-03Dorl, James J Esq NEGOTIATION78Stephen Shaw
1039Jennifer K CaudyRussia2024-06-19Printing Dimensions NEGOTIATION57Anna Fali
1040Wickens Z PerinSpain2024-06-04Chapman, Ross E Esq UNQUALIFIED64Elwin Sharvill
1041Maria M KolmetzCanada2024-06-01Chapman, Ross E Esq QUALIFIED13Onyama Limba
1042Nicolas A StockhamFrance2024-06-19Printing Dimensions PROPOSAL27Elwin Sharvill
1043Silvio S MorascaGermany2024-06-22Chemel, James L Cpa PROPOSAL13Stephen Shaw
1044James Y GarufiAustralia2024-06-08Morlong Associates NEW82Ivan Magalhaes
1045Jennifer X GlickUnited Kingdom2024-05-27Chemel, James L Cpa UNQUALIFIED15Ioni Bowcher
1046Darci P NestleJapan2024-06-10Benton, John B Jr QUALIFIED85Stephen Shaw
1047Chavez N WieserBrazil2024-06-12Morlong Associates RENEWAL96Elwin Sharvill
1048Salvatore A AmigonSpain2024-06-02Rousseaux, Michael Esq NEW38Bernardo Dominic
1049Ashley T OstroskyGermany2024-06-23King, Christopher A Esq NEW36Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley T GillianIndiaXuxue Feng NEW
Darci O FigeroaFranceAmy Elsner RENEWAL
Wickens F AlbaresArgentinaAmy Elsner QUALIFIED
Francesco Y ChuiItalyIvan Magalhaes NEW
Johnson X RutaJapanBernardo Dominic PROPOSAL
Greenwood U BologniaJapanBernardo Dominic UNQUALIFIED
Darci J ChuiCanadaAmy Elsner PROPOSAL
Faith B CaldareraBrazilXuxue Feng RENEWAL
Nicolas O VenereBrazilAmy Elsner NEW
Aika T MacleadArgentinaAsiya Javayant QUALIFIED
Leon Z StensethArgentinaIvan Magalhaes PROPOSAL
Cody U RutaGermanyAmy Elsner NEW
Nicolas Q WhobreySpainIoni Bowcher PROPOSAL
David N MaletItalyIoni Bowcher UNQUALIFIED
Mujtaba W FlosiUnited KingdomIvan Magalhaes QUALIFIED
Greenwood Y VocelkaBrazilIoni Bowcher UNQUALIFIED
Salvatore X InouyeAustraliaOnyama Limba UNQUALIFIED
Faith Q VenereFranceAnna Fali NEW
Emily P PaprockiUnited KingdomStephen Shaw QUALIFIED
Jones P ButtAustraliaIvan Magalhaes RENEWAL
Murillo L StockhamSpainStephen Shaw NEW
Wickens I StockhamSpainAsiya Javayant UNQUALIFIED
Jennifer Z KolmetzIndiaAsiya Javayant RENEWAL
Maisha T WaycottRussiaAsiya Javayant NEW
Claire B MacleadRussiaStephen Shaw QUALIFIED
Jefferson Q RutaGermanyIoni Bowcher RENEWAL
Francesco P CampainCanadaIvan Magalhaes NEGOTIATION
Misaki C RimCanadaBernardo Dominic UNQUALIFIED
Murillo P GauchoItalyAnna Fali UNQUALIFIED
Deepesh K GillianJapanAsiya Javayant RENEWAL
Mujtaba Y DilliardArgentinaAmy Elsner RENEWAL
Leon H SaylorsAustraliaBernardo Dominic QUALIFIED
Aditya Z RoysterGermanyBernardo Dominic NEW
Alejandro L KolmetzUnited KingdomElwin Sharvill RENEWAL
Julie L KuskoSpainOnyama Limba PROPOSAL
Greenwood X NickaJapanElwin Sharvill NEGOTIATION
Isabel U AmigonJapanAmy Elsner QUALIFIED
Aruna F DarakjyCanadaAnna Fali UNQUALIFIED
Francesco S ShinkoCanadaAmy Elsner RENEWAL
Aditya N CaldareraArgentinaBernardo Dominic PROPOSAL
Stacey P WieserUnited KingdomOnyama Limba RENEWAL
Greenwood P RutaGermanyAmy Elsner UNQUALIFIED
Ashley X TollnerRussiaStephen Shaw NEW
David W StockhamUnited KingdomIoni Bowcher NEW
Cody O PerinCanadaOnyama Limba NEGOTIATION
Nicolas T WaycottIndiaStephen Shaw NEW
Arvin O WhobreyJapanBernardo Dominic UNQUALIFIED
Wickens T PaprockiArgentinaOnyama Limba PROPOSAL
Misaki H GauchoJapanAsiya Javayant UNQUALIFIED
Francesco Q ChuiJapanStephen Shaw UNQUALIFIED
Frozen Columns
Name
Leon K Saylors
Izzy M Caldarera
Izzy F Rulapaugh
Morrow V Wieser
Jennifer W Kolmetz
Leja Q Doe
Misaki K Slusarski
Chavez S Shinko
Mayumi E Stenseth
Misaki X Bowley
Izzy T Inouye
Munro G Flosi
Clifford M Vocelka
Stacey Z Darakjy
Aruna Q Figeroa
Ashley L Wieser
Mayumi S Kusko
Greenwood S Rim
Murillo X Rim
Julie U Sergi
James U Flosi
Emily Y Royster
Kaitlin V Maclead
Johnson H Poquette
Francesco H Doe
Kaitlin F Sergi
Faith L Poquette
Maisha Z Shinko
Cody J Shinko
Johnson A Darakjy
Costa Z Briddick
Stacey T Nestle
Julie H Schemmer
Leon P Maclead
Chavez X Albares
Clifford D Gaucho
Clifford K Amigon
Greenwood L Slusarski
Greenwood D Shinko
Smith M Vocelka
Leon P Inouye
Cody W Inouye
Misaki S Nestle
Salvatore S Flosi
Ricardo L Royster
Julie D Waycott
Mujtaba A Slusarski
Cody B Caudy
Alejandro T Rim
Ricardo Y Butt
IdCountryDate
1000United Kingdom2024-06-10
1001Brazil2024-05-29
1002France2024-06-20
1003Germany2024-06-24
1004Japan2024-06-05
1005Spain2024-06-24
1006France2024-06-04
1007United Kingdom2024-06-01
1008Spain2024-06-01
1009Brazil2024-06-17
1010Japan2024-06-02
1011Argentina2024-06-19
1012Spain2024-06-19
1013Brazil2024-06-03
1014Germany2024-06-22
1015Australia2024-06-19
1016India2024-06-16
1017Italy2024-06-06
1018Argentina2024-05-31
1019Russia2024-06-01
1020Canada2024-05-31
1021Argentina2024-06-09
1022Argentina2024-06-07
1023Argentina2024-06-22
1024United Kingdom2024-06-04
1025Argentina2024-06-13
1026France2024-06-06
1027Brazil2024-06-04
1028Spain2024-05-27
1029Germany2024-05-31
1030India2024-06-18
1031Italy2024-06-06
1032Canada2024-06-05
1033Canada2024-06-24
1034Germany2024-06-17
1035Australia2024-06-21
1036Japan2024-05-27
1037Canada2024-06-06
1038Canada2024-06-19
1039France2024-06-12
1040Germany2024-05-28
1041Germany2024-06-02
1042France2024-06-17
1043Russia2024-06-01
1044France2024-06-01
1045Australia2024-06-24
1046France2024-06-13
1047Australia2024-06-17
1048Russia2024-06-21
1049Germany2024-05-27

On-Demand Data

NameIdCountryDate
Isabel R Gillian1000France2024-05-27
Cody E Dilliard1001Germany2024-06-14
Smith F Caudy1002Italy2024-06-13
Sinclair E Perin1003Australia2024-06-23
Misaki S Caldarera1004Japan2024-06-03
Antonio P Darakjy1005Spain2024-06-16
Kaitlin U Albares1006United Kingdom2024-05-26
Emily P Wieser1007United Kingdom2024-06-04
Costa U Vocelka1008Australia2024-06-08
Aika J Stenseth1009Italy2024-06-24
Antonio Q Caldarera1010Italy2024-06-11
Costa D Briddick1011France2024-05-29
Rodrigues L Gaucho1012France2024-06-18
Salvatore D Doe1013Canada2024-06-07
Jefferson Q Rulapaugh1014Australia2024-06-08
Leon U Venere1015United Kingdom2024-06-15
Deepesh B Gillian1016France2024-06-05
David K Caldarera1017Spain2024-06-23
Rodrigues H Campain1018Russia2024-06-12
Sinclair D Oldroyd1019Spain2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez V CaldareraFranceAnna Fali NEGOTIATION
Isabel N KolmetzIndiaXuxue Feng NEGOTIATION
Aditya F SlusarskiGermanyAsiya Javayant UNQUALIFIED
Stacey H StensethFranceOnyama Limba NEGOTIATION
Mayumi R RulapaughArgentinaXuxue Feng UNQUALIFIED
Julie X DilliardCanadaIoni Bowcher NEW
Wickens Y DarakjyIndiaOnyama Limba QUALIFIED
James K RutaUnited KingdomXuxue Feng PROPOSAL
Wickens U WaycottUnited KingdomElwin Sharvill RENEWAL
Adams X OldroydGermanyAnna Fali RENEWAL
Claire U AmigonCanadaStephen Shaw NEGOTIATION
Silvio H KolmetzRussiaBernardo Dominic NEW
Smith Z WieserIndiaIoni Bowcher UNQUALIFIED
Adams T KuskoArgentinaAsiya Javayant UNQUALIFIED
Alejandro I WieserIndiaStephen Shaw NEW
Maisha I BriddickItalyIoni Bowcher PROPOSAL
Murillo T OstroskySpainIvan Magalhaes NEW
Aditya Z TollnerBrazilIvan Magalhaes QUALIFIED
Jennifer K IturbideJapanIoni Bowcher NEGOTIATION
Leon I RulapaughAustraliaElwin Sharvill NEGOTIATION
Kaitlin A WaycottUnited KingdomOnyama Limba RENEWAL
Rodrigues Z NestleRussiaAsiya Javayant NEW
Nicolas R RulapaughIndiaXuxue Feng RENEWAL
Greenwood A PaprockiIndiaElwin Sharvill UNQUALIFIED
Juan L IturbideAustraliaBernardo Dominic PROPOSAL
Octavia T MaletRussiaIvan Magalhaes PROPOSAL
Faith W MaletCanadaStephen Shaw RENEWAL
Nicolas O RutaRussiaXuxue Feng NEW
Greenwood C RoysterAustraliaOnyama Limba UNQUALIFIED
Greenwood I CaudyGermanyBernardo Dominic QUALIFIED
Aika I MaletSpainAnna Fali RENEWAL
Greenwood Z RoysterArgentinaAmy Elsner QUALIFIED
Izzy F CampainGermanyAnna Fali PROPOSAL
Isabel N DoeRussiaStephen Shaw NEW
Faith T FollerIndiaOnyama Limba UNQUALIFIED
Clifford P MaletGermanyStephen Shaw PROPOSAL
Isabel C ChuiJapanOnyama Limba PROPOSAL
Leja D RutaRussiaStephen Shaw RENEWAL
Aruna L InouyeAustraliaIvan Magalhaes QUALIFIED
Morrow P KolmetzFranceStephen Shaw NEGOTIATION

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