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
Ivar B OldroydRussiaAnna Fali NEGOTIATION
Aika M GauchoAustraliaElwin Sharvill NEGOTIATION
Nicolas L StockhamBrazilBernardo Dominic QUALIFIED
Adams U RoysterFranceXuxue Feng PROPOSAL
Mujtaba X MaletItalyStephen Shaw RENEWAL
Juan T StensethFranceAsiya Javayant QUALIFIED
Clifford N WieserUnited KingdomXuxue Feng PROPOSAL
Leon N OstroskyJapanAmy Elsner NEGOTIATION
Adams H NestleBrazilAnna Fali QUALIFIED
Kaitlin X OstroskyArgentinaAsiya Javayant UNQUALIFIED
Murillo N SergiBrazilAnna Fali QUALIFIED
Isabel U RutaUnited KingdomXuxue Feng PROPOSAL
Ricardo C KolmetzAustraliaOnyama Limba RENEWAL
Julie F NestleCanadaIoni Bowcher RENEWAL
Octavia Z NestleItalyAsiya Javayant QUALIFIED
Greenwood H MaletJapanIvan Magalhaes UNQUALIFIED
Maisha V TollnerJapanOnyama Limba UNQUALIFIED
Munro M SaylorsIndiaIvan Magalhaes UNQUALIFIED
Alejandro E TollnerAustraliaElwin Sharvill UNQUALIFIED
Maria S RimRussiaIoni Bowcher NEW
Isabel I AmigonJapanStephen Shaw NEGOTIATION
Costa Z GauchoArgentinaAmy Elsner UNQUALIFIED
Morrow H RutaRussiaAsiya Javayant NEGOTIATION
Salvatore Z MorascaAustraliaAnna Fali NEW
Munro S BologniaGermanyAsiya Javayant NEGOTIATION
Greenwood G ShinkoAustraliaElwin Sharvill RENEWAL
Arvin H CampainUnited KingdomIoni Bowcher QUALIFIED
Arvin Y RulapaughItalyBernardo Dominic QUALIFIED
Mayumi B PoquetteSpainAmy Elsner NEW
Faith H SaylorsItalyIoni Bowcher QUALIFIED
Mayumi G AmigonRussiaStephen Shaw NEW
Kaitlin I NickaUnited KingdomAsiya Javayant QUALIFIED
Murillo K FerenczItalyIvan Magalhaes NEW
Silvio V MarrierFranceAsiya Javayant QUALIFIED
Clifford X MaletGermanyAsiya Javayant PROPOSAL
Wickens I CampainFranceIvan Magalhaes NEW
Julie J RoysterSpainOnyama Limba NEW
Clifford T RutaSpainElwin Sharvill PROPOSAL
Octavia W BowleyItalyIoni Bowcher QUALIFIED
Nicolas Q CampainItalyAmy Elsner RENEWAL
David V PaprockiRussiaAsiya Javayant PROPOSAL
Leja Y InouyeItalyIoni Bowcher RENEWAL
Clifford B KuskoSpainAsiya Javayant RENEWAL
Antonio D DilliardCanadaElwin Sharvill PROPOSAL
Jennifer X AlbaresRussiaAnna Fali QUALIFIED
Jones L GarufiBrazilStephen Shaw NEGOTIATION
Juan O RoysterItalyXuxue Feng RENEWAL
Aika A WaycottGermanyBernardo Dominic PROPOSAL
Clifford X AlbaresUnited KingdomAsiya Javayant NEW
Wickens D AmigonItalyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro R ShinkoIndiaIoni Bowcher UNQUALIFIED
Antonio Z TollnerIndiaAsiya Javayant RENEWAL
Alejandro R GarufiCanadaAmy Elsner UNQUALIFIED
Rodrigues W MacleadItalyIvan Magalhaes NEW
Rodrigues W WieserGermanyStephen Shaw NEGOTIATION
Jeanfrancois N KolmetzJapanIoni Bowcher PROPOSAL
Faith R VenereGermanyAnna Fali QUALIFIED
Wickens O GauchoIndiaStephen Shaw NEGOTIATION
Greenwood K AmigonIndiaIvan Magalhaes QUALIFIED
Greenwood T IturbideJapanAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi E KolmetzJapan2024-05-27Printing Dimensions RENEWAL9Stephen Shaw
1001Isabel F GauchoJapan2024-06-08Chanay, Jeffrey A Esq QUALIFIED28Anna Fali
1002Isabel O MarrierFrance2024-06-20Feltz Printing Service UNQUALIFIED45Ivan Magalhaes
1003Ivar T PoquetteItaly2024-06-08Commercial Press NEW55Asiya Javayant
1004Aika R GarufiFrance2024-06-13Printing Dimensions QUALIFIED7Ioni Bowcher
1005Kaitlin R GarufiUnited Kingdom2024-06-02Dorl, James J Esq NEW15Asiya Javayant
1006Faith M RutaJapan2024-06-13Truhlar And Truhlar Attys RENEWAL10Anna Fali
1007Mayumi Z FlosiIndia2024-06-19Rangoni Of Florence NEGOTIATION7Stephen Shaw
1008Alejandro R WieserUnited Kingdom2024-06-03Commercial Press NEGOTIATION90Bernardo Dominic
1009Maisha Y BologniaAustralia2024-06-10Morlong Associates NEGOTIATION50Anna Fali
1010Julie W GlickGermany2024-06-18Truhlar And Truhlar Attys QUALIFIED99Xuxue Feng
1011Sinclair Z StockhamArgentina2024-06-21Buckley Miller Wright RENEWAL25Anna Fali
1012Sinclair V MarrierAustralia2024-06-10Rousseaux, Michael Esq RENEWAL85Anna Fali
1013Mujtaba D GauchoBrazil2024-06-08Truhlar And Truhlar Attys UNQUALIFIED17Xuxue Feng
1014Izzy D FigeroaRussia2024-06-17Benton, John B Jr QUALIFIED77Ivan Magalhaes
1015Sinclair G MorascaSpain2024-06-19Truhlar And Truhlar Attys PROPOSAL91Amy Elsner
1016David K GlickAustralia2024-06-09Commercial Press NEGOTIATION67Ioni Bowcher
1017Jeanfrancois G WaycottFrance2024-06-15Benton, John B Jr NEGOTIATION29Xuxue Feng
1018Kaitlin L StensethAustralia2024-06-17Rangoni Of Florence PROPOSAL23Asiya Javayant
1019Salvatore X NickaSpain2024-06-12Buckley Miller Wright RENEWAL97Elwin Sharvill
1020Izzy H OstroskyArgentina2024-06-11Morlong Associates NEW62Anna Fali
1021Wickens L PerinRussia2024-06-01Feiner Bros NEW43Xuxue Feng
1022Mayumi Z MarrierJapan2024-05-30Feltz Printing Service QUALIFIED8Xuxue Feng
1023Izzy K IturbideGermany2024-06-09Truhlar And Truhlar Attys QUALIFIED34Asiya Javayant
1024Faith H KolmetzIndia2024-06-20Buckley Miller Wright NEW56Ivan Magalhaes
1025Leon A PaprockiIndia2024-06-20Feltz Printing Service NEW50Onyama Limba
1026Silvio T PoquetteRussia2024-06-01Truhlar And Truhlar Attys RENEWAL77Stephen Shaw
1027Kaitlin P GarufiItaly2024-06-22Commercial Press PROPOSAL6Asiya Javayant
1028Ivar E PoquetteRussia2024-06-09Truhlar And Truhlar Attys QUALIFIED11Xuxue Feng
1029Morrow T GillianBrazil2024-06-05Chanay, Jeffrey A Esq NEGOTIATION48Ioni Bowcher
1030Kaitlin Q PaprockiUnited Kingdom2024-05-27Feltz Printing Service PROPOSAL73Ioni Bowcher
1031Rodrigues U BologniaFrance2024-06-18Feiner Bros NEGOTIATION20Xuxue Feng
1032Kaitlin A GillianAustralia2024-06-18King, Christopher A Esq RENEWAL0Ioni Bowcher
1033Isabel T FerenczSpain2024-06-18Truhlar And Truhlar Attys UNQUALIFIED13Elwin Sharvill
1034Aika D TollnerBrazil2024-06-17Chapman, Ross E Esq UNQUALIFIED58Stephen Shaw
1035Arvin H VenereUnited Kingdom2024-06-19Rangoni Of Florence QUALIFIED56Xuxue Feng
1036Faith H PaprockiSpain2024-05-25Printing Dimensions NEGOTIATION8Ivan Magalhaes
1037Octavia V DilliardGermany2024-05-31King, Christopher A Esq NEGOTIATION75Stephen Shaw
1038Maisha R InouyeUnited Kingdom2024-05-26Chemel, James L Cpa QUALIFIED71Ioni Bowcher
1039Mayumi K KuskoSpain2024-06-12Chapman, Ross E Esq PROPOSAL98Onyama Limba
1040Aruna M ChuiArgentina2024-05-24Chemel, James L Cpa NEW5Onyama Limba
1041Silvio Z ChuiSpain2024-06-01Benton, John B Jr QUALIFIED46Ivan Magalhaes
1042Juan W DilliardAustralia2024-06-14Chemel, James L Cpa PROPOSAL13Stephen Shaw
1043Jennifer V OstroskyGermany2024-06-05Buckley Miller Wright UNQUALIFIED76Asiya Javayant
1044Jennifer B DarakjyFrance2024-05-26Feiner Bros QUALIFIED54Ioni Bowcher
1045Ashley W MaletGermany2024-06-20Feltz Printing Service NEGOTIATION93Ivan Magalhaes
1046David J SchemmerCanada2024-05-25Chemel, James L Cpa NEGOTIATION9Elwin Sharvill
1047Deepesh U GauchoUnited Kingdom2024-05-24Commercial Press QUALIFIED91Onyama Limba
1048Ivar H MarrierIndia2024-06-22Chanay, Jeffrey A Esq RENEWAL29Ioni Bowcher
1049Emily D CaudyRussia2024-06-12King, Christopher A Esq RENEWAL81Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues S VenereIndiaBernardo Dominic RENEWAL
Juan O RulapaughFranceIvan Magalhaes RENEWAL
Antonio B WaycottBrazilStephen Shaw QUALIFIED
James Q PerinFranceAnna Fali NEW
Kaitlin Y InouyeItalyOnyama Limba UNQUALIFIED
Julie Y WaycottRussiaBernardo Dominic NEGOTIATION
Clifford K TollnerIndiaAmy Elsner QUALIFIED
Tony G StensethIndiaIvan Magalhaes PROPOSAL
Johnson I ShinkoRussiaXuxue Feng QUALIFIED
Mujtaba L RulapaughSpainStephen Shaw NEW
Misaki K KolmetzGermanyAmy Elsner NEW
Salvatore V KolmetzIndiaAmy Elsner NEGOTIATION
Emily A FlosiAustraliaOnyama Limba UNQUALIFIED
Emily D IturbideSpainXuxue Feng PROPOSAL
Maisha R TollnerGermanyStephen Shaw RENEWAL
Juan J KolmetzItalyElwin Sharvill UNQUALIFIED
Maria O FollerArgentinaElwin Sharvill NEGOTIATION
Misaki C BriddickItalyAnna Fali NEW
Antonio C GillianIndiaIoni Bowcher NEGOTIATION
Smith I FlosiBrazilBernardo Dominic RENEWAL
Tony D MaletRussiaBernardo Dominic NEW
Izzy F MaletSpainAsiya Javayant PROPOSAL
Ivar I GauchoItalyAsiya Javayant RENEWAL
Morrow K WhobreyBrazilAmy Elsner PROPOSAL
Arvin S StensethBrazilElwin Sharvill UNQUALIFIED
James L SchemmerIndiaIvan Magalhaes UNQUALIFIED
Johnson V CaudyJapanAmy Elsner QUALIFIED
Ricardo W MarrierArgentinaOnyama Limba NEW
Nicolas R ShinkoItalyIoni Bowcher NEGOTIATION
Jeanfrancois Y BriddickArgentinaAmy Elsner UNQUALIFIED
Darci V WhobreyFranceElwin Sharvill NEGOTIATION
Costa W SchemmerGermanyElwin Sharvill QUALIFIED
Nicolas N ChuiItalyAmy Elsner PROPOSAL
Nicolas Q SlusarskiUnited KingdomAnna Fali PROPOSAL
Octavia Z SaylorsBrazilAmy Elsner PROPOSAL
Tony O NickaRussiaXuxue Feng NEGOTIATION
Jeanfrancois T AlbaresBrazilAnna Fali RENEWAL
Jefferson Z IturbideSpainXuxue Feng NEW
Faith Q CaldareraRussiaBernardo Dominic NEW
Aditya D DilliardCanadaOnyama Limba NEW
Morrow K PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Emily T DarakjyAustraliaOnyama Limba NEW
Claire R CampainRussiaOnyama Limba PROPOSAL
Leja C BowleyCanadaAsiya Javayant UNQUALIFIED
Mujtaba L FerenczCanadaIvan Magalhaes PROPOSAL
Clifford K RimIndiaBernardo Dominic QUALIFIED
Deepesh C PaprockiItalyOnyama Limba PROPOSAL
Julie Z GauchoArgentinaAnna Fali PROPOSAL
Stacey C OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues Y MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Smith W Bowley
Cody N Malet
Faith Y Sergi
Darci Y Saylors
Munro Q Whobrey
Darci L Bowley
Deepesh U Garufi
Juan M Darakjy
Smith H Briddick
Rodrigues H Maclead
Aruna S Tollner
Ricardo K Saylors
Chavez P Figeroa
David L Campain
Nicolas K Albares
Murillo R Doe
Salvatore X Perin
Jennifer M Ruta
Antonio K Gaucho
Costa V Malet
Aika W Sergi
Jones U Whobrey
Ivar Z Nestle
Nicolas L Maclead
Ashley S Schemmer
Sinclair K Royster
Nicolas I Caudy
Kaitlin P Ostrosky
Costa P Gaucho
Antonio R Foller
Mayumi Y Whobrey
Adams H Gaucho
Deepesh K Caudy
Claire Q Glick
Aditya Q Nicka
Rodrigues X Perin
Ashley T Campain
Maria X Nicka
Alejandro S Ruta
Emily P Flosi
Julie T Briddick
Faith M Ferencz
Cody V Gaucho
Greenwood X Oldroyd
Izzy B Caldarera
Darci Y Morasca
Jennifer J Oldroyd
Salvatore J Albares
Ashley T Briddick
Julie C Iturbide
IdCountryDate
1000Argentina2024-06-02
1001Australia2024-05-30
1002Japan2024-05-30
1003Brazil2024-05-31
1004India2024-06-07
1005Brazil2024-05-31
1006Spain2024-05-27
1007Russia2024-06-04
1008Australia2024-05-24
1009Japan2024-06-02
1010France2024-06-13
1011Spain2024-06-15
1012France2024-05-31
1013United Kingdom2024-05-28
1014Japan2024-05-24
1015United Kingdom2024-06-15
1016Brazil2024-06-13
1017Russia2024-05-27
1018Italy2024-05-29
1019United Kingdom2024-05-28
1020Argentina2024-06-12
1021Spain2024-05-27
1022Germany2024-06-11
1023Spain2024-06-17
1024France2024-05-29
1025Spain2024-06-14
1026India2024-05-28
1027Japan2024-06-01
1028Germany2024-06-02
1029United Kingdom2024-06-17
1030Australia2024-06-02
1031Canada2024-05-30
1032United Kingdom2024-06-08
1033Russia2024-06-04
1034Spain2024-06-07
1035Canada2024-06-02
1036Spain2024-05-29
1037Russia2024-06-18
1038India2024-06-16
1039United Kingdom2024-05-28
1040Brazil2024-06-19
1041Italy2024-06-20
1042Italy2024-06-16
1043Australia2024-06-18
1044India2024-06-12
1045Germany2024-06-06
1046Brazil2024-06-04
1047Brazil2024-06-09
1048Spain2024-05-30
1049Argentina2024-05-28

On-Demand Data

NameIdCountryDate
Misaki I Malet1000Canada2024-05-30
Antonio E Chui1001Australia2024-06-01
Wickens K Nestle1002Italy2024-06-09
Kadeem T Malet1003Russia2024-06-12
Izzy K Shinko1004Brazil2024-06-08
Faith P Albares1005Russia2024-06-03
Jennifer K Paprocki1006India2024-06-03
Aditya H Caldarera1007Spain2024-05-29
Silvio S Kolmetz1008Canada2024-05-27
Juan E Stenseth1009Japan2024-05-24
Munro A Kolmetz1010France2024-06-02
Tony U Maclead1011Brazil2024-06-06
Jeanfrancois M Flosi1012Canada2024-06-15
Ashley X Inouye1013United Kingdom2024-06-06
Aika U Waycott1014Germany2024-06-15
Aika D Schemmer1015Russia2024-06-12
Octavia O Nestle1016Italy2024-06-04
Ashley N Caudy1017United Kingdom2024-06-04
Leja D Glick1018India2024-05-28
Francesco D Shinko1019Canada2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie T OldroydSpainElwin Sharvill NEW
Aruna P BriddickIndiaStephen Shaw UNQUALIFIED
Wickens G MaletUnited KingdomElwin Sharvill QUALIFIED
Salvatore B StensethRussiaAsiya Javayant RENEWAL
Johnson G OldroydFranceOnyama Limba QUALIFIED
Jefferson R MarrierSpainAsiya Javayant NEW
Salvatore J VenereBrazilIoni Bowcher UNQUALIFIED
Antonio L MacleadUnited KingdomIvan Magalhaes RENEWAL
Salvatore E SergiFranceIoni Bowcher NEW
Munro J CampainIndiaOnyama Limba QUALIFIED
Octavia P GlickRussiaStephen Shaw PROPOSAL
Claire G RimArgentinaAmy Elsner RENEWAL
Leja O InouyeCanadaStephen Shaw NEW
Costa Q NickaItalyXuxue Feng PROPOSAL
Julie I OstroskyUnited KingdomXuxue Feng PROPOSAL
Nicolas D GarufiIndiaAmy Elsner PROPOSAL
Silvio N GlickArgentinaIvan Magalhaes NEGOTIATION
Aruna V SaylorsItalyAsiya Javayant PROPOSAL
Ivar T RulapaughAustraliaStephen Shaw UNQUALIFIED
Ricardo C PoquetteRussiaStephen Shaw UNQUALIFIED
Costa O MarrierFranceAmy Elsner PROPOSAL
Aditya Q RoysterRussiaAsiya Javayant NEW
Aditya V MaletArgentinaElwin Sharvill UNQUALIFIED
Misaki O WaycottIndiaOnyama Limba QUALIFIED
Jones D GillianJapanXuxue Feng PROPOSAL
Munro Q SlusarskiFranceAnna Fali PROPOSAL
Cody O StensethSpainIoni Bowcher RENEWAL
Maisha K VenereUnited KingdomOnyama Limba UNQUALIFIED
Silvio F CaldareraGermanyElwin Sharvill NEW
Faith U PoquetteJapanAmy Elsner NEW
Darci E RutaBrazilBernardo Dominic QUALIFIED
Clifford I SlusarskiAustraliaElwin Sharvill QUALIFIED
James B GillianIndiaAmy Elsner NEGOTIATION
Jones U ButtArgentinaAsiya Javayant NEGOTIATION
Stacey C IturbideIndiaBernardo Dominic RENEWAL
Adams N SchemmerFranceXuxue Feng NEW
Cody R BologniaCanadaBernardo Dominic NEW
Ashley P GlickCanadaAmy Elsner NEGOTIATION
Maria O TollnerBrazilOnyama Limba RENEWAL
Tony T MacleadUnited KingdomAmy Elsner NEW

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