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
Johnson C VenereItalyOnyama Limba NEW
Darci K MorascaFranceIvan Magalhaes RENEWAL
Aika P DoeRussiaBernardo Dominic NEW
Silvio P FerenczJapanXuxue Feng PROPOSAL
James E SchemmerCanadaXuxue Feng PROPOSAL
Octavia F MorascaGermanyElwin Sharvill NEGOTIATION
Munro I MaletGermanyAsiya Javayant RENEWAL
Faith N SaylorsFranceIvan Magalhaes QUALIFIED
Arvin W SlusarskiItalyElwin Sharvill NEW
Kadeem Y BologniaIndiaIvan Magalhaes NEW
Jeanfrancois B VenereFranceAmy Elsner NEGOTIATION
Clifford U SaylorsFranceXuxue Feng UNQUALIFIED
Costa P KuskoUnited KingdomElwin Sharvill NEW
Jefferson N NickaCanadaIvan Magalhaes NEW
James E SaylorsJapanAsiya Javayant NEGOTIATION
Mujtaba Z CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
Adams L MaletCanadaIvan Magalhaes NEGOTIATION
Adams F IturbideIndiaAsiya Javayant PROPOSAL
Salvatore W SergiArgentinaAmy Elsner UNQUALIFIED
Salvatore J TollnerJapanOnyama Limba RENEWAL
Silvio P FigeroaBrazilElwin Sharvill UNQUALIFIED
Sinclair Q OldroydGermanyBernardo Dominic PROPOSAL
Emily R BriddickIndiaIvan Magalhaes NEGOTIATION
Smith S MaletUnited KingdomIoni Bowcher RENEWAL
Tony G TollnerFranceAsiya Javayant UNQUALIFIED
Johnson K BriddickAustraliaAnna Fali PROPOSAL
Isabel Y WhobreyRussiaBernardo Dominic UNQUALIFIED
Clifford W SaylorsArgentinaIvan Magalhaes RENEWAL
Maria B GillianArgentinaXuxue Feng NEGOTIATION
Morrow B WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba B GauchoBrazilAmy Elsner NEW
Jennifer R RoysterBrazilAnna Fali NEGOTIATION
Emily G PerinSpainAnna Fali UNQUALIFIED
Francesco G GlickArgentinaElwin Sharvill RENEWAL
Kaitlin R CaldareraGermanyXuxue Feng NEW
Francesco T FerenczBrazilAnna Fali QUALIFIED
Leja U MarrierIndiaBernardo Dominic RENEWAL
Octavia J WhobreyJapanElwin Sharvill NEW
Jeanfrancois V FerenczRussiaBernardo Dominic PROPOSAL
Greenwood M SaylorsGermanyIvan Magalhaes NEW
Jennifer I GillianFranceOnyama Limba UNQUALIFIED
Jones Y RutaUnited KingdomStephen Shaw QUALIFIED
Claire Q CaldareraGermanyOnyama Limba PROPOSAL
Juan F SchemmerFranceBernardo Dominic PROPOSAL
Jennifer K FigeroaBrazilElwin Sharvill PROPOSAL
Leon F NestleItalyBernardo Dominic NEW
Antonio D MorascaGermanyBernardo Dominic RENEWAL
Salvatore W DoeIndiaXuxue Feng NEGOTIATION
Juan L MaletCanadaAnna Fali RENEWAL
Mayumi O CaldareraFranceAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin Y KolmetzUnited KingdomOnyama Limba RENEWAL
Rodrigues F SaylorsIndiaOnyama Limba NEGOTIATION
Ivar B InouyeRussiaOnyama Limba QUALIFIED
Deepesh Z ShinkoJapanAnna Fali NEW
Stacey T PerinFranceXuxue Feng RENEWAL
Arvin D PerinBrazilBernardo Dominic QUALIFIED
Maria G SchemmerSpainStephen Shaw NEW
Leon U TollnerCanadaStephen Shaw NEW
David Y CampainUnited KingdomIoni Bowcher QUALIFIED
Munro J GarufiRussiaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez P AlbaresIndia2025-04-17Dorl, James J Esq RENEWAL43Onyama Limba
1001Claire N NestleBrazil2025-04-22Buckley Miller Wright RENEWAL43Onyama Limba
1002Johnson K SergiCanada2025-04-24Commercial Press NEGOTIATION61Onyama Limba
1003Claire J CaudyItaly2025-04-12Truhlar And Truhlar Attys NEGOTIATION26Onyama Limba
1004James A SaylorsGermany2025-04-18Truhlar And Truhlar Attys NEGOTIATION66Anna Fali
1005Octavia I VenereArgentina2025-04-29Rangoni Of Florence NEGOTIATION87Elwin Sharvill
1006Misaki P FlosiSpain2025-04-15Buckley Miller Wright NEW39Xuxue Feng
1007Nicolas P MaletSpain2025-04-08Feltz Printing Service UNQUALIFIED48Asiya Javayant
1008Nicolas P MaletUnited Kingdom2025-04-24Morlong Associates PROPOSAL61Stephen Shaw
1009Aika V CaldareraJapan2025-04-29Morlong Associates QUALIFIED99Ivan Magalhaes
1010David W SaylorsAustralia2025-04-21Commercial Press NEW79Ioni Bowcher
1011Adams H SlusarskiUnited Kingdom2025-04-27Buckley Miller Wright NEGOTIATION40Xuxue Feng
1012Murillo M DarakjyGermany2025-04-02Rousseaux, Michael Esq UNQUALIFIED87Ivan Magalhaes
1013Rodrigues R FigeroaAustralia2025-04-09Chapman, Ross E Esq RENEWAL20Elwin Sharvill
1014Maisha J AmigonItaly2025-04-08Printing Dimensions RENEWAL87Ioni Bowcher
1015Aditya Z MaletFrance2025-03-31Truhlar And Truhlar Attys RENEWAL41Xuxue Feng
1016Ricardo P DarakjyCanada2025-04-29Chapman, Ross E Esq QUALIFIED30Bernardo Dominic
1017Alejandro F RulapaughIndia2025-04-18Buckley Miller Wright PROPOSAL39Stephen Shaw
1018David J InouyeRussia2025-04-16Dorl, James J Esq RENEWAL66Onyama Limba
1019Rodrigues O FollerRussia2025-04-05Feltz Printing Service UNQUALIFIED79Elwin Sharvill
1020Morrow M MaletCanada2025-04-20Chemel, James L Cpa PROPOSAL56Onyama Limba
1021Smith K AmigonUnited Kingdom2025-04-13Truhlar And Truhlar Attys RENEWAL53Elwin Sharvill
1022Misaki W TollnerIndia2025-04-14King, Christopher A Esq NEGOTIATION78Asiya Javayant
1023Ivar X FigeroaGermany2025-04-13Dorl, James J Esq RENEWAL95Ivan Magalhaes
1024Tony C VenereSpain2025-04-17Feltz Printing Service NEGOTIATION82Ioni Bowcher
1025Maria W AmigonGermany2025-04-03Feltz Printing Service QUALIFIED30Anna Fali
1026Silvio N AlbaresUnited Kingdom2025-04-24Chemel, James L Cpa RENEWAL63Ivan Magalhaes
1027Cody U StockhamRussia2025-04-01Buckley Miller Wright UNQUALIFIED11Elwin Sharvill
1028Silvio T OstroskyJapan2025-03-31Buckley Miller Wright QUALIFIED2Ivan Magalhaes
1029Salvatore L IturbideGermany2025-04-18Commercial Press QUALIFIED9Ivan Magalhaes
1030Ricardo C PaprockiCanada2025-04-20Morlong Associates QUALIFIED55Ioni Bowcher
1031Costa P GarufiJapan2025-04-13Morlong Associates PROPOSAL15Stephen Shaw
1032Murillo B GauchoCanada2025-04-14Benton, John B Jr RENEWAL48Elwin Sharvill
1033Isabel X DoeSpain2025-04-11Chapman, Ross E Esq NEW97Bernardo Dominic
1034Octavia K DarakjyArgentina2025-04-22Dorl, James J Esq QUALIFIED59Xuxue Feng
1035Misaki R MacleadBrazil2025-04-10Buckley Miller Wright NEGOTIATION99Ioni Bowcher
1036Arvin V VenereAustralia2025-04-28Dorl, James J Esq RENEWAL0Xuxue Feng
1037Greenwood B SchemmerJapan2025-04-15Dorl, James J Esq RENEWAL2Xuxue Feng
1038Nicolas P CampainFrance2025-04-18Rangoni Of Florence RENEWAL62Bernardo Dominic
1039Tony I AlbaresItaly2025-04-16Chanay, Jeffrey A Esq NEGOTIATION58Elwin Sharvill
1040Misaki R ShinkoBrazil2025-04-07Printing Dimensions RENEWAL15Elwin Sharvill
1041Izzy W MaletGermany2025-04-11Feiner Bros PROPOSAL80Anna Fali
1042Adams C GlickSpain2025-03-31Chemel, James L Cpa NEW66Anna Fali
1043Aika W WaycottSpain2025-04-27Truhlar And Truhlar Attys QUALIFIED87Ioni Bowcher
1044Claire F SchemmerArgentina2025-04-28Feltz Printing Service NEGOTIATION6Elwin Sharvill
1045Aditya K WaycottBrazil2025-04-19Truhlar And Truhlar Attys PROPOSAL50Elwin Sharvill
1046Antonio T CaldareraUnited Kingdom2025-04-05Benton, John B Jr NEGOTIATION72Ivan Magalhaes
1047Silvio Q CaudyItaly2025-04-24Chemel, James L Cpa NEGOTIATION85Onyama Limba
1048Maria A SchemmerSpain2025-04-09Morlong Associates RENEWAL84Elwin Sharvill
1049Sinclair C MarrierJapan2025-04-08Chanay, Jeffrey A Esq PROPOSAL64Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha D SaylorsBrazilOnyama Limba NEGOTIATION
Isabel T ShinkoArgentinaXuxue Feng NEW
Mujtaba Z CampainIndiaXuxue Feng NEGOTIATION
Juan O FlosiSpainElwin Sharvill NEGOTIATION
Salvatore V SchemmerGermanyElwin Sharvill UNQUALIFIED
Emily E SaylorsJapanElwin Sharvill NEW
Jennifer L NestleCanadaBernardo Dominic RENEWAL
Munro Y WaycottItalyStephen Shaw QUALIFIED
Clifford F CaldareraCanadaAnna Fali RENEWAL
Maria D DarakjyRussiaXuxue Feng RENEWAL
Adams M FigeroaSpainIoni Bowcher UNQUALIFIED
Aruna S FollerJapanOnyama Limba QUALIFIED
Mayumi X NickaIndiaOnyama Limba UNQUALIFIED
Ivar W ShinkoAustraliaAmy Elsner UNQUALIFIED
Mayumi N StensethSpainAsiya Javayant UNQUALIFIED
Aditya D SergiArgentinaAnna Fali RENEWAL
Juan P RoysterBrazilAmy Elsner PROPOSAL
Francesco E NestleJapanIoni Bowcher NEGOTIATION
Misaki G InouyeBrazilStephen Shaw NEGOTIATION
Murillo Y FerenczUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues U ButtJapanAmy Elsner UNQUALIFIED
Francesco K FerenczBrazilAsiya Javayant RENEWAL
Morrow L ButtRussiaOnyama Limba QUALIFIED
Mayumi G RimAustraliaIvan Magalhaes PROPOSAL
Mayumi W SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Johnson E MorascaFranceOnyama Limba NEW
Aika J NickaSpainAnna Fali PROPOSAL
Greenwood Y TollnerBrazilBernardo Dominic PROPOSAL
Aditya J RoysterFranceOnyama Limba UNQUALIFIED
James C CaudyFranceAsiya Javayant NEGOTIATION
Leja L FollerBrazilIvan Magalhaes NEGOTIATION
Emily A FlosiRussiaXuxue Feng NEGOTIATION
Costa G StensethJapanBernardo Dominic UNQUALIFIED
Izzy O PerinRussiaAmy Elsner NEW
Jennifer T BowleySpainAmy Elsner PROPOSAL
Julie S MacleadArgentinaOnyama Limba PROPOSAL
Nicolas V VocelkaArgentinaOnyama Limba UNQUALIFIED
Munro P StensethSpainStephen Shaw QUALIFIED
Jones H CampainFranceStephen Shaw QUALIFIED
Greenwood R BologniaBrazilStephen Shaw PROPOSAL
Jeanfrancois P BriddickJapanXuxue Feng QUALIFIED
Costa N ChuiCanadaAmy Elsner QUALIFIED
Deepesh P RutaAustraliaIoni Bowcher NEGOTIATION
Isabel P OstroskyArgentinaIvan Magalhaes RENEWAL
Alejandro U BriddickItalyElwin Sharvill NEW
Nicolas J DilliardRussiaAmy Elsner UNQUALIFIED
Jones H GauchoIndiaAmy Elsner UNQUALIFIED
Izzy I SlusarskiItalyIvan Magalhaes NEW
Francesco H FlosiRussiaAmy Elsner QUALIFIED
Antonio R BriddickGermanyAnna Fali QUALIFIED
Frozen Columns
Name
Costa T Briddick
Kaitlin L Nestle
Mujtaba G Dilliard
Misaki C Iturbide
David I Chui
Nicolas V Shinko
Salvatore J Flosi
Aika X Poquette
Emily X Tollner
Claire R Slusarski
Francesco J Paprocki
Leon F Rim
James C Briddick
Sinclair Z Malet
Kaitlin Y Nestle
David V Iturbide
Murillo M Rim
James O Poquette
Julie W Schemmer
Salvatore F Kusko
Salvatore Y Whobrey
Adams Y Perin
Ashley V Iturbide
Silvio G Foller
Sinclair Y Morasca
Mayumi O Caldarera
Darci A Stenseth
Salvatore Q Darakjy
Isabel B Garufi
Kadeem N Flosi
Chavez D Darakjy
Julie R Royster
Jefferson C Figeroa
Juan T Morasca
Arvin W Morasca
Wickens O Dilliard
Arvin W Chui
Sinclair B Whobrey
Aika D Bolognia
Salvatore J Slusarski
Leon H Ruta
Wickens W Briddick
Jeanfrancois O Oldroyd
Darci K Campain
David J Chui
Emily Y Vocelka
James A Rulapaugh
Aika M Shinko
Munro L Saylors
Jones R Nestle
IdCountryDate
1000France2025-04-11
1001Japan2025-04-29
1002Canada2025-04-02
1003Canada2025-04-18
1004Germany2025-04-26
1005France2025-04-03
1006Spain2025-04-11
1007Argentina2025-04-02
1008Italy2025-04-14
1009India2025-04-20
1010Brazil2025-04-12
1011Italy2025-04-18
1012France2025-04-08
1013Japan2025-04-12
1014Australia2025-03-31
1015Russia2025-04-19
1016Germany2025-04-24
1017Australia2025-04-16
1018Australia2025-04-08
1019Japan2025-04-14
1020Russia2025-04-27
1021Australia2025-04-16
1022Russia2025-04-01
1023United Kingdom2025-04-15
1024Spain2025-04-10
1025India2025-04-01
1026France2025-04-06
1027Brazil2025-04-06
1028Canada2025-04-29
1029Brazil2025-04-16
1030Italy2025-04-07
1031Japan2025-04-20
1032Italy2025-04-12
1033Japan2025-04-24
1034United Kingdom2025-04-06
1035Russia2025-04-17
1036United Kingdom2025-04-17
1037Japan2025-04-01
1038Japan2025-04-28
1039Brazil2025-04-10
1040Argentina2025-04-17
1041Germany2025-04-25
1042Australia2025-04-06
1043Argentina2025-04-05
1044Russia2025-04-22
1045Russia2025-04-21
1046France2025-04-25
1047India2025-04-09
1048Australia2025-04-20
1049United Kingdom2025-04-07

On-Demand Data

NameIdCountryDate
Leon V Iturbide1000Argentina2025-04-15
Johnson X Amigon1001Spain2025-04-25
Juan U Perin1002United Kingdom2025-04-21
Ricardo S Campain1003Australia2025-04-15
Kadeem W Caudy1004India2025-04-06
Adams D Figeroa1005Germany2025-03-31
Misaki A Royster1006Germany2025-04-05
Wickens C Waycott1007Germany2025-04-06
Ivar Q Albares1008Argentina2025-04-14
Morrow F Figeroa1009Japan2025-04-05
Mayumi R Caldarera1010Italy2025-03-31
Julie Y Briddick1011Australia2025-04-14
Leon W Waycott1012Japan2025-04-07
Adams G Briddick1013Spain2025-04-12
Faith F Kusko1014Russia2025-04-27
Maisha Y Vocelka1015Japan2025-04-16
Darci Y Poquette1016Canada2025-04-03
Chavez K Stockham1017Spain2025-04-22
Cody D Caldarera1018France2025-04-22
Tony G Figeroa1019Argentina2025-04-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith H OldroydGermanyIoni Bowcher PROPOSAL
Wickens O OldroydSpainBernardo Dominic RENEWAL
Ashley A KolmetzFranceBernardo Dominic NEW
Nicolas S RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Darci R TollnerAustraliaAnna Fali NEGOTIATION
Antonio A CaudyIndiaStephen Shaw PROPOSAL
Costa S PaprockiAustraliaElwin Sharvill NEGOTIATION
Jefferson N GillianFranceIvan Magalhaes UNQUALIFIED
Arvin G WaycottUnited KingdomAsiya Javayant NEW
Adams Z VenereAustraliaElwin Sharvill NEW
Clifford R OldroydSpainElwin Sharvill QUALIFIED
Antonio B VocelkaGermanyAsiya Javayant RENEWAL
Octavia V MorascaCanadaOnyama Limba UNQUALIFIED
Cody R GauchoCanadaBernardo Dominic QUALIFIED
Smith I SaylorsItalyOnyama Limba UNQUALIFIED
Costa R PerinRussiaAsiya Javayant NEW
Darci A FlosiGermanyElwin Sharvill RENEWAL
Nicolas E DoeCanadaElwin Sharvill NEGOTIATION
Alejandro K TollnerJapanAmy Elsner PROPOSAL
Maisha W ShinkoCanadaOnyama Limba NEGOTIATION
Munro C SlusarskiIndiaStephen Shaw RENEWAL
Darci U InouyeJapanIoni Bowcher PROPOSAL
Deepesh Q SergiJapanOnyama Limba PROPOSAL
Francesco H AmigonBrazilXuxue Feng PROPOSAL
Clifford Y StensethJapanAnna Fali QUALIFIED
Maria V FollerAustraliaBernardo Dominic QUALIFIED
Kaitlin F DarakjyIndiaIvan Magalhaes UNQUALIFIED
Deepesh U BriddickUnited KingdomAnna Fali NEW
Izzy V WieserJapanAmy Elsner PROPOSAL
Wickens M OstroskyBrazilBernardo Dominic NEGOTIATION
Costa M StockhamFranceBernardo Dominic UNQUALIFIED
David B OstroskyIndiaAnna Fali QUALIFIED
Emily U TollnerFranceAsiya Javayant NEW
Silvio V DilliardArgentinaIoni Bowcher PROPOSAL
Aruna A OstroskyFranceOnyama Limba RENEWAL
David S MaletArgentinaOnyama Limba RENEWAL
Jennifer C KolmetzUnited KingdomStephen Shaw QUALIFIED
Nicolas C BologniaBrazilXuxue Feng NEW
Izzy L RutaItalyXuxue Feng NEW
Clifford S KuskoAustraliaIvan Magalhaes NEW

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