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
Jefferson A VocelkaAustraliaBernardo Dominic RENEWAL
Maisha V PoquetteBrazilXuxue Feng RENEWAL
Aditya W NickaRussiaAsiya Javayant QUALIFIED
Julie D RutaFranceStephen Shaw NEW
Jones D BriddickItalyIvan Magalhaes NEGOTIATION
Johnson D RutaJapanIvan Magalhaes NEGOTIATION
Stacey B FerenczArgentinaAsiya Javayant PROPOSAL
Greenwood S WaycottJapanAmy Elsner NEGOTIATION
Murillo L WieserUnited KingdomAsiya Javayant QUALIFIED
Antonio S CaldareraItalyIvan Magalhaes NEGOTIATION
Leja J RutaJapanAnna Fali PROPOSAL
Jones P FigeroaBrazilOnyama Limba NEGOTIATION
Alejandro I MaletItalyAmy Elsner QUALIFIED
Munro T WhobreyItalyStephen Shaw PROPOSAL
Mayumi F FlosiUnited KingdomAmy Elsner QUALIFIED
Mujtaba M FlosiSpainIoni Bowcher UNQUALIFIED
Deepesh H SlusarskiRussiaIvan Magalhaes RENEWAL
Maisha O OstroskyCanadaAnna Fali RENEWAL
Isabel N SaylorsSpainIvan Magalhaes PROPOSAL
Maisha U OldroydAustraliaAnna Fali QUALIFIED
Julie G ShinkoItalyStephen Shaw NEGOTIATION
Adams M NickaGermanyAnna Fali PROPOSAL
Greenwood O GillianSpainAnna Fali RENEWAL
Darci S WieserFranceAmy Elsner UNQUALIFIED
Aruna Z KuskoArgentinaStephen Shaw NEW
Nicolas T VocelkaArgentinaStephen Shaw NEW
Jones R ShinkoRussiaIoni Bowcher UNQUALIFIED
Stacey A DilliardRussiaXuxue Feng PROPOSAL
Claire I DilliardBrazilIoni Bowcher RENEWAL
Murillo D WhobreyFranceAmy Elsner QUALIFIED
Ashley I WieserGermanyXuxue Feng PROPOSAL
Kaitlin E NickaItalyBernardo Dominic NEW
Greenwood P TollnerArgentinaAmy Elsner NEGOTIATION
Arvin W DilliardArgentinaXuxue Feng NEGOTIATION
Julie K RimBrazilAmy Elsner QUALIFIED
Mayumi C SlusarskiIndiaBernardo Dominic RENEWAL
Kaitlin S CaudyIndiaAsiya Javayant QUALIFIED
Munro S CaldareraGermanyElwin Sharvill PROPOSAL
Emily S GlickCanadaIvan Magalhaes NEGOTIATION
Juan C WieserJapanXuxue Feng UNQUALIFIED
Wickens X VocelkaFranceAnna Fali QUALIFIED
Silvio K FlosiCanadaIoni Bowcher PROPOSAL
Smith F WaycottIndiaAsiya Javayant RENEWAL
Mujtaba V AmigonJapanAsiya Javayant UNQUALIFIED
Greenwood W RutaUnited KingdomIoni Bowcher RENEWAL
Jennifer I ChuiFranceElwin Sharvill NEGOTIATION
Jennifer K MarrierArgentinaXuxue Feng UNQUALIFIED
Jones X FigeroaFranceElwin Sharvill PROPOSAL
Jefferson C StockhamAustraliaAmy Elsner QUALIFIED
Jennifer D RimArgentinaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer R RoysterArgentinaAsiya Javayant RENEWAL
Misaki B SaylorsCanadaAsiya Javayant UNQUALIFIED
James V AmigonSpainStephen Shaw UNQUALIFIED
Tony D GauchoCanadaAnna Fali NEGOTIATION
Jennifer Q GauchoAustraliaIvan Magalhaes RENEWAL
Faith W SchemmerSpainStephen Shaw UNQUALIFIED
Kaitlin S InouyeSpainOnyama Limba QUALIFIED
Rodrigues U NickaAustraliaStephen Shaw RENEWAL
Costa I WhobreyUnited KingdomElwin Sharvill NEW
Jennifer J OstroskyBrazilAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem J OldroydFrance2024-06-08Commercial Press PROPOSAL93Bernardo Dominic
1001Claire A MaletBrazil2024-05-21Printing Dimensions NEGOTIATION64Xuxue Feng
1002Salvatore M DilliardArgentina2024-05-28Benton, John B Jr PROPOSAL55Onyama Limba
1003Munro W SaylorsUnited Kingdom2024-06-10Rousseaux, Michael Esq QUALIFIED13Xuxue Feng
1004Julie U NestleIndia2024-05-27Rangoni Of Florence QUALIFIED36Xuxue Feng
1005Rodrigues R WieserJapan2024-06-12Feiner Bros PROPOSAL52Ioni Bowcher
1006Jennifer P NickaUnited Kingdom2024-06-06Chapman, Ross E Esq RENEWAL15Onyama Limba
1007Faith F AmigonItaly2024-06-06Printing Dimensions NEW52Anna Fali
1008Octavia J GillianJapan2024-06-08Truhlar And Truhlar Attys UNQUALIFIED78Onyama Limba
1009Aika J DoeItaly2024-06-09Morlong Associates NEW23Bernardo Dominic
1010Ricardo C DilliardSpain2024-05-29Rousseaux, Michael Esq PROPOSAL51Bernardo Dominic
1011Nicolas S FollerIndia2024-06-15Chapman, Ross E Esq RENEWAL17Elwin Sharvill
1012Faith L WhobreyUnited Kingdom2024-06-12Feltz Printing Service NEW66Stephen Shaw
1013Cody H NickaArgentina2024-06-13Feiner Bros UNQUALIFIED23Anna Fali
1014Aika Z PaprockiAustralia2024-06-12Buckley Miller Wright NEW33Anna Fali
1015Johnson X FerenczArgentina2024-05-22Feltz Printing Service QUALIFIED87Anna Fali
1016Mayumi Y MacleadIndia2024-06-09Rousseaux, Michael Esq QUALIFIED18Elwin Sharvill
1017Nicolas K DoeUnited Kingdom2024-05-30Chapman, Ross E Esq RENEWAL99Xuxue Feng
1018David R OstroskyRussia2024-06-07Benton, John B Jr PROPOSAL50Ivan Magalhaes
1019Antonio Y FigeroaGermany2024-05-28Chemel, James L Cpa NEGOTIATION9Ivan Magalhaes
1020Darci V MorascaAustralia2024-06-12Rangoni Of Florence RENEWAL29Elwin Sharvill
1021Juan E RimAustralia2024-05-26Rangoni Of Florence NEW18Amy Elsner
1022Aika O SergiGermany2024-06-01Printing Dimensions RENEWAL81Ioni Bowcher
1023Ashley A DilliardRussia2024-06-12Feltz Printing Service PROPOSAL72Asiya Javayant
1024Mujtaba Y RimUnited Kingdom2024-05-23Rousseaux, Michael Esq QUALIFIED90Ioni Bowcher
1025Adams J WhobreyIndia2024-05-21Dorl, James J Esq RENEWAL38Stephen Shaw
1026Mayumi G WhobreyAustralia2024-06-05King, Christopher A Esq NEW64Stephen Shaw
1027Morrow B WhobreyUnited Kingdom2024-06-10Truhlar And Truhlar Attys UNQUALIFIED62Anna Fali
1028Leon U BologniaSpain2024-05-19Dorl, James J Esq RENEWAL19Elwin Sharvill
1029Aika X KolmetzGermany2024-06-04Benton, John B Jr RENEWAL7Ioni Bowcher
1030Jeanfrancois M WaycottIndia2024-05-22Chapman, Ross E Esq QUALIFIED5Amy Elsner
1031Claire R MarrierJapan2024-06-02Commercial Press NEGOTIATION45Onyama Limba
1032Wickens Z ButtAustralia2024-06-15Feiner Bros PROPOSAL92Ioni Bowcher
1033Stacey N GauchoArgentina2024-05-19Truhlar And Truhlar Attys PROPOSAL16Onyama Limba
1034Mayumi W TollnerIndia2024-05-19Chemel, James L Cpa NEW40Ioni Bowcher
1035Juan X SergiCanada2024-05-25Buckley Miller Wright PROPOSAL14Ivan Magalhaes
1036Johnson L RulapaughBrazil2024-06-17King, Christopher A Esq QUALIFIED83Ivan Magalhaes
1037Mayumi B KuskoSpain2024-05-30King, Christopher A Esq NEGOTIATION34Ioni Bowcher
1038Ivar K CampainCanada2024-06-01Buckley Miller Wright UNQUALIFIED39Ivan Magalhaes
1039Sinclair V MacleadSpain2024-06-01Dorl, James J Esq UNQUALIFIED49Stephen Shaw
1040Greenwood A ShinkoArgentina2024-06-04Feiner Bros QUALIFIED56Ivan Magalhaes
1041Salvatore H FigeroaItaly2024-06-11Truhlar And Truhlar Attys PROPOSAL24Xuxue Feng
1042Antonio H RutaIndia2024-06-09Rousseaux, Michael Esq QUALIFIED71Amy Elsner
1043Jefferson S MacleadCanada2024-06-09Dorl, James J Esq QUALIFIED4Asiya Javayant
1044Octavia Z ChuiJapan2024-05-27Chemel, James L Cpa PROPOSAL63Bernardo Dominic
1045Juan W GlickBrazil2024-05-22Commercial Press QUALIFIED32Anna Fali
1046Jones P MaletBrazil2024-06-09Rangoni Of Florence NEW36Ioni Bowcher
1047Clifford M GlickIndia2024-06-14Benton, John B Jr NEW41Amy Elsner
1048James X WhobreySpain2024-05-30Commercial Press QUALIFIED91Anna Fali
1049Claire E AlbaresFrance2024-05-19King, Christopher A Esq UNQUALIFIED41Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Costa V CaldareraJapanOnyama Limba UNQUALIFIED
Alejandro L MorascaBrazilIoni Bowcher PROPOSAL
Jefferson N InouyeJapanAsiya Javayant UNQUALIFIED
Mayumi P OldroydIndiaIoni Bowcher PROPOSAL
Clifford Z WieserBrazilAsiya Javayant NEGOTIATION
Adams C DoeFranceIvan Magalhaes NEW
Arvin A GlickItalyXuxue Feng NEW
Alejandro P StockhamArgentinaAmy Elsner PROPOSAL
Jennifer C DoeIndiaIoni Bowcher NEGOTIATION
Adams Y FerenczCanadaXuxue Feng UNQUALIFIED
Greenwood G ButtBrazilAnna Fali PROPOSAL
Octavia X SaylorsArgentinaIoni Bowcher UNQUALIFIED
Leon R GarufiIndiaOnyama Limba NEGOTIATION
Jeanfrancois G VocelkaRussiaAsiya Javayant QUALIFIED
Deepesh H MacleadUnited KingdomIvan Magalhaes RENEWAL
Ashley M WieserSpainAnna Fali QUALIFIED
Adams H KuskoArgentinaXuxue Feng NEGOTIATION
Jeanfrancois A VocelkaItalyOnyama Limba NEGOTIATION
James B RutaItalyIoni Bowcher UNQUALIFIED
Cody A MaletAustraliaBernardo Dominic QUALIFIED
Isabel M TollnerUnited KingdomStephen Shaw RENEWAL
Maisha M ButtItalyBernardo Dominic NEGOTIATION
Isabel H FlosiFranceAnna Fali PROPOSAL
Johnson C GarufiUnited KingdomXuxue Feng NEGOTIATION
Chavez E TollnerGermanyAnna Fali NEW
Adams F SaylorsAustraliaAmy Elsner NEGOTIATION
Misaki V BriddickAustraliaIoni Bowcher QUALIFIED
Jeanfrancois D IturbideCanadaAmy Elsner NEW
Kaitlin E MaletCanadaStephen Shaw RENEWAL
Juan O MorascaSpainIvan Magalhaes NEW
Sinclair F WaycottRussiaIoni Bowcher NEW
Octavia Q KuskoUnited KingdomElwin Sharvill RENEWAL
Aditya D WieserIndiaIoni Bowcher NEGOTIATION
Costa A GauchoItalyAsiya Javayant QUALIFIED
Kaitlin R AmigonCanadaElwin Sharvill QUALIFIED
Munro Q MaletFranceIvan Magalhaes RENEWAL
Octavia L TollnerIndiaAsiya Javayant RENEWAL
Alejandro Y NickaBrazilOnyama Limba NEGOTIATION
Munro L BriddickIndiaOnyama Limba UNQUALIFIED
Murillo X InouyeSpainOnyama Limba UNQUALIFIED
Maisha M NestleRussiaIvan Magalhaes PROPOSAL
Aruna H FlosiGermanyStephen Shaw PROPOSAL
Wickens E RulapaughArgentinaIvan Magalhaes NEGOTIATION
Greenwood Z KuskoSpainStephen Shaw NEGOTIATION
Ricardo E AmigonCanadaAsiya Javayant NEW
David X MorascaJapanXuxue Feng NEGOTIATION
Emily U FlosiUnited KingdomOnyama Limba NEGOTIATION
Silvio L SlusarskiCanadaXuxue Feng PROPOSAL
Faith J PoquetteAustraliaXuxue Feng PROPOSAL
Jefferson G BologniaArgentinaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Ashley H Kusko
Chavez R Dilliard
Maria R Dilliard
Mujtaba U Venere
Smith T Nicka
Silvio C Schemmer
Silvio J Malet
Misaki X Marrier
Ricardo U Poquette
Clifford O Briddick
Maisha I Darakjy
Jennifer Q Ferencz
James X Stenseth
Greenwood S Waycott
Murillo H Caudy
Juan A Stenseth
Aditya I Kolmetz
Wickens N Darakjy
Costa Z Iturbide
Silvio I Stenseth
Kadeem X Inouye
Leja S Ferencz
Alejandro W Amigon
Claire H Malet
Murillo J Ruta
Chavez P Inouye
Aditya K Butt
Ivar M Dilliard
Mayumi Q Nicka
Jeanfrancois W Iturbide
Adams H Amigon
Leja N Bowley
James E Kusko
Claire B Sergi
Mayumi Y Shinko
Jeanfrancois N Darakjy
Antonio Y Morasca
Cody K Iturbide
Francesco Y Vocelka
Darci N Foller
Maisha N Glick
Kaitlin U Bowley
Rodrigues N Flosi
Antonio S Chui
Faith W Poquette
Claire W Briddick
Francesco D Rim
Juan D Malet
Julie H Sergi
Cody P Gillian
IdCountryDate
1000Brazil2024-06-06
1001Brazil2024-05-31
1002United Kingdom2024-06-03
1003Japan2024-05-31
1004France2024-06-02
1005France2024-05-20
1006Spain2024-06-16
1007Italy2024-05-22
1008Spain2024-05-29
1009Japan2024-05-30
1010France2024-06-17
1011Spain2024-06-03
1012United Kingdom2024-06-12
1013Australia2024-06-08
1014Argentina2024-05-22
1015Argentina2024-06-07
1016Argentina2024-05-20
1017United Kingdom2024-06-01
1018France2024-06-07
1019India2024-05-24
1020France2024-06-15
1021United Kingdom2024-05-20
1022Russia2024-06-06
1023Japan2024-05-28
1024Italy2024-05-27
1025Brazil2024-06-01
1026France2024-06-05
1027Argentina2024-05-26
1028India2024-06-01
1029Australia2024-05-31
1030Japan2024-06-10
1031Japan2024-06-03
1032Japan2024-06-14
1033Australia2024-05-29
1034Argentina2024-05-28
1035Australia2024-05-26
1036Spain2024-05-22
1037Russia2024-05-25
1038France2024-05-20
1039Argentina2024-06-06
1040Australia2024-05-22
1041Japan2024-06-04
1042France2024-06-07
1043Russia2024-06-02
1044Argentina2024-06-15
1045India2024-05-30
1046Russia2024-05-21
1047Australia2024-06-10
1048France2024-05-25
1049Argentina2024-05-27

On-Demand Data

NameIdCountryDate
Alejandro Q Saylors1000France2024-05-24
Adams A Morasca1001Russia2024-05-28
Jefferson P Sergi1002Canada2024-06-03
Stacey S Butt1003India2024-06-03
Smith B Caudy1004Spain2024-06-06
Wickens I Saylors1005Japan2024-05-20
Silvio R Gaucho1006Argentina2024-06-03
Isabel T Ferencz1007Germany2024-05-21
Nicolas Q Garufi1008Germany2024-06-03
Stacey F Wieser1009United Kingdom2024-06-13
Misaki Z Oldroyd1010Canada2024-06-08
Arvin K Ruta1011Spain2024-05-29
Deepesh A Bolognia1012Germany2024-06-07
Octavia T Albares1013India2024-05-22
Isabel L Gaucho1014France2024-05-19
Ricardo X Nestle1015Italy2024-05-27
Kaitlin X Nicka1016Italy2024-05-21
Isabel M Sergi1017Brazil2024-05-19
Murillo V Iturbide1018Spain2024-05-23
Mujtaba Q Inouye1019Canada2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie Q RimFranceElwin Sharvill PROPOSAL
Ricardo R PaprockiItalyElwin Sharvill QUALIFIED
Faith K NestleJapanAmy Elsner QUALIFIED
Wickens A TollnerRussiaIvan Magalhaes NEGOTIATION
Aditya L RulapaughUnited KingdomElwin Sharvill RENEWAL
Ricardo I FerenczRussiaBernardo Dominic NEW
Aditya E AlbaresUnited KingdomAsiya Javayant PROPOSAL
Nicolas Z OldroydGermanyAmy Elsner PROPOSAL
Wickens E InouyeJapanStephen Shaw UNQUALIFIED
Jennifer H ButtBrazilIoni Bowcher NEGOTIATION
Julie V DarakjyItalyOnyama Limba RENEWAL
Clifford Y StockhamUnited KingdomOnyama Limba QUALIFIED
Greenwood A RoysterArgentinaAsiya Javayant RENEWAL
Claire U VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Octavia W PaprockiGermanyAnna Fali RENEWAL
Clifford O CaudyCanadaXuxue Feng RENEWAL
Morrow L SergiGermanyIvan Magalhaes NEW
Aika E MarrierCanadaBernardo Dominic UNQUALIFIED
Greenwood E WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Leja G OstroskyAustraliaIoni Bowcher NEW
Ashley Z MarrierUnited KingdomAnna Fali NEGOTIATION
Johnson P MarrierItalyOnyama Limba RENEWAL
Octavia X RimItalyStephen Shaw NEGOTIATION
Octavia J AmigonRussiaAsiya Javayant PROPOSAL
Mayumi N AmigonIndiaOnyama Limba UNQUALIFIED
Silvio Z BologniaCanadaAsiya Javayant UNQUALIFIED
Ashley O DilliardArgentinaOnyama Limba UNQUALIFIED
Murillo B DilliardIndiaAmy Elsner UNQUALIFIED
Aika R WhobreyJapanAnna Fali NEGOTIATION
Tony K KuskoItalyIoni Bowcher UNQUALIFIED
Rodrigues S DarakjySpainAnna Fali RENEWAL
Greenwood V IturbideArgentinaIvan Magalhaes RENEWAL
Mujtaba Y InouyeBrazilBernardo Dominic RENEWAL
Faith U RutaBrazilAsiya Javayant UNQUALIFIED
Kadeem F GillianBrazilXuxue Feng NEGOTIATION
Alejandro T FollerAustraliaAnna Fali NEW
Mayumi D SaylorsJapanIvan Magalhaes NEGOTIATION
Octavia M ShinkoAustraliaOnyama Limba NEW
Clifford X SchemmerFranceIvan Magalhaes RENEWAL
Costa Y OstroskyCanadaAsiya Javayant 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>