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
Aika L OldroydAustraliaIvan Magalhaes UNQUALIFIED
Clifford C TollnerBrazilXuxue Feng QUALIFIED
Murillo Z RutaItalyAnna Fali PROPOSAL
Misaki G WaycottFranceAmy Elsner RENEWAL
Maisha T ChuiCanadaXuxue Feng NEGOTIATION
Kadeem J ShinkoBrazilAsiya Javayant UNQUALIFIED
Rodrigues C BologniaGermanyIoni Bowcher UNQUALIFIED
Morrow A FerenczJapanAmy Elsner QUALIFIED
Aruna I CampainIndiaAmy Elsner RENEWAL
Darci X StockhamJapanElwin Sharvill RENEWAL
Morrow E StockhamArgentinaOnyama Limba QUALIFIED
Ricardo J PerinJapanBernardo Dominic UNQUALIFIED
Cody R AmigonCanadaOnyama Limba PROPOSAL
Ivar S AlbaresItalyIvan Magalhaes NEGOTIATION
Johnson K BriddickArgentinaAsiya Javayant RENEWAL
Leon K GillianFranceAsiya Javayant QUALIFIED
David W FerenczArgentinaStephen Shaw UNQUALIFIED
Jennifer W GillianIndiaXuxue Feng UNQUALIFIED
Cody A RoysterItalyBernardo Dominic PROPOSAL
Emily Y SchemmerCanadaAnna Fali NEW
Antonio S RimAustraliaAmy Elsner NEGOTIATION
Ashley R CaldareraRussiaAmy Elsner NEGOTIATION
Aditya B ShinkoFranceStephen Shaw RENEWAL
Costa Z BowleyCanadaBernardo Dominic PROPOSAL
Clifford H OstroskyJapanAnna Fali QUALIFIED
Ricardo F WhobreyArgentinaXuxue Feng QUALIFIED
Stacey J ButtBrazilXuxue Feng UNQUALIFIED
Leja I CaldareraGermanyOnyama Limba RENEWAL
Mujtaba B FlosiGermanyStephen Shaw PROPOSAL
Smith W TollnerJapanStephen Shaw NEW
Faith Z PoquetteBrazilBernardo Dominic NEGOTIATION
Ivar C CaldareraSpainAmy Elsner PROPOSAL
Kadeem O RoysterAustraliaElwin Sharvill PROPOSAL
Adams X MorascaArgentinaAsiya Javayant PROPOSAL
Leon B NickaAustraliaBernardo Dominic UNQUALIFIED
Morrow K DarakjyItalyAnna Fali NEW
Alejandro M GillianGermanyElwin Sharvill PROPOSAL
Wickens U IturbideArgentinaIoni Bowcher UNQUALIFIED
Darci J PoquetteAustraliaStephen Shaw NEW
Jennifer Y GillianRussiaBernardo Dominic QUALIFIED
Morrow Q MorascaArgentinaIoni Bowcher PROPOSAL
David V DilliardBrazilElwin Sharvill NEGOTIATION
Nicolas E WhobreyItalyXuxue Feng NEW
Arvin L FerenczArgentinaStephen Shaw UNQUALIFIED
Tony N OldroydBrazilIvan Magalhaes PROPOSAL
Clifford X InouyeFranceIvan Magalhaes PROPOSAL
Isabel M StockhamRussiaAsiya Javayant NEW
Claire Y WaycottFranceXuxue Feng QUALIFIED
Adams K MacleadIndiaIoni Bowcher NEGOTIATION
Mayumi R MorascaBrazilAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh O SlusarskiIndiaElwin Sharvill PROPOSAL
Johnson G FollerAustraliaAnna Fali PROPOSAL
Leon I FollerAustraliaAsiya Javayant NEGOTIATION
Francesco A PaprockiSpainStephen Shaw NEGOTIATION
Aika S PerinAustraliaOnyama Limba UNQUALIFIED
Deepesh J MacleadItalyAnna Fali NEW
Emily T NickaGermanyBernardo Dominic RENEWAL
Nicolas R SergiIndiaIoni Bowcher PROPOSAL
James B VocelkaIndiaXuxue Feng RENEWAL
Claire X IturbideBrazilStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Q WieserSpain2024-05-16Chanay, Jeffrey A Esq NEW45Bernardo Dominic
1001Tony A PaprockiRussia2024-05-19Benton, John B Jr NEGOTIATION87Ivan Magalhaes
1002Mujtaba D SaylorsBrazil2024-05-17Benton, John B Jr QUALIFIED89Bernardo Dominic
1003Aruna B SchemmerUnited Kingdom2024-05-23Feiner Bros PROPOSAL34Onyama Limba
1004Faith Q WieserSpain2024-05-10Benton, John B Jr NEW93Ioni Bowcher
1005Leja J GauchoSpain2024-05-16Morlong Associates RENEWAL68Amy Elsner
1006Izzy Y InouyeBrazil2024-05-10Truhlar And Truhlar Attys UNQUALIFIED39Ioni Bowcher
1007Arvin F WieserBrazil2024-05-11Rousseaux, Michael Esq UNQUALIFIED30Anna Fali
1008Faith K CaldareraUnited Kingdom2024-05-05Chanay, Jeffrey A Esq NEW16Bernardo Dominic
1009Antonio W DarakjyArgentina2024-04-28Benton, John B Jr UNQUALIFIED79Elwin Sharvill
1010Aika F DoeBrazil2024-05-02Rangoni Of Florence NEW1Stephen Shaw
1011Rodrigues H MaletArgentina2024-04-29Chanay, Jeffrey A Esq QUALIFIED46Amy Elsner
1012Jefferson Z MorascaRussia2024-04-27Chemel, James L Cpa UNQUALIFIED6Xuxue Feng
1013Mayumi O CampainGermany2024-05-15Chapman, Ross E Esq NEGOTIATION35Ivan Magalhaes
1014Smith C TollnerSpain2024-04-29Chemel, James L Cpa PROPOSAL44Asiya Javayant
1015Jefferson J PaprockiItaly2024-05-21Chemel, James L Cpa NEW87Stephen Shaw
1016Cody L NestleGermany2024-04-27Printing Dimensions QUALIFIED89Ioni Bowcher
1017Wickens Y SaylorsArgentina2024-05-19Rousseaux, Michael Esq UNQUALIFIED37Amy Elsner
1018Smith L VenereItaly2024-04-24Feiner Bros PROPOSAL0Asiya Javayant
1019Kaitlin M WaycottIndia2024-05-03Chemel, James L Cpa RENEWAL55Stephen Shaw
1020Cody C RoysterAustralia2024-04-26Feltz Printing Service NEGOTIATION30Ivan Magalhaes
1021Deepesh M KuskoItaly2024-05-22Feiner Bros NEGOTIATION80Bernardo Dominic
1022Salvatore B IturbideJapan2024-05-04King, Christopher A Esq PROPOSAL18Bernardo Dominic
1023Tony R VocelkaSpain2024-05-01King, Christopher A Esq UNQUALIFIED23Asiya Javayant
1024Mayumi E CaudySpain2024-05-20Chapman, Ross E Esq PROPOSAL59Onyama Limba
1025Maisha C OstroskySpain2024-04-26Rangoni Of Florence QUALIFIED82Stephen Shaw
1026Clifford C KuskoArgentina2024-05-10Truhlar And Truhlar Attys NEGOTIATION90Anna Fali
1027Nicolas X InouyeArgentina2024-05-05Benton, John B Jr PROPOSAL45Bernardo Dominic
1028Izzy E RoysterCanada2024-05-02Benton, John B Jr NEGOTIATION25Xuxue Feng
1029David Y BowleyArgentina2024-05-21Morlong Associates PROPOSAL56Stephen Shaw
1030Ivar N OldroydUnited Kingdom2024-05-19Benton, John B Jr NEGOTIATION99Anna Fali
1031Aruna Q MorascaBrazil2024-05-04Buckley Miller Wright UNQUALIFIED15Asiya Javayant
1032Leon Q SchemmerBrazil2024-05-09Rousseaux, Michael Esq QUALIFIED58Elwin Sharvill
1033Morrow G NestleBrazil2024-04-26Commercial Press UNQUALIFIED16Ivan Magalhaes
1034Murillo P VocelkaArgentina2024-04-29Dorl, James J Esq QUALIFIED83Onyama Limba
1035Johnson U PerinArgentina2024-05-03Feiner Bros NEGOTIATION0Asiya Javayant
1036Isabel P GlickCanada2024-04-25Buckley Miller Wright QUALIFIED51Onyama Limba
1037Jeanfrancois I PaprockiSpain2024-05-20King, Christopher A Esq UNQUALIFIED85Ioni Bowcher
1038Johnson D CaudyAustralia2024-05-13Chanay, Jeffrey A Esq NEW5Onyama Limba
1039Nicolas H AlbaresGermany2024-05-14Buckley Miller Wright QUALIFIED85Stephen Shaw
1040Leon S FollerIndia2024-05-23Benton, John B Jr QUALIFIED49Amy Elsner
1041Misaki I PaprockiAustralia2024-05-11Feltz Printing Service UNQUALIFIED28Elwin Sharvill
1042Leja A AmigonGermany2024-04-28Rangoni Of Florence RENEWAL40Anna Fali
1043Jeanfrancois T GarufiFrance2024-05-12Chanay, Jeffrey A Esq NEW92Amy Elsner
1044Adams G StensethGermany2024-05-10Commercial Press PROPOSAL16Amy Elsner
1045Johnson A MaletGermany2024-05-11Chapman, Ross E Esq QUALIFIED31Ivan Magalhaes
1046Jeanfrancois P MorascaUnited Kingdom2024-05-15Truhlar And Truhlar Attys RENEWAL21Bernardo Dominic
1047Mayumi Z CaudyRussia2024-05-04King, Christopher A Esq PROPOSAL44Xuxue Feng
1048Francesco R DarakjyFrance2024-05-23Buckley Miller Wright PROPOSAL4Ioni Bowcher
1049Wickens C BriddickRussia2024-05-09Dorl, James J Esq NEW52Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James X GauchoAustraliaIoni Bowcher QUALIFIED
Faith N ButtCanadaOnyama Limba RENEWAL
Stacey T ShinkoItalyBernardo Dominic UNQUALIFIED
James C BologniaFranceAsiya Javayant RENEWAL
Julie A AlbaresCanadaXuxue Feng RENEWAL
Isabel A SaylorsFranceAsiya Javayant PROPOSAL
Maisha E RoysterIndiaBernardo Dominic UNQUALIFIED
Greenwood O MaletBrazilAsiya Javayant NEGOTIATION
Emily H WhobreyCanadaXuxue Feng RENEWAL
Silvio U TollnerCanadaIoni Bowcher QUALIFIED
Faith L GauchoAustraliaAnna Fali PROPOSAL
Juan B NickaJapanAmy Elsner RENEWAL
Izzy Q RulapaughAustraliaStephen Shaw QUALIFIED
Adams C IturbideRussiaOnyama Limba RENEWAL
Adams H RoysterSpainStephen Shaw QUALIFIED
Faith Z VenereAustraliaXuxue Feng NEGOTIATION
Octavia O GlickUnited KingdomIoni Bowcher NEW
Mujtaba D StensethUnited KingdomXuxue Feng PROPOSAL
Nicolas F WaycottItalyAnna Fali PROPOSAL
Kaitlin A DilliardIndiaIoni Bowcher NEW
Ashley U SergiJapanAmy Elsner PROPOSAL
Jones Z WaycottAustraliaAmy Elsner RENEWAL
Sinclair N RulapaughRussiaAmy Elsner QUALIFIED
Aika K KolmetzFranceAnna Fali NEGOTIATION
Darci Z BowleyCanadaXuxue Feng QUALIFIED
Octavia D InouyeRussiaXuxue Feng UNQUALIFIED
Jeanfrancois I SchemmerRussiaOnyama Limba UNQUALIFIED
Julie B BologniaJapanXuxue Feng QUALIFIED
Aruna U OstroskyCanadaElwin Sharvill NEW
Greenwood X ButtUnited KingdomElwin Sharvill QUALIFIED
Izzy L ButtUnited KingdomOnyama Limba PROPOSAL
Jefferson H DilliardRussiaIvan Magalhaes RENEWAL
Deepesh D OstroskyArgentinaAnna Fali NEGOTIATION
Aika K VocelkaBrazilOnyama Limba NEW
Deepesh R RoysterJapanStephen Shaw NEGOTIATION
Adams P BologniaSpainBernardo Dominic NEGOTIATION
Ashley M RulapaughUnited KingdomElwin Sharvill PROPOSAL
Salvatore B VocelkaUnited KingdomIoni Bowcher RENEWAL
Claire E GauchoAustraliaAnna Fali NEGOTIATION
Leon Y GarufiArgentinaAnna Fali PROPOSAL
Maria L ChuiItalyAmy Elsner RENEWAL
Ivar F RulapaughIndiaAsiya Javayant NEW
Stacey R ChuiJapanXuxue Feng QUALIFIED
Jennifer V RoysterFranceIoni Bowcher PROPOSAL
Rodrigues K PerinAustraliaAmy Elsner PROPOSAL
Nicolas C CaudyBrazilStephen Shaw UNQUALIFIED
Leja D StensethAustraliaAmy Elsner NEGOTIATION
Aditya E SchemmerItalyAmy Elsner NEW
Murillo K NestleSpainAsiya Javayant PROPOSAL
Silvio N WieserJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Ricardo P Doe
Wickens H Morasca
Adams D Amigon
Kadeem F Sergi
Maisha E Briddick
Leja S Garufi
Octavia V Maclead
Kadeem Y Rim
Juan R Iturbide
Murillo W Rim
Jennifer D Gaucho
Nicolas J Caudy
Morrow C Slusarski
Francesco Q Gillian
David D Slusarski
Ricardo L Glick
Aruna M Marrier
Ivar V Dilliard
Munro J Foller
Cody C Ostrosky
Clifford H Whobrey
David U Caldarera
Adams P Campain
Nicolas H Caldarera
Emily G Kolmetz
Antonio D Nicka
Wickens L Rim
Darci U Glick
Mujtaba Q Stockham
Maisha P Butt
Octavia C Waycott
Antonio I Whobrey
Murillo F Malet
Adams K Bowley
Jefferson U Ostrosky
Antonio V Briddick
Jennifer T Figeroa
Jones U Doe
Leon Q Morasca
Mujtaba U Vocelka
Misaki B Venere
Ivar B Garufi
Emily M Marrier
Murillo C Maclead
Johnson V Malet
Octavia V Malet
Darci N Foller
Octavia D Royster
Silvio A Rulapaugh
Arvin B Perin
IdCountryDate
1000Spain2024-05-11
1001Brazil2024-05-20
1002Argentina2024-04-26
1003Germany2024-05-03
1004Canada2024-05-08
1005Germany2024-05-13
1006Argentina2024-04-30
1007Argentina2024-04-24
1008Australia2024-05-17
1009Canada2024-05-14
1010France2024-04-25
1011India2024-05-21
1012United Kingdom2024-04-24
1013Brazil2024-04-29
1014Russia2024-05-07
1015India2024-04-28
1016Japan2024-05-17
1017Argentina2024-05-06
1018Australia2024-05-11
1019Spain2024-05-07
1020Japan2024-04-27
1021Japan2024-04-28
1022India2024-05-05
1023Russia2024-05-08
1024Japan2024-05-18
1025United Kingdom2024-04-25
1026Germany2024-04-28
1027Brazil2024-04-30
1028Italy2024-05-09
1029Japan2024-04-28
1030Russia2024-04-28
1031Germany2024-04-29
1032Australia2024-05-10
1033Canada2024-05-12
1034France2024-04-27
1035Australia2024-04-25
1036Argentina2024-05-17
1037India2024-05-16
1038Australia2024-04-26
1039Argentina2024-05-02
1040France2024-04-30
1041Japan2024-05-22
1042Brazil2024-05-08
1043India2024-05-05
1044Australia2024-05-22
1045Australia2024-05-06
1046Brazil2024-05-05
1047Russia2024-05-23
1048Canada2024-05-02
1049Brazil2024-05-11

On-Demand Data

NameIdCountryDate
Jeanfrancois M Marrier1000Russia2024-05-16
Tony V Amigon1001Australia2024-04-29
Aditya O Stockham1002Japan2024-05-13
Costa V Glick1003France2024-05-16
Deepesh M Glick1004Australia2024-04-24
Stacey Y Poquette1005Germany2024-05-02
Nicolas T Ostrosky1006India2024-04-28
Kaitlin G Bolognia1007Australia2024-05-16
Chavez L Marrier1008Italy2024-05-11
Leon J Royster1009Russia2024-05-18
Chavez P Slusarski1010Brazil2024-05-10
Wickens J Doe1011Argentina2024-05-16
Murillo J Doe1012Spain2024-05-23
James J Glick1013Australia2024-05-02
Tony P Amigon1014Brazil2024-05-01
Izzy H Gaucho1015Brazil2024-05-04
Misaki D Malet1016Italy2024-05-04
Aika F Malet1017Brazil2024-05-06
Silvio L Maclead1018Italy2024-05-17
Mayumi N Malet1019India2024-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem R BriddickGermanyElwin Sharvill PROPOSAL
Kaitlin L RutaSpainOnyama Limba PROPOSAL
David B GauchoSpainAmy Elsner NEW
Greenwood L DilliardBrazilOnyama Limba RENEWAL
Aruna H SergiBrazilOnyama Limba PROPOSAL
Deepesh I InouyeCanadaAnna Fali NEW
Julie Q PoquetteItalyElwin Sharvill PROPOSAL
Silvio G AmigonJapanIoni Bowcher NEW
Leon G WaycottCanadaAnna Fali NEW
Chavez I VocelkaBrazilAmy Elsner NEGOTIATION
Emily D SlusarskiBrazilIoni Bowcher NEGOTIATION
Aditya B MarrierItalyOnyama Limba PROPOSAL
Isabel I BowleyIndiaAmy Elsner QUALIFIED
Rodrigues K IturbideRussiaIvan Magalhaes RENEWAL
Antonio B FigeroaArgentinaIoni Bowcher QUALIFIED
Ricardo J AmigonItalyElwin Sharvill UNQUALIFIED
Murillo B CampainFranceStephen Shaw RENEWAL
Sinclair X VenereSpainBernardo Dominic UNQUALIFIED
David C StockhamSpainAsiya Javayant NEGOTIATION
Ivar D KolmetzArgentinaOnyama Limba RENEWAL
Ivar M RulapaughFranceOnyama Limba PROPOSAL
Ricardo H MaletAustraliaElwin Sharvill UNQUALIFIED
Faith I BriddickIndiaAsiya Javayant RENEWAL
Leon N IturbideAustraliaAsiya Javayant NEW
Jones T SaylorsJapanAmy Elsner UNQUALIFIED
Claire G DilliardJapanOnyama Limba QUALIFIED
Aika C StockhamSpainStephen Shaw QUALIFIED
Jeanfrancois O OldroydIndiaElwin Sharvill UNQUALIFIED
Julie I ShinkoGermanyBernardo Dominic RENEWAL
Kaitlin G SaylorsUnited KingdomBernardo Dominic RENEWAL
Aditya H GauchoBrazilStephen Shaw QUALIFIED
Emily A CaldareraUnited KingdomOnyama Limba NEGOTIATION
Wickens G WhobreyBrazilElwin Sharvill NEW
Emily N MaletItalyOnyama Limba NEGOTIATION
Maisha R BologniaCanadaXuxue Feng QUALIFIED
Aditya L GillianAustraliaIvan Magalhaes UNQUALIFIED
Jones J ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Sinclair N DarakjyGermanyAsiya Javayant PROPOSAL
Emily M StockhamAustraliaAnna Fali QUALIFIED
Arvin Q RutaCanadaStephen Shaw RENEWAL

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