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
Adams C GauchoArgentinaBernardo Dominic PROPOSAL
Julie Y GlickItalyElwin Sharvill RENEWAL
Chavez G GauchoGermanyXuxue Feng NEW
Mujtaba P SlusarskiArgentinaStephen Shaw UNQUALIFIED
Izzy M FollerFranceIvan Magalhaes PROPOSAL
Deepesh D IturbideUnited KingdomBernardo Dominic PROPOSAL
Silvio L InouyeFranceIvan Magalhaes NEW
Faith A SergiBrazilOnyama Limba RENEWAL
Jefferson K GillianCanadaOnyama Limba NEW
Jefferson B FollerBrazilXuxue Feng PROPOSAL
Juan S RulapaughAustraliaElwin Sharvill RENEWAL
Izzy C BowleyCanadaAmy Elsner QUALIFIED
Aditya X FlosiGermanyBernardo Dominic UNQUALIFIED
Faith H BologniaRussiaIvan Magalhaes RENEWAL
Salvatore T RulapaughBrazilIoni Bowcher NEW
Deepesh O PoquetteJapanIvan Magalhaes NEW
Jefferson L NestleFranceBernardo Dominic RENEWAL
James B VocelkaArgentinaXuxue Feng RENEWAL
Emily D WieserJapanStephen Shaw PROPOSAL
Smith X BologniaBrazilAnna Fali QUALIFIED
Clifford L RoysterGermanyStephen Shaw UNQUALIFIED
Misaki W OldroydArgentinaStephen Shaw NEGOTIATION
Ashley H DilliardBrazilBernardo Dominic RENEWAL
Julie K CaudyCanadaOnyama Limba NEGOTIATION
Morrow L IturbideBrazilElwin Sharvill RENEWAL
Silvio Y PaprockiUnited KingdomBernardo Dominic NEW
Kadeem P StensethUnited KingdomStephen Shaw UNQUALIFIED
Isabel S SlusarskiBrazilBernardo Dominic NEW
Sinclair N OstroskySpainBernardo Dominic QUALIFIED
Salvatore R CaldareraJapanOnyama Limba QUALIFIED
Alejandro L KuskoSpainXuxue Feng PROPOSAL
Adams C MarrierIndiaAsiya Javayant NEGOTIATION
Maria A CaudyItalyAsiya Javayant NEGOTIATION
Jeanfrancois R OldroydFranceIvan Magalhaes QUALIFIED
Morrow F PoquetteSpainElwin Sharvill NEGOTIATION
Sinclair Q MarrierSpainBernardo Dominic NEW
Silvio M DilliardUnited KingdomBernardo Dominic RENEWAL
Isabel Z BologniaBrazilXuxue Feng NEGOTIATION
Francesco D DilliardRussiaAnna Fali PROPOSAL
Rodrigues O VocelkaRussiaAsiya Javayant QUALIFIED
Ashley O StensethJapanBernardo Dominic NEW
Rodrigues F FigeroaUnited KingdomAmy Elsner RENEWAL
James K FigeroaSpainXuxue Feng QUALIFIED
Aruna Q RoysterJapanAsiya Javayant UNQUALIFIED
Rodrigues I StensethRussiaOnyama Limba QUALIFIED
Octavia F PaprockiCanadaXuxue Feng NEW
Maisha G MorascaGermanyXuxue Feng NEGOTIATION
Aruna F TollnerBrazilAnna Fali PROPOSAL
Ivar K BriddickArgentinaIoni Bowcher RENEWAL
Antonio J GlickAustraliaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin Q RutaBrazilXuxue Feng PROPOSAL
Ivar T VenereGermanyBernardo Dominic UNQUALIFIED
Aditya F ButtGermanyXuxue Feng PROPOSAL
Tony M CampainAustraliaOnyama Limba UNQUALIFIED
Julie T WhobreyCanadaBernardo Dominic UNQUALIFIED
Rodrigues E TollnerSpainOnyama Limba NEW
Kadeem O NestleCanadaAnna Fali RENEWAL
Jennifer D CaudyRussiaAmy Elsner QUALIFIED
Mujtaba B WaycottAustraliaAsiya Javayant NEW
Ivar E CaudyBrazilIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson K SaylorsBrazil2024-05-28Chapman, Ross E Esq NEW47Amy Elsner
1001Jeanfrancois A FollerGermany2024-06-02Rousseaux, Michael Esq UNQUALIFIED31Asiya Javayant
1002Jones P MaletArgentina2024-06-17Chemel, James L Cpa NEGOTIATION39Elwin Sharvill
1003Stacey P PerinItaly2024-05-28Morlong Associates NEW20Asiya Javayant
1004Cody N OstroskyCanada2024-05-30Morlong Associates NEGOTIATION0Xuxue Feng
1005Octavia E StockhamGermany2024-06-22Feltz Printing Service NEW79Bernardo Dominic
1006Chavez S WieserItaly2024-06-10Commercial Press NEGOTIATION14Onyama Limba
1007Jones F OldroydBrazil2024-06-03Chemel, James L Cpa PROPOSAL10Ivan Magalhaes
1008Munro J WhobreyFrance2024-06-02Rousseaux, Michael Esq UNQUALIFIED93Asiya Javayant
1009Juan A InouyeGermany2024-06-10Printing Dimensions RENEWAL86Onyama Limba
1010Juan D FollerArgentina2024-06-16Rousseaux, Michael Esq UNQUALIFIED79Amy Elsner
1011Stacey N GarufiAustralia2024-05-28Chapman, Ross E Esq UNQUALIFIED16Onyama Limba
1012Murillo M CaudyFrance2024-06-01Chemel, James L Cpa UNQUALIFIED53Stephen Shaw
1013David V DilliardSpain2024-06-17King, Christopher A Esq NEW12Xuxue Feng
1014Adams E OldroydUnited Kingdom2024-05-26Commercial Press NEW93Xuxue Feng
1015Jones C RutaBrazil2024-06-21Feiner Bros RENEWAL16Bernardo Dominic
1016Stacey M RulapaughRussia2024-05-26Feltz Printing Service UNQUALIFIED81Onyama Limba
1017Jefferson G KolmetzRussia2024-06-01Morlong Associates NEGOTIATION99Amy Elsner
1018Ricardo P WieserRussia2024-05-26Dorl, James J Esq RENEWAL98Xuxue Feng
1019Leon D OldroydAustralia2024-06-12Chemel, James L Cpa UNQUALIFIED38Ivan Magalhaes
1020Deepesh X FerenczJapan2024-06-04Rousseaux, Michael Esq NEGOTIATION81Xuxue Feng
1021Munro V WhobreyCanada2024-06-05Chanay, Jeffrey A Esq NEGOTIATION67Ivan Magalhaes
1022Jeanfrancois Z DoeGermany2024-06-22Chemel, James L Cpa NEW25Ioni Bowcher
1023Antonio C FerenczBrazil2024-06-18Dorl, James J Esq RENEWAL37Stephen Shaw
1024David E FerenczGermany2024-06-24Benton, John B Jr UNQUALIFIED43Asiya Javayant
1025Costa C SaylorsIndia2024-05-26Printing Dimensions PROPOSAL63Ivan Magalhaes
1026Emily E GauchoIndia2024-06-11Chapman, Ross E Esq NEGOTIATION46Onyama Limba
1027Aditya X RoysterSpain2024-06-01Dorl, James J Esq QUALIFIED26Ivan Magalhaes
1028Jeanfrancois A RoysterGermany2024-06-21Commercial Press QUALIFIED70Anna Fali
1029Jeanfrancois R AmigonGermany2024-06-01Truhlar And Truhlar Attys NEGOTIATION29Elwin Sharvill
1030Cody K DarakjyBrazil2024-06-10Dorl, James J Esq RENEWAL9Onyama Limba
1031Misaki D ChuiArgentina2024-05-30Dorl, James J Esq UNQUALIFIED66Elwin Sharvill
1032Leja B MacleadSpain2024-06-03Chapman, Ross E Esq PROPOSAL29Xuxue Feng
1033David J SchemmerIndia2024-06-06Dorl, James J Esq UNQUALIFIED49Asiya Javayant
1034Izzy D RutaItaly2024-06-08Feiner Bros QUALIFIED19Elwin Sharvill
1035Morrow M SchemmerItaly2024-06-04Chanay, Jeffrey A Esq NEW24Stephen Shaw
1036Silvio Y GarufiUnited Kingdom2024-06-22Chapman, Ross E Esq PROPOSAL57Anna Fali
1037Aika R DilliardCanada2024-06-02Chapman, Ross E Esq QUALIFIED29Ioni Bowcher
1038Arvin I MacleadIndia2024-06-22Benton, John B Jr UNQUALIFIED49Amy Elsner
1039Leon W TollnerRussia2024-06-19Chemel, James L Cpa NEGOTIATION93Anna Fali
1040James W AlbaresArgentina2024-06-21Morlong Associates UNQUALIFIED24Onyama Limba
1041Leja D MaletFrance2024-06-08Morlong Associates UNQUALIFIED93Xuxue Feng
1042Murillo F CaudyFrance2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED89Amy Elsner
1043Arvin S FlosiSpain2024-06-13King, Christopher A Esq NEW49Xuxue Feng
1044Munro L DarakjyGermany2024-06-13Chemel, James L Cpa NEGOTIATION78Amy Elsner
1045Mayumi Q DoeUnited Kingdom2024-06-03Morlong Associates QUALIFIED28Asiya Javayant
1046James W KolmetzJapan2024-05-27Chanay, Jeffrey A Esq PROPOSAL17Anna Fali
1047Deepesh Q AlbaresItaly2024-06-10Dorl, James J Esq RENEWAL94Xuxue Feng
1048Darci D BowleyIndia2024-06-06Morlong Associates NEW97Onyama Limba
1049Maria R PaprockiSpain2024-06-16Chanay, Jeffrey A Esq NEGOTIATION40Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Salvatore T AlbaresRussiaOnyama Limba UNQUALIFIED
Francesco O AmigonItalyIvan Magalhaes NEW
Claire D CaldareraAustraliaBernardo Dominic RENEWAL
Sinclair N MorascaRussiaStephen Shaw NEGOTIATION
Emily E MaletBrazilOnyama Limba UNQUALIFIED
Jennifer K DilliardAustraliaBernardo Dominic NEGOTIATION
Adams V OldroydCanadaAnna Fali PROPOSAL
Stacey M NickaBrazilXuxue Feng QUALIFIED
Adams E MacleadUnited KingdomAmy Elsner PROPOSAL
David R NestleRussiaIoni Bowcher UNQUALIFIED
Juan I FerenczIndiaAnna Fali NEGOTIATION
Mayumi F RutaJapanElwin Sharvill PROPOSAL
Jeanfrancois O KuskoIndiaAnna Fali QUALIFIED
Izzy A FerenczAustraliaElwin Sharvill NEGOTIATION
Ivar I DoeBrazilAsiya Javayant NEW
Alejandro N SlusarskiArgentinaStephen Shaw NEW
Costa B WhobreySpainIoni Bowcher NEW
Deepesh B OstroskyBrazilIvan Magalhaes QUALIFIED
Ashley I OldroydItalyElwin Sharvill RENEWAL
Maisha T DoeItalyAnna Fali NEW
Wickens S GarufiJapanXuxue Feng QUALIFIED
James B RoysterIndiaAmy Elsner NEGOTIATION
Octavia T PoquetteArgentinaAsiya Javayant NEGOTIATION
Sinclair C NestleFranceAnna Fali NEGOTIATION
Izzy F FigeroaIndiaAmy Elsner NEW
Aditya Q MaletItalyStephen Shaw QUALIFIED
Jeanfrancois Z FlosiFranceAnna Fali RENEWAL
Misaki M VenereIndiaIoni Bowcher NEGOTIATION
Antonio N TollnerRussiaOnyama Limba NEW
Chavez H RulapaughArgentinaIoni Bowcher PROPOSAL
Darci Q DoeJapanIoni Bowcher PROPOSAL
Murillo K InouyeFranceStephen Shaw QUALIFIED
Wickens Y WhobreyUnited KingdomElwin Sharvill PROPOSAL
Juan Z RoysterArgentinaAnna Fali PROPOSAL
Isabel J MorascaJapanXuxue Feng PROPOSAL
Ivar P DilliardArgentinaBernardo Dominic NEW
Nicolas N BowleyGermanyIoni Bowcher QUALIFIED
Aruna A FollerSpainElwin Sharvill RENEWAL
Jennifer H KuskoCanadaStephen Shaw NEGOTIATION
Kaitlin F CaudyGermanyIvan Magalhaes UNQUALIFIED
Ivar V ButtSpainIoni Bowcher NEGOTIATION
Chavez B KolmetzJapanAsiya Javayant PROPOSAL
Johnson R MorascaUnited KingdomElwin Sharvill NEW
Adams O CampainUnited KingdomIoni Bowcher PROPOSAL
Leja O FlosiSpainIoni Bowcher PROPOSAL
Nicolas T WieserIndiaXuxue Feng RENEWAL
Rodrigues T FerenczFranceAmy Elsner QUALIFIED
Deepesh T MacleadCanadaElwin Sharvill NEW
Maria C ButtIndiaAsiya Javayant UNQUALIFIED
Rodrigues Q PerinSpainAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Ashley R Inouye
Isabel Q Saylors
Deepesh N Butt
Maria Y Rim
Wickens X Perin
Alejandro B Rulapaugh
Mujtaba A Gaucho
Francesco B Ferencz
Darci Q Malet
Alejandro K Gaucho
Tony F Briddick
Kaitlin F Waycott
Costa B Campain
Mujtaba G Rulapaugh
Tony C Briddick
Silvio Y Doe
Murillo Z Venere
Jennifer X Ruta
Cody Q Bolognia
Cody I Maclead
Deepesh C Figeroa
Ricardo S Saylors
Faith J Ostrosky
Jefferson T Schemmer
Clifford X Malet
Munro Y Saylors
Julie Z Darakjy
Deepesh H Vocelka
Sinclair N Garufi
Claire R Waycott
Jennifer Y Morasca
Stacey J Morasca
Ivar H Maclead
Mujtaba X Gaucho
Mayumi B Rulapaugh
Ricardo R Perin
Jones X Dilliard
Ashley O Oldroyd
Ivar M Kusko
Sinclair Q Caldarera
Leja Z Doe
Smith G Foller
Ivar A Amigon
Munro S Butt
Smith W Flosi
Jennifer S Shinko
Jefferson U Slusarski
Aditya M Wieser
Ashley Y Marrier
Aruna T Tollner
IdCountryDate
1000Argentina2024-06-09
1001Australia2024-06-11
1002Canada2024-06-03
1003Russia2024-06-13
1004Italy2024-06-19
1005Italy2024-06-09
1006United Kingdom2024-06-20
1007Argentina2024-06-09
1008Germany2024-06-14
1009India2024-06-02
1010Spain2024-06-18
1011Brazil2024-06-03
1012Germany2024-06-01
1013Italy2024-05-29
1014Germany2024-05-27
1015Russia2024-06-15
1016Australia2024-06-01
1017Italy2024-06-22
1018Australia2024-06-06
1019India2024-05-28
1020France2024-05-31
1021France2024-06-16
1022United Kingdom2024-05-28
1023Russia2024-06-04
1024Italy2024-06-16
1025France2024-06-10
1026Italy2024-06-11
1027Japan2024-06-07
1028Russia2024-06-16
1029Brazil2024-06-16
1030France2024-06-17
1031Italy2024-06-11
1032Germany2024-06-08
1033United Kingdom2024-06-24
1034Italy2024-06-12
1035Canada2024-05-27
1036Russia2024-06-23
1037Japan2024-06-16
1038Argentina2024-05-28
1039United Kingdom2024-06-22
1040France2024-05-30
1041Italy2024-06-06
1042India2024-06-03
1043Argentina2024-06-12
1044Canada2024-06-14
1045Germany2024-06-10
1046Argentina2024-06-17
1047Italy2024-05-31
1048India2024-06-24
1049Germany2024-06-03

On-Demand Data

NameIdCountryDate
Stacey Z Nestle1000Japan2024-06-17
Tony K Foller1001Spain2024-05-29
Maria U Paprocki1002Australia2024-05-29
Salvatore V Bowley1003Argentina2024-06-03
Smith J Wieser1004Italy2024-06-03
Silvio M Gillian1005Italy2024-05-28
Silvio G Maclead1006Russia2024-06-15
Emily L Venere1007Germany2024-06-05
Aditya H Rulapaugh1008Australia2024-06-14
Leon X Caudy1009Germany2024-06-02
Aditya Z Royster1010Japan2024-06-12
Emily B Malet1011Germany2024-06-13
Rodrigues V Vocelka1012Italy2024-06-05
Juan F Flosi1013Argentina2024-05-31
Mayumi H Saylors1014Italy2024-06-13
Morrow U Kusko1015Canada2024-06-09
Julie J Gaucho1016France2024-06-17
Sinclair T Sergi1017Canada2024-06-02
Morrow L Oldroyd1018Canada2024-06-23
Greenwood S Slusarski1019Japan2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha B GillianItalyOnyama Limba QUALIFIED
Salvatore I VenereSpainAsiya Javayant QUALIFIED
Alejandro Y SergiJapanAsiya Javayant PROPOSAL
Emily L MaletCanadaStephen Shaw RENEWAL
Ivar U PerinItalyElwin Sharvill PROPOSAL
Arvin K StensethCanadaIoni Bowcher QUALIFIED
Misaki D FlosiArgentinaElwin Sharvill UNQUALIFIED
Maisha Z AlbaresIndiaXuxue Feng RENEWAL
Stacey O StensethRussiaElwin Sharvill NEGOTIATION
Alejandro A MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson A KuskoIndiaAnna Fali NEGOTIATION
Greenwood Z NickaArgentinaOnyama Limba PROPOSAL
Johnson R DilliardIndiaBernardo Dominic PROPOSAL
Kadeem Y FigeroaGermanyXuxue Feng QUALIFIED
Octavia X WhobreyBrazilXuxue Feng PROPOSAL
Ashley H OldroydAustraliaAmy Elsner UNQUALIFIED
Salvatore X PaprockiAustraliaAmy Elsner NEW
Jefferson N NestleSpainAmy Elsner NEGOTIATION
Ricardo J SchemmerBrazilStephen Shaw PROPOSAL
Izzy V WieserGermanyIvan Magalhaes UNQUALIFIED
Ashley A VocelkaAustraliaAnna Fali PROPOSAL
Silvio Q OstroskyRussiaOnyama Limba NEGOTIATION
Tony F InouyeArgentinaOnyama Limba NEW
Wickens L ShinkoJapanIvan Magalhaes UNQUALIFIED
Tony M RoysterArgentinaAnna Fali NEGOTIATION
Maisha U KolmetzGermanyAmy Elsner UNQUALIFIED
Francesco K MaletBrazilStephen Shaw QUALIFIED
Morrow N KuskoAustraliaIvan Magalhaes NEW
Darci G DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues Y StockhamIndiaBernardo Dominic NEW
Kadeem B ChuiSpainAsiya Javayant PROPOSAL
Misaki L GauchoArgentinaAmy Elsner NEGOTIATION
David Z InouyeJapanStephen Shaw NEW
Nicolas V VocelkaIndiaAmy Elsner UNQUALIFIED
Silvio G FollerFranceIoni Bowcher QUALIFIED
Leja V AlbaresRussiaAnna Fali NEW
Darci L SlusarskiGermanyIoni Bowcher UNQUALIFIED
Cody X RimGermanyAsiya Javayant PROPOSAL
Morrow T IturbideAustraliaBernardo Dominic RENEWAL
Ashley W IturbideRussiaAnna Fali 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>