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
Johnson Z GlickArgentinaIvan Magalhaes NEGOTIATION
Leon W MacleadRussiaBernardo Dominic QUALIFIED
Nicolas E WaycottItalyAsiya Javayant NEGOTIATION
Antonio X CampainGermanyAnna Fali QUALIFIED
Ivar X OldroydBrazilAmy Elsner NEW
Juan S AmigonGermanyAsiya Javayant RENEWAL
Rodrigues O RutaUnited KingdomXuxue Feng PROPOSAL
Leon L ShinkoRussiaStephen Shaw NEGOTIATION
Adams V VocelkaRussiaElwin Sharvill QUALIFIED
Aruna Q ButtRussiaAsiya Javayant RENEWAL
Misaki O CampainSpainAmy Elsner NEW
Juan D FigeroaAustraliaElwin Sharvill NEW
Ivar A MorascaRussiaBernardo Dominic RENEWAL
Murillo D ShinkoIndiaAmy Elsner UNQUALIFIED
Salvatore L RutaFranceOnyama Limba UNQUALIFIED
Octavia P GillianRussiaAsiya Javayant PROPOSAL
Mayumi Y KuskoBrazilOnyama Limba QUALIFIED
James G KolmetzUnited KingdomAnna Fali PROPOSAL
Isabel K FollerSpainAnna Fali PROPOSAL
Aditya F BowleySpainAnna Fali RENEWAL
Silvio Y FigeroaFranceIoni Bowcher NEGOTIATION
Kadeem Y CampainRussiaIoni Bowcher PROPOSAL
Emily U StockhamSpainBernardo Dominic NEW
Izzy Q CampainJapanStephen Shaw UNQUALIFIED
Emily B CaudyRussiaOnyama Limba NEW
Morrow I FigeroaSpainIvan Magalhaes PROPOSAL
Maria D NickaBrazilAnna Fali RENEWAL
Aika M SchemmerCanadaStephen Shaw QUALIFIED
Jefferson A FigeroaRussiaIoni Bowcher NEW
Claire L FigeroaBrazilXuxue Feng PROPOSAL
Cody V MacleadGermanyIvan Magalhaes NEW
Francesco R FerenczFranceAmy Elsner NEW
Maria D RulapaughAustraliaElwin Sharvill UNQUALIFIED
James J OstroskySpainAmy Elsner RENEWAL
Jennifer I FollerSpainIoni Bowcher NEW
Wickens B ChuiUnited KingdomAsiya Javayant NEGOTIATION
Smith H InouyeRussiaElwin Sharvill NEW
Silvio E WaycottRussiaBernardo Dominic UNQUALIFIED
Tony K SlusarskiAustraliaOnyama Limba UNQUALIFIED
Jennifer G PaprockiAustraliaAmy Elsner PROPOSAL
Jennifer U IturbideItalyAsiya Javayant QUALIFIED
Leja W DilliardRussiaIoni Bowcher RENEWAL
Adams E NestleCanadaIvan Magalhaes PROPOSAL
Izzy H StensethCanadaAmy Elsner PROPOSAL
Jones W InouyeAustraliaXuxue Feng NEGOTIATION
Wickens N PaprockiArgentinaStephen Shaw NEGOTIATION
Tony W FlosiUnited KingdomOnyama Limba NEW
Nicolas V BologniaRussiaOnyama Limba RENEWAL
Francesco F FlosiArgentinaBernardo Dominic QUALIFIED
Mujtaba K DoeGermanyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues V ShinkoBrazilAsiya Javayant QUALIFIED
Salvatore V CampainUnited KingdomAsiya Javayant QUALIFIED
Ashley J NestleArgentinaAmy Elsner UNQUALIFIED
Ivar R FlosiSpainOnyama Limba NEW
Jennifer T InouyeBrazilIoni Bowcher PROPOSAL
Munro B NestleArgentinaElwin Sharvill QUALIFIED
Kaitlin P RutaRussiaStephen Shaw NEGOTIATION
Jefferson T VocelkaCanadaAnna Fali RENEWAL
Cody J PerinSpainStephen Shaw PROPOSAL
Cody B OstroskyGermanyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow L MorascaIndia2024-05-25Dorl, James J Esq PROPOSAL61Asiya Javayant
1001Ashley M GauchoItaly2024-06-04Rousseaux, Michael Esq NEW82Onyama Limba
1002Maria S DilliardCanada2024-06-20Benton, John B Jr UNQUALIFIED18Amy Elsner
1003Cody V FlosiGermany2024-06-08Truhlar And Truhlar Attys NEW52Anna Fali
1004Aruna H SaylorsIndia2024-06-03Dorl, James J Esq QUALIFIED60Ivan Magalhaes
1005Munro K IturbideSpain2024-06-20Chanay, Jeffrey A Esq RENEWAL18Amy Elsner
1006Deepesh B GarufiGermany2024-06-10Commercial Press QUALIFIED50Elwin Sharvill
1007Jennifer T SergiAustralia2024-06-16Truhlar And Truhlar Attys RENEWAL56Onyama Limba
1008Maisha G WhobreyAustralia2024-06-11Buckley Miller Wright UNQUALIFIED36Xuxue Feng
1009Tony B NickaUnited Kingdom2024-06-13Feiner Bros NEGOTIATION97Ioni Bowcher
1010Faith F FigeroaIndia2024-05-25Buckley Miller Wright NEW38Ioni Bowcher
1011Tony P SergiIndia2024-06-22Chapman, Ross E Esq PROPOSAL61Ivan Magalhaes
1012Nicolas Y SergiIndia2024-05-27Rousseaux, Michael Esq RENEWAL26Amy Elsner
1013Darci Z KuskoGermany2024-06-18Commercial Press PROPOSAL29Asiya Javayant
1014Costa R DilliardFrance2024-06-02Commercial Press NEGOTIATION30Bernardo Dominic
1015Cody C ShinkoJapan2024-06-01Feltz Printing Service QUALIFIED93Ivan Magalhaes
1016Jennifer Y SergiJapan2024-06-17King, Christopher A Esq UNQUALIFIED42Stephen Shaw
1017Wickens F IturbideItaly2024-05-25Dorl, James J Esq PROPOSAL76Stephen Shaw
1018James B IturbideSpain2024-05-28Dorl, James J Esq PROPOSAL55Asiya Javayant
1019Rodrigues V NickaArgentina2024-05-24Printing Dimensions UNQUALIFIED62Stephen Shaw
1020Juan U StockhamArgentina2024-06-03Feltz Printing Service RENEWAL56Onyama Limba
1021Adams H RutaCanada2024-06-01Buckley Miller Wright RENEWAL25Ivan Magalhaes
1022Aruna B ChuiGermany2024-06-05Benton, John B Jr QUALIFIED28Onyama Limba
1023Maria J ChuiArgentina2024-06-06Benton, John B Jr RENEWAL94Onyama Limba
1024Jones Y CampainFrance2024-06-06Truhlar And Truhlar Attys NEGOTIATION38Ivan Magalhaes
1025Claire Y VocelkaFrance2024-06-10Commercial Press NEW16Ivan Magalhaes
1026Jeanfrancois A SchemmerRussia2024-06-22Morlong Associates UNQUALIFIED20Ioni Bowcher
1027Alejandro F PerinArgentina2024-06-03Feiner Bros NEGOTIATION82Bernardo Dominic
1028Mujtaba B VocelkaJapan2024-06-04Rangoni Of Florence QUALIFIED54Ivan Magalhaes
1029Octavia G SchemmerItaly2024-06-03Chapman, Ross E Esq UNQUALIFIED54Ioni Bowcher
1030Kadeem Q SergiBrazil2024-05-29Chemel, James L Cpa QUALIFIED27Bernardo Dominic
1031Morrow T SchemmerArgentina2024-06-17Rousseaux, Michael Esq QUALIFIED13Ioni Bowcher
1032Salvatore P DarakjyBrazil2024-06-08Chemel, James L Cpa QUALIFIED3Elwin Sharvill
1033Maisha T StensethItaly2024-06-13Buckley Miller Wright PROPOSAL13Xuxue Feng
1034Tony P KolmetzAustralia2024-06-04Chemel, James L Cpa NEW64Asiya Javayant
1035Aruna E FigeroaIndia2024-05-25Morlong Associates PROPOSAL0Anna Fali
1036Jeanfrancois U ChuiIndia2024-06-21Rousseaux, Michael Esq PROPOSAL3Onyama Limba
1037Sinclair U ChuiArgentina2024-06-06Truhlar And Truhlar Attys NEW63Onyama Limba
1038Jeanfrancois C ButtItaly2024-05-29Commercial Press UNQUALIFIED67Stephen Shaw
1039Mayumi J MaletRussia2024-05-27Truhlar And Truhlar Attys NEGOTIATION0Ioni Bowcher
1040Arvin M SaylorsCanada2024-06-20Morlong Associates QUALIFIED64Stephen Shaw
1041Mayumi M DilliardJapan2024-05-31Rousseaux, Michael Esq UNQUALIFIED95Asiya Javayant
1042Costa D WaycottAustralia2024-06-11Commercial Press PROPOSAL48Bernardo Dominic
1043Alejandro I PaprockiItaly2024-06-14Morlong Associates RENEWAL77Onyama Limba
1044Chavez P CampainCanada2024-06-21Feltz Printing Service PROPOSAL92Ioni Bowcher
1045Emily M KolmetzRussia2024-06-14Truhlar And Truhlar Attys RENEWAL69Amy Elsner
1046Leja W VocelkaArgentina2024-06-16Feltz Printing Service QUALIFIED83Onyama Limba
1047Octavia A MacleadAustralia2024-06-19Benton, John B Jr PROPOSAL69Onyama Limba
1048Jennifer Q BologniaRussia2024-06-19Chapman, Ross E Esq QUALIFIED59Ioni Bowcher
1049Stacey M FollerRussia2024-06-14King, Christopher A Esq QUALIFIED57Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Wickens A WhobreyRussiaAsiya Javayant NEGOTIATION
Isabel H KuskoJapanAnna Fali NEGOTIATION
Salvatore E CaudyItalyStephen Shaw NEGOTIATION
Misaki J NickaGermanyIoni Bowcher RENEWAL
Izzy P DoeItalyIoni Bowcher UNQUALIFIED
Clifford Q RoysterIndiaIvan Magalhaes UNQUALIFIED
Kadeem X MarrierBrazilStephen Shaw NEGOTIATION
Ricardo U DoeBrazilAnna Fali UNQUALIFIED
Leon M WhobreySpainElwin Sharvill UNQUALIFIED
Adams Q BologniaSpainAmy Elsner NEW
Isabel Q SergiSpainIoni Bowcher UNQUALIFIED
Aruna V OldroydArgentinaAnna Fali RENEWAL
Munro X DoeCanadaAnna Fali UNQUALIFIED
Darci A OldroydArgentinaAmy Elsner UNQUALIFIED
Rodrigues G CampainIndiaIvan Magalhaes NEW
Silvio G WaycottArgentinaXuxue Feng UNQUALIFIED
Tony L FigeroaCanadaIvan Magalhaes PROPOSAL
Costa V FigeroaArgentinaXuxue Feng PROPOSAL
Leon J NestleCanadaStephen Shaw UNQUALIFIED
Mayumi T RoysterBrazilStephen Shaw NEGOTIATION
Sinclair N VenereAustraliaStephen Shaw RENEWAL
Tony B GarufiArgentinaAnna Fali NEGOTIATION
Aika P MaletBrazilIoni Bowcher NEGOTIATION
Wickens V SaylorsJapanAmy Elsner RENEWAL
Cody F DilliardArgentinaBernardo Dominic UNQUALIFIED
Murillo L MorascaUnited KingdomAnna Fali QUALIFIED
Jennifer G DoeJapanXuxue Feng RENEWAL
Mayumi G MorascaBrazilXuxue Feng NEGOTIATION
Octavia G MarrierRussiaIvan Magalhaes NEW
Nicolas E RimUnited KingdomAsiya Javayant NEW
Aditya B MaletUnited KingdomElwin Sharvill RENEWAL
Ashley O VenereRussiaIoni Bowcher NEW
Costa X CaldareraCanadaBernardo Dominic UNQUALIFIED
Mujtaba E KolmetzIndiaAsiya Javayant UNQUALIFIED
Leon I WhobreyAustraliaBernardo Dominic QUALIFIED
Maisha G AmigonItalyIoni Bowcher RENEWAL
Jeanfrancois V WieserItalyIvan Magalhaes QUALIFIED
Maria W GauchoRussiaOnyama Limba UNQUALIFIED
Alejandro J SlusarskiItalyStephen Shaw NEW
Tony A MarrierItalyAsiya Javayant PROPOSAL
James C RoysterRussiaElwin Sharvill NEGOTIATION
Jennifer Q KuskoJapanElwin Sharvill PROPOSAL
Ricardo N PaprockiIndiaElwin Sharvill UNQUALIFIED
James V NickaJapanIvan Magalhaes QUALIFIED
Greenwood T SergiItalyBernardo Dominic NEGOTIATION
Morrow Q RimCanadaAnna Fali QUALIFIED
Greenwood P FigeroaRussiaElwin Sharvill NEGOTIATION
Nicolas X StensethUnited KingdomAmy Elsner NEGOTIATION
Smith M VenereIndiaIoni Bowcher RENEWAL
Alejandro W StensethCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Munro T Foller
Maria X Sergi
Wickens N Perin
Kaitlin L Nicka
Kaitlin S Waycott
Nicolas M Venere
Faith A Venere
Stacey L Nestle
Smith Y Marrier
Salvatore H Venere
Deepesh K Rim
Leon V Waycott
Darci A Caldarera
Chavez E Glick
Chavez M Saylors
Chavez D Iturbide
Alejandro I Chui
Munro T Glick
Faith F Slusarski
Leon Z Maclead
Maria V Bolognia
Antonio S Poquette
Deepesh A Ferencz
Aruna M Rulapaugh
Sinclair V Paprocki
Aditya A Oldroyd
Salvatore H Gaucho
Aruna L Tollner
Aika W Waycott
Jeanfrancois P Wieser
Tony E Royster
Jefferson S Briddick
Tony Q Rulapaugh
Wickens Y Albares
Stacey X Poquette
Sinclair X Oldroyd
Juan J Foller
Murillo U Darakjy
Ashley A Ostrosky
Stacey F Kusko
Leon Z Rulapaugh
Mujtaba P Marrier
Ricardo D Stockham
Ricardo B Gaucho
Smith D Bolognia
Stacey W Amigon
James D Paprocki
Deepesh P Rulapaugh
Mujtaba X Gillian
Johnson B Oldroyd
IdCountryDate
1000Germany2024-06-16
1001India2024-06-10
1002United Kingdom2024-05-24
1003Brazil2024-06-19
1004Spain2024-06-13
1005France2024-06-12
1006Brazil2024-06-13
1007Spain2024-06-21
1008Japan2024-05-30
1009Japan2024-06-07
1010Canada2024-05-30
1011Argentina2024-06-13
1012Canada2024-06-14
1013Spain2024-05-27
1014Germany2024-06-19
1015Germany2024-06-01
1016Germany2024-06-09
1017Spain2024-06-01
1018Brazil2024-05-25
1019Spain2024-06-01
1020Russia2024-06-06
1021United Kingdom2024-06-09
1022Italy2024-06-01
1023Japan2024-06-07
1024Brazil2024-06-08
1025Australia2024-06-07
1026India2024-05-24
1027Italy2024-06-01
1028France2024-06-03
1029Germany2024-06-20
1030India2024-06-15
1031Japan2024-06-07
1032Brazil2024-06-08
1033Argentina2024-06-12
1034Argentina2024-06-17
1035France2024-05-31
1036Spain2024-06-16
1037Russia2024-06-21
1038Russia2024-06-16
1039Canada2024-05-26
1040France2024-06-22
1041India2024-06-03
1042Canada2024-06-05
1043Spain2024-05-25
1044Japan2024-06-05
1045Russia2024-06-20
1046Brazil2024-06-14
1047India2024-06-05
1048Argentina2024-06-11
1049Australia2024-06-20

On-Demand Data

NameIdCountryDate
Ashley O Morasca1000France2024-06-08
Ivar L Wieser1001France2024-05-28
Aditya V Whobrey1002Italy2024-06-07
Morrow U Slusarski1003United Kingdom2024-06-09
Wickens M Darakjy1004Brazil2024-06-12
Ashley U Venere1005Italy2024-06-05
Octavia A Shinko1006Australia2024-05-30
Ricardo U Vocelka1007Japan2024-05-26
Claire R Paprocki1008Spain2024-06-06
Izzy E Malet1009United Kingdom2024-06-21
Kadeem W Amigon1010Canada2024-06-16
Aditya P Doe1011Canada2024-05-30
James S Ferencz1012Japan2024-05-28
Alejandro F Malet1013India2024-06-18
Smith I Ostrosky1014Canada2024-06-04
Emily Y Bolognia1015France2024-05-25
Chavez K Venere1016Japan2024-06-08
Darci F Dilliard1017Russia2024-05-27
Juan A Tollner1018Australia2024-05-26
Aditya K Oldroyd1019Spain2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas M GarufiIndiaAmy Elsner PROPOSAL
Murillo S RoysterUnited KingdomIoni Bowcher NEW
David B DarakjyGermanyIvan Magalhaes PROPOSAL
Misaki T SergiArgentinaStephen Shaw PROPOSAL
Aika E VenereCanadaBernardo Dominic UNQUALIFIED
Misaki U FigeroaArgentinaElwin Sharvill QUALIFIED
Antonio B KuskoIndiaIoni Bowcher NEGOTIATION
Smith U CaudyUnited KingdomOnyama Limba RENEWAL
Maria C StensethArgentinaIoni Bowcher NEW
Julie P SergiBrazilOnyama Limba NEW
Misaki K PaprockiUnited KingdomAmy Elsner NEGOTIATION
Silvio F DoeGermanyIoni Bowcher RENEWAL
Jennifer L CaudySpainIvan Magalhaes PROPOSAL
Juan E WhobreyGermanyElwin Sharvill UNQUALIFIED
Ivar X OldroydFranceElwin Sharvill PROPOSAL
Salvatore M OldroydBrazilAmy Elsner RENEWAL
Emily O MaletAustraliaElwin Sharvill UNQUALIFIED
Darci P CaldareraGermanyAnna Fali RENEWAL
Munro F StockhamAustraliaIvan Magalhaes NEW
Francesco Q SlusarskiSpainIoni Bowcher UNQUALIFIED
Misaki L InouyeSpainStephen Shaw NEW
Stacey E VocelkaBrazilAnna Fali QUALIFIED
Stacey U FerenczItalyAsiya Javayant QUALIFIED
James B DilliardArgentinaAsiya Javayant NEGOTIATION
Maria J AmigonJapanElwin Sharvill QUALIFIED
Deepesh H FlosiArgentinaXuxue Feng UNQUALIFIED
Munro D GlickIndiaBernardo Dominic QUALIFIED
Tony H ButtArgentinaAnna Fali NEW
Murillo T DarakjyGermanyXuxue Feng NEGOTIATION
Costa E SlusarskiBrazilXuxue Feng QUALIFIED
Stacey H FollerAustraliaIvan Magalhaes NEGOTIATION
Aditya B VocelkaItalyXuxue Feng QUALIFIED
Chavez R RoysterAustraliaXuxue Feng RENEWAL
Chavez U InouyeJapanXuxue Feng RENEWAL
Aditya D NickaGermanyAmy Elsner UNQUALIFIED
Munro H StockhamCanadaAsiya Javayant NEGOTIATION
Mayumi V RoysterCanadaElwin Sharvill QUALIFIED
Emily L SlusarskiGermanyStephen Shaw PROPOSAL
Kadeem W SaylorsSpainAmy Elsner RENEWAL
Wickens G FollerJapanStephen Shaw QUALIFIED

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