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
Aditya H WaycottItalyElwin Sharvill NEGOTIATION
Faith W CampainCanadaAmy Elsner NEW
Darci Q OldroydBrazilOnyama Limba UNQUALIFIED
Antonio H FerenczIndiaAsiya Javayant PROPOSAL
Izzy J WaycottJapanAmy Elsner PROPOSAL
Emily Q RulapaughRussiaIvan Magalhaes NEGOTIATION
Kadeem I OldroydArgentinaIvan Magalhaes UNQUALIFIED
Cody Q WhobreyJapanOnyama Limba PROPOSAL
Jennifer C ShinkoSpainXuxue Feng NEGOTIATION
Deepesh N GauchoSpainXuxue Feng UNQUALIFIED
Isabel G CaldareraIndiaAmy Elsner RENEWAL
Salvatore H BriddickArgentinaIvan Magalhaes RENEWAL
Leja H FerenczJapanStephen Shaw NEW
Darci T MaletIndiaIoni Bowcher QUALIFIED
Johnson D CampainItalyElwin Sharvill RENEWAL
Clifford E MorascaIndiaBernardo Dominic UNQUALIFIED
James J StockhamRussiaXuxue Feng PROPOSAL
Jefferson C FollerAustraliaAnna Fali UNQUALIFIED
Juan C NestleIndiaStephen Shaw QUALIFIED
Smith S InouyeSpainAsiya Javayant NEW
Claire G RoysterSpainElwin Sharvill UNQUALIFIED
Rodrigues G DarakjyArgentinaAsiya Javayant UNQUALIFIED
Francesco E ShinkoBrazilXuxue Feng NEGOTIATION
Faith M MacleadCanadaXuxue Feng RENEWAL
Maisha S VenereIndiaOnyama Limba NEW
Jennifer X GillianArgentinaIoni Bowcher NEW
Wickens S GlickCanadaOnyama Limba RENEWAL
Stacey I IturbideRussiaIvan Magalhaes NEGOTIATION
Alejandro U WieserIndiaXuxue Feng PROPOSAL
Emily S FlosiRussiaIoni Bowcher NEW
James M TollnerItalyXuxue Feng NEGOTIATION
Arvin M OldroydSpainElwin Sharvill NEGOTIATION
Sinclair E NestleIndiaBernardo Dominic QUALIFIED
Antonio U SaylorsAustraliaXuxue Feng UNQUALIFIED
Smith A OldroydFranceStephen Shaw PROPOSAL
Leon J GarufiCanadaAnna Fali RENEWAL
Faith K MaletCanadaBernardo Dominic NEGOTIATION
Silvio R IturbideArgentinaStephen Shaw UNQUALIFIED
Alejandro G SaylorsArgentinaAsiya Javayant PROPOSAL
Stacey C DilliardGermanyStephen Shaw RENEWAL
Deepesh G BowleyGermanyAsiya Javayant PROPOSAL
Octavia P TollnerItalyBernardo Dominic UNQUALIFIED
Jones A AlbaresSpainAnna Fali RENEWAL
Arvin L GauchoIndiaIvan Magalhaes NEGOTIATION
Adams W GillianIndiaIoni Bowcher PROPOSAL
Darci V SergiRussiaAnna Fali RENEWAL
Wickens Q OldroydItalyAmy Elsner NEGOTIATION
Juan B MarrierBrazilAsiya Javayant NEGOTIATION
Costa K StockhamFranceElwin Sharvill NEGOTIATION
Aruna T CaldareraRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa E RulapaughCanadaAsiya Javayant NEGOTIATION
Antonio O WieserAustraliaAnna Fali RENEWAL
Mayumi D FigeroaIndiaOnyama Limba RENEWAL
Ivar S RoysterJapanXuxue Feng RENEWAL
Costa N MorascaRussiaElwin Sharvill PROPOSAL
Jennifer N IturbideSpainBernardo Dominic RENEWAL
Darci R MacleadRussiaAsiya Javayant NEW
Johnson U DarakjyJapanAsiya Javayant NEW
Aruna B SergiCanadaIoni Bowcher RENEWAL
Kadeem U WieserArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon G SergiUnited Kingdom2026-08-09Rousseaux, Michael Esq UNQUALIFIED19Ioni Bowcher
1001Maria C PaprockiFrance2026-07-28Feltz Printing Service PROPOSAL74Stephen Shaw
1002Sinclair N DoeIndia2026-08-07Chanay, Jeffrey A Esq PROPOSAL40Amy Elsner
1003Johnson K NickaSpain2026-07-27Rousseaux, Michael Esq PROPOSAL22Asiya Javayant
1004Wickens A NickaUnited Kingdom2026-08-12Morlong Associates RENEWAL17Ioni Bowcher
1005Jones C FlosiJapan2026-08-12Chanay, Jeffrey A Esq UNQUALIFIED98Bernardo Dominic
1006Deepesh Q DoeRussia2026-08-06Feiner Bros RENEWAL77Bernardo Dominic
1007Silvio H InouyeArgentina2026-07-25King, Christopher A Esq NEW91Xuxue Feng
1008Kadeem N OldroydRussia2026-08-07Feltz Printing Service UNQUALIFIED7Amy Elsner
1009Francesco W GlickSpain2026-08-21Benton, John B Jr RENEWAL3Anna Fali
1010Deepesh F KuskoItaly2026-08-19Dorl, James J Esq PROPOSAL23Xuxue Feng
1011Kaitlin D NickaBrazil2026-08-22Truhlar And Truhlar Attys UNQUALIFIED52Elwin Sharvill
1012Tony A InouyeIndia2026-08-19King, Christopher A Esq QUALIFIED17Ioni Bowcher
1013Greenwood V DilliardCanada2026-08-14Commercial Press QUALIFIED72Onyama Limba
1014Ricardo T MarrierRussia2026-08-22Chanay, Jeffrey A Esq UNQUALIFIED65Xuxue Feng
1015Jennifer Z MaletItaly2026-07-27Printing Dimensions QUALIFIED52Xuxue Feng
1016Mujtaba P MacleadGermany2026-08-06Morlong Associates UNQUALIFIED14Amy Elsner
1017Murillo V StensethSpain2026-08-22Chapman, Ross E Esq NEGOTIATION38Ivan Magalhaes
1018Antonio T SergiAustralia2026-08-09Chemel, James L Cpa PROPOSAL56Xuxue Feng
1019Darci U MaletJapan2026-08-19Chapman, Ross E Esq NEW9Xuxue Feng
1020Murillo D MarrierRussia2026-08-19Morlong Associates NEW38Ioni Bowcher
1021Maria V GauchoArgentina2026-08-12Dorl, James J Esq UNQUALIFIED7Onyama Limba
1022Smith L AmigonSpain2026-08-07Chemel, James L Cpa RENEWAL67Ivan Magalhaes
1023Salvatore W VocelkaItaly2026-07-29Chapman, Ross E Esq QUALIFIED37Xuxue Feng
1024Ashley Q MarrierRussia2026-08-03Feltz Printing Service NEGOTIATION6Bernardo Dominic
1025Julie E AmigonIndia2026-07-28Commercial Press QUALIFIED39Ioni Bowcher
1026Sinclair Q ShinkoIndia2026-08-02Morlong Associates NEGOTIATION41Ioni Bowcher
1027Jennifer Q ShinkoRussia2026-08-15Printing Dimensions NEW55Elwin Sharvill
1028Clifford I OldroydSpain2026-08-01Rousseaux, Michael Esq PROPOSAL39Amy Elsner
1029Sinclair Z ChuiFrance2026-08-15Dorl, James J Esq QUALIFIED86Stephen Shaw
1030Ivar H DarakjyIndia2026-08-18Benton, John B Jr UNQUALIFIED35Ivan Magalhaes
1031Jones Y MarrierArgentina2026-07-26Chanay, Jeffrey A Esq UNQUALIFIED62Bernardo Dominic
1032Arvin Q ShinkoItaly2026-07-25Feiner Bros RENEWAL44Ioni Bowcher
1033Izzy N KolmetzUnited Kingdom2026-08-10Commercial Press QUALIFIED1Stephen Shaw
1034Jefferson G TollnerItaly2026-08-09Chanay, Jeffrey A Esq NEW68Ivan Magalhaes
1035Cody Y FollerUnited Kingdom2026-08-22Chanay, Jeffrey A Esq UNQUALIFIED38Bernardo Dominic
1036Maria J KuskoCanada2026-08-10Chanay, Jeffrey A Esq QUALIFIED90Bernardo Dominic
1037Nicolas H PerinCanada2026-08-07King, Christopher A Esq NEGOTIATION5Bernardo Dominic
1038Murillo Z NickaItaly2026-07-25Morlong Associates QUALIFIED39Asiya Javayant
1039David G FollerGermany2026-07-27Buckley Miller Wright UNQUALIFIED40Stephen Shaw
1040Maria G PerinCanada2026-08-22Commercial Press UNQUALIFIED45Stephen Shaw
1041Mujtaba I CampainItaly2026-07-27Benton, John B Jr QUALIFIED87Xuxue Feng
1042David J SergiCanada2026-08-18Chapman, Ross E Esq RENEWAL55Ivan Magalhaes
1043Costa W IturbideItaly2026-08-17Printing Dimensions RENEWAL74Asiya Javayant
1044Rodrigues W BriddickItaly2026-08-15Chemel, James L Cpa RENEWAL11Onyama Limba
1045Stacey I GlickSpain2026-07-31Benton, John B Jr PROPOSAL73Stephen Shaw
1046Rodrigues G DilliardGermany2026-08-05Morlong Associates UNQUALIFIED59Onyama Limba
1047Greenwood O RoysterItaly2026-08-22Truhlar And Truhlar Attys UNQUALIFIED25Stephen Shaw
1048Sinclair U WieserAustralia2026-08-21Feltz Printing Service QUALIFIED96Ioni Bowcher
1049Mujtaba I PerinIndia2026-08-18Truhlar And Truhlar Attys QUALIFIED75Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro J SchemmerArgentinaIoni Bowcher NEGOTIATION
Ivar A IturbideAustraliaAmy Elsner UNQUALIFIED
Murillo I VocelkaSpainAmy Elsner UNQUALIFIED
Aditya Y CampainGermanyXuxue Feng NEW
Claire T RulapaughGermanyAmy Elsner PROPOSAL
Alejandro C IturbideItalyAmy Elsner QUALIFIED
Tony A SchemmerItalyIoni Bowcher NEW
Rodrigues S TollnerJapanIoni Bowcher NEGOTIATION
Emily W SaylorsItalyXuxue Feng NEW
Cody Q OstroskyItalyOnyama Limba NEW
Jennifer V WhobreyIndiaBernardo Dominic QUALIFIED
Johnson Z AmigonUnited KingdomAnna Fali RENEWAL
Juan O BriddickBrazilAnna Fali RENEWAL
Ashley C FigeroaGermanyBernardo Dominic QUALIFIED
Deepesh H MarrierFranceIoni Bowcher UNQUALIFIED
Alejandro X SergiSpainXuxue Feng QUALIFIED
Tony G FollerRussiaIoni Bowcher UNQUALIFIED
Aruna V RimFranceOnyama Limba UNQUALIFIED
Emily N RimJapanStephen Shaw NEW
Ashley H FerenczRussiaAmy Elsner QUALIFIED
Jennifer Y SergiAustraliaAmy Elsner NEW
Tony J MaletCanadaAnna Fali UNQUALIFIED
Kadeem N RutaJapanXuxue Feng NEGOTIATION
Costa W KuskoFranceAsiya Javayant PROPOSAL
Tony P CaudyAustraliaIoni Bowcher QUALIFIED
Aruna C CaldareraUnited KingdomAsiya Javayant NEW
Maria F AmigonRussiaAmy Elsner UNQUALIFIED
Mayumi M PaprockiIndiaOnyama Limba NEGOTIATION
Claire F MacleadFranceBernardo Dominic QUALIFIED
Tony C ButtRussiaAsiya Javayant PROPOSAL
Juan G TollnerItalyXuxue Feng NEW
Chavez J GlickAustraliaAmy Elsner UNQUALIFIED
James E MarrierIndiaOnyama Limba PROPOSAL
Clifford C KuskoFranceIoni Bowcher PROPOSAL
Julie U PerinIndiaIoni Bowcher QUALIFIED
Arvin W VenereCanadaStephen Shaw NEW
Stacey X SaylorsBrazilAsiya Javayant UNQUALIFIED
Cody J RutaCanadaIoni Bowcher NEW
Murillo O DilliardSpainIoni Bowcher QUALIFIED
James A InouyeSpainElwin Sharvill NEW
Sinclair Y VenereCanadaElwin Sharvill RENEWAL
Nicolas E RulapaughUnited KingdomAnna Fali NEW
Leja A StensethFranceXuxue Feng UNQUALIFIED
Jones H FigeroaUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois A KolmetzJapanAnna Fali RENEWAL
Ashley V KolmetzUnited KingdomIvan Magalhaes RENEWAL
Silvio U BologniaIndiaBernardo Dominic UNQUALIFIED
Isabel E CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Salvatore O MorascaFranceAsiya Javayant UNQUALIFIED
Faith P VenereGermanyBernardo Dominic RENEWAL
Frozen Columns
Name
Misaki W Maclead
Morrow O Schemmer
Salvatore U Caldarera
Rodrigues P Bolognia
Cody T Nicka
Emily V Tollner
Ricardo E Kusko
Murillo A Maclead
Stacey N Oldroyd
Juan P Schemmer
Mujtaba U Butt
Tony E Inouye
Jefferson K Amigon
Deepesh Y Garufi
David A Figeroa
Misaki Q Stockham
Leja E Kolmetz
Antonio Y Iturbide
Julie W Morasca
Stacey J Inouye
Kadeem S Dilliard
Misaki A Sergi
Emily O Garufi
Ashley P Ostrosky
Emily N Schemmer
Emily B Darakjy
Darci R Kusko
Darci P Flosi
Jeanfrancois R Vocelka
Leja V Malet
Adams W Kusko
Murillo K Flosi
Arvin Y Morasca
Francesco H Campain
Aika X Glick
Morrow J Rulapaugh
Kadeem K Albares
Aika Z Flosi
Leon C Dilliard
Costa O Doe
Stacey D Poquette
Greenwood O Royster
Arvin I Doe
Ashley P Slusarski
Julie N Briddick
Adams B Chui
Mayumi Q Gillian
Maria Y Gaucho
Munro M Poquette
Mayumi U Inouye
IdCountryDate
1000Brazil2026-08-10
1001France2026-08-07
1002Germany2026-08-05
1003Canada2026-07-30
1004Japan2026-08-15
1005Russia2026-08-20
1006Russia2026-07-28
1007Germany2026-07-29
1008Australia2026-08-09
1009Argentina2026-07-31
1010India2026-08-17
1011United Kingdom2026-08-12
1012Italy2026-08-11
1013Brazil2026-08-05
1014Spain2026-07-29
1015Germany2026-08-13
1016Argentina2026-08-09
1017Australia2026-07-30
1018Russia2026-08-18
1019Australia2026-08-02
1020India2026-08-22
1021Spain2026-08-02
1022Brazil2026-08-07
1023Spain2026-08-14
1024Spain2026-08-16
1025Argentina2026-07-29
1026United Kingdom2026-08-12
1027Australia2026-08-06
1028Canada2026-08-09
1029Japan2026-08-10
1030Russia2026-08-10
1031Italy2026-07-25
1032United Kingdom2026-08-19
1033Australia2026-08-02
1034United Kingdom2026-07-30
1035Australia2026-07-30
1036France2026-08-04
1037Japan2026-08-07
1038Russia2026-08-10
1039Spain2026-08-16
1040Germany2026-08-13
1041Japan2026-08-04
1042Russia2026-08-14
1043Russia2026-08-06
1044Argentina2026-08-19
1045Australia2026-07-30
1046Japan2026-08-06
1047Brazil2026-07-30
1048Japan2026-07-28
1049Germany2026-08-22

On-Demand Data

NameIdCountryDate
Murillo Y Rulapaugh1000Australia2026-07-29
Aruna G Poquette1001Australia2026-08-17
Silvio M Kolmetz1002Russia2026-08-05
Cody J Darakjy1003France2026-08-20
Clifford Q Saylors1004United Kingdom2026-08-10
Jeanfrancois Q Flosi1005Russia2026-08-18
David H Whobrey1006India2026-08-21
Isabel J Tollner1007Spain2026-08-03
Smith M Whobrey1008France2026-08-19
Arvin G Waycott1009Spain2026-08-19
Silvio J Rulapaugh1010Argentina2026-08-04
Clifford T Bowley1011Russia2026-08-21
Emily F Dilliard1012Argentina2026-08-02
Chavez L Oldroyd1013France2026-08-22
Adams D Slusarski1014Italy2026-08-20
Costa D Tollner1015Spain2026-08-08
Murillo L Vocelka1016Italy2026-08-18
Emily Q Caldarera1017Brazil2026-08-07
Aditya E Malet1018India2026-07-31
Greenwood W Nestle1019Spain2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore V ButtUnited KingdomStephen Shaw QUALIFIED
Kaitlin W RutaArgentinaXuxue Feng NEW
Silvio L GarufiFranceIoni Bowcher RENEWAL
Salvatore F GlickJapanAnna Fali NEW
Mujtaba T MacleadItalyElwin Sharvill QUALIFIED
Silvio G RoysterArgentinaStephen Shaw NEGOTIATION
Francesco P SergiAustraliaElwin Sharvill QUALIFIED
Jeanfrancois A CaldareraCanadaAsiya Javayant PROPOSAL
Salvatore J VocelkaSpainStephen Shaw UNQUALIFIED
Chavez L VenereCanadaBernardo Dominic UNQUALIFIED
Leja Q GauchoBrazilAnna Fali PROPOSAL
Mayumi P NestleRussiaIoni Bowcher PROPOSAL
Clifford H BowleyItalyStephen Shaw PROPOSAL
Kaitlin R CaudyArgentinaAsiya Javayant NEW
Chavez O RutaAustraliaAsiya Javayant QUALIFIED
Arvin I NestleAustraliaAmy Elsner PROPOSAL
Jennifer P TollnerSpainIvan Magalhaes NEGOTIATION
Maria O RulapaughIndiaAmy Elsner RENEWAL
Smith G BowleyUnited KingdomIvan Magalhaes NEW
Emily T AmigonFranceAnna Fali PROPOSAL
Nicolas Q BriddickItalyAnna Fali NEW
Clifford J SergiGermanyIvan Magalhaes NEW
Octavia W PerinGermanyAnna Fali PROPOSAL
Tony G GlickJapanElwin Sharvill RENEWAL
Antonio Q BologniaCanadaElwin Sharvill RENEWAL
Maisha Q InouyeRussiaAsiya Javayant UNQUALIFIED
Octavia P RulapaughArgentinaElwin Sharvill PROPOSAL
Sinclair D VocelkaSpainAnna Fali RENEWAL
Deepesh K PoquetteCanadaAnna Fali UNQUALIFIED
Jefferson F DarakjyAustraliaXuxue Feng PROPOSAL
Jones F MorascaArgentinaOnyama Limba QUALIFIED
Deepesh T VocelkaSpainAsiya Javayant NEGOTIATION
Stacey V MaletUnited KingdomAsiya Javayant UNQUALIFIED
Jones B GauchoCanadaIvan Magalhaes PROPOSAL
Faith D FlosiJapanElwin Sharvill NEW
Chavez P MorascaFranceAsiya Javayant NEW
Kadeem A DoeGermanyStephen Shaw UNQUALIFIED
Francesco E FlosiIndiaBernardo Dominic NEGOTIATION
Aruna Z BologniaRussiaElwin Sharvill PROPOSAL
Tony V MarrierArgentinaStephen Shaw 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>