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 V GauchoIndiaStephen Shaw RENEWAL
Jennifer K ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois N ShinkoBrazilOnyama Limba PROPOSAL
Francesco F MorascaBrazilXuxue Feng RENEWAL
Aika V MarrierGermanyAnna Fali RENEWAL
Isabel H NickaSpainXuxue Feng UNQUALIFIED
Maisha V DarakjyCanadaBernardo Dominic UNQUALIFIED
Nicolas X DarakjySpainAnna Fali UNQUALIFIED
Nicolas V AlbaresBrazilOnyama Limba NEW
Costa F MaletBrazilBernardo Dominic PROPOSAL
Alejandro P BriddickSpainXuxue Feng RENEWAL
Aditya W IturbideSpainElwin Sharvill NEW
James K AlbaresUnited KingdomBernardo Dominic RENEWAL
Ashley Y CampainFranceAnna Fali NEGOTIATION
Leon X GarufiCanadaAmy Elsner NEW
Silvio N BologniaBrazilBernardo Dominic NEGOTIATION
Juan S TollnerJapanElwin Sharvill PROPOSAL
Ricardo W FollerItalyAsiya Javayant UNQUALIFIED
Smith G NestleUnited KingdomAnna Fali PROPOSAL
Leja G BriddickCanadaXuxue Feng NEGOTIATION
Jones D FigeroaFranceXuxue Feng UNQUALIFIED
Aika U StensethGermanyXuxue Feng RENEWAL
Ivar J FollerUnited KingdomIoni Bowcher QUALIFIED
Sinclair E RulapaughBrazilXuxue Feng PROPOSAL
Nicolas U InouyeSpainIvan Magalhaes NEW
Smith N RimFranceXuxue Feng NEW
Maria X KolmetzIndiaStephen Shaw PROPOSAL
Ivar T GarufiItalyOnyama Limba QUALIFIED
Cody Y RulapaughCanadaOnyama Limba PROPOSAL
Stacey H VocelkaItalyElwin Sharvill UNQUALIFIED
Tony S IturbideItalyXuxue Feng NEW
Misaki I ShinkoJapanIoni Bowcher UNQUALIFIED
Mujtaba B NickaCanadaElwin Sharvill UNQUALIFIED
Alejandro I ChuiAustraliaStephen Shaw NEGOTIATION
Morrow P PoquetteCanadaAnna Fali PROPOSAL
Isabel K FigeroaSpainBernardo Dominic PROPOSAL
Aditya P StensethCanadaStephen Shaw PROPOSAL
Silvio L CampainItalyAsiya Javayant NEGOTIATION
Jones P CampainAustraliaAmy Elsner PROPOSAL
Sinclair Z FerenczItalyXuxue Feng NEGOTIATION
Aika P SchemmerRussiaIoni Bowcher NEW
Aditya C KuskoIndiaBernardo Dominic NEW
Smith D KuskoFranceIoni Bowcher NEW
Sinclair C RulapaughBrazilXuxue Feng NEW
Deepesh Q SchemmerAustraliaStephen Shaw RENEWAL
Faith A RulapaughIndiaAnna Fali PROPOSAL
Aruna L FigeroaIndiaAmy Elsner UNQUALIFIED
Smith Y CampainItalyAsiya Javayant PROPOSAL
Salvatore V KuskoSpainAnna Fali UNQUALIFIED
Francesco A BowleyIndiaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya V RulapaughUnited KingdomAmy Elsner NEW
Kadeem F NestleCanadaIoni Bowcher PROPOSAL
Aditya Q ButtJapanStephen Shaw QUALIFIED
Mayumi U DoeFranceAsiya Javayant RENEWAL
Leon R BowleyIndiaXuxue Feng NEGOTIATION
Jones D VenereCanadaIvan Magalhaes NEW
Alejandro H CaldareraJapanIoni Bowcher UNQUALIFIED
Stacey C FlosiUnited KingdomStephen Shaw NEGOTIATION
Juan G InouyeCanadaIvan Magalhaes UNQUALIFIED
Salvatore B WieserAustraliaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson C IturbideRussia2024-06-21Rousseaux, Michael Esq PROPOSAL11Bernardo Dominic
1001Alejandro E AlbaresItaly2024-06-11Truhlar And Truhlar Attys NEW64Ioni Bowcher
1002Kadeem J SergiAustralia2024-05-30Chanay, Jeffrey A Esq RENEWAL43Amy Elsner
1003Maisha O CaldareraBrazil2024-06-16Truhlar And Truhlar Attys UNQUALIFIED5Amy Elsner
1004Ricardo T MarrierFrance2024-06-11King, Christopher A Esq UNQUALIFIED69Anna Fali
1005Ricardo Z MaletRussia2024-06-15Commercial Press NEW65Stephen Shaw
1006Julie V FlosiItaly2024-05-25Morlong Associates PROPOSAL43Bernardo Dominic
1007Emily F FlosiRussia2024-05-26Printing Dimensions NEGOTIATION30Onyama Limba
1008Smith J RutaArgentina2024-06-12Printing Dimensions NEGOTIATION6Xuxue Feng
1009Francesco X GauchoRussia2024-05-27Chapman, Ross E Esq QUALIFIED1Onyama Limba
1010David N AlbaresCanada2024-05-29Feiner Bros PROPOSAL42Elwin Sharvill
1011Morrow X WieserArgentina2024-05-28Feiner Bros UNQUALIFIED94Elwin Sharvill
1012Tony X OldroydAustralia2024-06-02Dorl, James J Esq QUALIFIED70Asiya Javayant
1013Jeanfrancois H OldroydFrance2024-06-03Printing Dimensions QUALIFIED94Bernardo Dominic
1014Smith D MaletRussia2024-05-27Dorl, James J Esq NEGOTIATION77Ivan Magalhaes
1015Wickens P VocelkaRussia2024-06-08Commercial Press RENEWAL56Xuxue Feng
1016Leja O CaldareraAustralia2024-05-29King, Christopher A Esq UNQUALIFIED87Ioni Bowcher
1017Claire N DarakjyItaly2024-06-19Feltz Printing Service NEGOTIATION7Anna Fali
1018Chavez W AlbaresBrazil2024-06-13Benton, John B Jr QUALIFIED80Bernardo Dominic
1019Mujtaba R StensethJapan2024-06-18Feltz Printing Service UNQUALIFIED41Asiya Javayant
1020Arvin X DoeArgentina2024-06-08Truhlar And Truhlar Attys UNQUALIFIED58Stephen Shaw
1021Costa G BowleyRussia2024-06-12Chemel, James L Cpa QUALIFIED12Ioni Bowcher
1022Stacey U CaldareraArgentina2024-06-02Commercial Press NEW29Anna Fali
1023Johnson Y FigeroaJapan2024-05-29Buckley Miller Wright NEW62Amy Elsner
1024Silvio R FollerCanada2024-06-16Truhlar And Truhlar Attys RENEWAL36Stephen Shaw
1025Maria N PoquetteJapan2024-05-25Feiner Bros NEW90Ivan Magalhaes
1026Arvin M FigeroaBrazil2024-06-05Benton, John B Jr QUALIFIED77Ivan Magalhaes
1027Adams M BowleyIndia2024-06-21King, Christopher A Esq RENEWAL53Anna Fali
1028Faith K DilliardIndia2024-06-22Buckley Miller Wright QUALIFIED44Asiya Javayant
1029Julie L CaldareraUnited Kingdom2024-06-06Morlong Associates PROPOSAL76Onyama Limba
1030Murillo Z WieserUnited Kingdom2024-06-12Benton, John B Jr NEW68Stephen Shaw
1031Julie K ShinkoSpain2024-05-27Chemel, James L Cpa NEGOTIATION32Stephen Shaw
1032Munro W IturbideItaly2024-06-18Rangoni Of Florence NEW2Stephen Shaw
1033Isabel A FollerFrance2024-06-18Dorl, James J Esq NEGOTIATION22Bernardo Dominic
1034Arvin V SaylorsFrance2024-06-04Chanay, Jeffrey A Esq RENEWAL88Ivan Magalhaes
1035Wickens O MaletBrazil2024-06-01Chanay, Jeffrey A Esq NEW23Xuxue Feng
1036Salvatore Y SaylorsGermany2024-05-30Truhlar And Truhlar Attys UNQUALIFIED10Ivan Magalhaes
1037Juan K FlosiSpain2024-06-21Chemel, James L Cpa QUALIFIED60Bernardo Dominic
1038Cody O VenereCanada2024-05-27Feltz Printing Service RENEWAL93Xuxue Feng
1039Jennifer G DarakjyUnited Kingdom2024-06-01Chapman, Ross E Esq NEGOTIATION97Anna Fali
1040Faith L RutaJapan2024-05-30Printing Dimensions UNQUALIFIED15Anna Fali
1041Morrow Q PaprockiRussia2024-05-26Feiner Bros PROPOSAL35Stephen Shaw
1042Wickens E KuskoItaly2024-06-21Feltz Printing Service NEGOTIATION13Bernardo Dominic
1043Darci H ButtUnited Kingdom2024-05-25Truhlar And Truhlar Attys UNQUALIFIED62Ivan Magalhaes
1044James J ChuiJapan2024-06-15King, Christopher A Esq NEGOTIATION87Ioni Bowcher
1045Ricardo D VocelkaArgentina2024-06-01Chemel, James L Cpa NEW43Stephen Shaw
1046Arvin J FigeroaCanada2024-05-26Commercial Press QUALIFIED4Anna Fali
1047Silvio L InouyeAustralia2024-06-05Commercial Press QUALIFIED38Amy Elsner
1048James H RulapaughAustralia2024-05-24King, Christopher A Esq RENEWAL37Onyama Limba
1049Cody S SergiUnited Kingdom2024-06-05Chapman, Ross E Esq NEGOTIATION50Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Izzy X VenereBrazilXuxue Feng NEW
Maria N MorascaSpainAmy Elsner NEW
Costa M IturbideJapanOnyama Limba NEGOTIATION
Julie P WhobreyGermanyAnna Fali QUALIFIED
Mayumi T PoquetteGermanyStephen Shaw UNQUALIFIED
Leon F DilliardSpainIvan Magalhaes NEGOTIATION
Rodrigues Y SergiJapanStephen Shaw QUALIFIED
Maisha I CaudyRussiaBernardo Dominic NEGOTIATION
Ivar Q SaylorsFranceOnyama Limba PROPOSAL
Costa I GauchoCanadaOnyama Limba RENEWAL
Juan E WaycottUnited KingdomBernardo Dominic RENEWAL
Antonio R AlbaresFranceXuxue Feng NEGOTIATION
Maria X StensethRussiaAsiya Javayant PROPOSAL
Jennifer J GlickSpainBernardo Dominic UNQUALIFIED
Kadeem X IturbideGermanyOnyama Limba RENEWAL
Ricardo C IturbideGermanyAnna Fali NEW
Izzy X VocelkaItalyXuxue Feng NEW
Faith B MaletRussiaXuxue Feng NEGOTIATION
Mujtaba N TollnerUnited KingdomXuxue Feng RENEWAL
Smith W GlickGermanyAnna Fali NEGOTIATION
Ashley Q OstroskyFranceStephen Shaw UNQUALIFIED
Mayumi K OstroskyGermanyOnyama Limba NEW
Jones U PaprockiCanadaXuxue Feng UNQUALIFIED
Mayumi R WieserGermanyAsiya Javayant QUALIFIED
Arvin H OstroskyFranceOnyama Limba NEGOTIATION
Jefferson N RutaCanadaBernardo Dominic NEW
Stacey C NickaBrazilIoni Bowcher RENEWAL
Jeanfrancois V MorascaUnited KingdomElwin Sharvill QUALIFIED
Francesco R RulapaughGermanyOnyama Limba PROPOSAL
Antonio U VocelkaRussiaAnna Fali UNQUALIFIED
Greenwood V InouyeJapanIoni Bowcher UNQUALIFIED
Aditya A MaletArgentinaAsiya Javayant QUALIFIED
Julie X PerinGermanyElwin Sharvill NEGOTIATION
Arvin W RimFranceBernardo Dominic QUALIFIED
Claire G DoeFranceElwin Sharvill PROPOSAL
Adams D SergiBrazilXuxue Feng UNQUALIFIED
Octavia E AmigonBrazilStephen Shaw UNQUALIFIED
Sinclair O VenereSpainElwin Sharvill UNQUALIFIED
Adams B DoeJapanIoni Bowcher UNQUALIFIED
Clifford U FollerCanadaAsiya Javayant QUALIFIED
Jefferson W CaldareraRussiaIvan Magalhaes QUALIFIED
Isabel E RimIndiaAsiya Javayant UNQUALIFIED
Ashley M DoeFranceBernardo Dominic NEW
Sinclair V BriddickFranceBernardo Dominic NEW
Julie X PerinAustraliaAnna Fali RENEWAL
Aruna W SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Silvio M SergiFranceAsiya Javayant RENEWAL
Mujtaba G ChuiBrazilXuxue Feng QUALIFIED
Stacey G PoquetteRussiaStephen Shaw NEGOTIATION
Darci G MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Jones T Briddick
Kadeem J Gaucho
Adams P Malet
Clifford F Ostrosky
Morrow T Shinko
Aika I Figeroa
Jennifer W Bolognia
Claire Q Amigon
Kadeem L Oldroyd
Clifford N Morasca
Jefferson G Sergi
Jones J Nicka
Leon Z Flosi
Adams H Slusarski
Maria D Schemmer
Jones J Iturbide
Arvin N Schemmer
Salvatore A Paprocki
Nicolas K Shinko
Johnson V Ferencz
Greenwood Y Bowley
Julie D Nestle
Isabel I Flosi
Octavia P Whobrey
Costa C Slusarski
Leon Z Stockham
Claire M Waycott
Izzy M Schemmer
Kadeem J Ostrosky
Johnson D Butt
Stacey V Wieser
Leja J Tollner
Arvin Y Vocelka
Tony X Rim
Isabel G Ferencz
Isabel L Bowley
Costa A Caudy
Wickens L Whobrey
Tony S Sergi
Clifford O Maclead
Leja V Ruta
Tony I Royster
Francesco M Stockham
Francesco X Rim
Costa V Rim
Maisha V Maclead
Wickens S Rim
Alejandro L Gillian
Francesco L Briddick
Stacey O Venere
IdCountryDate
1000France2024-06-06
1001Spain2024-06-11
1002Canada2024-06-09
1003Argentina2024-06-02
1004Argentina2024-06-16
1005Canada2024-06-18
1006Brazil2024-06-06
1007Brazil2024-06-15
1008Japan2024-06-04
1009Australia2024-06-04
1010Spain2024-06-14
1011Canada2024-06-04
1012Japan2024-06-09
1013Germany2024-05-28
1014Argentina2024-06-17
1015Brazil2024-06-19
1016Australia2024-06-19
1017India2024-06-21
1018Argentina2024-06-06
1019Russia2024-06-02
1020Brazil2024-06-04
1021India2024-06-11
1022Spain2024-05-29
1023Argentina2024-06-13
1024India2024-06-15
1025Spain2024-06-02
1026Argentina2024-06-18
1027Germany2024-06-16
1028Spain2024-05-31
1029France2024-06-13
1030Spain2024-06-20
1031Argentina2024-05-30
1032Canada2024-06-22
1033Spain2024-05-30
1034Spain2024-06-19
1035Brazil2024-06-18
1036Spain2024-05-28
1037Germany2024-06-14
1038Russia2024-06-04
1039United Kingdom2024-05-31
1040Spain2024-06-16
1041Argentina2024-06-17
1042Germany2024-06-20
1043Canada2024-06-01
1044Argentina2024-06-06
1045India2024-06-06
1046Japan2024-06-21
1047Argentina2024-06-10
1048United Kingdom2024-06-10
1049Germany2024-05-29

On-Demand Data

NameIdCountryDate
Izzy T Poquette1000Germany2024-06-09
Isabel E Waycott1001Australia2024-06-05
Smith T Perin1002Spain2024-06-09
Mujtaba M Paprocki1003Canada2024-06-13
Leja G Caldarera1004France2024-05-30
Isabel X Kolmetz1005United Kingdom2024-06-13
Aika W Dilliard1006France2024-06-17
Greenwood O Ferencz1007France2024-06-07
Aruna Z Doe1008Italy2024-06-04
Izzy L Amigon1009Russia2024-06-15
Aditya L Tollner1010Italy2024-05-31
Chavez C Paprocki1011Russia2024-06-06
Wickens F Bolognia1012Russia2024-05-30
Aruna O Vocelka1013Russia2024-05-24
Silvio X Amigon1014Spain2024-06-16
Aika Q Slusarski1015United Kingdom2024-06-19
Murillo N Caudy1016France2024-06-18
Munro A Vocelka1017Argentina2024-06-22
Mayumi R Ruta1018Spain2024-05-27
Jones P Malet1019Australia2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha J IturbideItalyBernardo Dominic QUALIFIED
Cody X CaldareraCanadaAmy Elsner UNQUALIFIED
Misaki G RulapaughRussiaAmy Elsner PROPOSAL
Silvio U MaletUnited KingdomIvan Magalhaes PROPOSAL
Arvin Y SchemmerItalyAnna Fali PROPOSAL
Juan L WaycottFranceOnyama Limba RENEWAL
Costa C TollnerSpainBernardo Dominic NEGOTIATION
Ivar A WhobreyUnited KingdomAmy Elsner RENEWAL
Murillo N KolmetzAustraliaXuxue Feng QUALIFIED
Octavia I FerenczIndiaAsiya Javayant PROPOSAL
Tony A StensethGermanyStephen Shaw QUALIFIED
Clifford T MacleadJapanAmy Elsner RENEWAL
Leon H IturbideGermanyOnyama Limba QUALIFIED
Rodrigues F ButtJapanElwin Sharvill QUALIFIED
Greenwood C AmigonSpainXuxue Feng UNQUALIFIED
Cody D BowleyIndiaBernardo Dominic NEW
Rodrigues M PoquetteFranceAnna Fali QUALIFIED
Isabel E NestleBrazilAsiya Javayant NEW
Silvio U SaylorsIndiaOnyama Limba NEW
Faith X DoeRussiaIvan Magalhaes NEW
Sinclair B InouyeBrazilBernardo Dominic QUALIFIED
Tony D OstroskyJapanIoni Bowcher UNQUALIFIED
Salvatore Q OldroydBrazilAnna Fali PROPOSAL
Alejandro J DoeJapanAsiya Javayant QUALIFIED
Octavia B RulapaughSpainStephen Shaw QUALIFIED
Stacey F VenereAustraliaElwin Sharvill UNQUALIFIED
Silvio Z GillianCanadaBernardo Dominic NEW
Julie A TollnerJapanAnna Fali UNQUALIFIED
Cody K DoeIndiaIvan Magalhaes NEW
Juan F CaldareraFranceIvan Magalhaes QUALIFIED
Johnson I WhobreyRussiaAmy Elsner QUALIFIED
Costa Q StockhamBrazilIoni Bowcher QUALIFIED
David M MarrierUnited KingdomIvan Magalhaes NEW
Claire Y SlusarskiFranceAnna Fali NEW
Jones W GauchoIndiaStephen Shaw QUALIFIED
Aditya M PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Jones C TollnerAustraliaXuxue Feng PROPOSAL
Leon S ChuiArgentinaBernardo Dominic QUALIFIED
Ricardo U CaudyUnited KingdomIoni Bowcher UNQUALIFIED
Murillo P CaudyBrazilBernardo Dominic NEW

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