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 Y MarrierIndiaElwin Sharvill UNQUALIFIED
Deepesh V ChuiJapanIvan Magalhaes QUALIFIED
Kaitlin V InouyeIndiaIoni Bowcher NEW
Kaitlin S RutaJapanIoni Bowcher NEW
Cody R SergiGermanyXuxue Feng UNQUALIFIED
Emily F OstroskyRussiaOnyama Limba NEW
Sinclair A DoeRussiaXuxue Feng NEW
Jennifer Q FerenczFranceBernardo Dominic QUALIFIED
Octavia Z StockhamJapanXuxue Feng RENEWAL
Ricardo I WieserAustraliaOnyama Limba NEW
Leon B ButtCanadaBernardo Dominic NEW
Octavia F FlosiGermanyAmy Elsner NEW
Jeanfrancois O NickaJapanAmy Elsner PROPOSAL
Francesco K IturbideRussiaIvan Magalhaes NEW
Aruna L CaldareraItalyXuxue Feng PROPOSAL
Antonio A SchemmerAustraliaOnyama Limba UNQUALIFIED
Izzy C RutaJapanOnyama Limba NEGOTIATION
Clifford Q OstroskyGermanyAnna Fali PROPOSAL
Emily A GarufiFranceAsiya Javayant RENEWAL
James H GauchoJapanIoni Bowcher NEW
Misaki G OstroskyFranceStephen Shaw NEW
Julie C KolmetzIndiaXuxue Feng NEW
Deepesh W SergiRussiaOnyama Limba PROPOSAL
Octavia G MorascaIndiaStephen Shaw QUALIFIED
Costa I VocelkaItalyAmy Elsner UNQUALIFIED
Rodrigues G FerenczJapanAmy Elsner QUALIFIED
Aditya K CaldareraUnited KingdomStephen Shaw NEGOTIATION
Sinclair Q MaletCanadaAsiya Javayant RENEWAL
Aruna M BriddickCanadaIvan Magalhaes QUALIFIED
Juan Y DilliardItalyAnna Fali NEW
Jennifer T WaycottItalyAmy Elsner UNQUALIFIED
Jefferson T GarufiItalyXuxue Feng NEW
Maisha R PaprockiJapanAmy Elsner NEGOTIATION
Ivar A BowleyItalyBernardo Dominic PROPOSAL
Francesco L CampainRussiaBernardo Dominic NEW
Claire J WieserCanadaAmy Elsner NEW
Salvatore K NestleIndiaIoni Bowcher PROPOSAL
Ashley I KuskoCanadaAmy Elsner PROPOSAL
Kadeem A AlbaresArgentinaAnna Fali PROPOSAL
Cody G KolmetzBrazilIvan Magalhaes PROPOSAL
Antonio Z OldroydCanadaIvan Magalhaes RENEWAL
Claire J KolmetzIndiaOnyama Limba NEW
Adams X IturbideCanadaAsiya Javayant RENEWAL
Chavez N KuskoAustraliaIoni Bowcher RENEWAL
Salvatore U SaylorsRussiaAnna Fali NEGOTIATION
Tony Y CampainGermanyOnyama Limba RENEWAL
Ivar K MaletIndiaStephen Shaw UNQUALIFIED
Salvatore R BowleyJapanIvan Magalhaes UNQUALIFIED
Darci S BowleyArgentinaElwin Sharvill RENEWAL
Izzy M KuskoBrazilStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson V ShinkoJapanXuxue Feng RENEWAL
Juan A SchemmerGermanyAnna Fali RENEWAL
Arvin Z StensethCanadaAmy Elsner RENEWAL
Leon G AmigonJapanStephen Shaw RENEWAL
Juan P VenereUnited KingdomAnna Fali UNQUALIFIED
Jones A DilliardBrazilAmy Elsner NEW
Morrow Y WieserRussiaAnna Fali QUALIFIED
Isabel Y RulapaughFranceAsiya Javayant PROPOSAL
Francesco F SlusarskiAustraliaXuxue Feng NEW
Morrow G GarufiItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy F FerenczSpain2026-08-20Truhlar And Truhlar Attys RENEWAL40Anna Fali
1001Juan H FollerJapan2026-08-01Chapman, Ross E Esq NEGOTIATION56Amy Elsner
1002Munro U BologniaJapan2026-08-20Benton, John B Jr NEGOTIATION85Elwin Sharvill
1003Claire Y InouyeRussia2026-08-23Printing Dimensions NEGOTIATION2Ioni Bowcher
1004Aditya I PoquetteRussia2026-08-27Buckley Miller Wright UNQUALIFIED70Ioni Bowcher
1005Sinclair G KolmetzArgentina2026-08-11Morlong Associates PROPOSAL0Bernardo Dominic
1006Mujtaba I StockhamArgentina2026-08-24Morlong Associates NEGOTIATION62Bernardo Dominic
1007Julie N CampainIndia2026-08-08Chemel, James L Cpa UNQUALIFIED76Amy Elsner
1008Chavez N KuskoJapan2026-08-24Printing Dimensions QUALIFIED17Ivan Magalhaes
1009Emily V BriddickGermany2026-08-08Printing Dimensions NEW76Anna Fali
1010Tony F AmigonIndia2026-08-17Chapman, Ross E Esq NEGOTIATION23Xuxue Feng
1011Morrow D OstroskyIndia2026-08-23Printing Dimensions PROPOSAL4Elwin Sharvill
1012Chavez I ShinkoRussia2026-08-18Commercial Press NEGOTIATION45Onyama Limba
1013Chavez J KuskoSpain2026-08-10Morlong Associates RENEWAL95Ivan Magalhaes
1014Jefferson G IturbideRussia2026-08-13Chemel, James L Cpa UNQUALIFIED55Ivan Magalhaes
1015Ricardo B RoysterRussia2026-08-01Commercial Press NEW65Bernardo Dominic
1016Emily O RoysterSpain2026-08-29Feiner Bros RENEWAL97Bernardo Dominic
1017Ivar Z WieserJapan2026-08-30Rousseaux, Michael Esq NEGOTIATION40Xuxue Feng
1018Cody Z NestleRussia2026-08-04Printing Dimensions RENEWAL82Ivan Magalhaes
1019Rodrigues T IturbideRussia2026-08-30King, Christopher A Esq QUALIFIED92Bernardo Dominic
1020Kadeem E OstroskyCanada2026-08-08Chapman, Ross E Esq NEGOTIATION59Amy Elsner
1021Leja S BriddickFrance2026-08-10Morlong Associates QUALIFIED61Ioni Bowcher
1022Leja N GillianAustralia2026-08-27Chapman, Ross E Esq PROPOSAL56Asiya Javayant
1023Salvatore T FerenczIndia2026-08-13Dorl, James J Esq NEW47Bernardo Dominic
1024Sinclair P MarrierItaly2026-08-18Chemel, James L Cpa RENEWAL10Onyama Limba
1025Sinclair J RoysterJapan2026-08-03Commercial Press PROPOSAL80Amy Elsner
1026Tony U MaletJapan2026-08-25Dorl, James J Esq RENEWAL71Amy Elsner
1027James U TollnerArgentina2026-08-27Feltz Printing Service PROPOSAL8Elwin Sharvill
1028Smith J MorascaJapan2026-08-16Rangoni Of Florence NEGOTIATION79Ivan Magalhaes
1029Chavez O FigeroaSpain2026-08-17Rangoni Of Florence QUALIFIED30Ivan Magalhaes
1030Cody M KolmetzCanada2026-08-07Dorl, James J Esq NEGOTIATION83Ioni Bowcher
1031Claire S NickaSpain2026-08-08Buckley Miller Wright RENEWAL61Anna Fali
1032Leon C OldroydRussia2026-08-16Buckley Miller Wright NEGOTIATION12Ivan Magalhaes
1033Aruna D NickaSpain2026-08-16Morlong Associates QUALIFIED8Anna Fali
1034Adams A WieserCanada2026-08-30Dorl, James J Esq PROPOSAL80Onyama Limba
1035Leon Z VocelkaCanada2026-08-11Rangoni Of Florence PROPOSAL13Anna Fali
1036Izzy D ChuiIndia2026-08-24Buckley Miller Wright RENEWAL56Stephen Shaw
1037Rodrigues B RoysterUnited Kingdom2026-08-29Dorl, James J Esq PROPOSAL82Ioni Bowcher
1038Nicolas A VenereIndia2026-08-13Buckley Miller Wright RENEWAL60Anna Fali
1039Clifford T RulapaughFrance2026-08-06Truhlar And Truhlar Attys NEGOTIATION57Elwin Sharvill
1040Mujtaba V InouyeSpain2026-08-14Rangoni Of Florence RENEWAL82Amy Elsner
1041Wickens N OstroskyIndia2026-08-04Rangoni Of Florence NEGOTIATION73Onyama Limba
1042Munro B MorascaIndia2026-08-27Morlong Associates NEGOTIATION58Ivan Magalhaes
1043Wickens Q AlbaresItaly2026-08-26Buckley Miller Wright QUALIFIED89Bernardo Dominic
1044Sinclair U PoquetteGermany2026-08-17Morlong Associates PROPOSAL6Xuxue Feng
1045Octavia J BowleyFrance2026-08-08Printing Dimensions NEW91Stephen Shaw
1046Arvin J MacleadBrazil2026-08-26Feiner Bros NEW79Onyama Limba
1047Octavia A WaycottItaly2026-08-04Dorl, James J Esq UNQUALIFIED61Anna Fali
1048Rodrigues T DarakjyJapan2026-08-11Chapman, Ross E Esq RENEWAL73Amy Elsner
1049Jeanfrancois B CaudyBrazil2026-08-28Rangoni Of Florence UNQUALIFIED10Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Wickens V FigeroaGermanyStephen Shaw UNQUALIFIED
Chavez H DoeSpainXuxue Feng RENEWAL
Jeanfrancois J NickaUnited KingdomXuxue Feng QUALIFIED
Francesco I IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Antonio B MaletSpainAmy Elsner NEGOTIATION
Ivar X DarakjyCanadaXuxue Feng UNQUALIFIED
Salvatore D RulapaughJapanAsiya Javayant QUALIFIED
Juan F AmigonFranceOnyama Limba RENEWAL
Darci M FerenczCanadaIoni Bowcher QUALIFIED
Kaitlin U PerinBrazilBernardo Dominic NEW
Mayumi Q StensethAustraliaAnna Fali PROPOSAL
Jefferson A ButtBrazilXuxue Feng NEW
Kadeem F WhobreyUnited KingdomElwin Sharvill NEW
Jennifer I BowleyItalyIvan Magalhaes QUALIFIED
Mayumi I OstroskyIndiaAmy Elsner UNQUALIFIED
Stacey V RimUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore Y DilliardJapanXuxue Feng NEW
Murillo H FollerAustraliaIvan Magalhaes NEW
Kaitlin A WieserItalyIoni Bowcher UNQUALIFIED
Stacey K GauchoRussiaXuxue Feng RENEWAL
Costa X GauchoGermanyAnna Fali RENEWAL
Cody P WieserUnited KingdomAnna Fali PROPOSAL
Darci V BriddickUnited KingdomStephen Shaw RENEWAL
Aika F DarakjyArgentinaIoni Bowcher PROPOSAL
Smith C ShinkoAustraliaIvan Magalhaes NEW
Mujtaba Q CaldareraGermanyOnyama Limba PROPOSAL
Juan S OldroydRussiaAnna Fali NEW
James B SaylorsBrazilAsiya Javayant NEGOTIATION
Leja H WaycottArgentinaXuxue Feng NEW
Cody J FollerUnited KingdomAsiya Javayant PROPOSAL
Misaki G MaletArgentinaElwin Sharvill PROPOSAL
Smith M MacleadCanadaAsiya Javayant NEGOTIATION
Jeanfrancois E RimBrazilOnyama Limba NEGOTIATION
Silvio L KolmetzFranceAmy Elsner NEW
Kaitlin F OldroydFranceXuxue Feng NEGOTIATION
Jones C FlosiUnited KingdomAnna Fali NEGOTIATION
Silvio L PerinBrazilElwin Sharvill QUALIFIED
Alejandro R TollnerGermanyElwin Sharvill NEW
Emily M MarrierAustraliaOnyama Limba UNQUALIFIED
Ricardo R AlbaresJapanIoni Bowcher UNQUALIFIED
Kaitlin Z StensethItalyXuxue Feng NEW
Maria D DilliardBrazilAsiya Javayant PROPOSAL
Chavez D PaprockiAustraliaIvan Magalhaes RENEWAL
Ivar E KolmetzItalyElwin Sharvill NEGOTIATION
Leon I RimRussiaElwin Sharvill NEW
Stacey H SlusarskiAustraliaAnna Fali NEW
Murillo V NestleGermanyAsiya Javayant NEGOTIATION
Silvio J BowleySpainAmy Elsner RENEWAL
Izzy I GillianItalyAmy Elsner PROPOSAL
Silvio Y OldroydBrazilIoni Bowcher PROPOSAL
Frozen Columns
Name
Ashley F Poquette
Ashley L Tollner
Leon D Schemmer
Leon J Caudy
Aditya B Foller
Stacey E Paprocki
Ashley G Royster
Octavia L Malet
Deepesh I Doe
Adams X Oldroyd
Juan V Gillian
Emily D Campain
Arvin R Dilliard
Izzy U Ferencz
Claire C Morasca
Silvio H Stockham
David S Caudy
Leja M Briddick
Aika F Rulapaugh
Francesco C Darakjy
Murillo K Flosi
David K Paprocki
Jennifer Q Waycott
Smith O Morasca
Greenwood F Flosi
Leja K Ruta
Wickens H Vocelka
Maria A Briddick
Aruna E Gillian
Munro L Albares
Emily V Marrier
Deepesh D Inouye
Sinclair E Whobrey
Murillo S Morasca
Misaki Y Kolmetz
Deepesh Z Kusko
Morrow Z Nicka
Ashley L Darakjy
Julie X Schemmer
Ricardo C Wieser
Francesco Y Marrier
Smith B Dilliard
Silvio V Inouye
Misaki B Kolmetz
Octavia Y Oldroyd
David N Ostrosky
Stacey X Venere
Mujtaba I Whobrey
Maria I Gaucho
Leon J Ostrosky
IdCountryDate
1000Australia2026-08-19
1001United Kingdom2026-08-28
1002Japan2026-08-09
1003France2026-08-28
1004United Kingdom2026-08-07
1005France2026-08-08
1006United Kingdom2026-08-01
1007Australia2026-08-11
1008Spain2026-08-11
1009France2026-08-07
1010Japan2026-08-07
1011Germany2026-08-19
1012Italy2026-08-01
1013Brazil2026-08-09
1014Spain2026-08-23
1015United Kingdom2026-08-19
1016Argentina2026-08-07
1017Canada2026-08-05
1018Canada2026-08-12
1019India2026-08-12
1020Australia2026-08-29
1021Argentina2026-08-04
1022Australia2026-08-07
1023France2026-08-04
1024Italy2026-08-09
1025Russia2026-08-25
1026Spain2026-08-21
1027Brazil2026-08-23
1028Canada2026-08-30
1029Spain2026-08-01
1030India2026-08-30
1031Spain2026-08-27
1032Spain2026-08-10
1033Argentina2026-08-24
1034Australia2026-08-14
1035Canada2026-08-02
1036Argentina2026-08-10
1037India2026-08-25
1038Australia2026-08-27
1039Brazil2026-08-27
1040Canada2026-08-09
1041Australia2026-08-26
1042France2026-08-22
1043Canada2026-08-06
1044Australia2026-08-13
1045France2026-08-07
1046Germany2026-08-11
1047United Kingdom2026-08-14
1048Australia2026-08-22
1049Japan2026-08-16

On-Demand Data

NameIdCountryDate
Kaitlin W Dilliard1000Spain2026-08-17
Mayumi B Oldroyd1001Germany2026-08-24
Ivar U Schemmer1002Germany2026-08-27
Izzy V Ferencz1003Australia2026-08-16
James G Malet1004Canada2026-08-06
Silvio Q Kusko1005Germany2026-08-11
Nicolas B Marrier1006Canada2026-08-17
Silvio N Sergi1007Japan2026-08-16
Kaitlin C Sergi1008Argentina2026-08-14
Sinclair F Stenseth1009Argentina2026-08-15
Stacey M Rim1010Brazil2026-08-20
Leon T Iturbide1011France2026-08-08
Arvin H Briddick1012United Kingdom2026-08-25
Clifford T Marrier1013Japan2026-08-02
Aditya K Morasca1014Japan2026-08-24
Clifford O Schemmer1015Spain2026-08-21
Claire Q Briddick1016Brazil2026-08-03
Alejandro L Butt1017Spain2026-08-21
Misaki X Bolognia1018Germany2026-08-09
Jeanfrancois W Saylors1019Spain2026-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio I BriddickCanadaAnna Fali UNQUALIFIED
Leon R SchemmerUnited KingdomBernardo Dominic NEW
Munro M RimGermanyElwin Sharvill NEGOTIATION
David J PaprockiFranceIoni Bowcher PROPOSAL
Juan S KuskoJapanAsiya Javayant NEW
Francesco Y DilliardGermanyAnna Fali QUALIFIED
Ashley D DoeItalyAnna Fali NEGOTIATION
Mujtaba P StensethIndiaIoni Bowcher UNQUALIFIED
Aruna E BologniaGermanyXuxue Feng RENEWAL
Munro K OstroskyCanadaElwin Sharvill PROPOSAL
Clifford V PoquetteRussiaXuxue Feng NEW
Izzy R StockhamRussiaBernardo Dominic PROPOSAL
Faith B GarufiFranceAsiya Javayant NEW
Isabel R FlosiIndiaOnyama Limba RENEWAL
Mayumi I AlbaresJapanAnna Fali PROPOSAL
Isabel Y FerenczFranceOnyama Limba NEW
Leja I VocelkaItalyXuxue Feng NEGOTIATION
Ashley B SlusarskiIndiaStephen Shaw UNQUALIFIED
Johnson A IturbideCanadaAnna Fali RENEWAL
Cody H StensethGermanyStephen Shaw NEW
Alejandro W RoysterIndiaOnyama Limba NEGOTIATION
Sinclair O RoysterItalyStephen Shaw PROPOSAL
Sinclair A MaletRussiaOnyama Limba UNQUALIFIED
David W WhobreyItalyElwin Sharvill UNQUALIFIED
Ivar M WieserUnited KingdomOnyama Limba QUALIFIED
Murillo O VocelkaAustraliaBernardo Dominic NEGOTIATION
Tony A RoysterCanadaBernardo Dominic RENEWAL
Jones J ShinkoJapanIvan Magalhaes NEGOTIATION
Sinclair X SaylorsIndiaAmy Elsner UNQUALIFIED
Jeanfrancois S DilliardJapanOnyama Limba PROPOSAL
Jones S CampainCanadaIoni Bowcher QUALIFIED
Leon M SaylorsArgentinaXuxue Feng NEGOTIATION
Clifford V KuskoBrazilAsiya Javayant NEGOTIATION
Arvin F ShinkoAustraliaXuxue Feng QUALIFIED
Jefferson Q StensethUnited KingdomIoni Bowcher QUALIFIED
Wickens Z IturbideSpainAnna Fali NEW
Jennifer T NestleGermanyXuxue Feng PROPOSAL
Salvatore T SergiUnited KingdomAsiya Javayant PROPOSAL
Ricardo U ChuiUnited KingdomIvan Magalhaes QUALIFIED
James W FollerJapanIvan Magalhaes NEW

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