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
Arvin O BowleySpainAsiya Javayant QUALIFIED
Johnson T MorascaGermanyStephen Shaw RENEWAL
Antonio F GillianGermanyElwin Sharvill PROPOSAL
Salvatore J DoeGermanyStephen Shaw PROPOSAL
Isabel R CaudyCanadaIvan Magalhaes UNQUALIFIED
Aruna S GlickGermanyIoni Bowcher NEW
Greenwood E ChuiAustraliaIvan Magalhaes NEGOTIATION
Octavia E KolmetzSpainBernardo Dominic PROPOSAL
Antonio T IturbideRussiaAnna Fali NEGOTIATION
Clifford Q VenereItalyAsiya Javayant UNQUALIFIED
Octavia I RoysterRussiaOnyama Limba QUALIFIED
Cody W BriddickJapanAmy Elsner PROPOSAL
Cody C IturbideCanadaXuxue Feng RENEWAL
Emily I AlbaresGermanyXuxue Feng PROPOSAL
Johnson F CaldareraCanadaOnyama Limba RENEWAL
Johnson T KolmetzCanadaAmy Elsner NEW
Greenwood H NickaSpainXuxue Feng RENEWAL
Smith F MaletSpainXuxue Feng PROPOSAL
Chavez B OstroskyFranceXuxue Feng PROPOSAL
Maria N WieserIndiaIvan Magalhaes UNQUALIFIED
Juan Z OldroydSpainAnna Fali NEGOTIATION
Costa B PaprockiSpainAmy Elsner NEGOTIATION
Juan S RimIndiaAmy Elsner NEGOTIATION
Aika J GillianSpainElwin Sharvill QUALIFIED
Jefferson F RimCanadaBernardo Dominic RENEWAL
Faith Q DarakjyBrazilElwin Sharvill NEGOTIATION
Wickens L PerinGermanyIoni Bowcher PROPOSAL
Kadeem N SchemmerBrazilBernardo Dominic NEGOTIATION
Salvatore Y ShinkoItalyIvan Magalhaes UNQUALIFIED
Maisha I CaldareraIndiaAsiya Javayant RENEWAL
Arvin U BologniaAustraliaAnna Fali QUALIFIED
Francesco C MaletArgentinaAnna Fali PROPOSAL
Ricardo E SchemmerBrazilAsiya Javayant QUALIFIED
Jeanfrancois Y RimSpainIvan Magalhaes UNQUALIFIED
Isabel S BowleyFranceOnyama Limba RENEWAL
Chavez M SaylorsCanadaAsiya Javayant UNQUALIFIED
Aika J FollerUnited KingdomXuxue Feng RENEWAL
David A MaletArgentinaIvan Magalhaes RENEWAL
Clifford P RimJapanElwin Sharvill NEGOTIATION
Emily A FigeroaUnited KingdomBernardo Dominic NEW
Tony Z MarrierFranceAnna Fali RENEWAL
Aditya Y MacleadIndiaElwin Sharvill PROPOSAL
Alejandro T RoysterItalyAnna Fali RENEWAL
Jones L NickaRussiaXuxue Feng NEW
Aruna R BriddickItalyOnyama Limba PROPOSAL
Emily E MorascaRussiaElwin Sharvill UNQUALIFIED
Cody B WaycottAustraliaAnna Fali NEW
Claire R BowleyCanadaAnna Fali QUALIFIED
Aika X BowleyUnited KingdomAsiya Javayant PROPOSAL
Salvatore X InouyeCanadaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika G PaprockiItalyAmy Elsner NEW
Smith G ShinkoUnited KingdomStephen Shaw NEGOTIATION
Adams P OldroydJapanStephen Shaw UNQUALIFIED
Emily C DoeSpainIoni Bowcher RENEWAL
Jones N SlusarskiFranceElwin Sharvill QUALIFIED
Misaki M SlusarskiBrazilIoni Bowcher UNQUALIFIED
Leon E PaprockiRussiaAmy Elsner UNQUALIFIED
Tony U RutaItalyAnna Fali QUALIFIED
Jefferson N CaldareraSpainXuxue Feng NEGOTIATION
Julie F CaudyFranceBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem K FerenczArgentina2024-06-09Buckley Miller Wright UNQUALIFIED97Bernardo Dominic
1001Ivar M FigeroaAustralia2024-05-18Dorl, James J Esq UNQUALIFIED86Bernardo Dominic
1002Salvatore X GauchoRussia2024-06-09Feltz Printing Service NEW14Elwin Sharvill
1003Rodrigues G DilliardJapan2024-05-18Rousseaux, Michael Esq UNQUALIFIED70Stephen Shaw
1004Kadeem J BologniaGermany2024-05-25Printing Dimensions NEGOTIATION61Onyama Limba
1005Chavez E DilliardArgentina2024-06-04Commercial Press RENEWAL85Elwin Sharvill
1006Sinclair K MarrierUnited Kingdom2024-05-27Morlong Associates RENEWAL10Xuxue Feng
1007Rodrigues T DarakjyArgentina2024-05-22Printing Dimensions RENEWAL76Ivan Magalhaes
1008Murillo I WhobreyRussia2024-06-02Morlong Associates QUALIFIED38Asiya Javayant
1009Silvio W WhobreyArgentina2024-06-02Rangoni Of Florence NEW85Stephen Shaw
1010Leon E CaldareraSpain2024-05-18Morlong Associates UNQUALIFIED59Stephen Shaw
1011Adams V PerinIndia2024-06-03Chemel, James L Cpa QUALIFIED13Asiya Javayant
1012Julie C SchemmerRussia2024-06-14Chanay, Jeffrey A Esq RENEWAL15Anna Fali
1013Juan B DarakjyAustralia2024-06-06Rangoni Of Florence PROPOSAL65Onyama Limba
1014Wickens H OldroydIndia2024-05-20King, Christopher A Esq PROPOSAL75Elwin Sharvill
1015Chavez C SchemmerIndia2024-05-18Rangoni Of Florence QUALIFIED81Anna Fali
1016Salvatore W OstroskyItaly2024-05-21Feltz Printing Service PROPOSAL26Asiya Javayant
1017Salvatore Z CaldareraRussia2024-06-14King, Christopher A Esq NEGOTIATION53Anna Fali
1018Jones T ChuiIndia2024-05-27Rangoni Of Florence QUALIFIED9Onyama Limba
1019Murillo V GauchoFrance2024-05-25Chemel, James L Cpa NEGOTIATION94Ioni Bowcher
1020Misaki X RoysterRussia2024-06-04Printing Dimensions NEGOTIATION24Anna Fali
1021Mujtaba R DarakjySpain2024-05-19Truhlar And Truhlar Attys QUALIFIED68Ivan Magalhaes
1022Stacey M DoeSpain2024-05-28Feiner Bros UNQUALIFIED50Anna Fali
1023Misaki K DarakjyRussia2024-06-12Buckley Miller Wright RENEWAL67Amy Elsner
1024Izzy B ButtBrazil2024-06-12Benton, John B Jr RENEWAL30Anna Fali
1025Rodrigues M SergiCanada2024-06-14Morlong Associates UNQUALIFIED95Ioni Bowcher
1026Maria Q DarakjyJapan2024-05-19Benton, John B Jr QUALIFIED16Elwin Sharvill
1027Jones U MaletCanada2024-06-03Chapman, Ross E Esq QUALIFIED84Stephen Shaw
1028Jennifer A PoquetteJapan2024-05-22Morlong Associates NEW88Elwin Sharvill
1029Alejandro P RoysterUnited Kingdom2024-06-04Rangoni Of Florence NEW36Bernardo Dominic
1030Stacey Q FigeroaRussia2024-06-08Truhlar And Truhlar Attys NEW55Amy Elsner
1031Ivar B FigeroaUnited Kingdom2024-06-12Chapman, Ross E Esq UNQUALIFIED98Amy Elsner
1032Izzy M SergiIndia2024-05-16Chemel, James L Cpa NEGOTIATION71Stephen Shaw
1033Darci O OldroydIndia2024-05-28Buckley Miller Wright QUALIFIED79Bernardo Dominic
1034Antonio O FlosiBrazil2024-05-29Rousseaux, Michael Esq QUALIFIED2Xuxue Feng
1035Costa X MorascaGermany2024-05-28Morlong Associates QUALIFIED58Onyama Limba
1036Antonio F GarufiBrazil2024-06-11Feltz Printing Service NEGOTIATION43Xuxue Feng
1037Alejandro C SaylorsCanada2024-05-23Chanay, Jeffrey A Esq RENEWAL92Xuxue Feng
1038Darci J KuskoRussia2024-05-19Rousseaux, Michael Esq QUALIFIED13Ioni Bowcher
1039Cody Q NickaCanada2024-05-17Chanay, Jeffrey A Esq NEW61Asiya Javayant
1040Cody R PoquetteFrance2024-06-14Chemel, James L Cpa NEGOTIATION38Anna Fali
1041Izzy B BowleyIndia2024-06-04King, Christopher A Esq QUALIFIED90Onyama Limba
1042Tony W MaletJapan2024-05-22Printing Dimensions UNQUALIFIED45Anna Fali
1043Salvatore F KuskoCanada2024-06-02Chemel, James L Cpa QUALIFIED35Onyama Limba
1044Emily T CampainItaly2024-06-06Benton, John B Jr RENEWAL82Elwin Sharvill
1045Jennifer Q AlbaresArgentina2024-06-04Morlong Associates NEW22Bernardo Dominic
1046Faith S IturbideUnited Kingdom2024-05-25Truhlar And Truhlar Attys RENEWAL36Ioni Bowcher
1047Munro E MaletJapan2024-05-22Feiner Bros PROPOSAL96Ioni Bowcher
1048Smith L StockhamGermany2024-06-06Benton, John B Jr NEW7Ioni Bowcher
1049Tony B IturbideSpain2024-06-10Buckley Miller Wright PROPOSAL93Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Juan U NickaIndiaOnyama Limba RENEWAL
Salvatore E VocelkaRussiaAnna Fali QUALIFIED
Darci F CampainRussiaElwin Sharvill UNQUALIFIED
Johnson B FollerAustraliaStephen Shaw QUALIFIED
Leja J BriddickCanadaAsiya Javayant NEGOTIATION
Alejandro D DilliardItalyBernardo Dominic UNQUALIFIED
Julie B MaletJapanBernardo Dominic RENEWAL
Faith O WieserIndiaBernardo Dominic NEW
Isabel Z CampainSpainAmy Elsner PROPOSAL
Murillo F PerinJapanBernardo Dominic RENEWAL
Morrow N StensethAustraliaAmy Elsner QUALIFIED
Arvin F TollnerSpainAmy Elsner UNQUALIFIED
Maria A GlickBrazilElwin Sharvill RENEWAL
Greenwood G OldroydBrazilIvan Magalhaes PROPOSAL
Octavia Z WaycottArgentinaOnyama Limba PROPOSAL
Greenwood Z PerinIndiaAmy Elsner QUALIFIED
Ashley L CaudyItalyXuxue Feng NEGOTIATION
Maria J MorascaUnited KingdomAsiya Javayant NEW
Munro N ChuiJapanBernardo Dominic NEW
Silvio J DilliardJapanAsiya Javayant NEGOTIATION
Kadeem N AmigonJapanStephen Shaw NEW
Rodrigues J WieserItalyIvan Magalhaes QUALIFIED
Aruna P ChuiAustraliaXuxue Feng UNQUALIFIED
Alejandro P RulapaughJapanIoni Bowcher QUALIFIED
Johnson F CaudyArgentinaAnna Fali PROPOSAL
Mayumi K InouyeAustraliaBernardo Dominic NEW
Leon E MaletBrazilStephen Shaw QUALIFIED
Greenwood N RulapaughJapanStephen Shaw RENEWAL
Maria B RulapaughItalyAsiya Javayant UNQUALIFIED
Aika J FerenczFranceElwin Sharvill PROPOSAL
Jeanfrancois O ChuiGermanyIoni Bowcher NEGOTIATION
Adams S ButtGermanyOnyama Limba RENEWAL
Mujtaba I MaletIndiaBernardo Dominic RENEWAL
Rodrigues U PaprockiFranceXuxue Feng NEW
Mayumi C ButtFranceAnna Fali RENEWAL
Darci S DilliardArgentinaBernardo Dominic NEW
Clifford W IturbideGermanyAsiya Javayant PROPOSAL
Ivar U NestleGermanyOnyama Limba QUALIFIED
Wickens J GillianIndiaIvan Magalhaes PROPOSAL
Mayumi I GlickArgentinaAmy Elsner RENEWAL
Smith G MacleadItalyIvan Magalhaes UNQUALIFIED
Cody T PoquetteBrazilXuxue Feng UNQUALIFIED
Murillo O AmigonUnited KingdomAnna Fali UNQUALIFIED
Deepesh T GillianGermanyOnyama Limba RENEWAL
Clifford S PaprockiArgentinaIoni Bowcher PROPOSAL
Salvatore U SchemmerItalyBernardo Dominic PROPOSAL
Greenwood P OstroskyItalyStephen Shaw NEW
Nicolas F DoeArgentinaAnna Fali QUALIFIED
Adams E SlusarskiAustraliaIoni Bowcher NEGOTIATION
Tony U CaudyCanadaIoni Bowcher NEW
Frozen Columns
Name
James V Stenseth
Arvin X Stockham
Cody W Bowley
Misaki Y Shinko
Arvin H Garufi
Chavez I Rulapaugh
James C Iturbide
Nicolas W Malet
Kadeem Y Amigon
Aruna Y Rim
Silvio Y Marrier
Wickens W Sergi
Murillo V Ruta
Mujtaba H Morasca
Costa T Stockham
Jones I Stockham
Maisha Y Gillian
Cody J Gaucho
Maisha W Amigon
Smith G Rulapaugh
James B Perin
Ashley K Nicka
Kadeem D Doe
James I Rim
Kaitlin Z Sergi
Greenwood M Venere
Kaitlin J Paprocki
Kadeem M Venere
Silvio V Amigon
Juan L Inouye
Antonio Q Darakjy
Misaki W Kusko
Misaki U Briddick
Clifford X Dilliard
Leja A Sergi
Rodrigues R Bolognia
James U Saylors
Wickens B Wieser
Adams E Shinko
Jefferson D Doe
Aika D Vocelka
Cody R Oldroyd
Salvatore H Sergi
Johnson Z Ruta
Ricardo C Kusko
Jefferson G Bowley
Darci G Ruta
Juan Z Tollner
Silvio D Rim
Maria H Malet
IdCountryDate
1000United Kingdom2024-05-24
1001Argentina2024-06-02
1002Russia2024-06-10
1003United Kingdom2024-06-10
1004Spain2024-06-01
1005Canada2024-06-14
1006Brazil2024-05-21
1007Spain2024-05-20
1008Australia2024-05-16
1009Brazil2024-05-22
1010Brazil2024-06-14
1011Italy2024-06-12
1012Canada2024-06-01
1013Australia2024-05-25
1014Brazil2024-05-19
1015Japan2024-05-28
1016Italy2024-06-11
1017United Kingdom2024-06-05
1018United Kingdom2024-06-10
1019Brazil2024-05-27
1020United Kingdom2024-06-03
1021Spain2024-06-04
1022Japan2024-05-26
1023Germany2024-06-08
1024Brazil2024-06-08
1025Italy2024-05-18
1026Australia2024-06-11
1027Italy2024-05-30
1028Canada2024-05-27
1029France2024-06-04
1030India2024-06-09
1031Italy2024-05-18
1032Canada2024-06-02
1033France2024-05-18
1034Spain2024-05-31
1035Germany2024-06-01
1036Brazil2024-05-25
1037India2024-06-03
1038Canada2024-06-14
1039Argentina2024-06-09
1040Germany2024-05-22
1041France2024-05-21
1042Brazil2024-05-22
1043United Kingdom2024-06-02
1044Canada2024-05-24
1045France2024-06-14
1046France2024-05-27
1047Spain2024-05-22
1048Russia2024-05-31
1049Brazil2024-06-09

On-Demand Data

NameIdCountryDate
Izzy R Bowley1000Canada2024-05-25
Maisha N Marrier1001Italy2024-05-23
Faith P Vocelka1002Germany2024-06-13
Octavia U Figeroa1003France2024-06-05
Arvin V Slusarski1004India2024-06-03
Tony H Royster1005United Kingdom2024-05-19
Sinclair U Ferencz1006France2024-05-26
Sinclair R Briddick1007Germany2024-06-08
Arvin N Tollner1008Australia2024-06-11
Darci R Glick1009Canada2024-05-29
Isabel U Ruta1010Russia2024-05-22
Silvio M Foller1011Spain2024-05-19
Jeanfrancois L Poquette1012Spain2024-05-16
Leon L Albares1013Germany2024-06-12
Emily U Caldarera1014Brazil2024-05-16
Maisha V Ferencz1015Argentina2024-05-26
Mayumi Z Saylors1016Russia2024-05-29
Alejandro F Nicka1017Germany2024-05-23
Ivar U Caldarera1018France2024-05-21
Jones C Dilliard1019Italy2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson L PoquetteFranceAsiya Javayant NEW
Cody P PerinRussiaAsiya Javayant PROPOSAL
Misaki S SlusarskiJapanXuxue Feng NEGOTIATION
Silvio Y InouyeUnited KingdomIvan Magalhaes RENEWAL
Maria P VenereArgentinaStephen Shaw UNQUALIFIED
Salvatore T GauchoGermanyIoni Bowcher RENEWAL
Chavez W RutaJapanAsiya Javayant PROPOSAL
Morrow W RutaArgentinaAnna Fali NEGOTIATION
Wickens G SergiIndiaBernardo Dominic UNQUALIFIED
Aruna B PaprockiRussiaAmy Elsner PROPOSAL
Adams R BowleyFranceAnna Fali RENEWAL
Ivar Y WaycottSpainElwin Sharvill QUALIFIED
Adams Z RimJapanIvan Magalhaes NEGOTIATION
Tony U DarakjyCanadaAsiya Javayant QUALIFIED
Johnson X SergiArgentinaOnyama Limba NEGOTIATION
Leja D FigeroaFranceIvan Magalhaes NEW
Arvin U DarakjySpainAnna Fali PROPOSAL
Aruna V BologniaAustraliaBernardo Dominic QUALIFIED
Arvin U PoquetteArgentinaElwin Sharvill QUALIFIED
Cody B InouyeSpainElwin Sharvill UNQUALIFIED
Francesco V MaletUnited KingdomIvan Magalhaes RENEWAL
Adams P OldroydBrazilAnna Fali UNQUALIFIED
Stacey B ChuiIndiaOnyama Limba UNQUALIFIED
Murillo L MorascaRussiaAmy Elsner QUALIFIED
Julie T SchemmerUnited KingdomBernardo Dominic PROPOSAL
Rodrigues E MaletAustraliaAnna Fali QUALIFIED
Jones Z GauchoUnited KingdomXuxue Feng RENEWAL
Izzy Y TollnerRussiaStephen Shaw RENEWAL
Jeanfrancois S GlickRussiaAnna Fali QUALIFIED
Leon Q ButtSpainAsiya Javayant NEW
Munro V NickaAustraliaXuxue Feng RENEWAL
Alejandro O SaylorsGermanyAsiya Javayant NEW
Wickens J MarrierFranceIoni Bowcher UNQUALIFIED
Claire R GauchoFranceBernardo Dominic QUALIFIED
Mujtaba W FlosiItalyElwin Sharvill QUALIFIED
Jones T OldroydSpainStephen Shaw PROPOSAL
Salvatore S IturbideBrazilXuxue Feng PROPOSAL
Aditya Z FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Isabel Z GlickArgentinaAsiya Javayant PROPOSAL
Kadeem E VocelkaUnited KingdomAmy Elsner 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>