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
Juan E BriddickItalyIoni Bowcher UNQUALIFIED
David N CaldareraAustraliaXuxue Feng QUALIFIED
Leja D CaldareraUnited KingdomStephen Shaw NEGOTIATION
Morrow I PaprockiCanadaAsiya Javayant UNQUALIFIED
Stacey N WaycottUnited KingdomBernardo Dominic QUALIFIED
Juan I DarakjyAustraliaElwin Sharvill NEW
Deepesh N OldroydIndiaXuxue Feng NEW
Juan R ChuiUnited KingdomOnyama Limba NEW
Arvin Q GillianGermanyOnyama Limba NEW
Deepesh W CampainGermanyStephen Shaw QUALIFIED
Smith U SlusarskiCanadaAmy Elsner RENEWAL
Ricardo O IturbideFranceIvan Magalhaes NEW
Leja Z MaletAustraliaBernardo Dominic PROPOSAL
Maria K NickaItalyIoni Bowcher PROPOSAL
Misaki C DarakjyBrazilAnna Fali NEGOTIATION
Isabel B WieserGermanyAmy Elsner UNQUALIFIED
Nicolas I FollerBrazilAnna Fali NEW
Ricardo E NestleGermanyIvan Magalhaes NEW
Smith Z RoysterRussiaElwin Sharvill UNQUALIFIED
Wickens U PoquetteRussiaIoni Bowcher QUALIFIED
Greenwood A CampainJapanIvan Magalhaes RENEWAL
Ivar M NickaJapanIoni Bowcher PROPOSAL
Emily V GauchoUnited KingdomAnna Fali PROPOSAL
Silvio O CaudyFranceOnyama Limba QUALIFIED
Leja W FollerJapanBernardo Dominic PROPOSAL
Chavez S StensethIndiaStephen Shaw NEW
Aruna H MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Costa J SlusarskiRussiaAmy Elsner UNQUALIFIED
David F SchemmerCanadaOnyama Limba UNQUALIFIED
Nicolas S InouyeCanadaXuxue Feng NEGOTIATION
Octavia M FollerFranceAmy Elsner NEW
Kaitlin F GauchoJapanOnyama Limba NEW
Maisha Q InouyeAustraliaStephen Shaw NEW
Juan W VenereRussiaElwin Sharvill UNQUALIFIED
Ivar F FigeroaItalyBernardo Dominic PROPOSAL
Emily S CaldareraCanadaBernardo Dominic NEGOTIATION
David X MorascaGermanyAmy Elsner NEW
Murillo Z CaldareraGermanyXuxue Feng NEW
Francesco T VocelkaArgentinaBernardo Dominic PROPOSAL
Izzy U RimUnited KingdomOnyama Limba PROPOSAL
Ricardo F PerinJapanOnyama Limba PROPOSAL
Adams E GauchoAustraliaAmy Elsner NEW
Ricardo R SlusarskiUnited KingdomBernardo Dominic NEW
Claire W FlosiSpainAsiya Javayant NEW
Clifford Q MacleadUnited KingdomBernardo Dominic PROPOSAL
Mayumi X BologniaAustraliaAsiya Javayant NEGOTIATION
Maria Z SaylorsBrazilBernardo Dominic RENEWAL
Jeanfrancois K WaycottIndiaStephen Shaw NEW
Antonio O IturbideArgentinaIvan Magalhaes QUALIFIED
Greenwood O NestleIndiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Octavia S WieserAustraliaAmy Elsner NEGOTIATION
David Z MacleadGermanyAmy Elsner NEGOTIATION
Silvio T KuskoArgentinaAnna Fali UNQUALIFIED
Mayumi B NestleAustraliaIvan Magalhaes QUALIFIED
Salvatore R PaprockiBrazilBernardo Dominic NEGOTIATION
Faith C StockhamJapanOnyama Limba NEW
Jeanfrancois Q GillianJapanXuxue Feng UNQUALIFIED
Johnson J StensethGermanyElwin Sharvill NEGOTIATION
Arvin V CampainUnited KingdomAmy Elsner PROPOSAL
Mujtaba A IturbideRussiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair J BologniaSpain2024-06-10Printing Dimensions QUALIFIED44Asiya Javayant
1001Ivar Q SchemmerArgentina2024-05-27Feiner Bros QUALIFIED78Anna Fali
1002James S OstroskyItaly2024-05-25Dorl, James J Esq PROPOSAL74Bernardo Dominic
1003Izzy A MacleadItaly2024-06-18Feiner Bros QUALIFIED19Ioni Bowcher
1004Ricardo E ShinkoCanada2024-06-01Printing Dimensions NEGOTIATION47Ivan Magalhaes
1005Deepesh A GauchoRussia2024-05-26Chapman, Ross E Esq PROPOSAL60Stephen Shaw
1006Misaki T OldroydRussia2024-05-27Dorl, James J Esq UNQUALIFIED42Elwin Sharvill
1007Claire Y MaletUnited Kingdom2024-06-16Dorl, James J Esq PROPOSAL41Anna Fali
1008Maisha R GillianGermany2024-05-25Rousseaux, Michael Esq PROPOSAL31Amy Elsner
1009Ashley A RimIndia2024-06-13Commercial Press NEW62Asiya Javayant
1010Mayumi S RimSpain2024-06-03Commercial Press NEW98Stephen Shaw
1011Clifford J CaudyJapan2024-06-03Chapman, Ross E Esq RENEWAL35Amy Elsner
1012Leja B RutaSpain2024-06-14Chemel, James L Cpa UNQUALIFIED67Ioni Bowcher
1013Stacey C WhobreyArgentina2024-06-09Buckley Miller Wright RENEWAL53Elwin Sharvill
1014Jeanfrancois L AlbaresJapan2024-06-23Feltz Printing Service UNQUALIFIED82Bernardo Dominic
1015Jefferson A MaletFrance2024-06-11Feltz Printing Service UNQUALIFIED31Elwin Sharvill
1016Jones B OldroydGermany2024-06-19Buckley Miller Wright UNQUALIFIED14Bernardo Dominic
1017Mayumi I TollnerCanada2024-06-07Morlong Associates PROPOSAL25Elwin Sharvill
1018Deepesh J CaudyUnited Kingdom2024-05-27Feltz Printing Service NEW47Xuxue Feng
1019Murillo M AmigonJapan2024-06-19Chapman, Ross E Esq NEGOTIATION91Elwin Sharvill
1020Jeanfrancois N NickaFrance2024-06-23Rousseaux, Michael Esq UNQUALIFIED93Ioni Bowcher
1021Cody T FollerBrazil2024-06-22Rousseaux, Michael Esq PROPOSAL42Bernardo Dominic
1022Alejandro J FigeroaUnited Kingdom2024-06-01Dorl, James J Esq RENEWAL40Stephen Shaw
1023Maisha X FerenczIndia2024-06-16King, Christopher A Esq RENEWAL32Elwin Sharvill
1024Clifford W CaudyRussia2024-06-06King, Christopher A Esq QUALIFIED96Xuxue Feng
1025Misaki R TollnerBrazil2024-06-01Commercial Press PROPOSAL20Asiya Javayant
1026Leja W VenereBrazil2024-06-03Rousseaux, Michael Esq RENEWAL72Amy Elsner
1027Jones Y SaylorsFrance2024-05-30Morlong Associates UNQUALIFIED50Onyama Limba
1028Munro W SchemmerGermany2024-06-17Chapman, Ross E Esq NEGOTIATION43Asiya Javayant
1029Morrow M MorascaRussia2024-05-28Benton, John B Jr NEW49Asiya Javayant
1030Costa Z WieserFrance2024-06-19Feiner Bros NEW59Anna Fali
1031Johnson S MorascaRussia2024-06-21Dorl, James J Esq QUALIFIED64Xuxue Feng
1032Jones R ChuiItaly2024-06-17Rangoni Of Florence QUALIFIED75Ivan Magalhaes
1033James H WieserGermany2024-06-06Chanay, Jeffrey A Esq NEGOTIATION98Anna Fali
1034Salvatore W SlusarskiIndia2024-05-31Dorl, James J Esq RENEWAL68Ioni Bowcher
1035Wickens D BologniaArgentina2024-06-18Benton, John B Jr RENEWAL1Bernardo Dominic
1036Darci V FigeroaGermany2024-06-04Printing Dimensions PROPOSAL77Stephen Shaw
1037Murillo C SlusarskiIndia2024-06-13Rangoni Of Florence PROPOSAL2Ivan Magalhaes
1038Darci E IturbideIndia2024-06-02Commercial Press NEGOTIATION18Ivan Magalhaes
1039Jennifer Y NestleAustralia2024-06-01Buckley Miller Wright PROPOSAL15Xuxue Feng
1040Wickens K RulapaughJapan2024-06-19Truhlar And Truhlar Attys NEW5Onyama Limba
1041Misaki O OldroydCanada2024-05-28Buckley Miller Wright PROPOSAL88Anna Fali
1042Ashley Y RulapaughRussia2024-06-11Feltz Printing Service RENEWAL79Asiya Javayant
1043Adams U RoysterRussia2024-06-18Commercial Press NEGOTIATION56Ioni Bowcher
1044Clifford T FigeroaSpain2024-06-03Morlong Associates UNQUALIFIED67Asiya Javayant
1045Morrow U GauchoGermany2024-06-22Chanay, Jeffrey A Esq NEGOTIATION47Xuxue Feng
1046Juan B BriddickRussia2024-05-29Truhlar And Truhlar Attys UNQUALIFIED77Amy Elsner
1047Johnson P ShinkoRussia2024-06-02Feiner Bros NEGOTIATION48Ioni Bowcher
1048Maria G VocelkaFrance2024-06-02Feltz Printing Service RENEWAL22Amy Elsner
1049Jefferson M OldroydIndia2024-06-15Rousseaux, Michael Esq NEW76Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley D BowleyUnited KingdomAnna Fali UNQUALIFIED
Darci R MarrierJapanXuxue Feng UNQUALIFIED
Clifford D RimSpainBernardo Dominic NEGOTIATION
Aruna O ShinkoJapanIoni Bowcher PROPOSAL
Sinclair P OstroskyArgentinaAnna Fali NEW
Silvio N CaldareraSpainOnyama Limba UNQUALIFIED
Johnson T GarufiAustraliaIoni Bowcher PROPOSAL
Jones H CaudyBrazilAnna Fali QUALIFIED
Aditya T WhobreyBrazilAsiya Javayant NEGOTIATION
Isabel K StockhamJapanIoni Bowcher NEW
Cody Z InouyeRussiaAmy Elsner NEGOTIATION
Alejandro P PaprockiArgentinaStephen Shaw QUALIFIED
Salvatore F RutaFranceXuxue Feng RENEWAL
Antonio K ButtItalyAsiya Javayant UNQUALIFIED
Maria Z MorascaFranceBernardo Dominic NEGOTIATION
Jeanfrancois F GarufiCanadaElwin Sharvill NEW
Cody S BriddickCanadaIoni Bowcher NEW
Cody U DarakjyFranceOnyama Limba RENEWAL
Jeanfrancois I StockhamUnited KingdomElwin Sharvill QUALIFIED
Adams O OstroskyAustraliaAmy Elsner RENEWAL
Aditya E SlusarskiFranceAsiya Javayant PROPOSAL
Johnson N CaudyBrazilStephen Shaw NEW
Jeanfrancois R NickaIndiaElwin Sharvill UNQUALIFIED
Johnson Y RulapaughCanadaBernardo Dominic PROPOSAL
Faith Z DarakjyFranceAsiya Javayant RENEWAL
Clifford T TollnerAustraliaBernardo Dominic NEGOTIATION
Deepesh F KolmetzGermanyAnna Fali QUALIFIED
Jennifer T SaylorsAustraliaAnna Fali PROPOSAL
Misaki B KolmetzAustraliaOnyama Limba NEGOTIATION
Wickens P WhobreyJapanElwin Sharvill NEGOTIATION
Maisha H VenereUnited KingdomAsiya Javayant RENEWAL
Antonio U InouyeAustraliaXuxue Feng NEW
Munro M VocelkaArgentinaElwin Sharvill RENEWAL
Mayumi K FerenczGermanyAnna Fali UNQUALIFIED
Rodrigues V MarrierRussiaOnyama Limba UNQUALIFIED
Cody Q CaldareraIndiaIvan Magalhaes RENEWAL
Arvin O GauchoSpainAmy Elsner UNQUALIFIED
Julie Y WhobreyRussiaBernardo Dominic UNQUALIFIED
Deepesh D GauchoIndiaBernardo Dominic NEGOTIATION
Jeanfrancois U DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Ashley Z DoeIndiaAnna Fali NEW
Maria V RimAustraliaIoni Bowcher RENEWAL
Francesco I BriddickAustraliaBernardo Dominic RENEWAL
Adams J BriddickAustraliaAsiya Javayant NEGOTIATION
Costa W FigeroaBrazilAnna Fali NEGOTIATION
Aika M ButtAustraliaAmy Elsner RENEWAL
Leon P MacleadArgentinaStephen Shaw PROPOSAL
James E BriddickRussiaElwin Sharvill UNQUALIFIED
Octavia G NickaCanadaAnna Fali RENEWAL
Claire Y GlickItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Izzy R Paprocki
Aika X Tollner
Jeanfrancois X Glick
Munro M Malet
Maria E Bowley
Julie M Iturbide
David Q Marrier
Ivar S Bolognia
Jones N Dilliard
Leon U Butt
Ivar X Shinko
Aditya X Albares
Clifford J Saylors
Claire M Darakjy
Jones A Caldarera
Tony Y Dilliard
Clifford G Dilliard
Wickens C Poquette
Salvatore C Vocelka
Juan T Doe
Jefferson K Ostrosky
Jeanfrancois Z Rulapaugh
Francesco U Wieser
Alejandro F Amigon
Maria C Doe
Costa E Ostrosky
Costa G Marrier
Murillo C Doe
Isabel G Sergi
David F Darakjy
David A Waycott
Rodrigues M Maclead
Salvatore L Ostrosky
Arvin S Iturbide
Misaki F Venere
Nicolas A Gaucho
Salvatore A Stenseth
Francesco R Malet
Clifford E Vocelka
Ashley Y Whobrey
Adams V Malet
Octavia F Tollner
Wickens W Dilliard
Maria G Stockham
Munro I Shinko
Aika D Nicka
Ivar M Slusarski
Aruna I Oldroyd
Aika G Caudy
Clifford C Amigon
IdCountryDate
1000Argentina2024-06-20
1001Japan2024-06-06
1002Australia2024-06-08
1003United Kingdom2024-06-11
1004Spain2024-05-30
1005Japan2024-06-05
1006France2024-05-31
1007India2024-06-09
1008Canada2024-05-31
1009United Kingdom2024-05-28
1010Italy2024-05-28
1011Germany2024-05-25
1012India2024-05-25
1013Russia2024-05-27
1014Germany2024-06-14
1015Italy2024-06-01
1016Spain2024-06-17
1017Australia2024-06-17
1018India2024-06-12
1019United Kingdom2024-06-02
1020Australia2024-06-02
1021Spain2024-05-28
1022Argentina2024-06-19
1023India2024-06-05
1024Canada2024-06-13
1025France2024-06-07
1026Australia2024-06-04
1027Germany2024-06-12
1028Germany2024-06-19
1029Japan2024-06-06
1030Italy2024-06-03
1031Germany2024-05-27
1032United Kingdom2024-06-16
1033Japan2024-06-16
1034Australia2024-05-26
1035Germany2024-05-26
1036Australia2024-06-23
1037India2024-06-01
1038Brazil2024-06-10
1039Spain2024-06-04
1040Germany2024-06-06
1041Italy2024-06-16
1042Russia2024-05-30
1043India2024-05-30
1044Italy2024-06-19
1045Russia2024-06-10
1046Argentina2024-06-22
1047India2024-06-03
1048Russia2024-06-09
1049France2024-06-19

On-Demand Data

NameIdCountryDate
Faith Z Morasca1000Argentina2024-06-09
Arvin M Tollner1001Australia2024-06-20
Leon J Bolognia1002Italy2024-06-06
Misaki E Perin1003Russia2024-06-20
Izzy E Briddick1004Australia2024-05-26
Emily L Royster1005India2024-06-17
Clifford C Slusarski1006Australia2024-06-12
Alejandro H Nestle1007Australia2024-06-05
Arvin D Marrier1008Australia2024-06-21
Salvatore Q Kolmetz1009Italy2024-05-26
Antonio F Slusarski1010Australia2024-06-18
Darci X Wieser1011United Kingdom2024-06-22
Juan K Tollner1012Japan2024-05-28
Leja S Venere1013France2024-06-13
Tony W Stockham1014Spain2024-06-10
Stacey J Dilliard1015Argentina2024-06-05
Leja T Kolmetz1016Russia2024-06-05
Adams V Perin1017Japan2024-06-12
Mujtaba X Ferencz1018Germany2024-06-12
Silvio J Tollner1019Germany2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio L CaudyGermanyIvan Magalhaes RENEWAL
Mujtaba S SchemmerArgentinaStephen Shaw NEW
Jeanfrancois D FigeroaFranceAnna Fali PROPOSAL
Wickens P MaletIndiaBernardo Dominic NEW
Ricardo I VenereIndiaStephen Shaw RENEWAL
Smith F VenereCanadaBernardo Dominic NEGOTIATION
James L MarrierSpainAnna Fali QUALIFIED
Kadeem I FerenczBrazilElwin Sharvill NEW
Leja G WhobreyItalyOnyama Limba NEGOTIATION
Jeanfrancois F BriddickArgentinaIvan Magalhaes QUALIFIED
Leon K SaylorsRussiaOnyama Limba NEW
Aruna K FigeroaRussiaAmy Elsner NEW
Cody P PerinItalyAsiya Javayant PROPOSAL
Sinclair O SlusarskiRussiaOnyama Limba QUALIFIED
Munro W OstroskyIndiaIoni Bowcher NEW
David Z FlosiBrazilIoni Bowcher NEW
Mayumi R GarufiItalyAsiya Javayant NEGOTIATION
Leon M GarufiArgentinaBernardo Dominic UNQUALIFIED
Jones P WieserArgentinaStephen Shaw NEW
Antonio E OldroydGermanyXuxue Feng RENEWAL
Julie W DilliardFranceIvan Magalhaes QUALIFIED
Salvatore L NickaFranceAnna Fali PROPOSAL
Tony N TollnerArgentinaBernardo Dominic QUALIFIED
Kaitlin I SaylorsRussiaOnyama Limba RENEWAL
Costa S GauchoSpainIoni Bowcher QUALIFIED
Maisha H OstroskyArgentinaXuxue Feng NEW
Morrow V BowleyJapanStephen Shaw UNQUALIFIED
Misaki M RulapaughFranceXuxue Feng NEGOTIATION
Murillo Y FollerRussiaAmy Elsner QUALIFIED
Emily H MaletGermanyAmy Elsner UNQUALIFIED
Chavez H GarufiIndiaXuxue Feng NEGOTIATION
Chavez K InouyeFranceAnna Fali QUALIFIED
Mujtaba T CaudyJapanElwin Sharvill NEW
Aruna T VenereArgentinaOnyama Limba QUALIFIED
Alejandro C MorascaRussiaBernardo Dominic UNQUALIFIED
Wickens N NestleUnited KingdomStephen Shaw RENEWAL
Munro E GarufiJapanIoni Bowcher NEW
Stacey Y GillianArgentinaStephen Shaw NEGOTIATION
Izzy I MorascaFranceIvan Magalhaes NEGOTIATION
Izzy A StockhamSpainIvan Magalhaes RENEWAL

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