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
Mayumi X RimBrazilStephen Shaw NEGOTIATION
Jennifer S VenereAustraliaXuxue Feng PROPOSAL
Deepesh I CaudyAustraliaOnyama Limba QUALIFIED
Clifford O MarrierSpainElwin Sharvill NEW
Kadeem K SergiCanadaIoni Bowcher RENEWAL
Claire C MacleadRussiaBernardo Dominic PROPOSAL
Jefferson S SaylorsBrazilAmy Elsner UNQUALIFIED
James S RoysterJapanStephen Shaw RENEWAL
Aruna Z WieserIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois V DilliardAustraliaXuxue Feng PROPOSAL
Kaitlin H GauchoCanadaAmy Elsner QUALIFIED
Silvio P FlosiArgentinaStephen Shaw PROPOSAL
Tony C DarakjyBrazilXuxue Feng RENEWAL
Silvio A StensethBrazilIoni Bowcher PROPOSAL
Francesco I SlusarskiJapanAmy Elsner NEW
Misaki K AmigonCanadaIvan Magalhaes PROPOSAL
Darci F WieserGermanyStephen Shaw NEGOTIATION
Kadeem V DarakjyGermanyAnna Fali NEW
Munro X OstroskyArgentinaOnyama Limba RENEWAL
Misaki I GauchoSpainStephen Shaw QUALIFIED
Greenwood Z StockhamBrazilStephen Shaw RENEWAL
Wickens R OldroydAustraliaElwin Sharvill QUALIFIED
Arvin U NickaArgentinaAsiya Javayant UNQUALIFIED
Smith D OldroydJapanStephen Shaw UNQUALIFIED
Leon D OstroskyUnited KingdomBernardo Dominic QUALIFIED
Murillo D FlosiUnited KingdomAmy Elsner UNQUALIFIED
Tony V AlbaresUnited KingdomIvan Magalhaes PROPOSAL
David Q GauchoRussiaBernardo Dominic RENEWAL
Greenwood G RulapaughSpainIoni Bowcher UNQUALIFIED
Faith Q MacleadGermanyStephen Shaw NEGOTIATION
Jones Z BologniaArgentinaAnna Fali RENEWAL
Claire E ButtRussiaAmy Elsner UNQUALIFIED
Murillo H IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Izzy B BologniaRussiaXuxue Feng UNQUALIFIED
Cody V ButtFranceElwin Sharvill RENEWAL
Jefferson N PaprockiRussiaAsiya Javayant UNQUALIFIED
Ashley H DoeGermanyAsiya Javayant QUALIFIED
Maisha W StensethArgentinaStephen Shaw NEW
David E RutaItalyXuxue Feng QUALIFIED
Aika Y CaldareraAustraliaAsiya Javayant NEGOTIATION
Jones E FigeroaFranceElwin Sharvill QUALIFIED
Cody R IturbideIndiaIoni Bowcher PROPOSAL
Francesco R MacleadSpainAmy Elsner PROPOSAL
Juan H MaletRussiaBernardo Dominic UNQUALIFIED
Ricardo W TollnerItalyBernardo Dominic QUALIFIED
Clifford N MaletCanadaAnna Fali QUALIFIED
Costa Y GauchoArgentinaIoni Bowcher UNQUALIFIED
Jefferson V DoeIndiaStephen Shaw NEGOTIATION
Adams H CaldareraBrazilXuxue Feng PROPOSAL
Ivar L SaylorsSpainIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Stacey F GillianJapanIvan Magalhaes QUALIFIED
Cody H BologniaIndiaIoni Bowcher PROPOSAL
Izzy A MorascaSpainStephen Shaw QUALIFIED
Maria W PaprockiAustraliaAsiya Javayant UNQUALIFIED
Johnson B OldroydAustraliaElwin Sharvill NEW
Stacey P SergiItalyIvan Magalhaes UNQUALIFIED
Stacey F DarakjyAustraliaAsiya Javayant RENEWAL
Aruna X FigeroaBrazilAnna Fali NEGOTIATION
Chavez X RutaUnited KingdomBernardo Dominic NEW
Darci Q SchemmerCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues P TollnerArgentina2024-06-14Chanay, Jeffrey A Esq NEW91Amy Elsner
1001Julie K ButtAustralia2024-06-10Truhlar And Truhlar Attys NEW64Amy Elsner
1002Leon J AmigonBrazil2024-06-06Chapman, Ross E Esq UNQUALIFIED25Stephen Shaw
1003Leon Z StensethItaly2024-05-28Buckley Miller Wright NEW97Bernardo Dominic
1004Claire R MarrierArgentina2024-06-07Morlong Associates RENEWAL99Asiya Javayant
1005Wickens L CampainRussia2024-05-29Benton, John B Jr NEGOTIATION29Xuxue Feng
1006Chavez S BriddickArgentina2024-06-03Feiner Bros UNQUALIFIED49Elwin Sharvill
1007Ivar N OstroskyIndia2024-06-12Feltz Printing Service PROPOSAL65Onyama Limba
1008Munro G RutaArgentina2024-06-05Benton, John B Jr UNQUALIFIED94Onyama Limba
1009Kaitlin R OstroskyBrazil2024-06-02Feiner Bros QUALIFIED90Ivan Magalhaes
1010Darci Q IturbideAustralia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED45Amy Elsner
1011Francesco A FollerJapan2024-06-24Feltz Printing Service NEW86Stephen Shaw
1012Maisha D RulapaughGermany2024-06-01Rangoni Of Florence NEGOTIATION39Ioni Bowcher
1013Clifford O WhobreyGermany2024-06-03Rangoni Of Florence NEGOTIATION72Stephen Shaw
1014Izzy O FlosiFrance2024-06-05Chemel, James L Cpa NEGOTIATION61Asiya Javayant
1015Ashley X ShinkoGermany2024-05-26Printing Dimensions NEGOTIATION33Bernardo Dominic
1016Johnson H WhobreyIndia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED32Anna Fali
1017Claire Z WieserRussia2024-06-06Truhlar And Truhlar Attys RENEWAL40Ioni Bowcher
1018Claire U DoeItaly2024-06-12Chanay, Jeffrey A Esq NEGOTIATION21Elwin Sharvill
1019Munro D KolmetzFrance2024-06-17Rousseaux, Michael Esq NEW38Elwin Sharvill
1020Costa J GauchoFrance2024-06-07Rousseaux, Michael Esq NEW32Anna Fali
1021Maria L GarufiRussia2024-05-26Buckley Miller Wright RENEWAL55Stephen Shaw
1022Kadeem Z VenereArgentina2024-06-15Chemel, James L Cpa UNQUALIFIED73Xuxue Feng
1023Mayumi F PoquetteSpain2024-06-07Benton, John B Jr NEW48Bernardo Dominic
1024Faith B WaycottFrance2024-06-05Commercial Press NEGOTIATION96Ioni Bowcher
1025Greenwood T SchemmerItaly2024-06-17King, Christopher A Esq RENEWAL59Asiya Javayant
1026Julie S CaudyGermany2024-05-30Rousseaux, Michael Esq NEW85Asiya Javayant
1027Alejandro O AmigonJapan2024-06-21Rangoni Of Florence UNQUALIFIED44Ivan Magalhaes
1028Julie X WaycottCanada2024-06-07Chemel, James L Cpa QUALIFIED25Anna Fali
1029Kaitlin L ChuiFrance2024-05-27Commercial Press RENEWAL88Xuxue Feng
1030Morrow A CaldareraUnited Kingdom2024-06-15Feiner Bros UNQUALIFIED29Xuxue Feng
1031Munro G VocelkaRussia2024-06-18Benton, John B Jr RENEWAL21Ioni Bowcher
1032Clifford C OldroydArgentina2024-06-20Buckley Miller Wright NEW1Elwin Sharvill
1033Francesco L WhobreyFrance2024-06-09Rangoni Of Florence PROPOSAL29Ioni Bowcher
1034Adams L MorascaAustralia2024-06-06Dorl, James J Esq UNQUALIFIED8Xuxue Feng
1035Jeanfrancois R PoquetteAustralia2024-06-18Rousseaux, Michael Esq NEW53Ivan Magalhaes
1036Aditya N AlbaresCanada2024-06-15Rousseaux, Michael Esq NEGOTIATION64Asiya Javayant
1037James V RulapaughBrazil2024-06-15Feiner Bros PROPOSAL95Ioni Bowcher
1038Deepesh Y WaycottBrazil2024-06-01Morlong Associates RENEWAL20Onyama Limba
1039Alejandro P FollerRussia2024-05-28Commercial Press RENEWAL67Anna Fali
1040Juan V StockhamUnited Kingdom2024-06-05King, Christopher A Esq NEGOTIATION92Ivan Magalhaes
1041Chavez V RimArgentina2024-05-29Morlong Associates RENEWAL55Xuxue Feng
1042Jeanfrancois E WhobreyAustralia2024-06-04Chanay, Jeffrey A Esq QUALIFIED60Elwin Sharvill
1043Ricardo A RutaSpain2024-06-09Feiner Bros PROPOSAL28Asiya Javayant
1044Faith Z KuskoSpain2024-06-13Morlong Associates NEW1Ivan Magalhaes
1045Antonio F GlickUnited Kingdom2024-06-22King, Christopher A Esq NEGOTIATION28Ivan Magalhaes
1046Aika W MacleadBrazil2024-06-12Dorl, James J Esq NEW93Xuxue Feng
1047Greenwood Z DilliardItaly2024-06-17Dorl, James J Esq NEW65Elwin Sharvill
1048Maisha D AlbaresIndia2024-06-19Buckley Miller Wright PROPOSAL56Xuxue Feng
1049Juan K SchemmerJapan2024-06-17Rangoni Of Florence NEW63Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Julie H DilliardSpainAsiya Javayant NEW
Aditya W MaletGermanyBernardo Dominic PROPOSAL
Leon U DarakjyUnited KingdomAsiya Javayant QUALIFIED
Leja C DarakjyJapanElwin Sharvill NEGOTIATION
Rodrigues W RimCanadaElwin Sharvill QUALIFIED
Stacey X PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Maisha V InouyeArgentinaOnyama Limba NEGOTIATION
Darci K PerinUnited KingdomIvan Magalhaes RENEWAL
Ricardo O CampainIndiaXuxue Feng RENEWAL
Leja I RoysterSpainAmy Elsner RENEWAL
Ricardo B WieserSpainStephen Shaw NEW
Leja Z FlosiUnited KingdomIoni Bowcher QUALIFIED
Deepesh O FlosiAustraliaXuxue Feng UNQUALIFIED
Greenwood Y CaldareraArgentinaAmy Elsner NEW
Alejandro Y DarakjyCanadaBernardo Dominic PROPOSAL
Alejandro H WhobreyItalyBernardo Dominic RENEWAL
Kadeem W SlusarskiCanadaIoni Bowcher RENEWAL
Tony X StockhamBrazilXuxue Feng PROPOSAL
Antonio E BowleyRussiaAmy Elsner NEGOTIATION
Johnson L NestleIndiaIoni Bowcher QUALIFIED
Smith E OldroydBrazilAsiya Javayant RENEWAL
David E CaldareraGermanyAsiya Javayant QUALIFIED
Murillo C BriddickGermanyXuxue Feng QUALIFIED
Antonio T OstroskyUnited KingdomStephen Shaw NEW
James S IturbideSpainAsiya Javayant PROPOSAL
Aditya U GarufiCanadaIvan Magalhaes NEW
Clifford B CampainSpainIvan Magalhaes NEW
Ricardo I VocelkaUnited KingdomBernardo Dominic PROPOSAL
Silvio M WhobreySpainAsiya Javayant NEGOTIATION
Jennifer U NickaJapanElwin Sharvill NEGOTIATION
Jones L IturbideRussiaBernardo Dominic QUALIFIED
Maria Q VocelkaUnited KingdomIoni Bowcher RENEWAL
James W BowleyItalyAmy Elsner RENEWAL
Jones Z DoeUnited KingdomAnna Fali QUALIFIED
Maria C NestleSpainAsiya Javayant RENEWAL
Antonio O SchemmerGermanyAmy Elsner QUALIFIED
Antonio G DilliardSpainOnyama Limba PROPOSAL
Salvatore I PaprockiUnited KingdomStephen Shaw PROPOSAL
Salvatore R VenereAustraliaBernardo Dominic UNQUALIFIED
Wickens U BriddickItalyIvan Magalhaes NEW
Tony Q OstroskyGermanyXuxue Feng NEGOTIATION
Maisha R MorascaCanadaAnna Fali RENEWAL
Octavia E MaletGermanyAsiya Javayant UNQUALIFIED
Morrow T BriddickSpainAnna Fali PROPOSAL
Maisha M MarrierGermanyAsiya Javayant RENEWAL
Silvio G SchemmerUnited KingdomAmy Elsner RENEWAL
David V FigeroaRussiaBernardo Dominic PROPOSAL
Tony G MorascaJapanOnyama Limba QUALIFIED
Stacey S RimArgentinaIvan Magalhaes NEW
Mayumi A FerenczAustraliaAmy Elsner NEW
Frozen Columns
Name
Chavez A Nicka
Mujtaba U Iturbide
Antonio M Doe
Sinclair Q Gillian
Aditya M Ferencz
Ashley L Venere
Stacey Q Caudy
Isabel X Caldarera
Leon A Perin
Nicolas U Nestle
Cody E Figeroa
Munro K Campain
Morrow L Venere
Jeanfrancois D Wieser
Wickens V Kolmetz
Claire J Doe
Faith J Stenseth
Jefferson D Tollner
Julie H Oldroyd
James N Dilliard
Stacey C Bolognia
Aditya B Sergi
Ricardo Y Kusko
Mayumi H Wieser
Greenwood Z Foller
Wickens A Rulapaugh
Ashley F Venere
Julie A Foller
Sinclair D Malet
Kaitlin O Venere
Maisha H Iturbide
Alejandro N Bowley
Chavez D Gillian
Johnson E Gillian
Isabel B Poquette
Murillo L Dilliard
Isabel A Ferencz
Kaitlin O Ferencz
Smith J Schemmer
Antonio S Inouye
Silvio X Royster
Morrow G Darakjy
Ricardo C Paprocki
Murillo N Morasca
Jennifer U Caldarera
Ricardo U Waycott
Antonio P Schemmer
Clifford E Slusarski
Misaki D Stenseth
Leon L Glick
IdCountryDate
1000India2024-06-03
1001Australia2024-06-08
1002Italy2024-06-01
1003Australia2024-05-30
1004Australia2024-06-19
1005Brazil2024-06-12
1006India2024-06-24
1007Brazil2024-06-20
1008Brazil2024-06-07
1009Brazil2024-06-06
1010Spain2024-06-03
1011France2024-05-27
1012Argentina2024-06-10
1013Germany2024-06-15
1014Canada2024-06-07
1015Japan2024-06-21
1016Brazil2024-06-12
1017Argentina2024-06-02
1018France2024-06-22
1019Japan2024-06-09
1020Russia2024-06-18
1021Brazil2024-06-23
1022United Kingdom2024-06-11
1023Argentina2024-06-22
1024Australia2024-05-30
1025Canada2024-05-30
1026United Kingdom2024-06-09
1027Japan2024-06-13
1028Spain2024-06-22
1029Spain2024-06-01
1030Australia2024-06-02
1031Brazil2024-06-11
1032Argentina2024-06-06
1033Spain2024-06-18
1034Japan2024-06-04
1035Germany2024-06-11
1036Argentina2024-06-11
1037United Kingdom2024-06-24
1038Australia2024-06-21
1039Australia2024-06-21
1040Spain2024-06-10
1041United Kingdom2024-05-30
1042Canada2024-06-03
1043Argentina2024-06-09
1044Brazil2024-06-02
1045Brazil2024-06-14
1046Australia2024-06-08
1047Germany2024-06-01
1048India2024-06-16
1049United Kingdom2024-06-04

On-Demand Data

NameIdCountryDate
Deepesh Z Rim1000Canada2024-06-16
Sinclair N Tollner1001Italy2024-06-10
Maisha E Slusarski1002India2024-06-18
Kaitlin P Campain1003Australia2024-06-16
Mujtaba M Nestle1004Italy2024-06-01
Isabel H Maclead1005Argentina2024-06-03
Alejandro E Kusko1006Brazil2024-05-29
Maisha G Waycott1007Japan2024-06-11
Leon V Garufi1008Germany2024-06-20
Kaitlin V Rulapaugh1009India2024-06-24
Octavia Z Nicka1010France2024-05-26
David A Albares1011Spain2024-06-20
Jeanfrancois W Slusarski1012Spain2024-06-20
Wickens P Albares1013Brazil2024-05-29
Maisha E Wieser1014Japan2024-06-15
Maisha E Royster1015Australia2024-05-29
Cody Z Nicka1016Germany2024-06-20
Morrow Y Ruta1017Canada2024-05-27
Ricardo K Dilliard1018Russia2024-06-09
Ricardo A Bolognia1019India2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki R BowleyUnited KingdomElwin Sharvill PROPOSAL
Jennifer C IturbideUnited KingdomXuxue Feng RENEWAL
Greenwood D WieserIndiaOnyama Limba UNQUALIFIED
Arvin I WhobreyRussiaAnna Fali RENEWAL
Maria N NestleCanadaAmy Elsner PROPOSAL
Misaki Y PerinBrazilStephen Shaw NEW
Stacey O CaudyItalyOnyama Limba RENEWAL
Kaitlin C RutaBrazilAnna Fali QUALIFIED
Faith D GlickBrazilAmy Elsner NEW
Ricardo O SergiCanadaAmy Elsner UNQUALIFIED
Claire R OstroskyItalyIoni Bowcher NEGOTIATION
Salvatore Q GlickBrazilIoni Bowcher NEW
Greenwood K GillianArgentinaStephen Shaw NEW
Aruna R DoeArgentinaAmy Elsner NEGOTIATION
Leon A MorascaArgentinaXuxue Feng RENEWAL
Aditya I ChuiGermanyAnna Fali NEW
Deepesh W FerenczCanadaAsiya Javayant NEW
Adams X MacleadFranceAmy Elsner UNQUALIFIED
Deepesh B StensethBrazilStephen Shaw UNQUALIFIED
Leja L NestleIndiaIoni Bowcher RENEWAL
Aruna X BowleyCanadaOnyama Limba NEW
Kaitlin X GlickGermanyIvan Magalhaes RENEWAL
Faith X BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Wickens O RutaJapanAsiya Javayant PROPOSAL
Cody M ChuiArgentinaAmy Elsner RENEWAL
Silvio I NestleArgentinaElwin Sharvill UNQUALIFIED
Claire Y MarrierArgentinaAnna Fali RENEWAL
Izzy F MacleadAustraliaAmy Elsner UNQUALIFIED
Tony M CaldareraAustraliaStephen Shaw NEW
Murillo B SlusarskiIndiaXuxue Feng RENEWAL
David N MacleadSpainAsiya Javayant NEGOTIATION
Faith D BowleyIndiaIoni Bowcher NEGOTIATION
Chavez I DoeItalyXuxue Feng NEGOTIATION
David A InouyeJapanStephen Shaw QUALIFIED
Arvin S StensethItalyOnyama Limba NEW
Aruna D MacleadJapanAsiya Javayant RENEWAL
Johnson W TollnerBrazilAnna Fali NEW
Claire I PaprockiUnited KingdomIvan Magalhaes RENEWAL
Octavia J BologniaBrazilXuxue Feng NEW
Jennifer R AlbaresBrazilOnyama Limba 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>