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
Julie W SaylorsArgentinaIoni Bowcher UNQUALIFIED
Johnson N RulapaughRussiaAnna Fali NEGOTIATION
Octavia Z WhobreyAustraliaBernardo Dominic NEGOTIATION
Mujtaba L VocelkaUnited KingdomXuxue Feng NEGOTIATION
James P DilliardRussiaAmy Elsner NEGOTIATION
Leon M AmigonIndiaAnna Fali NEW
Darci Q RoysterGermanyAmy Elsner UNQUALIFIED
Jeanfrancois Z StensethUnited KingdomBernardo Dominic PROPOSAL
Juan H ChuiFranceAnna Fali UNQUALIFIED
Aruna V FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Juan Q StensethGermanyIvan Magalhaes NEGOTIATION
Mujtaba G KolmetzGermanyAsiya Javayant UNQUALIFIED
Johnson Y RoysterSpainIvan Magalhaes NEW
Emily K DarakjyBrazilAsiya Javayant NEW
Clifford W WhobreyIndiaStephen Shaw NEGOTIATION
Cody U IturbideItalyAnna Fali QUALIFIED
Tony X BologniaArgentinaStephen Shaw NEW
Smith M CaldareraUnited KingdomAmy Elsner PROPOSAL
Mayumi K VenereJapanBernardo Dominic NEW
Alejandro Q PerinRussiaAnna Fali NEW
Maisha Y MarrierBrazilIoni Bowcher NEW
Murillo D MaletRussiaAsiya Javayant NEGOTIATION
Nicolas G CaldareraAustraliaAsiya Javayant NEGOTIATION
Nicolas N CaudyRussiaAmy Elsner RENEWAL
Mujtaba D MaletUnited KingdomBernardo Dominic PROPOSAL
Maisha P GauchoUnited KingdomXuxue Feng NEGOTIATION
David G RulapaughAustraliaIoni Bowcher PROPOSAL
Jennifer Y GillianArgentinaIoni Bowcher PROPOSAL
Emily J VocelkaCanadaIvan Magalhaes NEGOTIATION
Rodrigues Q NickaGermanyAsiya Javayant QUALIFIED
Kadeem L StensethRussiaBernardo Dominic UNQUALIFIED
Ashley D PoquetteFranceBernardo Dominic QUALIFIED
Isabel W FollerItalyAmy Elsner NEGOTIATION
Salvatore O PaprockiFranceIoni Bowcher QUALIFIED
Leja F RoysterArgentinaIoni Bowcher NEW
Costa B GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson H StensethFranceOnyama Limba NEGOTIATION
Mujtaba Y FlosiArgentinaStephen Shaw PROPOSAL
Juan S PaprockiArgentinaIvan Magalhaes NEW
Mujtaba J SlusarskiCanadaIoni Bowcher NEW
Munro X ButtCanadaIoni Bowcher QUALIFIED
Claire D FerenczSpainXuxue Feng QUALIFIED
Aditya A DarakjyIndiaBernardo Dominic RENEWAL
Cody S PoquetteSpainElwin Sharvill PROPOSAL
Adams R RimGermanyElwin Sharvill UNQUALIFIED
Clifford G StockhamSpainAmy Elsner UNQUALIFIED
Adams B CampainRussiaAnna Fali QUALIFIED
Jennifer I WhobreyBrazilAsiya Javayant UNQUALIFIED
Sinclair B ButtFranceElwin Sharvill NEW
Emily D WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh F KolmetzAustraliaAnna Fali NEGOTIATION
Cody L GauchoArgentinaAmy Elsner QUALIFIED
Rodrigues H InouyeRussiaElwin Sharvill QUALIFIED
Greenwood L InouyeAustraliaIoni Bowcher QUALIFIED
Juan W DarakjyIndiaIvan Magalhaes NEW
Emily G SergiSpainAmy Elsner UNQUALIFIED
Octavia P MacleadRussiaAnna Fali NEW
Octavia X MorascaAustraliaBernardo Dominic NEW
Chavez K TollnerItalyAnna Fali PROPOSAL
Julie V StockhamBrazilStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo K KolmetzItaly2025-05-21Morlong Associates UNQUALIFIED0Ioni Bowcher
1001Misaki H GarufiCanada2025-06-12Dorl, James J Esq PROPOSAL11Elwin Sharvill
1002Adams W IturbideItaly2025-06-04Chanay, Jeffrey A Esq NEW0Amy Elsner
1003Leja S GlickAustralia2025-06-16Benton, John B Jr NEW9Onyama Limba
1004Izzy W PoquetteAustralia2025-05-21Dorl, James J Esq PROPOSAL94Ioni Bowcher
1005Leja M FerenczArgentina2025-05-29Truhlar And Truhlar Attys NEGOTIATION77Onyama Limba
1006Silvio F OldroydIndia2025-05-24Dorl, James J Esq QUALIFIED82Amy Elsner
1007Aruna I VenereUnited Kingdom2025-06-12Printing Dimensions RENEWAL66Xuxue Feng
1008Juan U RoysterArgentina2025-06-07Buckley Miller Wright NEGOTIATION85Ioni Bowcher
1009Leja Z VenereIndia2025-05-19Printing Dimensions NEW54Xuxue Feng
1010Leja J RutaRussia2025-06-09Printing Dimensions QUALIFIED93Onyama Limba
1011Jeanfrancois X ShinkoGermany2025-05-24Rousseaux, Michael Esq RENEWAL27Ivan Magalhaes
1012Claire C AlbaresUnited Kingdom2025-05-19Morlong Associates NEW11Ivan Magalhaes
1013Ashley E MorascaGermany2025-05-19Morlong Associates QUALIFIED20Onyama Limba
1014Leja Y RutaIndia2025-05-29Morlong Associates NEGOTIATION84Bernardo Dominic
1015Darci C NestleSpain2025-06-04Commercial Press NEGOTIATION55Onyama Limba
1016Ricardo W FlosiItaly2025-05-29Rangoni Of Florence NEGOTIATION31Xuxue Feng
1017Murillo O OldroydBrazil2025-05-19Feltz Printing Service UNQUALIFIED66Xuxue Feng
1018David I MarrierCanada2025-06-01Dorl, James J Esq UNQUALIFIED43Xuxue Feng
1019Johnson E MacleadFrance2025-06-09King, Christopher A Esq QUALIFIED31Stephen Shaw
1020Chavez C GarufiJapan2025-05-28Chapman, Ross E Esq UNQUALIFIED57Amy Elsner
1021Isabel S ChuiCanada2025-06-04Feiner Bros QUALIFIED45Bernardo Dominic
1022David A ButtIndia2025-06-13Truhlar And Truhlar Attys PROPOSAL55Elwin Sharvill
1023Adams J VocelkaRussia2025-06-11Printing Dimensions UNQUALIFIED39Stephen Shaw
1024Mayumi T SchemmerItaly2025-06-03Printing Dimensions UNQUALIFIED48Elwin Sharvill
1025Wickens X CaldareraRussia2025-06-11Chemel, James L Cpa RENEWAL4Onyama Limba
1026Morrow S VenereRussia2025-06-07King, Christopher A Esq RENEWAL7Stephen Shaw
1027Octavia L DilliardSpain2025-05-29Benton, John B Jr QUALIFIED95Bernardo Dominic
1028Deepesh Y CampainArgentina2025-05-28Chapman, Ross E Esq UNQUALIFIED7Stephen Shaw
1029Greenwood P MorascaFrance2025-06-11King, Christopher A Esq NEGOTIATION95Elwin Sharvill
1030Darci P RutaAustralia2025-06-15Truhlar And Truhlar Attys RENEWAL39Bernardo Dominic
1031Julie Y KuskoIndia2025-05-21Buckley Miller Wright QUALIFIED43Elwin Sharvill
1032Johnson G MaletJapan2025-06-14Feiner Bros NEW0Onyama Limba
1033Jeanfrancois O OstroskyJapan2025-06-14Feiner Bros QUALIFIED32Elwin Sharvill
1034Francesco V KolmetzArgentina2025-06-01Feiner Bros UNQUALIFIED0Onyama Limba
1035Arvin A DilliardItaly2025-05-25Buckley Miller Wright RENEWAL94Elwin Sharvill
1036Jeanfrancois F CaudyFrance2025-05-26Feltz Printing Service UNQUALIFIED88Anna Fali
1037Ricardo V MacleadJapan2025-05-28Feiner Bros PROPOSAL6Asiya Javayant
1038James S BriddickItaly2025-05-23Feiner Bros UNQUALIFIED55Onyama Limba
1039Costa D OstroskyItaly2025-05-20Commercial Press RENEWAL50Bernardo Dominic
1040Murillo N RutaSpain2025-05-25Truhlar And Truhlar Attys PROPOSAL99Amy Elsner
1041Kaitlin Z WhobreyAustralia2025-05-18Chapman, Ross E Esq NEW5Bernardo Dominic
1042Ivar C CampainCanada2025-05-20Rousseaux, Michael Esq NEW29Elwin Sharvill
1043Stacey I MaletRussia2025-06-11Rousseaux, Michael Esq NEGOTIATION31Onyama Limba
1044Maria O ShinkoUnited Kingdom2025-06-04Printing Dimensions NEW45Elwin Sharvill
1045Kaitlin W ShinkoRussia2025-05-23King, Christopher A Esq RENEWAL13Elwin Sharvill
1046Chavez H InouyeCanada2025-06-11Dorl, James J Esq UNQUALIFIED36Stephen Shaw
1047Sinclair C PaprockiFrance2025-06-07Chemel, James L Cpa NEW31Anna Fali
1048Ashley N PoquetteCanada2025-05-31Dorl, James J Esq NEW41Anna Fali
1049Kadeem Q WhobreyAustralia2025-06-06Printing Dimensions PROPOSAL29Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Octavia J InouyeIndiaBernardo Dominic RENEWAL
Arvin G PerinBrazilAsiya Javayant UNQUALIFIED
Wickens G OstroskyUnited KingdomBernardo Dominic NEW
Sinclair L NickaUnited KingdomAsiya Javayant UNQUALIFIED
Munro F FlosiJapanXuxue Feng PROPOSAL
James J GarufiBrazilBernardo Dominic NEW
Greenwood W OstroskyIndiaXuxue Feng RENEWAL
Isabel J FollerJapanIoni Bowcher RENEWAL
Cody U NestleCanadaStephen Shaw UNQUALIFIED
Jeanfrancois Z GauchoSpainAnna Fali NEW
Kadeem K DarakjyIndiaIoni Bowcher UNQUALIFIED
Maisha P RutaIndiaXuxue Feng RENEWAL
Alejandro O IturbideGermanyAnna Fali RENEWAL
Jefferson K FerenczFranceAnna Fali PROPOSAL
Julie Q WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Cody B CampainUnited KingdomXuxue Feng RENEWAL
Aika I IturbideIndiaIvan Magalhaes NEGOTIATION
Kaitlin Z MorascaGermanyElwin Sharvill NEGOTIATION
Kaitlin O InouyeJapanIvan Magalhaes NEGOTIATION
Juan E SchemmerGermanyIoni Bowcher RENEWAL
Aruna X CaudyBrazilAmy Elsner UNQUALIFIED
Jennifer I CaudyItalyElwin Sharvill PROPOSAL
Emily U NickaItalyOnyama Limba PROPOSAL
Darci O RimUnited KingdomIoni Bowcher QUALIFIED
Aditya K ShinkoBrazilBernardo Dominic QUALIFIED
Francesco B GauchoRussiaAnna Fali NEW
James U BowleyFranceAnna Fali PROPOSAL
Salvatore Y StensethIndiaIvan Magalhaes UNQUALIFIED
Mujtaba W FlosiGermanyBernardo Dominic RENEWAL
Morrow C BowleySpainAnna Fali NEW
Francesco Y StockhamUnited KingdomXuxue Feng QUALIFIED
Johnson M FollerRussiaAmy Elsner PROPOSAL
Nicolas C InouyeAustraliaStephen Shaw NEW
Antonio X NickaIndiaStephen Shaw UNQUALIFIED
Aruna C MacleadCanadaXuxue Feng PROPOSAL
Cody T PoquetteSpainAnna Fali NEW
Morrow X DarakjyAustraliaAsiya Javayant QUALIFIED
Julie K ShinkoIndiaBernardo Dominic NEW
Maria V SlusarskiRussiaAsiya Javayant RENEWAL
Salvatore P CaldareraCanadaAmy Elsner QUALIFIED
Leon A FigeroaIndiaElwin Sharvill UNQUALIFIED
Ivar K MaletBrazilBernardo Dominic NEGOTIATION
David B DilliardRussiaIvan Magalhaes UNQUALIFIED
Tony B FollerUnited KingdomAsiya Javayant QUALIFIED
James S ButtIndiaElwin Sharvill PROPOSAL
Faith V AmigonRussiaAsiya Javayant NEGOTIATION
Jennifer H CaudyGermanyElwin Sharvill UNQUALIFIED
Juan C GillianRussiaAmy Elsner NEGOTIATION
Salvatore M NickaAustraliaElwin Sharvill QUALIFIED
Misaki Q KolmetzJapanIoni Bowcher NEGOTIATION
Frozen Columns
Name
Murillo R Inouye
Smith E Saylors
Jeanfrancois X Chui
Murillo V Caldarera
Faith S Chui
Jeanfrancois X Malet
Arvin X Maclead
James N Albares
Wickens E Nestle
Tony X Ruta
Greenwood W Bolognia
Aika I Darakjy
Deepesh L Whobrey
Sinclair U Dilliard
Kaitlin V Albares
Aditya I Foller
Tony V Wieser
Aditya W Rim
Wickens Y Waycott
Ricardo H Iturbide
Julie K Ostrosky
Darci R Gaucho
Kadeem D Amigon
Greenwood W Nicka
Octavia K Maclead
Ashley W Amigon
Ashley A Venere
Aruna O Butt
Izzy G Ostrosky
Darci M Kusko
Ashley O Briddick
Faith H Garufi
Leja S Flosi
Munro T Chui
Isabel Z Briddick
Leon W Venere
Aika M Malet
Johnson C Saylors
Mujtaba V Shinko
Leja Z Royster
Chavez M Ostrosky
Leja D Flosi
Ivar R Inouye
Kadeem Z Caudy
Salvatore I Royster
Silvio A Kolmetz
Isabel Z Amigon
Octavia L Darakjy
Murillo Z Wieser
Ashley B Chui
IdCountryDate
1000United Kingdom2025-05-25
1001Spain2025-06-02
1002Canada2025-06-09
1003Brazil2025-06-03
1004Canada2025-06-15
1005India2025-05-28
1006Spain2025-06-16
1007France2025-05-18
1008Japan2025-06-09
1009Argentina2025-06-03
1010Spain2025-05-24
1011Italy2025-06-01
1012United Kingdom2025-06-16
1013Germany2025-06-04
1014France2025-06-06
1015United Kingdom2025-06-03
1016Russia2025-06-16
1017Canada2025-06-11
1018France2025-06-12
1019Italy2025-06-07
1020Australia2025-06-14
1021Australia2025-06-07
1022France2025-06-01
1023Canada2025-06-02
1024France2025-05-26
1025France2025-05-25
1026Brazil2025-06-14
1027Italy2025-06-05
1028Australia2025-06-08
1029Argentina2025-06-10
1030Argentina2025-06-11
1031Japan2025-05-18
1032Germany2025-05-22
1033Australia2025-05-28
1034Italy2025-05-31
1035Spain2025-06-13
1036Argentina2025-06-15
1037Germany2025-06-03
1038Italy2025-06-05
1039Australia2025-06-12
1040United Kingdom2025-05-31
1041Italy2025-05-23
1042France2025-05-29
1043Spain2025-05-23
1044Japan2025-06-02
1045France2025-05-29
1046Spain2025-06-10
1047Spain2025-05-24
1048Brazil2025-05-28
1049Brazil2025-06-03

On-Demand Data

NameIdCountryDate
Wickens I Butt1000Japan2025-06-10
Kadeem D Darakjy1001Russia2025-06-07
Antonio F Dilliard1002Italy2025-06-16
Ashley P Kusko1003Argentina2025-05-26
Emily Y Gaucho1004Japan2025-05-23
Antonio R Bolognia1005India2025-05-22
Deepesh N Ferencz1006Russia2025-05-30
Murillo E Gaucho1007Russia2025-06-15
James J Ferencz1008Australia2025-05-28
Adams M Chui1009Canada2025-05-23
Mujtaba V Wieser1010Russia2025-06-03
Ivar S Iturbide1011Brazil2025-06-11
Leja P Butt1012United Kingdom2025-06-01
Leja W Campain1013Australia2025-06-11
Emily P Wieser1014Japan2025-05-23
Misaki N Amigon1015Russia2025-06-15
Kadeem R Perin1016Canada2025-06-15
Silvio O Schemmer1017Brazil2025-05-29
Jennifer T Albares1018Germany2025-06-09
Alejandro S Darakjy1019Germany2025-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha D FollerSpainXuxue Feng UNQUALIFIED
Aika U PaprockiJapanXuxue Feng UNQUALIFIED
Tony G MaletGermanyElwin Sharvill PROPOSAL
Wickens U DoeItalyIoni Bowcher NEGOTIATION
Silvio F IturbideAustraliaElwin Sharvill QUALIFIED
James K TollnerGermanyStephen Shaw NEGOTIATION
Isabel Q DarakjyRussiaXuxue Feng NEW
Jeanfrancois J FigeroaIndiaOnyama Limba NEGOTIATION
Johnson K MaletIndiaAnna Fali NEGOTIATION
Faith B BowleyBrazilOnyama Limba NEGOTIATION
Izzy F SergiUnited KingdomIoni Bowcher PROPOSAL
Deepesh F RulapaughIndiaAmy Elsner NEGOTIATION
Kadeem Q WieserArgentinaXuxue Feng QUALIFIED
Claire K RulapaughItalyElwin Sharvill PROPOSAL
Chavez G ButtBrazilIoni Bowcher NEW
Jeanfrancois G GlickFranceElwin Sharvill RENEWAL
Mayumi R MarrierFranceAnna Fali UNQUALIFIED
Silvio K BriddickUnited KingdomBernardo Dominic RENEWAL
Leja Q VocelkaFranceBernardo Dominic UNQUALIFIED
James F VocelkaFranceBernardo Dominic PROPOSAL
Munro N MacleadUnited KingdomXuxue Feng QUALIFIED
Ricardo F CampainCanadaAsiya Javayant UNQUALIFIED
Izzy X GarufiGermanyIoni Bowcher RENEWAL
Maisha W RulapaughItalyAnna Fali NEW
Mujtaba C ShinkoAustraliaAsiya Javayant RENEWAL
Ricardo V SaylorsJapanAmy Elsner NEGOTIATION
Nicolas A MacleadRussiaAnna Fali UNQUALIFIED
Mayumi Q FollerIndiaElwin Sharvill UNQUALIFIED
Nicolas T FerenczGermanyStephen Shaw RENEWAL
Clifford F MacleadItalyIvan Magalhaes PROPOSAL
Antonio N KolmetzRussiaIvan Magalhaes UNQUALIFIED
Misaki G DarakjyGermanyAnna Fali QUALIFIED
Silvio F MorascaCanadaXuxue Feng NEW
Faith I MacleadIndiaIoni Bowcher NEW
Silvio C NickaRussiaStephen Shaw NEGOTIATION
Salvatore O ButtBrazilXuxue Feng RENEWAL
Arvin K FollerFranceIoni Bowcher RENEWAL
Rodrigues S NestleSpainIvan Magalhaes PROPOSAL
Deepesh T VocelkaUnited KingdomAmy Elsner NEW
Stacey G KuskoSpainElwin Sharvill QUALIFIED

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