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
Kaitlin O AlbaresAustraliaAsiya Javayant RENEWAL
Murillo S KuskoItalyIvan Magalhaes RENEWAL
Cody Y FollerArgentinaAmy Elsner QUALIFIED
Morrow E AlbaresBrazilAsiya Javayant QUALIFIED
Alejandro X CaldareraGermanyIoni Bowcher NEW
Emily V MorascaJapanAnna Fali NEW
Faith H FerenczFranceElwin Sharvill NEW
Nicolas N OldroydRussiaIoni Bowcher NEW
Morrow S GauchoBrazilBernardo Dominic UNQUALIFIED
Leja O BologniaAustraliaOnyama Limba NEW
Darci U ShinkoArgentinaStephen Shaw PROPOSAL
Morrow K GarufiSpainElwin Sharvill NEGOTIATION
Ricardo N AmigonSpainOnyama Limba PROPOSAL
Kadeem I ButtItalyStephen Shaw NEGOTIATION
Costa K RutaArgentinaElwin Sharvill UNQUALIFIED
Leja Y PaprockiUnited KingdomAnna Fali PROPOSAL
Salvatore R InouyeSpainXuxue Feng RENEWAL
Wickens H NickaBrazilOnyama Limba QUALIFIED
Adams L PerinAustraliaOnyama Limba PROPOSAL
Silvio C MaletFranceIoni Bowcher UNQUALIFIED
Leja D TollnerFranceIoni Bowcher RENEWAL
Murillo G RoysterIndiaAsiya Javayant NEGOTIATION
Greenwood P AlbaresUnited KingdomAmy Elsner NEGOTIATION
Greenwood D MacleadCanadaElwin Sharvill NEW
James G RutaJapanElwin Sharvill RENEWAL
Johnson P SchemmerItalyAmy Elsner PROPOSAL
Darci Z ChuiIndiaElwin Sharvill RENEWAL
Clifford U BriddickCanadaAnna Fali QUALIFIED
Stacey S NickaFranceAsiya Javayant UNQUALIFIED
Jones V GlickItalyAnna Fali PROPOSAL
Izzy O SaylorsRussiaElwin Sharvill QUALIFIED
Kadeem I WhobreySpainElwin Sharvill NEGOTIATION
Maisha M MorascaArgentinaAmy Elsner PROPOSAL
Smith T OstroskyUnited KingdomAmy Elsner RENEWAL
Deepesh M SchemmerFranceAsiya Javayant NEW
Isabel A SchemmerGermanyStephen Shaw RENEWAL
Sinclair V BologniaRussiaIvan Magalhaes PROPOSAL
Ricardo W DarakjyItalyBernardo Dominic RENEWAL
Clifford U PerinItalyIvan Magalhaes PROPOSAL
Ivar P OstroskyRussiaOnyama Limba QUALIFIED
Arvin G WaycottRussiaAsiya Javayant NEGOTIATION
Mujtaba A KolmetzAustraliaAmy Elsner NEW
Leja K NickaUnited KingdomIoni Bowcher QUALIFIED
Costa S BriddickAustraliaStephen Shaw QUALIFIED
Jeanfrancois U BriddickSpainAnna Fali NEGOTIATION
Sinclair K ShinkoCanadaAmy Elsner NEGOTIATION
Izzy V SlusarskiGermanyXuxue Feng NEW
Francesco U FigeroaJapanIoni Bowcher PROPOSAL
Deepesh Y FollerFranceBernardo Dominic QUALIFIED
Faith G BriddickUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James R IturbideGermanyBernardo Dominic NEW
Emily U WhobreyBrazilIoni Bowcher UNQUALIFIED
Ricardo J StensethGermanyIoni Bowcher RENEWAL
Greenwood I BowleyGermanyIvan Magalhaes PROPOSAL
Munro L MacleadRussiaBernardo Dominic NEW
Aditya T WaycottRussiaStephen Shaw PROPOSAL
Leja X BologniaUnited KingdomAmy Elsner NEGOTIATION
Maisha G OstroskySpainIvan Magalhaes NEW
Silvio W DoeRussiaXuxue Feng RENEWAL
Deepesh W PaprockiCanadaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow U BriddickGermany2024-06-03Morlong Associates NEW44Bernardo Dominic
1001Antonio P CaudyFrance2024-06-12Chanay, Jeffrey A Esq QUALIFIED24Bernardo Dominic
1002Sinclair T MarrierRussia2024-06-08Chanay, Jeffrey A Esq PROPOSAL0Xuxue Feng
1003Rodrigues D InouyeBrazil2024-05-27Dorl, James J Esq UNQUALIFIED55Amy Elsner
1004Julie S WhobreyRussia2024-06-07Feiner Bros NEGOTIATION35Onyama Limba
1005Smith I KuskoRussia2024-06-13Truhlar And Truhlar Attys PROPOSAL5Ivan Magalhaes
1006Silvio D SaylorsArgentina2024-05-27Chanay, Jeffrey A Esq RENEWAL68Elwin Sharvill
1007Chavez R FollerSpain2024-05-28Feltz Printing Service PROPOSAL0Stephen Shaw
1008Smith N WhobreyUnited Kingdom2024-06-15Rangoni Of Florence QUALIFIED35Ioni Bowcher
1009Francesco P AlbaresCanada2024-05-25Commercial Press NEW17Onyama Limba
1010Izzy O AmigonSpain2024-05-28Rousseaux, Michael Esq RENEWAL28Ioni Bowcher
1011Murillo U OldroydRussia2024-06-21Commercial Press NEGOTIATION65Ioni Bowcher
1012Kaitlin A SergiGermany2024-06-07King, Christopher A Esq UNQUALIFIED47Bernardo Dominic
1013Leon E PoquetteJapan2024-06-12Dorl, James J Esq NEGOTIATION26Anna Fali
1014Julie A InouyeCanada2024-06-22Feiner Bros UNQUALIFIED42Amy Elsner
1015Jennifer A AmigonJapan2024-05-26Feltz Printing Service QUALIFIED7Ivan Magalhaes
1016Jennifer S MorascaItaly2024-05-31Rousseaux, Michael Esq RENEWAL62Bernardo Dominic
1017Mayumi D AlbaresIndia2024-06-06Feiner Bros NEW83Xuxue Feng
1018Aika U NestleUnited Kingdom2024-06-04Rangoni Of Florence UNQUALIFIED16Bernardo Dominic
1019Leja E RutaBrazil2024-06-05Rousseaux, Michael Esq UNQUALIFIED51Stephen Shaw
1020Morrow E BologniaIndia2024-06-03Chemel, James L Cpa QUALIFIED26Ivan Magalhaes
1021James J ButtAustralia2024-06-15Chapman, Ross E Esq RENEWAL96Amy Elsner
1022David X SaylorsUnited Kingdom2024-05-27Feltz Printing Service NEW62Elwin Sharvill
1023Aditya U BriddickBrazil2024-06-22Rousseaux, Michael Esq RENEWAL47Bernardo Dominic
1024Ivar J WhobreyJapan2024-06-03Benton, John B Jr NEW70Ioni Bowcher
1025Silvio E OldroydIndia2024-06-07Chapman, Ross E Esq UNQUALIFIED22Ioni Bowcher
1026Claire H WhobreyItaly2024-06-19Dorl, James J Esq RENEWAL57Ivan Magalhaes
1027Jennifer N GillianCanada2024-06-02Rousseaux, Michael Esq UNQUALIFIED28Asiya Javayant
1028Costa I RimJapan2024-06-02Dorl, James J Esq NEW19Amy Elsner
1029Kadeem C DilliardFrance2024-06-01Rousseaux, Michael Esq QUALIFIED92Elwin Sharvill
1030Jennifer J TollnerGermany2024-06-07King, Christopher A Esq RENEWAL26Ivan Magalhaes
1031Maisha R KuskoBrazil2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED21Xuxue Feng
1032Maisha Y IturbideSpain2024-06-16King, Christopher A Esq QUALIFIED72Bernardo Dominic
1033Silvio M RoysterItaly2024-06-12Chanay, Jeffrey A Esq QUALIFIED18Anna Fali
1034Mujtaba I KolmetzItaly2024-06-14Feltz Printing Service RENEWAL19Amy Elsner
1035Cody I MarrierArgentina2024-05-25Truhlar And Truhlar Attys RENEWAL60Amy Elsner
1036Sinclair Y InouyeAustralia2024-06-01Truhlar And Truhlar Attys NEW41Stephen Shaw
1037Julie L PaprockiIndia2024-06-01Rangoni Of Florence UNQUALIFIED24Anna Fali
1038James H GlickUnited Kingdom2024-06-21Buckley Miller Wright UNQUALIFIED61Amy Elsner
1039Leja C BologniaGermany2024-05-31Morlong Associates RENEWAL32Stephen Shaw
1040Deepesh Z ButtGermany2024-06-08Benton, John B Jr NEGOTIATION54Bernardo Dominic
1041Kaitlin Z VenereArgentina2024-06-19Benton, John B Jr PROPOSAL54Xuxue Feng
1042Maisha D VocelkaRussia2024-06-06King, Christopher A Esq QUALIFIED50Elwin Sharvill
1043Costa U VenereArgentina2024-05-28Truhlar And Truhlar Attys NEW99Ioni Bowcher
1044Chavez H PoquetteUnited Kingdom2024-06-14Buckley Miller Wright UNQUALIFIED28Stephen Shaw
1045David O GillianFrance2024-06-10Printing Dimensions UNQUALIFIED11Xuxue Feng
1046Julie L StockhamArgentina2024-06-15Benton, John B Jr PROPOSAL87Elwin Sharvill
1047Jeanfrancois O SaylorsArgentina2024-05-31Benton, John B Jr QUALIFIED79Onyama Limba
1048Nicolas F MorascaArgentina2024-06-16Printing Dimensions QUALIFIED50Bernardo Dominic
1049Jennifer G ShinkoFrance2024-06-03Benton, John B Jr QUALIFIED43Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Q PerinGermanyIvan Magalhaes NEGOTIATION
Silvio S PerinFranceXuxue Feng NEGOTIATION
Kaitlin G ShinkoJapanAnna Fali UNQUALIFIED
Kaitlin N KolmetzIndiaElwin Sharvill PROPOSAL
Deepesh K OstroskyAustraliaOnyama Limba UNQUALIFIED
Mujtaba M DarakjyCanadaOnyama Limba PROPOSAL
Tony K NickaUnited KingdomStephen Shaw QUALIFIED
Alejandro V InouyeSpainXuxue Feng NEGOTIATION
Aruna Z MaletSpainXuxue Feng NEGOTIATION
Mujtaba V DoeArgentinaIoni Bowcher UNQUALIFIED
Claire Z ChuiUnited KingdomOnyama Limba UNQUALIFIED
Aika W FollerRussiaStephen Shaw NEW
Emily L IturbideGermanyStephen Shaw RENEWAL
Ricardo M PoquetteCanadaIvan Magalhaes RENEWAL
Maisha P NestleCanadaElwin Sharvill RENEWAL
Silvio N PerinIndiaOnyama Limba QUALIFIED
Ivar F RimItalyXuxue Feng NEGOTIATION
Mujtaba W ChuiIndiaAsiya Javayant NEW
Izzy I FerenczRussiaOnyama Limba UNQUALIFIED
Izzy Z BologniaSpainOnyama Limba RENEWAL
Julie S MaletIndiaElwin Sharvill PROPOSAL
Chavez O FollerArgentinaElwin Sharvill NEGOTIATION
Johnson Z MacleadUnited KingdomXuxue Feng NEGOTIATION
Stacey P RimFranceElwin Sharvill NEGOTIATION
Nicolas D PoquetteArgentinaIoni Bowcher PROPOSAL
Mayumi Z NestleBrazilStephen Shaw NEW
Aika B MacleadJapanOnyama Limba NEW
Octavia M TollnerRussiaIoni Bowcher NEGOTIATION
Claire Y RutaJapanXuxue Feng PROPOSAL
Arvin R PoquetteFranceXuxue Feng NEGOTIATION
Ricardo K VenereItalyBernardo Dominic NEGOTIATION
Costa W RutaCanadaIoni Bowcher UNQUALIFIED
Aruna L SchemmerRussiaIvan Magalhaes NEW
Francesco V IturbideJapanElwin Sharvill NEW
Chavez V BowleyArgentinaStephen Shaw QUALIFIED
Wickens K SaylorsItalyStephen Shaw PROPOSAL
Aika Y FlosiCanadaStephen Shaw RENEWAL
Chavez M WhobreyCanadaIoni Bowcher QUALIFIED
Misaki Z SaylorsBrazilAsiya Javayant RENEWAL
Smith X MaletFranceAmy Elsner NEW
Emily O GarufiCanadaStephen Shaw UNQUALIFIED
Ashley K FerenczIndiaBernardo Dominic RENEWAL
Alejandro T PerinFranceIoni Bowcher UNQUALIFIED
Adams W RulapaughArgentinaIvan Magalhaes NEW
Maisha S SaylorsFranceIoni Bowcher UNQUALIFIED
Julie Q PaprockiAustraliaAnna Fali RENEWAL
Octavia T DarakjyAustraliaXuxue Feng NEW
Salvatore Y MarrierGermanyAsiya Javayant QUALIFIED
Cody C FigeroaBrazilAsiya Javayant NEW
Alejandro E AmigonCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Emily K Schemmer
Johnson X Flosi
Chavez X Garufi
Ivar P Ostrosky
Rodrigues B Campain
David B Garufi
Arvin P Nicka
Rodrigues G Nestle
Emily M Saylors
Mayumi E Sergi
Greenwood C Royster
Sinclair E Shinko
Emily H Ferencz
Aditya F Caudy
Mujtaba K Royster
Cody E Saylors
Misaki W Maclead
Julie R Tollner
Jones Z Bowley
Adams B Kolmetz
Jennifer C Malet
Aika H Caldarera
Stacey A Butt
Johnson T Amigon
Salvatore Y Stenseth
Nicolas P Stockham
Jones S Ostrosky
Nicolas U Shinko
Nicolas A Iturbide
Kaitlin K Poquette
Deepesh S Flosi
Aruna T Iturbide
Silvio Q Briddick
Jones O Caldarera
Silvio Z Poquette
Salvatore Q Whobrey
Emily S Paprocki
Alejandro R Amigon
David M Schemmer
Leja S Maclead
Smith X Figeroa
David R Briddick
Jennifer G Whobrey
Deepesh E Marrier
Adams F Oldroyd
Aditya R Rulapaugh
Ashley L Kusko
Claire U Ruta
Misaki X Venere
Arvin E Gillian
IdCountryDate
1000France2024-06-17
1001Russia2024-06-16
1002Germany2024-06-05
1003United Kingdom2024-06-13
1004Germany2024-05-24
1005Australia2024-06-22
1006Spain2024-06-10
1007Japan2024-06-09
1008Japan2024-05-30
1009France2024-06-01
1010India2024-06-14
1011Japan2024-06-02
1012Russia2024-06-18
1013Brazil2024-06-03
1014India2024-05-26
1015Argentina2024-06-16
1016India2024-05-30
1017France2024-06-11
1018India2024-06-10
1019Italy2024-06-22
1020India2024-06-19
1021United Kingdom2024-06-18
1022France2024-06-07
1023Brazil2024-06-11
1024Spain2024-06-16
1025France2024-06-03
1026Australia2024-05-29
1027France2024-06-01
1028Germany2024-05-30
1029Brazil2024-06-11
1030United Kingdom2024-05-30
1031United Kingdom2024-06-09
1032Japan2024-06-18
1033France2024-06-18
1034Spain2024-06-12
1035Russia2024-06-19
1036Italy2024-06-16
1037Germany2024-06-16
1038United Kingdom2024-06-19
1039Germany2024-06-13
1040Japan2024-06-13
1041France2024-06-06
1042Italy2024-05-25
1043Australia2024-05-28
1044India2024-06-01
1045Italy2024-06-02
1046Italy2024-06-05
1047Canada2024-06-20
1048United Kingdom2024-06-06
1049Argentina2024-06-11

On-Demand Data

NameIdCountryDate
Maisha J Briddick1000Brazil2024-06-12
Arvin I Inouye1001Germany2024-06-18
Kadeem P Gillian1002Argentina2024-05-25
Clifford U Morasca1003United Kingdom2024-06-07
Alejandro L Shinko1004Australia2024-06-17
Costa K Darakjy1005Italy2024-06-16
Aditya E Gaucho1006France2024-05-30
Emily N Gillian1007Spain2024-06-21
Maisha R Wieser1008Japan2024-06-16
Izzy C Vocelka1009India2024-05-28
Chavez H Nicka1010Spain2024-06-15
Jones N Whobrey1011United Kingdom2024-06-09
Izzy P Bolognia1012France2024-06-13
Alejandro N Foller1013Spain2024-05-24
Aruna E Paprocki1014Canada2024-06-09
Nicolas O Flosi1015India2024-06-16
Alejandro Q Inouye1016Russia2024-06-10
Mujtaba G Inouye1017Germany2024-06-18
Morrow L Kolmetz1018Canada2024-05-29
Ivar V Tollner1019Germany2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues I MorascaGermanyAsiya Javayant RENEWAL
Salvatore O PaprockiFranceAnna Fali QUALIFIED
Maria G PoquetteItalyXuxue Feng UNQUALIFIED
Isabel V CaldareraItalyElwin Sharvill NEGOTIATION
Aika H FlosiIndiaOnyama Limba PROPOSAL
Ashley Z IturbideRussiaAmy Elsner RENEWAL
Tony U TollnerJapanBernardo Dominic QUALIFIED
Isabel B MaletFranceOnyama Limba PROPOSAL
Nicolas D NickaJapanAmy Elsner RENEWAL
Faith W NickaJapanXuxue Feng UNQUALIFIED
Leon M SaylorsArgentinaIvan Magalhaes QUALIFIED
David G FigeroaRussiaXuxue Feng QUALIFIED
Antonio Q BologniaSpainStephen Shaw RENEWAL
Morrow J RimAustraliaStephen Shaw NEGOTIATION
Johnson F IturbideBrazilIvan Magalhaes RENEWAL
Jones C GlickGermanyBernardo Dominic NEW
Johnson L WieserBrazilOnyama Limba UNQUALIFIED
James P WieserIndiaAnna Fali NEW
Jeanfrancois F BologniaRussiaStephen Shaw UNQUALIFIED
Jeanfrancois B BowleyArgentinaAsiya Javayant NEW
Morrow J GillianAustraliaXuxue Feng QUALIFIED
Claire C MaletFranceStephen Shaw PROPOSAL
Izzy M SergiArgentinaXuxue Feng NEGOTIATION
Claire U MaletSpainBernardo Dominic PROPOSAL
Murillo M CaudyArgentinaAnna Fali UNQUALIFIED
Munro X CaudyAustraliaOnyama Limba UNQUALIFIED
Costa S FollerCanadaAnna Fali UNQUALIFIED
Johnson Y SchemmerBrazilAnna Fali UNQUALIFIED
Rodrigues R PerinUnited KingdomAsiya Javayant UNQUALIFIED
Clifford C StensethJapanElwin Sharvill RENEWAL
Jeanfrancois F MaletAustraliaIoni Bowcher PROPOSAL
David L GauchoJapanXuxue Feng NEW
Claire I ShinkoBrazilBernardo Dominic QUALIFIED
Munro I ChuiCanadaIvan Magalhaes QUALIFIED
Francesco R CaudyAustraliaIoni Bowcher RENEWAL
Munro S InouyeBrazilXuxue Feng NEGOTIATION
Stacey N StensethRussiaIoni Bowcher NEGOTIATION
Isabel Q InouyeFranceXuxue Feng RENEWAL
Clifford R PerinArgentinaAsiya Javayant PROPOSAL
Leja R MorascaBrazilIoni 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>