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
Leon X PoquetteArgentinaStephen Shaw NEGOTIATION
Antonio O MorascaSpainIoni Bowcher UNQUALIFIED
Alejandro Z FerenczItalyOnyama Limba NEW
Francesco U KuskoItalyXuxue Feng NEW
Maisha D CampainGermanyOnyama Limba RENEWAL
Sinclair I FerenczGermanyStephen Shaw RENEWAL
Chavez A MarrierJapanOnyama Limba PROPOSAL
Stacey D PerinSpainIvan Magalhaes QUALIFIED
Nicolas W FigeroaItalyIvan Magalhaes NEW
Greenwood P RimSpainOnyama Limba PROPOSAL
Costa W InouyeIndiaOnyama Limba NEW
Murillo C MacleadJapanOnyama Limba QUALIFIED
Silvio N PerinJapanXuxue Feng RENEWAL
Aika T WaycottIndiaAnna Fali NEGOTIATION
Maria F ButtIndiaBernardo Dominic RENEWAL
Munro L PerinJapanOnyama Limba NEGOTIATION
Costa J PerinBrazilStephen Shaw PROPOSAL
Kadeem D SaylorsSpainIoni Bowcher PROPOSAL
Darci A StockhamJapanAsiya Javayant RENEWAL
Ricardo U MarrierArgentinaBernardo Dominic NEGOTIATION
Silvio B ChuiRussiaElwin Sharvill RENEWAL
Morrow K DilliardArgentinaIoni Bowcher PROPOSAL
Chavez Y MaletBrazilIoni Bowcher RENEWAL
Ricardo X SchemmerGermanyBernardo Dominic NEGOTIATION
Jennifer X RimSpainAsiya Javayant UNQUALIFIED
Misaki L VenereGermanyOnyama Limba QUALIFIED
Alejandro I BowleyRussiaIoni Bowcher NEGOTIATION
Leon Q NestleFranceStephen Shaw UNQUALIFIED
Clifford Y BriddickGermanyOnyama Limba NEGOTIATION
Munro T PaprockiAustraliaBernardo Dominic PROPOSAL
Isabel K MorascaFranceBernardo Dominic NEGOTIATION
Aruna J DilliardGermanyStephen Shaw PROPOSAL
Adams S NickaIndiaXuxue Feng PROPOSAL
Faith R KuskoBrazilStephen Shaw NEGOTIATION
Deepesh F CampainIndiaAsiya Javayant QUALIFIED
Tony K AmigonBrazilAsiya Javayant NEGOTIATION
Izzy F DilliardArgentinaIvan Magalhaes QUALIFIED
Greenwood T VocelkaIndiaAsiya Javayant NEGOTIATION
Ivar T IturbideBrazilAsiya Javayant PROPOSAL
Izzy C GauchoUnited KingdomBernardo Dominic QUALIFIED
Faith J MorascaFranceIoni Bowcher NEW
Stacey F PoquetteUnited KingdomAnna Fali NEGOTIATION
Antonio K FollerRussiaAnna Fali RENEWAL
David K MacleadCanadaBernardo Dominic RENEWAL
Maria H PerinItalyStephen Shaw NEGOTIATION
Cody C KuskoBrazilStephen Shaw NEGOTIATION
Deepesh L WieserUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore F NestleCanadaXuxue Feng PROPOSAL
Rodrigues O RutaFranceStephen Shaw NEGOTIATION
Alejandro Q KolmetzItalyOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin E GauchoSpainAnna Fali PROPOSAL
Jones M GlickSpainIvan Magalhaes NEGOTIATION
Maria S RulapaughSpainOnyama Limba PROPOSAL
David S CaldareraRussiaElwin Sharvill QUALIFIED
Antonio T ButtBrazilIvan Magalhaes QUALIFIED
Francesco M SchemmerItalyXuxue Feng NEW
Darci W WaycottJapanIoni Bowcher RENEWAL
Maisha B AmigonIndiaAsiya Javayant RENEWAL
Francesco N RimAustraliaAsiya Javayant RENEWAL
Emily K WaycottUnited KingdomAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Z BologniaRussia2026-07-25Morlong Associates NEGOTIATION50Xuxue Feng
1001Morrow O MaletUnited Kingdom2026-07-24Truhlar And Truhlar Attys QUALIFIED27Bernardo Dominic
1002Salvatore T TollnerArgentina2026-07-20Chemel, James L Cpa QUALIFIED4Anna Fali
1003Munro K RulapaughRussia2026-07-15Rangoni Of Florence RENEWAL29Xuxue Feng
1004Tony C BriddickIndia2026-07-08King, Christopher A Esq QUALIFIED66Elwin Sharvill
1005Costa H NickaBrazil2026-07-29Rangoni Of Florence UNQUALIFIED17Asiya Javayant
1006Aditya P GarufiBrazil2026-07-25Feiner Bros NEGOTIATION2Bernardo Dominic
1007Mayumi A DilliardRussia2026-07-10Dorl, James J Esq UNQUALIFIED97Stephen Shaw
1008Murillo S ChuiGermany2026-07-20King, Christopher A Esq NEGOTIATION2Ioni Bowcher
1009Silvio Z FlosiCanada2026-07-21Benton, John B Jr UNQUALIFIED37Onyama Limba
1010Nicolas D DilliardUnited Kingdom2026-07-05Chanay, Jeffrey A Esq NEGOTIATION53Bernardo Dominic
1011Salvatore E ButtJapan2026-07-22Printing Dimensions QUALIFIED25Ioni Bowcher
1012Leon O GillianFrance2026-07-25Commercial Press NEGOTIATION82Bernardo Dominic
1013Salvatore A FigeroaFrance2026-07-11Feiner Bros NEGOTIATION41Stephen Shaw
1014Emily M DilliardAustralia2026-07-11Rangoni Of Florence UNQUALIFIED44Bernardo Dominic
1015Costa P CaudyFrance2026-07-28Chanay, Jeffrey A Esq NEW24Ivan Magalhaes
1016Adams Z CaudyItaly2026-07-17Feltz Printing Service QUALIFIED35Xuxue Feng
1017Clifford V VocelkaBrazil2026-07-25Buckley Miller Wright QUALIFIED35Ivan Magalhaes
1018Kadeem E GauchoGermany2026-07-15Buckley Miller Wright QUALIFIED36Ioni Bowcher
1019Clifford O FerenczCanada2026-07-12King, Christopher A Esq NEGOTIATION74Bernardo Dominic
1020Ricardo N DoeBrazil2026-07-27Feiner Bros NEW20Amy Elsner
1021Maria S StensethArgentina2026-08-01Chemel, James L Cpa PROPOSAL18Amy Elsner
1022Leon N DarakjyArgentina2026-07-07Feltz Printing Service PROPOSAL96Onyama Limba
1023Claire Q SchemmerUnited Kingdom2026-07-04Feiner Bros PROPOSAL19Anna Fali
1024Adams Q GarufiJapan2026-07-21Printing Dimensions QUALIFIED0Elwin Sharvill
1025Jones B SaylorsFrance2026-07-31Truhlar And Truhlar Attys PROPOSAL2Onyama Limba
1026Munro V PerinIndia2026-07-15Feltz Printing Service UNQUALIFIED47Bernardo Dominic
1027Maria T InouyeJapan2026-07-10Chapman, Ross E Esq UNQUALIFIED72Onyama Limba
1028Munro Y IturbideJapan2026-07-25Rangoni Of Florence RENEWAL94Anna Fali
1029Rodrigues B RimItaly2026-07-03Rangoni Of Florence UNQUALIFIED37Ioni Bowcher
1030Mayumi K MaletItaly2026-07-18Rangoni Of Florence PROPOSAL46Bernardo Dominic
1031Johnson S CaldareraFrance2026-07-21Chapman, Ross E Esq RENEWAL51Elwin Sharvill
1032Mayumi N ChuiAustralia2026-07-20Feiner Bros NEGOTIATION68Bernardo Dominic
1033Darci K FigeroaUnited Kingdom2026-07-25Feltz Printing Service QUALIFIED88Ioni Bowcher
1034Tony Y TollnerFrance2026-07-21Chapman, Ross E Esq QUALIFIED70Xuxue Feng
1035Jeanfrancois R KuskoSpain2026-07-20King, Christopher A Esq PROPOSAL87Bernardo Dominic
1036Jefferson I InouyeJapan2026-07-27Dorl, James J Esq PROPOSAL35Bernardo Dominic
1037Alejandro R DilliardIndia2026-07-19Benton, John B Jr QUALIFIED55Anna Fali
1038Ashley G SchemmerJapan2026-07-15Buckley Miller Wright NEW28Onyama Limba
1039Nicolas O CaldareraItaly2026-07-29Chemel, James L Cpa QUALIFIED64Stephen Shaw
1040Isabel T MorascaBrazil2026-07-31Benton, John B Jr RENEWAL17Amy Elsner
1041Juan F MacleadUnited Kingdom2026-07-18Chemel, James L Cpa NEGOTIATION58Onyama Limba
1042Clifford F SlusarskiGermany2026-07-12Truhlar And Truhlar Attys QUALIFIED70Ivan Magalhaes
1043Faith Q KolmetzUnited Kingdom2026-07-15Commercial Press QUALIFIED31Onyama Limba
1044Aika A BologniaJapan2026-07-20Rangoni Of Florence QUALIFIED45Ioni Bowcher
1045Francesco F VenereFrance2026-07-27Rousseaux, Michael Esq RENEWAL93Onyama Limba
1046Misaki E FerenczSpain2026-07-12Feltz Printing Service RENEWAL33Anna Fali
1047Mayumi W CaudyJapan2026-07-31King, Christopher A Esq NEGOTIATION68Bernardo Dominic
1048Ivar X BologniaRussia2026-07-24Benton, John B Jr QUALIFIED1Bernardo Dominic
1049Claire Y PaprockiSpain2026-07-16Truhlar And Truhlar Attys QUALIFIED47Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel S RutaFranceAnna Fali QUALIFIED
Ivar Z MacleadCanadaAnna Fali PROPOSAL
Wickens X RulapaughRussiaOnyama Limba NEW
Isabel Y OldroydFranceStephen Shaw UNQUALIFIED
Greenwood M RutaItalyAnna Fali PROPOSAL
Isabel E InouyeRussiaXuxue Feng PROPOSAL
Maisha Z VenereArgentinaIoni Bowcher UNQUALIFIED
Ashley Q ButtIndiaIoni Bowcher NEW
Greenwood Y MorascaArgentinaXuxue Feng PROPOSAL
Mujtaba O SlusarskiArgentinaXuxue Feng PROPOSAL
Emily Y GauchoRussiaXuxue Feng QUALIFIED
Alejandro L KuskoSpainBernardo Dominic UNQUALIFIED
Greenwood P ChuiJapanElwin Sharvill QUALIFIED
Alejandro U DilliardFranceOnyama Limba QUALIFIED
Jeanfrancois W MaletIndiaAnna Fali NEW
Aruna X PerinBrazilAsiya Javayant RENEWAL
Rodrigues X CaldareraItalyAmy Elsner QUALIFIED
Claire L DilliardSpainXuxue Feng UNQUALIFIED
Leon X SlusarskiCanadaElwin Sharvill PROPOSAL
Aruna Q BriddickRussiaIoni Bowcher QUALIFIED
Isabel A FlosiItalyElwin Sharvill PROPOSAL
Emily L NickaIndiaAnna Fali NEGOTIATION
David J WaycottIndiaBernardo Dominic PROPOSAL
Tony Z MacleadGermanyIvan Magalhaes NEW
Sinclair E OldroydBrazilAsiya Javayant QUALIFIED
Jeanfrancois J FollerRussiaIvan Magalhaes QUALIFIED
Isabel Q KuskoJapanBernardo Dominic QUALIFIED
Costa D FerenczIndiaAmy Elsner NEW
Leja Q TollnerSpainAnna Fali NEW
Arvin K ChuiUnited KingdomAnna Fali QUALIFIED
Ricardo I IturbideFranceBernardo Dominic RENEWAL
Munro C GarufiCanadaAsiya Javayant UNQUALIFIED
Clifford J BriddickSpainStephen Shaw NEGOTIATION
Leon Y IturbideItalyStephen Shaw NEW
Mayumi I SaylorsBrazilStephen Shaw RENEWAL
Leon U StockhamBrazilIvan Magalhaes NEW
Silvio L GarufiAustraliaStephen Shaw UNQUALIFIED
Ashley O KolmetzBrazilElwin Sharvill NEGOTIATION
Misaki B SlusarskiIndiaBernardo Dominic NEGOTIATION
Emily K NestleItalyOnyama Limba NEGOTIATION
Darci W OldroydFranceBernardo Dominic PROPOSAL
Aruna M WhobreyJapanBernardo Dominic UNQUALIFIED
Julie E CampainJapanIvan Magalhaes NEW
Chavez N IturbideBrazilElwin Sharvill UNQUALIFIED
Munro O GauchoCanadaIvan Magalhaes UNQUALIFIED
Ivar O WhobreyRussiaStephen Shaw QUALIFIED
James M StensethCanadaAmy Elsner NEW
Nicolas S MorascaAustraliaAmy Elsner QUALIFIED
Leja A ChuiFranceBernardo Dominic NEW
Greenwood L DarakjyArgentinaStephen Shaw PROPOSAL
Frozen Columns
Name
Arvin Z Doe
Murillo R Briddick
Silvio F Ruta
Johnson U Waycott
Johnson T Tollner
Munro E Sergi
Cody H Nestle
Maria G Rim
Ivar M Rim
Greenwood C Poquette
Chavez E Malet
Aruna T Oldroyd
Morrow X Nicka
Leon X Oldroyd
Tony U Gaucho
Clifford S Garufi
Jennifer A Poquette
Costa A Schemmer
Nicolas N Briddick
Deepesh J Amigon
Wickens O Iturbide
Mayumi W Kusko
Misaki R Albares
Leja G Vocelka
Isabel Z Rulapaugh
Alejandro S Royster
Aika K Flosi
Maria V Kusko
Adams Y Rim
Jefferson V Shinko
Morrow H Paprocki
Sinclair M Garufi
Claire L Wieser
Clifford Y Iturbide
Leon F Campain
Salvatore Z Figeroa
Greenwood J Caldarera
Julie X Caudy
Mayumi S Garufi
Chavez H Kusko
Maria X Sergi
Morrow J Caldarera
Juan L Kusko
Clifford Q Glick
James Z Maclead
Wickens A Royster
Maria G Marrier
Salvatore W Flosi
Juan C Iturbide
David Y Maclead
IdCountryDate
1000Russia2026-07-10
1001Canada2026-07-04
1002Canada2026-07-16
1003Australia2026-07-08
1004Japan2026-07-31
1005United Kingdom2026-07-07
1006Russia2026-07-28
1007France2026-07-18
1008Italy2026-07-12
1009Australia2026-07-27
1010Germany2026-07-20
1011Italy2026-07-23
1012Germany2026-07-04
1013Brazil2026-07-05
1014Germany2026-07-13
1015Japan2026-07-23
1016Japan2026-07-26
1017Italy2026-07-13
1018France2026-07-19
1019Australia2026-07-11
1020Brazil2026-07-25
1021France2026-07-17
1022India2026-07-19
1023Argentina2026-07-08
1024France2026-07-25
1025United Kingdom2026-07-16
1026United Kingdom2026-07-07
1027Brazil2026-08-01
1028Spain2026-07-12
1029Germany2026-07-07
1030Brazil2026-07-31
1031India2026-07-16
1032Russia2026-07-18
1033India2026-07-23
1034Japan2026-07-08
1035Spain2026-07-11
1036Australia2026-07-31
1037United Kingdom2026-07-14
1038Australia2026-07-16
1039Russia2026-07-26
1040Argentina2026-07-26
1041India2026-07-31
1042Argentina2026-07-13
1043Germany2026-07-05
1044Australia2026-07-29
1045Argentina2026-07-07
1046Russia2026-07-07
1047Argentina2026-07-14
1048Germany2026-07-17
1049Brazil2026-07-14

On-Demand Data

NameIdCountryDate
Octavia Y Slusarski1000Canada2026-07-14
Izzy U Gaucho1001Australia2026-07-05
Maisha A Whobrey1002Italy2026-07-13
Kadeem A Inouye1003Australia2026-07-07
Kaitlin Z Dilliard1004Canada2026-08-01
Aika I Sergi1005Canada2026-07-11
Smith B Malet1006Spain2026-08-01
Jeanfrancois V Poquette1007Russia2026-07-17
James H Nestle1008Russia2026-07-16
Emily W Morasca1009Spain2026-07-05
Sinclair X Malet1010India2026-07-22
Isabel U Venere1011Japan2026-07-24
Costa Z Bowley1012Spain2026-07-30
Misaki J Albares1013United Kingdom2026-07-17
Ashley I Rim1014United Kingdom2026-07-31
Silvio S Ferencz1015France2026-07-04
Deepesh J Whobrey1016Spain2026-07-29
Smith P Iturbide1017Canada2026-07-19
Salvatore U Paprocki1018France2026-07-22
Cody J Amigon1019Germany2026-07-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James W GlickCanadaIoni Bowcher RENEWAL
Chavez L WaycottCanadaOnyama Limba UNQUALIFIED
Costa B OstroskyArgentinaBernardo Dominic PROPOSAL
Cody I GarufiFranceOnyama Limba PROPOSAL
Kadeem I SaylorsRussiaIoni Bowcher NEGOTIATION
Ricardo F FigeroaBrazilAnna Fali UNQUALIFIED
Kaitlin L MacleadArgentinaAnna Fali PROPOSAL
Mujtaba P SergiUnited KingdomXuxue Feng NEGOTIATION
Kaitlin K MaletUnited KingdomBernardo Dominic PROPOSAL
Clifford R InouyeJapanXuxue Feng NEW
Wickens W AmigonCanadaElwin Sharvill NEGOTIATION
Antonio S TollnerFranceElwin Sharvill NEGOTIATION
Aruna Z FlosiJapanIvan Magalhaes RENEWAL
Tony M RulapaughIndiaAnna Fali RENEWAL
Chavez W CampainUnited KingdomBernardo Dominic PROPOSAL
Maisha N VenereCanadaOnyama Limba QUALIFIED
David V BologniaUnited KingdomAmy Elsner UNQUALIFIED
Izzy P BowleyAustraliaOnyama Limba QUALIFIED
Julie S GlickGermanyElwin Sharvill RENEWAL
Ivar X RulapaughArgentinaAnna Fali NEGOTIATION
Emily M RimGermanyElwin Sharvill QUALIFIED
Ashley Z SchemmerAustraliaElwin Sharvill PROPOSAL
Nicolas D FlosiIndiaElwin Sharvill NEGOTIATION
Juan Y OldroydCanadaBernardo Dominic QUALIFIED
Ricardo I PaprockiUnited KingdomAmy Elsner UNQUALIFIED
David I FerenczIndiaXuxue Feng RENEWAL
Sinclair Y GauchoGermanyOnyama Limba PROPOSAL
Isabel G MaletArgentinaIvan Magalhaes NEW
Misaki A AlbaresIndiaBernardo Dominic RENEWAL
Murillo H WieserAustraliaAnna Fali NEW
Leja U SlusarskiGermanyElwin Sharvill NEGOTIATION
Jones M FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Julie D IturbideAustraliaXuxue Feng NEW
Jefferson W PerinAustraliaAnna Fali NEGOTIATION
Maisha C WaycottBrazilBernardo Dominic PROPOSAL
Jeanfrancois M WhobreyRussiaOnyama Limba RENEWAL
Smith Z MorascaSpainIoni Bowcher UNQUALIFIED
Morrow M GarufiUnited KingdomBernardo Dominic PROPOSAL
Morrow F ButtAustraliaAnna Fali RENEWAL
Silvio X WhobreyFranceIoni Bowcher 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>