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
Wickens U WaycottFranceIoni Bowcher UNQUALIFIED
Cody I BowleyIndiaIvan Magalhaes PROPOSAL
Smith Y SlusarskiAustraliaStephen Shaw NEGOTIATION
Murillo Q PoquetteIndiaBernardo Dominic QUALIFIED
Chavez T MaletBrazilXuxue Feng UNQUALIFIED
Ivar D RutaRussiaAsiya Javayant PROPOSAL
Kadeem S RutaIndiaAnna Fali RENEWAL
Maisha C MacleadBrazilStephen Shaw QUALIFIED
Wickens K FerenczJapanAmy Elsner NEW
Ivar R FerenczJapanStephen Shaw QUALIFIED
Misaki I AlbaresCanadaAnna Fali PROPOSAL
James V FigeroaIndiaAmy Elsner RENEWAL
Smith M CaudyRussiaBernardo Dominic QUALIFIED
Silvio K ButtIndiaIvan Magalhaes RENEWAL
Maisha J PoquetteIndiaIoni Bowcher RENEWAL
Ivar N WaycottAustraliaStephen Shaw UNQUALIFIED
Ricardo V DilliardFranceIoni Bowcher NEW
Ivar L SergiJapanIoni Bowcher NEW
Ricardo G SaylorsRussiaBernardo Dominic RENEWAL
Salvatore E SergiGermanyElwin Sharvill UNQUALIFIED
James Z DilliardCanadaXuxue Feng PROPOSAL
Juan Q PoquetteCanadaBernardo Dominic UNQUALIFIED
Mujtaba O FerenczRussiaStephen Shaw QUALIFIED
Johnson L GillianAustraliaOnyama Limba RENEWAL
Salvatore W SchemmerCanadaAsiya Javayant QUALIFIED
Francesco Q KolmetzCanadaIoni Bowcher RENEWAL
Faith N DoeUnited KingdomIoni Bowcher RENEWAL
Antonio X MaletCanadaAnna Fali NEW
Greenwood Z MacleadAustraliaBernardo Dominic UNQUALIFIED
Leon B PaprockiBrazilIvan Magalhaes PROPOSAL
Stacey A BriddickArgentinaBernardo Dominic RENEWAL
Juan A AlbaresJapanAnna Fali NEGOTIATION
Costa U NickaCanadaBernardo Dominic QUALIFIED
Tony J DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Tony M BowleyGermanyStephen Shaw UNQUALIFIED
David W RoysterBrazilXuxue Feng RENEWAL
Morrow S GarufiIndiaBernardo Dominic RENEWAL
Sinclair U PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Deepesh O WaycottAustraliaOnyama Limba NEW
Munro K GillianArgentinaBernardo Dominic UNQUALIFIED
Mujtaba N NickaFranceAnna Fali RENEWAL
Nicolas R GlickRussiaAnna Fali RENEWAL
Jefferson D CaudySpainOnyama Limba QUALIFIED
Aruna C StensethRussiaXuxue Feng RENEWAL
Juan X KuskoItalyIoni Bowcher RENEWAL
Francesco D AmigonSpainElwin Sharvill UNQUALIFIED
Clifford V SlusarskiItalyIoni Bowcher NEW
Chavez J SchemmerGermanyElwin Sharvill NEW
Silvio V SergiItalyAsiya Javayant PROPOSAL
Smith H FollerIndiaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya H RimJapanElwin Sharvill RENEWAL
Chavez H AmigonItalyIvan Magalhaes UNQUALIFIED
Mujtaba S ShinkoIndiaXuxue Feng UNQUALIFIED
Leon X MorascaJapanOnyama Limba PROPOSAL
Ricardo L AlbaresSpainStephen Shaw NEGOTIATION
Leja B SchemmerGermanyAsiya Javayant NEGOTIATION
Leja X ChuiBrazilAsiya Javayant NEGOTIATION
Julie G PoquetteUnited KingdomAsiya Javayant QUALIFIED
Salvatore V AmigonSpainAnna Fali PROPOSAL
Leja J WhobreyIndiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley J SergiRussia2024-05-30King, Christopher A Esq NEGOTIATION87Stephen Shaw
1001Greenwood A BowleyItaly2024-06-11Rousseaux, Michael Esq NEW45Ivan Magalhaes
1002Johnson T KolmetzArgentina2024-06-22Benton, John B Jr UNQUALIFIED95Anna Fali
1003Sinclair E PaprockiUnited Kingdom2024-06-02Printing Dimensions QUALIFIED47Stephen Shaw
1004Jefferson I SaylorsArgentina2024-05-24Morlong Associates QUALIFIED57Xuxue Feng
1005Arvin K MacleadSpain2024-06-09King, Christopher A Esq UNQUALIFIED46Ivan Magalhaes
1006Ricardo E FlosiItaly2024-06-20Chanay, Jeffrey A Esq NEW42Ioni Bowcher
1007Kaitlin L MaletAustralia2024-06-12King, Christopher A Esq RENEWAL6Amy Elsner
1008Kaitlin C CaldareraUnited Kingdom2024-05-25Rangoni Of Florence QUALIFIED22Ivan Magalhaes
1009James F GillianRussia2024-06-08Truhlar And Truhlar Attys QUALIFIED4Onyama Limba
1010Claire Q SchemmerRussia2024-06-13Rousseaux, Michael Esq NEGOTIATION72Asiya Javayant
1011Kaitlin A NickaRussia2024-06-14Chanay, Jeffrey A Esq PROPOSAL92Anna Fali
1012Wickens O SchemmerGermany2024-05-27King, Christopher A Esq QUALIFIED31Bernardo Dominic
1013Costa E VenereCanada2024-06-22Morlong Associates NEW37Anna Fali
1014Ashley H MaletCanada2024-06-13Truhlar And Truhlar Attys RENEWAL83Amy Elsner
1015Mayumi K StensethGermany2024-06-13Rangoni Of Florence QUALIFIED22Ivan Magalhaes
1016Johnson H StockhamArgentina2024-06-01Buckley Miller Wright PROPOSAL63Stephen Shaw
1017Clifford C IturbideBrazil2024-06-08Printing Dimensions NEGOTIATION98Onyama Limba
1018Rodrigues J CaldareraIndia2024-06-21Dorl, James J Esq NEW89Anna Fali
1019Kadeem Q GlickArgentina2024-06-04Rousseaux, Michael Esq NEW99Elwin Sharvill
1020Ricardo F VocelkaRussia2024-06-18Morlong Associates NEGOTIATION89Bernardo Dominic
1021Maisha B CaldareraJapan2024-06-18Dorl, James J Esq RENEWAL40Ivan Magalhaes
1022Stacey S MorascaRussia2024-06-13Rousseaux, Michael Esq UNQUALIFIED94Stephen Shaw
1023Jones Q OldroydBrazil2024-06-03Rangoni Of Florence RENEWAL59Onyama Limba
1024Salvatore I KolmetzItaly2024-06-15Rangoni Of Florence NEW27Xuxue Feng
1025Wickens P MaletIndia2024-06-20King, Christopher A Esq QUALIFIED34Ivan Magalhaes
1026Salvatore O ShinkoBrazil2024-06-01Morlong Associates QUALIFIED13Elwin Sharvill
1027Munro H CaldareraCanada2024-06-15Feltz Printing Service QUALIFIED30Amy Elsner
1028Misaki U DarakjyUnited Kingdom2024-06-19Commercial Press NEW71Onyama Limba
1029Julie S RutaSpain2024-05-30Truhlar And Truhlar Attys PROPOSAL7Ivan Magalhaes
1030Rodrigues I RoysterFrance2024-05-27Chemel, James L Cpa UNQUALIFIED22Anna Fali
1031Leon M AlbaresRussia2024-05-31Dorl, James J Esq PROPOSAL31Ioni Bowcher
1032Chavez M SchemmerRussia2024-06-14Dorl, James J Esq RENEWAL33Asiya Javayant
1033Wickens Z FlosiItaly2024-06-03Rousseaux, Michael Esq QUALIFIED51Ivan Magalhaes
1034Mayumi Q CaudyCanada2024-06-14Feiner Bros RENEWAL87Asiya Javayant
1035Silvio X MarrierIndia2024-06-14Feiner Bros NEGOTIATION56Anna Fali
1036David B FerenczRussia2024-06-21Feltz Printing Service NEGOTIATION70Amy Elsner
1037Wickens B PaprockiGermany2024-06-08Rangoni Of Florence UNQUALIFIED75Onyama Limba
1038Deepesh G CaldareraRussia2024-06-18King, Christopher A Esq UNQUALIFIED90Anna Fali
1039James B InouyeJapan2024-06-15King, Christopher A Esq PROPOSAL68Stephen Shaw
1040Arvin T DoeArgentina2024-06-19Dorl, James J Esq NEW76Ivan Magalhaes
1041Izzy X VocelkaSpain2024-05-25Dorl, James J Esq UNQUALIFIED49Anna Fali
1042Jones R WhobreyGermany2024-05-25Rousseaux, Michael Esq QUALIFIED88Anna Fali
1043Julie B NestleIndia2024-06-09Chanay, Jeffrey A Esq PROPOSAL50Ivan Magalhaes
1044Smith Y RulapaughArgentina2024-06-13Chapman, Ross E Esq NEW27Stephen Shaw
1045Leja I BriddickItaly2024-06-02Feiner Bros UNQUALIFIED60Amy Elsner
1046Cody D NestleItaly2024-06-08Commercial Press QUALIFIED94Anna Fali
1047Leon N MorascaRussia2024-05-31Feltz Printing Service PROPOSAL94Asiya Javayant
1048Tony X SlusarskiRussia2024-06-15Benton, John B Jr UNQUALIFIED77Xuxue Feng
1049Johnson T FerenczRussia2024-06-16Printing Dimensions NEW36Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leja B PoquetteRussiaIoni Bowcher QUALIFIED
Stacey V DarakjyJapanElwin Sharvill QUALIFIED
Ivar H SlusarskiUnited KingdomOnyama Limba PROPOSAL
Ashley A NickaItalyBernardo Dominic PROPOSAL
Ricardo F CaudyFranceStephen Shaw PROPOSAL
Darci Z SaylorsCanadaAnna Fali UNQUALIFIED
Mujtaba W PoquetteGermanyIoni Bowcher NEW
Johnson U ShinkoSpainBernardo Dominic PROPOSAL
Nicolas Y ChuiFranceAmy Elsner UNQUALIFIED
Ivar K RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Julie L StockhamBrazilOnyama Limba NEW
Maisha J OldroydRussiaAsiya Javayant RENEWAL
Octavia V CaldareraBrazilIvan Magalhaes UNQUALIFIED
Adams V MacleadSpainAmy Elsner PROPOSAL
Darci J RoysterSpainElwin Sharvill NEGOTIATION
Smith I FerenczItalyBernardo Dominic RENEWAL
Stacey G RimJapanAmy Elsner RENEWAL
Kadeem F MacleadArgentinaBernardo Dominic UNQUALIFIED
Leon I GillianItalyIoni Bowcher NEW
Munro I WhobreyFranceBernardo Dominic RENEWAL
David U ShinkoFranceStephen Shaw NEW
Chavez U AlbaresCanadaAmy Elsner RENEWAL
Clifford W MaletRussiaIvan Magalhaes QUALIFIED
Deepesh U ButtBrazilIvan Magalhaes QUALIFIED
Julie O KuskoUnited KingdomElwin Sharvill PROPOSAL
Kadeem W BologniaGermanyAmy Elsner RENEWAL
Morrow J AmigonUnited KingdomAmy Elsner NEW
Kaitlin A FollerSpainBernardo Dominic NEW
Stacey O RulapaughUnited KingdomOnyama Limba PROPOSAL
Kaitlin Q CaldareraRussiaIoni Bowcher PROPOSAL
Aika M DoeRussiaIoni Bowcher QUALIFIED
Jefferson W PerinIndiaBernardo Dominic NEGOTIATION
Leja L SchemmerBrazilAsiya Javayant NEW
Emily P WieserCanadaElwin Sharvill QUALIFIED
Wickens Z OstroskyGermanyXuxue Feng UNQUALIFIED
Rodrigues D PoquetteJapanIvan Magalhaes RENEWAL
Leja E PerinFranceStephen Shaw NEGOTIATION
Juan B FlosiIndiaAmy Elsner RENEWAL
Izzy R PoquetteJapanXuxue Feng NEGOTIATION
Chavez I DoeAustraliaXuxue Feng UNQUALIFIED
Arvin P ChuiItalyIoni Bowcher PROPOSAL
Jones E SlusarskiArgentinaBernardo Dominic QUALIFIED
Kaitlin A VenereBrazilStephen Shaw NEW
Cody N ChuiArgentinaIoni Bowcher NEW
Maisha P InouyeCanadaAnna Fali PROPOSAL
Ashley G ChuiRussiaIoni Bowcher PROPOSAL
Stacey E FlosiFranceXuxue Feng RENEWAL
Ashley V OldroydItalyElwin Sharvill NEW
Clifford D IturbideFranceBernardo Dominic QUALIFIED
Mujtaba J BowleyArgentinaAnna Fali NEW
Frozen Columns
Name
Greenwood A Morasca
Mujtaba O Caldarera
Aditya X Glick
Darci P Campain
Leon L Briddick
Kadeem A Saylors
Nicolas L Foller
Smith Z Ostrosky
Clifford L Ruta
Mujtaba P Ferencz
Leja Z Nicka
Deepesh F Amigon
Kaitlin D Gillian
Darci X Iturbide
David R Slusarski
Mayumi G Schemmer
Kaitlin H Sergi
Maria X Stockham
Wickens B Dilliard
Kadeem Y Bolognia
Silvio W Perin
Maria R Malet
Isabel X Doe
Wickens X Nestle
Cody U Wieser
Mujtaba T Kolmetz
Murillo Q Slusarski
Aditya Y Caudy
Kadeem F Figeroa
Jefferson X Inouye
Julie B Stockham
Wickens P Rim
Salvatore C Poquette
Rodrigues I Malet
Faith E Wieser
Antonio U Caldarera
Darci J Poquette
Jennifer A Ruta
Francesco I Inouye
Ashley H Flosi
Juan Y Chui
Leon A Gillian
Arvin W Figeroa
Clifford U Royster
Jennifer X Iturbide
Faith M Gillian
Sinclair J Ostrosky
Mayumi U Kolmetz
Cody C Oldroyd
Alejandro S Gaucho
IdCountryDate
1000Spain2024-06-01
1001Spain2024-06-15
1002Italy2024-06-07
1003India2024-06-03
1004Canada2024-05-25
1005United Kingdom2024-05-31
1006Brazil2024-06-03
1007Argentina2024-06-15
1008India2024-06-01
1009Canada2024-05-29
1010Canada2024-06-12
1011Japan2024-06-02
1012United Kingdom2024-06-15
1013Spain2024-06-17
1014United Kingdom2024-05-25
1015Japan2024-06-12
1016Italy2024-06-13
1017Argentina2024-05-25
1018India2024-05-29
1019Italy2024-06-20
1020Canada2024-06-12
1021India2024-05-27
1022Spain2024-06-04
1023India2024-06-21
1024United Kingdom2024-05-31
1025Italy2024-06-06
1026India2024-05-28
1027France2024-05-30
1028Brazil2024-06-12
1029Italy2024-06-22
1030Australia2024-06-21
1031Argentina2024-06-22
1032Argentina2024-05-30
1033France2024-06-07
1034United Kingdom2024-06-10
1035India2024-06-05
1036France2024-06-20
1037France2024-05-29
1038Argentina2024-06-15
1039France2024-06-13
1040Japan2024-06-06
1041Spain2024-05-26
1042Germany2024-06-05
1043Japan2024-06-06
1044Canada2024-06-17
1045France2024-06-11
1046Russia2024-06-12
1047Italy2024-06-10
1048Russia2024-05-30
1049United Kingdom2024-06-01

On-Demand Data

NameIdCountryDate
Leon M Chui1000Italy2024-05-26
Smith X Campain1001Germany2024-05-30
Greenwood S Bowley1002Italy2024-06-13
Maria M Sergi1003Argentina2024-06-17
Adams M Chui1004Brazil2024-05-30
Silvio X Nestle1005Japan2024-06-07
Wickens G Ruta1006Australia2024-05-28
Sinclair I Maclead1007Italy2024-06-20
Julie R Nestle1008United Kingdom2024-05-30
Octavia D Slusarski1009Italy2024-06-18
Francesco O Venere1010Argentina2024-05-31
Jefferson J Maclead1011United Kingdom2024-06-08
Emily T Caldarera1012India2024-05-26
Murillo L Ostrosky1013Germany2024-06-12
Antonio E Amigon1014Russia2024-05-31
Kaitlin K Figeroa1015Brazil2024-05-24
Ivar V Paprocki1016Canada2024-05-31
Leon G Caldarera1017Argentina2024-06-18
Stacey N Ostrosky1018United Kingdom2024-05-24
Maria Q Darakjy1019United Kingdom2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo O WaycottRussiaElwin Sharvill NEW
Isabel R DoeJapanAnna Fali UNQUALIFIED
Maria Q KuskoGermanyIvan Magalhaes NEGOTIATION
Darci E PaprockiCanadaOnyama Limba PROPOSAL
Juan A FollerCanadaIoni Bowcher NEGOTIATION
Misaki W StensethBrazilXuxue Feng RENEWAL
Wickens L FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Smith B VocelkaArgentinaAmy Elsner RENEWAL
Rodrigues J RutaUnited KingdomStephen Shaw QUALIFIED
Isabel R ShinkoRussiaElwin Sharvill QUALIFIED
Kaitlin F KuskoUnited KingdomAnna Fali NEW
Smith R NestleBrazilElwin Sharvill NEW
Clifford E GauchoAustraliaAsiya Javayant QUALIFIED
James D TollnerIndiaIoni Bowcher NEGOTIATION
Emily H DilliardBrazilStephen Shaw PROPOSAL
Francesco D VocelkaAustraliaXuxue Feng QUALIFIED
Jeanfrancois Y ShinkoRussiaBernardo Dominic RENEWAL
Jennifer W CaldareraSpainIvan Magalhaes NEGOTIATION
Morrow A DoeSpainBernardo Dominic NEW
Ivar X NickaUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas T ChuiFranceIoni Bowcher NEW
Chavez S GillianFranceAmy Elsner NEGOTIATION
Silvio A GauchoFranceOnyama Limba UNQUALIFIED
Greenwood A FollerArgentinaOnyama Limba NEW
Aditya B BowleySpainXuxue Feng QUALIFIED
Claire J GarufiRussiaXuxue Feng PROPOSAL
Chavez X PaprockiArgentinaXuxue Feng RENEWAL
Jennifer Y KolmetzUnited KingdomAnna Fali QUALIFIED
Deepesh L NestleJapanXuxue Feng NEW
Chavez R SlusarskiCanadaStephen Shaw NEGOTIATION
Adams Z CaudySpainIoni Bowcher RENEWAL
Antonio K MaletRussiaElwin Sharvill RENEWAL
Adams Z ShinkoCanadaAnna Fali QUALIFIED
Jennifer M TollnerCanadaIvan Magalhaes UNQUALIFIED
Izzy K InouyeFranceIvan Magalhaes NEGOTIATION
Rodrigues F DilliardJapanOnyama Limba UNQUALIFIED
Deepesh O WhobreyAustraliaStephen Shaw UNQUALIFIED
Murillo F KuskoFranceStephen Shaw NEGOTIATION
Ricardo I IturbideCanadaAsiya Javayant RENEWAL
Rodrigues B BologniaAustraliaAnna Fali NEGOTIATION

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