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
Claire D DilliardBrazilBernardo Dominic NEW
Isabel C CaudyUnited KingdomElwin Sharvill NEGOTIATION
Kadeem D GauchoFranceStephen Shaw NEW
Arvin D MaletUnited KingdomIoni Bowcher QUALIFIED
Chavez C RulapaughBrazilIvan Magalhaes QUALIFIED
Ricardo T BriddickItalyIvan Magalhaes UNQUALIFIED
Nicolas V MorascaIndiaBernardo Dominic UNQUALIFIED
Maisha P CampainCanadaIvan Magalhaes NEW
Darci T MaletFranceOnyama Limba QUALIFIED
David Z FollerAustraliaAsiya Javayant NEGOTIATION
Mayumi C RimArgentinaAmy Elsner PROPOSAL
Rodrigues Z CaldareraFranceIoni Bowcher UNQUALIFIED
Julie E VocelkaIndiaStephen Shaw UNQUALIFIED
Stacey K PerinBrazilIvan Magalhaes UNQUALIFIED
Emily R PerinGermanyBernardo Dominic RENEWAL
Francesco H StensethGermanyXuxue Feng UNQUALIFIED
Kaitlin R ShinkoIndiaIoni Bowcher NEGOTIATION
Chavez N KuskoSpainAsiya Javayant PROPOSAL
Aruna O RimIndiaXuxue Feng RENEWAL
Izzy G VocelkaAustraliaAnna Fali UNQUALIFIED
Sinclair R CampainIndiaAnna Fali QUALIFIED
Wickens O RutaIndiaAmy Elsner UNQUALIFIED
Kadeem V BriddickGermanyBernardo Dominic RENEWAL
Emily L KolmetzGermanyAsiya Javayant NEGOTIATION
Octavia E MarrierJapanOnyama Limba RENEWAL
Silvio K InouyeAustraliaAsiya Javayant RENEWAL
Jennifer E AlbaresCanadaAmy Elsner RENEWAL
Misaki Z PerinSpainAmy Elsner RENEWAL
Munro W VocelkaIndiaXuxue Feng NEW
Isabel S GlickCanadaElwin Sharvill NEGOTIATION
Jennifer O AmigonBrazilOnyama Limba NEGOTIATION
Antonio C ButtIndiaAsiya Javayant NEGOTIATION
Johnson L MarrierGermanyStephen Shaw UNQUALIFIED
Antonio L OstroskyUnited KingdomAnna Fali NEW
Wickens Y FlosiCanadaAmy Elsner UNQUALIFIED
Greenwood K KolmetzGermanyOnyama Limba NEW
Aika O SaylorsBrazilOnyama Limba NEGOTIATION
Nicolas Y CampainIndiaAmy Elsner UNQUALIFIED
Silvio A NickaBrazilStephen Shaw QUALIFIED
Arvin G GlickItalyIoni Bowcher PROPOSAL
Morrow N BriddickAustraliaElwin Sharvill NEGOTIATION
Munro L SlusarskiItalyStephen Shaw UNQUALIFIED
Izzy E RutaSpainIvan Magalhaes RENEWAL
Ivar M ButtArgentinaIvan Magalhaes UNQUALIFIED
Jennifer M GillianSpainBernardo Dominic UNQUALIFIED
Maria F StockhamItalyIvan Magalhaes NEGOTIATION
Aditya R PaprockiSpainOnyama Limba PROPOSAL
Jeanfrancois X OldroydRussiaAnna Fali NEGOTIATION
Jennifer A RimUnited KingdomIvan Magalhaes QUALIFIED
Izzy S RutaSpainAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Leon L SchemmerSpainIoni Bowcher RENEWAL
Maria G OldroydRussiaAsiya Javayant PROPOSAL
Leja M FlosiIndiaElwin Sharvill PROPOSAL
Tony Y GillianIndiaXuxue Feng PROPOSAL
Salvatore N StensethSpainIoni Bowcher NEW
Faith N BriddickUnited KingdomAmy Elsner PROPOSAL
Rodrigues T ChuiJapanAsiya Javayant NEW
Julie Q RimUnited KingdomAmy Elsner NEW
Emily G AlbaresCanadaAnna Fali NEW
Mujtaba F MacleadSpainElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas N BriddickCanada2024-05-30Chanay, Jeffrey A Esq PROPOSAL49Ioni Bowcher
1001Leja U StockhamArgentina2024-06-14Chanay, Jeffrey A Esq NEGOTIATION67Onyama Limba
1002Tony I DoeIndia2024-05-18Chemel, James L Cpa RENEWAL1Anna Fali
1003Costa L IturbideJapan2024-06-12Dorl, James J Esq NEGOTIATION53Asiya Javayant
1004Jones S WieserRussia2024-06-09Dorl, James J Esq QUALIFIED80Anna Fali
1005Stacey P StockhamItaly2024-06-09Rousseaux, Michael Esq NEGOTIATION97Onyama Limba
1006Morrow R ShinkoIndia2024-06-07Feltz Printing Service PROPOSAL93Ioni Bowcher
1007Jones B GillianArgentina2024-05-29Printing Dimensions RENEWAL0Asiya Javayant
1008Aditya O WieserFrance2024-06-05King, Christopher A Esq NEGOTIATION76Stephen Shaw
1009Aruna B DilliardFrance2024-05-22Commercial Press NEW82Stephen Shaw
1010Francesco B GauchoArgentina2024-06-07Dorl, James J Esq NEW61Ioni Bowcher
1011Jones K MaletFrance2024-05-21Feiner Bros PROPOSAL87Bernardo Dominic
1012Costa D GlickAustralia2024-06-04Truhlar And Truhlar Attys QUALIFIED83Anna Fali
1013Kaitlin B VocelkaArgentina2024-06-09Feltz Printing Service NEW74Stephen Shaw
1014Jefferson G SlusarskiUnited Kingdom2024-06-15Rangoni Of Florence NEGOTIATION63Bernardo Dominic
1015Morrow I BriddickArgentina2024-06-10Buckley Miller Wright PROPOSAL60Ivan Magalhaes
1016Jefferson H MarrierJapan2024-06-16Chanay, Jeffrey A Esq PROPOSAL10Elwin Sharvill
1017Emily C BologniaRussia2024-06-10Rangoni Of Florence QUALIFIED60Anna Fali
1018Munro O IturbideUnited Kingdom2024-05-29Truhlar And Truhlar Attys PROPOSAL16Anna Fali
1019Darci Q BowleyItaly2024-06-16Rousseaux, Michael Esq QUALIFIED56Ivan Magalhaes
1020Misaki Z RutaFrance2024-06-01Buckley Miller Wright PROPOSAL49Amy Elsner
1021Johnson K RulapaughGermany2024-06-04King, Christopher A Esq NEW9Stephen Shaw
1022David V SchemmerGermany2024-06-05Chapman, Ross E Esq PROPOSAL14Ivan Magalhaes
1023Arvin N BowleyBrazil2024-06-02Truhlar And Truhlar Attys PROPOSAL88Asiya Javayant
1024Clifford H BriddickSpain2024-05-29Feiner Bros UNQUALIFIED48Amy Elsner
1025Stacey T NickaSpain2024-06-15Rousseaux, Michael Esq RENEWAL43Onyama Limba
1026Faith P IturbideSpain2024-05-21Printing Dimensions NEW36Xuxue Feng
1027Smith Q MaletGermany2024-05-31Printing Dimensions RENEWAL45Ivan Magalhaes
1028Mujtaba I StensethGermany2024-06-03Feiner Bros QUALIFIED26Bernardo Dominic
1029Mayumi R GauchoSpain2024-05-23Chemel, James L Cpa NEGOTIATION51Ioni Bowcher
1030Leon G ShinkoIndia2024-06-06Truhlar And Truhlar Attys QUALIFIED0Anna Fali
1031Adams S MaletFrance2024-06-13Feltz Printing Service RENEWAL48Elwin Sharvill
1032Salvatore U RoysterAustralia2024-06-05Commercial Press QUALIFIED68Ivan Magalhaes
1033Mayumi C VenereGermany2024-06-16Buckley Miller Wright QUALIFIED39Stephen Shaw
1034Maisha W MaletCanada2024-06-04Buckley Miller Wright NEW67Stephen Shaw
1035Murillo F BologniaBrazil2024-05-26Buckley Miller Wright NEGOTIATION78Asiya Javayant
1036Deepesh Z AlbaresBrazil2024-05-28Chapman, Ross E Esq RENEWAL23Onyama Limba
1037Smith P DoeUnited Kingdom2024-05-27Chemel, James L Cpa RENEWAL90Onyama Limba
1038Juan Q GlickIndia2024-06-06Commercial Press PROPOSAL19Onyama Limba
1039Rodrigues K FerenczSpain2024-06-03Feltz Printing Service RENEWAL64Stephen Shaw
1040Jeanfrancois S CampainFrance2024-06-12Printing Dimensions PROPOSAL94Ivan Magalhaes
1041Maisha C DarakjyJapan2024-06-09Chapman, Ross E Esq QUALIFIED4Anna Fali
1042Leja M FigeroaBrazil2024-06-12Chanay, Jeffrey A Esq NEW7Bernardo Dominic
1043Chavez K KolmetzGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED55Ivan Magalhaes
1044Maisha A FigeroaGermany2024-06-08Buckley Miller Wright PROPOSAL94Anna Fali
1045Octavia Y CaudyJapan2024-05-26Chanay, Jeffrey A Esq PROPOSAL82Xuxue Feng
1046Jones I BriddickIndia2024-06-04Truhlar And Truhlar Attys RENEWAL34Elwin Sharvill
1047Morrow G SaylorsBrazil2024-05-22Commercial Press NEGOTIATION20Amy Elsner
1048Salvatore B TollnerRussia2024-06-03Feltz Printing Service NEGOTIATION98Onyama Limba
1049Antonio U SlusarskiIndia2024-06-11Rousseaux, Michael Esq UNQUALIFIED20Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo P RoysterBrazilIvan Magalhaes UNQUALIFIED
Silvio Y PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh V WaycottSpainXuxue Feng NEW
James X WieserRussiaStephen Shaw RENEWAL
Sinclair U ButtJapanAnna Fali NEW
Ricardo L MacleadAustraliaAnna Fali NEW
Mayumi G RimAustraliaStephen Shaw RENEWAL
Jeanfrancois J GillianFranceBernardo Dominic UNQUALIFIED
Tony S BriddickFranceElwin Sharvill QUALIFIED
Claire X FerenczRussiaAnna Fali PROPOSAL
Antonio S KolmetzSpainIvan Magalhaes UNQUALIFIED
Arvin P GillianUnited KingdomIoni Bowcher QUALIFIED
Francesco O BologniaRussiaAnna Fali RENEWAL
Misaki C SlusarskiJapanIoni Bowcher QUALIFIED
David H VenereJapanOnyama Limba RENEWAL
Maria J ButtSpainBernardo Dominic QUALIFIED
Isabel H CaudyFranceBernardo Dominic NEW
Leon I MacleadAustraliaXuxue Feng RENEWAL
Greenwood U RutaFranceAsiya Javayant QUALIFIED
Darci C GillianIndiaAmy Elsner PROPOSAL
Deepesh Z WhobreyUnited KingdomAmy Elsner RENEWAL
Aditya C DoeCanadaOnyama Limba NEW
Misaki V NickaArgentinaAmy Elsner RENEWAL
Mujtaba J KuskoRussiaStephen Shaw UNQUALIFIED
Claire N BologniaUnited KingdomAnna Fali UNQUALIFIED
Izzy K SergiIndiaAnna Fali NEGOTIATION
Darci U CampainAustraliaIvan Magalhaes NEW
Jeanfrancois W NestleGermanyBernardo Dominic QUALIFIED
Kaitlin J FerenczBrazilXuxue Feng PROPOSAL
Aditya Q FollerUnited KingdomAmy Elsner UNQUALIFIED
Nicolas T DarakjyFranceStephen Shaw QUALIFIED
Silvio Q RutaCanadaStephen Shaw RENEWAL
Leja I MorascaCanadaXuxue Feng QUALIFIED
Mayumi Y WhobreyFranceStephen Shaw NEW
Emily V SlusarskiIndiaAnna Fali UNQUALIFIED
Julie V AmigonJapanOnyama Limba PROPOSAL
Ricardo C OstroskyBrazilIvan Magalhaes NEW
Greenwood G StockhamGermanyElwin Sharvill NEGOTIATION
Ivar P SlusarskiBrazilAmy Elsner QUALIFIED
Antonio J GlickArgentinaElwin Sharvill NEGOTIATION
Emily V WhobreyBrazilStephen Shaw UNQUALIFIED
Claire P SlusarskiIndiaXuxue Feng RENEWAL
Leja W GarufiArgentinaOnyama Limba QUALIFIED
Isabel M WieserAustraliaIvan Magalhaes PROPOSAL
Antonio N MarrierBrazilXuxue Feng PROPOSAL
Leon C DoeSpainOnyama Limba UNQUALIFIED
Silvio H VocelkaIndiaStephen Shaw QUALIFIED
Rodrigues Y GlickBrazilAnna Fali UNQUALIFIED
Emily N ShinkoBrazilIoni Bowcher PROPOSAL
Murillo F FollerGermanyOnyama Limba RENEWAL
Frozen Columns
Name
Leja K Marrier
Alejandro O Poquette
Aika P Amigon
Jones Q Gaucho
Deepesh Q Darakjy
Nicolas J Bowley
Cody H Caudy
Emily Y Stenseth
Faith W Caudy
Adams C Vocelka
Leon Y Wieser
Antonio I Venere
Rodrigues E Malet
Isabel L Ostrosky
Ashley S Whobrey
Kaitlin S Schemmer
Jones Q Ruta
Clifford X Kusko
David K Marrier
Aditya P Caldarera
Ricardo B Caldarera
Silvio U Royster
Maria E Gillian
Kaitlin O Butt
Stacey I Stenseth
Stacey W Kolmetz
Silvio X Iturbide
Kaitlin V Perin
Adams J Paprocki
Johnson P Ruta
Silvio V Albares
Faith Q Whobrey
Sinclair F Perin
Wickens L Saylors
Octavia H Stockham
Costa F Oldroyd
Emily B Flosi
Emily F Maclead
Aditya Y Flosi
Mujtaba H Morasca
Aruna S Ruta
Johnson M Foller
Kaitlin L Kolmetz
Francesco K Doe
Izzy K Doe
Aditya L Darakjy
Emily W Amigon
Julie R Waycott
Morrow Z Albares
Murillo A Whobrey
IdCountryDate
1000Spain2024-06-01
1001Japan2024-05-28
1002Italy2024-06-15
1003Spain2024-05-29
1004Italy2024-05-27
1005Argentina2024-05-20
1006Brazil2024-06-03
1007Italy2024-06-05
1008Germany2024-05-22
1009Australia2024-05-23
1010Australia2024-05-22
1011Argentina2024-05-30
1012Argentina2024-06-15
1013Australia2024-06-06
1014Brazil2024-05-30
1015India2024-06-11
1016United Kingdom2024-06-13
1017Germany2024-06-05
1018Brazil2024-06-01
1019United Kingdom2024-05-28
1020United Kingdom2024-05-28
1021Italy2024-06-15
1022Spain2024-05-25
1023Argentina2024-06-14
1024Australia2024-05-26
1025Brazil2024-06-05
1026Argentina2024-06-03
1027Spain2024-06-07
1028Canada2024-06-10
1029Australia2024-05-25
1030Spain2024-05-23
1031India2024-06-11
1032France2024-06-09
1033Japan2024-06-12
1034United Kingdom2024-05-23
1035Italy2024-05-23
1036Italy2024-05-24
1037United Kingdom2024-06-07
1038Brazil2024-06-15
1039India2024-06-13
1040Russia2024-05-21
1041Argentina2024-05-24
1042Australia2024-05-27
1043Canada2024-05-23
1044Australia2024-05-22
1045Brazil2024-05-31
1046India2024-05-25
1047Russia2024-06-08
1048Brazil2024-05-25
1049France2024-06-11

On-Demand Data

NameIdCountryDate
Leja J Glick1000Russia2024-05-22
Wickens M Oldroyd1001United Kingdom2024-06-06
Jeanfrancois J Darakjy1002France2024-05-29
Rodrigues A Doe1003Germany2024-06-08
Emily G Shinko1004Spain2024-06-11
Munro J Paprocki1005Italy2024-05-21
Cody O Inouye1006Brazil2024-06-12
Aditya J Gaucho1007Japan2024-05-29
Morrow Q Ruta1008Argentina2024-05-19
Ivar K Poquette1009Spain2024-06-07
Adams I Ostrosky1010Argentina2024-06-09
Johnson U Morasca1011France2024-06-02
Claire P Campain1012Canada2024-05-28
Aruna D Paprocki1013Japan2024-06-15
Alejandro I Waycott1014Canada2024-06-06
Octavia A Flosi1015India2024-05-19
Kaitlin W Rulapaugh1016Canada2024-06-04
Johnson H Royster1017France2024-06-16
Mujtaba C Ferencz1018Canada2024-06-01
Silvio K Flosi1019India2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh G GarufiSpainAsiya Javayant UNQUALIFIED
Juan Q MarrierGermanyAnna Fali NEGOTIATION
Stacey J SlusarskiBrazilIvan Magalhaes PROPOSAL
James I BowleyJapanStephen Shaw NEW
Mayumi V StensethItalyAnna Fali NEGOTIATION
Aika H RutaArgentinaOnyama Limba PROPOSAL
Clifford Y StensethUnited KingdomIvan Magalhaes NEGOTIATION
Tony A ButtBrazilIoni Bowcher RENEWAL
Mujtaba X ChuiFranceOnyama Limba PROPOSAL
Faith N DarakjySpainIvan Magalhaes RENEWAL
Maisha P ChuiItalyStephen Shaw QUALIFIED
Antonio J PerinUnited KingdomIoni Bowcher NEGOTIATION
Antonio P SaylorsGermanyAnna Fali UNQUALIFIED
Clifford E SlusarskiJapanIoni Bowcher PROPOSAL
Antonio Z FollerJapanXuxue Feng RENEWAL
Mujtaba Z RoysterJapanXuxue Feng QUALIFIED
Smith A StensethCanadaIoni Bowcher NEGOTIATION
Murillo Q SergiRussiaAsiya Javayant RENEWAL
Jefferson M RulapaughCanadaElwin Sharvill UNQUALIFIED
James E PerinFranceOnyama Limba RENEWAL
Francesco Y MarrierBrazilAnna Fali QUALIFIED
Julie N TollnerGermanyStephen Shaw RENEWAL
Wickens Q StockhamGermanyIoni Bowcher PROPOSAL
Costa S VocelkaAustraliaXuxue Feng NEGOTIATION
Leja Q BologniaIndiaElwin Sharvill UNQUALIFIED
Jones I FlosiSpainIoni Bowcher NEW
Arvin M BriddickCanadaIvan Magalhaes NEW
Octavia U OldroydIndiaIvan Magalhaes NEW
Arvin Q WhobreyGermanyElwin Sharvill NEGOTIATION
Leja R RulapaughGermanyBernardo Dominic RENEWAL
James U ButtCanadaAnna Fali NEGOTIATION
Isabel N PerinCanadaIoni Bowcher NEGOTIATION
Costa W MaletBrazilStephen Shaw QUALIFIED
Kaitlin Q GarufiIndiaAsiya Javayant NEGOTIATION
Murillo V GarufiJapanElwin Sharvill NEGOTIATION
Mayumi E GauchoAustraliaAmy Elsner NEW
Greenwood E RulapaughFranceXuxue Feng RENEWAL
Darci K InouyeItalyIoni Bowcher UNQUALIFIED
Alejandro N GarufiAustraliaStephen Shaw PROPOSAL
Murillo T FollerArgentinaIoni Bowcher 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>