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
Ricardo T CaldareraFranceAmy Elsner PROPOSAL
Mayumi C TollnerGermanyOnyama Limba NEGOTIATION
Ivar B NestleCanadaAmy Elsner NEGOTIATION
Silvio X RimArgentinaAmy Elsner QUALIFIED
Ashley J MorascaCanadaIoni Bowcher PROPOSAL
Juan Y KolmetzAustraliaElwin Sharvill NEGOTIATION
Isabel K CaldareraFranceXuxue Feng PROPOSAL
Johnson Q FlosiFranceIvan Magalhaes NEW
Antonio O MorascaRussiaIvan Magalhaes RENEWAL
Adams B PerinSpainAmy Elsner RENEWAL
Leja S NickaCanadaXuxue Feng NEGOTIATION
Maisha K VocelkaJapanAmy Elsner QUALIFIED
Juan Y CampainItalyXuxue Feng QUALIFIED
Julie E WhobreyItalyOnyama Limba RENEWAL
Misaki D ButtItalyAnna Fali UNQUALIFIED
Kaitlin E SaylorsIndiaAsiya Javayant RENEWAL
Greenwood Q DoeIndiaAnna Fali NEGOTIATION
Claire J BriddickJapanXuxue Feng RENEWAL
Mujtaba O FigeroaArgentinaXuxue Feng UNQUALIFIED
Silvio K BowleyBrazilStephen Shaw NEW
Julie Y MacleadArgentinaXuxue Feng QUALIFIED
Chavez Z RutaUnited KingdomAmy Elsner UNQUALIFIED
Stacey L AmigonCanadaAsiya Javayant UNQUALIFIED
Munro W StockhamCanadaOnyama Limba PROPOSAL
Mujtaba V RutaCanadaXuxue Feng QUALIFIED
Aditya G OstroskyJapanElwin Sharvill QUALIFIED
Leon A WieserFranceElwin Sharvill NEGOTIATION
Silvio M DilliardBrazilOnyama Limba RENEWAL
Smith L VocelkaCanadaXuxue Feng UNQUALIFIED
Smith W NickaRussiaIoni Bowcher NEW
Emily H MaletFranceXuxue Feng NEGOTIATION
Aika K IturbideItalyElwin Sharvill RENEWAL
Ivar Q WieserCanadaBernardo Dominic NEGOTIATION
Jennifer R OstroskyJapanIvan Magalhaes QUALIFIED
Juan J MarrierJapanXuxue Feng NEW
David G ShinkoArgentinaIoni Bowcher NEW
Jones J CampainCanadaBernardo Dominic RENEWAL
Antonio V NickaArgentinaXuxue Feng RENEWAL
Clifford N VenereFranceAsiya Javayant QUALIFIED
Darci X NestleIndiaIvan Magalhaes PROPOSAL
Jefferson P WhobreyCanadaIoni Bowcher PROPOSAL
Kaitlin N BriddickGermanyIoni Bowcher RENEWAL
Stacey W TollnerItalyStephen Shaw RENEWAL
Sinclair E MorascaFranceBernardo Dominic QUALIFIED
Aruna N ShinkoFranceStephen Shaw NEGOTIATION
David G FerenczItalyAsiya Javayant RENEWAL
Faith A FigeroaRussiaOnyama Limba RENEWAL
Wickens Q MaletItalyIoni Bowcher RENEWAL
Stacey L RimArgentinaXuxue Feng QUALIFIED
Misaki R GillianUnited KingdomStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore H PerinSpainAmy Elsner UNQUALIFIED
Julie U MorascaFranceXuxue Feng PROPOSAL
David Y VenereJapanIvan Magalhaes PROPOSAL
Francesco P OstroskyUnited KingdomIoni Bowcher QUALIFIED
Sinclair T FollerBrazilXuxue Feng NEW
Darci J ShinkoSpainAmy Elsner PROPOSAL
Mayumi Q InouyeIndiaBernardo Dominic NEW
Claire W MarrierArgentinaOnyama Limba RENEWAL
Aika T RutaBrazilAsiya Javayant NEW
Leon R VocelkaSpainXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia N OstroskyGermany2024-05-18Printing Dimensions QUALIFIED24Bernardo Dominic
1001Murillo J AmigonIndia2024-05-17Morlong Associates QUALIFIED31Onyama Limba
1002Salvatore F SchemmerItaly2024-05-05Rangoni Of Florence RENEWAL39Stephen Shaw
1003Jeanfrancois W StockhamBrazil2024-05-26Chemel, James L Cpa QUALIFIED64Stephen Shaw
1004Leja A WieserIndia2024-05-26Truhlar And Truhlar Attys PROPOSAL84Onyama Limba
1005Aruna S BriddickCanada2024-05-23Feiner Bros QUALIFIED42Anna Fali
1006Isabel W BologniaCanada2024-04-28Chapman, Ross E Esq NEW87Elwin Sharvill
1007Mayumi P PoquetteSpain2024-05-08Chapman, Ross E Esq PROPOSAL51Amy Elsner
1008Isabel R PoquetteCanada2024-05-10Chapman, Ross E Esq NEW47Amy Elsner
1009Octavia J KolmetzArgentina2024-04-30Printing Dimensions QUALIFIED54Anna Fali
1010Ricardo X GlickUnited Kingdom2024-05-21Feiner Bros UNQUALIFIED86Amy Elsner
1011Aditya A CaudyRussia2024-05-02Buckley Miller Wright NEW38Amy Elsner
1012Faith V GarufiJapan2024-05-16Chanay, Jeffrey A Esq NEGOTIATION64Ioni Bowcher
1013Faith M ShinkoIndia2024-05-14Chapman, Ross E Esq NEGOTIATION72Bernardo Dominic
1014Kadeem P KolmetzUnited Kingdom2024-05-26King, Christopher A Esq QUALIFIED9Elwin Sharvill
1015Mujtaba R ButtUnited Kingdom2024-04-28Rangoni Of Florence QUALIFIED75Amy Elsner
1016Arvin X WieserFrance2024-05-22Printing Dimensions UNQUALIFIED49Ivan Magalhaes
1017Jennifer O IturbideRussia2024-05-19Benton, John B Jr PROPOSAL80Ivan Magalhaes
1018Adams P PaprockiItaly2024-05-25Truhlar And Truhlar Attys PROPOSAL24Ioni Bowcher
1019Juan S WaycottItaly2024-05-02Feiner Bros NEGOTIATION86Bernardo Dominic
1020Francesco T SaylorsArgentina2024-05-26Benton, John B Jr PROPOSAL91Bernardo Dominic
1021Stacey G CaldareraCanada2024-05-03Buckley Miller Wright NEGOTIATION63Stephen Shaw
1022Johnson Z BowleyFrance2024-05-15Dorl, James J Esq PROPOSAL90Anna Fali
1023Munro H MaletItaly2024-05-17Rangoni Of Florence NEW84Elwin Sharvill
1024Ricardo T FerenczSpain2024-05-01Dorl, James J Esq QUALIFIED71Ivan Magalhaes
1025David G ChuiSpain2024-04-29Chemel, James L Cpa NEW97Amy Elsner
1026Costa Q DilliardCanada2024-05-03Truhlar And Truhlar Attys UNQUALIFIED2Anna Fali
1027Aruna I GauchoCanada2024-05-21Feiner Bros PROPOSAL20Ioni Bowcher
1028Kadeem U MarrierItaly2024-05-09Chemel, James L Cpa UNQUALIFIED75Ivan Magalhaes
1029Murillo O VenereArgentina2024-05-01Feltz Printing Service QUALIFIED39Ioni Bowcher
1030Kaitlin J InouyeIndia2024-05-13Morlong Associates NEGOTIATION88Anna Fali
1031Emily O SaylorsUnited Kingdom2024-05-17Chapman, Ross E Esq NEW32Anna Fali
1032Emily C MarrierBrazil2024-04-29Commercial Press RENEWAL75Bernardo Dominic
1033Darci T BowleyJapan2024-05-10Feltz Printing Service QUALIFIED70Ivan Magalhaes
1034Alejandro X MaletGermany2024-05-15King, Christopher A Esq RENEWAL82Asiya Javayant
1035Octavia N ChuiCanada2024-05-10Dorl, James J Esq NEW75Amy Elsner
1036Jefferson J SlusarskiRussia2024-05-27Truhlar And Truhlar Attys NEW66Bernardo Dominic
1037Tony C WaycottUnited Kingdom2024-05-11Dorl, James J Esq PROPOSAL65Stephen Shaw
1038Morrow R MaletRussia2024-05-15Rangoni Of Florence NEGOTIATION17Asiya Javayant
1039Kaitlin X FigeroaJapan2024-05-06Buckley Miller Wright RENEWAL92Ioni Bowcher
1040Arvin C RimGermany2024-05-09Buckley Miller Wright NEGOTIATION90Xuxue Feng
1041Rodrigues S KolmetzGermany2024-05-27King, Christopher A Esq NEW6Ivan Magalhaes
1042Misaki Y MacleadItaly2024-05-05Truhlar And Truhlar Attys QUALIFIED8Anna Fali
1043Octavia M ChuiJapan2024-05-10King, Christopher A Esq PROPOSAL72Xuxue Feng
1044Rodrigues X NestleFrance2024-05-10Rangoni Of Florence UNQUALIFIED6Asiya Javayant
1045Alejandro Z GlickAustralia2024-05-23Morlong Associates NEGOTIATION33Elwin Sharvill
1046Jeanfrancois H StockhamFrance2024-05-14Printing Dimensions NEGOTIATION9Ivan Magalhaes
1047Kadeem F WhobreyIndia2024-05-07Chanay, Jeffrey A Esq NEW52Ivan Magalhaes
1048Salvatore V MaletItaly2024-05-09Benton, John B Jr UNQUALIFIED12Bernardo Dominic
1049Jones L StockhamUnited Kingdom2024-05-02Commercial Press QUALIFIED98Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Isabel O MarrierBrazilIvan Magalhaes PROPOSAL
Salvatore F ChuiFranceIvan Magalhaes QUALIFIED
Salvatore W SergiJapanElwin Sharvill NEW
Juan K MacleadAustraliaIoni Bowcher UNQUALIFIED
James M GlickJapanIoni Bowcher NEGOTIATION
Leon C RutaBrazilStephen Shaw RENEWAL
Alejandro S RutaAustraliaElwin Sharvill RENEWAL
Kadeem G AmigonUnited KingdomStephen Shaw NEW
Salvatore V ButtCanadaAmy Elsner RENEWAL
Francesco M RutaAustraliaIoni Bowcher PROPOSAL
David L SchemmerBrazilElwin Sharvill NEGOTIATION
Ricardo M GarufiBrazilXuxue Feng PROPOSAL
Aruna Y StensethJapanAnna Fali NEW
Jennifer L WaycottArgentinaBernardo Dominic NEW
Morrow Z FigeroaJapanElwin Sharvill RENEWAL
Morrow K RutaAustraliaBernardo Dominic UNQUALIFIED
Nicolas L WieserSpainIoni Bowcher QUALIFIED
Leon D ShinkoGermanyAmy Elsner RENEWAL
Smith N MacleadFranceXuxue Feng RENEWAL
Juan E CaudyJapanBernardo Dominic RENEWAL
Darci E InouyeFranceIoni Bowcher QUALIFIED
Cody C WaycottIndiaIvan Magalhaes PROPOSAL
Julie I AlbaresFranceIvan Magalhaes RENEWAL
Aditya K WhobreyUnited KingdomElwin Sharvill RENEWAL
Costa B InouyeGermanyElwin Sharvill NEW
Wickens W WaycottBrazilAsiya Javayant NEGOTIATION
Darci C FlosiFranceAmy Elsner QUALIFIED
Francesco O DarakjyJapanElwin Sharvill PROPOSAL
Claire O PaprockiUnited KingdomIoni Bowcher RENEWAL
Aditya S GauchoArgentinaOnyama Limba RENEWAL
Faith M RoysterCanadaAnna Fali RENEWAL
Claire F BologniaIndiaIoni Bowcher NEGOTIATION
Jones F MarrierIndiaBernardo Dominic NEW
Francesco A MaletAustraliaXuxue Feng NEGOTIATION
Darci V NestleJapanXuxue Feng PROPOSAL
Alejandro C ButtGermanyXuxue Feng RENEWAL
Claire G FerenczRussiaXuxue Feng PROPOSAL
Juan O MorascaJapanAnna Fali NEGOTIATION
Juan K PaprockiSpainAnna Fali PROPOSAL
Francesco L BriddickAustraliaIoni Bowcher UNQUALIFIED
Wickens G BriddickSpainOnyama Limba UNQUALIFIED
Jennifer L RoysterArgentinaStephen Shaw UNQUALIFIED
Nicolas Q CaudyItalyAnna Fali RENEWAL
Tony Y StensethSpainOnyama Limba NEGOTIATION
Kaitlin Y DarakjyIndiaBernardo Dominic NEW
Kaitlin Y FerenczItalyIoni Bowcher NEW
Claire S ButtIndiaAsiya Javayant NEGOTIATION
David J IturbideFranceXuxue Feng PROPOSAL
Tony Y SaylorsSpainAmy Elsner PROPOSAL
Silvio Z DoeJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Jeanfrancois O Amigon
Cody X Marrier
Tony O Caudy
Ricardo K Doe
Nicolas N Briddick
David H Chui
Deepesh K Butt
Aditya V Butt
Smith G Butt
James N Paprocki
Emily T Perin
Jennifer N Whobrey
Maisha A Briddick
Deepesh Q Poquette
Isabel U Oldroyd
Kadeem H Morasca
Adams B Inouye
Ashley P Venere
Stacey X Rulapaugh
Stacey H Foller
Octavia L Iturbide
Juan X Whobrey
Leon G Dilliard
Aditya J Venere
Leon F Paprocki
Izzy V Shinko
Jefferson E Bolognia
Ashley F Foller
Salvatore M Shinko
Ashley Z Marrier
Smith C Doe
Mayumi T Perin
Tony V Venere
Sinclair U Gillian
Chavez Y Sergi
Deepesh T Iturbide
Johnson N Wieser
Maisha F Bolognia
Kaitlin M Malet
Jones Y Ostrosky
Izzy I Kolmetz
Morrow T Morasca
Misaki V Doe
Adams Z Butt
Leja E Butt
Sinclair I Gaucho
Aruna Y Stockham
Ashley A Tollner
Salvatore B Saylors
Juan Z Kolmetz
IdCountryDate
1000India2024-05-14
1001Russia2024-05-05
1002India2024-05-19
1003Japan2024-05-23
1004Italy2024-05-08
1005France2024-05-07
1006Canada2024-05-22
1007Brazil2024-05-12
1008Canada2024-05-09
1009Italy2024-05-21
1010Spain2024-04-29
1011Japan2024-05-13
1012Spain2024-05-01
1013France2024-04-29
1014India2024-05-14
1015United Kingdom2024-04-30
1016Argentina2024-05-08
1017Italy2024-05-27
1018Argentina2024-04-29
1019France2024-05-21
1020United Kingdom2024-04-28
1021France2024-05-14
1022Japan2024-05-26
1023Brazil2024-05-09
1024Australia2024-05-18
1025France2024-05-08
1026Argentina2024-05-17
1027France2024-05-12
1028France2024-05-16
1029Australia2024-05-05
1030India2024-05-01
1031France2024-05-06
1032India2024-05-07
1033Spain2024-04-30
1034Canada2024-05-22
1035Japan2024-05-19
1036Japan2024-05-01
1037Canada2024-05-18
1038India2024-05-05
1039Spain2024-05-22
1040Spain2024-05-12
1041India2024-05-24
1042Argentina2024-05-16
1043Italy2024-04-29
1044France2024-05-13
1045Argentina2024-05-03
1046Argentina2024-05-04
1047Canada2024-05-14
1048Argentina2024-05-18
1049Canada2024-05-25

On-Demand Data

NameIdCountryDate
Tony Z Albares1000Japan2024-05-05
Arvin V Perin1001Argentina2024-05-12
Silvio A Malet1002Germany2024-05-10
Francesco C Marrier1003Brazil2024-05-08
Munro O Foller1004Brazil2024-05-16
Nicolas A Whobrey1005Russia2024-05-19
Greenwood R Saylors1006Argentina2024-05-18
Leja B Glick1007Italy2024-05-14
Stacey F Dilliard1008Germany2024-05-20
Aruna X Caudy1009Brazil2024-05-15
Wickens W Saylors1010Russia2024-04-29
Julie T Bolognia1011Australia2024-05-07
Kadeem M Venere1012Italy2024-05-10
Kadeem J Shinko1013United Kingdom2024-05-10
Ricardo T Kusko1014France2024-05-02
Johnson A Bolognia1015Spain2024-05-16
Aditya M Iturbide1016Canada2024-05-11
Faith A Doe1017United Kingdom2024-05-12
Jeanfrancois N Paprocki1018Canada2024-05-24
Stacey N Caldarera1019Spain2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues H CaldareraSpainAmy Elsner RENEWAL
Emily Q SchemmerIndiaXuxue Feng NEGOTIATION
Izzy G ChuiArgentinaIvan Magalhaes PROPOSAL
Francesco Y PerinIndiaOnyama Limba PROPOSAL
Claire B ButtArgentinaAsiya Javayant UNQUALIFIED
Greenwood Q NickaCanadaAmy Elsner PROPOSAL
Aruna Q ChuiArgentinaAsiya Javayant NEGOTIATION
Kaitlin N FerenczArgentinaIoni Bowcher NEW
Munro O IturbideFranceAmy Elsner NEW
Claire G OstroskyCanadaAmy Elsner NEW
David M MacleadJapanElwin Sharvill NEW
Antonio Z BologniaItalyAnna Fali UNQUALIFIED
Jeanfrancois A VenereItalyXuxue Feng RENEWAL
James Q KuskoFranceXuxue Feng NEW
Aruna U MacleadGermanyIoni Bowcher RENEWAL
Sinclair V MarrierAustraliaIvan Magalhaes NEGOTIATION
Julie Q FlosiGermanyAnna Fali QUALIFIED
Mujtaba N GillianItalyIoni Bowcher PROPOSAL
Leja U RimRussiaAnna Fali NEGOTIATION
Maisha X DoeIndiaOnyama Limba RENEWAL
Chavez R KolmetzRussiaOnyama Limba NEGOTIATION
Leja D KuskoItalyAsiya Javayant RENEWAL
Johnson I OldroydGermanyAsiya Javayant NEW
Aditya E DilliardSpainBernardo Dominic NEW
Leja V WhobreyCanadaIoni Bowcher NEW
Nicolas F MacleadCanadaBernardo Dominic NEGOTIATION
Ivar K BologniaBrazilOnyama Limba QUALIFIED
Jones O BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Ashley L FigeroaBrazilOnyama Limba UNQUALIFIED
Faith Z NickaAustraliaAsiya Javayant UNQUALIFIED
Salvatore N NickaArgentinaAsiya Javayant QUALIFIED
Johnson N MaletIndiaBernardo Dominic QUALIFIED
Adams N TollnerCanadaOnyama Limba NEGOTIATION
Stacey J PoquetteBrazilStephen Shaw QUALIFIED
Jennifer L CaldareraAustraliaOnyama Limba QUALIFIED
Jefferson U GarufiCanadaOnyama Limba NEGOTIATION
Sinclair S NestleAustraliaIoni Bowcher NEGOTIATION
Smith L MarrierIndiaOnyama Limba NEW
Adams Y FerenczFranceBernardo Dominic NEGOTIATION
Stacey Y BologniaItalyOnyama Limba 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>