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
Izzy N PaprockiCanadaIoni Bowcher UNQUALIFIED
Munro G FerenczItalyStephen Shaw QUALIFIED
Kaitlin H AlbaresRussiaAnna Fali PROPOSAL
Murillo L CampainItalyStephen Shaw UNQUALIFIED
Claire Q IturbideUnited KingdomXuxue Feng RENEWAL
Alejandro N FollerUnited KingdomIvan Magalhaes NEGOTIATION
Ashley K FigeroaBrazilIvan Magalhaes UNQUALIFIED
Emily A KuskoAustraliaXuxue Feng PROPOSAL
Alejandro D InouyeSpainElwin Sharvill RENEWAL
Isabel H DilliardAustraliaIoni Bowcher PROPOSAL
Smith K TollnerArgentinaElwin Sharvill NEW
Julie X ShinkoGermanyStephen Shaw NEW
Chavez X GlickArgentinaElwin Sharvill RENEWAL
Stacey H GauchoIndiaElwin Sharvill NEGOTIATION
Costa Q RulapaughFranceAnna Fali NEW
Jeanfrancois D FigeroaArgentinaElwin Sharvill NEGOTIATION
Cody S ShinkoIndiaAnna Fali NEW
Mayumi Q WhobreyFranceAnna Fali PROPOSAL
Aditya T SlusarskiCanadaAsiya Javayant PROPOSAL
Adams D InouyeArgentinaElwin Sharvill PROPOSAL
Munro B OstroskyGermanyIvan Magalhaes NEW
Kadeem S WieserFranceAnna Fali NEW
Darci E MaletItalyElwin Sharvill QUALIFIED
Kaitlin H DarakjyItalyAnna Fali QUALIFIED
Ricardo L ShinkoCanadaAnna Fali NEW
Aruna C GillianArgentinaBernardo Dominic NEGOTIATION
Nicolas U RutaSpainAsiya Javayant UNQUALIFIED
Francesco L WieserAustraliaOnyama Limba PROPOSAL
Leja W PaprockiRussiaElwin Sharvill UNQUALIFIED
Ivar T WieserCanadaXuxue Feng QUALIFIED
Mayumi V RutaAustraliaAmy Elsner UNQUALIFIED
Adams B ShinkoJapanIvan Magalhaes QUALIFIED
Stacey M PaprockiArgentinaAmy Elsner RENEWAL
Claire F MarrierUnited KingdomStephen Shaw NEGOTIATION
Morrow A PerinSpainIoni Bowcher UNQUALIFIED
James E RutaItalyIvan Magalhaes NEW
Jones X MaletCanadaOnyama Limba UNQUALIFIED
Emily A BowleyRussiaOnyama Limba QUALIFIED
Izzy N KuskoItalyAsiya Javayant UNQUALIFIED
Johnson N MacleadSpainElwin Sharvill NEW
Munro K RutaSpainAnna Fali NEW
Ashley Z OldroydIndiaStephen Shaw UNQUALIFIED
Greenwood B WieserUnited KingdomXuxue Feng NEW
Ashley W SaylorsUnited KingdomAsiya Javayant RENEWAL
Cody B BologniaFranceAmy Elsner QUALIFIED
Rodrigues A CaldareraJapanBernardo Dominic UNQUALIFIED
Antonio P AmigonItalyAnna Fali UNQUALIFIED
Aika C AmigonIndiaOnyama Limba UNQUALIFIED
Adams I OstroskySpainIoni Bowcher UNQUALIFIED
Wickens Q DoeCanadaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Munro U BologniaBrazilAnna Fali UNQUALIFIED
Aditya T GauchoBrazilOnyama Limba RENEWAL
Aditya P GarufiJapanAmy Elsner NEGOTIATION
Aika L StensethBrazilAnna Fali PROPOSAL
Aditya D DilliardSpainBernardo Dominic QUALIFIED
Arvin L TollnerAustraliaBernardo Dominic UNQUALIFIED
Darci D TollnerJapanOnyama Limba UNQUALIFIED
Leja V MaletArgentinaAsiya Javayant QUALIFIED
Johnson C PerinJapanStephen Shaw PROPOSAL
Ashley M MaletItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez U RoysterArgentina2025-04-28Rangoni Of Florence QUALIFIED16Stephen Shaw
1001Deepesh F DilliardJapan2025-04-06Benton, John B Jr NEW50Bernardo Dominic
1002Jefferson O StensethGermany2025-04-20Feiner Bros RENEWAL8Ivan Magalhaes
1003Tony C VocelkaJapan2025-04-22Chemel, James L Cpa PROPOSAL37Onyama Limba
1004Salvatore R KolmetzFrance2025-04-14Buckley Miller Wright QUALIFIED78Ioni Bowcher
1005Isabel U SaylorsSpain2025-04-27Chanay, Jeffrey A Esq NEW36Onyama Limba
1006Munro E FigeroaSpain2025-04-18Benton, John B Jr UNQUALIFIED1Onyama Limba
1007Greenwood F MaletAustralia2025-04-15Rousseaux, Michael Esq QUALIFIED44Anna Fali
1008Isabel E CampainRussia2025-04-13Feiner Bros NEGOTIATION76Anna Fali
1009Antonio U GauchoJapan2025-04-19Feltz Printing Service RENEWAL86Stephen Shaw
1010Ivar I NickaAustralia2025-04-12Morlong Associates NEGOTIATION95Xuxue Feng
1011Tony Z NickaSpain2025-04-02Chemel, James L Cpa RENEWAL9Asiya Javayant
1012Stacey U PaprockiJapan2025-04-30Dorl, James J Esq QUALIFIED15Amy Elsner
1013Antonio J MacleadUnited Kingdom2025-04-30Feltz Printing Service QUALIFIED75Elwin Sharvill
1014Silvio Y ChuiItaly2025-04-30Morlong Associates PROPOSAL31Stephen Shaw
1015Leon B WieserBrazil2025-04-21Chanay, Jeffrey A Esq PROPOSAL67Stephen Shaw
1016Tony S PerinArgentina2025-04-09Chanay, Jeffrey A Esq NEGOTIATION28Elwin Sharvill
1017Francesco R RulapaughBrazil2025-04-10Truhlar And Truhlar Attys QUALIFIED78Asiya Javayant
1018Mayumi O VenereCanada2025-04-09Truhlar And Truhlar Attys QUALIFIED33Stephen Shaw
1019Morrow J DilliardUnited Kingdom2025-04-14Chapman, Ross E Esq QUALIFIED37Asiya Javayant
1020Jones Z ButtUnited Kingdom2025-04-21Morlong Associates NEW25Bernardo Dominic
1021Stacey H NestleGermany2025-04-05Buckley Miller Wright NEW28Asiya Javayant
1022Nicolas M MaletBrazil2025-04-16Rousseaux, Michael Esq QUALIFIED87Xuxue Feng
1023Kaitlin R BriddickFrance2025-04-07Chanay, Jeffrey A Esq PROPOSAL3Anna Fali
1024Maisha K BologniaIndia2025-04-06Printing Dimensions PROPOSAL86Anna Fali
1025Aditya U MarrierJapan2025-04-23Printing Dimensions NEW79Elwin Sharvill
1026Isabel H VocelkaUnited Kingdom2025-04-16Feltz Printing Service PROPOSAL27Asiya Javayant
1027Smith D NestleCanada2025-04-08Rousseaux, Michael Esq UNQUALIFIED24Asiya Javayant
1028Izzy O IturbideAustralia2025-04-06Chanay, Jeffrey A Esq PROPOSAL2Ivan Magalhaes
1029Alejandro R PaprockiFrance2025-04-19Printing Dimensions UNQUALIFIED64Xuxue Feng
1030James W MarrierRussia2025-04-11Feltz Printing Service PROPOSAL57Amy Elsner
1031Ivar C KolmetzItaly2025-04-05Truhlar And Truhlar Attys NEGOTIATION30Anna Fali
1032Johnson R ShinkoFrance2025-04-30Rousseaux, Michael Esq NEW9Elwin Sharvill
1033Aika R WaycottBrazil2025-04-15King, Christopher A Esq PROPOSAL73Stephen Shaw
1034Stacey C AmigonIndia2025-04-15Chapman, Ross E Esq UNQUALIFIED53Stephen Shaw
1035David W BologniaAustralia2025-04-02Feiner Bros QUALIFIED25Ivan Magalhaes
1036Jones K VenereArgentina2025-04-06Printing Dimensions NEGOTIATION7Anna Fali
1037Sinclair V GillianSpain2025-04-26Feiner Bros QUALIFIED66Amy Elsner
1038Jennifer C KolmetzItaly2025-04-15Chanay, Jeffrey A Esq NEW31Anna Fali
1039Kaitlin K GarufiArgentina2025-04-16Chemel, James L Cpa NEGOTIATION2Ioni Bowcher
1040Antonio F OldroydCanada2025-04-06Rangoni Of Florence QUALIFIED37Stephen Shaw
1041Arvin O MacleadArgentina2025-04-03Morlong Associates NEW26Onyama Limba
1042Julie Q WaycottBrazil2025-04-17Chapman, Ross E Esq NEW38Asiya Javayant
1043Isabel G ButtCanada2025-04-12Buckley Miller Wright QUALIFIED89Onyama Limba
1044Murillo F BriddickJapan2025-04-06King, Christopher A Esq QUALIFIED90Asiya Javayant
1045Ivar F ShinkoFrance2025-04-15Chapman, Ross E Esq NEW86Onyama Limba
1046Jefferson N AmigonGermany2025-04-12Buckley Miller Wright NEW38Amy Elsner
1047Maisha M VocelkaFrance2025-04-01Printing Dimensions UNQUALIFIED33Elwin Sharvill
1048Francesco O AmigonIndia2025-04-03King, Christopher A Esq QUALIFIED87Ivan Magalhaes
1049Izzy P StensethCanada2025-04-24Benton, John B Jr NEGOTIATION84Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Clifford E KolmetzItalyXuxue Feng RENEWAL
Antonio L AmigonFranceAnna Fali QUALIFIED
Ricardo A NestleUnited KingdomAsiya Javayant RENEWAL
Misaki I DarakjyJapanXuxue Feng PROPOSAL
Arvin Y OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem B SlusarskiArgentinaOnyama Limba NEW
Leon U RutaUnited KingdomAnna Fali NEGOTIATION
Johnson K CampainArgentinaXuxue Feng NEGOTIATION
Ivar C SchemmerFranceAsiya Javayant QUALIFIED
Antonio L SchemmerUnited KingdomXuxue Feng RENEWAL
Jones X RutaBrazilAnna Fali NEGOTIATION
Aika V VenereSpainAnna Fali RENEWAL
Munro O VenereJapanAnna Fali RENEWAL
Octavia L ShinkoIndiaElwin Sharvill UNQUALIFIED
Faith W BologniaIndiaXuxue Feng RENEWAL
Alejandro F ButtSpainAsiya Javayant QUALIFIED
Kaitlin R ShinkoRussiaBernardo Dominic RENEWAL
Nicolas J VocelkaCanadaAsiya Javayant PROPOSAL
Jones V VocelkaGermanyStephen Shaw UNQUALIFIED
Clifford T FigeroaFranceAsiya Javayant QUALIFIED
Maria Z PerinUnited KingdomXuxue Feng NEGOTIATION
Darci Z FollerItalyIoni Bowcher RENEWAL
Nicolas W SlusarskiArgentinaOnyama Limba PROPOSAL
Chavez A MaletCanadaBernardo Dominic NEGOTIATION
Alejandro E OldroydGermanyXuxue Feng QUALIFIED
Francesco S RoysterJapanBernardo Dominic PROPOSAL
Salvatore N KuskoArgentinaAmy Elsner UNQUALIFIED
Tony R MorascaBrazilAnna Fali UNQUALIFIED
Ricardo P BowleyCanadaBernardo Dominic UNQUALIFIED
Adams T SaylorsSpainXuxue Feng NEW
Jones R ChuiAustraliaIoni Bowcher RENEWAL
Jennifer Q StockhamFranceOnyama Limba NEGOTIATION
Cody Y MacleadItalyIvan Magalhaes PROPOSAL
Sinclair I WhobreyRussiaStephen Shaw UNQUALIFIED
Munro R BologniaIndiaAsiya Javayant PROPOSAL
Maria N BologniaCanadaXuxue Feng PROPOSAL
Mujtaba U CampainBrazilXuxue Feng PROPOSAL
Kadeem B IturbideSpainIvan Magalhaes NEGOTIATION
Jeanfrancois C RulapaughCanadaIvan Magalhaes PROPOSAL
Francesco C ShinkoFranceStephen Shaw PROPOSAL
Alejandro B MorascaArgentinaBernardo Dominic RENEWAL
Rodrigues G WhobreyUnited KingdomXuxue Feng RENEWAL
Nicolas P ShinkoItalyIvan Magalhaes QUALIFIED
Maisha D PaprockiCanadaXuxue Feng RENEWAL
Rodrigues K KuskoJapanIvan Magalhaes NEGOTIATION
Morrow B SaylorsBrazilAsiya Javayant PROPOSAL
Johnson V InouyeFranceStephen Shaw RENEWAL
Julie T AmigonItalyIvan Magalhaes QUALIFIED
Isabel B AmigonItalyAmy Elsner PROPOSAL
Arvin S StensethFranceElwin Sharvill RENEWAL
Frozen Columns
Name
Chavez K Iturbide
Ashley A Glick
Leja E Albares
Kaitlin V Ruta
Maria X Nestle
Nicolas E Perin
David P Amigon
Leja H Flosi
Misaki W Campain
Nicolas L Rim
Cody U Waycott
Darci R Whobrey
Morrow T Nestle
Leja X Amigon
Kaitlin J Oldroyd
Salvatore X Ferencz
Stacey O Wieser
Smith E Butt
Chavez Y Ostrosky
Sinclair D Wieser
Maisha G Stockham
Munro A Butt
Emily A Chui
Kaitlin L Poquette
Deepesh D Rim
Misaki O Wieser
Leja N Glick
Aditya R Wieser
Maisha M Morasca
Cody K Rim
Salvatore K Ferencz
Mayumi T Shinko
Kadeem N Wieser
Aruna N Tollner
Julie L Poquette
Francesco G Rim
Wickens D Amigon
Murillo Z Nicka
Faith M Kusko
Jones W Chui
Aruna I Schemmer
Salvatore C Bolognia
David E Darakjy
Jones T Marrier
Clifford Q Poquette
Greenwood C Waycott
Sinclair P Marrier
Arvin T Marrier
Maria C Kusko
Francesco X Stockham
IdCountryDate
1000Japan2025-04-03
1001Australia2025-04-06
1002United Kingdom2025-04-28
1003United Kingdom2025-04-04
1004Germany2025-04-11
1005Russia2025-04-07
1006India2025-04-13
1007Russia2025-04-20
1008Germany2025-04-01
1009United Kingdom2025-04-07
1010Argentina2025-04-13
1011Spain2025-04-30
1012Russia2025-04-05
1013India2025-04-12
1014Australia2025-04-30
1015Spain2025-04-26
1016Russia2025-04-29
1017Germany2025-04-21
1018Australia2025-04-11
1019Australia2025-04-18
1020Canada2025-04-18
1021Spain2025-04-12
1022Germany2025-04-17
1023Argentina2025-04-02
1024Spain2025-04-27
1025Argentina2025-04-20
1026Japan2025-04-07
1027Argentina2025-04-03
1028Australia2025-04-20
1029Spain2025-04-07
1030United Kingdom2025-04-20
1031Germany2025-04-30
1032Germany2025-04-13
1033Germany2025-04-01
1034Spain2025-04-12
1035Russia2025-04-25
1036Italy2025-04-16
1037Spain2025-04-20
1038Russia2025-04-12
1039Brazil2025-04-18
1040France2025-04-29
1041Germany2025-04-16
1042Argentina2025-04-14
1043United Kingdom2025-04-05
1044Australia2025-04-19
1045Spain2025-04-27
1046Australia2025-04-07
1047Spain2025-04-04
1048Japan2025-04-26
1049United Kingdom2025-04-20

On-Demand Data

NameIdCountryDate
Aika D Amigon1000Canada2025-04-19
Jefferson D Bowley1001Brazil2025-04-24
Salvatore S Oldroyd1002Russia2025-04-08
Alejandro A Schemmer1003India2025-04-27
Izzy B Briddick1004Japan2025-04-10
Aditya K Caldarera1005Germany2025-04-28
Antonio N Flosi1006Japan2025-04-12
Ricardo R Malet1007Brazil2025-04-24
Antonio S Paprocki1008Brazil2025-04-14
Izzy Y Royster1009India2025-04-03
Leon M Stenseth1010Germany2025-04-21
Ashley S Kolmetz1011Italy2025-04-09
Misaki M Maclead1012Japan2025-04-24
Antonio Z Morasca1013Japan2025-04-05
Leon X Schemmer1014Germany2025-04-18
Julie K Ruta1015Australia2025-04-04
Isabel F Iturbide1016France2025-04-27
Arvin P Poquette1017Argentina2025-04-15
Leon N Stenseth1018France2025-04-20
Stacey C Flosi1019Russia2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas R MaletFranceAnna Fali NEGOTIATION
Morrow X VocelkaRussiaBernardo Dominic RENEWAL
Nicolas R MaletSpainBernardo Dominic RENEWAL
Izzy W ShinkoAustraliaStephen Shaw QUALIFIED
David K NickaGermanyXuxue Feng RENEWAL
Deepesh L VenereIndiaAsiya Javayant RENEWAL
Aditya V FlosiItalyXuxue Feng RENEWAL
Francesco R PerinGermanyElwin Sharvill RENEWAL
Faith Q PaprockiGermanyAnna Fali UNQUALIFIED
Tony J MacleadItalyAsiya Javayant NEGOTIATION
Isabel V AlbaresGermanyAnna Fali PROPOSAL
Tony J StensethCanadaOnyama Limba PROPOSAL
Jennifer H PerinItalyOnyama Limba PROPOSAL
Cody Y BologniaSpainElwin Sharvill QUALIFIED
Isabel B AmigonIndiaXuxue Feng NEW
Rodrigues M NestleGermanyXuxue Feng NEGOTIATION
Aditya I RoysterFranceBernardo Dominic UNQUALIFIED
Jefferson X MaletFranceIoni Bowcher PROPOSAL
Johnson L MaletCanadaStephen Shaw RENEWAL
Rodrigues U SlusarskiSpainAnna Fali NEGOTIATION
David V RutaJapanAsiya Javayant NEGOTIATION
Mujtaba T SlusarskiAustraliaBernardo Dominic NEW
Alejandro G MacleadAustraliaStephen Shaw UNQUALIFIED
Leon C ShinkoJapanIvan Magalhaes NEW
Adams W TollnerCanadaOnyama Limba RENEWAL
Rodrigues M BriddickItalyBernardo Dominic PROPOSAL
Mayumi O ShinkoUnited KingdomBernardo Dominic PROPOSAL
Smith G WaycottBrazilXuxue Feng NEW
Ricardo Z DarakjyJapanOnyama Limba RENEWAL
Octavia C InouyeFranceElwin Sharvill PROPOSAL
Ashley B CaldareraRussiaXuxue Feng NEGOTIATION
Morrow K CampainArgentinaOnyama Limba QUALIFIED
Kadeem H ButtFranceElwin Sharvill NEGOTIATION
Greenwood V PoquetteRussiaXuxue Feng UNQUALIFIED
Jefferson Z RoysterAustraliaIoni Bowcher PROPOSAL
Wickens Q FollerSpainIvan Magalhaes PROPOSAL
Jennifer C WaycottCanadaAnna Fali NEW
Juan N MacleadBrazilAnna Fali UNQUALIFIED
Stacey U WieserAustraliaAmy Elsner QUALIFIED
Misaki E PerinFranceElwin Sharvill 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>