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
Misaki P OldroydJapanBernardo Dominic NEGOTIATION
Silvio U ChuiRussiaOnyama Limba NEGOTIATION
Tony A CampainIndiaIoni Bowcher RENEWAL
Jennifer S ButtArgentinaBernardo Dominic QUALIFIED
Ricardo E PaprockiIndiaStephen Shaw NEGOTIATION
Octavia I StensethBrazilStephen Shaw RENEWAL
Aruna U FlosiUnited KingdomXuxue Feng QUALIFIED
Aruna T OldroydBrazilAmy Elsner RENEWAL
Wickens Q RutaItalyAnna Fali UNQUALIFIED
Misaki P SchemmerRussiaStephen Shaw NEGOTIATION
James K SchemmerAustraliaElwin Sharvill QUALIFIED
Aika V StensethFranceIvan Magalhaes QUALIFIED
Antonio K PerinFranceAnna Fali PROPOSAL
Leon E AmigonCanadaAnna Fali QUALIFIED
Arvin D WaycottJapanAsiya Javayant PROPOSAL
Jeanfrancois S PerinItalyIoni Bowcher RENEWAL
Arvin E FerenczBrazilAnna Fali PROPOSAL
Ashley U IturbideItalyStephen Shaw QUALIFIED
Octavia Y KuskoItalyStephen Shaw RENEWAL
Costa N DoeUnited KingdomBernardo Dominic PROPOSAL
Mayumi C ShinkoJapanAnna Fali RENEWAL
Jeanfrancois B OldroydUnited KingdomAmy Elsner NEGOTIATION
Nicolas C RulapaughUnited KingdomIoni Bowcher RENEWAL
Salvatore A FerenczCanadaAsiya Javayant QUALIFIED
Darci K SlusarskiSpainIoni Bowcher PROPOSAL
Stacey F InouyeItalyAsiya Javayant QUALIFIED
Nicolas B WieserFranceAsiya Javayant NEW
Maria Z BowleyGermanyXuxue Feng UNQUALIFIED
Sinclair S CampainGermanyAnna Fali PROPOSAL
Aruna X AlbaresRussiaAsiya Javayant RENEWAL
Smith I InouyeItalyElwin Sharvill QUALIFIED
Wickens B RulapaughFranceStephen Shaw UNQUALIFIED
Antonio C SlusarskiGermanyOnyama Limba RENEWAL
Wickens F KolmetzArgentinaBernardo Dominic NEGOTIATION
Francesco F FerenczArgentinaIvan Magalhaes QUALIFIED
Deepesh R SchemmerUnited KingdomIoni Bowcher PROPOSAL
Aika V ShinkoSpainOnyama Limba PROPOSAL
Rodrigues J VocelkaJapanBernardo Dominic PROPOSAL
Kadeem M CaldareraCanadaElwin Sharvill PROPOSAL
Julie D AlbaresSpainAsiya Javayant NEW
Cody K MarrierBrazilOnyama Limba UNQUALIFIED
Aruna F MacleadUnited KingdomXuxue Feng UNQUALIFIED
Smith V SchemmerGermanyElwin Sharvill UNQUALIFIED
Nicolas K MaletJapanXuxue Feng RENEWAL
David J NestleCanadaBernardo Dominic RENEWAL
Clifford I CaldareraItalyOnyama Limba QUALIFIED
Juan I MacleadAustraliaXuxue Feng UNQUALIFIED
Juan Q VocelkaJapanElwin Sharvill NEGOTIATION
Juan X MarrierItalyAnna Fali UNQUALIFIED
Alejandro Q KolmetzRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba D MaletFranceBernardo Dominic RENEWAL
Misaki O GauchoRussiaStephen Shaw UNQUALIFIED
Smith F DilliardJapanAnna Fali QUALIFIED
Wickens O SlusarskiCanadaXuxue Feng PROPOSAL
Juan I SchemmerJapanIoni Bowcher QUALIFIED
Costa F NickaItalyXuxue Feng PROPOSAL
Clifford Q WieserBrazilAnna Fali PROPOSAL
Sinclair V FlosiBrazilAnna Fali RENEWAL
Antonio I ShinkoUnited KingdomAsiya Javayant QUALIFIED
Alejandro X DilliardAustraliaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily L DilliardAustralia2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED90Onyama Limba
1001Francesco Z KolmetzBrazil2024-06-14Dorl, James J Esq UNQUALIFIED83Stephen Shaw
1002Francesco H SchemmerUnited Kingdom2024-06-12Morlong Associates QUALIFIED64Asiya Javayant
1003Cody V BowleyIndia2024-05-26Benton, John B Jr NEGOTIATION54Onyama Limba
1004Deepesh T PoquetteItaly2024-06-01Rangoni Of Florence RENEWAL8Ioni Bowcher
1005Sinclair Z ButtBrazil2024-06-14Chapman, Ross E Esq UNQUALIFIED49Amy Elsner
1006Aditya F AlbaresGermany2024-06-10Chanay, Jeffrey A Esq NEGOTIATION18Bernardo Dominic
1007Salvatore O BriddickArgentina2024-06-10Feiner Bros UNQUALIFIED27Amy Elsner
1008Clifford R MaletBrazil2024-06-01King, Christopher A Esq NEGOTIATION76Elwin Sharvill
1009Greenwood B WaycottGermany2024-05-20Morlong Associates PROPOSAL66Asiya Javayant
1010Jones U MaletAustralia2024-05-30Printing Dimensions UNQUALIFIED50Ivan Magalhaes
1011Nicolas X WieserUnited Kingdom2024-05-23Rousseaux, Michael Esq PROPOSAL46Onyama Limba
1012Claire P RoysterUnited Kingdom2024-06-02Buckley Miller Wright UNQUALIFIED56Amy Elsner
1013Stacey N CaldareraArgentina2024-05-31Morlong Associates UNQUALIFIED5Onyama Limba
1014Deepesh V GauchoFrance2024-05-24Chanay, Jeffrey A Esq QUALIFIED1Amy Elsner
1015Leja L RutaArgentina2024-06-14Morlong Associates NEW54Asiya Javayant
1016Misaki Y MaletFrance2024-06-13King, Christopher A Esq RENEWAL26Bernardo Dominic
1017Faith P GauchoSpain2024-05-22Chapman, Ross E Esq NEW89Anna Fali
1018Francesco H RoysterItaly2024-06-08Chanay, Jeffrey A Esq NEW26Anna Fali
1019Ivar E RutaSpain2024-05-19Rangoni Of Florence PROPOSAL99Xuxue Feng
1020Aika P DoeBrazil2024-05-19Morlong Associates PROPOSAL98Bernardo Dominic
1021Octavia O WieserBrazil2024-06-14King, Christopher A Esq RENEWAL77Elwin Sharvill
1022Tony Z WieserGermany2024-06-16King, Christopher A Esq UNQUALIFIED94Xuxue Feng
1023Mayumi S IturbideArgentina2024-06-11Buckley Miller Wright RENEWAL49Xuxue Feng
1024Ivar K MaletSpain2024-05-30Benton, John B Jr NEW66Onyama Limba
1025Smith G ButtUnited Kingdom2024-05-27Chanay, Jeffrey A Esq NEW42Stephen Shaw
1026Munro E GauchoUnited Kingdom2024-06-07Feiner Bros QUALIFIED36Xuxue Feng
1027Darci T RutaFrance2024-06-02Feltz Printing Service QUALIFIED13Bernardo Dominic
1028Faith G RutaJapan2024-05-30Printing Dimensions NEGOTIATION18Amy Elsner
1029Arvin B BowleyAustralia2024-06-10Chapman, Ross E Esq UNQUALIFIED56Elwin Sharvill
1030Mayumi V MorascaRussia2024-05-27Morlong Associates RENEWAL66Onyama Limba
1031Julie P SlusarskiUnited Kingdom2024-06-11Feltz Printing Service PROPOSAL73Asiya Javayant
1032Darci U NestleItaly2024-05-24Commercial Press NEW77Ioni Bowcher
1033Jefferson H PoquetteFrance2024-06-10Truhlar And Truhlar Attys QUALIFIED21Anna Fali
1034Mujtaba C StockhamAustralia2024-06-06Feltz Printing Service PROPOSAL23Ivan Magalhaes
1035Smith J CaudySpain2024-05-18Truhlar And Truhlar Attys RENEWAL11Stephen Shaw
1036Smith V ShinkoArgentina2024-06-02Rousseaux, Michael Esq UNQUALIFIED18Bernardo Dominic
1037Antonio D MorascaBrazil2024-05-26Chapman, Ross E Esq UNQUALIFIED34Ivan Magalhaes
1038Jeanfrancois T PaprockiItaly2024-06-05Feiner Bros NEW32Ivan Magalhaes
1039Octavia W SchemmerJapan2024-05-22Dorl, James J Esq UNQUALIFIED37Asiya Javayant
1040Kadeem E WhobreyIndia2024-06-01Printing Dimensions UNQUALIFIED57Elwin Sharvill
1041Ricardo X InouyeIndia2024-06-12Truhlar And Truhlar Attys RENEWAL60Elwin Sharvill
1042Greenwood H OstroskyRussia2024-05-21King, Christopher A Esq NEGOTIATION20Anna Fali
1043Faith C SlusarskiArgentina2024-06-11Printing Dimensions QUALIFIED24Onyama Limba
1044Mayumi N VenereSpain2024-06-10King, Christopher A Esq PROPOSAL18Onyama Limba
1045Alejandro T GauchoRussia2024-05-28Benton, John B Jr RENEWAL4Onyama Limba
1046Isabel H CaldareraArgentina2024-05-26Chanay, Jeffrey A Esq PROPOSAL13Xuxue Feng
1047Costa W OldroydItaly2024-05-26Morlong Associates NEW5Ioni Bowcher
1048Claire L GillianIndia2024-05-21Benton, John B Jr NEW58Onyama Limba
1049Jones N SergiRussia2024-06-05Printing Dimensions QUALIFIED64Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jefferson T DarakjyAustraliaIvan Magalhaes RENEWAL
Kaitlin Z CaldareraSpainAsiya Javayant PROPOSAL
Nicolas I IturbideJapanAsiya Javayant QUALIFIED
Octavia F StockhamIndiaAsiya Javayant RENEWAL
Salvatore I SergiBrazilOnyama Limba RENEWAL
Jeanfrancois E IturbideAustraliaAnna Fali RENEWAL
Darci J InouyeItalyElwin Sharvill PROPOSAL
Claire C WieserUnited KingdomStephen Shaw NEW
James S SlusarskiJapanIvan Magalhaes NEGOTIATION
Murillo U PaprockiGermanyIoni Bowcher UNQUALIFIED
Costa B WaycottJapanAnna Fali UNQUALIFIED
Alejandro E InouyeItalyOnyama Limba RENEWAL
Salvatore T MacleadAustraliaIoni Bowcher QUALIFIED
Ricardo B MacleadRussiaBernardo Dominic PROPOSAL
Nicolas M OstroskyRussiaStephen Shaw QUALIFIED
Misaki Y RimAustraliaIvan Magalhaes RENEWAL
Aruna B OldroydGermanyOnyama Limba RENEWAL
Leja V NestleItalyOnyama Limba NEW
Misaki Q FerenczFranceOnyama Limba UNQUALIFIED
Costa M SergiRussiaAmy Elsner RENEWAL
Misaki Y StockhamFranceAnna Fali NEW
Arvin N NestleGermanyIoni Bowcher PROPOSAL
Munro M PoquetteSpainAnna Fali NEW
Arvin E StensethRussiaXuxue Feng PROPOSAL
Kaitlin A CampainGermanyIoni Bowcher QUALIFIED
Antonio H FollerUnited KingdomElwin Sharvill QUALIFIED
Mayumi M InouyeSpainAmy Elsner PROPOSAL
Juan K MacleadAustraliaXuxue Feng RENEWAL
Smith M SergiJapanOnyama Limba NEGOTIATION
Kaitlin N SergiItalyXuxue Feng UNQUALIFIED
Salvatore S AlbaresCanadaOnyama Limba RENEWAL
Silvio H RutaIndiaAnna Fali QUALIFIED
Jennifer G AlbaresBrazilAnna Fali RENEWAL
Leja M FollerCanadaAmy Elsner NEW
Chavez V StockhamBrazilIoni Bowcher UNQUALIFIED
Salvatore Y MaletItalyXuxue Feng QUALIFIED
Claire K ChuiCanadaXuxue Feng UNQUALIFIED
Antonio M ShinkoUnited KingdomElwin Sharvill RENEWAL
Kaitlin H DarakjyRussiaElwin Sharvill PROPOSAL
Tony G BowleyUnited KingdomBernardo Dominic RENEWAL
Murillo D VenereUnited KingdomAmy Elsner NEW
Jennifer U WhobreyUnited KingdomAmy Elsner RENEWAL
Johnson B WhobreyArgentinaOnyama Limba UNQUALIFIED
Smith K MacleadBrazilIoni Bowcher NEGOTIATION
Claire F OstroskySpainBernardo Dominic NEW
Juan X CaldareraFranceElwin Sharvill PROPOSAL
Antonio P MarrierUnited KingdomAnna Fali NEGOTIATION
Leja D MaletArgentinaBernardo Dominic NEGOTIATION
Julie I PaprockiFranceElwin Sharvill NEGOTIATION
Arvin U SaylorsAustraliaXuxue Feng RENEWAL
Frozen Columns
Name
Costa N Poquette
Costa J Saylors
Aruna I Malet
Tony L Nestle
Maria C Schemmer
Alejandro N Kolmetz
Costa X Campain
Faith C Kusko
Morrow P Foller
Leja Z Royster
Adams F Kusko
Faith O Tollner
Alejandro E Caudy
Aika R Flosi
Antonio T Flosi
Deepesh A Vocelka
Faith W Marrier
Faith V Glick
Jennifer N Malet
Adams T Kolmetz
Emily F Caldarera
Aika Q Royster
Julie Q Oldroyd
Jones C Briddick
Arvin S Perin
Ricardo N Perin
Mujtaba R Oldroyd
Chavez V Gaucho
Alejandro U Kusko
Jeanfrancois K Darakjy
David N Slusarski
Claire C Schemmer
Kaitlin H Gillian
Sinclair K Glick
Isabel G Flosi
Ricardo P Gaucho
Murillo I Vocelka
Salvatore V Saylors
Aruna V Malet
Silvio L Poquette
Adams S Chui
Octavia C Ruta
Smith W Glick
Arvin T Stockham
Mujtaba J Perin
Deepesh U Venere
Aika Z Caldarera
Antonio R Marrier
Ivar M Caudy
Cody A Stockham
IdCountryDate
1000France2024-05-20
1001France2024-06-07
1002Spain2024-06-08
1003Russia2024-05-28
1004Canada2024-05-27
1005Spain2024-06-12
1006France2024-05-18
1007United Kingdom2024-06-13
1008Brazil2024-06-14
1009Italy2024-05-30
1010Spain2024-05-31
1011Argentina2024-06-03
1012Brazil2024-06-11
1013Australia2024-06-04
1014Italy2024-06-06
1015India2024-06-16
1016Australia2024-06-16
1017India2024-05-31
1018Italy2024-05-18
1019Canada2024-05-24
1020India2024-06-14
1021Brazil2024-05-25
1022Germany2024-06-04
1023Canada2024-05-28
1024Spain2024-06-06
1025Germany2024-06-03
1026France2024-05-30
1027India2024-05-29
1028Germany2024-05-25
1029Argentina2024-06-16
1030United Kingdom2024-06-03
1031India2024-05-26
1032Brazil2024-05-27
1033Spain2024-05-20
1034Japan2024-06-06
1035Spain2024-06-04
1036Spain2024-06-15
1037United Kingdom2024-06-14
1038Germany2024-06-04
1039Australia2024-05-29
1040Japan2024-05-31
1041France2024-06-16
1042Russia2024-05-22
1043Germany2024-05-20
1044Australia2024-06-10
1045Italy2024-06-16
1046France2024-06-12
1047France2024-06-07
1048Canada2024-05-20
1049Australia2024-05-18

On-Demand Data

NameIdCountryDate
Maisha W Campain1000Brazil2024-06-10
Nicolas A Butt1001India2024-06-02
Izzy O Figeroa1002Germany2024-06-06
Alejandro C Malet1003Brazil2024-06-06
Aditya W Ostrosky1004Germany2024-05-23
Nicolas O Poquette1005France2024-06-07
Izzy Q Whobrey1006Spain2024-06-03
Kaitlin T Ferencz1007Russia2024-05-30
Tony Z Gillian1008Italy2024-05-18
Ricardo P Dilliard1009Brazil2024-06-15
Alejandro B Inouye1010Australia2024-06-01
Salvatore O Briddick1011Spain2024-06-03
Jennifer G Flosi1012Argentina2024-06-15
Julie Z Poquette1013Canada2024-05-27
Aditya S Kusko1014Japan2024-05-25
Stacey F Whobrey1015India2024-05-22
Aditya W Perin1016Canada2024-05-29
Wickens E Sergi1017Brazil2024-06-05
Mujtaba F Perin1018Canada2024-06-14
Sinclair J Chui1019Japan2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois Z MaletArgentinaAsiya Javayant RENEWAL
Juan I VenereBrazilAmy Elsner QUALIFIED
Clifford W RutaSpainIoni Bowcher QUALIFIED
Mayumi L MaletItalyBernardo Dominic RENEWAL
Silvio B WaycottBrazilElwin Sharvill NEW
Stacey O BowleyJapanIoni Bowcher QUALIFIED
David J GlickRussiaAmy Elsner RENEWAL
Smith V WaycottArgentinaAnna Fali PROPOSAL
Ivar Z ShinkoJapanIoni Bowcher PROPOSAL
Tony E DoeSpainAnna Fali UNQUALIFIED
Salvatore D WaycottAustraliaStephen Shaw RENEWAL
Costa J DoeUnited KingdomIvan Magalhaes NEGOTIATION
Chavez Y MacleadAustraliaStephen Shaw NEW
Misaki J SaylorsGermanyElwin Sharvill RENEWAL
Kaitlin G BologniaIndiaElwin Sharvill UNQUALIFIED
Salvatore R MorascaSpainIoni Bowcher QUALIFIED
Darci X ChuiArgentinaXuxue Feng UNQUALIFIED
Wickens N GlickCanadaXuxue Feng NEW
Adams E FlosiBrazilAnna Fali QUALIFIED
Murillo K VenereRussiaElwin Sharvill PROPOSAL
Juan G RutaRussiaIvan Magalhaes UNQUALIFIED
Arvin O GarufiGermanyBernardo Dominic RENEWAL
Clifford H CampainJapanAnna Fali NEW
Alejandro J FlosiBrazilAmy Elsner QUALIFIED
Juan N SergiGermanyXuxue Feng UNQUALIFIED
Jones K StockhamGermanyAsiya Javayant RENEWAL
Izzy T IturbideArgentinaElwin Sharvill UNQUALIFIED
Morrow M MacleadIndiaBernardo Dominic NEW
Maisha M FigeroaFranceAmy Elsner PROPOSAL
Ricardo C KuskoBrazilAnna Fali NEW
Jennifer G NickaIndiaBernardo Dominic RENEWAL
Jennifer T ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Adams X KolmetzGermanyAnna Fali PROPOSAL
Leja E MorascaSpainStephen Shaw RENEWAL
Tony X RulapaughFranceAmy Elsner PROPOSAL
Misaki W DoeArgentinaOnyama Limba RENEWAL
Jones F ChuiBrazilElwin Sharvill NEW
Greenwood R AlbaresRussiaElwin Sharvill NEW
Mujtaba P MarrierIndiaIoni Bowcher UNQUALIFIED
Kadeem D GarufiSpainBernardo Dominic 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>