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
Clifford X ChuiRussiaAsiya Javayant RENEWAL
Julie T FerenczItalyAmy Elsner UNQUALIFIED
David Q VenereGermanyIoni Bowcher PROPOSAL
Arvin H WhobreyRussiaIoni Bowcher UNQUALIFIED
Octavia V GillianUnited KingdomXuxue Feng NEW
Wickens K RimRussiaOnyama Limba NEW
Chavez V KolmetzJapanElwin Sharvill NEW
Sinclair J SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Cody P KuskoItalyXuxue Feng PROPOSAL
Darci I IturbideUnited KingdomAmy Elsner QUALIFIED
Darci K PerinGermanyElwin Sharvill PROPOSAL
Antonio P NestleRussiaElwin Sharvill UNQUALIFIED
Kadeem U PoquetteGermanyOnyama Limba QUALIFIED
Salvatore W FlosiJapanIvan Magalhaes PROPOSAL
Ashley I RutaAustraliaAnna Fali RENEWAL
Ivar I CampainSpainAsiya Javayant UNQUALIFIED
Nicolas Z FlosiJapanIvan Magalhaes RENEWAL
Maisha A WaycottArgentinaElwin Sharvill QUALIFIED
Julie Z RoysterGermanyAnna Fali NEGOTIATION
Mujtaba N FigeroaItalyAsiya Javayant RENEWAL
Aika V VocelkaBrazilElwin Sharvill NEGOTIATION
Stacey C KolmetzRussiaAmy Elsner UNQUALIFIED
Stacey K FlosiRussiaAmy Elsner QUALIFIED
Maria T OldroydRussiaIoni Bowcher NEW
Adams N MarrierUnited KingdomXuxue Feng PROPOSAL
Morrow C IturbideGermanyElwin Sharvill NEGOTIATION
Ivar V BowleyFranceAsiya Javayant NEW
Wickens R NickaSpainBernardo Dominic QUALIFIED
Jones M NestleAustraliaBernardo Dominic NEGOTIATION
Julie T WhobreyJapanIoni Bowcher NEGOTIATION
Jefferson O NestleSpainBernardo Dominic RENEWAL
Adams E PerinArgentinaXuxue Feng PROPOSAL
Stacey F NickaJapanIvan Magalhaes NEW
Misaki G RutaRussiaElwin Sharvill NEW
Claire N NestleSpainIoni Bowcher RENEWAL
Nicolas C GarufiItalyOnyama Limba NEGOTIATION
Nicolas N IturbideCanadaAnna Fali NEGOTIATION
Salvatore S RoysterJapanStephen Shaw QUALIFIED
Greenwood E CampainItalyIoni Bowcher QUALIFIED
Ivar O DarakjyRussiaIoni Bowcher UNQUALIFIED
Antonio G VocelkaGermanyIoni Bowcher NEGOTIATION
Silvio Z WaycottArgentinaIvan Magalhaes PROPOSAL
Faith S VocelkaItalyXuxue Feng UNQUALIFIED
Isabel F DilliardArgentinaXuxue Feng PROPOSAL
Kaitlin I OldroydAustraliaAnna Fali QUALIFIED
Kadeem R MaletItalyBernardo Dominic UNQUALIFIED
Nicolas C PerinCanadaIoni Bowcher UNQUALIFIED
Juan Q VocelkaCanadaOnyama Limba NEW
Clifford C KolmetzIndiaIoni Bowcher NEGOTIATION
David B SergiCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco D AmigonBrazilOnyama Limba RENEWAL
Munro V KolmetzRussiaAnna Fali NEW
Mujtaba Y WhobreyRussiaOnyama Limba RENEWAL
David R StensethItalyXuxue Feng QUALIFIED
Isabel D WaycottBrazilIvan Magalhaes QUALIFIED
Emily K GillianIndiaOnyama Limba UNQUALIFIED
Faith Q GarufiAustraliaAsiya Javayant QUALIFIED
James C FerenczUnited KingdomAsiya Javayant NEW
Maisha S AlbaresBrazilStephen Shaw NEGOTIATION
Greenwood Y ShinkoIndiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Y WieserFrance2024-06-06Rangoni Of Florence RENEWAL27Onyama Limba
1001Jeanfrancois K AlbaresItaly2024-05-20Rangoni Of Florence PROPOSAL28Elwin Sharvill
1002Rodrigues L CampainAustralia2024-05-23Chanay, Jeffrey A Esq NEGOTIATION46Onyama Limba
1003Leja B VenereJapan2024-06-13Truhlar And Truhlar Attys UNQUALIFIED77Ioni Bowcher
1004Tony L ChuiSpain2024-06-07Chapman, Ross E Esq NEGOTIATION1Stephen Shaw
1005Sinclair J CaldareraRussia2024-06-04Benton, John B Jr UNQUALIFIED60Ioni Bowcher
1006Kadeem T BriddickItaly2024-05-21Chemel, James L Cpa NEGOTIATION94Anna Fali
1007Munro E SchemmerBrazil2024-05-28Buckley Miller Wright PROPOSAL86Elwin Sharvill
1008Mujtaba R GillianItaly2024-06-06Buckley Miller Wright RENEWAL60Elwin Sharvill
1009Antonio G SergiCanada2024-06-07Dorl, James J Esq QUALIFIED50Asiya Javayant
1010Smith F DoeGermany2024-05-26Rousseaux, Michael Esq NEGOTIATION84Onyama Limba
1011Ricardo J MarrierCanada2024-05-16Rangoni Of Florence NEGOTIATION81Onyama Limba
1012Munro Z SchemmerArgentina2024-05-26Dorl, James J Esq NEGOTIATION73Elwin Sharvill
1013Aika A MaletIndia2024-06-09Printing Dimensions RENEWAL19Anna Fali
1014Munro G InouyeAustralia2024-05-18Feiner Bros PROPOSAL38Xuxue Feng
1015Ashley H OstroskyBrazil2024-05-25Rangoni Of Florence NEGOTIATION79Asiya Javayant
1016Kadeem Q NestleBrazil2024-05-17Truhlar And Truhlar Attys NEW53Xuxue Feng
1017Alejandro E CampainIndia2024-06-05Printing Dimensions QUALIFIED56Amy Elsner
1018Sinclair E VenereGermany2024-05-21Chapman, Ross E Esq NEW84Bernardo Dominic
1019Emily J SlusarskiArgentina2024-05-24Truhlar And Truhlar Attys UNQUALIFIED92Onyama Limba
1020Ricardo P StockhamUnited Kingdom2024-05-18King, Christopher A Esq RENEWAL58Anna Fali
1021Mayumi M WhobreyGermany2024-05-23Truhlar And Truhlar Attys QUALIFIED66Stephen Shaw
1022Darci J GillianCanada2024-06-08Chemel, James L Cpa NEW73Ivan Magalhaes
1023Kaitlin G IturbideSpain2024-05-16King, Christopher A Esq UNQUALIFIED41Stephen Shaw
1024Kadeem A SaylorsFrance2024-06-03Rangoni Of Florence NEW26Ioni Bowcher
1025Johnson P GarufiArgentina2024-06-07Benton, John B Jr NEW75Amy Elsner
1026Aditya N VocelkaUnited Kingdom2024-05-26Printing Dimensions RENEWAL1Ivan Magalhaes
1027Aditya A StensethSpain2024-05-17Printing Dimensions QUALIFIED66Ioni Bowcher
1028Costa O ShinkoItaly2024-06-11Rangoni Of Florence RENEWAL60Ivan Magalhaes
1029Ricardo F AlbaresUnited Kingdom2024-05-21Printing Dimensions PROPOSAL5Asiya Javayant
1030Stacey N KolmetzSpain2024-05-29Printing Dimensions NEW21Onyama Limba
1031Tony W PerinSpain2024-06-13Buckley Miller Wright PROPOSAL64Bernardo Dominic
1032Munro L InouyeFrance2024-05-16Chemel, James L Cpa NEGOTIATION72Anna Fali
1033Darci Y GillianJapan2024-05-22Rousseaux, Michael Esq PROPOSAL17Asiya Javayant
1034Wickens I ChuiAustralia2024-05-26Morlong Associates NEGOTIATION6Amy Elsner
1035Chavez H DoeSpain2024-05-28Chemel, James L Cpa QUALIFIED44Xuxue Feng
1036Stacey S FigeroaIndia2024-06-09Truhlar And Truhlar Attys QUALIFIED91Amy Elsner
1037Arvin Y RoysterUnited Kingdom2024-05-29Morlong Associates NEGOTIATION16Stephen Shaw
1038Maisha C MaletRussia2024-06-10Dorl, James J Esq NEGOTIATION42Stephen Shaw
1039James B CaudyItaly2024-05-26Printing Dimensions NEGOTIATION64Anna Fali
1040Francesco A GauchoIndia2024-06-02Printing Dimensions NEGOTIATION31Stephen Shaw
1041Smith Z KuskoRussia2024-05-27Printing Dimensions RENEWAL29Bernardo Dominic
1042Izzy R ShinkoCanada2024-06-05Printing Dimensions NEW75Anna Fali
1043Aika E BriddickArgentina2024-05-26Morlong Associates NEW80Amy Elsner
1044Ricardo D GauchoAustralia2024-05-31Commercial Press PROPOSAL1Stephen Shaw
1045Aditya N OstroskyFrance2024-05-27King, Christopher A Esq RENEWAL51Onyama Limba
1046Silvio U BowleyArgentina2024-06-08Feiner Bros RENEWAL59Ivan Magalhaes
1047Claire P VocelkaJapan2024-05-23Feiner Bros QUALIFIED81Bernardo Dominic
1048Ricardo M CaldareraAustralia2024-05-29King, Christopher A Esq QUALIFIED12Stephen Shaw
1049Tony T InouyeSpain2024-05-21Buckley Miller Wright PROPOSAL20Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Morrow L MorascaJapanIoni Bowcher QUALIFIED
Francesco Z MarrierIndiaStephen Shaw PROPOSAL
Nicolas Q AmigonFranceAnna Fali NEGOTIATION
Leja B SchemmerSpainAsiya Javayant UNQUALIFIED
Ivar T VenereJapanIoni Bowcher QUALIFIED
Maisha G FlosiIndiaIoni Bowcher QUALIFIED
Ivar H MaletUnited KingdomBernardo Dominic PROPOSAL
Stacey L WieserArgentinaAsiya Javayant NEGOTIATION
Alejandro J OldroydGermanyAsiya Javayant PROPOSAL
Francesco J ChuiCanadaXuxue Feng QUALIFIED
Aruna W BologniaBrazilAnna Fali NEGOTIATION
Emily K VenereUnited KingdomAsiya Javayant NEGOTIATION
Aika M NestleCanadaBernardo Dominic NEGOTIATION
David Q FerenczSpainIvan Magalhaes NEW
Misaki N CaldareraIndiaIvan Magalhaes PROPOSAL
Francesco V GarufiAustraliaIvan Magalhaes NEGOTIATION
Aika R StockhamAustraliaAmy Elsner QUALIFIED
Adams P ChuiJapanBernardo Dominic NEW
Maisha J FerenczIndiaIvan Magalhaes PROPOSAL
Wickens G PerinGermanyIoni Bowcher RENEWAL
Ivar C DarakjySpainAsiya Javayant NEGOTIATION
Leon W MacleadArgentinaIoni Bowcher NEW
Aruna S InouyeArgentinaAmy Elsner NEW
Costa L AlbaresCanadaOnyama Limba NEGOTIATION
David I StockhamGermanyAmy Elsner NEW
Ricardo N RoysterGermanyElwin Sharvill QUALIFIED
Adams H RimAustraliaElwin Sharvill QUALIFIED
Mayumi V ChuiFranceBernardo Dominic UNQUALIFIED
Cody T OstroskySpainBernardo Dominic PROPOSAL
Faith J DoeRussiaIoni Bowcher RENEWAL
Costa N OldroydRussiaAmy Elsner NEW
Deepesh H KuskoUnited KingdomOnyama Limba RENEWAL
Rodrigues Q TollnerJapanIvan Magalhaes NEW
Morrow V CampainUnited KingdomIvan Magalhaes PROPOSAL
Francesco T ChuiItalyAmy Elsner NEW
Murillo P IturbideRussiaElwin Sharvill NEW
Julie Y InouyeAustraliaOnyama Limba NEGOTIATION
Darci A ShinkoCanadaAnna Fali UNQUALIFIED
Chavez R IturbideFranceOnyama Limba NEW
Cody X DoeItalyOnyama Limba NEGOTIATION
Ricardo X BriddickRussiaAsiya Javayant UNQUALIFIED
Maisha G DilliardIndiaXuxue Feng QUALIFIED
Nicolas W RimRussiaAsiya Javayant NEW
Antonio H VocelkaGermanyIvan Magalhaes QUALIFIED
Leon V GarufiUnited KingdomOnyama Limba PROPOSAL
Kaitlin O WieserItalyAmy Elsner QUALIFIED
Ivar P FerenczFranceAsiya Javayant PROPOSAL
Salvatore X KuskoGermanyOnyama Limba UNQUALIFIED
Aditya T WieserFranceXuxue Feng UNQUALIFIED
Alejandro M RimJapanStephen Shaw UNQUALIFIED
Frozen Columns
Name
Octavia V Glick
Murillo M Tollner
Johnson W Foller
Adams H Bolognia
Clifford K Bolognia
Deepesh J Bowley
Jennifer M Chui
Darci F Oldroyd
Costa P Doe
Morrow R Darakjy
David B Morasca
Munro X Oldroyd
Cody N Poquette
Maisha M Amigon
Mujtaba F Oldroyd
Faith B Royster
Mujtaba H Briddick
Maria U Royster
Jones V Gillian
Jefferson T Caudy
Salvatore C Nestle
Ashley G Stockham
Tony C Bolognia
Maria F Malet
Chavez K Poquette
Jennifer M Amigon
Greenwood C Caudy
Alejandro R Caudy
Munro M Gaucho
Cody Y Foller
Jennifer Z Garufi
Isabel V Malet
Costa M Malet
Stacey R Kolmetz
Maria N Sergi
Salvatore J Royster
Tony A Ostrosky
Alejandro D Rulapaugh
Leon G Whobrey
Smith E Glick
Costa Q Rulapaugh
Jennifer N Inouye
Morrow A Kusko
Isabel A Flosi
Ricardo B Kusko
James G Ruta
James E Albares
Leja B Inouye
Morrow Y Rulapaugh
Juan F Caldarera
IdCountryDate
1000Japan2024-06-07
1001United Kingdom2024-05-26
1002Spain2024-05-21
1003Italy2024-05-19
1004Australia2024-06-12
1005Japan2024-06-08
1006India2024-05-21
1007Brazil2024-06-05
1008Argentina2024-06-02
1009France2024-05-30
1010Spain2024-06-04
1011India2024-06-11
1012Canada2024-05-28
1013Germany2024-06-13
1014Japan2024-06-04
1015Italy2024-06-09
1016Canada2024-06-03
1017Australia2024-05-16
1018France2024-05-31
1019Spain2024-06-09
1020Australia2024-05-22
1021Argentina2024-05-29
1022Argentina2024-06-09
1023United Kingdom2024-05-23
1024Argentina2024-06-01
1025France2024-05-23
1026India2024-05-30
1027France2024-05-18
1028Italy2024-06-04
1029Brazil2024-05-16
1030Italy2024-06-13
1031India2024-05-26
1032Argentina2024-05-23
1033Brazil2024-05-28
1034India2024-05-23
1035Japan2024-06-13
1036France2024-05-17
1037Australia2024-05-24
1038Italy2024-06-10
1039Germany2024-06-08
1040Australia2024-06-03
1041Brazil2024-06-09
1042Spain2024-05-21
1043Brazil2024-05-16
1044Brazil2024-05-30
1045Italy2024-05-16
1046Italy2024-05-24
1047Germany2024-05-19
1048Italy2024-05-19
1049Canada2024-06-11

On-Demand Data

NameIdCountryDate
Aika F Butt1000Russia2024-05-24
Silvio V Gillian1001Spain2024-06-01
Leja C Doe1002France2024-05-27
Kadeem D Foller1003Brazil2024-06-10
Chavez X Albares1004Japan2024-06-05
Murillo M Kolmetz1005Japan2024-05-21
Smith X Saylors1006Japan2024-06-09
Silvio V Ferencz1007Canada2024-06-10
Julie F Stenseth1008Brazil2024-06-05
Juan F Venere1009Argentina2024-05-17
Jones T Gaucho1010Spain2024-05-25
Deepesh K Campain1011Brazil2024-06-07
Clifford S Slusarski1012Canada2024-05-29
Darci Z Wieser1013Japan2024-06-09
Tony V Vocelka1014Canada2024-05-22
Francesco U Morasca1015Russia2024-05-21
Isabel F Tollner1016Argentina2024-06-01
Jeanfrancois X Glick1017France2024-06-14
Arvin Y Flosi1018Canada2024-06-07
Aditya C Campain1019Italy2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja P WhobreyUnited KingdomStephen Shaw RENEWAL
Ashley O GauchoAustraliaAsiya Javayant NEW
Cody M MacleadGermanyOnyama Limba UNQUALIFIED
Emily B KuskoGermanyStephen Shaw RENEWAL
Arvin M RimFranceAmy Elsner QUALIFIED
Munro R IturbideCanadaElwin Sharvill NEGOTIATION
Mujtaba F PoquetteAustraliaAsiya Javayant PROPOSAL
Mayumi V FollerJapanIvan Magalhaes QUALIFIED
Antonio C GauchoItalyElwin Sharvill UNQUALIFIED
Aruna C DarakjySpainAsiya Javayant NEW
Munro S StensethJapanIvan Magalhaes PROPOSAL
Jones U GillianAustraliaAnna Fali PROPOSAL
Tony F DoeIndiaIoni Bowcher NEW
Kadeem V FigeroaJapanBernardo Dominic PROPOSAL
Aditya O BowleyIndiaOnyama Limba UNQUALIFIED
Greenwood Y IturbideItalyAsiya Javayant NEGOTIATION
Maria F RoysterJapanAnna Fali QUALIFIED
Claire K RoysterArgentinaIoni Bowcher PROPOSAL
Aditya D DoeIndiaOnyama Limba QUALIFIED
Maria A BriddickJapanStephen Shaw NEGOTIATION
Jeanfrancois L InouyeUnited KingdomBernardo Dominic RENEWAL
Faith A GlickArgentinaIoni Bowcher NEGOTIATION
Adams X PaprockiArgentinaAsiya Javayant UNQUALIFIED
Francesco V StockhamSpainStephen Shaw NEGOTIATION
Ashley M WhobreyItalyIvan Magalhaes NEGOTIATION
Francesco L IturbideUnited KingdomIvan Magalhaes NEW
Salvatore Z OstroskyAustraliaStephen Shaw UNQUALIFIED
Ricardo L IturbideIndiaOnyama Limba PROPOSAL
Mujtaba I GlickJapanIoni Bowcher PROPOSAL
Isabel E AmigonRussiaElwin Sharvill QUALIFIED
Jeanfrancois P GillianItalyBernardo Dominic NEGOTIATION
Julie U WaycottRussiaIvan Magalhaes QUALIFIED
Francesco K SlusarskiGermanyIvan Magalhaes QUALIFIED
Aditya Z PoquetteGermanyElwin Sharvill RENEWAL
Isabel S StensethGermanyBernardo Dominic QUALIFIED
Silvio C SergiItalyAmy Elsner PROPOSAL
Johnson K SchemmerSpainBernardo Dominic UNQUALIFIED
Mayumi Z PoquetteBrazilOnyama Limba PROPOSAL
Leon R DoeCanadaAmy Elsner NEW
Murillo H PaprockiUnited KingdomStephen Shaw 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>