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
Sinclair Z ButtIndiaBernardo Dominic UNQUALIFIED
Chavez Q AmigonGermanyBernardo Dominic RENEWAL
Isabel E CaldareraRussiaIvan Magalhaes RENEWAL
James L GlickJapanAnna Fali RENEWAL
Sinclair X DoeItalyAmy Elsner RENEWAL
Julie K MacleadRussiaXuxue Feng QUALIFIED
Salvatore P NestleUnited KingdomAnna Fali UNQUALIFIED
Ashley I PerinBrazilStephen Shaw NEGOTIATION
Aditya Z WaycottBrazilIvan Magalhaes RENEWAL
Murillo A ShinkoIndiaElwin Sharvill PROPOSAL
Ricardo A DarakjyFranceElwin Sharvill PROPOSAL
Arvin Z ChuiItalyAmy Elsner PROPOSAL
Jefferson J GillianIndiaIvan Magalhaes NEGOTIATION
Emily Y TollnerArgentinaOnyama Limba RENEWAL
Kadeem C KolmetzBrazilBernardo Dominic RENEWAL
Aruna P KuskoArgentinaIoni Bowcher RENEWAL
Sinclair O PoquetteJapanBernardo Dominic PROPOSAL
Clifford Q ButtSpainAnna Fali RENEWAL
Jennifer D OstroskyJapanAmy Elsner NEW
Nicolas Y ChuiArgentinaIoni Bowcher RENEWAL
James G StockhamUnited KingdomStephen Shaw NEW
Clifford R WaycottRussiaAsiya Javayant QUALIFIED
Sinclair X FlosiSpainElwin Sharvill NEW
Leja V ButtGermanyIoni Bowcher QUALIFIED
Aruna O WieserItalyBernardo Dominic NEGOTIATION
Stacey Z BowleyArgentinaStephen Shaw NEGOTIATION
Octavia G SaylorsArgentinaStephen Shaw NEGOTIATION
Cody O IturbideItalyAmy Elsner QUALIFIED
Jennifer H StensethAustraliaIoni Bowcher NEGOTIATION
Mujtaba A StockhamRussiaXuxue Feng PROPOSAL
Arvin I CaudyItalyIvan Magalhaes RENEWAL
Leon P SlusarskiCanadaElwin Sharvill NEW
Claire Q FlosiGermanyElwin Sharvill NEGOTIATION
Aditya T PerinItalyBernardo Dominic PROPOSAL
Tony P AlbaresJapanStephen Shaw NEW
Octavia N MacleadArgentinaAnna Fali QUALIFIED
Jeanfrancois O TollnerArgentinaXuxue Feng NEW
Kadeem M MaletSpainIvan Magalhaes NEW
Jefferson I ShinkoIndiaXuxue Feng NEW
Clifford C WaycottItalyAmy Elsner NEGOTIATION
Claire T DarakjyBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois G WieserJapanOnyama Limba NEGOTIATION
Ivar H BriddickItalyBernardo Dominic QUALIFIED
David O MacleadAustraliaXuxue Feng QUALIFIED
Emily C AmigonCanadaIoni Bowcher PROPOSAL
Greenwood C InouyeFranceBernardo Dominic RENEWAL
Aruna K StensethCanadaOnyama Limba UNQUALIFIED
Julie Y FerenczFranceXuxue Feng NEGOTIATION
Jefferson M PerinIndiaXuxue Feng UNQUALIFIED
Murillo P MarrierSpainXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody S MarrierBrazilAnna Fali PROPOSAL
Mayumi E MacleadFranceOnyama Limba PROPOSAL
Arvin T CaudyIndiaIoni Bowcher PROPOSAL
Maria T PerinGermanyIoni Bowcher UNQUALIFIED
Aditya L OldroydCanadaAsiya Javayant NEGOTIATION
Maria I MaletGermanyAnna Fali RENEWAL
Nicolas I KuskoSpainAmy Elsner UNQUALIFIED
Leja T GauchoBrazilStephen Shaw QUALIFIED
Maisha G WieserItalyAsiya Javayant QUALIFIED
Leon W VocelkaUnited KingdomStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James U FlosiJapan2024-05-31King, Christopher A Esq RENEWAL46Asiya Javayant
1001Darci G WhobreySpain2024-06-16Buckley Miller Wright QUALIFIED21Stephen Shaw
1002Izzy X BriddickFrance2024-06-06King, Christopher A Esq UNQUALIFIED39Elwin Sharvill
1003Smith E GarufiJapan2024-06-04Printing Dimensions PROPOSAL36Ioni Bowcher
1004Chavez C WhobreySpain2024-05-25Truhlar And Truhlar Attys UNQUALIFIED82Elwin Sharvill
1005Aditya H NickaUnited Kingdom2024-06-17Morlong Associates RENEWAL94Ivan Magalhaes
1006Ricardo U CaudySpain2024-06-18Commercial Press NEW52Bernardo Dominic
1007Mayumi S RoysterItaly2024-06-17Morlong Associates QUALIFIED68Amy Elsner
1008Maria A SchemmerUnited Kingdom2024-06-16Morlong Associates NEGOTIATION62Asiya Javayant
1009Ashley B FlosiRussia2024-06-19Chapman, Ross E Esq NEW56Anna Fali
1010Alejandro B DarakjyIndia2024-06-11Rousseaux, Michael Esq UNQUALIFIED3Stephen Shaw
1011Tony O GlickFrance2024-06-15King, Christopher A Esq UNQUALIFIED62Stephen Shaw
1012Julie Q ChuiIndia2024-06-04Dorl, James J Esq NEGOTIATION97Onyama Limba
1013Greenwood M ChuiAustralia2024-06-14Benton, John B Jr QUALIFIED68Anna Fali
1014Leja G BriddickGermany2024-06-07Rangoni Of Florence UNQUALIFIED45Anna Fali
1015Mujtaba K RoysterIndia2024-06-17Printing Dimensions NEW19Anna Fali
1016Julie W RoysterGermany2024-06-12Feltz Printing Service NEW19Elwin Sharvill
1017Emily Z BowleyAustralia2024-06-12Feltz Printing Service PROPOSAL74Asiya Javayant
1018Claire B FollerAustralia2024-05-27Buckley Miller Wright RENEWAL48Ioni Bowcher
1019Leja D SchemmerIndia2024-06-04Rangoni Of Florence NEW14Onyama Limba
1020Stacey L OstroskyBrazil2024-06-10King, Christopher A Esq NEW17Amy Elsner
1021Leja N FigeroaUnited Kingdom2024-06-02Truhlar And Truhlar Attys NEW84Elwin Sharvill
1022Kadeem S KolmetzCanada2024-06-14Feiner Bros NEW29Ivan Magalhaes
1023Wickens L RoysterUnited Kingdom2024-05-26Morlong Associates RENEWAL33Elwin Sharvill
1024Ricardo A CaudyAustralia2024-06-10King, Christopher A Esq NEW54Ivan Magalhaes
1025Salvatore V CaudyRussia2024-06-20Buckley Miller Wright UNQUALIFIED33Elwin Sharvill
1026Alejandro C NickaUnited Kingdom2024-05-25Chemel, James L Cpa QUALIFIED72Amy Elsner
1027Aditya O OstroskyJapan2024-06-22King, Christopher A Esq NEW48Anna Fali
1028Aditya L RoysterRussia2024-06-13Feiner Bros QUALIFIED57Ioni Bowcher
1029Chavez N IturbideJapan2024-05-30Commercial Press QUALIFIED58Onyama Limba
1030Adams S AlbaresGermany2024-06-01Chemel, James L Cpa QUALIFIED8Anna Fali
1031Misaki H WhobreyCanada2024-05-28Chapman, Ross E Esq NEGOTIATION19Ioni Bowcher
1032Mayumi E WaycottUnited Kingdom2024-06-21Rousseaux, Michael Esq NEW28Amy Elsner
1033Juan E CampainJapan2024-06-04Feiner Bros PROPOSAL76Stephen Shaw
1034Munro J IturbideAustralia2024-06-09King, Christopher A Esq NEW99Ivan Magalhaes
1035Juan P NickaBrazil2024-06-17Truhlar And Truhlar Attys PROPOSAL35Ivan Magalhaes
1036Emily L GlickItaly2024-06-12Buckley Miller Wright NEW39Ivan Magalhaes
1037Misaki I BologniaJapan2024-06-11Rangoni Of Florence UNQUALIFIED50Asiya Javayant
1038Munro H WieserSpain2024-06-03Buckley Miller Wright QUALIFIED24Amy Elsner
1039James D GarufiUnited Kingdom2024-06-03Rangoni Of Florence NEW87Asiya Javayant
1040Sinclair M MarrierBrazil2024-06-12Printing Dimensions RENEWAL16Amy Elsner
1041Nicolas Q ButtSpain2024-06-11Rousseaux, Michael Esq NEW55Asiya Javayant
1042Izzy O AlbaresSpain2024-06-11King, Christopher A Esq NEGOTIATION4Xuxue Feng
1043Clifford X RimJapan2024-06-17King, Christopher A Esq NEGOTIATION20Bernardo Dominic
1044Antonio D DoeGermany2024-06-06King, Christopher A Esq PROPOSAL54Ivan Magalhaes
1045Emily J BologniaUnited Kingdom2024-06-22Printing Dimensions NEW63Ioni Bowcher
1046Nicolas X GarufiArgentina2024-06-06Buckley Miller Wright NEW99Anna Fali
1047Morrow U BologniaBrazil2024-05-25Truhlar And Truhlar Attys RENEWAL26Ioni Bowcher
1048Smith M NickaItaly2024-05-31Printing Dimensions PROPOSAL58Ioni Bowcher
1049Maisha F OstroskyGermany2024-06-12Morlong Associates UNQUALIFIED16Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Z WhobreyFranceElwin Sharvill PROPOSAL
Leja K RimItalyIvan Magalhaes RENEWAL
Ricardo Z InouyeFranceAsiya Javayant NEW
Isabel A PerinArgentinaOnyama Limba QUALIFIED
Maria F PoquetteSpainBernardo Dominic PROPOSAL
Nicolas K FlosiCanadaAmy Elsner PROPOSAL
Mujtaba E AlbaresIndiaXuxue Feng PROPOSAL
Chavez H IturbideSpainIoni Bowcher QUALIFIED
Sinclair F PoquetteAustraliaAsiya Javayant RENEWAL
Costa W StensethIndiaIvan Magalhaes UNQUALIFIED
Smith J DilliardUnited KingdomStephen Shaw RENEWAL
Stacey C MaletJapanOnyama Limba QUALIFIED
Jennifer N CampainUnited KingdomAsiya Javayant RENEWAL
Cody M SlusarskiJapanAnna Fali UNQUALIFIED
Morrow O SlusarskiSpainAnna Fali QUALIFIED
Faith W BologniaFranceIvan Magalhaes NEW
Francesco W ShinkoGermanyElwin Sharvill QUALIFIED
Isabel N VocelkaCanadaIvan Magalhaes PROPOSAL
Ivar C BriddickCanadaStephen Shaw NEW
Isabel K RutaRussiaOnyama Limba PROPOSAL
Kaitlin A FollerFranceStephen Shaw PROPOSAL
Smith E PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Aika L AmigonFranceAnna Fali QUALIFIED
Alejandro K PoquetteCanadaXuxue Feng QUALIFIED
Aruna I PaprockiJapanAmy Elsner UNQUALIFIED
Maria K OldroydArgentinaAnna Fali UNQUALIFIED
Murillo T RimRussiaAsiya Javayant NEW
Jeanfrancois G ChuiJapanIoni Bowcher RENEWAL
Adams D RutaFranceAsiya Javayant NEW
Tony P VocelkaIndiaElwin Sharvill NEW
Aruna Z SergiSpainXuxue Feng QUALIFIED
Smith O SergiIndiaIvan Magalhaes RENEWAL
David H WaycottItalyBernardo Dominic NEGOTIATION
Wickens C MarrierFranceAnna Fali PROPOSAL
Sinclair O FollerGermanyStephen Shaw NEW
Jefferson N PoquetteGermanyAnna Fali NEGOTIATION
Sinclair G NickaAustraliaAmy Elsner QUALIFIED
Alejandro L CampainJapanAsiya Javayant NEW
Wickens Y AmigonBrazilIoni Bowcher UNQUALIFIED
Ashley Z AlbaresIndiaBernardo Dominic PROPOSAL
Izzy N DoeGermanyOnyama Limba UNQUALIFIED
Costa Y KolmetzFranceXuxue Feng NEGOTIATION
Johnson J RoysterRussiaAmy Elsner PROPOSAL
Ivar R RulapaughBrazilElwin Sharvill RENEWAL
Darci G KolmetzItalyXuxue Feng NEGOTIATION
Morrow W GlickRussiaStephen Shaw PROPOSAL
Jones F VocelkaUnited KingdomAnna Fali QUALIFIED
Ashley L GarufiGermanyAnna Fali NEGOTIATION
Stacey T SaylorsArgentinaAmy Elsner RENEWAL
Juan H MaletCanadaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Arvin Y Bowley
Sinclair K Garufi
Johnson Y Flosi
Alejandro K Butt
Stacey D Glick
Arvin T Campain
Nicolas B Poquette
Salvatore Y Inouye
Jeanfrancois R Malet
Alejandro W Albares
Stacey H Glick
Jennifer X Wieser
Emily K Sergi
Francesco W Malet
Deepesh P Kolmetz
Jennifer A Garufi
Deepesh E Oldroyd
Julie E Tollner
Ashley N Tollner
Clifford S Glick
Greenwood N Amigon
Claire R Ferencz
Emily V Flosi
Arvin W Morasca
Costa X Gaucho
Costa W Tollner
Aika N Poquette
Greenwood X Venere
Claire V Wieser
Misaki G Tollner
Isabel X Vocelka
Misaki I Slusarski
David H Darakjy
Leja W Marrier
Johnson A Darakjy
Leon R Rim
Maria H Oldroyd
Darci V Nicka
Rodrigues I Glick
Chavez M Marrier
Nicolas B Poquette
Emily E Morasca
Misaki F Ruta
Julie N Ostrosky
Wickens Z Inouye
Juan W Amigon
Cody H Stenseth
James H Paprocki
Stacey S Foller
Adams X Kusko
IdCountryDate
1000Germany2024-06-02
1001France2024-06-07
1002Germany2024-06-04
1003Spain2024-05-27
1004Canada2024-06-19
1005Italy2024-06-13
1006Canada2024-06-10
1007Italy2024-05-28
1008United Kingdom2024-06-12
1009Australia2024-06-15
1010Japan2024-05-27
1011Japan2024-06-18
1012France2024-06-09
1013India2024-06-11
1014Australia2024-05-27
1015Germany2024-06-12
1016Russia2024-06-18
1017Spain2024-06-10
1018Japan2024-05-28
1019France2024-05-25
1020Canada2024-06-07
1021Russia2024-06-15
1022Brazil2024-06-12
1023Germany2024-05-25
1024Brazil2024-05-26
1025Brazil2024-06-14
1026Spain2024-06-04
1027Brazil2024-06-12
1028Italy2024-06-15
1029Germany2024-06-02
1030Japan2024-05-30
1031Argentina2024-06-14
1032United Kingdom2024-06-07
1033Italy2024-06-09
1034Canada2024-06-08
1035Australia2024-06-05
1036United Kingdom2024-06-15
1037France2024-06-09
1038Canada2024-06-22
1039Russia2024-05-27
1040Russia2024-06-20
1041Italy2024-06-08
1042Russia2024-06-15
1043France2024-05-30
1044Brazil2024-05-28
1045Japan2024-06-17
1046Japan2024-05-26
1047Spain2024-06-20
1048Canada2024-05-26
1049United Kingdom2024-06-05

On-Demand Data

NameIdCountryDate
Costa Y Glick1000United Kingdom2024-06-09
Darci Y Ostrosky1001France2024-06-13
Jefferson B Doe1002India2024-06-11
Maria C Iturbide1003Russia2024-06-18
Smith E Malet1004Japan2024-06-07
Clifford C Whobrey1005Japan2024-06-06
Salvatore Y Albares1006Brazil2024-06-08
Kaitlin N Paprocki1007Italy2024-06-02
Izzy I Whobrey1008Brazil2024-06-22
Faith K Whobrey1009Germany2024-05-27
Alejandro R Gaucho1010Russia2024-06-02
Julie L Wieser1011Brazil2024-06-20
Cody S Albares1012Australia2024-06-20
Izzy I Iturbide1013Italy2024-06-01
Leja I Malet1014India2024-05-31
Morrow T Kolmetz1015Brazil2024-06-05
Emily A Poquette1016Canada2024-06-19
Wickens V Schemmer1017Brazil2024-05-27
James I Rulapaugh1018Germany2024-06-05
Silvio V Paprocki1019Argentina2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow W DoeJapanIoni Bowcher NEGOTIATION
Claire W GlickArgentinaStephen Shaw QUALIFIED
Ricardo I DarakjyAustraliaStephen Shaw UNQUALIFIED
Darci Y FollerRussiaAsiya Javayant NEGOTIATION
Ricardo C SergiBrazilBernardo Dominic NEW
Silvio V RoysterCanadaElwin Sharvill PROPOSAL
Stacey W RimIndiaElwin Sharvill NEW
Antonio N FollerSpainIoni Bowcher RENEWAL
Stacey M SergiSpainIoni Bowcher QUALIFIED
David Z KuskoIndiaOnyama Limba RENEWAL
Greenwood B CaldareraGermanyIvan Magalhaes NEW
Octavia K DarakjyFranceOnyama Limba PROPOSAL
Antonio T MaletFranceStephen Shaw NEGOTIATION
Cody Q PoquetteRussiaOnyama Limba PROPOSAL
Leja F StockhamItalyOnyama Limba NEW
Ivar P DilliardArgentinaAnna Fali UNQUALIFIED
Silvio R ShinkoItalyAnna Fali PROPOSAL
Darci Y SergiUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood C MorascaRussiaAmy Elsner NEW
Sinclair F ChuiJapanStephen Shaw UNQUALIFIED
Antonio Z OstroskyFranceIoni Bowcher NEW
Johnson J RulapaughAustraliaOnyama Limba PROPOSAL
Ashley E DarakjyRussiaStephen Shaw NEW
Tony T InouyeJapanIvan Magalhaes UNQUALIFIED
Smith O MacleadBrazilXuxue Feng QUALIFIED
Murillo Q StockhamBrazilXuxue Feng NEGOTIATION
Juan H SlusarskiSpainElwin Sharvill UNQUALIFIED
Wickens A RimItalyOnyama Limba NEGOTIATION
Jones N AlbaresBrazilStephen Shaw UNQUALIFIED
Greenwood X MaletBrazilIoni Bowcher PROPOSAL
Ivar W MaletFranceAmy Elsner QUALIFIED
Mujtaba D FigeroaRussiaOnyama Limba PROPOSAL
Mayumi I SchemmerIndiaIoni Bowcher UNQUALIFIED
Juan B SaylorsArgentinaXuxue Feng PROPOSAL
Sinclair B CampainJapanAsiya Javayant PROPOSAL
Nicolas J MarrierItalyXuxue Feng NEW
Juan S MaletJapanElwin Sharvill NEW
Tony S NestleRussiaElwin Sharvill UNQUALIFIED
Emily M OldroydArgentinaBernardo Dominic RENEWAL
Maria F SaylorsBrazilBernardo Dominic 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>