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
Silvio G PaprockiJapanXuxue Feng NEW
Rodrigues F GillianItalyIoni Bowcher RENEWAL
Munro I VenereBrazilOnyama Limba NEW
Leja A ShinkoArgentinaXuxue Feng RENEWAL
Chavez K KolmetzCanadaAmy Elsner RENEWAL
Morrow W SlusarskiCanadaIoni Bowcher RENEWAL
Sinclair Z OldroydAustraliaIvan Magalhaes PROPOSAL
Misaki C OstroskyAustraliaAsiya Javayant RENEWAL
Johnson O CampainFranceBernardo Dominic NEGOTIATION
Kaitlin T RimJapanAnna Fali QUALIFIED
Julie I MarrierFranceAnna Fali NEW
Julie S PerinJapanStephen Shaw UNQUALIFIED
Ivar T MaletJapanAsiya Javayant QUALIFIED
Jones I AlbaresIndiaIvan Magalhaes QUALIFIED
Faith Q SaylorsFranceIvan Magalhaes QUALIFIED
Antonio V RimFranceStephen Shaw NEW
Munro F PerinRussiaOnyama Limba NEW
Juan D KuskoFranceIvan Magalhaes NEGOTIATION
Ivar F GillianRussiaIvan Magalhaes QUALIFIED
Adams W TollnerIndiaOnyama Limba PROPOSAL
Darci O SchemmerItalyBernardo Dominic NEW
Smith J MacleadAustraliaAmy Elsner QUALIFIED
Nicolas F PoquetteAustraliaElwin Sharvill NEGOTIATION
Stacey M FollerArgentinaAnna Fali NEW
Octavia T DarakjySpainIvan Magalhaes QUALIFIED
Aruna A StensethFranceIvan Magalhaes RENEWAL
Mayumi D PoquetteItalyIvan Magalhaes NEGOTIATION
Munro Z DarakjyGermanyIoni Bowcher NEW
Antonio C SaylorsArgentinaAnna Fali QUALIFIED
Nicolas T ChuiGermanyAnna Fali QUALIFIED
Isabel K ButtUnited KingdomBernardo Dominic NEW
Adams R CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh Z DoeBrazilBernardo Dominic UNQUALIFIED
Adams P KuskoSpainAnna Fali NEW
Johnson E VenereCanadaAsiya Javayant NEGOTIATION
Aruna L GlickIndiaAmy Elsner NEW
Silvio C IturbideAustraliaStephen Shaw UNQUALIFIED
Darci E SlusarskiArgentinaElwin Sharvill RENEWAL
Antonio J PoquetteJapanAsiya Javayant NEGOTIATION
Stacey V ButtJapanElwin Sharvill NEGOTIATION
Francesco G StensethUnited KingdomBernardo Dominic NEGOTIATION
Leja P DilliardAustraliaStephen Shaw PROPOSAL
Mayumi W SlusarskiIndiaAnna Fali PROPOSAL
Jefferson D KolmetzSpainIoni Bowcher NEGOTIATION
Leon T RutaUnited KingdomXuxue Feng NEW
Aditya L KuskoItalyBernardo Dominic PROPOSAL
Morrow B WaycottUnited KingdomIoni Bowcher NEGOTIATION
Maria T ShinkoFranceAmy Elsner UNQUALIFIED
Murillo T MaletAustraliaOnyama Limba QUALIFIED
Adams H DoeArgentinaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore D BriddickGermanyOnyama Limba NEW
Nicolas K DilliardJapanAsiya Javayant QUALIFIED
Ricardo F RoysterUnited KingdomIvan Magalhaes RENEWAL
Jones Q PerinUnited KingdomStephen Shaw NEW
Arvin I GarufiIndiaBernardo Dominic PROPOSAL
Clifford G StensethUnited KingdomElwin Sharvill PROPOSAL
Faith P PerinIndiaAnna Fali QUALIFIED
Kaitlin Y StensethJapanAmy Elsner RENEWAL
Johnson J SlusarskiBrazilAmy Elsner QUALIFIED
Jefferson D WhobreyRussiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem R SchemmerUnited Kingdom2024-06-23Rousseaux, Michael Esq QUALIFIED25Xuxue Feng
1001Misaki O BriddickSpain2024-06-12Benton, John B Jr NEGOTIATION20Xuxue Feng
1002Julie H StensethGermany2024-06-21Benton, John B Jr RENEWAL2Xuxue Feng
1003Costa U PerinRussia2024-06-18Benton, John B Jr NEW79Onyama Limba
1004Murillo M VocelkaAustralia2024-06-06Feltz Printing Service UNQUALIFIED89Xuxue Feng
1005Sinclair Z KolmetzGermany2024-05-26Rangoni Of Florence UNQUALIFIED82Onyama Limba
1006Nicolas K WieserArgentina2024-06-14Rousseaux, Michael Esq PROPOSAL70Elwin Sharvill
1007Leon E FigeroaGermany2024-06-03Truhlar And Truhlar Attys RENEWAL39Xuxue Feng
1008Leon U BowleyRussia2024-06-03Buckley Miller Wright RENEWAL97Elwin Sharvill
1009Julie I IturbideSpain2024-06-13Rousseaux, Michael Esq NEW99Elwin Sharvill
1010Chavez M SchemmerBrazil2024-06-10Truhlar And Truhlar Attys QUALIFIED51Ivan Magalhaes
1011Costa Q PoquetteIndia2024-06-15Chemel, James L Cpa UNQUALIFIED77Asiya Javayant
1012Silvio L MorascaArgentina2024-06-02King, Christopher A Esq UNQUALIFIED47Anna Fali
1013Murillo G ButtIndia2024-06-07Buckley Miller Wright PROPOSAL45Bernardo Dominic
1014Ivar O ChuiCanada2024-06-09Chapman, Ross E Esq NEGOTIATION68Bernardo Dominic
1015Kaitlin X WaycottGermany2024-06-16Rangoni Of Florence NEW95Elwin Sharvill
1016Octavia H GauchoIndia2024-06-12Truhlar And Truhlar Attys UNQUALIFIED40Ioni Bowcher
1017Leon C AlbaresRussia2024-05-27Rangoni Of Florence NEW26Ivan Magalhaes
1018David A KolmetzArgentina2024-05-25Feiner Bros NEGOTIATION16Onyama Limba
1019Mayumi P SergiSpain2024-06-13Feiner Bros NEGOTIATION58Stephen Shaw
1020Aika Q VocelkaBrazil2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED36Asiya Javayant
1021Leja J KolmetzSpain2024-06-04Feltz Printing Service PROPOSAL99Xuxue Feng
1022Silvio D SergiCanada2024-05-31Feiner Bros RENEWAL71Ioni Bowcher
1023Silvio R ChuiJapan2024-06-16Buckley Miller Wright PROPOSAL31Asiya Javayant
1024Alejandro T WhobreyJapan2024-05-26Morlong Associates RENEWAL80Ivan Magalhaes
1025Cody D MaletRussia2024-06-19Dorl, James J Esq PROPOSAL33Onyama Limba
1026Claire B WaycottCanada2024-06-13Chapman, Ross E Esq PROPOSAL39Stephen Shaw
1027Maisha J MarrierArgentina2024-06-10Feltz Printing Service NEW69Asiya Javayant
1028Jones Q WhobreyUnited Kingdom2024-05-27King, Christopher A Esq PROPOSAL9Stephen Shaw
1029Misaki V PerinFrance2024-05-28Chemel, James L Cpa NEW94Ioni Bowcher
1030Wickens D PoquetteRussia2024-06-17Buckley Miller Wright NEW75Xuxue Feng
1031Ashley D NestleCanada2024-06-10Feltz Printing Service RENEWAL11Ivan Magalhaes
1032Ivar G NickaCanada2024-05-31Rousseaux, Michael Esq PROPOSAL29Stephen Shaw
1033Maisha J DilliardCanada2024-06-09King, Christopher A Esq NEW40Asiya Javayant
1034Juan U BriddickItaly2024-06-02Feltz Printing Service UNQUALIFIED38Elwin Sharvill
1035Arvin C BriddickUnited Kingdom2024-06-01Rangoni Of Florence QUALIFIED44Anna Fali
1036Aruna G MarrierSpain2024-06-03Printing Dimensions QUALIFIED93Elwin Sharvill
1037Sinclair Q SlusarskiItaly2024-06-06Feltz Printing Service QUALIFIED69Bernardo Dominic
1038Francesco S GillianBrazil2024-06-01Truhlar And Truhlar Attys UNQUALIFIED30Stephen Shaw
1039Izzy G MaletAustralia2024-06-08Buckley Miller Wright NEGOTIATION11Anna Fali
1040Juan C CampainJapan2024-05-28Morlong Associates UNQUALIFIED69Amy Elsner
1041Jones X MaletArgentina2024-06-16Feltz Printing Service RENEWAL52Amy Elsner
1042Jefferson H WaycottGermany2024-06-13Chanay, Jeffrey A Esq NEW59Amy Elsner
1043Aditya B PerinFrance2024-06-19Commercial Press RENEWAL13Anna Fali
1044Alejandro C DarakjySpain2024-06-17Truhlar And Truhlar Attys PROPOSAL6Bernardo Dominic
1045Jefferson A SchemmerSpain2024-06-12Buckley Miller Wright RENEWAL92Amy Elsner
1046Cody R VocelkaJapan2024-06-01Feltz Printing Service PROPOSAL43Asiya Javayant
1047Clifford E OstroskyAustralia2024-06-05Rousseaux, Michael Esq NEW42Onyama Limba
1048Adams T TollnerRussia2024-06-19Commercial Press NEW76Xuxue Feng
1049Clifford M SlusarskiBrazil2024-06-01Rangoni Of Florence PROPOSAL29Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Faith K MaletFranceIvan Magalhaes NEGOTIATION
Costa D MacleadUnited KingdomIvan Magalhaes NEW
Cody G KolmetzArgentinaIvan Magalhaes PROPOSAL
Wickens E ShinkoFranceIvan Magalhaes UNQUALIFIED
Aika X KuskoAustraliaIoni Bowcher RENEWAL
Ivar A RoysterItalyIvan Magalhaes NEW
Arvin B BowleyFranceAsiya Javayant PROPOSAL
Leja E TollnerUnited KingdomStephen Shaw UNQUALIFIED
Misaki R CaudyGermanyIvan Magalhaes NEW
Izzy N RimFranceAmy Elsner RENEWAL
Misaki H FollerItalyXuxue Feng PROPOSAL
Tony C AmigonGermanyIoni Bowcher NEGOTIATION
Jefferson G PerinItalyIoni Bowcher QUALIFIED
Greenwood G OldroydArgentinaBernardo Dominic UNQUALIFIED
Costa A VenereUnited KingdomXuxue Feng UNQUALIFIED
Isabel Q RoysterJapanAnna Fali RENEWAL
Cody B BologniaArgentinaStephen Shaw QUALIFIED
Silvio G CaldareraAustraliaOnyama Limba UNQUALIFIED
Arvin Y MorascaRussiaAsiya Javayant RENEWAL
Jennifer J MarrierFranceBernardo Dominic RENEWAL
Kaitlin U PaprockiIndiaElwin Sharvill NEW
Salvatore A BowleyItalyAnna Fali RENEWAL
Stacey H GlickRussiaIoni Bowcher RENEWAL
Kadeem T AlbaresBrazilIoni Bowcher NEW
Aruna L AmigonBrazilBernardo Dominic UNQUALIFIED
Aika V RimRussiaXuxue Feng QUALIFIED
Costa X WieserItalyIoni Bowcher NEGOTIATION
Aika Z CampainCanadaOnyama Limba QUALIFIED
Misaki D DoeCanadaAsiya Javayant UNQUALIFIED
Darci N PoquetteAustraliaIoni Bowcher RENEWAL
Ivar A StockhamJapanElwin Sharvill NEW
Chavez M PaprockiSpainOnyama Limba NEW
Leja R MacleadGermanyAsiya Javayant PROPOSAL
Antonio K InouyeUnited KingdomIvan Magalhaes RENEWAL
Morrow F DoeItalyAsiya Javayant NEGOTIATION
Maisha N FigeroaGermanyAnna Fali PROPOSAL
Jefferson Q BologniaJapanStephen Shaw RENEWAL
James B RoysterIndiaAsiya Javayant QUALIFIED
Munro I GauchoUnited KingdomAmy Elsner UNQUALIFIED
Munro H WhobreyBrazilBernardo Dominic PROPOSAL
Francesco A VenereGermanyAsiya Javayant PROPOSAL
Aditya B FigeroaIndiaBernardo Dominic RENEWAL
Ivar Y SlusarskiGermanyXuxue Feng RENEWAL
David M ShinkoSpainXuxue Feng RENEWAL
Jennifer P KuskoGermanyStephen Shaw RENEWAL
Morrow F MaletAustraliaXuxue Feng NEW
Izzy Z MorascaGermanyIoni Bowcher UNQUALIFIED
Rodrigues S AmigonSpainBernardo Dominic NEGOTIATION
Kadeem H VenereArgentinaBernardo Dominic NEGOTIATION
Rodrigues T SaylorsArgentinaStephen Shaw RENEWAL
Frozen Columns
Name
David F Nestle
Isabel X Flosi
Aditya T Ruta
Nicolas E Flosi
Mayumi T Garufi
Jefferson F Wieser
Sinclair H Ferencz
Isabel N Doe
Leja G Wieser
Ricardo I Royster
Sinclair P Gillian
Wickens K Nicka
Sinclair Y Iturbide
Costa A Paprocki
Rodrigues P Nestle
Kaitlin V Butt
Clifford S Bowley
Stacey U Doe
Francesco Z Stockham
Mayumi J Paprocki
Ricardo P Dilliard
Kaitlin Y Butt
Ivar T Briddick
Alejandro Q Figeroa
Francesco D Oldroyd
Morrow I Glick
Greenwood T Darakjy
Tony C Caldarera
Nicolas N Iturbide
Octavia R Oldroyd
Kadeem K Morasca
Jones B Shinko
Arvin F Ruta
Cody G Iturbide
Juan H Ostrosky
Deepesh E Malet
Tony N Kolmetz
Rodrigues L Kolmetz
Antonio J Wieser
Adams D Royster
Ricardo J Iturbide
Cody J Garufi
Aika C Rulapaugh
Ivar W Campain
Jeanfrancois C Venere
Darci Q Wieser
Octavia L Vocelka
Nicolas O Waycott
Antonio Z Flosi
Mayumi J Venere
IdCountryDate
1000Italy2024-05-27
1001United Kingdom2024-06-04
1002Japan2024-06-05
1003Russia2024-05-25
1004India2024-06-20
1005Canada2024-06-01
1006Australia2024-06-10
1007United Kingdom2024-06-21
1008India2024-06-05
1009United Kingdom2024-06-20
1010Spain2024-06-15
1011France2024-06-05
1012France2024-05-27
1013Canada2024-06-06
1014United Kingdom2024-06-04
1015India2024-06-03
1016United Kingdom2024-06-06
1017Japan2024-05-31
1018Argentina2024-06-20
1019Japan2024-05-31
1020Argentina2024-06-04
1021India2024-06-17
1022France2024-06-22
1023Canada2024-06-19
1024Canada2024-06-13
1025Italy2024-06-18
1026Italy2024-06-06
1027Canada2024-06-21
1028France2024-06-04
1029Spain2024-06-20
1030United Kingdom2024-06-18
1031India2024-06-08
1032Russia2024-05-26
1033Brazil2024-06-02
1034Russia2024-06-17
1035Japan2024-05-30
1036Italy2024-06-19
1037Canada2024-06-13
1038Argentina2024-06-03
1039France2024-06-07
1040Russia2024-06-07
1041Germany2024-05-29
1042India2024-06-08
1043Germany2024-06-17
1044Japan2024-06-05
1045India2024-06-11
1046Germany2024-05-27
1047Russia2024-06-06
1048Brazil2024-06-23
1049Spain2024-06-22

On-Demand Data

NameIdCountryDate
Claire O Caldarera1000United Kingdom2024-06-03
Maisha B Royster1001Argentina2024-05-30
Claire O Stockham1002Spain2024-06-12
Maria O Rulapaugh1003Italy2024-06-20
Morrow D Nestle1004Russia2024-06-07
Maisha Q Darakjy1005United Kingdom2024-06-05
Octavia Z Waycott1006Germany2024-05-31
Costa U Malet1007Canada2024-05-29
Morrow W Paprocki1008France2024-05-30
Arvin M Chui1009Canada2024-06-18
Juan A Inouye1010Spain2024-06-12
Aika K Doe1011Spain2024-06-20
Leon G Glick1012Italy2024-06-09
Kadeem F Dilliard1013Japan2024-06-13
Maria X Venere1014India2024-05-31
Kaitlin P Ruta1015Russia2024-06-15
Alejandro Q Perin1016Spain2024-06-15
Costa S Caldarera1017Russia2024-06-23
Ivar B Gillian1018Brazil2024-06-09
Juan A Perin1019Brazil2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Q FerenczCanadaAnna Fali NEGOTIATION
Costa G PoquetteCanadaAsiya Javayant PROPOSAL
Jefferson M SchemmerAustraliaAsiya Javayant NEW
Ricardo I InouyeBrazilIvan Magalhaes PROPOSAL
Faith L KuskoFranceElwin Sharvill RENEWAL
Leja P RoysterGermanyOnyama Limba NEW
Munro J SchemmerJapanIoni Bowcher NEW
Clifford F DilliardCanadaXuxue Feng NEGOTIATION
Munro Y KuskoAustraliaXuxue Feng NEGOTIATION
Adams N AlbaresGermanyStephen Shaw PROPOSAL
Kadeem T WieserIndiaIvan Magalhaes UNQUALIFIED
Aika Q SergiArgentinaStephen Shaw UNQUALIFIED
Alejandro N VocelkaItalyIvan Magalhaes QUALIFIED
Stacey Y MaletIndiaElwin Sharvill RENEWAL
James O FerenczArgentinaBernardo Dominic UNQUALIFIED
Mayumi X BologniaGermanyElwin Sharvill NEW
Francesco H MorascaArgentinaAsiya Javayant RENEWAL
Isabel H RulapaughAustraliaAsiya Javayant NEGOTIATION
Cody N ChuiCanadaAmy Elsner NEW
Francesco X DoeItalyElwin Sharvill NEGOTIATION
Sinclair D SergiFranceElwin Sharvill NEW
Isabel G PoquetteFranceElwin Sharvill PROPOSAL
Isabel I MacleadGermanyOnyama Limba RENEWAL
Arvin C SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Morrow X PaprockiArgentinaElwin Sharvill NEGOTIATION
Kaitlin R MaletCanadaBernardo Dominic RENEWAL
Julie D SaylorsRussiaXuxue Feng QUALIFIED
Rodrigues K BowleyBrazilAnna Fali PROPOSAL
Adams R RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Costa E ChuiJapanAsiya Javayant NEGOTIATION
Silvio R ShinkoBrazilIvan Magalhaes NEGOTIATION
Leon V FigeroaGermanyAmy Elsner NEW
Greenwood V KolmetzGermanyStephen Shaw NEW
Misaki A DilliardItalyXuxue Feng UNQUALIFIED
Chavez G FigeroaArgentinaOnyama Limba NEW
Jefferson Z DilliardRussiaIvan Magalhaes PROPOSAL
Jones Z VocelkaUnited KingdomBernardo Dominic QUALIFIED
Costa K GillianItalyAsiya Javayant NEGOTIATION
Emily R GauchoFranceAnna Fali QUALIFIED
James W DilliardArgentinaIoni Bowcher RENEWAL

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