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
Tony K AlbaresGermanyAmy Elsner UNQUALIFIED
Juan Z GarufiIndiaAmy Elsner NEW
Jennifer G FigeroaIndiaBernardo Dominic QUALIFIED
Juan C MaletAustraliaBernardo Dominic NEW
Octavia D KuskoAustraliaXuxue Feng RENEWAL
Jefferson T RutaArgentinaIvan Magalhaes NEGOTIATION
Munro C CaudyCanadaElwin Sharvill PROPOSAL
Tony K PerinSpainIoni Bowcher UNQUALIFIED
Mujtaba O WhobreyFranceAsiya Javayant PROPOSAL
Clifford I OldroydSpainAmy Elsner UNQUALIFIED
Clifford B MorascaGermanyAnna Fali QUALIFIED
Adams C OstroskyFranceStephen Shaw PROPOSAL
Chavez T BriddickRussiaXuxue Feng PROPOSAL
Jennifer S WaycottBrazilIvan Magalhaes UNQUALIFIED
Nicolas V KuskoFranceOnyama Limba PROPOSAL
Johnson Q OstroskyBrazilElwin Sharvill RENEWAL
Aika M FlosiAustraliaAsiya Javayant NEW
Adams R VocelkaArgentinaBernardo Dominic PROPOSAL
Aika F VenereUnited KingdomAnna Fali RENEWAL
Wickens P FerenczItalyAnna Fali NEW
Stacey H DoeGermanyIoni Bowcher NEW
Emily A CampainGermanyAsiya Javayant QUALIFIED
Mayumi D RutaBrazilAsiya Javayant NEW
Juan H RutaUnited KingdomBernardo Dominic UNQUALIFIED
Silvio C DarakjyGermanyAmy Elsner QUALIFIED
Izzy L NickaIndiaIvan Magalhaes NEGOTIATION
Jefferson L PaprockiFranceBernardo Dominic UNQUALIFIED
Aditya D OldroydRussiaIvan Magalhaes NEGOTIATION
Johnson S SlusarskiAustraliaAmy Elsner UNQUALIFIED
Jennifer D OstroskyBrazilIvan Magalhaes RENEWAL
Adams Y GillianBrazilIvan Magalhaes PROPOSAL
James X BowleyRussiaStephen Shaw NEGOTIATION
Costa T MaletUnited KingdomOnyama Limba UNQUALIFIED
Smith O TollnerJapanElwin Sharvill NEGOTIATION
Murillo U VenereRussiaAmy Elsner UNQUALIFIED
Adams Z PoquetteBrazilXuxue Feng QUALIFIED
Aika E NickaArgentinaOnyama Limba PROPOSAL
Clifford A NickaAustraliaXuxue Feng NEGOTIATION
Costa Z StockhamItalyXuxue Feng PROPOSAL
Isabel T MaletBrazilXuxue Feng RENEWAL
Johnson R AmigonArgentinaAmy Elsner QUALIFIED
Jennifer Q MacleadAustraliaStephen Shaw NEGOTIATION
Morrow F GauchoUnited KingdomOnyama Limba PROPOSAL
Cody R OstroskyFranceIvan Magalhaes UNQUALIFIED
Stacey R BriddickGermanyBernardo Dominic NEGOTIATION
Aruna S StensethUnited KingdomAsiya Javayant PROPOSAL
Darci J TollnerIndiaElwin Sharvill QUALIFIED
Misaki X ChuiCanadaAmy Elsner UNQUALIFIED
Octavia A MaletIndiaElwin Sharvill PROPOSAL
James C VocelkaRussiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois L SchemmerItalyXuxue Feng QUALIFIED
Claire F VocelkaAustraliaOnyama Limba QUALIFIED
Jennifer A MaletFranceOnyama Limba PROPOSAL
Deepesh D ShinkoCanadaXuxue Feng PROPOSAL
Murillo S StensethRussiaStephen Shaw QUALIFIED
Faith M RulapaughRussiaXuxue Feng UNQUALIFIED
Antonio F PoquetteGermanyXuxue Feng NEGOTIATION
Jones Q PoquetteFranceIvan Magalhaes QUALIFIED
David C DarakjyUnited KingdomElwin Sharvill NEGOTIATION
Mayumi A SlusarskiRussiaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo Q OldroydCanada2024-06-12Buckley Miller Wright UNQUALIFIED47Xuxue Feng
1001Wickens W RutaItaly2024-06-16Feltz Printing Service QUALIFIED3Bernardo Dominic
1002Chavez Q MorascaArgentina2024-05-30Commercial Press NEW33Amy Elsner
1003Morrow X DarakjyAustralia2024-05-24Dorl, James J Esq UNQUALIFIED26Xuxue Feng
1004Jones Z ShinkoAustralia2024-06-05Rousseaux, Michael Esq NEW96Xuxue Feng
1005Emily J OldroydRussia2024-06-22Rousseaux, Michael Esq NEW61Anna Fali
1006Misaki Q GillianIndia2024-06-05Chanay, Jeffrey A Esq PROPOSAL43Elwin Sharvill
1007Deepesh E OldroydGermany2024-05-28Chapman, Ross E Esq RENEWAL1Asiya Javayant
1008David K KuskoCanada2024-06-15Truhlar And Truhlar Attys QUALIFIED75Onyama Limba
1009Arvin A PerinJapan2024-05-24Morlong Associates QUALIFIED97Onyama Limba
1010Juan Z SergiUnited Kingdom2024-05-29Commercial Press RENEWAL65Ivan Magalhaes
1011Stacey B WieserAustralia2024-06-17Benton, John B Jr NEGOTIATION79Elwin Sharvill
1012Alejandro L KolmetzCanada2024-05-26Morlong Associates NEGOTIATION92Ivan Magalhaes
1013Jeanfrancois U MorascaRussia2024-06-21Morlong Associates QUALIFIED80Stephen Shaw
1014Claire Y StockhamJapan2024-06-16Benton, John B Jr QUALIFIED60Bernardo Dominic
1015Isabel B WieserAustralia2024-06-11Truhlar And Truhlar Attys RENEWAL99Ioni Bowcher
1016Silvio O FerenczCanada2024-06-13Truhlar And Truhlar Attys QUALIFIED46Amy Elsner
1017Jefferson U RulapaughItaly2024-06-18Buckley Miller Wright UNQUALIFIED72Xuxue Feng
1018Leja C KuskoRussia2024-06-04Chemel, James L Cpa QUALIFIED98Amy Elsner
1019Johnson T IturbideAustralia2024-06-12Rangoni Of Florence QUALIFIED47Bernardo Dominic
1020Aika R DilliardJapan2024-05-30Truhlar And Truhlar Attys NEW17Ioni Bowcher
1021Deepesh O VocelkaBrazil2024-06-13Buckley Miller Wright RENEWAL75Asiya Javayant
1022Greenwood I GauchoArgentina2024-06-08Truhlar And Truhlar Attys NEW98Ivan Magalhaes
1023Salvatore O WhobreyIndia2024-06-20Feltz Printing Service NEGOTIATION25Anna Fali
1024Leon J OldroydBrazil2024-06-05Rangoni Of Florence RENEWAL2Ivan Magalhaes
1025Juan J WieserCanada2024-06-04Dorl, James J Esq RENEWAL27Stephen Shaw
1026Salvatore P GauchoJapan2024-05-29Chanay, Jeffrey A Esq NEW56Xuxue Feng
1027Ricardo A StensethCanada2024-06-20Commercial Press QUALIFIED67Onyama Limba
1028Clifford P BologniaAustralia2024-05-27Morlong Associates NEW23Bernardo Dominic
1029Juan W KuskoBrazil2024-06-20Commercial Press NEGOTIATION12Amy Elsner
1030Kaitlin Z ButtGermany2024-06-19Commercial Press PROPOSAL14Elwin Sharvill
1031Alejandro E WhobreyIndia2024-06-11Rousseaux, Michael Esq NEGOTIATION45Amy Elsner
1032David F CaudyGermany2024-05-26Truhlar And Truhlar Attys PROPOSAL84Ioni Bowcher
1033Rodrigues Q RoysterItaly2024-06-17Benton, John B Jr UNQUALIFIED34Onyama Limba
1034Aruna J GauchoFrance2024-06-18Buckley Miller Wright QUALIFIED11Onyama Limba
1035Maria B GillianFrance2024-06-10Printing Dimensions PROPOSAL40Stephen Shaw
1036Leja I PerinRussia2024-06-06Chapman, Ross E Esq QUALIFIED91Onyama Limba
1037Octavia Z NickaSpain2024-06-19Benton, John B Jr RENEWAL75Xuxue Feng
1038David R RimItaly2024-05-31Chemel, James L Cpa UNQUALIFIED92Stephen Shaw
1039Kaitlin S RutaBrazil2024-06-03Rousseaux, Michael Esq UNQUALIFIED56Ioni Bowcher
1040Leon R WaycottCanada2024-06-05King, Christopher A Esq QUALIFIED66Bernardo Dominic
1041Tony K BriddickArgentina2024-06-14Chapman, Ross E Esq UNQUALIFIED39Bernardo Dominic
1042Mayumi I RimFrance2024-06-10Chapman, Ross E Esq NEGOTIATION12Ivan Magalhaes
1043Antonio Y DoeAustralia2024-05-28Morlong Associates NEW87Xuxue Feng
1044Deepesh X NickaCanada2024-06-03Printing Dimensions PROPOSAL74Anna Fali
1045Greenwood N NestleItaly2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED75Ivan Magalhaes
1046Aruna Z OldroydGermany2024-06-01King, Christopher A Esq RENEWAL44Anna Fali
1047Kaitlin S RoysterJapan2024-05-28Buckley Miller Wright NEW47Ivan Magalhaes
1048Ricardo F GillianIndia2024-05-25Dorl, James J Esq NEGOTIATION85Ioni Bowcher
1049Nicolas B RoysterItaly2024-06-15King, Christopher A Esq PROPOSAL18Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Johnson E KuskoFranceIvan Magalhaes NEGOTIATION
Aditya U AmigonArgentinaAsiya Javayant RENEWAL
Chavez E DilliardAustraliaAsiya Javayant RENEWAL
Alejandro C NestleJapanAsiya Javayant NEW
Francesco T BriddickIndiaXuxue Feng UNQUALIFIED
Leon J MaletIndiaXuxue Feng RENEWAL
Claire A FollerUnited KingdomXuxue Feng RENEWAL
Julie F CaudyJapanOnyama Limba PROPOSAL
Emily M OldroydAustraliaIoni Bowcher RENEWAL
Tony C RutaItalyAmy Elsner NEW
Antonio K CampainGermanyStephen Shaw QUALIFIED
Mujtaba E GlickItalyXuxue Feng UNQUALIFIED
Octavia T MarrierAustraliaAnna Fali UNQUALIFIED
Julie B RimFranceAnna Fali NEGOTIATION
Mayumi M BriddickItalyStephen Shaw QUALIFIED
Aditya U WieserAustraliaOnyama Limba RENEWAL
Munro R InouyeBrazilAnna Fali PROPOSAL
Morrow I MorascaBrazilElwin Sharvill RENEWAL
Smith B KolmetzBrazilXuxue Feng QUALIFIED
Murillo J AmigonJapanElwin Sharvill PROPOSAL
Mayumi Y TollnerGermanyIoni Bowcher NEGOTIATION
Ashley Y RimSpainBernardo Dominic NEGOTIATION
Murillo Y AlbaresSpainStephen Shaw QUALIFIED
Wickens M SchemmerFranceBernardo Dominic NEW
Ashley V CaudyItalyBernardo Dominic NEW
Maisha F PerinFranceIvan Magalhaes RENEWAL
Maisha U ChuiGermanyElwin Sharvill UNQUALIFIED
Aika A DoeJapanBernardo Dominic NEGOTIATION
Deepesh Y PaprockiIndiaOnyama Limba NEW
Rodrigues J PaprockiUnited KingdomAnna Fali NEGOTIATION
Emily Y DilliardCanadaIvan Magalhaes RENEWAL
Greenwood Z DoeFranceOnyama Limba PROPOSAL
Arvin V AmigonAustraliaElwin Sharvill QUALIFIED
David P BowleySpainStephen Shaw RENEWAL
Mayumi I SergiGermanyOnyama Limba QUALIFIED
Sinclair U MaletIndiaAsiya Javayant NEGOTIATION
Misaki B OldroydAustraliaAmy Elsner NEGOTIATION
Clifford J IturbideBrazilIoni Bowcher NEGOTIATION
Sinclair P OldroydCanadaAmy Elsner UNQUALIFIED
Nicolas M NickaSpainElwin Sharvill QUALIFIED
Arvin C FollerCanadaAnna Fali RENEWAL
Johnson Q GarufiItalyBernardo Dominic NEW
Costa O AmigonCanadaOnyama Limba RENEWAL
Misaki M DarakjySpainIoni Bowcher UNQUALIFIED
Wickens E CaudyRussiaAsiya Javayant QUALIFIED
Leja S WaycottItalyIvan Magalhaes NEGOTIATION
Aruna U IturbideBrazilOnyama Limba QUALIFIED
Jones Q MorascaFranceXuxue Feng QUALIFIED
Adams J PerinSpainIvan Magalhaes NEW
Leon C StensethGermanyAnna Fali RENEWAL
Frozen Columns
Name
Octavia A Rim
Stacey K Ostrosky
Aruna J Whobrey
James U Paprocki
Munro K Dilliard
Claire F Bolognia
Antonio M Iturbide
Isabel X Waycott
Clifford S Glick
Maisha I Poquette
Jeanfrancois J Kusko
Juan N Albares
Wickens V Nicka
Mujtaba W Ruta
Wickens T Poquette
Faith D Malet
Maria P Iturbide
Chavez U Oldroyd
Sinclair W Ostrosky
Deepesh Y Oldroyd
Jennifer G Venere
Tony U Stenseth
Stacey K Tollner
Claire J Ferencz
Rodrigues I Whobrey
Greenwood S Tollner
David U Kolmetz
Leja H Butt
Maisha Z Whobrey
Smith G Caudy
Jefferson U Albares
Ashley F Gaucho
Leja X Venere
Leja J Briddick
Maisha P Marrier
Maisha C Wieser
Ivar M Venere
Claire F Glick
Ivar D Gaucho
Jeanfrancois S Venere
Antonio Z Poquette
David W Venere
Wickens S Slusarski
Costa C Oldroyd
Jones M Royster
Emily K Marrier
Isabel W Amigon
Jones N Gillian
Salvatore A Briddick
Leja U Maclead
IdCountryDate
1000United Kingdom2024-06-08
1001Argentina2024-06-15
1002France2024-05-24
1003France2024-06-03
1004Russia2024-06-09
1005Brazil2024-06-19
1006Spain2024-05-30
1007Canada2024-06-05
1008Spain2024-06-07
1009France2024-06-04
1010Australia2024-06-22
1011Russia2024-05-31
1012Italy2024-06-22
1013United Kingdom2024-05-27
1014France2024-06-10
1015Canada2024-05-30
1016Argentina2024-06-07
1017Germany2024-06-03
1018United Kingdom2024-06-07
1019Spain2024-06-22
1020Canada2024-06-19
1021Spain2024-05-28
1022Germany2024-06-01
1023India2024-06-19
1024France2024-06-17
1025Russia2024-06-19
1026India2024-06-10
1027Germany2024-05-31
1028India2024-06-09
1029Spain2024-06-15
1030Japan2024-06-17
1031Japan2024-06-13
1032Russia2024-06-18
1033Russia2024-06-22
1034Australia2024-06-10
1035Germany2024-06-20
1036Japan2024-06-09
1037France2024-05-31
1038United Kingdom2024-06-07
1039United Kingdom2024-06-20
1040Canada2024-06-18
1041France2024-05-29
1042India2024-06-04
1043Japan2024-06-12
1044Japan2024-06-07
1045Brazil2024-06-01
1046United Kingdom2024-06-20
1047Canada2024-06-12
1048France2024-05-24
1049Australia2024-06-13

On-Demand Data

NameIdCountryDate
Isabel O Slusarski1000Spain2024-06-22
James A Oldroyd1001United Kingdom2024-06-19
Maisha E Chui1002Germany2024-05-24
Emily L Caudy1003Italy2024-05-29
Munro T Sergi1004Spain2024-05-28
Jeanfrancois I Poquette1005Spain2024-06-17
Francesco B Sergi1006Brazil2024-06-16
Ashley Z Whobrey1007Argentina2024-06-17
Greenwood U Gaucho1008Australia2024-05-31
Claire J Darakjy1009Canada2024-06-05
Misaki Q Gillian1010Germany2024-05-24
Ashley Y Waycott1011Australia2024-06-11
Arvin E Bowley1012India2024-05-30
Faith Q Ferencz1013Canada2024-06-14
Rodrigues Q Vocelka1014France2024-06-01
Jeanfrancois W Inouye1015Russia2024-06-20
Julie V Kolmetz1016Germany2024-06-16
Julie C Waycott1017Germany2024-06-14
Mayumi X Venere1018Canada2024-06-20
James R Poquette1019Brazil2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer O RoysterUnited KingdomXuxue Feng UNQUALIFIED
Adams C FerenczRussiaAnna Fali QUALIFIED
Murillo O AlbaresGermanyIvan Magalhaes UNQUALIFIED
Morrow Y FerenczJapanAsiya Javayant PROPOSAL
Cody Q GarufiGermanyAsiya Javayant NEW
Jennifer P AlbaresJapanStephen Shaw NEW
Munro V WieserJapanIoni Bowcher PROPOSAL
Octavia C VocelkaArgentinaOnyama Limba PROPOSAL
Izzy F CaudyGermanyOnyama Limba UNQUALIFIED
Maisha Y ButtGermanyAnna Fali PROPOSAL
Clifford D FerenczBrazilOnyama Limba UNQUALIFIED
Salvatore X DarakjyUnited KingdomBernardo Dominic NEW
Ashley B SaylorsFranceXuxue Feng NEW
Octavia B FigeroaGermanyStephen Shaw UNQUALIFIED
Greenwood V IturbideSpainOnyama Limba NEGOTIATION
Maria C FigeroaAustraliaBernardo Dominic UNQUALIFIED
Jones Q KuskoSpainOnyama Limba PROPOSAL
Wickens Z CaudyCanadaXuxue Feng QUALIFIED
Adams Z FlosiItalyAnna Fali UNQUALIFIED
Sinclair O PaprockiCanadaElwin Sharvill UNQUALIFIED
Kaitlin B ChuiArgentinaStephen Shaw UNQUALIFIED
Leon C BriddickJapanIvan Magalhaes NEW
Aditya L GlickUnited KingdomElwin Sharvill QUALIFIED
Chavez C FerenczFranceXuxue Feng PROPOSAL
Arvin J FollerSpainXuxue Feng RENEWAL
Juan D MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Faith G PerinRussiaOnyama Limba PROPOSAL
Maria H BriddickArgentinaStephen Shaw UNQUALIFIED
Leon L RimFranceElwin Sharvill NEGOTIATION
Jones E SergiRussiaAsiya Javayant QUALIFIED
Murillo U SchemmerCanadaAsiya Javayant UNQUALIFIED
Adams K SchemmerRussiaAnna Fali PROPOSAL
Deepesh J MaletIndiaAsiya Javayant NEGOTIATION
Wickens F MaletBrazilIoni Bowcher PROPOSAL
Antonio V VocelkaUnited KingdomXuxue Feng NEW
Antonio U AmigonIndiaBernardo Dominic NEW
Munro S StensethUnited KingdomOnyama Limba QUALIFIED
Francesco F NestleCanadaBernardo Dominic NEGOTIATION
Leon R FigeroaSpainOnyama Limba RENEWAL
Salvatore B GlickJapanAmy Elsner 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>