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
Octavia J PerinArgentinaAnna Fali RENEWAL
Nicolas W TollnerFranceIvan Magalhaes RENEWAL
Aika A MorascaRussiaElwin Sharvill NEW
Claire H SergiBrazilBernardo Dominic PROPOSAL
Alejandro A FollerArgentinaIoni Bowcher NEGOTIATION
Mujtaba X MacleadIndiaElwin Sharvill QUALIFIED
Misaki Z WieserGermanyXuxue Feng NEGOTIATION
Murillo F BologniaSpainBernardo Dominic PROPOSAL
Ivar V KolmetzCanadaAmy Elsner PROPOSAL
Salvatore R InouyeBrazilAnna Fali QUALIFIED
Jones T NickaSpainElwin Sharvill NEW
Arvin T CaudyFranceAmy Elsner NEGOTIATION
Greenwood A DilliardIndiaStephen Shaw UNQUALIFIED
Greenwood D SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Maisha E MorascaCanadaElwin Sharvill NEGOTIATION
Johnson J FigeroaBrazilStephen Shaw QUALIFIED
Juan P MarrierUnited KingdomAmy Elsner RENEWAL
Claire C SlusarskiIndiaElwin Sharvill UNQUALIFIED
Antonio K PerinGermanyStephen Shaw NEW
Antonio V SaylorsItalyAmy Elsner QUALIFIED
Arvin P CaudyItalyOnyama Limba PROPOSAL
Claire S GillianJapanElwin Sharvill RENEWAL
Aruna D AmigonAustraliaXuxue Feng NEGOTIATION
Darci J GarufiRussiaOnyama Limba PROPOSAL
Isabel S CampainBrazilOnyama Limba NEW
Ashley S NickaFranceAmy Elsner UNQUALIFIED
Salvatore J RutaBrazilAnna Fali PROPOSAL
Claire R FlosiFranceIvan Magalhaes RENEWAL
Izzy Z CaudyCanadaBernardo Dominic NEW
Misaki M RoysterGermanyIoni Bowcher NEW
Julie D WieserIndiaAsiya Javayant NEGOTIATION
Aditya W MacleadArgentinaXuxue Feng NEGOTIATION
Aruna U RulapaughFranceElwin Sharvill RENEWAL
Maisha Y CaudySpainIoni Bowcher NEGOTIATION
Ashley C OldroydSpainElwin Sharvill RENEWAL
Cody J PoquetteIndiaAsiya Javayant RENEWAL
Faith H DoeIndiaIvan Magalhaes NEW
Misaki A RimSpainAnna Fali NEGOTIATION
Munro L AlbaresCanadaIoni Bowcher PROPOSAL
Greenwood X PoquetteBrazilAnna Fali NEGOTIATION
Smith O MarrierItalyAmy Elsner PROPOSAL
Chavez B DarakjyUnited KingdomXuxue Feng NEGOTIATION
Mujtaba H FlosiFranceElwin Sharvill QUALIFIED
Jeanfrancois V BriddickSpainXuxue Feng PROPOSAL
Cody G StockhamIndiaBernardo Dominic NEGOTIATION
Faith Z ChuiUnited KingdomStephen Shaw NEGOTIATION
Leon A MacleadFranceIoni Bowcher PROPOSAL
Nicolas I FlosiSpainAsiya Javayant RENEWAL
Jones K OldroydRussiaOnyama Limba UNQUALIFIED
Isabel U DilliardBrazilAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh V ShinkoSpainXuxue Feng UNQUALIFIED
Smith O GlickAustraliaAnna Fali PROPOSAL
Aditya O ChuiItalyXuxue Feng UNQUALIFIED
Greenwood S StensethSpainAsiya Javayant PROPOSAL
Emily B GauchoRussiaXuxue Feng NEW
Adams K StensethJapanAsiya Javayant NEW
Smith L ShinkoArgentinaBernardo Dominic NEGOTIATION
Darci D ButtArgentinaElwin Sharvill PROPOSAL
Faith V GauchoCanadaXuxue Feng RENEWAL
Mayumi W ShinkoItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki B VenereUnited Kingdom2026-08-16Rangoni Of Florence NEW68Asiya Javayant
1001Greenwood D StensethJapan2026-08-19Chapman, Ross E Esq UNQUALIFIED90Ioni Bowcher
1002Leon L IturbideItaly2026-08-22Commercial Press RENEWAL16Stephen Shaw
1003Leja I OldroydItaly2026-08-04Rousseaux, Michael Esq NEW32Bernardo Dominic
1004Aruna D InouyeArgentina2026-07-30Feiner Bros NEGOTIATION0Stephen Shaw
1005Leon L StockhamArgentina2026-07-29Buckley Miller Wright PROPOSAL38Bernardo Dominic
1006Isabel V CaldareraGermany2026-07-30Rousseaux, Michael Esq PROPOSAL15Asiya Javayant
1007Salvatore T SaylorsArgentina2026-08-19Morlong Associates RENEWAL62Xuxue Feng
1008Emily V RimSpain2026-08-20Rangoni Of Florence RENEWAL84Ivan Magalhaes
1009Isabel E GarufiFrance2026-08-23Morlong Associates NEGOTIATION95Elwin Sharvill
1010Stacey U SaylorsJapan2026-07-28Truhlar And Truhlar Attys UNQUALIFIED36Anna Fali
1011Aditya C FerenczFrance2026-08-10Feiner Bros RENEWAL72Anna Fali
1012Kaitlin M MarrierItaly2026-08-23Truhlar And Truhlar Attys RENEWAL39Asiya Javayant
1013Antonio A BowleyArgentina2026-08-09Printing Dimensions UNQUALIFIED73Xuxue Feng
1014Greenwood S StensethJapan2026-08-15Commercial Press NEGOTIATION7Onyama Limba
1015Julie R RutaGermany2026-07-30Buckley Miller Wright RENEWAL98Ioni Bowcher
1016Jefferson B WaycottRussia2026-07-26Rangoni Of Florence RENEWAL55Stephen Shaw
1017Jeanfrancois V SchemmerUnited Kingdom2026-08-15Morlong Associates NEW49Ivan Magalhaes
1018Nicolas F RimJapan2026-08-07Feltz Printing Service NEW96Elwin Sharvill
1019Wickens G SlusarskiFrance2026-08-07Feiner Bros PROPOSAL23Ioni Bowcher
1020Leja R DilliardArgentina2026-08-15Buckley Miller Wright UNQUALIFIED91Ioni Bowcher
1021Julie H AmigonFrance2026-08-01Dorl, James J Esq NEGOTIATION75Xuxue Feng
1022Jefferson B BowleyJapan2026-08-05Feiner Bros RENEWAL31Ivan Magalhaes
1023Ricardo B ChuiFrance2026-08-10Chemel, James L Cpa NEGOTIATION32Stephen Shaw
1024Izzy E NestleGermany2026-07-27Benton, John B Jr PROPOSAL37Ivan Magalhaes
1025Tony V InouyeFrance2026-07-27Chanay, Jeffrey A Esq UNQUALIFIED97Elwin Sharvill
1026Kaitlin J GarufiUnited Kingdom2026-08-23Rangoni Of Florence RENEWAL60Ioni Bowcher
1027Kaitlin Q FollerJapan2026-08-04Morlong Associates UNQUALIFIED65Ioni Bowcher
1028Aika Z FollerBrazil2026-08-07Feltz Printing Service NEGOTIATION52Onyama Limba
1029Aika J NestleRussia2026-08-19Buckley Miller Wright QUALIFIED70Elwin Sharvill
1030Isabel Q GarufiRussia2026-08-16Chemel, James L Cpa RENEWAL46Elwin Sharvill
1031Mayumi S StensethAustralia2026-08-11King, Christopher A Esq NEGOTIATION48Elwin Sharvill
1032Ashley C SergiAustralia2026-08-08Printing Dimensions PROPOSAL47Elwin Sharvill
1033Chavez I IturbideGermany2026-08-05Rousseaux, Michael Esq PROPOSAL59Onyama Limba
1034Emily K AmigonSpain2026-08-21Dorl, James J Esq PROPOSAL22Ioni Bowcher
1035Salvatore F NestleGermany2026-08-12Feltz Printing Service NEW27Xuxue Feng
1036Mayumi I RimCanada2026-08-07Dorl, James J Esq QUALIFIED15Stephen Shaw
1037James P WhobreyFrance2026-08-11Rousseaux, Michael Esq UNQUALIFIED29Bernardo Dominic
1038Silvio L BologniaRussia2026-08-03Morlong Associates QUALIFIED30Ivan Magalhaes
1039James L GauchoArgentina2026-08-07Buckley Miller Wright RENEWAL11Stephen Shaw
1040Maria M ChuiUnited Kingdom2026-08-01Benton, John B Jr QUALIFIED64Stephen Shaw
1041Cody R CaldareraBrazil2026-08-09Rangoni Of Florence UNQUALIFIED12Bernardo Dominic
1042Emily Q NestleBrazil2026-08-04Chanay, Jeffrey A Esq NEW15Stephen Shaw
1043Murillo X MorascaAustralia2026-07-30Chanay, Jeffrey A Esq RENEWAL83Bernardo Dominic
1044Jennifer L DilliardBrazil2026-07-25Morlong Associates QUALIFIED95Ioni Bowcher
1045Ivar W MorascaCanada2026-08-21Rousseaux, Michael Esq PROPOSAL46Asiya Javayant
1046Rodrigues H TollnerSpain2026-08-14Feltz Printing Service NEGOTIATION38Ioni Bowcher
1047Misaki L SaylorsJapan2026-07-27Rousseaux, Michael Esq NEW91Onyama Limba
1048Cody W CaudyJapan2026-08-13Rangoni Of Florence QUALIFIED15Amy Elsner
1049Isabel G KuskoRussia2026-07-25King, Christopher A Esq NEGOTIATION81Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin D MarrierAustraliaAnna Fali UNQUALIFIED
Juan C CaudySpainIvan Magalhaes RENEWAL
Leon J KuskoRussiaElwin Sharvill NEGOTIATION
Faith X RulapaughAustraliaOnyama Limba RENEWAL
Ashley A SchemmerGermanyIvan Magalhaes UNQUALIFIED
Cody G PerinArgentinaAmy Elsner RENEWAL
Cody L RimBrazilStephen Shaw PROPOSAL
Francesco J PoquetteRussiaBernardo Dominic NEW
Darci U StockhamArgentinaAmy Elsner UNQUALIFIED
Julie D NestleCanadaBernardo Dominic PROPOSAL
Costa W VocelkaIndiaAmy Elsner QUALIFIED
Antonio S BowleyArgentinaBernardo Dominic PROPOSAL
Isabel Y CaudyJapanOnyama Limba NEGOTIATION
Cody H WieserUnited KingdomStephen Shaw RENEWAL
Ivar X KolmetzItalyBernardo Dominic NEW
Clifford I ChuiArgentinaIvan Magalhaes RENEWAL
Mujtaba Y KolmetzCanadaElwin Sharvill QUALIFIED
Maria S PerinAustraliaBernardo Dominic PROPOSAL
Silvio H OldroydArgentinaXuxue Feng NEGOTIATION
Morrow C RoysterCanadaStephen Shaw NEW
Rodrigues A VenereItalyIvan Magalhaes PROPOSAL
Adams S ShinkoCanadaIvan Magalhaes NEW
Greenwood K GauchoItalyElwin Sharvill UNQUALIFIED
Faith K PerinIndiaIoni Bowcher RENEWAL
Jeanfrancois H SergiCanadaOnyama Limba NEGOTIATION
Murillo V DilliardGermanyIvan Magalhaes PROPOSAL
Costa Y PaprockiCanadaIvan Magalhaes NEGOTIATION
Salvatore V RimSpainAsiya Javayant RENEWAL
Deepesh B MarrierAustraliaAsiya Javayant NEGOTIATION
Octavia B OldroydJapanElwin Sharvill NEGOTIATION
Ivar H SchemmerIndiaOnyama Limba PROPOSAL
Misaki R CaudyUnited KingdomStephen Shaw PROPOSAL
Rodrigues Z PerinAustraliaAmy Elsner RENEWAL
Jones K CaldareraItalyIvan Magalhaes PROPOSAL
Darci M KuskoFranceStephen Shaw UNQUALIFIED
Kaitlin W CaudyGermanyIoni Bowcher RENEWAL
Stacey N MorascaAustraliaAnna Fali PROPOSAL
Murillo U WaycottJapanAnna Fali PROPOSAL
Aditya D MacleadFranceElwin Sharvill RENEWAL
Chavez P RimBrazilIoni Bowcher NEGOTIATION
Ashley N GarufiCanadaStephen Shaw UNQUALIFIED
Ricardo H DilliardArgentinaOnyama Limba NEGOTIATION
Leja Q GlickGermanyStephen Shaw UNQUALIFIED
Jefferson B ShinkoUnited KingdomAnna Fali QUALIFIED
Jones C TollnerJapanAmy Elsner NEGOTIATION
Greenwood C NestleAustraliaIvan Magalhaes RENEWAL
Ricardo C KuskoRussiaStephen Shaw RENEWAL
James M BologniaSpainIvan Magalhaes NEGOTIATION
Adams O DilliardBrazilIoni Bowcher QUALIFIED
Greenwood K SlusarskiIndiaAsiya Javayant QUALIFIED
Frozen Columns
Name
Tony B Butt
Wickens X Glick
Aika Z Ruta
Jones A Kolmetz
Izzy F Malet
Salvatore L Nestle
Tony C Shinko
Darci V Dilliard
David V Kolmetz
Smith W Malet
Ashley Z Iturbide
Jennifer G Foller
Nicolas F Garufi
Rodrigues X Rim
Leja S Paprocki
Silvio H Flosi
Jefferson A Bolognia
Murillo E Albares
Julie O Schemmer
Ricardo U Vocelka
Morrow E Caldarera
Kaitlin H Nestle
Johnson X Schemmer
Arvin M Sergi
David F Gaucho
Silvio D Dilliard
Maria P Slusarski
Misaki O Kolmetz
Kaitlin M Tollner
Rodrigues G Nestle
Aika G Venere
Darci U Campain
Izzy R Tollner
Chavez N Royster
Darci D Foller
Ivar L Vocelka
Cody S Royster
Chavez F Bolognia
Ashley P Perin
David U Rulapaugh
Francesco O Waycott
David H Morasca
Smith C Rulapaugh
Greenwood O Sergi
Munro D Perin
Greenwood X Venere
Costa Q Vocelka
Jeanfrancois L Ruta
Adams L Morasca
Antonio N Waycott
IdCountryDate
1000Spain2026-08-23
1001India2026-07-27
1002Brazil2026-08-18
1003Brazil2026-08-23
1004Japan2026-07-30
1005Brazil2026-08-11
1006Canada2026-08-16
1007France2026-08-06
1008Spain2026-08-05
1009Japan2026-08-10
1010United Kingdom2026-08-20
1011Italy2026-07-26
1012Spain2026-07-28
1013Spain2026-08-01
1014Canada2026-07-31
1015Germany2026-07-25
1016Russia2026-08-10
1017Russia2026-07-30
1018France2026-08-04
1019Italy2026-08-04
1020India2026-08-03
1021Russia2026-08-13
1022Argentina2026-08-14
1023India2026-08-15
1024Brazil2026-08-23
1025Canada2026-08-21
1026Brazil2026-08-17
1027India2026-08-01
1028United Kingdom2026-08-09
1029United Kingdom2026-08-12
1030Japan2026-08-12
1031Spain2026-08-16
1032Brazil2026-08-20
1033United Kingdom2026-08-11
1034France2026-08-14
1035Spain2026-08-15
1036Australia2026-07-29
1037France2026-08-04
1038Italy2026-08-19
1039Argentina2026-08-22
1040India2026-07-25
1041Australia2026-08-04
1042Argentina2026-07-26
1043Spain2026-08-14
1044Argentina2026-07-27
1045Spain2026-07-31
1046France2026-08-02
1047Australia2026-08-07
1048United Kingdom2026-08-08
1049Brazil2026-08-15

On-Demand Data

NameIdCountryDate
Darci F Butt1000Germany2026-08-02
Jennifer V Gaucho1001Italy2026-08-20
Chavez S Poquette1002Russia2026-08-15
Cody A Saylors1003Australia2026-07-27
Sinclair V Waycott1004India2026-08-12
Claire T Waycott1005Argentina2026-08-04
Silvio N Oldroyd1006Spain2026-07-27
Rodrigues U Sergi1007Russia2026-08-10
Aika D Waycott1008Brazil2026-08-23
Faith M Morasca1009Canada2026-08-18
Ashley M Garufi1010Italy2026-08-14
Morrow U Ruta1011Brazil2026-07-27
Jones D Schemmer1012Germany2026-07-29
James G Maclead1013France2026-08-03
Claire U Schemmer1014India2026-07-27
Salvatore Y Darakjy1015France2026-08-05
Stacey Y Glick1016Argentina2026-08-23
Kadeem V Kolmetz1017Russia2026-08-05
Alejandro E Morasca1018India2026-08-14
Octavia F Kusko1019Russia2026-07-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody M RutaArgentinaAmy Elsner QUALIFIED
Aditya T MacleadFranceBernardo Dominic NEW
Adams V PaprockiArgentinaBernardo Dominic NEGOTIATION
Mayumi C SchemmerJapanAmy Elsner QUALIFIED
Deepesh S WaycottBrazilXuxue Feng NEGOTIATION
Antonio P MarrierCanadaOnyama Limba NEW
Murillo A WieserIndiaStephen Shaw RENEWAL
Francesco G RulapaughAustraliaStephen Shaw UNQUALIFIED
Francesco R MaletGermanyStephen Shaw RENEWAL
Johnson C WaycottJapanAmy Elsner RENEWAL
Tony K RimArgentinaIvan Magalhaes QUALIFIED
Francesco I KolmetzArgentinaBernardo Dominic PROPOSAL
Misaki D StockhamAustraliaIoni Bowcher UNQUALIFIED
Kaitlin X NestleJapanStephen Shaw RENEWAL
Kaitlin F BologniaUnited KingdomIvan Magalhaes NEW
Smith B SlusarskiJapanAnna Fali RENEWAL
Wickens I OstroskyRussiaAmy Elsner UNQUALIFIED
Jeanfrancois V BowleyItalyBernardo Dominic RENEWAL
Misaki P NickaRussiaStephen Shaw QUALIFIED
Emily D RutaRussiaAnna Fali PROPOSAL
Kadeem J BologniaBrazilIoni Bowcher UNQUALIFIED
Tony D BowleyCanadaIoni Bowcher PROPOSAL
Greenwood Z StensethRussiaElwin Sharvill RENEWAL
Maria S GlickArgentinaAnna Fali QUALIFIED
Salvatore T MaletBrazilStephen Shaw RENEWAL
Misaki W StensethIndiaAmy Elsner UNQUALIFIED
Maria Y CaudyIndiaBernardo Dominic NEGOTIATION
Jeanfrancois X SaylorsIndiaAsiya Javayant QUALIFIED
Kaitlin C PoquetteArgentinaAmy Elsner QUALIFIED
Mayumi T DoeAustraliaElwin Sharvill PROPOSAL
Sinclair G SlusarskiFranceBernardo Dominic RENEWAL
Rodrigues Y StensethAustraliaAsiya Javayant NEGOTIATION
Kaitlin B MaletRussiaBernardo Dominic NEGOTIATION
Murillo P CampainIndiaAmy Elsner QUALIFIED
Emily M StockhamIndiaAsiya Javayant NEW
Jefferson W WaycottSpainOnyama Limba UNQUALIFIED
Julie H FerenczItalyAnna Fali PROPOSAL
Murillo T MorascaRussiaStephen Shaw NEW
Misaki K RimIndiaIoni Bowcher NEGOTIATION
Kaitlin R NestleCanadaAmy Elsner 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>