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
Jones D BriddickItalyAnna Fali QUALIFIED
Aika L BowleyUnited KingdomAnna Fali RENEWAL
Misaki U WhobreyGermanyBernardo Dominic QUALIFIED
Mujtaba S DarakjyGermanyIvan Magalhaes NEGOTIATION
Izzy Q NickaItalyIvan Magalhaes QUALIFIED
Jones S NickaItalyOnyama Limba RENEWAL
Alejandro S FollerBrazilOnyama Limba PROPOSAL
James L BowleyAustraliaBernardo Dominic NEW
Aruna P PoquetteGermanyBernardo Dominic RENEWAL
Ashley A ButtGermanyBernardo Dominic UNQUALIFIED
Ivar P WaycottIndiaIvan Magalhaes PROPOSAL
Cody H CampainGermanyXuxue Feng QUALIFIED
Aruna C DilliardItalyAmy Elsner RENEWAL
Maisha T FollerFranceElwin Sharvill UNQUALIFIED
Leon N RutaItalyBernardo Dominic PROPOSAL
Julie C MaletSpainStephen Shaw RENEWAL
Jeanfrancois W PerinSpainXuxue Feng RENEWAL
Aruna P MacleadIndiaXuxue Feng PROPOSAL
Ivar F RimIndiaOnyama Limba PROPOSAL
Stacey X RoysterIndiaElwin Sharvill UNQUALIFIED
Aditya F RimSpainBernardo Dominic PROPOSAL
Isabel X CampainCanadaAsiya Javayant UNQUALIFIED
Deepesh U RulapaughSpainElwin Sharvill NEW
Aruna W RimBrazilXuxue Feng RENEWAL
Mujtaba K WaycottAustraliaAnna Fali NEGOTIATION
Nicolas J SaylorsUnited KingdomIoni Bowcher RENEWAL
Emily A IturbideCanadaBernardo Dominic RENEWAL
Ashley Z DoeItalyAmy Elsner PROPOSAL
Claire P CaldareraUnited KingdomElwin Sharvill RENEWAL
Salvatore Y IturbideUnited KingdomElwin Sharvill NEGOTIATION
James S FlosiUnited KingdomAnna Fali QUALIFIED
Kaitlin F ChuiCanadaAnna Fali QUALIFIED
Wickens P GarufiSpainOnyama Limba RENEWAL
Mujtaba R PerinSpainIvan Magalhaes PROPOSAL
Francesco K ChuiJapanOnyama Limba QUALIFIED
Mayumi C FigeroaFranceOnyama Limba UNQUALIFIED
Murillo A PoquetteJapanAmy Elsner PROPOSAL
Ricardo W WaycottArgentinaXuxue Feng UNQUALIFIED
Isabel P InouyeAustraliaBernardo Dominic UNQUALIFIED
Morrow H RulapaughBrazilXuxue Feng NEGOTIATION
Ricardo D OldroydCanadaBernardo Dominic NEGOTIATION
Stacey T MacleadCanadaXuxue Feng NEW
Francesco U SergiCanadaElwin Sharvill PROPOSAL
Arvin J WhobreyGermanyAmy Elsner UNQUALIFIED
Tony J CaudyIndiaIoni Bowcher PROPOSAL
James K MarrierArgentinaXuxue Feng UNQUALIFIED
Salvatore N StockhamItalyXuxue Feng UNQUALIFIED
Jefferson M MaletArgentinaBernardo Dominic RENEWAL
Antonio C MaletArgentinaAnna Fali QUALIFIED
Leja Y FigeroaBrazilXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika D InouyeIndiaIoni Bowcher PROPOSAL
Misaki A KuskoSpainAnna Fali RENEWAL
Arvin Z SaylorsIndiaAnna Fali QUALIFIED
Greenwood A DarakjyAustraliaAsiya Javayant NEW
Jeanfrancois D KolmetzUnited KingdomAnna Fali NEGOTIATION
Antonio G PerinGermanyIoni Bowcher RENEWAL
Jones U FerenczIndiaStephen Shaw NEW
Jefferson E CaldareraIndiaElwin Sharvill NEW
Alejandro T ButtCanadaIvan Magalhaes NEGOTIATION
Deepesh R AlbaresFranceIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro N OldroydBrazil2024-06-09Rangoni Of Florence PROPOSAL35Ivan Magalhaes
1001Izzy S AmigonCanada2024-06-08Rangoni Of Florence RENEWAL2Onyama Limba
1002Jennifer T GarufiAustralia2024-05-29Benton, John B Jr RENEWAL93Ivan Magalhaes
1003Rodrigues F MarrierArgentina2024-06-02Dorl, James J Esq QUALIFIED97Stephen Shaw
1004Jeanfrancois F RimBrazil2024-06-04Chemel, James L Cpa NEW63Ioni Bowcher
1005Isabel W MarrierGermany2024-05-20Benton, John B Jr UNQUALIFIED10Xuxue Feng
1006Nicolas Q FerenczArgentina2024-06-01Dorl, James J Esq NEW70Elwin Sharvill
1007Costa N WieserJapan2024-05-31Benton, John B Jr NEGOTIATION19Ivan Magalhaes
1008Faith E ChuiItaly2024-05-30Truhlar And Truhlar Attys QUALIFIED5Anna Fali
1009Izzy C MaletGermany2024-05-22King, Christopher A Esq NEGOTIATION34Amy Elsner
1010David Z RoysterRussia2024-05-25Morlong Associates NEGOTIATION87Elwin Sharvill
1011Maria U MaletUnited Kingdom2024-05-23King, Christopher A Esq RENEWAL51Amy Elsner
1012Jefferson A VocelkaFrance2024-06-12Benton, John B Jr NEW29Bernardo Dominic
1013Aditya P StensethAustralia2024-06-05Buckley Miller Wright NEW46Stephen Shaw
1014Sinclair A VenereSpain2024-06-14Rangoni Of Florence RENEWAL79Ivan Magalhaes
1015Cody O StensethCanada2024-06-16Feltz Printing Service NEGOTIATION22Amy Elsner
1016Tony U DilliardFrance2024-06-15Rangoni Of Florence UNQUALIFIED23Xuxue Feng
1017James H MaletRussia2024-06-11Chanay, Jeffrey A Esq PROPOSAL87Onyama Limba
1018Ricardo A FigeroaIndia2024-05-20Benton, John B Jr PROPOSAL39Onyama Limba
1019Antonio M BologniaJapan2024-06-08King, Christopher A Esq PROPOSAL3Anna Fali
1020Antonio F SchemmerUnited Kingdom2024-06-14Chanay, Jeffrey A Esq QUALIFIED90Ivan Magalhaes
1021Chavez A VocelkaIndia2024-05-26Rangoni Of Florence NEGOTIATION74Elwin Sharvill
1022James S KuskoSpain2024-06-12Rangoni Of Florence UNQUALIFIED81Amy Elsner
1023Jefferson M BologniaSpain2024-05-19Rangoni Of Florence NEW40Onyama Limba
1024Arvin L GauchoIndia2024-06-09Commercial Press PROPOSAL32Ivan Magalhaes
1025Nicolas C MaletItaly2024-05-31Chapman, Ross E Esq RENEWAL14Xuxue Feng
1026Jefferson E IturbideArgentina2024-05-29Feltz Printing Service NEW30Ioni Bowcher
1027Kaitlin C RulapaughJapan2024-05-29Feltz Printing Service UNQUALIFIED67Asiya Javayant
1028Aruna L DarakjyBrazil2024-06-03Rangoni Of Florence NEGOTIATION99Anna Fali
1029Aditya S SaylorsSpain2024-05-31Morlong Associates UNQUALIFIED80Elwin Sharvill
1030Aika P StensethUnited Kingdom2024-05-29Rangoni Of Florence UNQUALIFIED38Stephen Shaw
1031Leja K GarufiUnited Kingdom2024-06-03Rousseaux, Michael Esq UNQUALIFIED62Asiya Javayant
1032Octavia R BriddickJapan2024-05-31Benton, John B Jr NEW35Stephen Shaw
1033Misaki B MarrierUnited Kingdom2024-06-15King, Christopher A Esq RENEWAL75Xuxue Feng
1034Jefferson T RoysterCanada2024-05-30Rousseaux, Michael Esq RENEWAL41Stephen Shaw
1035Morrow F GillianBrazil2024-06-02Rangoni Of Florence UNQUALIFIED48Ioni Bowcher
1036Leon N VenereFrance2024-06-08Chemel, James L Cpa NEGOTIATION25Ivan Magalhaes
1037Mujtaba Z WhobreyUnited Kingdom2024-06-02Rousseaux, Michael Esq NEGOTIATION91Onyama Limba
1038Nicolas S DarakjyJapan2024-05-21Buckley Miller Wright QUALIFIED75Ivan Magalhaes
1039Clifford Z SaylorsAustralia2024-06-02Rousseaux, Michael Esq NEW21Elwin Sharvill
1040Cody U PerinJapan2024-05-26Feltz Printing Service NEW56Onyama Limba
1041Smith R MaletUnited Kingdom2024-06-05Feltz Printing Service QUALIFIED2Anna Fali
1042Darci F ShinkoBrazil2024-06-16King, Christopher A Esq QUALIFIED34Bernardo Dominic
1043Isabel K RutaUnited Kingdom2024-05-21Buckley Miller Wright UNQUALIFIED80Bernardo Dominic
1044Ashley Y DilliardAustralia2024-06-16Morlong Associates PROPOSAL24Asiya Javayant
1045David A InouyeArgentina2024-05-24Morlong Associates RENEWAL81Anna Fali
1046Costa B CaldareraIndia2024-06-04Commercial Press QUALIFIED41Amy Elsner
1047Misaki N VocelkaJapan2024-06-02Buckley Miller Wright QUALIFIED69Stephen Shaw
1048Greenwood U RulapaughBrazil2024-06-08Morlong Associates PROPOSAL44Amy Elsner
1049Jennifer G MorascaArgentina2024-05-30Chemel, James L Cpa UNQUALIFIED68Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Munro A RutaJapanIoni Bowcher PROPOSAL
Morrow X MacleadUnited KingdomElwin Sharvill RENEWAL
Izzy B BowleyJapanXuxue Feng QUALIFIED
Alejandro Y TollnerItalyAnna Fali QUALIFIED
Darci M IturbideCanadaIvan Magalhaes NEW
Ashley S GauchoAustraliaAsiya Javayant NEW
Octavia R RulapaughBrazilAnna Fali NEW
Jennifer X FollerArgentinaElwin Sharvill RENEWAL
Ricardo W FerenczIndiaIvan Magalhaes NEGOTIATION
David T GauchoAustraliaOnyama Limba UNQUALIFIED
Antonio P CaldareraCanadaElwin Sharvill NEGOTIATION
Greenwood L WieserAustraliaAnna Fali NEGOTIATION
Ricardo B KolmetzIndiaIoni Bowcher UNQUALIFIED
Antonio E PerinBrazilAnna Fali RENEWAL
Octavia M WhobreyRussiaElwin Sharvill QUALIFIED
Wickens S FollerItalyAnna Fali PROPOSAL
Mayumi S FerenczIndiaAmy Elsner NEW
Arvin N PoquetteGermanyOnyama Limba NEGOTIATION
Kaitlin D NickaGermanyIvan Magalhaes NEGOTIATION
Murillo C VenereGermanyIoni Bowcher QUALIFIED
Salvatore E SlusarskiGermanyIvan Magalhaes RENEWAL
Aruna C MorascaCanadaOnyama Limba RENEWAL
Silvio P ButtArgentinaElwin Sharvill NEGOTIATION
Adams R VenereSpainAsiya Javayant NEW
Costa W NestleSpainStephen Shaw NEW
Wickens Y SlusarskiArgentinaAmy Elsner QUALIFIED
Morrow Z PerinSpainAsiya Javayant PROPOSAL
Faith R BowleyIndiaElwin Sharvill NEGOTIATION
Leon G StockhamAustraliaOnyama Limba QUALIFIED
Jennifer M GlickFranceAmy Elsner QUALIFIED
Sinclair D KolmetzIndiaAnna Fali NEGOTIATION
Antonio E VocelkaBrazilBernardo Dominic UNQUALIFIED
Morrow Z PerinRussiaIvan Magalhaes PROPOSAL
Octavia M BriddickGermanyElwin Sharvill NEW
Isabel D TollnerUnited KingdomOnyama Limba NEW
Jefferson K MaletItalyBernardo Dominic NEW
Leja U CampainFranceAnna Fali RENEWAL
Jennifer C WieserArgentinaAnna Fali PROPOSAL
Jones Z FerenczBrazilOnyama Limba UNQUALIFIED
Alejandro F FlosiAustraliaElwin Sharvill RENEWAL
James Y FigeroaJapanIoni Bowcher UNQUALIFIED
Leja E RutaItalyIoni Bowcher UNQUALIFIED
Antonio W WaycottIndiaIvan Magalhaes UNQUALIFIED
Juan U KuskoItalyAmy Elsner UNQUALIFIED
Johnson I SergiJapanAsiya Javayant UNQUALIFIED
Jennifer O DoeSpainAmy Elsner PROPOSAL
David M BriddickFranceAnna Fali QUALIFIED
Jeanfrancois U WaycottFranceAmy Elsner RENEWAL
Aika X SchemmerGermanyXuxue Feng QUALIFIED
Faith J StensethIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
Leja D Nicka
Stacey C Doe
Ricardo N Vocelka
Wickens E Kolmetz
Aika W Tollner
Rodrigues Q Schemmer
Murillo X Waycott
Tony N Schemmer
Jones U Poquette
David Y Foller
Ivar V Dilliard
Mujtaba I Schemmer
Morrow N Dilliard
Julie O Amigon
Julie S Rim
Mayumi Q Iturbide
Arvin V Glick
Leon A Amigon
Aditya T Saylors
Wickens H Venere
Murillo X Rim
Leja C Schemmer
Aditya K Campain
Antonio F Bowley
Alejandro A Ostrosky
Leja V Caldarera
Mayumi Q Morasca
Smith Z Shinko
Juan E Inouye
Mayumi U Chui
Octavia J Schemmer
Antonio W Schemmer
Ivar L Rim
David L Caudy
Alejandro Y Darakjy
Izzy I Poquette
Stacey D Bolognia
Sinclair U Stenseth
Wickens R Stenseth
Mayumi Q Vocelka
Arvin L Wieser
Cody R Malet
James H Sergi
Jones S Flosi
Claire K Ruta
Smith M Albares
Darci U Morasca
Maisha I Marrier
Octavia W Paprocki
Tony Z Kolmetz
IdCountryDate
1000Germany2024-05-19
1001France2024-05-27
1002Brazil2024-06-13
1003Argentina2024-06-05
1004Russia2024-05-24
1005United Kingdom2024-06-13
1006Canada2024-06-12
1007Russia2024-05-22
1008India2024-06-13
1009Japan2024-05-22
1010Spain2024-06-14
1011Spain2024-06-12
1012France2024-05-18
1013Spain2024-06-13
1014Germany2024-06-07
1015France2024-06-13
1016Japan2024-06-12
1017Brazil2024-05-22
1018Canada2024-05-22
1019Germany2024-06-12
1020Argentina2024-06-12
1021Spain2024-06-10
1022India2024-06-16
1023United Kingdom2024-06-14
1024Japan2024-05-23
1025Italy2024-05-29
1026Canada2024-06-11
1027Germany2024-05-19
1028Spain2024-05-22
1029Japan2024-05-30
1030United Kingdom2024-06-11
1031Argentina2024-05-22
1032India2024-06-03
1033Canada2024-06-03
1034Brazil2024-05-29
1035Spain2024-06-02
1036Spain2024-06-02
1037Italy2024-05-30
1038Argentina2024-06-14
1039Russia2024-05-23
1040United Kingdom2024-05-25
1041United Kingdom2024-05-25
1042Germany2024-05-25
1043Italy2024-06-05
1044Japan2024-05-30
1045United Kingdom2024-05-20
1046Russia2024-05-25
1047Japan2024-05-24
1048Russia2024-05-23
1049Australia2024-05-27

On-Demand Data

NameIdCountryDate
Cody H Rim1000Spain2024-05-24
Sinclair Q Gillian1001United Kingdom2024-06-16
Faith C Gillian1002United Kingdom2024-06-08
Cody Y Briddick1003Germany2024-06-03
Aruna R Amigon1004Japan2024-05-23
Francesco W Wieser1005Germany2024-05-23
Leon Y Glick1006Australia2024-05-26
Leon B Inouye1007Germany2024-05-30
Deepesh B Paprocki1008Russia2024-06-06
Octavia I Butt1009Russia2024-05-25
Salvatore B Bowley1010Russia2024-06-02
James I Oldroyd1011Russia2024-06-11
Johnson H Amigon1012Japan2024-06-14
Jefferson G Whobrey1013Brazil2024-06-10
Jennifer D Malet1014Argentina2024-05-30
Greenwood X Garufi1015Canada2024-06-08
Octavia K Whobrey1016Brazil2024-06-11
Kadeem Y Saylors1017India2024-06-09
Ivar J Campain1018India2024-06-09
Kadeem G Kusko1019Canada2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio C KolmetzFranceOnyama Limba PROPOSAL
Octavia O RoysterAustraliaOnyama Limba QUALIFIED
Johnson N MorascaArgentinaBernardo Dominic UNQUALIFIED
Sinclair R RulapaughIndiaXuxue Feng NEW
Salvatore Y SlusarskiSpainOnyama Limba NEW
Juan D SergiIndiaAmy Elsner NEW
Costa V BriddickSpainXuxue Feng QUALIFIED
James E IturbideJapanIoni Bowcher QUALIFIED
Octavia V AmigonGermanyStephen Shaw QUALIFIED
Cody D MarrierBrazilIoni Bowcher NEW
James U CaldareraItalyXuxue Feng UNQUALIFIED
David A StockhamArgentinaAmy Elsner QUALIFIED
Kadeem V GauchoFranceElwin Sharvill UNQUALIFIED
Silvio G BowleyRussiaAsiya Javayant NEGOTIATION
Alejandro F NestleCanadaIoni Bowcher NEW
Aruna X CaudyCanadaIoni Bowcher PROPOSAL
Ricardo B RoysterGermanyAmy Elsner PROPOSAL
Kadeem X OstroskySpainIoni Bowcher NEW
Alejandro F MaletGermanyIvan Magalhaes NEGOTIATION
Mujtaba F OldroydCanadaElwin Sharvill NEW
Ivar R GauchoAustraliaOnyama Limba RENEWAL
Adams Y MorascaArgentinaOnyama Limba RENEWAL
Ricardo G BriddickSpainXuxue Feng QUALIFIED
Wickens Z KuskoArgentinaStephen Shaw UNQUALIFIED
Rodrigues Z NickaAustraliaIoni Bowcher UNQUALIFIED
David S MorascaAustraliaAsiya Javayant RENEWAL
Deepesh H VocelkaJapanStephen Shaw UNQUALIFIED
Wickens R SergiRussiaIoni Bowcher RENEWAL
Kadeem G FigeroaArgentinaElwin Sharvill QUALIFIED
Claire C SaylorsIndiaIoni Bowcher QUALIFIED
Maria E GarufiBrazilBernardo Dominic NEGOTIATION
Mayumi R DarakjyArgentinaAnna Fali NEGOTIATION
Kadeem Z TollnerSpainBernardo Dominic PROPOSAL
Nicolas T RoysterSpainIoni Bowcher QUALIFIED
Jones T PerinArgentinaElwin Sharvill NEW
Misaki A SaylorsJapanAmy Elsner QUALIFIED
Ashley U GlickFranceOnyama Limba UNQUALIFIED
Maria J WaycottCanadaIvan Magalhaes NEGOTIATION
Smith X StockhamRussiaStephen Shaw NEW
Alejandro I OstroskyIndiaElwin Sharvill 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>