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 A GillianAustraliaAsiya Javayant PROPOSAL
Kadeem P InouyeIndiaAmy Elsner PROPOSAL
Greenwood B FollerUnited KingdomXuxue Feng RENEWAL
Cody K StockhamUnited KingdomIvan Magalhaes RENEWAL
Leon E GlickAustraliaBernardo Dominic RENEWAL
Jefferson K GauchoIndiaXuxue Feng PROPOSAL
Jennifer C DilliardRussiaOnyama Limba NEGOTIATION
Izzy P OstroskyIndiaIvan Magalhaes NEW
Ashley R CaudyRussiaElwin Sharvill RENEWAL
Adams A InouyeItalyElwin Sharvill PROPOSAL
Ashley Z RoysterFranceXuxue Feng NEGOTIATION
Juan J ShinkoUnited KingdomIvan Magalhaes NEW
Leon B MacleadIndiaStephen Shaw NEGOTIATION
Chavez M OldroydRussiaAnna Fali PROPOSAL
Deepesh J KolmetzAustraliaStephen Shaw RENEWAL
Silvio C AlbaresAustraliaAnna Fali RENEWAL
Murillo I AmigonJapanOnyama Limba PROPOSAL
Jeanfrancois I MaletFranceIvan Magalhaes QUALIFIED
Leon U NestleUnited KingdomOnyama Limba NEW
Darci D InouyeSpainStephen Shaw PROPOSAL
Johnson B FlosiBrazilElwin Sharvill NEGOTIATION
Kadeem N SchemmerJapanElwin Sharvill RENEWAL
Munro J FlosiCanadaElwin Sharvill RENEWAL
Leja C AlbaresItalyIoni Bowcher RENEWAL
Maisha F ShinkoAustraliaAmy Elsner PROPOSAL
Isabel G KuskoArgentinaAsiya Javayant NEW
Jennifer P DilliardUnited KingdomIoni Bowcher NEW
Faith K SergiRussiaBernardo Dominic RENEWAL
Antonio G SlusarskiSpainAsiya Javayant RENEWAL
Clifford M DarakjyGermanyElwin Sharvill QUALIFIED
Smith A CampainRussiaOnyama Limba QUALIFIED
Aruna S SchemmerItalyElwin Sharvill PROPOSAL
Sinclair U KuskoJapanAmy Elsner QUALIFIED
Julie F VocelkaFranceBernardo Dominic NEGOTIATION
Leon O OldroydFranceStephen Shaw NEGOTIATION
Murillo Q DilliardSpainOnyama Limba PROPOSAL
Murillo T RutaItalyIvan Magalhaes RENEWAL
Adams N IturbideRussiaOnyama Limba NEW
Francesco T MaletUnited KingdomBernardo Dominic QUALIFIED
Cody O SchemmerCanadaAmy Elsner NEW
Arvin A CaldareraBrazilStephen Shaw NEGOTIATION
Ricardo B ShinkoBrazilAmy Elsner NEW
Mayumi R AmigonSpainIoni Bowcher NEW
Isabel B SchemmerIndiaAnna Fali NEGOTIATION
Misaki O GauchoGermanyAsiya Javayant RENEWAL
Jones I DarakjyBrazilBernardo Dominic UNQUALIFIED
Ashley H CaldareraBrazilIvan Magalhaes NEW
Ivar H VocelkaFranceIoni Bowcher PROPOSAL
Wickens H RoysterArgentinaXuxue Feng NEGOTIATION
Kadeem E FerenczArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya Z ChuiIndiaIoni Bowcher PROPOSAL
Octavia F VocelkaJapanAmy Elsner NEW
Antonio C OldroydItalyAnna Fali NEGOTIATION
Ricardo S PoquetteIndiaAmy Elsner RENEWAL
Johnson P TollnerArgentinaXuxue Feng UNQUALIFIED
Leon O NestleIndiaBernardo Dominic NEGOTIATION
Francesco X FollerCanadaAmy Elsner NEW
Adams F PaprockiRussiaXuxue Feng NEGOTIATION
Adams I SchemmerArgentinaIoni Bowcher PROPOSAL
Adams N CampainIndiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood Z CampainGermany2025-04-06Feltz Printing Service PROPOSAL83Asiya Javayant
1001Nicolas E MorascaCanada2025-04-13Printing Dimensions RENEWAL16Elwin Sharvill
1002David U ChuiCanada2025-04-13Benton, John B Jr PROPOSAL85Stephen Shaw
1003James U InouyeCanada2025-04-10King, Christopher A Esq NEGOTIATION18Asiya Javayant
1004Ivar C WieserSpain2025-04-27Dorl, James J Esq QUALIFIED1Bernardo Dominic
1005Adams G KolmetzJapan2025-04-06Rousseaux, Michael Esq NEW25Bernardo Dominic
1006Claire L AlbaresRussia2025-04-15Chemel, James L Cpa QUALIFIED26Stephen Shaw
1007Darci V VocelkaFrance2025-04-07Chanay, Jeffrey A Esq UNQUALIFIED74Stephen Shaw
1008Faith Y KolmetzFrance2025-04-17King, Christopher A Esq RENEWAL52Ivan Magalhaes
1009Julie S IturbideArgentina2025-04-01Truhlar And Truhlar Attys NEGOTIATION93Bernardo Dominic
1010Ashley W OldroydRussia2025-04-18King, Christopher A Esq RENEWAL44Stephen Shaw
1011Mujtaba R ChuiRussia2025-04-22Chanay, Jeffrey A Esq PROPOSAL19Ioni Bowcher
1012Aruna W IturbideArgentina2025-04-11Dorl, James J Esq NEGOTIATION85Ioni Bowcher
1013Kaitlin I TollnerItaly2025-04-07King, Christopher A Esq UNQUALIFIED52Stephen Shaw
1014Alejandro D CaldareraCanada2025-04-08Printing Dimensions UNQUALIFIED69Onyama Limba
1015Faith H GlickFrance2025-04-18Rangoni Of Florence NEW13Amy Elsner
1016Rodrigues J KolmetzGermany2025-04-10Commercial Press NEGOTIATION70Onyama Limba
1017Maisha P TollnerAustralia2025-04-15Chemel, James L Cpa NEGOTIATION10Bernardo Dominic
1018Arvin D IturbideItaly2025-04-28Buckley Miller Wright UNQUALIFIED64Stephen Shaw
1019Cody V GlickSpain2025-04-17Morlong Associates QUALIFIED97Amy Elsner
1020Rodrigues F CaudyJapan2025-04-19Feiner Bros UNQUALIFIED59Bernardo Dominic
1021Nicolas F OldroydJapan2025-04-19Truhlar And Truhlar Attys RENEWAL10Onyama Limba
1022Munro P RoysterUnited Kingdom2025-04-26Dorl, James J Esq QUALIFIED40Stephen Shaw
1023Emily S OstroskyFrance2025-04-19King, Christopher A Esq UNQUALIFIED59Xuxue Feng
1024Adams Z MorascaSpain2025-04-27Rangoni Of Florence UNQUALIFIED78Elwin Sharvill
1025Rodrigues H BriddickUnited Kingdom2025-04-11Chemel, James L Cpa NEW90Anna Fali
1026Salvatore T FigeroaAustralia2025-04-24Commercial Press NEGOTIATION17Anna Fali
1027Claire W ButtGermany2025-04-12Dorl, James J Esq UNQUALIFIED53Elwin Sharvill
1028Antonio N CampainAustralia2025-04-07Chemel, James L Cpa RENEWAL94Xuxue Feng
1029Leon Z StockhamCanada2025-04-11Commercial Press UNQUALIFIED36Asiya Javayant
1030Izzy K GlickBrazil2025-04-16Dorl, James J Esq QUALIFIED70Amy Elsner
1031Morrow B PerinSpain2025-04-28Feltz Printing Service RENEWAL16Anna Fali
1032Kadeem I MarrierRussia2025-04-28Dorl, James J Esq PROPOSAL65Elwin Sharvill
1033Greenwood T DilliardRussia2025-04-02Chanay, Jeffrey A Esq NEW88Stephen Shaw
1034Aditya L FigeroaArgentina2025-04-15Chapman, Ross E Esq NEGOTIATION50Ioni Bowcher
1035Rodrigues Y RimItaly2025-04-21Morlong Associates QUALIFIED79Asiya Javayant
1036Clifford T PaprockiCanada2025-04-01Commercial Press NEW17Onyama Limba
1037Maria L KuskoCanada2025-04-17Dorl, James J Esq NEGOTIATION25Ivan Magalhaes
1038Ashley H ButtRussia2025-04-17Rangoni Of Florence UNQUALIFIED55Asiya Javayant
1039Darci O CaudyIndia2025-04-12Buckley Miller Wright NEW91Stephen Shaw
1040Alejandro W TollnerAustralia2025-04-03Buckley Miller Wright PROPOSAL5Elwin Sharvill
1041Faith F WaycottAustralia2025-04-04King, Christopher A Esq PROPOSAL72Bernardo Dominic
1042Jennifer H MaletUnited Kingdom2025-04-23Dorl, James J Esq RENEWAL88Xuxue Feng
1043Julie Z BowleyUnited Kingdom2025-04-15Chemel, James L Cpa UNQUALIFIED30Ivan Magalhaes
1044Misaki V ButtUnited Kingdom2025-03-31Rousseaux, Michael Esq NEW72Xuxue Feng
1045Juan C BriddickFrance2025-04-23Benton, John B Jr RENEWAL68Elwin Sharvill
1046Salvatore B FlosiRussia2025-04-29Morlong Associates UNQUALIFIED63Ioni Bowcher
1047Jefferson W FerenczAustralia2025-04-22Chanay, Jeffrey A Esq PROPOSAL53Ioni Bowcher
1048Tony X ButtAustralia2025-04-02Dorl, James J Esq QUALIFIED16Ivan Magalhaes
1049Arvin G RoysterSpain2025-04-17Chanay, Jeffrey A Esq PROPOSAL85Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Morrow F FigeroaAustraliaOnyama Limba NEW
Deepesh N DarakjyAustraliaXuxue Feng QUALIFIED
Jeanfrancois F TollnerRussiaStephen Shaw PROPOSAL
Francesco R BriddickIndiaIvan Magalhaes QUALIFIED
Wickens R TollnerRussiaIvan Magalhaes NEGOTIATION
Jones L AmigonSpainAsiya Javayant NEW
Silvio C RoysterJapanStephen Shaw NEW
Leon Q GillianItalyAnna Fali NEGOTIATION
Antonio P PaprockiFranceAmy Elsner UNQUALIFIED
Arvin X DarakjyAustraliaIoni Bowcher UNQUALIFIED
Jones T RoysterJapanAsiya Javayant UNQUALIFIED
Kadeem W AlbaresSpainStephen Shaw RENEWAL
Alejandro Q FollerItalyIvan Magalhaes PROPOSAL
Johnson W AmigonBrazilStephen Shaw RENEWAL
Aruna T FerenczJapanElwin Sharvill PROPOSAL
Jeanfrancois X CaudyBrazilXuxue Feng QUALIFIED
Wickens I FerenczGermanyIvan Magalhaes RENEWAL
Aditya Q CampainIndiaAnna Fali RENEWAL
Emily H WieserBrazilAmy Elsner PROPOSAL
Jennifer Z RulapaughItalyStephen Shaw UNQUALIFIED
Adams P KolmetzBrazilElwin Sharvill NEW
Leon V KolmetzFranceStephen Shaw NEGOTIATION
Claire U MaletFranceStephen Shaw RENEWAL
Greenwood N FollerGermanyStephen Shaw PROPOSAL
Arvin C RimJapanStephen Shaw PROPOSAL
Antonio K BowleyFranceBernardo Dominic RENEWAL
Smith O TollnerJapanAsiya Javayant NEW
Salvatore N SergiArgentinaAsiya Javayant RENEWAL
Jefferson Y DarakjyItalyIvan Magalhaes UNQUALIFIED
Murillo J FollerArgentinaOnyama Limba NEGOTIATION
Wickens N PerinBrazilStephen Shaw NEGOTIATION
Antonio D StensethUnited KingdomBernardo Dominic QUALIFIED
Silvio P GlickUnited KingdomStephen Shaw UNQUALIFIED
Smith N BologniaRussiaBernardo Dominic RENEWAL
Greenwood K FerenczUnited KingdomIoni Bowcher QUALIFIED
Adams B OldroydItalyBernardo Dominic PROPOSAL
Mujtaba O RimCanadaBernardo Dominic QUALIFIED
Murillo Z ButtUnited KingdomStephen Shaw QUALIFIED
Darci T StockhamGermanyIoni Bowcher RENEWAL
Silvio X SergiFranceElwin Sharvill NEW
Aika L PerinUnited KingdomElwin Sharvill UNQUALIFIED
Aruna T VocelkaSpainAmy Elsner PROPOSAL
Claire R MacleadItalyOnyama Limba NEGOTIATION
Chavez X ShinkoIndiaAsiya Javayant QUALIFIED
Darci W BowleyItalyElwin Sharvill RENEWAL
Claire L PaprockiBrazilStephen Shaw PROPOSAL
Ashley G ButtRussiaAnna Fali UNQUALIFIED
Munro T WaycottBrazilBernardo Dominic NEW
Maria L GlickCanadaOnyama Limba RENEWAL
Mujtaba D AmigonUnited KingdomOnyama Limba UNQUALIFIED
Frozen Columns
Name
Aruna D Wieser
Costa B Ferencz
Greenwood P Oldroyd
Ivar R Caudy
Alejandro C Sergi
Mujtaba K Butt
Isabel U Chui
Octavia K Amigon
Francesco O Bolognia
Claire D Dilliard
Rodrigues M Iturbide
Sinclair I Venere
David V Tollner
Mujtaba C Caudy
Costa H Morasca
Ivar J Malet
Smith U Royster
Isabel Q Rim
Jones R Malet
Claire T Campain
Juan X Darakjy
Jennifer F Rim
Nicolas L Nicka
Kadeem R Morasca
Johnson X Bolognia
Juan B Nestle
Sinclair L Ferencz
Rodrigues M Bolognia
Ashley F Rulapaugh
Kadeem O Morasca
James K Gillian
Stacey A Schemmer
Kaitlin X Bolognia
Stacey B Bowley
Cody X Darakjy
Julie I Waycott
Greenwood O Campain
Juan Y Waycott
Octavia X Malet
Smith D Iturbide
Leja Z Shinko
Mujtaba Z Nicka
Misaki W Rulapaugh
Misaki H Vocelka
Misaki M Ruta
Smith W Whobrey
Darci V Campain
Juan A Kusko
Claire Z Gaucho
Salvatore X Ostrosky
IdCountryDate
1000United Kingdom2025-04-14
1001France2025-04-25
1002India2025-03-31
1003Brazil2025-04-01
1004United Kingdom2025-04-11
1005Italy2025-04-11
1006Spain2025-04-20
1007Argentina2025-04-03
1008Germany2025-04-27
1009India2025-04-09
1010Germany2025-04-03
1011India2025-04-12
1012Australia2025-04-19
1013Argentina2025-04-07
1014Canada2025-04-05
1015Germany2025-04-14
1016India2025-03-31
1017Australia2025-04-27
1018India2025-04-03
1019Argentina2025-04-22
1020Spain2025-04-14
1021Italy2025-04-19
1022India2025-04-09
1023United Kingdom2025-04-14
1024France2025-04-20
1025Canada2025-04-05
1026Germany2025-04-23
1027Italy2025-04-12
1028Germany2025-04-22
1029India2025-04-11
1030Brazil2025-04-11
1031Australia2025-04-23
1032Argentina2025-03-31
1033United Kingdom2025-04-10
1034Spain2025-04-06
1035Japan2025-04-13
1036Germany2025-04-18
1037Russia2025-04-12
1038France2025-04-25
1039Japan2025-04-24
1040Italy2025-04-09
1041Spain2025-04-08
1042Australia2025-04-22
1043Russia2025-04-23
1044Canada2025-04-10
1045Brazil2025-04-13
1046Russia2025-04-14
1047United Kingdom2025-04-11
1048Russia2025-04-22
1049Canada2025-04-25

On-Demand Data

NameIdCountryDate
Aruna M Caldarera1000Japan2025-04-26
Darci V Whobrey1001Russia2025-04-02
Nicolas I Shinko1002United Kingdom2025-04-08
Kadeem R Stenseth1003Spain2025-04-02
Kadeem Z Poquette1004Russia2025-04-23
Costa X Ostrosky1005Italy2025-03-31
Maisha T Poquette1006Germany2025-04-20
Sinclair T Flosi1007United Kingdom2025-04-19
David R Malet1008Italy2025-04-25
Chavez J Stenseth1009Argentina2025-04-08
Aruna L Amigon1010Japan2025-04-07
Nicolas Y Slusarski1011Japan2025-04-07
Arvin E Waycott1012France2025-04-20
Murillo D Slusarski1013Japan2025-04-20
Leon Y Poquette1014Italy2025-04-16
Leon W Stockham1015India2025-04-19
Munro O Sergi1016Brazil2025-04-20
Darci Y Slusarski1017Russia2025-04-21
Octavia Q Malet1018Australia2025-04-05
Leon D Flosi1019Argentina2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin B MacleadUnited KingdomAnna Fali RENEWAL
Francesco O VocelkaRussiaIoni Bowcher PROPOSAL
Leja A PoquetteIndiaXuxue Feng UNQUALIFIED
Aditya Z RulapaughFranceAnna Fali PROPOSAL
Izzy K WhobreyItalyIoni Bowcher QUALIFIED
Arvin W VenereCanadaIoni Bowcher RENEWAL
Mujtaba Q OldroydArgentinaStephen Shaw PROPOSAL
Ivar T RimBrazilAmy Elsner NEGOTIATION
Isabel G RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Isabel V StockhamItalyOnyama Limba QUALIFIED
Isabel U SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Wickens V CaudyBrazilIoni Bowcher NEGOTIATION
Greenwood E WieserItalyElwin Sharvill NEW
Faith W OstroskyJapanXuxue Feng NEW
Octavia B PerinIndiaAmy Elsner UNQUALIFIED
Jeanfrancois P SaylorsItalyAmy Elsner UNQUALIFIED
Darci S StensethFranceIvan Magalhaes UNQUALIFIED
Emily B SchemmerSpainXuxue Feng NEGOTIATION
Mayumi O IturbideBrazilOnyama Limba UNQUALIFIED
Greenwood L PoquetteBrazilAnna Fali RENEWAL
Claire E DoeIndiaIvan Magalhaes PROPOSAL
Ricardo R DilliardArgentinaIoni Bowcher NEGOTIATION
Cody H WieserItalyIoni Bowcher QUALIFIED
Wickens C CaldareraUnited KingdomAsiya Javayant PROPOSAL
Aruna G BowleyArgentinaAsiya Javayant PROPOSAL
Sinclair A TollnerSpainAsiya Javayant NEW
Aika J SergiArgentinaAmy Elsner NEGOTIATION
Kadeem L ChuiUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois B NickaIndiaStephen Shaw PROPOSAL
Mayumi N GauchoItalyOnyama Limba UNQUALIFIED
Maisha X FerenczAustraliaElwin Sharvill RENEWAL
Francesco R OldroydRussiaAmy Elsner NEW
Clifford D VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Johnson V PerinBrazilElwin Sharvill UNQUALIFIED
Maisha L KuskoUnited KingdomStephen Shaw UNQUALIFIED
Mujtaba N CaldareraGermanyAnna Fali NEW
Morrow C GlickSpainAnna Fali NEW
Johnson K CaldareraCanadaStephen Shaw QUALIFIED
David P WaycottBrazilAnna Fali NEGOTIATION
Wickens Z StensethItalyOnyama Limba RENEWAL

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