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
Sinclair K InouyeSpainAnna Fali NEGOTIATION
Kadeem W MorascaBrazilElwin Sharvill UNQUALIFIED
Leon O PerinCanadaOnyama Limba QUALIFIED
Ricardo L SchemmerUnited KingdomIoni Bowcher PROPOSAL
Tony T VenereFranceAnna Fali NEGOTIATION
Jones Z RutaUnited KingdomStephen Shaw PROPOSAL
Greenwood A AmigonGermanyStephen Shaw NEW
Smith T MarrierItalyAmy Elsner QUALIFIED
Murillo R SlusarskiArgentinaAsiya Javayant PROPOSAL
Jones F GarufiCanadaIvan Magalhaes RENEWAL
Munro E DarakjyCanadaIvan Magalhaes QUALIFIED
Jennifer E MacleadAustraliaBernardo Dominic NEGOTIATION
Morrow P PoquetteRussiaAsiya Javayant RENEWAL
Darci K CaudyRussiaAsiya Javayant QUALIFIED
Jefferson U ShinkoSpainStephen Shaw NEGOTIATION
Murillo P StensethArgentinaIvan Magalhaes NEGOTIATION
Kadeem O MarrierSpainStephen Shaw RENEWAL
Maria K AmigonAustraliaIvan Magalhaes UNQUALIFIED
Clifford J WhobreyRussiaElwin Sharvill UNQUALIFIED
Chavez J VenereSpainIoni Bowcher PROPOSAL
Costa L CaldareraSpainAnna Fali RENEWAL
Nicolas W AlbaresIndiaElwin Sharvill UNQUALIFIED
Costa C ChuiAustraliaBernardo Dominic UNQUALIFIED
Faith G AmigonCanadaOnyama Limba QUALIFIED
Munro D ButtIndiaOnyama Limba NEW
Claire W FollerItalyStephen Shaw NEW
Aditya H StensethFranceXuxue Feng NEW
Mayumi R GillianAustraliaIvan Magalhaes RENEWAL
Leon T VocelkaArgentinaAnna Fali PROPOSAL
James G WaycottCanadaAsiya Javayant NEGOTIATION
Izzy K VocelkaArgentinaIoni Bowcher QUALIFIED
Ashley G MarrierArgentinaXuxue Feng QUALIFIED
Wickens S KuskoSpainAmy Elsner QUALIFIED
Smith R GillianGermanyAnna Fali NEW
Tony Z OldroydCanadaStephen Shaw NEGOTIATION
Jeanfrancois E FigeroaRussiaAnna Fali UNQUALIFIED
Octavia K FlosiCanadaIoni Bowcher UNQUALIFIED
Kaitlin U NestleFranceIoni Bowcher UNQUALIFIED
Greenwood B ShinkoBrazilAnna Fali PROPOSAL
Johnson A PaprockiFranceAmy Elsner RENEWAL
Nicolas L TollnerAustraliaElwin Sharvill NEW
Juan B SergiCanadaOnyama Limba QUALIFIED
Maria N GauchoGermanyElwin Sharvill NEW
Emily Q RutaIndiaIvan Magalhaes PROPOSAL
Johnson K NestleSpainXuxue Feng NEW
Cody L BologniaSpainBernardo Dominic PROPOSAL
Francesco L MacleadItalyIvan Magalhaes PROPOSAL
Faith O PoquetteJapanXuxue Feng QUALIFIED
Murillo N GauchoIndiaIoni Bowcher UNQUALIFIED
Emily X ShinkoItalyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Alejandro S RulapaughFranceXuxue Feng RENEWAL
Costa J BowleyUnited KingdomXuxue Feng PROPOSAL
Wickens J NestleArgentinaXuxue Feng NEGOTIATION
Wickens D MaletUnited KingdomStephen Shaw NEGOTIATION
Munro M ButtGermanyAmy Elsner QUALIFIED
Murillo K WhobreyIndiaStephen Shaw NEW
Alejandro E DoeJapanXuxue Feng UNQUALIFIED
Juan O TollnerArgentinaBernardo Dominic PROPOSAL
Ashley Z CaldareraGermanyBernardo Dominic NEW
Arvin G ShinkoUnited KingdomIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon B AlbaresAustralia2025-06-11Chanay, Jeffrey A Esq QUALIFIED65Asiya Javayant
1001Izzy C DilliardGermany2025-06-16Commercial Press QUALIFIED12Ioni Bowcher
1002Alejandro I FigeroaBrazil2025-06-09Buckley Miller Wright NEW35Stephen Shaw
1003Maria W ChuiUnited Kingdom2025-06-11Morlong Associates UNQUALIFIED96Elwin Sharvill
1004Antonio N CampainBrazil2025-05-25Morlong Associates RENEWAL3Ivan Magalhaes
1005Aditya M DoeUnited Kingdom2025-05-19King, Christopher A Esq PROPOSAL78Elwin Sharvill
1006Rodrigues X RimRussia2025-05-18Printing Dimensions PROPOSAL80Amy Elsner
1007Alejandro V IturbideItaly2025-05-18Commercial Press RENEWAL88Ivan Magalhaes
1008Deepesh Z RimAustralia2025-05-27Rousseaux, Michael Esq NEW25Bernardo Dominic
1009Nicolas R KolmetzCanada2025-05-30Buckley Miller Wright UNQUALIFIED29Elwin Sharvill
1010Kaitlin D FigeroaIndia2025-05-23King, Christopher A Esq NEW62Elwin Sharvill
1011Adams T WieserArgentina2025-05-27King, Christopher A Esq PROPOSAL33Elwin Sharvill
1012Maisha O ShinkoCanada2025-05-19Buckley Miller Wright RENEWAL85Ioni Bowcher
1013Izzy U DilliardIndia2025-06-04Truhlar And Truhlar Attys NEW4Onyama Limba
1014Rodrigues F PerinItaly2025-05-18Chemel, James L Cpa UNQUALIFIED5Xuxue Feng
1015Cody Q IturbideSpain2025-05-30Printing Dimensions RENEWAL9Anna Fali
1016Johnson P SaylorsCanada2025-05-29Rangoni Of Florence NEW61Amy Elsner
1017Alejandro U RimCanada2025-06-04Commercial Press RENEWAL15Asiya Javayant
1018Munro P MaletAustralia2025-05-27Printing Dimensions QUALIFIED76Elwin Sharvill
1019Smith O KuskoIndia2025-06-08Feiner Bros PROPOSAL31Amy Elsner
1020Chavez Z FollerJapan2025-06-11King, Christopher A Esq QUALIFIED48Stephen Shaw
1021Claire S DoeFrance2025-05-27Commercial Press NEW62Stephen Shaw
1022Isabel Q ButtIndia2025-05-28Chanay, Jeffrey A Esq UNQUALIFIED0Elwin Sharvill
1023Mayumi A KolmetzCanada2025-06-14Benton, John B Jr PROPOSAL9Ioni Bowcher
1024Munro U OstroskyGermany2025-05-25Feltz Printing Service NEGOTIATION38Onyama Limba
1025Jeanfrancois D IturbideUnited Kingdom2025-06-13Rousseaux, Michael Esq NEW72Stephen Shaw
1026Misaki F GlickSpain2025-05-28King, Christopher A Esq NEGOTIATION84Asiya Javayant
1027Deepesh U NickaGermany2025-06-06Rousseaux, Michael Esq NEGOTIATION11Stephen Shaw
1028Isabel D SchemmerJapan2025-06-02Rousseaux, Michael Esq PROPOSAL77Anna Fali
1029Jones Y StensethSpain2025-05-26Truhlar And Truhlar Attys RENEWAL60Elwin Sharvill
1030Sinclair M BowleyFrance2025-05-30King, Christopher A Esq QUALIFIED89Ioni Bowcher
1031Izzy A MaletUnited Kingdom2025-06-15Chanay, Jeffrey A Esq QUALIFIED50Anna Fali
1032Deepesh X FlosiRussia2025-06-04Feltz Printing Service PROPOSAL97Ivan Magalhaes
1033Isabel A FigeroaJapan2025-06-06Chemel, James L Cpa RENEWAL42Onyama Limba
1034Ivar G ButtSpain2025-05-29King, Christopher A Esq RENEWAL36Onyama Limba
1035Silvio S MacleadIndia2025-06-14Commercial Press RENEWAL13Asiya Javayant
1036Aditya T MaletGermany2025-06-01Truhlar And Truhlar Attys NEGOTIATION12Ioni Bowcher
1037Silvio P KolmetzUnited Kingdom2025-05-29Commercial Press NEGOTIATION71Onyama Limba
1038Ashley B OldroydItaly2025-06-07Printing Dimensions RENEWAL87Bernardo Dominic
1039Jefferson H RulapaughItaly2025-06-15Morlong Associates RENEWAL5Xuxue Feng
1040Faith S FigeroaArgentina2025-06-07Feiner Bros RENEWAL99Onyama Limba
1041Alejandro T FlosiGermany2025-05-20Commercial Press UNQUALIFIED13Xuxue Feng
1042Murillo J AlbaresRussia2025-06-08Rousseaux, Michael Esq NEGOTIATION40Amy Elsner
1043Julie M GlickArgentina2025-05-21Buckley Miller Wright NEW55Asiya Javayant
1044Kaitlin Q MacleadCanada2025-06-13Feltz Printing Service QUALIFIED21Stephen Shaw
1045Izzy J GlickUnited Kingdom2025-06-07Chanay, Jeffrey A Esq RENEWAL52Asiya Javayant
1046Costa V BologniaAustralia2025-06-10Truhlar And Truhlar Attys NEGOTIATION64Onyama Limba
1047Antonio D NickaUnited Kingdom2025-05-20King, Christopher A Esq QUALIFIED28Ioni Bowcher
1048James K MacleadSpain2025-05-25Dorl, James J Esq UNQUALIFIED79Ivan Magalhaes
1049Silvio X ButtItaly2025-05-21Buckley Miller Wright NEGOTIATION5Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leja K PerinItalyIvan Magalhaes QUALIFIED
Cody M DilliardCanadaAnna Fali RENEWAL
Isabel Z CampainUnited KingdomOnyama Limba UNQUALIFIED
Izzy P FigeroaArgentinaStephen Shaw UNQUALIFIED
Kaitlin Y MaletArgentinaBernardo Dominic NEW
Arvin N IturbideFranceAmy Elsner PROPOSAL
Ricardo S StockhamArgentinaXuxue Feng QUALIFIED
Izzy K MacleadUnited KingdomIoni Bowcher NEGOTIATION
James H FerenczSpainOnyama Limba QUALIFIED
Mujtaba W MaletItalyAnna Fali UNQUALIFIED
Rodrigues F OstroskyIndiaElwin Sharvill NEW
Sinclair F FigeroaCanadaXuxue Feng QUALIFIED
Cody R FigeroaRussiaIoni Bowcher UNQUALIFIED
Leon P WaycottFranceAsiya Javayant RENEWAL
Aditya T DoeSpainIvan Magalhaes RENEWAL
Wickens I KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh F WhobreyJapanOnyama Limba NEGOTIATION
Aika N PoquetteFranceXuxue Feng NEW
Smith L InouyeCanadaAsiya Javayant QUALIFIED
Claire F GillianGermanyElwin Sharvill NEW
Aika D MacleadAustraliaIvan Magalhaes NEW
Jones B CaldareraJapanIoni Bowcher NEW
Leja L CaudyRussiaAnna Fali NEW
Jeanfrancois J PoquetteCanadaIoni Bowcher RENEWAL
Costa N MorascaItalyXuxue Feng NEGOTIATION
Aruna O IturbideBrazilAsiya Javayant RENEWAL
Costa Y MaletRussiaAsiya Javayant QUALIFIED
Sinclair Y MaletArgentinaXuxue Feng UNQUALIFIED
Faith L AmigonArgentinaOnyama Limba NEW
Ivar O VocelkaGermanyIoni Bowcher QUALIFIED
Emily V GarufiCanadaAsiya Javayant QUALIFIED
Rodrigues M GauchoFranceAnna Fali RENEWAL
Emily O RoysterRussiaAsiya Javayant UNQUALIFIED
Octavia L RutaIndiaXuxue Feng QUALIFIED
Jefferson M CampainCanadaBernardo Dominic QUALIFIED
Adams E FollerArgentinaAnna Fali NEW
Leja I ChuiBrazilOnyama Limba RENEWAL
Tony Q FlosiAustraliaOnyama Limba RENEWAL
Leja C FollerGermanyXuxue Feng QUALIFIED
Aditya H SlusarskiRussiaAnna Fali UNQUALIFIED
Kadeem A FlosiArgentinaIvan Magalhaes PROPOSAL
Jefferson A SaylorsFranceIoni Bowcher QUALIFIED
Faith S InouyeRussiaOnyama Limba RENEWAL
Munro W RulapaughCanadaXuxue Feng NEW
David Z FollerRussiaAnna Fali PROPOSAL
Costa F GauchoGermanyElwin Sharvill RENEWAL
Jeanfrancois T InouyeJapanAsiya Javayant PROPOSAL
Darci Y StensethCanadaXuxue Feng NEGOTIATION
Jones A WieserJapanStephen Shaw NEW
Salvatore G AlbaresBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Adams U Malet
Darci Y Waycott
Chavez C Venere
James U Shinko
Silvio M Stenseth
Tony D Dilliard
Rodrigues E Nicka
Chavez M Stockham
Ricardo D Garufi
Maisha Q Malet
Smith Y Briddick
Antonio N Tollner
Juan A Kolmetz
Maisha H Caudy
Greenwood I Marrier
Maisha G Saylors
Misaki E Rim
Stacey K Saylors
Emily V Shinko
Aditya M Venere
Clifford A Vocelka
Izzy F Bolognia
Francesco S Sergi
Antonio L Gillian
James S Amigon
Smith E Shinko
Maria V Darakjy
Ivar A Paprocki
Claire L Slusarski
Jeanfrancois C Malet
Darci E Perin
Munro G Figeroa
Kaitlin C Caldarera
Mujtaba J Oldroyd
Kadeem W Butt
Sinclair T Glick
Claire P Amigon
Antonio W Nicka
Jones W Waycott
Sinclair U Glick
Leon G Figeroa
Misaki C Morasca
Greenwood N Nicka
Aruna T Flosi
Aika Q Tollner
Aruna R Royster
Johnson J Morasca
Antonio T Stockham
Aika W Darakjy
Jennifer I Shinko
IdCountryDate
1000Spain2025-06-12
1001Italy2025-06-07
1002Russia2025-05-19
1003Argentina2025-05-29
1004Brazil2025-06-08
1005Argentina2025-06-03
1006Brazil2025-06-05
1007Japan2025-05-27
1008United Kingdom2025-05-31
1009Canada2025-05-30
1010Canada2025-06-14
1011Spain2025-06-04
1012India2025-05-31
1013Italy2025-06-03
1014Russia2025-05-26
1015Brazil2025-05-21
1016Russia2025-06-15
1017Germany2025-06-12
1018India2025-05-25
1019Australia2025-06-07
1020Argentina2025-06-07
1021Russia2025-06-04
1022India2025-06-03
1023Russia2025-05-22
1024Brazil2025-05-21
1025Russia2025-05-28
1026Italy2025-06-09
1027United Kingdom2025-06-15
1028Italy2025-06-06
1029India2025-05-23
1030Australia2025-05-23
1031Germany2025-06-16
1032Canada2025-06-04
1033Brazil2025-05-21
1034France2025-05-27
1035Canada2025-05-29
1036United Kingdom2025-05-18
1037Germany2025-06-10
1038United Kingdom2025-05-31
1039Germany2025-05-20
1040India2025-05-27
1041Spain2025-06-08
1042Spain2025-06-16
1043Spain2025-06-03
1044Italy2025-05-29
1045Spain2025-06-04
1046Italy2025-06-07
1047Japan2025-05-26
1048India2025-05-29
1049Japan2025-06-11

On-Demand Data

NameIdCountryDate
Ivar K Kusko1000Spain2025-06-12
Kaitlin C Poquette1001Canada2025-06-02
Darci H Ostrosky1002United Kingdom2025-05-26
Aika J Vocelka1003India2025-05-20
Munro K Caudy1004Canada2025-06-03
Juan B Figeroa1005France2025-06-03
Jones M Stockham1006Russia2025-05-28
Ricardo P Albares1007France2025-06-12
Cody Q Schemmer1008Spain2025-06-11
Rodrigues R Malet1009Argentina2025-05-30
Ashley J Doe1010Canada2025-06-06
Juan Y Shinko1011France2025-06-13
Alejandro E Malet1012Spain2025-06-15
Ashley T Oldroyd1013Germany2025-05-27
Wickens L Kusko1014Germany2025-06-10
Emily Q Caudy1015India2025-06-14
Octavia W Wieser1016Italy2025-05-23
Julie G Paprocki1017Italy2025-05-20
Antonio Q Waycott1018Brazil2025-06-14
Isabel O Albares1019Japan2025-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie G MarrierItalyXuxue Feng PROPOSAL
Ivar P SergiIndiaXuxue Feng QUALIFIED
Greenwood S SaylorsItalyAmy Elsner RENEWAL
David L WaycottJapanBernardo Dominic UNQUALIFIED
Stacey G MarrierIndiaAmy Elsner NEW
James A BowleySpainElwin Sharvill QUALIFIED
Aika D ShinkoAustraliaIvan Magalhaes QUALIFIED
Emily L ButtAustraliaOnyama Limba NEW
Leon D GauchoSpainAnna Fali RENEWAL
Sinclair W DarakjyJapanIoni Bowcher UNQUALIFIED
Costa E DarakjyUnited KingdomElwin Sharvill RENEWAL
Tony E DilliardSpainElwin Sharvill UNQUALIFIED
Aruna B FerenczFranceIoni Bowcher QUALIFIED
Jones T SchemmerArgentinaAsiya Javayant PROPOSAL
Francesco X MaletItalyAnna Fali RENEWAL
Izzy M RutaUnited KingdomStephen Shaw QUALIFIED
Costa P GillianRussiaOnyama Limba QUALIFIED
Claire W BologniaItalyBernardo Dominic UNQUALIFIED
Octavia P ButtSpainAmy Elsner RENEWAL
Adams F AlbaresItalyAsiya Javayant RENEWAL
Kaitlin K FerenczIndiaStephen Shaw RENEWAL
Chavez I RoysterIndiaIvan Magalhaes NEW
Munro C MaletAustraliaAnna Fali NEGOTIATION
Emily L MaletGermanyBernardo Dominic UNQUALIFIED
Faith T VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Cody W FlosiBrazilIoni Bowcher NEGOTIATION
Faith K NestleGermanyOnyama Limba PROPOSAL
Chavez Y KolmetzBrazilXuxue Feng PROPOSAL
James G GauchoItalyIoni Bowcher QUALIFIED
Murillo O KuskoCanadaAsiya Javayant UNQUALIFIED
Aika O FlosiArgentinaAnna Fali NEGOTIATION
Tony Q WaycottItalyIvan Magalhaes UNQUALIFIED
Darci R IturbideItalyOnyama Limba UNQUALIFIED
Smith U NestleArgentinaIoni Bowcher PROPOSAL
Claire A GarufiGermanyIvan Magalhaes QUALIFIED
Silvio V AlbaresUnited KingdomAnna Fali NEW
Costa B DarakjyJapanXuxue Feng NEGOTIATION
Julie E TollnerFranceOnyama Limba RENEWAL
Maria A WieserSpainAnna Fali NEW
James F ShinkoItalyBernardo Dominic 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>