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
Chavez J DoeUnited KingdomStephen Shaw PROPOSAL
Leon S MaletSpainIvan Magalhaes NEW
Jefferson G DoeCanadaOnyama Limba NEW
Maria U BologniaBrazilAmy Elsner NEW
Cody R SchemmerArgentinaStephen Shaw UNQUALIFIED
Emily Y SchemmerBrazilIvan Magalhaes UNQUALIFIED
Aditya G RulapaughArgentinaAmy Elsner QUALIFIED
Munro S TollnerArgentinaIvan Magalhaes NEGOTIATION
Juan D ButtAustraliaBernardo Dominic QUALIFIED
Jennifer U PaprockiRussiaBernardo Dominic NEGOTIATION
Jefferson E GarufiIndiaXuxue Feng QUALIFIED
Arvin G VocelkaUnited KingdomOnyama Limba NEW
Darci X RutaIndiaXuxue Feng PROPOSAL
Costa B WhobreyArgentinaStephen Shaw UNQUALIFIED
Johnson R RimRussiaOnyama Limba PROPOSAL
Sinclair V FollerUnited KingdomXuxue Feng QUALIFIED
Isabel M ChuiSpainBernardo Dominic UNQUALIFIED
Stacey C VocelkaArgentinaIoni Bowcher NEW
Rodrigues T VenereUnited KingdomXuxue Feng NEGOTIATION
James R IturbideItalyOnyama Limba NEW
Nicolas N IturbideBrazilXuxue Feng NEW
Arvin S KuskoGermanyStephen Shaw QUALIFIED
Deepesh H WieserSpainAnna Fali QUALIFIED
Sinclair R DarakjyCanadaAmy Elsner UNQUALIFIED
Maria A VenereAustraliaXuxue Feng NEGOTIATION
David P DilliardItalyStephen Shaw QUALIFIED
Leja R BologniaBrazilAnna Fali PROPOSAL
Leja V SchemmerSpainStephen Shaw PROPOSAL
Maisha Q FollerIndiaIvan Magalhaes UNQUALIFIED
Emily C RoysterFranceIvan Magalhaes RENEWAL
Maria Y FlosiBrazilIvan Magalhaes PROPOSAL
Leon M RulapaughArgentinaBernardo Dominic PROPOSAL
Wickens R GarufiRussiaAmy Elsner UNQUALIFIED
Deepesh K SchemmerAustraliaXuxue Feng NEGOTIATION
Kaitlin A CaldareraGermanyIvan Magalhaes NEGOTIATION
Antonio M RutaAustraliaElwin Sharvill NEW
Antonio Z RulapaughCanadaAnna Fali RENEWAL
Salvatore G GarufiAustraliaAsiya Javayant RENEWAL
Isabel F InouyeAustraliaStephen Shaw NEW
Murillo X SaylorsGermanyElwin Sharvill UNQUALIFIED
Clifford S SergiJapanIvan Magalhaes NEW
Tony S GarufiArgentinaAmy Elsner NEGOTIATION
Costa R RutaSpainStephen Shaw UNQUALIFIED
Costa G ChuiItalyIoni Bowcher NEGOTIATION
Antonio C MaletRussiaAsiya Javayant RENEWAL
Antonio X IturbideGermanyIvan Magalhaes NEGOTIATION
Morrow U WaycottCanadaAnna Fali PROPOSAL
Wickens E VocelkaCanadaOnyama Limba NEW
Alejandro W NickaIndiaElwin Sharvill QUALIFIED
Chavez Z MaletIndiaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony Z NickaUnited KingdomIvan Magalhaes RENEWAL
Silvio I MorascaCanadaElwin Sharvill QUALIFIED
Darci S BriddickCanadaAnna Fali NEW
Jennifer N SchemmerCanadaIvan Magalhaes NEGOTIATION
Ashley U BologniaSpainElwin Sharvill RENEWAL
Emily G RoysterRussiaXuxue Feng QUALIFIED
Claire C TollnerRussiaElwin Sharvill NEW
Jefferson Y MaletIndiaAsiya Javayant NEW
Aruna S OstroskyJapanBernardo Dominic NEW
Morrow T OstroskySpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams M StensethCanada2025-04-10Feiner Bros UNQUALIFIED47Bernardo Dominic
1001Kaitlin B FollerItaly2025-04-20King, Christopher A Esq QUALIFIED52Amy Elsner
1002Emily S ShinkoArgentina2025-04-28Chanay, Jeffrey A Esq PROPOSAL63Onyama Limba
1003Wickens F VocelkaIndia2025-04-17Benton, John B Jr QUALIFIED93Asiya Javayant
1004Adams G FlosiRussia2025-04-24Printing Dimensions RENEWAL21Anna Fali
1005Antonio G MarrierGermany2025-04-12Morlong Associates UNQUALIFIED36Onyama Limba
1006Clifford Z ChuiRussia2025-04-07Commercial Press QUALIFIED12Amy Elsner
1007Adams S RimJapan2025-04-10Rousseaux, Michael Esq NEGOTIATION16Asiya Javayant
1008Isabel W MacleadFrance2025-04-27King, Christopher A Esq PROPOSAL52Onyama Limba
1009Aditya V SlusarskiBrazil2025-04-07King, Christopher A Esq QUALIFIED63Elwin Sharvill
1010Maria E SaylorsBrazil2025-04-13King, Christopher A Esq QUALIFIED27Bernardo Dominic
1011Jeanfrancois B GarufiAustralia2025-04-21Feltz Printing Service PROPOSAL36Bernardo Dominic
1012Emily G InouyeFrance2025-04-02Buckley Miller Wright UNQUALIFIED66Onyama Limba
1013Stacey W StensethIndia2025-04-07Benton, John B Jr NEGOTIATION84Bernardo Dominic
1014Claire T RimSpain2025-04-01Rangoni Of Florence RENEWAL22Stephen Shaw
1015Cody N OstroskyRussia2025-04-05Feltz Printing Service QUALIFIED96Stephen Shaw
1016Arvin W WaycottBrazil2025-04-29Chapman, Ross E Esq NEGOTIATION31Ivan Magalhaes
1017Kaitlin D MaletIndia2025-03-31Benton, John B Jr NEGOTIATION73Asiya Javayant
1018Maria P MaletGermany2025-04-04Buckley Miller Wright RENEWAL93Elwin Sharvill
1019Octavia M DoeRussia2025-04-04Chapman, Ross E Esq UNQUALIFIED52Asiya Javayant
1020Silvio V GarufiUnited Kingdom2025-04-04Rangoni Of Florence UNQUALIFIED12Ioni Bowcher
1021Kadeem B MaletGermany2025-04-01Feltz Printing Service PROPOSAL55Ivan Magalhaes
1022Isabel P WhobreyRussia2025-04-03Benton, John B Jr RENEWAL68Ivan Magalhaes
1023Ivar L RimAustralia2025-04-07Truhlar And Truhlar Attys QUALIFIED12Onyama Limba
1024Ivar X StensethItaly2025-04-09Buckley Miller Wright QUALIFIED32Asiya Javayant
1025Francesco B WaycottAustralia2025-04-05King, Christopher A Esq PROPOSAL6Ioni Bowcher
1026Nicolas X InouyeRussia2025-04-14Chemel, James L Cpa NEGOTIATION37Bernardo Dominic
1027Cody C WaycottSpain2025-04-24Chemel, James L Cpa NEGOTIATION63Amy Elsner
1028Kadeem P KuskoBrazil2025-04-07Chanay, Jeffrey A Esq QUALIFIED88Ivan Magalhaes
1029Darci M AmigonSpain2025-04-09Benton, John B Jr RENEWAL3Xuxue Feng
1030Octavia Y WhobreyUnited Kingdom2025-04-07Printing Dimensions NEW16Bernardo Dominic
1031Jones D VenereUnited Kingdom2025-04-12Feltz Printing Service NEGOTIATION11Anna Fali
1032Jennifer R SchemmerAustralia2025-04-02Printing Dimensions UNQUALIFIED96Elwin Sharvill
1033Deepesh V FollerJapan2025-04-20Rangoni Of Florence RENEWAL95Elwin Sharvill
1034Izzy X BowleySpain2025-04-17Chapman, Ross E Esq UNQUALIFIED87Elwin Sharvill
1035Greenwood Y KolmetzGermany2025-04-08King, Christopher A Esq NEW83Elwin Sharvill
1036Deepesh D WieserSpain2025-04-10Rousseaux, Michael Esq RENEWAL25Elwin Sharvill
1037Smith O GarufiUnited Kingdom2025-04-27King, Christopher A Esq QUALIFIED14Asiya Javayant
1038Silvio R GarufiCanada2025-04-13Chanay, Jeffrey A Esq RENEWAL55Amy Elsner
1039Kaitlin H SchemmerSpain2025-04-06Feltz Printing Service QUALIFIED85Stephen Shaw
1040Tony C CaudyJapan2025-03-31Rangoni Of Florence QUALIFIED79Anna Fali
1041Kadeem R GarufiJapan2025-04-02Benton, John B Jr PROPOSAL99Anna Fali
1042Octavia Y FerenczUnited Kingdom2025-04-02Morlong Associates UNQUALIFIED93Xuxue Feng
1043Adams S DarakjyAustralia2025-04-24Chapman, Ross E Esq QUALIFIED27Onyama Limba
1044Kaitlin T StockhamGermany2025-04-23Chanay, Jeffrey A Esq NEGOTIATION12Ivan Magalhaes
1045Nicolas E VenereRussia2025-04-18Feltz Printing Service NEGOTIATION74Ioni Bowcher
1046Kaitlin J OstroskyArgentina2025-04-28Rousseaux, Michael Esq NEW0Ioni Bowcher
1047Kadeem P BriddickArgentina2025-04-08Rousseaux, Michael Esq NEW83Onyama Limba
1048Adams S DilliardItaly2025-04-25Chemel, James L Cpa UNQUALIFIED92Xuxue Feng
1049Jeanfrancois B CampainUnited Kingdom2025-04-19Rousseaux, Michael Esq RENEWAL61Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo H DoeFranceBernardo Dominic QUALIFIED
Julie R GillianSpainIoni Bowcher RENEWAL
Sinclair H FlosiRussiaIoni Bowcher UNQUALIFIED
Morrow R SaylorsFranceIvan Magalhaes QUALIFIED
Morrow S FlosiBrazilStephen Shaw UNQUALIFIED
Rodrigues S GillianArgentinaAnna Fali QUALIFIED
Aruna W VenereCanadaAsiya Javayant RENEWAL
Morrow W FigeroaJapanStephen Shaw QUALIFIED
Greenwood R TollnerIndiaIoni Bowcher PROPOSAL
Maria U InouyeUnited KingdomStephen Shaw RENEWAL
Ashley K VenereSpainAnna Fali NEW
Ivar Q GauchoUnited KingdomIoni Bowcher RENEWAL
Alejandro V CaldareraJapanIvan Magalhaes NEGOTIATION
Antonio Z WhobreyArgentinaElwin Sharvill QUALIFIED
Aditya Y GarufiJapanOnyama Limba RENEWAL
Jennifer R BriddickArgentinaAnna Fali UNQUALIFIED
Aika U InouyeCanadaAsiya Javayant RENEWAL
Izzy R RoysterFranceAsiya Javayant PROPOSAL
Clifford C FigeroaArgentinaXuxue Feng NEW
Rodrigues R FlosiItalyAmy Elsner PROPOSAL
Greenwood L KuskoRussiaOnyama Limba PROPOSAL
Arvin H BologniaRussiaIvan Magalhaes NEW
Silvio D BriddickIndiaXuxue Feng PROPOSAL
James W SchemmerUnited KingdomBernardo Dominic NEGOTIATION
James J InouyeBrazilIvan Magalhaes PROPOSAL
Misaki N SlusarskiSpainAsiya Javayant NEGOTIATION
Alejandro I KuskoRussiaAnna Fali QUALIFIED
Darci M BowleyGermanyAnna Fali NEGOTIATION
Wickens T StockhamCanadaIvan Magalhaes NEW
Salvatore I WaycottJapanIoni Bowcher RENEWAL
Ivar S TollnerBrazilStephen Shaw NEGOTIATION
Jefferson M KuskoRussiaBernardo Dominic NEW
Stacey G VocelkaAustraliaOnyama Limba UNQUALIFIED
Emily S NestleRussiaOnyama Limba PROPOSAL
Smith G WhobreyRussiaAmy Elsner NEW
Wickens I FerenczSpainAsiya Javayant QUALIFIED
Juan E SergiJapanOnyama Limba UNQUALIFIED
Deepesh C KolmetzArgentinaIoni Bowcher PROPOSAL
Nicolas U RulapaughArgentinaAmy Elsner UNQUALIFIED
Faith M BologniaSpainOnyama Limba NEGOTIATION
Deepesh Y FigeroaBrazilAsiya Javayant NEGOTIATION
Faith C MacleadAustraliaElwin Sharvill QUALIFIED
Ricardo T SchemmerSpainBernardo Dominic RENEWAL
Aruna P VocelkaSpainIvan Magalhaes RENEWAL
Morrow E VocelkaFranceBernardo Dominic QUALIFIED
Jeanfrancois M PerinFranceAsiya Javayant PROPOSAL
Francesco O KolmetzFranceElwin Sharvill UNQUALIFIED
Aika L BologniaRussiaOnyama Limba NEGOTIATION
Maisha H MacleadGermanyOnyama Limba UNQUALIFIED
Deepesh Y FerenczFranceXuxue Feng RENEWAL
Frozen Columns
Name
Ashley V Iturbide
Misaki O Oldroyd
Alejandro M Albares
Clifford W Slusarski
Adams A Ferencz
James D Malet
Cody Q Ostrosky
Ivar J Ruta
Ricardo H Ruta
Francesco W Chui
Francesco B Malet
Ashley M Saylors
Maisha C Maclead
Jennifer Q Campain
Isabel U Malet
Smith L Iturbide
Jones W Butt
Ricardo O Malet
Rodrigues U Bolognia
Mayumi O Dilliard
Izzy Z Rim
Deepesh G Amigon
Chavez N Nestle
Darci C Kusko
Misaki C Doe
Julie R Tollner
Isabel R Rim
Leja F Poquette
Alejandro Y Albares
Rodrigues S Gillian
Morrow Z Dilliard
Kaitlin O Garufi
Greenwood A Bowley
Silvio E Albares
Antonio C Doe
Mujtaba R Caudy
Adams M Schemmer
Maria F Inouye
Clifford G Ruta
Johnson U Gaucho
Morrow C Marrier
Leja R Caldarera
Salvatore H Ruta
Maria P Kusko
David Z Albares
Faith N Garufi
Munro R Wieser
Aruna U Malet
Murillo H Gaucho
Mayumi B Ostrosky
IdCountryDate
1000Italy2025-04-18
1001Spain2025-04-20
1002Argentina2025-04-20
1003Spain2025-04-09
1004Canada2025-04-11
1005Spain2025-04-23
1006Argentina2025-04-19
1007Brazil2025-04-24
1008Canada2025-04-17
1009India2025-04-12
1010Argentina2025-04-18
1011Argentina2025-04-03
1012Italy2025-04-29
1013Canada2025-04-21
1014United Kingdom2025-04-13
1015Japan2025-04-09
1016United Kingdom2025-04-15
1017France2025-04-29
1018Japan2025-04-24
1019Argentina2025-04-12
1020Argentina2025-04-10
1021India2025-04-10
1022Spain2025-04-26
1023United Kingdom2025-04-14
1024Russia2025-04-17
1025Italy2025-04-21
1026Germany2025-04-12
1027Brazil2025-04-11
1028France2025-04-20
1029Japan2025-04-04
1030Russia2025-04-29
1031Spain2025-04-15
1032Russia2025-04-07
1033Japan2025-04-22
1034Japan2025-04-09
1035Germany2025-04-03
1036Japan2025-04-04
1037Russia2025-04-09
1038Russia2025-04-27
1039United Kingdom2025-04-01
1040Russia2025-04-26
1041Brazil2025-04-06
1042France2025-04-23
1043United Kingdom2025-04-07
1044Spain2025-04-19
1045France2025-03-31
1046Germany2025-04-01
1047Russia2025-04-03
1048Japan2025-04-03
1049Canada2025-04-16

On-Demand Data

NameIdCountryDate
Jones D Maclead1000India2025-04-08
Jeanfrancois G Glick1001Australia2025-04-26
Leon Y Paprocki1002Russia2025-04-07
Emily P Figeroa1003Argentina2025-04-24
James X Garufi1004India2025-04-07
Morrow F Chui1005Spain2025-04-18
Morrow G Stenseth1006France2025-04-24
Izzy W Malet1007Argentina2025-04-08
Mayumi S Ruta1008India2025-04-10
Faith M Glick1009Brazil2025-04-24
Juan R Chui1010Argentina2025-04-14
Nicolas B Paprocki1011Argentina2025-04-11
Tony V Stenseth1012France2025-04-22
Aditya A Slusarski1013Brazil2025-04-06
Sinclair M Ferencz1014India2025-04-14
Claire K Slusarski1015United Kingdom2025-04-21
Ricardo F Butt1016Russia2025-04-17
Mujtaba B Rulapaugh1017Canada2025-04-15
Ivar G Venere1018India2025-04-04
Ricardo F Vocelka1019Spain2025-04-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer D MaletGermanyAmy Elsner RENEWAL
Ricardo P CaudyCanadaIoni Bowcher PROPOSAL
Arvin T StockhamFranceAnna Fali RENEWAL
Octavia E ChuiIndiaElwin Sharvill PROPOSAL
James T GillianBrazilIoni Bowcher NEW
Francesco W TollnerSpainXuxue Feng NEW
Deepesh V MarrierAustraliaAmy Elsner RENEWAL
Silvio C FigeroaArgentinaOnyama Limba NEGOTIATION
David C GillianArgentinaOnyama Limba RENEWAL
Maisha D MaletRussiaOnyama Limba NEW
Ashley C PaprockiJapanElwin Sharvill RENEWAL
Darci F DilliardCanadaAnna Fali RENEWAL
Mujtaba M InouyeItalyAsiya Javayant UNQUALIFIED
Johnson P BowleyAustraliaAsiya Javayant RENEWAL
Murillo A MorascaFranceAmy Elsner PROPOSAL
Jones K MaletJapanStephen Shaw NEGOTIATION
Mayumi N TollnerSpainBernardo Dominic RENEWAL
Maisha A CaldareraFranceAnna Fali UNQUALIFIED
Juan W ButtAustraliaElwin Sharvill QUALIFIED
Adams Y GauchoIndiaBernardo Dominic UNQUALIFIED
Nicolas A BologniaCanadaAmy Elsner NEGOTIATION
Leja U CampainCanadaElwin Sharvill NEGOTIATION
Antonio P NestleArgentinaElwin Sharvill RENEWAL
Arvin W GlickUnited KingdomBernardo Dominic RENEWAL
Alejandro G CaldareraArgentinaBernardo Dominic UNQUALIFIED
Mujtaba G DoeUnited KingdomIvan Magalhaes RENEWAL
Leja V GauchoSpainAmy Elsner QUALIFIED
Octavia G OldroydRussiaStephen Shaw NEGOTIATION
Leon Z ChuiCanadaAsiya Javayant RENEWAL
Sinclair R RulapaughSpainIvan Magalhaes PROPOSAL
Rodrigues Y TollnerCanadaOnyama Limba NEGOTIATION
Jones L NickaGermanyAmy Elsner QUALIFIED
Silvio T WieserBrazilStephen Shaw PROPOSAL
Juan S AmigonArgentinaStephen Shaw UNQUALIFIED
Costa V MaletFranceIoni Bowcher PROPOSAL
Julie R GillianCanadaIvan Magalhaes NEW
Leon S FollerFranceIoni Bowcher NEGOTIATION
Aruna D BriddickUnited KingdomElwin Sharvill NEW
Darci F WhobreyUnited KingdomAsiya Javayant PROPOSAL
Leon F GarufiArgentinaBernardo Dominic PROPOSAL

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