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
Maria Q DarakjyItalyAmy Elsner NEGOTIATION
Mujtaba G InouyeFranceAsiya Javayant QUALIFIED
Tony J WieserSpainAsiya Javayant RENEWAL
Aika X OldroydCanadaAmy Elsner NEGOTIATION
Darci C CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Tony J MacleadSpainXuxue Feng NEW
Mujtaba N OstroskyAustraliaAmy Elsner QUALIFIED
James A MarrierBrazilIoni Bowcher QUALIFIED
Octavia B GlickCanadaStephen Shaw RENEWAL
Julie W StockhamBrazilElwin Sharvill PROPOSAL
Aruna R FerenczFranceElwin Sharvill NEW
Antonio R DilliardBrazilBernardo Dominic NEW
Aruna X RutaItalyIvan Magalhaes PROPOSAL
Kadeem B GarufiArgentinaIvan Magalhaes UNQUALIFIED
Greenwood O GauchoBrazilAmy Elsner UNQUALIFIED
Claire H BologniaIndiaElwin Sharvill UNQUALIFIED
Wickens P FerenczAustraliaElwin Sharvill NEGOTIATION
David E DoeArgentinaIvan Magalhaes UNQUALIFIED
Maria N GillianUnited KingdomIvan Magalhaes PROPOSAL
Maisha G AmigonFranceIoni Bowcher NEW
Antonio K FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Darci B BologniaCanadaStephen Shaw PROPOSAL
Jones N FerenczSpainOnyama Limba RENEWAL
Kadeem E GillianCanadaIvan Magalhaes NEW
Jones V DarakjyUnited KingdomIoni Bowcher PROPOSAL
Emily Z VenereFranceBernardo Dominic QUALIFIED
Leon Q NestleAustraliaOnyama Limba QUALIFIED
Deepesh Y CaudyIndiaAmy Elsner PROPOSAL
Tony T ShinkoFranceAnna Fali RENEWAL
Maria U FlosiGermanyStephen Shaw UNQUALIFIED
Misaki B PoquetteGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois G CaldareraIndiaAmy Elsner PROPOSAL
Claire J NestleSpainAsiya Javayant PROPOSAL
Morrow J FigeroaCanadaAsiya Javayant PROPOSAL
Clifford L CampainItalyAsiya Javayant NEW
Silvio H AmigonRussiaAsiya Javayant QUALIFIED
Adams J StockhamBrazilElwin Sharvill PROPOSAL
Claire B DarakjyGermanyAsiya Javayant NEW
Jones J WieserArgentinaIoni Bowcher NEW
Jones I OldroydGermanyAsiya Javayant NEW
Francesco G ChuiAustraliaAsiya Javayant UNQUALIFIED
Emily X OldroydArgentinaIoni Bowcher QUALIFIED
Mujtaba O PoquetteSpainAnna Fali UNQUALIFIED
Antonio U SergiUnited KingdomXuxue Feng PROPOSAL
Jeanfrancois F RulapaughFranceIoni Bowcher UNQUALIFIED
Francesco K VocelkaFranceElwin Sharvill NEW
Johnson C VenereAustraliaIoni Bowcher NEW
Francesco C GarufiUnited KingdomAnna Fali QUALIFIED
Mujtaba D RimSpainXuxue Feng NEGOTIATION
Antonio I PaprockiRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan C IturbideArgentinaIvan Magalhaes PROPOSAL
James V BriddickAustraliaOnyama Limba UNQUALIFIED
Wickens F OstroskySpainIvan Magalhaes QUALIFIED
Emily E PoquetteUnited KingdomOnyama Limba NEW
Leon F MaletIndiaIvan Magalhaes NEW
Claire L SergiBrazilElwin Sharvill QUALIFIED
Chavez X GauchoSpainXuxue Feng PROPOSAL
Julie G RimCanadaBernardo Dominic UNQUALIFIED
Tony H CaldareraJapanBernardo Dominic RENEWAL
Darci C BowleyBrazilIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez F ShinkoUnited Kingdom2024-05-26Buckley Miller Wright PROPOSAL7Anna Fali
1001Morrow C OldroydSpain2024-05-12Truhlar And Truhlar Attys NEW92Anna Fali
1002Arvin E RoysterRussia2024-04-30Chapman, Ross E Esq RENEWAL47Amy Elsner
1003Juan G GarufiGermany2024-05-05Commercial Press PROPOSAL9Asiya Javayant
1004Emily O BologniaSpain2024-05-22Feltz Printing Service PROPOSAL1Asiya Javayant
1005Claire L NickaSpain2024-05-04Morlong Associates NEW52Xuxue Feng
1006Leja H AlbaresUnited Kingdom2024-05-10Truhlar And Truhlar Attys NEGOTIATION48Asiya Javayant
1007Stacey E StockhamAustralia2024-05-01Rousseaux, Michael Esq NEW15Stephen Shaw
1008Deepesh Z PaprockiItaly2024-05-24Rousseaux, Michael Esq NEW5Anna Fali
1009Ricardo C SlusarskiFrance2024-05-06Rousseaux, Michael Esq UNQUALIFIED25Amy Elsner
1010Jefferson E DilliardSpain2024-04-30Chemel, James L Cpa QUALIFIED70Stephen Shaw
1011Isabel H OldroydRussia2024-05-10Commercial Press NEGOTIATION60Anna Fali
1012Mayumi F RutaRussia2024-05-23Feltz Printing Service PROPOSAL14Bernardo Dominic
1013Juan O OldroydBrazil2024-04-29Chanay, Jeffrey A Esq UNQUALIFIED81Bernardo Dominic
1014Nicolas D FollerUnited Kingdom2024-05-21Chanay, Jeffrey A Esq PROPOSAL40Ivan Magalhaes
1015Jeanfrancois T RulapaughCanada2024-05-21Printing Dimensions PROPOSAL65Stephen Shaw
1016Clifford Y MorascaJapan2024-05-26Printing Dimensions PROPOSAL79Xuxue Feng
1017Costa B CampainCanada2024-05-16Printing Dimensions QUALIFIED86Amy Elsner
1018Ricardo X CaudyJapan2024-05-16Rousseaux, Michael Esq RENEWAL48Amy Elsner
1019Alejandro P DilliardIndia2024-05-24Commercial Press UNQUALIFIED81Anna Fali
1020Costa B BriddickFrance2024-05-10Buckley Miller Wright PROPOSAL92Onyama Limba
1021Smith X FerenczItaly2024-05-19Dorl, James J Esq NEGOTIATION62Anna Fali
1022Tony L KolmetzRussia2024-05-23Morlong Associates RENEWAL34Stephen Shaw
1023Chavez X GlickIndia2024-05-17Rousseaux, Michael Esq NEGOTIATION39Xuxue Feng
1024Claire W KolmetzBrazil2024-05-05Chapman, Ross E Esq RENEWAL78Onyama Limba
1025Misaki Y FollerArgentina2024-05-26Chemel, James L Cpa UNQUALIFIED29Asiya Javayant
1026Jennifer L SergiGermany2024-05-04Feiner Bros UNQUALIFIED62Bernardo Dominic
1027Munro Y BowleyGermany2024-05-06Chanay, Jeffrey A Esq QUALIFIED18Xuxue Feng
1028Octavia D GillianSpain2024-05-11King, Christopher A Esq RENEWAL52Asiya Javayant
1029Juan P FlosiRussia2024-04-28Benton, John B Jr UNQUALIFIED43Asiya Javayant
1030Kadeem A AmigonSpain2024-05-24Benton, John B Jr NEGOTIATION54Ivan Magalhaes
1031Antonio Q KolmetzAustralia2024-05-11King, Christopher A Esq NEGOTIATION14Anna Fali
1032Costa Z VenereCanada2024-05-18Chanay, Jeffrey A Esq UNQUALIFIED95Xuxue Feng
1033Chavez Z RimBrazil2024-05-05Chanay, Jeffrey A Esq QUALIFIED55Asiya Javayant
1034Leon Z IturbideCanada2024-04-27Dorl, James J Esq QUALIFIED95Asiya Javayant
1035Darci B InouyeJapan2024-05-21Morlong Associates NEGOTIATION83Stephen Shaw
1036Faith S DilliardBrazil2024-05-22Rousseaux, Michael Esq RENEWAL41Elwin Sharvill
1037Juan X GauchoItaly2024-05-07King, Christopher A Esq PROPOSAL99Asiya Javayant
1038Salvatore L VenereItaly2024-05-16Feiner Bros NEGOTIATION19Amy Elsner
1039Greenwood N CampainItaly2024-05-02Morlong Associates PROPOSAL15Ivan Magalhaes
1040Johnson S SergiBrazil2024-04-27Benton, John B Jr QUALIFIED30Bernardo Dominic
1041Mayumi T GillianUnited Kingdom2024-05-10Chanay, Jeffrey A Esq NEW28Xuxue Feng
1042Leja K CampainSpain2024-04-27Truhlar And Truhlar Attys RENEWAL23Ioni Bowcher
1043Costa Q CaudyBrazil2024-05-14Buckley Miller Wright QUALIFIED5Onyama Limba
1044Munro J PoquetteGermany2024-05-04Feltz Printing Service NEW21Onyama Limba
1045Wickens U CaldareraJapan2024-05-20Rousseaux, Michael Esq UNQUALIFIED76Asiya Javayant
1046Aditya R DoeSpain2024-05-10Chapman, Ross E Esq NEGOTIATION5Ioni Bowcher
1047Claire W OldroydSpain2024-05-02Feiner Bros RENEWAL83Stephen Shaw
1048Maisha S MorascaItaly2024-05-07Feiner Bros RENEWAL14Onyama Limba
1049Octavia A KolmetzCanada2024-05-11Feiner Bros PROPOSAL89Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Chavez A AlbaresItalyAmy Elsner RENEWAL
David J AmigonGermanyXuxue Feng UNQUALIFIED
Ashley T MaletSpainAmy Elsner UNQUALIFIED
James N BowleyFranceIvan Magalhaes UNQUALIFIED
Leja O CaudyGermanyBernardo Dominic RENEWAL
Adams V MarrierUnited KingdomAnna Fali QUALIFIED
Emily H BowleyAustraliaAnna Fali RENEWAL
Leon O ButtArgentinaAsiya Javayant RENEWAL
Stacey C NestleBrazilStephen Shaw NEGOTIATION
Leon J PoquetteGermanyElwin Sharvill NEGOTIATION
Mujtaba F CaudyIndiaAnna Fali PROPOSAL
Chavez V ShinkoArgentinaAsiya Javayant RENEWAL
Leja E DoeBrazilAnna Fali NEW
Stacey K BriddickAustraliaXuxue Feng QUALIFIED
Isabel W NestleBrazilElwin Sharvill NEGOTIATION
Kadeem C OstroskyRussiaAsiya Javayant NEW
Smith T FigeroaFranceIoni Bowcher NEW
Wickens T DoeArgentinaAnna Fali NEW
Jeanfrancois E AmigonItalyAmy Elsner QUALIFIED
Leon F CaldareraRussiaElwin Sharvill NEGOTIATION
Ricardo U DoeIndiaIoni Bowcher PROPOSAL
Cody B FollerUnited KingdomOnyama Limba RENEWAL
Claire M CampainArgentinaIoni Bowcher PROPOSAL
Ricardo B MacleadCanadaXuxue Feng UNQUALIFIED
Ivar L DarakjyItalyStephen Shaw PROPOSAL
Aika Y BowleyJapanIoni Bowcher UNQUALIFIED
Johnson R ButtBrazilBernardo Dominic QUALIFIED
Arvin A RimRussiaStephen Shaw NEGOTIATION
Ashley V PerinArgentinaElwin Sharvill PROPOSAL
Deepesh V DarakjySpainAsiya Javayant QUALIFIED
Clifford J SchemmerItalyOnyama Limba UNQUALIFIED
David I RulapaughCanadaIoni Bowcher PROPOSAL
Maria U AlbaresAustraliaStephen Shaw NEW
Ricardo X StockhamSpainIoni Bowcher QUALIFIED
Octavia Y InouyeIndiaAmy Elsner UNQUALIFIED
Julie O GillianJapanAsiya Javayant RENEWAL
Faith V BowleyAustraliaAnna Fali QUALIFIED
Deepesh O SchemmerAustraliaAmy Elsner QUALIFIED
Antonio F NestleAustraliaStephen Shaw UNQUALIFIED
Isabel W BologniaIndiaAmy Elsner NEW
Morrow X BriddickBrazilAmy Elsner QUALIFIED
Nicolas E KolmetzIndiaIvan Magalhaes UNQUALIFIED
Smith A VenereArgentinaIvan Magalhaes QUALIFIED
Munro D PoquetteJapanAnna Fali NEGOTIATION
Tony E MarrierSpainAmy Elsner PROPOSAL
Maria O BriddickGermanyXuxue Feng PROPOSAL
Greenwood X FlosiJapanAnna Fali QUALIFIED
Emily Z KolmetzJapanElwin Sharvill RENEWAL
Aditya C MaletFranceElwin Sharvill PROPOSAL
Juan W MaletRussiaAsiya Javayant NEW
Frozen Columns
Name
Kadeem H Saylors
Aruna X Ostrosky
Deepesh N Caldarera
Aditya T Darakjy
Francesco A Briddick
Smith L Inouye
Leja G Kusko
Faith N Bolognia
Leja N Garufi
Tony P Stockham
Cody O Morasca
Jennifer S Morasca
Munro X Iturbide
James T Ferencz
Nicolas M Caldarera
Jeanfrancois O Shinko
Clifford H Poquette
Mujtaba T Dilliard
Julie B Ruta
Maisha T Dilliard
Arvin R Albares
Tony L Vocelka
Chavez Z Poquette
Clifford B Kolmetz
Kaitlin T Bolognia
Kadeem I Kusko
Tony A Marrier
Sinclair G Saylors
Arvin O Perin
Julie G Flosi
Deepesh U Stenseth
Leon H Wieser
Julie Q Ferencz
James H Malet
Mayumi Z Flosi
Aruna J Perin
Morrow O Paprocki
Faith Q Nicka
Ricardo N Poquette
Izzy Z Doe
Jennifer G Poquette
Antonio B Morasca
Clifford M Perin
Maisha F Albares
Maisha W Chui
Juan D Inouye
Izzy W Nicka
Ashley E Inouye
Stacey B Caldarera
Claire Y Amigon
IdCountryDate
1000Italy2024-05-18
1001Japan2024-05-07
1002United Kingdom2024-05-14
1003Argentina2024-05-20
1004France2024-05-12
1005Japan2024-05-25
1006Italy2024-05-03
1007Germany2024-05-01
1008France2024-05-21
1009Italy2024-05-20
1010Russia2024-05-10
1011Italy2024-05-13
1012Russia2024-05-09
1013Spain2024-05-25
1014United Kingdom2024-05-22
1015Japan2024-05-15
1016Japan2024-05-21
1017Canada2024-05-16
1018Italy2024-05-25
1019Australia2024-05-22
1020India2024-05-11
1021Australia2024-04-30
1022India2024-05-01
1023Russia2024-05-14
1024Japan2024-04-27
1025Canada2024-05-05
1026Italy2024-05-04
1027Argentina2024-05-05
1028Australia2024-05-06
1029Spain2024-05-24
1030United Kingdom2024-05-15
1031Russia2024-04-28
1032Spain2024-05-20
1033Italy2024-05-19
1034Argentina2024-05-07
1035Brazil2024-05-17
1036Australia2024-05-19
1037Italy2024-05-12
1038Spain2024-05-15
1039Japan2024-05-09
1040Spain2024-05-03
1041Germany2024-05-12
1042France2024-05-21
1043India2024-05-06
1044Russia2024-05-24
1045Brazil2024-05-16
1046Italy2024-05-16
1047United Kingdom2024-05-05
1048Argentina2024-05-22
1049Australia2024-05-04

On-Demand Data

NameIdCountryDate
Kadeem H Figeroa1000Brazil2024-05-14
Aika L Butt1001Germany2024-05-21
Mayumi O Garufi1002Germany2024-05-23
Kaitlin I Nestle1003Argentina2024-05-01
Rodrigues W Perin1004France2024-05-07
Antonio T Foller1005France2024-05-13
Arvin C Schemmer1006Italy2024-05-16
Aruna F Poquette1007Brazil2024-05-09
Jefferson W Foller1008France2024-05-17
Ashley K Sergi1009Spain2024-05-10
Silvio J Whobrey1010Spain2024-05-16
Tony D Doe1011Canada2024-05-23
Izzy R Garufi1012Spain2024-05-21
Juan A Kolmetz1013Italy2024-05-13
Chavez U Gaucho1014Spain2024-05-14
Mujtaba G Gillian1015Italy2024-05-01
Johnson X Rulapaugh1016Russia2024-05-02
Ivar G Stenseth1017Japan2024-05-07
Kadeem I Schemmer1018India2024-04-29
Silvio K Waycott1019Japan2024-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie F TollnerArgentinaElwin Sharvill QUALIFIED
Alejandro F CampainRussiaBernardo Dominic RENEWAL
Arvin O RulapaughCanadaIvan Magalhaes PROPOSAL
Ivar S MorascaFranceXuxue Feng QUALIFIED
Octavia L MaletIndiaAsiya Javayant PROPOSAL
Ricardo B MacleadJapanAsiya Javayant NEGOTIATION
Costa Z DilliardCanadaIoni Bowcher RENEWAL
Darci K PaprockiFranceStephen Shaw QUALIFIED
Jeanfrancois J SchemmerGermanyIvan Magalhaes NEGOTIATION
Kadeem Q KolmetzBrazilElwin Sharvill NEW
Maria W WieserArgentinaBernardo Dominic NEGOTIATION
Greenwood M GillianItalyElwin Sharvill NEGOTIATION
Silvio P ChuiFranceIoni Bowcher PROPOSAL
Leja S PaprockiGermanyAnna Fali RENEWAL
Johnson G MorascaGermanyAnna Fali RENEWAL
Aika D RulapaughCanadaBernardo Dominic PROPOSAL
James U StockhamIndiaOnyama Limba QUALIFIED
Isabel Z BologniaRussiaIvan Magalhaes QUALIFIED
Emily E DilliardItalyIoni Bowcher QUALIFIED
Stacey Z NickaUnited KingdomElwin Sharvill NEW
Wickens J GlickGermanyBernardo Dominic QUALIFIED
Misaki W GarufiCanadaBernardo Dominic NEGOTIATION
Chavez D PerinIndiaOnyama Limba UNQUALIFIED
Mayumi J StockhamFranceAsiya Javayant RENEWAL
Misaki D BologniaIndiaElwin Sharvill NEW
Leon Q StockhamArgentinaIvan Magalhaes NEGOTIATION
Emily S DilliardFranceIvan Magalhaes NEGOTIATION
Misaki O RoysterFranceIvan Magalhaes NEGOTIATION
Ivar X OldroydArgentinaAmy Elsner NEW
Tony Z PerinCanadaAnna Fali QUALIFIED
Aika C InouyeArgentinaAnna Fali UNQUALIFIED
Morrow Q RoysterGermanyAsiya Javayant UNQUALIFIED
Tony D FlosiItalyIoni Bowcher UNQUALIFIED
Maisha T KolmetzItalyXuxue Feng UNQUALIFIED
Claire N FollerIndiaAsiya Javayant NEW
Murillo O GlickFranceOnyama Limba NEW
Darci F GarufiRussiaIoni Bowcher PROPOSAL
Aruna C NickaBrazilElwin Sharvill PROPOSAL
Aika C IturbideJapanElwin Sharvill NEGOTIATION
Aruna G MorascaAustraliaAnna Fali 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>