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
Rodrigues M IturbideCanadaElwin Sharvill RENEWAL
Izzy U AlbaresJapanXuxue Feng UNQUALIFIED
Maisha B ChuiJapanBernardo Dominic NEW
Deepesh X ShinkoSpainBernardo Dominic UNQUALIFIED
Silvio N SaylorsAustraliaIoni Bowcher RENEWAL
Aika J KolmetzFranceXuxue Feng QUALIFIED
Antonio A VocelkaSpainAsiya Javayant QUALIFIED
Salvatore E AlbaresItalyBernardo Dominic UNQUALIFIED
Aika B MacleadArgentinaAsiya Javayant UNQUALIFIED
Jefferson D ShinkoItalyXuxue Feng RENEWAL
Morrow M DoeArgentinaAnna Fali QUALIFIED
Ricardo R ChuiItalyIoni Bowcher QUALIFIED
Salvatore K PerinFranceXuxue Feng RENEWAL
Juan X RimJapanBernardo Dominic NEGOTIATION
Jones S MaletArgentinaIoni Bowcher NEGOTIATION
Kadeem L MaletAustraliaIoni Bowcher RENEWAL
Costa Q IturbideSpainAsiya Javayant QUALIFIED
Kaitlin X StensethJapanIoni Bowcher QUALIFIED
Ricardo B CaudyJapanXuxue Feng RENEWAL
Costa O StockhamIndiaXuxue Feng QUALIFIED
Greenwood I NestleUnited KingdomStephen Shaw RENEWAL
Silvio E CaldareraRussiaAsiya Javayant RENEWAL
Ricardo J WhobreyIndiaBernardo Dominic PROPOSAL
Ashley L SlusarskiBrazilXuxue Feng RENEWAL
Aruna G FigeroaItalyXuxue Feng QUALIFIED
Nicolas G StockhamRussiaAnna Fali PROPOSAL
Wickens I VenereUnited KingdomStephen Shaw NEGOTIATION
Ricardo X FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois O PoquetteRussiaElwin Sharvill RENEWAL
Julie Z SchemmerRussiaAnna Fali NEW
Juan Y RoysterItalyIoni Bowcher RENEWAL
Deepesh R CaudySpainXuxue Feng NEW
Aika W OstroskyIndiaBernardo Dominic NEGOTIATION
Stacey Q MorascaAustraliaElwin Sharvill QUALIFIED
Francesco T MarrierArgentinaXuxue Feng PROPOSAL
Wickens R ButtFranceAsiya Javayant NEW
David Z OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Smith J SlusarskiBrazilAmy Elsner RENEWAL
Antonio E SergiIndiaIvan Magalhaes RENEWAL
Isabel W VocelkaFranceIoni Bowcher RENEWAL
Clifford T CaudyItalyElwin Sharvill NEW
Wickens Q DoeRussiaAsiya Javayant RENEWAL
Maisha C DilliardAustraliaElwin Sharvill NEGOTIATION
Darci V WaycottCanadaAsiya Javayant QUALIFIED
Costa E SlusarskiJapanStephen Shaw QUALIFIED
Johnson C DilliardRussiaAsiya Javayant RENEWAL
Darci A AlbaresSpainAmy Elsner UNQUALIFIED
Munro M RoysterItalyOnyama Limba UNQUALIFIED
Emily R CaldareraGermanyElwin Sharvill QUALIFIED
Salvatore T PaprockiIndiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria K OldroydJapanStephen Shaw PROPOSAL
Misaki Z FigeroaBrazilOnyama Limba RENEWAL
Clifford S MaletCanadaElwin Sharvill UNQUALIFIED
Wickens X AmigonItalyAsiya Javayant PROPOSAL
Darci G ChuiCanadaOnyama Limba PROPOSAL
Jefferson J BologniaArgentinaStephen Shaw NEW
Leja Z GauchoGermanyXuxue Feng PROPOSAL
Clifford X SchemmerUnited KingdomOnyama Limba NEGOTIATION
Arvin L VenereJapanAmy Elsner NEGOTIATION
Clifford V DilliardFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio W VocelkaCanada2024-06-09Chemel, James L Cpa UNQUALIFIED41Anna Fali
1001Leon N WaycottBrazil2024-06-03Feltz Printing Service RENEWAL8Ivan Magalhaes
1002Aika T BriddickItaly2024-05-29Rangoni Of Florence NEW98Xuxue Feng
1003Tony X ChuiCanada2024-05-26Truhlar And Truhlar Attys NEW65Xuxue Feng
1004Greenwood J InouyeBrazil2024-06-01Feltz Printing Service RENEWAL76Xuxue Feng
1005Morrow P DoeUnited Kingdom2024-05-31Buckley Miller Wright RENEWAL29Asiya Javayant
1006Ricardo Y FerenczItaly2024-05-29Rousseaux, Michael Esq UNQUALIFIED71Anna Fali
1007Isabel H NestleArgentina2024-06-13King, Christopher A Esq NEW8Elwin Sharvill
1008Izzy M BowleyJapan2024-05-30Chemel, James L Cpa PROPOSAL24Asiya Javayant
1009Clifford F RoysterAustralia2024-06-09Feiner Bros RENEWAL74Onyama Limba
1010Juan O ChuiArgentina2024-06-17Morlong Associates RENEWAL0Anna Fali
1011Murillo J FollerItaly2024-06-02Chemel, James L Cpa RENEWAL96Anna Fali
1012Chavez U CaudyArgentina2024-06-01Printing Dimensions UNQUALIFIED42Ivan Magalhaes
1013Antonio P NickaAustralia2024-06-01Morlong Associates NEGOTIATION26Ivan Magalhaes
1014Tony S FollerArgentina2024-05-25Benton, John B Jr PROPOSAL20Ivan Magalhaes
1015Juan H StensethFrance2024-05-26Buckley Miller Wright NEGOTIATION83Stephen Shaw
1016Jennifer Z FlosiSpain2024-05-26Morlong Associates NEW11Ivan Magalhaes
1017Deepesh V PerinJapan2024-06-03Morlong Associates NEGOTIATION60Xuxue Feng
1018Jeanfrancois M VenereRussia2024-06-01Benton, John B Jr PROPOSAL21Stephen Shaw
1019Emily K CaldareraFrance2024-06-16Truhlar And Truhlar Attys UNQUALIFIED54Xuxue Feng
1020Ricardo S ShinkoCanada2024-06-02Truhlar And Truhlar Attys RENEWAL91Ioni Bowcher
1021Faith M TollnerAustralia2024-05-30Chanay, Jeffrey A Esq NEGOTIATION55Anna Fali
1022Emily N FigeroaUnited Kingdom2024-06-01Feltz Printing Service UNQUALIFIED88Bernardo Dominic
1023Murillo T OstroskyItaly2024-05-26Dorl, James J Esq QUALIFIED47Amy Elsner
1024Mujtaba R AlbaresGermany2024-06-03Printing Dimensions NEGOTIATION36Stephen Shaw
1025Francesco H RulapaughItaly2024-06-08Printing Dimensions NEW0Amy Elsner
1026Deepesh F GarufiAustralia2024-06-02Dorl, James J Esq NEW88Onyama Limba
1027Jeanfrancois R NickaSpain2024-06-21Chemel, James L Cpa UNQUALIFIED55Ioni Bowcher
1028Murillo F SlusarskiGermany2024-06-08Truhlar And Truhlar Attys QUALIFIED1Anna Fali
1029Jennifer Y AlbaresSpain2024-05-28Commercial Press QUALIFIED39Onyama Limba
1030Leja F BowleyFrance2024-06-11Benton, John B Jr QUALIFIED49Onyama Limba
1031Aruna V MacleadArgentina2024-06-17Benton, John B Jr NEW48Ivan Magalhaes
1032Mayumi R NickaUnited Kingdom2024-06-13Buckley Miller Wright NEW75Asiya Javayant
1033Mayumi K RulapaughBrazil2024-06-20Chanay, Jeffrey A Esq PROPOSAL83Onyama Limba
1034Chavez V DoeBrazil2024-06-06Rangoni Of Florence RENEWAL66Stephen Shaw
1035Emily O AmigonJapan2024-05-29Chanay, Jeffrey A Esq NEGOTIATION88Stephen Shaw
1036Johnson W ButtFrance2024-06-13Chemel, James L Cpa RENEWAL43Stephen Shaw
1037Francesco N FlosiGermany2024-06-20Chanay, Jeffrey A Esq RENEWAL18Amy Elsner
1038Isabel K VocelkaRussia2024-05-24Feiner Bros NEGOTIATION68Anna Fali
1039Mujtaba L BriddickAustralia2024-05-30Commercial Press UNQUALIFIED14Bernardo Dominic
1040Isabel A FlosiBrazil2024-06-10Feiner Bros RENEWAL90Xuxue Feng
1041Darci A WieserCanada2024-06-01Truhlar And Truhlar Attys UNQUALIFIED0Ioni Bowcher
1042Aika M KuskoBrazil2024-06-12Printing Dimensions PROPOSAL80Bernardo Dominic
1043Deepesh N GarufiGermany2024-05-30Buckley Miller Wright PROPOSAL73Asiya Javayant
1044Murillo G KolmetzIndia2024-06-16King, Christopher A Esq RENEWAL4Amy Elsner
1045Alejandro P NickaSpain2024-05-28Commercial Press NEGOTIATION14Asiya Javayant
1046Tony I PaprockiSpain2024-05-30Commercial Press UNQUALIFIED34Bernardo Dominic
1047Ashley S FollerArgentina2024-06-03Morlong Associates RENEWAL37Bernardo Dominic
1048Mujtaba W OldroydGermany2024-05-31Chanay, Jeffrey A Esq NEGOTIATION46Ivan Magalhaes
1049Juan F WaycottSpain2024-06-13Rousseaux, Michael Esq NEGOTIATION3Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones V RimArgentinaIvan Magalhaes PROPOSAL
Julie S MarrierUnited KingdomAnna Fali NEW
Rodrigues Y WhobreyRussiaIvan Magalhaes QUALIFIED
Kaitlin L GillianGermanyAmy Elsner PROPOSAL
Arvin W GauchoCanadaXuxue Feng NEGOTIATION
Maria V VocelkaSpainBernardo Dominic RENEWAL
Cody X VocelkaBrazilAnna Fali NEGOTIATION
Maria F CampainBrazilElwin Sharvill PROPOSAL
Faith B DarakjyArgentinaXuxue Feng RENEWAL
Greenwood G PaprockiBrazilStephen Shaw PROPOSAL
Smith Z IturbideArgentinaAsiya Javayant UNQUALIFIED
Misaki E SaylorsFranceIoni Bowcher QUALIFIED
Misaki B PerinArgentinaStephen Shaw NEGOTIATION
Ashley J IturbideArgentinaAmy Elsner NEGOTIATION
Cody M MacleadCanadaStephen Shaw QUALIFIED
Smith O GarufiBrazilAsiya Javayant QUALIFIED
Costa Z WhobreyAustraliaAsiya Javayant NEGOTIATION
Faith Q VocelkaIndiaAmy Elsner QUALIFIED
Johnson H OldroydItalyBernardo Dominic NEGOTIATION
Octavia K PerinIndiaAmy Elsner QUALIFIED
Jennifer I GauchoJapanAnna Fali NEGOTIATION
Jeanfrancois P PoquetteArgentinaIoni Bowcher PROPOSAL
Smith M NickaBrazilBernardo Dominic PROPOSAL
Johnson Z FerenczAustraliaAnna Fali RENEWAL
Maria K MaletUnited KingdomIoni Bowcher NEW
Darci O MacleadFranceIoni Bowcher NEW
Cody U BologniaCanadaIvan Magalhaes NEGOTIATION
Greenwood M VenereUnited KingdomStephen Shaw NEGOTIATION
Isabel F BriddickUnited KingdomXuxue Feng UNQUALIFIED
Emily R ButtUnited KingdomIoni Bowcher NEW
Ivar K DoeCanadaOnyama Limba RENEWAL
Maria R ButtIndiaStephen Shaw PROPOSAL
Octavia C MarrierAustraliaElwin Sharvill NEW
Aditya E SchemmerIndiaIvan Magalhaes NEW
Antonio H DarakjyAustraliaStephen Shaw UNQUALIFIED
Francesco R GlickJapanAnna Fali NEW
Mayumi E CampainRussiaIvan Magalhaes RENEWAL
Julie N ShinkoCanadaStephen Shaw PROPOSAL
Silvio Y RimItalyOnyama Limba RENEWAL
Salvatore V WaycottUnited KingdomStephen Shaw PROPOSAL
Ashley Z SergiRussiaAmy Elsner NEW
Francesco D GlickIndiaElwin Sharvill NEGOTIATION
Costa S WhobreyItalyAsiya Javayant UNQUALIFIED
Clifford S StockhamSpainBernardo Dominic RENEWAL
Kaitlin V FollerArgentinaAnna Fali NEGOTIATION
Arvin F FerenczJapanStephen Shaw NEW
Alejandro U SchemmerAustraliaIoni Bowcher QUALIFIED
Ashley K ChuiUnited KingdomStephen Shaw QUALIFIED
Octavia F MarrierBrazilElwin Sharvill PROPOSAL
Silvio F MaletGermanyOnyama Limba RENEWAL
Frozen Columns
Name
Darci D Morasca
Tony Q Ostrosky
James E Gillian
Aruna O Schemmer
James T Paprocki
Maria M Nestle
Costa Z Glick
Aditya H Poquette
Jennifer N Whobrey
David Z Royster
Chavez N Gaucho
Silvio X Wieser
Sinclair X Ferencz
Deepesh G Stenseth
Tony G Shinko
Antonio F Kolmetz
Octavia B Iturbide
Claire K Dilliard
Mayumi E Inouye
Ashley P Stockham
Mayumi G Malet
Ivar U Venere
Mujtaba K Dilliard
Mayumi N Gillian
Jennifer B Oldroyd
Johnson A Bowley
Mujtaba N Shinko
Faith B Bowley
Chavez X Ostrosky
Stacey M Briddick
Alejandro H Saylors
Sinclair O Saylors
Claire H Stenseth
Adams C Iturbide
Cody T Maclead
Murillo Z Inouye
Leja I Vocelka
Cody V Kolmetz
Tony A Malet
Munro C Ruta
Tony U Gaucho
Stacey Y Bowley
Ricardo C Glick
Mujtaba F Malet
David H Amigon
Silvio S Garufi
Jennifer U Royster
Rodrigues B Dilliard
Leon C Nestle
Clifford Q Darakjy
IdCountryDate
1000Brazil2024-06-09
1001Italy2024-05-27
1002India2024-05-27
1003Australia2024-05-31
1004Italy2024-06-15
1005Australia2024-06-15
1006Australia2024-06-01
1007India2024-05-26
1008Canada2024-06-09
1009Canada2024-06-19
1010Germany2024-06-18
1011Japan2024-06-12
1012Italy2024-06-07
1013Russia2024-06-03
1014Argentina2024-06-16
1015Japan2024-06-10
1016United Kingdom2024-05-27
1017Canada2024-06-01
1018Australia2024-06-08
1019Brazil2024-06-19
1020Australia2024-05-30
1021Canada2024-05-31
1022Germany2024-06-09
1023Brazil2024-06-07
1024Spain2024-05-31
1025Canada2024-06-01
1026Japan2024-06-21
1027Russia2024-05-30
1028France2024-06-19
1029Japan2024-06-01
1030Japan2024-06-10
1031Italy2024-06-07
1032Argentina2024-06-12
1033Canada2024-05-29
1034United Kingdom2024-06-04
1035Germany2024-06-11
1036Spain2024-06-02
1037France2024-06-03
1038Brazil2024-06-06
1039United Kingdom2024-05-27
1040Spain2024-06-01
1041India2024-05-28
1042United Kingdom2024-06-17
1043France2024-06-20
1044Argentina2024-06-18
1045India2024-06-19
1046Japan2024-06-07
1047Brazil2024-06-02
1048Spain2024-06-16
1049Italy2024-06-07

On-Demand Data

NameIdCountryDate
Munro A Ostrosky1000France2024-05-29
Aika T Ferencz1001Germany2024-05-30
Aika T Maclead1002Brazil2024-05-31
Clifford E Gillian1003Spain2024-06-09
Costa M Shinko1004Argentina2024-06-08
Francesco X Slusarski1005Italy2024-06-07
Aditya X Schemmer1006Italy2024-06-19
Morrow D Wieser1007United Kingdom2024-05-30
Nicolas C Tollner1008United Kingdom2024-06-18
Jefferson L Albares1009Argentina2024-06-13
Kaitlin E Iturbide1010India2024-06-06
Salvatore F Nicka1011France2024-06-17
Clifford O Whobrey1012Canada2024-06-14
Adams I Shinko1013Brazil2024-05-24
Munro K Marrier1014Spain2024-06-13
Izzy M Figeroa1015France2024-06-18
Greenwood Y Bolognia1016Germany2024-05-26
Stacey W Ferencz1017Argentina2024-06-18
Antonio E Wieser1018Canada2024-06-04
Emily O Morasca1019India2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley X FollerIndiaAsiya Javayant NEGOTIATION
Ashley N StensethIndiaStephen Shaw RENEWAL
Smith W MaletAustraliaXuxue Feng QUALIFIED
Izzy W WhobreySpainIvan Magalhaes RENEWAL
Faith V BriddickJapanBernardo Dominic RENEWAL
Antonio M RoysterAustraliaBernardo Dominic PROPOSAL
Francesco U WieserIndiaXuxue Feng PROPOSAL
Aika C RulapaughBrazilBernardo Dominic PROPOSAL
Mayumi C MacleadItalyBernardo Dominic QUALIFIED
Aika I MorascaCanadaAmy Elsner RENEWAL
Alejandro I GauchoGermanyAnna Fali PROPOSAL
Leja Q PaprockiSpainAsiya Javayant NEGOTIATION
Julie N MaletUnited KingdomElwin Sharvill NEW
Misaki P PerinItalyIvan Magalhaes RENEWAL
Alejandro T VenereIndiaElwin Sharvill PROPOSAL
Kadeem B SchemmerUnited KingdomAsiya Javayant QUALIFIED
Smith Y RimGermanyAmy Elsner NEGOTIATION
Arvin Z SaylorsIndiaXuxue Feng PROPOSAL
Darci I RoysterRussiaStephen Shaw PROPOSAL
David I GillianBrazilAsiya Javayant QUALIFIED
Clifford P MaletGermanyAsiya Javayant UNQUALIFIED
Tony V SaylorsFranceIvan Magalhaes PROPOSAL
Smith B IturbideArgentinaStephen Shaw PROPOSAL
Jeanfrancois B MaletCanadaAmy Elsner RENEWAL
Maria D MaletJapanOnyama Limba NEGOTIATION
Wickens R SergiIndiaElwin Sharvill QUALIFIED
Jefferson C MarrierSpainIvan Magalhaes NEGOTIATION
Clifford X FollerCanadaStephen Shaw PROPOSAL
Nicolas Q MaletAustraliaAsiya Javayant QUALIFIED
Octavia Z ButtJapanAmy Elsner NEW
Ashley T GauchoGermanyIoni Bowcher RENEWAL
Leon V PerinSpainIoni Bowcher QUALIFIED
Ashley D DarakjyFranceStephen Shaw NEGOTIATION
Izzy I WhobreyAustraliaIoni Bowcher RENEWAL
Faith K NickaSpainAnna Fali RENEWAL
Stacey T MorascaIndiaStephen Shaw NEW
Arvin A AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Rodrigues T DilliardJapanAsiya Javayant UNQUALIFIED
Adams B DarakjyCanadaIvan Magalhaes NEGOTIATION
Ivar S InouyeJapanOnyama Limba UNQUALIFIED

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