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
Costa P RimIndiaAsiya Javayant UNQUALIFIED
Jones A GlickSpainBernardo Dominic UNQUALIFIED
Francesco Q StockhamCanadaXuxue Feng NEGOTIATION
Sinclair R OldroydIndiaOnyama Limba NEGOTIATION
Sinclair G MarrierJapanIoni Bowcher PROPOSAL
Julie Z FigeroaItalyBernardo Dominic RENEWAL
Wickens P InouyeFranceAsiya Javayant PROPOSAL
Salvatore F VocelkaFranceBernardo Dominic PROPOSAL
Misaki S GauchoCanadaElwin Sharvill PROPOSAL
Jeanfrancois C DarakjyItalyIoni Bowcher RENEWAL
Johnson K GlickSpainAnna Fali RENEWAL
Chavez E VenereBrazilAmy Elsner UNQUALIFIED
Ivar I StensethJapanBernardo Dominic QUALIFIED
Morrow U PoquetteGermanyXuxue Feng NEW
Kaitlin H KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Tony G MaletSpainAmy Elsner NEW
Claire H TollnerGermanyIvan Magalhaes QUALIFIED
Munro N BowleyAustraliaAsiya Javayant RENEWAL
Stacey X VenereBrazilStephen Shaw QUALIFIED
Kaitlin K DarakjyFranceOnyama Limba RENEWAL
Juan O ChuiFranceBernardo Dominic NEGOTIATION
Ricardo R InouyeUnited KingdomAmy Elsner NEW
David X MorascaArgentinaXuxue Feng NEGOTIATION
Izzy X IturbideIndiaAnna Fali QUALIFIED
Rodrigues I WaycottBrazilBernardo Dominic PROPOSAL
Aruna S PoquetteFranceAmy Elsner NEGOTIATION
Deepesh U SlusarskiSpainXuxue Feng NEW
Nicolas N SlusarskiAustraliaStephen Shaw NEGOTIATION
Mujtaba E GarufiArgentinaAsiya Javayant NEGOTIATION
Francesco P GlickSpainAsiya Javayant NEGOTIATION
Tony T GauchoCanadaBernardo Dominic RENEWAL
Aditya W FigeroaItalyAsiya Javayant RENEWAL
Isabel E SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Ashley W BowleySpainElwin Sharvill UNQUALIFIED
Costa J VenereIndiaAnna Fali NEGOTIATION
Aruna A FerenczCanadaOnyama Limba NEGOTIATION
Mayumi F ButtCanadaStephen Shaw QUALIFIED
Alejandro T RulapaughJapanStephen Shaw NEGOTIATION
Mayumi D PaprockiAustraliaOnyama Limba NEGOTIATION
Aika Z ChuiFranceAsiya Javayant RENEWAL
Costa M OldroydSpainXuxue Feng RENEWAL
Ashley H MorascaSpainAnna Fali RENEWAL
Nicolas Z NickaItalyXuxue Feng PROPOSAL
Izzy L GlickJapanStephen Shaw NEW
Julie T CampainArgentinaAnna Fali QUALIFIED
Cody K MacleadRussiaElwin Sharvill QUALIFIED
Maisha E NestleGermanyBernardo Dominic PROPOSAL
Costa Q SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Sinclair L NickaGermanyIvan Magalhaes NEW
Aika T NestleFranceAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson G KuskoItalyXuxue Feng UNQUALIFIED
Juan K RulapaughFranceAsiya Javayant QUALIFIED
Ashley M MorascaGermanyAnna Fali RENEWAL
Jeanfrancois Z RutaAustraliaAmy Elsner RENEWAL
Arvin M NestleAustraliaIvan Magalhaes PROPOSAL
Morrow I SchemmerAustraliaStephen Shaw NEW
Cody E MaletAustraliaAnna Fali NEGOTIATION
Kadeem Y CaudyAustraliaAmy Elsner UNQUALIFIED
Isabel E IturbideAustraliaStephen Shaw PROPOSAL
James L StensethSpainXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David L MaletUnited Kingdom2024-05-24Dorl, James J Esq UNQUALIFIED85Asiya Javayant
1001Antonio Z RulapaughGermany2024-06-12Rangoni Of Florence RENEWAL91Bernardo Dominic
1002Maria N SlusarskiItaly2024-06-13Commercial Press QUALIFIED54Stephen Shaw
1003Jefferson K WieserFrance2024-06-08Benton, John B Jr NEW47Amy Elsner
1004Salvatore N KuskoCanada2024-06-21Truhlar And Truhlar Attys UNQUALIFIED29Xuxue Feng
1005Izzy E OstroskyAustralia2024-06-19Buckley Miller Wright PROPOSAL2Ioni Bowcher
1006David E WieserSpain2024-06-09Commercial Press NEW29Ivan Magalhaes
1007Leon O IturbideBrazil2024-05-26Rangoni Of Florence NEW35Elwin Sharvill
1008Tony I GarufiRussia2024-05-30Buckley Miller Wright NEGOTIATION21Ivan Magalhaes
1009Alejandro P CampainRussia2024-05-28Chapman, Ross E Esq PROPOSAL78Bernardo Dominic
1010Ashley W SchemmerUnited Kingdom2024-06-01Rangoni Of Florence NEGOTIATION41Ivan Magalhaes
1011Smith I ShinkoFrance2024-06-13Feltz Printing Service UNQUALIFIED12Elwin Sharvill
1012Tony I FlosiGermany2024-06-14Benton, John B Jr PROPOSAL14Amy Elsner
1013Ricardo Q FigeroaAustralia2024-05-27Rangoni Of Florence RENEWAL55Onyama Limba
1014Ricardo Z StockhamSpain2024-06-07Benton, John B Jr RENEWAL24Amy Elsner
1015Aika U OstroskyBrazil2024-06-13Morlong Associates UNQUALIFIED8Stephen Shaw
1016Isabel D NestleArgentina2024-05-30Truhlar And Truhlar Attys QUALIFIED83Ioni Bowcher
1017Sinclair V GlickIndia2024-06-02King, Christopher A Esq QUALIFIED0Amy Elsner
1018Murillo Z GauchoBrazil2024-06-18Feltz Printing Service UNQUALIFIED13Anna Fali
1019Izzy H ChuiFrance2024-06-15Printing Dimensions NEGOTIATION95Asiya Javayant
1020Morrow W MarrierArgentina2024-06-18Dorl, James J Esq PROPOSAL86Anna Fali
1021Stacey G AlbaresAustralia2024-06-07Commercial Press NEGOTIATION78Amy Elsner
1022Clifford N RutaIndia2024-06-05Feltz Printing Service QUALIFIED15Bernardo Dominic
1023Chavez S OstroskyBrazil2024-05-24Truhlar And Truhlar Attys NEGOTIATION24Amy Elsner
1024Emily I DilliardGermany2024-06-16Rousseaux, Michael Esq NEGOTIATION80Xuxue Feng
1025Claire A BowleyUnited Kingdom2024-06-09Buckley Miller Wright UNQUALIFIED55Elwin Sharvill
1026Leon Y RutaJapan2024-06-10King, Christopher A Esq NEW83Onyama Limba
1027Jefferson Y GauchoCanada2024-06-09Feltz Printing Service RENEWAL16Stephen Shaw
1028Juan A DilliardBrazil2024-06-01Chapman, Ross E Esq UNQUALIFIED61Onyama Limba
1029Emily O DoeGermany2024-06-07Truhlar And Truhlar Attys UNQUALIFIED83Stephen Shaw
1030David Q ChuiFrance2024-06-09Morlong Associates NEGOTIATION99Ioni Bowcher
1031Mujtaba O MaletCanada2024-06-01Rangoni Of Florence NEGOTIATION81Xuxue Feng
1032Deepesh U DilliardItaly2024-06-11Chapman, Ross E Esq UNQUALIFIED34Stephen Shaw
1033Stacey F RimFrance2024-06-17Buckley Miller Wright NEGOTIATION13Bernardo Dominic
1034Kaitlin Q FigeroaIndia2024-06-12Rangoni Of Florence NEW10Ivan Magalhaes
1035Faith W SergiFrance2024-06-22Printing Dimensions RENEWAL5Onyama Limba
1036Smith G WaycottIndia2024-06-11Rousseaux, Michael Esq PROPOSAL94Onyama Limba
1037Jennifer O CampainGermany2024-06-19Feiner Bros RENEWAL34Ioni Bowcher
1038Kadeem R OldroydCanada2024-05-26Chanay, Jeffrey A Esq RENEWAL79Anna Fali
1039David T MacleadRussia2024-05-28Dorl, James J Esq PROPOSAL80Anna Fali
1040David H GauchoUnited Kingdom2024-06-14Commercial Press QUALIFIED22Ivan Magalhaes
1041Claire S CaudyGermany2024-06-06Commercial Press PROPOSAL91Onyama Limba
1042Arvin F FlosiArgentina2024-05-28Buckley Miller Wright NEW6Amy Elsner
1043Stacey J PerinBrazil2024-06-05Dorl, James J Esq NEGOTIATION50Amy Elsner
1044Tony J BologniaJapan2024-06-01Chapman, Ross E Esq QUALIFIED43Onyama Limba
1045Juan U FlosiSpain2024-06-07Commercial Press UNQUALIFIED43Onyama Limba
1046Arvin X PoquetteCanada2024-05-27Truhlar And Truhlar Attys NEW50Asiya Javayant
1047Maria E BowleyItaly2024-06-15King, Christopher A Esq UNQUALIFIED39Anna Fali
1048Jennifer P FerenczCanada2024-06-14Printing Dimensions NEW76Anna Fali
1049Jefferson Z CaudySpain2024-06-22Benton, John B Jr PROPOSAL10Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya D ButtFranceStephen Shaw UNQUALIFIED
Chavez J DilliardArgentinaOnyama Limba PROPOSAL
Kadeem V DoeJapanXuxue Feng UNQUALIFIED
Chavez X PoquetteBrazilAnna Fali NEW
Leja X PoquetteSpainIvan Magalhaes RENEWAL
Misaki B WhobreyJapanAsiya Javayant NEGOTIATION
Emily U DarakjyGermanyAnna Fali PROPOSAL
Aruna G BowleyRussiaBernardo Dominic NEGOTIATION
Isabel K BowleyGermanyIoni Bowcher NEGOTIATION
Leon U ShinkoJapanAnna Fali NEGOTIATION
Octavia J WhobreyGermanyIoni Bowcher UNQUALIFIED
Silvio S PerinAustraliaIvan Magalhaes NEGOTIATION
Mujtaba L StockhamBrazilXuxue Feng NEGOTIATION
Arvin I TollnerIndiaOnyama Limba RENEWAL
Aika C GauchoIndiaXuxue Feng QUALIFIED
Maisha Y DarakjyCanadaIvan Magalhaes NEGOTIATION
Misaki N GillianBrazilIoni Bowcher NEGOTIATION
Jennifer B SaylorsFranceOnyama Limba NEGOTIATION
Emily T CaldareraAustraliaAmy Elsner PROPOSAL
Kadeem N MorascaArgentinaOnyama Limba RENEWAL
Cody Y WhobreyJapanIoni Bowcher NEGOTIATION
Silvio D WieserAustraliaStephen Shaw NEW
Tony I SlusarskiArgentinaIvan Magalhaes NEW
David W MarrierUnited KingdomAnna Fali QUALIFIED
Aika D WhobreyFranceAmy Elsner NEGOTIATION
Jeanfrancois C CampainFranceIoni Bowcher RENEWAL
Mujtaba O DilliardJapanStephen Shaw NEW
Francesco W AmigonAustraliaIvan Magalhaes QUALIFIED
Isabel I StockhamArgentinaStephen Shaw PROPOSAL
Maisha K GlickGermanyAmy Elsner UNQUALIFIED
Cody I BriddickUnited KingdomAsiya Javayant NEGOTIATION
Adams W MorascaArgentinaAmy Elsner NEGOTIATION
Faith Y MacleadCanadaAmy Elsner RENEWAL
Rodrigues D RoysterBrazilAsiya Javayant UNQUALIFIED
Julie B KuskoRussiaAsiya Javayant UNQUALIFIED
Francesco O IturbideFranceElwin Sharvill QUALIFIED
Maisha I GlickArgentinaAnna Fali NEW
Johnson Z WaycottAustraliaIvan Magalhaes NEGOTIATION
Mayumi I OstroskyAustraliaStephen Shaw NEGOTIATION
Aika U InouyeJapanBernardo Dominic QUALIFIED
Misaki F BriddickJapanBernardo Dominic QUALIFIED
Sinclair F WaycottBrazilBernardo Dominic NEW
Munro D BowleyItalyIvan Magalhaes UNQUALIFIED
Isabel O SaylorsGermanyAmy Elsner QUALIFIED
Aditya X CaldareraUnited KingdomXuxue Feng RENEWAL
Jennifer G NestleBrazilIvan Magalhaes RENEWAL
Kaitlin L CampainFranceElwin Sharvill NEW
Ivar L GarufiFranceElwin Sharvill NEW
Nicolas W RoysterUnited KingdomXuxue Feng QUALIFIED
Costa Q RimGermanyAnna Fali UNQUALIFIED
Frozen Columns
Name
Ivar M Ostrosky
Jones X Amigon
Deepesh O Malet
Octavia J Marrier
Ashley D Ostrosky
Nicolas K Malet
Mujtaba G Ruta
Leja K Dilliard
Wickens W Sergi
Clifford D Tollner
Nicolas L Bolognia
Rodrigues W Ferencz
Alejandro W Poquette
Aika R Chui
Silvio W Dilliard
Jones F Nicka
David P Nicka
Maisha B Schemmer
Nicolas O Wieser
Greenwood H Sergi
Aditya V Campain
Deepesh Q Campain
David L Campain
Mayumi K Marrier
Faith D Stockham
Murillo A Ruta
Jennifer Z Morasca
Costa E Rim
Morrow D Chui
Johnson N Vocelka
Leja V Oldroyd
Deepesh G Oldroyd
Greenwood U Marrier
Deepesh W Stenseth
Rodrigues R Slusarski
David Y Doe
Costa O Perin
Maisha G Gaucho
Alejandro P Dilliard
Stacey W Wieser
Smith X Iturbide
Ivar L Inouye
Jeanfrancois E Maclead
Cody L Rulapaugh
Faith Z Vocelka
Kadeem R Kolmetz
Leja C Kusko
Leon O Whobrey
Johnson M Butt
Deepesh V Bowley
IdCountryDate
1000Japan2024-06-16
1001Italy2024-05-27
1002Australia2024-05-25
1003Argentina2024-06-12
1004Brazil2024-06-14
1005Russia2024-06-14
1006India2024-06-15
1007Brazil2024-06-21
1008Japan2024-06-02
1009Canada2024-06-10
1010United Kingdom2024-05-31
1011Russia2024-06-14
1012Canada2024-06-16
1013Canada2024-06-07
1014United Kingdom2024-06-22
1015Brazil2024-06-06
1016Argentina2024-06-07
1017India2024-05-31
1018Brazil2024-06-08
1019Spain2024-06-05
1020Brazil2024-06-06
1021India2024-06-15
1022Germany2024-06-22
1023Russia2024-06-03
1024Italy2024-05-27
1025Argentina2024-06-09
1026India2024-05-31
1027Brazil2024-05-30
1028United Kingdom2024-06-22
1029India2024-05-31
1030Germany2024-05-24
1031Spain2024-05-28
1032United Kingdom2024-06-21
1033France2024-06-05
1034France2024-06-22
1035Australia2024-06-18
1036Spain2024-06-19
1037Australia2024-06-13
1038India2024-06-16
1039Canada2024-06-14
1040Japan2024-06-01
1041Canada2024-06-14
1042Spain2024-06-09
1043Australia2024-06-06
1044Argentina2024-05-29
1045Argentina2024-06-05
1046Canada2024-06-14
1047United Kingdom2024-05-28
1048Australia2024-06-01
1049Australia2024-06-01

On-Demand Data

NameIdCountryDate
Mayumi U Saylors1000Australia2024-06-02
Johnson Z Rim1001Argentina2024-06-11
Darci N Schemmer1002Argentina2024-06-01
David D Bowley1003Canada2024-06-14
Wickens Y Saylors1004India2024-06-09
Antonio C Bolognia1005Argentina2024-06-13
Morrow P Flosi1006Italy2024-06-21
Tony H Sergi1007Russia2024-06-21
Cody G Ruta1008Canada2024-06-11
Julie L Rim1009France2024-06-09
Julie Y Campain1010Russia2024-05-28
Aika U Kolmetz1011Brazil2024-06-21
Johnson R Kolmetz1012Germany2024-06-21
Jennifer G Garufi1013Italy2024-05-30
Wickens U Malet1014Australia2024-06-02
Salvatore E Kusko1015Russia2024-06-15
Jefferson P Darakjy1016Italy2024-06-09
Salvatore Q Garufi1017Brazil2024-06-14
Munro L Inouye1018Argentina2024-05-30
Maisha O Royster1019Brazil2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Y StockhamIndiaIvan Magalhaes PROPOSAL
James O DoeAustraliaElwin Sharvill NEW
Ivar R BowleyGermanyBernardo Dominic NEGOTIATION
Aruna W DarakjyCanadaAnna Fali PROPOSAL
Julie O PaprockiRussiaBernardo Dominic NEW
Stacey B FigeroaIndiaAsiya Javayant NEGOTIATION
Greenwood I VocelkaFranceAmy Elsner PROPOSAL
Alejandro F MorascaAustraliaIoni Bowcher NEGOTIATION
David N GlickItalyIoni Bowcher RENEWAL
Stacey Q KolmetzItalyAmy Elsner NEGOTIATION
Rodrigues L InouyeItalyOnyama Limba RENEWAL
Octavia Y CaldareraCanadaAsiya Javayant NEW
Claire K OldroydArgentinaOnyama Limba NEW
Leon J DoeAustraliaBernardo Dominic NEW
Mayumi S WaycottAustraliaOnyama Limba NEGOTIATION
Johnson W SaylorsGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois F MarrierAustraliaStephen Shaw NEGOTIATION
Alejandro Q BowleyItalyOnyama Limba NEW
Juan T NestleUnited KingdomAnna Fali NEW
Faith F FigeroaFranceElwin Sharvill NEGOTIATION
Ricardo R KuskoBrazilBernardo Dominic NEW
Greenwood G RutaBrazilIoni Bowcher RENEWAL
Mujtaba M FlosiBrazilOnyama Limba NEGOTIATION
Rodrigues Z StockhamGermanyAsiya Javayant NEW
Kadeem K MaletCanadaStephen Shaw NEGOTIATION
Mayumi S MaletJapanOnyama Limba UNQUALIFIED
Octavia B OldroydJapanAmy Elsner QUALIFIED
Jeanfrancois T WaycottFranceStephen Shaw NEW
Munro W GarufiJapanAmy Elsner PROPOSAL
Deepesh A MarrierJapanElwin Sharvill QUALIFIED
Leja D PoquetteIndiaAsiya Javayant NEGOTIATION
Wickens N RutaSpainAnna Fali QUALIFIED
Morrow M RoysterBrazilAmy Elsner NEGOTIATION
Faith D VocelkaRussiaIoni Bowcher PROPOSAL
Maisha P WieserCanadaIvan Magalhaes NEW
Mujtaba I MaletIndiaAnna Fali UNQUALIFIED
Johnson T InouyeIndiaAnna Fali UNQUALIFIED
Jefferson H KuskoBrazilStephen Shaw RENEWAL
Kadeem O MacleadCanadaAnna Fali PROPOSAL
Francesco O InouyeCanadaAnna Fali 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>