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
Faith F RimRussiaXuxue Feng QUALIFIED
Maria K OldroydAustraliaIvan Magalhaes RENEWAL
Octavia U BowleyBrazilIoni Bowcher NEW
Arvin W BriddickRussiaStephen Shaw RENEWAL
Costa M RutaAustraliaStephen Shaw NEW
Izzy C TollnerIndiaIvan Magalhaes QUALIFIED
Izzy O KuskoBrazilStephen Shaw NEW
Aruna K FollerFranceElwin Sharvill NEGOTIATION
Tony G GlickFranceAsiya Javayant PROPOSAL
Juan J DoeSpainElwin Sharvill NEW
Greenwood P DarakjyIndiaBernardo Dominic RENEWAL
Emily G NickaIndiaElwin Sharvill NEW
Murillo W WhobreyAustraliaXuxue Feng UNQUALIFIED
Faith W DoeAustraliaStephen Shaw PROPOSAL
Darci P StockhamIndiaElwin Sharvill QUALIFIED
Isabel I PaprockiSpainBernardo Dominic PROPOSAL
Greenwood G FerenczItalyAmy Elsner UNQUALIFIED
Arvin U PerinItalyAsiya Javayant NEW
Silvio D WaycottSpainIvan Magalhaes RENEWAL
Ricardo I CaldareraRussiaAmy Elsner UNQUALIFIED
Jefferson C AlbaresBrazilElwin Sharvill QUALIFIED
Salvatore B WaycottJapanStephen Shaw NEW
Sinclair C RutaBrazilXuxue Feng RENEWAL
Costa S StensethUnited KingdomBernardo Dominic PROPOSAL
Murillo B CaldareraUnited KingdomIoni Bowcher RENEWAL
Antonio B BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Costa D SlusarskiUnited KingdomStephen Shaw PROPOSAL
David D CampainArgentinaBernardo Dominic UNQUALIFIED
Wickens M ButtSpainOnyama Limba QUALIFIED
Silvio K MaletCanadaIvan Magalhaes NEW
Emily J GillianGermanyOnyama Limba NEW
Murillo V DoeAustraliaAsiya Javayant QUALIFIED
Misaki L MarrierJapanStephen Shaw NEGOTIATION
Nicolas Z WaycottBrazilXuxue Feng QUALIFIED
Cody H NestleRussiaIoni Bowcher RENEWAL
Ricardo K MaletFranceElwin Sharvill NEGOTIATION
Leja T MaletFranceAmy Elsner QUALIFIED
Faith D GlickAustraliaIvan Magalhaes PROPOSAL
Morrow V CaldareraItalyOnyama Limba NEW
Kaitlin N WaycottItalyBernardo Dominic UNQUALIFIED
Greenwood V DoeJapanStephen Shaw NEW
Costa A CaldareraAustraliaXuxue Feng UNQUALIFIED
Tony W MorascaCanadaStephen Shaw NEW
Jefferson H SlusarskiArgentinaBernardo Dominic UNQUALIFIED
James Z BologniaUnited KingdomElwin Sharvill NEW
Kadeem S ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Izzy L InouyeIndiaAnna Fali PROPOSAL
Kadeem G SergiCanadaAnna Fali RENEWAL
Maisha I InouyeGermanyStephen Shaw NEW
Mayumi G KuskoIndiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas Y MaletUnited KingdomBernardo Dominic PROPOSAL
Murillo I CampainBrazilBernardo Dominic NEW
Ivar C PerinCanadaXuxue Feng UNQUALIFIED
Jeanfrancois C DilliardGermanyStephen Shaw RENEWAL
Adams A MaletIndiaAmy Elsner NEGOTIATION
Adams D WieserUnited KingdomIoni Bowcher UNQUALIFIED
Aruna N NickaGermanyStephen Shaw NEGOTIATION
Silvio N NickaCanadaAmy Elsner NEW
Jeanfrancois O DarakjyBrazilOnyama Limba RENEWAL
Leja L StensethItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood W BriddickCanada2024-05-27Commercial Press PROPOSAL96Ioni Bowcher
1001Arvin D DoeRussia2024-06-13Chapman, Ross E Esq NEGOTIATION36Elwin Sharvill
1002Darci P KolmetzAustralia2024-06-24Printing Dimensions RENEWAL98Elwin Sharvill
1003Silvio R WaycottIndia2024-06-10Commercial Press QUALIFIED84Xuxue Feng
1004Smith S StensethFrance2024-06-19Dorl, James J Esq NEGOTIATION34Amy Elsner
1005Nicolas O GlickCanada2024-06-22Benton, John B Jr NEGOTIATION3Elwin Sharvill
1006Jeanfrancois C GarufiUnited Kingdom2024-06-06Chemel, James L Cpa UNQUALIFIED84Anna Fali
1007Silvio O PerinArgentina2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED34Ivan Magalhaes
1008Mayumi X WhobreyGermany2024-05-26Buckley Miller Wright UNQUALIFIED94Stephen Shaw
1009Darci C PaprockiIndia2024-06-10Feiner Bros NEW6Xuxue Feng
1010Sinclair U DilliardArgentina2024-06-05Benton, John B Jr NEGOTIATION17Ioni Bowcher
1011Johnson D VenereJapan2024-06-18Buckley Miller Wright QUALIFIED95Ivan Magalhaes
1012Tony X RimJapan2024-06-16Truhlar And Truhlar Attys UNQUALIFIED36Anna Fali
1013Kadeem U WieserArgentina2024-06-22Benton, John B Jr QUALIFIED83Anna Fali
1014Kadeem N PaprockiSpain2024-06-09Chanay, Jeffrey A Esq PROPOSAL50Ivan Magalhaes
1015Darci T WieserArgentina2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED50Stephen Shaw
1016Alejandro O KolmetzItaly2024-06-21Rousseaux, Michael Esq RENEWAL72Bernardo Dominic
1017Octavia O StockhamJapan2024-06-04Buckley Miller Wright NEGOTIATION16Anna Fali
1018Izzy P ButtItaly2024-06-02Buckley Miller Wright QUALIFIED32Bernardo Dominic
1019Julie P BriddickBrazil2024-06-07Buckley Miller Wright RENEWAL77Onyama Limba
1020Deepesh X SchemmerBrazil2024-06-22Feiner Bros QUALIFIED42Ivan Magalhaes
1021Mayumi T OldroydArgentina2024-06-04Chemel, James L Cpa PROPOSAL94Bernardo Dominic
1022Emily D RutaAustralia2024-06-04Rangoni Of Florence QUALIFIED23Anna Fali
1023Aditya S IturbideAustralia2024-06-22Printing Dimensions NEGOTIATION36Elwin Sharvill
1024Jeanfrancois Q GillianCanada2024-06-09Benton, John B Jr QUALIFIED74Elwin Sharvill
1025Greenwood A NestleItaly2024-06-19King, Christopher A Esq NEW6Bernardo Dominic
1026Murillo V KuskoItaly2024-05-27Benton, John B Jr NEGOTIATION42Onyama Limba
1027Rodrigues C IturbideGermany2024-06-06Benton, John B Jr RENEWAL8Amy Elsner
1028Antonio W SergiUnited Kingdom2024-06-05Printing Dimensions NEGOTIATION8Stephen Shaw
1029Faith Y CaudyJapan2024-06-09Rousseaux, Michael Esq PROPOSAL39Amy Elsner
1030Nicolas X DarakjyBrazil2024-06-19Benton, John B Jr NEGOTIATION21Stephen Shaw
1031Isabel R WieserBrazil2024-06-09Feltz Printing Service PROPOSAL6Elwin Sharvill
1032Morrow V GillianCanada2024-06-06Chapman, Ross E Esq QUALIFIED98Elwin Sharvill
1033Maria Q NickaItaly2024-05-27Buckley Miller Wright RENEWAL85Amy Elsner
1034Morrow T RutaIndia2024-06-20Buckley Miller Wright NEW9Asiya Javayant
1035Leja Z FollerFrance2024-05-28Dorl, James J Esq NEW33Onyama Limba
1036Deepesh D IturbideJapan2024-05-31Feltz Printing Service RENEWAL70Ioni Bowcher
1037Jennifer G MaletRussia2024-06-19Commercial Press PROPOSAL14Ivan Magalhaes
1038Clifford E FigeroaUnited Kingdom2024-06-18Rousseaux, Michael Esq NEW6Ioni Bowcher
1039Jefferson W SchemmerUnited Kingdom2024-05-29King, Christopher A Esq RENEWAL0Xuxue Feng
1040Leja V FigeroaBrazil2024-06-16Commercial Press NEGOTIATION29Ioni Bowcher
1041Leon K RulapaughItaly2024-06-20King, Christopher A Esq NEGOTIATION13Ivan Magalhaes
1042Alejandro F BriddickFrance2024-05-26Truhlar And Truhlar Attys QUALIFIED25Amy Elsner
1043Jeanfrancois H DoeCanada2024-06-20Feiner Bros UNQUALIFIED69Xuxue Feng
1044Francesco K AmigonArgentina2024-06-15Chapman, Ross E Esq NEGOTIATION54Anna Fali
1045Stacey E GillianRussia2024-06-05Chapman, Ross E Esq NEGOTIATION24Elwin Sharvill
1046Adams B RimRussia2024-06-03Commercial Press RENEWAL45Bernardo Dominic
1047Arvin W StockhamGermany2024-05-26Rangoni Of Florence NEGOTIATION33Amy Elsner
1048Greenwood C GillianGermany2024-06-08Commercial Press QUALIFIED96Ivan Magalhaes
1049Mujtaba R NestleRussia2024-06-20Printing Dimensions UNQUALIFIED48Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Antonio D CampainRussiaBernardo Dominic RENEWAL
Morrow A ChuiArgentinaAsiya Javayant QUALIFIED
Jennifer V ChuiBrazilBernardo Dominic NEGOTIATION
Octavia J OstroskyGermanyBernardo Dominic PROPOSAL
Stacey F SergiBrazilOnyama Limba PROPOSAL
Aruna S WhobreyItalyXuxue Feng UNQUALIFIED
James Z VocelkaItalyOnyama Limba PROPOSAL
Smith N WieserIndiaXuxue Feng NEW
Francesco V TollnerGermanyAsiya Javayant PROPOSAL
Alejandro P KuskoGermanyOnyama Limba NEGOTIATION
Ricardo B StockhamUnited KingdomElwin Sharvill QUALIFIED
Misaki L KuskoSpainElwin Sharvill UNQUALIFIED
Francesco K BriddickItalyBernardo Dominic QUALIFIED
Kaitlin A BologniaArgentinaElwin Sharvill UNQUALIFIED
Tony U CaldareraGermanyStephen Shaw QUALIFIED
Smith Z VocelkaIndiaBernardo Dominic UNQUALIFIED
Stacey U AlbaresIndiaXuxue Feng UNQUALIFIED
Greenwood J RimGermanyStephen Shaw PROPOSAL
Julie U TollnerAustraliaElwin Sharvill PROPOSAL
Maisha S StockhamCanadaAsiya Javayant QUALIFIED
Jennifer J SchemmerItalyStephen Shaw PROPOSAL
Francesco K ButtGermanyIvan Magalhaes RENEWAL
Costa O FerenczIndiaBernardo Dominic NEW
Mayumi A AlbaresIndiaStephen Shaw PROPOSAL
Smith B ChuiFranceBernardo Dominic PROPOSAL
Munro B DoeGermanyBernardo Dominic NEGOTIATION
Claire Y WaycottUnited KingdomIvan Magalhaes QUALIFIED
Leon O PerinGermanyAnna Fali QUALIFIED
Ricardo S FlosiJapanStephen Shaw QUALIFIED
Maria D BologniaItalyIvan Magalhaes NEGOTIATION
Morrow Z StockhamJapanStephen Shaw NEW
Jefferson A DoeBrazilAnna Fali PROPOSAL
Aditya E AmigonCanadaOnyama Limba QUALIFIED
Tony H NestleSpainStephen Shaw NEW
Sinclair B GlickIndiaAmy Elsner PROPOSAL
Clifford Z FerenczAustraliaElwin Sharvill RENEWAL
Jefferson H RulapaughSpainIoni Bowcher PROPOSAL
Murillo N WhobreyItalyIvan Magalhaes NEGOTIATION
Ricardo M ShinkoCanadaAnna Fali NEW
Silvio P FerenczAustraliaIoni Bowcher QUALIFIED
Octavia V SchemmerJapanBernardo Dominic NEW
Greenwood O SergiArgentinaAsiya Javayant NEW
Alejandro L GauchoFranceIvan Magalhaes QUALIFIED
Deepesh W FigeroaCanadaAnna Fali NEW
Francesco F GlickCanadaIoni Bowcher NEW
Leja R RutaUnited KingdomAnna Fali PROPOSAL
Clifford E AlbaresAustraliaXuxue Feng RENEWAL
Alejandro G MorascaIndiaOnyama Limba RENEWAL
Kaitlin M SergiGermanyAsiya Javayant QUALIFIED
Leon I GarufiUnited KingdomAsiya Javayant RENEWAL
Frozen Columns
Name
Darci O Butt
Morrow P Tollner
Chavez L Royster
Johnson X Briddick
Leja C Maclead
Ivar A Iturbide
Emily X Poquette
Claire O Malet
Johnson Q Saylors
Mayumi S Shinko
Sinclair H Stenseth
Jennifer F Flosi
Jones Q Flosi
Francesco A Shinko
Cody M Gillian
Julie L Whobrey
Aruna Z Butt
Misaki W Slusarski
Misaki R Tollner
Kadeem O Rim
Darci K Caldarera
Kaitlin G Shinko
Sinclair D Malet
Clifford N Caudy
Isabel D Paprocki
Kaitlin X Campain
Ivar I Malet
Chavez L Bolognia
Tony X Perin
Munro F Butt
Murillo Z Malet
Leon B Stenseth
Ricardo N Campain
Jefferson R Ruta
Murillo Y Saylors
Rodrigues N Amigon
Leja B Saylors
Darci Y Malet
Deepesh J Tollner
James G Ferencz
Greenwood H Nicka
Wickens E Amigon
Ivar B Amigon
Cody Q Gaucho
Ashley N Iturbide
Kaitlin F Foller
Aika W Rulapaugh
Johnson S Whobrey
Juan K Waycott
Aruna N Bowley
IdCountryDate
1000Germany2024-05-31
1001Germany2024-06-14
1002India2024-05-29
1003United Kingdom2024-06-14
1004Canada2024-05-26
1005Japan2024-06-14
1006France2024-06-16
1007Japan2024-06-05
1008Australia2024-05-31
1009India2024-05-27
1010Spain2024-06-13
1011Spain2024-06-15
1012Russia2024-06-16
1013Argentina2024-05-28
1014Japan2024-06-16
1015Russia2024-06-02
1016Russia2024-06-06
1017Australia2024-06-05
1018Russia2024-05-31
1019Spain2024-06-03
1020Argentina2024-06-16
1021Argentina2024-06-01
1022Germany2024-06-05
1023Argentina2024-06-24
1024Russia2024-06-03
1025India2024-06-16
1026Australia2024-06-23
1027Canada2024-06-18
1028Brazil2024-06-12
1029Japan2024-06-20
1030Russia2024-06-13
1031Germany2024-05-27
1032Italy2024-06-13
1033Argentina2024-06-03
1034Germany2024-06-04
1035United Kingdom2024-06-01
1036United Kingdom2024-06-07
1037Argentina2024-05-29
1038Argentina2024-06-11
1039Germany2024-06-06
1040India2024-06-23
1041Argentina2024-06-02
1042Germany2024-06-13
1043Australia2024-06-12
1044Canada2024-05-29
1045Italy2024-06-18
1046India2024-06-04
1047Spain2024-06-06
1048Russia2024-06-14
1049Spain2024-06-21

On-Demand Data

NameIdCountryDate
Johnson C Paprocki1000Argentina2024-05-27
Costa T Dilliard1001Brazil2024-06-17
Murillo N Foller1002Australia2024-06-08
Faith C Caudy1003United Kingdom2024-05-30
Misaki N Campain1004Italy2024-05-26
Aruna N Sergi1005India2024-06-07
Greenwood Z Kolmetz1006Australia2024-06-10
Murillo K Rulapaugh1007Russia2024-06-24
Jennifer U Slusarski1008Australia2024-06-23
Ricardo G Albares1009Australia2024-06-22
Jennifer G Schemmer1010Australia2024-05-28
Mujtaba C Caudy1011Italy2024-06-19
Jefferson M Saylors1012France2024-06-18
Darci N Vocelka1013Japan2024-06-03
Claire G Caldarera1014France2024-06-24
Francesco K Wieser1015Australia2024-06-03
Octavia H Nicka1016France2024-05-27
Greenwood D Amigon1017Germany2024-06-21
Rodrigues F Nestle1018Russia2024-06-15
Nicolas O Royster1019Russia2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Q ButtCanadaIvan Magalhaes PROPOSAL
Morrow X CampainCanadaElwin Sharvill NEW
Kaitlin R ButtBrazilBernardo Dominic NEGOTIATION
Ivar I NestleUnited KingdomAsiya Javayant RENEWAL
Greenwood E GlickRussiaStephen Shaw NEW
Kaitlin P StockhamRussiaAmy Elsner QUALIFIED
Misaki J SaylorsItalyStephen Shaw PROPOSAL
Morrow X AmigonAustraliaBernardo Dominic NEW
Leja F VocelkaArgentinaAnna Fali NEW
Jeanfrancois L GillianCanadaIoni Bowcher RENEWAL
Kadeem K ChuiGermanyIoni Bowcher PROPOSAL
Chavez A NickaRussiaIvan Magalhaes RENEWAL
Kadeem T FigeroaJapanXuxue Feng QUALIFIED
Arvin O GlickBrazilAsiya Javayant NEGOTIATION
Sinclair Z DoeAustraliaIoni Bowcher RENEWAL
Mujtaba C WhobreyFranceIvan Magalhaes QUALIFIED
Alejandro C CampainGermanyStephen Shaw QUALIFIED
Darci R VocelkaAustraliaStephen Shaw NEGOTIATION
Morrow I BowleyJapanAmy Elsner NEW
Ricardo U VocelkaSpainAmy Elsner QUALIFIED
Chavez O SlusarskiJapanAsiya Javayant RENEWAL
Jefferson V RutaGermanyXuxue Feng RENEWAL
Cody N FollerRussiaStephen Shaw QUALIFIED
Mujtaba X SergiJapanBernardo Dominic NEGOTIATION
Mujtaba F AmigonFranceXuxue Feng NEGOTIATION
Jennifer Y VocelkaItalyAsiya Javayant NEGOTIATION
Smith O BriddickJapanXuxue Feng NEW
Juan P SlusarskiSpainXuxue Feng NEW
Francesco Y KuskoRussiaIoni Bowcher UNQUALIFIED
Juan Z CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Aika X PaprockiGermanyAnna Fali UNQUALIFIED
Silvio C FigeroaFranceXuxue Feng QUALIFIED
Faith V MaletUnited KingdomAnna Fali NEW
Morrow V PoquetteAustraliaBernardo Dominic PROPOSAL
Julie Q WaycottJapanIoni Bowcher UNQUALIFIED
Nicolas Y StensethUnited KingdomIvan Magalhaes QUALIFIED
Francesco D FollerIndiaXuxue Feng NEW
Juan X GauchoItalyAnna Fali NEGOTIATION
Alejandro V RimJapanIoni Bowcher UNQUALIFIED
Antonio J CaudyCanadaAmy Elsner RENEWAL

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