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
Nicolas V RoysterBrazilBernardo Dominic PROPOSAL
Misaki J WhobreyItalyAmy Elsner NEW
Antonio Z OstroskyCanadaAsiya Javayant NEW
Tony O PoquetteArgentinaBernardo Dominic RENEWAL
Nicolas B FigeroaSpainIoni Bowcher PROPOSAL
Mujtaba T PerinJapanAmy Elsner PROPOSAL
Clifford I MaletJapanStephen Shaw NEGOTIATION
Salvatore G PoquetteSpainOnyama Limba RENEWAL
Deepesh M KuskoFranceXuxue Feng UNQUALIFIED
Adams E KolmetzBrazilIvan Magalhaes RENEWAL
Ashley W RulapaughSpainBernardo Dominic NEW
Munro J WhobreyGermanyBernardo Dominic NEGOTIATION
Aika D DilliardItalyAmy Elsner NEGOTIATION
Stacey T MaletGermanyElwin Sharvill PROPOSAL
Juan X ShinkoJapanOnyama Limba NEGOTIATION
Deepesh I GlickAustraliaElwin Sharvill NEGOTIATION
Isabel G IturbideItalyIvan Magalhaes NEGOTIATION
Rodrigues Q MarrierIndiaAnna Fali RENEWAL
Greenwood N AlbaresUnited KingdomStephen Shaw NEGOTIATION
Johnson X MaletCanadaXuxue Feng QUALIFIED
Julie A ChuiArgentinaIvan Magalhaes PROPOSAL
Arvin J AlbaresJapanStephen Shaw PROPOSAL
Faith J KolmetzBrazilAmy Elsner UNQUALIFIED
Rodrigues Y RimUnited KingdomAnna Fali NEGOTIATION
Misaki T BowleyItalyOnyama Limba QUALIFIED
Aditya L StockhamRussiaAnna Fali QUALIFIED
Rodrigues F KolmetzBrazilAmy Elsner QUALIFIED
Chavez Y KolmetzAustraliaIoni Bowcher PROPOSAL
Costa G RoysterIndiaIvan Magalhaes RENEWAL
David F GlickUnited KingdomElwin Sharvill NEGOTIATION
Juan B GlickArgentinaIoni Bowcher PROPOSAL
Arvin U SaylorsCanadaXuxue Feng PROPOSAL
Smith A StensethIndiaBernardo Dominic NEGOTIATION
Clifford M FigeroaBrazilStephen Shaw RENEWAL
Maisha Y StockhamGermanyAsiya Javayant NEGOTIATION
Kadeem X SchemmerArgentinaAmy Elsner RENEWAL
Leon Q ButtBrazilXuxue Feng NEW
Jefferson O WieserFranceElwin Sharvill QUALIFIED
Munro L MaletFranceAmy Elsner UNQUALIFIED
Salvatore F MorascaArgentinaAsiya Javayant QUALIFIED
Jefferson H CaudyRussiaBernardo Dominic NEW
Jeanfrancois A VenereUnited KingdomXuxue Feng NEW
Ivar M ShinkoItalyAnna Fali UNQUALIFIED
Emily N CaldareraJapanIoni Bowcher UNQUALIFIED
Deepesh I WieserGermanyIoni Bowcher PROPOSAL
Leja M RutaJapanBernardo Dominic RENEWAL
Jennifer Z StockhamItalyAsiya Javayant PROPOSAL
Tony V NestleIndiaAnna Fali QUALIFIED
Izzy E StockhamRussiaStephen Shaw RENEWAL
Aruna K TollnerJapanOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith R OstroskySpainIvan Magalhaes QUALIFIED
Misaki E OldroydArgentinaIvan Magalhaes NEW
Arvin H KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Chavez P OstroskySpainIoni Bowcher NEGOTIATION
Salvatore I InouyeBrazilAnna Fali NEGOTIATION
Octavia I GarufiCanadaElwin Sharvill NEW
Johnson F PoquetteBrazilOnyama Limba QUALIFIED
Jefferson Z GlickSpainIoni Bowcher UNQUALIFIED
Adams T SchemmerJapanAmy Elsner NEW
Maria O VocelkaBrazilOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan Y RoysterFrance2025-05-18Feiner Bros UNQUALIFIED60Stephen Shaw
1001Tony G CaudyUnited Kingdom2025-05-24Feiner Bros NEGOTIATION77Asiya Javayant
1002Johnson D WaycottRussia2025-06-14Dorl, James J Esq PROPOSAL48Stephen Shaw
1003Faith R PoquetteIndia2025-06-10Feiner Bros NEW97Elwin Sharvill
1004Mujtaba V MarrierAustralia2025-05-29Rangoni Of Florence NEGOTIATION62Stephen Shaw
1005Jones C OstroskyGermany2025-05-23Feiner Bros UNQUALIFIED3Onyama Limba
1006Jones E DilliardArgentina2025-05-18Chapman, Ross E Esq NEGOTIATION23Amy Elsner
1007Izzy M WieserIndia2025-05-25Morlong Associates RENEWAL10Amy Elsner
1008Ashley C AmigonItaly2025-05-30Chemel, James L Cpa NEW16Amy Elsner
1009Izzy H NestleItaly2025-05-19Rousseaux, Michael Esq UNQUALIFIED84Bernardo Dominic
1010Arvin W SlusarskiItaly2025-05-21Chemel, James L Cpa PROPOSAL66Elwin Sharvill
1011Izzy E MacleadJapan2025-05-26Chapman, Ross E Esq PROPOSAL62Anna Fali
1012Leon I CaudySpain2025-05-19King, Christopher A Esq QUALIFIED66Anna Fali
1013Kadeem H MaletArgentina2025-05-20Dorl, James J Esq NEGOTIATION37Ioni Bowcher
1014Jones X MacleadIndia2025-05-27Buckley Miller Wright QUALIFIED41Elwin Sharvill
1015Munro W ShinkoJapan2025-05-28Chemel, James L Cpa RENEWAL75Ivan Magalhaes
1016Kaitlin X MaletAustralia2025-06-12Chapman, Ross E Esq NEW91Xuxue Feng
1017Antonio K AmigonArgentina2025-05-22Truhlar And Truhlar Attys PROPOSAL15Ivan Magalhaes
1018Munro W GauchoIndia2025-06-05Chemel, James L Cpa QUALIFIED84Bernardo Dominic
1019Salvatore I WaycottItaly2025-05-18Chapman, Ross E Esq PROPOSAL59Amy Elsner
1020Julie I PoquetteGermany2025-06-03Chapman, Ross E Esq NEGOTIATION33Asiya Javayant
1021Deepesh F PoquetteCanada2025-05-28Commercial Press PROPOSAL96Stephen Shaw
1022Francesco N BowleyFrance2025-05-21Rousseaux, Michael Esq UNQUALIFIED54Onyama Limba
1023Mujtaba H InouyeArgentina2025-06-13Dorl, James J Esq UNQUALIFIED63Onyama Limba
1024Aruna J PaprockiRussia2025-06-05Chapman, Ross E Esq UNQUALIFIED87Ivan Magalhaes
1025Deepesh O FigeroaAustralia2025-06-07Rangoni Of Florence UNQUALIFIED64Onyama Limba
1026Mujtaba N DoeItaly2025-05-17Benton, John B Jr QUALIFIED32Xuxue Feng
1027Morrow H WhobreyJapan2025-05-29Morlong Associates NEW32Amy Elsner
1028Chavez Z MarrierSpain2025-05-30Feiner Bros UNQUALIFIED2Bernardo Dominic
1029Jefferson F PaprockiArgentina2025-05-19Buckley Miller Wright RENEWAL65Ioni Bowcher
1030Octavia N FollerJapan2025-06-02Feiner Bros NEW93Onyama Limba
1031Stacey W DoeCanada2025-05-23Chemel, James L Cpa NEW37Ivan Magalhaes
1032Maisha H GauchoBrazil2025-06-12Dorl, James J Esq NEW26Asiya Javayant
1033Francesco M RutaBrazil2025-06-10Buckley Miller Wright NEGOTIATION79Anna Fali
1034Cody C RoysterRussia2025-06-10King, Christopher A Esq RENEWAL35Stephen Shaw
1035Maisha V SaylorsFrance2025-05-17Buckley Miller Wright NEW49Onyama Limba
1036Francesco X MorascaArgentina2025-06-13Chanay, Jeffrey A Esq QUALIFIED91Stephen Shaw
1037James W StensethArgentina2025-05-21Chanay, Jeffrey A Esq QUALIFIED95Elwin Sharvill
1038Antonio X PaprockiJapan2025-05-27Printing Dimensions QUALIFIED16Onyama Limba
1039Murillo D PerinFrance2025-05-30Benton, John B Jr UNQUALIFIED4Xuxue Feng
1040Jones J DilliardBrazil2025-05-24Commercial Press NEGOTIATION1Elwin Sharvill
1041Tony V RutaUnited Kingdom2025-06-05King, Christopher A Esq UNQUALIFIED57Asiya Javayant
1042Arvin O KolmetzUnited Kingdom2025-06-10Printing Dimensions PROPOSAL36Ioni Bowcher
1043Izzy R CaudyGermany2025-05-17Printing Dimensions RENEWAL41Bernardo Dominic
1044Adams H MacleadItaly2025-06-14Feltz Printing Service NEW23Stephen Shaw
1045Darci N SlusarskiArgentina2025-06-14Chanay, Jeffrey A Esq QUALIFIED89Amy Elsner
1046Salvatore Y MacleadArgentina2025-06-06Truhlar And Truhlar Attys QUALIFIED64Asiya Javayant
1047Tony U SlusarskiUnited Kingdom2025-06-10King, Christopher A Esq NEW83Asiya Javayant
1048Octavia D SlusarskiItaly2025-06-13Dorl, James J Esq RENEWAL91Onyama Limba
1049Smith W IturbideItaly2025-06-13Dorl, James J Esq NEGOTIATION97Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa B SaylorsRussiaAsiya Javayant RENEWAL
Silvio R MacleadArgentinaOnyama Limba UNQUALIFIED
Maisha T WaycottSpainXuxue Feng UNQUALIFIED
Ricardo P BowleyGermanyStephen Shaw RENEWAL
Morrow L TollnerItalyStephen Shaw NEGOTIATION
Tony I MaletUnited KingdomBernardo Dominic PROPOSAL
Mayumi H RutaSpainAsiya Javayant QUALIFIED
Ricardo P MorascaRussiaElwin Sharvill PROPOSAL
Sinclair M AmigonGermanyOnyama Limba NEW
Francesco D NestleCanadaOnyama Limba QUALIFIED
Johnson J OstroskyGermanyStephen Shaw QUALIFIED
Kaitlin J CaldareraBrazilBernardo Dominic UNQUALIFIED
Deepesh J DilliardGermanyIvan Magalhaes NEGOTIATION
Costa O RutaArgentinaStephen Shaw PROPOSAL
Faith P CampainUnited KingdomAmy Elsner QUALIFIED
Aditya A NestleAustraliaStephen Shaw NEW
Clifford E ShinkoIndiaStephen Shaw UNQUALIFIED
Misaki C GillianBrazilOnyama Limba PROPOSAL
Jeanfrancois N SlusarskiJapanIvan Magalhaes QUALIFIED
Tony K CampainItalyIoni Bowcher NEW
Alejandro U CaudyRussiaIvan Magalhaes RENEWAL
Ricardo Z MacleadSpainElwin Sharvill PROPOSAL
Clifford U RulapaughAustraliaAnna Fali RENEWAL
Mayumi W MarrierBrazilXuxue Feng RENEWAL
Johnson E CaudyArgentinaIoni Bowcher UNQUALIFIED
Izzy O AlbaresItalyElwin Sharvill NEGOTIATION
Silvio N MarrierJapanXuxue Feng NEW
Francesco X OldroydSpainElwin Sharvill QUALIFIED
Claire D OstroskyJapanAsiya Javayant QUALIFIED
Adams Y SchemmerGermanyElwin Sharvill RENEWAL
Aditya E GarufiUnited KingdomStephen Shaw NEW
David O BowleyGermanyBernardo Dominic RENEWAL
David E OstroskyFranceBernardo Dominic NEW
Morrow I GlickFranceOnyama Limba UNQUALIFIED
Alejandro S BologniaAustraliaAnna Fali PROPOSAL
Isabel S GlickFranceOnyama Limba NEGOTIATION
Aruna C TollnerFranceIvan Magalhaes UNQUALIFIED
Izzy M NestleArgentinaIvan Magalhaes UNQUALIFIED
Faith R RimCanadaAsiya Javayant QUALIFIED
Stacey D VenereUnited KingdomOnyama Limba NEGOTIATION
Arvin L NickaBrazilXuxue Feng QUALIFIED
Mayumi F DoeItalyXuxue Feng RENEWAL
Ivar T ShinkoArgentinaStephen Shaw PROPOSAL
Maria R FollerIndiaOnyama Limba UNQUALIFIED
Francesco K ShinkoIndiaOnyama Limba QUALIFIED
Mujtaba Y PaprockiFranceAnna Fali QUALIFIED
Chavez H GauchoItalyAsiya Javayant NEW
David M MaletArgentinaStephen Shaw UNQUALIFIED
Aruna M BowleyGermanyXuxue Feng NEW
Kadeem M NickaFranceIoni Bowcher NEW
Frozen Columns
Name
Kaitlin F Morasca
Aika K Wieser
Cody W Dilliard
Aika D Rim
Costa R Amigon
Octavia D Briddick
Claire O Stenseth
Silvio A Tollner
Juan W Doe
Aruna B Tollner
Smith W Stenseth
Faith Z Schemmer
Jones W Kolmetz
Darci N Stenseth
Darci G Gaucho
Ivar F Saylors
Aruna V Chui
Maisha M Kolmetz
Aika M Shinko
Faith K Morasca
Darci S Briddick
Munro F Flosi
Tony Q Chui
Smith M Rulapaugh
Darci D Briddick
Stacey K Royster
Tony P Maclead
Claire Q Butt
Leja N Caldarera
Darci P Ruta
Smith P Inouye
Morrow U Royster
Aika S Morasca
Rodrigues A Bowley
Smith M Iturbide
Claire T Oldroyd
Adams X Ruta
Cody X Chui
Isabel A Kusko
Isabel F Chui
Wickens P Figeroa
Ivar X Tollner
Munro H Darakjy
Silvio O Figeroa
Rodrigues C Nicka
Rodrigues L Kolmetz
Mayumi O Kusko
Julie F Malet
Kadeem F Amigon
Julie Z Morasca
IdCountryDate
1000United Kingdom2025-05-27
1001Japan2025-06-11
1002Canada2025-06-04
1003Australia2025-05-19
1004Spain2025-06-13
1005Russia2025-06-08
1006Canada2025-05-29
1007Brazil2025-06-08
1008Australia2025-06-02
1009Russia2025-05-29
1010Italy2025-06-03
1011India2025-06-15
1012Argentina2025-06-03
1013Italy2025-05-27
1014India2025-05-25
1015Spain2025-06-07
1016Russia2025-05-20
1017Russia2025-05-20
1018United Kingdom2025-06-05
1019Russia2025-06-06
1020Argentina2025-05-30
1021India2025-06-11
1022Russia2025-06-07
1023Brazil2025-05-28
1024Australia2025-05-20
1025Canada2025-06-10
1026Argentina2025-06-11
1027United Kingdom2025-06-11
1028Germany2025-05-25
1029Argentina2025-05-22
1030Russia2025-06-14
1031Brazil2025-06-08
1032Brazil2025-05-22
1033United Kingdom2025-06-03
1034Japan2025-05-30
1035Germany2025-06-14
1036France2025-05-17
1037Italy2025-06-05
1038India2025-06-01
1039Australia2025-05-28
1040United Kingdom2025-05-28
1041United Kingdom2025-06-10
1042Canada2025-05-26
1043Australia2025-05-22
1044Canada2025-06-13
1045Italy2025-06-08
1046Italy2025-06-04
1047Russia2025-05-25
1048United Kingdom2025-05-28
1049Canada2025-05-18

On-Demand Data

NameIdCountryDate
David R Kolmetz1000Italy2025-05-27
Salvatore M Malet1001Argentina2025-05-20
David M Rulapaugh1002Spain2025-05-18
Emily O Malet1003Canada2025-06-09
Aruna X Gillian1004Japan2025-06-12
Darci F Inouye1005Canada2025-06-08
Johnson H Darakjy1006United Kingdom2025-05-19
Antonio W Figeroa1007Germany2025-06-13
Stacey W Malet1008France2025-06-15
Leja Q Ostrosky1009Australia2025-06-11
Silvio R Slusarski1010Germany2025-06-13
Mujtaba D Kolmetz1011France2025-06-03
Chavez P Caldarera1012Argentina2025-06-08
Kadeem B Waycott1013Spain2025-05-31
Francesco U Paprocki1014Japan2025-05-24
Kaitlin R Oldroyd1015Russia2025-06-11
Greenwood T Schemmer1016India2025-06-07
Alejandro T Sergi1017India2025-06-13
Chavez S Stockham1018Brazil2025-06-05
Emily W Gaucho1019Italy2025-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio P StockhamRussiaAnna Fali PROPOSAL
Wickens Y AlbaresSpainBernardo Dominic NEW
Izzy E AmigonFranceOnyama Limba QUALIFIED
Greenwood E WieserUnited KingdomElwin Sharvill UNQUALIFIED
Maria O MaletJapanBernardo Dominic QUALIFIED
Deepesh P NestleBrazilIoni Bowcher PROPOSAL
Morrow G FlosiItalyStephen Shaw NEGOTIATION
Ricardo S PaprockiArgentinaStephen Shaw QUALIFIED
Maria O CaudyIndiaElwin Sharvill PROPOSAL
Aruna B GlickUnited KingdomAsiya Javayant QUALIFIED
Aditya H KolmetzSpainAnna Fali PROPOSAL
Kadeem V GarufiGermanyOnyama Limba QUALIFIED
Ivar E KolmetzCanadaAsiya Javayant QUALIFIED
Nicolas W WhobreyCanadaIvan Magalhaes RENEWAL
Ivar V MaletGermanyIoni Bowcher RENEWAL
Faith M VenereAustraliaAnna Fali QUALIFIED
Izzy A TollnerItalyStephen Shaw UNQUALIFIED
Ashley O MarrierCanadaBernardo Dominic PROPOSAL
Kadeem S VenereCanadaElwin Sharvill NEGOTIATION
Maisha W ButtAustraliaAmy Elsner RENEWAL
Jefferson R PerinUnited KingdomElwin Sharvill NEGOTIATION
Darci I FigeroaJapanIoni Bowcher PROPOSAL
James A DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Wickens Y StockhamCanadaIvan Magalhaes PROPOSAL
Aika F SergiGermanyBernardo Dominic NEGOTIATION
Silvio M TollnerAustraliaBernardo Dominic RENEWAL
Tony X FigeroaItalyStephen Shaw NEW
Rodrigues I BologniaSpainOnyama Limba RENEWAL
Stacey P MacleadUnited KingdomAmy Elsner PROPOSAL
Adams R WieserArgentinaBernardo Dominic PROPOSAL
Ricardo K FollerJapanOnyama Limba NEW
Mujtaba L WhobreyItalyAsiya Javayant NEGOTIATION
Greenwood U PerinBrazilIoni Bowcher RENEWAL
Chavez A KolmetzItalyIoni Bowcher PROPOSAL
Johnson D DoeUnited KingdomBernardo Dominic NEW
Izzy T FigeroaFranceAsiya Javayant UNQUALIFIED
Julie O ShinkoGermanyAnna Fali NEW
Mayumi L WaycottJapanStephen Shaw NEW
Nicolas O ShinkoFranceBernardo Dominic NEW
Faith L StockhamCanadaAnna Fali 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>