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
Antonio T OldroydUnited KingdomElwin Sharvill RENEWAL
Darci B RulapaughJapanStephen Shaw RENEWAL
Morrow D TollnerRussiaBernardo Dominic QUALIFIED
Claire J GarufiCanadaElwin Sharvill NEW
Mayumi H VocelkaArgentinaAmy Elsner UNQUALIFIED
Arvin W RimJapanElwin Sharvill PROPOSAL
Smith O FollerFranceStephen Shaw QUALIFIED
Isabel Q DarakjyIndiaOnyama Limba RENEWAL
Smith E InouyeGermanyAsiya Javayant UNQUALIFIED
Maria A NickaUnited KingdomBernardo Dominic PROPOSAL
Mujtaba G GlickItalyAnna Fali RENEWAL
Maisha P SergiBrazilIoni Bowcher QUALIFIED
Izzy A BowleyBrazilAnna Fali RENEWAL
Izzy D TollnerRussiaXuxue Feng PROPOSAL
Emily R IturbideGermanyIoni Bowcher NEW
Wickens I DoeIndiaIvan Magalhaes NEGOTIATION
Izzy D ShinkoSpainIvan Magalhaes UNQUALIFIED
Wickens I SergiGermanyAsiya Javayant RENEWAL
Isabel L TollnerUnited KingdomAsiya Javayant NEW
Jones K SaylorsUnited KingdomOnyama Limba QUALIFIED
Tony G GarufiAustraliaElwin Sharvill UNQUALIFIED
Octavia E ShinkoCanadaOnyama Limba NEW
Johnson R FigeroaFranceAmy Elsner RENEWAL
Rodrigues O PoquetteCanadaBernardo Dominic NEW
Ashley O DarakjyAustraliaElwin Sharvill UNQUALIFIED
Smith N OldroydBrazilAnna Fali PROPOSAL
Johnson P AlbaresAustraliaBernardo Dominic NEW
Darci R DoeFranceXuxue Feng UNQUALIFIED
Jennifer M KolmetzFranceIoni Bowcher NEW
Claire H SaylorsGermanyIoni Bowcher PROPOSAL
Juan C PaprockiIndiaStephen Shaw QUALIFIED
Johnson M AlbaresIndiaAnna Fali NEW
Ashley G FlosiFranceBernardo Dominic QUALIFIED
Julie L GillianSpainIvan Magalhaes RENEWAL
Murillo Z StensethSpainXuxue Feng QUALIFIED
Octavia M InouyeGermanyAmy Elsner QUALIFIED
Ricardo S OstroskyArgentinaStephen Shaw QUALIFIED
Leja L TollnerGermanyXuxue Feng RENEWAL
Antonio S OldroydIndiaAsiya Javayant UNQUALIFIED
Francesco M RoysterJapanOnyama Limba PROPOSAL
Mayumi Z SlusarskiAustraliaAnna Fali PROPOSAL
Greenwood G TollnerGermanyAnna Fali NEW
Leon U StockhamArgentinaElwin Sharvill NEW
David I StensethBrazilXuxue Feng UNQUALIFIED
Salvatore I DilliardFranceStephen Shaw PROPOSAL
Murillo E AmigonArgentinaAsiya Javayant UNQUALIFIED
Aditya Y MaletBrazilIvan Magalhaes RENEWAL
Darci S CaldareraRussiaBernardo Dominic UNQUALIFIED
Greenwood X SaylorsFranceAmy Elsner NEW
Julie R GlickBrazilAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Darci V MorascaArgentinaAnna Fali QUALIFIED
Jennifer H GarufiRussiaXuxue Feng PROPOSAL
Rodrigues S VenereBrazilXuxue Feng NEW
Jennifer V MarrierItalyXuxue Feng NEW
Julie Z PoquetteAustraliaXuxue Feng QUALIFIED
Johnson N CaldareraIndiaBernardo Dominic NEW
Antonio V ChuiGermanyAsiya Javayant NEW
Costa G InouyeRussiaOnyama Limba NEGOTIATION
Cody T NickaFranceBernardo Dominic QUALIFIED
Costa I FlosiAustraliaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh O AlbaresBrazil2025-04-16Dorl, James J Esq RENEWAL26Xuxue Feng
1001Salvatore Z NickaUnited Kingdom2025-04-16Feltz Printing Service QUALIFIED80Xuxue Feng
1002Ricardo W ShinkoSpain2025-04-08Chanay, Jeffrey A Esq UNQUALIFIED42Ivan Magalhaes
1003Ricardo F KuskoCanada2025-04-22Feiner Bros NEGOTIATION33Anna Fali
1004Mujtaba X SergiAustralia2025-04-18Feiner Bros QUALIFIED34Asiya Javayant
1005Adams D CaldareraUnited Kingdom2025-04-30King, Christopher A Esq NEW70Elwin Sharvill
1006Kadeem C WieserUnited Kingdom2025-04-26Dorl, James J Esq QUALIFIED8Xuxue Feng
1007Leon O FigeroaAustralia2025-04-21Truhlar And Truhlar Attys NEGOTIATION93Ivan Magalhaes
1008Wickens L KuskoArgentina2025-04-22Buckley Miller Wright NEW96Bernardo Dominic
1009Adams S SlusarskiCanada2025-04-14Buckley Miller Wright NEGOTIATION49Amy Elsner
1010Ricardo Z InouyeUnited Kingdom2025-04-01Chanay, Jeffrey A Esq QUALIFIED37Elwin Sharvill
1011Ashley E ShinkoBrazil2025-04-07Feltz Printing Service UNQUALIFIED32Anna Fali
1012Kadeem R GillianJapan2025-04-16Chanay, Jeffrey A Esq NEGOTIATION59Asiya Javayant
1013Jefferson C SchemmerCanada2025-04-11Truhlar And Truhlar Attys NEW99Bernardo Dominic
1014Munro K TollnerFrance2025-04-08Rousseaux, Michael Esq RENEWAL24Xuxue Feng
1015Cody U AlbaresGermany2025-04-24Truhlar And Truhlar Attys NEW84Bernardo Dominic
1016Tony L DarakjyIndia2025-04-08Chemel, James L Cpa QUALIFIED56Elwin Sharvill
1017David N BowleyIndia2025-04-12Buckley Miller Wright UNQUALIFIED84Elwin Sharvill
1018Darci F BologniaRussia2025-04-21Chapman, Ross E Esq RENEWAL41Amy Elsner
1019Antonio H DarakjyJapan2025-04-26Truhlar And Truhlar Attys QUALIFIED49Onyama Limba
1020Jeanfrancois S ChuiArgentina2025-04-08Feiner Bros QUALIFIED26Xuxue Feng
1021Cody P CampainCanada2025-04-02Rousseaux, Michael Esq PROPOSAL53Bernardo Dominic
1022Costa C BowleyBrazil2025-04-06Feiner Bros NEW69Ivan Magalhaes
1023Tony K MaletItaly2025-04-03Feiner Bros PROPOSAL51Amy Elsner
1024Leja H StensethAustralia2025-04-23Feltz Printing Service RENEWAL98Anna Fali
1025Chavez P NestleArgentina2025-04-17Chapman, Ross E Esq NEW15Amy Elsner
1026Emily P SlusarskiRussia2025-04-08Chanay, Jeffrey A Esq UNQUALIFIED27Ioni Bowcher
1027Chavez F DilliardJapan2025-04-24Dorl, James J Esq UNQUALIFIED80Elwin Sharvill
1028Darci A KolmetzRussia2025-04-28Buckley Miller Wright NEW90Amy Elsner
1029Maria W RutaUnited Kingdom2025-04-02Benton, John B Jr NEGOTIATION2Xuxue Feng
1030Clifford M IturbideSpain2025-04-30Chemel, James L Cpa PROPOSAL66Ioni Bowcher
1031Ricardo Z OstroskyIndia2025-04-12Buckley Miller Wright UNQUALIFIED9Bernardo Dominic
1032Francesco E BologniaSpain2025-04-26Commercial Press RENEWAL34Elwin Sharvill
1033Leja P MorascaCanada2025-04-21Buckley Miller Wright RENEWAL27Amy Elsner
1034Costa L RoysterFrance2025-04-10Rangoni Of Florence NEW68Stephen Shaw
1035Adams K DarakjyBrazil2025-04-07King, Christopher A Esq NEW98Elwin Sharvill
1036Adams Z PoquetteBrazil2025-04-27Truhlar And Truhlar Attys PROPOSAL91Xuxue Feng
1037Juan M GarufiArgentina2025-04-13Morlong Associates RENEWAL76Ivan Magalhaes
1038Morrow L MaletRussia2025-04-24Rangoni Of Florence NEW36Ioni Bowcher
1039Salvatore O FollerIndia2025-04-04Rangoni Of Florence QUALIFIED84Anna Fali
1040Deepesh O MarrierGermany2025-04-30Truhlar And Truhlar Attys PROPOSAL26Ivan Magalhaes
1041Nicolas C CaudyJapan2025-04-09Rousseaux, Michael Esq NEW17Xuxue Feng
1042Isabel P MorascaBrazil2025-04-09Buckley Miller Wright QUALIFIED47Xuxue Feng
1043Kaitlin Y InouyeArgentina2025-04-08Chapman, Ross E Esq UNQUALIFIED60Onyama Limba
1044Jones W BologniaFrance2025-04-01Chapman, Ross E Esq PROPOSAL97Anna Fali
1045Claire Y KuskoItaly2025-04-18King, Christopher A Esq NEGOTIATION56Xuxue Feng
1046Octavia N KolmetzJapan2025-04-09Chanay, Jeffrey A Esq RENEWAL90Anna Fali
1047Antonio U OldroydCanada2025-04-10Commercial Press NEW46Elwin Sharvill
1048Misaki K BowleyJapan2025-04-06Benton, John B Jr UNQUALIFIED65Asiya Javayant
1049Kaitlin W CaldareraItaly2025-04-02Benton, John B Jr UNQUALIFIED35Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Isabel M BowleyBrazilOnyama Limba NEGOTIATION
Aika B SchemmerItalyAsiya Javayant RENEWAL
Ashley O KolmetzBrazilIoni Bowcher PROPOSAL
Cody J BriddickGermanyIoni Bowcher UNQUALIFIED
Alejandro K StensethGermanyAnna Fali NEW
Kadeem S ButtFranceIoni Bowcher UNQUALIFIED
James D RutaItalyIoni Bowcher QUALIFIED
Ricardo Y AmigonSpainAmy Elsner NEGOTIATION
Mayumi U WaycottArgentinaOnyama Limba QUALIFIED
Maria A DarakjyAustraliaAmy Elsner RENEWAL
Kadeem P DoeSpainOnyama Limba QUALIFIED
Murillo R FollerArgentinaAmy Elsner PROPOSAL
Kadeem B FlosiGermanyXuxue Feng NEW
Greenwood P VenereCanadaAnna Fali UNQUALIFIED
Salvatore E TollnerAustraliaOnyama Limba UNQUALIFIED
Isabel K CaudyCanadaAsiya Javayant NEGOTIATION
Johnson J SergiAustraliaAnna Fali RENEWAL
Greenwood O VocelkaArgentinaIvan Magalhaes QUALIFIED
Silvio Q MaletAustraliaXuxue Feng RENEWAL
Greenwood Z BowleyJapanIvan Magalhaes QUALIFIED
Greenwood Z GillianArgentinaIoni Bowcher NEW
Darci I BriddickUnited KingdomElwin Sharvill NEW
Wickens J RimArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois W KolmetzRussiaAmy Elsner PROPOSAL
Aruna U InouyeArgentinaElwin Sharvill UNQUALIFIED
Greenwood E StockhamJapanOnyama Limba PROPOSAL
Johnson E WieserItalyIvan Magalhaes UNQUALIFIED
Greenwood O SaylorsCanadaAmy Elsner NEW
Adams K SchemmerFranceIvan Magalhaes NEW
Nicolas Q SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Greenwood U WieserArgentinaOnyama Limba QUALIFIED
Jeanfrancois V StockhamAustraliaAmy Elsner PROPOSAL
Izzy L MarrierUnited KingdomAmy Elsner RENEWAL
Rodrigues O SaylorsSpainBernardo Dominic NEGOTIATION
Jennifer U DarakjyGermanyIoni Bowcher NEGOTIATION
Kadeem L VenereGermanyBernardo Dominic QUALIFIED
Aditya M KolmetzIndiaXuxue Feng NEGOTIATION
Jones C RimBrazilAsiya Javayant NEW
Aditya Y MacleadItalyBernardo Dominic PROPOSAL
Misaki R FerenczBrazilAsiya Javayant UNQUALIFIED
Murillo Q BowleyJapanStephen Shaw PROPOSAL
Isabel Y DilliardFranceAsiya Javayant UNQUALIFIED
Tony X VenereAustraliaIoni Bowcher PROPOSAL
Kaitlin G NickaItalyXuxue Feng NEW
Munro D FerenczUnited KingdomAnna Fali NEGOTIATION
David A TollnerJapanAmy Elsner NEW
Faith M WieserBrazilAnna Fali NEGOTIATION
Kaitlin X ShinkoSpainAmy Elsner NEGOTIATION
Maria J SlusarskiBrazilAmy Elsner NEW
Aruna K InouyeIndiaAmy Elsner QUALIFIED
Frozen Columns
Name
Mayumi Q Morasca
Tony V Marrier
Leon F Rulapaugh
Arvin C Perin
Ivar D Figeroa
Smith Q Stenseth
Costa C Perin
Johnson Q Chui
Kaitlin O Amigon
Arvin C Bowley
Maisha T Malet
Johnson H Ostrosky
Morrow D Dilliard
Salvatore L Gaucho
Morrow A Tollner
Ashley U Shinko
James W Ferencz
Cody N Gillian
Faith P Venere
Munro I Oldroyd
Smith W Kusko
Mayumi X Amigon
Rodrigues F Ferencz
Silvio R Flosi
Kadeem L Morasca
Kaitlin R Briddick
Murillo Y Flosi
Greenwood X Wieser
Stacey Z Campain
Octavia A Poquette
Faith Q Ferencz
Kaitlin F Amigon
Deepesh M Chui
Smith M Iturbide
Deepesh O Nicka
Octavia X Ferencz
Silvio P Kusko
Cody V Ruta
Cody S Chui
Leon O Paprocki
Claire N Ferencz
Misaki U Sergi
Antonio K Poquette
Nicolas A Glick
Aika L Ruta
Leon X Butt
Clifford Y Ruta
Rodrigues P Poquette
Aika M Figeroa
Jones K Kolmetz
IdCountryDate
1000Germany2025-04-10
1001Italy2025-04-19
1002Russia2025-04-03
1003Canada2025-04-05
1004Argentina2025-04-27
1005Italy2025-04-02
1006Russia2025-04-15
1007Canada2025-04-03
1008Germany2025-04-21
1009United Kingdom2025-04-09
1010Brazil2025-04-08
1011Russia2025-04-07
1012Italy2025-04-30
1013Spain2025-04-05
1014Argentina2025-04-12
1015Brazil2025-04-14
1016France2025-04-15
1017United Kingdom2025-04-01
1018Argentina2025-04-16
1019Canada2025-04-29
1020Japan2025-04-02
1021Argentina2025-04-18
1022Canada2025-04-05
1023Spain2025-04-05
1024Italy2025-04-23
1025Argentina2025-04-29
1026Argentina2025-04-18
1027Australia2025-04-19
1028France2025-04-04
1029Australia2025-04-23
1030France2025-04-06
1031Japan2025-04-18
1032Germany2025-04-10
1033Italy2025-04-22
1034Brazil2025-04-30
1035Australia2025-04-11
1036Russia2025-04-13
1037Argentina2025-04-21
1038Spain2025-04-13
1039United Kingdom2025-04-12
1040Japan2025-04-18
1041Brazil2025-04-17
1042Spain2025-04-13
1043Italy2025-04-01
1044Japan2025-04-09
1045Italy2025-04-19
1046Australia2025-04-29
1047Russia2025-04-21
1048Canada2025-04-01
1049United Kingdom2025-04-17

On-Demand Data

NameIdCountryDate
Greenwood J Albares1000Australia2025-04-23
Stacey D Dilliard1001Brazil2025-04-11
Salvatore Q Bolognia1002Italy2025-04-04
Aika T Maclead1003Spain2025-04-20
Costa J Malet1004Spain2025-04-20
Ricardo Y Paprocki1005Russia2025-04-01
Jones W Stenseth1006Russia2025-04-01
Julie I Chui1007Spain2025-04-10
Julie Y Rim1008Japan2025-04-19
Jeanfrancois O Sergi1009Spain2025-04-01
Emily L Gaucho1010Argentina2025-04-11
Isabel C Nestle1011Russia2025-04-13
Faith R Figeroa1012Australia2025-04-27
Faith H Bowley1013Australia2025-04-29
Misaki U Bowley1014Spain2025-04-25
Jennifer P Shinko1015Canada2025-04-26
Sinclair E Glick1016Russia2025-04-28
Aruna G Inouye1017Germany2025-04-20
Juan Q Wieser1018Australia2025-04-13
Cody Q Iturbide1019Canada2025-04-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones L RutaBrazilAsiya Javayant PROPOSAL
Morrow B PoquetteBrazilIoni Bowcher NEGOTIATION
Ashley D MorascaSpainBernardo Dominic UNQUALIFIED
Jeanfrancois L AlbaresItalyXuxue Feng RENEWAL
Mujtaba N GillianUnited KingdomStephen Shaw QUALIFIED
Costa K MacleadFranceStephen Shaw QUALIFIED
Greenwood K MorascaFranceIoni Bowcher PROPOSAL
Julie X VenereJapanIvan Magalhaes NEGOTIATION
Sinclair I RulapaughJapanStephen Shaw NEW
Deepesh C FollerArgentinaBernardo Dominic UNQUALIFIED
Ivar R CaudySpainAnna Fali QUALIFIED
Jennifer D StensethBrazilIoni Bowcher UNQUALIFIED
Alejandro E WieserBrazilAsiya Javayant RENEWAL
Stacey H DilliardBrazilStephen Shaw RENEWAL
Sinclair Q RulapaughCanadaXuxue Feng NEGOTIATION
Costa J StensethGermanyAnna Fali UNQUALIFIED
Rodrigues H InouyeGermanyOnyama Limba NEW
Deepesh T SchemmerGermanyAnna Fali RENEWAL
Claire L FlosiRussiaElwin Sharvill PROPOSAL
Jones L FollerRussiaBernardo Dominic NEW
James H SlusarskiFranceAnna Fali UNQUALIFIED
Stacey H VenereFranceXuxue Feng PROPOSAL
Clifford W RulapaughIndiaBernardo Dominic NEW
Emily V MacleadUnited KingdomElwin Sharvill NEGOTIATION
Johnson O TollnerUnited KingdomElwin Sharvill RENEWAL
Julie D MacleadCanadaAsiya Javayant UNQUALIFIED
Silvio M StockhamAustraliaAmy Elsner PROPOSAL
Stacey R ShinkoBrazilXuxue Feng UNQUALIFIED
Aika Z RulapaughItalyBernardo Dominic PROPOSAL
Tony C PaprockiArgentinaElwin Sharvill NEGOTIATION
Rodrigues C DarakjyFranceStephen Shaw NEW
Chavez F RimRussiaOnyama Limba NEGOTIATION
Silvio E MaletIndiaXuxue Feng PROPOSAL
Silvio Z NickaIndiaBernardo Dominic NEGOTIATION
Leja L PaprockiFranceIoni Bowcher PROPOSAL
Wickens E TollnerIndiaAnna Fali NEGOTIATION
Greenwood Z BowleyGermanyOnyama Limba QUALIFIED
Faith S NestleIndiaIvan Magalhaes NEGOTIATION
Antonio Q FigeroaFranceBernardo Dominic UNQUALIFIED
Faith T WaycottSpainXuxue Feng QUALIFIED

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