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
Kaitlin B PerinGermanyIvan Magalhaes UNQUALIFIED
Costa C NickaIndiaOnyama Limba UNQUALIFIED
Jennifer S GlickBrazilAsiya Javayant NEGOTIATION
Smith F VocelkaBrazilOnyama Limba UNQUALIFIED
Cody O GauchoJapanOnyama Limba NEW
Munro R ChuiUnited KingdomBernardo Dominic RENEWAL
Murillo F KolmetzItalyOnyama Limba RENEWAL
Jefferson C RulapaughBrazilXuxue Feng QUALIFIED
Maisha N InouyeItalyIoni Bowcher QUALIFIED
Jennifer G RoysterItalyXuxue Feng QUALIFIED
Silvio C KolmetzUnited KingdomStephen Shaw PROPOSAL
David R MacleadSpainIoni Bowcher UNQUALIFIED
Kadeem M MaletGermanyIoni Bowcher QUALIFIED
Ivar V ButtUnited KingdomStephen Shaw QUALIFIED
James F DarakjyItalyIvan Magalhaes RENEWAL
Arvin R MacleadUnited KingdomAmy Elsner UNQUALIFIED
Francesco E PoquetteRussiaBernardo Dominic PROPOSAL
Aruna F WieserItalyAsiya Javayant UNQUALIFIED
Salvatore T SergiGermanyAnna Fali NEW
Faith D GauchoFranceOnyama Limba UNQUALIFIED
Mayumi R WhobreyBrazilOnyama Limba QUALIFIED
Emily S NestleIndiaXuxue Feng NEGOTIATION
Ashley M VocelkaRussiaElwin Sharvill UNQUALIFIED
Maisha L StensethCanadaIvan Magalhaes QUALIFIED
Kadeem N AmigonAustraliaBernardo Dominic UNQUALIFIED
Faith T WaycottIndiaStephen Shaw UNQUALIFIED
Sinclair V MaletBrazilOnyama Limba NEGOTIATION
Alejandro R DoeGermanyBernardo Dominic PROPOSAL
Jeanfrancois S KolmetzRussiaBernardo Dominic QUALIFIED
Misaki P MaletCanadaXuxue Feng UNQUALIFIED
Alejandro G RutaBrazilElwin Sharvill PROPOSAL
Julie V MorascaArgentinaAmy Elsner QUALIFIED
Darci W BologniaArgentinaXuxue Feng NEW
Maria F SergiAustraliaStephen Shaw QUALIFIED
Silvio P SergiGermanyOnyama Limba NEW
Ricardo J NickaArgentinaStephen Shaw NEGOTIATION
Wickens Q ShinkoGermanyAsiya Javayant NEGOTIATION
Costa V ChuiArgentinaStephen Shaw PROPOSAL
Wickens R MaletUnited KingdomElwin Sharvill RENEWAL
Faith L ShinkoUnited KingdomIvan Magalhaes NEW
Jones E DarakjyFranceXuxue Feng QUALIFIED
Ivar W OstroskySpainStephen Shaw RENEWAL
Mayumi Q CaudyBrazilAnna Fali NEW
Rodrigues J StensethIndiaAnna Fali NEW
Costa T DilliardJapanAsiya Javayant PROPOSAL
Alejandro U NestleFranceAmy Elsner NEW
Mujtaba G ShinkoSpainStephen Shaw PROPOSAL
Salvatore R OldroydRussiaOnyama Limba QUALIFIED
Wickens E AmigonItalyAmy Elsner PROPOSAL
Ivar O TollnerFranceAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki U OldroydCanadaAnna Fali RENEWAL
Kaitlin P DarakjyIndiaStephen Shaw NEW
Aditya R StockhamArgentinaStephen Shaw UNQUALIFIED
Misaki Z CaldareraCanadaAnna Fali UNQUALIFIED
Isabel J FlosiSpainOnyama Limba NEW
David U MaletGermanyAsiya Javayant RENEWAL
Nicolas W MacleadSpainXuxue Feng NEW
Chavez L KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Nicolas X CampainGermanyAnna Fali PROPOSAL
Juan F BologniaAustraliaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo K KolmetzSpain2024-06-21Chemel, James L Cpa QUALIFIED88Xuxue Feng
1001David R RoysterCanada2024-05-27Morlong Associates NEGOTIATION29Anna Fali
1002Antonio E GarufiBrazil2024-06-19Chemel, James L Cpa QUALIFIED29Ioni Bowcher
1003Mayumi J ChuiJapan2024-06-17Truhlar And Truhlar Attys QUALIFIED33Onyama Limba
1004Darci C FollerJapan2024-05-29King, Christopher A Esq UNQUALIFIED3Bernardo Dominic
1005Ashley K ButtSpain2024-05-23Benton, John B Jr NEW96Ioni Bowcher
1006Leja K WieserJapan2024-05-25Commercial Press NEW7Asiya Javayant
1007Maisha U DarakjySpain2024-06-11Buckley Miller Wright QUALIFIED44Asiya Javayant
1008Clifford C OstroskyBrazil2024-06-12Printing Dimensions PROPOSAL56Onyama Limba
1009Sinclair N PoquetteIndia2024-05-23Truhlar And Truhlar Attys UNQUALIFIED22Xuxue Feng
1010David C PaprockiUnited Kingdom2024-06-10Printing Dimensions NEW83Asiya Javayant
1011Kadeem S MarrierItaly2024-06-19Buckley Miller Wright UNQUALIFIED9Xuxue Feng
1012Maisha Y PerinArgentina2024-06-05King, Christopher A Esq UNQUALIFIED7Anna Fali
1013Salvatore L NestleGermany2024-06-12Commercial Press NEGOTIATION90Bernardo Dominic
1014Deepesh M CampainFrance2024-06-02Chapman, Ross E Esq RENEWAL22Xuxue Feng
1015Cody W DarakjyIndia2024-06-15Commercial Press PROPOSAL16Ivan Magalhaes
1016Faith O GillianArgentina2024-06-18Feltz Printing Service NEGOTIATION49Asiya Javayant
1017Francesco D KolmetzAustralia2024-05-29Chapman, Ross E Esq QUALIFIED26Amy Elsner
1018Octavia I SaylorsArgentina2024-06-16Feltz Printing Service QUALIFIED2Elwin Sharvill
1019Silvio U PoquetteBrazil2024-06-20Chanay, Jeffrey A Esq PROPOSAL47Xuxue Feng
1020Francesco T AmigonItaly2024-06-09Printing Dimensions QUALIFIED61Asiya Javayant
1021Munro P MaletArgentina2024-05-30Rangoni Of Florence PROPOSAL30Elwin Sharvill
1022Kadeem L DoeAustralia2024-06-05Feltz Printing Service RENEWAL88Ioni Bowcher
1023Maria T GauchoItaly2024-05-29Chemel, James L Cpa NEW6Ivan Magalhaes
1024Cody N BowleyCanada2024-05-24Chemel, James L Cpa NEW19Amy Elsner
1025Misaki P DarakjyFrance2024-06-07Chapman, Ross E Esq QUALIFIED53Anna Fali
1026Greenwood R MaletArgentina2024-06-15Morlong Associates QUALIFIED59Xuxue Feng
1027Claire V FigeroaIndia2024-06-09Chemel, James L Cpa NEW89Xuxue Feng
1028Deepesh J ButtRussia2024-06-12Rangoni Of Florence QUALIFIED85Ioni Bowcher
1029Octavia M BriddickIndia2024-06-10Chanay, Jeffrey A Esq PROPOSAL61Amy Elsner
1030Rodrigues S GauchoAustralia2024-06-14Dorl, James J Esq UNQUALIFIED46Bernardo Dominic
1031Darci I WaycottItaly2024-05-26King, Christopher A Esq QUALIFIED32Xuxue Feng
1032Arvin E CampainArgentina2024-05-27Printing Dimensions PROPOSAL75Asiya Javayant
1033Johnson R PerinUnited Kingdom2024-06-01Truhlar And Truhlar Attys RENEWAL79Ivan Magalhaes
1034Francesco K WhobreyUnited Kingdom2024-06-19Commercial Press UNQUALIFIED46Elwin Sharvill
1035Maisha P CaldareraCanada2024-05-30Printing Dimensions UNQUALIFIED32Xuxue Feng
1036Juan I DoeArgentina2024-06-11Chapman, Ross E Esq RENEWAL88Ivan Magalhaes
1037Alejandro X OldroydJapan2024-06-08Rousseaux, Michael Esq NEW44Ioni Bowcher
1038Morrow U FerenczRussia2024-06-20Dorl, James J Esq NEW25Anna Fali
1039Mayumi Y SchemmerUnited Kingdom2024-06-01Feltz Printing Service RENEWAL22Elwin Sharvill
1040Leon I RimArgentina2024-06-05Feltz Printing Service UNQUALIFIED0Asiya Javayant
1041Alejandro B WaycottItaly2024-06-03Rousseaux, Michael Esq NEW89Ioni Bowcher
1042Mayumi S ShinkoArgentina2024-06-02Feltz Printing Service RENEWAL62Onyama Limba
1043Chavez U GlickAustralia2024-05-28Feiner Bros NEW72Amy Elsner
1044Jennifer Y RulapaughCanada2024-06-20Feltz Printing Service NEGOTIATION10Amy Elsner
1045Claire P DoeGermany2024-05-25Feiner Bros UNQUALIFIED22Onyama Limba
1046Ricardo K CaldareraItaly2024-06-17Dorl, James J Esq QUALIFIED31Ioni Bowcher
1047Murillo Y SaylorsArgentina2024-06-18Feiner Bros PROPOSAL76Ioni Bowcher
1048Emily E SchemmerIndia2024-06-11Feiner Bros NEW60Ivan Magalhaes
1049Antonio N RimArgentina2024-06-11Printing Dimensions UNQUALIFIED73Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa B VocelkaIndiaStephen Shaw RENEWAL
Julie Y WieserCanadaIvan Magalhaes RENEWAL
Faith T SchemmerIndiaAnna Fali NEW
Jones H CaudyBrazilOnyama Limba QUALIFIED
Rodrigues M WaycottJapanStephen Shaw QUALIFIED
Leja J ButtArgentinaAmy Elsner PROPOSAL
Kadeem Q TollnerArgentinaAnna Fali QUALIFIED
Adams G VocelkaFranceOnyama Limba NEGOTIATION
Silvio S FigeroaGermanyOnyama Limba UNQUALIFIED
Johnson B GarufiJapanElwin Sharvill NEW
Kadeem X CampainFranceIvan Magalhaes RENEWAL
Ashley F RulapaughJapanStephen Shaw NEW
Jeanfrancois K KolmetzAustraliaBernardo Dominic NEW
Leon D WaycottBrazilElwin Sharvill RENEWAL
Kadeem P IturbideCanadaIvan Magalhaes QUALIFIED
Alejandro Z TollnerItalyXuxue Feng NEW
Greenwood H BologniaItalyStephen Shaw PROPOSAL
David Y FollerRussiaElwin Sharvill RENEWAL
Darci O SchemmerArgentinaXuxue Feng UNQUALIFIED
Sinclair C PoquetteBrazilElwin Sharvill NEGOTIATION
Salvatore V ChuiSpainBernardo Dominic NEGOTIATION
Sinclair N WieserArgentinaAmy Elsner NEGOTIATION
Rodrigues V VocelkaGermanyXuxue Feng NEW
Johnson Q SlusarskiUnited KingdomElwin Sharvill RENEWAL
Mujtaba Q VenereItalyOnyama Limba RENEWAL
Mujtaba W BologniaItalyOnyama Limba UNQUALIFIED
Ricardo S RoysterUnited KingdomAnna Fali UNQUALIFIED
Izzy I ButtFranceIoni Bowcher UNQUALIFIED
Maria O SlusarskiCanadaAnna Fali PROPOSAL
Alejandro T SchemmerAustraliaAsiya Javayant UNQUALIFIED
Julie M FollerSpainXuxue Feng UNQUALIFIED
Faith M RutaAustraliaIvan Magalhaes NEW
Octavia A IturbideAustraliaAmy Elsner UNQUALIFIED
Costa A PerinUnited KingdomOnyama Limba QUALIFIED
Kadeem S VenereArgentinaOnyama Limba NEGOTIATION
Silvio O CaldareraIndiaElwin Sharvill QUALIFIED
Munro S AmigonFranceOnyama Limba PROPOSAL
Jefferson Q RoysterCanadaAnna Fali QUALIFIED
Silvio H BriddickSpainAnna Fali UNQUALIFIED
Octavia C StockhamArgentinaAmy Elsner QUALIFIED
Sinclair X FerenczIndiaAnna Fali PROPOSAL
Murillo O MarrierItalyAsiya Javayant QUALIFIED
Mayumi T AmigonArgentinaElwin Sharvill QUALIFIED
Aika K CaudyArgentinaBernardo Dominic NEW
Stacey I MarrierUnited KingdomElwin Sharvill PROPOSAL
Emily J SchemmerItalyAsiya Javayant NEGOTIATION
Wickens B StensethArgentinaOnyama Limba QUALIFIED
Morrow G RimIndiaXuxue Feng RENEWAL
Maria H SchemmerRussiaBernardo Dominic NEW
Rodrigues V RutaBrazilIvan Magalhaes QUALIFIED
Frozen Columns
Name
Jeanfrancois O Oldroyd
Isabel E Royster
Ivar Q Darakjy
Ashley U Whobrey
Smith I Chui
Jefferson Q Briddick
Chavez A Shinko
Adams L Darakjy
Mujtaba I Glick
Izzy V Nestle
Francesco H Vocelka
Ricardo C Caudy
Ivar Q Caldarera
Aika C Caudy
Julie P Marrier
Rodrigues K Maclead
Izzy S Nestle
James L Figeroa
Darci B Nicka
Aditya P Stenseth
Munro Z Bolognia
Jefferson A Wieser
Kadeem A Slusarski
Jennifer V Caudy
Francesco F Caudy
Nicolas J Rim
Jeanfrancois O Whobrey
Morrow B Marrier
Smith Q Poquette
Clifford E Kolmetz
Darci K Nestle
Rodrigues M Malet
Kaitlin Q Sergi
Cody X Wieser
Darci G Kolmetz
Rodrigues Z Iturbide
Aditya Z Waycott
Darci C Bolognia
Faith F Figeroa
Morrow Q Whobrey
Murillo K Slusarski
Morrow M Nestle
Maisha R Poquette
Cody D Shinko
Munro T Kusko
Salvatore D Perin
David Z Bolognia
Adams H Kusko
Darci E Butt
Salvatore O Figeroa
IdCountryDate
1000Russia2024-05-27
1001United Kingdom2024-06-16
1002Australia2024-05-31
1003Germany2024-06-05
1004Canada2024-05-31
1005India2024-05-29
1006India2024-06-13
1007Japan2024-05-29
1008United Kingdom2024-06-11
1009India2024-05-30
1010United Kingdom2024-06-12
1011Australia2024-06-13
1012Japan2024-06-06
1013Russia2024-05-31
1014India2024-05-27
1015United Kingdom2024-05-24
1016Australia2024-06-06
1017Argentina2024-06-12
1018Spain2024-06-06
1019Italy2024-06-03
1020Germany2024-06-10
1021Japan2024-06-21
1022United Kingdom2024-06-13
1023Italy2024-06-10
1024Italy2024-05-31
1025Australia2024-06-12
1026Australia2024-05-27
1027Russia2024-05-26
1028United Kingdom2024-06-10
1029Argentina2024-06-05
1030Argentina2024-06-08
1031Australia2024-06-13
1032Germany2024-05-24
1033Spain2024-05-29
1034Argentina2024-06-07
1035Japan2024-06-20
1036United Kingdom2024-06-19
1037Italy2024-06-02
1038India2024-06-02
1039Russia2024-06-01
1040Russia2024-06-13
1041Canada2024-06-03
1042France2024-06-05
1043Italy2024-05-28
1044Australia2024-05-30
1045Canada2024-06-13
1046Australia2024-06-18
1047France2024-05-27
1048Italy2024-06-05
1049Japan2024-06-06

On-Demand Data

NameIdCountryDate
Chavez K Flosi1000Spain2024-06-02
Aruna N Bowley1001Russia2024-06-07
Ashley W Amigon1002Spain2024-05-26
Tony D Shinko1003Brazil2024-06-11
Ricardo Y Bowley1004Germany2024-06-18
Munro Y Dilliard1005Australia2024-06-05
Smith J Sergi1006Spain2024-06-11
Ivar F Flosi1007Canada2024-05-28
Maisha T Poquette1008Italy2024-05-24
Clifford F Stenseth1009Canada2024-06-11
Claire L Marrier1010United Kingdom2024-06-17
Adams L Tollner1011Argentina2024-05-30
Jennifer D Rulapaugh1012India2024-05-24
Cody U Tollner1013Japan2024-06-11
Ricardo Z Vocelka1014United Kingdom2024-05-24
Maria N Caldarera1015Canada2024-06-01
Stacey P Darakjy1016Spain2024-06-04
Costa A Whobrey1017Brazil2024-05-28
David U Rim1018Italy2024-05-29
Cody X Shinko1019Canada2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki W MorascaBrazilXuxue Feng UNQUALIFIED
Salvatore K KuskoGermanyAmy Elsner PROPOSAL
Clifford G ChuiRussiaOnyama Limba RENEWAL
Jennifer G DilliardJapanAnna Fali NEW
Munro C FerenczCanadaIvan Magalhaes NEW
Jeanfrancois G GlickGermanyStephen Shaw PROPOSAL
Smith I BriddickSpainElwin Sharvill PROPOSAL
Izzy F MacleadAustraliaStephen Shaw NEW
Jones R RutaUnited KingdomAnna Fali NEW
Murillo U MacleadCanadaElwin Sharvill NEW
Mayumi W VenereCanadaIoni Bowcher UNQUALIFIED
Jones X PoquetteJapanBernardo Dominic QUALIFIED
Ricardo D RulapaughUnited KingdomAmy Elsner QUALIFIED
Isabel P PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Murillo G PaprockiBrazilElwin Sharvill NEGOTIATION
Jennifer O TollnerArgentinaBernardo Dominic NEW
Jefferson R ShinkoGermanyAmy Elsner NEW
James V SchemmerIndiaIvan Magalhaes QUALIFIED
Tony A StockhamJapanIvan Magalhaes UNQUALIFIED
Ashley S SlusarskiSpainAnna Fali PROPOSAL
Deepesh A DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Aruna P VenereBrazilOnyama Limba NEGOTIATION
Aika Q BologniaUnited KingdomOnyama Limba NEGOTIATION
Ricardo Q SergiAustraliaXuxue Feng NEGOTIATION
Juan D MarrierUnited KingdomAnna Fali NEGOTIATION
Murillo A KuskoItalyIoni Bowcher UNQUALIFIED
Claire W WhobreyAustraliaAsiya Javayant UNQUALIFIED
Greenwood H InouyeCanadaBernardo Dominic UNQUALIFIED
Salvatore Z RoysterArgentinaOnyama Limba RENEWAL
Salvatore U MacleadSpainOnyama Limba NEW
Octavia U MarrierIndiaAnna Fali QUALIFIED
Tony S RimUnited KingdomIoni Bowcher QUALIFIED
Chavez D VocelkaGermanyIoni Bowcher PROPOSAL
Maisha V MaletUnited KingdomXuxue Feng QUALIFIED
Kaitlin E KuskoCanadaBernardo Dominic NEGOTIATION
Cody H CaldareraRussiaXuxue Feng QUALIFIED
Morrow V InouyeItalyOnyama Limba RENEWAL
Stacey I FollerJapanStephen Shaw NEW
Mayumi V MaletJapanAsiya Javayant PROPOSAL
Clifford D GauchoArgentinaAsiya 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>