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
Aditya W SchemmerUnited KingdomOnyama Limba PROPOSAL
Nicolas B GarufiAustraliaOnyama Limba NEW
Octavia S MorascaFranceAsiya Javayant NEW
Isabel B KuskoFranceAmy Elsner PROPOSAL
Arvin I RutaJapanOnyama Limba PROPOSAL
Rodrigues C RimArgentinaXuxue Feng PROPOSAL
Wickens Z AlbaresArgentinaIoni Bowcher NEGOTIATION
Izzy B GarufiItalyStephen Shaw PROPOSAL
Mujtaba M VocelkaCanadaXuxue Feng PROPOSAL
Rodrigues Q WaycottUnited KingdomOnyama Limba NEW
Deepesh F MarrierBrazilIvan Magalhaes NEW
Antonio S RoysterGermanyStephen Shaw UNQUALIFIED
Rodrigues T FollerArgentinaElwin Sharvill UNQUALIFIED
Stacey T FerenczRussiaStephen Shaw PROPOSAL
Aditya H KuskoCanadaAmy Elsner RENEWAL
Arvin Z MorascaUnited KingdomStephen Shaw RENEWAL
Julie P RoysterItalyIvan Magalhaes PROPOSAL
Kaitlin O CaldareraRussiaAsiya Javayant RENEWAL
Greenwood M NickaIndiaStephen Shaw QUALIFIED
Darci X SlusarskiBrazilAmy Elsner QUALIFIED
Costa M SaylorsSpainIvan Magalhaes PROPOSAL
Ricardo E BologniaGermanyStephen Shaw NEGOTIATION
Sinclair F InouyeArgentinaIvan Magalhaes UNQUALIFIED
Misaki I PerinBrazilIoni Bowcher NEGOTIATION
Murillo Z BriddickGermanyXuxue Feng QUALIFIED
Adams R ButtJapanElwin Sharvill QUALIFIED
Misaki B TollnerRussiaAsiya Javayant PROPOSAL
Misaki Y FerenczCanadaBernardo Dominic NEGOTIATION
Morrow D DoeJapanXuxue Feng NEGOTIATION
Jeanfrancois C ButtFranceAmy Elsner NEW
Nicolas H FigeroaUnited KingdomAsiya Javayant PROPOSAL
Kaitlin N RulapaughFranceIoni Bowcher UNQUALIFIED
Johnson F MaletCanadaIoni Bowcher NEGOTIATION
Isabel C MacleadBrazilAnna Fali RENEWAL
Sinclair S FlosiSpainXuxue Feng QUALIFIED
Murillo M SlusarskiSpainElwin Sharvill NEGOTIATION
Munro A InouyeBrazilIvan Magalhaes QUALIFIED
Antonio H GauchoItalyIoni Bowcher NEGOTIATION
Clifford X KuskoIndiaAsiya Javayant NEGOTIATION
Kaitlin H DilliardRussiaAnna Fali QUALIFIED
Chavez X GlickUnited KingdomStephen Shaw RENEWAL
Octavia X GlickItalyBernardo Dominic PROPOSAL
Misaki S InouyeRussiaElwin Sharvill NEGOTIATION
Octavia K DarakjyIndiaIoni Bowcher NEGOTIATION
Jennifer A DilliardBrazilAmy Elsner QUALIFIED
Stacey D BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar I GillianGermanyElwin Sharvill QUALIFIED
Deepesh P ButtAustraliaIvan Magalhaes UNQUALIFIED
David I KuskoFranceAnna Fali RENEWAL
Jennifer M StensethBrazilElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Maria W OldroydGermanyAsiya Javayant RENEWAL
Mujtaba R DarakjySpainBernardo Dominic QUALIFIED
Adams Y GlickIndiaAmy Elsner NEGOTIATION
Aika J GillianItalyAsiya Javayant NEW
Sinclair G GauchoItalyAmy Elsner NEW
Morrow U FollerAustraliaAnna Fali NEW
Morrow I SlusarskiCanadaOnyama Limba PROPOSAL
Chavez T GarufiIndiaIvan Magalhaes NEGOTIATION
Morrow F FerenczUnited KingdomStephen Shaw QUALIFIED
Deepesh L WhobreyIndiaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin F TollnerIndia2024-05-25Buckley Miller Wright QUALIFIED31Xuxue Feng
1001Deepesh Y GillianCanada2024-06-18Commercial Press UNQUALIFIED52Xuxue Feng
1002Faith U DilliardFrance2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED29Ivan Magalhaes
1003Clifford Q OstroskyIndia2024-06-12Rousseaux, Michael Esq UNQUALIFIED16Asiya Javayant
1004Salvatore A ShinkoItaly2024-06-14Chanay, Jeffrey A Esq QUALIFIED4Asiya Javayant
1005Costa B WieserGermany2024-05-31Chemel, James L Cpa NEW19Ivan Magalhaes
1006Greenwood Y CaldareraItaly2024-06-16Chanay, Jeffrey A Esq PROPOSAL31Ivan Magalhaes
1007Francesco Q NestleJapan2024-05-26Chapman, Ross E Esq QUALIFIED26Elwin Sharvill
1008Johnson D WaycottJapan2024-06-10Feiner Bros UNQUALIFIED81Ioni Bowcher
1009Emily K SaylorsSpain2024-06-02Benton, John B Jr NEGOTIATION1Amy Elsner
1010Francesco K ShinkoRussia2024-06-04Feiner Bros NEW28Elwin Sharvill
1011Jones T NestleGermany2024-05-20Benton, John B Jr QUALIFIED20Ivan Magalhaes
1012Ivar B GarufiRussia2024-06-13Morlong Associates NEW83Anna Fali
1013Kaitlin P FlosiIndia2024-06-17Chanay, Jeffrey A Esq QUALIFIED48Stephen Shaw
1014Greenwood S MaletArgentina2024-06-11Feltz Printing Service UNQUALIFIED86Xuxue Feng
1015Juan C GauchoCanada2024-06-15Truhlar And Truhlar Attys PROPOSAL8Bernardo Dominic
1016Leon N BowleyCanada2024-05-23Dorl, James J Esq NEW16Anna Fali
1017Mayumi G MacleadFrance2024-06-05King, Christopher A Esq NEW2Asiya Javayant
1018Maria U RutaIndia2024-06-13Rangoni Of Florence UNQUALIFIED0Elwin Sharvill
1019Greenwood J MacleadRussia2024-05-29Chemel, James L Cpa NEGOTIATION8Ivan Magalhaes
1020James M BowleyAustralia2024-06-06Benton, John B Jr PROPOSAL18Xuxue Feng
1021Aika H BologniaItaly2024-05-22Chanay, Jeffrey A Esq NEW39Xuxue Feng
1022Ivar H ChuiBrazil2024-06-02Chapman, Ross E Esq NEW34Elwin Sharvill
1023Kaitlin U PerinGermany2024-06-03Commercial Press NEGOTIATION3Onyama Limba
1024Izzy B RimIndia2024-06-01Chemel, James L Cpa NEGOTIATION11Amy Elsner
1025Jones L MorascaFrance2024-05-22Feltz Printing Service RENEWAL10Anna Fali
1026Claire C NestleCanada2024-05-22Feiner Bros RENEWAL46Onyama Limba
1027Antonio Z FollerGermany2024-05-28Benton, John B Jr NEGOTIATION84Xuxue Feng
1028Emily W ButtCanada2024-06-12Rangoni Of Florence NEGOTIATION65Onyama Limba
1029Misaki S FigeroaArgentina2024-05-25Morlong Associates QUALIFIED12Stephen Shaw
1030David B RoysterRussia2024-06-11Chemel, James L Cpa PROPOSAL39Asiya Javayant
1031Julie F InouyeItaly2024-05-24Buckley Miller Wright NEW87Elwin Sharvill
1032Claire H NestleUnited Kingdom2024-05-28Chemel, James L Cpa NEGOTIATION51Asiya Javayant
1033Costa E DilliardSpain2024-05-20Truhlar And Truhlar Attys RENEWAL18Ivan Magalhaes
1034Greenwood Z StensethGermany2024-05-26Feltz Printing Service QUALIFIED20Stephen Shaw
1035Aika L OstroskyUnited Kingdom2024-05-26Morlong Associates UNQUALIFIED78Bernardo Dominic
1036Octavia Z TollnerIndia2024-06-16Feiner Bros RENEWAL84Bernardo Dominic
1037Smith E BologniaIndia2024-06-03Rangoni Of Florence UNQUALIFIED88Xuxue Feng
1038Deepesh Z FerenczRussia2024-06-17Feltz Printing Service PROPOSAL99Stephen Shaw
1039Leon N WhobreySpain2024-06-13Morlong Associates PROPOSAL58Stephen Shaw
1040Morrow I FigeroaItaly2024-06-09Morlong Associates PROPOSAL98Amy Elsner
1041Jefferson Y PerinUnited Kingdom2024-06-11Feltz Printing Service PROPOSAL98Amy Elsner
1042Octavia M AlbaresBrazil2024-05-22Printing Dimensions PROPOSAL59Anna Fali
1043Adams U MaletRussia2024-06-02Morlong Associates NEW45Xuxue Feng
1044Mujtaba X GillianFrance2024-06-03Morlong Associates RENEWAL35Anna Fali
1045Salvatore I CampainItaly2024-06-11Chanay, Jeffrey A Esq NEW16Asiya Javayant
1046Costa E BowleyCanada2024-06-10Truhlar And Truhlar Attys PROPOSAL44Elwin Sharvill
1047Kaitlin R WieserItaly2024-06-15Morlong Associates QUALIFIED27Bernardo Dominic
1048Jones Y MorascaCanada2024-06-14Buckley Miller Wright NEGOTIATION89Elwin Sharvill
1049Deepesh F NickaBrazil2024-06-16Feltz Printing Service NEGOTIATION27Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio O BologniaIndiaXuxue Feng PROPOSAL
Ricardo X BologniaGermanyAsiya Javayant NEW
Leon G IturbideGermanyAsiya Javayant PROPOSAL
David T DilliardSpainStephen Shaw RENEWAL
Mayumi U FigeroaRussiaIoni Bowcher UNQUALIFIED
Faith B InouyeRussiaAnna Fali PROPOSAL
Alejandro B VocelkaFranceXuxue Feng QUALIFIED
James F NickaAustraliaElwin Sharvill QUALIFIED
Costa I PerinArgentinaElwin Sharvill NEW
Cody V WhobreyItalyIvan Magalhaes UNQUALIFIED
Maria M RulapaughIndiaElwin Sharvill PROPOSAL
Salvatore E SchemmerJapanIvan Magalhaes NEW
Silvio K GarufiFranceStephen Shaw RENEWAL
Maisha I GarufiAustraliaElwin Sharvill NEW
Jeanfrancois H MorascaJapanElwin Sharvill RENEWAL
Maria O RimBrazilOnyama Limba NEGOTIATION
Jones J ShinkoBrazilOnyama Limba NEW
Salvatore F BologniaRussiaAmy Elsner QUALIFIED
Francesco S MarrierArgentinaIvan Magalhaes PROPOSAL
Ricardo J MaletItalyXuxue Feng NEW
Maria P FlosiAustraliaAsiya Javayant PROPOSAL
Mujtaba G AlbaresFranceIoni Bowcher NEW
Murillo C VenereBrazilIoni Bowcher NEGOTIATION
Cody T WaycottGermanyXuxue Feng RENEWAL
Leja P GarufiUnited KingdomAsiya Javayant RENEWAL
Isabel D ChuiJapanIoni Bowcher UNQUALIFIED
Cody A OldroydJapanAmy Elsner UNQUALIFIED
Jennifer F GillianFranceBernardo Dominic QUALIFIED
Kadeem G SergiFranceOnyama Limba QUALIFIED
Antonio O RulapaughArgentinaOnyama Limba RENEWAL
Aditya T InouyeSpainBernardo Dominic RENEWAL
Chavez Z MacleadGermanyAnna Fali RENEWAL
Wickens G MacleadSpainOnyama Limba UNQUALIFIED
Stacey U ButtItalyAsiya Javayant UNQUALIFIED
James W RoysterCanadaElwin Sharvill NEW
Leon L SchemmerGermanyBernardo Dominic QUALIFIED
Mujtaba W KuskoBrazilAnna Fali NEW
Darci V RulapaughItalyElwin Sharvill UNQUALIFIED
James G RutaCanadaBernardo Dominic PROPOSAL
Munro P WaycottCanadaBernardo Dominic UNQUALIFIED
Aika L DarakjyRussiaOnyama Limba RENEWAL
Francesco W CaldareraRussiaStephen Shaw NEW
Johnson B VocelkaGermanyXuxue Feng PROPOSAL
Emily B PoquetteSpainXuxue Feng UNQUALIFIED
Tony K PerinUnited KingdomAnna Fali UNQUALIFIED
Smith X FigeroaAustraliaAmy Elsner RENEWAL
Clifford T SaylorsSpainAmy Elsner UNQUALIFIED
Clifford Q NestleJapanAmy Elsner UNQUALIFIED
Juan D PoquetteCanadaAmy Elsner QUALIFIED
Stacey O AlbaresAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
James V Rim
Johnson K Albares
Mayumi I Kusko
Smith H Albares
Maria P Stockham
Arvin J Malet
Rodrigues Z Garufi
Leja V Slusarski
Munro I Malet
Wickens O Garufi
Wickens H Oldroyd
Jones X Nicka
Leja I Slusarski
Chavez N Stenseth
Aruna C Malet
Costa B Schemmer
Maria W Albares
Stacey R Paprocki
Faith T Glick
Clifford O Amigon
Cody T Schemmer
Jefferson P Garufi
Stacey D Caldarera
Nicolas P Campain
Clifford B Tollner
Silvio N Perin
Ivar X Darakjy
Antonio A Glick
Morrow I Rulapaugh
Francesco N Caudy
Munro N Figeroa
Darci U Rim
Jeanfrancois J Rim
Adams D Whobrey
Sinclair R Iturbide
Arvin Y Tollner
Murillo E Slusarski
Tony F Chui
Isabel K Rulapaugh
Francesco F Butt
Jeanfrancois C Schemmer
Alejandro F Malet
Greenwood P Ferencz
Ricardo K Albares
Jefferson V Marrier
Costa U Gaucho
Munro C Garufi
Mujtaba F Malet
Deepesh D Wieser
Mujtaba Q Amigon
IdCountryDate
1000France2024-06-03
1001United Kingdom2024-06-06
1002Argentina2024-05-25
1003India2024-05-30
1004Argentina2024-06-10
1005Canada2024-05-20
1006Italy2024-06-13
1007Russia2024-05-23
1008Spain2024-06-01
1009Germany2024-06-15
1010Germany2024-06-11
1011Spain2024-06-05
1012Brazil2024-05-30
1013Spain2024-06-06
1014Russia2024-06-11
1015Japan2024-06-14
1016India2024-06-17
1017Germany2024-05-22
1018Russia2024-06-07
1019India2024-05-28
1020Germany2024-05-29
1021France2024-05-27
1022Germany2024-05-28
1023Australia2024-05-25
1024Russia2024-06-10
1025Brazil2024-05-26
1026Spain2024-06-16
1027Germany2024-06-09
1028United Kingdom2024-06-07
1029Argentina2024-05-28
1030India2024-06-10
1031Spain2024-06-15
1032France2024-05-20
1033Japan2024-05-21
1034Italy2024-06-10
1035United Kingdom2024-05-21
1036Russia2024-05-25
1037United Kingdom2024-05-29
1038Brazil2024-06-05
1039Russia2024-06-02
1040Brazil2024-06-17
1041Japan2024-05-30
1042Australia2024-06-16
1043Germany2024-05-28
1044Germany2024-05-29
1045Brazil2024-06-10
1046Russia2024-06-12
1047France2024-05-21
1048Russia2024-05-22
1049Canada2024-06-12

On-Demand Data

NameIdCountryDate
Salvatore H Marrier1000Italy2024-05-31
James M Bowley1001Germany2024-06-07
Nicolas D Garufi1002United Kingdom2024-06-11
Jeanfrancois C Schemmer1003Russia2024-06-11
Misaki Q Tollner1004Australia2024-06-02
Sinclair O Glick1005Germany2024-06-01
Juan A Gillian1006Japan2024-05-20
Alejandro F Kusko1007United Kingdom2024-05-21
Wickens I Garufi1008Argentina2024-06-17
Kaitlin K Ruta1009United Kingdom2024-05-27
Chavez K Schemmer1010Japan2024-06-12
Deepesh W Figeroa1011Russia2024-05-27
Kadeem T Royster1012United Kingdom2024-06-03
Darci R Briddick1013France2024-05-24
Chavez V Venere1014Germany2024-05-22
Arvin O Chui1015Germany2024-06-06
Munro Y Saylors1016Argentina2024-06-06
Silvio X Ostrosky1017Argentina2024-06-12
James I Gillian1018Italy2024-06-02
Smith I Vocelka1019Russia2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams B WieserJapanStephen Shaw UNQUALIFIED
Julie N MorascaSpainBernardo Dominic PROPOSAL
Costa Z IturbideBrazilBernardo Dominic NEW
Ashley W AlbaresArgentinaStephen Shaw QUALIFIED
Greenwood C DoeUnited KingdomOnyama Limba NEGOTIATION
Misaki F GlickGermanyOnyama Limba NEGOTIATION
Ivar O SergiItalyIvan Magalhaes RENEWAL
Johnson L SchemmerFranceOnyama Limba NEW
Leja K MorascaSpainAnna Fali RENEWAL
Costa Q SergiIndiaElwin Sharvill UNQUALIFIED
Antonio W RutaIndiaAsiya Javayant RENEWAL
Smith Q FollerFranceAmy Elsner RENEWAL
Rodrigues L ChuiArgentinaXuxue Feng UNQUALIFIED
Chavez F VenereSpainIoni Bowcher NEW
Nicolas F CaudyIndiaIvan Magalhaes PROPOSAL
Misaki R WieserCanadaAmy Elsner QUALIFIED
Izzy H DarakjySpainAnna Fali RENEWAL
Adams S MarrierFranceXuxue Feng NEW
Jeanfrancois P MarrierGermanyBernardo Dominic RENEWAL
Stacey R RoysterUnited KingdomAmy Elsner RENEWAL
Sinclair I StockhamSpainBernardo Dominic QUALIFIED
Faith R WieserArgentinaElwin Sharvill UNQUALIFIED
Julie Z StensethFranceElwin Sharvill NEGOTIATION
Aruna C RutaJapanOnyama Limba UNQUALIFIED
Mayumi Z BowleyBrazilElwin Sharvill PROPOSAL
Antonio R CampainCanadaIvan Magalhaes NEGOTIATION
Chavez Q MarrierCanadaIoni Bowcher NEW
Deepesh K SlusarskiUnited KingdomStephen Shaw NEW
Maisha X VocelkaItalyIvan Magalhaes RENEWAL
Aruna P DilliardAustraliaBernardo Dominic PROPOSAL
Tony S PerinIndiaAsiya Javayant NEW
Sinclair Q SchemmerJapanAnna Fali NEGOTIATION
Munro L CaudyItalyIoni Bowcher NEGOTIATION
Smith R WaycottRussiaIoni Bowcher PROPOSAL
Octavia U WhobreyUnited KingdomAnna Fali QUALIFIED
Tony V WaycottGermanyOnyama Limba PROPOSAL
Kadeem L StensethAustraliaAnna Fali UNQUALIFIED
Cody E NestleBrazilElwin Sharvill NEGOTIATION
Rodrigues U BologniaRussiaElwin Sharvill NEGOTIATION
David G WhobreyArgentinaIvan Magalhaes QUALIFIED

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