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
Kaitlin Q StockhamAustraliaAsiya Javayant NEGOTIATION
Claire T FerenczSpainAsiya Javayant QUALIFIED
Costa T PaprockiJapanIoni Bowcher UNQUALIFIED
Greenwood J WaycottRussiaAmy Elsner PROPOSAL
Adams B InouyeAustraliaIvan Magalhaes QUALIFIED
Ricardo G OstroskyUnited KingdomAmy Elsner RENEWAL
Salvatore R InouyeRussiaIvan Magalhaes NEGOTIATION
Izzy S VenereGermanyBernardo Dominic UNQUALIFIED
Stacey F StensethCanadaIvan Magalhaes QUALIFIED
Ashley Q GarufiBrazilIvan Magalhaes QUALIFIED
Tony L FollerCanadaOnyama Limba NEGOTIATION
Aika K CaldareraFranceElwin Sharvill QUALIFIED
Maisha U WhobreyGermanyBernardo Dominic PROPOSAL
Faith K GlickUnited KingdomStephen Shaw UNQUALIFIED
Claire A FerenczArgentinaElwin Sharvill RENEWAL
Munro X BologniaGermanyAnna Fali PROPOSAL
Ivar B WieserUnited KingdomStephen Shaw UNQUALIFIED
Kadeem R SlusarskiAustraliaStephen Shaw RENEWAL
Ricardo Y OldroydAustraliaAnna Fali UNQUALIFIED
Octavia Q WhobreySpainBernardo Dominic PROPOSAL
Tony Q VenereGermanyOnyama Limba RENEWAL
Misaki M KuskoIndiaIvan Magalhaes NEW
Silvio U SergiArgentinaAsiya Javayant QUALIFIED
Mayumi O ChuiBrazilAmy Elsner UNQUALIFIED
Isabel Q SaylorsGermanyBernardo Dominic UNQUALIFIED
Julie H SaylorsIndiaAmy Elsner PROPOSAL
Arvin B RimRussiaStephen Shaw RENEWAL
Arvin O CaldareraGermanyIoni Bowcher PROPOSAL
Octavia R CaudyItalyElwin Sharvill QUALIFIED
Nicolas I NestleArgentinaIvan Magalhaes NEGOTIATION
Adams C GlickIndiaAmy Elsner NEGOTIATION
Tony U BriddickArgentinaAmy Elsner PROPOSAL
Arvin D NickaJapanIoni Bowcher QUALIFIED
Cody S BriddickCanadaAmy Elsner UNQUALIFIED
Aika Q InouyeCanadaAnna Fali NEGOTIATION
Morrow N KolmetzGermanyAsiya Javayant NEGOTIATION
Ricardo K GarufiUnited KingdomXuxue Feng PROPOSAL
Adams F AmigonFranceAnna Fali RENEWAL
Leon B BowleyBrazilXuxue Feng UNQUALIFIED
Mayumi I WaycottJapanStephen Shaw RENEWAL
Jones Y KolmetzIndiaIoni Bowcher RENEWAL
Johnson H IturbideAustraliaElwin Sharvill NEW
Misaki F VocelkaBrazilStephen Shaw QUALIFIED
Mujtaba P WieserUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin V TollnerUnited KingdomBernardo Dominic NEGOTIATION
Ashley S StensethGermanyAmy Elsner PROPOSAL
Julie A AlbaresAustraliaAmy Elsner UNQUALIFIED
Jones G FollerItalyOnyama Limba NEGOTIATION
Francesco N NickaIndiaXuxue Feng RENEWAL
Maisha N SchemmerSpainIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore E GillianUnited KingdomAnna Fali UNQUALIFIED
Smith A VenereFranceAsiya Javayant UNQUALIFIED
Aditya A VocelkaCanadaAsiya Javayant NEGOTIATION
Wickens W BologniaUnited KingdomOnyama Limba RENEWAL
Rodrigues U MaletUnited KingdomXuxue Feng NEGOTIATION
Johnson X OstroskyAustraliaAmy Elsner QUALIFIED
Aika O SergiJapanAmy Elsner NEW
Ricardo C BriddickGermanyAsiya Javayant UNQUALIFIED
Stacey Z AlbaresIndiaIvan Magalhaes RENEWAL
Julie R GarufiArgentinaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro J SchemmerArgentina2024-06-05Commercial Press NEGOTIATION21Asiya Javayant
1001Salvatore K FigeroaIndia2024-06-14Feltz Printing Service NEW66Asiya Javayant
1002Stacey V ShinkoIndia2024-06-08Dorl, James J Esq PROPOSAL63Ioni Bowcher
1003Sinclair X CaldareraRussia2024-06-18Feiner Bros NEGOTIATION29Ioni Bowcher
1004Clifford D WieserJapan2024-05-28King, Christopher A Esq NEGOTIATION98Bernardo Dominic
1005Deepesh H MaletIndia2024-06-21Rousseaux, Michael Esq NEGOTIATION1Onyama Limba
1006Adams C RimBrazil2024-06-20Truhlar And Truhlar Attys RENEWAL9Asiya Javayant
1007Ricardo O NickaCanada2024-05-28King, Christopher A Esq NEW32Onyama Limba
1008Julie D SchemmerCanada2024-06-13Rangoni Of Florence UNQUALIFIED61Bernardo Dominic
1009Jefferson Y BologniaAustralia2024-06-04Rangoni Of Florence NEGOTIATION72Asiya Javayant
1010Kadeem Z RulapaughGermany2024-06-21King, Christopher A Esq RENEWAL56Amy Elsner
1011Maisha O DarakjyGermany2024-06-10Commercial Press PROPOSAL81Ivan Magalhaes
1012Johnson Q WieserCanada2024-06-06Dorl, James J Esq NEGOTIATION35Bernardo Dominic
1013Octavia G BologniaRussia2024-06-20Morlong Associates QUALIFIED29Ivan Magalhaes
1014Deepesh M GarufiJapan2024-06-18King, Christopher A Esq QUALIFIED47Ivan Magalhaes
1015Nicolas S GlickCanada2024-06-03Benton, John B Jr PROPOSAL28Ivan Magalhaes
1016Aruna O PaprockiSpain2024-06-15Dorl, James J Esq NEW19Ivan Magalhaes
1017Misaki K GillianCanada2024-06-05Morlong Associates RENEWAL49Asiya Javayant
1018Misaki F FlosiArgentina2024-06-14Rangoni Of Florence RENEWAL95Elwin Sharvill
1019Francesco L RimItaly2024-06-20Truhlar And Truhlar Attys QUALIFIED84Xuxue Feng
1020Aditya C GauchoFrance2024-06-12Rangoni Of Florence NEGOTIATION18Asiya Javayant
1021Cody B KuskoBrazil2024-05-29Feltz Printing Service NEW15Onyama Limba
1022Arvin Y RulapaughCanada2024-06-16King, Christopher A Esq QUALIFIED42Bernardo Dominic
1023Juan E ChuiSpain2024-06-20Feltz Printing Service QUALIFIED45Amy Elsner
1024Isabel B TollnerIndia2024-06-14Commercial Press PROPOSAL97Xuxue Feng
1025Kadeem P MacleadJapan2024-06-06Feltz Printing Service NEGOTIATION10Anna Fali
1026Smith L DarakjyJapan2024-06-22Dorl, James J Esq NEGOTIATION30Stephen Shaw
1027Juan B VocelkaItaly2024-06-23Chemel, James L Cpa PROPOSAL2Xuxue Feng
1028Arvin Z StensethRussia2024-05-31Feltz Printing Service RENEWAL4Ioni Bowcher
1029Faith A MaletSpain2024-06-15Rangoni Of Florence UNQUALIFIED68Asiya Javayant
1030Wickens T MaletAustralia2024-05-29Commercial Press UNQUALIFIED96Onyama Limba
1031Arvin T SchemmerJapan2024-06-01Buckley Miller Wright PROPOSAL74Asiya Javayant
1032Sinclair D SlusarskiArgentina2024-06-24Dorl, James J Esq NEGOTIATION42Anna Fali
1033Silvio P GarufiIndia2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED63Stephen Shaw
1034Francesco Q OldroydGermany2024-06-04Rangoni Of Florence PROPOSAL65Bernardo Dominic
1035Faith C MaletUnited Kingdom2024-05-26Rousseaux, Michael Esq UNQUALIFIED18Xuxue Feng
1036Ricardo I PerinAustralia2024-06-23Buckley Miller Wright UNQUALIFIED9Onyama Limba
1037Alejandro A VocelkaGermany2024-05-29Printing Dimensions RENEWAL71Onyama Limba
1038Antonio U BologniaFrance2024-06-09Chapman, Ross E Esq UNQUALIFIED95Ivan Magalhaes
1039Izzy S KolmetzItaly2024-06-11Chapman, Ross E Esq UNQUALIFIED25Ioni Bowcher
1040Leja O MarrierArgentina2024-06-12Truhlar And Truhlar Attys NEW48Ivan Magalhaes
1041Sinclair I WhobreyAustralia2024-06-24Feiner Bros UNQUALIFIED78Elwin Sharvill
1042Smith U FerenczIndia2024-05-30Buckley Miller Wright QUALIFIED99Bernardo Dominic
1043Munro U WaycottItaly2024-06-01Buckley Miller Wright NEW98Asiya Javayant
1044Smith F PerinIndia2024-06-22Morlong Associates UNQUALIFIED63Onyama Limba
1045Ashley E WaycottBrazil2024-06-21Rousseaux, Michael Esq RENEWAL73Xuxue Feng
1046Kaitlin G InouyeJapan2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED47Elwin Sharvill
1047Clifford K MaletIndia2024-06-20Commercial Press PROPOSAL14Elwin Sharvill
1048James W NickaJapan2024-06-13Printing Dimensions RENEWAL0Anna Fali
1049Murillo Y TollnerCanada2024-06-09Truhlar And Truhlar Attys PROPOSAL27Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Claire Z BriddickBrazilAmy Elsner NEGOTIATION
Jeanfrancois Y KuskoRussiaOnyama Limba QUALIFIED
Maria U RutaItalyIoni Bowcher PROPOSAL
Deepesh K BowleyCanadaOnyama Limba QUALIFIED
Faith A FollerGermanyIvan Magalhaes NEGOTIATION
Misaki J IturbideAustraliaBernardo Dominic NEW
Maria X FerenczFranceXuxue Feng NEGOTIATION
Faith T TollnerFranceAsiya Javayant NEW
Misaki K SergiGermanyAnna Fali PROPOSAL
Misaki O ButtItalyStephen Shaw UNQUALIFIED
Salvatore L MaletItalyStephen Shaw PROPOSAL
Julie Y FlosiItalyBernardo Dominic RENEWAL
Leja L DilliardUnited KingdomElwin Sharvill RENEWAL
Kaitlin T SaylorsAustraliaIoni Bowcher UNQUALIFIED
Mayumi I BriddickArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois V CaudyRussiaStephen Shaw PROPOSAL
Arvin V FlosiGermanyOnyama Limba QUALIFIED
Ricardo V PaprockiArgentinaAmy Elsner UNQUALIFIED
Adams A MarrierIndiaStephen Shaw NEW
Isabel J MarrierAustraliaXuxue Feng QUALIFIED
Kadeem P RimSpainElwin Sharvill UNQUALIFIED
Leon S CampainAustraliaAmy Elsner QUALIFIED
Faith J KolmetzArgentinaOnyama Limba QUALIFIED
Morrow P MaletArgentinaAnna Fali NEGOTIATION
Emily I MarrierAustraliaIvan Magalhaes PROPOSAL
Leon G VenereSpainElwin Sharvill RENEWAL
Johnson C GlickAustraliaIoni Bowcher RENEWAL
Antonio U OstroskyRussiaOnyama Limba NEW
Francesco C SaylorsRussiaAmy Elsner NEW
Stacey T RoysterAustraliaElwin Sharvill NEGOTIATION
Jones F AlbaresIndiaIoni Bowcher NEW
Jeanfrancois J GlickArgentinaStephen Shaw PROPOSAL
Chavez R SergiFranceAmy Elsner UNQUALIFIED
James A MarrierSpainAsiya Javayant PROPOSAL
Aruna M MaletCanadaStephen Shaw PROPOSAL
Aruna J ShinkoGermanyAmy Elsner QUALIFIED
Ricardo P SergiSpainStephen Shaw RENEWAL
Adams I DilliardGermanyStephen Shaw RENEWAL
Aditya O SchemmerItalyBernardo Dominic UNQUALIFIED
Julie O SlusarskiSpainStephen Shaw NEGOTIATION
Jefferson J MacleadItalyIvan Magalhaes PROPOSAL
Leja K MaletBrazilElwin Sharvill QUALIFIED
Kaitlin E PaprockiJapanXuxue Feng UNQUALIFIED
Nicolas B RutaGermanyElwin Sharvill QUALIFIED
Munro A RutaItalyAsiya Javayant RENEWAL
Johnson X NickaFranceBernardo Dominic NEW
Salvatore L PaprockiBrazilStephen Shaw RENEWAL
Munro D NickaJapanStephen Shaw PROPOSAL
Salvatore Q StockhamRussiaAsiya Javayant NEW
Octavia T WhobreyFranceAnna Fali UNQUALIFIED
Frozen Columns
Name
Arvin L Caudy
Kadeem H Caldarera
Chavez C Ferencz
Wickens Q Morasca
Johnson C Ostrosky
Aruna K Wieser
Clifford R Nicka
Misaki E Doe
Leon K Malet
Julie N Caldarera
Leon Q Ostrosky
Jeanfrancois X Ostrosky
Leon C Bowley
Nicolas E Malet
Antonio X Flosi
Jeanfrancois A Poquette
Darci F Stockham
Mayumi P Butt
Julie G Dilliard
Izzy R Albares
Cody U Waycott
Darci H Poquette
Deepesh R Chui
Stacey J Glick
Jones E Stenseth
Ricardo B Bowley
Adams S Kolmetz
Tony L Poquette
Aika C Sergi
Smith H Briddick
Murillo T Vocelka
Isabel J Gaucho
Clifford W Chui
Jones W Poquette
Julie N Slusarski
Wickens A Malet
Rodrigues P Nestle
Ricardo W Albares
Salvatore I Maclead
Faith N Butt
Deepesh L Ostrosky
Johnson D Bolognia
Sinclair X Poquette
Jones J Stenseth
Greenwood I Butt
Octavia U Malet
Maisha F Poquette
James D Briddick
Costa J Butt
Francesco T Kusko
IdCountryDate
1000Australia2024-06-24
1001Brazil2024-06-06
1002France2024-05-30
1003Argentina2024-06-14
1004India2024-06-15
1005India2024-06-24
1006Russia2024-06-07
1007Russia2024-05-31
1008Germany2024-06-12
1009France2024-06-13
1010Italy2024-06-23
1011Germany2024-06-12
1012Spain2024-06-11
1013France2024-06-06
1014Japan2024-05-30
1015Germany2024-05-26
1016Italy2024-06-20
1017Russia2024-06-22
1018Spain2024-05-31
1019Spain2024-06-05
1020Japan2024-06-04
1021Germany2024-06-24
1022Spain2024-06-04
1023Italy2024-06-12
1024France2024-06-22
1025Canada2024-05-30
1026Australia2024-06-02
1027Brazil2024-06-14
1028Japan2024-05-30
1029Australia2024-06-12
1030Argentina2024-06-07
1031Russia2024-06-10
1032Australia2024-06-21
1033Germany2024-06-21
1034United Kingdom2024-06-24
1035Argentina2024-05-26
1036Spain2024-06-01
1037Germany2024-06-10
1038Germany2024-06-18
1039Australia2024-06-18
1040Brazil2024-06-03
1041United Kingdom2024-06-11
1042United Kingdom2024-06-22
1043United Kingdom2024-05-28
1044Italy2024-06-02
1045Australia2024-06-06
1046Argentina2024-06-12
1047United Kingdom2024-06-24
1048Russia2024-06-12
1049Russia2024-06-19

On-Demand Data

NameIdCountryDate
Adams D Ostrosky1000Germany2024-06-04
Leja P Perin1001India2024-06-17
Johnson U Bowley1002Argentina2024-06-13
Misaki V Venere1003Russia2024-06-22
Maisha K Glick1004France2024-06-15
Munro F Tollner1005Australia2024-06-01
Mayumi F Tollner1006France2024-06-23
Sinclair T Marrier1007France2024-06-01
David B Amigon1008Brazil2024-06-20
Octavia P Kusko1009Argentina2024-06-12
David C Ostrosky1010Russia2024-05-27
Murillo B Perin1011Russia2024-06-18
Darci K Schemmer1012Canada2024-05-29
Aruna U Stockham1013United Kingdom2024-05-29
Alejandro M Rim1014Argentina2024-06-03
Morrow T Shinko1015Spain2024-05-29
Emily D Flosi1016Brazil2024-06-08
Kaitlin L Maclead1017Canada2024-06-16
Johnson S Morasca1018France2024-06-03
Wickens H Oldroyd1019Spain2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan R BologniaArgentinaAmy Elsner PROPOSAL
James D PaprockiItalyAnna Fali QUALIFIED
Murillo T RutaItalyStephen Shaw QUALIFIED
Tony L MorascaUnited KingdomStephen Shaw NEW
Jones D GlickBrazilStephen Shaw NEW
Ricardo I CampainGermanyIoni Bowcher NEW
Murillo O VocelkaSpainAsiya Javayant NEGOTIATION
Deepesh N RimArgentinaElwin Sharvill NEGOTIATION
Wickens N WaycottArgentinaOnyama Limba NEGOTIATION
Greenwood F WaycottBrazilBernardo Dominic NEW
Izzy G WhobreyRussiaXuxue Feng NEGOTIATION
Munro Q KolmetzRussiaAmy Elsner QUALIFIED
Misaki N DilliardCanadaOnyama Limba UNQUALIFIED
Munro H MacleadItalyAnna Fali QUALIFIED
Kadeem C NickaAustraliaAnna Fali NEW
Sinclair F DilliardJapanAsiya Javayant PROPOSAL
Smith M SaylorsCanadaXuxue Feng PROPOSAL
Salvatore H ShinkoItalyXuxue Feng NEGOTIATION
Johnson R TollnerGermanyAnna Fali NEW
Deepesh P KuskoCanadaStephen Shaw PROPOSAL
Sinclair G KuskoGermanyElwin Sharvill UNQUALIFIED
Antonio V SaylorsItalyIvan Magalhaes RENEWAL
Deepesh L GarufiCanadaStephen Shaw RENEWAL
Jeanfrancois O OstroskyArgentinaElwin Sharvill PROPOSAL
Faith C KolmetzJapanIoni Bowcher NEGOTIATION
Morrow R BriddickArgentinaBernardo Dominic QUALIFIED
Mujtaba I CaldareraCanadaAnna Fali PROPOSAL
Aruna B KolmetzIndiaAnna Fali NEGOTIATION
Arvin K FlosiArgentinaAmy Elsner QUALIFIED
Misaki O WieserItalyOnyama Limba NEW
Leon H BowleyGermanyIvan Magalhaes NEW
Jefferson O GauchoBrazilAnna Fali QUALIFIED
Murillo J ChuiAustraliaOnyama Limba QUALIFIED
Alejandro W GauchoBrazilAnna Fali PROPOSAL
Costa A DarakjyCanadaStephen Shaw QUALIFIED
Deepesh B SergiGermanyIoni Bowcher QUALIFIED
David W SaylorsRussiaXuxue Feng RENEWAL
Jones X ButtBrazilAnna Fali PROPOSAL
Aruna F StensethIndiaXuxue Feng RENEWAL
Rodrigues C AmigonArgentinaElwin Sharvill 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>