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
Smith M MorascaIndiaAmy Elsner NEW
Rodrigues G NickaBrazilAmy Elsner NEGOTIATION
Misaki E ButtJapanIoni Bowcher PROPOSAL
Kadeem R GillianRussiaElwin Sharvill PROPOSAL
Kaitlin A CaudyJapanElwin Sharvill NEGOTIATION
Aditya Z MorascaFranceBernardo Dominic NEW
Costa Y FerenczSpainIvan Magalhaes QUALIFIED
Jefferson P RoysterUnited KingdomAsiya Javayant PROPOSAL
Greenwood O MarrierRussiaOnyama Limba UNQUALIFIED
Jeanfrancois N MarrierUnited KingdomXuxue Feng RENEWAL
Jeanfrancois Q FigeroaBrazilStephen Shaw NEW
Octavia B BriddickRussiaElwin Sharvill RENEWAL
Aditya W PaprockiUnited KingdomAmy Elsner NEGOTIATION
Maria F KolmetzCanadaAsiya Javayant QUALIFIED
Costa X SchemmerJapanAmy Elsner NEW
Isabel W ButtAustraliaElwin Sharvill NEGOTIATION
Claire J GauchoUnited KingdomIoni Bowcher NEGOTIATION
Aruna H SaylorsArgentinaStephen Shaw NEGOTIATION
Chavez U KuskoAustraliaXuxue Feng NEW
Clifford I WhobreyJapanAnna Fali NEW
Jefferson Q TollnerRussiaIvan Magalhaes NEW
Costa O WhobreyCanadaXuxue Feng UNQUALIFIED
Misaki B PoquetteIndiaXuxue Feng NEGOTIATION
Jennifer N VocelkaCanadaElwin Sharvill UNQUALIFIED
Faith H SchemmerFranceIvan Magalhaes QUALIFIED
Jefferson M WhobreySpainAnna Fali NEGOTIATION
Alejandro D IturbideBrazilOnyama Limba QUALIFIED
Nicolas U MarrierItalyBernardo Dominic PROPOSAL
Darci T MarrierFranceAnna Fali UNQUALIFIED
Johnson X AmigonGermanyAnna Fali NEW
Jennifer Z MorascaRussiaIvan Magalhaes UNQUALIFIED
Arvin W NickaArgentinaAsiya Javayant NEGOTIATION
Aika F NickaIndiaIoni Bowcher NEW
Emily C RimIndiaElwin Sharvill PROPOSAL
Jennifer E AlbaresBrazilElwin Sharvill RENEWAL
Murillo X GlickRussiaIvan Magalhaes NEGOTIATION
Julie H OldroydRussiaIvan Magalhaes PROPOSAL
Emily V AmigonAustraliaAnna Fali NEGOTIATION
Misaki U OstroskyRussiaAmy Elsner NEW
Rodrigues D BowleyUnited KingdomAnna Fali QUALIFIED
Jones S GillianUnited KingdomAsiya Javayant UNQUALIFIED
Chavez P StensethIndiaElwin Sharvill NEW
Maria W RutaRussiaAmy Elsner UNQUALIFIED
Sinclair D KolmetzIndiaOnyama Limba QUALIFIED
Mayumi J KolmetzBrazilIoni Bowcher NEGOTIATION
Arvin O BologniaBrazilOnyama Limba NEGOTIATION
Julie C MaletSpainStephen Shaw NEW
Rodrigues G IturbideIndiaIvan Magalhaes NEGOTIATION
Maria N AlbaresItalyIvan Magalhaes NEW
Adams W ButtCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony P BologniaUnited KingdomBernardo Dominic PROPOSAL
Claire N NickaFranceElwin Sharvill NEW
Leon V RoysterBrazilElwin Sharvill PROPOSAL
Alejandro U DarakjyJapanAsiya Javayant NEW
Rodrigues T FigeroaSpainAmy Elsner NEGOTIATION
Clifford L DilliardSpainAnna Fali QUALIFIED
Salvatore K CaudyAustraliaAnna Fali QUALIFIED
Jennifer G BologniaBrazilOnyama Limba NEW
Emily S OstroskyRussiaAsiya Javayant NEGOTIATION
Wickens S BowleyJapanAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio F NickaJapan2024-06-02Printing Dimensions PROPOSAL85Xuxue Feng
1001Murillo U AmigonArgentina2024-06-04Benton, John B Jr NEW17Anna Fali
1002Silvio J VenereJapan2024-06-15Printing Dimensions NEW23Bernardo Dominic
1003Izzy D OldroydRussia2024-05-29Rousseaux, Michael Esq PROPOSAL16Onyama Limba
1004Aruna U IturbideJapan2024-06-14Chanay, Jeffrey A Esq QUALIFIED37Amy Elsner
1005Jeanfrancois G DarakjyGermany2024-06-18Chapman, Ross E Esq NEW20Elwin Sharvill
1006Murillo O StockhamIndia2024-05-31Benton, John B Jr RENEWAL93Stephen Shaw
1007Misaki Z FigeroaAustralia2024-06-15Truhlar And Truhlar Attys NEGOTIATION89Stephen Shaw
1008Jennifer Q BologniaGermany2024-06-07Feiner Bros NEW16Bernardo Dominic
1009Jennifer L BowleyIndia2024-06-06Chemel, James L Cpa NEW11Bernardo Dominic
1010Murillo I NickaIndia2024-06-17Rousseaux, Michael Esq UNQUALIFIED40Xuxue Feng
1011Clifford J WhobreyRussia2024-06-11Benton, John B Jr UNQUALIFIED75Ivan Magalhaes
1012Claire Y PaprockiCanada2024-06-09Morlong Associates NEW23Stephen Shaw
1013Rodrigues E RutaBrazil2024-05-30Chemel, James L Cpa NEW19Asiya Javayant
1014Darci N OldroydJapan2024-05-30Dorl, James J Esq UNQUALIFIED99Amy Elsner
1015Faith T SlusarskiSpain2024-06-14Chemel, James L Cpa RENEWAL47Anna Fali
1016Leja W GauchoRussia2024-06-11Rousseaux, Michael Esq QUALIFIED40Ivan Magalhaes
1017Stacey C BriddickItaly2024-06-03Commercial Press PROPOSAL82Elwin Sharvill
1018David A FerenczJapan2024-06-10Morlong Associates PROPOSAL64Bernardo Dominic
1019Francesco Q SergiGermany2024-06-03King, Christopher A Esq NEW98Elwin Sharvill
1020Kadeem N SlusarskiArgentina2024-06-15King, Christopher A Esq NEW1Bernardo Dominic
1021Morrow J CaldareraArgentina2024-06-11Chapman, Ross E Esq QUALIFIED2Stephen Shaw
1022Johnson Q MaletGermany2024-06-22Buckley Miller Wright QUALIFIED35Xuxue Feng
1023Aika H MarrierUnited Kingdom2024-06-01Truhlar And Truhlar Attys NEW93Ivan Magalhaes
1024Kadeem X SergiAustralia2024-06-20Benton, John B Jr RENEWAL18Ioni Bowcher
1025Leja L MarrierUnited Kingdom2024-05-24Truhlar And Truhlar Attys PROPOSAL11Elwin Sharvill
1026Mujtaba T WhobreyFrance2024-05-25Feiner Bros NEGOTIATION40Amy Elsner
1027Octavia J MorascaJapan2024-06-02Benton, John B Jr PROPOSAL79Elwin Sharvill
1028Mujtaba K AmigonGermany2024-06-14Printing Dimensions QUALIFIED10Anna Fali
1029Isabel W SergiBrazil2024-06-15Printing Dimensions QUALIFIED86Elwin Sharvill
1030Mujtaba S PerinRussia2024-06-11Chemel, James L Cpa QUALIFIED23Bernardo Dominic
1031Izzy I RutaArgentina2024-06-02Chapman, Ross E Esq UNQUALIFIED76Ioni Bowcher
1032Claire N WieserRussia2024-06-21Dorl, James J Esq UNQUALIFIED50Bernardo Dominic
1033Aditya L MarrierAustralia2024-05-30Chanay, Jeffrey A Esq NEGOTIATION6Anna Fali
1034Ashley H PaprockiRussia2024-06-14Morlong Associates NEW71Asiya Javayant
1035Jefferson E FlosiAustralia2024-06-02Truhlar And Truhlar Attys NEW61Amy Elsner
1036Morrow G KolmetzCanada2024-06-16King, Christopher A Esq UNQUALIFIED85Ioni Bowcher
1037Greenwood D VenereAustralia2024-06-04King, Christopher A Esq PROPOSAL42Stephen Shaw
1038Aika Z GillianAustralia2024-06-04Rangoni Of Florence QUALIFIED53Asiya Javayant
1039Jeanfrancois C FerenczGermany2024-06-17Printing Dimensions PROPOSAL24Elwin Sharvill
1040Alejandro W CaudyUnited Kingdom2024-06-13Morlong Associates RENEWAL58Elwin Sharvill
1041Salvatore M RimCanada2024-06-13Rousseaux, Michael Esq RENEWAL95Elwin Sharvill
1042Aika R OstroskySpain2024-06-10Rangoni Of Florence QUALIFIED80Ioni Bowcher
1043Deepesh I IturbideAustralia2024-06-18Feltz Printing Service PROPOSAL46Elwin Sharvill
1044Chavez L MorascaFrance2024-05-24Chanay, Jeffrey A Esq PROPOSAL26Ioni Bowcher
1045Jefferson X GarufiGermany2024-05-29Printing Dimensions NEW96Stephen Shaw
1046Deepesh Y StensethAustralia2024-06-21Chanay, Jeffrey A Esq PROPOSAL19Xuxue Feng
1047Deepesh H GarufiFrance2024-06-07Dorl, James J Esq QUALIFIED76Amy Elsner
1048Adams G PoquetteFrance2024-06-02Rousseaux, Michael Esq UNQUALIFIED47Elwin Sharvill
1049Maria P RimItaly2024-06-15Chanay, Jeffrey A Esq PROPOSAL85Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Silvio Q ShinkoJapanIoni Bowcher NEGOTIATION
Darci U BologniaJapanXuxue Feng QUALIFIED
Deepesh G DarakjyItalyIvan Magalhaes PROPOSAL
Nicolas L FerenczRussiaAnna Fali RENEWAL
Adams H ChuiUnited KingdomStephen Shaw RENEWAL
Salvatore C CaudyBrazilElwin Sharvill UNQUALIFIED
Sinclair E StensethArgentinaAmy Elsner QUALIFIED
Chavez W FigeroaAustraliaElwin Sharvill NEW
Maisha C CampainSpainXuxue Feng RENEWAL
Sinclair G SlusarskiAustraliaAsiya Javayant RENEWAL
Antonio N WhobreyArgentinaXuxue Feng QUALIFIED
Isabel Y AmigonAustraliaStephen Shaw RENEWAL
Rodrigues O TollnerGermanyIvan Magalhaes NEGOTIATION
Julie E StockhamBrazilAmy Elsner NEGOTIATION
David O MorascaRussiaBernardo Dominic UNQUALIFIED
Costa O SchemmerSpainAnna Fali RENEWAL
Sinclair N WhobreyGermanyIvan Magalhaes NEW
Francesco S AlbaresIndiaIvan Magalhaes NEW
Morrow H PoquetteItalyAnna Fali PROPOSAL
Faith J RutaIndiaStephen Shaw QUALIFIED
Darci Z SlusarskiCanadaStephen Shaw UNQUALIFIED
Salvatore D FollerSpainXuxue Feng PROPOSAL
Maisha N SchemmerJapanBernardo Dominic NEW
Silvio H InouyeSpainIoni Bowcher QUALIFIED
Deepesh C BriddickFranceAsiya Javayant UNQUALIFIED
Ivar D WhobreyUnited KingdomStephen Shaw PROPOSAL
Octavia H ChuiBrazilAnna Fali QUALIFIED
Mujtaba H PoquetteArgentinaIvan Magalhaes NEGOTIATION
Misaki O MaletUnited KingdomIvan Magalhaes NEW
Jones W CampainCanadaIvan Magalhaes NEGOTIATION
Greenwood D FigeroaBrazilBernardo Dominic PROPOSAL
Alejandro C ShinkoJapanAmy Elsner NEGOTIATION
Ricardo X BologniaSpainStephen Shaw PROPOSAL
Emily P ButtItalyElwin Sharvill NEGOTIATION
Adams N PerinAustraliaAnna Fali RENEWAL
Silvio C MacleadGermanyBernardo Dominic PROPOSAL
Arvin G SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Emily G ChuiUnited KingdomAnna Fali QUALIFIED
Arvin N InouyeGermanyBernardo Dominic NEGOTIATION
Mujtaba S DilliardBrazilXuxue Feng NEW
Jefferson F SlusarskiFranceXuxue Feng PROPOSAL
Mujtaba O OstroskyBrazilAnna Fali QUALIFIED
Smith P SchemmerGermanyAmy Elsner QUALIFIED
Chavez N SergiGermanyIoni Bowcher PROPOSAL
Mujtaba K StockhamFranceIoni Bowcher QUALIFIED
Arvin P ChuiFranceAnna Fali NEGOTIATION
Jones K FlosiAustraliaAmy Elsner NEW
Ivar W MarrierUnited KingdomElwin Sharvill QUALIFIED
Kaitlin E DilliardGermanyAsiya Javayant NEGOTIATION
Munro I OldroydRussiaAsiya Javayant QUALIFIED
Frozen Columns
Name
Darci E Gaucho
Jones E Malet
Jones K Nestle
Greenwood N Doe
Misaki K Schemmer
Ivar S Tollner
James O Albares
Stacey U Chui
Alejandro I Butt
James Z Glick
Antonio F Perin
Rodrigues R Nicka
Mayumi R Malet
Jefferson X Stenseth
Smith M Kusko
Alejandro W Whobrey
David Q Caldarera
Munro J Figeroa
Chavez H Flosi
Jefferson C Caldarera
Chavez W Tollner
Julie E Doe
Arvin D Briddick
Claire C Nestle
David X Shinko
Ricardo W Foller
Jones F Gaucho
Munro G Bowley
Deepesh U Caudy
Jefferson Q Campain
Munro N Amigon
Leja W Kusko
Claire Q Wieser
Emily V Albares
Jeanfrancois G Whobrey
Cody E Malet
David S Butt
Salvatore W Kusko
Leon Y Paprocki
Cody G Doe
Julie T Malet
Francesco Q Flosi
Aditya M Whobrey
Nicolas V Marrier
Maria B Doe
Murillo T Inouye
Darci J Nestle
Adams J Campain
Cody G Bowley
Juan E Bowley
IdCountryDate
1000India2024-06-13
1001Brazil2024-05-31
1002Canada2024-06-17
1003Argentina2024-06-10
1004India2024-05-29
1005Spain2024-05-25
1006Italy2024-06-17
1007Russia2024-06-08
1008India2024-06-22
1009India2024-06-08
1010Brazil2024-06-09
1011Spain2024-06-19
1012United Kingdom2024-06-01
1013Germany2024-05-30
1014Japan2024-06-16
1015Canada2024-06-10
1016Australia2024-06-09
1017India2024-05-27
1018Australia2024-06-19
1019Germany2024-06-14
1020Canada2024-06-03
1021Germany2024-06-09
1022Italy2024-06-16
1023Germany2024-06-07
1024Canada2024-06-07
1025United Kingdom2024-06-07
1026Japan2024-06-10
1027Germany2024-06-19
1028France2024-06-02
1029France2024-05-29
1030Italy2024-06-07
1031Brazil2024-06-16
1032France2024-06-10
1033United Kingdom2024-06-08
1034Germany2024-06-17
1035Argentina2024-06-10
1036Canada2024-06-15
1037Spain2024-06-16
1038India2024-06-12
1039Argentina2024-05-30
1040Japan2024-06-01
1041France2024-05-28
1042Germany2024-05-31
1043Australia2024-06-22
1044United Kingdom2024-06-17
1045Australia2024-05-24
1046India2024-06-13
1047Russia2024-06-08
1048Brazil2024-06-14
1049Germany2024-05-29

On-Demand Data

NameIdCountryDate
Munro N Butt1000Brazil2024-06-04
Aruna Q Marrier1001Spain2024-05-25
Faith A Paprocki1002United Kingdom2024-06-17
Adams P Gillian1003Brazil2024-06-18
Chavez Z Shinko1004United Kingdom2024-06-16
Ashley B Gillian1005Russia2024-06-18
Mayumi F Albares1006France2024-05-25
Aika Q Darakjy1007Japan2024-05-27
Tony K Gaucho1008Canada2024-06-05
Nicolas W Caudy1009Italy2024-06-04
Emily S Saylors1010Russia2024-06-07
James Q Malet1011Japan2024-06-08
Rodrigues O Paprocki1012Australia2024-06-20
Jeanfrancois V Inouye1013Canada2024-05-30
James O Tollner1014Italy2024-06-05
James O Poquette1015Brazil2024-06-07
Isabel K Royster1016India2024-06-17
Murillo A Perin1017Australia2024-05-30
Smith F Gillian1018Canada2024-06-15
David I Whobrey1019Spain2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily M WaycottCanadaIvan Magalhaes NEW
Arvin S AlbaresRussiaAnna Fali NEGOTIATION
Alejandro X WhobreyBrazilIoni Bowcher QUALIFIED
Julie W CampainSpainOnyama Limba RENEWAL
Misaki S VenereGermanyXuxue Feng QUALIFIED
Aruna G MaletCanadaAnna Fali UNQUALIFIED
Wickens O KolmetzRussiaAnna Fali NEGOTIATION
Jefferson H NestleAustraliaIoni Bowcher RENEWAL
Izzy O SergiRussiaAsiya Javayant QUALIFIED
Octavia T RulapaughUnited KingdomAmy Elsner RENEWAL
Misaki Y GauchoIndiaStephen Shaw NEGOTIATION
Murillo P PoquetteRussiaAnna Fali PROPOSAL
Octavia N BowleyBrazilAmy Elsner RENEWAL
Silvio N RulapaughFranceIoni Bowcher RENEWAL
Deepesh B TollnerFranceIvan Magalhaes PROPOSAL
Ashley T BowleyItalyBernardo Dominic RENEWAL
Wickens Z FerenczAustraliaIoni Bowcher NEW
Juan M RoysterRussiaIvan Magalhaes PROPOSAL
Leon N RoysterGermanyAnna Fali PROPOSAL
Sinclair A PoquetteFranceBernardo Dominic RENEWAL
Antonio H GillianRussiaBernardo Dominic UNQUALIFIED
Tony Q WaycottBrazilIoni Bowcher NEGOTIATION
Silvio H CaldareraArgentinaXuxue Feng PROPOSAL
Tony A FigeroaSpainOnyama Limba RENEWAL
Rodrigues F RimSpainIoni Bowcher NEW
Murillo S ButtSpainBernardo Dominic NEW
Darci P RimItalyAsiya Javayant UNQUALIFIED
Murillo L DilliardItalyIoni Bowcher RENEWAL
Nicolas X CaldareraFranceXuxue Feng RENEWAL
Deepesh E PaprockiRussiaXuxue Feng NEW
Claire Y GarufiRussiaOnyama Limba QUALIFIED
Costa H FlosiGermanyIvan Magalhaes UNQUALIFIED
Aika X GauchoSpainAsiya Javayant QUALIFIED
Leja G IturbideItalyAnna Fali UNQUALIFIED
Ashley G BologniaArgentinaIvan Magalhaes PROPOSAL
James A BriddickItalyOnyama Limba RENEWAL
Murillo C IturbideAustraliaOnyama Limba QUALIFIED
Octavia W GauchoAustraliaXuxue Feng UNQUALIFIED
Kadeem L RimIndiaAsiya Javayant QUALIFIED
Ashley E OstroskyArgentinaBernardo Dominic UNQUALIFIED

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