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
Faith B KolmetzCanadaIvan Magalhaes RENEWAL
Leja Y FollerUnited KingdomBernardo Dominic QUALIFIED
Jefferson K CampainUnited KingdomBernardo Dominic PROPOSAL
Kaitlin D MaletSpainElwin Sharvill RENEWAL
Misaki B GlickRussiaXuxue Feng PROPOSAL
Tony E IturbideRussiaBernardo Dominic NEW
Costa Y RutaJapanElwin Sharvill NEW
Nicolas G SchemmerBrazilBernardo Dominic QUALIFIED
Izzy R MorascaFranceElwin Sharvill PROPOSAL
Emily F GlickRussiaAnna Fali NEW
Arvin C MaletSpainAmy Elsner QUALIFIED
Darci C TollnerItalyXuxue Feng QUALIFIED
Juan N MaletBrazilOnyama Limba PROPOSAL
Claire D FollerIndiaStephen Shaw QUALIFIED
Murillo H StockhamAustraliaIvan Magalhaes NEGOTIATION
Leja E RoysterCanadaXuxue Feng NEW
Izzy Q GarufiArgentinaAsiya Javayant QUALIFIED
Rodrigues O PaprockiRussiaStephen Shaw UNQUALIFIED
Munro L FollerJapanAnna Fali UNQUALIFIED
Maria Y ButtUnited KingdomIoni Bowcher RENEWAL
Jones G FigeroaUnited KingdomAnna Fali QUALIFIED
Munro Q GauchoRussiaXuxue Feng RENEWAL
Nicolas Y FigeroaAustraliaAnna Fali NEGOTIATION
Nicolas R CampainJapanStephen Shaw QUALIFIED
Salvatore T FlosiIndiaElwin Sharvill UNQUALIFIED
Octavia S ButtBrazilAsiya Javayant NEW
James Z SlusarskiItalyAsiya Javayant UNQUALIFIED
Antonio E RoysterRussiaAsiya Javayant UNQUALIFIED
Mujtaba G CaudyArgentinaElwin Sharvill NEW
Ricardo G SaylorsCanadaStephen Shaw PROPOSAL
Deepesh Y BowleyJapanStephen Shaw NEW
Leon M PaprockiArgentinaAnna Fali UNQUALIFIED
Emily X DilliardSpainBernardo Dominic PROPOSAL
Deepesh O MarrierSpainOnyama Limba RENEWAL
Wickens K PaprockiAustraliaIvan Magalhaes RENEWAL
Francesco X ButtArgentinaIvan Magalhaes QUALIFIED
Johnson Q MarrierRussiaAsiya Javayant NEGOTIATION
Murillo D CaldareraArgentinaXuxue Feng NEW
Costa E MacleadFranceAnna Fali NEGOTIATION
David P StensethSpainBernardo Dominic NEGOTIATION
Antonio O WaycottGermanyAnna Fali NEW
Morrow X ButtIndiaElwin Sharvill UNQUALIFIED
Maisha X VenereItalyXuxue Feng UNQUALIFIED
Silvio I BowleySpainAmy Elsner UNQUALIFIED
Isabel N BologniaBrazilIvan Magalhaes NEGOTIATION
Arvin F ShinkoIndiaIvan Magalhaes RENEWAL
Chavez V MacleadBrazilAnna Fali QUALIFIED
Salvatore C CaudySpainStephen Shaw NEGOTIATION
Munro I FollerAustraliaAmy Elsner PROPOSAL
Juan G BowleyAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki A AmigonItalyIoni Bowcher RENEWAL
David V WaycottItalyAsiya Javayant UNQUALIFIED
Alejandro E WhobreyArgentinaOnyama Limba RENEWAL
Salvatore X GarufiIndiaAnna Fali NEW
Faith G SlusarskiIndiaIvan Magalhaes NEGOTIATION
Silvio I AmigonGermanyElwin Sharvill UNQUALIFIED
Morrow B SergiAustraliaElwin Sharvill NEGOTIATION
Juan T StockhamFranceIvan Magalhaes QUALIFIED
Francesco Q RoysterGermanyIvan Magalhaes QUALIFIED
Maria C RulapaughFranceIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem B InouyeFrance2024-06-02Benton, John B Jr PROPOSAL56Bernardo Dominic
1001Stacey V IturbideFrance2024-05-25Benton, John B Jr RENEWAL89Bernardo Dominic
1002Cody I SlusarskiItaly2024-06-02Printing Dimensions NEW37Ioni Bowcher
1003Greenwood B RimJapan2024-06-16Benton, John B Jr PROPOSAL77Ioni Bowcher
1004Aruna E InouyeArgentina2024-06-07Chapman, Ross E Esq RENEWAL30Ioni Bowcher
1005Francesco G MacleadItaly2024-06-11Chemel, James L Cpa PROPOSAL88Bernardo Dominic
1006Costa V IturbideRussia2024-06-14Dorl, James J Esq RENEWAL67Onyama Limba
1007Salvatore Q KolmetzIndia2024-05-28Printing Dimensions UNQUALIFIED68Elwin Sharvill
1008Aditya T MacleadItaly2024-06-12Rousseaux, Michael Esq NEGOTIATION86Ioni Bowcher
1009Adams I GillianCanada2024-05-29Feltz Printing Service UNQUALIFIED70Xuxue Feng
1010Deepesh I GauchoItaly2024-05-25Rousseaux, Michael Esq QUALIFIED53Amy Elsner
1011Munro O GillianIndia2024-05-28Feltz Printing Service UNQUALIFIED62Anna Fali
1012Cody R PoquetteAustralia2024-06-09Truhlar And Truhlar Attys UNQUALIFIED77Stephen Shaw
1013Silvio C PoquetteAustralia2024-05-26Truhlar And Truhlar Attys NEW97Ivan Magalhaes
1014Kaitlin D PerinCanada2024-06-18Morlong Associates NEW76Asiya Javayant
1015Misaki Q RutaCanada2024-06-02Feiner Bros UNQUALIFIED42Asiya Javayant
1016Sinclair T VocelkaAustralia2024-06-13King, Christopher A Esq NEGOTIATION49Ioni Bowcher
1017Francesco J BriddickItaly2024-06-02Morlong Associates NEGOTIATION65Asiya Javayant
1018Juan H BowleyJapan2024-06-13Truhlar And Truhlar Attys RENEWAL88Anna Fali
1019Ivar M RoysterIndia2024-06-05Rousseaux, Michael Esq PROPOSAL31Ioni Bowcher
1020Silvio F BriddickSpain2024-06-02Feltz Printing Service QUALIFIED13Elwin Sharvill
1021Greenwood W RulapaughFrance2024-06-09Rangoni Of Florence UNQUALIFIED84Amy Elsner
1022Munro F FollerAustralia2024-05-28Dorl, James J Esq NEW22Bernardo Dominic
1023Alejandro R OstroskyArgentina2024-06-12Commercial Press PROPOSAL3Elwin Sharvill
1024Adams N KuskoAustralia2024-05-31Printing Dimensions RENEWAL64Elwin Sharvill
1025Izzy V InouyeSpain2024-06-08Feltz Printing Service NEW38Amy Elsner
1026Ashley N DilliardArgentina2024-05-26Benton, John B Jr QUALIFIED87Stephen Shaw
1027Morrow D ButtGermany2024-05-25Buckley Miller Wright RENEWAL16Anna Fali
1028Claire U RimArgentina2024-06-18Chanay, Jeffrey A Esq PROPOSAL27Anna Fali
1029Maria A SergiUnited Kingdom2024-06-09Printing Dimensions PROPOSAL22Xuxue Feng
1030Costa Q ShinkoSpain2024-06-10Chapman, Ross E Esq NEW46Elwin Sharvill
1031Emily K GillianCanada2024-05-26Chanay, Jeffrey A Esq NEW22Bernardo Dominic
1032Maria T CampainJapan2024-05-25Benton, John B Jr QUALIFIED39Stephen Shaw
1033James G StensethGermany2024-05-28Rousseaux, Michael Esq PROPOSAL46Anna Fali
1034Octavia F WaycottItaly2024-06-11Rangoni Of Florence QUALIFIED57Ioni Bowcher
1035Emily X CaldareraAustralia2024-06-11Chanay, Jeffrey A Esq NEW34Asiya Javayant
1036Izzy M BologniaFrance2024-05-26Feltz Printing Service PROPOSAL76Elwin Sharvill
1037Faith Z CaldareraRussia2024-06-17Feiner Bros RENEWAL49Ioni Bowcher
1038Jones O IturbideSpain2024-05-22Commercial Press QUALIFIED35Amy Elsner
1039Mayumi Q WhobreyArgentina2024-06-10Buckley Miller Wright RENEWAL32Ioni Bowcher
1040Greenwood V MacleadBrazil2024-06-17Feltz Printing Service NEW53Ioni Bowcher
1041Aruna G TollnerRussia2024-06-12King, Christopher A Esq PROPOSAL32Asiya Javayant
1042Morrow N WieserUnited Kingdom2024-06-09Benton, John B Jr PROPOSAL55Onyama Limba
1043Faith A NickaAustralia2024-06-13Rangoni Of Florence NEGOTIATION93Asiya Javayant
1044Emily Y MorascaBrazil2024-06-13Buckley Miller Wright NEW5Ivan Magalhaes
1045Faith N NickaUnited Kingdom2024-05-25Morlong Associates QUALIFIED47Bernardo Dominic
1046Chavez B TollnerArgentina2024-06-13Commercial Press NEGOTIATION28Bernardo Dominic
1047Johnson R ShinkoFrance2024-06-12Chapman, Ross E Esq QUALIFIED93Anna Fali
1048Rodrigues D WhobreyItaly2024-06-11Commercial Press RENEWAL0Anna Fali
1049Jennifer T OstroskyAustralia2024-05-23Chemel, James L Cpa UNQUALIFIED66Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aruna W DarakjyFranceAsiya Javayant PROPOSAL
Costa D CaldareraSpainXuxue Feng UNQUALIFIED
Julie C GillianJapanBernardo Dominic UNQUALIFIED
Francesco X PoquetteRussiaXuxue Feng NEGOTIATION
Mayumi A PoquetteArgentinaAmy Elsner QUALIFIED
Murillo B OstroskyJapanOnyama Limba UNQUALIFIED
Juan I GlickSpainOnyama Limba PROPOSAL
Misaki Z ShinkoSpainOnyama Limba PROPOSAL
Ivar T RimFranceIoni Bowcher NEGOTIATION
Ashley D StensethAustraliaIvan Magalhaes RENEWAL
Ricardo W SlusarskiArgentinaOnyama Limba QUALIFIED
David C DoeFranceBernardo Dominic NEW
Wickens W SchemmerFranceElwin Sharvill UNQUALIFIED
Isabel X MorascaArgentinaXuxue Feng UNQUALIFIED
Munro S PerinRussiaElwin Sharvill UNQUALIFIED
Munro B SaylorsAustraliaStephen Shaw UNQUALIFIED
Julie F KuskoBrazilXuxue Feng PROPOSAL
Juan V GauchoRussiaStephen Shaw NEW
Smith R CampainFranceIvan Magalhaes RENEWAL
Antonio I RulapaughItalyAsiya Javayant NEW
Jennifer Y MarrierRussiaAnna Fali NEGOTIATION
Sinclair T RimGermanyIoni Bowcher NEW
Ashley H StockhamBrazilStephen Shaw QUALIFIED
Leja I BriddickUnited KingdomXuxue Feng RENEWAL
Ashley F SergiIndiaAsiya Javayant PROPOSAL
Jefferson K FerenczSpainElwin Sharvill PROPOSAL
Aditya X OstroskyFranceStephen Shaw PROPOSAL
Greenwood M GarufiFranceIvan Magalhaes NEGOTIATION
Francesco O StensethGermanyXuxue Feng QUALIFIED
Clifford R CampainCanadaElwin Sharvill NEGOTIATION
Ricardo N IturbideFranceBernardo Dominic NEW
Maria E KuskoJapanAnna Fali QUALIFIED
Aruna I CampainArgentinaAsiya Javayant UNQUALIFIED
Ivar O TollnerRussiaIoni Bowcher NEW
Maria R GillianBrazilStephen Shaw PROPOSAL
Antonio Q FlosiJapanAnna Fali UNQUALIFIED
Deepesh C MacleadJapanAmy Elsner QUALIFIED
Claire P GauchoSpainStephen Shaw NEW
Salvatore D WhobreyJapanOnyama Limba PROPOSAL
Jeanfrancois I InouyeSpainElwin Sharvill PROPOSAL
Alejandro I MaletArgentinaIoni Bowcher RENEWAL
Chavez C GlickGermanyAsiya Javayant QUALIFIED
Sinclair R MaletUnited KingdomAsiya Javayant RENEWAL
Kadeem U GlickBrazilAnna Fali QUALIFIED
Emily F PoquetteBrazilAsiya Javayant UNQUALIFIED
David A RimItalyAmy Elsner PROPOSAL
Aruna O GlickItalyXuxue Feng UNQUALIFIED
Ashley B MaletSpainXuxue Feng NEW
Rodrigues T WaycottArgentinaXuxue Feng RENEWAL
David M PoquetteItalyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Silvio Y Bolognia
Jones N Malet
Silvio M Marrier
Juan R Morasca
Juan V Malet
Emily G Chui
James U Iturbide
Wickens Z Poquette
Salvatore V Doe
Maria Y Gillian
Mujtaba S Doe
Isabel M Ostrosky
Aruna Z Amigon
Aditya Z Ruta
Nicolas G Perin
Salvatore V Bolognia
Claire I Rulapaugh
Juan F Ostrosky
Aruna E Kusko
Morrow O Ostrosky
Misaki R Venere
Nicolas V Ostrosky
Murillo C Butt
Clifford G Slusarski
Clifford I Schemmer
Sinclair B Shinko
Kadeem E Poquette
Jeanfrancois M Amigon
Sinclair B Butt
Smith U Saylors
Mujtaba K Sergi
Emily D Ostrosky
James S Venere
Clifford L Stenseth
Ricardo V Foller
Deepesh R Maclead
Wickens D Malet
Deepesh B Vocelka
Wickens E Campain
Kaitlin Y Venere
James W Ferencz
Rodrigues Z Marrier
Greenwood F Ostrosky
Costa Z Malet
Johnson R Maclead
Cody V Poquette
Adams K Waycott
Emily W Schemmer
Salvatore X Wieser
Ivar S Stenseth
IdCountryDate
1000United Kingdom2024-05-28
1001Canada2024-06-05
1002Spain2024-06-06
1003Australia2024-05-20
1004France2024-05-23
1005France2024-05-22
1006France2024-06-09
1007France2024-06-01
1008Argentina2024-06-01
1009United Kingdom2024-06-04
1010Spain2024-06-15
1011Russia2024-05-25
1012France2024-06-10
1013France2024-06-06
1014Japan2024-05-22
1015Brazil2024-06-07
1016Italy2024-06-03
1017Italy2024-05-28
1018Argentina2024-05-29
1019Canada2024-05-23
1020Argentina2024-05-31
1021United Kingdom2024-05-29
1022Australia2024-06-15
1023Germany2024-05-26
1024India2024-06-06
1025Spain2024-06-18
1026Canada2024-06-13
1027Spain2024-06-12
1028United Kingdom2024-06-11
1029Argentina2024-06-04
1030India2024-05-29
1031France2024-05-20
1032India2024-06-05
1033Brazil2024-06-16
1034Italy2024-05-24
1035Brazil2024-05-29
1036United Kingdom2024-06-14
1037United Kingdom2024-06-01
1038Italy2024-05-28
1039Italy2024-06-16
1040Argentina2024-05-27
1041Canada2024-05-24
1042Italy2024-06-17
1043Japan2024-05-25
1044Brazil2024-06-18
1045Argentina2024-06-16
1046Spain2024-05-22
1047Russia2024-06-08
1048Brazil2024-06-14
1049Japan2024-06-13

On-Demand Data

NameIdCountryDate
Rodrigues J Flosi1000Brazil2024-05-30
Julie U Malet1001Brazil2024-05-24
Chavez R Chui1002Japan2024-05-31
Kaitlin W Gillian1003Japan2024-06-18
Cody I Nicka1004Argentina2024-06-06
Rodrigues K Stenseth1005Germany2024-05-28
Antonio I Stenseth1006France2024-05-26
Alejandro D Rim1007India2024-06-04
David B Ostrosky1008Germany2024-06-13
Jones F Albares1009Canada2024-06-03
Aditya J Albares1010Argentina2024-05-22
Adams S Slusarski1011Italy2024-05-26
Cody N Paprocki1012Spain2024-06-05
Juan W Saylors1013Germany2024-06-15
Smith Q Nicka1014Canada2024-06-07
Greenwood Q Saylors1015Argentina2024-05-27
Nicolas Z Oldroyd1016Germany2024-06-01
Stacey S Ferencz1017Brazil2024-05-30
Antonio W Doe1018Japan2024-06-05
Deepesh H Briddick1019Japan2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James L AmigonRussiaElwin Sharvill UNQUALIFIED
Wickens U AlbaresCanadaBernardo Dominic RENEWAL
Octavia L NickaArgentinaAnna Fali UNQUALIFIED
Ricardo I KuskoArgentinaAnna Fali QUALIFIED
Arvin C ButtBrazilIoni Bowcher NEW
Darci S GlickIndiaAnna Fali PROPOSAL
Munro Y MorascaGermanyElwin Sharvill NEGOTIATION
Faith W VocelkaItalyAsiya Javayant NEGOTIATION
Cody K VenereJapanElwin Sharvill NEGOTIATION
Ricardo X GillianUnited KingdomAsiya Javayant NEW
Julie R ChuiCanadaIoni Bowcher QUALIFIED
Costa G StockhamGermanyBernardo Dominic NEW
James L FigeroaCanadaAsiya Javayant NEW
Arvin K StockhamJapanElwin Sharvill QUALIFIED
Maisha S WieserUnited KingdomAnna Fali UNQUALIFIED
Jennifer D DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois I MaletRussiaOnyama Limba QUALIFIED
Emily C SchemmerSpainOnyama Limba NEW
Adams K SaylorsJapanAnna Fali RENEWAL
Salvatore P FigeroaAustraliaXuxue Feng QUALIFIED
Octavia A PaprockiBrazilIvan Magalhaes QUALIFIED
Deepesh A ChuiItalyIoni Bowcher UNQUALIFIED
Jones N KuskoAustraliaElwin Sharvill UNQUALIFIED
Aruna T KolmetzSpainOnyama Limba RENEWAL
Misaki Z DilliardBrazilOnyama Limba RENEWAL
Emily J PoquetteRussiaBernardo Dominic NEGOTIATION
Kaitlin E StockhamGermanyAmy Elsner PROPOSAL
Isabel O PerinArgentinaAnna Fali NEGOTIATION
Leon C DarakjyGermanyIoni Bowcher NEGOTIATION
Leon F RulapaughCanadaStephen Shaw RENEWAL
Mayumi J GauchoBrazilIvan Magalhaes UNQUALIFIED
Tony H MacleadBrazilOnyama Limba NEW
Nicolas C DilliardGermanyStephen Shaw RENEWAL
Ivar J DoeSpainIvan Magalhaes NEW
Rodrigues M WaycottItalyIvan Magalhaes PROPOSAL
Jeanfrancois B MaletAustraliaIoni Bowcher QUALIFIED
Faith G ButtCanadaXuxue Feng PROPOSAL
Adams Q WieserArgentinaAmy Elsner PROPOSAL
Alejandro N FollerUnited KingdomAsiya Javayant QUALIFIED
Nicolas I MaletGermanyBernardo Dominic NEGOTIATION

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