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
Rodrigues J CaudyGermanyIoni Bowcher PROPOSAL
Maria P AlbaresItalyAsiya Javayant NEGOTIATION
Emily Y KolmetzFranceAsiya Javayant PROPOSAL
Antonio J RulapaughIndiaIoni Bowcher RENEWAL
Kadeem Q RutaSpainAmy Elsner UNQUALIFIED
Adams I SergiSpainAsiya Javayant UNQUALIFIED
Greenwood H ShinkoCanadaXuxue Feng NEW
Alejandro F FollerAustraliaIoni Bowcher NEGOTIATION
Morrow E RutaCanadaStephen Shaw RENEWAL
Murillo Q RutaGermanyIvan Magalhaes NEGOTIATION
Izzy W AlbaresArgentinaOnyama Limba QUALIFIED
Rodrigues F PerinGermanyAsiya Javayant QUALIFIED
Arvin N ButtArgentinaIvan Magalhaes UNQUALIFIED
Aruna I IturbideBrazilXuxue Feng UNQUALIFIED
Costa J GarufiArgentinaElwin Sharvill QUALIFIED
Ivar I WaycottBrazilBernardo Dominic QUALIFIED
Kadeem L DilliardGermanyAmy Elsner UNQUALIFIED
Johnson T ShinkoIndiaAmy Elsner UNQUALIFIED
Deepesh R VenereBrazilIoni Bowcher NEGOTIATION
Nicolas K AlbaresUnited KingdomAnna Fali UNQUALIFIED
Leon T MaletArgentinaOnyama Limba NEGOTIATION
Munro S BologniaJapanAnna Fali RENEWAL
Octavia U GillianUnited KingdomIvan Magalhaes RENEWAL
Jennifer P VenereCanadaIoni Bowcher QUALIFIED
Leon Y KuskoRussiaXuxue Feng QUALIFIED
Ricardo Q VocelkaUnited KingdomAnna Fali NEW
Munro X VocelkaRussiaStephen Shaw NEW
Wickens B RoysterFranceAsiya Javayant PROPOSAL
Octavia Y IturbideRussiaBernardo Dominic UNQUALIFIED
Ricardo U SaylorsIndiaAmy Elsner QUALIFIED
Juan M PerinIndiaAmy Elsner QUALIFIED
David N FollerJapanIoni Bowcher NEW
Adams M InouyeUnited KingdomXuxue Feng PROPOSAL
Octavia U BologniaUnited KingdomOnyama Limba PROPOSAL
Kadeem F AlbaresSpainAnna Fali UNQUALIFIED
Stacey B RulapaughArgentinaAnna Fali NEW
Claire H PaprockiBrazilElwin Sharvill UNQUALIFIED
Aditya R GarufiGermanyStephen Shaw QUALIFIED
Maria P IturbideSpainXuxue Feng UNQUALIFIED
Emily C DarakjyJapanStephen Shaw NEW
Maisha I CaldareraCanadaElwin Sharvill RENEWAL
Alejandro G OstroskyJapanXuxue Feng QUALIFIED
Darci G FigeroaArgentinaAnna Fali NEGOTIATION
Ricardo K AlbaresFranceAmy Elsner UNQUALIFIED
Chavez U StockhamCanadaAnna Fali NEGOTIATION
Jeanfrancois K SaylorsItalyAnna Fali NEW
Munro O RulapaughUnited KingdomStephen Shaw NEW
Maria V NickaFranceOnyama Limba NEGOTIATION
Jones V CaldareraSpainAnna Fali QUALIFIED
David J DilliardAustraliaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco A SaylorsJapanOnyama Limba QUALIFIED
Ivar U RulapaughUnited KingdomXuxue Feng NEGOTIATION
Faith V StockhamFranceAsiya Javayant UNQUALIFIED
Salvatore T RimBrazilElwin Sharvill NEGOTIATION
Arvin B RutaItalyIvan Magalhaes PROPOSAL
Ivar V PoquetteAustraliaIvan Magalhaes NEGOTIATION
Sinclair Q IturbideSpainAnna Fali UNQUALIFIED
Octavia F PoquetteItalyOnyama Limba NEGOTIATION
Faith N CaldareraUnited KingdomIvan Magalhaes RENEWAL
Juan V WieserGermanyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore W GauchoFrance2024-05-10Truhlar And Truhlar Attys UNQUALIFIED91Bernardo Dominic
1001Antonio R ButtFrance2024-05-27King, Christopher A Esq UNQUALIFIED36Stephen Shaw
1002Arvin O ChuiFrance2024-05-24Chemel, James L Cpa PROPOSAL92Anna Fali
1003Leon O AlbaresJapan2024-05-05Chanay, Jeffrey A Esq QUALIFIED42Amy Elsner
1004Greenwood U StockhamRussia2024-05-18Chemel, James L Cpa RENEWAL59Xuxue Feng
1005Jeanfrancois Y OldroydAustralia2024-05-07Benton, John B Jr UNQUALIFIED53Bernardo Dominic
1006Adams J CaudyBrazil2024-05-01Benton, John B Jr NEW44Xuxue Feng
1007Nicolas X GauchoFrance2024-05-12Benton, John B Jr QUALIFIED91Asiya Javayant
1008Chavez F KuskoArgentina2024-05-17Buckley Miller Wright RENEWAL11Asiya Javayant
1009Silvio H RimIndia2024-05-19Morlong Associates PROPOSAL76Bernardo Dominic
1010Chavez C RulapaughIndia2024-05-16Rangoni Of Florence UNQUALIFIED53Ioni Bowcher
1011James D MorascaSpain2024-04-29Morlong Associates NEGOTIATION59Onyama Limba
1012Arvin I StensethIndia2024-05-26Rousseaux, Michael Esq UNQUALIFIED98Ioni Bowcher
1013Aditya B ShinkoCanada2024-05-23Commercial Press PROPOSAL39Stephen Shaw
1014Ashley O AmigonGermany2024-05-23Chapman, Ross E Esq RENEWAL18Ivan Magalhaes
1015Aika E WhobreyArgentina2024-05-07Dorl, James J Esq PROPOSAL69Bernardo Dominic
1016Salvatore L VocelkaFrance2024-05-17Morlong Associates PROPOSAL16Amy Elsner
1017Misaki P StockhamIndia2024-05-25Printing Dimensions NEW37Ivan Magalhaes
1018Emily I VenereJapan2024-05-05Benton, John B Jr PROPOSAL27Asiya Javayant
1019Ricardo E BowleyJapan2024-05-16Chemel, James L Cpa PROPOSAL77Anna Fali
1020Rodrigues S VenereItaly2024-04-30King, Christopher A Esq PROPOSAL84Ivan Magalhaes
1021Emily I RulapaughIndia2024-05-02Feltz Printing Service PROPOSAL73Anna Fali
1022Jefferson E MacleadBrazil2024-05-11Chapman, Ross E Esq QUALIFIED8Bernardo Dominic
1023Emily G MacleadJapan2024-05-12Rousseaux, Michael Esq UNQUALIFIED46Onyama Limba
1024Aika G BriddickIndia2024-05-14Truhlar And Truhlar Attys QUALIFIED63Onyama Limba
1025Costa O RutaFrance2024-05-13Benton, John B Jr RENEWAL30Bernardo Dominic
1026Greenwood W SchemmerBrazil2024-05-23Commercial Press UNQUALIFIED43Bernardo Dominic
1027Francesco A SaylorsJapan2024-05-06King, Christopher A Esq UNQUALIFIED24Ioni Bowcher
1028Arvin N SaylorsArgentina2024-05-20Rousseaux, Michael Esq QUALIFIED29Onyama Limba
1029Claire W VenereGermany2024-05-21Rousseaux, Michael Esq QUALIFIED34Amy Elsner
1030Kaitlin T VocelkaSpain2024-05-05Rangoni Of Florence PROPOSAL11Asiya Javayant
1031Nicolas E StensethRussia2024-05-17Dorl, James J Esq UNQUALIFIED73Bernardo Dominic
1032Johnson Y SlusarskiCanada2024-05-10Chanay, Jeffrey A Esq QUALIFIED14Elwin Sharvill
1033Aruna L CampainBrazil2024-05-26Buckley Miller Wright QUALIFIED91Amy Elsner
1034Stacey U WhobreyRussia2024-05-13Chapman, Ross E Esq NEGOTIATION55Anna Fali
1035Greenwood Z RimSpain2024-05-04Benton, John B Jr NEW41Ivan Magalhaes
1036Kaitlin F GarufiJapan2024-05-20Rangoni Of Florence NEW81Elwin Sharvill
1037Jones F ShinkoBrazil2024-05-14Buckley Miller Wright UNQUALIFIED99Asiya Javayant
1038Emily C RutaBrazil2024-05-23King, Christopher A Esq NEW96Asiya Javayant
1039Mujtaba I CaudyCanada2024-05-24Dorl, James J Esq RENEWAL76Amy Elsner
1040Leja B CaudySpain2024-05-27Printing Dimensions NEGOTIATION18Ivan Magalhaes
1041Jennifer V FigeroaSpain2024-05-04Rangoni Of Florence NEGOTIATION9Anna Fali
1042Arvin C BriddickBrazil2024-05-23Chemel, James L Cpa QUALIFIED55Onyama Limba
1043Darci Q BriddickArgentina2024-05-01Feltz Printing Service QUALIFIED22Xuxue Feng
1044James F BriddickJapan2024-05-23Feltz Printing Service UNQUALIFIED21Anna Fali
1045Stacey T AmigonArgentina2024-05-05Dorl, James J Esq UNQUALIFIED59Elwin Sharvill
1046Isabel H FollerGermany2024-05-21Commercial Press QUALIFIED26Anna Fali
1047Clifford M WieserJapan2024-05-20Rangoni Of Florence PROPOSAL80Onyama Limba
1048Deepesh R BriddickBrazil2024-05-03Printing Dimensions NEW54Ioni Bowcher
1049Jeanfrancois L SchemmerIndia2024-05-09Truhlar And Truhlar Attys NEGOTIATION78Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Costa I RimSpainAnna Fali RENEWAL
Arvin H DoeSpainXuxue Feng NEW
Jefferson M SergiGermanyStephen Shaw PROPOSAL
Claire Y StockhamJapanAnna Fali QUALIFIED
Jones T FollerRussiaOnyama Limba QUALIFIED
Darci I RoysterArgentinaAsiya Javayant RENEWAL
Arvin O RimUnited KingdomOnyama Limba RENEWAL
Juan S GlickAustraliaAnna Fali NEGOTIATION
Jefferson R GauchoUnited KingdomAsiya Javayant RENEWAL
Jones T RimFranceBernardo Dominic NEW
Stacey E InouyeIndiaBernardo Dominic NEGOTIATION
Ivar C StensethGermanyAsiya Javayant NEGOTIATION
David J GlickRussiaAsiya Javayant UNQUALIFIED
Aruna C FlosiFranceAmy Elsner PROPOSAL
Ashley Y OldroydItalyBernardo Dominic NEW
Aruna L FerenczUnited KingdomElwin Sharvill PROPOSAL
Arvin I MarrierSpainIoni Bowcher UNQUALIFIED
Nicolas I GarufiGermanyIoni Bowcher NEW
Juan L FigeroaBrazilElwin Sharvill NEGOTIATION
Kaitlin U FerenczCanadaBernardo Dominic NEW
Stacey D FerenczAustraliaAnna Fali PROPOSAL
Clifford V RimUnited KingdomBernardo Dominic NEW
Jones U KuskoBrazilAmy Elsner PROPOSAL
Salvatore J FerenczIndiaIoni Bowcher RENEWAL
Rodrigues T ShinkoUnited KingdomXuxue Feng QUALIFIED
Alejandro F SaylorsRussiaXuxue Feng UNQUALIFIED
David N DarakjySpainIoni Bowcher QUALIFIED
Leja W FlosiCanadaOnyama Limba UNQUALIFIED
Kaitlin W OldroydJapanAmy Elsner RENEWAL
Mujtaba Q WaycottIndiaIoni Bowcher RENEWAL
Murillo O MacleadItalyAnna Fali NEW
Isabel O ShinkoBrazilBernardo Dominic PROPOSAL
Maisha F MacleadAustraliaIvan Magalhaes QUALIFIED
Mujtaba C NestleFranceOnyama Limba QUALIFIED
Darci Q WieserItalyIvan Magalhaes UNQUALIFIED
Salvatore W CaudyArgentinaElwin Sharvill NEW
Misaki W StockhamArgentinaStephen Shaw PROPOSAL
Alejandro D IturbideAustraliaElwin Sharvill NEGOTIATION
Johnson Y CampainRussiaAmy Elsner NEGOTIATION
Leja F RulapaughJapanElwin Sharvill RENEWAL
Jefferson L CampainAustraliaAmy Elsner NEGOTIATION
Murillo M FlosiRussiaAnna Fali NEW
Aditya Q MaletGermanyIoni Bowcher RENEWAL
Alejandro I TollnerIndiaElwin Sharvill PROPOSAL
Munro O SchemmerJapanStephen Shaw NEW
Greenwood V IturbideGermanyIvan Magalhaes NEW
Salvatore X RutaSpainXuxue Feng NEW
Leja C MacleadArgentinaAnna Fali PROPOSAL
Izzy N RulapaughRussiaXuxue Feng QUALIFIED
Aditya C MaletJapanElwin Sharvill NEW
Frozen Columns
Name
Jones U Rim
Costa B Venere
Misaki M Tollner
Johnson G Campain
Darci S Darakjy
Alejandro F Caudy
Kadeem E Butt
Nicolas K Schemmer
Maisha C Inouye
Izzy Z Butt
Rodrigues T Waycott
Jones N Briddick
Jeanfrancois G Caudy
Sinclair U Perin
Leja G Marrier
Francesco V Whobrey
Sinclair N Slusarski
Mayumi L Morasca
Greenwood C Sergi
Jeanfrancois P Ostrosky
Sinclair Q Malet
Aika W Doe
Juan W Campain
Misaki H Malet
Cody D Butt
Alejandro C Gillian
Leja L Rulapaugh
David V Glick
Octavia K Campain
Faith S Flosi
Munro F Slusarski
Deepesh G Gillian
Costa N Saylors
Faith X Venere
David U Paprocki
Leja R Schemmer
Faith U Stenseth
Jennifer I Rim
Kaitlin P Marrier
Nicolas G Flosi
Wickens C Stockham
Mayumi C Maclead
Maisha C Inouye
Leja K Bowley
Kadeem K Butt
Nicolas C Paprocki
Cody R Shinko
Alejandro Q Inouye
Jones P Stockham
Jefferson T Waycott
IdCountryDate
1000India2024-05-04
1001France2024-04-29
1002Canada2024-05-03
1003Russia2024-05-15
1004Russia2024-05-22
1005France2024-05-25
1006Japan2024-05-25
1007Canada2024-05-25
1008Russia2024-04-28
1009Canada2024-05-16
1010Germany2024-05-23
1011Japan2024-04-28
1012Brazil2024-05-19
1013Argentina2024-05-08
1014Germany2024-05-13
1015Australia2024-05-20
1016Russia2024-05-19
1017Russia2024-05-10
1018Russia2024-05-08
1019Brazil2024-04-30
1020Germany2024-05-10
1021France2024-05-20
1022Australia2024-05-26
1023United Kingdom2024-05-23
1024Spain2024-05-03
1025United Kingdom2024-05-19
1026Germany2024-05-15
1027Spain2024-05-18
1028Canada2024-05-01
1029Argentina2024-05-10
1030Brazil2024-05-26
1031Brazil2024-05-27
1032Japan2024-05-09
1033United Kingdom2024-05-26
1034Germany2024-05-24
1035France2024-05-16
1036Canada2024-05-21
1037Brazil2024-05-11
1038Argentina2024-05-27
1039Russia2024-05-03
1040Russia2024-05-16
1041Spain2024-05-07
1042Argentina2024-05-19
1043Brazil2024-05-11
1044Japan2024-05-26
1045Canada2024-05-11
1046Brazil2024-05-04
1047United Kingdom2024-05-18
1048United Kingdom2024-05-12
1049Russia2024-05-17

On-Demand Data

NameIdCountryDate
Cody X Foller1000Argentina2024-05-09
Francesco Q Inouye1001Argentina2024-05-27
Silvio A Whobrey1002Italy2024-05-27
Costa D Malet1003Australia2024-05-20
Antonio V Albares1004Russia2024-05-07
Sinclair B Darakjy1005Russia2024-05-05
Nicolas R Ostrosky1006France2024-05-25
Alejandro S Stenseth1007Australia2024-05-17
Murillo Y Tollner1008France2024-05-13
Munro B Rim1009Russia2024-05-18
Alejandro I Briddick1010Russia2024-05-02
Murillo A Ferencz1011Germany2024-05-27
Antonio Z Amigon1012Japan2024-05-03
James U Chui1013Canada2024-05-05
Sinclair R Venere1014India2024-04-29
Cody Q Ruta1015Canada2024-05-26
Ricardo C Venere1016France2024-05-16
Greenwood T Marrier1017United Kingdom2024-05-02
David S Nicka1018Italy2024-05-04
Greenwood N Kusko1019Italy2024-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan T GillianCanadaXuxue Feng NEW
Mujtaba I FollerAustraliaAmy Elsner NEGOTIATION
Stacey F MorascaItalyAmy Elsner UNQUALIFIED
Nicolas O RulapaughCanadaAsiya Javayant RENEWAL
Jefferson C AlbaresItalyXuxue Feng QUALIFIED
Jefferson Y WieserGermanyXuxue Feng QUALIFIED
Aruna Y SlusarskiIndiaStephen Shaw QUALIFIED
Jeanfrancois T VenereSpainElwin Sharvill QUALIFIED
Izzy E FigeroaGermanyIoni Bowcher RENEWAL
Kaitlin N KuskoAustraliaAnna Fali UNQUALIFIED
Jennifer T InouyeBrazilElwin Sharvill UNQUALIFIED
Mayumi S WhobreyUnited KingdomStephen Shaw NEW
Sinclair W RulapaughFranceOnyama Limba QUALIFIED
James Z DilliardIndiaBernardo Dominic QUALIFIED
Isabel F DoeBrazilElwin Sharvill RENEWAL
Julie G OstroskyCanadaAmy Elsner NEW
Jefferson S IturbideAustraliaIoni Bowcher NEGOTIATION
Jones I KuskoItalyAnna Fali QUALIFIED
Ashley Z OstroskyIndiaBernardo Dominic UNQUALIFIED
Aruna S GlickUnited KingdomIvan Magalhaes NEW
Antonio L DarakjyFranceIoni Bowcher QUALIFIED
Alejandro Q FollerGermanyIvan Magalhaes RENEWAL
David Q CampainRussiaAmy Elsner QUALIFIED
Darci D CampainUnited KingdomAsiya Javayant QUALIFIED
Silvio C MorascaRussiaStephen Shaw PROPOSAL
Wickens W BriddickUnited KingdomElwin Sharvill QUALIFIED
Clifford Y VenereArgentinaElwin Sharvill NEGOTIATION
Murillo L WhobreyCanadaBernardo Dominic QUALIFIED
Jones P CaldareraFranceAsiya Javayant QUALIFIED
Maisha R PoquetteBrazilOnyama Limba NEGOTIATION
Claire J PerinBrazilIvan Magalhaes PROPOSAL
Stacey V MacleadBrazilAnna Fali RENEWAL
Cody A TollnerBrazilAmy Elsner PROPOSAL
Ashley E KolmetzUnited KingdomElwin Sharvill NEW
Ricardo U PaprockiRussiaIvan Magalhaes NEGOTIATION
Aditya N StockhamAustraliaXuxue Feng NEGOTIATION
Jones E CaudyCanadaOnyama Limba QUALIFIED
Aika V SlusarskiSpainStephen Shaw UNQUALIFIED
Deepesh Z DilliardGermanyAmy Elsner NEW
Alejandro V GarufiItalyIoni Bowcher 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>