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 B VenereJapanAmy Elsner PROPOSAL
Arvin E DarakjyAustraliaAsiya Javayant RENEWAL
Wickens Q ChuiArgentinaXuxue Feng UNQUALIFIED
Rodrigues J KuskoFranceOnyama Limba RENEWAL
Stacey S DoeIndiaXuxue Feng NEW
Maria Z SaylorsSpainXuxue Feng UNQUALIFIED
Leon L ChuiArgentinaOnyama Limba PROPOSAL
Smith S FigeroaItalyBernardo Dominic RENEWAL
Jeanfrancois U MacleadArgentinaAnna Fali NEGOTIATION
Izzy R DilliardGermanyIoni Bowcher RENEWAL
Arvin H FerenczAustraliaXuxue Feng NEGOTIATION
Ivar V ShinkoBrazilStephen Shaw NEW
Claire W VocelkaAustraliaElwin Sharvill NEW
Aditya C WhobreyRussiaIoni Bowcher NEW
Nicolas N BologniaAustraliaOnyama Limba NEW
Jennifer R WaycottFranceXuxue Feng PROPOSAL
Rodrigues M WieserArgentinaAmy Elsner PROPOSAL
James S MaletBrazilIvan Magalhaes QUALIFIED
Darci C KolmetzGermanyAnna Fali QUALIFIED
Clifford J FerenczSpainStephen Shaw RENEWAL
Antonio R MaletArgentinaIoni Bowcher RENEWAL
Arvin X FlosiAustraliaBernardo Dominic QUALIFIED
Faith K BologniaArgentinaAsiya Javayant PROPOSAL
Maisha U PerinJapanIoni Bowcher QUALIFIED
Mujtaba V CaudyAustraliaOnyama Limba PROPOSAL
Aika M FollerSpainOnyama Limba NEW
Leja F VenereFranceIvan Magalhaes UNQUALIFIED
Kadeem N BriddickJapanAsiya Javayant UNQUALIFIED
Aditya S DoeSpainIvan Magalhaes PROPOSAL
Chavez T SlusarskiGermanyElwin Sharvill QUALIFIED
Sinclair F VocelkaAustraliaIvan Magalhaes RENEWAL
Morrow Z VenereArgentinaBernardo Dominic NEGOTIATION
Sinclair I NickaAustraliaAmy Elsner UNQUALIFIED
Aruna Q SlusarskiRussiaXuxue Feng NEW
Munro Y MacleadRussiaOnyama Limba QUALIFIED
Chavez N MarrierAustraliaAnna Fali UNQUALIFIED
Leja Y StensethAustraliaAnna Fali PROPOSAL
Chavez E RutaArgentinaIvan Magalhaes NEW
Murillo N VenereGermanyStephen Shaw QUALIFIED
Izzy N FlosiAustraliaIvan Magalhaes NEW
Claire E DarakjyRussiaIvan Magalhaes UNQUALIFIED
Jennifer H MarrierArgentinaOnyama Limba NEW
Claire L PaprockiIndiaAmy Elsner PROPOSAL
Claire P PerinArgentinaIvan Magalhaes RENEWAL
Nicolas L OstroskyRussiaAnna Fali PROPOSAL
Faith K MacleadItalyStephen Shaw NEGOTIATION
Wickens D KolmetzSpainIvan Magalhaes RENEWAL
Julie O SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
James N OstroskyCanadaIvan Magalhaes QUALIFIED
Wickens M SlusarskiUnited KingdomIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire C SlusarskiRussiaAmy Elsner NEW
Octavia J BowleyIndiaOnyama Limba NEGOTIATION
Leon H SergiCanadaIoni Bowcher NEW
Antonio O DarakjyJapanOnyama Limba QUALIFIED
Smith C MaletItalyIvan Magalhaes RENEWAL
Tony N CaldareraSpainBernardo Dominic QUALIFIED
Rodrigues R GarufiUnited KingdomAsiya Javayant RENEWAL
Costa G AmigonItalyBernardo Dominic PROPOSAL
Maria V NickaSpainAsiya Javayant PROPOSAL
Aika V VenereSpainAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar K StensethSpain2026-08-09Feiner Bros NEGOTIATION92Bernardo Dominic
1001Rodrigues K AmigonBrazil2026-07-31Buckley Miller Wright QUALIFIED60Amy Elsner
1002Jennifer X KolmetzGermany2026-07-12Printing Dimensions UNQUALIFIED59Bernardo Dominic
1003Jennifer W PerinAustralia2026-07-24Truhlar And Truhlar Attys UNQUALIFIED11Onyama Limba
1004Claire Q NickaBrazil2026-07-13Chapman, Ross E Esq NEGOTIATION24Ioni Bowcher
1005Jeanfrancois X DilliardJapan2026-07-28Benton, John B Jr UNQUALIFIED45Xuxue Feng
1006Chavez Q BologniaBrazil2026-08-03Chanay, Jeffrey A Esq QUALIFIED48Asiya Javayant
1007Leja U FigeroaCanada2026-07-21King, Christopher A Esq NEGOTIATION95Anna Fali
1008Arvin F InouyeUnited Kingdom2026-08-01Chemel, James L Cpa UNQUALIFIED12Anna Fali
1009Ivar E AlbaresSpain2026-07-23Benton, John B Jr QUALIFIED68Bernardo Dominic
1010Ivar W WieserFrance2026-08-02Feltz Printing Service QUALIFIED59Amy Elsner
1011Jefferson G FigeroaSpain2026-07-22Rangoni Of Florence PROPOSAL94Anna Fali
1012Jones Y FerenczFrance2026-07-13Feiner Bros PROPOSAL54Anna Fali
1013Faith Y GlickBrazil2026-07-19Feiner Bros NEGOTIATION3Ioni Bowcher
1014Isabel K FlosiRussia2026-07-14Chemel, James L Cpa NEGOTIATION18Amy Elsner
1015Antonio T StockhamUnited Kingdom2026-08-07Chanay, Jeffrey A Esq RENEWAL1Asiya Javayant
1016Aika V GlickArgentina2026-08-05Truhlar And Truhlar Attys PROPOSAL12Ioni Bowcher
1017Morrow Z OldroydGermany2026-08-03Chapman, Ross E Esq NEGOTIATION24Stephen Shaw
1018Francesco M CaudyArgentina2026-07-14Morlong Associates PROPOSAL18Ivan Magalhaes
1019Darci G GlickFrance2026-07-23Printing Dimensions NEW14Anna Fali
1020Mayumi F ButtSpain2026-07-22Chanay, Jeffrey A Esq NEGOTIATION36Amy Elsner
1021Emily R MarrierSpain2026-07-12Rangoni Of Florence UNQUALIFIED59Stephen Shaw
1022Antonio U FlosiAustralia2026-07-16Chapman, Ross E Esq RENEWAL11Stephen Shaw
1023Silvio K MarrierAustralia2026-08-03Dorl, James J Esq PROPOSAL54Asiya Javayant
1024Julie H PaprockiItaly2026-07-31Rousseaux, Michael Esq NEGOTIATION58Amy Elsner
1025Aditya Z RoysterAustralia2026-07-17Rangoni Of Florence NEW55Asiya Javayant
1026Maria Q SchemmerRussia2026-07-26King, Christopher A Esq QUALIFIED40Amy Elsner
1027Wickens C WieserFrance2026-08-09Rangoni Of Florence QUALIFIED7Xuxue Feng
1028Darci N SaylorsBrazil2026-07-22Truhlar And Truhlar Attys NEW66Stephen Shaw
1029Stacey N FollerBrazil2026-07-23Chemel, James L Cpa QUALIFIED27Bernardo Dominic
1030Jefferson R KolmetzArgentina2026-08-04Feltz Printing Service NEW96Elwin Sharvill
1031Sinclair Y StensethArgentina2026-08-08Buckley Miller Wright QUALIFIED1Ivan Magalhaes
1032Tony U FlosiBrazil2026-07-17King, Christopher A Esq PROPOSAL58Anna Fali
1033Jefferson F RulapaughArgentina2026-07-18King, Christopher A Esq NEW2Bernardo Dominic
1034Aditya Q RimIndia2026-08-06Chapman, Ross E Esq NEGOTIATION11Elwin Sharvill
1035Leon H GarufiUnited Kingdom2026-07-29Truhlar And Truhlar Attys NEW74Ivan Magalhaes
1036Kaitlin A RimArgentina2026-07-29Rangoni Of Florence NEW72Onyama Limba
1037Arvin H StockhamAustralia2026-07-15Rangoni Of Florence NEW52Xuxue Feng
1038Cody D InouyeIndia2026-07-23Chanay, Jeffrey A Esq QUALIFIED58Amy Elsner
1039Aruna L DarakjySpain2026-07-22Feiner Bros QUALIFIED30Ivan Magalhaes
1040Ricardo V SergiIndia2026-08-10Feltz Printing Service PROPOSAL9Asiya Javayant
1041Jefferson L AmigonIndia2026-08-07King, Christopher A Esq PROPOSAL54Stephen Shaw
1042Francesco W CampainItaly2026-08-03Dorl, James J Esq NEW23Anna Fali
1043Ricardo U AlbaresArgentina2026-07-25Chanay, Jeffrey A Esq RENEWAL42Ioni Bowcher
1044Leja M AlbaresFrance2026-08-03Chapman, Ross E Esq NEW64Elwin Sharvill
1045Ricardo Z SchemmerItaly2026-07-15Rangoni Of Florence NEGOTIATION25Anna Fali
1046Claire W AmigonRussia2026-07-15Benton, John B Jr RENEWAL21Bernardo Dominic
1047Jefferson V FlosiFrance2026-08-08Chemel, James L Cpa PROPOSAL90Stephen Shaw
1048Rodrigues H SchemmerRussia2026-07-12Chapman, Ross E Esq RENEWAL4Bernardo Dominic
1049Smith J ChuiCanada2026-07-13Chanay, Jeffrey A Esq NEW14Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki O FollerBrazilOnyama Limba NEGOTIATION
Tony K FlosiGermanyOnyama Limba PROPOSAL
Antonio K InouyeArgentinaIvan Magalhaes PROPOSAL
Darci F RulapaughSpainBernardo Dominic RENEWAL
Tony F OldroydFranceBernardo Dominic NEW
Deepesh B FlosiGermanyAnna Fali QUALIFIED
Jones T PerinSpainIoni Bowcher NEW
Ivar J BologniaSpainAmy Elsner UNQUALIFIED
James X SergiJapanStephen Shaw UNQUALIFIED
Aruna R SchemmerRussiaIvan Magalhaes NEGOTIATION
Munro W VenereSpainIoni Bowcher UNQUALIFIED
David M WhobreyArgentinaAnna Fali QUALIFIED
Ricardo L CaldareraBrazilBernardo Dominic UNQUALIFIED
Wickens L RimCanadaElwin Sharvill QUALIFIED
Misaki J GillianFranceAnna Fali RENEWAL
Sinclair C GarufiArgentinaAmy Elsner PROPOSAL
James F PoquetteItalyElwin Sharvill NEGOTIATION
Salvatore Y PoquetteRussiaStephen Shaw UNQUALIFIED
Johnson L FollerCanadaXuxue Feng QUALIFIED
Kadeem O CaudyUnited KingdomIvan Magalhaes RENEWAL
James I SergiArgentinaIvan Magalhaes UNQUALIFIED
Silvio T MaletFranceAnna Fali UNQUALIFIED
Kadeem M FlosiRussiaBernardo Dominic UNQUALIFIED
Salvatore G FigeroaAustraliaAsiya Javayant RENEWAL
Munro Q GillianUnited KingdomElwin Sharvill UNQUALIFIED
Wickens O DarakjyBrazilBernardo Dominic NEGOTIATION
Greenwood S MarrierArgentinaOnyama Limba RENEWAL
Jefferson T PaprockiUnited KingdomElwin Sharvill RENEWAL
James N GillianUnited KingdomBernardo Dominic NEW
Greenwood I GillianCanadaAnna Fali RENEWAL
Jones X NickaJapanStephen Shaw NEGOTIATION
Munro W CaudyAustraliaXuxue Feng NEW
Sinclair V ChuiUnited KingdomBernardo Dominic RENEWAL
Munro U GlickRussiaAsiya Javayant UNQUALIFIED
Emily L SaylorsRussiaIvan Magalhaes UNQUALIFIED
Nicolas G RimItalyAsiya Javayant RENEWAL
Darci C SlusarskiBrazilAsiya Javayant PROPOSAL
Alejandro M NestleUnited KingdomBernardo Dominic NEGOTIATION
Jones M GlickJapanOnyama Limba PROPOSAL
Mujtaba S DilliardFranceXuxue Feng NEGOTIATION
Chavez B MaletItalyIoni Bowcher UNQUALIFIED
Aruna Q DoeIndiaOnyama Limba PROPOSAL
Nicolas Q FollerGermanyIvan Magalhaes NEGOTIATION
Maisha C FlosiItalyStephen Shaw NEGOTIATION
Kadeem C PerinFranceElwin Sharvill NEW
Munro P RimBrazilXuxue Feng UNQUALIFIED
Chavez O SergiAustraliaStephen Shaw PROPOSAL
Munro W VocelkaGermanyStephen Shaw NEW
Mayumi S ButtJapanAnna Fali RENEWAL
Leon V AlbaresBrazilIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Maria S Stockham
Silvio B Dilliard
Claire S Maclead
Wickens R Flosi
Juan L Campain
James W Schemmer
Julie C Albares
Sinclair M Venere
Jeanfrancois E Ostrosky
Aruna Q Kusko
Jefferson I Bolognia
Antonio G Maclead
Murillo M Schemmer
Cody N Poquette
Aika Z Briddick
Costa R Darakjy
Leon M Inouye
Nicolas S Stockham
Jennifer I Malet
Jennifer S Malet
Deepesh X Malet
Faith M Gaucho
Misaki N Briddick
Ivar U Malet
Jones B Ferencz
Faith S Wieser
Morrow R Figeroa
Antonio Y Flosi
Leon W Gaucho
Aika T Ostrosky
Octavia B Paprocki
Ashley G Maclead
Jefferson Q Royster
Misaki S Tollner
Ivar Z Kusko
Mujtaba Q Gillian
Maria P Perin
Ivar C Iturbide
Claire Y Doe
Nicolas M Saylors
Silvio U Glick
Ashley U Rim
Kaitlin R Whobrey
Smith K Doe
Greenwood F Flosi
Chavez F Briddick
Darci S Flosi
Jennifer W Rim
Maisha K Schemmer
Smith L Chui
IdCountryDate
1000Spain2026-07-24
1001Spain2026-07-22
1002Japan2026-08-07
1003United Kingdom2026-08-03
1004Spain2026-08-06
1005Italy2026-07-27
1006India2026-07-28
1007Canada2026-07-22
1008Russia2026-07-12
1009Argentina2026-08-03
1010Russia2026-08-03
1011Japan2026-07-20
1012India2026-07-29
1013France2026-07-20
1014Germany2026-07-25
1015Brazil2026-07-16
1016Canada2026-07-28
1017Argentina2026-08-10
1018Spain2026-07-31
1019Australia2026-08-05
1020Spain2026-08-04
1021Russia2026-07-12
1022United Kingdom2026-07-29
1023Canada2026-07-19
1024Australia2026-08-10
1025Brazil2026-07-26
1026Argentina2026-08-02
1027Germany2026-07-26
1028Japan2026-07-25
1029Brazil2026-07-30
1030India2026-08-03
1031Brazil2026-07-29
1032Argentina2026-07-27
1033Russia2026-07-15
1034United Kingdom2026-07-18
1035France2026-07-15
1036Brazil2026-07-25
1037India2026-07-12
1038Brazil2026-07-18
1039Germany2026-07-15
1040Russia2026-07-18
1041Australia2026-08-03
1042Australia2026-08-02
1043United Kingdom2026-07-12
1044Australia2026-07-26
1045India2026-07-12
1046Canada2026-08-01
1047Italy2026-07-24
1048Brazil2026-07-25
1049India2026-08-01

On-Demand Data

NameIdCountryDate
Darci T Inouye1000India2026-07-28
Misaki L Marrier1001Argentina2026-08-05
Stacey R Malet1002Canada2026-08-09
Jeanfrancois J Caldarera1003Spain2026-07-14
Leon C Ruta1004India2026-07-18
Kaitlin X Ruta1005India2026-07-20
Alejandro N Poquette1006Germany2026-07-29
Julie G Wieser1007Canada2026-07-30
Johnson I Whobrey1008Japan2026-08-03
Ashley A Foller1009Italy2026-08-05
Leon D Amigon1010Canada2026-08-07
Darci A Maclead1011United Kingdom2026-08-01
Aruna K Sergi1012France2026-07-22
Cody Y Darakjy1013Spain2026-07-17
Kadeem N Foller1014United Kingdom2026-08-06
Chavez M Malet1015Germany2026-08-05
Stacey V Marrier1016Italy2026-07-31
Julie Q Shinko1017Germany2026-08-05
Arvin I Tollner1018Brazil2026-07-17
Francesco C Wieser1019Italy2026-07-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones N NickaCanadaAnna Fali RENEWAL
Greenwood M RoysterGermanyAmy Elsner NEW
Antonio O CampainBrazilIvan Magalhaes PROPOSAL
Leon N CampainUnited KingdomXuxue Feng NEW
Maria L RutaSpainElwin Sharvill RENEWAL
Clifford B StockhamItalyElwin Sharvill NEW
Claire D MaletSpainBernardo Dominic NEGOTIATION
Chavez O VenereFranceStephen Shaw PROPOSAL
Aika B InouyeIndiaAnna Fali UNQUALIFIED
Clifford Z PoquetteJapanOnyama Limba QUALIFIED
Aika Z ChuiSpainAsiya Javayant PROPOSAL
Murillo H GillianSpainAnna Fali NEW
Greenwood Y SlusarskiJapanIvan Magalhaes UNQUALIFIED
Mayumi V CampainFranceIoni Bowcher UNQUALIFIED
Faith T FollerAustraliaAmy Elsner PROPOSAL
Nicolas E NickaArgentinaXuxue Feng PROPOSAL
Smith X GarufiBrazilAnna Fali NEGOTIATION
Kadeem O MorascaFranceAnna Fali PROPOSAL
Salvatore F SaylorsCanadaStephen Shaw RENEWAL
Emily T GlickBrazilAnna Fali NEW
Costa N ChuiFranceAsiya Javayant RENEWAL
Octavia G SergiSpainAnna Fali UNQUALIFIED
Aika N BologniaUnited KingdomAsiya Javayant NEW
Jeanfrancois A DoeArgentinaAsiya Javayant QUALIFIED
Deepesh O ShinkoBrazilAnna Fali UNQUALIFIED
Johnson Z DilliardFranceOnyama Limba NEGOTIATION
Mayumi C MorascaArgentinaElwin Sharvill NEGOTIATION
Jennifer O CaudySpainAmy Elsner QUALIFIED
James X BowleyIndiaElwin Sharvill RENEWAL
Juan O FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Arvin Z TollnerBrazilAnna Fali NEW
Salvatore Q MaletUnited KingdomIoni Bowcher QUALIFIED
Mayumi T DoeUnited KingdomAsiya Javayant UNQUALIFIED
Silvio E KolmetzSpainAmy Elsner UNQUALIFIED
Alejandro Q OstroskyBrazilIoni Bowcher NEW
Clifford D PaprockiUnited KingdomElwin Sharvill PROPOSAL
Kadeem X BowleySpainAmy Elsner QUALIFIED
Maisha H DilliardAustraliaIvan Magalhaes NEGOTIATION
Jefferson T MacleadRussiaAmy Elsner UNQUALIFIED
Wickens C StensethSpainIoni Bowcher PROPOSAL

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