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
Claire W ButtFranceBernardo Dominic NEW
Stacey A AlbaresIndiaElwin Sharvill PROPOSAL
Arvin L StensethAustraliaXuxue Feng UNQUALIFIED
Ashley W ButtCanadaXuxue Feng UNQUALIFIED
Misaki V SlusarskiArgentinaIvan Magalhaes QUALIFIED
Stacey P GillianRussiaIvan Magalhaes PROPOSAL
Alejandro K PerinJapanOnyama Limba NEW
Mayumi N OstroskyAustraliaElwin Sharvill NEW
Octavia X VocelkaCanadaIvan Magalhaes NEGOTIATION
Cody K StensethGermanyAnna Fali UNQUALIFIED
Misaki Y RoysterUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois P GauchoJapanOnyama Limba UNQUALIFIED
Morrow N SchemmerItalyOnyama Limba NEW
Deepesh W OldroydAustraliaAmy Elsner PROPOSAL
Jeanfrancois X IturbideIndiaStephen Shaw NEW
Murillo G AlbaresFranceIvan Magalhaes PROPOSAL
Arvin J CampainGermanyAnna Fali QUALIFIED
Claire W CampainBrazilAsiya Javayant NEGOTIATION
Emily B PerinGermanyAmy Elsner QUALIFIED
Darci K CampainUnited KingdomElwin Sharvill NEGOTIATION
Mujtaba V StensethIndiaXuxue Feng NEGOTIATION
Munro Z BologniaUnited KingdomXuxue Feng NEW
Tony Q NickaFranceBernardo Dominic RENEWAL
Smith P VocelkaRussiaStephen Shaw RENEWAL
Chavez U WieserUnited KingdomAmy Elsner NEGOTIATION
Johnson D StockhamItalyAmy Elsner PROPOSAL
Isabel V StensethGermanyAnna Fali UNQUALIFIED
Greenwood H VenereItalyBernardo Dominic PROPOSAL
Alejandro T BologniaJapanStephen Shaw UNQUALIFIED
Costa Z SchemmerJapanElwin Sharvill NEGOTIATION
Leja T DarakjySpainBernardo Dominic RENEWAL
Faith I WaycottArgentinaIoni Bowcher NEW
Greenwood M MaletJapanAmy Elsner NEGOTIATION
Deepesh C KuskoJapanBernardo Dominic RENEWAL
Aika I WhobreyItalyAnna Fali QUALIFIED
James P StensethIndiaAmy Elsner QUALIFIED
Francesco W CaudyRussiaStephen Shaw UNQUALIFIED
James E CampainSpainAsiya Javayant RENEWAL
Claire J DarakjyIndiaXuxue Feng UNQUALIFIED
Jennifer Z BriddickCanadaOnyama Limba NEW
Costa W AmigonFranceElwin Sharvill RENEWAL
Tony G FigeroaArgentinaAnna Fali UNQUALIFIED
Leja R CaudyFranceBernardo Dominic UNQUALIFIED
Clifford O CaudyBrazilOnyama Limba UNQUALIFIED
Murillo E SlusarskiItalyIvan Magalhaes PROPOSAL
Aika G MarrierSpainAnna Fali RENEWAL
Maisha K WhobreyArgentinaAsiya Javayant UNQUALIFIED
Misaki N RoysterIndiaOnyama Limba UNQUALIFIED
Sinclair M NickaRussiaStephen Shaw NEGOTIATION
Aruna Q StockhamRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi D MorascaArgentinaOnyama Limba UNQUALIFIED
Antonio H DoeArgentinaStephen Shaw PROPOSAL
Darci U ButtArgentinaXuxue Feng UNQUALIFIED
Darci K SlusarskiJapanBernardo Dominic NEGOTIATION
Mujtaba G RutaGermanyOnyama Limba QUALIFIED
Aditya R PoquetteBrazilIoni Bowcher RENEWAL
Ivar D PoquetteSpainStephen Shaw RENEWAL
Claire G SchemmerIndiaXuxue Feng NEGOTIATION
Morrow J SlusarskiAustraliaIoni Bowcher NEGOTIATION
Jones I FollerUnited KingdomIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia W MacleadArgentina2024-06-02Rousseaux, Michael Esq PROPOSAL85Ioni Bowcher
1001Stacey R DoeBrazil2024-06-21Chemel, James L Cpa PROPOSAL62Ioni Bowcher
1002Aika K NestleJapan2024-06-05Chapman, Ross E Esq PROPOSAL73Onyama Limba
1003Alejandro K BriddickGermany2024-05-26Chanay, Jeffrey A Esq RENEWAL67Xuxue Feng
1004Aruna N GlickSpain2024-06-06Rangoni Of Florence NEW71Ivan Magalhaes
1005Jones U RoysterCanada2024-06-21Truhlar And Truhlar Attys UNQUALIFIED7Elwin Sharvill
1006Aika Q WaycottIndia2024-06-20Dorl, James J Esq PROPOSAL31Ivan Magalhaes
1007Johnson T RutaIndia2024-06-08Commercial Press QUALIFIED11Anna Fali
1008Kadeem N VenereUnited Kingdom2024-05-26Printing Dimensions NEGOTIATION16Bernardo Dominic
1009Jefferson B DarakjyUnited Kingdom2024-06-16Truhlar And Truhlar Attys UNQUALIFIED32Elwin Sharvill
1010Johnson Z SchemmerUnited Kingdom2024-05-31Feiner Bros PROPOSAL70Ioni Bowcher
1011Johnson R VenereCanada2024-05-26Feltz Printing Service QUALIFIED26Ioni Bowcher
1012Cody Z StensethItaly2024-06-12Morlong Associates QUALIFIED90Onyama Limba
1013Jefferson A FlosiGermany2024-06-20Dorl, James J Esq NEW47Onyama Limba
1014Salvatore V GillianArgentina2024-06-02Printing Dimensions NEW49Bernardo Dominic
1015Tony U VocelkaIndia2024-06-04Feiner Bros NEW62Elwin Sharvill
1016Jeanfrancois B VenereRussia2024-06-14King, Christopher A Esq NEW22Asiya Javayant
1017Misaki K GarufiArgentina2024-05-28Morlong Associates QUALIFIED39Stephen Shaw
1018Juan Z MaletArgentina2024-05-29Morlong Associates NEGOTIATION44Bernardo Dominic
1019Leon E GlickFrance2024-05-31Truhlar And Truhlar Attys PROPOSAL87Amy Elsner
1020Leja K MacleadItaly2024-06-22Printing Dimensions NEGOTIATION69Onyama Limba
1021Alejandro J StockhamAustralia2024-06-17King, Christopher A Esq NEGOTIATION2Amy Elsner
1022Adams V MaletFrance2024-06-20Buckley Miller Wright NEW3Bernardo Dominic
1023Leja F RutaJapan2024-06-17Feltz Printing Service NEW41Ioni Bowcher
1024Maria I PaprockiCanada2024-06-16Dorl, James J Esq QUALIFIED52Asiya Javayant
1025Deepesh X CampainJapan2024-05-24Chemel, James L Cpa PROPOSAL51Amy Elsner
1026Deepesh E GarufiBrazil2024-05-28Rousseaux, Michael Esq NEW94Bernardo Dominic
1027Costa I AlbaresBrazil2024-05-25Chemel, James L Cpa NEGOTIATION69Ivan Magalhaes
1028Izzy K DoeRussia2024-06-04Chanay, Jeffrey A Esq NEGOTIATION13Xuxue Feng
1029Clifford I DilliardSpain2024-05-24Printing Dimensions QUALIFIED26Ioni Bowcher
1030Juan E FerenczArgentina2024-06-19Feltz Printing Service QUALIFIED1Anna Fali
1031Smith J MaletJapan2024-06-13Rangoni Of Florence NEGOTIATION17Onyama Limba
1032Juan B GarufiBrazil2024-06-08Chanay, Jeffrey A Esq NEGOTIATION62Asiya Javayant
1033Morrow P SergiIndia2024-06-11Feiner Bros NEW31Ioni Bowcher
1034James L WieserAustralia2024-06-05King, Christopher A Esq UNQUALIFIED94Amy Elsner
1035Greenwood D KuskoArgentina2024-06-09Rangoni Of Florence NEW73Xuxue Feng
1036Adams C BriddickRussia2024-06-03Commercial Press NEGOTIATION28Anna Fali
1037Morrow H StockhamCanada2024-06-11Chapman, Ross E Esq NEW42Bernardo Dominic
1038Silvio Z ButtJapan2024-06-04Chanay, Jeffrey A Esq QUALIFIED99Bernardo Dominic
1039Costa R FollerSpain2024-05-26Feiner Bros PROPOSAL95Asiya Javayant
1040Deepesh H RutaUnited Kingdom2024-06-15Rousseaux, Michael Esq UNQUALIFIED29Stephen Shaw
1041Juan G VenereBrazil2024-06-11King, Christopher A Esq NEW75Anna Fali
1042Tony L MarrierBrazil2024-06-11Chanay, Jeffrey A Esq RENEWAL98Ivan Magalhaes
1043Octavia K FerenczSpain2024-06-11Feiner Bros UNQUALIFIED6Ivan Magalhaes
1044Kaitlin Z PoquetteUnited Kingdom2024-05-31Buckley Miller Wright NEW81Xuxue Feng
1045Arvin P WaycottUnited Kingdom2024-06-20Buckley Miller Wright NEGOTIATION59Asiya Javayant
1046Leon D GarufiFrance2024-06-13Commercial Press UNQUALIFIED85Bernardo Dominic
1047Claire A FerenczSpain2024-06-08Morlong Associates RENEWAL26Onyama Limba
1048Silvio T BowleyBrazil2024-05-28Printing Dimensions PROPOSAL30Ivan Magalhaes
1049Morrow E OldroydAustralia2024-05-28Benton, John B Jr NEGOTIATION63Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria M StockhamAustraliaOnyama Limba QUALIFIED
Deepesh B CaudyArgentinaAnna Fali RENEWAL
Cody S ShinkoSpainBernardo Dominic PROPOSAL
Jefferson W PaprockiSpainBernardo Dominic PROPOSAL
Nicolas U BologniaIndiaOnyama Limba NEGOTIATION
Jeanfrancois Z WhobreySpainAsiya Javayant NEGOTIATION
Rodrigues B GillianIndiaBernardo Dominic RENEWAL
Clifford S GillianCanadaXuxue Feng NEGOTIATION
Jefferson K RimGermanyStephen Shaw RENEWAL
Wickens N RutaAustraliaIoni Bowcher PROPOSAL
Darci R AlbaresAustraliaBernardo Dominic UNQUALIFIED
Kadeem H MorascaAustraliaAsiya Javayant NEGOTIATION
Misaki G KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro A TollnerFranceStephen Shaw NEGOTIATION
Leon E RulapaughJapanOnyama Limba NEW
Munro T RutaUnited KingdomStephen Shaw NEGOTIATION
Silvio C RimAustraliaAsiya Javayant QUALIFIED
Maisha X MaletBrazilElwin Sharvill PROPOSAL
Antonio G SergiCanadaAmy Elsner UNQUALIFIED
Ricardo H WaycottGermanyStephen Shaw RENEWAL
Jeanfrancois Q IturbideGermanyElwin Sharvill NEGOTIATION
Costa Q BowleyFranceElwin Sharvill PROPOSAL
Morrow Z MaletIndiaAsiya Javayant QUALIFIED
Claire L BriddickRussiaOnyama Limba NEGOTIATION
Arvin R WaycottJapanIvan Magalhaes NEW
Smith B WhobreySpainIoni Bowcher RENEWAL
Juan A StensethArgentinaIoni Bowcher NEGOTIATION
Kaitlin S BologniaItalyAnna Fali RENEWAL
Ivar Q KuskoBrazilIvan Magalhaes NEGOTIATION
Deepesh B BologniaItalyAsiya Javayant NEW
Wickens L RoysterRussiaXuxue Feng QUALIFIED
Mayumi T RoysterRussiaXuxue Feng NEW
Jones L TollnerFranceElwin Sharvill NEGOTIATION
Costa L BriddickAustraliaIoni Bowcher PROPOSAL
Francesco K MorascaGermanyStephen Shaw NEGOTIATION
Stacey V AmigonGermanyOnyama Limba NEGOTIATION
Cody E AmigonCanadaIoni Bowcher UNQUALIFIED
Murillo C GlickUnited KingdomXuxue Feng UNQUALIFIED
Ashley Q WhobreyItalyIvan Magalhaes NEW
Costa V GarufiItalyOnyama Limba QUALIFIED
Arvin B VenereSpainAnna Fali NEGOTIATION
Jeanfrancois U OldroydCanadaAnna Fali PROPOSAL
Darci H ShinkoArgentinaBernardo Dominic PROPOSAL
Jeanfrancois F TollnerSpainBernardo Dominic NEGOTIATION
Jeanfrancois A GarufiGermanyStephen Shaw UNQUALIFIED
Kaitlin L BriddickArgentinaIoni Bowcher NEGOTIATION
Tony X DoeItalyBernardo Dominic QUALIFIED
Murillo I DoeSpainStephen Shaw UNQUALIFIED
Maria D SchemmerSpainElwin Sharvill PROPOSAL
Leon Y WaycottBrazilOnyama Limba QUALIFIED
Frozen Columns
Name
Izzy M Marrier
Leon A Sergi
Costa P Bolognia
Johnson O Glick
Darci Y Morasca
Antonio A Poquette
Greenwood J Dilliard
Chavez P Tollner
Nicolas A Sergi
Salvatore G Nicka
James O Gillian
Mayumi J Malet
Stacey T Vocelka
Darci E Caudy
Rodrigues V Stockham
Jeanfrancois Z Royster
Jeanfrancois S Paprocki
Adams B Bolognia
Emily U Malet
Jefferson L Amigon
Isabel I Malet
Cody E Perin
Rodrigues B Campain
Salvatore R Slusarski
Ivar F Bowley
Alejandro Y Caudy
Ashley L Stockham
Tony Y Paprocki
Nicolas J Briddick
Antonio Y Glick
Faith J Doe
Ricardo L Kolmetz
Salvatore J Glick
Kadeem C Ferencz
Jeanfrancois F Figeroa
Jefferson V Briddick
Silvio F Poquette
Cody P Dilliard
Mujtaba V Inouye
Wickens P Kolmetz
Rodrigues O Bolognia
Silvio S Malet
Julie Q Garufi
Julie B Nicka
Aditya R Venere
Kadeem H Ruta
Arvin B Sergi
Kadeem O Gillian
Nicolas J Rulapaugh
Octavia Q Glick
IdCountryDate
1000Spain2024-06-10
1001Spain2024-06-19
1002Spain2024-06-21
1003Italy2024-06-03
1004United Kingdom2024-06-15
1005Germany2024-06-09
1006France2024-06-17
1007Brazil2024-06-13
1008Spain2024-06-17
1009Canada2024-06-02
1010United Kingdom2024-06-07
1011India2024-06-08
1012United Kingdom2024-06-15
1013Japan2024-06-10
1014Italy2024-06-12
1015Italy2024-06-02
1016India2024-05-27
1017United Kingdom2024-06-07
1018India2024-06-09
1019Brazil2024-06-21
1020India2024-06-19
1021Italy2024-05-28
1022Argentina2024-05-28
1023India2024-06-22
1024Italy2024-05-27
1025France2024-05-27
1026Japan2024-05-26
1027United Kingdom2024-06-21
1028Japan2024-06-08
1029Canada2024-05-28
1030Italy2024-05-30
1031United Kingdom2024-05-31
1032France2024-05-25
1033Germany2024-06-16
1034United Kingdom2024-06-20
1035France2024-05-28
1036India2024-06-17
1037United Kingdom2024-05-26
1038India2024-06-07
1039France2024-06-12
1040Australia2024-06-07
1041India2024-06-18
1042Australia2024-06-18
1043Brazil2024-06-11
1044Japan2024-05-29
1045Spain2024-06-19
1046Brazil2024-06-09
1047Japan2024-06-21
1048Russia2024-06-15
1049Canada2024-06-01

On-Demand Data

NameIdCountryDate
Smith U Glick1000India2024-06-20
Salvatore P Iturbide1001Japan2024-06-13
Aika K Bolognia1002United Kingdom2024-06-16
Antonio N Darakjy1003Italy2024-06-04
Kadeem X Iturbide1004Italy2024-06-11
Ivar Q Chui1005United Kingdom2024-06-20
Nicolas J Oldroyd1006Spain2024-06-20
Jefferson Y Schemmer1007Brazil2024-06-19
Maisha H Vocelka1008Argentina2024-06-13
Smith U Perin1009Argentina2024-06-06
Silvio P Whobrey1010Argentina2024-06-01
Tony F Bolognia1011Germany2024-06-02
Maisha F Albares1012Russia2024-06-11
Jefferson D Chui1013Germany2024-05-26
Kaitlin T Butt1014India2024-06-04
Isabel C Slusarski1015Italy2024-06-17
Rodrigues L Venere1016Brazil2024-06-11
Aruna M Oldroyd1017Japan2024-06-02
Arvin H Saylors1018Germany2024-06-02
Morrow A Chui1019Russia2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie D DilliardSpainIvan Magalhaes NEW
Isabel R DoeJapanIvan Magalhaes RENEWAL
Leja A KolmetzIndiaAnna Fali QUALIFIED
Kaitlin Z TollnerFranceBernardo Dominic QUALIFIED
Claire Z GillianCanadaAmy Elsner UNQUALIFIED
Mujtaba V WhobreyUnited KingdomStephen Shaw QUALIFIED
Octavia S VenereAustraliaElwin Sharvill NEW
Adams V PerinArgentinaStephen Shaw UNQUALIFIED
Jones T WhobreyFranceBernardo Dominic UNQUALIFIED
Francesco C BriddickBrazilAnna Fali QUALIFIED
Francesco M MacleadFranceAmy Elsner RENEWAL
Chavez L DilliardGermanyAsiya Javayant NEW
Ricardo K MorascaArgentinaOnyama Limba NEW
Morrow O BriddickFranceXuxue Feng RENEWAL
Jones R PerinRussiaIvan Magalhaes UNQUALIFIED
Stacey K SaylorsRussiaXuxue Feng NEW
Stacey S PerinJapanXuxue Feng RENEWAL
Morrow O GauchoJapanBernardo Dominic QUALIFIED
Deepesh L GauchoSpainIvan Magalhaes PROPOSAL
Mujtaba Z FigeroaGermanyAmy Elsner RENEWAL
Salvatore B MorascaArgentinaStephen Shaw UNQUALIFIED
Murillo U CampainIndiaIoni Bowcher QUALIFIED
Munro K SlusarskiItalyBernardo Dominic NEGOTIATION
Rodrigues N PerinRussiaIvan Magalhaes NEGOTIATION
Arvin D StockhamRussiaAmy Elsner PROPOSAL
Darci C WaycottUnited KingdomAsiya Javayant NEGOTIATION
Adams F WaycottGermanyAsiya Javayant NEW
Maria H AmigonCanadaElwin Sharvill RENEWAL
Leon C StockhamBrazilElwin Sharvill NEW
Faith C WhobreyFranceOnyama Limba RENEWAL
Murillo E KuskoSpainStephen Shaw PROPOSAL
Stacey I GlickIndiaIoni Bowcher RENEWAL
Munro W PaprockiGermanyBernardo Dominic RENEWAL
Maria C DoeArgentinaStephen Shaw NEGOTIATION
Wickens D GauchoArgentinaIoni Bowcher RENEWAL
Izzy A KolmetzRussiaXuxue Feng RENEWAL
Mujtaba I ChuiJapanAmy Elsner RENEWAL
Aditya L WieserArgentinaIvan Magalhaes PROPOSAL
Smith L ChuiFranceIvan Magalhaes UNQUALIFIED
Silvio L IturbideUnited KingdomIvan Magalhaes QUALIFIED

<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>