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 P FollerRussiaStephen Shaw RENEWAL
Rodrigues U KolmetzAustraliaIoni Bowcher UNQUALIFIED
Aruna S DoeItalyOnyama Limba PROPOSAL
Isabel R GauchoFranceIoni Bowcher QUALIFIED
Ivar K MacleadGermanyAsiya Javayant RENEWAL
Deepesh D BologniaItalyAnna Fali RENEWAL
Octavia S MaletFranceIvan Magalhaes NEGOTIATION
Adams O TollnerFranceAnna Fali UNQUALIFIED
Jeanfrancois P MarrierAustraliaBernardo Dominic NEGOTIATION
Ashley F OstroskyIndiaElwin Sharvill NEW
Nicolas K KolmetzRussiaOnyama Limba UNQUALIFIED
Claire A StockhamCanadaXuxue Feng QUALIFIED
Maria H GarufiSpainElwin Sharvill QUALIFIED
Munro J DarakjyFranceAsiya Javayant NEW
Juan X GillianGermanyBernardo Dominic RENEWAL
Munro B RulapaughItalyAnna Fali QUALIFIED
Costa F NestleSpainBernardo Dominic NEGOTIATION
Johnson Z GlickCanadaStephen Shaw NEGOTIATION
Smith Y NickaSpainElwin Sharvill NEGOTIATION
Wickens F BriddickUnited KingdomAmy Elsner QUALIFIED
Emily R InouyeGermanyElwin Sharvill NEGOTIATION
Isabel E DoeSpainIoni Bowcher QUALIFIED
Wickens Y ShinkoUnited KingdomAmy Elsner NEGOTIATION
Isabel T InouyeCanadaBernardo Dominic RENEWAL
Misaki U KuskoFranceIvan Magalhaes UNQUALIFIED
Octavia F SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Ricardo L PerinIndiaBernardo Dominic UNQUALIFIED
James C BowleyUnited KingdomElwin Sharvill NEGOTIATION
Tony H SaylorsCanadaXuxue Feng QUALIFIED
Kaitlin S GauchoGermanyElwin Sharvill NEGOTIATION
Murillo R MorascaCanadaElwin Sharvill NEGOTIATION
David T SchemmerCanadaAsiya Javayant UNQUALIFIED
Cody E ButtItalyAmy Elsner PROPOSAL
Maria S StensethArgentinaXuxue Feng NEGOTIATION
Silvio E BowleyArgentinaStephen Shaw QUALIFIED
Aruna K RimAustraliaElwin Sharvill RENEWAL
Arvin S PerinArgentinaAsiya Javayant RENEWAL
Maria I PoquetteIndiaElwin Sharvill PROPOSAL
Smith O MorascaCanadaAnna Fali QUALIFIED
Greenwood U RimCanadaAsiya Javayant PROPOSAL
Leja I DilliardCanadaElwin Sharvill UNQUALIFIED
Tony Y OldroydFranceIoni Bowcher QUALIFIED
Jefferson I WaycottAustraliaElwin Sharvill RENEWAL
James W BologniaBrazilAmy Elsner RENEWAL
Salvatore A BriddickItalyBernardo Dominic UNQUALIFIED
Mujtaba T DarakjyItalyAsiya Javayant UNQUALIFIED
Wickens R RutaGermanyStephen Shaw NEGOTIATION
David U RulapaughArgentinaAsiya Javayant NEW
Julie U VenereAustraliaOnyama Limba UNQUALIFIED
Jones U RutaIndiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Alejandro N InouyeItalyAnna Fali QUALIFIED
Silvio H MorascaSpainIoni Bowcher PROPOSAL
Jennifer V DarakjyCanadaIoni Bowcher UNQUALIFIED
Kaitlin Y VocelkaUnited KingdomBernardo Dominic RENEWAL
Chavez I CaldareraGermanyElwin Sharvill PROPOSAL
Smith J TollnerSpainAsiya Javayant NEW
Mujtaba Y RoysterIndiaXuxue Feng NEGOTIATION
Izzy A RulapaughBrazilAmy Elsner UNQUALIFIED
David L KolmetzIndiaIoni Bowcher RENEWAL
Antonio Y DilliardUnited KingdomElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro W FigeroaUnited Kingdom2024-06-03Truhlar And Truhlar Attys UNQUALIFIED99Amy Elsner
1001Morrow Z ShinkoUnited Kingdom2024-05-22Printing Dimensions NEW29Anna Fali
1002Tony D StensethItaly2024-06-17Commercial Press PROPOSAL68Stephen Shaw
1003Jones P FlosiBrazil2024-06-04Printing Dimensions NEW76Ivan Magalhaes
1004Leja T DilliardGermany2024-06-04Printing Dimensions NEW11Onyama Limba
1005Salvatore V DilliardSpain2024-06-01Chapman, Ross E Esq PROPOSAL57Anna Fali
1006Aditya L BriddickRussia2024-06-08Dorl, James J Esq NEGOTIATION96Ioni Bowcher
1007Francesco N SaylorsArgentina2024-05-31Rangoni Of Florence PROPOSAL96Xuxue Feng
1008Jennifer S CampainFrance2024-06-06Chemel, James L Cpa QUALIFIED75Stephen Shaw
1009Ivar R SchemmerAustralia2024-06-05Feltz Printing Service PROPOSAL33Stephen Shaw
1010Kaitlin R SchemmerAustralia2024-06-17Feltz Printing Service QUALIFIED39Ivan Magalhaes
1011Nicolas G MorascaFrance2024-06-09Commercial Press RENEWAL43Onyama Limba
1012Tony P CaldareraGermany2024-06-04Feiner Bros PROPOSAL36Asiya Javayant
1013Isabel W KuskoGermany2024-05-21King, Christopher A Esq NEW16Ivan Magalhaes
1014Julie M PerinUnited Kingdom2024-06-11Morlong Associates RENEWAL8Anna Fali
1015Maisha N VenereAustralia2024-06-13Benton, John B Jr PROPOSAL41Bernardo Dominic
1016Maria C GarufiItaly2024-05-26Truhlar And Truhlar Attys QUALIFIED9Ioni Bowcher
1017Rodrigues B WhobreyAustralia2024-06-03Rousseaux, Michael Esq NEW37Amy Elsner
1018Juan L FlosiFrance2024-06-06Buckley Miller Wright QUALIFIED54Anna Fali
1019Alejandro G InouyeGermany2024-06-09Rousseaux, Michael Esq RENEWAL20Ivan Magalhaes
1020Ricardo I MaletIndia2024-05-20Feiner Bros QUALIFIED1Asiya Javayant
1021Ashley E KuskoItaly2024-06-11Truhlar And Truhlar Attys NEW29Xuxue Feng
1022Munro B WhobreyItaly2024-06-08Chemel, James L Cpa QUALIFIED49Bernardo Dominic
1023Greenwood G RutaBrazil2024-06-05Chapman, Ross E Esq QUALIFIED97Elwin Sharvill
1024Julie U BowleyCanada2024-05-30Rangoni Of Florence PROPOSAL3Onyama Limba
1025Juan W RimAustralia2024-06-13King, Christopher A Esq NEW10Stephen Shaw
1026Jefferson S DilliardArgentina2024-05-24Chemel, James L Cpa NEW33Ioni Bowcher
1027Nicolas B GillianIndia2024-06-07Feltz Printing Service RENEWAL9Stephen Shaw
1028Jones A RimAustralia2024-05-19Buckley Miller Wright QUALIFIED40Ivan Magalhaes
1029James C ShinkoAustralia2024-05-28King, Christopher A Esq NEW79Ioni Bowcher
1030Clifford R InouyeCanada2024-05-29Morlong Associates NEW66Anna Fali
1031Morrow Q MaletItaly2024-06-16Chemel, James L Cpa NEGOTIATION51Ivan Magalhaes
1032Jefferson Q StensethBrazil2024-06-09Commercial Press NEW93Ioni Bowcher
1033Nicolas T StockhamBrazil2024-06-11Rangoni Of Florence QUALIFIED51Ivan Magalhaes
1034Smith E StockhamGermany2024-06-16Buckley Miller Wright UNQUALIFIED7Bernardo Dominic
1035Faith C PaprockiArgentina2024-05-25Printing Dimensions RENEWAL98Elwin Sharvill
1036Antonio D NestleRussia2024-06-02Truhlar And Truhlar Attys UNQUALIFIED90Onyama Limba
1037Stacey T MorascaCanada2024-06-06Feiner Bros UNQUALIFIED9Stephen Shaw
1038Isabel K FlosiAustralia2024-05-21Feiner Bros NEW48Ivan Magalhaes
1039Faith O InouyeAustralia2024-06-08King, Christopher A Esq QUALIFIED5Xuxue Feng
1040Clifford U RulapaughIndia2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED37Anna Fali
1041Salvatore N PoquetteUnited Kingdom2024-06-02Truhlar And Truhlar Attys RENEWAL4Amy Elsner
1042Deepesh K MarrierBrazil2024-05-26Chemel, James L Cpa PROPOSAL51Ivan Magalhaes
1043Smith W FigeroaSpain2024-05-31Truhlar And Truhlar Attys RENEWAL25Anna Fali
1044Darci S KuskoBrazil2024-06-09Dorl, James J Esq NEW6Onyama Limba
1045Mujtaba Y GarufiGermany2024-05-25Chapman, Ross E Esq NEW56Onyama Limba
1046Kadeem S NestleItaly2024-06-16Buckley Miller Wright RENEWAL3Ioni Bowcher
1047Mayumi U CaldareraSpain2024-06-15Commercial Press UNQUALIFIED34Ivan Magalhaes
1048Rodrigues T BowleySpain2024-05-24King, Christopher A Esq RENEWAL47Xuxue Feng
1049Julie M RoysterJapan2024-05-24Dorl, James J Esq NEW0Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Chavez M OldroydAustraliaElwin Sharvill UNQUALIFIED
Darci T WieserJapanStephen Shaw NEW
Misaki V DarakjyGermanyStephen Shaw UNQUALIFIED
Morrow Y MorascaFranceOnyama Limba PROPOSAL
Salvatore J PerinFranceAnna Fali NEW
Adams C RulapaughFranceIvan Magalhaes RENEWAL
Jennifer Z AlbaresIndiaAmy Elsner NEGOTIATION
Ricardo X NickaArgentinaOnyama Limba RENEWAL
Arvin R AlbaresRussiaIvan Magalhaes RENEWAL
Silvio S StockhamJapanXuxue Feng RENEWAL
Ivar H ButtIndiaIvan Magalhaes QUALIFIED
Kaitlin V ChuiItalyAnna Fali PROPOSAL
Juan I RutaItalyXuxue Feng RENEWAL
Stacey M NickaGermanyIoni Bowcher RENEWAL
Mujtaba G WieserArgentinaAmy Elsner UNQUALIFIED
Aruna V DilliardJapanXuxue Feng NEW
Jennifer B NickaUnited KingdomBernardo Dominic QUALIFIED
Isabel T ChuiFranceIvan Magalhaes RENEWAL
Faith A PoquetteFranceAnna Fali UNQUALIFIED
Kaitlin O IturbideArgentinaOnyama Limba NEGOTIATION
Antonio Q DilliardJapanAnna Fali UNQUALIFIED
Octavia W MacleadBrazilOnyama Limba NEW
Rodrigues K IturbideAustraliaOnyama Limba PROPOSAL
Sinclair J StensethJapanStephen Shaw QUALIFIED
Aika L StockhamAustraliaIvan Magalhaes NEGOTIATION
Arvin I FigeroaAustraliaXuxue Feng NEW
Munro U CaudyGermanyIoni Bowcher RENEWAL
Francesco X CampainAustraliaAnna Fali NEW
Cody V StockhamSpainAmy Elsner NEGOTIATION
Chavez K VenereRussiaXuxue Feng QUALIFIED
Ivar I DoeUnited KingdomOnyama Limba NEW
Claire M FlosiIndiaStephen Shaw NEW
Chavez Z MaletAustraliaStephen Shaw NEGOTIATION
Chavez Q CampainItalyIvan Magalhaes PROPOSAL
Aika K ButtArgentinaAsiya Javayant NEGOTIATION
Murillo G SlusarskiCanadaOnyama Limba UNQUALIFIED
Ricardo O WieserRussiaIoni Bowcher UNQUALIFIED
Ashley I RutaGermanyAnna Fali PROPOSAL
Salvatore L WieserFranceIoni Bowcher PROPOSAL
Deepesh U WieserCanadaElwin Sharvill UNQUALIFIED
Ashley S FerenczIndiaElwin Sharvill NEGOTIATION
Smith N MacleadArgentinaIvan Magalhaes UNQUALIFIED
Francesco C DarakjyAustraliaElwin Sharvill RENEWAL
Claire G RutaGermanyElwin Sharvill QUALIFIED
Octavia H ButtItalyStephen Shaw NEW
Octavia J DarakjyAustraliaIoni Bowcher QUALIFIED
Aika N ChuiSpainIvan Magalhaes QUALIFIED
Costa U MacleadArgentinaAmy Elsner NEGOTIATION
Jones B GarufiJapanAsiya Javayant NEGOTIATION
Kadeem X GarufiItalyStephen Shaw QUALIFIED
Frozen Columns
Name
Faith W Vocelka
Octavia E Albares
Salvatore O Nestle
Julie P Albares
Julie L Ostrosky
Jefferson V Royster
Wickens H Perin
Claire V Oldroyd
Smith R Foller
Isabel P Inouye
Maisha D Slusarski
Ashley N Butt
Chavez V Chui
Nicolas E Foller
Morrow J Foller
Ricardo O Doe
Ricardo A Malet
Tony T Sergi
Emily N Wieser
Chavez V Caudy
Darci Y Poquette
Rodrigues X Gaucho
Arvin D Bolognia
Claire B Maclead
James P Rim
Darci I Garufi
Tony H Iturbide
Stacey I Ostrosky
Tony A Kusko
Aruna H Iturbide
Chavez Q Maclead
Munro B Bowley
Emily C Stockham
Leja C Kolmetz
Sinclair T Venere
Aditya B Poquette
Antonio M Rim
Mayumi E Morasca
Leon M Dilliard
Chavez Y Ruta
Misaki O Nicka
Darci F Kolmetz
Claire M Kolmetz
Smith K Darakjy
Emily H Tollner
Juan M Paprocki
Sinclair X Figeroa
Silvio I Chui
Jeanfrancois U Venere
Wickens O Marrier
IdCountryDate
1000United Kingdom2024-06-01
1001Argentina2024-05-26
1002India2024-06-16
1003Germany2024-06-15
1004India2024-06-11
1005Australia2024-05-22
1006France2024-05-19
1007Spain2024-06-09
1008Australia2024-05-31
1009Canada2024-06-01
1010Brazil2024-06-07
1011India2024-05-27
1012Brazil2024-05-25
1013Canada2024-05-21
1014Japan2024-06-15
1015Canada2024-05-22
1016Australia2024-06-06
1017United Kingdom2024-06-15
1018Japan2024-06-16
1019Spain2024-06-12
1020Argentina2024-05-26
1021Australia2024-06-06
1022Canada2024-06-10
1023India2024-06-11
1024United Kingdom2024-06-14
1025Australia2024-05-20
1026Brazil2024-06-05
1027Australia2024-05-30
1028Italy2024-06-05
1029Japan2024-06-01
1030Russia2024-06-11
1031Canada2024-05-23
1032United Kingdom2024-06-04
1033Argentina2024-05-22
1034Spain2024-06-04
1035United Kingdom2024-06-08
1036Brazil2024-06-10
1037Russia2024-06-08
1038Australia2024-06-06
1039India2024-06-14
1040Argentina2024-05-21
1041Brazil2024-05-27
1042Spain2024-06-09
1043Australia2024-05-26
1044Japan2024-06-01
1045Russia2024-05-30
1046France2024-05-23
1047Germany2024-05-28
1048Brazil2024-05-28
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
Deepesh Y Ostrosky1000Japan2024-05-31
Jeanfrancois I Bolognia1001Germany2024-06-17
Emily Q Perin1002Brazil2024-06-16
Maisha G Waycott1003Argentina2024-06-05
Octavia H Rim1004United Kingdom2024-05-29
Smith A Nestle1005France2024-06-01
Nicolas O Gaucho1006France2024-06-06
Antonio L Venere1007Italy2024-05-27
Arvin Z Amigon1008Brazil2024-06-10
Leja N Paprocki1009India2024-06-12
Adams B Kusko1010Italy2024-06-12
Misaki Y Butt1011Russia2024-06-03
Kaitlin N Caudy1012Italy2024-05-31
Wickens G Ruta1013United Kingdom2024-06-12
Aruna Q Shinko1014United Kingdom2024-06-15
Mujtaba H Doe1015Argentina2024-05-28
Morrow Q Marrier1016United Kingdom2024-05-21
Isabel L Saylors1017Argentina2024-06-07
Johnson L Ostrosky1018United Kingdom2024-06-16
Costa M Figeroa1019Argentina2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie V DarakjyFranceStephen Shaw NEGOTIATION
Murillo P DarakjyArgentinaBernardo Dominic PROPOSAL
Izzy R MacleadRussiaIvan Magalhaes QUALIFIED
Johnson A WaycottArgentinaXuxue Feng RENEWAL
Julie G CaldareraAustraliaIvan Magalhaes NEW
Ricardo R KuskoSpainBernardo Dominic PROPOSAL
Adams X DoeRussiaAnna Fali NEW
Rodrigues Y FollerUnited KingdomElwin Sharvill NEGOTIATION
Ricardo P SchemmerCanadaXuxue Feng QUALIFIED
Aika Q OstroskyBrazilXuxue Feng NEW
Munro N SergiIndiaBernardo Dominic NEGOTIATION
James U StockhamAustraliaAmy Elsner NEW
Sinclair X GlickItalyOnyama Limba UNQUALIFIED
Jeanfrancois V DoeFranceAsiya Javayant PROPOSAL
Costa U VenereArgentinaIvan Magalhaes QUALIFIED
Greenwood T MaletArgentinaBernardo Dominic PROPOSAL
Johnson W MaletArgentinaElwin Sharvill UNQUALIFIED
Stacey O NickaBrazilElwin Sharvill QUALIFIED
Isabel T SaylorsFranceIvan Magalhaes NEGOTIATION
Silvio K NestleBrazilAsiya Javayant RENEWAL
Smith E SaylorsItalyBernardo Dominic NEGOTIATION
Munro W RulapaughGermanyOnyama Limba PROPOSAL
Smith U GlickJapanAnna Fali UNQUALIFIED
Adams A BowleyAustraliaIoni Bowcher NEW
Francesco Q StockhamUnited KingdomAsiya Javayant NEGOTIATION
Sinclair Q NestleBrazilOnyama Limba NEGOTIATION
Misaki X DilliardAustraliaAsiya Javayant RENEWAL
Kaitlin T DilliardIndiaIvan Magalhaes PROPOSAL
Murillo T GlickGermanyElwin Sharvill QUALIFIED
Arvin Z DilliardFranceAsiya Javayant UNQUALIFIED
Jeanfrancois T NickaGermanyIvan Magalhaes RENEWAL
Stacey I WaycottJapanStephen Shaw RENEWAL
Misaki B PerinCanadaAnna Fali NEGOTIATION
Leon V NickaCanadaAmy Elsner QUALIFIED
Isabel J SergiCanadaIoni Bowcher UNQUALIFIED
Greenwood T ShinkoFranceOnyama Limba UNQUALIFIED
Ricardo O BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Costa T VocelkaFranceAmy Elsner PROPOSAL
Jeanfrancois D InouyeIndiaBernardo Dominic PROPOSAL
Claire F FollerRussiaAmy 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>