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
Tony E FollerBrazilBernardo Dominic PROPOSAL
Maria W SergiIndiaAnna Fali NEW
Cody O ShinkoAustraliaAnna Fali RENEWAL
Leja Z TollnerBrazilIvan Magalhaes UNQUALIFIED
Cody L StensethArgentinaAnna Fali QUALIFIED
Ivar Y WhobreyFranceStephen Shaw PROPOSAL
Mujtaba B BologniaGermanyIoni Bowcher PROPOSAL
Smith C OldroydItalyXuxue Feng RENEWAL
James K MorascaBrazilIoni Bowcher NEGOTIATION
Sinclair B SergiRussiaAmy Elsner QUALIFIED
Clifford N BriddickUnited KingdomAsiya Javayant RENEWAL
James U DarakjyAustraliaIoni Bowcher NEGOTIATION
Costa D SergiRussiaOnyama Limba NEW
Misaki V GarufiAustraliaElwin Sharvill NEGOTIATION
Aruna F MacleadArgentinaAsiya Javayant NEW
Sinclair H BologniaAustraliaIoni Bowcher NEW
Jefferson L SaylorsArgentinaIoni Bowcher RENEWAL
Jones E MarrierArgentinaAnna Fali NEW
Aditya S MaletAustraliaOnyama Limba RENEWAL
Izzy Z IturbideJapanAsiya Javayant NEW
Jefferson X DilliardFranceElwin Sharvill UNQUALIFIED
Juan F KuskoCanadaElwin Sharvill NEGOTIATION
Silvio A WieserFranceIoni Bowcher UNQUALIFIED
Costa Q AlbaresUnited KingdomIoni Bowcher PROPOSAL
Wickens I MacleadAustraliaStephen Shaw PROPOSAL
Jennifer Q DarakjyAustraliaIoni Bowcher UNQUALIFIED
Deepesh Y RulapaughFranceOnyama Limba PROPOSAL
Costa T MaletIndiaElwin Sharvill QUALIFIED
Alejandro I BriddickArgentinaIvan Magalhaes QUALIFIED
Darci I SergiAustraliaStephen Shaw NEGOTIATION
Darci G SchemmerArgentinaAmy Elsner UNQUALIFIED
Leja L RutaAustraliaIoni Bowcher PROPOSAL
Aruna B OldroydGermanyElwin Sharvill UNQUALIFIED
Leon M KuskoJapanElwin Sharvill PROPOSAL
Murillo B WhobreyUnited KingdomAnna Fali NEGOTIATION
Wickens R WhobreyRussiaAmy Elsner PROPOSAL
Jones Y PaprockiUnited KingdomIoni Bowcher QUALIFIED
Ashley A ChuiGermanyBernardo Dominic QUALIFIED
James J SlusarskiFranceElwin Sharvill NEGOTIATION
Rodrigues G TollnerIndiaOnyama Limba PROPOSAL
Antonio K BriddickJapanElwin Sharvill PROPOSAL
Cody L StensethSpainAmy Elsner QUALIFIED
Faith M GarufiAustraliaAsiya Javayant UNQUALIFIED
Smith S CaudyGermanyAnna Fali NEW
Aditya A CampainUnited KingdomXuxue Feng PROPOSAL
Mayumi F TollnerFranceOnyama Limba NEW
Stacey J RulapaughRussiaIoni Bowcher QUALIFIED
Alejandro T MorascaIndiaIvan Magalhaes NEGOTIATION
Deepesh E WieserCanadaBernardo Dominic QUALIFIED
Francesco Z StensethItalyXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin P RutaIndiaAmy Elsner UNQUALIFIED
Leon P NickaCanadaIvan Magalhaes QUALIFIED
Octavia Y BowleyIndiaAsiya Javayant PROPOSAL
Sinclair Z GillianJapanIoni Bowcher NEW
Deepesh T RimAustraliaAmy Elsner RENEWAL
Ivar T MarrierBrazilStephen Shaw RENEWAL
Nicolas W FigeroaItalyStephen Shaw UNQUALIFIED
Murillo I DoeBrazilIvan Magalhaes PROPOSAL
Leon Y FollerGermanyXuxue Feng RENEWAL
Maria I WhobreyGermanyStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson C CampainJapan2024-06-06Morlong Associates UNQUALIFIED28Onyama Limba
1001Antonio Y BriddickGermany2024-05-26Rangoni Of Florence QUALIFIED14Asiya Javayant
1002Maria T GlickBrazil2024-06-16Benton, John B Jr NEW37Ivan Magalhaes
1003Cody N FollerArgentina2024-05-30Rangoni Of Florence NEW36Elwin Sharvill
1004Sinclair F GauchoIndia2024-05-24Chanay, Jeffrey A Esq QUALIFIED99Xuxue Feng
1005Jefferson V OldroydFrance2024-06-09Feiner Bros QUALIFIED95Onyama Limba
1006Kaitlin V ButtGermany2024-06-11Benton, John B Jr UNQUALIFIED0Ivan Magalhaes
1007Murillo P GillianArgentina2024-06-13Rousseaux, Michael Esq NEW51Asiya Javayant
1008Leja S VocelkaAustralia2024-06-02Rangoni Of Florence NEW23Bernardo Dominic
1009Aditya Y BriddickFrance2024-05-31Benton, John B Jr QUALIFIED85Onyama Limba
1010Johnson T RimBrazil2024-06-20King, Christopher A Esq RENEWAL57Xuxue Feng
1011Stacey C AmigonCanada2024-06-09Rousseaux, Michael Esq PROPOSAL82Xuxue Feng
1012Kaitlin I BriddickBrazil2024-05-30Morlong Associates UNQUALIFIED6Ioni Bowcher
1013Jefferson V BriddickCanada2024-06-04Chemel, James L Cpa NEW51Xuxue Feng
1014Wickens C BriddickItaly2024-06-12Rousseaux, Michael Esq QUALIFIED28Asiya Javayant
1015Wickens P RulapaughCanada2024-06-08Rousseaux, Michael Esq NEGOTIATION6Amy Elsner
1016Ivar F BriddickAustralia2024-06-07Rousseaux, Michael Esq UNQUALIFIED75Asiya Javayant
1017Maisha U GlickGermany2024-06-06Chanay, Jeffrey A Esq NEGOTIATION55Stephen Shaw
1018Rodrigues O SaylorsSpain2024-06-16Feiner Bros PROPOSAL32Asiya Javayant
1019Cody F SaylorsBrazil2024-06-15Feiner Bros NEGOTIATION46Ivan Magalhaes
1020Alejandro Z SlusarskiBrazil2024-05-27Benton, John B Jr RENEWAL63Ivan Magalhaes
1021Johnson W SergiSpain2024-06-03Chapman, Ross E Esq NEGOTIATION56Ivan Magalhaes
1022Jennifer S BowleyItaly2024-06-04Commercial Press NEW81Bernardo Dominic
1023Greenwood I GlickCanada2024-06-14King, Christopher A Esq NEGOTIATION20Asiya Javayant
1024Arvin I BowleySpain2024-05-27Chapman, Ross E Esq RENEWAL41Amy Elsner
1025Julie J WhobreyJapan2024-06-18Chanay, Jeffrey A Esq NEW82Onyama Limba
1026Isabel H MaletSpain2024-05-28Truhlar And Truhlar Attys NEGOTIATION14Xuxue Feng
1027Antonio O InouyeRussia2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED32Elwin Sharvill
1028Emily B DarakjyBrazil2024-05-31Chemel, James L Cpa RENEWAL32Asiya Javayant
1029Julie E MorascaSpain2024-06-20Chapman, Ross E Esq PROPOSAL7Amy Elsner
1030Deepesh X IturbideAustralia2024-06-19Feiner Bros NEW38Onyama Limba
1031Darci V VenereBrazil2024-06-10Truhlar And Truhlar Attys PROPOSAL10Bernardo Dominic
1032Adams E KolmetzFrance2024-05-27Chemel, James L Cpa NEGOTIATION77Xuxue Feng
1033Jones H InouyeGermany2024-06-06Chanay, Jeffrey A Esq NEGOTIATION97Elwin Sharvill
1034Aditya F ButtFrance2024-05-30Printing Dimensions NEW26Bernardo Dominic
1035Alejandro X OldroydIndia2024-06-22Morlong Associates RENEWAL18Amy Elsner
1036Jennifer N RutaBrazil2024-06-04Chanay, Jeffrey A Esq NEW43Xuxue Feng
1037Mayumi T VocelkaGermany2024-06-22Printing Dimensions NEW39Ioni Bowcher
1038Octavia X GlickIndia2024-05-27Feiner Bros NEGOTIATION36Ioni Bowcher
1039Alejandro K VocelkaJapan2024-06-09Dorl, James J Esq NEW59Onyama Limba
1040Sinclair Z FigeroaIndia2024-06-14Buckley Miller Wright RENEWAL70Amy Elsner
1041Isabel E GillianSpain2024-06-15Dorl, James J Esq QUALIFIED89Onyama Limba
1042James Z DilliardArgentina2024-06-07King, Christopher A Esq PROPOSAL7Onyama Limba
1043Jones Y ShinkoJapan2024-06-09Dorl, James J Esq QUALIFIED71Ivan Magalhaes
1044Jefferson L VocelkaRussia2024-06-08Truhlar And Truhlar Attys NEW62Amy Elsner
1045Greenwood H CampainAustralia2024-06-21Printing Dimensions PROPOSAL2Anna Fali
1046Wickens O OldroydIndia2024-06-03Dorl, James J Esq QUALIFIED49Xuxue Feng
1047Greenwood Y VenereJapan2024-06-10Buckley Miller Wright NEGOTIATION97Amy Elsner
1048Julie Q CampainArgentina2024-06-11Truhlar And Truhlar Attys PROPOSAL98Ioni Bowcher
1049Greenwood H NestleSpain2024-06-18Commercial Press UNQUALIFIED68Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas C BologniaArgentinaXuxue Feng RENEWAL
Jones E MacleadGermanyAmy Elsner NEW
Isabel L StockhamJapanElwin Sharvill NEGOTIATION
Alejandro U WaycottBrazilElwin Sharvill QUALIFIED
Alejandro K KuskoAustraliaIoni Bowcher NEW
Antonio J PerinFranceIvan Magalhaes UNQUALIFIED
James N InouyeAustraliaIoni Bowcher PROPOSAL
Juan C StockhamIndiaStephen Shaw RENEWAL
Costa A VocelkaJapanXuxue Feng UNQUALIFIED
Adams F WieserArgentinaBernardo Dominic NEW
Isabel M MacleadRussiaAmy Elsner RENEWAL
Julie S OstroskyCanadaElwin Sharvill PROPOSAL
Cody Y CaldareraArgentinaIoni Bowcher UNQUALIFIED
Leon K ShinkoCanadaBernardo Dominic PROPOSAL
Octavia P KuskoSpainAnna Fali RENEWAL
Clifford A TollnerItalyBernardo Dominic PROPOSAL
Darci R DoeGermanyIvan Magalhaes NEGOTIATION
Smith N InouyeJapanOnyama Limba UNQUALIFIED
Maisha B SchemmerCanadaOnyama Limba UNQUALIFIED
David U DilliardBrazilOnyama Limba NEW
Rodrigues W KuskoAustraliaIvan Magalhaes QUALIFIED
Arvin H VocelkaAustraliaElwin Sharvill PROPOSAL
Misaki N NickaIndiaAmy Elsner QUALIFIED
Misaki E BowleyUnited KingdomStephen Shaw PROPOSAL
Cody X MacleadCanadaXuxue Feng NEGOTIATION
Rodrigues O GillianFranceXuxue Feng QUALIFIED
Stacey U GlickSpainElwin Sharvill RENEWAL
Octavia Q BowleyRussiaIvan Magalhaes UNQUALIFIED
Mayumi N GlickItalyStephen Shaw NEW
Aditya S FlosiAustraliaBernardo Dominic NEGOTIATION
Adams C OstroskyGermanyIvan Magalhaes QUALIFIED
Aika X InouyeSpainAnna Fali RENEWAL
Smith Z PerinGermanyAsiya Javayant NEW
James P DilliardCanadaIoni Bowcher RENEWAL
Julie N GauchoCanadaIvan Magalhaes PROPOSAL
Mujtaba G RulapaughFranceIvan Magalhaes PROPOSAL
Cody E ButtAustraliaElwin Sharvill QUALIFIED
Sinclair R AlbaresGermanyBernardo Dominic QUALIFIED
Faith S SchemmerIndiaElwin Sharvill NEGOTIATION
Sinclair R FigeroaJapanXuxue Feng UNQUALIFIED
Adams S WaycottItalyAnna Fali QUALIFIED
Juan N WieserArgentinaIvan Magalhaes UNQUALIFIED
Aditya R BologniaJapanAmy Elsner UNQUALIFIED
Jones S MaletUnited KingdomOnyama Limba NEW
Johnson E VenereFranceIoni Bowcher NEGOTIATION
Johnson F StockhamFranceStephen Shaw NEW
Jefferson U ChuiUnited KingdomXuxue Feng PROPOSAL
Misaki U ShinkoFranceIoni Bowcher PROPOSAL
Murillo F ShinkoAustraliaIvan Magalhaes RENEWAL
Aruna F WhobreyJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Aditya F Caudy
Morrow G Stockham
Aruna T Malet
Adams U Morasca
Faith V Inouye
Salvatore Q Inouye
Kadeem V Slusarski
Emily V Kusko
Clifford U Tollner
Adams B Nestle
Kaitlin C Briddick
Cody E Paprocki
Claire E Inouye
Misaki L Glick
Jeanfrancois K Albares
Aruna T Figeroa
Munro V Garufi
Antonio L Inouye
Julie A Caldarera
Arvin K Ruta
Maria X Wieser
Leja K Doe
Sinclair R Stockham
Costa L Caldarera
Jones E Malet
Adams Z Butt
Ivar M Shinko
Clifford X Ferencz
Ashley J Chui
David G Shinko
Mujtaba O Campain
Munro T Gaucho
Misaki S Figeroa
Nicolas O Amigon
Johnson E Albares
Stacey X Kusko
Kadeem W Marrier
Juan B Stenseth
Costa G Caudy
Kadeem H Gillian
Darci R Bowley
Francesco O Bolognia
Aruna H Nestle
Chavez Z Bowley
Francesco C Caldarera
Leon H Darakjy
Ricardo V Malet
Greenwood C Malet
Jefferson W Kolmetz
Isabel L Kolmetz
IdCountryDate
1000India2024-06-08
1001France2024-06-08
1002Argentina2024-06-01
1003Japan2024-06-09
1004Russia2024-06-20
1005Australia2024-06-01
1006Italy2024-06-04
1007Italy2024-05-25
1008Russia2024-05-28
1009India2024-06-08
1010France2024-06-07
1011France2024-05-30
1012United Kingdom2024-06-22
1013Canada2024-05-25
1014Japan2024-06-09
1015Italy2024-06-02
1016France2024-06-14
1017Russia2024-06-04
1018India2024-06-11
1019Australia2024-06-03
1020Spain2024-06-20
1021Japan2024-06-13
1022Japan2024-06-02
1023Japan2024-05-28
1024France2024-06-03
1025Italy2024-06-01
1026Germany2024-06-12
1027India2024-06-19
1028Argentina2024-05-30
1029Italy2024-06-03
1030Italy2024-05-26
1031Canada2024-06-10
1032France2024-05-29
1033Canada2024-06-09
1034France2024-06-14
1035France2024-05-26
1036Argentina2024-06-13
1037Argentina2024-06-01
1038Germany2024-06-11
1039Canada2024-06-07
1040United Kingdom2024-06-08
1041India2024-06-22
1042France2024-06-01
1043Brazil2024-06-21
1044Japan2024-06-01
1045Australia2024-05-27
1046Russia2024-06-19
1047Germany2024-05-27
1048Argentina2024-06-22
1049Germany2024-06-12

On-Demand Data

NameIdCountryDate
Kadeem E Royster1000Germany2024-05-29
Murillo M Iturbide1001Australia2024-06-11
Sinclair V Poquette1002France2024-06-15
Adams U Ferencz1003Brazil2024-06-09
Ivar T Butt1004Australia2024-05-28
Misaki V Nestle1005France2024-06-04
Aruna L Bolognia1006France2024-05-24
Aditya X Bolognia1007Brazil2024-06-18
Morrow Z Flosi1008Australia2024-05-27
Emily M Malet1009Germany2024-06-16
James O Caudy1010Argentina2024-05-29
James N Morasca1011Spain2024-05-26
Maria F Marrier1012Spain2024-05-28
Francesco P Morasca1013Spain2024-06-04
Juan E Gillian1014United Kingdom2024-06-21
Munro A Albares1015Japan2024-05-31
Emily N Sergi1016Japan2024-06-06
Faith Q Bolognia1017Germany2024-05-29
Clifford D Flosi1018Russia2024-06-20
Greenwood X Gaucho1019Australia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba T AlbaresRussiaAnna Fali UNQUALIFIED
Jones G OldroydBrazilIoni Bowcher PROPOSAL
Misaki V StensethUnited KingdomAsiya Javayant QUALIFIED
Cody F PerinCanadaAmy Elsner QUALIFIED
Morrow U KolmetzRussiaStephen Shaw NEGOTIATION
Arvin H ShinkoRussiaBernardo Dominic NEW
Mujtaba S FollerCanadaIvan Magalhaes PROPOSAL
Leon R GlickUnited KingdomIvan Magalhaes NEGOTIATION
Aditya W FollerJapanXuxue Feng UNQUALIFIED
Mujtaba I SergiJapanBernardo Dominic UNQUALIFIED
Stacey K TollnerRussiaAmy Elsner QUALIFIED
Julie N DoeUnited KingdomOnyama Limba PROPOSAL
Kadeem C ChuiRussiaAsiya Javayant RENEWAL
Rodrigues O BowleySpainStephen Shaw UNQUALIFIED
Juan G DarakjyAustraliaXuxue Feng QUALIFIED
Smith Q NestleJapanBernardo Dominic PROPOSAL
Jefferson G OstroskyBrazilXuxue Feng RENEWAL
Jennifer U SaylorsItalyAnna Fali RENEWAL
Jeanfrancois F WhobreyAustraliaAnna Fali UNQUALIFIED
Aika B PaprockiUnited KingdomBernardo Dominic NEW
Murillo D GauchoFranceAsiya Javayant RENEWAL
Nicolas Z KolmetzRussiaElwin Sharvill QUALIFIED
Tony D DarakjyJapanAmy Elsner PROPOSAL
Darci N WhobreyGermanyXuxue Feng PROPOSAL
Juan M RoysterGermanyIvan Magalhaes NEW
Julie X MacleadJapanXuxue Feng PROPOSAL
Greenwood L GarufiUnited KingdomXuxue Feng RENEWAL
Leon V ChuiUnited KingdomIvan Magalhaes PROPOSAL
Rodrigues P SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Darci T CaldareraItalyIoni Bowcher NEGOTIATION
Nicolas Z BriddickArgentinaXuxue Feng NEW
Isabel Z AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues M VenereItalyAsiya Javayant NEGOTIATION
Nicolas W SlusarskiItalyIoni Bowcher PROPOSAL
Tony M GillianBrazilBernardo Dominic QUALIFIED
Faith L RutaBrazilAmy Elsner NEW
Maria F BriddickItalyStephen Shaw PROPOSAL
Munro D IturbideAustraliaBernardo Dominic NEGOTIATION
Mayumi S OstroskyIndiaBernardo Dominic NEW
Silvio F NickaRussiaBernardo Dominic 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>