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
Aruna C BriddickItalyElwin Sharvill QUALIFIED
Silvio I FigeroaFranceBernardo Dominic UNQUALIFIED
Maria S BologniaAustraliaOnyama Limba UNQUALIFIED
Aika D SergiGermanyElwin Sharvill NEW
Maria J BologniaCanadaAsiya Javayant NEGOTIATION
Ashley A StockhamItalyBernardo Dominic NEW
Maria M RulapaughFranceAmy Elsner UNQUALIFIED
Deepesh E WaycottSpainOnyama Limba NEGOTIATION
James J VocelkaJapanAsiya Javayant NEGOTIATION
Sinclair W NestleAustraliaAnna Fali PROPOSAL
Antonio M SlusarskiItalyAsiya Javayant NEW
Octavia T MorascaCanadaStephen Shaw RENEWAL
Darci O GarufiRussiaIoni Bowcher RENEWAL
Kaitlin S GauchoIndiaAnna Fali UNQUALIFIED
Mayumi E AlbaresAustraliaAmy Elsner RENEWAL
Aditya A CampainAustraliaBernardo Dominic QUALIFIED
Mayumi C BowleyItalyAsiya Javayant NEGOTIATION
Aditya X CaudyGermanyAnna Fali NEW
Faith F NestleAustraliaOnyama Limba NEGOTIATION
Jefferson U PaprockiIndiaIoni Bowcher QUALIFIED
David V OldroydJapanIvan Magalhaes UNQUALIFIED
Stacey K FerenczSpainIoni Bowcher RENEWAL
Octavia C RimArgentinaElwin Sharvill PROPOSAL
Claire B SergiArgentinaIoni Bowcher UNQUALIFIED
Sinclair A AlbaresJapanIvan Magalhaes NEW
Misaki Q RulapaughBrazilElwin Sharvill UNQUALIFIED
Rodrigues J VenereItalyOnyama Limba QUALIFIED
Munro A WieserBrazilXuxue Feng PROPOSAL
Rodrigues M MarrierGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois G MaletIndiaIoni Bowcher QUALIFIED
Leja L AmigonArgentinaAsiya Javayant RENEWAL
Adams U AlbaresJapanIoni Bowcher QUALIFIED
David T PerinUnited KingdomXuxue Feng PROPOSAL
Costa H MacleadArgentinaIvan Magalhaes PROPOSAL
Aditya I BowleyFranceAmy Elsner QUALIFIED
Greenwood K DoeArgentinaAnna Fali PROPOSAL
Octavia Y StensethUnited KingdomOnyama Limba RENEWAL
Rodrigues N RoysterBrazilIvan Magalhaes QUALIFIED
Leja B ButtRussiaBernardo Dominic NEGOTIATION
Salvatore X RulapaughItalyAnna Fali RENEWAL
Jefferson J MacleadIndiaBernardo Dominic UNQUALIFIED
Claire U IturbideFranceIoni Bowcher NEGOTIATION
David S ShinkoRussiaBernardo Dominic UNQUALIFIED
Deepesh J GlickFranceIvan Magalhaes QUALIFIED
Octavia I WaycottRussiaAnna Fali PROPOSAL
James D OldroydBrazilElwin Sharvill RENEWAL
Francesco A BologniaIndiaAmy Elsner NEW
Jones J StockhamCanadaBernardo Dominic NEW
Rodrigues S MarrierJapanXuxue Feng QUALIFIED
Ricardo M SchemmerArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar F RoysterCanadaElwin Sharvill RENEWAL
Jeanfrancois I GlickJapanAnna Fali QUALIFIED
Mujtaba F WieserJapanAmy Elsner UNQUALIFIED
Tony V CampainFranceElwin Sharvill NEW
David V WhobreyItalyIoni Bowcher PROPOSAL
Munro S RulapaughBrazilAmy Elsner RENEWAL
Silvio X GlickRussiaBernardo Dominic QUALIFIED
Adams U BowleyFranceIoni Bowcher NEW
James O VenereJapanOnyama Limba NEW
Arvin E ButtItalyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi I StockhamItaly2024-06-11Rangoni Of Florence PROPOSAL10Elwin Sharvill
1001James P WaycottItaly2024-06-11Buckley Miller Wright QUALIFIED78Amy Elsner
1002Emily X PoquetteSpain2024-06-04Feltz Printing Service PROPOSAL8Anna Fali
1003Cody E IturbideIndia2024-05-19Morlong Associates UNQUALIFIED15Anna Fali
1004Ivar X FerenczItaly2024-05-17Chanay, Jeffrey A Esq QUALIFIED56Elwin Sharvill
1005Jefferson U PaprockiAustralia2024-06-03Chemel, James L Cpa PROPOSAL12Elwin Sharvill
1006Mujtaba X DilliardRussia2024-05-27Rangoni Of Florence NEW4Bernardo Dominic
1007Julie I RimGermany2024-06-12Chanay, Jeffrey A Esq RENEWAL24Xuxue Feng
1008Ivar Y BologniaArgentina2024-06-07Rousseaux, Michael Esq PROPOSAL85Elwin Sharvill
1009Darci G WaycottSpain2024-05-25Truhlar And Truhlar Attys NEW88Xuxue Feng
1010Alejandro M ChuiArgentina2024-05-24Printing Dimensions NEW29Stephen Shaw
1011Deepesh J BowleyRussia2024-05-20Commercial Press NEGOTIATION37Anna Fali
1012Leon N KuskoArgentina2024-05-24King, Christopher A Esq RENEWAL93Amy Elsner
1013Antonio S DoeAustralia2024-06-07Printing Dimensions UNQUALIFIED79Bernardo Dominic
1014Tony D DilliardSpain2024-06-10Rousseaux, Michael Esq NEW44Onyama Limba
1015Arvin U WieserJapan2024-05-27Printing Dimensions PROPOSAL36Elwin Sharvill
1016Leja D GlickGermany2024-05-17Feiner Bros RENEWAL82Onyama Limba
1017Cody V TollnerArgentina2024-05-18Feltz Printing Service UNQUALIFIED46Ioni Bowcher
1018Kaitlin W MaletUnited Kingdom2024-06-12Commercial Press NEGOTIATION3Ioni Bowcher
1019Smith I SaylorsUnited Kingdom2024-05-23Rangoni Of Florence NEGOTIATION35Stephen Shaw
1020Silvio H AlbaresRussia2024-05-15Dorl, James J Esq QUALIFIED92Stephen Shaw
1021Johnson D ChuiIndia2024-05-15Chapman, Ross E Esq NEGOTIATION60Onyama Limba
1022Costa W OstroskySpain2024-05-31Rangoni Of Florence UNQUALIFIED53Ioni Bowcher
1023Munro B MacleadUnited Kingdom2024-06-09Feiner Bros NEW9Asiya Javayant
1024Wickens Z RulapaughIndia2024-05-31Chemel, James L Cpa PROPOSAL27Onyama Limba
1025Juan L KolmetzArgentina2024-05-27Feiner Bros PROPOSAL95Ivan Magalhaes
1026Munro J OldroydUnited Kingdom2024-05-25Dorl, James J Esq NEW70Ioni Bowcher
1027Kadeem P FigeroaFrance2024-06-08Truhlar And Truhlar Attys PROPOSAL75Elwin Sharvill
1028Maria J TollnerJapan2024-06-02Chemel, James L Cpa UNQUALIFIED29Xuxue Feng
1029Smith B PerinCanada2024-05-26Morlong Associates NEGOTIATION2Anna Fali
1030Murillo B WaycottSpain2024-05-15Feltz Printing Service UNQUALIFIED30Ioni Bowcher
1031Jefferson Z GauchoItaly2024-06-08Chanay, Jeffrey A Esq NEW75Stephen Shaw
1032Jennifer W GauchoSpain2024-06-10Buckley Miller Wright RENEWAL96Stephen Shaw
1033Aika U RulapaughItaly2024-06-03Benton, John B Jr NEW22Bernardo Dominic
1034Darci J OldroydAustralia2024-05-24Buckley Miller Wright RENEWAL37Amy Elsner
1035Alejandro G SaylorsBrazil2024-05-29Commercial Press UNQUALIFIED32Onyama Limba
1036Misaki B BriddickBrazil2024-05-23Printing Dimensions QUALIFIED92Onyama Limba
1037Emily E CaudyJapan2024-05-30Rangoni Of Florence QUALIFIED56Xuxue Feng
1038Cody U RutaSpain2024-05-23Commercial Press NEGOTIATION38Amy Elsner
1039Deepesh R CampainItaly2024-05-26Feiner Bros QUALIFIED95Asiya Javayant
1040Morrow X PerinUnited Kingdom2024-06-11Rangoni Of Florence NEW25Ivan Magalhaes
1041Jefferson C OldroydFrance2024-06-01Truhlar And Truhlar Attys UNQUALIFIED65Anna Fali
1042Rodrigues D GlickSpain2024-06-02Chemel, James L Cpa NEGOTIATION12Ioni Bowcher
1043Ashley C DoeGermany2024-06-09Buckley Miller Wright PROPOSAL92Anna Fali
1044Rodrigues V FollerBrazil2024-05-29Printing Dimensions NEGOTIATION52Asiya Javayant
1045Mujtaba S WaycottIndia2024-06-11Dorl, James J Esq PROPOSAL89Stephen Shaw
1046Wickens F FlosiItaly2024-05-30Chanay, Jeffrey A Esq QUALIFIED72Elwin Sharvill
1047Nicolas R StensethAustralia2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED23Xuxue Feng
1048Aruna X MorascaUnited Kingdom2024-05-16Chapman, Ross E Esq QUALIFIED2Ioni Bowcher
1049Faith U VocelkaItaly2024-05-16Feiner Bros PROPOSAL11Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey S RimAustraliaElwin Sharvill PROPOSAL
Deepesh Y FigeroaJapanIvan Magalhaes UNQUALIFIED
Izzy L CaudyBrazilOnyama Limba UNQUALIFIED
Jones X RulapaughFranceXuxue Feng NEGOTIATION
Smith Q GarufiSpainOnyama Limba PROPOSAL
Leon V DilliardBrazilIoni Bowcher PROPOSAL
Faith U DoeCanadaStephen Shaw UNQUALIFIED
Maisha H FollerIndiaOnyama Limba RENEWAL
Smith M FlosiGermanyXuxue Feng PROPOSAL
Johnson V FollerCanadaElwin Sharvill UNQUALIFIED
Aditya B StockhamJapanElwin Sharvill PROPOSAL
Stacey P VenereJapanOnyama Limba QUALIFIED
Alejandro U ButtCanadaAsiya Javayant NEGOTIATION
Ashley Z MarrierSpainBernardo Dominic QUALIFIED
Alejandro J SaylorsGermanyAnna Fali UNQUALIFIED
Morrow K BriddickJapanIoni Bowcher UNQUALIFIED
Aruna L MorascaCanadaIoni Bowcher UNQUALIFIED
Cody P GillianGermanyBernardo Dominic PROPOSAL
Faith V PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia Z StensethCanadaElwin Sharvill UNQUALIFIED
Chavez C OldroydCanadaStephen Shaw NEGOTIATION
James M BowleyBrazilBernardo Dominic QUALIFIED
Aika O GauchoRussiaXuxue Feng NEW
Ashley J GlickGermanyElwin Sharvill PROPOSAL
Ricardo M RimSpainIoni Bowcher RENEWAL
Kaitlin L RimBrazilBernardo Dominic QUALIFIED
Deepesh G GillianCanadaOnyama Limba QUALIFIED
Nicolas S OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas X FerenczAustraliaXuxue Feng UNQUALIFIED
Kaitlin K CaldareraBrazilBernardo Dominic NEGOTIATION
Alejandro Z FigeroaSpainIoni Bowcher PROPOSAL
Kaitlin S RimBrazilElwin Sharvill RENEWAL
Stacey O IturbideSpainBernardo Dominic QUALIFIED
Clifford D InouyeFranceXuxue Feng NEGOTIATION
Jefferson C IturbideBrazilBernardo Dominic NEGOTIATION
Deepesh A ChuiSpainElwin Sharvill UNQUALIFIED
Morrow U SergiCanadaAnna Fali UNQUALIFIED
Antonio M ChuiArgentinaIvan Magalhaes QUALIFIED
Maisha T ButtBrazilIvan Magalhaes UNQUALIFIED
Silvio F RoysterRussiaAsiya Javayant QUALIFIED
Smith O RoysterIndiaAnna Fali UNQUALIFIED
Julie V RimCanadaAmy Elsner NEGOTIATION
Smith A VocelkaFranceBernardo Dominic NEW
Mayumi E PoquetteSpainStephen Shaw RENEWAL
Stacey H WieserItalyIoni Bowcher PROPOSAL
Wickens E RimRussiaIoni Bowcher NEGOTIATION
Faith X OstroskyArgentinaIvan Magalhaes PROPOSAL
Salvatore E GarufiItalyAsiya Javayant NEW
Faith M PerinUnited KingdomIoni Bowcher PROPOSAL
Murillo L FigeroaJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Murillo N Whobrey
Aika P Inouye
Chavez X Caldarera
Jeanfrancois L Glick
Rodrigues S Maclead
Jennifer S Amigon
Smith M Darakjy
Smith C Rim
Faith Q Iturbide
Faith V Nicka
Nicolas K Sergi
Maisha Y Ruta
James R Stockham
Nicolas Q Dilliard
Silvio N Saylors
Leja B Bolognia
Misaki O Stenseth
Sinclair H Venere
Kaitlin I Saylors
Nicolas B Kolmetz
Jeanfrancois Z Nestle
Murillo B Dilliard
Rodrigues B Schemmer
Izzy Y Bolognia
Leon V Foller
Deepesh V Royster
Cody U Wieser
Arvin E Rulapaugh
Salvatore X Glick
Chavez J Vocelka
Jones Y Garufi
Francesco Y Gaucho
Aditya C Schemmer
Wickens I Vocelka
Jones V Kusko
Johnson Q Chui
Chavez C Caudy
Alejandro O Stockham
Misaki N Slusarski
Nicolas Z Inouye
Chavez G Ruta
Smith D Kolmetz
Kaitlin N Maclead
Kadeem M Iturbide
Leon F Briddick
Leon Z Vocelka
Julie Z Caldarera
Murillo G Wieser
Jones J Gillian
Octavia H Malet
IdCountryDate
1000Japan2024-05-27
1001Japan2024-06-06
1002Russia2024-06-12
1003France2024-05-22
1004United Kingdom2024-05-25
1005Brazil2024-06-06
1006Argentina2024-06-11
1007Canada2024-05-25
1008France2024-06-04
1009Japan2024-06-02
1010Italy2024-05-31
1011Brazil2024-05-20
1012Argentina2024-06-06
1013Spain2024-06-01
1014Argentina2024-06-13
1015Canada2024-05-31
1016Brazil2024-06-12
1017Canada2024-05-31
1018Italy2024-05-28
1019Brazil2024-06-07
1020Spain2024-06-09
1021France2024-05-26
1022Australia2024-05-19
1023Canada2024-05-15
1024Australia2024-05-23
1025Spain2024-05-20
1026Spain2024-05-30
1027Germany2024-05-18
1028Argentina2024-06-05
1029Japan2024-06-07
1030Germany2024-06-03
1031Canada2024-05-28
1032Italy2024-05-23
1033Italy2024-06-13
1034United Kingdom2024-06-04
1035Japan2024-06-08
1036Canada2024-05-17
1037Russia2024-06-05
1038Argentina2024-05-18
1039Argentina2024-05-15
1040Argentina2024-05-17
1041United Kingdom2024-06-10
1042Japan2024-05-30
1043Brazil2024-05-22
1044Germany2024-06-04
1045Argentina2024-05-16
1046Japan2024-06-06
1047Canada2024-06-01
1048Russia2024-05-25
1049Canada2024-05-16

On-Demand Data

NameIdCountryDate
Juan T Tollner1000France2024-05-21
Aruna L Chui1001Australia2024-05-23
Arvin R Rulapaugh1002United Kingdom2024-05-28
Emily G Stenseth1003Germany2024-06-08
David Y Royster1004India2024-06-13
Smith O Schemmer1005Australia2024-05-15
Clifford R Perin1006Argentina2024-05-17
Silvio W Rulapaugh1007Japan2024-05-25
Deepesh Y Stockham1008Russia2024-06-10
Julie P Whobrey1009Russia2024-05-28
Francesco D Shinko1010India2024-06-01
Aditya M Slusarski1011Spain2024-06-01
Kadeem S Figeroa1012United Kingdom2024-05-27
Kaitlin B Paprocki1013Brazil2024-05-18
Claire Z Rulapaugh1014Russia2024-05-22
Misaki O Inouye1015Russia2024-05-29
Misaki L Briddick1016Brazil2024-05-31
Julie X Inouye1017Canada2024-06-05
Claire C Chui1018Russia2024-06-01
Chavez H Maclead1019Brazil2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja P MorascaAustraliaAsiya Javayant NEW
Jones H RutaRussiaIoni Bowcher UNQUALIFIED
Adams M InouyeAustraliaAmy Elsner NEW
Julie Y FollerGermanyElwin Sharvill RENEWAL
Aditya T RoysterJapanIvan Magalhaes QUALIFIED
Costa E CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Munro Z WhobreyFranceAsiya Javayant RENEWAL
Octavia L IturbideJapanElwin Sharvill UNQUALIFIED
Jennifer S RulapaughItalyAnna Fali RENEWAL
Darci Z BriddickIndiaOnyama Limba QUALIFIED
Greenwood C DarakjyUnited KingdomIoni Bowcher QUALIFIED
Maria S MacleadCanadaAsiya Javayant UNQUALIFIED
Mujtaba H SaylorsCanadaBernardo Dominic NEGOTIATION
Juan M NickaFranceAsiya Javayant UNQUALIFIED
Emily R WhobreyAustraliaElwin Sharvill QUALIFIED
Murillo J CaldareraItalyBernardo Dominic NEGOTIATION
Ashley T OstroskySpainIoni Bowcher NEGOTIATION
Maria O RulapaughAustraliaOnyama Limba PROPOSAL
Greenwood O CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Aditya S ChuiSpainElwin Sharvill RENEWAL
Costa J MorascaBrazilAsiya Javayant PROPOSAL
Silvio L IturbideFranceIoni Bowcher QUALIFIED
Maria P BriddickAustraliaBernardo Dominic RENEWAL
David B MaletAustraliaBernardo Dominic NEGOTIATION
Munro T NickaCanadaXuxue Feng NEGOTIATION
David L MarrierArgentinaElwin Sharvill NEGOTIATION
Silvio M InouyeSpainElwin Sharvill UNQUALIFIED
Johnson I InouyeRussiaStephen Shaw NEW
Munro J CampainIndiaOnyama Limba QUALIFIED
Leon A BologniaArgentinaElwin Sharvill NEGOTIATION
Morrow E ShinkoUnited KingdomAmy Elsner RENEWAL
Darci R PaprockiIndiaAsiya Javayant RENEWAL
Arvin B BologniaItalyOnyama Limba QUALIFIED
Maria I OstroskyArgentinaOnyama Limba UNQUALIFIED
Sinclair Q PerinRussiaStephen Shaw RENEWAL
Morrow Z AmigonAustraliaBernardo Dominic NEGOTIATION
Kadeem S OldroydJapanStephen Shaw NEGOTIATION
Maisha E FigeroaCanadaAmy Elsner NEW
Arvin G MaletFranceAnna Fali RENEWAL
Kadeem V SchemmerAustraliaAmy Elsner 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>