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
David Y RimGermanyAsiya Javayant QUALIFIED
Ricardo G RulapaughAustraliaIvan Magalhaes PROPOSAL
Maria M StensethJapanElwin Sharvill NEW
Jeanfrancois I KuskoBrazilIoni Bowcher UNQUALIFIED
Salvatore H WaycottSpainIoni Bowcher RENEWAL
Johnson J OstroskyCanadaAsiya Javayant PROPOSAL
Julie V StockhamUnited KingdomElwin Sharvill RENEWAL
Claire Z IturbideRussiaXuxue Feng NEGOTIATION
Kaitlin U InouyeIndiaIoni Bowcher NEW
Aditya V KolmetzIndiaOnyama Limba RENEWAL
Leja F GauchoCanadaAsiya Javayant PROPOSAL
David B VocelkaArgentinaStephen Shaw NEW
Mayumi J FollerUnited KingdomIoni Bowcher NEGOTIATION
Francesco U RutaCanadaElwin Sharvill QUALIFIED
Smith U DilliardUnited KingdomAmy Elsner NEW
Kaitlin U RulapaughCanadaStephen Shaw PROPOSAL
Isabel Z RutaJapanOnyama Limba RENEWAL
Faith U TollnerJapanAnna Fali UNQUALIFIED
Maisha J DarakjySpainAnna Fali RENEWAL
Silvio Y SchemmerAustraliaAmy Elsner RENEWAL
Silvio G VenereFranceAnna Fali UNQUALIFIED
Tony N PerinSpainAsiya Javayant QUALIFIED
Murillo V CaudyIndiaStephen Shaw NEGOTIATION
Sinclair C RulapaughArgentinaStephen Shaw UNQUALIFIED
Jefferson Q BowleyUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba Y VocelkaUnited KingdomAsiya Javayant PROPOSAL
Stacey N FerenczItalyAnna Fali UNQUALIFIED
Murillo E StockhamIndiaIoni Bowcher RENEWAL
Cody M FerenczArgentinaElwin Sharvill NEGOTIATION
Jennifer O PerinSpainIoni Bowcher RENEWAL
Leon P MacleadIndiaAmy Elsner UNQUALIFIED
Ivar Q GarufiAustraliaAsiya Javayant NEW
Faith P WhobreySpainAsiya Javayant NEW
Kadeem N GlickBrazilBernardo Dominic NEGOTIATION
Tony G ButtFranceIoni Bowcher UNQUALIFIED
Munro R IturbideRussiaOnyama Limba NEW
Ricardo Q ShinkoAustraliaStephen Shaw UNQUALIFIED
Johnson R PaprockiBrazilOnyama Limba UNQUALIFIED
Deepesh N WieserArgentinaIvan Magalhaes UNQUALIFIED
Mujtaba Z ChuiAustraliaAnna Fali QUALIFIED
Izzy A RoysterBrazilAmy Elsner QUALIFIED
Leon R FollerBrazilAmy Elsner RENEWAL
Ricardo T FollerGermanyIoni Bowcher RENEWAL
Ashley J WhobreyRussiaIoni Bowcher NEW
Jennifer R FerenczAustraliaIvan Magalhaes PROPOSAL
Leon Z NestleBrazilAsiya Javayant NEGOTIATION
Wickens T IturbideSpainOnyama Limba UNQUALIFIED
Mayumi E NickaGermanyAnna Fali NEGOTIATION
Kadeem T GillianFranceAmy Elsner PROPOSAL
Murillo O MarrierSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez Q FigeroaUnited KingdomAmy Elsner PROPOSAL
Alejandro E GauchoBrazilOnyama Limba UNQUALIFIED
Tony O FlosiBrazilIvan Magalhaes UNQUALIFIED
Maisha D BowleyBrazilXuxue Feng PROPOSAL
Kaitlin D RimCanadaAnna Fali PROPOSAL
Murillo L RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Isabel T StockhamBrazilAmy Elsner NEGOTIATION
James S DilliardCanadaElwin Sharvill QUALIFIED
Jones V PaprockiCanadaStephen Shaw QUALIFIED
Octavia U GillianItalyBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson Z WaycottRussia2024-05-15Buckley Miller Wright RENEWAL60Xuxue Feng
1001Johnson K CaudyGermany2024-06-06Chemel, James L Cpa RENEWAL99Asiya Javayant
1002Kadeem B SchemmerIndia2024-05-24Chapman, Ross E Esq UNQUALIFIED46Asiya Javayant
1003Juan Y WhobreyCanada2024-05-23Buckley Miller Wright NEW46Elwin Sharvill
1004Isabel Y CaudyBrazil2024-05-19Feltz Printing Service RENEWAL32Elwin Sharvill
1005Wickens X WaycottCanada2024-05-26King, Christopher A Esq NEGOTIATION13Ioni Bowcher
1006James C GillianCanada2024-06-06Benton, John B Jr NEW61Asiya Javayant
1007Antonio Z PaprockiArgentina2024-05-27Buckley Miller Wright QUALIFIED88Amy Elsner
1008Leja U CaudyUnited Kingdom2024-05-22Chemel, James L Cpa NEGOTIATION11Amy Elsner
1009Silvio K RoysterSpain2024-05-14Rousseaux, Michael Esq PROPOSAL48Amy Elsner
1010Ashley D SergiArgentina2024-05-23Printing Dimensions RENEWAL79Onyama Limba
1011Morrow I NickaItaly2024-05-15Benton, John B Jr PROPOSAL17Onyama Limba
1012James E StensethItaly2024-05-21Morlong Associates QUALIFIED1Ioni Bowcher
1013Cody A MacleadSpain2024-05-14Commercial Press UNQUALIFIED46Asiya Javayant
1014Ashley B CaudyArgentina2024-05-31Printing Dimensions NEW54Ivan Magalhaes
1015Ashley N MaletIndia2024-05-20Commercial Press QUALIFIED86Amy Elsner
1016Aika F SaylorsArgentina2024-05-27Rangoni Of Florence NEW11Stephen Shaw
1017Antonio I RutaRussia2024-05-29King, Christopher A Esq RENEWAL37Onyama Limba
1018Izzy D AmigonGermany2024-05-25Feltz Printing Service NEGOTIATION96Anna Fali
1019Nicolas B OldroydRussia2024-05-09Chapman, Ross E Esq NEGOTIATION66Amy Elsner
1020Francesco F OldroydBrazil2024-05-29King, Christopher A Esq RENEWAL77Ivan Magalhaes
1021Tony B GarufiBrazil2024-05-20Rangoni Of Florence NEGOTIATION94Elwin Sharvill
1022Darci A RutaBrazil2024-05-25Morlong Associates UNQUALIFIED2Elwin Sharvill
1023James U BowleyIndia2024-05-13Feiner Bros NEW23Amy Elsner
1024Deepesh F MaletCanada2024-05-29Buckley Miller Wright QUALIFIED25Ioni Bowcher
1025Costa C GillianGermany2024-05-15Chapman, Ross E Esq PROPOSAL27Asiya Javayant
1026Mujtaba I StensethFrance2024-05-26Benton, John B Jr NEGOTIATION21Xuxue Feng
1027Johnson U StockhamCanada2024-05-19Chanay, Jeffrey A Esq NEGOTIATION50Anna Fali
1028Izzy E CaudyAustralia2024-05-20King, Christopher A Esq NEW31Elwin Sharvill
1029Leja U IturbideSpain2024-05-14Chapman, Ross E Esq PROPOSAL58Anna Fali
1030James N SergiUnited Kingdom2024-05-21Morlong Associates UNQUALIFIED83Onyama Limba
1031Murillo D BowleyJapan2024-05-21Dorl, James J Esq NEW39Anna Fali
1032Antonio X WhobreyIndia2024-05-26Dorl, James J Esq RENEWAL46Onyama Limba
1033Ricardo B OstroskyCanada2024-05-10Chanay, Jeffrey A Esq PROPOSAL84Asiya Javayant
1034Jennifer U RoysterAustralia2024-05-30Dorl, James J Esq NEGOTIATION94Ioni Bowcher
1035David Z GarufiArgentina2024-05-21Chanay, Jeffrey A Esq PROPOSAL63Elwin Sharvill
1036Cody N CaudySpain2024-05-27Feltz Printing Service UNQUALIFIED0Xuxue Feng
1037Leja G CampainFrance2024-06-01King, Christopher A Esq QUALIFIED91Stephen Shaw
1038Sinclair O CaldareraBrazil2024-05-16Chapman, Ross E Esq RENEWAL57Asiya Javayant
1039Aruna A RulapaughGermany2024-06-05Benton, John B Jr RENEWAL13Ivan Magalhaes
1040Leon Y IturbideIndia2024-06-06Truhlar And Truhlar Attys QUALIFIED89Anna Fali
1041Silvio P SaylorsUnited Kingdom2024-05-21Chanay, Jeffrey A Esq PROPOSAL85Ioni Bowcher
1042Faith A TollnerBrazil2024-06-01Rousseaux, Michael Esq PROPOSAL73Stephen Shaw
1043Maisha W BriddickIndia2024-05-29Morlong Associates QUALIFIED23Onyama Limba
1044Adams V FlosiItaly2024-06-03Morlong Associates PROPOSAL23Xuxue Feng
1045Jeanfrancois P StockhamFrance2024-05-30Commercial Press NEGOTIATION80Xuxue Feng
1046Izzy R BologniaCanada2024-06-05King, Christopher A Esq UNQUALIFIED97Anna Fali
1047Chavez O WaycottJapan2024-05-27Feiner Bros QUALIFIED29Xuxue Feng
1048Smith V GillianSpain2024-05-31Morlong Associates UNQUALIFIED67Asiya Javayant
1049Izzy M DoeAustralia2024-05-18Feiner Bros PROPOSAL35Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aditya C FerenczIndiaBernardo Dominic NEW
Isabel G ShinkoCanadaIvan Magalhaes RENEWAL
Jennifer J ButtBrazilAsiya Javayant RENEWAL
Murillo P WaycottGermanyAsiya Javayant NEW
Octavia E MorascaFranceOnyama Limba RENEWAL
Kaitlin B SergiIndiaIoni Bowcher NEW
Francesco M MorascaGermanyIvan Magalhaes RENEWAL
Jefferson A OldroydJapanIoni Bowcher NEW
Misaki X StensethItalyAmy Elsner UNQUALIFIED
Ricardo A GauchoRussiaElwin Sharvill QUALIFIED
Tony D SchemmerFranceAsiya Javayant UNQUALIFIED
Nicolas P PoquetteBrazilBernardo Dominic RENEWAL
Arvin Z FigeroaIndiaXuxue Feng PROPOSAL
Arvin G SchemmerSpainAnna Fali PROPOSAL
Costa S ButtArgentinaAmy Elsner RENEWAL
Chavez R DilliardRussiaOnyama Limba PROPOSAL
Alejandro C GlickFranceXuxue Feng NEW
Clifford B StockhamSpainIvan Magalhaes NEW
Darci R AlbaresBrazilXuxue Feng QUALIFIED
Sinclair B ChuiAustraliaAmy Elsner NEGOTIATION
Maria M PerinSpainXuxue Feng NEW
Silvio Z SchemmerSpainIoni Bowcher QUALIFIED
Jennifer Y StensethUnited KingdomAsiya Javayant NEW
Darci V RulapaughSpainIoni Bowcher PROPOSAL
Munro Q StockhamIndiaBernardo Dominic RENEWAL
Jennifer L GauchoFranceXuxue Feng PROPOSAL
Silvio S MacleadItalyBernardo Dominic NEW
Sinclair L ShinkoSpainAmy Elsner QUALIFIED
Johnson M FerenczCanadaBernardo Dominic QUALIFIED
Aditya X ChuiGermanyAmy Elsner UNQUALIFIED
Clifford A GauchoCanadaXuxue Feng RENEWAL
Jeanfrancois Y GlickAustraliaOnyama Limba RENEWAL
Francesco T FigeroaCanadaAnna Fali NEW
Aditya A DilliardArgentinaIoni Bowcher NEW
Leon H RutaItalyXuxue Feng RENEWAL
Maria C WhobreyRussiaIvan Magalhaes RENEWAL
Jones G BowleyUnited KingdomAmy Elsner UNQUALIFIED
Julie Q DilliardAustraliaAsiya Javayant NEGOTIATION
Leja S WieserGermanyOnyama Limba UNQUALIFIED
Morrow N RimIndiaAmy Elsner RENEWAL
Ivar L BowleyItalyIvan Magalhaes RENEWAL
Francesco R InouyeJapanBernardo Dominic PROPOSAL
Stacey G FlosiGermanyXuxue Feng PROPOSAL
Aditya E MaletBrazilIoni Bowcher NEGOTIATION
Wickens M MaletFranceElwin Sharvill NEW
Aika K WhobreyIndiaAsiya Javayant NEGOTIATION
Deepesh Q InouyeGermanyBernardo Dominic QUALIFIED
Salvatore E BologniaBrazilIvan Magalhaes QUALIFIED
Wickens J GlickIndiaIvan Magalhaes NEW
Kaitlin M KuskoBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
Emily W Nestle
Silvio B Waycott
Deepesh T Caudy
Jeanfrancois I Rulapaugh
Adams Q Poquette
Ashley K Inouye
Antonio M Inouye
Silvio H Whobrey
Maria Q Butt
Ricardo Y Tollner
Maria A Stenseth
Tony K Poquette
Claire K Shinko
James C Waycott
David E Ruta
Jennifer B Bowley
Silvio Y Iturbide
Kadeem U Ruta
Tony V Sergi
Cody B Ostrosky
Greenwood K Malet
Deepesh B Maclead
Misaki Q Chui
Jones C Rulapaugh
Salvatore B Malet
Greenwood A Shinko
Julie P Caudy
Jefferson Y Ruta
Jefferson A Foller
Jones S Caudy
Misaki R Nicka
Antonio V Iturbide
Juan S Doe
Chavez O Iturbide
Salvatore L Whobrey
Munro P Kusko
Sinclair I Sergi
Ashley K Nicka
Johnson O Ferencz
Alejandro J Vocelka
Mayumi F Glick
Jeanfrancois B Venere
Francesco C Bolognia
Greenwood Y Malet
Munro B Malet
Rodrigues K Nicka
Alejandro A Darakjy
Kaitlin V Butt
Octavia H Ruta
Ricardo M Marrier
IdCountryDate
1000Spain2024-06-05
1001Japan2024-05-09
1002Russia2024-05-29
1003Australia2024-05-10
1004Italy2024-05-29
1005Brazil2024-05-15
1006France2024-05-10
1007United Kingdom2024-05-09
1008France2024-05-23
1009India2024-05-17
1010Canada2024-05-12
1011India2024-05-22
1012Russia2024-05-31
1013Germany2024-05-25
1014France2024-06-04
1015Spain2024-06-01
1016Italy2024-05-15
1017India2024-06-07
1018Canada2024-05-18
1019France2024-05-15
1020Russia2024-06-03
1021Italy2024-05-16
1022Australia2024-05-26
1023Russia2024-05-20
1024Italy2024-05-15
1025United Kingdom2024-05-31
1026Russia2024-05-16
1027Spain2024-05-15
1028United Kingdom2024-05-10
1029Argentina2024-05-29
1030Japan2024-05-23
1031Australia2024-06-05
1032Canada2024-05-28
1033India2024-05-28
1034Japan2024-05-24
1035Brazil2024-05-13
1036India2024-05-12
1037United Kingdom2024-05-16
1038Spain2024-05-26
1039Germany2024-05-16
1040Argentina2024-05-17
1041India2024-05-14
1042France2024-06-04
1043Russia2024-05-22
1044Italy2024-05-12
1045Russia2024-06-02
1046Canada2024-05-26
1047Australia2024-05-11
1048Spain2024-06-04
1049United Kingdom2024-05-13

On-Demand Data

NameIdCountryDate
Costa X Gaucho1000Italy2024-05-27
Chavez G Glick1001Germany2024-05-29
Chavez K Malet1002Brazil2024-05-14
Adams M Ruta1003Argentina2024-05-25
Nicolas G Foller1004Italy2024-06-06
Morrow A Chui1005United Kingdom2024-05-22
Kaitlin U Malet1006United Kingdom2024-05-29
Jennifer V Gaucho1007Italy2024-05-26
Silvio I Perin1008India2024-06-02
Mujtaba N Darakjy1009Australia2024-05-14
Leon Z Inouye1010Germany2024-06-04
Misaki L Paprocki1011Japan2024-05-18
Maisha J Morasca1012Germany2024-05-21
Stacey D Nestle1013France2024-05-16
Claire M Slusarski1014Spain2024-05-12
Stacey L Stockham1015Australia2024-05-12
Julie P Doe1016Spain2024-05-25
Jennifer B Shinko1017Russia2024-06-07
Darci R Stenseth1018Argentina2024-05-19
James S Slusarski1019France2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie X BologniaAustraliaAsiya Javayant RENEWAL
Stacey I PoquetteAustraliaAmy Elsner RENEWAL
Adams N WhobreyUnited KingdomOnyama Limba RENEWAL
Emily H GarufiFranceIvan Magalhaes NEW
Cody Y SlusarskiIndiaStephen Shaw QUALIFIED
Aditya I GarufiGermanyStephen Shaw UNQUALIFIED
Antonio I InouyeSpainAmy Elsner NEW
Maisha F DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Clifford R MaletFranceIoni Bowcher NEGOTIATION
Misaki K WieserJapanAsiya Javayant QUALIFIED
Jefferson N WaycottGermanyAnna Fali UNQUALIFIED
Johnson I GillianSpainAmy Elsner UNQUALIFIED
Izzy C BologniaGermanyOnyama Limba QUALIFIED
David R PaprockiAustraliaAnna Fali RENEWAL
Smith Z RoysterBrazilAnna Fali RENEWAL
Chavez O KuskoArgentinaBernardo Dominic NEW
Leon I GarufiAustraliaElwin Sharvill UNQUALIFIED
Jennifer J GarufiAustraliaElwin Sharvill NEGOTIATION
Jennifer I FollerCanadaIvan Magalhaes RENEWAL
Cody S SlusarskiItalyAsiya Javayant UNQUALIFIED
Murillo S KolmetzGermanyAsiya Javayant QUALIFIED
Antonio L PerinJapanOnyama Limba RENEWAL
Misaki E RimCanadaElwin Sharvill NEW
Costa T GillianGermanyElwin Sharvill NEW
Tony N MacleadCanadaIoni Bowcher NEGOTIATION
Aruna H AlbaresGermanyAmy Elsner UNQUALIFIED
Johnson V VenereItalyOnyama Limba QUALIFIED
Francesco V GlickCanadaAmy Elsner NEGOTIATION
Juan Y NickaBrazilOnyama Limba NEGOTIATION
Octavia J RulapaughCanadaIvan Magalhaes NEW
Arvin V SchemmerIndiaIoni Bowcher NEW
Stacey E SaylorsJapanBernardo Dominic RENEWAL
Jeanfrancois W FlosiFranceOnyama Limba UNQUALIFIED
Ricardo T WaycottRussiaAnna Fali NEW
Faith Q GauchoIndiaStephen Shaw UNQUALIFIED
Kaitlin U OldroydSpainIoni Bowcher UNQUALIFIED
Antonio B AmigonItalyAnna Fali UNQUALIFIED
Aika X GauchoIndiaXuxue Feng NEGOTIATION
Jones D RutaJapanBernardo Dominic UNQUALIFIED
Arvin P FlosiFranceIvan Magalhaes 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>