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 T MaletBrazilBernardo Dominic QUALIFIED
Morrow Y FlosiArgentinaIvan Magalhaes PROPOSAL
Octavia U DoeIndiaElwin Sharvill QUALIFIED
Rodrigues S PaprockiCanadaOnyama Limba PROPOSAL
Wickens G WaycottUnited KingdomIoni Bowcher QUALIFIED
Claire H VenereGermanyAmy Elsner UNQUALIFIED
Maisha I KolmetzIndiaAmy Elsner NEGOTIATION
Kadeem B CaldareraArgentinaElwin Sharvill NEGOTIATION
Murillo C AlbaresGermanyOnyama Limba UNQUALIFIED
David N OldroydArgentinaAnna Fali NEGOTIATION
David W SergiAustraliaXuxue Feng PROPOSAL
Deepesh H ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore D CampainCanadaAsiya Javayant QUALIFIED
Aditya B RulapaughRussiaElwin Sharvill UNQUALIFIED
Leja M StockhamSpainOnyama Limba NEW
Octavia I ChuiGermanyAmy Elsner QUALIFIED
Ivar Y FollerArgentinaOnyama Limba QUALIFIED
Nicolas E FigeroaJapanOnyama Limba UNQUALIFIED
Aruna X FollerRussiaIvan Magalhaes PROPOSAL
Aditya Y NestleArgentinaOnyama Limba UNQUALIFIED
Mujtaba I GillianBrazilElwin Sharvill QUALIFIED
Smith M IturbideRussiaIoni Bowcher RENEWAL
Juan C PaprockiAustraliaIoni Bowcher QUALIFIED
Aika L FollerIndiaStephen Shaw RENEWAL
Murillo R InouyeIndiaIoni Bowcher QUALIFIED
Nicolas N KuskoFranceAnna Fali NEGOTIATION
Isabel T GarufiIndiaBernardo Dominic PROPOSAL
Darci X PaprockiJapanIvan Magalhaes NEW
Darci T OstroskyFranceAmy Elsner NEW
Arvin C MaletCanadaIoni Bowcher UNQUALIFIED
Munro H AmigonItalyAmy Elsner QUALIFIED
Izzy S TollnerSpainIoni Bowcher QUALIFIED
Jeanfrancois N PaprockiFranceElwin Sharvill UNQUALIFIED
Nicolas C SergiGermanyOnyama Limba QUALIFIED
Juan F GlickBrazilIvan Magalhaes PROPOSAL
Ivar I RulapaughRussiaOnyama Limba PROPOSAL
Juan S MorascaArgentinaAsiya Javayant RENEWAL
Julie E AlbaresSpainStephen Shaw UNQUALIFIED
Wickens C PerinFranceAsiya Javayant NEGOTIATION
Tony E InouyeIndiaIvan Magalhaes QUALIFIED
Ricardo W MaletAustraliaOnyama Limba NEGOTIATION
Jefferson O MarrierSpainIoni Bowcher RENEWAL
Sinclair T WieserUnited KingdomAnna Fali PROPOSAL
Octavia E StensethJapanStephen Shaw NEW
Aditya R PaprockiSpainIvan Magalhaes NEGOTIATION
Greenwood Z MaletUnited KingdomStephen Shaw PROPOSAL
Darci K ChuiArgentinaIvan Magalhaes QUALIFIED
Juan P SergiItalyAmy Elsner NEGOTIATION
James C ShinkoIndiaStephen Shaw NEGOTIATION
Mayumi K AlbaresSpainXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily O PerinCanadaXuxue Feng NEGOTIATION
Claire C ShinkoJapanOnyama Limba NEGOTIATION
Antonio J PoquetteFranceOnyama Limba RENEWAL
Francesco B WaycottUnited KingdomOnyama Limba UNQUALIFIED
Francesco R CaudyGermanyOnyama Limba RENEWAL
Juan L AlbaresItalyIvan Magalhaes NEW
Misaki B GarufiFranceElwin Sharvill RENEWAL
Arvin L DoeSpainIvan Magalhaes QUALIFIED
Octavia L CaldareraFranceStephen Shaw NEGOTIATION
Stacey Z MaletIndiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow K WieserJapan2024-05-28Chemel, James L Cpa PROPOSAL23Stephen Shaw
1001Juan S ShinkoBrazil2024-06-17Printing Dimensions RENEWAL15Xuxue Feng
1002Salvatore R BowleyIndia2024-05-31Chapman, Ross E Esq UNQUALIFIED16Bernardo Dominic
1003Stacey L TollnerSpain2024-05-27Feiner Bros UNQUALIFIED11Anna Fali
1004Costa M BologniaItaly2024-05-27Chapman, Ross E Esq NEGOTIATION31Asiya Javayant
1005Antonio Y KolmetzAustralia2024-06-20Dorl, James J Esq NEGOTIATION67Ivan Magalhaes
1006Faith I GauchoRussia2024-06-12Feiner Bros NEGOTIATION6Ioni Bowcher
1007Leja N AmigonFrance2024-06-14Chanay, Jeffrey A Esq NEGOTIATION53Asiya Javayant
1008Leon O PaprockiItaly2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED1Ivan Magalhaes
1009Johnson K StockhamIndia2024-06-04Dorl, James J Esq RENEWAL41Amy Elsner
1010Emily X ShinkoAustralia2024-06-21Morlong Associates RENEWAL72Anna Fali
1011Kadeem H GarufiFrance2024-05-23Feltz Printing Service RENEWAL4Bernardo Dominic
1012Munro S ChuiAustralia2024-06-01Chapman, Ross E Esq PROPOSAL6Onyama Limba
1013Chavez T DarakjyIndia2024-06-21Chemel, James L Cpa RENEWAL25Ioni Bowcher
1014Faith V NestleSpain2024-06-08King, Christopher A Esq NEW21Bernardo Dominic
1015Faith Y AmigonAustralia2024-06-04Rousseaux, Michael Esq UNQUALIFIED55Bernardo Dominic
1016Julie L InouyeBrazil2024-06-16Feiner Bros QUALIFIED49Ivan Magalhaes
1017Julie R TollnerSpain2024-06-12Benton, John B Jr RENEWAL32Asiya Javayant
1018Ashley V StockhamJapan2024-05-24Feltz Printing Service UNQUALIFIED46Bernardo Dominic
1019Adams I FollerRussia2024-06-21Buckley Miller Wright NEGOTIATION2Stephen Shaw
1020Julie D StensethItaly2024-06-15Chemel, James L Cpa RENEWAL76Onyama Limba
1021Antonio W FerenczAustralia2024-06-11Feltz Printing Service UNQUALIFIED33Ioni Bowcher
1022Alejandro C CaudySpain2024-06-04Truhlar And Truhlar Attys PROPOSAL57Asiya Javayant
1023Leon I MorascaRussia2024-06-13Feiner Bros RENEWAL55Bernardo Dominic
1024Jefferson P BowleyGermany2024-06-08Chanay, Jeffrey A Esq NEW31Elwin Sharvill
1025Mujtaba V BologniaIndia2024-06-21Dorl, James J Esq RENEWAL71Asiya Javayant
1026Jeanfrancois E CaldareraItaly2024-06-05Truhlar And Truhlar Attys PROPOSAL63Xuxue Feng
1027Antonio I MaletSpain2024-06-16Feiner Bros NEW5Xuxue Feng
1028Claire B GauchoBrazil2024-05-26Chemel, James L Cpa NEGOTIATION78Xuxue Feng
1029Maisha J FollerGermany2024-05-31Buckley Miller Wright NEW17Elwin Sharvill
1030Wickens S PaprockiItaly2024-06-08Dorl, James J Esq RENEWAL33Asiya Javayant
1031Claire W GlickRussia2024-06-14Buckley Miller Wright QUALIFIED14Elwin Sharvill
1032Ricardo W RimAustralia2024-06-12Feltz Printing Service NEGOTIATION71Onyama Limba
1033Costa W ShinkoCanada2024-06-18Chapman, Ross E Esq QUALIFIED53Onyama Limba
1034Francesco U PaprockiIndia2024-06-01Feiner Bros PROPOSAL86Bernardo Dominic
1035Arvin E AmigonBrazil2024-06-07Benton, John B Jr NEGOTIATION71Onyama Limba
1036Antonio P GlickGermany2024-05-28Commercial Press PROPOSAL13Anna Fali
1037Stacey S FigeroaUnited Kingdom2024-05-25Chemel, James L Cpa NEW36Elwin Sharvill
1038Clifford Q PoquetteBrazil2024-06-06Morlong Associates NEW54Elwin Sharvill
1039Salvatore L InouyeBrazil2024-05-30Chapman, Ross E Esq NEGOTIATION72Ivan Magalhaes
1040Antonio Z SergiArgentina2024-06-02Feiner Bros QUALIFIED36Asiya Javayant
1041Ricardo C WhobreyJapan2024-06-17Rangoni Of Florence UNQUALIFIED96Ioni Bowcher
1042Greenwood S MacleadRussia2024-06-05Commercial Press NEW60Stephen Shaw
1043Arvin E RimJapan2024-05-29Morlong Associates PROPOSAL99Amy Elsner
1044Nicolas C ButtRussia2024-05-28Rangoni Of Florence NEGOTIATION74Stephen Shaw
1045Aditya Z PerinItaly2024-06-09Chanay, Jeffrey A Esq RENEWAL44Amy Elsner
1046Jefferson Q VocelkaCanada2024-06-11Chanay, Jeffrey A Esq RENEWAL36Ivan Magalhaes
1047Sinclair Y MaletCanada2024-05-27Rangoni Of Florence NEGOTIATION65Asiya Javayant
1048Smith W ShinkoUnited Kingdom2024-05-30Dorl, James J Esq NEGOTIATION11Anna Fali
1049Kaitlin Q ChuiBrazil2024-06-20Truhlar And Truhlar Attys UNQUALIFIED18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci D CampainArgentinaIvan Magalhaes QUALIFIED
Ashley M MaletArgentinaAnna Fali UNQUALIFIED
Leja N VocelkaUnited KingdomXuxue Feng NEW
Silvio Q OldroydBrazilIvan Magalhaes NEW
Antonio Q BologniaCanadaIvan Magalhaes RENEWAL
Smith K DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Aruna R NestleBrazilAnna Fali NEGOTIATION
Faith P BologniaBrazilIvan Magalhaes QUALIFIED
Juan Z MarrierUnited KingdomAmy Elsner PROPOSAL
Wickens I DilliardCanadaXuxue Feng UNQUALIFIED
Clifford J RoysterAustraliaBernardo Dominic QUALIFIED
Misaki M VocelkaJapanBernardo Dominic PROPOSAL
Leja S DoeUnited KingdomAmy Elsner QUALIFIED
Stacey N SaylorsFranceBernardo Dominic UNQUALIFIED
Mujtaba H MacleadBrazilIvan Magalhaes QUALIFIED
Morrow S NestleSpainStephen Shaw RENEWAL
Leja L GlickGermanyXuxue Feng QUALIFIED
Julie I MaletArgentinaOnyama Limba QUALIFIED
David P GillianAustraliaIvan Magalhaes QUALIFIED
Alejandro C ChuiRussiaElwin Sharvill RENEWAL
Rodrigues R MaletBrazilStephen Shaw RENEWAL
Maisha X NestleUnited KingdomElwin Sharvill NEGOTIATION
Maisha R SaylorsArgentinaElwin Sharvill NEW
Claire Q FollerFranceStephen Shaw NEW
Antonio H CaudyArgentinaIvan Magalhaes NEW
Aruna O FollerArgentinaAnna Fali NEGOTIATION
Claire P FollerUnited KingdomAsiya Javayant NEGOTIATION
Antonio K FigeroaAustraliaOnyama Limba RENEWAL
Greenwood L KuskoRussiaBernardo Dominic NEW
Adams H GauchoUnited KingdomStephen Shaw RENEWAL
Stacey E FigeroaArgentinaAmy Elsner NEW
Misaki Y RulapaughAustraliaBernardo Dominic QUALIFIED
Aruna X NestleAustraliaAmy Elsner NEGOTIATION
Aika L SchemmerArgentinaOnyama Limba RENEWAL
Ivar B TollnerItalyIoni Bowcher UNQUALIFIED
Adams G ChuiUnited KingdomIoni Bowcher PROPOSAL
James S BowleyIndiaAnna Fali NEW
Ricardo I RimRussiaStephen Shaw NEGOTIATION
Adams R BologniaIndiaXuxue Feng QUALIFIED
Johnson P AlbaresItalyXuxue Feng NEW
Nicolas E NestleCanadaIvan Magalhaes NEW
Aruna B DilliardGermanyElwin Sharvill NEW
Mujtaba T NickaJapanXuxue Feng QUALIFIED
Octavia H RulapaughUnited KingdomStephen Shaw RENEWAL
Mayumi B WieserFranceAnna Fali UNQUALIFIED
Johnson W DoeRussiaAnna Fali NEGOTIATION
Julie N KuskoCanadaAsiya Javayant PROPOSAL
Leja Y FerenczIndiaAnna Fali PROPOSAL
Leon Q RoysterJapanAsiya Javayant NEGOTIATION
Leja P OldroydFranceElwin Sharvill RENEWAL
Frozen Columns
Name
Antonio K Nicka
Stacey G Doe
Octavia E Paprocki
Tony W Nicka
Jefferson O Inouye
David A Campain
Aruna V Royster
Isabel M Royster
Francesco K Oldroyd
James R Rulapaugh
Aika J Rim
Cody G Kusko
Sinclair M Bolognia
Mayumi E Albares
Rodrigues P Perin
Nicolas X Royster
Kadeem B Poquette
Antonio Z Malet
Clifford H Kusko
Alejandro D Caudy
Mujtaba L Venere
Darci M Campain
Smith K Figeroa
Maria O Bolognia
Jefferson D Albares
Leon A Amigon
Mayumi H Perin
Leon P Glick
Jefferson L Ferencz
Murillo E Bowley
Isabel V Nestle
Cody V Paprocki
Rodrigues X Caldarera
Morrow S Ferencz
Cody A Slusarski
Leja W Ostrosky
Aruna V Darakjy
Leon L Inouye
Mujtaba Y Kusko
Aika R Kolmetz
Adams R Ferencz
Emily O Gillian
Cody H Campain
Jones G Tollner
Mujtaba U Bolognia
Izzy C Schemmer
Leja E Glick
Silvio A Schemmer
Costa O Vocelka
Antonio R Sergi
IdCountryDate
1000Australia2024-05-27
1001France2024-06-09
1002Spain2024-06-07
1003Japan2024-06-08
1004Spain2024-06-06
1005Spain2024-06-01
1006Italy2024-06-10
1007Russia2024-06-16
1008Japan2024-06-01
1009Australia2024-06-03
1010Spain2024-06-14
1011Spain2024-06-15
1012Australia2024-05-23
1013Russia2024-06-02
1014India2024-06-05
1015Australia2024-06-18
1016Canada2024-06-11
1017United Kingdom2024-06-15
1018Spain2024-05-28
1019United Kingdom2024-06-19
1020Brazil2024-06-12
1021United Kingdom2024-06-21
1022Canada2024-06-14
1023Germany2024-06-17
1024Italy2024-06-08
1025India2024-06-12
1026India2024-06-14
1027United Kingdom2024-05-31
1028Australia2024-06-05
1029Spain2024-05-25
1030Australia2024-06-02
1031Spain2024-06-14
1032Russia2024-06-08
1033Japan2024-06-19
1034Italy2024-05-23
1035Italy2024-06-20
1036Australia2024-05-30
1037Russia2024-06-08
1038Italy2024-05-28
1039Argentina2024-05-29
1040Brazil2024-06-03
1041India2024-05-28
1042Argentina2024-06-11
1043Spain2024-06-01
1044United Kingdom2024-06-08
1045Brazil2024-05-28
1046India2024-06-09
1047India2024-05-27
1048Spain2024-06-01
1049United Kingdom2024-06-14

On-Demand Data

NameIdCountryDate
Wickens E Amigon1000Russia2024-06-07
Cody R Briddick1001Spain2024-06-11
Mayumi T Venere1002Australia2024-06-16
Stacey U Morasca1003France2024-06-15
Wickens K Vocelka1004Australia2024-06-20
Wickens Q Iturbide1005Spain2024-06-14
Munro L Campain1006Australia2024-06-07
Ivar G Chui1007Spain2024-06-16
Sinclair J Malet1008France2024-06-15
Sinclair T Figeroa1009Argentina2024-06-07
Ashley R Malet1010Germany2024-06-08
Francesco C Waycott1011Japan2024-06-09
Jennifer M Figeroa1012Italy2024-05-27
Aditya M Wieser1013Germany2024-05-25
Murillo N Shinko1014Canada2024-06-17
Leja T Iturbide1015Italy2024-06-07
Izzy Y Gaucho1016Spain2024-05-30
Octavia R Marrier1017Russia2024-06-09
James L Royster1018Canada2024-06-02
Ashley E Amigon1019Russia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues K ButtItalyAnna Fali QUALIFIED
Clifford V DoeArgentinaStephen Shaw NEGOTIATION
Mayumi E SergiItalyStephen Shaw PROPOSAL
Salvatore Y FerenczIndiaIoni Bowcher NEW
Jefferson C OldroydRussiaAmy Elsner NEW
Octavia L RulapaughAustraliaElwin Sharvill UNQUALIFIED
Mayumi G MarrierAustraliaOnyama Limba QUALIFIED
Misaki Y MacleadSpainAmy Elsner QUALIFIED
Silvio T VenereUnited KingdomOnyama Limba NEW
Munro C BriddickCanadaAmy Elsner NEW
Jones O TollnerUnited KingdomAnna Fali UNQUALIFIED
Aruna P KolmetzCanadaBernardo Dominic NEW
Sinclair F KolmetzRussiaAnna Fali NEW
Wickens U NickaBrazilStephen Shaw NEGOTIATION
Izzy F PoquetteCanadaOnyama Limba QUALIFIED
Chavez D IturbideUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois F FigeroaFranceAmy Elsner PROPOSAL
Mujtaba Z DilliardUnited KingdomIvan Magalhaes NEGOTIATION
Johnson W DilliardRussiaAsiya Javayant PROPOSAL
Arvin X BologniaRussiaIoni Bowcher RENEWAL
Misaki R MaletGermanyElwin Sharvill PROPOSAL
Smith S GarufiRussiaElwin Sharvill NEGOTIATION
Nicolas F MaletIndiaIvan Magalhaes PROPOSAL
Jones R OldroydArgentinaStephen Shaw PROPOSAL
Jeanfrancois J RutaGermanyAmy Elsner PROPOSAL
Arvin N GarufiJapanIoni Bowcher QUALIFIED
Smith B MacleadFranceStephen Shaw QUALIFIED
Deepesh O CaudyFranceAsiya Javayant PROPOSAL
Faith A ButtCanadaOnyama Limba UNQUALIFIED
Adams T FlosiArgentinaOnyama Limba RENEWAL
Adams E BriddickSpainBernardo Dominic NEGOTIATION
Julie Y InouyeFranceElwin Sharvill RENEWAL
Tony C StensethArgentinaXuxue Feng QUALIFIED
Aditya J MacleadIndiaIoni Bowcher RENEWAL
Chavez D StockhamAustraliaOnyama Limba QUALIFIED
Kaitlin L RimGermanyOnyama Limba QUALIFIED
Greenwood G StensethIndiaAmy Elsner PROPOSAL
Stacey B GillianAustraliaIoni Bowcher QUALIFIED
Faith I NestleCanadaXuxue Feng RENEWAL
Ashley N BologniaRussiaElwin 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>