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 T BriddickSpainXuxue Feng NEW
Clifford X KolmetzRussiaElwin Sharvill RENEWAL
Octavia F StensethGermanyIvan Magalhaes RENEWAL
Antonio P BriddickJapanIvan Magalhaes UNQUALIFIED
Munro Z AlbaresFranceElwin Sharvill NEGOTIATION
Stacey G KuskoItalyElwin Sharvill UNQUALIFIED
Jones S FerenczBrazilAnna Fali RENEWAL
Francesco C FerenczGermanyIoni Bowcher UNQUALIFIED
Faith G DilliardBrazilStephen Shaw QUALIFIED
Aruna F BologniaSpainAsiya Javayant NEGOTIATION
Silvio U SchemmerIndiaXuxue Feng NEW
Stacey F DoeItalyBernardo Dominic NEGOTIATION
Salvatore Z SlusarskiIndiaIoni Bowcher PROPOSAL
Silvio O OldroydAustraliaIoni Bowcher QUALIFIED
Nicolas B SergiIndiaIoni Bowcher NEW
Kaitlin K WhobreySpainElwin Sharvill NEGOTIATION
Munro O StensethRussiaStephen Shaw NEW
Kaitlin H MorascaItalyXuxue Feng PROPOSAL
Misaki I NickaItalyXuxue Feng NEGOTIATION
Cody H BologniaCanadaAnna Fali UNQUALIFIED
Alejandro B AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues B ChuiArgentinaBernardo Dominic NEW
Jones X WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Nicolas V BowleyRussiaIvan Magalhaes NEW
Smith R FerenczJapanAmy Elsner QUALIFIED
Jeanfrancois H PerinBrazilXuxue Feng NEW
Sinclair Q GlickUnited KingdomIoni Bowcher UNQUALIFIED
Izzy U RimAustraliaElwin Sharvill PROPOSAL
Mayumi M FollerGermanyElwin Sharvill QUALIFIED
Costa I FerenczUnited KingdomXuxue Feng PROPOSAL
Costa Z SchemmerAustraliaIoni Bowcher QUALIFIED
James U FerenczItalyAsiya Javayant NEW
Faith X BologniaBrazilIvan Magalhaes QUALIFIED
Emily E GarufiAustraliaBernardo Dominic PROPOSAL
Leja B VenereSpainAnna Fali NEGOTIATION
Aditya Y KuskoItalyIvan Magalhaes QUALIFIED
Arvin N SergiJapanOnyama Limba UNQUALIFIED
Nicolas T WieserItalyOnyama Limba NEW
Kadeem D VenereSpainOnyama Limba NEW
Adams B GauchoIndiaXuxue Feng NEGOTIATION
Isabel G CaudyJapanStephen Shaw PROPOSAL
Mayumi E IturbideGermanyElwin Sharvill PROPOSAL
Mujtaba M NickaRussiaIoni Bowcher PROPOSAL
Francesco M SchemmerItalyAsiya Javayant NEW
Francesco J PerinJapanElwin Sharvill RENEWAL
James C WhobreySpainIvan Magalhaes UNQUALIFIED
Silvio U MacleadAustraliaIvan Magalhaes NEW
Emily R InouyeBrazilStephen Shaw NEGOTIATION
Julie K DilliardRussiaElwin Sharvill RENEWAL
Alejandro L SlusarskiBrazilAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro K WhobreyJapanElwin Sharvill QUALIFIED
Juan B NestleArgentinaBernardo Dominic NEGOTIATION
Jeanfrancois A SlusarskiSpainIoni Bowcher NEGOTIATION
Murillo S StensethIndiaAsiya Javayant NEW
Kaitlin J WaycottAustraliaAnna Fali NEW
Silvio F SaylorsJapanAmy Elsner NEW
Salvatore V KuskoSpainStephen Shaw QUALIFIED
Mayumi O AmigonGermanyAnna Fali QUALIFIED
Wickens G SaylorsArgentinaXuxue Feng NEGOTIATION
Aika Q AlbaresArgentinaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair L WieserJapan2026-07-22Chanay, Jeffrey A Esq NEGOTIATION43Onyama Limba
1001Ricardo Y SergiFrance2026-08-10Morlong Associates UNQUALIFIED8Elwin Sharvill
1002Claire F MarrierCanada2026-08-05Rousseaux, Michael Esq RENEWAL69Asiya Javayant
1003Murillo I FlosiArgentina2026-07-30Buckley Miller Wright QUALIFIED89Xuxue Feng
1004Cody B AmigonBrazil2026-08-07Rangoni Of Florence QUALIFIED94Ivan Magalhaes
1005Antonio J DarakjyArgentina2026-07-18Printing Dimensions PROPOSAL11Ioni Bowcher
1006Mayumi N RoysterGermany2026-08-10Truhlar And Truhlar Attys QUALIFIED62Stephen Shaw
1007Aruna O KolmetzFrance2026-07-17Chapman, Ross E Esq RENEWAL78Onyama Limba
1008Adams R NestleFrance2026-07-25Commercial Press NEW86Stephen Shaw
1009Jones H BowleyIndia2026-08-11Feltz Printing Service QUALIFIED98Xuxue Feng
1010Aditya K AlbaresFrance2026-08-06Rangoni Of Florence PROPOSAL1Amy Elsner
1011Silvio B MacleadItaly2026-07-16Rousseaux, Michael Esq NEGOTIATION82Ioni Bowcher
1012Wickens Z GarufiCanada2026-08-08Rangoni Of Florence UNQUALIFIED79Ivan Magalhaes
1013Julie O FlosiGermany2026-08-09Printing Dimensions NEW76Xuxue Feng
1014Aditya N IturbideGermany2026-08-06Commercial Press NEGOTIATION3Xuxue Feng
1015Leon R KuskoCanada2026-07-17Chanay, Jeffrey A Esq UNQUALIFIED34Onyama Limba
1016Greenwood M BowleyRussia2026-08-11Chemel, James L Cpa PROPOSAL73Onyama Limba
1017James A StensethAustralia2026-08-01Chanay, Jeffrey A Esq NEGOTIATION8Elwin Sharvill
1018Silvio T FollerArgentina2026-07-19Benton, John B Jr NEGOTIATION32Onyama Limba
1019Ricardo O WaycottItaly2026-07-25Morlong Associates NEGOTIATION57Amy Elsner
1020Maisha V WhobreyFrance2026-08-06King, Christopher A Esq QUALIFIED53Stephen Shaw
1021Aditya K IturbideIndia2026-07-17King, Christopher A Esq PROPOSAL5Asiya Javayant
1022David I GauchoCanada2026-08-09Feltz Printing Service NEW98Asiya Javayant
1023Rodrigues D InouyeRussia2026-07-16Morlong Associates NEGOTIATION47Ioni Bowcher
1024Mayumi H StockhamCanada2026-08-06Feltz Printing Service RENEWAL7Anna Fali
1025Kaitlin P KuskoIndia2026-08-06Rousseaux, Michael Esq QUALIFIED51Asiya Javayant
1026Adams A TollnerAustralia2026-08-04Morlong Associates QUALIFIED97Ioni Bowcher
1027Rodrigues C RimCanada2026-08-01Truhlar And Truhlar Attys NEGOTIATION84Xuxue Feng
1028Ashley C SlusarskiBrazil2026-07-15Benton, John B Jr NEW43Anna Fali
1029Octavia B FlosiIndia2026-08-01Chanay, Jeffrey A Esq QUALIFIED60Stephen Shaw
1030Ricardo R OldroydArgentina2026-07-31Chapman, Ross E Esq QUALIFIED51Elwin Sharvill
1031Jones D GarufiSpain2026-07-26Buckley Miller Wright QUALIFIED18Onyama Limba
1032Ricardo V BowleyBrazil2026-07-26Rangoni Of Florence NEW41Ioni Bowcher
1033Alejandro P GlickCanada2026-07-26Benton, John B Jr RENEWAL55Asiya Javayant
1034Misaki Z StockhamBrazil2026-08-01Feltz Printing Service NEW22Xuxue Feng
1035Julie V BowleyCanada2026-07-25Benton, John B Jr RENEWAL47Stephen Shaw
1036Aika G InouyeArgentina2026-07-24Dorl, James J Esq RENEWAL44Asiya Javayant
1037Ashley W MarrierCanada2026-07-20Feltz Printing Service UNQUALIFIED15Stephen Shaw
1038Antonio X NickaRussia2026-08-05Chapman, Ross E Esq PROPOSAL31Onyama Limba
1039Wickens Z PaprockiUnited Kingdom2026-07-18Feiner Bros NEW12Asiya Javayant
1040Sinclair R BowleySpain2026-07-23King, Christopher A Esq PROPOSAL62Anna Fali
1041Maisha H StensethCanada2026-07-22Commercial Press NEGOTIATION70Onyama Limba
1042Aruna X NickaItaly2026-07-30King, Christopher A Esq UNQUALIFIED16Elwin Sharvill
1043Kaitlin D PerinSpain2026-08-08Rangoni Of Florence QUALIFIED21Onyama Limba
1044Ivar Z GillianIndia2026-07-22Feltz Printing Service NEGOTIATION81Asiya Javayant
1045Claire G SergiSpain2026-07-28Chemel, James L Cpa UNQUALIFIED33Elwin Sharvill
1046Nicolas V GarufiItaly2026-07-26Benton, John B Jr QUALIFIED13Elwin Sharvill
1047Misaki J FollerFrance2026-08-05Chapman, Ross E Esq QUALIFIED51Stephen Shaw
1048Mujtaba D FigeroaCanada2026-08-12King, Christopher A Esq UNQUALIFIED1Amy Elsner
1049Chavez X OldroydCanada2026-07-22King, Christopher A Esq NEGOTIATION57Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja R PaprockiJapanAmy Elsner NEW
Aika N IturbideCanadaBernardo Dominic NEGOTIATION
Emily A OstroskyAustraliaAsiya Javayant NEGOTIATION
Misaki W PerinArgentinaXuxue Feng RENEWAL
Tony A MacleadUnited KingdomXuxue Feng UNQUALIFIED
Costa G BowleyUnited KingdomXuxue Feng NEW
Tony N MaletFranceIoni Bowcher QUALIFIED
Aditya H RimRussiaAnna Fali NEGOTIATION
Wickens C WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Darci Y OstroskyRussiaIoni Bowcher QUALIFIED
Alejandro A FollerBrazilElwin Sharvill NEW
Wickens V GlickCanadaAsiya Javayant UNQUALIFIED
Johnson Y SchemmerCanadaAmy Elsner NEGOTIATION
Adams A FlosiBrazilXuxue Feng PROPOSAL
Izzy F RulapaughGermanyBernardo Dominic RENEWAL
Aruna J MaletJapanXuxue Feng UNQUALIFIED
Emily O MacleadArgentinaAmy Elsner NEW
Alejandro F MaletIndiaAmy Elsner PROPOSAL
Clifford G IturbideArgentinaBernardo Dominic NEW
Smith F GauchoUnited KingdomElwin Sharvill RENEWAL
Jones G NestleGermanyIvan Magalhaes PROPOSAL
Juan C AlbaresRussiaIoni Bowcher UNQUALIFIED
Jones G VocelkaRussiaIvan Magalhaes PROPOSAL
Darci T FerenczGermanyIvan Magalhaes UNQUALIFIED
Emily W ShinkoCanadaIvan Magalhaes QUALIFIED
Juan H WieserCanadaIoni Bowcher NEGOTIATION
Cody P AmigonIndiaBernardo Dominic PROPOSAL
Chavez O IturbideGermanyAsiya Javayant NEW
Jeanfrancois A ButtAustraliaStephen Shaw QUALIFIED
Adams S SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi O DoeIndiaIoni Bowcher NEW
Rodrigues H FerenczIndiaXuxue Feng NEGOTIATION
Johnson W BriddickGermanyStephen Shaw RENEWAL
Jefferson J ChuiRussiaIoni Bowcher QUALIFIED
Jones N GauchoIndiaElwin Sharvill RENEWAL
Salvatore X NestleBrazilBernardo Dominic NEGOTIATION
David Y WaycottJapanElwin Sharvill QUALIFIED
Francesco B DilliardBrazilBernardo Dominic UNQUALIFIED
Aditya X SchemmerBrazilAmy Elsner NEW
Alejandro J BriddickJapanStephen Shaw NEGOTIATION
Rodrigues O FigeroaJapanAsiya Javayant NEGOTIATION
Wickens F FigeroaJapanIvan Magalhaes NEGOTIATION
Ashley R GarufiSpainXuxue Feng NEGOTIATION
Deepesh H SlusarskiCanadaStephen Shaw RENEWAL
Jones X RulapaughBrazilAmy Elsner PROPOSAL
Darci M ButtJapanAsiya Javayant NEW
Ashley M KolmetzCanadaAmy Elsner QUALIFIED
Costa H ShinkoCanadaIoni Bowcher NEW
Misaki W FerenczArgentinaXuxue Feng NEW
Mayumi H ChuiBrazilAmy Elsner NEW
Frozen Columns
Name
Jones H Kusko
Johnson G Ruta
Greenwood W Marrier
Aditya P Rim
Silvio W Kolmetz
Cody G Malet
Salvatore T Albares
Julie L Maclead
Smith P Sergi
Morrow Q Malet
Nicolas H Poquette
Greenwood S Vocelka
Greenwood U Flosi
Jones E Caldarera
Misaki Y Kolmetz
Alejandro Q Campain
Nicolas O Gillian
Silvio A Bowley
Maisha Q Venere
Jefferson L Waycott
Ricardo B Ostrosky
Julie X Briddick
Deepesh M Rim
Claire P Malet
Morrow A Butt
Aruna O Gillian
Rodrigues H Figeroa
Mujtaba H Royster
David O Amigon
David Q Gaucho
Jeanfrancois A Oldroyd
Wickens X Ferencz
Antonio J Briddick
Tony Z Saylors
Alejandro R Butt
Darci L Chui
Mujtaba I Malet
Jennifer V Wieser
Misaki H Poquette
David M Caldarera
Maria N Caldarera
Kaitlin A Whobrey
Jefferson Y Gillian
Octavia W Marrier
Leon F Kolmetz
Antonio K Ostrosky
Munro T Gillian
Francesco E Briddick
Adams R Perin
Claire A Tollner
IdCountryDate
1000Brazil2026-07-22
1001United Kingdom2026-07-21
1002Spain2026-07-30
1003Australia2026-08-06
1004Canada2026-07-22
1005France2026-08-10
1006Spain2026-08-04
1007Japan2026-07-29
1008India2026-07-31
1009Argentina2026-08-08
1010Canada2026-07-29
1011France2026-08-11
1012Japan2026-07-30
1013Japan2026-08-07
1014United Kingdom2026-08-03
1015United Kingdom2026-08-05
1016France2026-07-16
1017Brazil2026-07-22
1018Canada2026-08-12
1019Australia2026-07-26
1020Germany2026-07-18
1021France2026-07-29
1022France2026-07-30
1023Spain2026-08-11
1024Argentina2026-07-30
1025United Kingdom2026-07-16
1026France2026-07-27
1027Australia2026-08-12
1028Argentina2026-08-07
1029United Kingdom2026-07-14
1030Italy2026-08-08
1031Germany2026-08-12
1032United Kingdom2026-08-04
1033Italy2026-08-11
1034Spain2026-07-17
1035United Kingdom2026-07-29
1036Japan2026-08-07
1037Italy2026-07-21
1038United Kingdom2026-07-29
1039Japan2026-07-19
1040Germany2026-07-16
1041United Kingdom2026-07-19
1042Russia2026-07-29
1043Spain2026-07-26
1044France2026-08-05
1045Russia2026-07-28
1046Russia2026-07-23
1047Australia2026-08-01
1048Russia2026-07-24
1049Italy2026-07-17

On-Demand Data

NameIdCountryDate
Nicolas Q Glick1000France2026-08-02
Rodrigues Y Rulapaugh1001Argentina2026-07-19
Leon K Garufi1002France2026-07-16
Greenwood F Foller1003India2026-08-09
Jones O Briddick1004Italy2026-07-27
Julie E Venere1005France2026-08-01
Clifford O Caldarera1006Australia2026-07-15
David M Foller1007Australia2026-07-16
Ashley H Foller1008Brazil2026-08-08
Isabel J Chui1009India2026-07-22
Smith V Sergi1010United Kingdom2026-08-10
Costa Y Poquette1011France2026-07-30
Francesco D Ferencz1012United Kingdom2026-08-06
Aruna W Royster1013Germany2026-08-01
Maisha W Caldarera1014United Kingdom2026-07-21
Antonio L Kolmetz1015Italy2026-08-01
Wickens S Tollner1016Russia2026-07-20
Deepesh V Rim1017Canada2026-08-03
Salvatore A Malet1018Japan2026-08-10
Costa Y Campain1019Australia2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar P KuskoGermanyBernardo Dominic PROPOSAL
Arvin G TollnerUnited KingdomAmy Elsner PROPOSAL
Arvin T VenereItalyXuxue Feng NEW
Johnson Y StensethGermanyIoni Bowcher NEGOTIATION
Arvin F VocelkaAustraliaAmy Elsner NEW
Cody Y MarrierRussiaIoni Bowcher NEGOTIATION
Darci W AlbaresJapanOnyama Limba NEGOTIATION
Costa K RimIndiaAsiya Javayant UNQUALIFIED
Kadeem U ShinkoCanadaIvan Magalhaes PROPOSAL
Jefferson O RimFranceStephen Shaw NEGOTIATION
Francesco T WhobreyIndiaElwin Sharvill NEW
Octavia H SaylorsSpainIvan Magalhaes NEGOTIATION
Greenwood Z GarufiBrazilStephen Shaw RENEWAL
Smith F FlosiItalyIoni Bowcher NEW
Clifford A StensethBrazilElwin Sharvill UNQUALIFIED
Cody A KolmetzRussiaBernardo Dominic RENEWAL
Costa E PerinAustraliaBernardo Dominic UNQUALIFIED
Juan V CaudyBrazilIoni Bowcher PROPOSAL
Julie N RimItalyIvan Magalhaes PROPOSAL
Ivar P WieserItalyIvan Magalhaes QUALIFIED
Ashley C DilliardAustraliaAsiya Javayant NEGOTIATION
Murillo R WhobreyCanadaAsiya Javayant NEGOTIATION
Mujtaba O MarrierGermanyXuxue Feng NEW
Mujtaba A ButtRussiaAnna Fali QUALIFIED
Juan F RutaSpainElwin Sharvill QUALIFIED
Faith F PaprockiItalyBernardo Dominic PROPOSAL
Salvatore K BologniaJapanAnna Fali QUALIFIED
Silvio M GlickRussiaAsiya Javayant PROPOSAL
Costa J SaylorsUnited KingdomAsiya Javayant PROPOSAL
Aika P RutaGermanyAsiya Javayant QUALIFIED
Smith B NestleSpainOnyama Limba NEGOTIATION
Tony H WaycottArgentinaElwin Sharvill QUALIFIED
Ashley G FigeroaSpainAsiya Javayant RENEWAL
Maria Q StensethArgentinaXuxue Feng PROPOSAL
Aika R AlbaresRussiaAsiya Javayant NEW
Antonio S ButtJapanOnyama Limba PROPOSAL
Maria R NickaBrazilElwin Sharvill NEW
Greenwood E ChuiIndiaXuxue Feng UNQUALIFIED
Morrow J FlosiBrazilAnna Fali UNQUALIFIED
Rodrigues A StockhamRussiaXuxue Feng PROPOSAL

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