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
Murillo W OldroydAustraliaBernardo Dominic QUALIFIED
Mayumi W DilliardJapanElwin Sharvill PROPOSAL
Ivar O ChuiFranceAsiya Javayant PROPOSAL
Tony L DilliardJapanXuxue Feng NEW
Alejandro D DilliardSpainOnyama Limba QUALIFIED
Adams E GillianBrazilIvan Magalhaes UNQUALIFIED
Claire O CampainUnited KingdomAnna Fali PROPOSAL
Mujtaba E SchemmerAustraliaAnna Fali RENEWAL
Antonio Y SlusarskiIndiaStephen Shaw NEW
Aruna G DoeRussiaAnna Fali NEW
Claire H PoquetteUnited KingdomBernardo Dominic PROPOSAL
Darci R RimAustraliaOnyama Limba PROPOSAL
Faith C InouyeIndiaAnna Fali PROPOSAL
Costa C BowleyAustraliaAmy Elsner NEGOTIATION
Kaitlin X FerenczIndiaStephen Shaw RENEWAL
Salvatore O OldroydAustraliaXuxue Feng RENEWAL
Alejandro A WieserGermanyElwin Sharvill UNQUALIFIED
Kaitlin F FigeroaArgentinaAsiya Javayant UNQUALIFIED
Aditya D RulapaughItalyAnna Fali RENEWAL
Alejandro R DoeArgentinaAnna Fali PROPOSAL
Greenwood K PaprockiGermanyAmy Elsner PROPOSAL
Salvatore K OstroskyGermanyBernardo Dominic NEGOTIATION
Izzy D TollnerArgentinaAnna Fali UNQUALIFIED
Tony D BowleyGermanyAmy Elsner RENEWAL
Adams Z StockhamArgentinaXuxue Feng NEGOTIATION
Greenwood J InouyeRussiaAnna Fali PROPOSAL
David V BriddickArgentinaOnyama Limba QUALIFIED
Deepesh E CampainUnited KingdomAnna Fali NEW
Salvatore C VocelkaArgentinaElwin Sharvill NEW
Mayumi I DarakjyItalyIvan Magalhaes NEW
Ricardo D RutaItalyIoni Bowcher QUALIFIED
Aruna P OstroskyUnited KingdomXuxue Feng RENEWAL
Cody L GauchoCanadaAmy Elsner UNQUALIFIED
Jones M RimSpainAmy Elsner QUALIFIED
Sinclair F WieserUnited KingdomBernardo Dominic NEW
Emily P CaudyJapanStephen Shaw QUALIFIED
Juan H PoquetteRussiaAmy Elsner UNQUALIFIED
Izzy W MorascaBrazilStephen Shaw PROPOSAL
Misaki Q GlickBrazilIvan Magalhaes RENEWAL
Murillo R StockhamJapanXuxue Feng NEGOTIATION
Chavez N MarrierGermanyBernardo Dominic UNQUALIFIED
Salvatore C AmigonBrazilAnna Fali QUALIFIED
Morrow K TollnerAustraliaOnyama Limba RENEWAL
Faith E MorascaJapanBernardo Dominic UNQUALIFIED
Tony M WieserRussiaIvan Magalhaes UNQUALIFIED
Chavez U OstroskyGermanyOnyama Limba NEW
Antonio V NestleBrazilAmy Elsner RENEWAL
Arvin K CampainBrazilAmy Elsner NEGOTIATION
Jennifer O OstroskyGermanyIvan Magalhaes UNQUALIFIED
Ricardo R RimIndiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas D MaletAustraliaXuxue Feng UNQUALIFIED
Leja N DilliardIndiaIoni Bowcher QUALIFIED
Jones N ButtRussiaXuxue Feng UNQUALIFIED
Francesco Y SchemmerCanadaOnyama Limba PROPOSAL
Maria W SlusarskiRussiaXuxue Feng QUALIFIED
Faith B SchemmerFranceAmy Elsner PROPOSAL
Ricardo M MarrierArgentinaBernardo Dominic NEGOTIATION
Octavia Z VocelkaSpainElwin Sharvill PROPOSAL
Ivar E OldroydUnited KingdomXuxue Feng NEW
Leja Q ChuiGermanyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba O MarrierCanada2024-05-17Benton, John B Jr NEGOTIATION49Asiya Javayant
1001Sinclair L StockhamSpain2024-05-10Feiner Bros QUALIFIED24Ioni Bowcher
1002Kadeem M DilliardGermany2024-04-28Benton, John B Jr NEW13Amy Elsner
1003Salvatore A VocelkaBrazil2024-04-30Dorl, James J Esq UNQUALIFIED46Onyama Limba
1004Morrow L SergiGermany2024-05-05Feiner Bros NEW74Ivan Magalhaes
1005Maisha A CaudyJapan2024-05-10Truhlar And Truhlar Attys QUALIFIED2Xuxue Feng
1006Ivar S GlickIndia2024-05-11Morlong Associates PROPOSAL1Ivan Magalhaes
1007Chavez X NestleJapan2024-05-05Morlong Associates QUALIFIED75Ioni Bowcher
1008Murillo I SchemmerRussia2024-05-01Chapman, Ross E Esq NEW82Onyama Limba
1009Faith U RulapaughAustralia2024-05-02Chanay, Jeffrey A Esq UNQUALIFIED15Ivan Magalhaes
1010Sinclair O BologniaCanada2024-05-05Printing Dimensions QUALIFIED90Amy Elsner
1011Ashley S WaycottArgentina2024-04-27Truhlar And Truhlar Attys QUALIFIED5Elwin Sharvill
1012Leon W BologniaAustralia2024-05-12Morlong Associates QUALIFIED67Stephen Shaw
1013Kadeem D OstroskyArgentina2024-05-21Commercial Press NEGOTIATION33Ioni Bowcher
1014Aditya W GarufiJapan2024-05-13Buckley Miller Wright RENEWAL5Xuxue Feng
1015Morrow O CaldareraRussia2024-04-27Chapman, Ross E Esq RENEWAL22Amy Elsner
1016James F KuskoGermany2024-05-18Benton, John B Jr NEGOTIATION41Onyama Limba
1017Julie C RimCanada2024-05-06Truhlar And Truhlar Attys NEW34Ivan Magalhaes
1018Alejandro Y FollerUnited Kingdom2024-05-04Benton, John B Jr PROPOSAL1Onyama Limba
1019Morrow X DoeJapan2024-05-01Dorl, James J Esq QUALIFIED49Ivan Magalhaes
1020Johnson N CampainIndia2024-05-07Feiner Bros NEGOTIATION37Amy Elsner
1021Salvatore T KuskoArgentina2024-05-14Chemel, James L Cpa NEGOTIATION84Bernardo Dominic
1022David F StockhamJapan2024-05-16King, Christopher A Esq UNQUALIFIED15Onyama Limba
1023Chavez X FlosiItaly2024-05-09Benton, John B Jr QUALIFIED91Anna Fali
1024Arvin R RimBrazil2024-05-04Rangoni Of Florence NEGOTIATION5Asiya Javayant
1025Juan N PaprockiArgentina2024-05-16Truhlar And Truhlar Attys NEW65Ivan Magalhaes
1026Johnson B FerenczJapan2024-05-09Morlong Associates UNQUALIFIED8Bernardo Dominic
1027Tony M FerenczAustralia2024-05-21Morlong Associates QUALIFIED53Onyama Limba
1028Jeanfrancois A FollerBrazil2024-05-03Commercial Press NEW38Anna Fali
1029Jones P RoysterItaly2024-04-26Feiner Bros PROPOSAL64Elwin Sharvill
1030Aika T DoeUnited Kingdom2024-05-17Rangoni Of Florence NEGOTIATION1Stephen Shaw
1031Octavia U DoeSpain2024-04-30Feltz Printing Service NEGOTIATION83Asiya Javayant
1032Isabel C RimGermany2024-05-02Chanay, Jeffrey A Esq RENEWAL3Amy Elsner
1033Aruna G TollnerCanada2024-05-14Morlong Associates UNQUALIFIED77Onyama Limba
1034Jones W ButtGermany2024-05-19Benton, John B Jr PROPOSAL33Bernardo Dominic
1035Leon W GlickBrazil2024-05-06Chemel, James L Cpa NEW2Ioni Bowcher
1036Rodrigues M AmigonAustralia2024-05-02Buckley Miller Wright UNQUALIFIED53Anna Fali
1037Ricardo J AmigonItaly2024-05-15Chemel, James L Cpa UNQUALIFIED43Stephen Shaw
1038Silvio U WhobreyBrazil2024-05-03Chemel, James L Cpa NEGOTIATION97Onyama Limba
1039Morrow Z StensethUnited Kingdom2024-04-28Rousseaux, Michael Esq NEGOTIATION17Amy Elsner
1040Arvin M ButtCanada2024-05-03Feiner Bros RENEWAL40Onyama Limba
1041Jones D MarrierBrazil2024-05-09Printing Dimensions NEGOTIATION59Elwin Sharvill
1042Alejandro O RoysterIndia2024-05-21Feltz Printing Service NEGOTIATION24Asiya Javayant
1043Misaki L KuskoBrazil2024-05-23Chapman, Ross E Esq UNQUALIFIED72Onyama Limba
1044Kaitlin B FerenczBrazil2024-05-03Chanay, Jeffrey A Esq RENEWAL0Elwin Sharvill
1045Izzy F InouyeItaly2024-04-30Rangoni Of Florence PROPOSAL51Bernardo Dominic
1046Tony P PaprockiUnited Kingdom2024-05-24Morlong Associates UNQUALIFIED40Ivan Magalhaes
1047Jeanfrancois I RoysterCanada2024-05-16Dorl, James J Esq NEGOTIATION41Anna Fali
1048Greenwood O CaudyCanada2024-05-03Morlong Associates PROPOSAL3Amy Elsner
1049Ivar W ChuiAustralia2024-04-28Chemel, James L Cpa UNQUALIFIED7Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Morrow Z FollerBrazilIoni Bowcher UNQUALIFIED
Claire L AmigonRussiaIoni Bowcher NEW
Octavia B OldroydItalyOnyama Limba QUALIFIED
Juan A AmigonGermanyElwin Sharvill NEW
Adams K SchemmerAustraliaStephen Shaw NEW
Mujtaba P BologniaBrazilBernardo Dominic QUALIFIED
Leon J WieserUnited KingdomAsiya Javayant PROPOSAL
Cody Z OldroydGermanyIvan Magalhaes PROPOSAL
Johnson X IturbideGermanyBernardo Dominic PROPOSAL
Maria V RulapaughBrazilOnyama Limba NEW
Ricardo X PoquetteItalyAnna Fali PROPOSAL
Leja D MaletRussiaAsiya Javayant RENEWAL
Adams Y TollnerGermanyBernardo Dominic NEW
Ricardo W FlosiArgentinaElwin Sharvill NEW
Leon U OldroydGermanyBernardo Dominic NEGOTIATION
Juan L CampainAustraliaIvan Magalhaes NEGOTIATION
Rodrigues L OldroydGermanyAmy Elsner NEGOTIATION
Chavez F FigeroaFranceIoni Bowcher PROPOSAL
Chavez A KolmetzAustraliaOnyama Limba NEGOTIATION
Kaitlin N PerinGermanyIoni Bowcher UNQUALIFIED
Aditya Z FerenczItalyIvan Magalhaes NEGOTIATION
Jones D FerenczIndiaStephen Shaw NEGOTIATION
Izzy J MorascaFranceXuxue Feng NEGOTIATION
Silvio I SchemmerItalyXuxue Feng RENEWAL
Misaki Q BriddickSpainIoni Bowcher NEGOTIATION
Darci H IturbideSpainAsiya Javayant NEGOTIATION
Julie X NestleJapanBernardo Dominic UNQUALIFIED
Smith K SaylorsAustraliaAmy Elsner NEW
Jones P OldroydSpainIvan Magalhaes NEGOTIATION
Izzy G CampainUnited KingdomIvan Magalhaes NEGOTIATION
Jones M ShinkoItalyIoni Bowcher UNQUALIFIED
Nicolas E MacleadItalyStephen Shaw NEGOTIATION
Johnson E BologniaGermanyOnyama Limba NEGOTIATION
Juan A RimIndiaAmy Elsner QUALIFIED
Aruna X GauchoBrazilBernardo Dominic UNQUALIFIED
Kaitlin U SlusarskiIndiaAmy Elsner NEW
Isabel K WaycottCanadaAsiya Javayant PROPOSAL
Juan D GlickItalyAsiya Javayant NEGOTIATION
Wickens L StensethArgentinaIvan Magalhaes QUALIFIED
Murillo O BriddickArgentinaIvan Magalhaes NEW
Wickens E DilliardFranceAmy Elsner PROPOSAL
Maria A StockhamSpainAnna Fali NEGOTIATION
Deepesh A FlosiSpainAmy Elsner NEGOTIATION
Deepesh X DarakjyUnited KingdomIvan Magalhaes NEW
David A ChuiRussiaXuxue Feng QUALIFIED
Maria B CaldareraFranceXuxue Feng UNQUALIFIED
Julie U BologniaBrazilAnna Fali QUALIFIED
Munro V DarakjyItalyOnyama Limba RENEWAL
Antonio C AmigonItalyStephen Shaw NEGOTIATION
Leja K GlickArgentinaElwin Sharvill PROPOSAL
Frozen Columns
Name
Sinclair K Gillian
Jones Y Morasca
Leja N Ferencz
Adams F Whobrey
David B Whobrey
Wickens B Caldarera
Deepesh R Saylors
Wickens D Paprocki
Clifford K Schemmer
Mayumi X Doe
Francesco Z Inouye
Murillo H Perin
Faith I Foller
Jennifer O Rim
Jones H Maclead
Johnson L Ostrosky
Julie O Perin
Jeanfrancois M Shinko
Silvio P Perin
Deepesh H Inouye
Mujtaba H Nicka
Greenwood M Nicka
Ivar T Slusarski
Nicolas F Bowley
Mayumi S Sergi
Isabel O Amigon
Nicolas O Tollner
Jones D Schemmer
James K Kolmetz
Stacey L Ostrosky
Arvin X Nestle
Munro P Paprocki
Greenwood W Saylors
Jefferson C Malet
Johnson B Perin
Jefferson Z Marrier
Jones I Inouye
Darci P Nestle
Rodrigues Y Dilliard
Silvio H Sergi
Izzy S Whobrey
Smith J Oldroyd
Octavia A Morasca
Aika K Stockham
Ashley O Figeroa
Claire Y Kolmetz
James U Kolmetz
Deepesh P Doe
Aika K Malet
Misaki W Kusko
IdCountryDate
1000Russia2024-05-25
1001Canada2024-05-24
1002France2024-05-16
1003Japan2024-04-30
1004Canada2024-05-01
1005Australia2024-05-03
1006Germany2024-05-14
1007Italy2024-05-14
1008Spain2024-05-01
1009Argentina2024-05-13
1010India2024-05-17
1011Australia2024-05-08
1012Argentina2024-05-15
1013Australia2024-05-17
1014Japan2024-05-21
1015Canada2024-05-22
1016France2024-05-18
1017Germany2024-04-26
1018India2024-05-06
1019Japan2024-05-16
1020Australia2024-04-28
1021Canada2024-05-07
1022Spain2024-05-05
1023Russia2024-04-27
1024India2024-05-11
1025Canada2024-05-21
1026Argentina2024-05-12
1027Germany2024-05-09
1028United Kingdom2024-05-13
1029United Kingdom2024-05-15
1030Russia2024-05-17
1031Argentina2024-05-03
1032Spain2024-05-23
1033Russia2024-05-04
1034Russia2024-05-05
1035Brazil2024-05-08
1036Italy2024-05-06
1037France2024-05-19
1038India2024-05-20
1039Brazil2024-05-08
1040Russia2024-05-25
1041India2024-04-27
1042Argentina2024-05-09
1043India2024-04-28
1044Brazil2024-05-20
1045Spain2024-05-18
1046France2024-05-04
1047United Kingdom2024-05-11
1048India2024-04-28
1049Brazil2024-05-12

On-Demand Data

NameIdCountryDate
Emily Q Flosi1000Argentina2024-05-16
Cody V Tollner1001Russia2024-05-11
Isabel E Malet1002Germany2024-05-04
Clifford E Campain1003Germany2024-05-24
Tony A Paprocki1004Germany2024-05-15
Mujtaba J Nicka1005United Kingdom2024-05-01
Sinclair W Sergi1006Russia2024-05-25
Aruna L Nicka1007France2024-05-20
Johnson F Nestle1008Russia2024-05-20
Murillo L Stockham1009Australia2024-05-06
Ivar B Ostrosky1010Spain2024-05-10
Arvin E Perin1011Italy2024-05-23
Ashley V Morasca1012Brazil2024-04-26
Murillo R Inouye1013France2024-04-30
Nicolas T Caldarera1014Spain2024-05-15
Juan T Slusarski1015India2024-05-14
Salvatore P Inouye1016Germany2024-05-05
Octavia O Marrier1017France2024-05-08
Darci W Darakjy1018India2024-05-18
Mayumi E Paprocki1019Australia2024-05-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford B MaletSpainStephen Shaw RENEWAL
Ashley R CampainJapanElwin Sharvill NEW
Clifford E PerinArgentinaXuxue Feng UNQUALIFIED
Nicolas M GarufiSpainBernardo Dominic UNQUALIFIED
Salvatore K KolmetzAustraliaElwin Sharvill RENEWAL
Mayumi D KolmetzRussiaStephen Shaw RENEWAL
Salvatore H BriddickBrazilAmy Elsner PROPOSAL
Julie Y GarufiJapanOnyama Limba RENEWAL
David S RimGermanyOnyama Limba NEGOTIATION
Antonio V PoquetteRussiaOnyama Limba NEGOTIATION
Mujtaba U KuskoFranceXuxue Feng QUALIFIED
Nicolas V FerenczRussiaAsiya Javayant QUALIFIED
Smith J RulapaughBrazilIoni Bowcher RENEWAL
Clifford U SchemmerGermanyAmy Elsner PROPOSAL
Juan L FollerAustraliaOnyama Limba UNQUALIFIED
Jennifer P FerenczAustraliaIvan Magalhaes UNQUALIFIED
Arvin B RoysterCanadaAsiya Javayant NEGOTIATION
Kaitlin B RimSpainStephen Shaw NEW
Leja D MaletBrazilBernardo Dominic UNQUALIFIED
James C SchemmerAustraliaIvan Magalhaes RENEWAL
Claire V WieserJapanStephen Shaw NEW
Jefferson Y VocelkaCanadaIvan Magalhaes UNQUALIFIED
Sinclair Q PerinCanadaXuxue Feng NEGOTIATION
Mujtaba V VenereAustraliaAsiya Javayant RENEWAL
Mayumi I SergiGermanyStephen Shaw RENEWAL
Aruna F SaylorsIndiaIvan Magalhaes QUALIFIED
Emily T NestleCanadaAsiya Javayant NEGOTIATION
Sinclair G KolmetzBrazilAsiya Javayant RENEWAL
Munro V NestleAustraliaElwin Sharvill NEW
Arvin A PaprockiArgentinaAmy Elsner PROPOSAL
David O GlickAustraliaIoni Bowcher PROPOSAL
Jennifer Q GillianArgentinaBernardo Dominic PROPOSAL
Misaki Z BriddickGermanyAnna Fali QUALIFIED
Faith P InouyeAustraliaXuxue Feng NEW
Julie S WieserBrazilElwin Sharvill QUALIFIED
Juan K RoysterSpainIoni Bowcher QUALIFIED
Chavez N BowleyItalyElwin Sharvill RENEWAL
Claire K CaldareraAustraliaStephen Shaw NEGOTIATION
Tony G ShinkoBrazilStephen Shaw NEW
Emily F CaldareraCanadaStephen 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>