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 Y OstroskyRussiaAmy Elsner QUALIFIED
Morrow Z GarufiSpainStephen Shaw UNQUALIFIED
Mayumi I CaudyIndiaIvan Magalhaes NEW
Kaitlin J RutaIndiaIvan Magalhaes PROPOSAL
Jones B DarakjyGermanyAsiya Javayant NEW
Ashley K OldroydBrazilIoni Bowcher NEGOTIATION
Juan P FlosiBrazilElwin Sharvill NEGOTIATION
Smith G KuskoJapanBernardo Dominic QUALIFIED
Ashley V ChuiBrazilAmy Elsner PROPOSAL
David S GillianArgentinaXuxue Feng RENEWAL
Julie S OstroskyBrazilStephen Shaw NEGOTIATION
Jefferson B GauchoArgentinaStephen Shaw RENEWAL
Adams N CaldareraUnited KingdomIoni Bowcher NEW
Alejandro P OstroskyUnited KingdomAnna Fali QUALIFIED
Octavia K GlickIndiaIoni Bowcher QUALIFIED
Aruna P SergiRussiaOnyama Limba NEGOTIATION
Leja O RulapaughIndiaIvan Magalhaes UNQUALIFIED
Claire M WhobreyAustraliaStephen Shaw NEW
Jefferson H PoquetteUnited KingdomBernardo Dominic RENEWAL
Octavia E FerenczBrazilAmy Elsner UNQUALIFIED
Adams H SlusarskiAustraliaBernardo Dominic NEGOTIATION
Greenwood S IturbideSpainOnyama Limba UNQUALIFIED
Julie T NestleRussiaAsiya Javayant NEW
Isabel Q GauchoBrazilStephen Shaw RENEWAL
Faith F MaletUnited KingdomAmy Elsner UNQUALIFIED
Jennifer Q PoquetteJapanStephen Shaw UNQUALIFIED
Faith Y CaldareraRussiaAmy Elsner RENEWAL
Octavia P RutaFranceIvan Magalhaes RENEWAL
Leon B KolmetzIndiaOnyama Limba NEW
Juan F BowleyRussiaIoni Bowcher UNQUALIFIED
Murillo I FollerAustraliaIoni Bowcher NEW
Costa M SergiArgentinaIvan Magalhaes RENEWAL
Morrow M WaycottArgentinaOnyama Limba NEW
Antonio W AlbaresGermanyIvan Magalhaes RENEWAL
Ricardo M SlusarskiIndiaElwin Sharvill NEGOTIATION
Costa N StensethBrazilIoni Bowcher NEGOTIATION
Silvio Y FollerRussiaIoni Bowcher UNQUALIFIED
Silvio L MarrierGermanyAnna Fali NEW
Maisha U FerenczFranceIvan Magalhaes NEW
Isabel F RimFranceStephen Shaw NEW
Ricardo I RulapaughItalyBernardo Dominic PROPOSAL
Aditya H WhobreyCanadaAmy Elsner UNQUALIFIED
Aruna Z PaprockiJapanStephen Shaw NEW
Isabel S SergiAustraliaXuxue Feng NEW
Chavez Z MaletRussiaIvan Magalhaes NEW
Alejandro H SlusarskiIndiaIoni Bowcher QUALIFIED
Silvio O FlosiFranceStephen Shaw UNQUALIFIED
Maisha N CampainUnited KingdomIvan Magalhaes RENEWAL
Arvin Q InouyeBrazilElwin Sharvill RENEWAL
Mujtaba S CaldareraRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Aika F KolmetzArgentinaIvan Magalhaes NEGOTIATION
Francesco Z GauchoSpainIoni Bowcher UNQUALIFIED
Greenwood V FerenczGermanyBernardo Dominic QUALIFIED
Izzy G IturbideBrazilBernardo Dominic NEW
Murillo B PoquetteIndiaElwin Sharvill RENEWAL
Arvin N PoquetteRussiaStephen Shaw PROPOSAL
Wickens E BologniaFranceAnna Fali NEW
Leja N SchemmerUnited KingdomAsiya Javayant PROPOSAL
Clifford W WhobreyGermanyAmy Elsner QUALIFIED
Kadeem C FigeroaIndiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie X DarakjyGermany2024-06-20Feiner Bros QUALIFIED15Stephen Shaw
1001Juan P NickaRussia2024-05-27Feiner Bros UNQUALIFIED96Elwin Sharvill
1002Johnson A DoeRussia2024-06-15Morlong Associates UNQUALIFIED14Anna Fali
1003James X GauchoItaly2024-06-02Dorl, James J Esq QUALIFIED23Elwin Sharvill
1004Emily Y SchemmerSpain2024-06-02King, Christopher A Esq QUALIFIED63Ivan Magalhaes
1005Tony S DarakjyAustralia2024-06-18King, Christopher A Esq QUALIFIED3Onyama Limba
1006Smith P ChuiGermany2024-06-11Dorl, James J Esq QUALIFIED10Anna Fali
1007Salvatore K PerinItaly2024-06-21Morlong Associates RENEWAL58Bernardo Dominic
1008Deepesh Q WieserRussia2024-06-21Commercial Press NEW96Anna Fali
1009Wickens I VenereIndia2024-05-26Commercial Press RENEWAL55Xuxue Feng
1010Izzy D FerenczBrazil2024-06-14Truhlar And Truhlar Attys PROPOSAL75Anna Fali
1011Morrow S DarakjyJapan2024-06-16Chapman, Ross E Esq RENEWAL30Stephen Shaw
1012Aika Q WaycottBrazil2024-06-20Feiner Bros RENEWAL51Ioni Bowcher
1013Faith H ButtBrazil2024-06-13Benton, John B Jr UNQUALIFIED66Ioni Bowcher
1014Aditya B MacleadSpain2024-06-22Printing Dimensions RENEWAL47Bernardo Dominic
1015Ivar S FlosiBrazil2024-05-27Chemel, James L Cpa RENEWAL15Ivan Magalhaes
1016Aditya D DoeUnited Kingdom2024-06-02Dorl, James J Esq PROPOSAL81Bernardo Dominic
1017Octavia Q RutaUnited Kingdom2024-06-23Rousseaux, Michael Esq QUALIFIED16Anna Fali
1018Faith X NickaCanada2024-06-12Printing Dimensions NEW28Amy Elsner
1019Kaitlin N CaldareraCanada2024-05-28Commercial Press PROPOSAL0Anna Fali
1020Isabel Q WhobreyJapan2024-06-04Chapman, Ross E Esq RENEWAL66Ivan Magalhaes
1021Kaitlin M FerenczRussia2024-06-17Rangoni Of Florence NEW8Ioni Bowcher
1022Mayumi D RoysterRussia2024-05-25Commercial Press NEGOTIATION47Xuxue Feng
1023Antonio C OstroskyArgentina2024-06-07Rousseaux, Michael Esq RENEWAL53Asiya Javayant
1024Julie D PerinRussia2024-05-27Chemel, James L Cpa NEGOTIATION8Ivan Magalhaes
1025Clifford Z RutaArgentina2024-06-12Rangoni Of Florence QUALIFIED67Xuxue Feng
1026Rodrigues T VenereFrance2024-06-17Rousseaux, Michael Esq NEW1Asiya Javayant
1027Octavia I FerenczAustralia2024-06-18Rousseaux, Michael Esq QUALIFIED38Stephen Shaw
1028Faith P FigeroaAustralia2024-06-13King, Christopher A Esq RENEWAL99Xuxue Feng
1029Clifford C SergiGermany2024-05-28Chapman, Ross E Esq QUALIFIED51Elwin Sharvill
1030Aika H AlbaresFrance2024-06-16Rousseaux, Michael Esq RENEWAL29Bernardo Dominic
1031Francesco H CampainIndia2024-06-03Rangoni Of Florence RENEWAL1Amy Elsner
1032Juan E GlickFrance2024-05-30Feltz Printing Service UNQUALIFIED87Ioni Bowcher
1033Sinclair K InouyeRussia2024-05-29Commercial Press UNQUALIFIED30Amy Elsner
1034Johnson I IturbideItaly2024-06-18Commercial Press NEW66Ivan Magalhaes
1035Juan S OldroydIndia2024-06-09Commercial Press NEGOTIATION75Onyama Limba
1036Wickens F RutaBrazil2024-06-18Dorl, James J Esq UNQUALIFIED37Xuxue Feng
1037Ricardo E WieserSpain2024-05-27Chemel, James L Cpa UNQUALIFIED96Amy Elsner
1038Greenwood Q MaletUnited Kingdom2024-06-01Buckley Miller Wright NEW22Anna Fali
1039Cody D WieserBrazil2024-06-09Chapman, Ross E Esq QUALIFIED98Xuxue Feng
1040Adams U GlickItaly2024-06-16Chemel, James L Cpa QUALIFIED24Amy Elsner
1041Emily B BowleyGermany2024-06-19Dorl, James J Esq PROPOSAL32Xuxue Feng
1042Ashley A DoeJapan2024-05-25King, Christopher A Esq PROPOSAL60Amy Elsner
1043Arvin P SlusarskiJapan2024-06-21Rousseaux, Michael Esq QUALIFIED75Amy Elsner
1044Nicolas I ChuiAustralia2024-06-09Rousseaux, Michael Esq QUALIFIED31Anna Fali
1045Salvatore C DilliardGermany2024-06-04Benton, John B Jr UNQUALIFIED3Anna Fali
1046Maisha Y FigeroaAustralia2024-06-10Feltz Printing Service QUALIFIED78Amy Elsner
1047Darci B BriddickAustralia2024-06-06Commercial Press NEGOTIATION94Xuxue Feng
1048Adams O NickaRussia2024-06-05Printing Dimensions NEW70Asiya Javayant
1049Julie S NestleArgentina2024-06-21Rousseaux, Michael Esq QUALIFIED7Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika S SaylorsUnited KingdomOnyama Limba QUALIFIED
Antonio S BowleyBrazilIvan Magalhaes UNQUALIFIED
Ivar L FlosiUnited KingdomIoni Bowcher QUALIFIED
James P StockhamArgentinaStephen Shaw RENEWAL
Izzy Q RutaArgentinaElwin Sharvill PROPOSAL
Sinclair T AlbaresCanadaStephen Shaw PROPOSAL
James Y GauchoJapanAsiya Javayant QUALIFIED
Jefferson Z StensethGermanyAmy Elsner UNQUALIFIED
Adams Q NickaItalyAmy Elsner RENEWAL
Aditya V WieserRussiaOnyama Limba RENEWAL
Ricardo N PerinIndiaElwin Sharvill NEGOTIATION
Costa Q MorascaAustraliaXuxue Feng QUALIFIED
Salvatore U OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Ashley X GarufiAustraliaIvan Magalhaes UNQUALIFIED
Aika Z DilliardIndiaAnna Fali PROPOSAL
Jeanfrancois P BowleyRussiaStephen Shaw NEW
Aika W GauchoJapanStephen Shaw NEGOTIATION
Aika W RoysterItalyAsiya Javayant NEGOTIATION
Costa X GauchoGermanyElwin Sharvill RENEWAL
Mayumi Y DoeSpainElwin Sharvill QUALIFIED
Wickens X NestleUnited KingdomStephen Shaw NEW
Tony Y CaldareraUnited KingdomAnna Fali UNQUALIFIED
Ricardo B SergiSpainAsiya Javayant NEW
Aika U StockhamArgentinaAsiya Javayant UNQUALIFIED
Leon J GlickIndiaOnyama Limba NEW
Greenwood N SchemmerRussiaIoni Bowcher NEW
Chavez W StensethFranceOnyama Limba PROPOSAL
Adams Y StensethFranceAmy Elsner QUALIFIED
Chavez K OstroskyCanadaElwin Sharvill QUALIFIED
Jeanfrancois K PoquetteRussiaAnna Fali RENEWAL
Francesco I BriddickJapanBernardo Dominic NEW
Aditya F InouyeArgentinaOnyama Limba RENEWAL
Greenwood O OstroskyArgentinaAsiya Javayant RENEWAL
Kaitlin R OldroydUnited KingdomIoni Bowcher PROPOSAL
Adams I DilliardArgentinaIvan Magalhaes NEW
Morrow J PerinSpainAmy Elsner RENEWAL
Misaki H SlusarskiCanadaAmy Elsner QUALIFIED
Alejandro M InouyeBrazilOnyama Limba NEW
Antonio H PaprockiAustraliaElwin Sharvill NEW
Clifford K RimItalyElwin Sharvill NEW
Clifford H VenereJapanIvan Magalhaes RENEWAL
Costa B VenereBrazilAsiya Javayant UNQUALIFIED
Maisha K FollerUnited KingdomElwin Sharvill RENEWAL
Leon B CaldareraSpainAmy Elsner PROPOSAL
Izzy F StensethFranceOnyama Limba QUALIFIED
Greenwood W VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Tony N CaldareraItalyAnna Fali QUALIFIED
Rodrigues Q AmigonJapanAsiya Javayant NEW
Wickens E RutaJapanBernardo Dominic QUALIFIED
Claire A KuskoJapanIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Johnson P Doe
Ivar V Nestle
Antonio P Gaucho
Clifford K Kusko
Adams X Sergi
James T Saylors
Johnson V Stockham
Munro O Whobrey
Stacey X Doe
Jones L Doe
Rodrigues H Rulapaugh
Alejandro M Slusarski
Munro F Foller
Izzy A Poquette
Munro Z Flosi
Maria R Glick
Costa C Ruta
Munro R Ostrosky
Darci P Garufi
Aditya L Chui
Aika K Kusko
Ricardo Q Stockham
Mujtaba C Foller
James W Inouye
James F Albares
Chavez O Malet
Isabel E Flosi
Aruna W Vocelka
Ricardo C Nicka
Silvio K Ostrosky
Juan I Albares
Jefferson O Kusko
Smith E Briddick
Aruna C Tollner
Arvin V Nicka
Mujtaba E Maclead
Morrow A Butt
Juan Q Nestle
Adams T Malet
Costa X Caudy
Emily T Flosi
Alejandro Y Iturbide
Leja C Dilliard
Octavia T Dilliard
Jennifer S Poquette
Deepesh H Paprocki
David O Maclead
Morrow P Ferencz
Clifford E Whobrey
Morrow L Iturbide
IdCountryDate
1000Argentina2024-06-21
1001Canada2024-06-08
1002United Kingdom2024-05-26
1003Argentina2024-06-20
1004Australia2024-06-10
1005Russia2024-05-29
1006Italy2024-05-30
1007Japan2024-06-22
1008Japan2024-06-18
1009Russia2024-06-12
1010Germany2024-06-09
1011Russia2024-06-04
1012Italy2024-06-11
1013United Kingdom2024-06-16
1014India2024-05-27
1015France2024-05-30
1016Canada2024-06-08
1017India2024-05-28
1018Brazil2024-05-30
1019Italy2024-06-12
1020Brazil2024-06-05
1021Italy2024-06-17
1022United Kingdom2024-05-28
1023Argentina2024-06-02
1024United Kingdom2024-06-05
1025Italy2024-05-28
1026Spain2024-06-06
1027Russia2024-06-10
1028France2024-06-12
1029Russia2024-06-15
1030Brazil2024-06-01
1031Japan2024-06-10
1032Italy2024-06-20
1033India2024-06-09
1034Spain2024-06-04
1035France2024-05-28
1036Argentina2024-06-18
1037Argentina2024-06-07
1038Brazil2024-06-09
1039France2024-06-23
1040Japan2024-06-07
1041Brazil2024-05-29
1042France2024-05-29
1043Germany2024-06-10
1044India2024-05-25
1045Spain2024-06-19
1046Russia2024-06-02
1047United Kingdom2024-06-01
1048United Kingdom2024-06-02
1049Argentina2024-06-16

On-Demand Data

NameIdCountryDate
Maria I Saylors1000Germany2024-06-05
Mayumi S Ruta1001Brazil2024-06-22
Smith V Figeroa1002India2024-06-21
Nicolas V Sergi1003France2024-06-22
Wickens M Gaucho1004Brazil2024-05-27
Costa S Whobrey1005Japan2024-06-12
Maisha G Bolognia1006Spain2024-05-29
Ricardo N Flosi1007Canada2024-05-26
Arvin X Albares1008India2024-06-03
Isabel M Bolognia1009Japan2024-06-03
Wickens V Saylors1010Japan2024-05-30
Kadeem E Foller1011Canada2024-06-20
Morrow T Ferencz1012Spain2024-06-09
Octavia B Bolognia1013Germany2024-05-25
Mayumi N Gillian1014Germany2024-06-02
Mujtaba E Dilliard1015Russia2024-05-28
Tony A Venere1016Argentina2024-06-09
Misaki C Foller1017Brazil2024-05-31
Ricardo F Ruta1018United Kingdom2024-05-25
Nicolas M Albares1019Russia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel M RulapaughRussiaXuxue Feng UNQUALIFIED
Adams E SergiJapanAsiya Javayant UNQUALIFIED
James J BologniaJapanStephen Shaw NEGOTIATION
Jefferson K OldroydFranceAmy Elsner UNQUALIFIED
Aditya C VenereSpainAnna Fali UNQUALIFIED
Julie Y MarrierCanadaStephen Shaw QUALIFIED
Smith C SergiArgentinaIoni Bowcher NEGOTIATION
Juan Y AmigonUnited KingdomXuxue Feng PROPOSAL
Jennifer R GarufiSpainStephen Shaw UNQUALIFIED
Clifford P SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Antonio A MarrierBrazilBernardo Dominic QUALIFIED
Tony Y DarakjyRussiaAsiya Javayant NEW
Francesco N NestleGermanyAnna Fali QUALIFIED
Aika M OstroskySpainElwin Sharvill NEGOTIATION
Maisha M RimGermanyIvan Magalhaes NEW
Antonio Z WaycottBrazilXuxue Feng NEW
Rodrigues L GillianSpainElwin Sharvill NEGOTIATION
James G OstroskyBrazilAnna Fali PROPOSAL
Ricardo O CaldareraUnited KingdomIoni Bowcher PROPOSAL
Deepesh V FlosiJapanAnna Fali PROPOSAL
Juan W NickaGermanyBernardo Dominic QUALIFIED
Leon W ButtBrazilElwin Sharvill PROPOSAL
Mujtaba P GauchoGermanyAmy Elsner UNQUALIFIED
Juan B BowleyArgentinaElwin Sharvill RENEWAL
Stacey A VocelkaJapanAnna Fali RENEWAL
Misaki F CampainRussiaElwin Sharvill PROPOSAL
Jennifer T RutaBrazilIvan Magalhaes UNQUALIFIED
Rodrigues R CaudyIndiaAsiya Javayant RENEWAL
Faith D GillianFranceAmy Elsner UNQUALIFIED
Chavez V WieserSpainIvan Magalhaes NEW
Cody W StockhamAustraliaAnna Fali UNQUALIFIED
David R MorascaUnited KingdomAmy Elsner NEGOTIATION
Ricardo G StockhamAustraliaIvan Magalhaes RENEWAL
Smith D SchemmerCanadaAnna Fali NEGOTIATION
Julie C RulapaughJapanOnyama Limba UNQUALIFIED
Arvin P StockhamUnited KingdomStephen Shaw UNQUALIFIED
Silvio N SergiFranceXuxue Feng RENEWAL
Mujtaba Z DarakjyItalyStephen Shaw UNQUALIFIED
Stacey I SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Silvio R IturbideAustraliaAmy Elsner 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>