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
Kadeem L AmigonRussiaOnyama Limba PROPOSAL
Johnson W RoysterItalyIvan Magalhaes QUALIFIED
Mujtaba F FlosiFranceIoni Bowcher QUALIFIED
Aika J GauchoIndiaBernardo Dominic NEW
Johnson X MorascaSpainAnna Fali RENEWAL
Costa B WhobreyIndiaOnyama Limba PROPOSAL
Arvin U StensethJapanAmy Elsner NEGOTIATION
Claire G SchemmerRussiaAmy Elsner QUALIFIED
Julie M NestleRussiaOnyama Limba RENEWAL
Aika I BriddickAustraliaAmy Elsner QUALIFIED
Kadeem V RutaFranceAnna Fali PROPOSAL
Ricardo R WieserUnited KingdomIvan Magalhaes RENEWAL
Darci Q PoquetteBrazilIoni Bowcher RENEWAL
Mayumi V MorascaArgentinaBernardo Dominic QUALIFIED
Munro T TollnerJapanIvan Magalhaes NEW
Francesco D PaprockiJapanXuxue Feng NEGOTIATION
Aruna K NickaJapanAsiya Javayant NEW
Jones X CaudyFranceAnna Fali QUALIFIED
Silvio R VenereGermanyAnna Fali QUALIFIED
Jefferson X GarufiAustraliaOnyama Limba RENEWAL
David E MorascaGermanyOnyama Limba PROPOSAL
Cody V OldroydSpainAmy Elsner RENEWAL
Misaki K RoysterAustraliaAnna Fali NEGOTIATION
Mujtaba Y WieserSpainAsiya Javayant NEW
Aika Z RulapaughItalyOnyama Limba RENEWAL
Leon K KuskoArgentinaAmy Elsner PROPOSAL
James I SaylorsGermanyXuxue Feng QUALIFIED
Mujtaba L FlosiFranceIoni Bowcher RENEWAL
Ricardo E DilliardAustraliaBernardo Dominic RENEWAL
Leja Y DilliardIndiaAmy Elsner QUALIFIED
Misaki Q VenereItalyStephen Shaw NEW
Maisha A DilliardSpainXuxue Feng QUALIFIED
Clifford K DilliardGermanyAnna Fali PROPOSAL
Aruna J FerenczSpainOnyama Limba RENEWAL
Deepesh U MaletCanadaIoni Bowcher UNQUALIFIED
Aditya Z SergiJapanAmy Elsner UNQUALIFIED
Izzy N StensethFranceStephen Shaw QUALIFIED
Antonio Q ButtCanadaIvan Magalhaes NEW
David V FlosiRussiaAsiya Javayant RENEWAL
Nicolas U GauchoCanadaIvan Magalhaes RENEWAL
Greenwood X OstroskyCanadaOnyama Limba QUALIFIED
Antonio O CampainGermanyBernardo Dominic NEGOTIATION
Murillo U GauchoIndiaIvan Magalhaes NEGOTIATION
James F RulapaughCanadaStephen Shaw NEGOTIATION
Aruna K KuskoAustraliaXuxue Feng UNQUALIFIED
Misaki Q PoquetteIndiaAsiya Javayant PROPOSAL
Kadeem S MacleadSpainBernardo Dominic RENEWAL
Izzy E AlbaresFranceStephen Shaw PROPOSAL
Wickens Y IturbideItalyXuxue Feng PROPOSAL
Adams Y WhobreyAustraliaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire N DoeCanadaAnna Fali QUALIFIED
Maria A KolmetzAustraliaAnna Fali UNQUALIFIED
Johnson J ButtGermanyStephen Shaw QUALIFIED
Silvio A GauchoArgentinaXuxue Feng UNQUALIFIED
Adams M BowleyRussiaAnna Fali UNQUALIFIED
Leja J GlickCanadaAnna Fali NEGOTIATION
Johnson J FlosiItalyIvan Magalhaes QUALIFIED
Maisha N MaletAustraliaXuxue Feng NEW
Munro U RimRussiaAnna Fali RENEWAL
Adams U TollnerItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki H FigeroaIndia2024-10-29Feltz Printing Service RENEWAL72Ivan Magalhaes
1001Rodrigues K RulapaughArgentina2024-10-18Truhlar And Truhlar Attys PROPOSAL18Ioni Bowcher
1002Clifford S DarakjyItaly2024-10-08King, Christopher A Esq PROPOSAL64Xuxue Feng
1003Costa N DoeCanada2024-10-11Feltz Printing Service NEW1Onyama Limba
1004Adams M OldroydFrance2024-10-12Printing Dimensions UNQUALIFIED47Bernardo Dominic
1005Rodrigues O KolmetzGermany2024-10-24Morlong Associates QUALIFIED65Onyama Limba
1006Juan A SchemmerRussia2024-10-17Printing Dimensions NEW11Ivan Magalhaes
1007Greenwood U DoeUnited Kingdom2024-10-10Morlong Associates PROPOSAL63Elwin Sharvill
1008Tony K GlickAustralia2024-10-28Chapman, Ross E Esq NEW65Amy Elsner
1009Murillo H FollerRussia2024-10-14Feiner Bros NEW7Stephen Shaw
1010Cody B NickaBrazil2024-10-21Rangoni Of Florence QUALIFIED40Stephen Shaw
1011Ivar C KuskoArgentina2024-10-26King, Christopher A Esq QUALIFIED84Bernardo Dominic
1012Maisha J GillianSpain2024-10-17Chanay, Jeffrey A Esq UNQUALIFIED90Asiya Javayant
1013Stacey R VocelkaUnited Kingdom2024-10-27Chapman, Ross E Esq UNQUALIFIED5Ioni Bowcher
1014Mujtaba H VenereUnited Kingdom2024-10-16Chapman, Ross E Esq RENEWAL77Amy Elsner
1015Leon A TollnerItaly2024-10-30Feltz Printing Service RENEWAL29Ivan Magalhaes
1016Greenwood E AmigonSpain2024-10-24Commercial Press UNQUALIFIED24Anna Fali
1017Maisha O GlickUnited Kingdom2024-10-27Morlong Associates NEW62Xuxue Feng
1018Jones V MacleadJapan2024-10-18Chanay, Jeffrey A Esq UNQUALIFIED18Amy Elsner
1019Morrow K MaletUnited Kingdom2024-10-14King, Christopher A Esq NEGOTIATION11Stephen Shaw
1020Costa E PoquetteAustralia2024-10-07Chanay, Jeffrey A Esq NEGOTIATION62Elwin Sharvill
1021Murillo F AmigonJapan2024-10-12Rangoni Of Florence PROPOSAL95Ioni Bowcher
1022Misaki Z DilliardFrance2024-10-06Dorl, James J Esq NEGOTIATION71Ivan Magalhaes
1023Francesco I KolmetzBrazil2024-10-10Chemel, James L Cpa NEGOTIATION84Bernardo Dominic
1024Darci J FollerSpain2024-10-28Printing Dimensions PROPOSAL40Anna Fali
1025Deepesh Q OldroydJapan2024-10-23Feltz Printing Service UNQUALIFIED57Asiya Javayant
1026Juan Q BriddickAustralia2024-10-03Morlong Associates UNQUALIFIED51Asiya Javayant
1027Clifford K MorascaJapan2024-10-18Buckley Miller Wright NEW11Anna Fali
1028Mayumi U CampainBrazil2024-10-05Commercial Press QUALIFIED92Xuxue Feng
1029Greenwood O SergiSpain2024-10-09Feiner Bros QUALIFIED42Elwin Sharvill
1030Rodrigues T MaletUnited Kingdom2024-10-25Chapman, Ross E Esq UNQUALIFIED68Bernardo Dominic
1031Kadeem A VenereBrazil2024-10-26Buckley Miller Wright PROPOSAL99Onyama Limba
1032Juan K MacleadArgentina2024-10-21Buckley Miller Wright NEGOTIATION48Ioni Bowcher
1033Greenwood G SchemmerCanada2024-10-30Benton, John B Jr PROPOSAL72Amy Elsner
1034Antonio B SaylorsGermany2024-10-16Printing Dimensions NEGOTIATION75Ioni Bowcher
1035Leja D TollnerRussia2024-10-17King, Christopher A Esq NEGOTIATION74Anna Fali
1036Aruna W StensethCanada2024-10-29King, Christopher A Esq PROPOSAL57Ioni Bowcher
1037Smith Q SaylorsJapan2024-10-18Buckley Miller Wright QUALIFIED72Bernardo Dominic
1038Ricardo I GlickFrance2024-10-31Printing Dimensions NEGOTIATION12Amy Elsner
1039Alejandro X GarufiItaly2024-10-10Chanay, Jeffrey A Esq PROPOSAL50Ivan Magalhaes
1040Aditya K RoysterGermany2024-10-20Rangoni Of Florence PROPOSAL12Amy Elsner
1041Leon C CaldareraCanada2024-10-24King, Christopher A Esq RENEWAL62Amy Elsner
1042Jennifer Y DarakjyJapan2024-10-24King, Christopher A Esq PROPOSAL1Stephen Shaw
1043Greenwood N SlusarskiSpain2024-10-31Chapman, Ross E Esq NEGOTIATION29Elwin Sharvill
1044Ivar Y AmigonAustralia2024-10-05Truhlar And Truhlar Attys NEGOTIATION51Ivan Magalhaes
1045Julie S KuskoSpain2024-10-08Morlong Associates NEW18Stephen Shaw
1046Aika D FerenczUnited Kingdom2024-10-20King, Christopher A Esq PROPOSAL99Xuxue Feng
1047Cody D SlusarskiUnited Kingdom2024-10-17Chapman, Ross E Esq NEGOTIATION63Ioni Bowcher
1048James Z MacleadJapan2024-10-03Commercial Press QUALIFIED2Stephen Shaw
1049Francesco P CampainFrance2024-10-04Commercial Press PROPOSAL3Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois N PoquetteIndiaAsiya Javayant RENEWAL
Mujtaba N VenereUnited KingdomOnyama Limba QUALIFIED
Maisha Z ShinkoRussiaXuxue Feng RENEWAL
Ashley X WhobreyIndiaStephen Shaw QUALIFIED
Mujtaba X GlickUnited KingdomXuxue Feng NEGOTIATION
Aruna L DoeRussiaOnyama Limba QUALIFIED
Nicolas A StensethFranceBernardo Dominic QUALIFIED
Aruna L CaldareraItalyAsiya Javayant RENEWAL
Adams G OstroskyAustraliaAsiya Javayant NEGOTIATION
Deepesh K NickaFranceBernardo Dominic QUALIFIED
Jeanfrancois D SlusarskiIndiaAsiya Javayant PROPOSAL
Sinclair P RoysterSpainIoni Bowcher UNQUALIFIED
Silvio O RoysterIndiaElwin Sharvill UNQUALIFIED
Sinclair I BowleyRussiaXuxue Feng RENEWAL
Johnson F WhobreyFranceAsiya Javayant NEW
Deepesh E MarrierSpainAmy Elsner QUALIFIED
Sinclair H InouyeJapanAmy Elsner UNQUALIFIED
Adams B ShinkoJapanXuxue Feng UNQUALIFIED
Stacey V KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Johnson P FlosiUnited KingdomStephen Shaw NEW
Misaki L OldroydJapanIvan Magalhaes UNQUALIFIED
Maisha F DilliardFranceElwin Sharvill NEGOTIATION
Aika I SchemmerArgentinaXuxue Feng UNQUALIFIED
Mayumi R KolmetzIndiaIvan Magalhaes NEGOTIATION
Stacey I RulapaughCanadaStephen Shaw NEW
Johnson Y KolmetzRussiaBernardo Dominic QUALIFIED
Mujtaba K StensethGermanyXuxue Feng UNQUALIFIED
Cody K MorascaBrazilAnna Fali RENEWAL
Emily D WaycottItalyXuxue Feng QUALIFIED
Julie L RutaCanadaStephen Shaw NEW
James P KolmetzCanadaIoni Bowcher NEGOTIATION
Chavez G StockhamCanadaOnyama Limba NEGOTIATION
Murillo E AmigonArgentinaStephen Shaw NEGOTIATION
David W InouyeFranceIvan Magalhaes RENEWAL
Cody P SchemmerItalyIvan Magalhaes RENEWAL
Antonio F WieserArgentinaXuxue Feng RENEWAL
Mujtaba Z SaylorsUnited KingdomXuxue Feng RENEWAL
Aika I SaylorsCanadaIoni Bowcher UNQUALIFIED
Morrow M RimFranceElwin Sharvill RENEWAL
Adams Q PoquetteRussiaXuxue Feng QUALIFIED
Tony L TollnerUnited KingdomBernardo Dominic NEGOTIATION
Murillo K BowleyBrazilAsiya Javayant QUALIFIED
Aruna H SlusarskiSpainAmy Elsner QUALIFIED
Jennifer F AmigonSpainIoni Bowcher UNQUALIFIED
Mujtaba X AmigonCanadaIvan Magalhaes NEGOTIATION
Faith E FigeroaItalyXuxue Feng PROPOSAL
Maisha V WaycottFranceIvan Magalhaes UNQUALIFIED
Isabel A CaudyIndiaAnna Fali NEW
Isabel K DilliardFranceAsiya Javayant RENEWAL
Kadeem O MarrierSpainOnyama Limba UNQUALIFIED
Frozen Columns
Name
Isabel E Iturbide
Kadeem Q Foller
Izzy I Darakjy
Rodrigues A Bowley
Morrow Z Wieser
Antonio N Bowley
Munro L Gaucho
Johnson I Ferencz
Silvio J Kusko
Kadeem C Stenseth
Darci F Albares
Mujtaba N Oldroyd
Mayumi Y Nestle
Wickens V Garufi
Maria K Caldarera
Arvin B Marrier
Antonio X Ruta
Cody N Morasca
Leon V Malet
Greenwood H Sergi
Misaki M Caudy
Aditya Y Glick
Aruna O Stockham
James Z Glick
Nicolas R Waycott
Aruna Y Malet
Emily W Albares
Ivar U Morasca
Smith S Schemmer
Jones S Whobrey
Maisha J Campain
Greenwood F Tollner
Costa I Malet
David G Amigon
Faith M Oldroyd
Ricardo Z Poquette
Francesco U Whobrey
Alejandro M Saylors
Rodrigues W Perin
Rodrigues A Kolmetz
Jefferson W Stockham
Claire U Slusarski
Nicolas L Chui
Arvin C Maclead
Johnson V Vocelka
Jennifer G Bolognia
Jennifer S Ruta
Tony J Ostrosky
Maisha N Garufi
Darci Q Darakjy
IdCountryDate
1000France2024-10-27
1001France2024-10-30
1002Germany2024-10-08
1003Italy2024-10-18
1004Brazil2024-10-17
1005United Kingdom2024-10-28
1006Italy2024-10-30
1007Canada2024-10-24
1008France2024-10-21
1009Australia2024-10-21
1010Brazil2024-10-30
1011United Kingdom2024-10-24
1012Argentina2024-10-13
1013Japan2024-10-22
1014United Kingdom2024-10-08
1015France2024-10-11
1016Brazil2024-10-06
1017Italy2024-10-08
1018France2024-10-07
1019United Kingdom2024-10-19
1020United Kingdom2024-10-24
1021Argentina2024-10-21
1022India2024-10-11
1023Brazil2024-10-28
1024Russia2024-10-22
1025Argentina2024-10-03
1026Australia2024-10-23
1027Australia2024-10-02
1028Italy2024-10-09
1029Germany2024-10-29
1030Italy2024-10-26
1031Germany2024-10-17
1032Japan2024-10-02
1033Japan2024-10-31
1034Russia2024-10-06
1035Italy2024-10-06
1036Argentina2024-10-06
1037Germany2024-10-19
1038Argentina2024-10-29
1039Brazil2024-10-26
1040United Kingdom2024-10-10
1041Spain2024-10-07
1042Argentina2024-10-15
1043Argentina2024-10-13
1044Canada2024-10-12
1045United Kingdom2024-10-17
1046Russia2024-10-21
1047Italy2024-10-25
1048United Kingdom2024-10-28
1049Germany2024-10-28

On-Demand Data

NameIdCountryDate
Cody G Kolmetz1000Japan2024-10-06
Kaitlin G Morasca1001Italy2024-10-21
Octavia G Figeroa1002United Kingdom2024-10-24
Ricardo W Malet1003United Kingdom2024-10-20
Jefferson G Whobrey1004Brazil2024-10-30
David P Whobrey1005United Kingdom2024-10-14
Cody V Vocelka1006Italy2024-10-13
Costa V Malet1007Australia2024-10-16
Ricardo N Vocelka1008Argentina2024-10-22
Alejandro U Ferencz1009France2024-10-18
Juan D Chui1010Canada2024-10-29
Rodrigues O Stenseth1011Australia2024-10-07
Isabel I Butt1012Argentina2024-10-26
Jones W Bowley1013Argentina2024-10-18
Darci C Stenseth1014Japan2024-10-30
Mujtaba T Gillian1015Italy2024-10-24
Sinclair E Butt1016Spain2024-10-17
Kadeem C Chui1017Japan2024-10-12
Maisha Q Albares1018United Kingdom2024-10-17
Arvin J Maclead1019Germany2024-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair X BowleyFranceXuxue Feng QUALIFIED
Deepesh L SchemmerArgentinaAsiya Javayant NEGOTIATION
Murillo X WhobreyItalyAmy Elsner PROPOSAL
Faith O PerinJapanAsiya Javayant NEW
Alejandro K PerinArgentinaAmy Elsner QUALIFIED
David A BriddickRussiaAnna Fali UNQUALIFIED
Maria R BowleyBrazilAsiya Javayant PROPOSAL
Izzy A MorascaCanadaXuxue Feng NEGOTIATION
David T BriddickGermanyBernardo Dominic PROPOSAL
Emily C CaldareraItalyIoni Bowcher NEW
Morrow X RimAustraliaIoni Bowcher PROPOSAL
Cody U RoysterJapanIvan Magalhaes PROPOSAL
Munro G TollnerFranceStephen Shaw NEW
David O VenereJapanIvan Magalhaes NEGOTIATION
Nicolas J KolmetzJapanAnna Fali NEGOTIATION
David V OldroydItalyOnyama Limba UNQUALIFIED
Salvatore Q MacleadIndiaBernardo Dominic RENEWAL
Nicolas L WieserIndiaBernardo Dominic NEGOTIATION
James R GillianItalyAsiya Javayant QUALIFIED
Kadeem B AlbaresFranceAnna Fali NEW
Jennifer V SchemmerFranceAmy Elsner QUALIFIED
Misaki P KolmetzAustraliaAmy Elsner NEW
Tony X StockhamRussiaXuxue Feng NEGOTIATION
Silvio A RoysterIndiaAnna Fali NEGOTIATION
Chavez E PoquetteArgentinaBernardo Dominic QUALIFIED
Stacey P SlusarskiRussiaAsiya Javayant UNQUALIFIED
Arvin K TollnerRussiaIoni Bowcher NEW
Deepesh S AlbaresIndiaAnna Fali RENEWAL
Smith W SaylorsAustraliaIoni Bowcher RENEWAL
Mayumi G GarufiUnited KingdomStephen Shaw NEW
Izzy Y CaudyBrazilStephen Shaw UNQUALIFIED
Murillo S PerinJapanIvan Magalhaes PROPOSAL
Jones W RoysterItalyIoni Bowcher QUALIFIED
Nicolas C StensethSpainElwin Sharvill QUALIFIED
Aruna D GauchoRussiaAmy Elsner QUALIFIED
Costa C ChuiSpainIvan Magalhaes QUALIFIED
Mujtaba G OldroydRussiaAsiya Javayant QUALIFIED
Mujtaba V RulapaughRussiaIvan Magalhaes RENEWAL
Arvin G PoquetteGermanyBernardo Dominic RENEWAL
Johnson W AmigonUnited KingdomBernardo 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>