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
Smith F CaudyAustraliaOnyama Limba UNQUALIFIED
Leja A PaprockiItalyAsiya Javayant UNQUALIFIED
Jennifer I OldroydBrazilAsiya Javayant UNQUALIFIED
Jefferson T FlosiIndiaIvan Magalhaes UNQUALIFIED
Clifford A FlosiFranceBernardo Dominic NEW
David K FollerIndiaAnna Fali NEGOTIATION
Cody T GauchoRussiaStephen Shaw NEGOTIATION
Munro K VenereItalyAmy Elsner PROPOSAL
Silvio H KuskoJapanXuxue Feng UNQUALIFIED
James Q AmigonIndiaBernardo Dominic NEW
Julie M CampainJapanAnna Fali UNQUALIFIED
Jones Z BowleyFranceStephen Shaw UNQUALIFIED
Rodrigues T FollerAustraliaAmy Elsner QUALIFIED
Costa V CampainItalyBernardo Dominic UNQUALIFIED
Wickens R StockhamGermanyIoni Bowcher NEW
Murillo L KolmetzJapanOnyama Limba QUALIFIED
Cody D FigeroaSpainOnyama Limba UNQUALIFIED
Leja W PaprockiAustraliaElwin Sharvill RENEWAL
David T OldroydItalyAsiya Javayant UNQUALIFIED
Deepesh M RulapaughBrazilAnna Fali QUALIFIED
Wickens O OstroskyRussiaAsiya Javayant UNQUALIFIED
Ivar K VocelkaUnited KingdomAsiya Javayant NEW
Misaki P InouyeRussiaStephen Shaw NEW
Chavez A MarrierArgentinaAsiya Javayant NEW
Emily M VocelkaFranceAmy Elsner NEGOTIATION
Ricardo G GillianGermanyIoni Bowcher NEW
Emily E NestleSpainAnna Fali PROPOSAL
Clifford N FigeroaSpainAnna Fali NEW
Maria X WhobreyBrazilOnyama Limba QUALIFIED
Aditya B BriddickSpainXuxue Feng UNQUALIFIED
Jones L PaprockiBrazilIvan Magalhaes NEW
Greenwood U CaldareraAustraliaStephen Shaw NEGOTIATION
Costa R MaletUnited KingdomIoni Bowcher UNQUALIFIED
Rodrigues S InouyeFranceAnna Fali NEGOTIATION
Wickens V BologniaArgentinaAsiya Javayant NEGOTIATION
Francesco U PerinIndiaElwin Sharvill NEGOTIATION
Jeanfrancois X VenereRussiaAnna Fali QUALIFIED
Jeanfrancois T DilliardItalyAnna Fali PROPOSAL
Cody O AmigonItalyElwin Sharvill UNQUALIFIED
Cody X KuskoRussiaBernardo Dominic NEW
Nicolas G RimUnited KingdomOnyama Limba NEW
Arvin T SergiIndiaAsiya Javayant NEGOTIATION
Izzy U VocelkaItalyBernardo Dominic RENEWAL
Faith Y GlickBrazilXuxue Feng RENEWAL
Rodrigues P RutaFranceIvan Magalhaes NEGOTIATION
Murillo G MaletJapanAsiya Javayant RENEWAL
Jeanfrancois D OldroydIndiaOnyama Limba NEGOTIATION
Ashley H FollerFranceOnyama Limba NEGOTIATION
Alejandro U WieserSpainElwin Sharvill RENEWAL
Maisha M BologniaGermanyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem F ChuiSpainBernardo Dominic PROPOSAL
Jennifer P OstroskyJapanIvan Magalhaes RENEWAL
Greenwood P GauchoArgentinaXuxue Feng NEGOTIATION
Jones R ButtJapanXuxue Feng QUALIFIED
Mujtaba Y WaycottSpainXuxue Feng QUALIFIED
Maria P SaylorsFranceAnna Fali UNQUALIFIED
Adams H BowleyBrazilElwin Sharvill QUALIFIED
Kaitlin H SlusarskiArgentinaIvan Magalhaes PROPOSAL
Jefferson E CaldareraBrazilXuxue Feng RENEWAL
Munro M NestleSpainIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair X MacleadItaly2024-06-10Benton, John B Jr RENEWAL91Onyama Limba
1001James X FollerIndia2024-05-29Chemel, James L Cpa NEW70Ioni Bowcher
1002Stacey E PoquetteCanada2024-05-29King, Christopher A Esq NEW5Asiya Javayant
1003Ashley R FerenczBrazil2024-06-01King, Christopher A Esq QUALIFIED86Bernardo Dominic
1004Aika X AmigonJapan2024-06-23Feiner Bros UNQUALIFIED82Elwin Sharvill
1005Rodrigues M ChuiAustralia2024-06-01Dorl, James J Esq NEW37Elwin Sharvill
1006Emily H StensethIndia2024-06-24Chanay, Jeffrey A Esq NEW77Onyama Limba
1007Faith A InouyeIndia2024-05-26Feltz Printing Service PROPOSAL40Elwin Sharvill
1008Ivar D DarakjyAustralia2024-06-17Buckley Miller Wright RENEWAL11Ioni Bowcher
1009Jeanfrancois Q VenereSpain2024-06-07Chanay, Jeffrey A Esq PROPOSAL21Onyama Limba
1010Isabel F AlbaresGermany2024-06-22Rousseaux, Michael Esq UNQUALIFIED44Onyama Limba
1011Silvio O RoysterFrance2024-06-05Chanay, Jeffrey A Esq RENEWAL29Elwin Sharvill
1012Deepesh P StockhamItaly2024-06-16Commercial Press PROPOSAL94Xuxue Feng
1013Costa Q SaylorsSpain2024-06-23Buckley Miller Wright QUALIFIED90Onyama Limba
1014Silvio M RulapaughJapan2024-05-26Chemel, James L Cpa NEGOTIATION61Ivan Magalhaes
1015Kadeem T WieserCanada2024-06-05Dorl, James J Esq NEGOTIATION51Asiya Javayant
1016James X FlosiAustralia2024-06-21King, Christopher A Esq NEW36Xuxue Feng
1017Leon B WieserJapan2024-06-16Buckley Miller Wright PROPOSAL91Xuxue Feng
1018Darci X FollerGermany2024-06-22Printing Dimensions QUALIFIED3Anna Fali
1019Ricardo E KuskoArgentina2024-06-19Buckley Miller Wright PROPOSAL97Ioni Bowcher
1020Morrow Z WhobreyFrance2024-05-26Feltz Printing Service NEGOTIATION94Amy Elsner
1021Jones U PerinIndia2024-06-24Chemel, James L Cpa RENEWAL70Bernardo Dominic
1022Cody M WieserCanada2024-06-03Rangoni Of Florence RENEWAL95Asiya Javayant
1023Nicolas L AmigonIndia2024-06-08Dorl, James J Esq QUALIFIED60Ivan Magalhaes
1024Aditya H FigeroaAustralia2024-06-07Rangoni Of Florence NEGOTIATION76Asiya Javayant
1025Francesco Y RulapaughSpain2024-06-18Rangoni Of Florence UNQUALIFIED50Amy Elsner
1026Aditya X SlusarskiCanada2024-06-15Chapman, Ross E Esq NEW36Anna Fali
1027Aruna E FerenczCanada2024-06-04Commercial Press NEW6Ivan Magalhaes
1028Faith F WaycottAustralia2024-06-01Commercial Press QUALIFIED88Asiya Javayant
1029Kadeem S NickaAustralia2024-06-06Commercial Press NEW23Bernardo Dominic
1030Mujtaba S RutaBrazil2024-06-04Commercial Press NEGOTIATION57Bernardo Dominic
1031Aika R IturbideItaly2024-06-07Chemel, James L Cpa NEGOTIATION59Asiya Javayant
1032Izzy Y InouyeIndia2024-05-28Dorl, James J Esq PROPOSAL84Anna Fali
1033Jeanfrancois R PoquetteRussia2024-06-09Feiner Bros UNQUALIFIED18Ioni Bowcher
1034Leon H TollnerJapan2024-05-26Printing Dimensions QUALIFIED7Onyama Limba
1035Claire S ChuiGermany2024-06-24Benton, John B Jr NEW49Ivan Magalhaes
1036Jeanfrancois P SaylorsIndia2024-06-09King, Christopher A Esq PROPOSAL79Anna Fali
1037Silvio D CaldareraItaly2024-05-30Rangoni Of Florence NEGOTIATION53Stephen Shaw
1038Francesco J OstroskyItaly2024-06-12Feltz Printing Service UNQUALIFIED89Ioni Bowcher
1039Murillo N PaprockiCanada2024-05-31Chanay, Jeffrey A Esq NEW27Anna Fali
1040Julie K MaletSpain2024-06-19Printing Dimensions RENEWAL41Onyama Limba
1041Octavia T OstroskyGermany2024-06-23Dorl, James J Esq NEGOTIATION69Ivan Magalhaes
1042Jones X ShinkoArgentina2024-06-22Buckley Miller Wright NEGOTIATION95Stephen Shaw
1043Ivar Q MorascaFrance2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED6Amy Elsner
1044Chavez Y CampainJapan2024-06-17Chapman, Ross E Esq NEGOTIATION62Stephen Shaw
1045Kadeem U MaletArgentina2024-06-18Truhlar And Truhlar Attys PROPOSAL33Bernardo Dominic
1046Deepesh N BowleySpain2024-06-04King, Christopher A Esq PROPOSAL35Stephen Shaw
1047Misaki R PerinSpain2024-06-11Commercial Press RENEWAL59Asiya Javayant
1048Chavez Z ShinkoGermany2024-06-07Chapman, Ross E Esq QUALIFIED95Anna Fali
1049Tony G MarrierIndia2024-06-13Printing Dimensions NEGOTIATION18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Z SaylorsRussiaStephen Shaw UNQUALIFIED
Kadeem U MorascaJapanIvan Magalhaes QUALIFIED
Costa D RutaFranceIoni Bowcher QUALIFIED
Deepesh E MorascaItalyBernardo Dominic QUALIFIED
Francesco A SlusarskiBrazilAnna Fali QUALIFIED
Tony P DarakjyIndiaXuxue Feng NEW
Murillo K BriddickItalyOnyama Limba NEGOTIATION
Jones N WhobreyRussiaAmy Elsner RENEWAL
Murillo P VenereBrazilElwin Sharvill NEW
Kadeem A AmigonFranceIvan Magalhaes UNQUALIFIED
Octavia W TollnerIndiaAsiya Javayant UNQUALIFIED
Alejandro L NestleUnited KingdomOnyama Limba NEW
Cody F RulapaughFranceBernardo Dominic UNQUALIFIED
Adams J OstroskyArgentinaBernardo Dominic NEGOTIATION
Murillo W KolmetzCanadaElwin Sharvill QUALIFIED
Octavia O AmigonGermanyStephen Shaw UNQUALIFIED
Leon O GlickCanadaBernardo Dominic NEGOTIATION
Mayumi O VenereItalyBernardo Dominic PROPOSAL
Arvin W MaletJapanIvan Magalhaes NEW
Aika C NickaFranceBernardo Dominic NEGOTIATION
Octavia F SlusarskiItalyXuxue Feng NEGOTIATION
Jeanfrancois S PaprockiUnited KingdomXuxue Feng NEGOTIATION
Ashley H DilliardSpainElwin Sharvill PROPOSAL
Munro Y NestleRussiaBernardo Dominic NEW
Wickens R WaycottBrazilAmy Elsner NEGOTIATION
Wickens C RulapaughFranceIoni Bowcher QUALIFIED
Murillo F GillianArgentinaAmy Elsner NEW
Nicolas G GlickCanadaIoni Bowcher UNQUALIFIED
Johnson C BriddickBrazilOnyama Limba NEGOTIATION
Greenwood C IturbideGermanyIoni Bowcher UNQUALIFIED
Isabel R DilliardIndiaAmy Elsner NEGOTIATION
Claire I SergiUnited KingdomIvan Magalhaes RENEWAL
Silvio X SaylorsBrazilBernardo Dominic NEGOTIATION
Wickens X WieserBrazilStephen Shaw NEGOTIATION
Aditya C OstroskyGermanyIoni Bowcher RENEWAL
Adams E SlusarskiItalyStephen Shaw PROPOSAL
Nicolas B ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Isabel E WaycottItalyBernardo Dominic NEW
Faith F RutaCanadaIoni Bowcher QUALIFIED
Ricardo J DilliardCanadaElwin Sharvill NEW
Ivar N SaylorsRussiaStephen Shaw NEW
Munro Y BowleyItalyAsiya Javayant NEW
Leja I RulapaughArgentinaOnyama Limba NEW
Jones Y FlosiSpainIoni Bowcher NEW
David G MaletAustraliaAnna Fali UNQUALIFIED
Chavez X NickaCanadaElwin Sharvill QUALIFIED
Jeanfrancois K WhobreyIndiaAnna Fali PROPOSAL
Juan I KuskoRussiaAmy Elsner NEW
Mujtaba H VocelkaJapanBernardo Dominic NEW
Julie D BologniaJapanAmy Elsner NEW
Frozen Columns
Name
David L Nicka
Ivar I Shinko
Francesco S Vocelka
Ashley M Vocelka
Jennifer F Butt
Chavez K Bowley
Morrow G Darakjy
Jennifer G Gaucho
Emily X Morasca
Octavia C Ruta
Greenwood H Glick
Salvatore O Saylors
Misaki W Darakjy
Ricardo F Nestle
Leon F Garufi
Ivar E Dilliard
Ivar V Venere
Leon O Bowley
Francesco J Royster
Aika R Ferencz
Sinclair B Kusko
Emily X Gaucho
Silvio N Campain
Kadeem F Albares
Salvatore W Gillian
Jennifer P Campain
Leon R Dilliard
Isabel L Shinko
Misaki U Tollner
Octavia G Schemmer
Alejandro R Albares
Leon V Kolmetz
Juan J Venere
Francesco K Campain
Murillo J Caldarera
Misaki M Glick
Smith E Kusko
Leon Q Shinko
Misaki F Foller
Mujtaba Z Garufi
Mujtaba E Nestle
Wickens E Slusarski
Leon E Bowley
Aika P Malet
Leon Q Rim
Smith S Slusarski
Nicolas D Wieser
Greenwood T Vocelka
Claire A Shinko
Adams I Iturbide
IdCountryDate
1000United Kingdom2024-06-11
1001Japan2024-05-27
1002Japan2024-06-08
1003United Kingdom2024-06-10
1004Germany2024-06-03
1005Australia2024-06-23
1006Spain2024-06-11
1007India2024-06-01
1008France2024-05-28
1009Japan2024-06-19
1010India2024-06-18
1011Japan2024-05-30
1012India2024-06-02
1013India2024-06-23
1014Italy2024-05-30
1015Argentina2024-05-30
1016Brazil2024-06-08
1017India2024-06-08
1018Russia2024-06-09
1019Australia2024-06-12
1020Japan2024-05-26
1021Brazil2024-05-27
1022United Kingdom2024-05-28
1023Russia2024-06-10
1024France2024-06-04
1025Australia2024-06-10
1026Italy2024-05-28
1027Japan2024-05-27
1028Argentina2024-05-31
1029India2024-06-08
1030Brazil2024-06-07
1031Canada2024-06-19
1032Russia2024-06-20
1033Germany2024-06-21
1034United Kingdom2024-06-07
1035United Kingdom2024-06-14
1036Italy2024-06-14
1037Australia2024-06-18
1038France2024-06-14
1039Germany2024-06-19
1040Italy2024-06-22
1041United Kingdom2024-06-24
1042France2024-06-08
1043United Kingdom2024-06-01
1044India2024-06-01
1045India2024-06-09
1046Spain2024-06-11
1047Canada2024-05-26
1048United Kingdom2024-06-12
1049Brazil2024-05-30

On-Demand Data

NameIdCountryDate
Munro V Garufi1000Spain2024-06-23
Johnson V Doe1001Germany2024-05-31
Morrow J Whobrey1002Germany2024-06-24
Mayumi T Venere1003United Kingdom2024-05-30
Costa X Dilliard1004Spain2024-06-22
Greenwood S Slusarski1005Spain2024-06-20
Aika J Saylors1006Russia2024-06-12
Greenwood U Venere1007Canada2024-06-13
Morrow D Wieser1008United Kingdom2024-06-05
Jones Y Maclead1009United Kingdom2024-06-09
Chavez G Stenseth1010Russia2024-06-04
Munro C Nicka1011Australia2024-06-21
Faith W Caldarera1012Argentina2024-06-10
Silvio U Perin1013Spain2024-06-19
James O Waycott1014Brazil2024-06-06
Jeanfrancois K Glick1015Italy2024-05-29
Munro J Venere1016Russia2024-06-06
Sinclair H Wieser1017Spain2024-05-26
Jones B Tollner1018Spain2024-06-05
Tony G Vocelka1019Argentina2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois V FollerSpainAsiya Javayant NEW
James K PoquetteBrazilBernardo Dominic UNQUALIFIED
David W NestleSpainAnna Fali PROPOSAL
Aika D MaletBrazilIoni Bowcher QUALIFIED
Misaki L NickaItalyAsiya Javayant PROPOSAL
Murillo L PaprockiBrazilOnyama Limba PROPOSAL
Kadeem J SergiAustraliaBernardo Dominic NEGOTIATION
Francesco Z SchemmerBrazilOnyama Limba QUALIFIED
Emily R FollerIndiaXuxue Feng PROPOSAL
Leon H BologniaFranceElwin Sharvill UNQUALIFIED
Stacey X CampainUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh H WhobreyBrazilIoni Bowcher UNQUALIFIED
Leon J SlusarskiItalyStephen Shaw QUALIFIED
Silvio M FlosiJapanAsiya Javayant UNQUALIFIED
Aika X CampainSpainElwin Sharvill QUALIFIED
Tony F BologniaUnited KingdomIvan Magalhaes QUALIFIED
Chavez Z FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Tony D GillianArgentinaElwin Sharvill QUALIFIED
Stacey V InouyeBrazilAnna Fali RENEWAL
Stacey G TollnerJapanIvan Magalhaes QUALIFIED
Johnson N SaylorsFranceAsiya Javayant QUALIFIED
David Q MaletJapanOnyama Limba RENEWAL
Claire E GarufiJapanElwin Sharvill NEGOTIATION
Aika S GarufiBrazilAsiya Javayant RENEWAL
Kadeem Y CampainUnited KingdomElwin Sharvill QUALIFIED
Misaki O WieserArgentinaElwin Sharvill QUALIFIED
Octavia X DoeUnited KingdomAsiya Javayant NEW
Silvio X ShinkoItalyStephen Shaw QUALIFIED
Greenwood L GlickIndiaBernardo Dominic RENEWAL
Aika Z ShinkoRussiaStephen Shaw PROPOSAL
Rodrigues C VocelkaSpainAsiya Javayant RENEWAL
Johnson L WhobreyBrazilIvan Magalhaes NEW
Tony A SlusarskiAustraliaAsiya Javayant NEGOTIATION
Kaitlin Y DilliardCanadaElwin Sharvill NEW
Aruna Y SlusarskiItalyOnyama Limba UNQUALIFIED
Isabel Y CaldareraRussiaIvan Magalhaes RENEWAL
Isabel I AmigonJapanIoni Bowcher QUALIFIED
Costa M SchemmerCanadaIoni Bowcher NEGOTIATION
Izzy P RoysterBrazilOnyama Limba QUALIFIED
Jefferson H DilliardAustraliaBernardo Dominic 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>