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
Claire H MorascaIndiaIvan Magalhaes UNQUALIFIED
David V BowleyFranceIvan Magalhaes PROPOSAL
Silvio Y VocelkaSpainStephen Shaw UNQUALIFIED
Chavez N MacleadAustraliaAnna Fali NEGOTIATION
James T DoeSpainXuxue Feng PROPOSAL
Kadeem F VenereJapanAnna Fali PROPOSAL
Izzy W DarakjyJapanAsiya Javayant RENEWAL
Darci P SaylorsUnited KingdomIvan Magalhaes RENEWAL
Leon Q NickaRussiaStephen Shaw NEW
Morrow D PoquetteIndiaElwin Sharvill PROPOSAL
Octavia V BowleyRussiaAnna Fali PROPOSAL
Jones P VenereGermanyElwin Sharvill NEW
Claire O MaletRussiaBernardo Dominic NEW
Tony S GarufiJapanXuxue Feng NEW
Mayumi S FollerBrazilStephen Shaw NEW
Deepesh R PerinSpainAsiya Javayant UNQUALIFIED
Jeanfrancois R DoeIndiaBernardo Dominic PROPOSAL
Jefferson N DoeFranceElwin Sharvill NEGOTIATION
Claire K PaprockiAustraliaOnyama Limba QUALIFIED
Juan Q DilliardGermanyIvan Magalhaes NEGOTIATION
Ivar I BowleyBrazilIoni Bowcher PROPOSAL
Morrow F NestleUnited KingdomIoni Bowcher NEGOTIATION
Chavez I PoquetteRussiaAmy Elsner NEGOTIATION
Emily K RimItalyAnna Fali PROPOSAL
Aruna E RoysterItalyAsiya Javayant NEGOTIATION
Aika H ButtBrazilIoni Bowcher NEW
Maisha D BriddickGermanyXuxue Feng NEGOTIATION
Arvin A BowleyArgentinaAnna Fali RENEWAL
Aika A KolmetzGermanyAnna Fali NEW
Jefferson O PerinSpainAsiya Javayant NEW
Deepesh Q StockhamUnited KingdomAsiya Javayant NEGOTIATION
Ivar B WaycottCanadaStephen Shaw QUALIFIED
Silvio W CaudyAustraliaOnyama Limba NEGOTIATION
Leon M RutaSpainXuxue Feng QUALIFIED
Arvin H ButtIndiaIvan Magalhaes NEGOTIATION
Arvin D NickaIndiaAsiya Javayant QUALIFIED
Costa L GillianAustraliaElwin Sharvill QUALIFIED
Arvin D OstroskyAustraliaIoni Bowcher NEW
Julie Q RulapaughItalyOnyama Limba NEW
Mayumi U OldroydUnited KingdomAsiya Javayant NEW
Sinclair L MorascaItalyElwin Sharvill UNQUALIFIED
Francesco H MacleadIndiaXuxue Feng QUALIFIED
Francesco K MaletJapanXuxue Feng RENEWAL
Mayumi A FerenczIndiaBernardo Dominic PROPOSAL
Greenwood J StockhamSpainAnna Fali PROPOSAL
Deepesh K GauchoUnited KingdomStephen Shaw RENEWAL
James Y CampainIndiaIoni Bowcher PROPOSAL
Jones Q SchemmerUnited KingdomIoni Bowcher QUALIFIED
Stacey F AlbaresBrazilElwin Sharvill RENEWAL
Izzy T KolmetzRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem L FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba B FollerRussiaElwin Sharvill NEGOTIATION
Claire M OstroskyArgentinaStephen Shaw QUALIFIED
Rodrigues R StockhamGermanyIoni Bowcher RENEWAL
Isabel L DoeSpainStephen Shaw NEGOTIATION
Jefferson R ButtBrazilAmy Elsner PROPOSAL
Smith D PerinCanadaAmy Elsner NEGOTIATION
Julie M FlosiFranceAsiya Javayant PROPOSAL
Maisha V VenereItalyIoni Bowcher PROPOSAL
Aika D MaletSpainStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Z FerenczFrance2024-06-21Feltz Printing Service PROPOSAL47Elwin Sharvill
1001Kadeem Z MaletJapan2024-05-27Chemel, James L Cpa NEW59Onyama Limba
1002Claire E GillianArgentina2024-06-17Chapman, Ross E Esq RENEWAL12Ivan Magalhaes
1003Aruna J IturbideJapan2024-06-21Rousseaux, Michael Esq RENEWAL25Elwin Sharvill
1004Maria D FerenczJapan2024-06-18King, Christopher A Esq UNQUALIFIED15Onyama Limba
1005Jones Q VocelkaUnited Kingdom2024-06-01Printing Dimensions PROPOSAL94Stephen Shaw
1006Francesco G NickaGermany2024-06-10Dorl, James J Esq NEGOTIATION19Amy Elsner
1007Jeanfrancois R AmigonCanada2024-06-20Rousseaux, Michael Esq RENEWAL64Stephen Shaw
1008Antonio R GlickAustralia2024-06-18Commercial Press UNQUALIFIED15Anna Fali
1009Aditya O CaldareraItaly2024-05-27Rousseaux, Michael Esq RENEWAL89Stephen Shaw
1010Julie J AlbaresAustralia2024-06-03Rousseaux, Michael Esq PROPOSAL60Onyama Limba
1011Arvin L ButtBrazil2024-06-13Dorl, James J Esq NEW19Elwin Sharvill
1012Aditya U AmigonAustralia2024-06-09Chapman, Ross E Esq NEW95Asiya Javayant
1013Murillo B DarakjyFrance2024-05-30Chemel, James L Cpa NEGOTIATION61Amy Elsner
1014Darci K ChuiRussia2024-06-09Buckley Miller Wright QUALIFIED63Asiya Javayant
1015Mujtaba H GarufiArgentina2024-06-07Feiner Bros NEW33Stephen Shaw
1016Aika Z NestleFrance2024-06-12Chemel, James L Cpa PROPOSAL49Anna Fali
1017Maisha B ButtAustralia2024-06-17Morlong Associates UNQUALIFIED16Bernardo Dominic
1018Arvin M AlbaresJapan2024-05-29Buckley Miller Wright PROPOSAL51Bernardo Dominic
1019Rodrigues I InouyeBrazil2024-06-25Chemel, James L Cpa RENEWAL14Onyama Limba
1020Morrow L PerinGermany2024-06-24Commercial Press PROPOSAL45Xuxue Feng
1021Jennifer N MacleadArgentina2024-06-15Rousseaux, Michael Esq NEW47Xuxue Feng
1022Sinclair E NickaJapan2024-06-04Chapman, Ross E Esq RENEWAL61Ivan Magalhaes
1023Greenwood I RoysterIndia2024-06-21Feiner Bros RENEWAL13Anna Fali
1024Octavia N NestleItaly2024-06-09Benton, John B Jr PROPOSAL21Elwin Sharvill
1025Kadeem Z CaudyFrance2024-05-27Feiner Bros QUALIFIED41Onyama Limba
1026Leja Z ShinkoGermany2024-06-03King, Christopher A Esq NEW89Xuxue Feng
1027Leja W FlosiCanada2024-06-13Chemel, James L Cpa QUALIFIED15Anna Fali
1028James H GillianUnited Kingdom2024-06-18Rangoni Of Florence PROPOSAL10Asiya Javayant
1029Costa Q MaletSpain2024-06-15Dorl, James J Esq UNQUALIFIED20Xuxue Feng
1030Mujtaba N PoquetteGermany2024-06-01Feiner Bros UNQUALIFIED16Elwin Sharvill
1031Smith R MarrierSpain2024-05-27Dorl, James J Esq UNQUALIFIED15Ivan Magalhaes
1032Izzy B BologniaUnited Kingdom2024-06-23Rousseaux, Michael Esq QUALIFIED19Onyama Limba
1033Darci X StensethBrazil2024-06-10Rousseaux, Michael Esq NEGOTIATION19Elwin Sharvill
1034James D PerinItaly2024-06-01Chemel, James L Cpa PROPOSAL13Ivan Magalhaes
1035Emily L InouyeBrazil2024-06-19Rousseaux, Michael Esq NEGOTIATION76Ivan Magalhaes
1036Aruna F PerinArgentina2024-06-06Morlong Associates QUALIFIED58Ioni Bowcher
1037Jones P CampainCanada2024-05-31Feltz Printing Service UNQUALIFIED84Anna Fali
1038Salvatore T GauchoCanada2024-06-11Benton, John B Jr RENEWAL77Anna Fali
1039Izzy O RoysterIndia2024-06-12Truhlar And Truhlar Attys NEGOTIATION79Amy Elsner
1040Johnson H MorascaJapan2024-06-12Rangoni Of Florence NEW34Ioni Bowcher
1041Aditya X MaletBrazil2024-06-06Buckley Miller Wright RENEWAL73Anna Fali
1042Ricardo R PoquetteIndia2024-06-15Chapman, Ross E Esq NEW99Stephen Shaw
1043Jefferson X KuskoFrance2024-06-19Printing Dimensions UNQUALIFIED54Anna Fali
1044Claire R CaldareraUnited Kingdom2024-06-03Chemel, James L Cpa NEGOTIATION21Elwin Sharvill
1045Smith X TollnerItaly2024-06-24Rousseaux, Michael Esq UNQUALIFIED89Ivan Magalhaes
1046Aruna T SaylorsJapan2024-06-20Truhlar And Truhlar Attys PROPOSAL32Anna Fali
1047Misaki X MorascaUnited Kingdom2024-06-05Rousseaux, Michael Esq QUALIFIED74Ivan Magalhaes
1048Julie J OldroydItaly2024-06-15Morlong Associates QUALIFIED39Stephen Shaw
1049Tony A RoysterCanada2024-06-05Buckley Miller Wright NEGOTIATION88Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow K RimAustraliaAsiya Javayant NEGOTIATION
Jefferson R KuskoAustraliaIoni Bowcher NEGOTIATION
Murillo U FigeroaRussiaIvan Magalhaes UNQUALIFIED
Deepesh Y FerenczCanadaAmy Elsner QUALIFIED
Cody Q RoysterRussiaOnyama Limba RENEWAL
Cody O MaletUnited KingdomXuxue Feng NEW
Antonio S InouyeItalyAsiya Javayant RENEWAL
Faith H VocelkaBrazilIoni Bowcher UNQUALIFIED
Mujtaba C FerenczIndiaAmy Elsner UNQUALIFIED
Ashley E MarrierItalyBernardo Dominic PROPOSAL
Izzy Y AmigonAustraliaIvan Magalhaes NEGOTIATION
Smith F RimSpainElwin Sharvill UNQUALIFIED
Adams K ButtGermanyStephen Shaw PROPOSAL
Sinclair M SergiCanadaAnna Fali NEW
Alejandro C SergiItalyAsiya Javayant QUALIFIED
Stacey E BriddickCanadaIoni Bowcher RENEWAL
Jones E IturbideUnited KingdomOnyama Limba UNQUALIFIED
Munro C MaletCanadaOnyama Limba QUALIFIED
Jennifer M IturbideJapanAnna Fali NEW
Ricardo U FigeroaUnited KingdomAmy Elsner NEW
Tony V MarrierGermanyIvan Magalhaes NEGOTIATION
Stacey J ButtRussiaIvan Magalhaes PROPOSAL
James A MaletItalyIvan Magalhaes RENEWAL
Arvin I PerinGermanyXuxue Feng NEW
Ivar X DarakjyBrazilElwin Sharvill PROPOSAL
Darci J SchemmerArgentinaIvan Magalhaes NEW
Silvio G ShinkoFranceOnyama Limba PROPOSAL
Salvatore Z ShinkoSpainAnna Fali QUALIFIED
Octavia A GauchoSpainAmy Elsner RENEWAL
Cody L WieserIndiaIoni Bowcher PROPOSAL
Nicolas E MaletItalyIvan Magalhaes NEGOTIATION
Nicolas U VocelkaGermanyAnna Fali NEW
Darci H DoeJapanAmy Elsner RENEWAL
Juan R MacleadSpainAsiya Javayant PROPOSAL
Smith C DilliardJapanIoni Bowcher RENEWAL
Sinclair M GillianJapanIoni Bowcher PROPOSAL
David D ButtCanadaXuxue Feng NEW
Izzy E VocelkaFranceAsiya Javayant UNQUALIFIED
Claire Q RimCanadaStephen Shaw QUALIFIED
Francesco H StensethIndiaOnyama Limba UNQUALIFIED
Deepesh X PoquetteJapanStephen Shaw PROPOSAL
Smith K DilliardCanadaAnna Fali RENEWAL
Johnson U CampainFranceIvan Magalhaes PROPOSAL
Ricardo C FlosiAustraliaXuxue Feng RENEWAL
Salvatore W WhobreyFranceElwin Sharvill RENEWAL
Murillo Z RutaItalyXuxue Feng NEW
Isabel T SaylorsRussiaAmy Elsner NEW
Costa D WhobreySpainIvan Magalhaes RENEWAL
Jennifer P StensethAustraliaXuxue Feng UNQUALIFIED
Mujtaba E CaudyAustraliaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Julie E Foller
Ashley A Darakjy
Juan R Iturbide
Arvin U Oldroyd
David S Rim
Morrow H Glick
Ricardo K Vocelka
Jeanfrancois B Stenseth
Ashley W Waycott
Emily U Poquette
Alejandro C Garufi
Kadeem W Royster
Octavia A Inouye
Juan F Poquette
James A Rulapaugh
Arvin F Tollner
Alejandro W Schemmer
Salvatore C Figeroa
Aika Y Kusko
Claire Z Flosi
Misaki U Schemmer
Alejandro C Darakjy
Kadeem J Stockham
Aruna R Paprocki
Maisha H Butt
Chavez T Poquette
Johnson C Rulapaugh
Adams X Ostrosky
Kadeem S Dilliard
Ivar F Gillian
Ashley Z Waycott
Faith O Nicka
Johnson J Rim
Leja J Nicka
Sinclair C Ostrosky
Izzy Y Ostrosky
Maisha A Nestle
Antonio F Poquette
Costa K Chui
Ricardo U Shinko
Jennifer S Glick
Adams S Gaucho
Murillo P Rim
Sinclair Z Albares
James I Iturbide
Tony X Slusarski
Rodrigues M Marrier
Kadeem U Caudy
Wickens X Waycott
Jefferson G Whobrey
IdCountryDate
1000India2024-06-20
1001Japan2024-06-22
1002France2024-06-10
1003Australia2024-06-17
1004Germany2024-06-16
1005Canada2024-06-22
1006Germany2024-06-19
1007United Kingdom2024-06-25
1008Russia2024-06-17
1009Brazil2024-06-12
1010Germany2024-06-10
1011Brazil2024-05-29
1012Argentina2024-06-20
1013India2024-06-17
1014Spain2024-06-04
1015France2024-06-11
1016United Kingdom2024-06-20
1017Japan2024-06-16
1018Germany2024-06-20
1019Germany2024-06-24
1020Australia2024-06-06
1021India2024-06-12
1022France2024-06-17
1023India2024-06-12
1024Canada2024-06-19
1025Italy2024-06-19
1026Russia2024-06-15
1027France2024-06-02
1028Russia2024-06-12
1029Canada2024-06-03
1030Japan2024-06-16
1031Spain2024-06-18
1032Spain2024-06-01
1033Japan2024-06-08
1034Canada2024-06-03
1035Russia2024-06-11
1036Italy2024-06-14
1037Italy2024-05-28
1038Spain2024-06-15
1039Argentina2024-05-29
1040France2024-06-18
1041France2024-06-08
1042Brazil2024-05-29
1043Brazil2024-05-29
1044Russia2024-06-01
1045Brazil2024-06-07
1046Italy2024-06-25
1047France2024-06-20
1048Spain2024-06-21
1049Canada2024-05-31

On-Demand Data

NameIdCountryDate
Julie E Briddick1000Australia2024-06-13
Costa B Inouye1001France2024-06-01
Ricardo I Caudy1002Spain2024-06-03
Deepesh B Saylors1003Canada2024-06-09
Sinclair B Ferencz1004Australia2024-06-23
Salvatore C Bowley1005Brazil2024-06-23
Julie K Kolmetz1006Russia2024-06-13
Claire O Glick1007Germany2024-06-03
Aruna R Chui1008Australia2024-06-05
Ivar H Wieser1009France2024-06-01
Wickens J Rulapaugh1010Australia2024-05-30
Rodrigues P Marrier1011United Kingdom2024-06-24
Julie Y Nestle1012United Kingdom2024-06-14
Arvin Z Waycott1013India2024-06-14
David J Venere1014France2024-06-05
Nicolas F Perin1015Spain2024-06-19
Arvin D Sergi1016Germany2024-06-06
Juan A Ruta1017Australia2024-06-09
Jefferson T Sergi1018France2024-06-15
Silvio Q Caldarera1019Argentina2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez A ShinkoBrazilAnna Fali NEGOTIATION
Leon M MacleadArgentinaIvan Magalhaes PROPOSAL
Costa N SlusarskiBrazilAnna Fali RENEWAL
Jefferson O WieserCanadaBernardo Dominic UNQUALIFIED
Mayumi Z KuskoSpainAsiya Javayant QUALIFIED
David P CaudyIndiaStephen Shaw NEW
Salvatore F FerenczAustraliaElwin Sharvill RENEWAL
Rodrigues X RimSpainXuxue Feng NEW
Mayumi Z VocelkaFranceAnna Fali UNQUALIFIED
Mayumi B AlbaresArgentinaElwin Sharvill PROPOSAL
Ivar S CaldareraSpainAmy Elsner NEW
Sinclair D DilliardSpainBernardo Dominic NEW
Jefferson P RimJapanIvan Magalhaes RENEWAL
Misaki C SaylorsCanadaAmy Elsner UNQUALIFIED
Darci U RulapaughIndiaOnyama Limba RENEWAL
Jeanfrancois D SchemmerItalyElwin Sharvill NEW
Ricardo Y TollnerFranceIoni Bowcher RENEWAL
Aruna I ButtItalyAnna Fali PROPOSAL
Alejandro E FlosiItalyElwin Sharvill QUALIFIED
Faith U PaprockiCanadaStephen Shaw PROPOSAL
Tony J GlickCanadaStephen Shaw NEGOTIATION
Maisha H NickaGermanyAnna Fali UNQUALIFIED
Cody I BowleyCanadaElwin Sharvill QUALIFIED
Emily O KuskoUnited KingdomAnna Fali PROPOSAL
Isabel Q PerinCanadaStephen Shaw PROPOSAL
James B SlusarskiItalyXuxue Feng UNQUALIFIED
James D FlosiFranceOnyama Limba NEGOTIATION
Costa K SergiIndiaIvan Magalhaes UNQUALIFIED
Darci U InouyeIndiaAmy Elsner QUALIFIED
Ivar S BologniaUnited KingdomAsiya Javayant PROPOSAL
Francesco I KolmetzBrazilStephen Shaw RENEWAL
Chavez F RoysterJapanAmy Elsner NEW
Smith E KolmetzFranceXuxue Feng NEW
Antonio L BowleyItalyOnyama Limba QUALIFIED
Darci Q SchemmerGermanyAnna Fali QUALIFIED
Adams E OstroskyJapanStephen Shaw NEW
Jeanfrancois Y NickaSpainElwin Sharvill NEW
Sinclair D NestleCanadaElwin Sharvill UNQUALIFIED
Johnson S CaudyUnited KingdomOnyama Limba PROPOSAL
Kadeem F GillianSpainStephen Shaw 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>