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
Stacey H GillianCanadaStephen Shaw NEW
Leon X KolmetzRussiaBernardo Dominic QUALIFIED
Wickens P AmigonSpainElwin Sharvill UNQUALIFIED
Izzy X CampainFranceOnyama Limba UNQUALIFIED
Aditya R MaletAustraliaAmy Elsner PROPOSAL
Maisha E MaletRussiaElwin Sharvill NEW
Ashley P RulapaughFranceAmy Elsner NEW
Stacey I PoquetteSpainStephen Shaw QUALIFIED
Costa T FlosiItalyIoni Bowcher PROPOSAL
Ivar E InouyeSpainIvan Magalhaes RENEWAL
Ashley T KolmetzCanadaAnna Fali NEGOTIATION
Mayumi T WhobreyUnited KingdomAsiya Javayant RENEWAL
Maisha E BowleyAustraliaXuxue Feng PROPOSAL
Jeanfrancois U CampainItalyElwin Sharvill QUALIFIED
Emily N GlickAustraliaElwin Sharvill PROPOSAL
Kadeem G VocelkaAustraliaAsiya Javayant NEW
Kadeem U MorascaIndiaIvan Magalhaes UNQUALIFIED
Julie C SlusarskiCanadaIoni Bowcher QUALIFIED
Sinclair Y RulapaughAustraliaIoni Bowcher UNQUALIFIED
Arvin J FigeroaFranceOnyama Limba PROPOSAL
Sinclair M MaletItalyAnna Fali QUALIFIED
Wickens X ChuiSpainOnyama Limba NEGOTIATION
Octavia C MaletJapanBernardo Dominic QUALIFIED
Julie N FlosiGermanyIoni Bowcher QUALIFIED
Smith G DilliardArgentinaIvan Magalhaes RENEWAL
Jennifer G MacleadSpainBernardo Dominic QUALIFIED
Cody S MacleadBrazilOnyama Limba PROPOSAL
Nicolas F FollerBrazilBernardo Dominic UNQUALIFIED
Mujtaba G ChuiItalyAnna Fali UNQUALIFIED
Sinclair B FigeroaSpainAnna Fali PROPOSAL
Chavez J WaycottRussiaIvan Magalhaes QUALIFIED
Maria L MaletAustraliaStephen Shaw QUALIFIED
Adams L FollerGermanyAnna Fali NEW
Salvatore F MaletJapanAsiya Javayant PROPOSAL
Tony L StensethItalyElwin Sharvill PROPOSAL
Sinclair E BowleyIndiaBernardo Dominic QUALIFIED
Jefferson T RulapaughArgentinaBernardo Dominic PROPOSAL
Faith I VenereArgentinaOnyama Limba QUALIFIED
Antonio K StockhamItalyStephen Shaw RENEWAL
Rodrigues M RoysterArgentinaOnyama Limba PROPOSAL
Salvatore Z GillianArgentinaElwin Sharvill NEGOTIATION
Leon S OldroydIndiaElwin Sharvill QUALIFIED
Ricardo Q VenereJapanOnyama Limba QUALIFIED
Octavia P BowleyGermanyStephen Shaw UNQUALIFIED
Darci N NickaSpainIvan Magalhaes QUALIFIED
Jones T KuskoBrazilAmy Elsner PROPOSAL
Aditya R InouyeCanadaIoni Bowcher QUALIFIED
Aika M FigeroaFranceBernardo Dominic NEW
Arvin J AmigonArgentinaIvan Magalhaes NEW
Stacey I GauchoBrazilAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Darci H FigeroaFranceAsiya Javayant NEW
Munro U NestleItalyElwin Sharvill RENEWAL
Faith R PerinCanadaBernardo Dominic NEGOTIATION
Wickens T MaletCanadaElwin Sharvill NEGOTIATION
Deepesh Z OstroskyJapanOnyama Limba QUALIFIED
Leon P WieserBrazilStephen Shaw PROPOSAL
Leja R GauchoIndiaAsiya Javayant PROPOSAL
Maria C BriddickArgentinaXuxue Feng RENEWAL
Morrow Z PerinUnited KingdomBernardo Dominic NEGOTIATION
Maisha F AlbaresGermanyAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer I FerenczIndia2025-05-11Buckley Miller Wright UNQUALIFIED63Bernardo Dominic
1001Smith W KuskoBrazil2025-04-20Rousseaux, Michael Esq PROPOSAL51Ivan Magalhaes
1002Aditya N NestleIndia2025-04-29Rangoni Of Florence RENEWAL16Anna Fali
1003Salvatore O CaldareraJapan2025-04-22Rousseaux, Michael Esq QUALIFIED56Asiya Javayant
1004Smith H TollnerItaly2025-05-05Commercial Press RENEWAL20Elwin Sharvill
1005Tony M DarakjyUnited Kingdom2025-04-21Chemel, James L Cpa UNQUALIFIED98Bernardo Dominic
1006Cody X MarrierItaly2025-05-12Rangoni Of Florence NEW35Onyama Limba
1007Alejandro V DoeBrazil2025-04-28Commercial Press NEGOTIATION85Stephen Shaw
1008David X CaldareraIndia2025-04-14Rousseaux, Michael Esq PROPOSAL64Asiya Javayant
1009Tony T WhobreyItaly2025-04-19Chapman, Ross E Esq NEGOTIATION92Elwin Sharvill
1010Costa Y KolmetzRussia2025-04-26Rousseaux, Michael Esq UNQUALIFIED17Ioni Bowcher
1011Tony J SergiItaly2025-04-25Truhlar And Truhlar Attys NEGOTIATION18Ioni Bowcher
1012Darci X StensethJapan2025-04-30Truhlar And Truhlar Attys NEGOTIATION39Amy Elsner
1013Adams R ChuiSpain2025-04-13Commercial Press NEW98Asiya Javayant
1014Salvatore L WhobreyArgentina2025-04-30Truhlar And Truhlar Attys QUALIFIED20Bernardo Dominic
1015Leja Y GlickRussia2025-04-27Feiner Bros UNQUALIFIED51Ioni Bowcher
1016Kaitlin Q RoysterCanada2025-05-12Chanay, Jeffrey A Esq UNQUALIFIED89Anna Fali
1017Maisha J BologniaUnited Kingdom2025-04-17Printing Dimensions QUALIFIED90Anna Fali
1018Juan M VenereJapan2025-04-17Rousseaux, Michael Esq UNQUALIFIED34Bernardo Dominic
1019Deepesh J DilliardRussia2025-04-15Printing Dimensions NEGOTIATION96Xuxue Feng
1020Isabel B NestleUnited Kingdom2025-05-03Dorl, James J Esq QUALIFIED10Stephen Shaw
1021Misaki F TollnerFrance2025-04-22Truhlar And Truhlar Attys PROPOSAL63Stephen Shaw
1022Emily S MorascaFrance2025-04-21Benton, John B Jr RENEWAL86Xuxue Feng
1023Leon Q MaletSpain2025-05-05Dorl, James J Esq QUALIFIED37Ioni Bowcher
1024Darci W CampainIndia2025-05-08Buckley Miller Wright PROPOSAL9Onyama Limba
1025Faith W MacleadBrazil2025-04-17Chapman, Ross E Esq NEGOTIATION16Asiya Javayant
1026Morrow F GarufiBrazil2025-04-25Chemel, James L Cpa UNQUALIFIED35Asiya Javayant
1027Aika S ChuiCanada2025-04-30Benton, John B Jr NEW24Xuxue Feng
1028Kadeem R SlusarskiRussia2025-04-13Rangoni Of Florence PROPOSAL63Elwin Sharvill
1029Faith Q KolmetzArgentina2025-04-21Printing Dimensions NEGOTIATION63Onyama Limba
1030Izzy P MacleadFrance2025-05-08Rousseaux, Michael Esq UNQUALIFIED88Anna Fali
1031Murillo P MaletGermany2025-04-23Morlong Associates NEGOTIATION12Ivan Magalhaes
1032Leon Z KolmetzIndia2025-04-29Benton, John B Jr UNQUALIFIED30Anna Fali
1033Clifford P OldroydSpain2025-04-21Morlong Associates PROPOSAL20Ivan Magalhaes
1034Cody Y ShinkoAustralia2025-04-14Rousseaux, Michael Esq UNQUALIFIED87Bernardo Dominic
1035Maisha Y PoquetteIndia2025-05-08Rousseaux, Michael Esq RENEWAL49Anna Fali
1036Aruna J ButtSpain2025-05-11Morlong Associates NEW52Elwin Sharvill
1037Julie J StockhamFrance2025-04-15Morlong Associates UNQUALIFIED97Asiya Javayant
1038Chavez A GlickUnited Kingdom2025-04-23Dorl, James J Esq UNQUALIFIED3Anna Fali
1039Aika J WhobreyBrazil2025-04-13Chemel, James L Cpa NEGOTIATION45Elwin Sharvill
1040Ashley T FlosiCanada2025-04-14Chapman, Ross E Esq PROPOSAL12Ioni Bowcher
1041Silvio K WieserFrance2025-05-01Rangoni Of Florence NEW96Asiya Javayant
1042Munro N KolmetzItaly2025-05-10King, Christopher A Esq UNQUALIFIED97Xuxue Feng
1043Mujtaba T WieserSpain2025-04-13Buckley Miller Wright RENEWAL92Ioni Bowcher
1044Jennifer I PerinGermany2025-05-03Feiner Bros QUALIFIED41Ivan Magalhaes
1045Clifford Z RutaItaly2025-04-17Morlong Associates NEGOTIATION95Stephen Shaw
1046Salvatore N GlickJapan2025-04-23Commercial Press NEGOTIATION94Ioni Bowcher
1047Faith T FigeroaJapan2025-04-20Buckley Miller Wright PROPOSAL73Elwin Sharvill
1048Arvin L IturbideJapan2025-04-18Commercial Press UNQUALIFIED61Asiya Javayant
1049Adams I RimArgentina2025-04-16Commercial Press NEGOTIATION46Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria I GarufiFranceStephen Shaw UNQUALIFIED
Misaki I RutaRussiaXuxue Feng NEGOTIATION
Cody F GillianArgentinaBernardo Dominic NEW
Isabel E KolmetzCanadaStephen Shaw PROPOSAL
Ricardo N OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Aika Y InouyeSpainIvan Magalhaes RENEWAL
Cody N PoquetteArgentinaIoni Bowcher PROPOSAL
Clifford E CaudyBrazilXuxue Feng QUALIFIED
Greenwood G MaletJapanXuxue Feng RENEWAL
Octavia U DoeJapanElwin Sharvill RENEWAL
Jeanfrancois J BologniaIndiaIoni Bowcher RENEWAL
Antonio N OldroydRussiaAsiya Javayant RENEWAL
Ivar D MarrierBrazilElwin Sharvill NEGOTIATION
Maria Z CaudyRussiaAnna Fali RENEWAL
Kaitlin T PerinIndiaXuxue Feng PROPOSAL
Jones I MarrierGermanyElwin Sharvill NEGOTIATION
Johnson I MaletRussiaAmy Elsner RENEWAL
Jennifer H BologniaArgentinaAmy Elsner QUALIFIED
Isabel M GillianSpainElwin Sharvill UNQUALIFIED
Silvio Z MarrierIndiaStephen Shaw NEW
Chavez G CampainCanadaAmy Elsner NEW
Antonio E WaycottCanadaAnna Fali QUALIFIED
Adams G MorascaGermanyIoni Bowcher RENEWAL
Stacey D RutaItalyOnyama Limba QUALIFIED
Sinclair H MorascaGermanyAsiya Javayant NEGOTIATION
Sinclair D GauchoItalyIvan Magalhaes UNQUALIFIED
Tony S MaletBrazilIvan Magalhaes RENEWAL
Jefferson A PoquetteBrazilBernardo Dominic NEGOTIATION
Kaitlin N KuskoJapanIoni Bowcher NEGOTIATION
David S MarrierBrazilIoni Bowcher PROPOSAL
Cody Z WhobreyArgentinaAmy Elsner PROPOSAL
Ashley G PoquetteGermanyXuxue Feng NEW
Kaitlin I VocelkaIndiaAnna Fali UNQUALIFIED
Leon X NickaIndiaAsiya Javayant NEGOTIATION
Kadeem T MorascaRussiaStephen Shaw NEW
Maisha M MorascaIndiaOnyama Limba RENEWAL
Jeanfrancois Y FigeroaItalyBernardo Dominic RENEWAL
Antonio L SaylorsCanadaXuxue Feng QUALIFIED
Izzy O VenereGermanyBernardo Dominic UNQUALIFIED
Francesco D CampainItalyElwin Sharvill UNQUALIFIED
Tony Y ButtSpainAmy Elsner NEGOTIATION
Adams J MaletAustraliaAnna Fali RENEWAL
Salvatore I BriddickFranceAsiya Javayant UNQUALIFIED
Aruna J SergiArgentinaElwin Sharvill RENEWAL
James O BowleyIndiaOnyama Limba NEGOTIATION
Mayumi U GlickJapanBernardo Dominic QUALIFIED
Stacey P StockhamRussiaOnyama Limba NEW
Julie X WaycottRussiaXuxue Feng NEW
Greenwood K PaprockiItalyOnyama Limba NEGOTIATION
Adams W GauchoUnited KingdomAnna Fali NEW
Frozen Columns
Name
Salvatore B Ferencz
Leon M Malet
Mujtaba G Maclead
Leja W Darakjy
Tony T Wieser
Francesco A Flosi
Kadeem C Garufi
Arvin V Oldroyd
Francesco X Stenseth
Salvatore K Oldroyd
Jeanfrancois I Doe
Izzy P Doe
Mujtaba R Stenseth
Murillo D Figeroa
Jefferson E Paprocki
Jefferson U Rim
Kaitlin D Maclead
Octavia A Poquette
Silvio S Sergi
Nicolas A Foller
Mujtaba H Stockham
David Y Vocelka
Morrow Q Stenseth
Morrow E Chui
Adams N Kolmetz
Salvatore L Schemmer
Alejandro T Sergi
Tony I Whobrey
Adams X Saylors
Nicolas Z Stockham
Darci D Slusarski
Cody T Foller
Murillo Q Morasca
Antonio C Slusarski
Clifford K Iturbide
Izzy Q Iturbide
Jennifer W Marrier
Johnson H Campain
Julie V Paprocki
Jefferson A Nicka
Stacey J Nicka
Aruna E Albares
Mujtaba C Nestle
Alejandro T Morasca
Emily N Poquette
David Q Glick
Nicolas C Rim
Mujtaba L Paprocki
Isabel K Oldroyd
Sinclair T Darakjy
IdCountryDate
1000Canada2025-04-24
1001Russia2025-04-21
1002Canada2025-04-22
1003Canada2025-05-09
1004Canada2025-04-20
1005Brazil2025-04-30
1006Germany2025-04-28
1007United Kingdom2025-04-18
1008Germany2025-04-13
1009Spain2025-04-27
1010France2025-05-05
1011Japan2025-04-13
1012Germany2025-04-27
1013Germany2025-04-23
1014France2025-04-14
1015Australia2025-05-01
1016Italy2025-04-21
1017France2025-05-12
1018Russia2025-05-11
1019France2025-05-08
1020Russia2025-04-29
1021Argentina2025-04-13
1022Russia2025-05-05
1023Japan2025-05-07
1024Argentina2025-04-27
1025Australia2025-04-24
1026Spain2025-05-09
1027Italy2025-04-24
1028Russia2025-05-02
1029Japan2025-04-15
1030France2025-04-25
1031France2025-04-23
1032Brazil2025-04-23
1033Argentina2025-04-13
1034Canada2025-05-09
1035Germany2025-05-01
1036Canada2025-04-22
1037Australia2025-05-08
1038Brazil2025-04-17
1039Germany2025-04-17
1040Spain2025-04-13
1041Italy2025-04-27
1042Brazil2025-05-05
1043United Kingdom2025-04-14
1044Brazil2025-04-23
1045Spain2025-05-11
1046Italy2025-04-28
1047Japan2025-04-29
1048Germany2025-04-18
1049India2025-05-07

On-Demand Data

NameIdCountryDate
Johnson E Doe1000United Kingdom2025-04-20
Kadeem L Vocelka1001Canada2025-04-15
Adams W Poquette1002India2025-04-23
Morrow H Schemmer1003Japan2025-05-10
Silvio H Wieser1004Japan2025-04-29
Maria I Gaucho1005India2025-04-25
Sinclair F Glick1006Argentina2025-04-24
Kaitlin W Butt1007France2025-04-29
Claire Q Ferencz1008United Kingdom2025-04-23
Faith O Nestle1009Russia2025-05-07
Claire S Darakjy1010India2025-04-23
Mujtaba I Caudy1011India2025-05-01
Deepesh I Bolognia1012France2025-04-17
Aruna H Shinko1013Russia2025-05-12
Munro B Doe1014Australia2025-04-30
Juan Z Caldarera1015Argentina2025-04-14
Sinclair I Butt1016Germany2025-04-26
Deepesh V Chui1017Japan2025-04-22
Maisha N Foller1018United Kingdom2025-04-27
Maisha W Perin1019Japan2025-04-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna T WieserCanadaAnna Fali UNQUALIFIED
Darci L WhobreyRussiaStephen Shaw QUALIFIED
Clifford L FerenczRussiaStephen Shaw PROPOSAL
James Y RimJapanAsiya Javayant NEGOTIATION
Murillo B RoysterFranceIoni Bowcher NEGOTIATION
Kaitlin O RulapaughRussiaAsiya Javayant NEGOTIATION
Ashley Y CaudySpainOnyama Limba QUALIFIED
Emily W TollnerGermanyXuxue Feng PROPOSAL
Mayumi I VocelkaCanadaIvan Magalhaes NEW
Tony T ChuiArgentinaAnna Fali PROPOSAL
Kadeem W ChuiGermanyIoni Bowcher UNQUALIFIED
Ricardo X OstroskyCanadaAnna Fali PROPOSAL
David J OldroydAustraliaIvan Magalhaes NEGOTIATION
Jones F StockhamIndiaAmy Elsner PROPOSAL
Smith A OstroskyJapanAmy Elsner UNQUALIFIED
Munro Y GauchoGermanyIoni Bowcher QUALIFIED
Nicolas O DarakjyGermanyXuxue Feng UNQUALIFIED
Julie U NestleJapanIoni Bowcher NEGOTIATION
Francesco P FollerArgentinaElwin Sharvill NEGOTIATION
Kaitlin Y PerinIndiaXuxue Feng NEW
Wickens T InouyeCanadaIoni Bowcher NEGOTIATION
Juan K CaudyCanadaIoni Bowcher PROPOSAL
Juan D MorascaFranceIoni Bowcher UNQUALIFIED
Costa D ShinkoUnited KingdomElwin Sharvill NEW
Jefferson J OldroydArgentinaIoni Bowcher QUALIFIED
Jeanfrancois A ButtFranceIvan Magalhaes NEW
Nicolas E CampainFranceAmy Elsner QUALIFIED
Julie L RulapaughIndiaStephen Shaw NEGOTIATION
Ricardo G FerenczIndiaStephen Shaw RENEWAL
Nicolas Z MorascaCanadaIoni Bowcher QUALIFIED
Aditya Y BowleyRussiaXuxue Feng UNQUALIFIED
Isabel A BriddickFranceElwin Sharvill NEW
Jennifer R ChuiFranceOnyama Limba NEW
Emily Q PaprockiJapanAsiya Javayant QUALIFIED
Munro W WaycottGermanyXuxue Feng UNQUALIFIED
Kadeem B AmigonSpainAsiya Javayant NEW
Mayumi M MarrierFranceIvan Magalhaes NEGOTIATION
Costa J MaletFranceIvan Magalhaes PROPOSAL
Adams M GarufiJapanBernardo Dominic QUALIFIED
Alejandro X DoeGermanyXuxue Feng 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>