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
Silvio Y SergiJapanAsiya Javayant NEGOTIATION
Greenwood V BowleyGermanyXuxue Feng PROPOSAL
Jones G DarakjyJapanAnna Fali NEGOTIATION
Julie B FigeroaJapanIvan Magalhaes RENEWAL
Silvio X VenereFranceIvan Magalhaes UNQUALIFIED
Misaki A BowleyAustraliaAsiya Javayant RENEWAL
Leja Q MaletSpainElwin Sharvill PROPOSAL
Morrow T OldroydItalyStephen Shaw QUALIFIED
Cody I PaprockiItalyBernardo Dominic NEW
James C ShinkoItalyStephen Shaw NEGOTIATION
Sinclair K RoysterIndiaElwin Sharvill QUALIFIED
Octavia N GillianUnited KingdomAnna Fali RENEWAL
Mayumi I BowleyIndiaAsiya Javayant NEW
Maria D RulapaughItalyElwin Sharvill PROPOSAL
Octavia T DilliardRussiaAmy Elsner NEGOTIATION
Morrow T BologniaIndiaXuxue Feng QUALIFIED
Octavia Y FerenczSpainIoni Bowcher RENEWAL
Wickens A MarrierCanadaElwin Sharvill PROPOSAL
Jennifer P SchemmerSpainAsiya Javayant NEGOTIATION
Salvatore S IturbideRussiaAnna Fali NEW
Francesco G MaletJapanOnyama Limba NEGOTIATION
Morrow K ShinkoItalyAsiya Javayant PROPOSAL
Deepesh Z SchemmerSpainElwin Sharvill PROPOSAL
Octavia C DarakjyJapanAmy Elsner PROPOSAL
David P PoquetteFranceXuxue Feng PROPOSAL
Julie I CaldareraRussiaAnna Fali UNQUALIFIED
Leja R CaudyFranceXuxue Feng PROPOSAL
Faith X FerenczJapanIoni Bowcher NEW
Salvatore I InouyeRussiaAnna Fali UNQUALIFIED
Claire I SlusarskiAustraliaBernardo Dominic NEW
Aditya S BriddickBrazilXuxue Feng NEGOTIATION
Munro T RutaAustraliaOnyama Limba UNQUALIFIED
Cody Y CaudyAustraliaXuxue Feng NEGOTIATION
Ashley P BologniaCanadaIvan Magalhaes UNQUALIFIED
Mujtaba W PaprockiAustraliaOnyama Limba PROPOSAL
Nicolas Q SergiIndiaAsiya Javayant NEW
Deepesh A CampainIndiaIvan Magalhaes RENEWAL
Mujtaba D WieserRussiaElwin Sharvill PROPOSAL
Ivar I MaletItalyAmy Elsner UNQUALIFIED
Claire U BowleyAustraliaXuxue Feng NEGOTIATION
Faith G ButtBrazilStephen Shaw NEGOTIATION
Smith H ButtFranceOnyama Limba QUALIFIED
Ivar J IturbideAustraliaAsiya Javayant UNQUALIFIED
David I NickaItalyIoni Bowcher RENEWAL
Mayumi F MaletAustraliaIoni Bowcher RENEWAL
Jeanfrancois S PoquetteJapanOnyama Limba NEW
Leja V FigeroaSpainAnna Fali PROPOSAL
Mayumi F MarrierBrazilAsiya Javayant UNQUALIFIED
Francesco W SergiBrazilXuxue Feng NEW
Leon R GlickItalyIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy J StockhamGermanyAsiya Javayant NEGOTIATION
Mayumi C RulapaughSpainOnyama Limba RENEWAL
Johnson F ShinkoBrazilBernardo Dominic NEW
Wickens K PerinCanadaAnna Fali NEW
Stacey V MacleadUnited KingdomElwin Sharvill NEGOTIATION
Izzy Q MaletFranceOnyama Limba PROPOSAL
Maisha N SergiRussiaOnyama Limba NEW
Sinclair N PoquetteIndiaBernardo Dominic PROPOSAL
Murillo I AmigonJapanIvan Magalhaes UNQUALIFIED
Murillo L RutaFranceBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia U SergiBrazil2024-06-16Benton, John B Jr UNQUALIFIED53Onyama Limba
1001Jefferson X PerinItaly2024-06-15Benton, John B Jr RENEWAL90Ioni Bowcher
1002Leja B StensethRussia2024-06-21Printing Dimensions PROPOSAL27Xuxue Feng
1003Smith T BriddickRussia2024-06-14Rangoni Of Florence QUALIFIED29Onyama Limba
1004Aika D GlickJapan2024-05-27Chemel, James L Cpa NEW77Stephen Shaw
1005Emily O NestleJapan2024-06-12Printing Dimensions NEW46Stephen Shaw
1006David Z BowleyRussia2024-06-15Chapman, Ross E Esq PROPOSAL35Elwin Sharvill
1007Murillo I MorascaIndia2024-06-06Commercial Press PROPOSAL15Bernardo Dominic
1008Clifford V WieserRussia2024-06-17Feiner Bros QUALIFIED97Onyama Limba
1009Nicolas D FigeroaRussia2024-05-25Printing Dimensions UNQUALIFIED95Elwin Sharvill
1010Ashley Y TollnerGermany2024-06-09Chapman, Ross E Esq NEGOTIATION52Asiya Javayant
1011Ashley A WieserItaly2024-06-20Rangoni Of Florence QUALIFIED86Asiya Javayant
1012Salvatore Z MacleadAustralia2024-05-29Printing Dimensions PROPOSAL81Stephen Shaw
1013Cody H NickaIndia2024-06-23King, Christopher A Esq PROPOSAL54Elwin Sharvill
1014Ivar P MorascaBrazil2024-06-19Rousseaux, Michael Esq RENEWAL27Stephen Shaw
1015Aruna N VocelkaSpain2024-06-21Morlong Associates PROPOSAL36Bernardo Dominic
1016Alejandro V OldroydItaly2024-05-26Feiner Bros QUALIFIED13Asiya Javayant
1017Faith I GlickIndia2024-06-20Printing Dimensions PROPOSAL56Stephen Shaw
1018Mujtaba J BologniaAustralia2024-06-19King, Christopher A Esq NEGOTIATION61Bernardo Dominic
1019Ashley P CaudyAustralia2024-06-22Benton, John B Jr QUALIFIED85Ioni Bowcher
1020Greenwood D MaletItaly2024-06-19Dorl, James J Esq UNQUALIFIED83Anna Fali
1021Johnson F RoysterUnited Kingdom2024-06-18Chapman, Ross E Esq NEGOTIATION22Ivan Magalhaes
1022Misaki A IturbideAustralia2024-06-19Benton, John B Jr QUALIFIED48Ioni Bowcher
1023Cody H RulapaughFrance2024-05-31Buckley Miller Wright NEW94Amy Elsner
1024Leja I SergiAustralia2024-06-20Benton, John B Jr NEGOTIATION61Amy Elsner
1025Nicolas K StockhamJapan2024-05-28Chanay, Jeffrey A Esq QUALIFIED92Stephen Shaw
1026Maisha Y BowleyJapan2024-06-08Truhlar And Truhlar Attys NEW10Onyama Limba
1027Isabel I AmigonArgentina2024-06-02Buckley Miller Wright RENEWAL60Onyama Limba
1028Arvin P AmigonItaly2024-06-12Chanay, Jeffrey A Esq RENEWAL24Xuxue Feng
1029James X PaprockiGermany2024-06-08Feltz Printing Service NEW81Xuxue Feng
1030Antonio C BriddickSpain2024-05-30Morlong Associates UNQUALIFIED98Bernardo Dominic
1031Francesco J WhobreyJapan2024-06-02Buckley Miller Wright NEW78Amy Elsner
1032Kaitlin J CaudyArgentina2024-06-22Chemel, James L Cpa NEW25Elwin Sharvill
1033Leon L RutaAustralia2024-06-22Rousseaux, Michael Esq RENEWAL16Anna Fali
1034Misaki G CaldareraRussia2024-06-03Feltz Printing Service PROPOSAL99Xuxue Feng
1035Ricardo R FigeroaItaly2024-06-04Rangoni Of Florence QUALIFIED10Asiya Javayant
1036Costa E MarrierJapan2024-05-26Commercial Press PROPOSAL8Elwin Sharvill
1037Salvatore U CaldareraSpain2024-06-08Chapman, Ross E Esq NEW28Ivan Magalhaes
1038Jefferson J KolmetzAustralia2024-06-04Chapman, Ross E Esq NEGOTIATION12Bernardo Dominic
1039Cody R CaldareraArgentina2024-06-17Feltz Printing Service NEGOTIATION99Asiya Javayant
1040Nicolas L AlbaresBrazil2024-06-16Feiner Bros QUALIFIED5Anna Fali
1041Ivar R VocelkaCanada2024-06-01Feltz Printing Service NEW54Xuxue Feng
1042Morrow Z PaprockiFrance2024-06-21Benton, John B Jr UNQUALIFIED25Xuxue Feng
1043Morrow E ChuiGermany2024-06-01Rousseaux, Michael Esq UNQUALIFIED22Stephen Shaw
1044Ashley A FollerItaly2024-06-03Chapman, Ross E Esq NEW32Ivan Magalhaes
1045Antonio C WieserJapan2024-06-12Rangoni Of Florence NEW45Elwin Sharvill
1046David G GarufiCanada2024-06-19Truhlar And Truhlar Attys NEW62Asiya Javayant
1047Mujtaba E FlosiSpain2024-06-15Feltz Printing Service QUALIFIED39Elwin Sharvill
1048Arvin J MaletGermany2024-06-09Chapman, Ross E Esq NEGOTIATION59Xuxue Feng
1049Costa E InouyeSpain2024-05-28Morlong Associates PROPOSAL63Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Octavia U TollnerFranceAnna Fali PROPOSAL
Maria L VenereArgentinaIvan Magalhaes RENEWAL
Mayumi K SergiGermanyOnyama Limba UNQUALIFIED
Izzy A NickaRussiaIvan Magalhaes QUALIFIED
Kadeem L InouyeGermanyOnyama Limba NEW
Leja U ShinkoGermanyIoni Bowcher QUALIFIED
Darci A AlbaresGermanyAmy Elsner PROPOSAL
Munro Q CaldareraAustraliaOnyama Limba RENEWAL
David R SaylorsItalyAmy Elsner NEGOTIATION
Alejandro N MacleadBrazilElwin Sharvill NEW
Murillo S IturbideCanadaOnyama Limba NEGOTIATION
Johnson K RutaGermanyAmy Elsner NEW
Antonio R FlosiSpainAmy Elsner PROPOSAL
Mayumi G KolmetzBrazilAsiya Javayant RENEWAL
Julie Y CaldareraIndiaAnna Fali NEGOTIATION
Kadeem S InouyeGermanyAnna Fali PROPOSAL
Adams G WhobreySpainXuxue Feng NEGOTIATION
Maria U FlosiBrazilAsiya Javayant PROPOSAL
Kadeem I VocelkaAustraliaAmy Elsner PROPOSAL
Arvin A SlusarskiGermanyOnyama Limba QUALIFIED
Cody H SaylorsArgentinaStephen Shaw QUALIFIED
Greenwood K StockhamFranceXuxue Feng NEGOTIATION
Octavia X RutaCanadaAmy Elsner NEGOTIATION
Mayumi O MorascaBrazilIoni Bowcher RENEWAL
Jefferson E WhobreyRussiaAsiya Javayant NEGOTIATION
Alejandro W IturbideUnited KingdomAnna Fali PROPOSAL
Munro S BowleyCanadaIvan Magalhaes RENEWAL
Misaki F RutaRussiaStephen Shaw NEW
Greenwood M NestleItalyAsiya Javayant RENEWAL
Isabel R RoysterArgentinaElwin Sharvill RENEWAL
Izzy R MarrierSpainAsiya Javayant UNQUALIFIED
Jennifer U MorascaBrazilAsiya Javayant RENEWAL
Kadeem B WieserIndiaAnna Fali NEGOTIATION
Adams L BriddickGermanyElwin Sharvill NEW
James Y InouyeCanadaElwin Sharvill RENEWAL
Rodrigues F PaprockiGermanyBernardo Dominic UNQUALIFIED
Misaki T GarufiCanadaOnyama Limba QUALIFIED
Octavia V GlickGermanyElwin Sharvill NEW
Mujtaba O PaprockiRussiaXuxue Feng QUALIFIED
Kaitlin L MorascaItalyElwin Sharvill NEW
Sinclair V GlickArgentinaXuxue Feng NEW
Francesco X AmigonIndiaXuxue Feng NEGOTIATION
Francesco T GillianIndiaBernardo Dominic QUALIFIED
Aika Q GlickJapanAnna Fali NEW
Julie Y BriddickJapanAmy Elsner RENEWAL
Johnson B DoeGermanyAsiya Javayant NEGOTIATION
Aruna A SergiFranceAsiya Javayant QUALIFIED
Ricardo L FigeroaAustraliaBernardo Dominic RENEWAL
Aika B BowleyFranceAmy Elsner NEW
Octavia C VocelkaUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Johnson L Marrier
Tony V Slusarski
Johnson G Glick
Alejandro L Bowley
Faith M Maclead
Isabel Z Dilliard
Emily E Perin
Faith U Ferencz
Leja Q Rim
Leon D Marrier
Chavez M Figeroa
Rodrigues M Poquette
Kadeem S Flosi
Clifford Q Amigon
James F Marrier
Francesco Y Perin
Jennifer M Bolognia
Faith Q Kolmetz
Ashley L Shinko
Aruna O Figeroa
Johnson G Ferencz
Tony Q Foller
James T Venere
Salvatore L Bowley
Maria Y Chui
Jennifer W Kusko
Antonio O Perin
Ricardo H Stenseth
Kaitlin G Malet
Smith U Paprocki
Antonio V Malet
Stacey I Slusarski
Francesco T Darakjy
Wickens A Albares
Rodrigues K Whobrey
Darci A Maclead
Mujtaba U Morasca
Morrow E Malet
Murillo P Waycott
Morrow U Amigon
Johnson X Bolognia
Alejandro H Briddick
Tony B Figeroa
Isabel D Gaucho
Adams K Ruta
Misaki D Gaucho
Munro V Kolmetz
Salvatore M Amigon
Misaki G Doe
Cody X Glick
IdCountryDate
1000Italy2024-06-08
1001Russia2024-06-08
1002Russia2024-05-29
1003Spain2024-06-10
1004France2024-05-30
1005Germany2024-06-07
1006Italy2024-06-11
1007Canada2024-05-29
1008Germany2024-05-27
1009Germany2024-06-10
1010France2024-06-17
1011France2024-06-18
1012Argentina2024-06-07
1013Russia2024-06-12
1014Italy2024-05-30
1015Australia2024-06-07
1016Argentina2024-06-12
1017Canada2024-06-05
1018Australia2024-06-03
1019United Kingdom2024-06-08
1020Germany2024-06-01
1021Italy2024-06-13
1022Canada2024-06-23
1023Germany2024-05-26
1024France2024-06-20
1025Russia2024-06-20
1026Germany2024-06-11
1027Brazil2024-06-20
1028Australia2024-05-31
1029Canada2024-05-29
1030Brazil2024-06-03
1031India2024-06-07
1032France2024-05-27
1033India2024-06-04
1034India2024-06-10
1035Argentina2024-06-05
1036Italy2024-06-11
1037Canada2024-05-25
1038Canada2024-06-20
1039Japan2024-06-22
1040Canada2024-05-26
1041India2024-05-29
1042Brazil2024-06-09
1043United Kingdom2024-06-23
1044Canada2024-06-21
1045India2024-06-07
1046Spain2024-06-09
1047Australia2024-06-03
1048Italy2024-06-11
1049Spain2024-06-11

On-Demand Data

NameIdCountryDate
Stacey F Sergi1000Australia2024-06-23
Greenwood V Ferencz1001Spain2024-06-08
Julie J Gaucho1002Germany2024-06-12
Jones M Figeroa1003Brazil2024-05-26
Jeanfrancois D Gaucho1004Canada2024-05-30
Chavez M Ruta1005France2024-06-19
Chavez H Shinko1006India2024-06-13
Kaitlin D Garufi1007France2024-06-18
Octavia P Bowley1008Germany2024-05-29
Nicolas J Shinko1009India2024-06-11
Kadeem G Maclead1010France2024-05-25
Rodrigues B Glick1011France2024-06-16
Octavia H Rulapaugh1012France2024-06-09
Ricardo C Butt1013India2024-05-26
Chavez C Butt1014Italy2024-06-13
Octavia A Inouye1015Italy2024-05-29
Izzy J Ruta1016India2024-06-14
Mayumi X Doe1017Brazil2024-05-31
Juan P Figeroa1018Brazil2024-06-03
Arvin Y Garufi1019Brazil2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna C BowleySpainAsiya Javayant NEW
Jennifer P OldroydArgentinaStephen Shaw NEGOTIATION
Adams J CaudySpainXuxue Feng NEGOTIATION
Ricardo E OldroydAustraliaIoni Bowcher QUALIFIED
Leon Q AlbaresFranceOnyama Limba QUALIFIED
Jennifer J DilliardIndiaBernardo Dominic QUALIFIED
David O MaletUnited KingdomBernardo Dominic NEW
David D AmigonItalyStephen Shaw UNQUALIFIED
Jennifer U GarufiUnited KingdomOnyama Limba PROPOSAL
Munro M OstroskyIndiaAnna Fali QUALIFIED
Francesco O ChuiRussiaStephen Shaw QUALIFIED
Stacey R RutaGermanyAnna Fali NEW
Tony P IturbideSpainStephen Shaw NEW
Mayumi Y FlosiGermanyElwin Sharvill UNQUALIFIED
Sinclair J KuskoUnited KingdomAnna Fali QUALIFIED
Salvatore C FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Antonio C PoquetteCanadaIvan Magalhaes RENEWAL
Cody D BriddickIndiaAsiya Javayant NEW
Silvio V RutaIndiaElwin Sharvill QUALIFIED
Maria C FollerItalyXuxue Feng NEGOTIATION
Maisha A RoysterAustraliaIvan Magalhaes RENEWAL
Stacey C KuskoUnited KingdomIoni Bowcher RENEWAL
Izzy M StockhamIndiaIoni Bowcher RENEWAL
Smith D ShinkoUnited KingdomAnna Fali NEW
Ashley E MacleadItalyAmy Elsner QUALIFIED
Isabel P GillianItalyIvan Magalhaes QUALIFIED
Darci X AlbaresGermanyAnna Fali RENEWAL
Kadeem U RimCanadaAmy Elsner RENEWAL
Leon G RimGermanyAnna Fali RENEWAL
Jeanfrancois H RulapaughBrazilElwin Sharvill RENEWAL
Johnson O DoeAustraliaBernardo Dominic RENEWAL
Darci X SergiRussiaStephen Shaw PROPOSAL
Ivar R FlosiAustraliaStephen Shaw RENEWAL
Jefferson C FlosiUnited KingdomXuxue Feng QUALIFIED
Nicolas K ChuiSpainIvan Magalhaes RENEWAL
Ashley Z BologniaRussiaAmy Elsner UNQUALIFIED
Francesco J VenereItalyAnna Fali NEW
Leon G FigeroaCanadaOnyama Limba UNQUALIFIED
Silvio F NickaSpainAsiya Javayant NEW
Darci L GillianCanadaOnyama Limba RENEWAL

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