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
Kadeem V KolmetzCanadaOnyama Limba NEGOTIATION
Alejandro U MacleadIndiaElwin Sharvill PROPOSAL
Jennifer P MorascaAustraliaAmy Elsner NEW
Mayumi N MacleadCanadaStephen Shaw RENEWAL
Munro N CaudyJapanStephen Shaw NEGOTIATION
Adams M SergiRussiaAnna Fali NEGOTIATION
Stacey R RimCanadaOnyama Limba UNQUALIFIED
Octavia S ChuiJapanIvan Magalhaes RENEWAL
Claire E TollnerCanadaElwin Sharvill NEW
David K IturbideSpainIoni Bowcher RENEWAL
Ricardo O PoquetteCanadaBernardo Dominic UNQUALIFIED
Wickens J MaletGermanyAmy Elsner PROPOSAL
Smith F MaletRussiaAmy Elsner UNQUALIFIED
Greenwood G RutaItalyIvan Magalhaes NEW
Costa O OldroydUnited KingdomStephen Shaw NEW
Sinclair I MarrierIndiaIoni Bowcher NEGOTIATION
Emily R SergiItalyIvan Magalhaes RENEWAL
Mayumi L PerinIndiaElwin Sharvill PROPOSAL
Morrow J GauchoUnited KingdomOnyama Limba PROPOSAL
Jones S FigeroaJapanIoni Bowcher RENEWAL
Misaki Z AlbaresJapanIoni Bowcher RENEWAL
Adams C PaprockiBrazilElwin Sharvill RENEWAL
Morrow H AmigonFranceElwin Sharvill UNQUALIFIED
Isabel C ChuiGermanyBernardo Dominic RENEWAL
Faith Z CaudyUnited KingdomBernardo Dominic NEGOTIATION
Ashley D SchemmerGermanyXuxue Feng UNQUALIFIED
Arvin A MorascaItalyBernardo Dominic UNQUALIFIED
Maria R GlickSpainBernardo Dominic QUALIFIED
Kadeem L FerenczArgentinaAsiya Javayant RENEWAL
Claire L VenereIndiaBernardo Dominic RENEWAL
Smith E RulapaughRussiaElwin Sharvill QUALIFIED
Francesco N MorascaIndiaAmy Elsner NEGOTIATION
Tony T FerenczIndiaXuxue Feng NEGOTIATION
Maisha Q OldroydAustraliaBernardo Dominic NEGOTIATION
Faith K SaylorsJapanStephen Shaw PROPOSAL
Stacey L MarrierGermanyStephen Shaw PROPOSAL
Leon J PerinBrazilElwin Sharvill UNQUALIFIED
Clifford X GarufiItalyAmy Elsner NEW
Salvatore I OstroskyIndiaIvan Magalhaes RENEWAL
Faith E OstroskyRussiaBernardo Dominic UNQUALIFIED
Isabel L KuskoJapanIvan Magalhaes QUALIFIED
Deepesh W DarakjyIndiaElwin Sharvill UNQUALIFIED
Adams L SaylorsAustraliaStephen Shaw PROPOSAL
Clifford B MacleadBrazilIvan Magalhaes NEW
Alejandro S DilliardBrazilAnna Fali NEW
Jefferson D ButtFranceAnna Fali NEGOTIATION
Juan V DilliardRussiaElwin Sharvill RENEWAL
Nicolas F SaylorsBrazilIoni Bowcher UNQUALIFIED
Juan X RimUnited KingdomAsiya Javayant QUALIFIED
Murillo N NickaCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna G NestleAustraliaAnna Fali UNQUALIFIED
Ricardo T CaudyFranceIoni Bowcher QUALIFIED
Rodrigues E MarrierCanadaOnyama Limba RENEWAL
Stacey G MarrierIndiaStephen Shaw NEW
Juan U MorascaUnited KingdomXuxue Feng RENEWAL
Juan O IturbideGermanyOnyama Limba UNQUALIFIED
Aditya T GillianGermanyStephen Shaw UNQUALIFIED
Izzy T GauchoUnited KingdomStephen Shaw UNQUALIFIED
Johnson O RutaGermanyAmy Elsner NEW
Costa P TollnerItalyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro B ButtItaly2025-04-19Rangoni Of Florence NEGOTIATION63Bernardo Dominic
1001Darci W CampainItaly2025-04-08Chanay, Jeffrey A Esq NEW57Bernardo Dominic
1002Izzy U DarakjyRussia2025-04-26King, Christopher A Esq UNQUALIFIED92Asiya Javayant
1003Nicolas S DoeBrazil2025-04-07Buckley Miller Wright RENEWAL80Bernardo Dominic
1004Murillo X WieserJapan2025-04-29Buckley Miller Wright NEW35Anna Fali
1005Salvatore H StockhamJapan2025-04-30Truhlar And Truhlar Attys PROPOSAL21Xuxue Feng
1006Ashley I MarrierUnited Kingdom2025-04-26Buckley Miller Wright RENEWAL47Amy Elsner
1007Deepesh E FlosiArgentina2025-04-10Rangoni Of Florence RENEWAL41Ioni Bowcher
1008Alejandro P SchemmerUnited Kingdom2025-04-04Commercial Press UNQUALIFIED18Xuxue Feng
1009Julie Y DarakjyCanada2025-04-27Feiner Bros NEW49Onyama Limba
1010Nicolas T PerinGermany2025-04-30Benton, John B Jr QUALIFIED39Amy Elsner
1011Rodrigues Y WaycottGermany2025-04-09Chemel, James L Cpa UNQUALIFIED98Ivan Magalhaes
1012Ivar W NestleUnited Kingdom2025-04-07Rousseaux, Michael Esq RENEWAL91Onyama Limba
1013James X WhobreyBrazil2025-04-09King, Christopher A Esq UNQUALIFIED91Stephen Shaw
1014Ricardo A NestleRussia2025-04-05Chanay, Jeffrey A Esq RENEWAL49Ioni Bowcher
1015Cody R RoysterSpain2025-04-17Rangoni Of Florence NEW70Amy Elsner
1016Murillo B CaldareraArgentina2025-04-19Chapman, Ross E Esq RENEWAL46Anna Fali
1017Maria Z KolmetzJapan2025-04-15Rangoni Of Florence QUALIFIED56Amy Elsner
1018Cody S SergiFrance2025-04-13Morlong Associates QUALIFIED45Stephen Shaw
1019Aditya M MorascaUnited Kingdom2025-04-13Rangoni Of Florence NEW38Asiya Javayant
1020Maria X ButtJapan2025-04-26Commercial Press NEGOTIATION68Bernardo Dominic
1021Wickens X MaletIndia2025-04-01King, Christopher A Esq UNQUALIFIED98Anna Fali
1022Octavia G GillianCanada2025-04-28Morlong Associates NEGOTIATION86Anna Fali
1023Misaki K KolmetzCanada2025-04-11Printing Dimensions RENEWAL21Ivan Magalhaes
1024Aruna F CampainJapan2025-04-08Printing Dimensions QUALIFIED60Elwin Sharvill
1025David Y DoeBrazil2025-04-14Benton, John B Jr UNQUALIFIED17Ivan Magalhaes
1026Octavia M OldroydFrance2025-04-27Feltz Printing Service RENEWAL87Amy Elsner
1027Stacey V FerenczRussia2025-04-01Rangoni Of Florence QUALIFIED69Anna Fali
1028Silvio V GlickSpain2025-04-04Chapman, Ross E Esq QUALIFIED76Amy Elsner
1029Aruna S PaprockiFrance2025-04-06Printing Dimensions NEW30Elwin Sharvill
1030Jones Q GillianIndia2025-04-30Printing Dimensions QUALIFIED5Asiya Javayant
1031Alejandro B PoquetteFrance2025-04-26Chanay, Jeffrey A Esq PROPOSAL70Amy Elsner
1032James V BologniaAustralia2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED42Asiya Javayant
1033Mujtaba O BowleyAustralia2025-04-06Feiner Bros PROPOSAL5Bernardo Dominic
1034Adams L ChuiItaly2025-04-13King, Christopher A Esq RENEWAL36Ivan Magalhaes
1035Izzy E DarakjyGermany2025-04-10Dorl, James J Esq RENEWAL66Xuxue Feng
1036Maria V FollerArgentina2025-04-25Benton, John B Jr NEGOTIATION94Ioni Bowcher
1037Chavez Y InouyeIndia2025-04-14Chapman, Ross E Esq QUALIFIED65Stephen Shaw
1038Maria A PerinBrazil2025-04-22Rangoni Of Florence NEW0Ivan Magalhaes
1039Munro V MarrierFrance2025-04-07Chemel, James L Cpa RENEWAL6Stephen Shaw
1040Maisha U VenereBrazil2025-04-05Chanay, Jeffrey A Esq NEW86Amy Elsner
1041Wickens X KuskoGermany2025-04-01Feltz Printing Service UNQUALIFIED23Onyama Limba
1042Misaki T PoquetteSpain2025-04-18Truhlar And Truhlar Attys UNQUALIFIED41Amy Elsner
1043Julie L PaprockiCanada2025-04-17Chapman, Ross E Esq RENEWAL62Ioni Bowcher
1044Tony K SergiItaly2025-04-07Chapman, Ross E Esq NEW98Anna Fali
1045Murillo Y SergiItaly2025-04-25Rangoni Of Florence QUALIFIED68Amy Elsner
1046Greenwood Q RoysterIndia2025-04-30Rangoni Of Florence PROPOSAL53Onyama Limba
1047Alejandro K PerinRussia2025-04-05Benton, John B Jr UNQUALIFIED79Xuxue Feng
1048Clifford O WaycottBrazil2025-04-06Printing Dimensions PROPOSAL36Onyama Limba
1049Murillo V DoeFrance2025-04-21Rangoni Of Florence NEW12Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh D RoysterAustraliaOnyama Limba UNQUALIFIED
Ashley T DarakjyAustraliaStephen Shaw UNQUALIFIED
Cody O FigeroaIndiaAnna Fali RENEWAL
James P SergiUnited KingdomBernardo Dominic RENEWAL
Emily R FollerGermanyAsiya Javayant NEW
Salvatore Z VocelkaArgentinaXuxue Feng QUALIFIED
David M BriddickBrazilAsiya Javayant PROPOSAL
Mayumi W GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
David S GlickRussiaBernardo Dominic PROPOSAL
Tony A BriddickSpainAsiya Javayant UNQUALIFIED
Stacey R OldroydBrazilIvan Magalhaes UNQUALIFIED
Munro M NestleRussiaElwin Sharvill NEGOTIATION
Kadeem O AmigonIndiaBernardo Dominic QUALIFIED
Morrow V RoysterCanadaOnyama Limba NEW
Misaki R MorascaItalyBernardo Dominic RENEWAL
Emily X KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Costa Y FerenczFranceIvan Magalhaes UNQUALIFIED
Misaki T GauchoJapanXuxue Feng RENEWAL
Arvin X MarrierJapanAnna Fali RENEWAL
Ricardo J NestleRussiaAmy Elsner NEGOTIATION
Francesco E BowleySpainIvan Magalhaes NEW
Arvin H SchemmerAustraliaStephen Shaw NEW
Aruna U FollerJapanIoni Bowcher QUALIFIED
Clifford D MaletItalyAnna Fali NEGOTIATION
Arvin G KuskoUnited KingdomAmy Elsner NEGOTIATION
Julie U StensethSpainAmy Elsner RENEWAL
Munro C MarrierBrazilXuxue Feng NEGOTIATION
Wickens H DilliardFranceBernardo Dominic UNQUALIFIED
Chavez J ButtSpainIvan Magalhaes NEW
Isabel X CaldareraItalyAnna Fali PROPOSAL
Silvio A FigeroaBrazilAnna Fali NEW
Isabel E CaudyUnited KingdomAsiya Javayant RENEWAL
Darci H MacleadJapanStephen Shaw QUALIFIED
Salvatore P CaudyGermanyElwin Sharvill NEW
Costa D DoeFranceAsiya Javayant UNQUALIFIED
Kaitlin V BologniaRussiaStephen Shaw UNQUALIFIED
James N MacleadUnited KingdomElwin Sharvill NEGOTIATION
Wickens K FerenczArgentinaAmy Elsner NEGOTIATION
Francesco X SchemmerBrazilOnyama Limba NEW
Jefferson U AmigonFranceIvan Magalhaes QUALIFIED
Jones W BologniaGermanyOnyama Limba UNQUALIFIED
Alejandro H SaylorsJapanAmy Elsner NEGOTIATION
Aruna E IturbideAustraliaAsiya Javayant NEW
Misaki G PoquetteSpainBernardo Dominic NEW
David D InouyeCanadaAnna Fali NEGOTIATION
Faith K FlosiFranceOnyama Limba NEW
Leja J FigeroaItalyAsiya Javayant UNQUALIFIED
Ashley L GauchoArgentinaAnna Fali PROPOSAL
Jennifer U FerenczUnited KingdomIoni Bowcher PROPOSAL
Salvatore V KuskoSpainOnyama Limba QUALIFIED
Frozen Columns
Name
Juan R Chui
Adams G Albares
Emily F Wieser
Deepesh A Shinko
Ricardo A Rim
Francesco J Malet
Juan W Kolmetz
Aditya V Garufi
Greenwood N Sergi
Maria X Darakjy
Sinclair A Perin
Mayumi P Schemmer
Jones H Glick
Emily G Venere
Chavez O Vocelka
Adams T Schemmer
Alejandro N Albares
Darci H Flosi
Leja N Malet
Ricardo P Campain
Misaki M Nicka
Kadeem N Malet
Ivar M Maclead
Aika A Nicka
Jefferson J Butt
Claire Q Tollner
Johnson H Rulapaugh
Munro Y Rulapaugh
Morrow S Rim
Morrow V Butt
Leon W Slusarski
Emily J Iturbide
Maria B Doe
Smith U Marrier
Kaitlin L Darakjy
Misaki G Tollner
James K Wieser
Faith P Perin
Deepesh D Amigon
Ivar W Poquette
Cody A Vocelka
Salvatore J Campain
Kaitlin Q Flosi
Clifford Z Foller
Wickens G Ostrosky
Francesco O Nestle
Adams E Bowley
Deepesh C Whobrey
Claire C Sergi
Maria D Malet
IdCountryDate
1000Italy2025-04-20
1001Germany2025-04-11
1002Australia2025-04-14
1003Spain2025-04-20
1004Russia2025-04-21
1005Italy2025-04-05
1006United Kingdom2025-04-04
1007France2025-04-30
1008France2025-04-22
1009Germany2025-04-11
1010India2025-04-01
1011United Kingdom2025-04-04
1012France2025-04-07
1013Canada2025-04-27
1014Germany2025-04-11
1015Russia2025-04-14
1016Russia2025-04-01
1017Spain2025-04-19
1018United Kingdom2025-04-02
1019Canada2025-04-02
1020Russia2025-04-08
1021Germany2025-04-22
1022India2025-04-15
1023Spain2025-04-14
1024Japan2025-04-09
1025Canada2025-04-08
1026India2025-04-25
1027Argentina2025-04-01
1028Italy2025-04-08
1029Canada2025-04-19
1030Argentina2025-04-20
1031India2025-04-23
1032Brazil2025-04-19
1033United Kingdom2025-04-09
1034Spain2025-04-03
1035Italy2025-04-27
1036Australia2025-04-16
1037Russia2025-04-07
1038France2025-04-17
1039India2025-04-27
1040India2025-04-19
1041Australia2025-04-16
1042Russia2025-04-04
1043Japan2025-04-19
1044Italy2025-04-19
1045Japan2025-04-08
1046France2025-04-25
1047Brazil2025-04-28
1048Germany2025-04-05
1049Russia2025-04-21

On-Demand Data

NameIdCountryDate
Izzy M Garufi1000Argentina2025-04-29
Munro Q Bowley1001France2025-04-23
Kaitlin I Caldarera1002France2025-04-02
Aditya M Gaucho1003United Kingdom2025-04-16
Jones F Whobrey1004Australia2025-04-08
Greenwood V Ruta1005Italy2025-04-06
Izzy B Caldarera1006Brazil2025-04-08
Jefferson P Maclead1007Japan2025-04-27
Nicolas X Darakjy1008Italy2025-04-11
Jennifer Z Tollner1009Canada2025-04-20
Kadeem R Bolognia1010United Kingdom2025-04-07
Cody O Stockham1011Japan2025-04-24
David B Chui1012Japan2025-04-16
Silvio P Chui1013Australia2025-04-01
Deepesh D Dilliard1014France2025-04-28
Octavia B Inouye1015Germany2025-04-28
Murillo K Stockham1016Italy2025-04-13
Maisha F Ruta1017India2025-04-09
Mayumi A Ferencz1018France2025-04-25
Arvin D Bolognia1019Germany2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco W IturbideSpainAmy Elsner NEGOTIATION
Chavez X TollnerCanadaOnyama Limba RENEWAL
Chavez X VocelkaJapanAmy Elsner QUALIFIED
Jennifer B IturbideBrazilIvan Magalhaes RENEWAL
Darci V DoeUnited KingdomIvan Magalhaes QUALIFIED
Adams X InouyeJapanAmy Elsner PROPOSAL
Darci V CaudyJapanAsiya Javayant UNQUALIFIED
Morrow O DarakjyUnited KingdomAmy Elsner NEGOTIATION
Claire B SergiFranceBernardo Dominic QUALIFIED
Ricardo C NickaCanadaStephen Shaw RENEWAL
Ivar S CaudyItalyAnna Fali NEW
Octavia B MaletAustraliaAmy Elsner NEW
Ricardo C MacleadGermanyElwin Sharvill NEGOTIATION
Kadeem X GauchoItalyBernardo Dominic UNQUALIFIED
Adams S NestleAustraliaBernardo Dominic UNQUALIFIED
Alejandro O WieserCanadaIvan Magalhaes NEGOTIATION
Ashley H RimJapanIvan Magalhaes NEGOTIATION
Alejandro G BowleyBrazilXuxue Feng RENEWAL
Cody D KuskoFranceAmy Elsner QUALIFIED
Cody Z IturbideAustraliaIoni Bowcher NEW
Faith K NestleCanadaOnyama Limba QUALIFIED
Chavez K RutaSpainIoni Bowcher PROPOSAL
Morrow A MacleadSpainIvan Magalhaes NEGOTIATION
Leon P BowleyArgentinaElwin Sharvill RENEWAL
Aditya K RimSpainAsiya Javayant NEGOTIATION
Costa D DoeCanadaElwin Sharvill NEGOTIATION
Kaitlin L RutaSpainElwin Sharvill NEGOTIATION
Kadeem J ChuiCanadaAnna Fali RENEWAL
Misaki N TollnerGermanyBernardo Dominic NEW
Murillo C StockhamJapanOnyama Limba UNQUALIFIED
Ivar G OstroskyCanadaStephen Shaw NEGOTIATION
Costa L KolmetzItalyOnyama Limba NEW
Emily R TollnerGermanyAnna Fali QUALIFIED
Wickens D GlickGermanyAsiya Javayant NEGOTIATION
Jefferson Q VenereBrazilXuxue Feng RENEWAL
Antonio X DoeJapanBernardo Dominic NEGOTIATION
Costa B NickaArgentinaIoni Bowcher UNQUALIFIED
Alejandro B AmigonCanadaAsiya Javayant RENEWAL
Jennifer L BriddickJapanAmy Elsner RENEWAL
Cody I GlickArgentinaBernardo Dominic RENEWAL

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