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
Clifford B VocelkaFranceBernardo Dominic RENEWAL
Faith K RulapaughJapanXuxue Feng PROPOSAL
Faith T NestleSpainXuxue Feng RENEWAL
Emily T MaletArgentinaAnna Fali UNQUALIFIED
Aika H WieserRussiaAnna Fali NEGOTIATION
Claire L WhobreySpainAnna Fali NEGOTIATION
Smith H TollnerUnited KingdomAsiya Javayant NEW
Darci L SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Faith O CaldareraUnited KingdomElwin Sharvill NEW
Tony M GillianGermanyBernardo Dominic QUALIFIED
Faith K RimSpainAsiya Javayant QUALIFIED
Isabel Q SaylorsGermanyBernardo Dominic QUALIFIED
Smith D NestleArgentinaBernardo Dominic UNQUALIFIED
Izzy T WhobreyCanadaXuxue Feng NEW
Rodrigues D RimGermanyAsiya Javayant QUALIFIED
Munro I GauchoArgentinaIoni Bowcher QUALIFIED
Cody F RutaBrazilAmy Elsner RENEWAL
Izzy Y FerenczBrazilAmy Elsner NEW
Clifford B WhobreyJapanIvan Magalhaes NEW
Tony X KolmetzIndiaAsiya Javayant PROPOSAL
Wickens A ButtUnited KingdomAsiya Javayant PROPOSAL
David D FigeroaAustraliaAnna Fali UNQUALIFIED
Maisha L AmigonIndiaAnna Fali NEW
Isabel V CampainCanadaElwin Sharvill UNQUALIFIED
Leon W AlbaresItalyBernardo Dominic QUALIFIED
Jones R GarufiSpainBernardo Dominic RENEWAL
Sinclair I BowleyRussiaXuxue Feng PROPOSAL
Isabel Z MacleadArgentinaBernardo Dominic RENEWAL
Wickens Q KuskoAustraliaBernardo Dominic NEGOTIATION
Jefferson R GillianUnited KingdomAmy Elsner NEW
Cody C SaylorsRussiaAnna Fali RENEWAL
Arvin T PoquetteUnited KingdomAsiya Javayant PROPOSAL
Clifford J WaycottSpainAsiya Javayant UNQUALIFIED
Aika S MorascaCanadaIvan Magalhaes NEW
Deepesh M WhobreyItalyAmy Elsner NEW
Cody O StockhamIndiaAnna Fali UNQUALIFIED
Ashley G BriddickFranceElwin Sharvill UNQUALIFIED
Cody W SlusarskiArgentinaIoni Bowcher QUALIFIED
Cody O NickaUnited KingdomStephen Shaw NEGOTIATION
Silvio V WaycottIndiaOnyama Limba NEGOTIATION
Aika K StensethArgentinaAsiya Javayant RENEWAL
Deepesh C MorascaIndiaXuxue Feng NEGOTIATION
Darci I KolmetzJapanStephen Shaw QUALIFIED
Mayumi A PerinJapanOnyama Limba NEW
Faith H WhobreyBrazilBernardo Dominic NEW
Rodrigues R SchemmerArgentinaBernardo Dominic NEW
Ricardo A ButtSpainIoni Bowcher PROPOSAL
Tony E PaprockiFranceXuxue Feng NEGOTIATION
Smith V PaprockiJapanXuxue Feng QUALIFIED
Antonio B SergiGermanyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin U BowleyItalyXuxue Feng UNQUALIFIED
Maisha H BriddickUnited KingdomElwin Sharvill QUALIFIED
Jones P NestleCanadaStephen Shaw PROPOSAL
Jennifer Y VocelkaSpainAmy Elsner NEW
Juan T WieserSpainAmy Elsner NEW
Munro W SlusarskiCanadaIoni Bowcher NEW
Isabel P IturbideUnited KingdomXuxue Feng UNQUALIFIED
Nicolas K MarrierAustraliaAnna Fali RENEWAL
Adams X RimCanadaAnna Fali NEW
Kadeem U PerinItalyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh X GarufiUnited Kingdom2024-06-14Chapman, Ross E Esq RENEWAL88Stephen Shaw
1001Silvio O InouyeGermany2024-05-28Commercial Press NEW40Ivan Magalhaes
1002Sinclair N RoysterFrance2024-06-14Feltz Printing Service UNQUALIFIED80Asiya Javayant
1003Octavia V StockhamIndia2024-06-07Printing Dimensions NEGOTIATION59Anna Fali
1004Antonio K NestleItaly2024-06-13Chemel, James L Cpa UNQUALIFIED16Stephen Shaw
1005Aika T VocelkaSpain2024-06-22Printing Dimensions NEGOTIATION55Anna Fali
1006Kaitlin I SaylorsArgentina2024-06-21Morlong Associates PROPOSAL90Asiya Javayant
1007Leja I GlickBrazil2024-06-22Benton, John B Jr NEW13Anna Fali
1008Rodrigues R IturbideItaly2024-06-07Printing Dimensions QUALIFIED72Onyama Limba
1009Leja U FollerBrazil2024-06-01Morlong Associates PROPOSAL10Anna Fali
1010Ashley N WaycottBrazil2024-06-18Chemel, James L Cpa UNQUALIFIED4Asiya Javayant
1011Emily V SergiCanada2024-06-20Chanay, Jeffrey A Esq RENEWAL44Stephen Shaw
1012James R GillianIndia2024-06-15Commercial Press NEGOTIATION18Amy Elsner
1013Cody M TollnerJapan2024-05-28Truhlar And Truhlar Attys QUALIFIED61Elwin Sharvill
1014Ricardo J FlosiJapan2024-05-26Dorl, James J Esq NEGOTIATION85Bernardo Dominic
1015Jones Q WhobreyFrance2024-06-21Rousseaux, Michael Esq RENEWAL29Ioni Bowcher
1016Chavez T SaylorsArgentina2024-06-15Feltz Printing Service NEW76Ivan Magalhaes
1017Ricardo B MaletRussia2024-06-19Chemel, James L Cpa NEGOTIATION47Elwin Sharvill
1018Francesco T RutaGermany2024-06-02Rangoni Of Florence RENEWAL90Bernardo Dominic
1019Aika W StockhamRussia2024-05-29Dorl, James J Esq RENEWAL13Anna Fali
1020Leon D FigeroaFrance2024-06-06Benton, John B Jr PROPOSAL3Xuxue Feng
1021David C AlbaresCanada2024-06-07King, Christopher A Esq RENEWAL36Elwin Sharvill
1022Cody Z RoysterJapan2024-06-11Morlong Associates PROPOSAL74Stephen Shaw
1023Nicolas Y FigeroaItaly2024-06-20Buckley Miller Wright QUALIFIED56Elwin Sharvill
1024Kaitlin T FlosiIndia2024-06-11King, Christopher A Esq NEW70Xuxue Feng
1025Johnson E MaletJapan2024-06-15Rangoni Of Florence PROPOSAL10Stephen Shaw
1026Rodrigues U SchemmerJapan2024-06-19Feltz Printing Service NEGOTIATION46Ioni Bowcher
1027Jennifer K StockhamFrance2024-06-09Printing Dimensions UNQUALIFIED55Amy Elsner
1028Misaki F BriddickArgentina2024-05-30Buckley Miller Wright NEW1Bernardo Dominic
1029Darci O RoysterFrance2024-06-21Commercial Press NEW40Asiya Javayant
1030David Z WhobreyJapan2024-06-23Chemel, James L Cpa NEW89Onyama Limba
1031Munro D NickaUnited Kingdom2024-06-21Commercial Press QUALIFIED59Anna Fali
1032Julie C DoeCanada2024-06-17Benton, John B Jr QUALIFIED92Stephen Shaw
1033Silvio E FlosiSpain2024-05-26Chemel, James L Cpa NEW48Elwin Sharvill
1034Ivar C StockhamItaly2024-06-23Printing Dimensions NEGOTIATION56Xuxue Feng
1035Julie G FollerAustralia2024-06-10Rousseaux, Michael Esq RENEWAL83Bernardo Dominic
1036Arvin U StensethUnited Kingdom2024-06-12Truhlar And Truhlar Attys QUALIFIED42Elwin Sharvill
1037Tony M StockhamUnited Kingdom2024-05-29Feiner Bros NEGOTIATION42Bernardo Dominic
1038Cody O InouyeItaly2024-06-04Buckley Miller Wright UNQUALIFIED51Onyama Limba
1039Leon S GillianRussia2024-06-15Buckley Miller Wright NEW84Elwin Sharvill
1040Salvatore F MarrierArgentina2024-05-30Buckley Miller Wright RENEWAL57Xuxue Feng
1041Sinclair P IturbideRussia2024-06-06Benton, John B Jr QUALIFIED48Amy Elsner
1042Maria Y RoysterFrance2024-06-19Chemel, James L Cpa PROPOSAL35Elwin Sharvill
1043Leon W FigeroaCanada2024-05-30Feltz Printing Service RENEWAL51Amy Elsner
1044Darci L CaldareraFrance2024-06-22Feltz Printing Service NEGOTIATION33Ioni Bowcher
1045Emily L DarakjyBrazil2024-05-26Chapman, Ross E Esq PROPOSAL66Elwin Sharvill
1046Maria Y GarufiItaly2024-06-05Truhlar And Truhlar Attys UNQUALIFIED1Asiya Javayant
1047Mujtaba Z MarrierBrazil2024-06-01Dorl, James J Esq UNQUALIFIED66Asiya Javayant
1048Mayumi C RulapaughJapan2024-06-01Truhlar And Truhlar Attys NEW82Elwin Sharvill
1049Ashley N MarrierArgentina2024-06-22Buckley Miller Wright QUALIFIED14Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Isabel G KuskoUnited KingdomAmy Elsner PROPOSAL
Leon S WieserUnited KingdomIoni Bowcher PROPOSAL
Costa M KolmetzJapanAmy Elsner RENEWAL
Kaitlin D NestleGermanyAnna Fali QUALIFIED
Kadeem O RoysterCanadaIvan Magalhaes NEGOTIATION
Kadeem G CaldareraJapanIvan Magalhaes NEW
Izzy J RulapaughItalyAmy Elsner UNQUALIFIED
Smith I KolmetzCanadaAnna Fali RENEWAL
Deepesh O MaletItalyXuxue Feng UNQUALIFIED
Smith V ShinkoJapanStephen Shaw QUALIFIED
Mayumi D MaletArgentinaXuxue Feng QUALIFIED
Cody C BowleyJapanBernardo Dominic UNQUALIFIED
Munro Q SchemmerCanadaOnyama Limba RENEWAL
Stacey G WhobreyUnited KingdomBernardo Dominic UNQUALIFIED
Aditya Y CampainFranceAmy Elsner RENEWAL
Rodrigues B CampainIndiaIoni Bowcher QUALIFIED
Aditya M FigeroaIndiaElwin Sharvill NEGOTIATION
Claire B PerinBrazilAmy Elsner UNQUALIFIED
Ashley T SchemmerArgentinaBernardo Dominic NEW
Rodrigues S MarrierSpainStephen Shaw PROPOSAL
Munro N VenereCanadaAnna Fali RENEWAL
Jeanfrancois I VenereRussiaAnna Fali RENEWAL
Deepesh O SlusarskiGermanyBernardo Dominic NEGOTIATION
Deepesh L MacleadAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois N OldroydIndiaStephen Shaw UNQUALIFIED
Sinclair J DilliardCanadaIoni Bowcher UNQUALIFIED
Cody N PaprockiGermanyAnna Fali QUALIFIED
Antonio K KolmetzIndiaAsiya Javayant PROPOSAL
Octavia G KuskoGermanyAnna Fali NEGOTIATION
Nicolas E FigeroaIndiaElwin Sharvill NEGOTIATION
Smith T ShinkoJapanStephen Shaw QUALIFIED
Sinclair H SchemmerRussiaXuxue Feng RENEWAL
Kadeem J GillianBrazilOnyama Limba NEW
James P MaletCanadaBernardo Dominic NEGOTIATION
Smith D StockhamArgentinaBernardo Dominic RENEWAL
Francesco K RutaAustraliaAsiya Javayant QUALIFIED
Mujtaba D StockhamGermanyIoni Bowcher UNQUALIFIED
Mayumi Q ButtSpainStephen Shaw NEGOTIATION
Smith D RimItalyIvan Magalhaes NEGOTIATION
Chavez F RoysterArgentinaOnyama Limba QUALIFIED
Johnson H MacleadItalyAnna Fali PROPOSAL
Costa U MaletCanadaOnyama Limba NEGOTIATION
Munro A AlbaresAustraliaBernardo Dominic QUALIFIED
Arvin S DoeAustraliaStephen Shaw PROPOSAL
Smith Z FollerRussiaBernardo Dominic QUALIFIED
Leon W TollnerArgentinaIvan Magalhaes NEW
Alejandro H VenereBrazilAnna Fali QUALIFIED
Arvin E DarakjyJapanBernardo Dominic NEW
Jefferson C OstroskyGermanyElwin Sharvill PROPOSAL
Sinclair K CampainIndiaElwin Sharvill NEW
Frozen Columns
Name
David K Inouye
Tony O Flosi
Misaki M Ostrosky
Morrow S Flosi
Ivar X Gaucho
Octavia Q Ferencz
Aruna P Figeroa
Octavia U Venere
Izzy D Sergi
Izzy D Sergi
Jennifer J Oldroyd
Mayumi T Darakjy
David Z Garufi
Nicolas Y Paprocki
Nicolas Z Wieser
Maria Q Butt
Leja Y Butt
Smith M Vocelka
Kadeem F Whobrey
Wickens H Kusko
Jennifer P Schemmer
Costa F Dilliard
Salvatore G Ferencz
Arvin M Vocelka
Alejandro F Gaucho
Darci S Sergi
Ricardo M Rim
Faith R Campain
Johnson U Gaucho
Arvin Z Kolmetz
Leon T Venere
Emily O Oldroyd
Claire H Vocelka
Faith V Caldarera
Aditya W Garufi
Silvio J Shinko
Costa Z Perin
Adams I Iturbide
Greenwood T Chui
Tony W Oldroyd
Claire Q Butt
Octavia P Garufi
Deepesh J Stenseth
Misaki M Malet
Smith D Perin
Darci H Marrier
Smith K Poquette
Maisha R Flosi
Clifford D Kusko
Johnson W Vocelka
IdCountryDate
1000India2024-06-14
1001France2024-06-01
1002Japan2024-06-22
1003Germany2024-06-16
1004Japan2024-06-03
1005Japan2024-06-14
1006Australia2024-06-07
1007France2024-06-17
1008Argentina2024-06-09
1009United Kingdom2024-06-20
1010United Kingdom2024-06-12
1011India2024-06-21
1012Canada2024-06-06
1013Brazil2024-06-16
1014Italy2024-06-05
1015United Kingdom2024-06-09
1016Japan2024-06-05
1017India2024-06-04
1018Argentina2024-06-04
1019Brazil2024-05-27
1020Australia2024-05-28
1021Italy2024-05-25
1022Australia2024-06-12
1023Japan2024-06-14
1024United Kingdom2024-06-06
1025Canada2024-05-29
1026Italy2024-06-05
1027Italy2024-06-06
1028Japan2024-05-26
1029Canada2024-06-08
1030Argentina2024-06-18
1031Italy2024-05-30
1032India2024-06-05
1033Brazil2024-05-31
1034Spain2024-06-20
1035Russia2024-06-04
1036Russia2024-06-17
1037Brazil2024-05-27
1038Australia2024-06-18
1039Russia2024-06-19
1040Germany2024-06-07
1041Australia2024-05-25
1042Germany2024-05-27
1043Germany2024-06-10
1044France2024-06-05
1045Japan2024-06-05
1046Italy2024-06-08
1047Spain2024-06-03
1048Spain2024-06-21
1049Canada2024-06-04

On-Demand Data

NameIdCountryDate
Jennifer F Shinko1000United Kingdom2024-06-18
Jefferson A Bowley1001France2024-06-20
Cody O Figeroa1002Australia2024-05-30
Juan T Shinko1003Spain2024-06-14
Tony C Tollner1004United Kingdom2024-06-22
Francesco O Albares1005France2024-06-20
Aika H Perin1006Russia2024-05-25
Faith J Nestle1007Australia2024-06-22
Maria R Venere1008Argentina2024-06-19
Rodrigues T Briddick1009Argentina2024-06-13
Leon H Butt1010France2024-06-20
Juan A Saylors1011Spain2024-06-12
Cody A Nicka1012India2024-05-28
Murillo G Schemmer1013Spain2024-05-25
Antonio Z Poquette1014Argentina2024-06-11
Alejandro P Caudy1015Spain2024-05-29
Mujtaba L Ferencz1016Germany2024-06-09
Faith A Whobrey1017United Kingdom2024-06-10
Deepesh F Amigon1018Russia2024-06-09
James A Foller1019Japan2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin R CaudySpainBernardo Dominic UNQUALIFIED
Greenwood C KolmetzFranceOnyama Limba PROPOSAL
Misaki M NickaUnited KingdomIoni Bowcher QUALIFIED
Clifford H RimRussiaStephen Shaw NEGOTIATION
Alejandro F IturbideBrazilAmy Elsner RENEWAL
David G FlosiIndiaAmy Elsner PROPOSAL
Jeanfrancois U OstroskyJapanAnna Fali RENEWAL
Alejandro Z RulapaughArgentinaElwin Sharvill RENEWAL
Izzy V RimArgentinaIvan Magalhaes NEGOTIATION
Johnson P FlosiJapanAmy Elsner QUALIFIED
Ashley F SaylorsFranceOnyama Limba NEW
Claire N OldroydIndiaAnna Fali NEW
Murillo Q RulapaughItalyIvan Magalhaes NEW
Clifford P FigeroaRussiaAnna Fali RENEWAL
Antonio K IturbideJapanIoni Bowcher PROPOSAL
Johnson I DarakjyCanadaXuxue Feng NEW
Aditya S DoeJapanStephen Shaw UNQUALIFIED
Nicolas R RoysterBrazilBernardo Dominic NEGOTIATION
Octavia F IturbideUnited KingdomElwin Sharvill NEGOTIATION
Octavia Z NickaAustraliaAsiya Javayant NEW
Leja X FollerItalyStephen Shaw PROPOSAL
Morrow X RoysterGermanyIoni Bowcher UNQUALIFIED
James O CampainFranceAsiya Javayant NEGOTIATION
Faith E KolmetzJapanAsiya Javayant UNQUALIFIED
Leon W ButtBrazilStephen Shaw UNQUALIFIED
Francesco S BriddickFranceAmy Elsner UNQUALIFIED
Jefferson A NestleItalyAnna Fali PROPOSAL
Rodrigues B CaldareraUnited KingdomXuxue Feng QUALIFIED
Greenwood D MorascaRussiaAsiya Javayant PROPOSAL
Smith J MorascaGermanyOnyama Limba NEGOTIATION
Jeanfrancois C FerenczArgentinaXuxue Feng QUALIFIED
Clifford U CaldareraItalyIvan Magalhaes NEGOTIATION
Misaki Y WieserUnited KingdomXuxue Feng NEW
Jefferson H DilliardArgentinaIoni Bowcher RENEWAL
Arvin I BologniaRussiaStephen Shaw NEW
Antonio T AmigonGermanyAmy Elsner NEW
Murillo F WieserIndiaStephen Shaw NEGOTIATION
Wickens D MacleadGermanyStephen Shaw UNQUALIFIED
James V BowleyItalyAsiya Javayant UNQUALIFIED
Johnson T MacleadIndiaIoni Bowcher PROPOSAL

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