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
Jeanfrancois K ChuiRussiaXuxue Feng RENEWAL
James G SlusarskiFranceAmy Elsner NEW
Johnson A MacleadFranceIvan Magalhaes UNQUALIFIED
Murillo J SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues K VenereCanadaBernardo Dominic UNQUALIFIED
Smith M BologniaGermanyXuxue Feng PROPOSAL
Ashley X FigeroaJapanElwin Sharvill RENEWAL
Aika V SergiBrazilElwin Sharvill RENEWAL
Faith O KuskoFranceStephen Shaw NEGOTIATION
Kadeem M AlbaresSpainOnyama Limba PROPOSAL
Darci S WieserRussiaAsiya Javayant QUALIFIED
Darci Q FlosiUnited KingdomIvan Magalhaes QUALIFIED
Octavia N SlusarskiArgentinaIvan Magalhaes RENEWAL
Ricardo U VocelkaItalyAsiya Javayant PROPOSAL
Leja A MorascaAustraliaElwin Sharvill UNQUALIFIED
Jefferson H GlickCanadaAmy Elsner PROPOSAL
Deepesh Y StockhamSpainAmy Elsner RENEWAL
Munro Q RimArgentinaStephen Shaw RENEWAL
Emily B MaletSpainAnna Fali RENEWAL
Faith A ButtGermanyOnyama Limba QUALIFIED
Isabel T SchemmerSpainAmy Elsner NEW
Kaitlin V NestleArgentinaIoni Bowcher UNQUALIFIED
Deepesh T DilliardFranceElwin Sharvill RENEWAL
Wickens W RimSpainElwin Sharvill NEW
Costa V VocelkaSpainIvan Magalhaes PROPOSAL
Morrow X GauchoAustraliaStephen Shaw RENEWAL
Jennifer P RulapaughFranceAmy Elsner UNQUALIFIED
Ivar O CampainSpainElwin Sharvill QUALIFIED
Jeanfrancois E OldroydUnited KingdomOnyama Limba UNQUALIFIED
Chavez P StensethFranceIvan Magalhaes UNQUALIFIED
Francesco C MaletCanadaOnyama Limba PROPOSAL
Octavia N VocelkaRussiaIvan Magalhaes RENEWAL
Juan C ShinkoRussiaElwin Sharvill NEW
Kadeem T WieserJapanIvan Magalhaes RENEWAL
Johnson V VenereJapanIvan Magalhaes UNQUALIFIED
Nicolas E VocelkaGermanyXuxue Feng NEW
Smith H StensethUnited KingdomOnyama Limba PROPOSAL
Nicolas A DarakjyBrazilOnyama Limba NEGOTIATION
Octavia M WaycottCanadaAmy Elsner NEW
Jennifer Z VocelkaUnited KingdomAnna Fali QUALIFIED
Claire J PaprockiUnited KingdomElwin Sharvill QUALIFIED
Tony K WaycottRussiaXuxue Feng PROPOSAL
Juan O FigeroaAustraliaAsiya Javayant NEW
Aika K WaycottAustraliaAnna Fali NEW
Juan N NickaAustraliaAmy Elsner RENEWAL
David G VocelkaItalyIvan Magalhaes PROPOSAL
Misaki C DoeJapanIoni Bowcher NEW
Claire D OldroydAustraliaElwin Sharvill RENEWAL
Rodrigues E CaldareraRussiaStephen Shaw UNQUALIFIED
Ashley W BowleyItalyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin N StockhamJapanIvan Magalhaes RENEWAL
Arvin I NestleGermanyAnna Fali NEW
Tony R AlbaresRussiaIvan Magalhaes UNQUALIFIED
Adams C DilliardIndiaAsiya Javayant NEW
Claire F TollnerBrazilElwin Sharvill QUALIFIED
Antonio N RimArgentinaAnna Fali NEGOTIATION
Cody R RoysterItalyXuxue Feng NEGOTIATION
Antonio G RoysterRussiaAnna Fali NEGOTIATION
James K NestleSpainXuxue Feng NEW
Misaki T DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer C FerenczBrazil2025-04-21Feiner Bros NEGOTIATION54Elwin Sharvill
1001Jennifer G AlbaresJapan2025-04-05King, Christopher A Esq UNQUALIFIED51Xuxue Feng
1002Faith J AmigonSpain2025-04-07Truhlar And Truhlar Attys UNQUALIFIED91Ivan Magalhaes
1003Ashley X ChuiSpain2025-04-22Truhlar And Truhlar Attys NEGOTIATION83Onyama Limba
1004Claire S KolmetzIndia2025-04-14Feiner Bros NEW51Bernardo Dominic
1005Ricardo D ChuiSpain2025-04-14Chemel, James L Cpa RENEWAL75Onyama Limba
1006Tony W MacleadBrazil2025-04-19Morlong Associates NEGOTIATION64Bernardo Dominic
1007Jefferson E PerinItaly2025-04-21Rangoni Of Florence UNQUALIFIED32Xuxue Feng
1008Leon I RutaCanada2025-04-11King, Christopher A Esq UNQUALIFIED1Ivan Magalhaes
1009Aruna R OstroskyJapan2025-04-25Feiner Bros PROPOSAL68Bernardo Dominic
1010Mujtaba E MacleadItaly2025-04-25Chapman, Ross E Esq NEGOTIATION76Ivan Magalhaes
1011Chavez N GauchoFrance2025-04-08Morlong Associates NEGOTIATION47Asiya Javayant
1012Johnson J GarufiBrazil2025-04-16Feiner Bros QUALIFIED46Asiya Javayant
1013Leja I RulapaughAustralia2025-04-05Benton, John B Jr QUALIFIED37Onyama Limba
1014Clifford F WieserUnited Kingdom2025-04-19Chapman, Ross E Esq PROPOSAL29Xuxue Feng
1015Chavez F TollnerUnited Kingdom2025-04-12Chemel, James L Cpa PROPOSAL88Bernardo Dominic
1016Izzy I FollerIndia2025-04-20Truhlar And Truhlar Attys RENEWAL34Bernardo Dominic
1017Ivar J VenereBrazil2025-04-16Buckley Miller Wright NEGOTIATION54Xuxue Feng
1018Mujtaba X SergiAustralia2025-04-25Dorl, James J Esq QUALIFIED71Bernardo Dominic
1019Francesco U CampainAustralia2025-04-29Chanay, Jeffrey A Esq NEW72Ioni Bowcher
1020David F GillianIndia2025-04-23Truhlar And Truhlar Attys NEW93Ioni Bowcher
1021Jennifer P PoquetteAustralia2025-04-18Feltz Printing Service PROPOSAL67Onyama Limba
1022Chavez A MaletGermany2025-04-03Feltz Printing Service UNQUALIFIED48Ioni Bowcher
1023Maisha Z DoeFrance2025-04-13Feltz Printing Service UNQUALIFIED99Amy Elsner
1024Leja N TollnerJapan2025-04-23Chemel, James L Cpa PROPOSAL68Elwin Sharvill
1025David S SchemmerJapan2025-04-24Chemel, James L Cpa PROPOSAL1Amy Elsner
1026Faith B AmigonSpain2025-04-03Feltz Printing Service QUALIFIED38Ivan Magalhaes
1027Juan X GarufiCanada2025-04-07Feiner Bros QUALIFIED81Stephen Shaw
1028Aika V OstroskySpain2025-04-21Dorl, James J Esq NEGOTIATION19Bernardo Dominic
1029Kaitlin C FollerAustralia2025-04-13Chemel, James L Cpa QUALIFIED11Stephen Shaw
1030Adams P BriddickJapan2025-04-23Buckley Miller Wright PROPOSAL22Ioni Bowcher
1031Maisha V ChuiAustralia2025-04-16Chanay, Jeffrey A Esq UNQUALIFIED94Xuxue Feng
1032Aruna G PerinUnited Kingdom2025-04-26Commercial Press PROPOSAL43Elwin Sharvill
1033Antonio N InouyeItaly2025-04-25Truhlar And Truhlar Attys RENEWAL33Onyama Limba
1034Chavez L FigeroaFrance2025-04-01Feiner Bros PROPOSAL38Onyama Limba
1035Faith Q DarakjyAustralia2025-04-12Dorl, James J Esq QUALIFIED5Xuxue Feng
1036Ashley K GarufiIndia2025-04-22Rangoni Of Florence UNQUALIFIED49Anna Fali
1037Mayumi K GarufiCanada2025-04-06King, Christopher A Esq UNQUALIFIED23Xuxue Feng
1038Cody W StensethJapan2025-04-28King, Christopher A Esq NEW55Asiya Javayant
1039Greenwood F DarakjySpain2025-04-17Morlong Associates RENEWAL33Asiya Javayant
1040Mujtaba L MacleadFrance2025-03-31Truhlar And Truhlar Attys NEGOTIATION0Asiya Javayant
1041David G RimGermany2025-03-31Chapman, Ross E Esq QUALIFIED72Onyama Limba
1042Adams D WieserUnited Kingdom2025-04-18King, Christopher A Esq NEGOTIATION53Ivan Magalhaes
1043Octavia N MorascaGermany2025-04-02Chanay, Jeffrey A Esq NEGOTIATION7Ivan Magalhaes
1044Kadeem E BowleyBrazil2025-04-20Morlong Associates PROPOSAL87Amy Elsner
1045Jeanfrancois N ChuiUnited Kingdom2025-03-31Chanay, Jeffrey A Esq RENEWAL97Bernardo Dominic
1046Leon K CaldareraRussia2025-04-07Benton, John B Jr QUALIFIED21Ivan Magalhaes
1047Stacey U SlusarskiArgentina2025-04-03Feltz Printing Service PROPOSAL79Amy Elsner
1048Isabel I AlbaresRussia2025-04-18Rangoni Of Florence NEW43Asiya Javayant
1049Mayumi H WhobreyJapan2025-04-04Chemel, James L Cpa PROPOSAL38Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki J CaldareraBrazilAmy Elsner NEW
Mayumi P AlbaresBrazilXuxue Feng RENEWAL
Izzy E DoeUnited KingdomAsiya Javayant UNQUALIFIED
Tony L StensethGermanyAsiya Javayant UNQUALIFIED
Francesco V CaudyArgentinaIvan Magalhaes RENEWAL
Leon C RulapaughIndiaBernardo Dominic QUALIFIED
Wickens K NestleUnited KingdomStephen Shaw NEW
Aika Z RimUnited KingdomIvan Magalhaes RENEWAL
Arvin E SergiCanadaOnyama Limba NEW
Francesco V OldroydSpainXuxue Feng QUALIFIED
Mayumi L AmigonGermanyBernardo Dominic NEGOTIATION
Juan T SaylorsArgentinaAmy Elsner QUALIFIED
Silvio T WhobreyIndiaIvan Magalhaes QUALIFIED
Faith S GillianArgentinaOnyama Limba UNQUALIFIED
Adams H MaletBrazilXuxue Feng PROPOSAL
Greenwood Z ShinkoIndiaStephen Shaw PROPOSAL
James L ChuiIndiaAmy Elsner RENEWAL
Leon B RulapaughGermanyIvan Magalhaes QUALIFIED
Antonio D SaylorsFranceStephen Shaw RENEWAL
Maria F DarakjyBrazilElwin Sharvill UNQUALIFIED
Adams W StensethItalyIoni Bowcher QUALIFIED
Smith E VenereIndiaStephen Shaw QUALIFIED
Maria S ButtRussiaAnna Fali QUALIFIED
Morrow M CaldareraAustraliaBernardo Dominic NEW
Maria Z CaldareraAustraliaAmy Elsner PROPOSAL
Faith V WaycottArgentinaStephen Shaw RENEWAL
Juan M BologniaGermanyAmy Elsner NEGOTIATION
Nicolas N DoeCanadaXuxue Feng QUALIFIED
Nicolas K FollerSpainIoni Bowcher NEW
Alejandro D CaudyCanadaAnna Fali QUALIFIED
Nicolas G TollnerUnited KingdomAnna Fali NEGOTIATION
Aditya A ButtCanadaStephen Shaw QUALIFIED
Izzy P OstroskyFranceIoni Bowcher NEGOTIATION
Tony A BologniaAustraliaXuxue Feng PROPOSAL
Adams O ButtRussiaXuxue Feng UNQUALIFIED
Emily N MacleadBrazilIoni Bowcher NEGOTIATION
Darci T PerinUnited KingdomStephen Shaw UNQUALIFIED
Greenwood I GauchoFranceAmy Elsner UNQUALIFIED
Deepesh T BriddickArgentinaIvan Magalhaes PROPOSAL
Aruna C DoeJapanElwin Sharvill QUALIFIED
Maria P RoysterFranceIoni Bowcher RENEWAL
Jefferson O SchemmerBrazilAnna Fali PROPOSAL
Ashley G WaycottJapanAnna Fali PROPOSAL
Jennifer W SlusarskiJapanIoni Bowcher UNQUALIFIED
Greenwood M AlbaresGermanyAnna Fali NEW
Rodrigues G GarufiJapanStephen Shaw PROPOSAL
Rodrigues S WhobreyGermanyAmy Elsner RENEWAL
Aruna F WieserAustraliaAsiya Javayant QUALIFIED
Alejandro L StensethBrazilIoni Bowcher NEGOTIATION
Murillo Y FlosiGermanyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Ivar N Ostrosky
Tony X Iturbide
Rodrigues M Butt
Costa W Whobrey
Costa X Poquette
Salvatore M Morasca
Kaitlin G Rulapaugh
Cody Q Vocelka
Chavez N Caudy
Munro U Flosi
Johnson R Malet
Cody S Venere
Munro S Doe
Isabel O Caudy
Murillo M Slusarski
Sinclair W Ferencz
Jones F Caudy
Octavia Q Malet
Smith R Malet
Wickens C Shinko
Leon D Malet
Mayumi M Doe
Jeanfrancois G Campain
Claire N Tollner
Alejandro F Inouye
Julie B Schemmer
Ashley U Marrier
Emily B Paprocki
Mujtaba U Oldroyd
Izzy T Dilliard
Antonio L Bowley
Maria O Amigon
Greenwood E Malet
Arvin I Morasca
Jennifer D Sergi
Greenwood N Inouye
Costa D Kolmetz
Aruna D Campain
Silvio C Nicka
Deepesh S Wieser
Adams T Glick
Aditya Q Oldroyd
Stacey H Rulapaugh
Murillo Q Campain
Cody B Venere
Johnson J Kolmetz
Cody I Tollner
Ivar K Wieser
James Q Flosi
Juan D Rim
IdCountryDate
1000France2025-04-28
1001Argentina2025-04-06
1002Canada2025-04-01
1003Argentina2025-04-16
1004Germany2025-04-08
1005Canada2025-04-26
1006France2025-04-21
1007Canada2025-04-28
1008Spain2025-04-09
1009Japan2025-04-18
1010India2025-04-18
1011Spain2025-04-01
1012Italy2025-04-14
1013Russia2025-04-02
1014France2025-04-04
1015Germany2025-04-07
1016Russia2025-04-06
1017France2025-04-03
1018Russia2025-04-11
1019France2025-04-19
1020Canada2025-04-20
1021Canada2025-04-19
1022Spain2025-03-31
1023Germany2025-04-08
1024Japan2025-04-22
1025United Kingdom2025-04-26
1026United Kingdom2025-04-27
1027Japan2025-04-19
1028Spain2025-04-01
1029Japan2025-04-21
1030Brazil2025-04-29
1031France2025-04-10
1032Spain2025-04-12
1033India2025-04-09
1034India2025-04-16
1035Canada2025-04-09
1036Australia2025-04-01
1037Italy2025-04-03
1038Italy2025-04-21
1039France2025-04-20
1040France2025-04-24
1041Brazil2025-04-02
1042Russia2025-04-16
1043India2025-04-01
1044United Kingdom2025-04-11
1045Japan2025-04-01
1046Brazil2025-04-16
1047Australia2025-04-03
1048Brazil2025-04-14
1049Japan2025-04-18

On-Demand Data

NameIdCountryDate
Stacey W Albares1000France2025-04-17
Munro Z Caldarera1001Italy2025-04-18
Mayumi L Oldroyd1002Russia2025-04-17
Isabel C Caudy1003Spain2025-04-27
Ricardo P Butt1004United Kingdom2025-04-05
Ashley K Chui1005India2025-04-16
Wickens B Stenseth1006India2025-04-13
Kaitlin L Malet1007Germany2025-04-25
Smith T Butt1008Australia2025-04-24
Ricardo R Slusarski1009Russia2025-04-18
Adams J Nicka1010Brazil2025-04-10
Munro E Bowley1011Brazil2025-04-07
Aika V Saylors1012Germany2025-04-04
Misaki V Kolmetz1013Brazil2025-04-13
Rodrigues W Amigon1014Spain2025-04-06
Adams B Bolognia1015Argentina2025-04-22
Kaitlin A Stockham1016Germany2025-04-06
Leja P Flosi1017Spain2025-04-22
Jennifer P Poquette1018Germany2025-04-02
Ricardo J Tollner1019India2025-04-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa G BowleyRussiaAsiya Javayant NEGOTIATION
Octavia D PerinFranceAmy Elsner PROPOSAL
Stacey L FigeroaRussiaAmy Elsner QUALIFIED
Claire X RoysterArgentinaAmy Elsner PROPOSAL
Stacey Q SchemmerGermanyIvan Magalhaes NEW
Juan E ButtArgentinaElwin Sharvill QUALIFIED
Silvio G VenereFranceBernardo Dominic PROPOSAL
Mayumi M AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Nicolas H DarakjyArgentinaOnyama Limba PROPOSAL
Izzy S RoysterRussiaAsiya Javayant QUALIFIED
Munro H RulapaughAustraliaOnyama Limba RENEWAL
Salvatore F FlosiArgentinaXuxue Feng PROPOSAL
Juan M VenereItalyIvan Magalhaes PROPOSAL
Jennifer Q KuskoArgentinaOnyama Limba RENEWAL
Deepesh D StockhamArgentinaIoni Bowcher UNQUALIFIED
Juan J OldroydSpainBernardo Dominic QUALIFIED
Smith D MaletFranceAsiya Javayant UNQUALIFIED
Leon P ShinkoRussiaIoni Bowcher NEGOTIATION
Cody Y ChuiIndiaIoni Bowcher NEW
Leon R AmigonGermanyAmy Elsner NEGOTIATION
Johnson G RoysterIndiaAnna Fali NEW
Misaki N TollnerSpainIoni Bowcher UNQUALIFIED
Jones G RimItalyIvan Magalhaes RENEWAL
Aika G CaldareraFranceAnna Fali RENEWAL
Ricardo M WaycottBrazilXuxue Feng UNQUALIFIED
Arvin J CampainCanadaIvan Magalhaes UNQUALIFIED
Emily H WhobreySpainIvan Magalhaes PROPOSAL
Izzy W OstroskyJapanIoni Bowcher UNQUALIFIED
Murillo Q RutaItalyElwin Sharvill RENEWAL
Ricardo P FigeroaBrazilAnna Fali RENEWAL
Sinclair C NickaGermanyElwin Sharvill RENEWAL
Munro A AmigonUnited KingdomIvan Magalhaes NEW
Mujtaba T PerinIndiaIoni Bowcher PROPOSAL
Leja H NickaSpainAnna Fali RENEWAL
Izzy E WaycottCanadaStephen Shaw QUALIFIED
Silvio T RutaSpainIvan Magalhaes QUALIFIED
Antonio X FlosiFranceIvan Magalhaes RENEWAL
Jefferson P PerinCanadaXuxue Feng RENEWAL
Rodrigues F GauchoRussiaAnna Fali QUALIFIED
Arvin H WhobreyArgentinaAmy Elsner NEGOTIATION

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