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
Aditya Q CaudyIndiaIoni Bowcher UNQUALIFIED
Emily B PerinJapanXuxue Feng NEGOTIATION
Cody F PoquetteArgentinaAmy Elsner RENEWAL
Salvatore Z SchemmerArgentinaOnyama Limba RENEWAL
Leja K OldroydIndiaXuxue Feng QUALIFIED
Izzy O AlbaresBrazilElwin Sharvill UNQUALIFIED
Kadeem J MaletFranceBernardo Dominic RENEWAL
Ashley M CaldareraFranceXuxue Feng NEW
Juan O VocelkaIndiaElwin Sharvill PROPOSAL
Antonio B PerinUnited KingdomElwin Sharvill NEW
Deepesh O ShinkoFranceStephen Shaw PROPOSAL
Nicolas Y RulapaughBrazilAmy Elsner PROPOSAL
Tony A RulapaughJapanElwin Sharvill UNQUALIFIED
Chavez B OstroskyCanadaBernardo Dominic QUALIFIED
Kadeem O RoysterRussiaStephen Shaw RENEWAL
Sinclair I StensethRussiaAnna Fali UNQUALIFIED
Murillo L CaudyItalyIvan Magalhaes PROPOSAL
Claire Z FlosiFranceAmy Elsner QUALIFIED
Jeanfrancois K CampainSpainAsiya Javayant RENEWAL
Leon T NestleRussiaAnna Fali UNQUALIFIED
Juan J VocelkaBrazilAmy Elsner NEW
Aruna X InouyeUnited KingdomXuxue Feng NEW
Antonio A OstroskyRussiaBernardo Dominic UNQUALIFIED
Leja X PerinRussiaElwin Sharvill NEW
Julie B SaylorsJapanIoni Bowcher NEW
Tony Y BologniaBrazilIoni Bowcher UNQUALIFIED
Julie Q FollerGermanyIoni Bowcher RENEWAL
James D MacleadRussiaStephen Shaw NEW
Octavia I MacleadGermanyAmy Elsner UNQUALIFIED
Stacey R KuskoFranceOnyama Limba RENEWAL
James M CaldareraUnited KingdomXuxue Feng RENEWAL
Izzy C SaylorsItalyAsiya Javayant RENEWAL
Juan X DilliardBrazilAnna Fali QUALIFIED
Mayumi C WieserUnited KingdomAmy Elsner PROPOSAL
Clifford N MaletItalyAnna Fali UNQUALIFIED
Johnson Q AmigonCanadaAnna Fali QUALIFIED
Isabel E GauchoSpainOnyama Limba NEGOTIATION
Emily L DilliardItalyOnyama Limba QUALIFIED
Misaki D VenereSpainAmy Elsner PROPOSAL
Ashley G GarufiAustraliaIoni Bowcher RENEWAL
Julie N TollnerAustraliaBernardo Dominic NEW
Ricardo Z MorascaJapanBernardo Dominic RENEWAL
Alejandro R SlusarskiAustraliaElwin Sharvill NEW
Munro F FigeroaCanadaElwin Sharvill NEW
Kaitlin W SlusarskiCanadaOnyama Limba QUALIFIED
Clifford V MorascaJapanXuxue Feng NEW
Faith C AlbaresSpainIoni Bowcher RENEWAL
Morrow I BologniaItalyAnna Fali QUALIFIED
Sinclair H MacleadCanadaIoni Bowcher UNQUALIFIED
Leja W MaletArgentinaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
James R FollerGermanyAnna Fali PROPOSAL
Julie J FerenczArgentinaOnyama Limba UNQUALIFIED
Aruna O InouyeItalyOnyama Limba QUALIFIED
Rodrigues H FigeroaJapanElwin Sharvill RENEWAL
Johnson F KolmetzFranceIoni Bowcher NEGOTIATION
Wickens V DoeFranceBernardo Dominic NEW
Adams L MaletIndiaElwin Sharvill QUALIFIED
Julie D SaylorsRussiaAsiya Javayant NEGOTIATION
Smith T ChuiUnited KingdomAsiya Javayant NEW
Jeanfrancois Q RoysterJapanStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci B MaletIndia2025-04-18Chemel, James L Cpa QUALIFIED87Amy Elsner
1001Leja M FerenczIndia2025-04-02Commercial Press QUALIFIED81Stephen Shaw
1002Francesco J TollnerSpain2025-04-17Dorl, James J Esq UNQUALIFIED62Ivan Magalhaes
1003Isabel I GarufiCanada2025-04-01Dorl, James J Esq RENEWAL24Stephen Shaw
1004Maria O PoquetteUnited Kingdom2025-04-02Printing Dimensions NEGOTIATION37Bernardo Dominic
1005Wickens W VenereItaly2025-04-06Rangoni Of Florence UNQUALIFIED84Ioni Bowcher
1006Chavez I BologniaCanada2025-04-25Chapman, Ross E Esq RENEWAL98Stephen Shaw
1007Arvin N InouyeGermany2025-04-29Rousseaux, Michael Esq QUALIFIED72Asiya Javayant
1008Jeanfrancois Y RimArgentina2025-04-10Rangoni Of Florence QUALIFIED67Ivan Magalhaes
1009Juan C FigeroaAustralia2025-04-13Rousseaux, Michael Esq RENEWAL90Ivan Magalhaes
1010Deepesh G FlosiAustralia2025-04-18Buckley Miller Wright NEGOTIATION73Elwin Sharvill
1011Mujtaba B MarrierBrazil2025-04-17Buckley Miller Wright NEGOTIATION7Stephen Shaw
1012Izzy V MorascaIndia2025-03-31Buckley Miller Wright UNQUALIFIED68Stephen Shaw
1013Rodrigues W FollerIndia2025-04-06Commercial Press NEW9Amy Elsner
1014Wickens R StensethUnited Kingdom2025-04-08Buckley Miller Wright RENEWAL65Bernardo Dominic
1015Misaki U WhobreyBrazil2025-04-25King, Christopher A Esq NEGOTIATION86Xuxue Feng
1016Izzy S MacleadRussia2025-04-19Feltz Printing Service QUALIFIED23Ivan Magalhaes
1017Alejandro O GarufiUnited Kingdom2025-04-13Rousseaux, Michael Esq UNQUALIFIED84Asiya Javayant
1018Ashley Y DoeAustralia2025-04-20Feiner Bros RENEWAL43Ioni Bowcher
1019Mayumi M PerinIndia2025-04-16Buckley Miller Wright NEGOTIATION82Amy Elsner
1020Salvatore W WhobreyRussia2025-04-29Morlong Associates NEW22Stephen Shaw
1021Sinclair X WaycottRussia2025-04-06Feiner Bros QUALIFIED91Ivan Magalhaes
1022Tony Y KolmetzArgentina2025-04-21Truhlar And Truhlar Attys UNQUALIFIED78Stephen Shaw
1023Francesco L SaylorsItaly2025-04-06Buckley Miller Wright QUALIFIED13Amy Elsner
1024Smith N FlosiArgentina2025-04-12Feltz Printing Service NEGOTIATION33Anna Fali
1025Aika D VocelkaJapan2025-04-11Truhlar And Truhlar Attys RENEWAL62Ivan Magalhaes
1026Francesco O BologniaArgentina2025-03-31Benton, John B Jr NEGOTIATION2Onyama Limba
1027Aika K NickaJapan2025-04-10Feiner Bros UNQUALIFIED89Bernardo Dominic
1028Leja F RoysterUnited Kingdom2025-04-04Rangoni Of Florence NEW4Elwin Sharvill
1029Leon X WhobreyFrance2025-04-15King, Christopher A Esq PROPOSAL16Onyama Limba
1030Greenwood H DoeGermany2025-04-01Chapman, Ross E Esq RENEWAL22Stephen Shaw
1031Misaki A BriddickFrance2025-04-13Chemel, James L Cpa UNQUALIFIED46Xuxue Feng
1032Wickens L VocelkaGermany2025-03-31Benton, John B Jr UNQUALIFIED96Stephen Shaw
1033James Q RulapaughIndia2025-04-14Feiner Bros UNQUALIFIED26Xuxue Feng
1034Salvatore B ButtIndia2025-04-16Feltz Printing Service UNQUALIFIED71Elwin Sharvill
1035Ashley V PerinItaly2025-03-31Truhlar And Truhlar Attys NEW43Ivan Magalhaes
1036Faith Z DilliardJapan2025-04-29Benton, John B Jr QUALIFIED10Stephen Shaw
1037Ashley E DarakjyJapan2025-04-28Commercial Press NEW4Anna Fali
1038Johnson V RimBrazil2025-04-17Commercial Press NEGOTIATION6Amy Elsner
1039Greenwood E BologniaGermany2025-04-19Printing Dimensions NEW21Stephen Shaw
1040Maisha M BologniaCanada2025-04-19Rangoni Of Florence NEW13Ivan Magalhaes
1041Munro J FerenczUnited Kingdom2025-04-10Feltz Printing Service QUALIFIED38Bernardo Dominic
1042Greenwood I GlickRussia2025-03-31Morlong Associates NEGOTIATION96Xuxue Feng
1043Misaki G KolmetzIndia2025-04-09Commercial Press QUALIFIED87Amy Elsner
1044Jennifer H FerenczBrazil2025-04-12Dorl, James J Esq NEGOTIATION48Asiya Javayant
1045Claire F IturbideGermany2025-04-23Rousseaux, Michael Esq UNQUALIFIED68Onyama Limba
1046Kaitlin C InouyeBrazil2025-04-12Feltz Printing Service NEW58Onyama Limba
1047Stacey T NickaSpain2025-04-01Feltz Printing Service UNQUALIFIED38Onyama Limba
1048Deepesh J AlbaresArgentina2025-04-23Truhlar And Truhlar Attys NEGOTIATION14Ioni Bowcher
1049Darci N OstroskyCanada2025-04-22Rousseaux, Michael Esq QUALIFIED55Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Morrow E VocelkaItalyAnna Fali NEGOTIATION
Murillo F RimIndiaAnna Fali RENEWAL
Darci C IturbideUnited KingdomIoni Bowcher QUALIFIED
Juan S ChuiArgentinaIoni Bowcher NEGOTIATION
Tony I PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Emily S BowleyUnited KingdomAsiya Javayant QUALIFIED
Alejandro N GillianItalyOnyama Limba NEGOTIATION
Chavez U InouyeRussiaElwin Sharvill QUALIFIED
Jefferson P RutaItalyXuxue Feng NEGOTIATION
Arvin G BriddickRussiaAmy Elsner NEGOTIATION
Isabel V FerenczArgentinaBernardo Dominic NEGOTIATION
Mujtaba R ShinkoBrazilIoni Bowcher RENEWAL
Nicolas X SchemmerCanadaStephen Shaw NEW
Julie N VenereAustraliaAsiya Javayant QUALIFIED
Greenwood G BriddickFranceStephen Shaw PROPOSAL
Mujtaba U MarrierCanadaElwin Sharvill UNQUALIFIED
Octavia Y ButtCanadaIoni Bowcher NEGOTIATION
Leja T DoeArgentinaIoni Bowcher PROPOSAL
Jennifer N GarufiItalyOnyama Limba UNQUALIFIED
James O RimAustraliaAnna Fali PROPOSAL
Leon L SchemmerGermanyElwin Sharvill RENEWAL
Johnson F DoeRussiaBernardo Dominic QUALIFIED
Julie B RutaArgentinaIvan Magalhaes QUALIFIED
Morrow U FollerGermanyElwin Sharvill QUALIFIED
Smith K DarakjyIndiaXuxue Feng RENEWAL
Jennifer Y GauchoUnited KingdomStephen Shaw QUALIFIED
Faith I BologniaBrazilXuxue Feng NEGOTIATION
Aruna M MaletBrazilXuxue Feng QUALIFIED
Emily O WieserAustraliaAmy Elsner NEW
Leja W WieserAustraliaIvan Magalhaes PROPOSAL
Johnson G KolmetzSpainOnyama Limba NEW
Kadeem E IturbideBrazilElwin Sharvill QUALIFIED
Nicolas V CaudyIndiaOnyama Limba PROPOSAL
Antonio Y SergiBrazilIvan Magalhaes RENEWAL
Maria N PoquetteJapanAmy Elsner NEGOTIATION
Kaitlin D PaprockiFranceAsiya Javayant PROPOSAL
Mayumi A SergiUnited KingdomAnna Fali PROPOSAL
Wickens A NickaBrazilStephen Shaw UNQUALIFIED
Jennifer Y DarakjyArgentinaOnyama Limba PROPOSAL
Rodrigues J WieserFranceXuxue Feng QUALIFIED
Sinclair M SergiRussiaAsiya Javayant RENEWAL
Deepesh F PoquetteFranceXuxue Feng RENEWAL
Aditya T PaprockiRussiaAnna Fali QUALIFIED
Claire K DarakjyUnited KingdomIoni Bowcher QUALIFIED
Nicolas N GillianJapanIvan Magalhaes QUALIFIED
Izzy G WieserItalyIvan Magalhaes NEW
Smith B TollnerBrazilStephen Shaw PROPOSAL
Darci C FlosiCanadaAnna Fali NEW
Munro R ChuiAustraliaIvan Magalhaes UNQUALIFIED
Juan Z WhobreyRussiaAnna Fali UNQUALIFIED
Frozen Columns
Name
Ashley I Caudy
Julie E Kolmetz
Leja N Royster
Smith T Briddick
Octavia V Whobrey
Jones K Sergi
Misaki T Kolmetz
Clifford P Dilliard
Antonio R Gaucho
Wickens L Inouye
Costa Y Bolognia
Leon T Oldroyd
Juan K Morasca
Stacey X Paprocki
Ricardo C Rulapaugh
Adams E Stockham
Izzy F Garufi
Misaki Z Malet
Clifford F Perin
Arvin V Nicka
Aika N Glick
Murillo X Maclead
Kadeem G Kusko
Chavez A Flosi
Aruna A Saylors
Rodrigues J Saylors
Alejandro X Foller
Smith O Kusko
Clifford H Inouye
Greenwood K Malet
Isabel E Malet
Jennifer V Kolmetz
Salvatore G Caldarera
Julie S Shinko
Wickens E Rulapaugh
Chavez C Flosi
Kaitlin O Inouye
Claire F Shinko
Deepesh C Caudy
Kaitlin B Slusarski
Mujtaba G Slusarski
Julie G Garufi
Claire T Sergi
James X Malet
Jones N Darakjy
Isabel Y Nestle
Faith L Butt
Cody O Iturbide
Jeanfrancois V Malet
Jennifer L Butt
IdCountryDate
1000Japan2025-04-23
1001India2025-04-14
1002Germany2025-04-19
1003India2025-04-17
1004Australia2025-04-27
1005Brazil2025-04-05
1006Brazil2025-04-20
1007India2025-04-12
1008Australia2025-04-08
1009Australia2025-04-11
1010Canada2025-04-23
1011Argentina2025-04-13
1012Germany2025-04-17
1013Canada2025-04-28
1014India2025-04-26
1015Canada2025-04-08
1016Russia2025-04-19
1017Russia2025-04-08
1018Japan2025-04-16
1019Spain2025-04-28
1020Brazil2025-04-20
1021United Kingdom2025-04-22
1022Spain2025-04-25
1023Italy2025-04-14
1024United Kingdom2025-03-31
1025Japan2025-04-12
1026Canada2025-04-26
1027Japan2025-04-03
1028India2025-04-10
1029Italy2025-03-31
1030Italy2025-04-03
1031Italy2025-04-12
1032United Kingdom2025-04-13
1033Germany2025-04-23
1034Russia2025-04-14
1035Russia2025-04-04
1036Germany2025-04-25
1037Argentina2025-04-22
1038Germany2025-04-06
1039Japan2025-04-04
1040United Kingdom2025-04-21
1041Australia2025-04-08
1042Australia2025-04-19
1043India2025-04-01
1044Spain2025-04-19
1045France2025-04-09
1046Russia2025-04-05
1047Argentina2025-04-24
1048Argentina2025-04-21
1049United Kingdom2025-04-01

On-Demand Data

NameIdCountryDate
Ashley D Perin1000Italy2025-04-12
Octavia X Shinko1001France2025-04-24
Alejandro U Ferencz1002Brazil2025-04-02
Aika T Paprocki1003Russia2025-04-06
Kadeem M Foller1004Spain2025-04-28
Smith F Inouye1005Germany2025-04-25
Ivar E Amigon1006Japan2025-04-29
Leon O Morasca1007Australia2025-04-11
Wickens F Albares1008Brazil2025-04-09
Isabel F Schemmer1009Japan2025-04-16
Clifford E Ferencz1010Argentina2025-04-29
Rodrigues Q Stenseth1011India2025-04-09
Octavia I Rulapaugh1012France2025-04-20
Faith R Foller1013India2025-04-21
Juan E Shinko1014United Kingdom2025-04-04
Ricardo X Kolmetz1015Germany2025-04-01
Mayumi L Glick1016Spain2025-04-04
Costa I Wieser1017Germany2025-04-08
Kadeem N Foller1018Spain2025-04-26
Cody U Poquette1019France2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood U RoysterGermanyAmy Elsner UNQUALIFIED
Mujtaba K FollerArgentinaAnna Fali QUALIFIED
Arvin B ButtItalyAsiya Javayant RENEWAL
Chavez H MaletRussiaIvan Magalhaes UNQUALIFIED
Mayumi K IturbideUnited KingdomXuxue Feng NEGOTIATION
Aika S MorascaArgentinaStephen Shaw RENEWAL
Izzy G AlbaresRussiaElwin Sharvill QUALIFIED
Mujtaba Q MarrierRussiaIvan Magalhaes QUALIFIED
Leja Z FerenczUnited KingdomIoni Bowcher PROPOSAL
Wickens G InouyeSpainOnyama Limba NEGOTIATION
Morrow M BriddickGermanyOnyama Limba RENEWAL
Chavez Q AmigonIndiaAsiya Javayant RENEWAL
Chavez L PaprockiAustraliaXuxue Feng QUALIFIED
Aditya N GillianArgentinaXuxue Feng PROPOSAL
Silvio S KuskoGermanyAsiya Javayant NEGOTIATION
Faith N RoysterJapanXuxue Feng NEW
Claire C SlusarskiFranceElwin Sharvill NEGOTIATION
Ivar M GillianAustraliaIoni Bowcher PROPOSAL
Leon V ChuiAustraliaStephen Shaw QUALIFIED
Leon A DarakjyRussiaAsiya Javayant RENEWAL
Juan Z MaletAustraliaOnyama Limba NEGOTIATION
Aruna H ChuiSpainElwin Sharvill RENEWAL
Smith E OstroskyBrazilXuxue Feng NEW
Wickens O DarakjyItalyStephen Shaw NEGOTIATION
Misaki Z GillianBrazilAsiya Javayant PROPOSAL
Salvatore Q CaudyBrazilBernardo Dominic PROPOSAL
Mayumi M KolmetzBrazilIvan Magalhaes UNQUALIFIED
Mayumi M WieserGermanyAnna Fali PROPOSAL
Mujtaba P FlosiFranceIvan Magalhaes PROPOSAL
Izzy M PerinIndiaOnyama Limba RENEWAL
Stacey B GarufiItalyBernardo Dominic NEW
Juan X CaudyRussiaOnyama Limba NEW
Deepesh P SchemmerIndiaIvan Magalhaes NEW
Octavia B DoeAustraliaAnna Fali NEGOTIATION
Aditya Z VocelkaJapanIvan Magalhaes QUALIFIED
Johnson S ShinkoRussiaAsiya Javayant RENEWAL
Leja L AlbaresRussiaAnna Fali PROPOSAL
Claire C WhobreyBrazilXuxue Feng NEW
Ivar U RulapaughSpainElwin Sharvill UNQUALIFIED
Deepesh M MaletFranceBernardo Dominic 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>