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
Alejandro M GauchoArgentinaAmy Elsner UNQUALIFIED
Maria G NickaItalyAmy Elsner NEGOTIATION
Wickens I GauchoCanadaIoni Bowcher UNQUALIFIED
Maria D MorascaCanadaAmy Elsner NEW
Sinclair G AmigonArgentinaElwin Sharvill NEW
Cody D IturbideCanadaIoni Bowcher RENEWAL
Aika J FollerIndiaIoni Bowcher PROPOSAL
Misaki X GlickGermanyElwin Sharvill NEW
Antonio A SergiSpainAmy Elsner QUALIFIED
Sinclair S ShinkoItalyStephen Shaw NEGOTIATION
Rodrigues M ShinkoArgentinaBernardo Dominic RENEWAL
Mayumi G GauchoSpainIvan Magalhaes NEGOTIATION
Salvatore O OstroskyJapanAsiya Javayant PROPOSAL
Cody O BologniaArgentinaBernardo Dominic NEGOTIATION
Juan M GlickJapanBernardo Dominic PROPOSAL
Misaki X SchemmerSpainAmy Elsner NEGOTIATION
David M GarufiGermanyIvan Magalhaes PROPOSAL
Antonio S ButtBrazilXuxue Feng RENEWAL
Julie A KolmetzSpainXuxue Feng QUALIFIED
Antonio V MaletItalyIoni Bowcher QUALIFIED
Darci P VenereJapanAnna Fali RENEWAL
Ricardo D WhobreyAustraliaXuxue Feng RENEWAL
Leon U TollnerGermanyStephen Shaw PROPOSAL
Morrow D DarakjyFranceAnna Fali PROPOSAL
Arvin G BriddickAustraliaAnna Fali NEGOTIATION
Adams Q InouyeFranceBernardo Dominic QUALIFIED
Izzy U WhobreyUnited KingdomIoni Bowcher PROPOSAL
James T WieserItalyOnyama Limba QUALIFIED
Kaitlin A GillianRussiaAnna Fali NEGOTIATION
Clifford A RulapaughFranceIvan Magalhaes QUALIFIED
Leon L RulapaughCanadaStephen Shaw QUALIFIED
Juan N GauchoArgentinaStephen Shaw QUALIFIED
Aditya S SchemmerIndiaIvan Magalhaes NEW
Octavia H MacleadItalyAmy Elsner QUALIFIED
Kadeem O ChuiRussiaOnyama Limba NEW
Alejandro I FigeroaIndiaOnyama Limba NEGOTIATION
Leja W AmigonSpainElwin Sharvill UNQUALIFIED
Jeanfrancois Z PerinItalyIvan Magalhaes RENEWAL
Greenwood K AmigonBrazilElwin Sharvill UNQUALIFIED
Murillo Y DilliardUnited KingdomAnna Fali RENEWAL
Mujtaba F WhobreyCanadaBernardo Dominic NEGOTIATION
Jefferson T CaldareraArgentinaIvan Magalhaes RENEWAL
Wickens F FollerUnited KingdomAmy Elsner PROPOSAL
Aika G SergiAustraliaAmy Elsner NEGOTIATION
Misaki S CampainJapanOnyama Limba QUALIFIED
Adams O WaycottUnited KingdomXuxue Feng PROPOSAL
Jeanfrancois H RulapaughItalyIvan Magalhaes UNQUALIFIED
Munro J DarakjyBrazilIoni Bowcher NEGOTIATION
Kadeem Q MacleadFranceIvan Magalhaes NEW
Morrow H MaletBrazilElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas T BriddickJapanAmy Elsner NEGOTIATION
Mayumi J CaudyRussiaElwin Sharvill RENEWAL
Sinclair P FigeroaRussiaStephen Shaw UNQUALIFIED
Aditya L PerinArgentinaXuxue Feng UNQUALIFIED
Juan C DarakjyGermanyAmy Elsner NEGOTIATION
Maisha L PoquetteFranceElwin Sharvill UNQUALIFIED
Rodrigues Y NickaRussiaIvan Magalhaes NEW
Ashley G StensethItalyAmy Elsner PROPOSAL
Misaki A CampainAustraliaBernardo Dominic QUALIFIED
Morrow A MaletRussiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia Z GauchoBrazil2024-05-25Chemel, James L Cpa NEGOTIATION69Ioni Bowcher
1001Johnson B OldroydAustralia2024-05-26Benton, John B Jr QUALIFIED42Xuxue Feng
1002Munro N MacleadJapan2024-06-03Dorl, James J Esq PROPOSAL54Amy Elsner
1003Tony O ButtSpain2024-06-10Dorl, James J Esq NEGOTIATION36Onyama Limba
1004Jeanfrancois M RulapaughIndia2024-05-26Commercial Press UNQUALIFIED78Stephen Shaw
1005Rodrigues K VocelkaJapan2024-06-22Morlong Associates NEGOTIATION37Asiya Javayant
1006Misaki M MaletSpain2024-05-25Rousseaux, Michael Esq QUALIFIED57Xuxue Feng
1007Octavia X ShinkoRussia2024-06-14Rangoni Of Florence NEW37Ivan Magalhaes
1008Faith K GauchoJapan2024-05-27Rangoni Of Florence QUALIFIED71Anna Fali
1009Wickens N TollnerCanada2024-05-25Truhlar And Truhlar Attys NEGOTIATION27Anna Fali
1010Kadeem M KuskoCanada2024-05-31Feiner Bros NEGOTIATION52Ivan Magalhaes
1011Aditya V SlusarskiRussia2024-06-06Chapman, Ross E Esq UNQUALIFIED34Onyama Limba
1012Darci X AmigonRussia2024-06-23Commercial Press UNQUALIFIED80Xuxue Feng
1013Salvatore X FlosiArgentina2024-06-23Chapman, Ross E Esq PROPOSAL41Ioni Bowcher
1014Kadeem B MorascaGermany2024-06-05Benton, John B Jr NEGOTIATION82Xuxue Feng
1015Sinclair U BriddickIndia2024-06-10Buckley Miller Wright QUALIFIED0Stephen Shaw
1016Munro Y FollerIndia2024-06-13Buckley Miller Wright UNQUALIFIED29Ioni Bowcher
1017Maisha F MorascaSpain2024-06-23Truhlar And Truhlar Attys UNQUALIFIED15Elwin Sharvill
1018Stacey P ButtItaly2024-06-14Feiner Bros NEGOTIATION5Asiya Javayant
1019Jones H CaldareraFrance2024-06-21Morlong Associates UNQUALIFIED54Stephen Shaw
1020Alejandro Q WaycottSpain2024-06-08Truhlar And Truhlar Attys RENEWAL29Onyama Limba
1021Kadeem F AmigonUnited Kingdom2024-06-09King, Christopher A Esq QUALIFIED66Bernardo Dominic
1022Emily X SchemmerIndia2024-05-25Rangoni Of Florence QUALIFIED14Stephen Shaw
1023Wickens O MacleadRussia2024-06-18Chemel, James L Cpa NEW68Bernardo Dominic
1024Izzy T ChuiAustralia2024-05-25Truhlar And Truhlar Attys QUALIFIED17Amy Elsner
1025Tony Z IturbideIndia2024-06-14Truhlar And Truhlar Attys QUALIFIED9Ivan Magalhaes
1026Chavez V DoeRussia2024-06-23King, Christopher A Esq NEGOTIATION29Onyama Limba
1027Isabel P OstroskyRussia2024-06-23Morlong Associates PROPOSAL46Amy Elsner
1028Alejandro P AlbaresIndia2024-05-30Morlong Associates RENEWAL0Onyama Limba
1029Ivar T GillianSpain2024-06-13Chanay, Jeffrey A Esq RENEWAL65Elwin Sharvill
1030Mujtaba M CaudyFrance2024-05-31Buckley Miller Wright PROPOSAL1Bernardo Dominic
1031James B DoeBrazil2024-06-12Benton, John B Jr QUALIFIED62Stephen Shaw
1032Ricardo O GillianRussia2024-05-26Feltz Printing Service QUALIFIED12Bernardo Dominic
1033Maisha J StockhamBrazil2024-05-31Buckley Miller Wright NEGOTIATION27Ivan Magalhaes
1034Emily J FigeroaItaly2024-06-08Truhlar And Truhlar Attys RENEWAL70Anna Fali
1035Smith J DilliardRussia2024-06-13Rangoni Of Florence NEW96Xuxue Feng
1036Jefferson T MorascaSpain2024-06-06Chemel, James L Cpa UNQUALIFIED40Xuxue Feng
1037Smith E WaycottUnited Kingdom2024-05-30Printing Dimensions RENEWAL10Stephen Shaw
1038Leon S KuskoUnited Kingdom2024-06-23Feiner Bros PROPOSAL71Anna Fali
1039Aika B SergiAustralia2024-05-28Commercial Press PROPOSAL10Ioni Bowcher
1040Maisha K SergiItaly2024-06-14Rangoni Of Florence NEW89Asiya Javayant
1041Alejandro W VenereFrance2024-06-01Chapman, Ross E Esq QUALIFIED65Ivan Magalhaes
1042Morrow V RimBrazil2024-05-26Rangoni Of Florence NEGOTIATION97Stephen Shaw
1043Juan S StensethFrance2024-06-03Rousseaux, Michael Esq PROPOSAL49Onyama Limba
1044Munro U ChuiBrazil2024-06-06King, Christopher A Esq NEGOTIATION25Onyama Limba
1045Aruna G PerinIndia2024-06-15Dorl, James J Esq PROPOSAL52Xuxue Feng
1046Costa V NestleJapan2024-06-07Commercial Press NEW38Onyama Limba
1047Julie V WhobreyFrance2024-05-31Dorl, James J Esq RENEWAL75Elwin Sharvill
1048Greenwood E PoquetteAustralia2024-06-16Feltz Printing Service NEW41Ioni Bowcher
1049Leja E RulapaughCanada2024-05-31Chemel, James L Cpa UNQUALIFIED59Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci V CaudyAustraliaIoni Bowcher UNQUALIFIED
Clifford F BologniaArgentinaOnyama Limba QUALIFIED
Tony S StensethItalyAsiya Javayant RENEWAL
Greenwood W ButtJapanElwin Sharvill NEGOTIATION
Wickens G RulapaughSpainElwin Sharvill NEW
Maria W RutaCanadaAmy Elsner NEGOTIATION
Nicolas L KuskoBrazilAmy Elsner NEGOTIATION
Aika Z FlosiCanadaIvan Magalhaes UNQUALIFIED
Sinclair K NestleUnited KingdomBernardo Dominic UNQUALIFIED
Emily A FigeroaFranceIvan Magalhaes NEW
Mujtaba Q GillianAustraliaAsiya Javayant NEGOTIATION
Nicolas G GlickBrazilOnyama Limba NEW
Chavez U SchemmerCanadaOnyama Limba NEW
Leja C OstroskyFranceOnyama Limba NEGOTIATION
Deepesh G StockhamIndiaElwin Sharvill NEGOTIATION
Jefferson C WhobreyFranceXuxue Feng NEGOTIATION
Faith N StockhamItalyAmy Elsner QUALIFIED
Morrow V CaudySpainAsiya Javayant RENEWAL
Rodrigues D GlickRussiaElwin Sharvill NEGOTIATION
Adams X MaletIndiaXuxue Feng NEW
Francesco C ButtJapanAmy Elsner NEGOTIATION
Rodrigues B AmigonJapanAnna Fali UNQUALIFIED
Chavez V AlbaresIndiaStephen Shaw NEGOTIATION
Kaitlin X InouyeJapanAnna Fali NEGOTIATION
Izzy H CaudyRussiaXuxue Feng QUALIFIED
Munro G GauchoSpainAmy Elsner QUALIFIED
Aika V OstroskyCanadaAmy Elsner PROPOSAL
Izzy T StensethAustraliaIoni Bowcher NEW
Alejandro N SergiFranceBernardo Dominic NEW
Ashley F DarakjyAustraliaElwin Sharvill NEGOTIATION
Mujtaba X VocelkaRussiaAsiya Javayant NEGOTIATION
Murillo S StockhamSpainAmy Elsner QUALIFIED
Maria P AmigonCanadaBernardo Dominic QUALIFIED
Tony E FlosiJapanAnna Fali UNQUALIFIED
Jennifer P InouyeJapanXuxue Feng RENEWAL
Kaitlin N CampainFranceOnyama Limba UNQUALIFIED
Ivar O FlosiIndiaIvan Magalhaes PROPOSAL
Cody Q InouyeFranceBernardo Dominic RENEWAL
Jennifer D RutaAustraliaOnyama Limba RENEWAL
Deepesh Q WhobreyGermanyElwin Sharvill UNQUALIFIED
Deepesh L VocelkaJapanAsiya Javayant RENEWAL
Claire Z VenereSpainAsiya Javayant QUALIFIED
Jefferson M ButtFranceOnyama Limba RENEWAL
Darci K SlusarskiBrazilStephen Shaw NEW
Jeanfrancois B WieserIndiaIvan Magalhaes QUALIFIED
Alejandro D BologniaArgentinaAsiya Javayant NEGOTIATION
Ivar Q NickaUnited KingdomAnna Fali UNQUALIFIED
Silvio B ChuiIndiaIvan Magalhaes UNQUALIFIED
Rodrigues U BriddickFranceAsiya Javayant PROPOSAL
Aruna K WhobreyCanadaStephen Shaw NEGOTIATION
Frozen Columns
Name
Cody I Stockham
Johnson N Stockham
Silvio K Amigon
Antonio J Garufi
Stacey F Nicka
Isabel Q Glick
Rodrigues U Ruta
Tony Y Whobrey
Costa F Saylors
Ricardo L Garufi
Greenwood R Campain
Isabel T Kolmetz
Nicolas G Dilliard
Julie Q Ostrosky
Deepesh I Bolognia
Octavia X Darakjy
Faith E Morasca
Costa X Tollner
Deepesh R Poquette
Darci T Schemmer
Ricardo L Kusko
Julie E Oldroyd
Jennifer J Figeroa
Arvin F Poquette
Tony A Paprocki
Chavez X Albares
Ivar H Bolognia
Isabel B Stenseth
Izzy T Bolognia
David K Nestle
Antonio Y Whobrey
Isabel M Kolmetz
Clifford B Paprocki
Arvin A Amigon
Juan B Bolognia
James C Gillian
Aditya Q Foller
Sinclair A Albares
Ashley J Venere
Emily W Nicka
Jennifer T Perin
Munro I Nestle
Johnson K Malet
Aika V Caldarera
Leja E Vocelka
Johnson S Rulapaugh
Costa T Paprocki
Wickens A Waycott
Nicolas R Foller
Sinclair S Chui
IdCountryDate
1000Japan2024-06-02
1001Japan2024-06-02
1002Germany2024-06-01
1003India2024-06-20
1004Canada2024-06-15
1005Argentina2024-06-15
1006Germany2024-06-09
1007France2024-06-22
1008France2024-05-28
1009Japan2024-06-03
1010Argentina2024-06-16
1011Argentina2024-06-06
1012India2024-06-16
1013Canada2024-06-16
1014India2024-06-19
1015Australia2024-06-08
1016Japan2024-06-10
1017Spain2024-06-09
1018Australia2024-06-19
1019India2024-06-15
1020Italy2024-06-10
1021France2024-06-12
1022France2024-06-21
1023Brazil2024-06-22
1024Australia2024-06-20
1025Canada2024-06-19
1026United Kingdom2024-06-13
1027Canada2024-06-10
1028Italy2024-05-28
1029India2024-06-11
1030Italy2024-05-28
1031India2024-06-05
1032Australia2024-06-11
1033Argentina2024-06-05
1034Germany2024-05-25
1035India2024-06-20
1036Japan2024-06-09
1037Canada2024-06-04
1038Japan2024-06-23
1039Spain2024-06-07
1040France2024-06-01
1041Japan2024-06-15
1042Australia2024-06-15
1043Canada2024-06-14
1044India2024-06-11
1045Italy2024-06-17
1046Canada2024-05-25
1047Germany2024-05-31
1048Germany2024-05-27
1049Spain2024-06-16

On-Demand Data

NameIdCountryDate
Izzy J Royster1000Italy2024-06-11
Cody O Morasca1001Italy2024-06-11
Alejandro I Nicka1002Australia2024-05-30
Julie J Kusko1003Brazil2024-06-15
Adams O Inouye1004Spain2024-05-28
Deepesh A Waycott1005Italy2024-06-06
Leon H Rulapaugh1006Italy2024-06-21
Arvin S Rulapaugh1007Argentina2024-05-25
Leon P Bolognia1008United Kingdom2024-06-10
Kaitlin C Venere1009Spain2024-06-18
Jeanfrancois A Slusarski1010United Kingdom2024-05-26
Maria P Royster1011Canada2024-06-09
Faith S Malet1012Japan2024-06-23
Munro A Flosi1013Russia2024-05-25
Jones Z Albares1014United Kingdom2024-05-27
Stacey X Foller1015Brazil2024-06-07
Izzy S Gaucho1016Germany2024-06-20
Ashley E Malet1017United Kingdom2024-06-06
Chavez D Albares1018United Kingdom2024-06-21
Smith Y Rim1019United Kingdom2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia S CampainRussiaElwin Sharvill RENEWAL
Ashley B StensethBrazilBernardo Dominic QUALIFIED
Costa T MaletAustraliaIoni Bowcher NEW
Claire J FollerFranceIvan Magalhaes QUALIFIED
Francesco S MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
David D AmigonArgentinaBernardo Dominic QUALIFIED
Julie R ChuiSpainAsiya Javayant QUALIFIED
Leon B MaletSpainAmy Elsner PROPOSAL
Faith Q MaletGermanyIoni Bowcher NEW
Chavez J SlusarskiCanadaStephen Shaw QUALIFIED
Aditya V CaudyIndiaBernardo Dominic RENEWAL
Darci J MaletUnited KingdomAsiya Javayant RENEWAL
Wickens C MaletCanadaStephen Shaw NEW
Jefferson G RimBrazilIoni Bowcher NEW
Ivar E SchemmerArgentinaElwin Sharvill RENEWAL
Leja W MarrierCanadaAnna Fali UNQUALIFIED
Maria Q RimFranceOnyama Limba RENEWAL
Rodrigues Y DoeArgentinaBernardo Dominic QUALIFIED
Wickens A StockhamArgentinaStephen Shaw UNQUALIFIED
Kadeem Q SchemmerUnited KingdomIoni Bowcher NEW
Stacey B NestleUnited KingdomElwin Sharvill NEW
Stacey W PoquetteRussiaIoni Bowcher NEGOTIATION
Nicolas H MaletIndiaAnna Fali RENEWAL
Murillo S InouyeUnited KingdomXuxue Feng RENEWAL
Murillo A AmigonRussiaIvan Magalhaes UNQUALIFIED
Darci O RimRussiaOnyama Limba RENEWAL
Munro D PerinIndiaAsiya Javayant NEW
Leja Q IturbideBrazilAsiya Javayant NEGOTIATION
Salvatore Y IturbideBrazilBernardo Dominic RENEWAL
Costa Y MarrierUnited KingdomAnna Fali PROPOSAL
Ashley Y TollnerSpainBernardo Dominic QUALIFIED
Nicolas N GillianSpainAsiya Javayant PROPOSAL
Chavez Y WieserAustraliaStephen Shaw NEGOTIATION
Aruna B BowleyItalyOnyama Limba PROPOSAL
Maria M RulapaughArgentinaElwin Sharvill NEGOTIATION
Darci N SergiIndiaAsiya Javayant NEGOTIATION
Maisha F PaprockiGermanyBernardo Dominic UNQUALIFIED
Isabel Y MaletGermanyElwin Sharvill PROPOSAL
Isabel D NestleJapanElwin Sharvill RENEWAL
Emily T GarufiUnited KingdomAsiya Javayant 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>