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
Costa T BologniaFranceStephen Shaw NEGOTIATION
Kaitlin N VocelkaGermanyXuxue Feng RENEWAL
Francesco F WhobreyAustraliaAnna Fali RENEWAL
Salvatore H BriddickRussiaXuxue Feng QUALIFIED
Costa Y DarakjyBrazilBernardo Dominic NEGOTIATION
Faith X GlickArgentinaElwin Sharvill UNQUALIFIED
Aika V MaletBrazilElwin Sharvill RENEWAL
Maria K GauchoFranceBernardo Dominic QUALIFIED
Izzy N AmigonFranceXuxue Feng RENEWAL
Greenwood H ButtJapanElwin Sharvill NEW
Antonio X NestleFranceStephen Shaw PROPOSAL
Leon K GauchoArgentinaAnna Fali NEGOTIATION
Aditya E KolmetzBrazilStephen Shaw NEW
Murillo Q WieserArgentinaIoni Bowcher QUALIFIED
Clifford F OstroskyItalyIoni Bowcher NEGOTIATION
Chavez J PerinArgentinaIoni Bowcher RENEWAL
Chavez F IturbideIndiaAsiya Javayant UNQUALIFIED
Clifford E InouyeAustraliaAmy Elsner QUALIFIED
Mayumi X RoysterGermanyAsiya Javayant PROPOSAL
Aika K BriddickAustraliaAmy Elsner UNQUALIFIED
Munro D RulapaughArgentinaStephen Shaw QUALIFIED
Jeanfrancois K SaylorsCanadaIoni Bowcher QUALIFIED
Smith W GauchoAustraliaStephen Shaw PROPOSAL
Claire H DoeItalyBernardo Dominic RENEWAL
Greenwood M BriddickArgentinaAmy Elsner NEGOTIATION
Adams X MaletGermanyAnna Fali PROPOSAL
Arvin V InouyeItalyAnna Fali PROPOSAL
Kaitlin T NestleAustraliaBernardo Dominic RENEWAL
Faith P ButtBrazilElwin Sharvill RENEWAL
Leja Z FerenczItalyOnyama Limba NEGOTIATION
Kadeem G MorascaBrazilBernardo Dominic NEW
Jeanfrancois V CaldareraRussiaAsiya Javayant UNQUALIFIED
Salvatore S FigeroaIndiaStephen Shaw NEGOTIATION
Ivar Z SaylorsJapanXuxue Feng NEGOTIATION
Maisha Z RoysterAustraliaAnna Fali PROPOSAL
Sinclair M MacleadRussiaOnyama Limba QUALIFIED
Aika U PaprockiCanadaXuxue Feng QUALIFIED
Costa S DilliardIndiaXuxue Feng QUALIFIED
Alejandro U MaletFranceBernardo Dominic UNQUALIFIED
Ivar J SergiGermanyIoni Bowcher UNQUALIFIED
Rodrigues O RulapaughGermanyXuxue Feng PROPOSAL
Leja N FlosiRussiaIvan Magalhaes NEW
Maria C IturbideItalyIoni Bowcher NEW
Darci Y StockhamIndiaStephen Shaw PROPOSAL
Munro G CampainUnited KingdomXuxue Feng NEGOTIATION
Ricardo W FlosiUnited KingdomOnyama Limba PROPOSAL
Salvatore I BologniaFranceIvan Magalhaes UNQUALIFIED
Ashley Y MacleadJapanBernardo Dominic NEW
Aruna Q RutaSpainOnyama Limba NEGOTIATION
Leja O MarrierCanadaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio O SchemmerUnited KingdomIoni Bowcher NEW
Cody Z FerenczSpainAnna Fali QUALIFIED
Misaki A MaletGermanyStephen Shaw PROPOSAL
Julie E MaletAustraliaBernardo Dominic PROPOSAL
Emily T MaletItalyOnyama Limba NEGOTIATION
Silvio X SchemmerCanadaElwin Sharvill UNQUALIFIED
Arvin D GauchoBrazilElwin Sharvill QUALIFIED
Morrow G BologniaCanadaIoni Bowcher PROPOSAL
Darci W GillianFranceOnyama Limba UNQUALIFIED
Kaitlin E DilliardBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow Y ChuiRussia2024-06-13Feiner Bros NEW88Elwin Sharvill
1001Faith A MorascaFrance2024-06-19Chanay, Jeffrey A Esq QUALIFIED91Elwin Sharvill
1002Ivar R AlbaresArgentina2024-06-09Buckley Miller Wright UNQUALIFIED19Ivan Magalhaes
1003James L KuskoAustralia2024-06-09Feiner Bros UNQUALIFIED88Anna Fali
1004James L CampainUnited Kingdom2024-06-10Chemel, James L Cpa NEW36Xuxue Feng
1005Johnson C RimCanada2024-06-20Feltz Printing Service QUALIFIED54Bernardo Dominic
1006Antonio N CampainRussia2024-05-28Chapman, Ross E Esq RENEWAL64Bernardo Dominic
1007Tony B RutaUnited Kingdom2024-06-21Feltz Printing Service QUALIFIED63Stephen Shaw
1008Faith X GillianFrance2024-06-13Chapman, Ross E Esq PROPOSAL24Elwin Sharvill
1009Salvatore K SaylorsFrance2024-06-07Chanay, Jeffrey A Esq RENEWAL38Stephen Shaw
1010Maisha M NickaBrazil2024-06-10Morlong Associates NEGOTIATION18Onyama Limba
1011Tony Q FerenczIndia2024-06-05Rousseaux, Michael Esq UNQUALIFIED90Anna Fali
1012Isabel P CaldareraIndia2024-05-31Chemel, James L Cpa PROPOSAL88Elwin Sharvill
1013Jeanfrancois I VocelkaAustralia2024-05-25King, Christopher A Esq UNQUALIFIED86Ivan Magalhaes
1014Wickens S BowleyItaly2024-05-30Truhlar And Truhlar Attys QUALIFIED6Onyama Limba
1015Kaitlin T VocelkaBrazil2024-06-11Commercial Press RENEWAL96Elwin Sharvill
1016Faith A RoysterRussia2024-05-30King, Christopher A Esq NEW70Bernardo Dominic
1017Kadeem N CampainBrazil2024-06-21Chemel, James L Cpa UNQUALIFIED69Bernardo Dominic
1018Adams H ShinkoJapan2024-06-08Buckley Miller Wright RENEWAL82Stephen Shaw
1019Julie X AmigonItaly2024-06-09Benton, John B Jr NEGOTIATION39Onyama Limba
1020Ivar W DilliardBrazil2024-05-25Morlong Associates QUALIFIED65Amy Elsner
1021Julie V PaprockiCanada2024-05-23Feltz Printing Service NEGOTIATION70Asiya Javayant
1022Costa L GarufiBrazil2024-06-06Truhlar And Truhlar Attys UNQUALIFIED63Ioni Bowcher
1023Isabel R MaletUnited Kingdom2024-05-24Truhlar And Truhlar Attys NEW70Anna Fali
1024Leja A CampainIndia2024-06-20Chanay, Jeffrey A Esq NEW72Amy Elsner
1025David F FollerBrazil2024-05-28Dorl, James J Esq UNQUALIFIED15Ivan Magalhaes
1026Aruna P MarrierSpain2024-06-08Chanay, Jeffrey A Esq NEW78Asiya Javayant
1027Kaitlin X SaylorsCanada2024-06-09Chapman, Ross E Esq RENEWAL59Ivan Magalhaes
1028Arvin T GlickAustralia2024-06-09Feiner Bros UNQUALIFIED80Stephen Shaw
1029Arvin E RimItaly2024-05-24Rousseaux, Michael Esq NEW87Ioni Bowcher
1030Silvio G KolmetzRussia2024-05-23Rangoni Of Florence RENEWAL80Asiya Javayant
1031Mayumi X FigeroaGermany2024-06-01Truhlar And Truhlar Attys UNQUALIFIED85Anna Fali
1032Ashley O PoquetteBrazil2024-06-17Morlong Associates UNQUALIFIED55Asiya Javayant
1033Kadeem H GauchoJapan2024-06-09Morlong Associates NEGOTIATION64Asiya Javayant
1034Claire B VenereUnited Kingdom2024-05-30Rousseaux, Michael Esq QUALIFIED17Stephen Shaw
1035Smith E AmigonGermany2024-06-08Printing Dimensions PROPOSAL53Onyama Limba
1036Wickens A GauchoCanada2024-06-01Dorl, James J Esq RENEWAL6Ivan Magalhaes
1037David H WaycottFrance2024-06-10Chemel, James L Cpa QUALIFIED96Asiya Javayant
1038Alejandro D CampainCanada2024-05-23Rousseaux, Michael Esq PROPOSAL79Anna Fali
1039Sinclair H CampainArgentina2024-06-02Morlong Associates QUALIFIED5Xuxue Feng
1040Jefferson I MaletJapan2024-06-04Feiner Bros QUALIFIED97Bernardo Dominic
1041Arvin P WieserAustralia2024-06-09Chapman, Ross E Esq QUALIFIED36Onyama Limba
1042Emily G MaletUnited Kingdom2024-06-05Chanay, Jeffrey A Esq PROPOSAL54Anna Fali
1043Kaitlin X DilliardGermany2024-06-10Rousseaux, Michael Esq RENEWAL77Anna Fali
1044Isabel U PoquetteAustralia2024-06-02Rangoni Of Florence QUALIFIED29Xuxue Feng
1045Tony H WhobreyAustralia2024-05-23Benton, John B Jr NEGOTIATION41Amy Elsner
1046Jefferson Y OstroskyJapan2024-05-30Truhlar And Truhlar Attys UNQUALIFIED29Onyama Limba
1047Adams Z DilliardBrazil2024-06-17Chanay, Jeffrey A Esq QUALIFIED16Ioni Bowcher
1048Francesco D BologniaBrazil2024-06-12Printing Dimensions RENEWAL44Anna Fali
1049Chavez Z DoeRussia2024-06-16Buckley Miller Wright NEW15Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Cody Y OldroydSpainStephen Shaw NEW
Francesco S VenereUnited KingdomElwin Sharvill QUALIFIED
Tony O GauchoSpainAsiya Javayant NEW
Costa Y CaldareraJapanBernardo Dominic NEGOTIATION
Kaitlin E MarrierGermanyAmy Elsner NEGOTIATION
Jones G StensethSpainAnna Fali RENEWAL
Greenwood W FigeroaBrazilOnyama Limba PROPOSAL
Morrow Z GarufiItalyElwin Sharvill QUALIFIED
Smith P FerenczJapanBernardo Dominic PROPOSAL
Misaki P ButtArgentinaBernardo Dominic UNQUALIFIED
Francesco X GauchoCanadaAsiya Javayant RENEWAL
Izzy B DoeCanadaAmy Elsner QUALIFIED
Izzy C KuskoAustraliaXuxue Feng RENEWAL
Kaitlin L KolmetzRussiaBernardo Dominic PROPOSAL
Jones D OstroskyJapanXuxue Feng NEGOTIATION
Nicolas Y PaprockiFranceElwin Sharvill RENEWAL
Jefferson W TollnerIndiaStephen Shaw QUALIFIED
Leon Z FerenczArgentinaAsiya Javayant QUALIFIED
Smith Q StockhamItalyAnna Fali PROPOSAL
Alejandro A GlickItalyAnna Fali UNQUALIFIED
Antonio Q RoysterArgentinaIvan Magalhaes QUALIFIED
Morrow A ButtCanadaAmy Elsner RENEWAL
Kaitlin A SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba G RulapaughFranceXuxue Feng QUALIFIED
Kadeem S KuskoIndiaOnyama Limba QUALIFIED
Salvatore Y SaylorsSpainStephen Shaw RENEWAL
Tony J CaudyUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin I IturbideSpainIoni Bowcher RENEWAL
Wickens U FigeroaSpainXuxue Feng PROPOSAL
Salvatore I SergiSpainStephen Shaw RENEWAL
Maisha V FollerFranceIoni Bowcher NEW
Claire S MacleadRussiaAnna Fali NEW
Misaki S IturbideJapanIoni Bowcher UNQUALIFIED
Ashley L SaylorsArgentinaIoni Bowcher RENEWAL
Jennifer S ButtItalyAmy Elsner RENEWAL
Antonio A SchemmerIndiaIvan Magalhaes UNQUALIFIED
David Z MacleadUnited KingdomXuxue Feng NEGOTIATION
Arvin F FigeroaItalyAmy Elsner UNQUALIFIED
Ricardo A RutaGermanyIvan Magalhaes NEGOTIATION
Costa Q TollnerRussiaIoni Bowcher NEW
Mujtaba G WaycottFranceIvan Magalhaes UNQUALIFIED
Darci D ChuiCanadaBernardo Dominic QUALIFIED
Morrow V CampainCanadaAsiya Javayant QUALIFIED
Silvio T GillianArgentinaXuxue Feng PROPOSAL
Julie I VocelkaBrazilOnyama Limba QUALIFIED
Jones Y RutaArgentinaElwin Sharvill RENEWAL
David D ChuiAustraliaAmy Elsner NEW
Adams M PoquetteArgentinaAsiya Javayant NEW
Cody Q GlickRussiaAmy Elsner RENEWAL
Deepesh V InouyeSpainAsiya Javayant PROPOSAL
Frozen Columns
Name
Murillo X Stockham
Chavez D Slusarski
Cody T Campain
Jeanfrancois Z Tollner
Stacey J Sergi
David Q Briddick
Salvatore C Stockham
Octavia Z Doe
Adams M Maclead
Smith Y Caldarera
Adams H Butt
Jones G Saylors
Chavez M Stockham
Maria Z Poquette
David D Gillian
Chavez O Kusko
Mujtaba H Stenseth
Ivar F Nicka
Maria C Malet
Jennifer U Dilliard
Mayumi C Malet
Chavez P Inouye
Jeanfrancois V Iturbide
Misaki K Caldarera
Smith Z Kusko
Isabel J Ostrosky
Jones Y Rulapaugh
Aruna B Glick
Kaitlin H Darakjy
Silvio D Inouye
Kaitlin A Vocelka
Wickens I Amigon
Chavez X Doe
Morrow G Bowley
James H Nestle
Antonio J Morasca
Leon O Marrier
Cody H Darakjy
David B Inouye
Aruna D Tollner
Silvio H Wieser
Octavia T Poquette
Aika C Tollner
Mayumi N Kolmetz
Mujtaba C Briddick
Johnson R Oldroyd
Clifford G Tollner
Jeanfrancois T Malet
Antonio P Butt
Clifford U Caldarera
IdCountryDate
1000India2024-05-29
1001Italy2024-05-30
1002United Kingdom2024-05-25
1003Argentina2024-06-14
1004United Kingdom2024-06-16
1005Russia2024-06-09
1006Canada2024-05-27
1007Italy2024-05-27
1008France2024-06-21
1009Canada2024-06-03
1010Italy2024-06-21
1011Germany2024-06-17
1012Germany2024-06-17
1013Brazil2024-06-02
1014France2024-05-30
1015Italy2024-05-25
1016United Kingdom2024-06-04
1017Italy2024-05-26
1018Italy2024-05-25
1019France2024-06-10
1020Japan2024-06-19
1021India2024-06-05
1022Argentina2024-06-21
1023Italy2024-05-27
1024Italy2024-06-17
1025Japan2024-06-14
1026United Kingdom2024-06-05
1027Spain2024-06-13
1028Canada2024-06-10
1029Spain2024-05-24
1030Australia2024-05-29
1031India2024-06-06
1032Spain2024-05-31
1033United Kingdom2024-06-20
1034Canada2024-06-04
1035Canada2024-05-27
1036Germany2024-06-10
1037Brazil2024-06-08
1038Japan2024-06-18
1039Australia2024-06-08
1040Japan2024-06-02
1041United Kingdom2024-06-10
1042Brazil2024-06-05
1043Australia2024-06-16
1044Japan2024-06-14
1045France2024-05-27
1046Canada2024-06-10
1047United Kingdom2024-05-29
1048Argentina2024-06-20
1049Japan2024-06-18

On-Demand Data

NameIdCountryDate
Adams Y Shinko1000France2024-06-02
Salvatore G Figeroa1001Australia2024-06-11
Misaki A Campain1002France2024-06-17
Ashley K Figeroa1003United Kingdom2024-06-02
Francesco D Royster1004Canada2024-06-06
Juan U Doe1005Spain2024-06-01
Silvio M Venere1006France2024-06-02
Jefferson A Inouye1007Canada2024-05-25
Smith H Doe1008Argentina2024-06-20
Munro X Shinko1009Russia2024-06-17
Deepesh K Gillian1010Spain2024-06-21
Deepesh H Campain1011Spain2024-05-24
Wickens R Caudy1012Argentina2024-06-15
Alejandro C Waycott1013Argentina2024-05-26
Clifford L Ferencz1014Russia2024-06-05
Francesco U Nestle1015Italy2024-05-28
Mayumi H Vocelka1016Canada2024-06-06
Adams W Albares1017Brazil2024-06-10
Jefferson O Malet1018Italy2024-06-14
Mujtaba Q Flosi1019Australia2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer F DoeCanadaStephen Shaw NEW
Munro A MaletBrazilIoni Bowcher QUALIFIED
Faith H AlbaresCanadaBernardo Dominic NEW
Leon A PerinIndiaAmy Elsner NEGOTIATION
Kadeem U CampainCanadaXuxue Feng NEGOTIATION
Mujtaba E SergiCanadaBernardo Dominic QUALIFIED
Kaitlin U VocelkaIndiaStephen Shaw QUALIFIED
David Z SaylorsFranceElwin Sharvill UNQUALIFIED
Murillo N FlosiBrazilAmy Elsner RENEWAL
Juan J PoquetteAustraliaXuxue Feng PROPOSAL
Leja L ShinkoItalyAmy Elsner NEW
Jennifer A BologniaRussiaAsiya Javayant NEGOTIATION
Maisha H RutaUnited KingdomOnyama Limba QUALIFIED
Emily S WieserGermanyIoni Bowcher NEGOTIATION
Julie S KolmetzIndiaAmy Elsner QUALIFIED
Darci P FollerItalyAmy Elsner PROPOSAL
Kaitlin C WieserFranceStephen Shaw PROPOSAL
Maisha J AlbaresIndiaAsiya Javayant NEGOTIATION
Julie E TollnerRussiaAmy Elsner NEGOTIATION
Ivar S WaycottAustraliaElwin Sharvill QUALIFIED
Maria N FlosiJapanOnyama Limba NEGOTIATION
Cody G MorascaAustraliaIvan Magalhaes NEGOTIATION
Isabel Y DoeFranceOnyama Limba UNQUALIFIED
Misaki D FollerSpainAnna Fali NEW
Aika S CampainItalyOnyama Limba NEW
Mayumi D SaylorsCanadaAmy Elsner UNQUALIFIED
Stacey Q FerenczArgentinaXuxue Feng NEW
Alejandro O FigeroaRussiaBernardo Dominic QUALIFIED
Maria I ButtGermanyAmy Elsner UNQUALIFIED
Aruna A FlosiAustraliaAmy Elsner PROPOSAL
Costa G ChuiUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin O VocelkaBrazilIvan Magalhaes QUALIFIED
Aruna L NickaJapanOnyama Limba NEGOTIATION
Leja S NestleAustraliaAsiya Javayant RENEWAL
Jefferson M KuskoJapanAmy Elsner NEGOTIATION
Jones W BologniaIndiaAmy Elsner RENEWAL
Claire C ButtAustraliaElwin Sharvill QUALIFIED
David G FollerGermanyOnyama Limba NEW
Ashley M FerenczRussiaAnna Fali NEGOTIATION
Leja E SlusarskiBrazilXuxue Feng UNQUALIFIED

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