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
Salvatore V DoeFranceAnna Fali QUALIFIED
Julie X CampainGermanyIvan Magalhaes RENEWAL
Aika D FlosiUnited KingdomBernardo Dominic QUALIFIED
Tony T OstroskyRussiaStephen Shaw QUALIFIED
Jennifer K RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Claire I TollnerAustraliaAnna Fali QUALIFIED
Greenwood A MaletIndiaIvan Magalhaes UNQUALIFIED
Izzy W FlosiBrazilBernardo Dominic QUALIFIED
Mayumi C FerenczBrazilAmy Elsner RENEWAL
Jeanfrancois Y RulapaughSpainIoni Bowcher NEGOTIATION
Nicolas M GillianItalyAmy Elsner RENEWAL
Darci M SaylorsItalyElwin Sharvill QUALIFIED
Tony B SlusarskiUnited KingdomAmy Elsner QUALIFIED
Mujtaba C RoysterRussiaIoni Bowcher NEW
Julie T OstroskyItalyOnyama Limba NEW
David E RoysterGermanyBernardo Dominic RENEWAL
Smith B NestleFranceElwin Sharvill QUALIFIED
Leon H VocelkaBrazilAnna Fali PROPOSAL
James K CampainSpainOnyama Limba NEW
Octavia E RutaCanadaAmy Elsner RENEWAL
Munro Z FollerFranceAnna Fali NEW
Jones G BowleySpainIoni Bowcher QUALIFIED
Isabel T FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Morrow E MacleadRussiaBernardo Dominic QUALIFIED
Aditya C RutaCanadaIoni Bowcher PROPOSAL
Salvatore I SlusarskiSpainStephen Shaw UNQUALIFIED
Kaitlin K MorascaSpainBernardo Dominic RENEWAL
Deepesh B TollnerItalyAmy Elsner NEGOTIATION
Leon F GauchoCanadaIoni Bowcher RENEWAL
Izzy G MaletJapanIoni Bowcher NEW
Arvin U DarakjyArgentinaAnna Fali RENEWAL
Greenwood O WaycottBrazilXuxue Feng UNQUALIFIED
Kaitlin L FigeroaRussiaAsiya Javayant NEGOTIATION
Claire P DilliardCanadaStephen Shaw RENEWAL
Smith H KuskoItalyXuxue Feng UNQUALIFIED
Aruna O VenereJapanAmy Elsner QUALIFIED
Mujtaba S MorascaGermanyXuxue Feng NEW
Morrow S GarufiUnited KingdomIvan Magalhaes QUALIFIED
Maisha T SergiUnited KingdomBernardo Dominic RENEWAL
Silvio Z IturbideIndiaElwin Sharvill RENEWAL
Claire A BowleyCanadaXuxue Feng PROPOSAL
Mayumi I WhobreyItalyAmy Elsner NEW
Jones S SchemmerCanadaAmy Elsner RENEWAL
Smith H DarakjyCanadaAmy Elsner NEW
Jones Q SlusarskiBrazilIvan Magalhaes QUALIFIED
Emily J RoysterCanadaElwin Sharvill NEW
Ashley R MarrierUnited KingdomIoni Bowcher RENEWAL
Claire H KolmetzRussiaAnna Fali QUALIFIED
Maisha B PaprockiAustraliaIoni Bowcher PROPOSAL
Emily P NickaAustraliaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leon O SlusarskiCanadaStephen Shaw NEGOTIATION
Adams S BologniaIndiaElwin Sharvill UNQUALIFIED
Murillo L OstroskyBrazilElwin Sharvill RENEWAL
Jennifer L RulapaughRussiaAsiya Javayant UNQUALIFIED
Isabel C ChuiAustraliaElwin Sharvill NEW
Stacey C FollerIndiaAmy Elsner NEGOTIATION
Cody B ShinkoGermanyAsiya Javayant RENEWAL
Nicolas N WieserGermanyStephen Shaw PROPOSAL
Isabel P PoquetteArgentinaAmy Elsner RENEWAL
Aika T SergiItalyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin C PaprockiIndia2024-06-02Buckley Miller Wright UNQUALIFIED58Stephen Shaw
1001Emily L GauchoJapan2024-06-13Feltz Printing Service QUALIFIED90Ioni Bowcher
1002Deepesh J CampainIndia2024-06-16King, Christopher A Esq UNQUALIFIED98Asiya Javayant
1003Isabel K SchemmerSpain2024-06-19Chanay, Jeffrey A Esq PROPOSAL68Ivan Magalhaes
1004Cody Z KuskoGermany2024-06-05King, Christopher A Esq RENEWAL42Ioni Bowcher
1005Mujtaba M MaletAustralia2024-06-15Rangoni Of Florence NEGOTIATION15Asiya Javayant
1006Jones X OldroydItaly2024-05-26Buckley Miller Wright PROPOSAL0Anna Fali
1007Aditya K DarakjySpain2024-06-15Feltz Printing Service NEW75Ioni Bowcher
1008Leja D DarakjyFrance2024-06-06Printing Dimensions NEW32Ioni Bowcher
1009Arvin B DoeRussia2024-05-26Feltz Printing Service NEGOTIATION90Asiya Javayant
1010Ricardo H CaudyIndia2024-06-17Buckley Miller Wright NEGOTIATION80Onyama Limba
1011Darci R ButtRussia2024-06-09Benton, John B Jr RENEWAL76Xuxue Feng
1012Darci B SergiRussia2024-06-18Truhlar And Truhlar Attys QUALIFIED78Amy Elsner
1013Leon S RutaCanada2024-06-04Printing Dimensions QUALIFIED46Onyama Limba
1014Salvatore O SchemmerIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL13Asiya Javayant
1015Nicolas U MacleadAustralia2024-05-25King, Christopher A Esq UNQUALIFIED49Amy Elsner
1016Mujtaba J NickaArgentina2024-06-10Rousseaux, Michael Esq PROPOSAL7Ivan Magalhaes
1017Nicolas T IturbideUnited Kingdom2024-06-03Morlong Associates NEW92Bernardo Dominic
1018Costa T BriddickItaly2024-05-28Feltz Printing Service QUALIFIED79Ivan Magalhaes
1019Darci S MacleadItaly2024-05-30Chapman, Ross E Esq NEGOTIATION44Amy Elsner
1020Mujtaba Q DarakjySpain2024-06-15Chemel, James L Cpa UNQUALIFIED90Stephen Shaw
1021Costa Y FigeroaUnited Kingdom2024-06-13Rangoni Of Florence NEW25Ioni Bowcher
1022Smith R RutaUnited Kingdom2024-05-29Benton, John B Jr RENEWAL70Ioni Bowcher
1023Mujtaba U TollnerUnited Kingdom2024-06-10Chemel, James L Cpa NEGOTIATION45Stephen Shaw
1024Leon T ShinkoJapan2024-06-06Dorl, James J Esq NEGOTIATION76Asiya Javayant
1025Jeanfrancois F RutaCanada2024-06-01Dorl, James J Esq PROPOSAL57Ioni Bowcher
1026Morrow A MaletBrazil2024-05-31Chemel, James L Cpa QUALIFIED42Amy Elsner
1027Emily H SlusarskiUnited Kingdom2024-05-29Feltz Printing Service QUALIFIED19Ivan Magalhaes
1028Jones K NestleAustralia2024-06-06Chapman, Ross E Esq PROPOSAL76Anna Fali
1029Aika U OldroydFrance2024-06-18Benton, John B Jr NEW91Bernardo Dominic
1030Faith V BologniaAustralia2024-05-26Rousseaux, Michael Esq PROPOSAL68Onyama Limba
1031Nicolas W MorascaArgentina2024-05-25Benton, John B Jr UNQUALIFIED46Amy Elsner
1032Faith I OstroskyItaly2024-06-05Buckley Miller Wright PROPOSAL86Elwin Sharvill
1033Silvio L FlosiArgentina2024-05-26Feltz Printing Service PROPOSAL17Amy Elsner
1034Salvatore T MaletFrance2024-06-15Morlong Associates NEGOTIATION11Ioni Bowcher
1035Julie N PerinBrazil2024-06-18Chapman, Ross E Esq UNQUALIFIED89Stephen Shaw
1036Johnson J OldroydAustralia2024-06-22Benton, John B Jr UNQUALIFIED99Bernardo Dominic
1037Darci O FlosiUnited Kingdom2024-06-02Buckley Miller Wright RENEWAL12Xuxue Feng
1038Wickens X RulapaughItaly2024-06-14Feiner Bros NEGOTIATION86Ivan Magalhaes
1039Cody L AlbaresSpain2024-06-21Rousseaux, Michael Esq PROPOSAL24Stephen Shaw
1040Mayumi W DoeUnited Kingdom2024-06-12Feltz Printing Service NEGOTIATION41Xuxue Feng
1041Smith T RutaIndia2024-06-09Rangoni Of Florence NEGOTIATION53Elwin Sharvill
1042Sinclair Y RutaIndia2024-06-01Dorl, James J Esq NEGOTIATION80Asiya Javayant
1043Emily S RutaItaly2024-06-18Buckley Miller Wright RENEWAL7Asiya Javayant
1044Ricardo J MorascaRussia2024-06-13King, Christopher A Esq QUALIFIED30Amy Elsner
1045Maisha Z StensethJapan2024-06-05Chapman, Ross E Esq QUALIFIED87Anna Fali
1046Kaitlin C CaudyBrazil2024-06-11Feiner Bros NEW86Ivan Magalhaes
1047Julie F FlosiCanada2024-06-19Morlong Associates UNQUALIFIED30Elwin Sharvill
1048Mujtaba M PaprockiCanada2024-06-05Chemel, James L Cpa NEW34Anna Fali
1049Morrow K DarakjySpain2024-06-16Rousseaux, Michael Esq NEGOTIATION41Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ivar K PerinSpainIvan Magalhaes QUALIFIED
Costa I PerinCanadaAnna Fali RENEWAL
Octavia M NestleCanadaIoni Bowcher NEW
Silvio Q PerinArgentinaIvan Magalhaes RENEWAL
Darci B CaldareraRussiaStephen Shaw QUALIFIED
Sinclair Y BriddickAustraliaAsiya Javayant QUALIFIED
Jeanfrancois P ChuiArgentinaStephen Shaw NEGOTIATION
Mayumi Z GlickArgentinaIvan Magalhaes QUALIFIED
Costa K KuskoBrazilXuxue Feng RENEWAL
Morrow F NestleCanadaAmy Elsner QUALIFIED
Jeanfrancois G OstroskyItalyAnna Fali NEW
Ricardo V FigeroaAustraliaAmy Elsner NEGOTIATION
Isabel T FollerBrazilAsiya Javayant PROPOSAL
Deepesh D CaudyArgentinaAnna Fali RENEWAL
Adams U RimGermanyBernardo Dominic PROPOSAL
Tony V FerenczFranceStephen Shaw RENEWAL
Rodrigues Z GlickGermanyAmy Elsner NEW
Ashley H IturbideSpainAnna Fali QUALIFIED
Cody Z PaprockiBrazilBernardo Dominic NEW
Claire S OstroskyFranceIoni Bowcher QUALIFIED
Munro E StockhamAustraliaAmy Elsner RENEWAL
Rodrigues I StockhamIndiaBernardo Dominic QUALIFIED
Deepesh H BologniaAustraliaOnyama Limba NEW
Nicolas V SergiJapanIvan Magalhaes QUALIFIED
Julie H NestleArgentinaIvan Magalhaes RENEWAL
Jennifer S WhobreyRussiaElwin Sharvill NEW
Alejandro L RimCanadaXuxue Feng RENEWAL
Octavia N FlosiAustraliaAnna Fali NEW
Emily F ShinkoGermanyAmy Elsner NEW
Arvin L GlickArgentinaXuxue Feng NEW
Jennifer B FlosiArgentinaAnna Fali NEGOTIATION
Costa O NickaCanadaAsiya Javayant NEW
Aika N IturbideArgentinaAnna Fali UNQUALIFIED
Salvatore F DarakjyUnited KingdomXuxue Feng QUALIFIED
Deepesh B GauchoJapanAsiya Javayant NEW
Faith L ChuiArgentinaIoni Bowcher RENEWAL
Jennifer Z RulapaughSpainAmy Elsner NEW
Wickens Q AlbaresGermanyIoni Bowcher QUALIFIED
Rodrigues X FigeroaAustraliaAnna Fali QUALIFIED
Julie H SlusarskiIndiaIvan Magalhaes NEW
Mayumi A ButtIndiaAmy Elsner PROPOSAL
Greenwood R CaldareraUnited KingdomXuxue Feng NEW
Johnson N OldroydIndiaStephen Shaw PROPOSAL
Munro Q ButtRussiaXuxue Feng RENEWAL
Antonio L MorascaAustraliaBernardo Dominic QUALIFIED
Octavia Z FlosiGermanyAnna Fali NEGOTIATION
Ivar E IturbideCanadaBernardo Dominic UNQUALIFIED
Johnson G SchemmerArgentinaAmy Elsner RENEWAL
Julie N GarufiItalyIoni Bowcher RENEWAL
Stacey Z VenereCanadaXuxue Feng RENEWAL
Frozen Columns
Name
Arvin J Tollner
Morrow D Stenseth
Faith U Ruta
Mujtaba X Butt
Darci P Wieser
Clifford X Nestle
Stacey M Marrier
David D Iturbide
Leja T Foller
Maisha B Malet
Salvatore G Whobrey
Kadeem P Stenseth
Juan L Stockham
Octavia F Iturbide
Aditya V Marrier
Ricardo M Sergi
Ashley S Shinko
James H Oldroyd
Jeanfrancois H Nicka
David A Malet
Silvio T Inouye
Mayumi L Gaucho
Johnson D Poquette
Adams O Waycott
Faith F Caudy
Maisha Y Flosi
Francesco I Ferencz
Octavia B Gillian
Greenwood W Ostrosky
Leja T Malet
Munro J Gaucho
Faith H Malet
Morrow Y Nestle
Stacey R Chui
Isabel I Butt
Wickens T Waycott
Johnson U Gaucho
James F Dilliard
Johnson B Waycott
Smith Y Rim
Darci E Darakjy
Ricardo I Glick
Mayumi I Gaucho
Smith J Poquette
Maisha B Whobrey
Leja P Doe
Emily D Bowley
Izzy I Flosi
Nicolas Z Waycott
Emily C Nestle
IdCountryDate
1000United Kingdom2024-06-21
1001Argentina2024-06-13
1002United Kingdom2024-05-28
1003Spain2024-06-11
1004United Kingdom2024-06-12
1005Argentina2024-06-13
1006Spain2024-06-16
1007Japan2024-05-26
1008Japan2024-06-01
1009Spain2024-06-06
1010United Kingdom2024-06-16
1011Australia2024-06-18
1012Australia2024-06-20
1013Russia2024-06-03
1014Spain2024-06-19
1015Japan2024-05-26
1016India2024-06-10
1017France2024-06-04
1018Japan2024-06-18
1019Germany2024-06-21
1020Brazil2024-06-08
1021Spain2024-06-01
1022United Kingdom2024-06-04
1023India2024-06-11
1024Spain2024-05-28
1025Brazil2024-06-08
1026France2024-06-16
1027United Kingdom2024-06-15
1028United Kingdom2024-06-18
1029Spain2024-06-04
1030Brazil2024-06-08
1031Argentina2024-06-19
1032Japan2024-06-20
1033France2024-06-08
1034Argentina2024-06-07
1035India2024-06-03
1036India2024-06-12
1037Russia2024-06-18
1038Japan2024-06-16
1039Germany2024-06-13
1040Japan2024-06-16
1041Italy2024-06-19
1042Japan2024-06-16
1043India2024-06-03
1044United Kingdom2024-05-30
1045Japan2024-05-30
1046United Kingdom2024-06-21
1047Italy2024-06-08
1048Italy2024-05-31
1049Japan2024-06-08

On-Demand Data

NameIdCountryDate
Costa X Glick1000France2024-06-07
Tony E Dilliard1001Canada2024-05-31
Emily B Paprocki1002Argentina2024-06-22
Deepesh Y Caudy1003Brazil2024-05-28
Jones U Poquette1004Italy2024-05-25
Mayumi B Nicka1005Spain2024-05-25
Mayumi Z Bowley1006France2024-06-05
Ivar Y Darakjy1007Canada2024-06-01
Arvin Y Waycott1008Japan2024-06-04
Isabel O Foller1009Germany2024-06-05
Nicolas J Campain1010Canada2024-06-12
Aika M Rim1011Australia2024-06-08
Clifford V Slusarski1012Brazil2024-05-31
Clifford W Stockham1013Brazil2024-06-05
Jones L Ruta1014Russia2024-06-07
David A Stenseth1015India2024-05-29
Emily K Malet1016Germany2024-05-25
Jeanfrancois Z Ostrosky1017Germany2024-06-21
Salvatore E Stockham1018Germany2024-06-13
Tony T Poquette1019India2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow P ChuiItalyOnyama Limba UNQUALIFIED
Greenwood D TollnerItalyXuxue Feng PROPOSAL
Francesco J VocelkaGermanyAsiya Javayant NEGOTIATION
Stacey V AmigonArgentinaAmy Elsner QUALIFIED
Ashley N RoysterCanadaElwin Sharvill UNQUALIFIED
Mayumi L WhobreyAustraliaStephen Shaw PROPOSAL
Octavia I CaudyJapanAnna Fali NEW
Darci W MaletJapanAnna Fali NEGOTIATION
Kadeem K AlbaresGermanyOnyama Limba QUALIFIED
Alejandro Z AlbaresRussiaStephen Shaw UNQUALIFIED
Nicolas J FigeroaJapanElwin Sharvill PROPOSAL
Adams G DoeSpainAsiya Javayant PROPOSAL
Silvio I PoquetteRussiaAnna Fali RENEWAL
Darci S FlosiSpainAsiya Javayant PROPOSAL
Stacey C ButtUnited KingdomOnyama Limba PROPOSAL
Adams O InouyeAustraliaXuxue Feng NEW
Salvatore O BologniaCanadaStephen Shaw UNQUALIFIED
Sinclair L RutaArgentinaAnna Fali UNQUALIFIED
Mujtaba W VocelkaIndiaIoni Bowcher NEW
Juan C RutaFranceElwin Sharvill NEW
Juan J SchemmerFranceXuxue Feng NEGOTIATION
Francesco C FollerArgentinaElwin Sharvill NEW
Murillo S WhobreyItalyAsiya Javayant NEGOTIATION
Kaitlin L FlosiArgentinaOnyama Limba QUALIFIED
Emily Y CaldareraUnited KingdomAnna Fali NEGOTIATION
Johnson L AmigonBrazilXuxue Feng NEW
Ivar K KolmetzItalyAsiya Javayant PROPOSAL
James K ButtSpainBernardo Dominic NEW
Cody T FlosiFranceAsiya Javayant PROPOSAL
Misaki B SlusarskiAustraliaIoni Bowcher QUALIFIED
Costa H StockhamSpainAmy Elsner QUALIFIED
Deepesh R KuskoSpainOnyama Limba NEW
Leon Z IturbideItalyStephen Shaw NEGOTIATION
Julie S NestleJapanAsiya Javayant UNQUALIFIED
Antonio O ButtArgentinaAsiya Javayant UNQUALIFIED
Francesco R KolmetzSpainElwin Sharvill NEGOTIATION
Isabel G PerinJapanIoni Bowcher QUALIFIED
Stacey T FlosiItalyStephen Shaw PROPOSAL
Nicolas P PerinUnited KingdomAmy Elsner QUALIFIED
Chavez W BriddickSpainElwin Sharvill NEW

<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>