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 R FlosiUnited KingdomIvan Magalhaes PROPOSAL
Chavez E DoeFranceAmy Elsner QUALIFIED
Emily Y CaudyItalyIvan Magalhaes NEGOTIATION
Aruna J PaprockiCanadaAnna Fali NEGOTIATION
Adams F MarrierIndiaOnyama Limba NEW
Rodrigues S NestleRussiaAsiya Javayant NEGOTIATION
Adams K RimBrazilElwin Sharvill RENEWAL
Deepesh S AlbaresJapanAmy Elsner NEGOTIATION
Silvio P NestleFranceAnna Fali RENEWAL
Maria T InouyeSpainAsiya Javayant NEW
Wickens T VenereSpainXuxue Feng QUALIFIED
Rodrigues C SlusarskiRussiaElwin Sharvill RENEWAL
Cody S BologniaAustraliaElwin Sharvill UNQUALIFIED
Tony J BologniaAustraliaXuxue Feng UNQUALIFIED
James Y KolmetzIndiaAnna Fali NEGOTIATION
Maria I AlbaresBrazilElwin Sharvill NEGOTIATION
Leon X KolmetzUnited KingdomAsiya Javayant NEW
Aika N KuskoRussiaElwin Sharvill QUALIFIED
Maisha R NickaCanadaIvan Magalhaes UNQUALIFIED
Mujtaba E KuskoJapanAsiya Javayant NEGOTIATION
Cody A MaletSpainBernardo Dominic NEGOTIATION
David H BriddickCanadaElwin Sharvill NEGOTIATION
Smith B ChuiRussiaAmy Elsner RENEWAL
Misaki F ShinkoGermanyElwin Sharvill QUALIFIED
Murillo U FerenczRussiaElwin Sharvill UNQUALIFIED
Deepesh E SergiJapanOnyama Limba UNQUALIFIED
Salvatore T CaudyArgentinaElwin Sharvill NEGOTIATION
David P WhobreyJapanIvan Magalhaes NEW
Ivar H ButtIndiaElwin Sharvill UNQUALIFIED
Emily Q ShinkoItalyAmy Elsner QUALIFIED
Jones U ShinkoIndiaAmy Elsner NEGOTIATION
Aditya U GauchoCanadaAsiya Javayant NEW
Arvin C VocelkaArgentinaBernardo Dominic RENEWAL
Wickens K FerenczRussiaAmy Elsner PROPOSAL
Salvatore I GarufiFranceBernardo Dominic QUALIFIED
Ricardo M WhobreyFranceElwin Sharvill PROPOSAL
Tony O OstroskyUnited KingdomIoni Bowcher QUALIFIED
Aruna R SlusarskiAustraliaStephen Shaw RENEWAL
Clifford Y SlusarskiItalyXuxue Feng NEGOTIATION
Clifford J AmigonIndiaXuxue Feng QUALIFIED
Mayumi B BologniaItalyIvan Magalhaes PROPOSAL
Arvin G CampainItalyStephen Shaw NEW
Maisha P PoquetteCanadaOnyama Limba NEW
Chavez A StockhamIndiaAmy Elsner NEGOTIATION
Ricardo E GauchoSpainAsiya Javayant PROPOSAL
Aditya M MarrierJapanIvan Magalhaes PROPOSAL
Arvin N CaudyItalyIoni Bowcher UNQUALIFIED
Darci B BowleyFranceIoni Bowcher NEGOTIATION
Kadeem O RoysterItalyAsiya Javayant NEW
Jeanfrancois X SergiItalyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar A SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Maria O SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Francesco E SchemmerAustraliaAsiya Javayant NEW
Aditya U WhobreyItalyStephen Shaw QUALIFIED
Wickens H SchemmerBrazilXuxue Feng NEGOTIATION
Mujtaba O GarufiSpainElwin Sharvill NEGOTIATION
Emily U RutaRussiaElwin Sharvill UNQUALIFIED
Leon X ChuiSpainIoni Bowcher NEGOTIATION
Emily M FerenczJapanIoni Bowcher NEGOTIATION
Chavez F AlbaresBrazilAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas G KuskoCanada2025-04-05Feltz Printing Service UNQUALIFIED3Amy Elsner
1001Rodrigues R BriddickArgentina2025-04-26Rangoni Of Florence PROPOSAL36Anna Fali
1002Mujtaba V SergiCanada2025-04-27Commercial Press NEGOTIATION76Amy Elsner
1003Julie X VocelkaUnited Kingdom2025-04-24Feiner Bros NEW96Onyama Limba
1004Alejandro K MorascaGermany2025-04-20Benton, John B Jr PROPOSAL24Asiya Javayant
1005David C WieserJapan2025-04-11Feiner Bros UNQUALIFIED72Ioni Bowcher
1006Deepesh D VocelkaGermany2025-04-06Buckley Miller Wright NEGOTIATION74Xuxue Feng
1007Deepesh O DarakjyBrazil2025-04-09Feiner Bros NEW96Anna Fali
1008Leja A OldroydUnited Kingdom2025-04-27Morlong Associates NEGOTIATION50Xuxue Feng
1009Deepesh R GauchoJapan2025-04-16Feiner Bros NEW94Elwin Sharvill
1010Wickens Q VocelkaBrazil2025-04-01Feiner Bros NEGOTIATION22Amy Elsner
1011Kadeem Y MaletItaly2025-04-03Morlong Associates QUALIFIED99Amy Elsner
1012Arvin L InouyeFrance2025-04-12Benton, John B Jr NEW60Onyama Limba
1013Jeanfrancois R MacleadGermany2025-04-17Chanay, Jeffrey A Esq NEGOTIATION26Asiya Javayant
1014Izzy P CaldareraFrance2025-04-01Buckley Miller Wright UNQUALIFIED7Asiya Javayant
1015Izzy S AmigonAustralia2025-04-01Feiner Bros NEGOTIATION45Ivan Magalhaes
1016Izzy C PerinArgentina2025-04-30Chanay, Jeffrey A Esq UNQUALIFIED79Onyama Limba
1017Tony D ShinkoJapan2025-04-12Commercial Press UNQUALIFIED29Asiya Javayant
1018Ivar P KuskoRussia2025-04-14Dorl, James J Esq RENEWAL58Ivan Magalhaes
1019Leja X RoysterGermany2025-04-14Commercial Press QUALIFIED95Stephen Shaw
1020Leon O DilliardBrazil2025-04-21Truhlar And Truhlar Attys NEW85Bernardo Dominic
1021Chavez I FigeroaCanada2025-04-19Chapman, Ross E Esq NEW15Onyama Limba
1022David Y RimIndia2025-04-07King, Christopher A Esq NEW64Asiya Javayant
1023Kaitlin Q PoquetteBrazil2025-04-02Morlong Associates RENEWAL52Anna Fali
1024Jeanfrancois T BologniaCanada2025-04-30Rangoni Of Florence RENEWAL42Amy Elsner
1025Octavia S DilliardJapan2025-04-03Truhlar And Truhlar Attys RENEWAL60Xuxue Feng
1026Maria O CaudyGermany2025-04-24Dorl, James J Esq PROPOSAL90Asiya Javayant
1027Darci A MaletFrance2025-04-12Commercial Press NEW97Ioni Bowcher
1028Alejandro G PaprockiFrance2025-04-14Rousseaux, Michael Esq PROPOSAL46Xuxue Feng
1029Johnson B ShinkoFrance2025-04-12Buckley Miller Wright NEW95Stephen Shaw
1030Jeanfrancois S GillianUnited Kingdom2025-04-05Feiner Bros UNQUALIFIED70Xuxue Feng
1031Emily K CaudyGermany2025-04-27Rangoni Of Florence UNQUALIFIED38Ioni Bowcher
1032Sinclair V DilliardSpain2025-04-12Rangoni Of Florence RENEWAL52Onyama Limba
1033Sinclair O DilliardSpain2025-04-24Buckley Miller Wright RENEWAL12Onyama Limba
1034Cody C GauchoArgentina2025-04-03Truhlar And Truhlar Attys NEGOTIATION76Amy Elsner
1035Silvio U GlickArgentina2025-04-10Truhlar And Truhlar Attys QUALIFIED31Stephen Shaw
1036Stacey E WhobreyIndia2025-04-19Chapman, Ross E Esq QUALIFIED49Amy Elsner
1037Greenwood H WhobreyFrance2025-04-13Printing Dimensions PROPOSAL12Elwin Sharvill
1038Octavia O PoquetteFrance2025-04-27Commercial Press UNQUALIFIED88Xuxue Feng
1039Clifford Y GauchoFrance2025-04-17Rousseaux, Michael Esq UNQUALIFIED85Anna Fali
1040Jones H StensethSpain2025-04-03Benton, John B Jr UNQUALIFIED46Elwin Sharvill
1041Deepesh X KolmetzRussia2025-04-27Chanay, Jeffrey A Esq UNQUALIFIED50Anna Fali
1042Faith W AmigonBrazil2025-04-29Printing Dimensions RENEWAL94Elwin Sharvill
1043Munro E DilliardFrance2025-04-10Printing Dimensions QUALIFIED75Bernardo Dominic
1044Wickens I OldroydSpain2025-04-26Chapman, Ross E Esq RENEWAL63Ioni Bowcher
1045Munro L ShinkoItaly2025-04-30Feiner Bros QUALIFIED17Ivan Magalhaes
1046Ashley Y RimFrance2025-04-11Commercial Press QUALIFIED51Ivan Magalhaes
1047Octavia A SaylorsGermany2025-04-26Chanay, Jeffrey A Esq PROPOSAL80Amy Elsner
1048Ricardo N FigeroaBrazil2025-04-27Chanay, Jeffrey A Esq NEW36Asiya Javayant
1049Costa E VenereCanada2025-04-11King, Christopher A Esq NEW84Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Johnson I OstroskyUnited KingdomAsiya Javayant QUALIFIED
Faith D NickaFranceAnna Fali NEW
Munro I ShinkoSpainOnyama Limba UNQUALIFIED
Jennifer W MarrierAustraliaIoni Bowcher QUALIFIED
Silvio T ButtCanadaAmy Elsner QUALIFIED
Chavez K VenereIndiaElwin Sharvill RENEWAL
Tony M PoquetteAustraliaBernardo Dominic RENEWAL
Tony I WhobreyGermanyOnyama Limba QUALIFIED
Ivar Z SlusarskiJapanOnyama Limba UNQUALIFIED
Darci S VenereFranceElwin Sharvill NEW
Maisha S KolmetzCanadaElwin Sharvill NEW
Jeanfrancois Z SlusarskiRussiaBernardo Dominic NEGOTIATION
Munro C FlosiAustraliaIoni Bowcher NEGOTIATION
Leja Y MarrierJapanBernardo Dominic RENEWAL
Jefferson S DoeBrazilStephen Shaw QUALIFIED
Deepesh D ShinkoJapanAsiya Javayant PROPOSAL
Jones D StensethIndiaStephen Shaw QUALIFIED
Aditya M FlosiJapanElwin Sharvill QUALIFIED
Deepesh W NickaFranceIoni Bowcher PROPOSAL
Emily P IturbideSpainIoni Bowcher QUALIFIED
Jones F StensethRussiaIvan Magalhaes RENEWAL
Izzy E PaprockiAustraliaXuxue Feng NEW
Johnson U VocelkaAustraliaAsiya Javayant NEW
Stacey K ChuiUnited KingdomOnyama Limba NEGOTIATION
Morrow G GillianAustraliaStephen Shaw UNQUALIFIED
Clifford M NickaSpainAsiya Javayant RENEWAL
Maria J CaudyArgentinaIvan Magalhaes NEW
Maria Q VenereAustraliaXuxue Feng UNQUALIFIED
Octavia B GillianItalyXuxue Feng NEW
Kaitlin N GlickAustraliaBernardo Dominic NEW
Darci P RimAustraliaStephen Shaw NEW
Munro Q InouyeSpainStephen Shaw RENEWAL
Deepesh N NickaIndiaOnyama Limba UNQUALIFIED
Greenwood A IturbideBrazilAnna Fali UNQUALIFIED
Costa I CaudyRussiaIvan Magalhaes RENEWAL
Arvin R AmigonArgentinaXuxue Feng UNQUALIFIED
Ricardo H RulapaughCanadaXuxue Feng NEGOTIATION
Rodrigues S RulapaughAustraliaBernardo Dominic PROPOSAL
Leja N WieserFranceElwin Sharvill NEW
Aika A BowleyCanadaOnyama Limba NEW
Ashley O ButtItalyAmy Elsner NEGOTIATION
Chavez A GlickAustraliaElwin Sharvill QUALIFIED
Francesco B VocelkaCanadaXuxue Feng QUALIFIED
Isabel H InouyeUnited KingdomElwin Sharvill NEW
Ivar K WaycottSpainOnyama Limba RENEWAL
Costa U VenereArgentinaXuxue Feng QUALIFIED
Alejandro V GlickIndiaBernardo Dominic NEGOTIATION
Maria S WhobreyAustraliaOnyama Limba NEW
Wickens P StockhamUnited KingdomAmy Elsner QUALIFIED
Cody P MaletArgentinaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
David W Figeroa
Aika X Figeroa
Smith X Caldarera
Mayumi U Marrier
Munro R Kusko
Aika U Maclead
Sinclair D Vocelka
Deepesh Z Bowley
Faith U Garufi
Smith X Nestle
Kaitlin R Bolognia
Octavia W Tollner
Deepesh L Dilliard
Antonio Q Morasca
Mayumi A Maclead
Munro Z Nestle
Juan L Schemmer
Smith D Schemmer
Aruna P Tollner
Aika G Glick
Tony P Tollner
Deepesh U Dilliard
Julie M Maclead
Arvin U Ferencz
Cody Q Briddick
James P Bowley
Deepesh Y Glick
Munro S Saylors
Maisha V Caudy
Alejandro R Waycott
Ricardo E Albares
Emily V Marrier
Jennifer L Stenseth
Sinclair P Stenseth
Misaki X Garufi
Ricardo U Nicka
Octavia E Chui
Tony B Saylors
Salvatore C Darakjy
Murillo Q Paprocki
Jones M Poquette
Johnson Y Caldarera
Rodrigues T Bowley
Jones O Dilliard
Leon K Poquette
Greenwood E Briddick
Nicolas U Tollner
David X Royster
Adams M Schemmer
Smith F Perin
IdCountryDate
1000Argentina2025-04-06
1001France2025-04-11
1002Brazil2025-04-06
1003France2025-04-28
1004Australia2025-04-11
1005Spain2025-04-30
1006India2025-04-07
1007France2025-04-07
1008Australia2025-04-03
1009United Kingdom2025-04-14
1010Australia2025-04-30
1011Japan2025-04-22
1012Australia2025-04-09
1013Brazil2025-04-01
1014Brazil2025-04-23
1015Argentina2025-04-25
1016United Kingdom2025-04-29
1017United Kingdom2025-04-01
1018United Kingdom2025-04-05
1019France2025-04-18
1020Japan2025-04-26
1021Germany2025-04-29
1022United Kingdom2025-04-17
1023Japan2025-04-04
1024Canada2025-04-17
1025Germany2025-04-28
1026Canada2025-04-20
1027India2025-04-28
1028Argentina2025-04-23
1029Australia2025-04-22
1030United Kingdom2025-04-02
1031United Kingdom2025-04-07
1032Spain2025-04-07
1033Spain2025-04-27
1034Canada2025-04-12
1035India2025-04-27
1036Japan2025-04-29
1037Japan2025-04-27
1038Australia2025-04-28
1039Germany2025-04-14
1040Germany2025-04-30
1041India2025-04-05
1042Russia2025-04-20
1043Germany2025-04-12
1044Germany2025-04-16
1045Argentina2025-04-14
1046Italy2025-04-03
1047United Kingdom2025-04-06
1048Australia2025-04-28
1049Spain2025-04-09

On-Demand Data

NameIdCountryDate
Darci G Gaucho1000United Kingdom2025-04-18
Arvin W Morasca1001Japan2025-04-02
Leja F Nestle1002Russia2025-04-10
Izzy G Ruta1003Japan2025-04-04
Silvio M Shinko1004Spain2025-04-22
Aika W Foller1005Russia2025-04-17
Alejandro A Rim1006Japan2025-04-27
Morrow T Darakjy1007Argentina2025-04-30
Aika Q Royster1008France2025-04-30
Darci T Doe1009Australia2025-04-20
Ashley B Perin1010France2025-04-12
Misaki S Inouye1011Australia2025-04-04
Ricardo O Nicka1012Argentina2025-04-17
Johnson Y Briddick1013Italy2025-04-09
Rodrigues S Iturbide1014India2025-04-20
Antonio M Figeroa1015France2025-04-03
James W Ostrosky1016United Kingdom2025-04-02
Juan E Flosi1017Russia2025-04-26
Claire B Glick1018India2025-04-06
Wickens U Kolmetz1019France2025-04-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez F CaudyBrazilIoni Bowcher NEGOTIATION
Jefferson S PoquetteFranceAsiya Javayant NEGOTIATION
Adams B GlickCanadaOnyama Limba RENEWAL
David P FigeroaIndiaIoni Bowcher PROPOSAL
Sinclair P StockhamFranceIvan Magalhaes QUALIFIED
Ivar F BriddickBrazilBernardo Dominic NEGOTIATION
Costa U CaldareraAustraliaIvan Magalhaes PROPOSAL
Johnson Y MorascaAustraliaXuxue Feng RENEWAL
Arvin B BologniaSpainElwin Sharvill PROPOSAL
Maisha W CampainIndiaOnyama Limba UNQUALIFIED
Stacey S PerinCanadaElwin Sharvill PROPOSAL
Stacey X DilliardGermanyIvan Magalhaes NEGOTIATION
Greenwood B KolmetzAustraliaStephen Shaw NEGOTIATION
Isabel X GarufiArgentinaXuxue Feng NEW
Francesco L FigeroaRussiaElwin Sharvill RENEWAL
Clifford B FerenczBrazilAnna Fali RENEWAL
Clifford S BriddickAustraliaBernardo Dominic PROPOSAL
Sinclair Q MacleadFranceStephen Shaw NEW
Stacey W IturbideUnited KingdomIvan Magalhaes PROPOSAL
Aruna Y KuskoSpainStephen Shaw RENEWAL
Jennifer R MarrierUnited KingdomIoni Bowcher QUALIFIED
Antonio C OstroskyCanadaAnna Fali UNQUALIFIED
Tony P WhobreyAustraliaIvan Magalhaes QUALIFIED
Leja A RulapaughSpainAnna Fali NEW
Francesco R GarufiBrazilAmy Elsner RENEWAL
Aika B GarufiAustraliaIvan Magalhaes PROPOSAL
Emily X TollnerRussiaAsiya Javayant NEW
Leja Y NestleGermanyAsiya Javayant NEGOTIATION
Aika V VocelkaJapanIvan Magalhaes RENEWAL
Sinclair U FigeroaCanadaAsiya Javayant RENEWAL
Smith D VocelkaRussiaOnyama Limba NEW
David F StensethUnited KingdomAmy Elsner UNQUALIFIED
Octavia A VenereFranceAsiya Javayant NEGOTIATION
Murillo Q NickaGermanyElwin Sharvill RENEWAL
Kaitlin M CaudyGermanyBernardo Dominic QUALIFIED
Julie D MaletGermanyOnyama Limba RENEWAL
Leon T FollerIndiaAmy Elsner RENEWAL
Francesco P NestleIndiaOnyama Limba PROPOSAL
Chavez X WieserArgentinaXuxue Feng RENEWAL
Nicolas J OstroskyIndiaAsiya Javayant 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>