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
Kadeem K CaudyUnited KingdomAnna Fali UNQUALIFIED
James R PerinIndiaAnna Fali NEGOTIATION
Munro P RulapaughRussiaElwin Sharvill PROPOSAL
Maria E SlusarskiAustraliaXuxue Feng NEGOTIATION
Jennifer I SlusarskiBrazilAnna Fali PROPOSAL
Clifford M GauchoBrazilElwin Sharvill UNQUALIFIED
Deepesh A RimJapanAmy Elsner QUALIFIED
Emily U CaudyJapanBernardo Dominic NEW
Jennifer I KolmetzItalyIoni Bowcher NEW
Darci V BologniaItalyAsiya Javayant NEW
Juan R GarufiCanadaStephen Shaw NEGOTIATION
Rodrigues U RutaFranceStephen Shaw UNQUALIFIED
Maisha S CaldareraIndiaAsiya Javayant PROPOSAL
Clifford B OldroydBrazilStephen Shaw NEGOTIATION
Sinclair C MaletJapanIvan Magalhaes NEGOTIATION
Aika R OldroydBrazilIvan Magalhaes NEW
Darci D OldroydJapanOnyama Limba PROPOSAL
Wickens Z RutaItalyBernardo Dominic QUALIFIED
Silvio Z NickaAustraliaAmy Elsner PROPOSAL
Emily W RulapaughSpainOnyama Limba UNQUALIFIED
Jennifer G MorascaIndiaIvan Magalhaes PROPOSAL
Murillo H KolmetzCanadaAsiya Javayant PROPOSAL
Mujtaba U PoquetteJapanBernardo Dominic NEGOTIATION
Tony P SaylorsGermanyStephen Shaw PROPOSAL
Stacey K OstroskyCanadaIvan Magalhaes UNQUALIFIED
Octavia A ButtJapanIvan Magalhaes PROPOSAL
Misaki D KolmetzFranceAnna Fali NEW
Morrow O MaletBrazilAmy Elsner QUALIFIED
Rodrigues F VenereBrazilElwin Sharvill NEW
Aruna M BowleyBrazilStephen Shaw UNQUALIFIED
Kadeem D NestleFranceAnna Fali PROPOSAL
Aruna F CaudyFranceAnna Fali QUALIFIED
Tony A VenereAustraliaAsiya Javayant RENEWAL
Murillo K DarakjyFranceElwin Sharvill QUALIFIED
Leon U KolmetzBrazilIvan Magalhaes NEGOTIATION
Arvin A ShinkoArgentinaXuxue Feng PROPOSAL
Johnson D ButtGermanyElwin Sharvill NEW
Julie I CaldareraArgentinaAmy Elsner UNQUALIFIED
Sinclair O OstroskyBrazilAmy Elsner QUALIFIED
Darci G BologniaArgentinaAsiya Javayant QUALIFIED
Faith Y FigeroaItalyAsiya Javayant RENEWAL
Francesco E GillianBrazilElwin Sharvill NEGOTIATION
Salvatore F PoquetteJapanIoni Bowcher UNQUALIFIED
Jennifer T RulapaughRussiaAnna Fali NEW
Adams U MarrierItalyStephen Shaw NEW
Octavia J GlickGermanyElwin Sharvill NEGOTIATION
Johnson O MaletSpainIvan Magalhaes UNQUALIFIED
Aditya L KolmetzIndiaElwin Sharvill PROPOSAL
Leja X StockhamFranceAmy Elsner NEW
Ricardo Y SergiRussiaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa H CampainAustraliaAnna Fali NEGOTIATION
Jennifer Y NestleBrazilAmy Elsner NEGOTIATION
Jennifer J GlickCanadaElwin Sharvill RENEWAL
Aditya G RimBrazilIvan Magalhaes UNQUALIFIED
Kaitlin F BowleyAustraliaIvan Magalhaes NEW
Chavez T TollnerItalyXuxue Feng QUALIFIED
Adams G TollnerIndiaAsiya Javayant NEGOTIATION
Clifford R RulapaughArgentinaElwin Sharvill PROPOSAL
Claire S WieserCanadaOnyama Limba UNQUALIFIED
Misaki W PoquetteIndiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa K PerinUnited Kingdom2024-06-05Dorl, James J Esq RENEWAL90Asiya Javayant
1001Maisha J RimSpain2024-06-05Printing Dimensions NEGOTIATION91Bernardo Dominic
1002Emily K NickaSpain2024-05-29Rousseaux, Michael Esq UNQUALIFIED11Stephen Shaw
1003Julie L RutaArgentina2024-06-20Buckley Miller Wright PROPOSAL18Elwin Sharvill
1004Isabel M DoeGermany2024-06-02Chapman, Ross E Esq QUALIFIED40Bernardo Dominic
1005Maisha M RoysterArgentina2024-05-31Feiner Bros QUALIFIED47Ivan Magalhaes
1006Adams J ChuiAustralia2024-06-18Chemel, James L Cpa QUALIFIED50Onyama Limba
1007Johnson Z VocelkaGermany2024-06-14Feltz Printing Service NEGOTIATION91Amy Elsner
1008Murillo N RoysterItaly2024-06-05Commercial Press UNQUALIFIED53Onyama Limba
1009Mayumi W KolmetzItaly2024-06-03King, Christopher A Esq PROPOSAL7Amy Elsner
1010Johnson L KuskoFrance2024-06-05Commercial Press UNQUALIFIED34Onyama Limba
1011Smith N CaudyFrance2024-06-18Printing Dimensions UNQUALIFIED46Ivan Magalhaes
1012Emily J MorascaBrazil2024-06-19Printing Dimensions UNQUALIFIED47Stephen Shaw
1013Deepesh X MaletAustralia2024-06-15Morlong Associates QUALIFIED66Ioni Bowcher
1014Maisha P KuskoArgentina2024-06-19Buckley Miller Wright UNQUALIFIED89Asiya Javayant
1015Jones V BriddickArgentina2024-05-31King, Christopher A Esq NEGOTIATION47Stephen Shaw
1016Julie I GlickJapan2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED55Ivan Magalhaes
1017Munro P StensethJapan2024-06-07Morlong Associates QUALIFIED51Asiya Javayant
1018Johnson Q MarrierBrazil2024-06-03Dorl, James J Esq RENEWAL52Anna Fali
1019Mujtaba M ButtItaly2024-06-20Feiner Bros UNQUALIFIED85Amy Elsner
1020Ashley B DarakjyUnited Kingdom2024-05-26Rousseaux, Michael Esq PROPOSAL81Xuxue Feng
1021Octavia O MorascaBrazil2024-06-21Rangoni Of Florence UNQUALIFIED70Xuxue Feng
1022Aditya R StockhamSpain2024-06-19Feltz Printing Service NEGOTIATION89Xuxue Feng
1023Maisha C GillianBrazil2024-05-24Rousseaux, Michael Esq RENEWAL22Ioni Bowcher
1024Adams Y FerenczJapan2024-06-14Benton, John B Jr NEW41Bernardo Dominic
1025Mujtaba A WieserIndia2024-05-27Benton, John B Jr UNQUALIFIED47Asiya Javayant
1026Wickens A SergiSpain2024-05-25Morlong Associates NEGOTIATION60Stephen Shaw
1027Antonio C ChuiUnited Kingdom2024-06-08King, Christopher A Esq QUALIFIED27Bernardo Dominic
1028Kaitlin A RimFrance2024-06-16Benton, John B Jr UNQUALIFIED25Ioni Bowcher
1029Chavez F GlickAustralia2024-06-05Printing Dimensions QUALIFIED36Ioni Bowcher
1030Cody N WaycottIndia2024-05-25Rousseaux, Michael Esq NEGOTIATION22Elwin Sharvill
1031James Y GlickCanada2024-06-13Buckley Miller Wright QUALIFIED16Bernardo Dominic
1032Leja Z MorascaBrazil2024-06-09Rangoni Of Florence RENEWAL29Xuxue Feng
1033Mayumi Y ChuiCanada2024-05-30Truhlar And Truhlar Attys RENEWAL16Anna Fali
1034Adams N ShinkoRussia2024-05-28Feltz Printing Service PROPOSAL16Xuxue Feng
1035Rodrigues X FlosiArgentina2024-06-02Printing Dimensions NEW51Bernardo Dominic
1036Faith O GlickSpain2024-05-28Morlong Associates UNQUALIFIED61Anna Fali
1037Greenwood V WieserItaly2024-06-05Chemel, James L Cpa RENEWAL62Elwin Sharvill
1038Jennifer S TollnerArgentina2024-05-27Dorl, James J Esq RENEWAL12Anna Fali
1039Darci N StockhamIndia2024-06-12Dorl, James J Esq PROPOSAL55Bernardo Dominic
1040Arvin C PaprockiItaly2024-06-09Printing Dimensions QUALIFIED63Amy Elsner
1041Maisha F GauchoFrance2024-05-25Rousseaux, Michael Esq UNQUALIFIED13Ioni Bowcher
1042Maisha L PaprockiCanada2024-06-19Chanay, Jeffrey A Esq NEGOTIATION61Anna Fali
1043Adams X NickaCanada2024-06-08Buckley Miller Wright NEW85Xuxue Feng
1044Stacey Y VocelkaAustralia2024-06-02Dorl, James J Esq PROPOSAL65Ivan Magalhaes
1045Maria I ShinkoFrance2024-05-30Chapman, Ross E Esq NEGOTIATION57Ivan Magalhaes
1046Morrow B MaletAustralia2024-06-04Truhlar And Truhlar Attys QUALIFIED18Onyama Limba
1047Rodrigues E RimUnited Kingdom2024-05-23Dorl, James J Esq UNQUALIFIED87Elwin Sharvill
1048Stacey M MorascaUnited Kingdom2024-06-04Chapman, Ross E Esq UNQUALIFIED33Asiya Javayant
1049Mayumi D RimBrazil2024-06-14Printing Dimensions NEW27Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas H CaudyIndiaAnna Fali NEW
Costa E FollerRussiaXuxue Feng QUALIFIED
Jeanfrancois R ButtAustraliaElwin Sharvill NEW
Ricardo K MacleadAustraliaIvan Magalhaes UNQUALIFIED
Maisha K RimAustraliaStephen Shaw NEGOTIATION
Alejandro X RulapaughCanadaStephen Shaw PROPOSAL
Francesco G RutaBrazilBernardo Dominic QUALIFIED
Murillo J GauchoCanadaAmy Elsner UNQUALIFIED
Misaki H InouyeItalyAmy Elsner NEW
Ivar D MaletFranceIoni Bowcher PROPOSAL
Misaki I DarakjyGermanyIoni Bowcher NEGOTIATION
Kaitlin W WieserJapanIoni Bowcher UNQUALIFIED
Morrow P AlbaresAustraliaBernardo Dominic UNQUALIFIED
Munro B KuskoBrazilIoni Bowcher QUALIFIED
Isabel Z MaletUnited KingdomIoni Bowcher PROPOSAL
Munro W MorascaGermanyAnna Fali NEGOTIATION
Juan J DarakjyItalyStephen Shaw NEW
Leon R GauchoIndiaAnna Fali RENEWAL
Salvatore F ButtSpainAsiya Javayant UNQUALIFIED
Jeanfrancois J MorascaIndiaAnna Fali PROPOSAL
Jennifer L PoquetteFranceIvan Magalhaes PROPOSAL
Chavez S PoquetteFranceOnyama Limba UNQUALIFIED
Arvin R SchemmerArgentinaAnna Fali UNQUALIFIED
Alejandro T BriddickBrazilAnna Fali NEGOTIATION
Leon T MaletBrazilElwin Sharvill QUALIFIED
Mayumi J MaletFranceBernardo Dominic NEGOTIATION
Morrow S CaudyBrazilIoni Bowcher QUALIFIED
Morrow X StensethItalyOnyama Limba QUALIFIED
Costa P ShinkoRussiaStephen Shaw NEW
James H BowleyJapanIoni Bowcher UNQUALIFIED
Faith Y RulapaughIndiaOnyama Limba QUALIFIED
Smith F SergiBrazilStephen Shaw NEW
Maisha W GarufiCanadaOnyama Limba RENEWAL
Ivar A AmigonGermanyAmy Elsner QUALIFIED
Chavez O IturbideBrazilIvan Magalhaes QUALIFIED
Faith X MarrierCanadaStephen Shaw UNQUALIFIED
Costa C BriddickRussiaIoni Bowcher NEGOTIATION
Mayumi R CaudyUnited KingdomOnyama Limba QUALIFIED
Ivar R GillianGermanyOnyama Limba PROPOSAL
Deepesh C FerenczIndiaAnna Fali RENEWAL
Alejandro H SergiJapanIvan Magalhaes RENEWAL
Clifford O FlosiFranceElwin Sharvill PROPOSAL
Arvin N StockhamRussiaStephen Shaw PROPOSAL
Ivar L BologniaGermanyIoni Bowcher QUALIFIED
Leon I MaletCanadaAmy Elsner UNQUALIFIED
Salvatore B BowleyUnited KingdomIvan Magalhaes RENEWAL
Kadeem G IturbideSpainElwin Sharvill RENEWAL
Darci Q ButtFranceStephen Shaw UNQUALIFIED
Morrow C GlickItalyIvan Magalhaes NEW
Costa J AmigonArgentinaXuxue Feng QUALIFIED
Frozen Columns
Name
Claire I Briddick
Wickens Z Oldroyd
Antonio Q Waycott
Smith L Foller
Stacey W Foller
Jeanfrancois O Bowley
Antonio W Gillian
Tony W Wieser
Francesco V Tollner
James E Chui
David W Foller
Francesco H Sergi
Alejandro Z Poquette
Salvatore R Ruta
Costa H Campain
Octavia C Briddick
Maisha K Rulapaugh
Kadeem S Ferencz
Jennifer X Chui
Deepesh L Royster
Morrow G Morasca
Claire J Flosi
Deepesh C Iturbide
Ricardo K Nestle
Maria H Shinko
Deepesh B Briddick
Aika X Garufi
Deepesh Q Bowley
Cody V Sergi
Kadeem U Rulapaugh
Misaki D Oldroyd
Ricardo E Sergi
Rodrigues D Oldroyd
Leon M Marrier
Alejandro M Amigon
Tony G Malet
Stacey Z Rulapaugh
Tony N Vocelka
Adams R Nicka
Johnson O Iturbide
Juan Z Ferencz
Greenwood M Ruta
Ashley W Rim
Smith H Marrier
Ashley O Butt
Nicolas C Ostrosky
Smith F Schemmer
Nicolas X Saylors
Jones M Bowley
Clifford Z Dilliard
IdCountryDate
1000Japan2024-06-02
1001Japan2024-06-14
1002United Kingdom2024-06-20
1003Brazil2024-06-03
1004Germany2024-06-09
1005Canada2024-05-29
1006Argentina2024-05-30
1007France2024-05-29
1008Russia2024-06-10
1009Canada2024-05-30
1010Brazil2024-06-20
1011Canada2024-05-27
1012India2024-06-21
1013Italy2024-05-28
1014Italy2024-06-18
1015Argentina2024-06-16
1016Canada2024-05-27
1017Australia2024-05-23
1018Russia2024-05-28
1019Italy2024-06-08
1020Canada2024-06-02
1021Russia2024-06-21
1022Australia2024-06-21
1023Italy2024-05-26
1024Brazil2024-06-12
1025Italy2024-06-06
1026Argentina2024-05-23
1027Canada2024-06-01
1028Japan2024-05-25
1029Australia2024-05-24
1030Brazil2024-06-10
1031Japan2024-06-12
1032Japan2024-06-02
1033Australia2024-05-25
1034Canada2024-06-20
1035Japan2024-06-10
1036Spain2024-05-23
1037Canada2024-06-13
1038France2024-06-15
1039Argentina2024-06-19
1040India2024-06-19
1041Australia2024-06-18
1042Canada2024-06-20
1043Brazil2024-06-21
1044France2024-05-23
1045Italy2024-06-05
1046Italy2024-06-12
1047Italy2024-05-30
1048Argentina2024-06-07
1049Argentina2024-06-06

On-Demand Data

NameIdCountryDate
Kaitlin M Perin1000Spain2024-06-05
Ivar M Rulapaugh1001United Kingdom2024-06-16
Adams S Malet1002Italy2024-06-15
Francesco L Morasca1003Japan2024-06-12
Costa B Foller1004Germany2024-06-18
Aika D Foller1005Japan2024-06-04
David C Garufi1006Italy2024-06-01
Kaitlin A Nestle1007Argentina2024-06-01
David Z Figeroa1008Canada2024-06-17
Sinclair S Inouye1009Australia2024-06-16
Emily F Bolognia1010Russia2024-06-19
Johnson K Stockham1011India2024-05-26
Izzy Y Schemmer1012Argentina2024-06-03
Jeanfrancois S Rim1013Brazil2024-06-11
Leon D Caldarera1014Australia2024-05-29
James S Ferencz1015Germany2024-06-05
Francesco X Saylors1016Russia2024-05-24
Wickens W Glick1017Australia2024-05-27
Arvin S Garufi1018United Kingdom2024-06-20
Smith D Poquette1019India2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba F BriddickJapanAmy Elsner QUALIFIED
Wickens C PerinCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois J AlbaresJapanIoni Bowcher QUALIFIED
Johnson O CaudyFranceAmy Elsner QUALIFIED
Costa J WhobreyUnited KingdomXuxue Feng RENEWAL
Maisha Z CaudyIndiaOnyama Limba NEW
Francesco P GauchoCanadaOnyama Limba NEGOTIATION
Maisha C VenereJapanIoni Bowcher PROPOSAL
James A OstroskyAustraliaOnyama Limba NEW
Mujtaba B StockhamBrazilBernardo Dominic PROPOSAL
Greenwood N MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Misaki J WaycottRussiaIoni Bowcher NEGOTIATION
Leja R VenereUnited KingdomIoni Bowcher PROPOSAL
Isabel N VocelkaItalyAmy Elsner QUALIFIED
Maisha I InouyeIndiaIvan Magalhaes PROPOSAL
Aditya X RulapaughGermanyXuxue Feng NEGOTIATION
Aruna R MarrierBrazilElwin Sharvill PROPOSAL
Sinclair X FollerJapanIoni Bowcher UNQUALIFIED
Izzy P BologniaSpainOnyama Limba RENEWAL
Kaitlin A MarrierSpainIoni Bowcher PROPOSAL
Isabel W VocelkaArgentinaAnna Fali NEGOTIATION
Jennifer B AlbaresAustraliaBernardo Dominic QUALIFIED
Misaki F SergiSpainBernardo Dominic NEW
Murillo D MaletIndiaIoni Bowcher NEGOTIATION
David H KuskoAustraliaOnyama Limba RENEWAL
Smith V DilliardAustraliaXuxue Feng RENEWAL
Salvatore A PerinAustraliaBernardo Dominic PROPOSAL
Izzy A NickaIndiaAnna Fali NEW
Tony R KuskoItalyStephen Shaw RENEWAL
Kaitlin N FollerUnited KingdomAnna Fali NEGOTIATION
Octavia Z FerenczArgentinaIvan Magalhaes UNQUALIFIED
Emily I FollerJapanStephen Shaw NEGOTIATION
Ricardo J FollerCanadaAnna Fali NEGOTIATION
James J DarakjyUnited KingdomStephen Shaw QUALIFIED
Rodrigues L FigeroaUnited KingdomIoni Bowcher PROPOSAL
Kadeem T OldroydGermanyIvan Magalhaes NEW
Johnson W OstroskyRussiaIoni Bowcher NEW
Juan V NickaRussiaBernardo Dominic NEGOTIATION
Ashley Q FlosiAustraliaIoni Bowcher NEW
Greenwood Y KolmetzItalyElwin Sharvill 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>