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
Misaki Z CampainArgentinaAnna Fali UNQUALIFIED
Sinclair K WhobreyFranceAnna Fali NEW
Johnson A RutaFranceAmy Elsner UNQUALIFIED
Tony D PerinAustraliaXuxue Feng RENEWAL
David R SergiCanadaAmy Elsner QUALIFIED
Salvatore H MaletFranceIvan Magalhaes QUALIFIED
David D PoquetteCanadaAsiya Javayant NEW
Murillo G GlickIndiaElwin Sharvill QUALIFIED
Clifford S InouyeSpainIvan Magalhaes NEW
Ivar Y InouyeArgentinaBernardo Dominic RENEWAL
Faith J CaldareraBrazilIvan Magalhaes RENEWAL
Octavia P MorascaJapanOnyama Limba UNQUALIFIED
Jennifer N IturbideArgentinaAnna Fali UNQUALIFIED
Kadeem Y BowleyUnited KingdomIvan Magalhaes QUALIFIED
Munro N MarrierArgentinaAmy Elsner UNQUALIFIED
Mayumi U SaylorsGermanyElwin Sharvill NEGOTIATION
Tony Z MaletSpainIoni Bowcher NEGOTIATION
Murillo R VenereIndiaXuxue Feng UNQUALIFIED
Mayumi J OstroskyCanadaBernardo Dominic NEW
Ivar B BologniaItalyIvan Magalhaes UNQUALIFIED
James C FigeroaRussiaOnyama Limba QUALIFIED
Isabel T ChuiIndiaAnna Fali RENEWAL
Clifford K CaldareraCanadaIvan Magalhaes PROPOSAL
Silvio P PerinGermanyIoni Bowcher PROPOSAL
Faith H SergiArgentinaIvan Magalhaes RENEWAL
Nicolas B RoysterCanadaOnyama Limba RENEWAL
Wickens Q NestleArgentinaElwin Sharvill NEGOTIATION
Arvin I WhobreyRussiaOnyama Limba RENEWAL
Francesco K VocelkaBrazilStephen Shaw UNQUALIFIED
Francesco U StensethGermanyAmy Elsner NEGOTIATION
Arvin A TollnerCanadaIoni Bowcher QUALIFIED
Ivar I RoysterArgentinaXuxue Feng UNQUALIFIED
Jefferson W NickaJapanAsiya Javayant NEGOTIATION
Kaitlin G BologniaItalyOnyama Limba UNQUALIFIED
Leja Z GlickArgentinaElwin Sharvill PROPOSAL
Mujtaba Q WaycottSpainAmy Elsner PROPOSAL
Johnson U GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Chavez Q GlickUnited KingdomAmy Elsner NEGOTIATION
Silvio A ChuiFranceBernardo Dominic RENEWAL
Jennifer H BologniaArgentinaAsiya Javayant PROPOSAL
Misaki T AlbaresAustraliaAmy Elsner UNQUALIFIED
Murillo M ChuiIndiaOnyama Limba PROPOSAL
Leja V PoquetteCanadaIoni Bowcher RENEWAL
Jones R WaycottArgentinaAmy Elsner NEGOTIATION
Arvin Z InouyeIndiaStephen Shaw RENEWAL
Morrow K KuskoGermanyElwin Sharvill PROPOSAL
Mujtaba S OldroydArgentinaIvan Magalhaes RENEWAL
Salvatore I ChuiBrazilAmy Elsner QUALIFIED
Alejandro A CampainIndiaIoni Bowcher RENEWAL
Sinclair B VocelkaIndiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa R SergiRussiaStephen Shaw PROPOSAL
Silvio Q BowleyAustraliaOnyama Limba RENEWAL
Silvio M MorascaGermanyBernardo Dominic PROPOSAL
Mayumi M MaletFranceIvan Magalhaes UNQUALIFIED
Jones X RulapaughJapanStephen Shaw UNQUALIFIED
Leja Z DarakjyIndiaElwin Sharvill UNQUALIFIED
Darci K WieserSpainAmy Elsner NEW
Tony G TollnerJapanAnna Fali QUALIFIED
Jeanfrancois R CaldareraSpainXuxue Feng RENEWAL
Murillo M WhobreyJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi E RutaJapan2024-06-07Dorl, James J Esq RENEWAL81Amy Elsner
1001Salvatore E NickaUnited Kingdom2024-06-13Buckley Miller Wright UNQUALIFIED31Ivan Magalhaes
1002Clifford L RoysterFrance2024-06-09Chanay, Jeffrey A Esq NEW49Asiya Javayant
1003Jones Q StensethSpain2024-05-28Feltz Printing Service NEGOTIATION64Bernardo Dominic
1004Morrow W GlickFrance2024-06-15Morlong Associates NEGOTIATION99Elwin Sharvill
1005Claire G StockhamArgentina2024-06-01Chapman, Ross E Esq NEW15Amy Elsner
1006Aruna V WieserGermany2024-06-13Benton, John B Jr QUALIFIED15Ivan Magalhaes
1007Johnson M FollerItaly2024-06-15Rangoni Of Florence PROPOSAL65Xuxue Feng
1008Deepesh I CampainGermany2024-06-17Dorl, James J Esq PROPOSAL77Asiya Javayant
1009Tony I AlbaresIndia2024-06-09King, Christopher A Esq PROPOSAL71Asiya Javayant
1010Octavia V DilliardUnited Kingdom2024-06-06Chanay, Jeffrey A Esq RENEWAL2Stephen Shaw
1011Chavez R BologniaIndia2024-05-31Dorl, James J Esq QUALIFIED75Anna Fali
1012Jones G AlbaresArgentina2024-06-02Feiner Bros NEW71Amy Elsner
1013James V GauchoCanada2024-05-23Buckley Miller Wright RENEWAL33Xuxue Feng
1014Misaki L WhobreyRussia2024-05-27King, Christopher A Esq QUALIFIED91Xuxue Feng
1015Emily F GauchoArgentina2024-06-01Chemel, James L Cpa PROPOSAL82Bernardo Dominic
1016Clifford M NickaJapan2024-06-14Rousseaux, Michael Esq UNQUALIFIED75Xuxue Feng
1017Ivar E VenereGermany2024-06-18Dorl, James J Esq NEGOTIATION25Onyama Limba
1018Octavia S GauchoUnited Kingdom2024-06-19King, Christopher A Esq RENEWAL80Ivan Magalhaes
1019Silvio V BriddickIndia2024-05-28Chapman, Ross E Esq NEW78Onyama Limba
1020Jefferson A WaycottCanada2024-05-27Truhlar And Truhlar Attys PROPOSAL39Anna Fali
1021Nicolas L MarrierAustralia2024-05-26Commercial Press RENEWAL83Elwin Sharvill
1022Misaki C PaprockiAustralia2024-06-01Chanay, Jeffrey A Esq QUALIFIED22Anna Fali
1023Tony K IturbideGermany2024-06-01Rangoni Of Florence QUALIFIED61Ioni Bowcher
1024Wickens U OldroydGermany2024-06-07Chanay, Jeffrey A Esq NEGOTIATION8Ioni Bowcher
1025Leja T MaletAustralia2024-05-27Rangoni Of Florence PROPOSAL51Bernardo Dominic
1026Emily P BowleyJapan2024-06-13Feiner Bros QUALIFIED85Asiya Javayant
1027Claire G CaldareraGermany2024-06-19Chanay, Jeffrey A Esq PROPOSAL32Anna Fali
1028Costa T PaprockiItaly2024-05-27Chapman, Ross E Esq NEW68Ivan Magalhaes
1029Leja T GauchoCanada2024-06-13Truhlar And Truhlar Attys UNQUALIFIED7Asiya Javayant
1030Mayumi M PoquetteBrazil2024-05-28Buckley Miller Wright NEGOTIATION68Bernardo Dominic
1031Kaitlin Y VocelkaGermany2024-06-01Morlong Associates NEGOTIATION63Amy Elsner
1032Johnson K AlbaresIndia2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED15Ivan Magalhaes
1033Wickens P VenereSpain2024-06-07Chanay, Jeffrey A Esq PROPOSAL70Ivan Magalhaes
1034Jefferson D BologniaJapan2024-05-31Chapman, Ross E Esq QUALIFIED60Stephen Shaw
1035Nicolas V ShinkoGermany2024-05-27Chapman, Ross E Esq RENEWAL13Onyama Limba
1036Jennifer N DilliardSpain2024-06-16Rousseaux, Michael Esq PROPOSAL7Amy Elsner
1037Smith E ChuiRussia2024-05-28Rousseaux, Michael Esq NEW23Ioni Bowcher
1038Julie X DoeJapan2024-06-03Chanay, Jeffrey A Esq NEW19Amy Elsner
1039Ricardo T RulapaughFrance2024-05-30Feiner Bros QUALIFIED41Amy Elsner
1040Claire Y MarrierFrance2024-06-01Truhlar And Truhlar Attys PROPOSAL92Xuxue Feng
1041Costa S SlusarskiAustralia2024-06-16Feiner Bros PROPOSAL81Asiya Javayant
1042Maria B SchemmerUnited Kingdom2024-06-16Chemel, James L Cpa NEW58Stephen Shaw
1043Julie Z GlickAustralia2024-06-16Chapman, Ross E Esq PROPOSAL15Xuxue Feng
1044Adams L DoeArgentina2024-06-10Feiner Bros RENEWAL14Elwin Sharvill
1045Aruna I RutaGermany2024-06-10Printing Dimensions PROPOSAL42Asiya Javayant
1046Clifford O KuskoArgentina2024-05-27Commercial Press NEGOTIATION76Amy Elsner
1047Emily J ButtUnited Kingdom2024-06-12Feltz Printing Service PROPOSAL50Onyama Limba
1048Alejandro I RutaFrance2024-05-24Rangoni Of Florence QUALIFIED56Stephen Shaw
1049Johnson U InouyeAustralia2024-05-30Chemel, James L Cpa QUALIFIED67Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois D TollnerIndiaStephen Shaw PROPOSAL
Juan U KolmetzArgentinaElwin Sharvill NEW
Nicolas P KolmetzUnited KingdomBernardo Dominic PROPOSAL
Mujtaba Z MorascaGermanyXuxue Feng UNQUALIFIED
Adams Y PerinItalyIvan Magalhaes RENEWAL
David M OstroskyIndiaAnna Fali UNQUALIFIED
Murillo T WhobreyIndiaOnyama Limba UNQUALIFIED
James J RulapaughUnited KingdomOnyama Limba NEGOTIATION
Stacey L GillianAustraliaAnna Fali QUALIFIED
Kadeem G DilliardJapanIvan Magalhaes PROPOSAL
Salvatore E MorascaGermanyBernardo Dominic RENEWAL
Clifford T MaletBrazilOnyama Limba UNQUALIFIED
James U WieserItalyOnyama Limba PROPOSAL
Smith Q RoysterArgentinaAsiya Javayant NEW
Juan G AlbaresArgentinaOnyama Limba PROPOSAL
Izzy S MaletUnited KingdomAsiya Javayant NEGOTIATION
Silvio I FerenczArgentinaStephen Shaw NEGOTIATION
Kadeem E CampainRussiaAmy Elsner NEGOTIATION
Rodrigues W BologniaBrazilBernardo Dominic UNQUALIFIED
Izzy K RutaIndiaIoni Bowcher QUALIFIED
Salvatore A BriddickCanadaOnyama Limba UNQUALIFIED
Wickens S CaldareraGermanyAmy Elsner NEW
Leon G ButtCanadaStephen Shaw UNQUALIFIED
Aditya P RulapaughItalyAsiya Javayant NEW
Salvatore G FollerBrazilAmy Elsner RENEWAL
David B OldroydFranceIoni Bowcher PROPOSAL
Izzy P AmigonSpainElwin Sharvill UNQUALIFIED
Faith T MaletIndiaXuxue Feng PROPOSAL
Julie W CaudyBrazilIoni Bowcher QUALIFIED
Clifford H OldroydAustraliaElwin Sharvill PROPOSAL
Costa E GarufiFranceAnna Fali UNQUALIFIED
Alejandro G AmigonSpainAsiya Javayant NEW
Rodrigues V OldroydRussiaXuxue Feng NEGOTIATION
Julie C MaletArgentinaIvan Magalhaes NEGOTIATION
Jones H BriddickArgentinaAsiya Javayant NEGOTIATION
Kadeem L VocelkaIndiaElwin Sharvill NEGOTIATION
Darci R VocelkaGermanyXuxue Feng RENEWAL
Wickens C FlosiFranceIoni Bowcher NEW
Francesco O OstroskyJapanXuxue Feng NEGOTIATION
Alejandro H StensethRussiaStephen Shaw NEGOTIATION
Juan S DoeAustraliaAnna Fali NEGOTIATION
Ashley Q RutaGermanyAsiya Javayant QUALIFIED
Izzy U AlbaresAustraliaIvan Magalhaes QUALIFIED
Aruna U CaudyArgentinaAsiya Javayant NEGOTIATION
Salvatore C RulapaughAustraliaXuxue Feng QUALIFIED
Arvin G NestleItalyOnyama Limba UNQUALIFIED
Julie O OldroydFranceXuxue Feng NEGOTIATION
Ivar A SlusarskiCanadaBernardo Dominic QUALIFIED
James D IturbideIndiaIoni Bowcher QUALIFIED
Tony C MacleadJapanIoni Bowcher NEW
Frozen Columns
Name
Stacey C Chui
Johnson C Stockham
Nicolas P Perin
Wickens O Gaucho
Misaki Z Dilliard
Darci H Slusarski
Aika T Figeroa
Leon A Shinko
Aditya Z Vocelka
Nicolas W Inouye
Aruna I Malet
Stacey G Schemmer
Misaki E Maclead
Greenwood X Stockham
Aika Y Malet
Clifford M Maclead
Jones D Nicka
Deepesh N Marrier
Izzy T Malet
Claire X Oldroyd
Aruna P Marrier
Claire F Bowley
Faith H Caudy
Ivar I Malet
Murillo Y Figeroa
Maisha E Venere
Emily Z Shinko
Chavez Z Bolognia
Ivar B Iturbide
Kadeem W Marrier
Sinclair G Maclead
Costa Q Stockham
James I Albares
Izzy E Vocelka
Ashley C Malet
Aruna J Dilliard
Wickens K Ruta
Aditya W Albares
Jefferson R Campain
Cody Y Figeroa
Emily U Kusko
Octavia N Briddick
Jennifer S Marrier
Mayumi D Nicka
Murillo H Dilliard
Ashley E Nestle
Jennifer B Rulapaugh
Misaki B Glick
Stacey S Doe
Alejandro H Stockham
IdCountryDate
1000Brazil2024-05-25
1001Germany2024-06-05
1002Brazil2024-06-14
1003Russia2024-05-25
1004Spain2024-05-29
1005France2024-05-29
1006Argentina2024-05-24
1007Canada2024-06-01
1008Russia2024-06-21
1009Australia2024-06-04
1010United Kingdom2024-05-30
1011India2024-05-23
1012Argentina2024-06-19
1013India2024-06-04
1014Japan2024-05-31
1015France2024-06-17
1016Canada2024-06-06
1017Russia2024-05-30
1018Japan2024-06-03
1019Australia2024-06-08
1020Germany2024-06-02
1021Argentina2024-06-13
1022Canada2024-06-06
1023Germany2024-06-05
1024United Kingdom2024-05-29
1025Brazil2024-06-17
1026France2024-06-09
1027Australia2024-06-04
1028Brazil2024-06-17
1029Brazil2024-06-20
1030Argentina2024-06-07
1031India2024-06-04
1032Spain2024-05-23
1033Canada2024-06-01
1034Italy2024-06-05
1035Germany2024-05-26
1036Argentina2024-06-03
1037Spain2024-05-30
1038Italy2024-06-08
1039Japan2024-06-21
1040India2024-05-25
1041Germany2024-06-06
1042Australia2024-06-18
1043India2024-06-12
1044Canada2024-06-21
1045Italy2024-06-18
1046France2024-06-02
1047France2024-06-01
1048Australia2024-05-29
1049Russia2024-06-18

On-Demand Data

NameIdCountryDate
Aika V Tollner1000Brazil2024-06-15
Costa Y Maclead1001Italy2024-05-26
Izzy N Kolmetz1002France2024-06-13
James B Nicka1003Spain2024-05-25
Deepesh Q Marrier1004Italy2024-06-01
Greenwood P Ruta1005Italy2024-06-08
Silvio G Whobrey1006Germany2024-05-29
Johnson R Glick1007United Kingdom2024-05-29
Stacey G Slusarski1008India2024-06-15
Clifford O Gaucho1009Brazil2024-06-21
Leja N Darakjy1010Japan2024-06-14
Murillo W Marrier1011Brazil2024-06-17
Munro Y Shinko1012Spain2024-06-11
Jennifer G Vocelka1013Spain2024-06-11
Ricardo Q Doe1014Argentina2024-06-06
Francesco B Rulapaugh1015France2024-06-04
Alejandro X Saylors1016Canada2024-06-20
Leon N Poquette1017Canada2024-06-13
Jennifer E Waycott1018Brazil2024-05-27
Salvatore H Butt1019India2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez P MarrierIndiaAnna Fali QUALIFIED
Stacey B VocelkaArgentinaAmy Elsner NEW
Claire F ShinkoSpainAnna Fali NEGOTIATION
Maria V KolmetzIndiaOnyama Limba NEGOTIATION
Maria Y BowleyIndiaIoni Bowcher PROPOSAL
James A WhobreyItalyIoni Bowcher PROPOSAL
Jones D GauchoCanadaAsiya Javayant QUALIFIED
Izzy V TollnerSpainAnna Fali NEW
Cody Y OstroskyArgentinaAsiya Javayant NEW
Jones J VenereArgentinaAsiya Javayant PROPOSAL
Nicolas D SergiSpainIoni Bowcher NEGOTIATION
Rodrigues H DilliardUnited KingdomStephen Shaw PROPOSAL
Wickens S VenereCanadaXuxue Feng UNQUALIFIED
Antonio O RutaBrazilIvan Magalhaes NEGOTIATION
Leja K DoeJapanAnna Fali NEW
Ashley E SlusarskiGermanyXuxue Feng QUALIFIED
Kaitlin L KuskoIndiaBernardo Dominic QUALIFIED
Mayumi Q RutaGermanyElwin Sharvill RENEWAL
Silvio W CaudyCanadaBernardo Dominic NEGOTIATION
Arvin P GlickRussiaAmy Elsner PROPOSAL
Wickens T FollerIndiaBernardo Dominic PROPOSAL
Costa H ShinkoGermanyIvan Magalhaes PROPOSAL
Nicolas T BologniaFranceAsiya Javayant UNQUALIFIED
Clifford J GarufiSpainIvan Magalhaes NEGOTIATION
Johnson C FollerArgentinaIoni Bowcher PROPOSAL
Aditya Q WaycottRussiaElwin Sharvill NEW
Aika A ButtCanadaXuxue Feng UNQUALIFIED
Adams Q IturbideItalyXuxue Feng NEGOTIATION
Silvio G MaletArgentinaIoni Bowcher RENEWAL
Leja F DilliardFranceAmy Elsner RENEWAL
Ivar U InouyeJapanElwin Sharvill NEGOTIATION
Kaitlin O ButtItalyIvan Magalhaes NEGOTIATION
Claire N ButtItalyElwin Sharvill PROPOSAL
Salvatore T StockhamIndiaAnna Fali PROPOSAL
Leon G SchemmerCanadaElwin Sharvill UNQUALIFIED
Francesco N SergiBrazilElwin Sharvill NEW
Darci Y GlickItalyOnyama Limba NEGOTIATION
Francesco C MarrierItalyStephen Shaw NEW
Leon E InouyeGermanyAnna Fali UNQUALIFIED
Maisha B VocelkaFranceAmy Elsner 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>