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
Rodrigues U BriddickCanadaAsiya Javayant UNQUALIFIED
Wickens C VocelkaArgentinaAsiya Javayant QUALIFIED
Jefferson A SaylorsBrazilAmy Elsner NEW
Ivar H RoysterBrazilOnyama Limba NEW
James U NestleAustraliaBernardo Dominic QUALIFIED
Julie O WhobreyUnited KingdomAmy Elsner PROPOSAL
Aika E ShinkoGermanyXuxue Feng UNQUALIFIED
Emily V PoquetteFranceBernardo Dominic PROPOSAL
Kadeem A BologniaIndiaXuxue Feng QUALIFIED
Mayumi T RoysterArgentinaBernardo Dominic PROPOSAL
Deepesh O NestleJapanAmy Elsner NEGOTIATION
Kaitlin H WieserItalyAmy Elsner RENEWAL
Aditya B ButtBrazilAsiya Javayant NEW
Sinclair Z BriddickJapanBernardo Dominic NEGOTIATION
Chavez I StockhamRussiaXuxue Feng QUALIFIED
Mayumi G SaylorsAustraliaAmy Elsner QUALIFIED
Murillo M DoeJapanIvan Magalhaes UNQUALIFIED
Tony R KolmetzJapanXuxue Feng UNQUALIFIED
Izzy K KuskoCanadaBernardo Dominic NEGOTIATION
Arvin M BowleyIndiaAmy Elsner PROPOSAL
Emily A CaldareraFranceAnna Fali PROPOSAL
Murillo Z ButtSpainAmy Elsner NEW
Misaki H OldroydAustraliaOnyama Limba PROPOSAL
Adams F RoysterAustraliaXuxue Feng NEW
Isabel Q FerenczIndiaElwin Sharvill PROPOSAL
Chavez S PerinCanadaIoni Bowcher UNQUALIFIED
Juan P SergiArgentinaElwin Sharvill RENEWAL
Cody K CampainFranceOnyama Limba NEW
Isabel X GillianAustraliaIoni Bowcher NEW
Jennifer W SlusarskiFranceOnyama Limba NEW
Maisha S KolmetzJapanIoni Bowcher QUALIFIED
Isabel F GauchoJapanIoni Bowcher NEGOTIATION
Jones B MaletGermanyAsiya Javayant QUALIFIED
Kadeem D MaletCanadaXuxue Feng RENEWAL
Silvio J WaycottRussiaAsiya Javayant NEW
Rodrigues D StockhamBrazilIoni Bowcher UNQUALIFIED
Cody R IturbideItalyBernardo Dominic PROPOSAL
Kadeem O FlosiUnited KingdomXuxue Feng UNQUALIFIED
James Z PerinCanadaXuxue Feng PROPOSAL
Francesco L OstroskyCanadaAsiya Javayant QUALIFIED
Cody F ChuiFranceBernardo Dominic RENEWAL
Deepesh P WieserItalyElwin Sharvill QUALIFIED
Darci H RulapaughUnited KingdomXuxue Feng PROPOSAL
Costa Q WaycottAustraliaXuxue Feng NEGOTIATION
Silvio E MacleadItalyIvan Magalhaes NEW
Aika Z PerinBrazilIvan Magalhaes NEGOTIATION
Costa F NestleCanadaAsiya Javayant UNQUALIFIED
Leon W MacleadCanadaOnyama Limba NEW
Sinclair D AmigonIndiaBernardo Dominic QUALIFIED
Leon B WieserIndiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aruna U GillianGermanyIvan Magalhaes NEW
Clifford N MarrierGermanyAmy Elsner QUALIFIED
Salvatore Y BowleyCanadaIoni Bowcher UNQUALIFIED
Chavez E StensethItalyStephen Shaw QUALIFIED
Deepesh G AmigonCanadaAmy Elsner PROPOSAL
Johnson C FerenczAustraliaAnna Fali UNQUALIFIED
Darci X VenereArgentinaBernardo Dominic PROPOSAL
Leja J RulapaughGermanyStephen Shaw NEW
Costa N NickaItalyAnna Fali RENEWAL
Francesco Z BowleyUnited KingdomAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel C RulapaughJapan2024-06-08Benton, John B Jr NEW80Asiya Javayant
1001Antonio V ButtUnited Kingdom2024-06-10Feiner Bros NEW47Ioni Bowcher
1002Deepesh R MacleadAustralia2024-05-25Rousseaux, Michael Esq QUALIFIED82Ioni Bowcher
1003Sinclair P GillianArgentina2024-05-28Chapman, Ross E Esq UNQUALIFIED51Bernardo Dominic
1004Octavia M CaudyCanada2024-06-16Chanay, Jeffrey A Esq NEGOTIATION46Amy Elsner
1005Ashley J SaylorsFrance2024-06-17Chemel, James L Cpa UNQUALIFIED86Amy Elsner
1006Costa X KolmetzAustralia2024-06-02Printing Dimensions RENEWAL23Ioni Bowcher
1007Murillo U PerinAustralia2024-05-29Feltz Printing Service UNQUALIFIED30Elwin Sharvill
1008Murillo B OstroskyAustralia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED66Bernardo Dominic
1009Leja E BowleyFrance2024-06-21Chemel, James L Cpa RENEWAL73Asiya Javayant
1010Darci G SaylorsUnited Kingdom2024-06-21Chapman, Ross E Esq NEW28Anna Fali
1011Nicolas Z SlusarskiGermany2024-05-25Printing Dimensions UNQUALIFIED66Anna Fali
1012Tony M FlosiJapan2024-06-16Dorl, James J Esq NEW31Bernardo Dominic
1013Octavia G CampainAustralia2024-06-06Truhlar And Truhlar Attys UNQUALIFIED80Elwin Sharvill
1014Munro F BologniaFrance2024-06-05Truhlar And Truhlar Attys UNQUALIFIED41Ioni Bowcher
1015David Z PoquetteIndia2024-06-16Chapman, Ross E Esq RENEWAL26Amy Elsner
1016Morrow V WhobreyJapan2024-06-18Dorl, James J Esq NEGOTIATION87Onyama Limba
1017Faith U FollerBrazil2024-05-27King, Christopher A Esq NEW10Amy Elsner
1018Leja Z FollerGermany2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED46Stephen Shaw
1019Faith G RutaRussia2024-06-02Rangoni Of Florence NEGOTIATION26Xuxue Feng
1020Greenwood M FollerItaly2024-06-06Chapman, Ross E Esq RENEWAL11Bernardo Dominic
1021Mujtaba T StockhamSpain2024-06-17Feiner Bros UNQUALIFIED48Amy Elsner
1022Chavez O FerenczAustralia2024-06-10Chanay, Jeffrey A Esq QUALIFIED28Ioni Bowcher
1023Isabel L FigeroaFrance2024-06-11Buckley Miller Wright UNQUALIFIED37Xuxue Feng
1024David E WhobreyItaly2024-06-18Dorl, James J Esq NEW74Amy Elsner
1025Smith S SaylorsRussia2024-06-17Benton, John B Jr UNQUALIFIED31Anna Fali
1026Salvatore Z MacleadItaly2024-05-31Truhlar And Truhlar Attys UNQUALIFIED57Asiya Javayant
1027Mayumi S StensethIndia2024-06-01Truhlar And Truhlar Attys NEW53Bernardo Dominic
1028Kadeem Y DoeGermany2024-05-29Rousseaux, Michael Esq QUALIFIED30Ivan Magalhaes
1029Mayumi C StockhamAustralia2024-05-26Rangoni Of Florence NEGOTIATION86Onyama Limba
1030Greenwood Y RoysterUnited Kingdom2024-05-31Morlong Associates UNQUALIFIED25Ivan Magalhaes
1031Francesco A SchemmerGermany2024-06-10Feiner Bros NEGOTIATION77Ivan Magalhaes
1032Silvio M CaudyAustralia2024-05-31Rangoni Of Florence UNQUALIFIED96Ioni Bowcher
1033Alejandro B VocelkaArgentina2024-05-30King, Christopher A Esq QUALIFIED52Elwin Sharvill
1034Antonio O CampainAustralia2024-05-27Rangoni Of Florence NEW2Anna Fali
1035Ricardo D GauchoCanada2024-06-06Commercial Press NEGOTIATION0Asiya Javayant
1036Darci K SaylorsIndia2024-06-06King, Christopher A Esq QUALIFIED33Amy Elsner
1037Johnson T RimUnited Kingdom2024-06-10Feltz Printing Service RENEWAL40Onyama Limba
1038Emily S RimJapan2024-05-23Feiner Bros PROPOSAL25Anna Fali
1039Octavia Q PoquetteSpain2024-06-01Benton, John B Jr NEGOTIATION34Anna Fali
1040Adams G OldroydArgentina2024-05-31Dorl, James J Esq NEW95Stephen Shaw
1041Morrow M ButtIndia2024-06-14Buckley Miller Wright QUALIFIED17Amy Elsner
1042Aika E DarakjySpain2024-06-08Feiner Bros QUALIFIED74Elwin Sharvill
1043Johnson W FigeroaCanada2024-06-11Commercial Press NEGOTIATION23Anna Fali
1044Francesco G PerinGermany2024-06-03Commercial Press NEGOTIATION42Xuxue Feng
1045Julie Y KolmetzAustralia2024-06-03Feiner Bros UNQUALIFIED77Bernardo Dominic
1046Jones B MorascaJapan2024-06-04Benton, John B Jr QUALIFIED71Stephen Shaw
1047Mujtaba K SlusarskiCanada2024-05-26Chemel, James L Cpa NEW86Elwin Sharvill
1048Octavia Q PoquetteBrazil2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED58Asiya Javayant
1049Maria B StensethSpain2024-06-05Rousseaux, Michael Esq QUALIFIED60Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Smith F FollerJapanIvan Magalhaes RENEWAL
Mayumi B NickaJapanStephen Shaw QUALIFIED
Tony L WaycottBrazilAnna Fali UNQUALIFIED
Chavez H FigeroaItalyAmy Elsner RENEWAL
Silvio G InouyeSpainIvan Magalhaes PROPOSAL
Faith E MorascaRussiaOnyama Limba NEGOTIATION
Munro M GauchoSpainElwin Sharvill PROPOSAL
Jefferson D IturbideAustraliaIvan Magalhaes PROPOSAL
Aika T DarakjyItalyOnyama Limba NEW
Isabel T GauchoIndiaOnyama Limba RENEWAL
Ashley E PerinFranceIvan Magalhaes RENEWAL
Ricardo A RimGermanyIvan Magalhaes UNQUALIFIED
Salvatore V MaletGermanyIoni Bowcher QUALIFIED
Misaki C GarufiBrazilAnna Fali RENEWAL
Emily A DoeUnited KingdomXuxue Feng UNQUALIFIED
Mayumi W OldroydFranceElwin Sharvill NEW
Clifford F MacleadFranceAsiya Javayant NEGOTIATION
Adams H WhobreyArgentinaAmy Elsner NEW
Kaitlin E TollnerJapanIoni Bowcher UNQUALIFIED
Isabel Z KuskoCanadaIvan Magalhaes PROPOSAL
Salvatore H VocelkaJapanAsiya Javayant NEW
Ashley F ChuiGermanyAsiya Javayant QUALIFIED
Jennifer S MorascaIndiaIoni Bowcher RENEWAL
Octavia K PaprockiRussiaAnna Fali RENEWAL
James L WieserCanadaIoni Bowcher NEW
Julie O DarakjyAustraliaXuxue Feng QUALIFIED
Silvio D DilliardUnited KingdomOnyama Limba UNQUALIFIED
Aditya T PerinCanadaOnyama Limba RENEWAL
Jones P NickaJapanAnna Fali RENEWAL
Nicolas H BriddickIndiaBernardo Dominic PROPOSAL
Aditya N MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair P StensethArgentinaAsiya Javayant QUALIFIED
Murillo Y ButtAustraliaElwin Sharvill UNQUALIFIED
Mujtaba U NickaCanadaBernardo Dominic RENEWAL
Aruna X PerinGermanyAmy Elsner PROPOSAL
Faith Y RulapaughAustraliaStephen Shaw UNQUALIFIED
Emily E PoquetteItalyAmy Elsner NEGOTIATION
Juan T WaycottUnited KingdomAsiya Javayant PROPOSAL
Costa N IturbideCanadaIvan Magalhaes NEGOTIATION
Murillo L BologniaJapanAnna Fali QUALIFIED
Ricardo M CaldareraJapanAmy Elsner PROPOSAL
Kaitlin I WhobreyGermanyElwin Sharvill QUALIFIED
Emily Q WaycottArgentinaAmy Elsner NEGOTIATION
Greenwood R VenereFranceStephen Shaw UNQUALIFIED
Costa M RutaIndiaIoni Bowcher RENEWAL
Maisha D PerinItalyIvan Magalhaes QUALIFIED
Ashley M AmigonRussiaBernardo Dominic UNQUALIFIED
Ivar L DarakjyAustraliaAnna Fali RENEWAL
Darci X DarakjyArgentinaAmy Elsner UNQUALIFIED
Munro Z PaprockiRussiaOnyama Limba RENEWAL
Frozen Columns
Name
Munro Z Saylors
Munro Y Doe
Adams L Venere
Rodrigues H Kusko
Tony Y Ruta
Smith W Vocelka
Alejandro A Maclead
Izzy X Foller
Silvio C Maclead
Jeanfrancois Y Marrier
Silvio K Tollner
Leon H Bowley
Ricardo G Rulapaugh
Tony Z Stockham
Greenwood W Inouye
Ashley J Albares
Wickens Z Rulapaugh
Francesco F Nicka
Salvatore Y Tollner
Leja T Rulapaugh
Faith U Bowley
Nicolas W Malet
Deepesh N Vocelka
Ricardo V Schemmer
Arvin J Poquette
Ricardo W Chui
Francesco H Shinko
Ivar E Figeroa
Jefferson J Malet
Ivar K Poquette
Mujtaba A Flosi
David L Foller
Morrow K Amigon
Alejandro Z Gillian
Julie X Malet
Nicolas F Rulapaugh
Jefferson P Bowley
Nicolas I Slusarski
Octavia H Amigon
Chavez P Caldarera
Julie H Stenseth
Mujtaba K Caudy
Tony Z Kolmetz
Morrow T Maclead
Antonio B Albares
Silvio L Rulapaugh
Johnson D Butt
Izzy S Tollner
David S Schemmer
Mujtaba X Vocelka
IdCountryDate
1000Russia2024-05-24
1001Spain2024-06-21
1002India2024-06-10
1003Japan2024-05-24
1004Brazil2024-06-05
1005France2024-06-03
1006Japan2024-05-28
1007Germany2024-06-07
1008Japan2024-05-31
1009India2024-06-19
1010Canada2024-06-21
1011Brazil2024-06-17
1012India2024-06-16
1013Russia2024-06-20
1014United Kingdom2024-06-03
1015France2024-06-13
1016Russia2024-06-01
1017Canada2024-06-12
1018Brazil2024-06-15
1019Italy2024-06-11
1020Brazil2024-05-24
1021Spain2024-06-12
1022France2024-05-30
1023Australia2024-06-10
1024Germany2024-06-01
1025United Kingdom2024-06-20
1026Brazil2024-06-11
1027Japan2024-05-25
1028Spain2024-05-25
1029Spain2024-06-03
1030Japan2024-06-15
1031Spain2024-06-10
1032Australia2024-06-07
1033Germany2024-06-21
1034France2024-06-06
1035Australia2024-06-11
1036Canada2024-06-18
1037Canada2024-06-13
1038Spain2024-06-19
1039Brazil2024-06-08
1040Brazil2024-05-23
1041Spain2024-06-16
1042Argentina2024-06-08
1043Russia2024-06-01
1044United Kingdom2024-06-02
1045Spain2024-06-05
1046Russia2024-06-19
1047Spain2024-05-25
1048Australia2024-06-19
1049France2024-06-09

On-Demand Data

NameIdCountryDate
Francesco P Glick1000Canada2024-06-14
Sinclair M Stenseth1001Japan2024-05-23
Jeanfrancois B Iturbide1002Canada2024-06-08
Murillo O Foller1003Brazil2024-06-10
Wickens V Kusko1004Argentina2024-06-01
Deepesh Q Nicka1005Italy2024-06-07
Johnson E Gaucho1006Italy2024-06-01
Wickens B Slusarski1007Spain2024-06-06
James M Dilliard1008Japan2024-06-05
Rodrigues U Malet1009Germany2024-06-20
Rodrigues L Schemmer1010India2024-05-31
Isabel D Kolmetz1011Argentina2024-05-27
Aruna E Poquette1012Brazil2024-05-31
Jones F Stenseth1013Japan2024-06-19
Greenwood K Morasca1014United Kingdom2024-06-14
Leja J Stockham1015India2024-06-15
Faith A Schemmer1016Germany2024-05-26
Jeanfrancois X Foller1017Italy2024-06-02
Adams I Glick1018Italy2024-06-17
Francesco W Figeroa1019Russia2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas I FollerJapanStephen Shaw PROPOSAL
David L KolmetzFranceIoni Bowcher RENEWAL
Octavia K WieserBrazilElwin Sharvill RENEWAL
Munro A BologniaCanadaIoni Bowcher PROPOSAL
Wickens H InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Ashley P WaycottCanadaIoni Bowcher RENEWAL
Maria J PoquetteRussiaOnyama Limba QUALIFIED
Francesco I MorascaItalyIvan Magalhaes RENEWAL
Emily Y CaldareraRussiaStephen Shaw QUALIFIED
Murillo D GarufiSpainAmy Elsner NEW
Mujtaba S InouyeBrazilBernardo Dominic UNQUALIFIED
Julie M PaprockiBrazilAnna Fali UNQUALIFIED
Sinclair B MorascaArgentinaElwin Sharvill UNQUALIFIED
Emily M FerenczArgentinaAnna Fali RENEWAL
Ricardo U MorascaItalyBernardo Dominic UNQUALIFIED
Emily V ChuiGermanyStephen Shaw QUALIFIED
Misaki M MaletJapanElwin Sharvill NEW
David W BowleyRussiaXuxue Feng UNQUALIFIED
Smith F AmigonSpainAmy Elsner RENEWAL
Leon J TollnerJapanOnyama Limba PROPOSAL
Arvin Y RutaUnited KingdomAmy Elsner NEW
Antonio L GauchoGermanyAmy Elsner PROPOSAL
Munro O MaletItalyAsiya Javayant PROPOSAL
Francesco R WaycottAustraliaIvan Magalhaes QUALIFIED
Greenwood J BriddickCanadaElwin Sharvill QUALIFIED
Aika B VenereCanadaBernardo Dominic QUALIFIED
James Z NestleUnited KingdomOnyama Limba PROPOSAL
Kaitlin I AmigonCanadaIoni Bowcher UNQUALIFIED
Tony T MaletJapanBernardo Dominic QUALIFIED
Emily P RulapaughItalyBernardo Dominic NEGOTIATION
Mujtaba Z InouyeGermanyElwin Sharvill UNQUALIFIED
Emily G WaycottJapanBernardo Dominic QUALIFIED
Munro D WieserGermanyElwin Sharvill QUALIFIED
Greenwood E NestleAustraliaAnna Fali RENEWAL
Mujtaba I RulapaughGermanyElwin Sharvill QUALIFIED
Jefferson I BologniaArgentinaAsiya Javayant NEGOTIATION
Julie D OstroskyJapanIoni Bowcher PROPOSAL
Jeanfrancois V SergiRussiaOnyama Limba QUALIFIED
James T FollerUnited KingdomIoni Bowcher QUALIFIED
Francesco V SchemmerJapanAnna Fali UNQUALIFIED

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