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
Johnson F MaletGermanyElwin Sharvill NEGOTIATION
Izzy E IturbideRussiaAmy Elsner NEW
Leja Y KolmetzArgentinaElwin Sharvill NEW
Octavia J PerinSpainIvan Magalhaes UNQUALIFIED
Emily R BologniaAustraliaOnyama Limba QUALIFIED
David H MaletIndiaIoni Bowcher QUALIFIED
Octavia Z CampainCanadaIoni Bowcher QUALIFIED
Tony U SchemmerUnited KingdomBernardo Dominic RENEWAL
Emily H SlusarskiFranceStephen Shaw RENEWAL
David N OldroydBrazilAmy Elsner UNQUALIFIED
Greenwood L ShinkoAustraliaAmy Elsner QUALIFIED
Darci L AlbaresBrazilXuxue Feng QUALIFIED
Claire H InouyeArgentinaAmy Elsner RENEWAL
Chavez H WaycottGermanyOnyama Limba RENEWAL
Aruna H NickaFranceIoni Bowcher NEW
Wickens Q FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Morrow N RutaRussiaOnyama Limba UNQUALIFIED
Kaitlin W PoquetteSpainOnyama Limba RENEWAL
Johnson A FigeroaBrazilXuxue Feng UNQUALIFIED
Maria S NickaIndiaAnna Fali RENEWAL
Morrow A SchemmerFranceIoni Bowcher QUALIFIED
Costa I MaletArgentinaAsiya Javayant RENEWAL
Aika J KolmetzAustraliaStephen Shaw QUALIFIED
Jefferson D AlbaresJapanIoni Bowcher RENEWAL
Maria V SaylorsCanadaAnna Fali QUALIFIED
Smith H CaudyArgentinaElwin Sharvill UNQUALIFIED
Alejandro P WaycottRussiaStephen Shaw RENEWAL
Francesco W FollerArgentinaElwin Sharvill UNQUALIFIED
Aika T OstroskyGermanyElwin Sharvill PROPOSAL
Alejandro M GlickAustraliaIvan Magalhaes QUALIFIED
Kaitlin R CaldareraCanadaBernardo Dominic UNQUALIFIED
Francesco Q SaylorsAustraliaIoni Bowcher NEW
Tony Y IturbideUnited KingdomIvan Magalhaes QUALIFIED
Smith F DarakjyCanadaOnyama Limba PROPOSAL
Silvio A RulapaughIndiaAmy Elsner RENEWAL
Izzy E MacleadGermanyIvan Magalhaes PROPOSAL
Ricardo X GillianGermanyAmy Elsner PROPOSAL
Ricardo A StensethJapanAsiya Javayant QUALIFIED
Adams F CaudyAustraliaAsiya Javayant PROPOSAL
Aditya X InouyeRussiaXuxue Feng RENEWAL
Aruna P WaycottItalyStephen Shaw UNQUALIFIED
Greenwood K BowleyItalyOnyama Limba QUALIFIED
Sinclair U StensethItalyAsiya Javayant QUALIFIED
David P ChuiItalyBernardo Dominic QUALIFIED
Emily M RulapaughArgentinaIoni Bowcher RENEWAL
Johnson H CampainFranceBernardo Dominic QUALIFIED
Sinclair F ShinkoCanadaStephen Shaw PROPOSAL
Adams S InouyeGermanyStephen Shaw RENEWAL
Alejandro M MorascaAustraliaStephen Shaw RENEWAL
Silvio D VenereArgentinaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin F BologniaRussiaAnna Fali PROPOSAL
Wickens I AmigonCanadaAsiya Javayant NEW
Octavia I RulapaughIndiaIvan Magalhaes UNQUALIFIED
Clifford Z CaldareraJapanXuxue Feng RENEWAL
Stacey N StensethCanadaBernardo Dominic NEW
Julie P ButtFranceIvan Magalhaes UNQUALIFIED
Nicolas R ChuiIndiaAmy Elsner NEGOTIATION
Costa H WhobreyArgentinaOnyama Limba NEW
Morrow B RulapaughUnited KingdomBernardo Dominic NEW
Maisha I ShinkoAustraliaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez L RutaArgentina2024-06-22Dorl, James J Esq NEGOTIATION65Ioni Bowcher
1001Arvin K SlusarskiCanada2024-06-11Feiner Bros PROPOSAL18Asiya Javayant
1002Claire B CampainUnited Kingdom2024-05-26Morlong Associates NEGOTIATION73Asiya Javayant
1003Julie W GauchoJapan2024-06-10Feiner Bros QUALIFIED31Amy Elsner
1004Rodrigues A MaletItaly2024-06-18Dorl, James J Esq RENEWAL34Ioni Bowcher
1005Darci Y InouyeIndia2024-06-14Chemel, James L Cpa NEW62Onyama Limba
1006Jefferson E OldroydBrazil2024-05-27Truhlar And Truhlar Attys NEW96Elwin Sharvill
1007Greenwood G MorascaRussia2024-06-07Rangoni Of Florence QUALIFIED81Asiya Javayant
1008David W MarrierCanada2024-06-03Feltz Printing Service UNQUALIFIED11Ivan Magalhaes
1009Jones G WhobreyJapan2024-06-22Morlong Associates QUALIFIED35Bernardo Dominic
1010Silvio G RimSpain2024-06-13Morlong Associates PROPOSAL58Stephen Shaw
1011Octavia J SlusarskiItaly2024-06-10Morlong Associates NEGOTIATION62Asiya Javayant
1012Chavez W MaletJapan2024-06-07Benton, John B Jr UNQUALIFIED81Ioni Bowcher
1013Sinclair H StensethGermany2024-06-15Feiner Bros NEW48Ivan Magalhaes
1014Jefferson M MaletFrance2024-06-08Chanay, Jeffrey A Esq QUALIFIED47Ioni Bowcher
1015Chavez A StensethRussia2024-06-05Chapman, Ross E Esq NEW0Anna Fali
1016Murillo Y DilliardRussia2024-06-21Chanay, Jeffrey A Esq PROPOSAL26Onyama Limba
1017Chavez A KolmetzAustralia2024-05-28Feltz Printing Service UNQUALIFIED1Stephen Shaw
1018Cody P NestleSpain2024-06-04Feiner Bros PROPOSAL24Asiya Javayant
1019Julie J GillianCanada2024-06-06Chanay, Jeffrey A Esq RENEWAL65Bernardo Dominic
1020Nicolas S GlickIndia2024-06-04Commercial Press UNQUALIFIED43Stephen Shaw
1021Arvin I InouyeUnited Kingdom2024-06-02Feiner Bros QUALIFIED71Asiya Javayant
1022Izzy A MaletBrazil2024-06-18Feiner Bros QUALIFIED47Ivan Magalhaes
1023Emily C RoysterItaly2024-06-04Rangoni Of Florence NEW90Bernardo Dominic
1024Leon P GillianItaly2024-06-18Chapman, Ross E Esq QUALIFIED47Amy Elsner
1025Silvio I AmigonUnited Kingdom2024-06-09Printing Dimensions PROPOSAL7Elwin Sharvill
1026Isabel T StockhamFrance2024-06-03Chemel, James L Cpa PROPOSAL3Amy Elsner
1027Stacey K BowleyGermany2024-06-10Buckley Miller Wright PROPOSAL74Elwin Sharvill
1028Misaki V TollnerArgentina2024-06-16Dorl, James J Esq NEGOTIATION45Bernardo Dominic
1029Smith X OldroydBrazil2024-06-12Morlong Associates RENEWAL82Onyama Limba
1030Smith X DilliardFrance2024-05-29Truhlar And Truhlar Attys RENEWAL38Anna Fali
1031Cody O KuskoAustralia2024-06-01King, Christopher A Esq UNQUALIFIED36Bernardo Dominic
1032Sinclair Z DoeGermany2024-06-16Feiner Bros NEGOTIATION39Onyama Limba
1033Jefferson M BowleyItaly2024-05-27Feiner Bros NEW40Ioni Bowcher
1034Mujtaba Y ButtUnited Kingdom2024-06-17Feiner Bros RENEWAL4Amy Elsner
1035Tony R GillianArgentina2024-06-18Morlong Associates RENEWAL59Onyama Limba
1036Maisha R FollerFrance2024-06-01Printing Dimensions PROPOSAL87Xuxue Feng
1037Wickens J TollnerArgentina2024-06-15Dorl, James J Esq PROPOSAL3Stephen Shaw
1038Mayumi Q GarufiAustralia2024-06-19Chanay, Jeffrey A Esq NEGOTIATION79Ioni Bowcher
1039David Z VocelkaIndia2024-05-26Benton, John B Jr NEGOTIATION61Xuxue Feng
1040Maria E StensethGermany2024-05-24Dorl, James J Esq PROPOSAL29Stephen Shaw
1041Ashley X AlbaresArgentina2024-05-31Feltz Printing Service UNQUALIFIED59Anna Fali
1042Chavez P GauchoFrance2024-06-13Benton, John B Jr NEW42Elwin Sharvill
1043Deepesh W KolmetzIndia2024-06-17Rousseaux, Michael Esq UNQUALIFIED84Elwin Sharvill
1044Leon S MacleadUnited Kingdom2024-05-24King, Christopher A Esq QUALIFIED3Anna Fali
1045Faith O BologniaArgentina2024-06-14Rangoni Of Florence QUALIFIED33Anna Fali
1046Julie Q AlbaresItaly2024-06-07King, Christopher A Esq UNQUALIFIED96Ivan Magalhaes
1047Clifford C WieserCanada2024-05-31King, Christopher A Esq PROPOSAL52Onyama Limba
1048Rodrigues O GarufiUnited Kingdom2024-05-30Feiner Bros QUALIFIED60Bernardo Dominic
1049Mujtaba N IturbideFrance2024-06-08Rousseaux, Michael Esq UNQUALIFIED78Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Wickens P KuskoUnited KingdomStephen Shaw NEGOTIATION
Salvatore X CaudyUnited KingdomStephen Shaw NEW
Octavia S WieserAustraliaAnna Fali NEGOTIATION
James E MaletRussiaAmy Elsner RENEWAL
Rodrigues D RimFranceOnyama Limba NEGOTIATION
Jennifer B WieserArgentinaElwin Sharvill PROPOSAL
Clifford P ButtBrazilOnyama Limba RENEWAL
Munro Q PaprockiAustraliaStephen Shaw PROPOSAL
Tony M GlickIndiaAsiya Javayant RENEWAL
Octavia F SlusarskiAustraliaIoni Bowcher NEGOTIATION
Jefferson L TollnerFranceAnna Fali NEW
Jones N GillianSpainAmy Elsner UNQUALIFIED
Juan B FerenczSpainOnyama Limba NEW
Octavia A SchemmerGermanyBernardo Dominic NEGOTIATION
Nicolas C RimCanadaAsiya Javayant PROPOSAL
Kaitlin T MaletArgentinaIvan Magalhaes NEW
Jones U RimIndiaXuxue Feng RENEWAL
Ashley H WieserRussiaIoni Bowcher RENEWAL
Morrow N ShinkoItalyIvan Magalhaes NEW
Emily V MarrierGermanyIoni Bowcher NEW
Greenwood H DarakjyAustraliaAmy Elsner PROPOSAL
Leja W BriddickIndiaAmy Elsner RENEWAL
Juan M VocelkaSpainElwin Sharvill UNQUALIFIED
Faith Z FlosiJapanAnna Fali QUALIFIED
Jeanfrancois Y DoeArgentinaBernardo Dominic QUALIFIED
Octavia Q StensethGermanyElwin Sharvill UNQUALIFIED
Tony O WieserAustraliaXuxue Feng NEW
Mujtaba K RimUnited KingdomAnna Fali NEGOTIATION
Maisha Z ButtSpainOnyama Limba NEW
Sinclair O PaprockiArgentinaOnyama Limba QUALIFIED
Wickens A GillianAustraliaOnyama Limba NEGOTIATION
Maria G FlosiUnited KingdomAnna Fali NEW
Jones N RimGermanyAsiya Javayant UNQUALIFIED
Maria J StockhamBrazilIoni Bowcher QUALIFIED
Kaitlin M ButtIndiaOnyama Limba PROPOSAL
Tony P VenereGermanyAmy Elsner NEGOTIATION
Stacey O WieserGermanyAsiya Javayant NEGOTIATION
Aditya H OstroskyRussiaIoni Bowcher QUALIFIED
Johnson K MorascaAustraliaElwin Sharvill PROPOSAL
David Z WhobreyRussiaAnna Fali UNQUALIFIED
Silvio J AmigonBrazilAnna Fali NEW
Emily Z MorascaIndiaIvan Magalhaes QUALIFIED
Octavia I FigeroaFranceAnna Fali PROPOSAL
Morrow G AlbaresJapanAsiya Javayant UNQUALIFIED
Aika Y RulapaughRussiaStephen Shaw PROPOSAL
Jeanfrancois G PoquetteBrazilAnna Fali UNQUALIFIED
Kaitlin Q OstroskyCanadaIvan Magalhaes NEGOTIATION
Alejandro N BowleyArgentinaOnyama Limba NEW
Jones V RimItalyAnna Fali RENEWAL
Francesco H ShinkoAustraliaAmy Elsner RENEWAL
Frozen Columns
Name
Jennifer R Venere
Juan W Shinko
Ashley A Iturbide
Salvatore M Rim
Smith C Ruta
Murillo Z Albares
Chavez D Nicka
Ricardo X Malet
Greenwood R Caudy
Aruna S Slusarski
Johnson M Rim
Greenwood H Butt
Octavia L Bolognia
Kadeem H Morasca
Silvio N Venere
James C Bowley
Smith F Waycott
Jeanfrancois H Bowley
Kaitlin X Albares
Munro L Garufi
Juan S Saylors
Emily H Nestle
Ricardo C Maclead
Kaitlin P Morasca
Rodrigues H Caldarera
Ivar J Ruta
Kaitlin Q Venere
Murillo L Darakjy
Faith P Poquette
Jefferson A Morasca
Maria G Stenseth
Izzy Q Glick
Morrow P Kusko
Aika Y Sergi
Izzy F Amigon
Arvin J Malet
Stacey F Kolmetz
Antonio C Saylors
Aika K Darakjy
Smith N Malet
James B Glick
Darci T Gaucho
Costa V Maclead
Antonio V Albares
Misaki S Foller
Jennifer S Morasca
Clifford R Caudy
Silvio J Campain
Kadeem D Doe
Maisha H Doe
IdCountryDate
1000Germany2024-05-26
1001Spain2024-06-01
1002Australia2024-05-26
1003Brazil2024-06-20
1004Argentina2024-05-26
1005Brazil2024-06-04
1006Russia2024-05-24
1007France2024-05-28
1008Russia2024-05-29
1009Argentina2024-05-26
1010Italy2024-06-04
1011United Kingdom2024-06-10
1012United Kingdom2024-06-06
1013Australia2024-05-28
1014Australia2024-06-10
1015Brazil2024-06-19
1016Spain2024-05-25
1017Japan2024-06-19
1018Japan2024-06-03
1019Brazil2024-06-13
1020Italy2024-06-11
1021Japan2024-06-18
1022India2024-06-03
1023Japan2024-06-19
1024Italy2024-06-19
1025Australia2024-05-31
1026Australia2024-06-12
1027Spain2024-06-11
1028Argentina2024-06-01
1029France2024-06-01
1030India2024-06-15
1031Germany2024-05-31
1032Canada2024-06-04
1033Australia2024-06-19
1034Argentina2024-06-10
1035Brazil2024-05-27
1036Argentina2024-06-15
1037Spain2024-06-13
1038Japan2024-05-29
1039France2024-06-22
1040Germany2024-05-28
1041France2024-05-29
1042Spain2024-06-04
1043Spain2024-06-04
1044Germany2024-05-28
1045Japan2024-05-29
1046Spain2024-06-22
1047Spain2024-05-26
1048Argentina2024-06-21
1049Italy2024-06-02

On-Demand Data

NameIdCountryDate
Johnson Z Stockham1000Brazil2024-05-28
Mayumi M Caldarera1001Italy2024-06-16
Stacey C Iturbide1002Germany2024-06-07
Stacey Y Butt1003Spain2024-06-06
Stacey Q Amigon1004Brazil2024-06-01
Jennifer G Gillian1005United Kingdom2024-06-09
Aika K Dilliard1006Brazil2024-05-24
Arvin H Caudy1007Germany2024-06-12
Claire X Perin1008Australia2024-06-09
Isabel K Figeroa1009Canada2024-06-21
Aika H Ruta1010France2024-06-18
Johnson M Briddick1011Argentina2024-06-09
Emily Y Nestle1012Argentina2024-06-20
Juan Y Bolognia1013Canada2024-06-12
Emily B Albares1014Italy2024-05-29
Isabel Z Darakjy1015Spain2024-06-09
Clifford Q Inouye1016United Kingdom2024-05-27
Aruna Y Briddick1017Japan2024-05-28
Leon J Tollner1018Germany2024-06-01
Izzy J Chui1019Spain2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Q MorascaSpainBernardo Dominic QUALIFIED
Mayumi M SchemmerRussiaAnna Fali UNQUALIFIED
Adams F NestleGermanyIvan Magalhaes QUALIFIED
Salvatore R IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Adams Z OstroskyArgentinaIvan Magalhaes PROPOSAL
Wickens R InouyeAustraliaOnyama Limba UNQUALIFIED
Salvatore Y SchemmerBrazilStephen Shaw RENEWAL
Ashley J CampainJapanAmy Elsner NEGOTIATION
Arvin S VenereSpainAsiya Javayant NEGOTIATION
Ashley L RulapaughFranceBernardo Dominic QUALIFIED
Johnson A BriddickGermanyBernardo Dominic RENEWAL
Morrow D NickaJapanAnna Fali PROPOSAL
Greenwood G WaycottItalyXuxue Feng RENEWAL
Juan G DilliardSpainAnna Fali RENEWAL
Julie U PerinJapanIvan Magalhaes NEW
Morrow Z MorascaArgentinaAnna Fali RENEWAL
Murillo U StensethUnited KingdomOnyama Limba NEGOTIATION
Leon W WaycottItalyIoni Bowcher PROPOSAL
Morrow S MorascaJapanAsiya Javayant NEGOTIATION
Leon N ChuiRussiaIvan Magalhaes NEGOTIATION
Jennifer N WhobreyFranceXuxue Feng NEGOTIATION
Juan D AlbaresUnited KingdomAmy Elsner QUALIFIED
Julie X FerenczIndiaAnna Fali PROPOSAL
Aika G CaudyArgentinaXuxue Feng NEW
Juan I MaletIndiaStephen Shaw NEW
Julie F OldroydRussiaAnna Fali RENEWAL
Jeanfrancois O WieserIndiaOnyama Limba QUALIFIED
Francesco B TollnerAustraliaAmy Elsner RENEWAL
Johnson C AlbaresFranceElwin Sharvill UNQUALIFIED
Nicolas Q CaudyIndiaOnyama Limba NEGOTIATION
Maisha R StensethItalyStephen Shaw PROPOSAL
James Z FigeroaAustraliaBernardo Dominic QUALIFIED
Munro M FollerFranceIoni Bowcher QUALIFIED
Johnson W AmigonCanadaIoni Bowcher QUALIFIED
Misaki C MaletArgentinaXuxue Feng NEW
Jeanfrancois Q KolmetzRussiaElwin Sharvill NEW
Aruna D CaldareraJapanAmy Elsner NEW
Leja T DilliardRussiaOnyama Limba RENEWAL
Silvio B BowleyGermanyAnna Fali UNQUALIFIED
Francesco I IturbideItalyOnyama Limba 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>