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
Jennifer X MacleadGermanyAsiya Javayant PROPOSAL
Jefferson R ButtCanadaAmy Elsner NEGOTIATION
Isabel C RoysterUnited KingdomBernardo Dominic UNQUALIFIED
Claire S MaletBrazilXuxue Feng PROPOSAL
Deepesh G TollnerGermanyXuxue Feng PROPOSAL
Kaitlin W PaprockiSpainBernardo Dominic UNQUALIFIED
Silvio B OstroskyIndiaIoni Bowcher NEGOTIATION
Maisha P CaldareraBrazilXuxue Feng NEW
Claire A RoysterRussiaIvan Magalhaes QUALIFIED
Emily M StockhamUnited KingdomBernardo Dominic NEGOTIATION
Cody G KolmetzIndiaIvan Magalhaes RENEWAL
Leja Q FigeroaGermanyXuxue Feng PROPOSAL
Darci G FigeroaArgentinaBernardo Dominic NEGOTIATION
Salvatore I RulapaughItalyBernardo Dominic RENEWAL
Maisha S FigeroaItalyAnna Fali PROPOSAL
Misaki L FollerJapanStephen Shaw PROPOSAL
Leon O GauchoRussiaIoni Bowcher NEGOTIATION
Costa F FerenczFranceAmy Elsner PROPOSAL
Aditya M PerinCanadaAmy Elsner PROPOSAL
Jennifer E PerinSpainStephen Shaw QUALIFIED
Francesco Q PaprockiUnited KingdomXuxue Feng NEGOTIATION
Smith Z InouyeItalyElwin Sharvill QUALIFIED
Jefferson V VenereCanadaElwin Sharvill PROPOSAL
Misaki R SaylorsFranceIoni Bowcher QUALIFIED
Smith U RulapaughBrazilIoni Bowcher UNQUALIFIED
Emily J MorascaJapanOnyama Limba NEGOTIATION
Wickens A StensethRussiaAmy Elsner QUALIFIED
Mujtaba E WhobreyJapanAmy Elsner NEW
Maria L CampainCanadaOnyama Limba QUALIFIED
Alejandro X KolmetzCanadaElwin Sharvill QUALIFIED
Mayumi T MacleadJapanElwin Sharvill PROPOSAL
Juan W NickaSpainOnyama Limba RENEWAL
Emily M FerenczCanadaOnyama Limba NEGOTIATION
Salvatore W FlosiSpainAmy Elsner PROPOSAL
Maisha N FlosiItalyStephen Shaw UNQUALIFIED
Aruna D MacleadArgentinaIoni Bowcher NEGOTIATION
Julie S ButtBrazilAsiya Javayant QUALIFIED
Francesco S KolmetzRussiaElwin Sharvill QUALIFIED
Aditya Q GarufiFranceAnna Fali NEW
Antonio W AmigonRussiaAmy Elsner QUALIFIED
Kaitlin U RimUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois E AmigonGermanyAsiya Javayant QUALIFIED
Misaki L FollerCanadaAmy Elsner PROPOSAL
Julie Y CampainArgentinaAmy Elsner PROPOSAL
Ashley Y SlusarskiRussiaXuxue Feng PROPOSAL
Tony B StockhamRussiaElwin Sharvill RENEWAL
Wickens S ShinkoArgentinaAnna Fali PROPOSAL
Aruna J RulapaughCanadaElwin Sharvill QUALIFIED
Claire N StockhamSpainIoni Bowcher RENEWAL
David W NestleCanadaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa P NestleArgentinaIvan Magalhaes PROPOSAL
Salvatore X BriddickItalyIoni Bowcher UNQUALIFIED
Aruna H RulapaughAustraliaOnyama Limba NEW
Tony C CaldareraUnited KingdomAnna Fali PROPOSAL
Izzy N AmigonIndiaIvan Magalhaes PROPOSAL
Deepesh G NestleJapanIvan Magalhaes PROPOSAL
Ivar V BologniaGermanyIvan Magalhaes RENEWAL
Aditya C StensethGermanyAmy Elsner NEGOTIATION
Chavez L StensethArgentinaStephen Shaw PROPOSAL
Julie A ButtArgentinaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin S GillianUnited Kingdom2024-06-21Chemel, James L Cpa NEGOTIATION76Xuxue Feng
1001Ashley K AmigonJapan2024-06-18Chapman, Ross E Esq PROPOSAL13Asiya Javayant
1002Izzy F SaylorsSpain2024-05-31Commercial Press PROPOSAL40Bernardo Dominic
1003Faith F WhobreyIndia2024-06-12King, Christopher A Esq QUALIFIED6Ivan Magalhaes
1004Wickens N KuskoRussia2024-06-07Chapman, Ross E Esq NEGOTIATION63Ivan Magalhaes
1005Leon F BowleyBrazil2024-06-06Rangoni Of Florence NEGOTIATION18Amy Elsner
1006Faith F SlusarskiIndia2024-05-28King, Christopher A Esq RENEWAL12Xuxue Feng
1007Maisha D FigeroaFrance2024-06-14King, Christopher A Esq NEW47Anna Fali
1008Morrow F RimSpain2024-05-28Buckley Miller Wright UNQUALIFIED88Asiya Javayant
1009Leja K RimAustralia2024-06-01Feltz Printing Service NEGOTIATION6Ioni Bowcher
1010Jefferson S GarufiBrazil2024-06-11Rangoni Of Florence PROPOSAL76Stephen Shaw
1011Kaitlin M PoquetteGermany2024-05-25Commercial Press QUALIFIED23Bernardo Dominic
1012Aruna Z DoeArgentina2024-06-11Chemel, James L Cpa RENEWAL81Ivan Magalhaes
1013Silvio N DilliardCanada2024-06-20Benton, John B Jr NEGOTIATION45Stephen Shaw
1014Darci J WhobreyIndia2024-06-17Feiner Bros UNQUALIFIED26Bernardo Dominic
1015Julie I OldroydArgentina2024-06-16Feltz Printing Service NEW17Ivan Magalhaes
1016Leon N PoquetteArgentina2024-06-13Rousseaux, Michael Esq RENEWAL23Asiya Javayant
1017Aditya C SergiRussia2024-06-08Chapman, Ross E Esq QUALIFIED40Xuxue Feng
1018David P MarrierArgentina2024-06-19Rangoni Of Florence NEW58Stephen Shaw
1019Antonio X SergiBrazil2024-05-28Buckley Miller Wright UNQUALIFIED77Asiya Javayant
1020Leja V SchemmerFrance2024-06-03Morlong Associates PROPOSAL17Ioni Bowcher
1021Kadeem B VocelkaBrazil2024-06-03Truhlar And Truhlar Attys NEGOTIATION37Asiya Javayant
1022Jeanfrancois Q SchemmerBrazil2024-06-11Dorl, James J Esq PROPOSAL43Asiya Javayant
1023Adams E RutaArgentina2024-06-01Buckley Miller Wright RENEWAL66Elwin Sharvill
1024Silvio E BowleyArgentina2024-05-29Benton, John B Jr RENEWAL96Onyama Limba
1025Aditya Q ChuiGermany2024-05-26Truhlar And Truhlar Attys UNQUALIFIED19Ivan Magalhaes
1026Faith K AmigonArgentina2024-05-30Printing Dimensions UNQUALIFIED86Xuxue Feng
1027Clifford F GlickRussia2024-05-30Chapman, Ross E Esq RENEWAL21Stephen Shaw
1028Jeanfrancois M OstroskySpain2024-05-25Truhlar And Truhlar Attys UNQUALIFIED58Bernardo Dominic
1029Deepesh V SaylorsJapan2024-06-16Buckley Miller Wright UNQUALIFIED28Stephen Shaw
1030Cody Q MaletAustralia2024-05-26Chemel, James L Cpa RENEWAL6Onyama Limba
1031Johnson B VocelkaFrance2024-06-14Dorl, James J Esq UNQUALIFIED86Anna Fali
1032Antonio Q AlbaresFrance2024-06-06Morlong Associates NEW32Ivan Magalhaes
1033Chavez E FollerRussia2024-05-26Rangoni Of Florence NEGOTIATION59Stephen Shaw
1034Smith X GlickRussia2024-06-20Chanay, Jeffrey A Esq NEGOTIATION64Onyama Limba
1035Julie T BowleyAustralia2024-06-04Chemel, James L Cpa NEGOTIATION65Stephen Shaw
1036Arvin H CaldareraGermany2024-06-16Chemel, James L Cpa QUALIFIED54Onyama Limba
1037Kaitlin M SaylorsIndia2024-06-22Feltz Printing Service RENEWAL61Amy Elsner
1038Jefferson B GillianItaly2024-06-15Chemel, James L Cpa PROPOSAL38Anna Fali
1039Emily H TollnerJapan2024-06-05Commercial Press RENEWAL91Ivan Magalhaes
1040Aika E GauchoAustralia2024-05-30King, Christopher A Esq UNQUALIFIED16Xuxue Feng
1041Arvin B TollnerUnited Kingdom2024-05-24Rangoni Of Florence QUALIFIED42Anna Fali
1042Leon A MaletCanada2024-06-10King, Christopher A Esq NEW9Stephen Shaw
1043Julie H ButtRussia2024-06-02Morlong Associates QUALIFIED9Anna Fali
1044Misaki W DilliardGermany2024-05-29Chapman, Ross E Esq UNQUALIFIED60Onyama Limba
1045Rodrigues C KuskoSpain2024-06-11Printing Dimensions NEGOTIATION59Onyama Limba
1046Octavia R BowleyItaly2024-06-21Printing Dimensions QUALIFIED67Anna Fali
1047Sinclair C RulapaughAustralia2024-06-06Benton, John B Jr RENEWAL48Bernardo Dominic
1048Jones O PaprockiRussia2024-06-22Printing Dimensions NEGOTIATION4Onyama Limba
1049Aika B ShinkoSpain2024-05-30Morlong Associates QUALIFIED57Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aruna H SlusarskiBrazilIoni Bowcher PROPOSAL
Jeanfrancois B CaldareraFranceAsiya Javayant UNQUALIFIED
Aika Q VocelkaIndiaAnna Fali NEW
Izzy E FlosiFranceStephen Shaw UNQUALIFIED
Silvio G CampainCanadaAmy Elsner RENEWAL
Cody Q FerenczGermanyAmy Elsner RENEWAL
Isabel F OstroskyGermanyAsiya Javayant RENEWAL
Rodrigues J DarakjyUnited KingdomAnna Fali NEGOTIATION
Juan X DilliardAustraliaXuxue Feng RENEWAL
Faith Z PerinFranceStephen Shaw NEW
Juan Y SaylorsItalyOnyama Limba PROPOSAL
Clifford D IturbideItalyIvan Magalhaes RENEWAL
Leja G MorascaUnited KingdomElwin Sharvill PROPOSAL
Claire D WaycottAustraliaIoni Bowcher QUALIFIED
Aruna N GillianSpainElwin Sharvill RENEWAL
Aika E RulapaughFranceAnna Fali UNQUALIFIED
Murillo U PaprockiCanadaBernardo Dominic UNQUALIFIED
Aika Z StockhamFranceAsiya Javayant NEGOTIATION
Kaitlin U RutaBrazilStephen Shaw UNQUALIFIED
Jefferson E MacleadAustraliaAmy Elsner QUALIFIED
Clifford D MarrierRussiaBernardo Dominic RENEWAL
Mayumi G FollerUnited KingdomIoni Bowcher NEGOTIATION
Nicolas X BowleySpainOnyama Limba UNQUALIFIED
Alejandro E FigeroaItalyAsiya Javayant RENEWAL
Chavez P IturbideJapanOnyama Limba NEW
Faith S PerinArgentinaAnna Fali UNQUALIFIED
Jeanfrancois I SchemmerItalyBernardo Dominic NEW
Jefferson P TollnerSpainStephen Shaw PROPOSAL
Murillo X PaprockiJapanIoni Bowcher NEGOTIATION
Chavez K SergiArgentinaAsiya Javayant QUALIFIED
Darci P CaudySpainAsiya Javayant QUALIFIED
Nicolas M ShinkoAustraliaOnyama Limba QUALIFIED
Jefferson X DilliardGermanyAsiya Javayant UNQUALIFIED
Francesco U RulapaughBrazilAsiya Javayant UNQUALIFIED
Kaitlin A InouyeSpainBernardo Dominic RENEWAL
Jennifer Z ButtAustraliaXuxue Feng NEGOTIATION
Jefferson N KolmetzCanadaIvan Magalhaes RENEWAL
Misaki P InouyeCanadaStephen Shaw RENEWAL
Deepesh T WaycottBrazilIoni Bowcher QUALIFIED
Faith T MarrierAustraliaAsiya Javayant QUALIFIED
Octavia B VocelkaBrazilElwin Sharvill RENEWAL
Faith W VenereGermanyBernardo Dominic NEW
Darci J PaprockiGermanyStephen Shaw QUALIFIED
Jefferson J AlbaresSpainAsiya Javayant UNQUALIFIED
Isabel E FollerGermanyAnna Fali QUALIFIED
Sinclair Z SchemmerItalyAsiya Javayant UNQUALIFIED
Faith R RimAustraliaOnyama Limba NEW
Maisha K ShinkoItalyAnna Fali RENEWAL
Wickens J DarakjyIndiaAnna Fali QUALIFIED
Antonio J ShinkoBrazilElwin Sharvill NEGOTIATION
Frozen Columns
Name
Francesco Y Schemmer
David D Stockham
Jeanfrancois P Garufi
Costa V Morasca
Maisha Z Schemmer
Ricardo G Oldroyd
Faith H Iturbide
Chavez F Inouye
Costa O Stockham
Stacey A Nicka
Leon J Gillian
Ricardo M Saylors
Chavez W Amigon
Alejandro Q Paprocki
James Y Rulapaugh
Aika K Ostrosky
Rodrigues Q Paprocki
Nicolas Y Gaucho
Antonio G Foller
Jennifer W Inouye
Maria P Malet
Ricardo Z Gillian
Smith M Nestle
Mayumi A Slusarski
Ricardo M Nicka
Ricardo J Vocelka
Juan U Shinko
Maisha F Dilliard
Maisha O Campain
Nicolas F Rulapaugh
Mujtaba Q Kusko
Izzy G Malet
Nicolas P Bolognia
Clifford D Perin
Nicolas U Gaucho
Faith M Butt
Misaki D Paprocki
Misaki K Bolognia
Antonio J Kolmetz
Darci Y Marrier
Ivar C Caudy
Stacey C Shinko
James W Glick
Alejandro M Butt
Mujtaba V Poquette
Mayumi L Malet
Sinclair C Nicka
Jones A Garufi
Francesco D Nicka
Aika Q Albares
IdCountryDate
1000Russia2024-05-30
1001United Kingdom2024-05-26
1002Japan2024-06-14
1003Germany2024-06-09
1004Canada2024-06-11
1005India2024-06-11
1006Italy2024-06-08
1007Canada2024-05-28
1008France2024-06-12
1009Canada2024-06-10
1010Argentina2024-06-13
1011Canada2024-06-04
1012Germany2024-06-14
1013France2024-06-10
1014Italy2024-06-07
1015France2024-06-20
1016Canada2024-06-21
1017France2024-06-12
1018Canada2024-05-25
1019Italy2024-06-21
1020United Kingdom2024-06-07
1021Australia2024-06-15
1022Brazil2024-05-26
1023Japan2024-06-08
1024Italy2024-06-21
1025Germany2024-05-28
1026France2024-06-08
1027Japan2024-06-20
1028Australia2024-06-06
1029United Kingdom2024-06-05
1030Argentina2024-05-30
1031France2024-05-29
1032India2024-05-29
1033United Kingdom2024-06-05
1034Canada2024-05-27
1035Spain2024-05-24
1036Italy2024-05-27
1037Germany2024-06-16
1038Russia2024-05-24
1039Italy2024-05-25
1040Japan2024-06-21
1041Brazil2024-06-17
1042Canada2024-06-14
1043Germany2024-05-24
1044India2024-06-11
1045India2024-05-27
1046Spain2024-06-05
1047United Kingdom2024-06-19
1048France2024-06-07
1049Brazil2024-06-21

On-Demand Data

NameIdCountryDate
Jefferson N Marrier1000Canada2024-06-07
Mujtaba R Rim1001Argentina2024-06-12
Rodrigues K Foller1002Russia2024-06-03
Jennifer K Stockham1003Russia2024-05-30
Greenwood S Gaucho1004Japan2024-06-08
Nicolas I Caudy1005Australia2024-06-14
Adams Q Marrier1006Australia2024-06-14
Sinclair V Butt1007Japan2024-05-24
Francesco E Garufi1008France2024-06-01
Ashley N Campain1009France2024-06-02
James O Morasca1010Brazil2024-06-12
Tony X Oldroyd1011Brazil2024-06-13
Jefferson X Gillian1012Australia2024-06-10
Claire R Sergi1013Spain2024-06-01
Clifford Q Ruta1014France2024-06-14
Mujtaba G Waycott1015France2024-06-19
Leja S Stockham1016Japan2024-06-13
Darci U Amigon1017France2024-06-17
Murillo G Whobrey1018Australia2024-05-26
Aruna J Rulapaugh1019Italy2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio O InouyeSpainBernardo Dominic UNQUALIFIED
Silvio X PaprockiAustraliaAmy Elsner NEW
Jeanfrancois X WaycottBrazilBernardo Dominic UNQUALIFIED
Mayumi A WieserCanadaAmy Elsner NEGOTIATION
Jennifer G MarrierArgentinaOnyama Limba NEW
Wickens X KolmetzArgentinaXuxue Feng UNQUALIFIED
Maria M MorascaAustraliaBernardo Dominic UNQUALIFIED
Izzy P MacleadItalyAnna Fali PROPOSAL
Aditya A GlickIndiaElwin Sharvill NEW
Maisha F DarakjyFranceOnyama Limba NEGOTIATION
Cody S VocelkaGermanyBernardo Dominic PROPOSAL
Rodrigues I NickaArgentinaAsiya Javayant NEW
Aditya V StockhamRussiaAsiya Javayant PROPOSAL
Mujtaba V RoysterIndiaOnyama Limba PROPOSAL
Francesco A KolmetzFranceBernardo Dominic RENEWAL
Misaki E StockhamUnited KingdomIoni Bowcher PROPOSAL
Munro P VenereUnited KingdomAnna Fali NEGOTIATION
Antonio K NestleCanadaStephen Shaw NEGOTIATION
David A StensethRussiaAmy Elsner NEGOTIATION
Ivar R FollerAustraliaBernardo Dominic NEW
Faith B CaldareraSpainAmy Elsner QUALIFIED
Isabel Z VocelkaRussiaOnyama Limba NEW
Darci E VocelkaRussiaXuxue Feng UNQUALIFIED
Aditya W ShinkoItalyIvan Magalhaes RENEWAL
Jennifer G MaletCanadaIvan Magalhaes NEW
Aditya X DoeItalyIvan Magalhaes PROPOSAL
Ivar L ChuiItalyBernardo Dominic PROPOSAL
Deepesh W SergiJapanAnna Fali NEW
Nicolas M WieserItalyXuxue Feng UNQUALIFIED
Isabel H DilliardItalyAmy Elsner PROPOSAL
Octavia I MacleadIndiaXuxue Feng RENEWAL
Izzy L WieserUnited KingdomIvan Magalhaes NEW
Julie O InouyeRussiaStephen Shaw UNQUALIFIED
Ashley G BologniaIndiaStephen Shaw PROPOSAL
Emily I VenereIndiaAsiya Javayant RENEWAL
Claire G RulapaughJapanBernardo Dominic QUALIFIED
Maisha V MaletAustraliaElwin Sharvill QUALIFIED
Tony W GarufiJapanOnyama Limba NEGOTIATION
Greenwood P InouyeAustraliaElwin Sharvill QUALIFIED
Emily R CaldareraCanadaOnyama Limba 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>