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
Nicolas P MaletAustraliaBernardo Dominic UNQUALIFIED
Silvio M SaylorsBrazilElwin Sharvill PROPOSAL
Juan R CampainGermanyAmy Elsner UNQUALIFIED
Claire F StensethUnited KingdomAnna Fali RENEWAL
David Z DoeArgentinaElwin Sharvill UNQUALIFIED
Isabel G RutaRussiaIvan Magalhaes RENEWAL
Sinclair V GarufiBrazilBernardo Dominic NEW
Kaitlin T PaprockiItalyBernardo Dominic RENEWAL
Misaki U InouyeIndiaAmy Elsner NEGOTIATION
Clifford P BologniaRussiaOnyama Limba PROPOSAL
Isabel Z WhobreyFranceOnyama Limba RENEWAL
Rodrigues Q MarrierJapanAmy Elsner PROPOSAL
Isabel K RulapaughSpainStephen Shaw RENEWAL
Mujtaba K RutaJapanIvan Magalhaes RENEWAL
Alejandro J PerinAustraliaIvan Magalhaes RENEWAL
Smith K SchemmerIndiaAmy Elsner NEW
Jennifer F MacleadArgentinaIoni Bowcher PROPOSAL
Greenwood P MaletFranceAsiya Javayant UNQUALIFIED
Adams E BologniaJapanOnyama Limba PROPOSAL
Stacey Y WhobreyUnited KingdomIvan Magalhaes RENEWAL
Sinclair X SchemmerSpainAmy Elsner UNQUALIFIED
Ivar D OldroydUnited KingdomXuxue Feng NEW
Chavez T PaprockiGermanyStephen Shaw PROPOSAL
Johnson O MorascaUnited KingdomAsiya Javayant NEW
Aruna Q FigeroaSpainIoni Bowcher NEGOTIATION
Adams M PerinBrazilIoni Bowcher NEW
Murillo X SlusarskiIndiaOnyama Limba NEW
Aruna C SaylorsJapanAmy Elsner RENEWAL
Leon G RulapaughJapanIoni Bowcher NEW
Izzy E FerenczArgentinaBernardo Dominic RENEWAL
Chavez D BologniaArgentinaXuxue Feng NEW
Adams H GlickArgentinaXuxue Feng UNQUALIFIED
Jennifer T GillianRussiaOnyama Limba NEW
Antonio J CampainArgentinaAmy Elsner PROPOSAL
Jones I MorascaArgentinaXuxue Feng NEW
Isabel F AlbaresSpainBernardo Dominic NEGOTIATION
Aika I StockhamUnited KingdomAmy Elsner PROPOSAL
Julie U InouyeIndiaAmy Elsner NEW
Deepesh G FigeroaRussiaAsiya Javayant RENEWAL
Salvatore O VenereBrazilAsiya Javayant NEGOTIATION
Morrow M KolmetzJapanOnyama Limba QUALIFIED
Maisha F RulapaughBrazilAsiya Javayant RENEWAL
Arvin C InouyeFranceStephen Shaw PROPOSAL
James Z CampainBrazilAnna Fali QUALIFIED
Jefferson B CampainItalyElwin Sharvill QUALIFIED
Mayumi O RutaArgentinaIoni Bowcher NEGOTIATION
Alejandro J BriddickArgentinaIoni Bowcher RENEWAL
Julie A KuskoRussiaXuxue Feng NEGOTIATION
Mujtaba W MaletFranceAmy Elsner QUALIFIED
James Q DoeAustraliaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Tony K CaudyFranceAsiya Javayant NEGOTIATION
Jennifer Q WieserJapanIoni Bowcher NEGOTIATION
Faith M FerenczCanadaAnna Fali PROPOSAL
Antonio B CampainAustraliaElwin Sharvill NEGOTIATION
Murillo B KuskoArgentinaXuxue Feng PROPOSAL
Mayumi J StockhamRussiaAmy Elsner QUALIFIED
David I GarufiArgentinaAnna Fali NEW
Maisha N RimArgentinaOnyama Limba QUALIFIED
Clifford X MaletItalyAnna Fali QUALIFIED
Arvin Q GauchoItalyOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson T WaycottCanada2025-04-12Feiner Bros NEGOTIATION11Bernardo Dominic
1001Kaitlin X VocelkaSpain2025-04-05King, Christopher A Esq PROPOSAL34Elwin Sharvill
1002Kadeem J FlosiUnited Kingdom2025-04-29Chemel, James L Cpa QUALIFIED68Ivan Magalhaes
1003Antonio B NickaIndia2025-04-18Chanay, Jeffrey A Esq QUALIFIED63Ivan Magalhaes
1004Adams G AlbaresItaly2025-04-06Chanay, Jeffrey A Esq QUALIFIED27Ivan Magalhaes
1005Salvatore O FollerItaly2025-04-11Truhlar And Truhlar Attys PROPOSAL28Elwin Sharvill
1006Leja E GlickFrance2025-04-11Truhlar And Truhlar Attys QUALIFIED44Ioni Bowcher
1007Izzy J SlusarskiRussia2025-04-16Feiner Bros UNQUALIFIED35Ioni Bowcher
1008Clifford A WieserItaly2025-04-21Morlong Associates PROPOSAL92Amy Elsner
1009Mayumi K ButtBrazil2025-04-25Buckley Miller Wright NEW62Asiya Javayant
1010Adams R CaldareraAustralia2025-04-07Feiner Bros NEW67Ioni Bowcher
1011Kaitlin Q KolmetzRussia2025-04-03Feltz Printing Service UNQUALIFIED29Elwin Sharvill
1012Nicolas T BriddickFrance2025-04-02Commercial Press RENEWAL75Stephen Shaw
1013James Z FerenczArgentina2025-04-26Rangoni Of Florence PROPOSAL71Anna Fali
1014Antonio O SlusarskiGermany2025-04-18Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1015Sinclair S PaprockiArgentina2025-04-21Chapman, Ross E Esq PROPOSAL37Elwin Sharvill
1016Claire I SaylorsAustralia2025-04-28King, Christopher A Esq NEW54Asiya Javayant
1017Greenwood R GarufiBrazil2025-04-02Buckley Miller Wright RENEWAL58Ivan Magalhaes
1018Antonio S FerenczArgentina2025-04-19Benton, John B Jr QUALIFIED9Bernardo Dominic
1019Juan W InouyeSpain2025-04-29Printing Dimensions NEW71Ioni Bowcher
1020Mayumi Z WaycottJapan2025-04-19Feltz Printing Service UNQUALIFIED19Ioni Bowcher
1021Murillo M RulapaughAustralia2025-04-05Chapman, Ross E Esq NEGOTIATION68Xuxue Feng
1022Leja Q VocelkaJapan2025-04-21King, Christopher A Esq PROPOSAL67Anna Fali
1023Johnson D BowleyUnited Kingdom2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED74Onyama Limba
1024Misaki C StensethIndia2025-04-15Feltz Printing Service UNQUALIFIED67Anna Fali
1025Jennifer R GarufiArgentina2025-04-13Chanay, Jeffrey A Esq RENEWAL60Anna Fali
1026Jennifer U MaletJapan2025-04-28Chapman, Ross E Esq UNQUALIFIED91Amy Elsner
1027Darci V DilliardUnited Kingdom2025-04-29Dorl, James J Esq NEGOTIATION26Elwin Sharvill
1028Murillo L WhobreyAustralia2025-04-24Rousseaux, Michael Esq QUALIFIED26Elwin Sharvill
1029Misaki V GlickFrance2025-04-16Chemel, James L Cpa NEW51Stephen Shaw
1030Adams Y ButtAustralia2025-04-15Morlong Associates NEW19Amy Elsner
1031Costa Q GarufiSpain2025-04-02Buckley Miller Wright NEW30Ioni Bowcher
1032Chavez N RutaUnited Kingdom2025-04-04Feiner Bros UNQUALIFIED75Elwin Sharvill
1033James S TollnerUnited Kingdom2025-04-12Benton, John B Jr PROPOSAL22Ivan Magalhaes
1034Julie O ShinkoRussia2025-04-05Chapman, Ross E Esq QUALIFIED6Ivan Magalhaes
1035Octavia V RutaSpain2025-04-26Commercial Press NEGOTIATION43Elwin Sharvill
1036Misaki J MarrierSpain2025-04-19Commercial Press QUALIFIED86Anna Fali
1037Jennifer S KolmetzGermany2025-04-09Rousseaux, Michael Esq NEGOTIATION94Onyama Limba
1038David P PoquetteItaly2025-04-08Chapman, Ross E Esq NEW86Stephen Shaw
1039Izzy W RulapaughCanada2025-04-14Truhlar And Truhlar Attys RENEWAL56Elwin Sharvill
1040James B PoquetteGermany2025-04-10Morlong Associates RENEWAL73Stephen Shaw
1041Mujtaba I MaletJapan2025-04-05Truhlar And Truhlar Attys RENEWAL12Ioni Bowcher
1042Arvin J GlickIndia2025-04-07Chapman, Ross E Esq NEW23Bernardo Dominic
1043Antonio O MorascaFrance2025-04-02Commercial Press QUALIFIED6Xuxue Feng
1044Mujtaba Z DarakjyFrance2025-04-12Dorl, James J Esq UNQUALIFIED23Amy Elsner
1045Emily Y DarakjyRussia2025-04-26Benton, John B Jr UNQUALIFIED94Amy Elsner
1046Alejandro I RimAustralia2025-04-30King, Christopher A Esq RENEWAL55Onyama Limba
1047Arvin C KuskoArgentina2025-04-10Feltz Printing Service QUALIFIED57Stephen Shaw
1048Munro T AlbaresRussia2025-04-21Chapman, Ross E Esq RENEWAL56Anna Fali
1049Greenwood L NestleFrance2025-04-21Dorl, James J Esq RENEWAL70Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leja W VocelkaRussiaElwin Sharvill PROPOSAL
Francesco O BriddickItalyAmy Elsner PROPOSAL
Jennifer E WieserCanadaElwin Sharvill RENEWAL
Claire T KuskoRussiaStephen Shaw NEW
Cody V RutaRussiaIoni Bowcher RENEWAL
Ricardo R WaycottIndiaXuxue Feng NEW
Munro E MacleadGermanyBernardo Dominic NEW
Francesco A BriddickJapanIvan Magalhaes UNQUALIFIED
Aika K PoquetteArgentinaAmy Elsner UNQUALIFIED
Leon R MarrierSpainIoni Bowcher NEGOTIATION
Sinclair W DoeArgentinaStephen Shaw QUALIFIED
Murillo E FlosiArgentinaElwin Sharvill UNQUALIFIED
Murillo H StockhamFranceStephen Shaw NEGOTIATION
Mujtaba Z MaletGermanyAsiya Javayant QUALIFIED
Aditya M ShinkoArgentinaAmy Elsner NEW
Deepesh U WieserItalyBernardo Dominic PROPOSAL
Jeanfrancois G MacleadFranceElwin Sharvill PROPOSAL
Maisha J GlickGermanyAnna Fali NEGOTIATION
Faith C PerinJapanAmy Elsner RENEWAL
Isabel P DilliardIndiaBernardo Dominic PROPOSAL
Morrow E GlickGermanyAsiya Javayant NEW
Faith X StockhamJapanIoni Bowcher QUALIFIED
Jefferson R PaprockiFranceBernardo Dominic UNQUALIFIED
Rodrigues B CaudyAustraliaXuxue Feng NEW
Mujtaba W RulapaughCanadaAmy Elsner NEGOTIATION
Adams A AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Leja L FerenczGermanyIvan Magalhaes PROPOSAL
James K NestleRussiaOnyama Limba NEGOTIATION
Jeanfrancois O RulapaughIndiaXuxue Feng UNQUALIFIED
Maria G CaldareraItalyBernardo Dominic PROPOSAL
Octavia B WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna T AmigonUnited KingdomStephen Shaw NEW
Emily N FlosiUnited KingdomBernardo Dominic NEGOTIATION
Ricardo R DoeArgentinaOnyama Limba QUALIFIED
Octavia I GillianRussiaAsiya Javayant NEW
Leon P PoquetteSpainIvan Magalhaes QUALIFIED
David S ChuiGermanyElwin Sharvill NEW
Murillo O WhobreyRussiaXuxue Feng UNQUALIFIED
Maisha Q DoeIndiaAnna Fali QUALIFIED
Munro H MaletRussiaOnyama Limba RENEWAL
Juan M CaldareraCanadaAsiya Javayant NEGOTIATION
Silvio O FollerItalyIoni Bowcher QUALIFIED
Jeanfrancois K RimIndiaAsiya Javayant RENEWAL
Cody V MorascaAustraliaAnna Fali UNQUALIFIED
Silvio O CampainUnited KingdomElwin Sharvill RENEWAL
Kaitlin C KolmetzBrazilStephen Shaw NEW
Juan K WieserSpainElwin Sharvill PROPOSAL
Costa J FlosiUnited KingdomStephen Shaw NEGOTIATION
Leon J OstroskyRussiaAnna Fali PROPOSAL
Maisha T RimFranceIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Izzy Q Paprocki
Francesco S Iturbide
Aditya Q Bowley
Kaitlin M Tollner
Stacey B Perin
Wickens U Marrier
Sinclair M Darakjy
Octavia O Shinko
Morrow N Flosi
Octavia N Slusarski
Juan H Foller
Salvatore Z Shinko
Rodrigues D Shinko
Maisha Y Morasca
Julie U Glick
Isabel D Glick
Kaitlin H Stockham
Aika R Butt
Smith D Flosi
Jennifer T Vocelka
Juan S Waycott
Aruna L Saylors
Mujtaba B Amigon
Morrow S Kolmetz
Mayumi A Venere
Kaitlin N Marrier
Maria R Rulapaugh
James H Caudy
Sinclair R Slusarski
Nicolas F Saylors
Jefferson F Bowley
Maria E Maclead
Leja H Briddick
Rodrigues M Darakjy
Aditya F Foller
Darci O Darakjy
Munro W Rulapaugh
Morrow C Stenseth
Isabel H Flosi
Sinclair O Ruta
Leon J Inouye
Morrow P Nicka
Greenwood L Gillian
Maria O Marrier
Chavez U Kolmetz
Arvin Y Stockham
Francesco G Briddick
Morrow D Foller
Jeanfrancois M Gillian
Cody V Inouye
IdCountryDate
1000France2025-04-02
1001Italy2025-04-22
1002Australia2025-04-28
1003Spain2025-04-27
1004Australia2025-04-30
1005Australia2025-04-07
1006Japan2025-04-11
1007Russia2025-04-20
1008Japan2025-04-23
1009Brazil2025-04-15
1010Spain2025-04-07
1011Spain2025-04-18
1012India2025-04-10
1013Argentina2025-04-17
1014Spain2025-04-13
1015Spain2025-04-02
1016Italy2025-04-26
1017Spain2025-04-11
1018Italy2025-04-19
1019Japan2025-04-22
1020Germany2025-04-22
1021Italy2025-04-23
1022India2025-04-01
1023France2025-04-01
1024Spain2025-04-25
1025Italy2025-04-22
1026India2025-04-24
1027Japan2025-04-09
1028Russia2025-04-27
1029Russia2025-04-02
1030Italy2025-04-27
1031Canada2025-04-26
1032India2025-04-29
1033Canada2025-04-02
1034United Kingdom2025-04-24
1035India2025-04-09
1036United Kingdom2025-04-30
1037Italy2025-04-13
1038Canada2025-04-23
1039United Kingdom2025-04-07
1040United Kingdom2025-04-06
1041Italy2025-04-20
1042Japan2025-04-24
1043Brazil2025-04-10
1044Russia2025-04-17
1045Argentina2025-04-19
1046Italy2025-04-21
1047Canada2025-04-17
1048Spain2025-04-08
1049Japan2025-04-05

On-Demand Data

NameIdCountryDate
Morrow A Gaucho1000Italy2025-04-21
Isabel B Gaucho1001Russia2025-04-01
Smith K Waycott1002Brazil2025-04-16
Leon B Ostrosky1003Australia2025-04-23
Sinclair S Morasca1004Australia2025-04-17
Stacey S Iturbide1005France2025-04-14
Misaki P Royster1006United Kingdom2025-04-24
Adams N Ostrosky1007Italy2025-04-12
Kaitlin S Garufi1008Spain2025-04-13
Munro O Bolognia1009India2025-04-30
Murillo D Bowley1010United Kingdom2025-04-06
Maisha K Morasca1011Canada2025-04-23
Aika I Chui1012Brazil2025-04-15
Salvatore C Stockham1013India2025-04-20
Jeanfrancois U Ostrosky1014United Kingdom2025-04-09
Chavez R Marrier1015Germany2025-04-20
Faith H Maclead1016India2025-04-30
Misaki H Caudy1017France2025-04-20
Leja N Albares1018United Kingdom2025-04-03
Costa N Figeroa1019Spain2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody F OldroydUnited KingdomAmy Elsner PROPOSAL
Leja W VenereArgentinaAmy Elsner UNQUALIFIED
Tony R NestleSpainXuxue Feng RENEWAL
Kaitlin X FlosiItalyAnna Fali NEGOTIATION
Nicolas X OstroskyCanadaAmy Elsner NEGOTIATION
Emily L RutaUnited KingdomOnyama Limba PROPOSAL
Aditya U PoquetteBrazilOnyama Limba UNQUALIFIED
Deepesh J CaldareraRussiaOnyama Limba NEGOTIATION
Leon A PoquetteIndiaIoni Bowcher UNQUALIFIED
Darci F ChuiBrazilIoni Bowcher RENEWAL
Smith U GarufiFranceBernardo Dominic QUALIFIED
Johnson N FollerCanadaElwin Sharvill NEGOTIATION
Misaki V IturbideGermanyStephen Shaw PROPOSAL
Silvio K PoquetteSpainBernardo Dominic PROPOSAL
Octavia Q SchemmerCanadaElwin Sharvill RENEWAL
Juan J FlosiAustraliaAsiya Javayant UNQUALIFIED
Izzy T PerinCanadaIvan Magalhaes NEGOTIATION
Johnson V DilliardArgentinaOnyama Limba RENEWAL
Aditya Q DilliardAustraliaIvan Magalhaes UNQUALIFIED
Claire B SergiJapanAsiya Javayant RENEWAL
Octavia W DoeItalyElwin Sharvill UNQUALIFIED
Clifford G WhobreyArgentinaBernardo Dominic PROPOSAL
Izzy F MaletIndiaBernardo Dominic QUALIFIED
Izzy Q SergiIndiaAnna Fali NEW
James G MorascaSpainXuxue Feng QUALIFIED
Kaitlin K GillianJapanIoni Bowcher NEGOTIATION
Aditya Y InouyeRussiaElwin Sharvill RENEWAL
Stacey V InouyeSpainBernardo Dominic QUALIFIED
Faith R FlosiCanadaAsiya Javayant NEW
Aruna B BologniaCanadaOnyama Limba UNQUALIFIED
Nicolas S KolmetzRussiaAnna Fali NEW
Jeanfrancois R FerenczItalyStephen Shaw UNQUALIFIED
Jeanfrancois L ChuiRussiaXuxue Feng UNQUALIFIED
Murillo E FigeroaArgentinaOnyama Limba PROPOSAL
Silvio Z SlusarskiJapanElwin Sharvill QUALIFIED
Faith R KuskoGermanyXuxue Feng RENEWAL
Ricardo Z WaycottBrazilIvan Magalhaes NEW
Jones V WaycottArgentinaStephen Shaw PROPOSAL
Morrow D SergiBrazilIoni Bowcher UNQUALIFIED
Jefferson U MaletJapanXuxue Feng NEW

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