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
Antonio X RutaIndiaIoni Bowcher NEW
Jennifer H GlickCanadaIvan Magalhaes NEW
Alejandro A DoeUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois Z MacleadItalyAmy Elsner NEGOTIATION
Nicolas O SchemmerIndiaAsiya Javayant QUALIFIED
Leon C RimGermanyAmy Elsner UNQUALIFIED
Aruna L MaletRussiaAmy Elsner NEW
Johnson M GarufiAustraliaAsiya Javayant NEGOTIATION
Faith N DarakjyJapanElwin Sharvill NEW
Alejandro I SergiIndiaBernardo Dominic RENEWAL
Clifford K SergiGermanyAnna Fali PROPOSAL
Wickens U CaudyIndiaXuxue Feng UNQUALIFIED
Costa I RulapaughIndiaStephen Shaw QUALIFIED
Silvio R AlbaresAustraliaXuxue Feng NEW
Izzy J DoeArgentinaAsiya Javayant UNQUALIFIED
Antonio V SchemmerItalyIvan Magalhaes PROPOSAL
Murillo K RulapaughArgentinaStephen Shaw RENEWAL
Octavia R GlickCanadaOnyama Limba NEGOTIATION
Chavez Z MorascaBrazilStephen Shaw NEGOTIATION
Ivar A SergiRussiaAmy Elsner NEW
Aditya U KuskoIndiaIvan Magalhaes NEGOTIATION
Jennifer J MacleadFranceBernardo Dominic NEGOTIATION
Chavez Z ShinkoBrazilAsiya Javayant QUALIFIED
Aika V SergiItalyOnyama Limba UNQUALIFIED
Francesco Y GillianArgentinaBernardo Dominic UNQUALIFIED
Cody V VocelkaUnited KingdomElwin Sharvill NEW
Chavez A CaudyAustraliaIoni Bowcher QUALIFIED
Jefferson W ShinkoBrazilIoni Bowcher UNQUALIFIED
James S IturbideSpainAnna Fali QUALIFIED
Johnson F VenereGermanyXuxue Feng NEGOTIATION
Kadeem V VenereUnited KingdomElwin Sharvill NEW
Sinclair C StockhamArgentinaAmy Elsner RENEWAL
Jennifer N MacleadSpainAnna Fali PROPOSAL
Antonio K DoeIndiaIoni Bowcher RENEWAL
Morrow C SchemmerGermanyElwin Sharvill UNQUALIFIED
Munro U CampainCanadaStephen Shaw NEGOTIATION
Murillo I DoeItalyStephen Shaw NEGOTIATION
Rodrigues P DilliardAustraliaIvan Magalhaes UNQUALIFIED
Francesco E IturbideItalyBernardo Dominic NEW
Greenwood T ButtArgentinaAmy Elsner QUALIFIED
Mayumi S CaudyIndiaElwin Sharvill NEW
Francesco E DoeIndiaOnyama Limba QUALIFIED
Octavia D OldroydFranceAsiya Javayant PROPOSAL
Alejandro F MacleadGermanyAsiya Javayant PROPOSAL
Aika Z SchemmerSpainAmy Elsner RENEWAL
Cody P ShinkoFranceIoni Bowcher QUALIFIED
James H SaylorsSpainStephen Shaw QUALIFIED
Stacey O TollnerIndiaAnna Fali QUALIFIED
Cody P DilliardRussiaIvan Magalhaes UNQUALIFIED
Clifford E MaletSpainStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie X ButtRussiaIvan Magalhaes RENEWAL
Silvio S DoeCanadaStephen Shaw NEW
Arvin Z NickaGermanyElwin Sharvill UNQUALIFIED
Wickens N DoeIndiaAsiya Javayant UNQUALIFIED
David I CaudyGermanyAmy Elsner PROPOSAL
Tony Q NestleArgentinaAmy Elsner RENEWAL
Mujtaba T OldroydIndiaXuxue Feng PROPOSAL
Greenwood F FollerRussiaAnna Fali UNQUALIFIED
Ricardo Z RulapaughAustraliaElwin Sharvill NEGOTIATION
Costa F KuskoArgentinaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony U VenereUnited Kingdom2025-04-23Commercial Press NEGOTIATION84Stephen Shaw
1001Jennifer B StockhamItaly2025-04-16Feiner Bros NEW29Bernardo Dominic
1002Alejandro G KolmetzSpain2025-04-13Feltz Printing Service NEGOTIATION11Xuxue Feng
1003Aruna C InouyeFrance2025-05-02Printing Dimensions PROPOSAL3Stephen Shaw
1004Chavez H MarrierArgentina2025-05-05Rousseaux, Michael Esq NEGOTIATION55Asiya Javayant
1005Nicolas K GlickArgentina2025-05-04Printing Dimensions QUALIFIED36Bernardo Dominic
1006Aika F GauchoAustralia2025-05-11Benton, John B Jr QUALIFIED76Bernardo Dominic
1007Stacey R MarrierCanada2025-04-30Chemel, James L Cpa QUALIFIED49Xuxue Feng
1008Aruna B BowleyRussia2025-04-13Rangoni Of Florence NEGOTIATION14Ioni Bowcher
1009Wickens Y ShinkoArgentina2025-04-25Truhlar And Truhlar Attys PROPOSAL9Asiya Javayant
1010Aditya G GarufiArgentina2025-05-10Chemel, James L Cpa UNQUALIFIED54Ivan Magalhaes
1011Johnson O InouyeFrance2025-05-04Rangoni Of Florence PROPOSAL95Asiya Javayant
1012Izzy S CaudyBrazil2025-05-01Feiner Bros UNQUALIFIED4Amy Elsner
1013Ricardo I MorascaBrazil2025-04-25Chapman, Ross E Esq NEW80Bernardo Dominic
1014Tony D SlusarskiArgentina2025-04-17Rangoni Of Florence QUALIFIED16Asiya Javayant
1015Costa U StockhamSpain2025-04-21Printing Dimensions PROPOSAL94Onyama Limba
1016Emily I BologniaGermany2025-04-19Dorl, James J Esq RENEWAL4Amy Elsner
1017Murillo D GillianIndia2025-04-20Feltz Printing Service NEGOTIATION63Elwin Sharvill
1018Munro D StockhamUnited Kingdom2025-05-10Rousseaux, Michael Esq RENEWAL13Onyama Limba
1019Maisha N MarrierFrance2025-05-03Chanay, Jeffrey A Esq RENEWAL67Stephen Shaw
1020Izzy M StockhamGermany2025-05-03Printing Dimensions PROPOSAL50Anna Fali
1021Ivar I GlickCanada2025-05-11King, Christopher A Esq QUALIFIED94Ivan Magalhaes
1022James V InouyeGermany2025-04-27King, Christopher A Esq PROPOSAL23Elwin Sharvill
1023Leon A VocelkaBrazil2025-04-14Dorl, James J Esq RENEWAL14Ioni Bowcher
1024Alejandro W SergiSpain2025-04-18Rangoni Of Florence RENEWAL85Onyama Limba
1025Maria M DilliardGermany2025-05-12Chanay, Jeffrey A Esq UNQUALIFIED58Ioni Bowcher
1026Claire S ButtIndia2025-05-03King, Christopher A Esq QUALIFIED91Stephen Shaw
1027Adams C RutaBrazil2025-05-04Chemel, James L Cpa NEGOTIATION38Anna Fali
1028Emily J FlosiItaly2025-05-05Benton, John B Jr UNQUALIFIED70Bernardo Dominic
1029Antonio K PaprockiFrance2025-04-23King, Christopher A Esq QUALIFIED31Onyama Limba
1030Tony U SlusarskiUnited Kingdom2025-04-27Dorl, James J Esq UNQUALIFIED30Bernardo Dominic
1031Jeanfrancois U GauchoItaly2025-05-05Morlong Associates UNQUALIFIED46Bernardo Dominic
1032Julie C MarrierFrance2025-05-09Feltz Printing Service NEW81Ioni Bowcher
1033Rodrigues O ChuiAustralia2025-04-23Rousseaux, Michael Esq NEW36Elwin Sharvill
1034Juan N RoysterArgentina2025-04-16Chemel, James L Cpa NEW91Asiya Javayant
1035Chavez E FigeroaAustralia2025-04-24Commercial Press PROPOSAL54Xuxue Feng
1036Stacey N GlickJapan2025-05-01Printing Dimensions PROPOSAL0Elwin Sharvill
1037Alejandro P WieserIndia2025-05-01Commercial Press QUALIFIED34Anna Fali
1038Smith Y FigeroaGermany2025-04-27Chanay, Jeffrey A Esq RENEWAL82Xuxue Feng
1039Tony P GarufiBrazil2025-04-13Dorl, James J Esq QUALIFIED97Xuxue Feng
1040Smith L NestleFrance2025-04-14Benton, John B Jr QUALIFIED18Bernardo Dominic
1041Stacey G SchemmerGermany2025-05-09Morlong Associates RENEWAL11Ioni Bowcher
1042Leon E GarufiCanada2025-04-15Commercial Press UNQUALIFIED60Xuxue Feng
1043Maisha B CampainAustralia2025-05-01Printing Dimensions RENEWAL92Amy Elsner
1044Johnson U GillianItaly2025-04-22Benton, John B Jr UNQUALIFIED3Asiya Javayant
1045Stacey H RulapaughFrance2025-04-25Commercial Press NEGOTIATION61Ioni Bowcher
1046Costa W MaletRussia2025-04-24Dorl, James J Esq NEW98Ivan Magalhaes
1047Misaki Z MacleadUnited Kingdom2025-04-17Chanay, Jeffrey A Esq NEGOTIATION79Amy Elsner
1048Rodrigues Z MorascaItaly2025-04-15Rousseaux, Michael Esq RENEWAL86Elwin Sharvill
1049Jefferson C ChuiUnited Kingdom2025-05-07King, Christopher A Esq NEGOTIATION50Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James O BriddickSpainAsiya Javayant UNQUALIFIED
Aika S RulapaughFranceElwin Sharvill QUALIFIED
Johnson B MorascaAustraliaIvan Magalhaes PROPOSAL
Aruna E RoysterArgentinaElwin Sharvill RENEWAL
Darci D GillianArgentinaIvan Magalhaes RENEWAL
Rodrigues W SergiJapanIoni Bowcher PROPOSAL
Jennifer C KuskoUnited KingdomElwin Sharvill QUALIFIED
Aditya E RimSpainIvan Magalhaes NEGOTIATION
Antonio T AmigonUnited KingdomAmy Elsner UNQUALIFIED
Greenwood T SlusarskiAustraliaElwin Sharvill QUALIFIED
Juan A GauchoBrazilElwin Sharvill QUALIFIED
Jones V IturbideJapanOnyama Limba RENEWAL
Faith D VenereCanadaIvan Magalhaes NEW
Maria Y TollnerIndiaAnna Fali QUALIFIED
Stacey H GauchoRussiaBernardo Dominic UNQUALIFIED
Juan Z DilliardSpainElwin Sharvill QUALIFIED
Claire M GarufiBrazilAsiya Javayant PROPOSAL
David T RutaFranceOnyama Limba QUALIFIED
Morrow R WaycottGermanyBernardo Dominic UNQUALIFIED
Jennifer K DilliardIndiaIvan Magalhaes PROPOSAL
Faith U CaudyGermanyBernardo Dominic NEGOTIATION
Chavez O RoysterJapanElwin Sharvill NEGOTIATION
Faith L SergiAustraliaXuxue Feng UNQUALIFIED
Costa K MaletItalyBernardo Dominic RENEWAL
Jennifer W MarrierArgentinaAsiya Javayant QUALIFIED
Murillo X CaldareraBrazilXuxue Feng PROPOSAL
Deepesh Z ShinkoRussiaAnna Fali NEGOTIATION
Octavia X WaycottJapanStephen Shaw PROPOSAL
Juan M MaletGermanyStephen Shaw NEGOTIATION
Misaki M SlusarskiArgentinaElwin Sharvill RENEWAL
Johnson B StockhamSpainAmy Elsner RENEWAL
Juan E DoeBrazilStephen Shaw NEGOTIATION
Antonio C RoysterGermanyStephen Shaw RENEWAL
Claire T TollnerBrazilStephen Shaw PROPOSAL
Juan M StockhamUnited KingdomElwin Sharvill QUALIFIED
Johnson Z KolmetzArgentinaOnyama Limba NEGOTIATION
Jennifer Z NickaIndiaStephen Shaw NEW
Antonio N ButtAustraliaElwin Sharvill NEW
Smith J DilliardFranceAnna Fali NEW
Octavia P StensethRussiaAmy Elsner PROPOSAL
Maisha P MaletAustraliaBernardo Dominic PROPOSAL
Jefferson G MarrierCanadaAsiya Javayant NEW
Aika K MaletItalyIoni Bowcher NEW
Clifford C IturbideItalyStephen Shaw QUALIFIED
Costa U CaudyRussiaBernardo Dominic UNQUALIFIED
Johnson Q GarufiCanadaStephen Shaw NEW
David F VocelkaAustraliaBernardo Dominic UNQUALIFIED
Leon R CaudyArgentinaAnna Fali RENEWAL
Claire H DarakjyArgentinaAsiya Javayant NEGOTIATION
Wickens T GillianFranceAsiya Javayant RENEWAL
Frozen Columns
Name
Smith B Sergi
Smith Q Iturbide
Sinclair O Iturbide
Jennifer B Oldroyd
Costa E Maclead
Costa T Caudy
Smith X Poquette
Alejandro G Royster
Adams L Schemmer
Ashley W Ruta
Deepesh C Malet
Ricardo I Vocelka
Isabel H Bowley
Salvatore C Poquette
Julie E Ferencz
Arvin H Nestle
Mayumi H Whobrey
Nicolas X Morasca
Jeanfrancois I Inouye
Francesco I Briddick
Sinclair O Ferencz
Murillo L Iturbide
Aika Y Perin
Cody G Bolognia
Ivar M Venere
Antonio P Butt
Costa M Nicka
Ivar Z Flosi
Francesco B Doe
Mujtaba D Glick
Smith I Flosi
Emily Z Sergi
Claire L Schemmer
Maisha A Sergi
Adams E Stenseth
Chavez K Campain
Kadeem K Tollner
Johnson A Glick
Misaki O Butt
Aruna G Marrier
Adams T Foller
Mujtaba H Foller
Silvio K Shinko
Ashley Y Gaucho
Antonio I Albares
Misaki K Paprocki
Jeanfrancois Y Chui
Leon I Gillian
Clifford J Inouye
Jennifer M Venere
IdCountryDate
1000Japan2025-04-28
1001Spain2025-04-23
1002Japan2025-04-14
1003Argentina2025-04-24
1004Australia2025-05-04
1005France2025-05-01
1006Italy2025-04-16
1007India2025-05-01
1008Germany2025-04-26
1009United Kingdom2025-04-15
1010Germany2025-04-20
1011Brazil2025-04-18
1012India2025-04-24
1013Spain2025-05-11
1014Italy2025-05-08
1015Spain2025-05-04
1016Argentina2025-05-05
1017France2025-04-29
1018Brazil2025-05-09
1019United Kingdom2025-04-28
1020United Kingdom2025-04-22
1021Brazil2025-04-20
1022United Kingdom2025-04-13
1023France2025-05-12
1024United Kingdom2025-04-13
1025Spain2025-05-07
1026Italy2025-04-30
1027Russia2025-04-24
1028United Kingdom2025-05-12
1029Argentina2025-04-16
1030Brazil2025-04-21
1031Brazil2025-04-24
1032Italy2025-04-25
1033Brazil2025-05-03
1034France2025-05-05
1035Italy2025-04-30
1036Russia2025-04-22
1037Canada2025-05-05
1038Canada2025-05-03
1039Canada2025-05-06
1040United Kingdom2025-04-21
1041Russia2025-05-05
1042Brazil2025-05-07
1043Russia2025-04-27
1044Australia2025-05-09
1045Australia2025-05-05
1046Canada2025-04-30
1047Australia2025-04-16
1048Spain2025-05-08
1049Japan2025-04-17

On-Demand Data

NameIdCountryDate
Jefferson U Stenseth1000Japan2025-04-22
Wickens I Chui1001Germany2025-04-28
Kaitlin L Stockham1002Russia2025-04-21
Ricardo Q Briddick1003Japan2025-05-05
Munro I Paprocki1004United Kingdom2025-05-05
Adams U Malet1005France2025-04-18
Wickens X Campain1006France2025-04-27
Greenwood Z Ruta1007Australia2025-04-26
Antonio L Stockham1008Germany2025-04-14
Darci P Kusko1009Russia2025-04-24
Greenwood H Kusko1010Canada2025-04-30
Leja Z Glick1011France2025-04-27
Maisha G Waycott1012Japan2025-04-17
Greenwood O Ferencz1013Brazil2025-04-13
Nicolas P Gaucho1014Germany2025-04-20
Claire V Malet1015Australia2025-04-19
Munro S Rim1016Italy2025-04-22
Antonio P Gaucho1017Canada2025-04-19
Emily W Flosi1018Germany2025-05-07
Ivar P Oldroyd1019Spain2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood S AmigonBrazilElwin Sharvill QUALIFIED
Chavez D FlosiRussiaStephen Shaw QUALIFIED
Cody U BologniaItalyAmy Elsner RENEWAL
Salvatore C KolmetzGermanyAsiya Javayant NEW
Salvatore A MaletCanadaXuxue Feng PROPOSAL
Sinclair Z SaylorsUnited KingdomIvan Magalhaes NEW
Izzy E InouyeIndiaAsiya Javayant PROPOSAL
Murillo F WhobreyBrazilIoni Bowcher RENEWAL
Misaki Q WaycottIndiaAsiya Javayant NEW
Leja S MaletCanadaOnyama Limba PROPOSAL
Jennifer M MacleadSpainAmy Elsner UNQUALIFIED
Kaitlin A PaprockiUnited KingdomIoni Bowcher RENEWAL
Jennifer J FigeroaGermanyAmy Elsner NEGOTIATION
Emily O WieserArgentinaAnna Fali RENEWAL
Ashley Y DoeRussiaAmy Elsner RENEWAL
Darci Q MorascaArgentinaStephen Shaw NEW
Tony G KolmetzBrazilAsiya Javayant RENEWAL
Jeanfrancois B DoeArgentinaAsiya Javayant NEGOTIATION
Julie T KuskoRussiaBernardo Dominic UNQUALIFIED
Nicolas O PaprockiCanadaOnyama Limba UNQUALIFIED
Faith A DoeBrazilElwin Sharvill RENEWAL
James U FerenczIndiaIvan Magalhaes UNQUALIFIED
Salvatore R GlickCanadaBernardo Dominic RENEWAL
Aika X RoysterFranceIvan Magalhaes UNQUALIFIED
Francesco Q DilliardCanadaIvan Magalhaes RENEWAL
Aruna M CaudyFranceOnyama Limba RENEWAL
Darci W WieserUnited KingdomElwin Sharvill RENEWAL
Francesco F BriddickItalyAnna Fali UNQUALIFIED
Silvio Q GlickAustraliaAnna Fali UNQUALIFIED
Stacey D IturbideArgentinaIvan Magalhaes UNQUALIFIED
Misaki U CaldareraRussiaElwin Sharvill NEGOTIATION
Mujtaba T MarrierFranceIvan Magalhaes QUALIFIED
Aruna S MarrierCanadaAmy Elsner QUALIFIED
Leja Z BowleyItalyBernardo Dominic NEW
Wickens Q FlosiSpainIvan Magalhaes PROPOSAL
Deepesh E FerenczCanadaAsiya Javayant NEGOTIATION
Silvio B KuskoBrazilElwin Sharvill QUALIFIED
Rodrigues R PoquetteBrazilAmy Elsner PROPOSAL
Greenwood X MacleadRussiaOnyama Limba NEGOTIATION
Smith S CampainCanadaIvan Magalhaes 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>