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 V BowleyArgentinaAmy Elsner NEGOTIATION
Jeanfrancois W GlickIndiaElwin Sharvill QUALIFIED
Smith R IturbideUnited KingdomIoni Bowcher QUALIFIED
Antonio O NickaRussiaOnyama Limba NEW
Kadeem L DilliardIndiaXuxue Feng PROPOSAL
Kaitlin J DoeSpainIvan Magalhaes NEW
Jennifer K PerinUnited KingdomElwin Sharvill UNQUALIFIED
Emily W RutaUnited KingdomAnna Fali RENEWAL
Maisha G SaylorsRussiaIoni Bowcher RENEWAL
James E VocelkaAustraliaBernardo Dominic NEW
Ricardo Q NestleArgentinaIvan Magalhaes PROPOSAL
Johnson U KuskoBrazilAmy Elsner NEGOTIATION
Jefferson Z MaletBrazilXuxue Feng QUALIFIED
Francesco A MacleadAustraliaStephen Shaw PROPOSAL
Sinclair S FollerAustraliaBernardo Dominic QUALIFIED
Clifford H SchemmerRussiaAnna Fali UNQUALIFIED
Clifford D SlusarskiAustraliaIoni Bowcher NEGOTIATION
Maisha U SaylorsGermanyOnyama Limba PROPOSAL
Maria H AlbaresCanadaElwin Sharvill NEGOTIATION
Izzy X OldroydSpainBernardo Dominic NEW
Ricardo X GarufiItalyBernardo Dominic NEGOTIATION
Smith B PaprockiItalyBernardo Dominic RENEWAL
Clifford D RulapaughItalyAnna Fali UNQUALIFIED
Salvatore B StockhamFranceOnyama Limba NEW
Leja I DilliardCanadaXuxue Feng RENEWAL
Silvio X AmigonBrazilStephen Shaw UNQUALIFIED
Salvatore R OldroydArgentinaIvan Magalhaes NEGOTIATION
Isabel E FollerGermanyAsiya Javayant UNQUALIFIED
Misaki U PoquetteIndiaOnyama Limba PROPOSAL
Francesco H CaudySpainIoni Bowcher PROPOSAL
Emily X StockhamFranceAmy Elsner RENEWAL
Antonio G ChuiGermanyAsiya Javayant PROPOSAL
Octavia W StockhamJapanIoni Bowcher NEGOTIATION
Claire C MaletUnited KingdomXuxue Feng RENEWAL
Munro M GillianSpainOnyama Limba QUALIFIED
Jeanfrancois Y ButtBrazilBernardo Dominic UNQUALIFIED
Maisha S GlickUnited KingdomAmy Elsner PROPOSAL
Kaitlin V BowleyBrazilXuxue Feng PROPOSAL
Costa F IturbideGermanyAsiya Javayant RENEWAL
Chavez B DilliardRussiaStephen Shaw UNQUALIFIED
Sinclair D KolmetzFranceElwin Sharvill UNQUALIFIED
Jones C SaylorsArgentinaElwin Sharvill RENEWAL
Sinclair R SlusarskiUnited KingdomAmy Elsner QUALIFIED
Greenwood Y PerinItalyAmy Elsner NEGOTIATION
Smith R SchemmerJapanBernardo Dominic QUALIFIED
Mujtaba Q KolmetzItalyOnyama Limba RENEWAL
Emily I PoquetteGermanyXuxue Feng PROPOSAL
Mayumi D SergiItalyStephen Shaw PROPOSAL
Jones E SlusarskiBrazilElwin Sharvill RENEWAL
Adams E MaletRussiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley M KolmetzFranceIvan Magalhaes QUALIFIED
Jones U SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Aditya D PerinGermanyAnna Fali RENEWAL
Faith P DoeAustraliaAsiya Javayant NEW
Chavez O WaycottRussiaAmy Elsner NEW
David M AlbaresArgentinaElwin Sharvill UNQUALIFIED
Tony S MorascaBrazilIoni Bowcher UNQUALIFIED
Arvin L DarakjyFranceAnna Fali UNQUALIFIED
Kadeem B WieserBrazilOnyama Limba PROPOSAL
Faith X KuskoFranceXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez M VocelkaGermany2026-07-22Rousseaux, Michael Esq RENEWAL25Stephen Shaw
1001James W StensethGermany2026-07-20King, Christopher A Esq RENEWAL36Elwin Sharvill
1002Smith A BowleyFrance2026-07-05Benton, John B Jr NEGOTIATION38Ioni Bowcher
1003Ricardo O BowleyCanada2026-07-22Chapman, Ross E Esq NEW78Anna Fali
1004Mayumi A ChuiGermany2026-07-21Rousseaux, Michael Esq NEW21Xuxue Feng
1005Smith H IturbideFrance2026-07-06Feiner Bros NEW90Bernardo Dominic
1006Arvin C KuskoRussia2026-07-22Rousseaux, Michael Esq PROPOSAL32Ivan Magalhaes
1007Nicolas Z PaprockiArgentina2026-06-30King, Christopher A Esq RENEWAL72Xuxue Feng
1008Isabel Z CaudyFrance2026-07-05Benton, John B Jr NEW82Amy Elsner
1009Jennifer K WhobreyIndia2026-07-06Feiner Bros RENEWAL54Bernardo Dominic
1010Tony V BowleyRussia2026-07-23Printing Dimensions PROPOSAL33Onyama Limba
1011Maisha A CaldareraCanada2026-07-26Rangoni Of Florence NEW31Ioni Bowcher
1012Ivar N MacleadBrazil2026-07-22Commercial Press QUALIFIED30Asiya Javayant
1013Smith T CaudyUnited Kingdom2026-07-15Chemel, James L Cpa PROPOSAL53Xuxue Feng
1014Salvatore Y StockhamItaly2026-07-15Feltz Printing Service QUALIFIED78Bernardo Dominic
1015Izzy K FigeroaIndia2026-07-03Morlong Associates UNQUALIFIED78Ioni Bowcher
1016Aditya H DoeFrance2026-07-18Buckley Miller Wright QUALIFIED98Onyama Limba
1017Antonio F KuskoGermany2026-06-29Feltz Printing Service PROPOSAL66Anna Fali
1018Adams Y VenereSpain2026-07-21Benton, John B Jr QUALIFIED54Xuxue Feng
1019Tony E OstroskyCanada2026-07-21Feltz Printing Service PROPOSAL9Stephen Shaw
1020Stacey Q MaletUnited Kingdom2026-07-07Dorl, James J Esq NEGOTIATION72Anna Fali
1021Deepesh O PaprockiFrance2026-07-16Printing Dimensions RENEWAL54Ivan Magalhaes
1022Silvio L WaycottFrance2026-07-02Chanay, Jeffrey A Esq NEW0Ivan Magalhaes
1023Isabel Y FerenczSpain2026-07-04Dorl, James J Esq NEGOTIATION6Elwin Sharvill
1024David S FerenczFrance2026-07-23Truhlar And Truhlar Attys UNQUALIFIED87Onyama Limba
1025Julie L BriddickArgentina2026-07-08Benton, John B Jr NEGOTIATION49Amy Elsner
1026Arvin H TollnerJapan2026-07-18Feltz Printing Service RENEWAL25Elwin Sharvill
1027Jefferson X MaletCanada2026-07-06Chemel, James L Cpa RENEWAL14Elwin Sharvill
1028Stacey F StensethUnited Kingdom2026-07-28King, Christopher A Esq QUALIFIED63Ioni Bowcher
1029Misaki M WhobreySpain2026-07-16Feltz Printing Service NEW62Ioni Bowcher
1030Jones M OstroskyGermany2026-07-09Commercial Press NEW27Asiya Javayant
1031Johnson G DilliardAustralia2026-07-08Benton, John B Jr RENEWAL72Amy Elsner
1032Alejandro Z CaldareraItaly2026-07-23Truhlar And Truhlar Attys RENEWAL48Anna Fali
1033Adams D SergiGermany2026-07-09Commercial Press PROPOSAL61Ivan Magalhaes
1034Claire R CaldareraBrazil2026-07-22Chanay, Jeffrey A Esq NEW21Onyama Limba
1035Stacey A MorascaArgentina2026-07-23King, Christopher A Esq RENEWAL78Elwin Sharvill
1036Francesco W SergiFrance2026-07-07Buckley Miller Wright PROPOSAL10Onyama Limba
1037Julie H ChuiCanada2026-07-18Commercial Press UNQUALIFIED37Xuxue Feng
1038Maisha E CaldareraRussia2026-07-25King, Christopher A Esq UNQUALIFIED83Stephen Shaw
1039Ivar J BriddickUnited Kingdom2026-07-03Chanay, Jeffrey A Esq RENEWAL21Ivan Magalhaes
1040Alejandro I DoeGermany2026-07-25Rousseaux, Michael Esq QUALIFIED98Anna Fali
1041Johnson P MarrierSpain2026-07-11Benton, John B Jr NEW79Amy Elsner
1042Francesco V PerinSpain2026-07-09Dorl, James J Esq NEW63Asiya Javayant
1043David E GlickArgentina2026-07-20Feltz Printing Service NEW44Bernardo Dominic
1044Nicolas A GillianRussia2026-07-04Benton, John B Jr UNQUALIFIED94Ivan Magalhaes
1045Jennifer K FigeroaSpain2026-06-30King, Christopher A Esq RENEWAL36Asiya Javayant
1046Smith D MarrierIndia2026-07-13Commercial Press NEGOTIATION27Stephen Shaw
1047Costa J VenereItaly2026-07-06Rousseaux, Michael Esq NEW25Onyama Limba
1048Emily N PoquetteUnited Kingdom2026-07-04Printing Dimensions RENEWAL68Elwin Sharvill
1049Mayumi T VenereRussia2026-07-10Morlong Associates NEW87Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Chavez O CampainItalyStephen Shaw PROPOSAL
Antonio U IturbideUnited KingdomBernardo Dominic PROPOSAL
Greenwood F BologniaBrazilStephen Shaw PROPOSAL
Deepesh F FlosiBrazilAsiya Javayant UNQUALIFIED
Aruna W DoeArgentinaElwin Sharvill QUALIFIED
Alejandro X MarrierRussiaIvan Magalhaes PROPOSAL
Octavia S MacleadUnited KingdomElwin Sharvill QUALIFIED
Smith E NestleFranceAnna Fali NEW
Emily V MaletFranceAnna Fali NEW
Maisha K RulapaughArgentinaAmy Elsner NEGOTIATION
Isabel C FlosiJapanXuxue Feng NEW
Aika L AmigonFranceOnyama Limba NEGOTIATION
Rodrigues U IturbideArgentinaXuxue Feng RENEWAL
Wickens S MorascaJapanElwin Sharvill QUALIFIED
Murillo G MaletJapanAsiya Javayant NEW
Jones T DilliardUnited KingdomXuxue Feng UNQUALIFIED
Emily D CampainIndiaXuxue Feng PROPOSAL
Salvatore F PoquetteRussiaAsiya Javayant NEGOTIATION
David Z GauchoItalyIvan Magalhaes NEGOTIATION
Wickens X FigeroaRussiaOnyama Limba NEW
Kadeem I BriddickGermanyBernardo Dominic QUALIFIED
Alejandro J FollerGermanyElwin Sharvill NEW
Maisha S GauchoAustraliaIoni Bowcher PROPOSAL
Maisha I WieserRussiaBernardo Dominic RENEWAL
Smith W MarrierJapanOnyama Limba NEGOTIATION
Izzy N BologniaJapanIoni Bowcher NEW
Ricardo U AmigonArgentinaOnyama Limba RENEWAL
Silvio L OldroydRussiaOnyama Limba PROPOSAL
Francesco L ButtRussiaAsiya Javayant UNQUALIFIED
Izzy C PoquetteCanadaIoni Bowcher NEGOTIATION
Claire Y CampainJapanAnna Fali RENEWAL
Aditya L WieserGermanyAnna Fali UNQUALIFIED
Smith P InouyeBrazilXuxue Feng NEW
Izzy H FollerArgentinaAnna Fali RENEWAL
Jefferson H FigeroaIndiaIvan Magalhaes NEGOTIATION
Antonio S VenereUnited KingdomOnyama Limba QUALIFIED
Izzy I FollerSpainAsiya Javayant UNQUALIFIED
Silvio S TollnerFranceAsiya Javayant NEW
David V SergiSpainIvan Magalhaes QUALIFIED
Munro I SlusarskiArgentinaAmy Elsner NEW
Ricardo T ButtUnited KingdomXuxue Feng NEGOTIATION
Mayumi A BowleyArgentinaIvan Magalhaes PROPOSAL
Francesco I MarrierRussiaAsiya Javayant NEGOTIATION
Aruna Z SaylorsRussiaOnyama Limba QUALIFIED
Darci A TollnerRussiaElwin Sharvill RENEWAL
Mayumi F VocelkaIndiaOnyama Limba NEGOTIATION
Smith E NestleAustraliaAsiya Javayant NEW
Adams R GlickSpainStephen Shaw RENEWAL
Aruna K AmigonFranceOnyama Limba RENEWAL
Ricardo J FlosiAustraliaAnna Fali NEW
Frozen Columns
Name
Ivar T Kolmetz
Greenwood W Marrier
Julie L Royster
Claire H Whobrey
Munro H Maclead
Juan H Darakjy
Jennifer Y Iturbide
Munro O Briddick
David A Morasca
Jennifer N Iturbide
Maria L Rulapaugh
Claire R Dilliard
Arvin T Iturbide
Izzy R Butt
Izzy G Caudy
Nicolas W Flosi
Claire N Waycott
Leja E Rim
Deepesh A Bolognia
Deepesh P Ruta
Aditya N Gillian
Deepesh X Ostrosky
Aruna W Sergi
Mayumi D Rulapaugh
Rodrigues B Gillian
Juan O Venere
Clifford R Garufi
Adams O Rulapaugh
Johnson D Tollner
Silvio U Doe
Kadeem O Schemmer
Aditya L Schemmer
Jeanfrancois V Shinko
Salvatore I Ostrosky
Rodrigues U Paprocki
Sinclair B Flosi
Jefferson K Darakjy
Faith B Campain
Deepesh M Rulapaugh
Cody R Caudy
Claire F Ostrosky
Aruna P Wieser
Jones H Campain
Chavez N Marrier
Stacey R Tollner
Chavez Y Amigon
Morrow A Shinko
Costa G Bowley
Leon M Inouye
Salvatore H Ruta
IdCountryDate
1000Italy2026-07-12
1001France2026-07-27
1002Canada2026-07-18
1003United Kingdom2026-07-23
1004Brazil2026-07-26
1005Argentina2026-07-21
1006India2026-07-17
1007Germany2026-07-23
1008India2026-07-21
1009France2026-07-13
1010Canada2026-07-21
1011France2026-07-07
1012Germany2026-07-25
1013Spain2026-07-25
1014Russia2026-07-20
1015Canada2026-07-19
1016Spain2026-07-14
1017Australia2026-07-02
1018Australia2026-07-12
1019Russia2026-07-21
1020India2026-07-17
1021Australia2026-07-09
1022Germany2026-07-20
1023Argentina2026-07-21
1024Italy2026-07-14
1025Brazil2026-07-16
1026United Kingdom2026-07-17
1027Italy2026-07-19
1028Italy2026-07-14
1029Argentina2026-07-17
1030United Kingdom2026-07-17
1031Spain2026-07-03
1032Italy2026-07-22
1033Argentina2026-07-16
1034Spain2026-07-11
1035France2026-07-02
1036Brazil2026-07-19
1037United Kingdom2026-07-01
1038Canada2026-07-12
1039Japan2026-07-02
1040Spain2026-07-11
1041India2026-07-02
1042India2026-07-12
1043Japan2026-07-22
1044India2026-07-20
1045India2026-07-19
1046United Kingdom2026-07-17
1047Italy2026-07-25
1048France2026-07-13
1049Australia2026-07-06

On-Demand Data

NameIdCountryDate
Kadeem Z Figeroa1000Canada2026-07-28
Aika J Kusko1001Canada2026-07-06
Ricardo I Stenseth1002Italy2026-07-21
Adams L Wieser1003Spain2026-07-23
Mayumi R Doe1004Australia2026-07-28
Antonio U Doe1005France2026-07-11
Rodrigues P Paprocki1006Brazil2026-07-04
Misaki T Waycott1007Germany2026-07-03
Mayumi F Caldarera1008Germany2026-07-02
Aditya U Caldarera1009Japan2026-07-25
Clifford C Malet1010Japan2026-07-21
Alejandro P Malet1011Germany2026-07-23
Isabel M Iturbide1012Argentina2026-07-10
David B Rim1013Canada2026-07-28
Jeanfrancois L Marrier1014Italy2026-07-24
Antonio A Amigon1015Italy2026-07-24
Johnson R Stenseth1016Spain2026-07-25
Julie B Chui1017United Kingdom2026-07-21
Leon P Flosi1018India2026-07-28
Clifford W Venere1019Brazil2026-07-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Q WieserArgentinaAsiya Javayant RENEWAL
Nicolas E FigeroaJapanOnyama Limba UNQUALIFIED
Cody E PerinRussiaXuxue Feng UNQUALIFIED
Leon S OldroydJapanIvan Magalhaes NEW
Jennifer U ButtAustraliaIvan Magalhaes QUALIFIED
Arvin R WieserUnited KingdomIoni Bowcher NEW
Faith N CaudySpainXuxue Feng QUALIFIED
Smith D NickaArgentinaIvan Magalhaes PROPOSAL
Aditya E WieserRussiaAnna Fali UNQUALIFIED
Alejandro S MaletBrazilIvan Magalhaes UNQUALIFIED
Greenwood G SergiUnited KingdomBernardo Dominic RENEWAL
Stacey B SlusarskiJapanOnyama Limba UNQUALIFIED
Aika B CaldareraRussiaIoni Bowcher PROPOSAL
Octavia H RimRussiaAsiya Javayant PROPOSAL
Francesco L MorascaSpainElwin Sharvill QUALIFIED
Greenwood G PaprockiBrazilAsiya Javayant QUALIFIED
Claire D AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Misaki N GillianGermanyOnyama Limba NEW
Johnson D RimRussiaBernardo Dominic PROPOSAL
Misaki X DilliardSpainIvan Magalhaes QUALIFIED
Aruna Q MarrierJapanAnna Fali PROPOSAL
Jeanfrancois I KolmetzFranceXuxue Feng PROPOSAL
Maisha K GauchoArgentinaIoni Bowcher NEW
Tony N InouyeJapanAnna Fali PROPOSAL
Izzy F SlusarskiGermanyIoni Bowcher UNQUALIFIED
Jefferson A GillianCanadaXuxue Feng PROPOSAL
Aditya K SergiIndiaElwin Sharvill NEW
Isabel W DarakjyAustraliaXuxue Feng UNQUALIFIED
Johnson X ShinkoCanadaStephen Shaw UNQUALIFIED
Julie O BowleyJapanOnyama Limba NEGOTIATION
Misaki J BriddickArgentinaOnyama Limba QUALIFIED
Faith U CampainArgentinaAmy Elsner UNQUALIFIED
Emily E FigeroaUnited KingdomOnyama Limba NEGOTIATION
Francesco Q GauchoArgentinaIoni Bowcher PROPOSAL
Aditya G SergiRussiaIvan Magalhaes UNQUALIFIED
Aruna U FlosiItalyAmy Elsner NEW
Jeanfrancois U MorascaArgentinaOnyama Limba QUALIFIED
Octavia W SaylorsJapanElwin Sharvill NEW
Izzy S BriddickFranceAmy Elsner PROPOSAL
Jefferson E SchemmerBrazilIoni Bowcher 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>