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
Cody G FollerRussiaAmy Elsner NEW
Julie P CaudyCanadaIvan Magalhaes PROPOSAL
Sinclair E FigeroaSpainAnna Fali PROPOSAL
Maria S KuskoBrazilBernardo Dominic UNQUALIFIED
Leon G GarufiCanadaAnna Fali PROPOSAL
Stacey V InouyeGermanyAnna Fali NEW
Alejandro U ButtSpainOnyama Limba UNQUALIFIED
Julie R RimRussiaAmy Elsner QUALIFIED
Faith N BologniaAustraliaAsiya Javayant QUALIFIED
Leja T KuskoCanadaOnyama Limba UNQUALIFIED
Claire N StensethCanadaIvan Magalhaes NEGOTIATION
Claire D CampainUnited KingdomXuxue Feng NEW
Octavia Y GauchoItalyAmy Elsner NEW
Deepesh T FlosiBrazilStephen Shaw NEGOTIATION
Johnson A RutaSpainBernardo Dominic NEW
Kadeem A SchemmerRussiaStephen Shaw PROPOSAL
Kadeem Y SchemmerFranceAsiya Javayant NEGOTIATION
Darci D PerinSpainXuxue Feng NEW
David H WieserRussiaOnyama Limba NEGOTIATION
Adams T SchemmerUnited KingdomXuxue Feng RENEWAL
Jefferson L VocelkaBrazilOnyama Limba NEW
Arvin A OldroydFranceAnna Fali NEGOTIATION
Murillo Z SaylorsBrazilIvan Magalhaes NEGOTIATION
Clifford Z StensethRussiaIoni Bowcher PROPOSAL
Nicolas B PoquetteGermanyOnyama Limba PROPOSAL
Claire P CaudyUnited KingdomAsiya Javayant NEW
Smith R FerenczArgentinaAmy Elsner NEW
Julie L GillianRussiaStephen Shaw NEGOTIATION
Jefferson A ButtJapanXuxue Feng NEW
Mayumi C DilliardArgentinaIvan Magalhaes UNQUALIFIED
Munro G GlickItalyIvan Magalhaes NEW
Mujtaba E BologniaAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois J MarrierAustraliaStephen Shaw PROPOSAL
Smith R BologniaGermanyAmy Elsner UNQUALIFIED
Jeanfrancois K DoeGermanyIoni Bowcher NEW
Mayumi R InouyeGermanyAnna Fali NEW
Arvin O SchemmerJapanOnyama Limba PROPOSAL
Cody D KolmetzFranceIvan Magalhaes NEW
Misaki Q KuskoIndiaStephen Shaw UNQUALIFIED
Murillo L VenereGermanyIoni Bowcher PROPOSAL
Rodrigues O MorascaBrazilXuxue Feng QUALIFIED
Leja E DoeItalyStephen Shaw QUALIFIED
Morrow O ChuiSpainAnna Fali QUALIFIED
Munro T GauchoBrazilOnyama Limba PROPOSAL
Izzy Y AmigonArgentinaBernardo Dominic UNQUALIFIED
Mujtaba F KuskoUnited KingdomIvan Magalhaes RENEWAL
Aruna W RutaArgentinaXuxue Feng RENEWAL
Leja N RoysterUnited KingdomStephen Shaw NEW
Jennifer H MaletRussiaAsiya Javayant RENEWAL
Nicolas K PaprockiArgentinaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin O SergiCanadaXuxue Feng RENEWAL
Ashley B NickaSpainIvan Magalhaes RENEWAL
Darci H FigeroaAustraliaAnna Fali PROPOSAL
Leja T ButtJapanIoni Bowcher QUALIFIED
Johnson C FlosiRussiaElwin Sharvill NEW
Clifford L ButtJapanBernardo Dominic RENEWAL
Julie Z ChuiRussiaIoni Bowcher QUALIFIED
Aruna F MacleadItalyStephen Shaw NEGOTIATION
Ivar N SergiAustraliaStephen Shaw NEGOTIATION
Jones W OstroskyArgentinaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon O FollerGermany2024-06-09Morlong Associates NEW37Onyama Limba
1001Leja G FigeroaGermany2024-06-17Truhlar And Truhlar Attys QUALIFIED24Stephen Shaw
1002Silvio N DarakjyGermany2024-06-09King, Christopher A Esq PROPOSAL24Stephen Shaw
1003Smith I WieserAustralia2024-06-17Truhlar And Truhlar Attys RENEWAL5Amy Elsner
1004Tony Q FollerFrance2024-06-12Rangoni Of Florence PROPOSAL35Ioni Bowcher
1005Antonio V OstroskyFrance2024-06-16Buckley Miller Wright NEW47Ioni Bowcher
1006Faith L RoysterAustralia2024-06-14Rangoni Of Florence NEW17Asiya Javayant
1007Leja D DilliardCanada2024-05-24Feltz Printing Service RENEWAL42Ivan Magalhaes
1008Antonio F FollerBrazil2024-06-18Buckley Miller Wright NEW51Ioni Bowcher
1009Cody D MaletSpain2024-05-25Commercial Press NEW75Onyama Limba
1010Jeanfrancois M OstroskyJapan2024-06-02Commercial Press NEGOTIATION40Xuxue Feng
1011Aika K OldroydRussia2024-06-01Rangoni Of Florence NEGOTIATION13Stephen Shaw
1012Wickens P FollerRussia2024-06-13Feiner Bros NEW75Stephen Shaw
1013Aruna Y FlosiCanada2024-06-18Truhlar And Truhlar Attys RENEWAL96Ivan Magalhaes
1014Maria P RulapaughIndia2024-06-09Chemel, James L Cpa QUALIFIED79Anna Fali
1015Ricardo E BologniaIndia2024-05-31Commercial Press QUALIFIED18Elwin Sharvill
1016Salvatore R WieserIndia2024-06-18Morlong Associates QUALIFIED50Elwin Sharvill
1017Izzy V PoquetteAustralia2024-06-04Commercial Press PROPOSAL82Amy Elsner
1018Ivar Q GillianUnited Kingdom2024-06-08Dorl, James J Esq UNQUALIFIED37Anna Fali
1019Johnson E RutaFrance2024-05-23Morlong Associates PROPOSAL14Elwin Sharvill
1020Aika X StockhamJapan2024-06-04Truhlar And Truhlar Attys NEW14Ivan Magalhaes
1021Kaitlin C SaylorsItaly2024-06-09Buckley Miller Wright RENEWAL22Elwin Sharvill
1022Rodrigues C NickaItaly2024-06-03Chemel, James L Cpa NEGOTIATION10Xuxue Feng
1023Mujtaba C RutaAustralia2024-06-01Rangoni Of Florence NEW88Stephen Shaw
1024Clifford S FigeroaRussia2024-06-06Feiner Bros NEGOTIATION57Anna Fali
1025Tony S IturbideAustralia2024-06-20Dorl, James J Esq PROPOSAL39Elwin Sharvill
1026James X KolmetzAustralia2024-06-09Buckley Miller Wright PROPOSAL20Onyama Limba
1027Salvatore U CaldareraBrazil2024-06-13Rangoni Of Florence RENEWAL93Xuxue Feng
1028Morrow X MaletIndia2024-05-29Morlong Associates UNQUALIFIED22Elwin Sharvill
1029Leja J WieserJapan2024-05-31Morlong Associates UNQUALIFIED26Ivan Magalhaes
1030Nicolas J KolmetzJapan2024-05-26Benton, John B Jr UNQUALIFIED15Amy Elsner
1031Ricardo J VenereSpain2024-06-08Truhlar And Truhlar Attys NEW10Ivan Magalhaes
1032Ashley O FollerAustralia2024-05-31Benton, John B Jr PROPOSAL44Xuxue Feng
1033Kadeem F GauchoUnited Kingdom2024-06-16Dorl, James J Esq NEW35Xuxue Feng
1034Leon Q MorascaJapan2024-06-06Commercial Press NEGOTIATION8Bernardo Dominic
1035Claire J ButtJapan2024-05-25Buckley Miller Wright NEGOTIATION89Elwin Sharvill
1036Costa N GarufiCanada2024-05-23Chanay, Jeffrey A Esq NEGOTIATION98Ivan Magalhaes
1037Adams X SlusarskiFrance2024-06-03Chemel, James L Cpa NEGOTIATION48Onyama Limba
1038Faith I AlbaresIndia2024-06-04Buckley Miller Wright QUALIFIED5Ioni Bowcher
1039Julie G RoysterArgentina2024-05-25Chapman, Ross E Esq NEW1Xuxue Feng
1040Ivar H InouyeCanada2024-06-16Truhlar And Truhlar Attys RENEWAL83Elwin Sharvill
1041Costa J AlbaresSpain2024-06-19Chapman, Ross E Esq NEGOTIATION71Anna Fali
1042Ashley W FigeroaArgentina2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED9Stephen Shaw
1043Antonio K NickaRussia2024-06-08Rangoni Of Florence NEGOTIATION53Xuxue Feng
1044Stacey C PaprockiAustralia2024-06-11Commercial Press PROPOSAL47Onyama Limba
1045Salvatore A TollnerItaly2024-06-20Morlong Associates QUALIFIED89Ivan Magalhaes
1046Jones U MacleadCanada2024-06-12Chanay, Jeffrey A Esq NEGOTIATION34Elwin Sharvill
1047Kaitlin B CaldareraRussia2024-06-14Chanay, Jeffrey A Esq NEW39Xuxue Feng
1048Nicolas A FigeroaRussia2024-05-25Chemel, James L Cpa NEGOTIATION0Ivan Magalhaes
1049Clifford X DoeIndia2024-06-17Truhlar And Truhlar Attys NEW87Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Stacey R StockhamArgentinaIoni Bowcher PROPOSAL
Smith O CaldareraGermanyStephen Shaw QUALIFIED
Izzy D FlosiFranceAnna Fali NEW
Jeanfrancois C BowleyJapanOnyama Limba RENEWAL
Jefferson H FlosiJapanStephen Shaw QUALIFIED
Jones O RulapaughCanadaElwin Sharvill PROPOSAL
Sinclair L PaprockiSpainOnyama Limba PROPOSAL
Julie T SaylorsAustraliaAmy Elsner RENEWAL
Emily D DoeJapanBernardo Dominic PROPOSAL
Chavez N AlbaresUnited KingdomElwin Sharvill RENEWAL
Clifford H PaprockiItalyStephen Shaw NEGOTIATION
Kadeem S FollerAustraliaBernardo Dominic PROPOSAL
Costa G DoeGermanyXuxue Feng QUALIFIED
David R FigeroaFranceAmy Elsner UNQUALIFIED
James R PaprockiAustraliaAsiya Javayant NEGOTIATION
Octavia N RimIndiaAmy Elsner NEGOTIATION
Izzy R ButtFranceOnyama Limba RENEWAL
Aditya P NestleIndiaStephen Shaw NEGOTIATION
Isabel M ChuiGermanyAmy Elsner NEGOTIATION
Alejandro R WieserCanadaAsiya Javayant NEW
Aika M RutaCanadaIvan Magalhaes NEGOTIATION
Ivar U ChuiRussiaIvan Magalhaes NEGOTIATION
Nicolas V FollerAustraliaOnyama Limba PROPOSAL
Julie R ButtFranceBernardo Dominic PROPOSAL
Kadeem E GillianFranceBernardo Dominic PROPOSAL
Francesco F SergiJapanAnna Fali PROPOSAL
Maria S SchemmerSpainIoni Bowcher RENEWAL
Darci Y KolmetzSpainAmy Elsner QUALIFIED
Kaitlin M GarufiAustraliaIoni Bowcher NEW
Salvatore U MarrierFranceElwin Sharvill QUALIFIED
Aditya C OldroydBrazilXuxue Feng RENEWAL
Ricardo T OldroydRussiaOnyama Limba QUALIFIED
Leja B SchemmerAustraliaIvan Magalhaes QUALIFIED
Izzy I NickaRussiaXuxue Feng NEW
Jefferson K IturbideCanadaStephen Shaw NEGOTIATION
Cody O OstroskyItalyBernardo Dominic NEGOTIATION
Tony C DarakjyUnited KingdomStephen Shaw PROPOSAL
Chavez D MorascaIndiaIoni Bowcher NEW
Arvin R CaudyAustraliaIvan Magalhaes RENEWAL
Kaitlin U AmigonJapanBernardo Dominic RENEWAL
Leon X MorascaRussiaXuxue Feng PROPOSAL
James S GarufiItalyStephen Shaw NEW
Wickens V ButtIndiaAmy Elsner NEGOTIATION
Antonio M RutaJapanIvan Magalhaes NEW
Deepesh P SlusarskiArgentinaOnyama Limba RENEWAL
Ricardo S FigeroaArgentinaAsiya Javayant QUALIFIED
David F IturbideCanadaXuxue Feng NEGOTIATION
Greenwood I CaldareraGermanyBernardo Dominic NEW
Mayumi K ChuiFranceElwin Sharvill NEGOTIATION
Jeanfrancois M PoquetteAustraliaElwin Sharvill QUALIFIED
Frozen Columns
Name
Jefferson Z Campain
Aditya J Whobrey
Jefferson D Nicka
Stacey U Nicka
Francesco T Vocelka
Rodrigues Y Vocelka
Stacey G Slusarski
James Q Amigon
Rodrigues T Schemmer
Costa D Slusarski
Alejandro M Stockham
Claire V Kusko
Leon C Whobrey
Smith X Gaucho
David T Wieser
Leon M Shinko
Aruna Q Campain
Antonio X Gaucho
Clifford G Ferencz
Jennifer I Ostrosky
Arvin H Rim
Kadeem H Flosi
Leja K Stockham
Alejandro U Briddick
Rodrigues P Campain
Rodrigues G Slusarski
Izzy E Morasca
Faith J Inouye
Aditya M Nicka
David A Royster
Mujtaba O Maclead
Arvin H Slusarski
Jennifer P Stockham
Claire P Campain
Sinclair N Ostrosky
Alejandro R Doe
Rodrigues A Ferencz
Claire C Albares
Salvatore G Flosi
Kadeem I Albares
Maisha S Doe
Rodrigues A Briddick
Aika F Poquette
Johnson V Garufi
Darci U Malet
Deepesh H Glick
Mujtaba J Bowley
Clifford L Poquette
Greenwood N Paprocki
Jefferson C Flosi
IdCountryDate
1000Argentina2024-06-17
1001Canada2024-06-06
1002Germany2024-06-18
1003Germany2024-06-08
1004Australia2024-05-28
1005Australia2024-06-16
1006Australia2024-06-03
1007Russia2024-05-26
1008Spain2024-06-17
1009India2024-06-01
1010Italy2024-06-06
1011Australia2024-06-08
1012Italy2024-06-16
1013Brazil2024-06-02
1014Argentina2024-06-12
1015United Kingdom2024-05-30
1016United Kingdom2024-06-01
1017Canada2024-05-30
1018Canada2024-06-05
1019United Kingdom2024-06-16
1020Germany2024-06-19
1021France2024-06-09
1022Russia2024-06-04
1023India2024-06-18
1024India2024-05-29
1025Spain2024-06-17
1026India2024-05-29
1027United Kingdom2024-06-14
1028United Kingdom2024-05-27
1029Australia2024-06-07
1030Japan2024-06-07
1031Argentina2024-06-18
1032Italy2024-06-14
1033Australia2024-05-24
1034Japan2024-06-14
1035Germany2024-05-30
1036Japan2024-05-22
1037Brazil2024-06-20
1038Australia2024-06-12
1039India2024-06-05
1040Brazil2024-06-07
1041United Kingdom2024-06-06
1042Argentina2024-06-06
1043Japan2024-06-10
1044Russia2024-06-13
1045Brazil2024-06-16
1046France2024-06-15
1047Germany2024-05-31
1048Australia2024-06-02
1049Japan2024-06-07

On-Demand Data

NameIdCountryDate
Deepesh I Flosi1000Argentina2024-06-02
Sinclair X Stenseth1001Canada2024-05-25
Izzy U Gillian1002Italy2024-06-06
Darci A Poquette1003Russia2024-06-05
Jeanfrancois P Ferencz1004United Kingdom2024-05-29
Silvio Q Amigon1005Canada2024-06-20
Morrow V Vocelka1006France2024-06-08
Jones H Darakjy1007Russia2024-06-16
Kadeem H Maclead1008Russia2024-06-17
Claire H Ferencz1009Germany2024-06-19
Claire A Tollner1010Italy2024-05-22
Adams C Malet1011Spain2024-06-13
Aika D Bolognia1012Spain2024-05-23
Darci B Gillian1013Brazil2024-06-05
Isabel K Wieser1014Italy2024-05-25
Faith J Sergi1015Brazil2024-06-02
Ivar P Sergi1016France2024-05-29
Nicolas Z Whobrey1017Canada2024-05-27
Kadeem Y Marrier1018Japan2024-05-26
James H Maclead1019Italy2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin C RutaIndiaIvan Magalhaes NEGOTIATION
Ashley B CaudyRussiaIvan Magalhaes RENEWAL
Arvin A BriddickBrazilIvan Magalhaes PROPOSAL
Salvatore I RutaBrazilAnna Fali NEW
Clifford V RimIndiaBernardo Dominic QUALIFIED
Greenwood C NickaCanadaOnyama Limba PROPOSAL
Arvin N MarrierRussiaAnna Fali RENEWAL
Sinclair K DarakjyGermanyOnyama Limba PROPOSAL
Nicolas U PoquetteFranceBernardo Dominic PROPOSAL
Rodrigues K WaycottRussiaElwin Sharvill RENEWAL
Mujtaba V VocelkaUnited KingdomOnyama Limba PROPOSAL
Faith S RoysterIndiaIoni Bowcher PROPOSAL
Francesco L VocelkaArgentinaAmy Elsner NEW
Deepesh Q MorascaUnited KingdomXuxue Feng NEW
Cody E BologniaUnited KingdomIoni Bowcher QUALIFIED
Darci R ShinkoJapanAmy Elsner NEGOTIATION
Johnson T GarufiSpainAnna Fali UNQUALIFIED
Francesco I FollerJapanAmy Elsner RENEWAL
Tony P CampainIndiaAsiya Javayant NEGOTIATION
Murillo C WieserBrazilXuxue Feng NEGOTIATION
Jones H CaldareraFranceAnna Fali UNQUALIFIED
Misaki E NestleSpainAnna Fali QUALIFIED
Aika N AlbaresArgentinaBernardo Dominic NEW
Isabel H WhobreyAustraliaIvan Magalhaes PROPOSAL
Munro Q GlickFranceOnyama Limba PROPOSAL
David P DoeUnited KingdomOnyama Limba RENEWAL
David C MaletBrazilIvan Magalhaes QUALIFIED
Emily L SaylorsSpainXuxue Feng NEGOTIATION
Costa Y GillianBrazilStephen Shaw PROPOSAL
Rodrigues Q WieserFranceXuxue Feng RENEWAL
Jefferson C ShinkoRussiaBernardo Dominic PROPOSAL
Cody G MaletJapanAnna Fali NEGOTIATION
Jennifer E VocelkaRussiaXuxue Feng RENEWAL
Ivar I FollerItalyAnna Fali RENEWAL
Kaitlin C VocelkaRussiaAsiya Javayant NEGOTIATION
Silvio R ShinkoGermanyIoni Bowcher PROPOSAL
David L MorascaIndiaAsiya Javayant NEW
Ashley N InouyeBrazilAsiya Javayant PROPOSAL
Costa T ButtRussiaAmy Elsner UNQUALIFIED
Mujtaba Z WhobreyGermanyIvan Magalhaes QUALIFIED

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