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
Kaitlin C WieserItalyAnna Fali PROPOSAL
Ashley I WaycottBrazilXuxue Feng RENEWAL
Wickens N CaudyItalyAsiya Javayant RENEWAL
Leja C GlickAustraliaStephen Shaw NEW
Aruna Q CampainIndiaAnna Fali PROPOSAL
Mujtaba J VocelkaGermanyXuxue Feng RENEWAL
Antonio N DarakjySpainAsiya Javayant NEGOTIATION
Cody N BologniaSpainAnna Fali UNQUALIFIED
Leon V FlosiArgentinaIoni Bowcher UNQUALIFIED
Sinclair G NestleUnited KingdomXuxue Feng PROPOSAL
Francesco J AlbaresItalyBernardo Dominic NEW
Jones K RutaAustraliaXuxue Feng RENEWAL
Ashley J PerinAustraliaBernardo Dominic NEW
Chavez N RimCanadaElwin Sharvill PROPOSAL
Kaitlin U PaprockiBrazilAsiya Javayant QUALIFIED
Juan L SchemmerFranceElwin Sharvill NEGOTIATION
Ashley I MarrierArgentinaElwin Sharvill PROPOSAL
Isabel K InouyeAustraliaElwin Sharvill NEGOTIATION
Aika Z MorascaCanadaAmy Elsner RENEWAL
Ashley S FigeroaGermanyBernardo Dominic PROPOSAL
Octavia Q AmigonIndiaStephen Shaw RENEWAL
Cody E StockhamBrazilAmy Elsner PROPOSAL
Chavez F SergiRussiaElwin Sharvill NEW
Jeanfrancois J ShinkoUnited KingdomBernardo Dominic QUALIFIED
Tony S CampainSpainAmy Elsner QUALIFIED
Morrow S MacleadRussiaAnna Fali NEGOTIATION
James G ChuiIndiaAmy Elsner UNQUALIFIED
Claire C SergiCanadaBernardo Dominic NEW
Greenwood R WieserJapanAmy Elsner RENEWAL
Antonio Q WaycottRussiaIvan Magalhaes NEW
Julie N OstroskyAustraliaOnyama Limba PROPOSAL
Aika U SchemmerArgentinaXuxue Feng RENEWAL
Wickens Z SlusarskiJapanAmy Elsner QUALIFIED
Adams S OstroskyRussiaAnna Fali NEGOTIATION
Leja H KuskoRussiaBernardo Dominic RENEWAL
Faith S NickaJapanOnyama Limba QUALIFIED
Chavez G SlusarskiSpainBernardo Dominic UNQUALIFIED
Rodrigues H FerenczUnited KingdomElwin Sharvill PROPOSAL
Claire A KuskoArgentinaElwin Sharvill RENEWAL
Clifford C GauchoIndiaXuxue Feng UNQUALIFIED
Claire Q FerenczJapanStephen Shaw NEW
Sinclair C OldroydCanadaOnyama Limba UNQUALIFIED
Johnson X VocelkaIndiaIvan Magalhaes NEGOTIATION
Johnson M KuskoBrazilOnyama Limba UNQUALIFIED
Claire X FigeroaArgentinaXuxue Feng UNQUALIFIED
Smith M RutaAustraliaXuxue Feng NEGOTIATION
Rodrigues M MaletRussiaAmy Elsner PROPOSAL
Isabel Y MaletJapanAmy Elsner PROPOSAL
Julie H FerenczArgentinaIoni Bowcher UNQUALIFIED
Juan L SlusarskiJapanOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Y FigeroaCanadaBernardo Dominic NEW
Misaki J RoysterItalyXuxue Feng NEGOTIATION
Nicolas V SlusarskiFranceXuxue Feng QUALIFIED
Silvio F GauchoRussiaIoni Bowcher QUALIFIED
Wickens N SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Octavia R StensethSpainAmy Elsner QUALIFIED
Ivar I ButtFranceXuxue Feng QUALIFIED
Izzy X StensethUnited KingdomXuxue Feng UNQUALIFIED
Silvio C RulapaughGermanyIoni Bowcher QUALIFIED
Sinclair S DilliardRussiaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro X GillianArgentina2025-06-13Rangoni Of Florence NEW20Xuxue Feng
1001Kadeem C SchemmerArgentina2025-05-25Chapman, Ross E Esq NEW16Elwin Sharvill
1002Munro C WaycottAustralia2025-06-12Buckley Miller Wright RENEWAL52Xuxue Feng
1003Aika A CampainAustralia2025-05-29Rousseaux, Michael Esq NEW81Amy Elsner
1004James X ShinkoRussia2025-06-02Buckley Miller Wright PROPOSAL25Stephen Shaw
1005Misaki P GauchoAustralia2025-05-18Truhlar And Truhlar Attys QUALIFIED56Stephen Shaw
1006Antonio H StockhamRussia2025-05-18Morlong Associates NEGOTIATION4Anna Fali
1007Deepesh Y SergiUnited Kingdom2025-06-01Feiner Bros PROPOSAL50Asiya Javayant
1008Johnson C GauchoGermany2025-06-12Commercial Press QUALIFIED16Stephen Shaw
1009Stacey A NestleAustralia2025-05-19Chapman, Ross E Esq NEGOTIATION7Ioni Bowcher
1010Tony E OldroydCanada2025-06-12Truhlar And Truhlar Attys PROPOSAL41Ivan Magalhaes
1011Johnson H OstroskyItaly2025-06-02Commercial Press UNQUALIFIED69Ioni Bowcher
1012Ricardo W SchemmerGermany2025-05-21Commercial Press QUALIFIED81Ivan Magalhaes
1013Kadeem K PoquetteCanada2025-06-14Benton, John B Jr NEW36Anna Fali
1014Cody P BowleyFrance2025-06-01Benton, John B Jr RENEWAL41Ivan Magalhaes
1015Chavez F OldroydFrance2025-05-23Chapman, Ross E Esq QUALIFIED9Ioni Bowcher
1016Antonio K RoysterFrance2025-05-29King, Christopher A Esq PROPOSAL88Asiya Javayant
1017Adams Q OldroydFrance2025-06-03Benton, John B Jr QUALIFIED69Xuxue Feng
1018Emily J KuskoJapan2025-05-31Commercial Press UNQUALIFIED1Ivan Magalhaes
1019Cody F MaletAustralia2025-05-30Rousseaux, Michael Esq RENEWAL56Bernardo Dominic
1020Kaitlin V NestleUnited Kingdom2025-06-06Feiner Bros QUALIFIED12Asiya Javayant
1021Jones S InouyeItaly2025-06-12Feiner Bros NEW48Amy Elsner
1022Kaitlin A CampainCanada2025-05-18Feiner Bros NEGOTIATION60Ioni Bowcher
1023Misaki J VocelkaGermany2025-06-03Feiner Bros RENEWAL94Bernardo Dominic
1024Faith K FlosiGermany2025-06-14Rousseaux, Michael Esq NEGOTIATION33Elwin Sharvill
1025Jennifer T OldroydRussia2025-05-23Truhlar And Truhlar Attys NEGOTIATION1Anna Fali
1026Kadeem K FigeroaItaly2025-06-06Rousseaux, Michael Esq QUALIFIED21Elwin Sharvill
1027Costa R WaycottUnited Kingdom2025-05-28Benton, John B Jr NEGOTIATION61Onyama Limba
1028Mayumi P StockhamIndia2025-05-28Rangoni Of Florence PROPOSAL61Anna Fali
1029Francesco D PerinArgentina2025-06-04Chapman, Ross E Esq RENEWAL4Onyama Limba
1030Alejandro W WhobreyAustralia2025-06-05Benton, John B Jr NEW11Onyama Limba
1031Isabel U DarakjyRussia2025-05-26Feltz Printing Service NEGOTIATION83Xuxue Feng
1032Antonio B VocelkaFrance2025-06-07Printing Dimensions RENEWAL6Onyama Limba
1033Maisha P MaletGermany2025-05-28Printing Dimensions NEGOTIATION3Asiya Javayant
1034Arvin A BowleyFrance2025-05-29Rangoni Of Florence NEGOTIATION93Amy Elsner
1035Nicolas A MaletFrance2025-05-31Feiner Bros RENEWAL4Bernardo Dominic
1036Juan E DoeSpain2025-06-02Printing Dimensions NEGOTIATION79Amy Elsner
1037Cody Y IturbideRussia2025-05-20Benton, John B Jr PROPOSAL66Bernardo Dominic
1038Kadeem K SchemmerJapan2025-05-20Benton, John B Jr QUALIFIED20Asiya Javayant
1039Ivar Z SchemmerGermany2025-06-04Feltz Printing Service PROPOSAL2Asiya Javayant
1040Rodrigues W WhobreyArgentina2025-06-09Dorl, James J Esq RENEWAL28Amy Elsner
1041Julie F ChuiIndia2025-05-22Feiner Bros PROPOSAL35Anna Fali
1042Mayumi J FerenczSpain2025-05-30Morlong Associates NEGOTIATION86Anna Fali
1043Claire Z MacleadArgentina2025-05-27Morlong Associates PROPOSAL65Xuxue Feng
1044Kadeem W RulapaughJapan2025-05-23Feltz Printing Service UNQUALIFIED13Elwin Sharvill
1045Jeanfrancois V MacleadRussia2025-06-08Buckley Miller Wright QUALIFIED15Xuxue Feng
1046Leja I NestleJapan2025-05-28Printing Dimensions PROPOSAL93Stephen Shaw
1047Cody F VenereUnited Kingdom2025-05-22Feiner Bros NEW95Ivan Magalhaes
1048Antonio M AmigonUnited Kingdom2025-05-31Morlong Associates RENEWAL95Stephen Shaw
1049Claire X IturbideRussia2025-05-19Truhlar And Truhlar Attys NEW94Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Munro N TollnerFranceIoni Bowcher RENEWAL
Ivar I RutaUnited KingdomOnyama Limba NEW
Costa J FollerSpainIvan Magalhaes QUALIFIED
Rodrigues Y DilliardFranceAmy Elsner UNQUALIFIED
Tony Q IturbideGermanyAnna Fali UNQUALIFIED
Leja Q MarrierUnited KingdomXuxue Feng PROPOSAL
Izzy A MorascaJapanBernardo Dominic UNQUALIFIED
Aditya I ChuiCanadaAsiya Javayant NEW
Mayumi N SlusarskiAustraliaAsiya Javayant NEGOTIATION
Costa O MorascaSpainAnna Fali NEGOTIATION
Maria H BriddickUnited KingdomAmy Elsner PROPOSAL
Jones D CaudyCanadaXuxue Feng RENEWAL
Arvin H MaletCanadaIvan Magalhaes UNQUALIFIED
Wickens I MorascaIndiaElwin Sharvill NEGOTIATION
Darci P BologniaGermanyIvan Magalhaes QUALIFIED
Juan P TollnerIndiaStephen Shaw UNQUALIFIED
Kadeem F RimBrazilElwin Sharvill RENEWAL
Smith Y MaletGermanyAsiya Javayant NEW
Murillo T TollnerIndiaElwin Sharvill QUALIFIED
Darci J StensethRussiaAmy Elsner RENEWAL
Jones S AlbaresCanadaStephen Shaw UNQUALIFIED
Francesco O OstroskyAustraliaElwin Sharvill UNQUALIFIED
Silvio Q StockhamIndiaElwin Sharvill NEGOTIATION
Darci K PaprockiSpainStephen Shaw PROPOSAL
David X RoysterFranceIvan Magalhaes RENEWAL
Silvio M IturbideUnited KingdomElwin Sharvill NEGOTIATION
Aruna C FigeroaItalyAmy Elsner UNQUALIFIED
Emily W TollnerArgentinaElwin Sharvill NEGOTIATION
Silvio T BologniaJapanXuxue Feng NEW
Aika O GlickJapanXuxue Feng RENEWAL
Sinclair Q PoquetteJapanIoni Bowcher UNQUALIFIED
Deepesh W AlbaresCanadaIoni Bowcher QUALIFIED
Francesco P GlickUnited KingdomXuxue Feng NEW
Leon L KolmetzFranceOnyama Limba RENEWAL
Jennifer H StockhamRussiaAsiya Javayant NEGOTIATION
David J FerenczArgentinaAsiya Javayant UNQUALIFIED
Sinclair U NestleGermanyAmy Elsner NEW
Deepesh Y RoysterUnited KingdomAnna Fali NEGOTIATION
Octavia B FigeroaCanadaIoni Bowcher NEW
Ivar D KuskoGermanyBernardo Dominic NEGOTIATION
James P FerenczArgentinaIoni Bowcher NEGOTIATION
Antonio I FigeroaJapanIoni Bowcher RENEWAL
Antonio U NickaBrazilIoni Bowcher NEW
Costa B DoeUnited KingdomAnna Fali QUALIFIED
Julie U PerinCanadaBernardo Dominic QUALIFIED
Sinclair R AmigonUnited KingdomStephen Shaw NEGOTIATION
Maisha M ButtJapanBernardo Dominic RENEWAL
Darci D FlosiItalyIvan Magalhaes RENEWAL
Isabel H GauchoGermanyXuxue Feng NEGOTIATION
Wickens Y ChuiUnited KingdomIvan Magalhaes QUALIFIED
Frozen Columns
Name
Julie U Foller
Jones S Iturbide
Francesco N Oldroyd
Claire S Poquette
Kadeem V Chui
Nicolas W Bolognia
Kadeem M Malet
Jefferson W Iturbide
Clifford B Kolmetz
Misaki V Poquette
Arvin U Schemmer
Ivar Y Darakjy
Darci R Wieser
Maria P Gillian
Johnson P Caudy
Isabel F Foller
Adams I Inouye
Emily L Chui
Smith N Nicka
Jeanfrancois C Garufi
Izzy W Darakjy
Morrow H Albares
Misaki E Ferencz
Darci Z Ostrosky
Salvatore F Briddick
Misaki P Ruta
Darci Q Marrier
Ricardo A Inouye
Tony U Shinko
Ricardo O Bowley
Tony X Morasca
Chavez W Kolmetz
Ivar S Albares
Silvio O Vocelka
Rodrigues G Briddick
Smith Z Ferencz
Arvin U Whobrey
Leja Z Rulapaugh
Jeanfrancois P Schemmer
Leon K Paprocki
Ivar D Gaucho
Jennifer W Rulapaugh
Jefferson X Amigon
Sinclair A Foller
Costa G Malet
Isabel X Kolmetz
Isabel Z Oldroyd
James W Perin
Mayumi S Figeroa
Morrow S Saylors
IdCountryDate
1000Canada2025-05-25
1001Japan2025-06-06
1002United Kingdom2025-05-16
1003Japan2025-05-28
1004United Kingdom2025-06-10
1005Italy2025-06-09
1006Argentina2025-05-25
1007Russia2025-05-30
1008Argentina2025-05-29
1009Italy2025-06-04
1010Russia2025-05-19
1011Italy2025-05-25
1012India2025-06-04
1013Australia2025-06-07
1014Italy2025-05-25
1015India2025-06-01
1016United Kingdom2025-05-16
1017Russia2025-05-26
1018United Kingdom2025-06-02
1019United Kingdom2025-06-12
1020India2025-05-17
1021Italy2025-05-30
1022Canada2025-05-22
1023India2025-05-30
1024Australia2025-05-17
1025Italy2025-05-21
1026Russia2025-05-31
1027Russia2025-05-16
1028France2025-05-30
1029Brazil2025-06-08
1030Italy2025-06-02
1031Canada2025-05-18
1032France2025-06-07
1033Spain2025-05-21
1034Argentina2025-05-24
1035Canada2025-05-28
1036Spain2025-05-18
1037Spain2025-05-26
1038Canada2025-06-05
1039Australia2025-05-20
1040Italy2025-06-01
1041Russia2025-06-06
1042Russia2025-05-19
1043Brazil2025-05-28
1044Russia2025-05-27
1045Canada2025-06-09
1046Australia2025-05-17
1047Australia2025-05-21
1048France2025-06-14
1049France2025-06-13

On-Demand Data

NameIdCountryDate
Ashley S Dilliard1000France2025-06-05
Francesco J Rim1001United Kingdom2025-06-12
Rodrigues T Caudy1002India2025-05-24
Jefferson U Malet1003Germany2025-05-22
Maria M Venere1004Australia2025-05-18
Silvio W Nicka1005Brazil2025-06-01
Jones X Royster1006Argentina2025-05-22
Izzy S Doe1007France2025-06-12
Wickens M Rim1008Australia2025-05-25
Deepesh O Perin1009Australia2025-06-08
Jeanfrancois C Malet1010Japan2025-06-05
Silvio R Vocelka1011Argentina2025-06-11
Stacey O Darakjy1012Russia2025-06-14
Cody O Oldroyd1013Canada2025-06-05
Tony J Gillian1014Italy2025-06-12
Tony H Butt1015United Kingdom2025-06-12
Aditya Q Wieser1016Australia2025-05-29
Nicolas L Vocelka1017Italy2025-06-12
Adams U Malet1018Germany2025-06-03
Cody S Albares1019Russia2025-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith H RulapaughCanadaStephen Shaw UNQUALIFIED
Sinclair B SergiFranceIoni Bowcher RENEWAL
Clifford D GlickGermanyBernardo Dominic UNQUALIFIED
Aruna U MacleadAustraliaAmy Elsner RENEWAL
Ivar X KolmetzArgentinaIvan Magalhaes PROPOSAL
Deepesh W StockhamAustraliaBernardo Dominic UNQUALIFIED
Mujtaba L CampainUnited KingdomXuxue Feng NEW
Adams T SergiFranceAmy Elsner PROPOSAL
Alejandro M AlbaresSpainBernardo Dominic QUALIFIED
Faith G KuskoGermanyAnna Fali RENEWAL
Stacey B DoeGermanyBernardo Dominic NEW
Smith N FollerJapanStephen Shaw PROPOSAL
Mujtaba E FollerSpainIvan Magalhaes NEGOTIATION
Aditya D WaycottCanadaBernardo Dominic PROPOSAL
Juan S NickaJapanElwin Sharvill NEGOTIATION
Izzy B MaletArgentinaIoni Bowcher UNQUALIFIED
Jones E SaylorsRussiaOnyama Limba QUALIFIED
Leon V NestleAustraliaIvan Magalhaes RENEWAL
Francesco X RimAustraliaElwin Sharvill PROPOSAL
Rodrigues U WhobreyJapanIvan Magalhaes UNQUALIFIED
Sinclair Q StensethFranceAsiya Javayant NEW
Rodrigues M StensethGermanyAnna Fali RENEWAL
Ashley T FerenczIndiaElwin Sharvill PROPOSAL
Claire D RoysterCanadaXuxue Feng NEW
Maisha C DoeCanadaBernardo Dominic QUALIFIED
Jones A VenereArgentinaAsiya Javayant UNQUALIFIED
Octavia Y ChuiAustraliaIoni Bowcher UNQUALIFIED
Antonio X DilliardArgentinaXuxue Feng NEW
Stacey Y SergiUnited KingdomIvan Magalhaes RENEWAL
Maria W SaylorsFranceAmy Elsner NEGOTIATION
Munro V CaudyAustraliaOnyama Limba QUALIFIED
Tony J MaletAustraliaAnna Fali NEW
Alejandro E FollerFranceXuxue Feng NEGOTIATION
Murillo N SergiCanadaAmy Elsner NEGOTIATION
Clifford O DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Octavia K WaycottArgentinaAsiya Javayant NEW
Julie V NickaAustraliaAnna Fali QUALIFIED
Morrow A BriddickIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois V SchemmerGermanyIvan Magalhaes NEW
Octavia H KuskoUnited KingdomStephen Shaw NEW

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