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 Q StensethJapanXuxue Feng NEGOTIATION
Tony I MacleadIndiaAmy Elsner RENEWAL
Ashley D PoquetteItalyXuxue Feng NEGOTIATION
Johnson K CaldareraArgentinaStephen Shaw NEGOTIATION
Alejandro U SaylorsCanadaAmy Elsner QUALIFIED
Rodrigues M MaletItalyAmy Elsner NEGOTIATION
Julie V PerinIndiaBernardo Dominic QUALIFIED
Leja M BriddickJapanElwin Sharvill NEW
Clifford K StockhamAustraliaIoni Bowcher UNQUALIFIED
Maria U FigeroaCanadaAmy Elsner NEGOTIATION
Kadeem F FerenczJapanAnna Fali UNQUALIFIED
James K FerenczArgentinaAmy Elsner NEGOTIATION
Silvio Q RimItalyAnna Fali NEW
Cody F VenereRussiaBernardo Dominic UNQUALIFIED
James Q FollerRussiaStephen Shaw RENEWAL
Mayumi O WaycottGermanyXuxue Feng NEGOTIATION
Clifford G GarufiCanadaBernardo Dominic NEGOTIATION
Antonio W WhobreyIndiaXuxue Feng UNQUALIFIED
Wickens T GillianBrazilOnyama Limba NEW
Jeanfrancois V GauchoJapanIoni Bowcher RENEWAL
Mayumi A ButtSpainIoni Bowcher QUALIFIED
Salvatore F IturbideBrazilAmy Elsner NEGOTIATION
Cody X FollerFranceAmy Elsner PROPOSAL
Francesco J OldroydAustraliaStephen Shaw PROPOSAL
Wickens V BriddickBrazilElwin Sharvill NEGOTIATION
Tony B GauchoIndiaAsiya Javayant NEW
Aditya Y IturbideRussiaOnyama Limba NEGOTIATION
Silvio G FollerItalyXuxue Feng NEW
Octavia X DoeRussiaAsiya Javayant PROPOSAL
Ricardo P BowleyUnited KingdomXuxue Feng NEW
Julie M FerenczGermanyStephen Shaw QUALIFIED
Clifford S WhobreyRussiaIvan Magalhaes NEGOTIATION
Izzy Q WieserGermanyAsiya Javayant NEGOTIATION
Johnson A FlosiItalyElwin Sharvill NEGOTIATION
Tony S ChuiItalyIvan Magalhaes QUALIFIED
Tony H RulapaughAustraliaElwin Sharvill QUALIFIED
Antonio W VocelkaJapanAnna Fali NEW
Costa K KuskoIndiaAnna Fali NEGOTIATION
Antonio V SlusarskiSpainAsiya Javayant UNQUALIFIED
Alejandro E AlbaresIndiaStephen Shaw PROPOSAL
Maria K ShinkoItalyOnyama Limba QUALIFIED
Clifford N WaycottCanadaXuxue Feng PROPOSAL
Ashley L RutaArgentinaIvan Magalhaes RENEWAL
Murillo M GauchoGermanyElwin Sharvill QUALIFIED
Arvin B FigeroaBrazilAmy Elsner RENEWAL
Octavia R WhobreyGermanyOnyama Limba NEGOTIATION
Mujtaba J TollnerCanadaAsiya Javayant PROPOSAL
Nicolas E FerenczBrazilBernardo Dominic NEW
Izzy O RoysterAustraliaStephen Shaw QUALIFIED
Rodrigues G OldroydAustraliaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Adams L WieserAustraliaXuxue Feng NEW
Aditya N FlosiGermanyElwin Sharvill PROPOSAL
Mayumi S MacleadBrazilOnyama Limba RENEWAL
Tony N StockhamBrazilOnyama Limba QUALIFIED
Misaki G MaletAustraliaIoni Bowcher NEW
Salvatore A PoquetteSpainStephen Shaw NEW
Jefferson F WaycottSpainIvan Magalhaes UNQUALIFIED
Kaitlin U PerinBrazilAmy Elsner PROPOSAL
Rodrigues F InouyeArgentinaAnna Fali QUALIFIED
Jones E RimGermanyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon E GlickAustralia2024-04-30Chapman, Ross E Esq UNQUALIFIED93Amy Elsner
1001Aika W InouyeIndia2024-05-14Benton, John B Jr UNQUALIFIED8Onyama Limba
1002Stacey U ChuiUnited Kingdom2024-05-20Chanay, Jeffrey A Esq PROPOSAL25Onyama Limba
1003Ashley W KolmetzSpain2024-04-29Chapman, Ross E Esq NEGOTIATION53Anna Fali
1004Deepesh V FollerSpain2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED41Amy Elsner
1005Jefferson K AmigonIndia2024-05-04Rangoni Of Florence NEW59Asiya Javayant
1006Johnson U VenereSpain2024-05-09Chemel, James L Cpa UNQUALIFIED81Anna Fali
1007Costa Z MaletCanada2024-05-19Truhlar And Truhlar Attys NEGOTIATION90Amy Elsner
1008Jefferson B KolmetzIndia2024-05-12Commercial Press QUALIFIED52Amy Elsner
1009Emily F FerenczJapan2024-05-18Dorl, James J Esq RENEWAL95Bernardo Dominic
1010Jeanfrancois T RulapaughGermany2024-05-19Dorl, James J Esq QUALIFIED46Anna Fali
1011Isabel K FigeroaArgentina2024-05-08King, Christopher A Esq NEW45Bernardo Dominic
1012Octavia A ChuiArgentina2024-05-14Commercial Press PROPOSAL13Stephen Shaw
1013Wickens A ButtItaly2024-05-17Feltz Printing Service NEGOTIATION51Xuxue Feng
1014Sinclair M WieserBrazil2024-05-10Benton, John B Jr UNQUALIFIED79Asiya Javayant
1015Jeanfrancois Y BowleyRussia2024-05-20Morlong Associates NEW6Elwin Sharvill
1016Murillo X SaylorsUnited Kingdom2024-05-15Feiner Bros PROPOSAL87Bernardo Dominic
1017Greenwood V KuskoGermany2024-05-24Chapman, Ross E Esq QUALIFIED37Elwin Sharvill
1018Faith T RulapaughCanada2024-05-03King, Christopher A Esq UNQUALIFIED12Ioni Bowcher
1019Tony O MorascaFrance2024-05-09Buckley Miller Wright PROPOSAL67Asiya Javayant
1020Silvio R FollerIndia2024-05-26Rousseaux, Michael Esq QUALIFIED16Ioni Bowcher
1021Aditya M InouyeUnited Kingdom2024-04-28King, Christopher A Esq UNQUALIFIED61Onyama Limba
1022Mayumi M DarakjyAustralia2024-05-04Feltz Printing Service UNQUALIFIED2Asiya Javayant
1023Aditya T KuskoRussia2024-05-14Benton, John B Jr QUALIFIED56Stephen Shaw
1024Stacey N NickaArgentina2024-05-09Buckley Miller Wright NEGOTIATION44Ioni Bowcher
1025Julie U FlosiSpain2024-05-21Printing Dimensions NEGOTIATION76Bernardo Dominic
1026Cody L FollerArgentina2024-05-25Chapman, Ross E Esq QUALIFIED19Elwin Sharvill
1027Claire D ShinkoGermany2024-05-09Commercial Press RENEWAL38Anna Fali
1028Maisha H DarakjyCanada2024-05-25Feiner Bros RENEWAL16Bernardo Dominic
1029Izzy A GlickUnited Kingdom2024-05-07Rangoni Of Florence NEGOTIATION0Elwin Sharvill
1030Juan J VocelkaItaly2024-05-15Morlong Associates PROPOSAL50Onyama Limba
1031James R PaprockiUnited Kingdom2024-05-02Feiner Bros NEW91Ioni Bowcher
1032Costa L KolmetzJapan2024-05-09Feiner Bros RENEWAL89Xuxue Feng
1033Aika Z DoeAustralia2024-05-02Feiner Bros NEGOTIATION11Ioni Bowcher
1034Costa G RulapaughSpain2024-05-04Morlong Associates NEW76Amy Elsner
1035Emily F NestleIndia2024-05-25Truhlar And Truhlar Attys NEGOTIATION97Elwin Sharvill
1036Tony X CaudyRussia2024-05-24Feltz Printing Service UNQUALIFIED35Amy Elsner
1037Smith P BriddickAustralia2024-05-23Chapman, Ross E Esq NEW54Anna Fali
1038Francesco Z AlbaresJapan2024-05-10Printing Dimensions RENEWAL91Asiya Javayant
1039Chavez D RulapaughAustralia2024-05-13Rousseaux, Michael Esq PROPOSAL2Asiya Javayant
1040Clifford P KuskoBrazil2024-05-16Printing Dimensions RENEWAL44Asiya Javayant
1041Aruna H GauchoSpain2024-05-07Benton, John B Jr NEW82Onyama Limba
1042Arvin C VocelkaJapan2024-05-11Dorl, James J Esq NEGOTIATION80Ioni Bowcher
1043James U PerinItaly2024-05-24Feltz Printing Service NEW77Onyama Limba
1044Costa T RimCanada2024-05-20Feltz Printing Service UNQUALIFIED60Stephen Shaw
1045Kadeem I AlbaresItaly2024-05-13Printing Dimensions QUALIFIED55Anna Fali
1046Izzy C WhobreyGermany2024-05-01Dorl, James J Esq NEGOTIATION15Ioni Bowcher
1047Wickens J ShinkoCanada2024-05-05Chanay, Jeffrey A Esq QUALIFIED81Amy Elsner
1048Jones O KolmetzArgentina2024-05-03Rangoni Of Florence PROPOSAL77Asiya Javayant
1049Cody A TollnerFrance2024-05-17Commercial Press RENEWAL95Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Faith U TollnerJapanAmy Elsner PROPOSAL
Juan O KolmetzFranceXuxue Feng PROPOSAL
Aika R StensethArgentinaAnna Fali QUALIFIED
Leon X TollnerItalyOnyama Limba UNQUALIFIED
Morrow U NestleBrazilXuxue Feng UNQUALIFIED
Kadeem W MorascaArgentinaAsiya Javayant QUALIFIED
Aditya T DoeCanadaAmy Elsner QUALIFIED
Arvin W TollnerBrazilIvan Magalhaes PROPOSAL
Greenwood H SaylorsJapanIoni Bowcher QUALIFIED
Izzy V SergiAustraliaIoni Bowcher UNQUALIFIED
Leja N ButtGermanyXuxue Feng UNQUALIFIED
Antonio S GarufiUnited KingdomOnyama Limba UNQUALIFIED
Aika L WieserItalyBernardo Dominic PROPOSAL
Isabel M BologniaItalyStephen Shaw UNQUALIFIED
Isabel C CampainArgentinaElwin Sharvill RENEWAL
Munro S VocelkaArgentinaIoni Bowcher RENEWAL
Adams Y RutaArgentinaAnna Fali QUALIFIED
David I OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Misaki K KuskoArgentinaElwin Sharvill PROPOSAL
Munro B DoeRussiaIoni Bowcher NEW
Isabel X RutaAustraliaXuxue Feng UNQUALIFIED
Chavez H ChuiRussiaBernardo Dominic RENEWAL
Munro M FigeroaArgentinaXuxue Feng NEW
Alejandro P RutaFranceAsiya Javayant UNQUALIFIED
Isabel C DilliardAustraliaAsiya Javayant UNQUALIFIED
Emily B WhobreyGermanyXuxue Feng NEGOTIATION
Jefferson O AmigonRussiaAmy Elsner NEW
Rodrigues Y RimAustraliaAsiya Javayant UNQUALIFIED
Isabel J BriddickJapanIvan Magalhaes QUALIFIED
Sinclair F FigeroaIndiaAmy Elsner NEW
Kaitlin Y RulapaughRussiaIoni Bowcher QUALIFIED
Julie X DoeItalyIoni Bowcher PROPOSAL
Deepesh W SergiArgentinaAmy Elsner PROPOSAL
Jones D MarrierIndiaAnna Fali QUALIFIED
Murillo Q SchemmerCanadaIoni Bowcher PROPOSAL
Sinclair P AlbaresItalyBernardo Dominic QUALIFIED
Maisha Q VocelkaGermanyAnna Fali NEGOTIATION
Mujtaba D RimJapanXuxue Feng QUALIFIED
Aika W RulapaughBrazilAmy Elsner RENEWAL
Aruna K IturbideSpainStephen Shaw UNQUALIFIED
Johnson N MaletUnited KingdomAnna Fali NEW
Jeanfrancois H ButtIndiaStephen Shaw PROPOSAL
Silvio F CaudyGermanyOnyama Limba PROPOSAL
Leon Q RutaGermanyAsiya Javayant UNQUALIFIED
Kaitlin D ChuiFranceOnyama Limba PROPOSAL
Ivar G PaprockiItalyIoni Bowcher NEGOTIATION
Arvin U WieserIndiaXuxue Feng NEGOTIATION
Rodrigues W NestleArgentinaXuxue Feng RENEWAL
Cody M RutaBrazilAsiya Javayant NEGOTIATION
Mayumi B NestleUnited KingdomBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Claire F Caudy
Alejandro W Paprocki
Leon R Kusko
Arvin N Venere
Julie N Sergi
Smith S Poquette
Ashley I Caudy
Aditya Y Slusarski
James V Kolmetz
Clifford X Shinko
Aruna B Briddick
Silvio R Gaucho
Jefferson B Stockham
Costa Y Chui
Leja I Slusarski
Morrow P Stockham
Chavez T Royster
Faith X Slusarski
Izzy T Tollner
Julie P Malet
Maria B Ruta
Francesco O Malet
Maria J Whobrey
Maisha S Morasca
Juan X Malet
Ricardo H Malet
Sinclair D Ruta
Jennifer S Figeroa
Alejandro G Malet
Darci C Tollner
Maisha I Morasca
Costa L Saylors
James Y Slusarski
Emily W Whobrey
Ricardo N Garufi
Jennifer F Maclead
Morrow W Campain
Juan F Kolmetz
Darci Y Inouye
Maria Y Caldarera
Aika W Vocelka
Maria U Dilliard
Maisha B Butt
Jennifer B Caldarera
Francesco J Maclead
Deepesh I Venere
Emily F Oldroyd
Maisha U Kusko
Deepesh W Doe
Cody O Royster
IdCountryDate
1000Germany2024-04-29
1001France2024-05-10
1002Japan2024-05-12
1003Italy2024-05-24
1004Canada2024-05-12
1005India2024-05-09
1006Brazil2024-05-08
1007Brazil2024-05-10
1008India2024-04-29
1009Russia2024-05-15
1010United Kingdom2024-05-25
1011Germany2024-05-11
1012Australia2024-05-19
1013Spain2024-05-05
1014France2024-04-28
1015Russia2024-05-21
1016United Kingdom2024-04-30
1017India2024-05-10
1018Spain2024-05-02
1019Italy2024-05-02
1020Russia2024-05-06
1021Russia2024-05-09
1022Spain2024-05-26
1023Argentina2024-05-10
1024Russia2024-05-12
1025Germany2024-05-09
1026Japan2024-05-26
1027Canada2024-05-08
1028France2024-05-19
1029Russia2024-05-01
1030Italy2024-05-10
1031Japan2024-05-07
1032United Kingdom2024-05-16
1033Russia2024-05-16
1034India2024-05-24
1035France2024-05-13
1036Spain2024-05-18
1037Brazil2024-05-23
1038Russia2024-05-11
1039Australia2024-05-24
1040Australia2024-05-25
1041France2024-05-03
1042Italy2024-05-25
1043Japan2024-05-06
1044Germany2024-05-24
1045United Kingdom2024-05-03
1046Japan2024-05-13
1047Brazil2024-05-01
1048Brazil2024-04-30
1049Russia2024-05-03

On-Demand Data

NameIdCountryDate
Sinclair B Inouye1000Japan2024-05-23
Ricardo I Doe1001Argentina2024-05-10
Faith Q Chui1002Germany2024-05-06
Mujtaba Q Malet1003Argentina2024-05-21
Clifford R Poquette1004United Kingdom2024-04-28
Misaki B Flosi1005Russia2024-05-15
Morrow X Maclead1006Japan2024-05-14
David D Tollner1007Spain2024-05-05
Ricardo S Ferencz1008Italy2024-05-24
Ashley Y Foller1009Spain2024-05-14
Adams T Glick1010United Kingdom2024-05-18
Misaki M Schemmer1011Spain2024-05-04
Munro E Malet1012Japan2024-05-05
Faith L Nicka1013India2024-04-28
Silvio R Sergi1014France2024-05-13
Claire S Figeroa1015Russia2024-05-07
Leon W Nestle1016Russia2024-05-09
Smith U Waycott1017India2024-05-06
Adams K Bolognia1018India2024-05-22
David F Stockham1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Z SchemmerCanadaAmy Elsner QUALIFIED
Murillo J GlickBrazilAmy Elsner QUALIFIED
Murillo H GlickFranceIvan Magalhaes PROPOSAL
Murillo G MaletFranceIoni Bowcher NEW
Salvatore R CaudyFranceAmy Elsner RENEWAL
Stacey W AlbaresBrazilElwin Sharvill NEW
Kadeem F BologniaJapanOnyama Limba PROPOSAL
Chavez X DarakjyItalyAmy Elsner RENEWAL
Ivar T NestleArgentinaStephen Shaw PROPOSAL
Misaki Z MorascaItalyIoni Bowcher PROPOSAL
David J TollnerGermanyElwin Sharvill QUALIFIED
Chavez U TollnerBrazilAnna Fali PROPOSAL
Kaitlin T SchemmerGermanyOnyama Limba QUALIFIED
Emily L CampainUnited KingdomAnna Fali QUALIFIED
Costa N FollerJapanOnyama Limba RENEWAL
Nicolas X WhobreyRussiaBernardo Dominic NEW
Jennifer F PoquetteFranceXuxue Feng QUALIFIED
Kadeem V PerinRussiaBernardo Dominic NEGOTIATION
Johnson C WhobreyIndiaAsiya Javayant QUALIFIED
Mujtaba M MarrierArgentinaStephen Shaw QUALIFIED
Kaitlin P MaletIndiaAnna Fali NEGOTIATION
Adams V TollnerIndiaStephen Shaw RENEWAL
Adams P FollerAustraliaIoni Bowcher PROPOSAL
Emily B CampainBrazilIvan Magalhaes UNQUALIFIED
Aruna S NickaFranceBernardo Dominic NEW
Silvio D RutaJapanElwin Sharvill PROPOSAL
Adams R MaletUnited KingdomAnna Fali QUALIFIED
Leja O DarakjyBrazilElwin Sharvill UNQUALIFIED
Jones Y DoeSpainIvan Magalhaes NEW
Ivar F NestleSpainIvan Magalhaes UNQUALIFIED
Murillo F WieserCanadaBernardo Dominic RENEWAL
James P NestleGermanyElwin Sharvill QUALIFIED
Silvio K DoeItalyElwin Sharvill NEW
Mujtaba A MaletIndiaStephen Shaw RENEWAL
Jefferson T BriddickJapanAsiya Javayant NEW
Leja Y MaletUnited KingdomAmy Elsner QUALIFIED
Octavia P IturbideItalyXuxue Feng QUALIFIED
Jeanfrancois N AlbaresAustraliaElwin Sharvill RENEWAL
Kaitlin I OldroydBrazilIoni Bowcher NEW
Clifford Z MorascaCanadaStephen Shaw PROPOSAL

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