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
Octavia X IturbideIndiaAsiya Javayant QUALIFIED
Maisha U SergiAustraliaIoni Bowcher UNQUALIFIED
Aruna O DilliardIndiaBernardo Dominic QUALIFIED
Cody Y PaprockiUnited KingdomAnna Fali UNQUALIFIED
Leon O VocelkaUnited KingdomOnyama Limba UNQUALIFIED
Stacey H AlbaresGermanyElwin Sharvill UNQUALIFIED
Ashley S TollnerItalyOnyama Limba PROPOSAL
Smith S ButtRussiaOnyama Limba RENEWAL
Tony R VenereArgentinaOnyama Limba RENEWAL
Arvin W MorascaGermanyAnna Fali NEW
Francesco H VenereRussiaAsiya Javayant UNQUALIFIED
Silvio M GarufiRussiaOnyama Limba QUALIFIED
Octavia D FollerJapanOnyama Limba NEGOTIATION
Smith J KolmetzFranceAnna Fali NEGOTIATION
Jennifer T RimArgentinaElwin Sharvill UNQUALIFIED
Juan R NickaUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood P InouyeBrazilAnna Fali RENEWAL
Morrow O TollnerItalyAsiya Javayant UNQUALIFIED
Silvio K BologniaGermanyElwin Sharvill NEGOTIATION
Maria F BologniaItalyStephen Shaw QUALIFIED
Jefferson U StensethJapanElwin Sharvill NEGOTIATION
Clifford D TollnerAustraliaAnna Fali PROPOSAL
Darci C RulapaughJapanStephen Shaw NEW
Greenwood Z FlosiGermanyAsiya Javayant PROPOSAL
Faith M AmigonUnited KingdomAsiya Javayant RENEWAL
David P DilliardJapanAmy Elsner UNQUALIFIED
Adams E FollerJapanAmy Elsner NEGOTIATION
Adams U MaletRussiaIoni Bowcher UNQUALIFIED
Julie X MorascaFranceBernardo Dominic RENEWAL
Rodrigues O RoysterBrazilElwin Sharvill PROPOSAL
Aditya E InouyeRussiaIvan Magalhaes RENEWAL
Mayumi I KolmetzAustraliaElwin Sharvill PROPOSAL
Tony X WaycottAustraliaBernardo Dominic QUALIFIED
Munro J RutaIndiaAsiya Javayant QUALIFIED
Faith I MaletFranceIoni Bowcher RENEWAL
Juan D SaylorsIndiaAsiya Javayant NEGOTIATION
Murillo C SlusarskiRussiaXuxue Feng PROPOSAL
Aruna A ShinkoBrazilStephen Shaw PROPOSAL
Isabel Z CampainJapanBernardo Dominic PROPOSAL
Antonio S ShinkoUnited KingdomAmy Elsner RENEWAL
Kaitlin F RimCanadaElwin Sharvill NEW
Leon B BriddickJapanElwin Sharvill PROPOSAL
Claire N SaylorsFranceAmy Elsner RENEWAL
Antonio O NestleSpainElwin Sharvill NEW
Rodrigues T BriddickBrazilBernardo Dominic PROPOSAL
Jeanfrancois Q RulapaughUnited KingdomBernardo Dominic QUALIFIED
Ashley T GauchoFranceOnyama Limba NEW
Munro A KolmetzRussiaAsiya Javayant PROPOSAL
Mayumi O WieserSpainAmy Elsner UNQUALIFIED
Costa A RutaRussiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood A VocelkaAustraliaElwin Sharvill UNQUALIFIED
Isabel D WhobreyRussiaBernardo Dominic NEGOTIATION
Isabel X TollnerBrazilElwin Sharvill QUALIFIED
Alejandro I StensethIndiaStephen Shaw NEGOTIATION
Arvin X FlosiSpainXuxue Feng UNQUALIFIED
Emily C ShinkoItalyAnna Fali PROPOSAL
Wickens V MaletCanadaIoni Bowcher NEW
Silvio D RutaUnited KingdomAsiya Javayant NEW
Aika T IturbideRussiaOnyama Limba NEGOTIATION
Maisha M MacleadUnited KingdomIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer C KuskoSpain2024-06-02Dorl, James J Esq UNQUALIFIED50Ivan Magalhaes
1001Jennifer V BriddickFrance2024-06-18King, Christopher A Esq RENEWAL1Stephen Shaw
1002Clifford L OldroydUnited Kingdom2024-06-07Truhlar And Truhlar Attys PROPOSAL78Ivan Magalhaes
1003Silvio M FollerUnited Kingdom2024-05-30Feiner Bros NEW2Amy Elsner
1004Deepesh E OldroydSpain2024-06-19Rousseaux, Michael Esq RENEWAL44Anna Fali
1005Faith F DarakjyGermany2024-06-06Feltz Printing Service UNQUALIFIED21Ioni Bowcher
1006Jefferson P VenereSpain2024-06-21Rousseaux, Michael Esq UNQUALIFIED13Anna Fali
1007David I BriddickCanada2024-05-31Buckley Miller Wright QUALIFIED67Asiya Javayant
1008Aika X PerinIndia2024-06-14Truhlar And Truhlar Attys NEGOTIATION29Anna Fali
1009Wickens G NickaArgentina2024-06-11Benton, John B Jr QUALIFIED25Amy Elsner
1010Morrow W MarrierUnited Kingdom2024-06-19Truhlar And Truhlar Attys NEW2Onyama Limba
1011Kaitlin O SaylorsAustralia2024-06-06King, Christopher A Esq UNQUALIFIED50Ivan Magalhaes
1012Leja U InouyeGermany2024-06-21Chemel, James L Cpa QUALIFIED82Bernardo Dominic
1013Johnson V MaletSpain2024-06-08Dorl, James J Esq NEW98Anna Fali
1014Rodrigues S AlbaresRussia2024-06-14King, Christopher A Esq UNQUALIFIED63Stephen Shaw
1015Cody X RulapaughIndia2024-06-12Feiner Bros NEW27Stephen Shaw
1016Wickens L VenereAustralia2024-06-04Chapman, Ross E Esq PROPOSAL59Onyama Limba
1017Jefferson N OldroydIndia2024-06-09Rangoni Of Florence NEW42Xuxue Feng
1018Nicolas U StensethArgentina2024-06-09Rangoni Of Florence QUALIFIED22Asiya Javayant
1019Darci S WaycottSpain2024-05-29Chanay, Jeffrey A Esq QUALIFIED3Anna Fali
1020Claire X SlusarskiGermany2024-06-06Chapman, Ross E Esq PROPOSAL48Elwin Sharvill
1021Misaki S ShinkoSpain2024-06-19King, Christopher A Esq RENEWAL49Asiya Javayant
1022Aditya H GarufiArgentina2024-06-19Rangoni Of Florence PROPOSAL40Ioni Bowcher
1023Aika A GauchoIndia2024-05-28Chemel, James L Cpa PROPOSAL26Bernardo Dominic
1024Morrow W StockhamItaly2024-05-26Rangoni Of Florence RENEWAL37Ioni Bowcher
1025Silvio U RimAustralia2024-05-31Benton, John B Jr QUALIFIED15Asiya Javayant
1026Antonio Z MorascaUnited Kingdom2024-05-26Benton, John B Jr NEGOTIATION1Xuxue Feng
1027Isabel P CaldareraGermany2024-06-05Benton, John B Jr NEW77Elwin Sharvill
1028Johnson F CampainSpain2024-05-28Chapman, Ross E Esq UNQUALIFIED73Ivan Magalhaes
1029Wickens I KuskoItaly2024-05-30King, Christopher A Esq QUALIFIED92Elwin Sharvill
1030Salvatore K WieserAustralia2024-06-10Printing Dimensions QUALIFIED1Xuxue Feng
1031Antonio X StensethJapan2024-06-17Chanay, Jeffrey A Esq PROPOSAL15Ioni Bowcher
1032Mujtaba Q DoeRussia2024-06-10Commercial Press RENEWAL50Elwin Sharvill
1033Francesco J SergiArgentina2024-05-28Commercial Press NEW18Anna Fali
1034Izzy B SlusarskiIndia2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED24Bernardo Dominic
1035Claire B OstroskyJapan2024-06-01Benton, John B Jr UNQUALIFIED25Amy Elsner
1036Emily F SaylorsBrazil2024-05-30Rousseaux, Michael Esq NEW22Onyama Limba
1037Jennifer U RutaCanada2024-05-29Commercial Press PROPOSAL60Ivan Magalhaes
1038Aruna G PaprockiBrazil2024-05-29Morlong Associates NEW40Anna Fali
1039Salvatore U StensethAustralia2024-06-21Feltz Printing Service NEW29Ivan Magalhaes
1040Chavez U WhobreyBrazil2024-05-30Buckley Miller Wright UNQUALIFIED8Ivan Magalhaes
1041Sinclair T ChuiIndia2024-06-18Chanay, Jeffrey A Esq PROPOSAL58Asiya Javayant
1042Morrow Q DilliardIndia2024-06-17Benton, John B Jr PROPOSAL22Bernardo Dominic
1043Wickens W FigeroaIndia2024-06-04Chanay, Jeffrey A Esq NEGOTIATION31Anna Fali
1044Ivar W CampainIndia2024-06-08Chapman, Ross E Esq QUALIFIED94Xuxue Feng
1045Francesco T KolmetzUnited Kingdom2024-06-19Commercial Press UNQUALIFIED47Onyama Limba
1046Kaitlin V SchemmerUnited Kingdom2024-06-15Benton, John B Jr NEW69Ioni Bowcher
1047Julie C MacleadCanada2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED20Ivan Magalhaes
1048Costa T NestleRussia2024-05-24Printing Dimensions QUALIFIED74Elwin Sharvill
1049Greenwood H GillianBrazil2024-06-18Chapman, Ross E Esq RENEWAL32Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Emily O ButtSpainAmy Elsner QUALIFIED
Tony H ChuiItalyAnna Fali UNQUALIFIED
Aditya C RutaItalyIoni Bowcher PROPOSAL
Faith X PaprockiCanadaIvan Magalhaes RENEWAL
Darci U RulapaughArgentinaBernardo Dominic PROPOSAL
Chavez V MacleadFranceIvan Magalhaes PROPOSAL
Adams L GlickFranceXuxue Feng UNQUALIFIED
Jones K SaylorsCanadaOnyama Limba NEGOTIATION
Greenwood F KolmetzCanadaXuxue Feng PROPOSAL
Leon X GillianRussiaStephen Shaw QUALIFIED
Adams H PoquetteBrazilIvan Magalhaes UNQUALIFIED
Morrow J MarrierAustraliaAmy Elsner RENEWAL
Arvin K CaudySpainOnyama Limba NEW
Tony T DoeUnited KingdomBernardo Dominic NEGOTIATION
Deepesh Q StensethCanadaIoni Bowcher NEW
Julie I GillianCanadaIoni Bowcher NEW
Julie U RimItalyIoni Bowcher NEGOTIATION
Stacey I MarrierArgentinaStephen Shaw RENEWAL
Cody V BowleyCanadaStephen Shaw UNQUALIFIED
Johnson V OstroskyItalyAnna Fali PROPOSAL
Ivar O ChuiFranceOnyama Limba QUALIFIED
Darci N DarakjyJapanOnyama Limba NEW
Clifford B BologniaArgentinaElwin Sharvill NEGOTIATION
Smith P NickaCanadaStephen Shaw NEGOTIATION
Rodrigues D WaycottFranceStephen Shaw PROPOSAL
Mayumi Z FollerFranceOnyama Limba QUALIFIED
Greenwood D OldroydArgentinaIvan Magalhaes UNQUALIFIED
Ricardo Y ShinkoRussiaStephen Shaw PROPOSAL
Jeanfrancois I NestleUnited KingdomIvan Magalhaes RENEWAL
Ivar J StensethCanadaAmy Elsner NEGOTIATION
Mujtaba U AlbaresAustraliaAmy Elsner NEW
Leon L KuskoGermanyAsiya Javayant NEGOTIATION
Emily O StockhamIndiaOnyama Limba NEGOTIATION
Aruna Z KuskoUnited KingdomElwin Sharvill NEGOTIATION
Morrow J RutaAustraliaBernardo Dominic PROPOSAL
Juan W FigeroaUnited KingdomAnna Fali UNQUALIFIED
Darci J MaletArgentinaIvan Magalhaes RENEWAL
Cody K RoysterSpainAmy Elsner UNQUALIFIED
Wickens G RoysterAustraliaElwin Sharvill UNQUALIFIED
Emily K MacleadGermanyAsiya Javayant NEGOTIATION
Salvatore L MacleadFranceAsiya Javayant RENEWAL
Silvio M KuskoSpainIvan Magalhaes UNQUALIFIED
Ivar F WieserFranceElwin Sharvill QUALIFIED
James U IturbideItalyXuxue Feng NEGOTIATION
Izzy O FlosiItalyAsiya Javayant UNQUALIFIED
Sinclair X FigeroaJapanOnyama Limba RENEWAL
David R BriddickGermanyXuxue Feng NEGOTIATION
Kaitlin K ShinkoIndiaOnyama Limba UNQUALIFIED
Munro J CaldareraRussiaXuxue Feng NEW
Jones N MacleadCanadaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Maria D Waycott
Julie M Foller
Juan C Garufi
Ivar F Maclead
Emily C Ruta
Munro R Tollner
Jones M Rulapaugh
Darci N Bolognia
Tony A Stockham
Deepesh V Stockham
Aditya C Nicka
Silvio X Nicka
Julie A Iturbide
Wickens E Gillian
Deepesh G Tollner
Aika F Stockham
Stacey H Darakjy
Mujtaba U Perin
Isabel K Malet
Mayumi Y Poquette
Rodrigues T Nicka
Stacey F Schemmer
Adams Q Caldarera
Clifford I Garufi
Munro V Garufi
Costa F Schemmer
Silvio T Dilliard
Jefferson M Perin
Juan O Briddick
Maisha W Flosi
Alejandro Z Slusarski
Johnson M Bowley
Stacey J Tollner
Antonio J Malet
Murillo I Gillian
Kadeem Q Vocelka
Claire R Ruta
Adams M Morasca
Emily Q Campain
Aruna B Darakjy
Tony U Marrier
Kadeem K Gillian
Aika Z Briddick
Julie I Chui
Aika P Flosi
Silvio A Morasca
David D Kolmetz
Smith D Morasca
Salvatore P Paprocki
Jones I Albares
IdCountryDate
1000Russia2024-06-13
1001Australia2024-06-03
1002Canada2024-06-17
1003Canada2024-05-31
1004Canada2024-06-13
1005Germany2024-05-31
1006Germany2024-06-20
1007France2024-05-28
1008Japan2024-06-19
1009Argentina2024-05-25
1010India2024-06-05
1011Russia2024-06-11
1012Italy2024-06-19
1013Australia2024-06-07
1014Spain2024-05-28
1015Brazil2024-05-31
1016France2024-06-15
1017Australia2024-06-01
1018Japan2024-06-22
1019Japan2024-06-16
1020Italy2024-05-24
1021Spain2024-06-06
1022Italy2024-06-16
1023Germany2024-05-31
1024Italy2024-06-22
1025Russia2024-06-05
1026India2024-06-11
1027Germany2024-06-15
1028Russia2024-06-13
1029Australia2024-06-22
1030Spain2024-05-24
1031Argentina2024-05-24
1032Canada2024-06-09
1033Italy2024-06-05
1034Russia2024-05-29
1035Spain2024-06-10
1036India2024-06-14
1037Spain2024-06-08
1038Spain2024-05-31
1039Spain2024-06-17
1040Canada2024-05-30
1041Australia2024-06-07
1042Russia2024-06-01
1043Canada2024-06-05
1044France2024-05-29
1045France2024-06-12
1046Australia2024-06-08
1047Spain2024-05-31
1048Spain2024-06-22
1049Brazil2024-06-03

On-Demand Data

NameIdCountryDate
David G Malet1000Australia2024-06-02
Morrow Y Bowley1001Canada2024-06-03
David Z Iturbide1002Japan2024-06-14
Ricardo D Gaucho1003Germany2024-06-09
Stacey G Ferencz1004Japan2024-06-10
Misaki E Gaucho1005Argentina2024-06-07
Antonio Y Flosi1006Spain2024-06-11
Murillo L Caudy1007Russia2024-06-07
Murillo J Stockham1008Spain2024-06-19
Salvatore C Sergi1009Spain2024-06-15
James S Gaucho1010Canada2024-06-08
Jennifer N Marrier1011Germany2024-06-03
Jeanfrancois L Gaucho1012France2024-06-09
Darci J Paprocki1013Canada2024-06-19
Ricardo Z Chui1014United Kingdom2024-05-25
Jones B Oldroyd1015Italy2024-06-11
Leja F Morasca1016Italy2024-06-17
Darci F Rulapaugh1017France2024-06-02
Izzy R Bowley1018India2024-06-02
Smith A Campain1019Canada2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow O MaletFranceAsiya Javayant QUALIFIED
Leja B WhobreyItalyAsiya Javayant NEGOTIATION
Francesco S IturbideCanadaXuxue Feng NEW
Izzy Z NickaRussiaAmy Elsner QUALIFIED
Aruna L NickaItalyIoni Bowcher RENEWAL
Aika Q RutaAustraliaBernardo Dominic RENEWAL
Maria X SchemmerRussiaOnyama Limba QUALIFIED
Francesco N DoeUnited KingdomIvan Magalhaes RENEWAL
Smith H WhobreyArgentinaXuxue Feng PROPOSAL
Arvin D VenereUnited KingdomAmy Elsner UNQUALIFIED
Aika N RoysterCanadaAmy Elsner NEW
Claire I SergiItalyXuxue Feng UNQUALIFIED
Mujtaba P MacleadFranceAsiya Javayant RENEWAL
Chavez A FlosiJapanOnyama Limba UNQUALIFIED
Stacey J StockhamItalyIoni Bowcher UNQUALIFIED
Alejandro W AlbaresRussiaOnyama Limba RENEWAL
Chavez J VenereAustraliaAnna Fali PROPOSAL
Alejandro P StensethUnited KingdomStephen Shaw PROPOSAL
Rodrigues N AlbaresRussiaAnna Fali RENEWAL
Mayumi H WaycottItalyAmy Elsner NEGOTIATION
Kaitlin C GauchoCanadaXuxue Feng NEGOTIATION
Johnson E MaletFranceElwin Sharvill QUALIFIED
Octavia X MaletItalyElwin Sharvill UNQUALIFIED
Ashley B FlosiCanadaOnyama Limba RENEWAL
Clifford O DoeCanadaIoni Bowcher UNQUALIFIED
Faith U GauchoFranceAmy Elsner UNQUALIFIED
Deepesh D ShinkoIndiaAsiya Javayant UNQUALIFIED
Julie Y SlusarskiGermanyIoni Bowcher PROPOSAL
Adams Q ShinkoItalyAnna Fali NEGOTIATION
Ivar E DoeFranceBernardo Dominic PROPOSAL
Johnson D CampainSpainAnna Fali NEW
Salvatore F PoquetteIndiaStephen Shaw NEGOTIATION
Wickens H SaylorsIndiaAmy Elsner QUALIFIED
Greenwood K MarrierSpainAnna Fali NEW
Wickens L FollerCanadaXuxue Feng PROPOSAL
Stacey U ChuiItalyAnna Fali NEGOTIATION
Antonio T GillianFranceStephen Shaw QUALIFIED
Clifford P ButtFranceAnna Fali UNQUALIFIED
Cody T AmigonRussiaBernardo Dominic RENEWAL
Smith Z MarrierJapanOnyama Limba QUALIFIED

<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>