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
Silvio C FollerUnited KingdomOnyama Limba NEGOTIATION
Leon D DoeUnited KingdomIoni Bowcher QUALIFIED
Aika U BriddickSpainBernardo Dominic NEGOTIATION
Munro J GillianBrazilXuxue Feng PROPOSAL
Tony P MarrierUnited KingdomOnyama Limba RENEWAL
Aditya S CampainFranceXuxue Feng QUALIFIED
Faith V GillianIndiaOnyama Limba QUALIFIED
Jeanfrancois Z CaldareraSpainOnyama Limba PROPOSAL
Salvatore P StensethRussiaOnyama Limba UNQUALIFIED
Kaitlin Y ShinkoAustraliaAsiya Javayant QUALIFIED
David C CampainSpainStephen Shaw NEGOTIATION
Ivar W DarakjyFranceXuxue Feng NEW
Tony D MorascaArgentinaBernardo Dominic UNQUALIFIED
Juan H MorascaItalyStephen Shaw PROPOSAL
Wickens R RutaArgentinaAsiya Javayant RENEWAL
Jeanfrancois M AmigonAustraliaIoni Bowcher UNQUALIFIED
Mayumi R CampainRussiaBernardo Dominic NEGOTIATION
Kadeem A OstroskyIndiaOnyama Limba RENEWAL
Smith R AmigonIndiaAnna Fali NEW
Izzy G SaylorsIndiaAnna Fali QUALIFIED
David X VocelkaIndiaXuxue Feng RENEWAL
Chavez P WieserBrazilIvan Magalhaes RENEWAL
Cody J FerenczUnited KingdomIoni Bowcher NEGOTIATION
Stacey K NickaIndiaAmy Elsner PROPOSAL
Deepesh D AmigonGermanyElwin Sharvill NEGOTIATION
Adams O BowleyAustraliaAsiya Javayant RENEWAL
Aruna W SchemmerSpainAsiya Javayant NEW
Stacey J AlbaresCanadaXuxue Feng QUALIFIED
James G StockhamCanadaAsiya Javayant NEW
Isabel E AlbaresSpainXuxue Feng RENEWAL
Costa I PerinArgentinaIoni Bowcher UNQUALIFIED
Sinclair X RimCanadaElwin Sharvill QUALIFIED
Isabel A KuskoArgentinaAmy Elsner UNQUALIFIED
Sinclair B RimJapanIoni Bowcher NEW
Jeanfrancois S FlosiJapanElwin Sharvill PROPOSAL
Kadeem I KuskoUnited KingdomAmy Elsner UNQUALIFIED
Leja E AmigonIndiaAnna Fali QUALIFIED
James K PaprockiBrazilOnyama Limba QUALIFIED
Ashley V DilliardUnited KingdomElwin Sharvill QUALIFIED
Silvio O MaletGermanyXuxue Feng NEGOTIATION
Rodrigues R TollnerCanadaIoni Bowcher UNQUALIFIED
David P OstroskyRussiaAsiya Javayant RENEWAL
Salvatore N VocelkaAustraliaIoni Bowcher PROPOSAL
Aruna X CampainGermanyElwin Sharvill NEGOTIATION
Deepesh C AmigonCanadaIoni Bowcher QUALIFIED
Maisha Z OldroydJapanAsiya Javayant UNQUALIFIED
Francesco V NestleSpainAmy Elsner NEGOTIATION
Mayumi K GauchoFranceElwin Sharvill UNQUALIFIED
Antonio D RoysterIndiaAnna Fali NEGOTIATION
Arvin K PerinBrazilXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody E ShinkoUnited KingdomAsiya Javayant RENEWAL
Cody S WhobreyBrazilElwin Sharvill PROPOSAL
Leon M PoquetteRussiaIoni Bowcher UNQUALIFIED
James A TollnerArgentinaElwin Sharvill PROPOSAL
Chavez O InouyeJapanIvan Magalhaes NEW
Claire W RimArgentinaIoni Bowcher QUALIFIED
Stacey B OstroskySpainAsiya Javayant NEGOTIATION
Salvatore Y ShinkoRussiaBernardo Dominic UNQUALIFIED
Ricardo Y MaletAustraliaIvan Magalhaes UNQUALIFIED
Darci M StensethUnited KingdomBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba D SergiItaly2024-06-16Chapman, Ross E Esq QUALIFIED48Anna Fali
1001Murillo H RutaCanada2024-06-06Morlong Associates NEW68Anna Fali
1002Adams Y FigeroaItaly2024-05-29Chemel, James L Cpa UNQUALIFIED2Bernardo Dominic
1003Jones D CampainUnited Kingdom2024-05-21Rangoni Of Florence RENEWAL5Amy Elsner
1004Leon K StensethIndia2024-06-05Chanay, Jeffrey A Esq NEGOTIATION35Anna Fali
1005Alejandro C KuskoBrazil2024-06-15Morlong Associates UNQUALIFIED82Ioni Bowcher
1006Arvin T PaprockiAustralia2024-05-27Feiner Bros UNQUALIFIED34Xuxue Feng
1007Sinclair T CaldareraBrazil2024-05-21Truhlar And Truhlar Attys NEW28Onyama Limba
1008Leja S SaylorsUnited Kingdom2024-06-14Commercial Press UNQUALIFIED25Onyama Limba
1009Ivar G KolmetzSpain2024-06-17Feiner Bros PROPOSAL82Ivan Magalhaes
1010Emily P KolmetzAustralia2024-05-29Feiner Bros QUALIFIED93Asiya Javayant
1011Maisha P StockhamFrance2024-06-03Chemel, James L Cpa QUALIFIED38Amy Elsner
1012Leja E KolmetzUnited Kingdom2024-05-25Printing Dimensions UNQUALIFIED66Stephen Shaw
1013Julie F ButtSpain2024-05-26Buckley Miller Wright QUALIFIED76Amy Elsner
1014Kaitlin D ButtCanada2024-06-04Truhlar And Truhlar Attys NEW44Asiya Javayant
1015Cody H PaprockiFrance2024-06-01Chanay, Jeffrey A Esq NEW69Ioni Bowcher
1016Costa M WieserItaly2024-05-30Morlong Associates NEGOTIATION44Amy Elsner
1017David N CaudySpain2024-06-11Rangoni Of Florence RENEWAL96Asiya Javayant
1018Izzy X GillianAustralia2024-06-05Feiner Bros NEW20Onyama Limba
1019Ashley X FigeroaUnited Kingdom2024-05-19Dorl, James J Esq RENEWAL23Anna Fali
1020Munro P SchemmerRussia2024-05-28Feltz Printing Service PROPOSAL2Ioni Bowcher
1021Clifford P MaletCanada2024-05-31Benton, John B Jr PROPOSAL59Asiya Javayant
1022Johnson K KolmetzIndia2024-05-22Chapman, Ross E Esq PROPOSAL37Stephen Shaw
1023Julie J BologniaJapan2024-05-19Feiner Bros PROPOSAL9Elwin Sharvill
1024Stacey A VenereBrazil2024-05-24King, Christopher A Esq NEW78Stephen Shaw
1025Claire R SergiSpain2024-06-16Truhlar And Truhlar Attys NEW94Onyama Limba
1026Munro U CampainIndia2024-06-02King, Christopher A Esq UNQUALIFIED12Xuxue Feng
1027Cody O MarrierFrance2024-06-13Dorl, James J Esq UNQUALIFIED16Asiya Javayant
1028David H RulapaughRussia2024-06-03Truhlar And Truhlar Attys PROPOSAL71Anna Fali
1029Silvio D FerenczJapan2024-05-22Rousseaux, Michael Esq RENEWAL7Amy Elsner
1030James H NickaFrance2024-06-07Dorl, James J Esq NEW51Asiya Javayant
1031Octavia T ButtCanada2024-05-26Rousseaux, Michael Esq PROPOSAL80Bernardo Dominic
1032Antonio W SaylorsBrazil2024-05-24Chapman, Ross E Esq NEGOTIATION4Ioni Bowcher
1033Deepesh E WhobreyRussia2024-06-02Rousseaux, Michael Esq NEW33Stephen Shaw
1034Isabel U WieserSpain2024-05-23Feiner Bros UNQUALIFIED50Bernardo Dominic
1035Munro G BologniaFrance2024-05-26Benton, John B Jr UNQUALIFIED56Elwin Sharvill
1036Ashley K FlosiRussia2024-06-15Chemel, James L Cpa NEW38Stephen Shaw
1037Leon F TollnerFrance2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED61Onyama Limba
1038Juan X AlbaresCanada2024-05-25Benton, John B Jr NEGOTIATION23Ivan Magalhaes
1039David K SaylorsBrazil2024-05-31Chanay, Jeffrey A Esq NEW25Asiya Javayant
1040Rodrigues T PaprockiFrance2024-05-26Feltz Printing Service PROPOSAL51Onyama Limba
1041Leon J RoysterUnited Kingdom2024-05-20Feiner Bros UNQUALIFIED96Ivan Magalhaes
1042Juan Y StensethRussia2024-05-31Rousseaux, Michael Esq UNQUALIFIED11Bernardo Dominic
1043Silvio X OstroskyBrazil2024-05-29Feltz Printing Service QUALIFIED93Stephen Shaw
1044Clifford M RimRussia2024-05-19Chapman, Ross E Esq NEW5Anna Fali
1045Misaki Z RutaItaly2024-05-30Buckley Miller Wright RENEWAL72Anna Fali
1046Arvin Z ButtIndia2024-06-11Rousseaux, Michael Esq QUALIFIED5Ioni Bowcher
1047Ivar Z AlbaresArgentina2024-05-21Feltz Printing Service UNQUALIFIED41Asiya Javayant
1048Antonio Z ShinkoAustralia2024-06-01Rangoni Of Florence QUALIFIED71Amy Elsner
1049Kaitlin H GlickIndia2024-05-29Morlong Associates QUALIFIED6Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas D FigeroaSpainAmy Elsner PROPOSAL
Ricardo T DilliardJapanBernardo Dominic NEW
Adams J SaylorsItalyBernardo Dominic UNQUALIFIED
James Y FigeroaCanadaIvan Magalhaes RENEWAL
Mayumi W FollerArgentinaIvan Magalhaes NEW
David M PoquetteCanadaAmy Elsner NEGOTIATION
Arvin S BowleyJapanAsiya Javayant QUALIFIED
Juan I RulapaughCanadaElwin Sharvill QUALIFIED
Jefferson Z WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Munro O RoysterJapanXuxue Feng PROPOSAL
Kaitlin O CampainAustraliaAmy Elsner UNQUALIFIED
Murillo X MacleadArgentinaOnyama Limba PROPOSAL
Cody D ChuiUnited KingdomOnyama Limba RENEWAL
Kadeem U FigeroaUnited KingdomStephen Shaw NEGOTIATION
Leja C NestleGermanyAsiya Javayant RENEWAL
Jefferson S VocelkaAustraliaAmy Elsner NEW
Octavia N DilliardRussiaAmy Elsner NEGOTIATION
Rodrigues H InouyeFranceElwin Sharvill PROPOSAL
Darci C PoquetteAustraliaAsiya Javayant UNQUALIFIED
Chavez F MaletUnited KingdomAsiya Javayant RENEWAL
Munro O FollerFranceAmy Elsner NEGOTIATION
Morrow C SchemmerIndiaBernardo Dominic NEGOTIATION
Ashley G RutaSpainAnna Fali NEW
Maria J FlosiRussiaAsiya Javayant QUALIFIED
Darci Z WaycottUnited KingdomStephen Shaw PROPOSAL
Stacey Y BowleySpainXuxue Feng NEGOTIATION
Julie X KolmetzUnited KingdomOnyama Limba QUALIFIED
Nicolas B FollerItalyIoni Bowcher NEGOTIATION
Aika W GarufiJapanIoni Bowcher RENEWAL
Nicolas D BowleyRussiaStephen Shaw QUALIFIED
Ivar P GauchoItalyElwin Sharvill NEGOTIATION
James V BowleyItalyAmy Elsner QUALIFIED
Deepesh T DilliardRussiaAsiya Javayant PROPOSAL
Deepesh Y InouyeAustraliaAmy Elsner NEGOTIATION
James K ShinkoArgentinaOnyama Limba NEW
Rodrigues X RutaItalyElwin Sharvill NEGOTIATION
Sinclair X KuskoFranceAsiya Javayant PROPOSAL
Nicolas R OldroydRussiaAnna Fali UNQUALIFIED
Darci Z GlickIndiaElwin Sharvill PROPOSAL
Kadeem B BowleyIndiaAnna Fali QUALIFIED
Jeanfrancois E RulapaughIndiaBernardo Dominic QUALIFIED
Emily A DarakjyJapanIoni Bowcher RENEWAL
Smith P SergiRussiaIvan Magalhaes UNQUALIFIED
Julie M OstroskyArgentinaAmy Elsner NEGOTIATION
Claire N CaudyGermanyIoni Bowcher NEGOTIATION
Clifford N RoysterRussiaBernardo Dominic UNQUALIFIED
Jefferson P PaprockiSpainElwin Sharvill RENEWAL
Adams W FigeroaJapanIoni Bowcher NEGOTIATION
Sinclair T GauchoCanadaAmy Elsner QUALIFIED
Adams F OstroskyArgentinaAmy Elsner NEW
Frozen Columns
Name
Emily U Kusko
Aika B Maclead
Jones Z Poquette
Maisha A Saylors
Greenwood S Venere
Smith J Paprocki
Leon O Gillian
Maisha D Whobrey
Smith Q Poquette
Faith Y Perin
Adams I Darakjy
Misaki G Morasca
Greenwood W Nestle
Smith B Marrier
Alejandro X Dilliard
Jones A Marrier
Adams N Ferencz
Murillo K Doe
Ricardo E Butt
Costa K Campain
Smith M Saylors
Maria T Butt
Smith U Campain
Johnson E Bowley
Johnson D Iturbide
Juan J Amigon
Faith Z Slusarski
Salvatore P Ostrosky
Maria Y Vocelka
Adams K Royster
Johnson L Figeroa
Aruna F Schemmer
Faith O Nestle
Nicolas X Saylors
Jeanfrancois V Nestle
Ricardo A Figeroa
Wickens H Whobrey
Jones E Malet
Jones N Rim
Ashley C Ruta
Smith W Doe
Maria B Amigon
Antonio P Marrier
Antonio S Waycott
Claire B Wieser
Johnson K Butt
James O Ruta
Rodrigues G Poquette
Aruna X Briddick
Greenwood J Butt
IdCountryDate
1000Germany2024-06-05
1001Brazil2024-06-02
1002Brazil2024-05-22
1003India2024-06-17
1004Canada2024-05-27
1005Japan2024-05-20
1006United Kingdom2024-05-30
1007Argentina2024-06-02
1008United Kingdom2024-06-03
1009Argentina2024-05-21
1010Brazil2024-06-09
1011Italy2024-05-31
1012Australia2024-05-21
1013Canada2024-05-27
1014Italy2024-05-22
1015Germany2024-05-24
1016Australia2024-06-07
1017Italy2024-06-12
1018Japan2024-06-03
1019Germany2024-06-12
1020Russia2024-05-23
1021Russia2024-06-16
1022Japan2024-05-19
1023United Kingdom2024-06-05
1024India2024-06-17
1025India2024-06-02
1026Argentina2024-06-16
1027Russia2024-05-24
1028Canada2024-05-19
1029Canada2024-05-25
1030Russia2024-06-02
1031India2024-06-04
1032Japan2024-05-31
1033United Kingdom2024-06-16
1034Italy2024-05-25
1035United Kingdom2024-05-21
1036Brazil2024-06-04
1037France2024-05-26
1038Argentina2024-05-26
1039France2024-06-14
1040Italy2024-06-02
1041Italy2024-05-25
1042Italy2024-06-01
1043Canada2024-06-16
1044Canada2024-06-14
1045Australia2024-06-16
1046Russia2024-05-31
1047Spain2024-06-01
1048Canada2024-06-11
1049India2024-06-17

On-Demand Data

NameIdCountryDate
Sinclair P Rulapaugh1000Brazil2024-06-09
Mayumi E Ostrosky1001United Kingdom2024-06-07
Antonio O Nicka1002Argentina2024-05-23
Greenwood M Butt1003Argentina2024-06-06
Deepesh W Tollner1004France2024-06-14
Izzy I Perin1005Spain2024-06-08
Arvin L Albares1006Canada2024-05-22
Aruna P Caudy1007Brazil2024-06-17
Cody U Wieser1008France2024-06-14
Alejandro Q Paprocki1009France2024-05-23
Wickens X Stockham1010Brazil2024-05-31
Octavia U Figeroa1011United Kingdom2024-06-01
Ricardo R Marrier1012Australia2024-06-17
Maria J Paprocki1013India2024-06-06
Leja P Butt1014Germany2024-06-07
Costa H Albares1015Canada2024-05-25
Kaitlin G Darakjy1016Germany2024-06-03
Antonio Y Perin1017Australia2024-06-04
Maisha D Oldroyd1018Spain2024-05-21
Alejandro O Oldroyd1019United Kingdom2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony R RimItalyStephen Shaw RENEWAL
Emily M ButtBrazilAnna Fali PROPOSAL
Isabel V StensethUnited KingdomAnna Fali NEW
Darci A CaldareraGermanyAmy Elsner QUALIFIED
Emily U KolmetzItalyIvan Magalhaes PROPOSAL
Maria C BriddickSpainIoni Bowcher NEW
Nicolas H ButtArgentinaAmy Elsner PROPOSAL
Jennifer Q AmigonCanadaOnyama Limba UNQUALIFIED
Misaki Q InouyeJapanAsiya Javayant RENEWAL
Julie Y OstroskyIndiaIvan Magalhaes PROPOSAL
Julie V RutaIndiaIoni Bowcher NEW
Claire Y KolmetzBrazilXuxue Feng NEW
James Y MaletRussiaAsiya Javayant PROPOSAL
Cody B VocelkaGermanyIvan Magalhaes QUALIFIED
Leja J RoysterIndiaAmy Elsner PROPOSAL
Jones D NickaJapanIvan Magalhaes NEGOTIATION
Ashley N PerinUnited KingdomXuxue Feng NEGOTIATION
Julie X CaudyAustraliaIoni Bowcher PROPOSAL
Faith V TollnerJapanAnna Fali RENEWAL
Greenwood S MaletAustraliaIoni Bowcher UNQUALIFIED
Munro P OstroskyCanadaElwin Sharvill RENEWAL
Aditya P MacleadArgentinaOnyama Limba QUALIFIED
Jones I BowleyFranceXuxue Feng NEGOTIATION
Arvin D RimCanadaElwin Sharvill NEW
Ricardo W CampainFranceBernardo Dominic NEGOTIATION
Morrow T GillianFranceElwin Sharvill NEGOTIATION
Jeanfrancois D TollnerFranceStephen Shaw PROPOSAL
Murillo N FlosiCanadaStephen Shaw RENEWAL
Octavia X StensethArgentinaBernardo Dominic NEGOTIATION
Murillo C StensethRussiaAnna Fali QUALIFIED
Faith H ButtCanadaAsiya Javayant QUALIFIED
Darci D SchemmerSpainIvan Magalhaes NEW
Rodrigues F CampainGermanyOnyama Limba QUALIFIED
Claire G GlickCanadaIoni Bowcher NEW
Ashley V NestleUnited KingdomAnna Fali RENEWAL
Adams W CampainArgentinaAmy Elsner UNQUALIFIED
Claire U DilliardArgentinaStephen Shaw NEW
Kaitlin S PerinIndiaStephen Shaw NEGOTIATION
Clifford Q NickaJapanStephen Shaw RENEWAL
Octavia H FlosiAustraliaBernardo Dominic UNQUALIFIED

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