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
James R MaletSpainIvan Magalhaes QUALIFIED
Adams L StensethFranceAnna Fali NEGOTIATION
Arvin N RimArgentinaOnyama Limba RENEWAL
Francesco Z IturbideBrazilOnyama Limba QUALIFIED
Ricardo D VocelkaBrazilAsiya Javayant NEW
Sinclair B MaletRussiaAsiya Javayant NEW
Clifford J WaycottSpainStephen Shaw QUALIFIED
Murillo S WhobreyRussiaBernardo Dominic PROPOSAL
Darci B CaudyBrazilBernardo Dominic NEGOTIATION
Jones G InouyeFranceAsiya Javayant NEGOTIATION
Aditya O MarrierArgentinaElwin Sharvill QUALIFIED
Aditya L RimItalyIvan Magalhaes PROPOSAL
Misaki X GillianArgentinaAmy Elsner QUALIFIED
Emily L OstroskySpainElwin Sharvill QUALIFIED
Antonio F CaudyGermanyStephen Shaw RENEWAL
Nicolas W BologniaRussiaStephen Shaw QUALIFIED
James F ShinkoBrazilAsiya Javayant UNQUALIFIED
Smith J WhobreyAustraliaXuxue Feng QUALIFIED
Clifford D RimRussiaXuxue Feng UNQUALIFIED
Chavez N KolmetzArgentinaOnyama Limba RENEWAL
Alejandro J RutaRussiaAmy Elsner UNQUALIFIED
Antonio X BologniaRussiaElwin Sharvill NEGOTIATION
Chavez Z AmigonFranceXuxue Feng UNQUALIFIED
Aika R InouyeFranceIoni Bowcher QUALIFIED
Kadeem E MarrierGermanyOnyama Limba QUALIFIED
Faith X WhobreyGermanyXuxue Feng NEGOTIATION
Isabel T OldroydCanadaElwin Sharvill NEW
Aditya G IturbideArgentinaOnyama Limba RENEWAL
David P FerenczBrazilAsiya Javayant UNQUALIFIED
Munro O AmigonRussiaIvan Magalhaes UNQUALIFIED
Maria L StockhamRussiaElwin Sharvill RENEWAL
Misaki O DarakjySpainStephen Shaw NEGOTIATION
Jennifer J NickaUnited KingdomOnyama Limba UNQUALIFIED
Arvin W CaudyItalyAmy Elsner UNQUALIFIED
Isabel R AlbaresFranceOnyama Limba QUALIFIED
Jennifer F BriddickBrazilIoni Bowcher UNQUALIFIED
Rodrigues K GlickJapanBernardo Dominic RENEWAL
Aika F SergiIndiaIoni Bowcher NEW
Greenwood W InouyeGermanyAmy Elsner RENEWAL
Izzy K BologniaGermanyStephen Shaw RENEWAL
Nicolas P TollnerRussiaOnyama Limba QUALIFIED
Leja X AmigonIndiaIoni Bowcher QUALIFIED
Munro X RoysterItalyOnyama Limba UNQUALIFIED
Jones U CaldareraCanadaOnyama Limba NEGOTIATION
Johnson F SlusarskiIndiaIvan Magalhaes PROPOSAL
Ricardo P PoquetteRussiaElwin Sharvill QUALIFIED
David N GlickCanadaAsiya Javayant QUALIFIED
Juan V MaletSpainElwin Sharvill QUALIFIED
Nicolas M FollerArgentinaXuxue Feng UNQUALIFIED
Francesco I DarakjyFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Greenwood V DoeCanadaElwin Sharvill UNQUALIFIED
Stacey W CampainJapanBernardo Dominic QUALIFIED
Costa N RoysterItalyAnna Fali UNQUALIFIED
Faith B IturbideAustraliaAmy Elsner RENEWAL
Murillo M DoeUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin W IturbideItalyElwin Sharvill NEW
Ricardo Z BowleyFranceAmy Elsner PROPOSAL
Stacey L NickaRussiaStephen Shaw NEW
Jones Q FlosiRussiaXuxue Feng UNQUALIFIED
Kadeem J BowleyFranceIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria V NickaCanada2024-06-01Chapman, Ross E Esq UNQUALIFIED10Ivan Magalhaes
1001Juan Z BowleySpain2024-06-13Rangoni Of Florence RENEWAL68Anna Fali
1002Leon Y CampainAustralia2024-05-28Morlong Associates NEGOTIATION91Asiya Javayant
1003Salvatore R SchemmerUnited Kingdom2024-06-02Benton, John B Jr NEGOTIATION70Asiya Javayant
1004Aruna L ChuiIndia2024-06-04Commercial Press QUALIFIED8Elwin Sharvill
1005Jefferson U BowleyRussia2024-06-20Truhlar And Truhlar Attys RENEWAL37Elwin Sharvill
1006Aditya T SlusarskiSpain2024-06-06Commercial Press RENEWAL31Onyama Limba
1007Sinclair Q NestleArgentina2024-05-24Rangoni Of Florence PROPOSAL72Ioni Bowcher
1008Arvin D KuskoUnited Kingdom2024-06-02Morlong Associates PROPOSAL68Ioni Bowcher
1009Darci P AlbaresAustralia2024-06-01Truhlar And Truhlar Attys UNQUALIFIED86Onyama Limba
1010Mayumi J DilliardFrance2024-05-31Buckley Miller Wright NEW49Amy Elsner
1011Wickens Y MaletIndia2024-05-22King, Christopher A Esq RENEWAL82Bernardo Dominic
1012Morrow C CampainRussia2024-06-15Rousseaux, Michael Esq NEW99Amy Elsner
1013Aika R KuskoArgentina2024-05-23Printing Dimensions RENEWAL5Asiya Javayant
1014David L CampainRussia2024-06-01Printing Dimensions NEW39Xuxue Feng
1015Darci V MarrierItaly2024-06-18Dorl, James J Esq NEW71Anna Fali
1016Sinclair J MaletItaly2024-06-17Chanay, Jeffrey A Esq PROPOSAL54Ioni Bowcher
1017Antonio M MarrierAustralia2024-05-30Chapman, Ross E Esq QUALIFIED13Bernardo Dominic
1018Mujtaba S WaycottGermany2024-06-08Feltz Printing Service RENEWAL79Ivan Magalhaes
1019Johnson L PerinRussia2024-06-02Feltz Printing Service UNQUALIFIED42Amy Elsner
1020Faith D NestleItaly2024-05-22Rousseaux, Michael Esq PROPOSAL66Anna Fali
1021Isabel M DilliardGermany2024-06-02Buckley Miller Wright NEW94Amy Elsner
1022Aruna X FigeroaJapan2024-06-13Morlong Associates QUALIFIED20Onyama Limba
1023Kaitlin B MorascaBrazil2024-06-14Commercial Press QUALIFIED46Xuxue Feng
1024Costa U ButtBrazil2024-06-08King, Christopher A Esq NEW69Asiya Javayant
1025Deepesh R GlickAustralia2024-06-14Rangoni Of Florence PROPOSAL81Anna Fali
1026Maria P SlusarskiJapan2024-05-28Printing Dimensions UNQUALIFIED44Asiya Javayant
1027Smith D CaudyCanada2024-05-28Feiner Bros NEGOTIATION10Amy Elsner
1028Juan I SergiIndia2024-06-16Chapman, Ross E Esq RENEWAL87Stephen Shaw
1029Julie Y ButtSpain2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED45Elwin Sharvill
1030Leon W ShinkoGermany2024-06-12Chemel, James L Cpa RENEWAL66Amy Elsner
1031Aruna C DilliardJapan2024-05-24Benton, John B Jr NEW85Bernardo Dominic
1032Octavia T IturbideAustralia2024-05-31Chemel, James L Cpa NEGOTIATION29Xuxue Feng
1033Aika O MacleadSpain2024-06-05Morlong Associates QUALIFIED86Asiya Javayant
1034Francesco Z AmigonAustralia2024-06-09King, Christopher A Esq NEW50Ioni Bowcher
1035Munro O MacleadSpain2024-06-16Rangoni Of Florence NEW63Onyama Limba
1036Adams J CaudyIndia2024-06-04Dorl, James J Esq NEW90Ivan Magalhaes
1037Octavia O ShinkoJapan2024-06-18Rousseaux, Michael Esq PROPOSAL34Anna Fali
1038Johnson U WieserAustralia2024-06-16Feiner Bros QUALIFIED34Onyama Limba
1039Juan F FigeroaSpain2024-06-09Truhlar And Truhlar Attys QUALIFIED56Asiya Javayant
1040Ivar M SlusarskiGermany2024-06-07King, Christopher A Esq UNQUALIFIED18Elwin Sharvill
1041Costa W RoysterArgentina2024-05-24Chanay, Jeffrey A Esq NEW87Amy Elsner
1042Munro Y DoeAustralia2024-06-16Rousseaux, Michael Esq QUALIFIED34Anna Fali
1043Aika Q GarufiFrance2024-05-23Commercial Press NEGOTIATION67Asiya Javayant
1044Octavia A InouyeIndia2024-05-25Chapman, Ross E Esq NEW2Bernardo Dominic
1045Murillo Q SergiSpain2024-06-08Morlong Associates PROPOSAL14Ivan Magalhaes
1046Aika K OstroskyIndia2024-05-27Feiner Bros NEGOTIATION86Ivan Magalhaes
1047Claire Z DarakjyArgentina2024-06-07King, Christopher A Esq UNQUALIFIED27Ivan Magalhaes
1048Mujtaba B WieserIndia2024-05-23Benton, John B Jr UNQUALIFIED83Ivan Magalhaes
1049Francesco T SergiUnited Kingdom2024-06-05Chapman, Ross E Esq NEGOTIATION67Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon P RulapaughBrazilOnyama Limba NEW
Adams F StensethGermanyOnyama Limba NEW
Salvatore T SergiRussiaAmy Elsner NEW
Aditya W SergiAustraliaXuxue Feng PROPOSAL
Jennifer P SaylorsUnited KingdomAsiya Javayant QUALIFIED
Izzy L NestleItalyIoni Bowcher UNQUALIFIED
Kadeem C RulapaughBrazilXuxue Feng UNQUALIFIED
Leja O FollerArgentinaOnyama Limba PROPOSAL
Nicolas X AmigonBrazilAmy Elsner QUALIFIED
Aditya V SergiBrazilIvan Magalhaes UNQUALIFIED
Sinclair M PoquetteJapanXuxue Feng UNQUALIFIED
Silvio N VenereArgentinaAsiya Javayant UNQUALIFIED
Tony F GauchoGermanyIoni Bowcher NEW
Octavia G OldroydFranceAsiya Javayant NEGOTIATION
Costa N MaletFranceIvan Magalhaes RENEWAL
Juan U CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Julie X BologniaIndiaElwin Sharvill NEW
Faith Y WieserBrazilBernardo Dominic RENEWAL
Faith P WhobreyGermanyStephen Shaw PROPOSAL
Salvatore K NickaGermanyIoni Bowcher PROPOSAL
Morrow I AmigonUnited KingdomIvan Magalhaes RENEWAL
James X PaprockiBrazilOnyama Limba QUALIFIED
Kaitlin Y BriddickAustraliaBernardo Dominic UNQUALIFIED
Greenwood Y ButtArgentinaAsiya Javayant PROPOSAL
Salvatore I RimUnited KingdomBernardo Dominic NEW
Emily T FigeroaIndiaAsiya Javayant PROPOSAL
Costa Y MaletJapanAnna Fali NEGOTIATION
Munro D SaylorsGermanyIvan Magalhaes RENEWAL
Cody J RulapaughAustraliaXuxue Feng NEW
Ivar W GarufiIndiaAnna Fali RENEWAL
David P SlusarskiArgentinaBernardo Dominic RENEWAL
Tony Z GauchoItalyIoni Bowcher NEW
Morrow A PoquetteRussiaStephen Shaw RENEWAL
Emily I KuskoFranceElwin Sharvill RENEWAL
Kaitlin F CampainAustraliaAmy Elsner UNQUALIFIED
Faith H ButtArgentinaOnyama Limba RENEWAL
Stacey H VenereGermanyIvan Magalhaes RENEWAL
Arvin I PerinFranceAsiya Javayant UNQUALIFIED
Wickens N FerenczIndiaIoni Bowcher RENEWAL
Greenwood T SchemmerAustraliaAsiya Javayant NEGOTIATION
Nicolas I ChuiUnited KingdomXuxue Feng QUALIFIED
Costa I BowleyGermanyIoni Bowcher NEGOTIATION
Ricardo J DoeItalyStephen Shaw UNQUALIFIED
Jennifer B WieserArgentinaAsiya Javayant UNQUALIFIED
Mujtaba J InouyeGermanyIvan Magalhaes UNQUALIFIED
Silvio C VenereGermanyAsiya Javayant RENEWAL
Smith Y MaletCanadaAmy Elsner PROPOSAL
Chavez F ButtIndiaAsiya Javayant NEGOTIATION
Claire Y IturbideArgentinaOnyama Limba RENEWAL
Emily I ChuiBrazilBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco T Stockham
Arvin W Iturbide
Silvio Z Paprocki
Aika Q Dilliard
Julie X Saylors
Octavia S Sergi
Claire B Glick
Silvio C Sergi
Greenwood Z Shinko
Jennifer F Perin
Mujtaba S Vocelka
Wickens F Poquette
Alejandro C Ferencz
Wickens Q Albares
Jeanfrancois I Sergi
Tony R Kolmetz
Izzy C Foller
Costa T Rim
Claire O Malet
Juan Z Campain
Juan U Waycott
Izzy B Inouye
Juan M Albares
Juan W Maclead
Octavia E Marrier
Adams C Campain
Wickens D Figeroa
Francesco L Albares
Salvatore N Rulapaugh
Deepesh T Maclead
Morrow R Nicka
Aditya J Ostrosky
Kaitlin M Maclead
Jeanfrancois T Schemmer
Faith L Waycott
Aruna C Morasca
Izzy W Gillian
Emily V Slusarski
Emily O Stenseth
Mujtaba M Morasca
Jeanfrancois S Foller
Kadeem F Oldroyd
Faith L Bolognia
Morrow L Ostrosky
David Q Chui
Jefferson L Poquette
Aditya A Waycott
David L Bolognia
Aika B Schemmer
Izzy W Garufi
IdCountryDate
1000Germany2024-05-28
1001Argentina2024-05-27
1002Canada2024-05-24
1003Brazil2024-06-08
1004Brazil2024-06-09
1005Argentina2024-06-15
1006Australia2024-06-07
1007Australia2024-06-08
1008Argentina2024-05-23
1009Brazil2024-05-23
1010Japan2024-05-29
1011United Kingdom2024-06-10
1012Australia2024-05-29
1013Italy2024-05-28
1014United Kingdom2024-05-24
1015France2024-05-30
1016Japan2024-05-25
1017Canada2024-06-01
1018Argentina2024-06-10
1019Russia2024-05-25
1020United Kingdom2024-05-27
1021Canada2024-05-28
1022Spain2024-06-03
1023Russia2024-06-12
1024Germany2024-06-13
1025Canada2024-06-07
1026France2024-05-28
1027Spain2024-06-20
1028Australia2024-05-23
1029Russia2024-06-10
1030Japan2024-06-01
1031Argentina2024-06-15
1032Russia2024-05-30
1033United Kingdom2024-06-15
1034Spain2024-06-11
1035Germany2024-06-15
1036Spain2024-06-13
1037India2024-05-25
1038United Kingdom2024-06-13
1039Spain2024-05-25
1040Germany2024-06-20
1041Spain2024-06-17
1042Brazil2024-06-17
1043France2024-06-08
1044Australia2024-06-01
1045India2024-06-05
1046Japan2024-06-12
1047Canada2024-05-26
1048United Kingdom2024-06-04
1049Brazil2024-06-05

On-Demand Data

NameIdCountryDate
James V Malet1000Argentina2024-06-05
Leon A Bolognia1001Australia2024-05-22
Morrow E Bolognia1002Russia2024-06-10
Leon F Venere1003Australia2024-06-13
Jeanfrancois A Perin1004Germany2024-06-19
Johnson L Foller1005Brazil2024-06-13
Misaki X Glick1006Japan2024-06-10
Alejandro L Slusarski1007Australia2024-05-25
James X Nicka1008Canada2024-06-18
Mujtaba H Royster1009Germany2024-05-29
Nicolas H Albares1010France2024-05-27
Smith V Paprocki1011Japan2024-06-18
Clifford A Glick1012Australia2024-06-05
Chavez P Poquette1013Brazil2024-06-08
Darci R Saylors1014United Kingdom2024-05-22
Maria Z Marrier1015Japan2024-06-18
Maisha W Sergi1016Argentina2024-06-15
Julie M Caudy1017United Kingdom2024-06-08
Morrow B Schemmer1018India2024-06-07
Stacey R Bolognia1019Russia2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Q FlosiItalyIvan Magalhaes PROPOSAL
Rodrigues D CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Leja W KuskoUnited KingdomIvan Magalhaes QUALIFIED
Julie Y DoeArgentinaAsiya Javayant PROPOSAL
Octavia Z ShinkoItalyElwin Sharvill RENEWAL
Wickens P AlbaresArgentinaAmy Elsner UNQUALIFIED
Jeanfrancois F NestleArgentinaAsiya Javayant RENEWAL
Faith S SergiJapanIoni Bowcher PROPOSAL
Rodrigues C FerenczSpainAsiya Javayant PROPOSAL
Maria G SchemmerIndiaAmy Elsner NEW
Costa D WhobreyItalyBernardo Dominic NEW
Costa P FlosiSpainBernardo Dominic UNQUALIFIED
Claire L InouyeIndiaAmy Elsner NEGOTIATION
Misaki U MorascaItalyXuxue Feng UNQUALIFIED
Jennifer W PoquetteGermanyElwin Sharvill RENEWAL
Jefferson L RoysterSpainOnyama Limba QUALIFIED
Claire S FerenczFranceIoni Bowcher UNQUALIFIED
Sinclair C SchemmerArgentinaAnna Fali RENEWAL
David H WaycottRussiaIvan Magalhaes RENEWAL
Jennifer Q AmigonRussiaIvan Magalhaes UNQUALIFIED
Murillo U OldroydRussiaElwin Sharvill NEW
Juan M FlosiFranceStephen Shaw QUALIFIED
Cody Z NestleUnited KingdomXuxue Feng RENEWAL
Emily X StockhamSpainIoni Bowcher NEGOTIATION
James R KolmetzJapanIoni Bowcher NEW
Costa P GillianAustraliaAmy Elsner UNQUALIFIED
Ivar G NestleUnited KingdomIoni Bowcher QUALIFIED
Tony Z PerinGermanyAsiya Javayant PROPOSAL
Adams O PerinArgentinaAsiya Javayant UNQUALIFIED
Deepesh R AmigonUnited KingdomAmy Elsner NEW
Rodrigues E OldroydGermanyOnyama Limba NEGOTIATION
David B MaletItalyBernardo Dominic NEW
David R BologniaGermanyIvan Magalhaes NEGOTIATION
Octavia J NickaGermanyXuxue Feng PROPOSAL
Morrow J MaletFranceBernardo Dominic NEGOTIATION
Kadeem G NestleIndiaXuxue Feng RENEWAL
Maisha F StockhamSpainIoni Bowcher NEGOTIATION
Misaki G StensethIndiaOnyama Limba NEW
Stacey G RoysterAustraliaXuxue Feng NEGOTIATION
Rodrigues S WieserGermanyXuxue Feng NEW

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