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
Cody C StockhamUnited KingdomIvan Magalhaes PROPOSAL
Maisha K DilliardJapanAsiya Javayant NEGOTIATION
Deepesh Z MaletIndiaBernardo Dominic NEGOTIATION
Rodrigues I DarakjyItalyBernardo Dominic UNQUALIFIED
Misaki S DilliardUnited KingdomOnyama Limba NEW
Adams S VenereFranceAmy Elsner RENEWAL
Mayumi L GlickGermanyAnna Fali QUALIFIED
Silvio G IturbideBrazilIvan Magalhaes QUALIFIED
Ashley X InouyeCanadaAsiya Javayant QUALIFIED
Murillo D RutaItalyElwin Sharvill NEW
Leon O VenereArgentinaXuxue Feng NEGOTIATION
Faith E AmigonIndiaElwin Sharvill NEW
Rodrigues L IturbideIndiaOnyama Limba NEGOTIATION
Isabel P FigeroaFranceAnna Fali UNQUALIFIED
David P ShinkoIndiaAsiya Javayant NEGOTIATION
Cody O ButtJapanBernardo Dominic RENEWAL
Adams G WieserArgentinaIvan Magalhaes RENEWAL
Kadeem Z CaudyBrazilAnna Fali NEW
Kaitlin E TollnerRussiaBernardo Dominic NEGOTIATION
Leon E CaldareraArgentinaBernardo Dominic QUALIFIED
Maisha E PoquetteRussiaElwin Sharvill PROPOSAL
Munro T PoquetteRussiaStephen Shaw RENEWAL
Mujtaba Y IturbideGermanyAsiya Javayant NEGOTIATION
Juan I PaprockiCanadaAsiya Javayant RENEWAL
Munro L KuskoBrazilIvan Magalhaes UNQUALIFIED
Mujtaba T RutaFranceStephen Shaw PROPOSAL
Murillo J StockhamBrazilAmy Elsner RENEWAL
Greenwood P FlosiItalyIvan Magalhaes PROPOSAL
Misaki C InouyeJapanIoni Bowcher NEGOTIATION
Leon J TollnerSpainAmy Elsner NEGOTIATION
David A RulapaughArgentinaBernardo Dominic NEGOTIATION
Francesco V IturbideIndiaOnyama Limba RENEWAL
Tony R FollerGermanyAsiya Javayant RENEWAL
Leon P VenereRussiaXuxue Feng NEW
Mayumi U KuskoRussiaBernardo Dominic RENEWAL
Nicolas G RoysterItalyAmy Elsner RENEWAL
Juan N InouyeUnited KingdomAmy Elsner QUALIFIED
Morrow B FerenczFranceElwin Sharvill NEW
Maria F WaycottIndiaBernardo Dominic NEGOTIATION
Sinclair F StockhamAustraliaAmy Elsner UNQUALIFIED
Leon P KolmetzItalyAnna Fali PROPOSAL
Isabel W CaldareraUnited KingdomStephen Shaw NEW
Antonio R GlickGermanyIoni Bowcher RENEWAL
Cody G IturbideAustraliaOnyama Limba NEW
Salvatore L FerenczAustraliaBernardo Dominic NEW
Misaki L FollerArgentinaOnyama Limba QUALIFIED
Faith R KolmetzAustraliaBernardo Dominic NEGOTIATION
Munro E RulapaughIndiaXuxue Feng UNQUALIFIED
Chavez Y ButtFranceIvan Magalhaes NEW
Juan C CaldareraItalyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco B FigeroaBrazilAsiya Javayant QUALIFIED
Alejandro D SchemmerAustraliaXuxue Feng QUALIFIED
Arvin J PaprockiArgentinaElwin Sharvill NEGOTIATION
David F RutaSpainXuxue Feng UNQUALIFIED
Alejandro V TollnerArgentinaElwin Sharvill PROPOSAL
Murillo R OldroydCanadaAnna Fali RENEWAL
Wickens X MaletGermanyXuxue Feng UNQUALIFIED
Munro U ButtSpainAnna Fali PROPOSAL
Ricardo G AmigonCanadaElwin Sharvill NEW
Johnson K CaldareraIndiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya C GillianSpain2025-04-19Feiner Bros PROPOSAL98Amy Elsner
1001Arvin G WaycottSpain2025-04-01Commercial Press NEW89Elwin Sharvill
1002Francesco A SlusarskiRussia2025-04-11Truhlar And Truhlar Attys UNQUALIFIED44Bernardo Dominic
1003Isabel I DilliardFrance2025-04-25King, Christopher A Esq NEGOTIATION94Amy Elsner
1004Francesco L WaycottAustralia2025-04-20Printing Dimensions NEW77Onyama Limba
1005Mayumi Z GarufiCanada2025-04-20Rangoni Of Florence UNQUALIFIED99Elwin Sharvill
1006Murillo X MorascaSpain2025-04-07Printing Dimensions UNQUALIFIED71Anna Fali
1007Chavez W ChuiItaly2025-04-12Benton, John B Jr UNQUALIFIED21Ivan Magalhaes
1008Murillo F SlusarskiBrazil2025-04-11Printing Dimensions NEGOTIATION54Stephen Shaw
1009Greenwood K KolmetzItaly2025-04-20Morlong Associates QUALIFIED80Xuxue Feng
1010Nicolas G StensethGermany2025-04-21Rangoni Of Florence QUALIFIED69Elwin Sharvill
1011Jones F GillianGermany2025-04-26Rousseaux, Michael Esq NEW87Ioni Bowcher
1012Antonio A MaletCanada2025-04-10Feltz Printing Service NEGOTIATION96Stephen Shaw
1013Mujtaba G SergiItaly2025-04-24Chemel, James L Cpa QUALIFIED88Asiya Javayant
1014Misaki F CampainSpain2025-04-24Benton, John B Jr NEW84Asiya Javayant
1015Ashley G PoquetteRussia2025-04-02Feltz Printing Service QUALIFIED42Onyama Limba
1016Mujtaba P GlickBrazil2025-04-21Benton, John B Jr NEW26Elwin Sharvill
1017James Y KuskoFrance2025-04-18Chanay, Jeffrey A Esq RENEWAL27Elwin Sharvill
1018Alejandro K DarakjyAustralia2025-04-06Chapman, Ross E Esq UNQUALIFIED2Onyama Limba
1019Julie S MorascaJapan2025-04-22King, Christopher A Esq QUALIFIED93Onyama Limba
1020Leja G CaldareraFrance2025-04-23Feltz Printing Service NEW74Ioni Bowcher
1021Leon X IturbideCanada2025-04-27Truhlar And Truhlar Attys QUALIFIED40Elwin Sharvill
1022Octavia T RulapaughAustralia2025-04-18Chapman, Ross E Esq RENEWAL73Ioni Bowcher
1023Aruna O NickaArgentina2025-04-03Rousseaux, Michael Esq QUALIFIED50Elwin Sharvill
1024Cody Q FollerCanada2025-04-01Buckley Miller Wright QUALIFIED91Stephen Shaw
1025Sinclair S VenereSpain2025-04-18Chanay, Jeffrey A Esq QUALIFIED14Elwin Sharvill
1026Mayumi V OldroydSpain2025-04-15Commercial Press UNQUALIFIED36Anna Fali
1027Misaki J OstroskyBrazil2025-04-15Buckley Miller Wright NEGOTIATION70Ioni Bowcher
1028Isabel S GauchoSpain2025-04-03Chemel, James L Cpa UNQUALIFIED67Xuxue Feng
1029Antonio I VenereCanada2025-04-09Printing Dimensions PROPOSAL98Onyama Limba
1030Ivar C GlickCanada2025-04-07Morlong Associates RENEWAL23Asiya Javayant
1031Aika J CampainArgentina2025-04-21Rangoni Of Florence NEGOTIATION84Elwin Sharvill
1032Aika G PaprockiSpain2025-04-21Rousseaux, Michael Esq UNQUALIFIED14Bernardo Dominic
1033David I AmigonAustralia2025-04-04Morlong Associates QUALIFIED30Ivan Magalhaes
1034Alejandro O CaldareraSpain2025-04-24Buckley Miller Wright NEW88Ioni Bowcher
1035Morrow N FerenczAustralia2025-04-15Morlong Associates RENEWAL11Ioni Bowcher
1036Nicolas Y OstroskyRussia2025-04-24Benton, John B Jr PROPOSAL21Bernardo Dominic
1037Octavia O VocelkaUnited Kingdom2025-04-07Chapman, Ross E Esq NEW34Asiya Javayant
1038Ashley B PerinAustralia2025-04-03Buckley Miller Wright UNQUALIFIED38Anna Fali
1039Aika K MarrierJapan2025-04-21Chanay, Jeffrey A Esq NEW15Ioni Bowcher
1040Salvatore L FlosiRussia2025-04-07Dorl, James J Esq QUALIFIED43Bernardo Dominic
1041Jones P CaldareraGermany2025-04-11Rousseaux, Michael Esq NEGOTIATION16Anna Fali
1042Smith I MorascaAustralia2025-04-08Chapman, Ross E Esq NEW92Onyama Limba
1043Octavia E DarakjyGermany2025-04-01King, Christopher A Esq UNQUALIFIED4Stephen Shaw
1044Maria R PoquetteItaly2025-04-13Chemel, James L Cpa RENEWAL75Stephen Shaw
1045Adams R VocelkaAustralia2025-04-03Truhlar And Truhlar Attys NEGOTIATION88Xuxue Feng
1046Salvatore Z StensethFrance2025-04-25King, Christopher A Esq PROPOSAL87Elwin Sharvill
1047Alejandro J KolmetzArgentina2025-04-08Rousseaux, Michael Esq NEW85Bernardo Dominic
1048Misaki R SergiBrazil2025-04-22Feiner Bros PROPOSAL41Bernardo Dominic
1049Deepesh K TollnerSpain2025-04-10Dorl, James J Esq RENEWAL58Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Chavez U SaylorsGermanyAmy Elsner PROPOSAL
Aruna Q DarakjyRussiaAmy Elsner UNQUALIFIED
Emily K GarufiCanadaIoni Bowcher NEW
Leon N NickaJapanStephen Shaw NEGOTIATION
Murillo N IturbideAustraliaXuxue Feng PROPOSAL
Ashley T KuskoSpainStephen Shaw NEW
Emily P ButtItalyElwin Sharvill UNQUALIFIED
Costa R SlusarskiCanadaStephen Shaw UNQUALIFIED
Leja Y CaudyGermanyAsiya Javayant NEGOTIATION
Murillo N GillianCanadaAmy Elsner NEW
Nicolas I WhobreyGermanyElwin Sharvill QUALIFIED
Mujtaba E ButtUnited KingdomAsiya Javayant NEW
Leja P AmigonFranceElwin Sharvill UNQUALIFIED
Izzy E BowleyFranceIvan Magalhaes UNQUALIFIED
Maisha M MaletBrazilAnna Fali QUALIFIED
Leja U BologniaAustraliaBernardo Dominic QUALIFIED
Rodrigues J NickaBrazilIoni Bowcher NEW
Isabel X TollnerGermanyBernardo Dominic NEW
Ashley Y WaycottIndiaAsiya Javayant QUALIFIED
Costa N VenereJapanIvan Magalhaes NEGOTIATION
David T ShinkoJapanElwin Sharvill QUALIFIED
Maria J AlbaresItalyAmy Elsner UNQUALIFIED
Murillo H VocelkaAustraliaIoni Bowcher NEW
Wickens Y StensethUnited KingdomAsiya Javayant PROPOSAL
Maisha A PerinJapanAnna Fali UNQUALIFIED
Maisha R GillianCanadaIoni Bowcher NEGOTIATION
Chavez Q FerenczArgentinaIvan Magalhaes RENEWAL
Wickens D GillianArgentinaBernardo Dominic NEGOTIATION
Julie V DilliardAustraliaElwin Sharvill PROPOSAL
Leon T CampainGermanyAnna Fali RENEWAL
Sinclair G SergiIndiaAnna Fali NEW
Misaki B MaletJapanXuxue Feng NEW
Adams G MaletSpainIoni Bowcher NEGOTIATION
Salvatore M MaletItalyAnna Fali PROPOSAL
Adams F SlusarskiJapanXuxue Feng NEW
Ricardo G SlusarskiGermanyOnyama Limba PROPOSAL
Alejandro L KolmetzIndiaIoni Bowcher PROPOSAL
James Q RimUnited KingdomAnna Fali QUALIFIED
Leon M NestleGermanyIoni Bowcher PROPOSAL
Wickens I InouyeFranceStephen Shaw QUALIFIED
Mujtaba X AlbaresBrazilAnna Fali PROPOSAL
Murillo V PoquetteCanadaBernardo Dominic QUALIFIED
Jeanfrancois X DoeIndiaAsiya Javayant NEW
David Q VocelkaRussiaXuxue Feng RENEWAL
Morrow W NickaArgentinaBernardo Dominic NEGOTIATION
David Z InouyeBrazilXuxue Feng PROPOSAL
Kaitlin G OstroskyGermanyBernardo Dominic PROPOSAL
Darci J MarrierJapanIvan Magalhaes QUALIFIED
Ashley Z IturbideBrazilElwin Sharvill PROPOSAL
Ricardo Q VocelkaSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Jennifer M Royster
Juan X Whobrey
Nicolas U Bowley
Darci R Foller
Sinclair Z Stenseth
James P Butt
Greenwood C Malet
Isabel J Foller
Mujtaba W Malet
Munro T Paprocki
Silvio Z Garufi
Adams X Campain
Nicolas M Slusarski
Tony K Stenseth
Munro R Kolmetz
Aditya B Inouye
Claire C Stockham
Adams H Rulapaugh
Leja C Iturbide
Isabel E Perin
Maisha C Kolmetz
Munro E Waycott
Sinclair W Oldroyd
Adams M Kolmetz
Silvio W Morasca
Francesco D Malet
Jones W Schemmer
Leja K Bowley
Tony L Saylors
Maria P Ruta
Kadeem P Ruta
Ivar S Doe
Emily W Chui
Ashley V Briddick
Clifford Y Maclead
Adams L Sergi
Smith R Briddick
Ricardo F Marrier
Adams G Wieser
Morrow G Rim
Murillo T Paprocki
Misaki L Figeroa
Aruna S Butt
Claire Y Whobrey
Clifford X Doe
Kaitlin F Shinko
Misaki P Perin
Cody A Ruta
Nicolas U Bolognia
Mujtaba N Royster
IdCountryDate
1000Canada2025-04-24
1001United Kingdom2025-04-28
1002United Kingdom2025-04-10
1003Canada2025-04-19
1004Japan2025-04-07
1005Germany2025-04-20
1006United Kingdom2025-04-21
1007India2025-04-13
1008Spain2025-04-24
1009Brazil2025-03-31
1010Germany2025-04-25
1011India2025-04-11
1012Germany2025-04-14
1013Germany2025-03-31
1014Spain2025-04-26
1015Canada2025-04-15
1016Spain2025-04-10
1017Germany2025-04-17
1018Germany2025-04-19
1019Spain2025-04-15
1020Germany2025-04-12
1021Spain2025-04-19
1022France2025-04-19
1023Argentina2025-04-06
1024Brazil2025-04-04
1025Germany2025-04-04
1026Brazil2025-04-26
1027Australia2025-04-11
1028Argentina2025-04-21
1029Germany2025-04-09
1030Japan2025-04-05
1031United Kingdom2025-04-13
1032Argentina2025-04-24
1033Australia2025-04-25
1034Argentina2025-04-29
1035Spain2025-04-19
1036United Kingdom2025-04-05
1037India2025-04-18
1038Germany2025-04-08
1039Italy2025-04-29
1040Canada2025-04-01
1041Canada2025-04-21
1042Spain2025-04-18
1043France2025-04-03
1044Canada2025-04-25
1045Argentina2025-04-26
1046India2025-04-15
1047Brazil2025-04-12
1048Canada2025-04-12
1049Canada2025-04-28

On-Demand Data

NameIdCountryDate
Adams B Venere1000Argentina2025-04-09
Aika X Schemmer1001Spain2025-04-23
Maria R Saylors1002Brazil2025-04-21
Arvin U Rulapaugh1003Argentina2025-04-04
Nicolas D Wieser1004Italy2025-04-13
Faith K Malet1005Brazil2025-04-26
Ashley A Darakjy1006United Kingdom2025-04-26
Kaitlin Q Rulapaugh1007France2025-04-09
Chavez X Campain1008Argentina2025-04-27
Stacey R Vocelka1009Russia2025-04-12
Murillo E Oldroyd1010France2025-04-09
Octavia S Foller1011Italy2025-04-03
Maria X Amigon1012France2025-04-18
Adams F Stenseth1013Russia2025-04-20
Sinclair P Maclead1014Brazil2025-04-18
Tony Z Malet1015Argentina2025-04-26
Stacey N Kusko1016Germany2025-04-10
Misaki K Paprocki1017Japan2025-04-26
Morrow G Amigon1018Argentina2025-04-12
Sinclair O Wieser1019Spain2025-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood F DoeArgentinaAsiya Javayant NEGOTIATION
James J GarufiJapanAmy Elsner NEW
David K GarufiUnited KingdomXuxue Feng UNQUALIFIED
Ashley C RulapaughRussiaAmy Elsner PROPOSAL
Ricardo C FerenczSpainOnyama Limba PROPOSAL
James J AmigonItalyIoni Bowcher QUALIFIED
Izzy Y WhobreyFranceElwin Sharvill UNQUALIFIED
Jennifer O ShinkoUnited KingdomAnna Fali NEGOTIATION
Murillo G GarufiCanadaElwin Sharvill UNQUALIFIED
James X InouyeSpainBernardo Dominic QUALIFIED
Jones K DilliardFranceElwin Sharvill UNQUALIFIED
Tony J DoeItalyBernardo Dominic NEW
Kaitlin B DoeJapanAsiya Javayant QUALIFIED
Antonio X GillianAustraliaIvan Magalhaes PROPOSAL
Munro I MacleadFranceIoni Bowcher RENEWAL
Deepesh R SchemmerJapanAsiya Javayant NEGOTIATION
Silvio Z OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Maria T ButtArgentinaAsiya Javayant NEGOTIATION
Francesco R MacleadItalyIvan Magalhaes NEW
Chavez A NestleItalyElwin Sharvill QUALIFIED
Cody C RutaGermanyElwin Sharvill UNQUALIFIED
Costa W IturbideItalyAnna Fali NEW
Clifford K CaudyJapanElwin Sharvill RENEWAL
Kadeem E WaycottBrazilIvan Magalhaes PROPOSAL
Greenwood Y WhobreyUnited KingdomAnna Fali NEGOTIATION
Misaki H RimCanadaAnna Fali QUALIFIED
Sinclair L MacleadSpainIoni Bowcher RENEWAL
Claire J WaycottItalyElwin Sharvill NEW
Kaitlin R WaycottRussiaXuxue Feng RENEWAL
Ricardo V NickaUnited KingdomXuxue Feng NEW
Adams L StensethCanadaAsiya Javayant NEW
Izzy U SaylorsGermanyBernardo Dominic NEGOTIATION
Isabel I RulapaughArgentinaIvan Magalhaes NEW
Leon J PaprockiItalyIvan Magalhaes RENEWAL
Munro A BologniaArgentinaIvan Magalhaes NEGOTIATION
Leon K AmigonBrazilIvan Magalhaes NEGOTIATION
Alejandro E KolmetzFranceStephen Shaw NEW
Wickens Y SchemmerAustraliaIoni Bowcher NEW
Nicolas H VenereGermanyAmy Elsner RENEWAL
Misaki S GillianFranceAsiya Javayant 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>