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
Mujtaba W MorascaUnited KingdomBernardo Dominic NEW
Faith R PoquetteCanadaIvan Magalhaes QUALIFIED
Wickens C DarakjyAustraliaAmy Elsner UNQUALIFIED
Maria A VenereCanadaStephen Shaw UNQUALIFIED
Cody W NickaGermanyAsiya Javayant NEW
Stacey G FerenczJapanIvan Magalhaes PROPOSAL
Aditya V MorascaAustraliaXuxue Feng PROPOSAL
Silvio J BologniaSpainXuxue Feng NEGOTIATION
Aika G VenereSpainOnyama Limba UNQUALIFIED
Costa B CampainRussiaOnyama Limba NEGOTIATION
Mayumi Q AlbaresArgentinaBernardo Dominic QUALIFIED
Maisha Z ShinkoItalyIvan Magalhaes NEGOTIATION
Johnson W CampainItalyXuxue Feng NEGOTIATION
Jennifer V BowleyCanadaAsiya Javayant UNQUALIFIED
Jones D InouyeGermanyAmy Elsner NEGOTIATION
Deepesh J BowleyIndiaIoni Bowcher UNQUALIFIED
Silvio T OldroydAustraliaIvan Magalhaes UNQUALIFIED
Morrow Y FigeroaItalyIoni Bowcher PROPOSAL
Alejandro J RutaJapanOnyama Limba UNQUALIFIED
Jeanfrancois J MorascaRussiaIoni Bowcher PROPOSAL
Nicolas L DoeJapanBernardo Dominic UNQUALIFIED
Aruna J PaprockiGermanyAnna Fali PROPOSAL
Nicolas T InouyeUnited KingdomXuxue Feng NEW
Francesco X AmigonIndiaIoni Bowcher PROPOSAL
Francesco K IturbideSpainStephen Shaw QUALIFIED
Darci H FollerItalyOnyama Limba NEW
Deepesh J SchemmerRussiaBernardo Dominic QUALIFIED
Emily N GauchoRussiaAnna Fali NEW
Morrow R RimCanadaElwin Sharvill RENEWAL
Faith M NestleIndiaAmy Elsner RENEWAL
Ricardo L AlbaresRussiaXuxue Feng QUALIFIED
Costa J RutaArgentinaAsiya Javayant RENEWAL
Salvatore J ShinkoBrazilBernardo Dominic NEGOTIATION
Ricardo F BriddickArgentinaAsiya Javayant PROPOSAL
Leja F FlosiFranceIvan Magalhaes UNQUALIFIED
Cody K SaylorsItalyIoni Bowcher QUALIFIED
Kaitlin R AmigonArgentinaOnyama Limba NEW
Cody S NestleJapanIoni Bowcher QUALIFIED
Claire D BriddickSpainAsiya Javayant QUALIFIED
Kadeem L MacleadRussiaOnyama Limba PROPOSAL
Nicolas F CampainIndiaAmy Elsner UNQUALIFIED
Stacey V MaletUnited KingdomIoni Bowcher NEGOTIATION
Leja N ShinkoIndiaAmy Elsner NEW
Francesco G InouyeGermanyXuxue Feng UNQUALIFIED
Johnson K CaldareraAustraliaElwin Sharvill RENEWAL
David M DoeIndiaStephen Shaw NEW
Stacey Y RimGermanyXuxue Feng UNQUALIFIED
Jeanfrancois D MaletAustraliaIvan Magalhaes RENEWAL
Ricardo O WieserGermanyBernardo Dominic NEW
Juan J DoeUnited KingdomBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba M RoysterGermanyIvan Magalhaes QUALIFIED
Smith K VenereUnited KingdomAnna Fali RENEWAL
David M MorascaIndiaIvan Magalhaes NEGOTIATION
Ricardo P MorascaBrazilStephen Shaw QUALIFIED
Mujtaba R InouyeFranceAmy Elsner UNQUALIFIED
Jeanfrancois Q InouyeFranceAsiya Javayant QUALIFIED
Rodrigues D WaycottBrazilAmy Elsner NEGOTIATION
Adams B TollnerArgentinaAnna Fali UNQUALIFIED
Clifford H CampainSpainOnyama Limba PROPOSAL
Aditya J MacleadGermanyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire B FollerArgentina2025-04-08Benton, John B Jr UNQUALIFIED70Elwin Sharvill
1001Arvin G GlickGermany2025-04-13Chemel, James L Cpa UNQUALIFIED49Asiya Javayant
1002Murillo O RoysterRussia2025-04-13Rousseaux, Michael Esq NEW28Ivan Magalhaes
1003Salvatore N SergiCanada2025-04-22Truhlar And Truhlar Attys UNQUALIFIED24Amy Elsner
1004Kadeem X WieserFrance2025-04-16Chanay, Jeffrey A Esq PROPOSAL93Xuxue Feng
1005Stacey G WaycottRussia2025-04-30Rangoni Of Florence QUALIFIED97Xuxue Feng
1006Arvin T BowleyUnited Kingdom2025-04-25Chapman, Ross E Esq UNQUALIFIED51Amy Elsner
1007Aditya A ButtJapan2025-04-19Rousseaux, Michael Esq PROPOSAL43Anna Fali
1008Jones Y WaycottFrance2025-04-09Chapman, Ross E Esq PROPOSAL92Elwin Sharvill
1009Francesco X MaletBrazil2025-04-13Feltz Printing Service NEGOTIATION45Xuxue Feng
1010Sinclair Z FlosiIndia2025-04-08Morlong Associates QUALIFIED58Xuxue Feng
1011Izzy S FollerGermany2025-04-15Truhlar And Truhlar Attys PROPOSAL65Onyama Limba
1012James C StockhamRussia2025-04-29Chapman, Ross E Esq UNQUALIFIED9Ivan Magalhaes
1013Greenwood C RutaUnited Kingdom2025-04-26Chanay, Jeffrey A Esq UNQUALIFIED50Stephen Shaw
1014Darci R WhobreyArgentina2025-04-02Morlong Associates PROPOSAL4Ioni Bowcher
1015Jones O SaylorsRussia2025-04-24Truhlar And Truhlar Attys RENEWAL52Stephen Shaw
1016Mayumi J NestleUnited Kingdom2025-04-27Dorl, James J Esq RENEWAL48Asiya Javayant
1017Ivar E SlusarskiCanada2025-04-17Printing Dimensions NEW58Xuxue Feng
1018James B DoeSpain2025-04-17Printing Dimensions RENEWAL53Elwin Sharvill
1019Ashley Q DarakjyArgentina2025-04-19Feiner Bros PROPOSAL78Ivan Magalhaes
1020Silvio Q KuskoSpain2025-04-21Morlong Associates NEGOTIATION38Onyama Limba
1021Clifford U SaylorsGermany2025-04-28Dorl, James J Esq UNQUALIFIED8Onyama Limba
1022Greenwood J CaudyFrance2025-04-19Morlong Associates UNQUALIFIED58Ivan Magalhaes
1023Arvin F MacleadAustralia2025-04-22Dorl, James J Esq PROPOSAL65Stephen Shaw
1024Smith Y CaldareraBrazil2025-04-08Benton, John B Jr QUALIFIED12Xuxue Feng
1025Faith O WaycottCanada2025-04-05Feltz Printing Service NEGOTIATION45Anna Fali
1026Ivar W StockhamJapan2025-04-10Chapman, Ross E Esq NEW83Bernardo Dominic
1027Ivar U WaycottFrance2025-04-03King, Christopher A Esq UNQUALIFIED76Xuxue Feng
1028Faith E CaudyArgentina2025-04-01Feltz Printing Service RENEWAL57Amy Elsner
1029Emily E KolmetzItaly2025-04-04Chapman, Ross E Esq NEGOTIATION50Stephen Shaw
1030Deepesh U NickaRussia2025-04-05Chemel, James L Cpa UNQUALIFIED48Ioni Bowcher
1031Cody P FerenczItaly2025-04-23King, Christopher A Esq PROPOSAL69Xuxue Feng
1032James C CaudyCanada2025-04-16Morlong Associates QUALIFIED41Ivan Magalhaes
1033Smith O CaldareraIndia2025-04-19Feltz Printing Service RENEWAL94Stephen Shaw
1034Nicolas R AlbaresIndia2025-04-02Printing Dimensions UNQUALIFIED5Stephen Shaw
1035Johnson P AmigonArgentina2025-04-12Buckley Miller Wright NEGOTIATION53Bernardo Dominic
1036Emily T TollnerSpain2025-04-03King, Christopher A Esq NEW98Amy Elsner
1037Maisha B InouyeFrance2025-04-29Rangoni Of Florence RENEWAL78Elwin Sharvill
1038Rodrigues T FollerGermany2025-04-18Printing Dimensions UNQUALIFIED82Onyama Limba
1039Francesco R DoeGermany2025-04-06Feiner Bros NEGOTIATION50Xuxue Feng
1040Johnson G FollerGermany2025-04-13Benton, John B Jr NEW45Stephen Shaw
1041Alejandro B FollerJapan2025-04-29Benton, John B Jr NEW83Ivan Magalhaes
1042Claire W VocelkaJapan2025-04-22Feltz Printing Service PROPOSAL43Anna Fali
1043Costa Q WieserItaly2025-04-24Feiner Bros QUALIFIED39Onyama Limba
1044Emily I MaletRussia2025-04-04Morlong Associates RENEWAL27Elwin Sharvill
1045Morrow M PaprockiIndia2025-04-02Truhlar And Truhlar Attys RENEWAL66Xuxue Feng
1046Ricardo P MorascaArgentina2025-04-11Chanay, Jeffrey A Esq QUALIFIED40Elwin Sharvill
1047Aika N DoeArgentina2025-04-04Morlong Associates QUALIFIED66Amy Elsner
1048Aika M InouyeUnited Kingdom2025-04-21Printing Dimensions PROPOSAL70Elwin Sharvill
1049Wickens E SergiIndia2025-04-11Feltz Printing Service QUALIFIED26Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Nicolas Q CaldareraRussiaAmy Elsner QUALIFIED
Cody G MaletAustraliaAnna Fali PROPOSAL
Mujtaba U WaycottSpainAmy Elsner NEGOTIATION
Deepesh J RutaBrazilAsiya Javayant RENEWAL
Claire Z InouyeJapanElwin Sharvill RENEWAL
Emily G AmigonGermanyAmy Elsner NEW
Faith N RimIndiaBernardo Dominic NEW
Octavia G BriddickCanadaElwin Sharvill QUALIFIED
Ashley J ChuiAustraliaAsiya Javayant UNQUALIFIED
Maisha W KolmetzArgentinaElwin Sharvill QUALIFIED
Faith X WieserRussiaIoni Bowcher NEGOTIATION
Claire L RulapaughRussiaAsiya Javayant PROPOSAL
Maria L GarufiArgentinaXuxue Feng PROPOSAL
Costa J CaudyItalyElwin Sharvill NEGOTIATION
Ivar H StensethItalyAmy Elsner QUALIFIED
Faith P DilliardGermanyStephen Shaw PROPOSAL
Darci B VenereArgentinaElwin Sharvill PROPOSAL
Antonio C OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Jennifer B ShinkoJapanAnna Fali QUALIFIED
Clifford U DarakjyItalyIvan Magalhaes PROPOSAL
Ivar C GarufiSpainOnyama Limba NEGOTIATION
Rodrigues M ButtIndiaElwin Sharvill QUALIFIED
Jones P SlusarskiArgentinaElwin Sharvill QUALIFIED
Claire G PoquetteUnited KingdomIoni Bowcher RENEWAL
Claire E RulapaughArgentinaIvan Magalhaes PROPOSAL
Faith W GlickItalyOnyama Limba PROPOSAL
Wickens O WieserSpainAnna Fali NEGOTIATION
Alejandro O GlickSpainBernardo Dominic NEW
Emily U AmigonUnited KingdomBernardo Dominic PROPOSAL
Ashley H SergiBrazilOnyama Limba NEGOTIATION
Isabel L TollnerItalyStephen Shaw QUALIFIED
David N CaldareraArgentinaAmy Elsner QUALIFIED
Stacey E DilliardCanadaAmy Elsner NEW
Kaitlin R VocelkaJapanStephen Shaw RENEWAL
Mujtaba X FigeroaBrazilElwin Sharvill RENEWAL
Maria L DoeAustraliaBernardo Dominic PROPOSAL
Wickens S StensethCanadaIvan Magalhaes QUALIFIED
Antonio A RoysterItalyOnyama Limba PROPOSAL
Kaitlin Z GlickIndiaIvan Magalhaes UNQUALIFIED
Arvin C SaylorsItalyOnyama Limba NEW
Misaki L KuskoItalyAmy Elsner NEGOTIATION
Stacey D MorascaRussiaIoni Bowcher NEGOTIATION
Alejandro P MacleadArgentinaAsiya Javayant RENEWAL
Jones I PoquetteSpainBernardo Dominic RENEWAL
James X SergiGermanyAmy Elsner NEGOTIATION
Alejandro K CaldareraFranceAmy Elsner NEW
Maria G WieserFranceAsiya Javayant NEGOTIATION
Costa A FlosiCanadaOnyama Limba NEGOTIATION
Silvio S CampainRussiaBernardo Dominic UNQUALIFIED
Leon T MaletRussiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Salvatore C Rim
Clifford S Saylors
Juan X Royster
Aika N Amigon
Juan I Kusko
Sinclair Z Kusko
Jefferson V Venere
Leja X Tollner
Tony Q Albares
Jones H Stenseth
Claire C Wieser
Leja T Perin
Arvin H Tollner
Ricardo C Amigon
James X Ostrosky
Jefferson M Nestle
Cody W Tollner
Aditya V Amigon
David N Malet
Leon A Inouye
Jeanfrancois C Kolmetz
Aditya K Foller
Antonio O Stenseth
Ivar Z Amigon
Deepesh M Vocelka
Morrow E Royster
Faith A Doe
Greenwood F Garufi
Aruna E Flosi
Deepesh C Malet
Maria T Rulapaugh
Adams D Malet
Greenwood F Stenseth
Nicolas P Rulapaugh
Ashley E Wieser
Ashley I Wieser
Misaki W Caudy
Salvatore H Schemmer
Ricardo O Vocelka
Aruna W Waycott
Chavez L Bowley
Murillo G Morasca
Mujtaba D Royster
Francesco D Garufi
Kadeem N Poquette
Alejandro T Caudy
Clifford Y Ruta
Misaki D Gaucho
Faith E Venere
Ivar P Bolognia
IdCountryDate
1000Italy2025-04-02
1001Japan2025-04-15
1002Brazil2025-04-18
1003France2025-04-08
1004Italy2025-04-23
1005United Kingdom2025-04-13
1006France2025-04-29
1007Brazil2025-04-24
1008Russia2025-04-30
1009Argentina2025-04-16
1010India2025-04-24
1011France2025-04-19
1012United Kingdom2025-04-18
1013Australia2025-04-16
1014Spain2025-04-11
1015India2025-04-02
1016United Kingdom2025-04-13
1017Brazil2025-04-04
1018France2025-04-13
1019Argentina2025-04-29
1020Germany2025-04-28
1021Spain2025-04-02
1022France2025-04-11
1023Canada2025-04-03
1024India2025-04-28
1025Italy2025-04-12
1026Spain2025-04-26
1027Brazil2025-04-04
1028Brazil2025-04-01
1029United Kingdom2025-04-30
1030Brazil2025-04-15
1031Argentina2025-04-18
1032Argentina2025-04-30
1033France2025-04-30
1034Russia2025-04-26
1035United Kingdom2025-04-12
1036India2025-04-27
1037Italy2025-04-04
1038Brazil2025-04-02
1039Italy2025-04-22
1040France2025-04-12
1041Argentina2025-04-03
1042Russia2025-04-06
1043Brazil2025-04-07
1044Argentina2025-04-15
1045India2025-04-06
1046India2025-04-04
1047India2025-04-21
1048Canada2025-04-06
1049Brazil2025-04-10

On-Demand Data

NameIdCountryDate
Sinclair B Maclead1000India2025-04-18
Leon I Stenseth1001Germany2025-04-23
Rodrigues I Malet1002India2025-04-14
Cody L Oldroyd1003Australia2025-04-09
Stacey U Garufi1004Japan2025-04-01
Leon P Foller1005Canada2025-04-29
Costa C Stockham1006Italy2025-04-28
Juan S Paprocki1007Brazil2025-04-01
Claire B Stockham1008Japan2025-04-11
Kadeem I Slusarski1009Argentina2025-04-12
Juan J Malet1010Argentina2025-04-18
Faith W Poquette1011Italy2025-04-03
Izzy V Garufi1012France2025-04-21
Costa M Garufi1013Russia2025-04-04
Silvio G Butt1014Argentina2025-04-28
Antonio L Vocelka1015Australia2025-04-18
Julie D Caldarera1016Brazil2025-04-26
Cody B Inouye1017Germany2025-04-18
Alejandro D Foller1018Spain2025-04-19
Nicolas S Royster1019India2025-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon E WhobreyIndiaAnna Fali PROPOSAL
Maisha Q RimUnited KingdomIvan Magalhaes QUALIFIED
Faith H RulapaughIndiaXuxue Feng UNQUALIFIED
Tony K GlickIndiaAnna Fali UNQUALIFIED
Claire L TollnerJapanAnna Fali NEGOTIATION
Johnson O BologniaJapanElwin Sharvill RENEWAL
Adams M ButtFranceAsiya Javayant NEGOTIATION
Kadeem E GarufiAustraliaAnna Fali UNQUALIFIED
Francesco M PaprockiCanadaElwin Sharvill PROPOSAL
Kadeem H MacleadJapanStephen Shaw NEW
Antonio I KolmetzBrazilAsiya Javayant PROPOSAL
Rodrigues H CaudySpainOnyama Limba RENEWAL
Cody J SchemmerIndiaXuxue Feng PROPOSAL
Stacey L KolmetzGermanyOnyama Limba UNQUALIFIED
Maria H AmigonCanadaAsiya Javayant QUALIFIED
Aruna R GillianAustraliaIoni Bowcher QUALIFIED
Antonio I RutaArgentinaElwin Sharvill UNQUALIFIED
Mujtaba J InouyeRussiaIvan Magalhaes PROPOSAL
Salvatore V NickaBrazilAmy Elsner QUALIFIED
Johnson M GauchoAustraliaAmy Elsner RENEWAL
Clifford O NestleBrazilOnyama Limba QUALIFIED
Faith C BologniaCanadaBernardo Dominic PROPOSAL
Murillo R KolmetzFranceOnyama Limba NEW
Ivar S RulapaughArgentinaXuxue Feng PROPOSAL
Misaki G FerenczJapanStephen Shaw RENEWAL
Leja R MaletJapanAnna Fali NEGOTIATION
Sinclair T FerenczGermanyAnna Fali NEW
Maisha I WhobreyJapanOnyama Limba PROPOSAL
Mayumi K GarufiItalyAmy Elsner NEW
Antonio P PoquetteGermanyAmy Elsner QUALIFIED
Aruna G OstroskyIndiaBernardo Dominic QUALIFIED
Jennifer F OldroydIndiaXuxue Feng UNQUALIFIED
Jones Z TollnerAustraliaIvan Magalhaes QUALIFIED
Silvio Z BriddickSpainAmy Elsner PROPOSAL
Adams M FigeroaBrazilAnna Fali NEGOTIATION
Murillo G KuskoUnited KingdomIvan Magalhaes QUALIFIED
Salvatore W SchemmerJapanIvan Magalhaes QUALIFIED
Ricardo A AlbaresItalyElwin Sharvill QUALIFIED
Arvin E InouyeJapanBernardo Dominic UNQUALIFIED
Nicolas I WhobreyAustraliaAsiya Javayant NEGOTIATION

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