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
Costa M NickaCanadaAmy Elsner QUALIFIED
Jefferson L AmigonSpainAmy Elsner PROPOSAL
Darci D WaycottAustraliaIoni Bowcher RENEWAL
Francesco R OldroydIndiaOnyama Limba QUALIFIED
Jennifer E ShinkoArgentinaBernardo Dominic UNQUALIFIED
Kadeem W BologniaBrazilIvan Magalhaes NEW
James X AlbaresBrazilAmy Elsner NEGOTIATION
Mayumi P GarufiAustraliaElwin Sharvill QUALIFIED
Ashley K SaylorsUnited KingdomBernardo Dominic NEW
Morrow P MarrierSpainBernardo Dominic UNQUALIFIED
Isabel Z MarrierUnited KingdomBernardo Dominic NEW
Cody O RutaGermanyStephen Shaw QUALIFIED
Darci H ShinkoSpainAmy Elsner PROPOSAL
Octavia F AmigonGermanyAmy Elsner NEW
Mayumi A AmigonGermanyAsiya Javayant QUALIFIED
Leja Y SchemmerIndiaAmy Elsner RENEWAL
Silvio G RimFranceAsiya Javayant NEGOTIATION
Kaitlin I VenereItalyAsiya Javayant PROPOSAL
Kaitlin Z BologniaBrazilAnna Fali PROPOSAL
Munro Z ShinkoBrazilOnyama Limba UNQUALIFIED
Alejandro P MaletAustraliaIoni Bowcher NEGOTIATION
Kaitlin Z MacleadItalyBernardo Dominic QUALIFIED
Jones Y BriddickRussiaBernardo Dominic UNQUALIFIED
Jennifer Y KuskoFranceBernardo Dominic NEGOTIATION
Silvio T WieserFranceIoni Bowcher RENEWAL
Izzy N TollnerArgentinaOnyama Limba NEGOTIATION
Emily N StockhamAustraliaOnyama Limba PROPOSAL
Murillo Y ChuiArgentinaIoni Bowcher PROPOSAL
Ivar V TollnerUnited KingdomOnyama Limba QUALIFIED
Francesco H TollnerBrazilIoni Bowcher QUALIFIED
Mayumi D AlbaresSpainIoni Bowcher NEW
Mujtaba V FlosiItalyOnyama Limba QUALIFIED
Kadeem G BriddickGermanyAnna Fali PROPOSAL
Ashley K RulapaughIndiaOnyama Limba NEW
Cody C DoeGermanyAmy Elsner RENEWAL
Tony R IturbideItalyIvan Magalhaes PROPOSAL
Leon M SlusarskiJapanBernardo Dominic UNQUALIFIED
Aditya C KuskoSpainAmy Elsner NEW
David U GarufiBrazilOnyama Limba RENEWAL
Francesco A RoysterItalyStephen Shaw RENEWAL
Antonio J PoquetteCanadaIoni Bowcher UNQUALIFIED
Morrow G IturbideJapanIoni Bowcher RENEWAL
David W MaletUnited KingdomIoni Bowcher QUALIFIED
James U GauchoFranceStephen Shaw PROPOSAL
Izzy N AlbaresUnited KingdomAnna Fali RENEWAL
Jefferson S PaprockiArgentinaXuxue Feng QUALIFIED
Kadeem R InouyeArgentinaOnyama Limba QUALIFIED
Sinclair C OstroskySpainAsiya Javayant RENEWAL
Chavez H CaudyIndiaIoni Bowcher NEW
Arvin J GillianGermanyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Antonio Y BowleyRussiaAsiya Javayant PROPOSAL
Morrow X InouyeArgentinaIvan Magalhaes NEW
Claire A FlosiFranceXuxue Feng NEGOTIATION
Jennifer F SaylorsJapanIvan Magalhaes PROPOSAL
Stacey C NestleUnited KingdomElwin Sharvill UNQUALIFIED
Octavia F ShinkoGermanyBernardo Dominic PROPOSAL
Ricardo B TollnerItalyStephen Shaw UNQUALIFIED
Izzy L FollerArgentinaAnna Fali UNQUALIFIED
Octavia F OstroskyBrazilAmy Elsner NEGOTIATION
Maria I KolmetzItalyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Z FlosiCanada2025-05-26Chemel, James L Cpa QUALIFIED46Bernardo Dominic
1001Murillo U SchemmerCanada2025-05-29Chapman, Ross E Esq PROPOSAL17Anna Fali
1002Sinclair X SergiUnited Kingdom2025-05-23Dorl, James J Esq NEGOTIATION2Elwin Sharvill
1003Wickens W MaletIndia2025-05-31Benton, John B Jr PROPOSAL35Ivan Magalhaes
1004Aruna A StensethFrance2025-05-19Truhlar And Truhlar Attys RENEWAL19Bernardo Dominic
1005Greenwood T StensethBrazil2025-05-25Chapman, Ross E Esq NEW57Ivan Magalhaes
1006Murillo K KolmetzItaly2025-05-26Dorl, James J Esq NEGOTIATION3Ioni Bowcher
1007Aditya H OldroydSpain2025-06-12Chemel, James L Cpa PROPOSAL41Bernardo Dominic
1008Smith U DarakjySpain2025-06-12Truhlar And Truhlar Attys NEW89Xuxue Feng
1009Izzy M RimIndia2025-06-04Benton, John B Jr NEW53Anna Fali
1010Munro X RulapaughGermany2025-05-30Dorl, James J Esq PROPOSAL10Ioni Bowcher
1011Tony S DilliardGermany2025-06-11King, Christopher A Esq QUALIFIED55Ioni Bowcher
1012Julie G KolmetzCanada2025-05-30Benton, John B Jr PROPOSAL39Anna Fali
1013Antonio K RimUnited Kingdom2025-06-10Printing Dimensions RENEWAL95Ioni Bowcher
1014Aruna P CampainItaly2025-06-01Feltz Printing Service PROPOSAL59Stephen Shaw
1015Nicolas G MarrierBrazil2025-05-19Benton, John B Jr PROPOSAL35Amy Elsner
1016Izzy T GlickSpain2025-05-17Commercial Press UNQUALIFIED80Stephen Shaw
1017Nicolas C SaylorsRussia2025-05-18Benton, John B Jr NEGOTIATION35Amy Elsner
1018Ricardo K FollerFrance2025-05-20Chanay, Jeffrey A Esq UNQUALIFIED81Elwin Sharvill
1019Murillo I ChuiBrazil2025-06-14Buckley Miller Wright UNQUALIFIED69Amy Elsner
1020Emily W MorascaGermany2025-06-01Buckley Miller Wright NEGOTIATION84Bernardo Dominic
1021Kadeem A DilliardJapan2025-06-06Chapman, Ross E Esq NEW95Bernardo Dominic
1022Leja E FigeroaAustralia2025-06-14Chapman, Ross E Esq QUALIFIED57Amy Elsner
1023Nicolas M PaprockiSpain2025-06-13Rangoni Of Florence UNQUALIFIED23Anna Fali
1024Aruna A FigeroaAustralia2025-05-31Commercial Press NEW25Ivan Magalhaes
1025Maria A TollnerJapan2025-05-31Feltz Printing Service PROPOSAL36Ivan Magalhaes
1026Morrow N ChuiIndia2025-05-24Chapman, Ross E Esq NEGOTIATION61Bernardo Dominic
1027Claire Q FlosiCanada2025-05-24Chapman, Ross E Esq RENEWAL87Amy Elsner
1028Izzy K MacleadRussia2025-05-24Dorl, James J Esq NEGOTIATION62Stephen Shaw
1029Leon V CaldareraRussia2025-05-22King, Christopher A Esq NEW24Anna Fali
1030Leja I RulapaughCanada2025-05-25Truhlar And Truhlar Attys NEW79Elwin Sharvill
1031Octavia W WaycottSpain2025-05-22Rangoni Of Florence NEW19Anna Fali
1032Arvin M DilliardIndia2025-06-07Feltz Printing Service NEGOTIATION94Onyama Limba
1033Tony D NestleUnited Kingdom2025-06-10Feltz Printing Service PROPOSAL37Anna Fali
1034Arvin J VocelkaBrazil2025-05-30Truhlar And Truhlar Attys RENEWAL0Xuxue Feng
1035Maisha H MaletSpain2025-05-31Benton, John B Jr NEW65Anna Fali
1036Isabel P WieserArgentina2025-06-10Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1037Kaitlin Y BowleyJapan2025-06-08Printing Dimensions UNQUALIFIED71Anna Fali
1038Juan Q BowleyAustralia2025-06-01Feiner Bros PROPOSAL55Amy Elsner
1039Kaitlin L InouyeGermany2025-05-27Commercial Press NEGOTIATION88Amy Elsner
1040Smith A ShinkoIndia2025-06-06Chapman, Ross E Esq NEGOTIATION79Anna Fali
1041Francesco A MorascaSpain2025-06-09Dorl, James J Esq NEW74Xuxue Feng
1042Misaki N VenereSpain2025-05-25King, Christopher A Esq NEGOTIATION81Amy Elsner
1043Costa V GillianCanada2025-06-10Feiner Bros PROPOSAL62Anna Fali
1044James M OstroskyGermany2025-06-02Buckley Miller Wright NEW56Anna Fali
1045Juan C TollnerAustralia2025-06-02Rousseaux, Michael Esq RENEWAL96Elwin Sharvill
1046Aditya V ChuiBrazil2025-06-10Feiner Bros NEW83Onyama Limba
1047Sinclair F StockhamFrance2025-05-18Printing Dimensions NEGOTIATION59Elwin Sharvill
1048Julie Z MaletItaly2025-05-24Rousseaux, Michael Esq RENEWAL83Xuxue Feng
1049Costa U WhobreyArgentina2025-05-26Buckley Miller Wright RENEWAL99Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aika U ButtSpainAsiya Javayant UNQUALIFIED
Maria Q DarakjyUnited KingdomElwin Sharvill PROPOSAL
Greenwood Z FollerCanadaElwin Sharvill PROPOSAL
Aditya W NickaIndiaIvan Magalhaes NEGOTIATION
Isabel B OstroskyCanadaIvan Magalhaes PROPOSAL
Chavez H MorascaJapanIvan Magalhaes UNQUALIFIED
Leon W ChuiJapanOnyama Limba UNQUALIFIED
Adams T ChuiBrazilStephen Shaw QUALIFIED
Aditya I CaudyAustraliaAsiya Javayant NEGOTIATION
Claire E OstroskyRussiaIvan Magalhaes NEGOTIATION
Munro Y RoysterCanadaXuxue Feng PROPOSAL
Octavia W KuskoGermanyOnyama Limba PROPOSAL
Maisha M RulapaughCanadaAnna Fali RENEWAL
Jones H BriddickJapanOnyama Limba NEW
Jeanfrancois T ChuiSpainAnna Fali NEW
Munro D TollnerItalyStephen Shaw UNQUALIFIED
Jeanfrancois E AlbaresBrazilStephen Shaw NEW
Deepesh B WaycottIndiaIoni Bowcher NEGOTIATION
Ricardo Z FerenczBrazilBernardo Dominic NEW
Costa S InouyeGermanyBernardo Dominic UNQUALIFIED
Kadeem Q TollnerArgentinaXuxue Feng NEGOTIATION
James T DarakjyUnited KingdomXuxue Feng RENEWAL
Alejandro P KolmetzItalyOnyama Limba NEW
Costa V InouyeGermanyElwin Sharvill NEGOTIATION
Claire M ButtArgentinaAsiya Javayant PROPOSAL
Chavez G SergiIndiaXuxue Feng PROPOSAL
Leja O MorascaIndiaStephen Shaw QUALIFIED
Isabel W TollnerFranceAsiya Javayant RENEWAL
Jones B SergiIndiaElwin Sharvill NEW
Emily D MaletUnited KingdomXuxue Feng PROPOSAL
Johnson G SlusarskiArgentinaAsiya Javayant PROPOSAL
Misaki V ChuiBrazilIoni Bowcher RENEWAL
Maria X CaldareraSpainElwin Sharvill QUALIFIED
Darci V CampainRussiaXuxue Feng RENEWAL
Wickens Y BowleyRussiaAnna Fali QUALIFIED
Greenwood J DilliardArgentinaOnyama Limba NEGOTIATION
Izzy F VenereGermanyStephen Shaw PROPOSAL
David R VenereCanadaIoni Bowcher PROPOSAL
Kaitlin A MarrierGermanyAsiya Javayant NEGOTIATION
Juan Q BriddickItalyXuxue Feng QUALIFIED
Octavia R StockhamCanadaAmy Elsner RENEWAL
Leon K GauchoJapanAmy Elsner NEW
Mayumi R ShinkoRussiaIoni Bowcher RENEWAL
Antonio I BologniaFranceAnna Fali PROPOSAL
Wickens L GlickBrazilOnyama Limba NEW
Morrow U WhobreyRussiaIoni Bowcher RENEWAL
Izzy I FollerSpainAsiya Javayant QUALIFIED
Sinclair G KolmetzItalyElwin Sharvill PROPOSAL
Darci U StockhamCanadaAsiya Javayant PROPOSAL
James Q FigeroaAustraliaStephen Shaw NEW
Frozen Columns
Name
Faith D Amigon
James L Slusarski
Murillo B Bowley
Jennifer U Nicka
Morrow P Venere
Alejandro D Marrier
Kadeem V Kolmetz
Jefferson B Chui
Jennifer A Ferencz
Ivar N Briddick
Nicolas P Nestle
Antonio V Figeroa
Jeanfrancois T Caldarera
Murillo E Amigon
Jones J Garufi
Ashley D Chui
Smith O Oldroyd
Octavia U Inouye
Deepesh C Wieser
Adams X Briddick
Morrow M Nestle
Murillo H Morasca
Deepesh O Campain
Darci G Nestle
James J Malet
Nicolas P Poquette
Mayumi T Glick
Darci V Venere
Isabel D Vocelka
Deepesh Q Whobrey
Stacey Y Venere
Chavez H Dilliard
Ashley I Waycott
Octavia N Nicka
Ivar D Gaucho
Aika N Stockham
Emily B Waycott
Arvin Q Venere
Morrow E Schemmer
Jones X Bowley
Jones A Royster
Octavia W Morasca
Stacey H Morasca
Chavez O Oldroyd
Isabel G Nicka
Jennifer M Morasca
Wickens O Maclead
Jeanfrancois R Shinko
Jeanfrancois V Gaucho
Leon K Nicka
IdCountryDate
1000Argentina2025-06-03
1001India2025-06-01
1002Brazil2025-06-05
1003India2025-06-01
1004Brazil2025-05-17
1005Australia2025-05-29
1006United Kingdom2025-05-21
1007Japan2025-05-22
1008Argentina2025-06-04
1009United Kingdom2025-05-31
1010Argentina2025-05-16
1011Spain2025-06-01
1012Argentina2025-05-19
1013India2025-06-06
1014Australia2025-05-16
1015Argentina2025-05-18
1016Argentina2025-05-17
1017Argentina2025-06-06
1018Italy2025-05-23
1019Germany2025-06-14
1020Japan2025-05-24
1021Australia2025-06-01
1022Spain2025-06-05
1023Argentina2025-06-11
1024Germany2025-06-09
1025Japan2025-05-18
1026Italy2025-05-16
1027France2025-05-29
1028Australia2025-06-04
1029Canada2025-05-18
1030India2025-06-01
1031Germany2025-05-22
1032Canada2025-06-04
1033Canada2025-05-16
1034Brazil2025-06-14
1035Japan2025-06-14
1036Australia2025-05-24
1037France2025-06-14
1038Russia2025-05-30
1039Brazil2025-05-16
1040Spain2025-05-18
1041Italy2025-06-07
1042Spain2025-06-02
1043Germany2025-06-07
1044Brazil2025-06-12
1045France2025-05-19
1046Brazil2025-06-10
1047Italy2025-05-17
1048United Kingdom2025-06-11
1049Spain2025-05-23

On-Demand Data

NameIdCountryDate
Wickens P Malet1000United Kingdom2025-05-23
James J Ruta1001Spain2025-06-12
Deepesh D Rulapaugh1002Canada2025-05-29
Jeanfrancois C Doe1003Canada2025-05-28
Francesco Z Briddick1004United Kingdom2025-06-03
Jeanfrancois A Royster1005Australia2025-05-26
Julie R Iturbide1006Brazil2025-05-23
Mujtaba Z Figeroa1007Spain2025-05-16
Sinclair V Doe1008Argentina2025-05-28
Alejandro M Chui1009Russia2025-05-22
Cody Z Caldarera1010Argentina2025-06-12
Aditya K Waycott1011Italy2025-05-17
Emily Q Caldarera1012France2025-05-18
Sinclair F Rim1013India2025-05-25
Munro Q Malet1014Australia2025-05-27
Jeanfrancois U Marrier1015Spain2025-06-14
Costa T Doe1016Brazil2025-06-08
Jeanfrancois M Flosi1017Japan2025-05-21
Ricardo E Gillian1018India2025-06-13
Munro W Saylors1019United Kingdom2025-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley M PerinRussiaStephen Shaw RENEWAL
Julie O RoysterAustraliaElwin Sharvill UNQUALIFIED
Deepesh K MaletSpainElwin Sharvill PROPOSAL
Misaki K OstroskyArgentinaBernardo Dominic UNQUALIFIED
Greenwood I DarakjyGermanyBernardo Dominic NEGOTIATION
Clifford J ChuiJapanAnna Fali PROPOSAL
Adams P InouyeSpainXuxue Feng NEGOTIATION
Sinclair Q FlosiBrazilAmy Elsner UNQUALIFIED
Jennifer L WieserGermanyXuxue Feng NEGOTIATION
Antonio W OstroskySpainAsiya Javayant QUALIFIED
Wickens U BriddickUnited KingdomAmy Elsner RENEWAL
Costa P FlosiCanadaElwin Sharvill NEW
Ashley K PoquetteSpainIvan Magalhaes NEW
Tony J RutaIndiaAmy Elsner UNQUALIFIED
Aruna E KuskoArgentinaIvan Magalhaes NEW
Juan L KolmetzSpainAsiya Javayant PROPOSAL
Morrow Y OldroydIndiaStephen Shaw QUALIFIED
Greenwood C GlickIndiaOnyama Limba NEW
Misaki J FollerJapanAmy Elsner RENEWAL
Salvatore O RimFranceBernardo Dominic UNQUALIFIED
Mayumi B RimArgentinaAnna Fali RENEWAL
Tony W DilliardAustraliaAmy Elsner NEW
Smith D WieserItalyAmy Elsner NEGOTIATION
Julie L FerenczIndiaAmy Elsner NEGOTIATION
Kaitlin C AlbaresGermanyBernardo Dominic UNQUALIFIED
Leon M KuskoRussiaElwin Sharvill UNQUALIFIED
Antonio I PerinFranceXuxue Feng NEGOTIATION
Munro E AmigonCanadaAmy Elsner RENEWAL
Cody H FlosiCanadaIoni Bowcher NEGOTIATION
Octavia R ChuiCanadaOnyama Limba PROPOSAL
Rodrigues D PaprockiBrazilBernardo Dominic NEW
Aruna X KolmetzGermanyIoni Bowcher PROPOSAL
Jones T DarakjySpainAnna Fali QUALIFIED
Costa J VenereCanadaAsiya Javayant PROPOSAL
Arvin D GlickJapanBernardo Dominic UNQUALIFIED
Ivar D GarufiRussiaAsiya Javayant QUALIFIED
Jeanfrancois G VocelkaIndiaIoni Bowcher RENEWAL
Isabel X PaprockiJapanStephen Shaw QUALIFIED
Chavez R PaprockiBrazilIoni Bowcher NEGOTIATION
Ricardo P DoeGermanyAnna Fali NEGOTIATION

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