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
Greenwood P FerenczGermanyAmy Elsner NEGOTIATION
Rodrigues Z TollnerAustraliaXuxue Feng UNQUALIFIED
Sinclair C FigeroaSpainAnna Fali PROPOSAL
David Y ShinkoBrazilStephen Shaw UNQUALIFIED
Tony R FlosiCanadaAmy Elsner PROPOSAL
Emily X StensethArgentinaOnyama Limba UNQUALIFIED
Wickens R SlusarskiItalyXuxue Feng NEW
Wickens U PoquetteItalyAnna Fali NEGOTIATION
Leja Y TollnerGermanyIoni Bowcher NEW
Ivar F CaldareraFranceAsiya Javayant NEW
Francesco S FigeroaJapanAnna Fali QUALIFIED
David L SlusarskiBrazilIoni Bowcher UNQUALIFIED
Maisha B CaldareraBrazilOnyama Limba UNQUALIFIED
Chavez X FlosiBrazilBernardo Dominic PROPOSAL
Aruna K BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Jones R GarufiAustraliaAsiya Javayant UNQUALIFIED
Kaitlin E FlosiFranceXuxue Feng RENEWAL
Rodrigues W VenereBrazilOnyama Limba QUALIFIED
Kaitlin Z WieserFranceAsiya Javayant NEW
Maisha N StensethItalyIoni Bowcher QUALIFIED
Francesco B RimRussiaBernardo Dominic RENEWAL
Ricardo Z BowleyFranceAmy Elsner NEGOTIATION
Arvin J GarufiRussiaAnna Fali PROPOSAL
Arvin G WhobreyBrazilAmy Elsner PROPOSAL
Juan D WhobreyBrazilStephen Shaw RENEWAL
Morrow L MaletItalyIoni Bowcher NEW
Johnson H MacleadAustraliaAmy Elsner PROPOSAL
Smith X FigeroaCanadaStephen Shaw PROPOSAL
Deepesh B GarufiCanadaIvan Magalhaes NEGOTIATION
Francesco Q RoysterUnited KingdomStephen Shaw PROPOSAL
Jennifer P VenereBrazilElwin Sharvill PROPOSAL
Stacey M InouyeGermanyIvan Magalhaes NEGOTIATION
Rodrigues J VocelkaRussiaIoni Bowcher UNQUALIFIED
Juan G GarufiItalyStephen Shaw PROPOSAL
Jefferson H MaletSpainAmy Elsner NEW
Chavez Z AlbaresIndiaIoni Bowcher NEW
David Z GauchoBrazilElwin Sharvill PROPOSAL
Stacey C MorascaSpainStephen Shaw NEGOTIATION
Salvatore Y CaudyCanadaIvan Magalhaes QUALIFIED
Jones L OldroydCanadaIvan Magalhaes UNQUALIFIED
Arvin X RulapaughFranceElwin Sharvill UNQUALIFIED
Jeanfrancois O NestleArgentinaXuxue Feng NEW
Ivar E InouyeAustraliaOnyama Limba NEW
Faith D RimArgentinaBernardo Dominic PROPOSAL
Ricardo E VocelkaSpainIoni Bowcher UNQUALIFIED
Kadeem J WaycottCanadaOnyama Limba UNQUALIFIED
Johnson Y MacleadBrazilBernardo Dominic NEGOTIATION
Jeanfrancois J VocelkaUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois I GauchoCanadaXuxue Feng QUALIFIED
Jeanfrancois M InouyeItalyAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson C KuskoAustraliaStephen Shaw RENEWAL
Murillo W RoysterIndiaIoni Bowcher NEGOTIATION
Misaki T AmigonJapanBernardo Dominic QUALIFIED
Izzy Q VenereGermanyIoni Bowcher RENEWAL
Silvio O SergiUnited KingdomOnyama Limba RENEWAL
Izzy J PoquetteSpainIvan Magalhaes PROPOSAL
Maisha N SaylorsFranceIoni Bowcher UNQUALIFIED
Greenwood D VenereItalyElwin Sharvill PROPOSAL
Jennifer A NestleGermanyAmy Elsner NEGOTIATION
Izzy L SchemmerArgentinaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh C KolmetzArgentina2024-09-23Dorl, James J Esq PROPOSAL10Asiya Javayant
1001Antonio H CampainArgentina2024-09-06Truhlar And Truhlar Attys NEW7Anna Fali
1002Mujtaba Q GlickCanada2024-09-03Dorl, James J Esq NEW29Onyama Limba
1003Izzy M SergiCanada2024-09-04Benton, John B Jr NEGOTIATION79Xuxue Feng
1004Isabel G SaylorsGermany2024-08-28King, Christopher A Esq PROPOSAL77Stephen Shaw
1005Kaitlin T GlickArgentina2024-09-10Morlong Associates NEGOTIATION55Ivan Magalhaes
1006Kaitlin E PerinRussia2024-09-08Morlong Associates PROPOSAL78Ivan Magalhaes
1007Costa S RutaIndia2024-09-14Rangoni Of Florence NEW21Ioni Bowcher
1008Maisha N IturbideAustralia2024-09-09Truhlar And Truhlar Attys NEGOTIATION53Bernardo Dominic
1009Murillo Y StensethItaly2024-09-21Chemel, James L Cpa PROPOSAL62Stephen Shaw
1010Faith U VocelkaGermany2024-09-22Chanay, Jeffrey A Esq UNQUALIFIED77Anna Fali
1011Antonio U FollerRussia2024-09-16Feiner Bros QUALIFIED76Elwin Sharvill
1012Emily P FlosiArgentina2024-09-01Benton, John B Jr QUALIFIED23Onyama Limba
1013Sinclair Q PaprockiUnited Kingdom2024-09-13Chapman, Ross E Esq UNQUALIFIED97Ioni Bowcher
1014Chavez A StensethCanada2024-08-28Chemel, James L Cpa QUALIFIED84Elwin Sharvill
1015Smith F RutaGermany2024-09-15Truhlar And Truhlar Attys RENEWAL64Ioni Bowcher
1016Julie M InouyeAustralia2024-09-03Rousseaux, Michael Esq PROPOSAL24Ioni Bowcher
1017Juan B SergiIndia2024-09-15Feiner Bros NEW10Bernardo Dominic
1018Octavia M DoeRussia2024-09-18King, Christopher A Esq NEGOTIATION51Stephen Shaw
1019Arvin A PerinJapan2024-09-05Feiner Bros UNQUALIFIED9Elwin Sharvill
1020Morrow U NestleGermany2024-09-17Feiner Bros QUALIFIED83Anna Fali
1021Alejandro W InouyeIndia2024-09-03Feiner Bros NEGOTIATION5Anna Fali
1022Antonio H PaprockiRussia2024-09-12Chemel, James L Cpa NEW14Ioni Bowcher
1023Claire B GillianFrance2024-09-17Chemel, James L Cpa NEGOTIATION17Anna Fali
1024Morrow N OldroydUnited Kingdom2024-08-31Dorl, James J Esq NEGOTIATION23Ivan Magalhaes
1025Ricardo N AlbaresBrazil2024-08-30Buckley Miller Wright UNQUALIFIED96Onyama Limba
1026Wickens I PaprockiCanada2024-09-09Printing Dimensions NEGOTIATION35Stephen Shaw
1027Clifford P RutaItaly2024-09-14Chapman, Ross E Esq PROPOSAL63Elwin Sharvill
1028Munro K NestleItaly2024-09-08Commercial Press PROPOSAL28Elwin Sharvill
1029Wickens W StockhamRussia2024-08-29Morlong Associates QUALIFIED18Asiya Javayant
1030Mayumi O MacleadFrance2024-09-21Feltz Printing Service UNQUALIFIED76Onyama Limba
1031Morrow T ChuiCanada2024-08-28Commercial Press QUALIFIED35Stephen Shaw
1032Cody X OldroydCanada2024-09-05Buckley Miller Wright NEW36Bernardo Dominic
1033Octavia V MaletIndia2024-09-18Feiner Bros NEW18Xuxue Feng
1034Octavia W WhobreyRussia2024-08-26Truhlar And Truhlar Attys RENEWAL77Stephen Shaw
1035Darci J ChuiBrazil2024-09-18Truhlar And Truhlar Attys PROPOSAL29Xuxue Feng
1036Aruna A RutaItaly2024-09-20Feltz Printing Service RENEWAL35Anna Fali
1037Kadeem A OldroydAustralia2024-09-03Rangoni Of Florence QUALIFIED63Ioni Bowcher
1038Nicolas P SchemmerUnited Kingdom2024-09-16Dorl, James J Esq QUALIFIED4Ioni Bowcher
1039Claire H FollerSpain2024-09-15Feiner Bros NEW56Ioni Bowcher
1040Munro M PerinItaly2024-09-22Chemel, James L Cpa QUALIFIED97Anna Fali
1041Emily J SlusarskiGermany2024-09-12Chanay, Jeffrey A Esq RENEWAL75Elwin Sharvill
1042Alejandro H DarakjyGermany2024-09-01Chapman, Ross E Esq UNQUALIFIED7Ioni Bowcher
1043Deepesh N WaycottSpain2024-09-14King, Christopher A Esq PROPOSAL89Onyama Limba
1044Francesco M StensethSpain2024-08-27Dorl, James J Esq UNQUALIFIED80Stephen Shaw
1045Ashley L GarufiCanada2024-09-18Chemel, James L Cpa NEW61Asiya Javayant
1046Mayumi X BriddickBrazil2024-09-21Dorl, James J Esq RENEWAL15Elwin Sharvill
1047Emily D MaletJapan2024-09-05Feltz Printing Service RENEWAL5Amy Elsner
1048Octavia W DarakjySpain2024-09-19Morlong Associates PROPOSAL32Onyama Limba
1049David Q ShinkoItaly2024-09-19Chanay, Jeffrey A Esq NEGOTIATION11Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Deepesh F SaylorsBrazilBernardo Dominic PROPOSAL
Silvio Z SaylorsIndiaBernardo Dominic QUALIFIED
Salvatore H MorascaArgentinaOnyama Limba RENEWAL
Sinclair T SergiSpainOnyama Limba NEW
Jennifer T TollnerBrazilElwin Sharvill NEW
Misaki G CaudyUnited KingdomAsiya Javayant PROPOSAL
Costa A NickaArgentinaStephen Shaw NEW
Claire N IturbideFranceStephen Shaw NEGOTIATION
Ashley I WaycottGermanyIvan Magalhaes NEW
Munro X AmigonJapanIoni Bowcher RENEWAL
Adams G FerenczGermanyXuxue Feng QUALIFIED
David R AmigonSpainIvan Magalhaes NEGOTIATION
Mujtaba X DarakjyRussiaAsiya Javayant RENEWAL
Faith S FollerSpainIvan Magalhaes NEGOTIATION
Julie T WaycottArgentinaBernardo Dominic PROPOSAL
Greenwood O CaudyIndiaBernardo Dominic UNQUALIFIED
James E OstroskyArgentinaIoni Bowcher NEGOTIATION
Clifford E NestleItalyOnyama Limba QUALIFIED
Kadeem X WaycottJapanXuxue Feng RENEWAL
Emily K RulapaughBrazilIoni Bowcher RENEWAL
Sinclair A InouyeRussiaXuxue Feng QUALIFIED
Aruna E WhobreyArgentinaAnna Fali PROPOSAL
Sinclair Q PoquetteSpainAnna Fali NEW
Alejandro J BowleyAustraliaXuxue Feng NEW
Leja S RulapaughIndiaStephen Shaw NEW
Leja D NestleItalyBernardo Dominic UNQUALIFIED
Tony S IturbideSpainIoni Bowcher NEGOTIATION
Alejandro F WhobreyItalyIvan Magalhaes NEGOTIATION
Isabel I GlickAustraliaAmy Elsner RENEWAL
Claire L GlickArgentinaElwin Sharvill NEW
Antonio S AlbaresItalyAnna Fali PROPOSAL
Isabel P GlickIndiaElwin Sharvill PROPOSAL
Aika R PaprockiUnited KingdomStephen Shaw RENEWAL
Ashley T IturbideItalyAnna Fali NEW
Clifford I IturbideRussiaIvan Magalhaes PROPOSAL
Adams K PoquetteAustraliaXuxue Feng UNQUALIFIED
Deepesh B MaletGermanyStephen Shaw QUALIFIED
Clifford H MaletAustraliaXuxue Feng RENEWAL
Smith K StockhamIndiaStephen Shaw NEW
Sinclair V MacleadAustraliaXuxue Feng QUALIFIED
Tony W VenereBrazilAnna Fali PROPOSAL
Jennifer D PoquetteUnited KingdomAnna Fali UNQUALIFIED
Alejandro H FerenczItalyStephen Shaw RENEWAL
Aruna E ChuiIndiaElwin Sharvill QUALIFIED
Antonio U IturbideRussiaXuxue Feng UNQUALIFIED
Aditya K TollnerCanadaIoni Bowcher RENEWAL
Mujtaba B OstroskyGermanyAsiya Javayant NEGOTIATION
Murillo J FigeroaSpainStephen Shaw RENEWAL
Ricardo X KuskoGermanyIoni Bowcher PROPOSAL
Jones P PerinBrazilOnyama Limba NEW
Frozen Columns
Name
Morrow Q Butt
Leon P Butt
Nicolas T Nestle
James A Ostrosky
Mujtaba G Ostrosky
Emily L Darakjy
Ivar F Malet
Juan S Campain
Jefferson C Vocelka
Jeanfrancois K Malet
Octavia G Amigon
Jefferson N Schemmer
Munro E Kolmetz
Leon S Darakjy
Tony H Wieser
Mayumi B Caudy
Claire J Kolmetz
Faith J Kusko
Rodrigues Z Flosi
Adams Q Whobrey
Leon X Bolognia
Silvio L Gaucho
Jennifer S Glick
Silvio K Saylors
Salvatore P Vocelka
Ivar K Paprocki
Francesco P Waycott
Misaki D Rulapaugh
Morrow Q Maclead
Ivar H Bowley
Izzy V Stenseth
Johnson Y Briddick
Cody O Morasca
Stacey C Glick
Costa H Rim
Maisha B Rim
Leon S Campain
Deepesh K Tollner
Ashley G Nicka
Stacey J Waycott
Greenwood O Inouye
Murillo M Slusarski
Misaki T Ruta
Octavia L Butt
Aika U Bolognia
Greenwood T Ostrosky
Ricardo V Ruta
Aruna Y Chui
Salvatore R Nicka
Misaki F Stockham
IdCountryDate
1000Russia2024-09-10
1001Argentina2024-09-12
1002Russia2024-09-16
1003Australia2024-08-27
1004United Kingdom2024-09-15
1005France2024-09-13
1006United Kingdom2024-09-01
1007Brazil2024-09-22
1008Argentina2024-09-13
1009Italy2024-09-09
1010Brazil2024-09-02
1011Russia2024-09-09
1012Brazil2024-08-25
1013United Kingdom2024-09-13
1014United Kingdom2024-09-06
1015Italy2024-09-06
1016India2024-09-12
1017Italy2024-08-31
1018India2024-08-25
1019Spain2024-09-13
1020United Kingdom2024-08-27
1021France2024-09-17
1022Spain2024-09-11
1023Australia2024-09-05
1024Brazil2024-09-23
1025United Kingdom2024-09-04
1026Argentina2024-08-30
1027Russia2024-09-04
1028Germany2024-09-15
1029Australia2024-09-17
1030Brazil2024-09-06
1031India2024-08-31
1032France2024-09-17
1033Spain2024-09-07
1034Spain2024-09-13
1035Russia2024-09-22
1036India2024-09-01
1037Brazil2024-08-26
1038Italy2024-09-20
1039Argentina2024-09-20
1040Canada2024-09-04
1041Italy2024-09-09
1042Canada2024-09-20
1043Spain2024-09-16
1044Brazil2024-09-21
1045Canada2024-08-30
1046United Kingdom2024-09-14
1047Italy2024-09-22
1048Germany2024-09-03
1049France2024-09-09

On-Demand Data

NameIdCountryDate
Kadeem H Amigon1000Italy2024-09-13
Francesco V Glick1001Spain2024-09-01
Antonio F Dilliard1002Russia2024-08-25
Octavia O Gillian1003India2024-09-13
Mayumi K Wieser1004Australia2024-09-12
Johnson Q Rim1005Australia2024-09-04
Tony A Albares1006India2024-09-03
Stacey F Kolmetz1007France2024-08-26
Salvatore O Tollner1008Italy2024-09-01
Kaitlin X Slusarski1009Germany2024-08-31
Jones B Albares1010Spain2024-08-25
Aika N Paprocki1011Japan2024-09-21
Smith Y Rim1012Italy2024-09-23
Leja I Oldroyd1013Canada2024-08-30
Ricardo P Caldarera1014Australia2024-09-21
Nicolas O Perin1015Italy2024-09-23
Jeanfrancois N Darakjy1016United Kingdom2024-08-28
Alejandro I Ruta1017United Kingdom2024-09-10
Kaitlin B Albares1018Japan2024-09-09
Aruna V Shinko1019Germany2024-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel L AlbaresBrazilStephen Shaw PROPOSAL
Salvatore B VenereCanadaIoni Bowcher UNQUALIFIED
Claire H OstroskyGermanyAmy Elsner NEGOTIATION
Johnson G OldroydJapanElwin Sharvill NEGOTIATION
Faith F StensethBrazilIoni Bowcher RENEWAL
Silvio N AmigonIndiaIoni Bowcher UNQUALIFIED
Kaitlin N FerenczBrazilIoni Bowcher NEW
Sinclair I MacleadIndiaStephen Shaw NEW
David K BriddickIndiaIoni Bowcher PROPOSAL
Ricardo K PoquetteRussiaOnyama Limba QUALIFIED
James A WhobreySpainIvan Magalhaes UNQUALIFIED
Adams M GauchoItalyXuxue Feng NEW
Chavez Q SchemmerRussiaBernardo Dominic NEW
Morrow V MaletIndiaAsiya Javayant QUALIFIED
Mayumi D TollnerFranceAnna Fali UNQUALIFIED
Maria S RimArgentinaAmy Elsner PROPOSAL
Tony T OstroskyUnited KingdomIoni Bowcher QUALIFIED
Mujtaba U VocelkaBrazilAnna Fali NEW
Nicolas D MaletGermanyAnna Fali QUALIFIED
Cody L RulapaughFranceElwin Sharvill PROPOSAL
Aika F AmigonArgentinaIvan Magalhaes RENEWAL
Leon F BowleyFranceIvan Magalhaes UNQUALIFIED
Juan Y ShinkoUnited KingdomElwin Sharvill PROPOSAL
Stacey Q OldroydSpainAnna Fali NEGOTIATION
Octavia O ButtCanadaXuxue Feng PROPOSAL
Emily G StockhamSpainElwin Sharvill UNQUALIFIED
Ivar A StockhamCanadaAmy Elsner RENEWAL
Chavez Z GauchoAustraliaAmy Elsner QUALIFIED
Morrow S VocelkaSpainStephen Shaw RENEWAL
Johnson C DoeCanadaAnna Fali QUALIFIED
Kaitlin U CaldareraSpainElwin Sharvill NEW
Leja V CaldareraArgentinaElwin Sharvill NEGOTIATION
Chavez I RoysterIndiaOnyama Limba PROPOSAL
Ricardo Z ShinkoRussiaOnyama Limba QUALIFIED
Tony I OstroskyItalyOnyama Limba QUALIFIED
Mayumi J SergiArgentinaElwin Sharvill RENEWAL
Ashley G InouyeRussiaAnna Fali RENEWAL
Jennifer Q MorascaJapanAmy Elsner PROPOSAL
Tony N KolmetzRussiaXuxue Feng UNQUALIFIED
Misaki H BologniaCanadaIoni Bowcher 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>