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 M MacleadRussiaOnyama Limba NEW
Salvatore A PerinUnited KingdomAnna Fali QUALIFIED
Chavez K WhobreyCanadaAsiya Javayant RENEWAL
David U SlusarskiIndiaAsiya Javayant PROPOSAL
Wickens U OldroydRussiaBernardo Dominic PROPOSAL
Jefferson J WhobreyRussiaBernardo Dominic RENEWAL
James H OstroskyRussiaXuxue Feng UNQUALIFIED
Morrow S PerinAustraliaBernardo Dominic NEGOTIATION
Leja B ChuiItalyIvan Magalhaes UNQUALIFIED
Deepesh V NestleGermanyXuxue Feng RENEWAL
Jeanfrancois Q MarrierSpainAsiya Javayant UNQUALIFIED
Ashley I NestleFranceOnyama Limba QUALIFIED
Jefferson O WhobreyFranceIvan Magalhaes NEGOTIATION
Darci O PerinUnited KingdomBernardo Dominic NEGOTIATION
Aditya F WhobreyCanadaBernardo Dominic UNQUALIFIED
Cody E CampainFranceXuxue Feng NEW
Adams M AmigonJapanElwin Sharvill PROPOSAL
Wickens V NickaItalyAsiya Javayant UNQUALIFIED
David A PaprockiIndiaElwin Sharvill NEGOTIATION
Ivar F PoquetteGermanyIoni Bowcher NEW
Silvio M GarufiUnited KingdomOnyama Limba RENEWAL
Tony M TollnerJapanBernardo Dominic NEGOTIATION
Chavez J OstroskySpainAsiya Javayant QUALIFIED
Julie V MaletJapanAnna Fali RENEWAL
Leja I StockhamIndiaIvan Magalhaes RENEWAL
Maisha N RutaSpainAmy Elsner UNQUALIFIED
Maisha B StockhamRussiaIoni Bowcher QUALIFIED
Alejandro Z CampainBrazilIoni Bowcher RENEWAL
Rodrigues V DilliardIndiaIvan Magalhaes NEGOTIATION
Rodrigues X VenereRussiaElwin Sharvill PROPOSAL
Juan B BriddickUnited KingdomIvan Magalhaes NEW
Leja G GlickIndiaXuxue Feng NEW
Aruna R WhobreyRussiaElwin Sharvill QUALIFIED
Adams B VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Salvatore T IturbideSpainAnna Fali QUALIFIED
Ricardo R PerinIndiaAsiya Javayant NEGOTIATION
Munro R WaycottArgentinaOnyama Limba NEW
David H SergiGermanyOnyama Limba RENEWAL
Adams Y SergiUnited KingdomBernardo Dominic NEW
Deepesh C SergiJapanIvan Magalhaes QUALIFIED
James H VenereIndiaBernardo Dominic NEW
Isabel H CampainFranceElwin Sharvill QUALIFIED
Maisha S PaprockiJapanAmy Elsner UNQUALIFIED
Stacey X FlosiIndiaAsiya Javayant NEW
Francesco W WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel K DoeIndiaIoni Bowcher NEW
Cody S OstroskyFranceXuxue Feng QUALIFIED
Munro J SaylorsCanadaBernardo Dominic RENEWAL
Izzy H GillianFranceStephen Shaw UNQUALIFIED
Julie Z WhobreyBrazilAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood D TollnerIndiaElwin Sharvill NEW
Aditya V RulapaughRussiaElwin Sharvill QUALIFIED
Ashley M StensethFranceStephen Shaw RENEWAL
Misaki U VenereAustraliaXuxue Feng PROPOSAL
Kadeem P NestleArgentinaIoni Bowcher NEW
Wickens Q MorascaItalyAmy Elsner PROPOSAL
Nicolas J CaudyGermanyIvan Magalhaes NEW
Ivar M BowleyGermanyStephen Shaw QUALIFIED
Aditya J ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Jones S FlosiItalyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson T GauchoFrance2024-06-03Chapman, Ross E Esq NEW99Ivan Magalhaes
1001Leja E WieserAustralia2024-05-31King, Christopher A Esq NEGOTIATION82Ivan Magalhaes
1002Nicolas S CaudyGermany2024-06-07Feiner Bros NEGOTIATION0Ioni Bowcher
1003James I StensethSpain2024-06-04Commercial Press QUALIFIED32Bernardo Dominic
1004Costa P RimUnited Kingdom2024-05-31Benton, John B Jr PROPOSAL61Xuxue Feng
1005Julie C InouyeArgentina2024-05-31Chemel, James L Cpa QUALIFIED70Xuxue Feng
1006Maisha K WieserGermany2024-05-30Chapman, Ross E Esq RENEWAL65Asiya Javayant
1007Leon N CaldareraJapan2024-06-12Rangoni Of Florence PROPOSAL80Ioni Bowcher
1008Octavia G KolmetzSpain2024-05-27Chapman, Ross E Esq QUALIFIED56Amy Elsner
1009Leon V RimUnited Kingdom2024-06-22Truhlar And Truhlar Attys NEGOTIATION63Elwin Sharvill
1010Tony I InouyeBrazil2024-05-25Chapman, Ross E Esq PROPOSAL46Bernardo Dominic
1011Francesco S MarrierFrance2024-05-31Truhlar And Truhlar Attys QUALIFIED89Amy Elsner
1012Juan I MacleadJapan2024-06-20King, Christopher A Esq QUALIFIED71Elwin Sharvill
1013Ivar P AlbaresAustralia2024-06-01Rangoni Of Florence QUALIFIED39Ivan Magalhaes
1014Sinclair I DilliardItaly2024-06-19Feiner Bros RENEWAL20Stephen Shaw
1015Aditya Y SlusarskiFrance2024-06-13Commercial Press UNQUALIFIED90Ivan Magalhaes
1016Kaitlin Z StockhamJapan2024-06-06Rousseaux, Michael Esq PROPOSAL5Amy Elsner
1017Chavez D RutaBrazil2024-06-17Rousseaux, Michael Esq NEGOTIATION41Amy Elsner
1018Costa W FollerFrance2024-06-07Rangoni Of Florence QUALIFIED37Amy Elsner
1019Stacey O RimUnited Kingdom2024-06-09Truhlar And Truhlar Attys QUALIFIED46Amy Elsner
1020Costa I RimItaly2024-06-22Chapman, Ross E Esq NEGOTIATION91Elwin Sharvill
1021Jones V DoeFrance2024-06-13Morlong Associates NEW89Asiya Javayant
1022Jones U FerenczJapan2024-06-17Truhlar And Truhlar Attys UNQUALIFIED17Elwin Sharvill
1023Leon V WaycottBrazil2024-06-22Buckley Miller Wright NEGOTIATION16Elwin Sharvill
1024Mayumi A ShinkoArgentina2024-05-29Feiner Bros QUALIFIED72Anna Fali
1025Ashley D PoquetteUnited Kingdom2024-06-20Buckley Miller Wright NEW15Ioni Bowcher
1026Ivar E WhobreyRussia2024-06-01Feiner Bros RENEWAL62Amy Elsner
1027Salvatore V FlosiBrazil2024-06-22Benton, John B Jr PROPOSAL80Onyama Limba
1028Jefferson U OldroydItaly2024-05-28Rousseaux, Michael Esq PROPOSAL97Amy Elsner
1029Mayumi E CampainGermany2024-06-14Chemel, James L Cpa QUALIFIED40Xuxue Feng
1030Johnson S NestleCanada2024-05-27Rangoni Of Florence UNQUALIFIED81Bernardo Dominic
1031Murillo B MarrierSpain2024-06-19Printing Dimensions RENEWAL37Stephen Shaw
1032Octavia T KolmetzCanada2024-06-12Commercial Press NEGOTIATION90Xuxue Feng
1033Nicolas F RoysterFrance2024-06-07Chemel, James L Cpa RENEWAL91Asiya Javayant
1034Francesco V DarakjyBrazil2024-05-25Chanay, Jeffrey A Esq PROPOSAL64Elwin Sharvill
1035Tony N CampainRussia2024-06-06Feiner Bros NEW55Xuxue Feng
1036Ricardo X BriddickItaly2024-06-12Dorl, James J Esq RENEWAL15Onyama Limba
1037Aruna O MarrierAustralia2024-05-28Benton, John B Jr QUALIFIED31Ioni Bowcher
1038Octavia S OstroskyFrance2024-06-20King, Christopher A Esq NEGOTIATION64Elwin Sharvill
1039Mujtaba X CaldareraArgentina2024-06-17Dorl, James J Esq UNQUALIFIED86Amy Elsner
1040David R DilliardJapan2024-06-17Benton, John B Jr NEW99Bernardo Dominic
1041Nicolas D BowleyItaly2024-06-15Buckley Miller Wright RENEWAL23Elwin Sharvill
1042James F PoquetteItaly2024-06-16Rangoni Of Florence NEGOTIATION41Bernardo Dominic
1043Wickens W ChuiArgentina2024-06-01Rousseaux, Michael Esq QUALIFIED22Asiya Javayant
1044Aruna X GillianUnited Kingdom2024-06-09Chapman, Ross E Esq QUALIFIED84Asiya Javayant
1045Silvio C AmigonRussia2024-06-23Printing Dimensions PROPOSAL28Anna Fali
1046Darci X StensethIndia2024-06-10Benton, John B Jr PROPOSAL10Stephen Shaw
1047Clifford B StensethSpain2024-06-23Rousseaux, Michael Esq UNQUALIFIED44Ivan Magalhaes
1048Leja W DarakjySpain2024-05-27Buckley Miller Wright PROPOSAL34Asiya Javayant
1049Jeanfrancois Y GauchoItaly2024-06-07Chapman, Ross E Esq PROPOSAL84Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kadeem W NickaAustraliaAsiya Javayant RENEWAL
Chavez L MarrierJapanStephen Shaw RENEWAL
Costa Q MaletRussiaStephen Shaw RENEWAL
Maria Y DarakjyCanadaBernardo Dominic RENEWAL
Misaki J KuskoArgentinaAnna Fali QUALIFIED
Aika X GauchoItalyIoni Bowcher UNQUALIFIED
Leon U ButtSpainIoni Bowcher RENEWAL
Mujtaba W InouyeSpainAnna Fali NEW
Octavia Q AmigonCanadaOnyama Limba NEGOTIATION
Tony A MarrierItalyOnyama Limba RENEWAL
Emily O WaycottIndiaOnyama Limba NEGOTIATION
Jefferson V BowleyArgentinaOnyama Limba NEW
Ricardo D CaldareraGermanyAnna Fali QUALIFIED
Claire H CaudyFranceAsiya Javayant RENEWAL
Deepesh F KolmetzJapanElwin Sharvill UNQUALIFIED
Kadeem H DoeIndiaStephen Shaw UNQUALIFIED
Faith Y GillianBrazilBernardo Dominic NEGOTIATION
Rodrigues I InouyeAustraliaOnyama Limba QUALIFIED
Nicolas X IturbideBrazilAsiya Javayant RENEWAL
Greenwood P FerenczGermanyAmy Elsner NEGOTIATION
Emily A BologniaIndiaAnna Fali RENEWAL
Jefferson U MorascaItalyOnyama Limba QUALIFIED
Francesco X MarrierAustraliaStephen Shaw UNQUALIFIED
Julie I MaletCanadaIoni Bowcher PROPOSAL
Claire I ButtSpainIvan Magalhaes NEGOTIATION
Adams S RutaItalyAsiya Javayant QUALIFIED
Mujtaba E RulapaughRussiaAmy Elsner UNQUALIFIED
Mayumi W StockhamFranceIvan Magalhaes NEW
Izzy U CampainGermanyOnyama Limba QUALIFIED
Leja M WaycottJapanElwin Sharvill UNQUALIFIED
Emily D FlosiUnited KingdomStephen Shaw NEW
Tony W FigeroaItalyBernardo Dominic RENEWAL
Murillo C PerinSpainOnyama Limba NEW
Murillo B ShinkoGermanyAsiya Javayant NEGOTIATION
Juan F FerenczBrazilIvan Magalhaes PROPOSAL
Ricardo H BowleyJapanXuxue Feng NEGOTIATION
Darci Z WhobreyCanadaAnna Fali NEW
Aika Y NestleArgentinaAmy Elsner QUALIFIED
Julie X StensethRussiaElwin Sharvill UNQUALIFIED
Sinclair H StockhamRussiaBernardo Dominic NEGOTIATION
Faith Y CaudyItalyElwin Sharvill QUALIFIED
Sinclair R PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Tony I GarufiUnited KingdomAsiya Javayant NEW
Salvatore H ShinkoBrazilBernardo Dominic PROPOSAL
Alejandro K VenereJapanElwin Sharvill NEW
Kaitlin T KolmetzUnited KingdomBernardo Dominic NEW
Julie V OldroydRussiaStephen Shaw PROPOSAL
Mujtaba Z FerenczGermanyElwin Sharvill NEGOTIATION
Nicolas E SlusarskiItalyIoni Bowcher QUALIFIED
Rodrigues P VocelkaJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Maisha M Vocelka
Alejandro Z Briddick
Izzy A Amigon
Leja U Nestle
Adams Y Malet
Mayumi J Dilliard
Johnson M Perin
Aika B Ostrosky
Izzy F Bolognia
Aruna W Malet
Greenwood Z Briddick
Maisha M Oldroyd
Francesco G Iturbide
James O Garufi
Silvio K Albares
Silvio O Flosi
Adams L Sergi
Aruna E Shinko
Maria S Oldroyd
Octavia R Stockham
Cody Z Iturbide
Leon J Whobrey
Morrow J Vocelka
Octavia H Malet
Isabel L Gaucho
Julie C Amigon
Emily J Campain
Kaitlin T Nestle
Murillo J Nestle
Chavez O Gillian
Clifford F Schemmer
Greenwood G Kusko
Jones M Ruta
Cody O Iturbide
Octavia B Inouye
Deepesh H Dilliard
Leon E Malet
Jefferson R Saylors
Maria Z Caudy
Ivar F Rulapaugh
Kadeem B Darakjy
Deepesh R Bolognia
Leon G Oldroyd
Mujtaba B Poquette
Faith G Butt
Silvio U Glick
Morrow B Schemmer
Murillo X Foller
Jefferson Z Malet
Silvio W Oldroyd
IdCountryDate
1000Australia2024-06-08
1001India2024-06-08
1002Spain2024-05-25
1003Spain2024-06-22
1004Russia2024-05-30
1005India2024-06-14
1006Argentina2024-06-16
1007India2024-06-15
1008Russia2024-06-15
1009United Kingdom2024-06-05
1010Australia2024-06-16
1011Spain2024-06-13
1012Japan2024-05-29
1013Argentina2024-06-08
1014Russia2024-05-27
1015Russia2024-05-26
1016Italy2024-06-03
1017Italy2024-06-20
1018Australia2024-06-01
1019India2024-06-01
1020Argentina2024-06-06
1021India2024-06-19
1022Russia2024-06-08
1023Argentina2024-06-16
1024Japan2024-06-06
1025United Kingdom2024-06-11
1026Australia2024-05-29
1027Brazil2024-05-25
1028Italy2024-06-15
1029France2024-06-23
1030France2024-05-25
1031Canada2024-06-09
1032Japan2024-05-25
1033Argentina2024-06-21
1034France2024-05-29
1035Canada2024-05-27
1036Spain2024-05-27
1037Spain2024-06-04
1038Argentina2024-05-30
1039Brazil2024-05-31
1040Germany2024-06-13
1041Japan2024-06-20
1042Italy2024-05-29
1043United Kingdom2024-06-08
1044United Kingdom2024-06-21
1045Japan2024-06-20
1046Brazil2024-06-21
1047Japan2024-06-12
1048Spain2024-06-12
1049India2024-06-17

On-Demand Data

NameIdCountryDate
Johnson E Vocelka1000Russia2024-06-08
Morrow H Amigon1001Argentina2024-06-09
Nicolas H Inouye1002Italy2024-05-26
Rodrigues X Maclead1003Germany2024-06-11
Francesco J Amigon1004Spain2024-06-10
Maria C Vocelka1005Russia2024-06-16
Emily J Garufi1006Italy2024-06-05
Silvio C Venere1007Australia2024-06-10
Juan Z Ferencz1008Germany2024-06-16
Clifford F Waycott1009Canada2024-06-12
Claire W Bowley1010Brazil2024-05-27
Misaki B Maclead1011Germany2024-05-31
Darci P Whobrey1012United Kingdom2024-06-03
Wickens X Ostrosky1013Australia2024-06-13
Faith A Stenseth1014Italy2024-05-27
Faith Q Schemmer1015United Kingdom2024-05-26
Stacey B Schemmer1016Australia2024-06-07
Kaitlin Q Butt1017Japan2024-06-05
Smith Y Figeroa1018Argentina2024-05-31
Maisha T Caudy1019India2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood U DoeUnited KingdomIoni Bowcher NEW
David X ChuiRussiaAmy Elsner NEW
Kadeem S DoeBrazilXuxue Feng RENEWAL
Deepesh P RutaArgentinaIvan Magalhaes RENEWAL
Arvin J GillianSpainElwin Sharvill RENEWAL
Murillo E BriddickIndiaElwin Sharvill RENEWAL
Ashley L OldroydGermanyOnyama Limba PROPOSAL
Salvatore H KolmetzFranceXuxue Feng RENEWAL
Murillo E KuskoUnited KingdomAmy Elsner QUALIFIED
Wickens M KolmetzAustraliaIvan Magalhaes NEGOTIATION
Clifford Y ButtArgentinaElwin Sharvill PROPOSAL
Aruna C RimIndiaIoni Bowcher PROPOSAL
Greenwood A RimJapanOnyama Limba NEGOTIATION
Cody X IturbideItalyOnyama Limba NEW
Maria R IturbideSpainIoni Bowcher PROPOSAL
Nicolas N WaycottUnited KingdomBernardo Dominic NEW
Jeanfrancois S BowleyRussiaAsiya Javayant NEGOTIATION
Jeanfrancois M InouyeSpainBernardo Dominic PROPOSAL
Mayumi J DoeIndiaStephen Shaw NEGOTIATION
Tony X CaudyArgentinaBernardo Dominic PROPOSAL
Adams M GlickRussiaOnyama Limba NEGOTIATION
Jones R KolmetzAustraliaIoni Bowcher UNQUALIFIED
Costa U ChuiIndiaStephen Shaw QUALIFIED
Isabel Z MorascaAustraliaIvan Magalhaes PROPOSAL
Aruna W FollerBrazilXuxue Feng NEGOTIATION
Chavez G OstroskyArgentinaIvan Magalhaes QUALIFIED
Ashley N VenereAustraliaElwin Sharvill UNQUALIFIED
James S FigeroaItalyIoni Bowcher UNQUALIFIED
Adams S StockhamArgentinaStephen Shaw NEW
Octavia G PerinSpainOnyama Limba UNQUALIFIED
Kadeem C SergiGermanyAnna Fali RENEWAL
Maisha X SaylorsGermanyAsiya Javayant NEW
David J StockhamAustraliaOnyama Limba RENEWAL
Smith Z OstroskyRussiaStephen Shaw NEW
Mujtaba Q DilliardSpainStephen Shaw PROPOSAL
Francesco G GlickFranceAsiya Javayant PROPOSAL
Aika X MaletItalyOnyama Limba RENEWAL
Adams A StensethItalyElwin Sharvill PROPOSAL
Wickens C VocelkaFranceAsiya Javayant UNQUALIFIED
Cody P TollnerGermanyOnyama Limba 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>