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
Deepesh V DarakjyArgentinaStephen Shaw UNQUALIFIED
Murillo G StensethIndiaIoni Bowcher NEGOTIATION
Salvatore V GlickJapanOnyama Limba UNQUALIFIED
Faith G MorascaSpainXuxue Feng NEGOTIATION
Faith K WaycottGermanyBernardo Dominic NEGOTIATION
Jefferson K FollerGermanyAsiya Javayant UNQUALIFIED
Murillo W SaylorsGermanyAsiya Javayant QUALIFIED
Aika V InouyeJapanElwin Sharvill RENEWAL
Izzy W WhobreyGermanyIvan Magalhaes UNQUALIFIED
Costa Y MacleadSpainAnna Fali QUALIFIED
Rodrigues K KuskoIndiaOnyama Limba UNQUALIFIED
Sinclair P MacleadBrazilXuxue Feng QUALIFIED
Antonio P PoquetteCanadaBernardo Dominic PROPOSAL
Johnson I MorascaSpainIoni Bowcher NEGOTIATION
Adams U ButtJapanIvan Magalhaes NEW
Jefferson J StensethArgentinaIvan Magalhaes UNQUALIFIED
Jennifer G SergiSpainOnyama Limba NEW
Maria V BologniaFranceAmy Elsner NEW
Munro Z MaletJapanOnyama Limba RENEWAL
Aruna H CampainFranceIvan Magalhaes NEW
Darci S PoquetteIndiaIoni Bowcher NEGOTIATION
Alejandro Q InouyeCanadaOnyama Limba NEW
Emily F SergiArgentinaIvan Magalhaes NEW
Mayumi B MarrierIndiaAmy Elsner NEGOTIATION
Alejandro V WieserCanadaOnyama Limba UNQUALIFIED
Stacey G BowleySpainIoni Bowcher UNQUALIFIED
Leon L WieserFranceAnna Fali QUALIFIED
Claire V StensethBrazilAmy Elsner UNQUALIFIED
Aditya F DilliardFranceIoni Bowcher QUALIFIED
Nicolas B InouyeArgentinaAsiya Javayant QUALIFIED
Octavia Z GarufiSpainIoni Bowcher PROPOSAL
Izzy P VenereGermanyAnna Fali QUALIFIED
Isabel D ChuiSpainIvan Magalhaes RENEWAL
Maisha T PaprockiFranceAsiya Javayant QUALIFIED
Adams V NestleAustraliaIoni Bowcher UNQUALIFIED
Izzy N KolmetzSpainElwin Sharvill NEGOTIATION
Kaitlin T MaletFranceBernardo Dominic NEW
Misaki E FlosiAustraliaOnyama Limba NEW
Antonio G CaldareraCanadaElwin Sharvill UNQUALIFIED
Faith L SergiArgentinaStephen Shaw UNQUALIFIED
Maisha D RoysterBrazilIvan Magalhaes RENEWAL
Morrow S VocelkaSpainAsiya Javayant QUALIFIED
Izzy P MaletArgentinaAsiya Javayant NEGOTIATION
Aditya Y MarrierJapanIoni Bowcher UNQUALIFIED
Misaki V RimRussiaOnyama Limba RENEWAL
Leon T CaldareraArgentinaBernardo Dominic RENEWAL
Chavez X DoeIndiaAsiya Javayant NEGOTIATION
Jeanfrancois N IturbideIndiaStephen Shaw UNQUALIFIED
Morrow V AlbaresRussiaAnna Fali NEW
Antonio S OstroskyBrazilStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon R BologniaArgentinaAsiya Javayant UNQUALIFIED
Octavia I ShinkoUnited KingdomAsiya Javayant PROPOSAL
Antonio A StensethGermanyIoni Bowcher NEGOTIATION
James K CaldareraJapanIvan Magalhaes UNQUALIFIED
Darci F NestleRussiaAmy Elsner PROPOSAL
Izzy K GlickJapanAsiya Javayant UNQUALIFIED
Aruna X SaylorsIndiaAsiya Javayant NEW
Aika A VocelkaFranceAmy Elsner RENEWAL
David I AlbaresJapanStephen Shaw NEW
Leja L RoysterIndiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio R VocelkaIndia2024-05-19Truhlar And Truhlar Attys RENEWAL99Elwin Sharvill
1001Johnson S MarrierItaly2024-05-22Feiner Bros UNQUALIFIED88Ioni Bowcher
1002Rodrigues V VocelkaGermany2024-05-20Rangoni Of Florence UNQUALIFIED32Ioni Bowcher
1003Kaitlin O KolmetzAustralia2024-05-01Chapman, Ross E Esq UNQUALIFIED76Asiya Javayant
1004Adams A VenereGermany2024-05-04Feiner Bros PROPOSAL58Asiya Javayant
1005Octavia S NestleBrazil2024-05-02Feiner Bros RENEWAL9Onyama Limba
1006Leon Y CampainRussia2024-05-27Chemel, James L Cpa QUALIFIED74Asiya Javayant
1007Julie D MaletJapan2024-05-08Printing Dimensions NEW39Amy Elsner
1008Mujtaba W BowleyRussia2024-05-25Feltz Printing Service NEW86Ioni Bowcher
1009Johnson W NickaIndia2024-05-27Feiner Bros QUALIFIED50Bernardo Dominic
1010Adams J GlickUnited Kingdom2024-04-30Buckley Miller Wright RENEWAL55Stephen Shaw
1011Cody T MaletGermany2024-05-25Commercial Press NEGOTIATION33Elwin Sharvill
1012Wickens A ChuiCanada2024-05-21Chemel, James L Cpa PROPOSAL40Ioni Bowcher
1013Aruna K MacleadAustralia2024-05-07Buckley Miller Wright PROPOSAL83Stephen Shaw
1014Kadeem F CampainGermany2024-04-30Dorl, James J Esq PROPOSAL21Elwin Sharvill
1015Maria L FigeroaIndia2024-05-27King, Christopher A Esq UNQUALIFIED2Stephen Shaw
1016Greenwood M GauchoGermany2024-05-16Rousseaux, Michael Esq UNQUALIFIED31Ivan Magalhaes
1017Kadeem R NestleRussia2024-05-18Buckley Miller Wright RENEWAL31Anna Fali
1018Silvio H SergiUnited Kingdom2024-05-04Rousseaux, Michael Esq UNQUALIFIED5Stephen Shaw
1019Francesco L VenereBrazil2024-05-06Rangoni Of Florence UNQUALIFIED97Ioni Bowcher
1020Alejandro D SlusarskiGermany2024-04-30Feltz Printing Service QUALIFIED95Amy Elsner
1021Greenwood M MacleadAustralia2024-05-10Buckley Miller Wright PROPOSAL94Anna Fali
1022Octavia K MorascaIndia2024-05-21Commercial Press RENEWAL74Elwin Sharvill
1023Clifford J PerinArgentina2024-05-16Benton, John B Jr RENEWAL82Ioni Bowcher
1024Ivar Q RulapaughRussia2024-05-21Feltz Printing Service PROPOSAL45Asiya Javayant
1025Jennifer K KolmetzCanada2024-04-29Chapman, Ross E Esq RENEWAL50Ivan Magalhaes
1026Adams R RutaIndia2024-05-15Truhlar And Truhlar Attys PROPOSAL46Ioni Bowcher
1027Jennifer S NestleArgentina2024-05-26Morlong Associates UNQUALIFIED67Amy Elsner
1028Jennifer A AlbaresCanada2024-05-24Chemel, James L Cpa RENEWAL7Ioni Bowcher
1029Nicolas Y VenereRussia2024-05-20Benton, John B Jr UNQUALIFIED46Ioni Bowcher
1030Leon S VenereIndia2024-04-30Benton, John B Jr QUALIFIED11Ioni Bowcher
1031Morrow D PaprockiBrazil2024-05-25Chemel, James L Cpa RENEWAL12Amy Elsner
1032Leja Y VenereFrance2024-05-18Morlong Associates NEGOTIATION94Elwin Sharvill
1033Chavez K MarrierSpain2024-05-20Morlong Associates NEGOTIATION21Xuxue Feng
1034Leja Z CampainIndia2024-05-05Printing Dimensions UNQUALIFIED23Ioni Bowcher
1035Ivar Z PaprockiArgentina2024-05-08Rousseaux, Michael Esq PROPOSAL17Stephen Shaw
1036Deepesh N MacleadAustralia2024-05-04Feiner Bros NEW87Anna Fali
1037Francesco J MacleadGermany2024-05-26Commercial Press NEGOTIATION54Anna Fali
1038Kaitlin S GarufiAustralia2024-05-01Feltz Printing Service UNQUALIFIED41Ivan Magalhaes
1039Misaki L SaylorsIndia2024-05-04Chanay, Jeffrey A Esq QUALIFIED60Ioni Bowcher
1040Greenwood Y NestleRussia2024-05-02Dorl, James J Esq PROPOSAL46Ioni Bowcher
1041Sinclair S VenereSpain2024-05-02Morlong Associates RENEWAL25Onyama Limba
1042Silvio O MaletItaly2024-05-01Truhlar And Truhlar Attys UNQUALIFIED66Onyama Limba
1043Jefferson C DarakjyCanada2024-05-04Buckley Miller Wright PROPOSAL10Asiya Javayant
1044Smith I ChuiGermany2024-05-22Buckley Miller Wright NEGOTIATION38Onyama Limba
1045Nicolas J IturbideGermany2024-05-23Chemel, James L Cpa RENEWAL48Elwin Sharvill
1046Chavez L BriddickCanada2024-05-20Chanay, Jeffrey A Esq PROPOSAL28Xuxue Feng
1047Mujtaba F GillianBrazil2024-05-14Commercial Press PROPOSAL0Elwin Sharvill
1048Arvin F MaletUnited Kingdom2024-05-17Feltz Printing Service NEW68Bernardo Dominic
1049Ashley F KolmetzCanada2024-05-06Commercial Press RENEWAL78Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi I GillianIndiaAmy Elsner QUALIFIED
Ivar W GauchoSpainOnyama Limba QUALIFIED
Juan D MaletAustraliaAsiya Javayant NEW
Misaki E KolmetzItalyXuxue Feng QUALIFIED
Alejandro H BriddickAustraliaIvan Magalhaes RENEWAL
David D BriddickRussiaElwin Sharvill RENEWAL
Murillo X MorascaBrazilAmy Elsner UNQUALIFIED
Leon Q MorascaJapanIvan Magalhaes PROPOSAL
Ashley E VocelkaIndiaStephen Shaw UNQUALIFIED
Greenwood L MorascaArgentinaXuxue Feng QUALIFIED
Chavez H CaudyFranceIoni Bowcher NEW
Ricardo H RoysterBrazilAsiya Javayant NEW
Jones L WieserGermanyOnyama Limba NEW
Cody W FerenczCanadaIvan Magalhaes NEGOTIATION
Arvin C MacleadSpainStephen Shaw PROPOSAL
Nicolas M InouyeUnited KingdomIoni Bowcher NEGOTIATION
Alejandro A NickaCanadaOnyama Limba NEW
Mujtaba M GauchoBrazilAnna Fali PROPOSAL
Murillo S InouyeBrazilOnyama Limba QUALIFIED
Mayumi K PoquetteJapanAmy Elsner NEGOTIATION
Kaitlin C BowleySpainOnyama Limba QUALIFIED
Silvio D MacleadFranceIoni Bowcher NEW
Nicolas H FlosiCanadaOnyama Limba NEW
Leja J DarakjyAustraliaAmy Elsner NEW
Arvin O FerenczArgentinaAsiya Javayant QUALIFIED
Ashley E AlbaresItalyOnyama Limba QUALIFIED
Rodrigues X SchemmerFranceIvan Magalhaes PROPOSAL
Kaitlin F VocelkaIndiaIvan Magalhaes NEW
David O MorascaAustraliaAnna Fali NEW
Tony I FlosiArgentinaAnna Fali UNQUALIFIED
Izzy R AmigonBrazilIvan Magalhaes NEGOTIATION
Maisha T GillianGermanyOnyama Limba NEGOTIATION
Leon D DarakjyFranceIvan Magalhaes NEW
Leon E MorascaFranceAsiya Javayant QUALIFIED
Nicolas X SlusarskiItalyStephen Shaw PROPOSAL
Munro W DarakjyArgentinaBernardo Dominic NEGOTIATION
Maisha X MaletFranceAsiya Javayant UNQUALIFIED
Adams F FlosiAustraliaIoni Bowcher PROPOSAL
Chavez T AmigonBrazilAsiya Javayant PROPOSAL
Maisha N NestleUnited KingdomStephen Shaw QUALIFIED
Smith F MorascaItalyAsiya Javayant NEW
Sinclair R BowleyIndiaBernardo Dominic UNQUALIFIED
Leja Z MorascaCanadaXuxue Feng PROPOSAL
James M ShinkoAustraliaElwin Sharvill NEW
Aruna D MaletBrazilOnyama Limba QUALIFIED
Aruna Q FerenczUnited KingdomIoni Bowcher NEGOTIATION
Izzy S DarakjyRussiaAnna Fali QUALIFIED
Salvatore N InouyeUnited KingdomAnna Fali NEW
Deepesh Q MarrierSpainAnna Fali PROPOSAL
Octavia E CampainBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Kadeem V Albares
Smith Z Nicka
Francesco R Malet
Rodrigues C Darakjy
Murillo Z Oldroyd
Kaitlin L Wieser
James J Malet
Sinclair X Rulapaugh
Munro E Paprocki
Aditya U Nicka
Nicolas Y Darakjy
Munro G Saylors
Maisha B Stenseth
Cody S Kusko
Cody X Stenseth
Ashley O Slusarski
Jefferson D Rulapaugh
Faith L Saylors
Leja W Poquette
Arvin Y Oldroyd
Juan C Oldroyd
Leja N Wieser
Ashley J Gillian
Kadeem M Kolmetz
Aditya B Dilliard
Izzy I Darakjy
Morrow N Gaucho
David N Nestle
Tony N Paprocki
Sinclair I Garufi
Aruna L Vocelka
Aika F Shinko
Jefferson V Chui
Maria O Wieser
Aruna N Glick
Costa O Figeroa
Silvio C Sergi
Jeanfrancois T Morasca
Aditya R Doe
Stacey T Perin
Aika M Venere
Arvin D Bowley
Aditya T Tollner
Smith F Royster
Mujtaba G Bowley
Murillo A Garufi
Antonio F Ruta
Ivar E Gaucho
Deepesh U Tollner
Aika B Poquette
IdCountryDate
1000Spain2024-05-25
1001India2024-05-11
1002Germany2024-05-23
1003France2024-05-09
1004India2024-05-18
1005Brazil2024-05-26
1006United Kingdom2024-05-11
1007Australia2024-05-14
1008France2024-05-15
1009Spain2024-05-25
1010Canada2024-04-30
1011Japan2024-05-18
1012Canada2024-05-07
1013Brazil2024-05-09
1014Argentina2024-05-23
1015Germany2024-05-09
1016Canada2024-05-23
1017Canada2024-05-16
1018France2024-05-07
1019Australia2024-05-17
1020United Kingdom2024-05-25
1021Japan2024-05-16
1022Canada2024-05-18
1023Argentina2024-05-17
1024Canada2024-05-18
1025Italy2024-05-12
1026France2024-05-18
1027India2024-04-28
1028Australia2024-05-23
1029Germany2024-05-27
1030Argentina2024-05-21
1031Australia2024-05-18
1032Russia2024-05-26
1033United Kingdom2024-05-22
1034Italy2024-05-18
1035Spain2024-05-06
1036Brazil2024-05-26
1037Japan2024-05-19
1038Brazil2024-05-03
1039Germany2024-05-14
1040Italy2024-05-05
1041Japan2024-05-12
1042Canada2024-05-03
1043United Kingdom2024-05-01
1044Italy2024-05-01
1045Russia2024-05-05
1046Australia2024-05-25
1047Brazil2024-05-24
1048Argentina2024-05-05
1049United Kingdom2024-05-09

On-Demand Data

NameIdCountryDate
Juan X Malet1000United Kingdom2024-05-24
Tony K Perin1001India2024-05-02
Octavia O Malet1002Japan2024-05-20
Francesco Q Dilliard1003France2024-05-08
Octavia F Bolognia1004Australia2024-05-24
Ivar H Rulapaugh1005Italy2024-05-18
Jones M Caldarera1006Russia2024-05-15
David K Marrier1007France2024-05-06
Morrow S Butt1008Argentina2024-05-18
Alejandro A Kusko1009France2024-05-20
Aruna Q Sergi1010Australia2024-04-30
Leja A Bolognia1011Italy2024-05-02
Murillo U Inouye1012Argentina2024-05-09
Jennifer N Gillian1013Argentina2024-05-14
Murillo P Schemmer1014Brazil2024-05-11
Antonio M Caudy1015India2024-05-18
Emily M Caldarera1016Spain2024-05-27
Juan T Marrier1017Australia2024-05-15
Stacey U Nestle1018France2024-05-01
Kaitlin D Garufi1019Australia2024-05-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore U CaldareraFranceIvan Magalhaes NEGOTIATION
Nicolas B NickaFranceBernardo Dominic PROPOSAL
Juan O GauchoUnited KingdomElwin Sharvill NEGOTIATION
Jones B BologniaJapanAmy Elsner NEGOTIATION
Chavez S ShinkoUnited KingdomXuxue Feng NEW
Maisha W MaletAustraliaIoni Bowcher UNQUALIFIED
Mujtaba C VocelkaArgentinaAsiya Javayant QUALIFIED
Maisha U IturbideArgentinaAsiya Javayant PROPOSAL
Silvio C AlbaresUnited KingdomAnna Fali PROPOSAL
Jeanfrancois L StockhamJapanAnna Fali UNQUALIFIED
Jefferson E PerinJapanElwin Sharvill RENEWAL
Deepesh M DoeBrazilAsiya Javayant NEGOTIATION
Jones W DoeSpainAnna Fali RENEWAL
Jeanfrancois V RimFranceAnna Fali QUALIFIED
Darci T NickaGermanyAmy Elsner UNQUALIFIED
Leon L MacleadArgentinaAnna Fali RENEWAL
Jennifer W InouyeCanadaAnna Fali NEGOTIATION
Aditya R CaudyArgentinaBernardo Dominic QUALIFIED
Alejandro C CaudySpainStephen Shaw RENEWAL
Jones B CaudyJapanOnyama Limba NEW
Stacey B SlusarskiItalyBernardo Dominic RENEWAL
Alejandro D VocelkaCanadaIvan Magalhaes UNQUALIFIED
Misaki Y FigeroaArgentinaOnyama Limba QUALIFIED
Claire K AlbaresCanadaXuxue Feng UNQUALIFIED
Tony W AlbaresGermanyAmy Elsner QUALIFIED
Chavez Q WaycottUnited KingdomElwin Sharvill RENEWAL
Clifford Y NestleAustraliaXuxue Feng UNQUALIFIED
David Z RimJapanAsiya Javayant NEW
Claire N StensethItalyOnyama Limba PROPOSAL
Silvio C DoeIndiaAmy Elsner NEGOTIATION
Octavia O InouyeSpainAsiya Javayant NEGOTIATION
Maisha P MarrierAustraliaOnyama Limba RENEWAL
Darci T MaletRussiaBernardo Dominic NEGOTIATION
Stacey V NestleSpainIoni Bowcher NEGOTIATION
Aditya Y GillianUnited KingdomAsiya Javayant NEW
Murillo J FigeroaAustraliaAsiya Javayant NEGOTIATION
Kaitlin E FigeroaArgentinaAmy Elsner QUALIFIED
Adams D DarakjySpainXuxue Feng NEGOTIATION
Adams B PoquetteSpainElwin Sharvill NEW
Arvin W IturbideAustraliaIoni Bowcher NEGOTIATION

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