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
Arvin Z MarrierIndiaBernardo Dominic QUALIFIED
Emily M OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Murillo D MarrierCanadaOnyama Limba QUALIFIED
Munro F FerenczRussiaAnna Fali PROPOSAL
Izzy S SchemmerBrazilXuxue Feng QUALIFIED
Darci T KolmetzAustraliaOnyama Limba PROPOSAL
Adams Q RutaItalyAsiya Javayant UNQUALIFIED
Tony M CaudyCanadaStephen Shaw PROPOSAL
Emily W RoysterCanadaXuxue Feng UNQUALIFIED
Arvin B PerinArgentinaXuxue Feng UNQUALIFIED
Stacey F GauchoItalyElwin Sharvill NEGOTIATION
Antonio D PoquetteCanadaIoni Bowcher PROPOSAL
Clifford V DilliardCanadaAnna Fali UNQUALIFIED
Aika X PerinGermanyOnyama Limba PROPOSAL
Alejandro Q PerinAustraliaAnna Fali PROPOSAL
Darci F GlickArgentinaElwin Sharvill PROPOSAL
Octavia A OstroskyCanadaElwin Sharvill NEW
Mayumi N DoeItalyAmy Elsner RENEWAL
Jones J PerinBrazilOnyama Limba NEGOTIATION
Murillo R DoeIndiaIoni Bowcher PROPOSAL
Izzy U IturbideSpainStephen Shaw NEGOTIATION
Ivar X TollnerGermanyElwin Sharvill QUALIFIED
Salvatore T DilliardGermanyStephen Shaw PROPOSAL
Clifford C MorascaCanadaStephen Shaw NEW
Sinclair J SchemmerSpainIoni Bowcher PROPOSAL
Aruna L DilliardRussiaStephen Shaw PROPOSAL
Kaitlin D GarufiAustraliaElwin Sharvill RENEWAL
Greenwood P GlickSpainElwin Sharvill PROPOSAL
Darci N SchemmerAustraliaElwin Sharvill RENEWAL
Arvin F DarakjyCanadaIoni Bowcher UNQUALIFIED
Cody M SlusarskiJapanElwin Sharvill PROPOSAL
Alejandro F SergiFranceOnyama Limba QUALIFIED
Kadeem V WieserAustraliaIvan Magalhaes QUALIFIED
Deepesh R IturbideCanadaOnyama Limba NEGOTIATION
Johnson T AlbaresItalyAsiya Javayant NEGOTIATION
Faith X GlickFranceXuxue Feng PROPOSAL
Juan R StensethUnited KingdomIoni Bowcher UNQUALIFIED
Emily J ChuiCanadaOnyama Limba UNQUALIFIED
Antonio U MorascaUnited KingdomIoni Bowcher NEW
Tony F WaycottCanadaOnyama Limba UNQUALIFIED
Aika X DoeItalyElwin Sharvill UNQUALIFIED
Deepesh C InouyeRussiaIoni Bowcher RENEWAL
Isabel P MaletItalyAmy Elsner RENEWAL
Darci I DilliardIndiaIoni Bowcher NEW
Mayumi K StensethAustraliaAnna Fali NEGOTIATION
Nicolas U OldroydJapanAnna Fali NEGOTIATION
Sinclair G VocelkaFranceAmy Elsner RENEWAL
Aika M AlbaresArgentinaAnna Fali NEW
Adams L NickaGermanyIvan Magalhaes QUALIFIED
Jeanfrancois G BriddickArgentinaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson Z DilliardSpainIoni Bowcher NEW
Isabel W WhobreyRussiaStephen Shaw PROPOSAL
Munro V InouyeUnited KingdomIoni Bowcher NEGOTIATION
Wickens T FerenczUnited KingdomOnyama Limba QUALIFIED
Antonio B BowleyItalyIoni Bowcher UNQUALIFIED
Darci U DoeItalyAmy Elsner QUALIFIED
Isabel B VenereUnited KingdomElwin Sharvill QUALIFIED
Deepesh J MaletFranceIvan Magalhaes QUALIFIED
Maisha N InouyeFranceBernardo Dominic PROPOSAL
Smith A KolmetzUnited KingdomElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha T ChuiRussia2024-05-14Truhlar And Truhlar Attys QUALIFIED78Elwin Sharvill
1001Greenwood S TollnerIndia2024-05-17King, Christopher A Esq QUALIFIED28Xuxue Feng
1002Mayumi X RimRussia2024-06-10Buckley Miller Wright QUALIFIED15Amy Elsner
1003Smith N SaylorsUnited Kingdom2024-06-08Printing Dimensions UNQUALIFIED42Stephen Shaw
1004Deepesh O AlbaresJapan2024-05-24Commercial Press QUALIFIED83Stephen Shaw
1005Francesco D DoeJapan2024-05-26Chanay, Jeffrey A Esq NEGOTIATION4Ioni Bowcher
1006Munro W GillianUnited Kingdom2024-06-08Chanay, Jeffrey A Esq PROPOSAL88Ioni Bowcher
1007Jeanfrancois K SergiGermany2024-05-23King, Christopher A Esq UNQUALIFIED1Ioni Bowcher
1008Arvin J CaudyItaly2024-06-10Feltz Printing Service NEW40Ioni Bowcher
1009Julie O ChuiGermany2024-06-07Buckley Miller Wright QUALIFIED95Xuxue Feng
1010Silvio N GarufiItaly2024-06-02Morlong Associates UNQUALIFIED81Bernardo Dominic
1011Mujtaba W BologniaItaly2024-06-07Rangoni Of Florence PROPOSAL96Bernardo Dominic
1012Murillo B ShinkoIndia2024-06-10Printing Dimensions UNQUALIFIED68Onyama Limba
1013Alejandro V BowleySpain2024-06-10Chapman, Ross E Esq NEGOTIATION91Amy Elsner
1014Jeanfrancois H AlbaresCanada2024-05-28Dorl, James J Esq NEGOTIATION88Bernardo Dominic
1015Octavia Q AlbaresItaly2024-05-26Buckley Miller Wright PROPOSAL83Ivan Magalhaes
1016Darci O RimSpain2024-05-17Chapman, Ross E Esq UNQUALIFIED6Asiya Javayant
1017Leon P MorascaArgentina2024-05-12Buckley Miller Wright QUALIFIED15Ioni Bowcher
1018Johnson I PoquetteArgentina2024-05-17Buckley Miller Wright NEW69Stephen Shaw
1019Ricardo P WieserUnited Kingdom2024-06-03Chemel, James L Cpa QUALIFIED19Bernardo Dominic
1020Mujtaba I RoysterJapan2024-06-04Dorl, James J Esq RENEWAL43Onyama Limba
1021Faith Y WaycottSpain2024-05-14Rousseaux, Michael Esq PROPOSAL99Asiya Javayant
1022David Z ChuiSpain2024-05-15Printing Dimensions RENEWAL78Xuxue Feng
1023Adams C MacleadUnited Kingdom2024-05-26Feltz Printing Service UNQUALIFIED41Stephen Shaw
1024Greenwood Y FigeroaRussia2024-05-24Commercial Press NEW51Asiya Javayant
1025Kadeem N DoeItaly2024-05-25Chemel, James L Cpa UNQUALIFIED95Amy Elsner
1026Faith L SaylorsRussia2024-06-09Dorl, James J Esq NEGOTIATION13Xuxue Feng
1027Rodrigues K StensethFrance2024-06-05Rangoni Of Florence NEGOTIATION46Bernardo Dominic
1028James C CampainGermany2024-06-05Chapman, Ross E Esq PROPOSAL0Asiya Javayant
1029Smith P KolmetzSpain2024-05-27King, Christopher A Esq UNQUALIFIED74Stephen Shaw
1030Aika F GlickJapan2024-05-18Commercial Press QUALIFIED53Asiya Javayant
1031Jeanfrancois R MaletGermany2024-05-20Chemel, James L Cpa NEW20Onyama Limba
1032Darci G FerenczBrazil2024-05-18Dorl, James J Esq PROPOSAL40Stephen Shaw
1033Claire M MorascaCanada2024-05-25Buckley Miller Wright NEGOTIATION36Asiya Javayant
1034James E ChuiSpain2024-06-09Buckley Miller Wright NEGOTIATION36Xuxue Feng
1035Clifford B GauchoUnited Kingdom2024-05-25King, Christopher A Esq RENEWAL47Ivan Magalhaes
1036Salvatore J RutaIndia2024-06-06Chemel, James L Cpa UNQUALIFIED80Ioni Bowcher
1037Cody R TollnerFrance2024-05-20Dorl, James J Esq NEW62Bernardo Dominic
1038Misaki F RulapaughIndia2024-05-28King, Christopher A Esq PROPOSAL60Xuxue Feng
1039Smith I BowleyBrazil2024-05-24Dorl, James J Esq QUALIFIED49Ivan Magalhaes
1040Antonio B MarrierGermany2024-06-03Rousseaux, Michael Esq PROPOSAL92Asiya Javayant
1041Greenwood R SchemmerBrazil2024-06-05King, Christopher A Esq UNQUALIFIED26Ioni Bowcher
1042Aditya K GillianRussia2024-05-23Feltz Printing Service UNQUALIFIED14Onyama Limba
1043Tony Z SaylorsSpain2024-05-13Truhlar And Truhlar Attys NEGOTIATION89Amy Elsner
1044Juan R FlosiIndia2024-05-23Truhlar And Truhlar Attys QUALIFIED69Asiya Javayant
1045Ashley T WieserUnited Kingdom2024-05-15Chemel, James L Cpa NEGOTIATION91Xuxue Feng
1046Cody V MorascaItaly2024-05-24Feltz Printing Service RENEWAL37Amy Elsner
1047Aika V BowleyItaly2024-05-31Chemel, James L Cpa RENEWAL75Bernardo Dominic
1048Aika X ChuiArgentina2024-05-13Chanay, Jeffrey A Esq QUALIFIED10Bernardo Dominic
1049David Y RoysterBrazil2024-05-31Feltz Printing Service PROPOSAL16Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
David Z CaldareraBrazilElwin Sharvill RENEWAL
Johnson R AlbaresUnited KingdomIoni Bowcher QUALIFIED
Kadeem M VenereFranceIoni Bowcher NEW
Isabel P TollnerBrazilBernardo Dominic PROPOSAL
Maisha U KolmetzJapanStephen Shaw RENEWAL
Jeanfrancois R CaudyIndiaIoni Bowcher NEW
Nicolas R MarrierFranceAmy Elsner UNQUALIFIED
Clifford T WaycottSpainIoni Bowcher NEGOTIATION
Silvio O DarakjyItalyBernardo Dominic NEGOTIATION
Aruna B DoeRussiaElwin Sharvill PROPOSAL
Nicolas H DarakjyAustraliaIoni Bowcher NEGOTIATION
Izzy L PerinItalyAnna Fali RENEWAL
Ashley D NickaJapanOnyama Limba UNQUALIFIED
Mayumi L WieserFranceIvan Magalhaes NEW
Darci Y ChuiGermanyAsiya Javayant QUALIFIED
Leja N NestleCanadaOnyama Limba RENEWAL
Jeanfrancois N GlickArgentinaIoni Bowcher RENEWAL
Nicolas N WhobreySpainIvan Magalhaes RENEWAL
Clifford D RulapaughAustraliaXuxue Feng QUALIFIED
Sinclair S FigeroaCanadaIvan Magalhaes QUALIFIED
Murillo J RutaIndiaIvan Magalhaes QUALIFIED
Antonio Z IturbideBrazilStephen Shaw NEW
Kaitlin B DilliardJapanAsiya Javayant QUALIFIED
Kadeem G FerenczFranceStephen Shaw QUALIFIED
Kaitlin K SaylorsAustraliaAmy Elsner RENEWAL
Greenwood Y BriddickGermanyStephen Shaw PROPOSAL
Silvio T WhobreyAustraliaElwin Sharvill NEW
David Y BowleyUnited KingdomAnna Fali RENEWAL
Jefferson Q MarrierRussiaElwin Sharvill NEGOTIATION
Smith B MaletIndiaXuxue Feng RENEWAL
Wickens X NestleFranceAnna Fali UNQUALIFIED
Ashley O MorascaArgentinaElwin Sharvill RENEWAL
Julie P ChuiJapanAmy Elsner NEGOTIATION
Munro T TollnerFranceBernardo Dominic PROPOSAL
Salvatore A MacleadIndiaIvan Magalhaes PROPOSAL
Aika X MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel H ShinkoGermanyAmy Elsner QUALIFIED
Francesco K FigeroaSpainIvan Magalhaes QUALIFIED
Francesco P PoquetteSpainIvan Magalhaes NEW
Kadeem A MaletUnited KingdomOnyama Limba NEW
Clifford U RoysterFranceIoni Bowcher NEW
Johnson X SaylorsAustraliaIvan Magalhaes QUALIFIED
Cody M AmigonSpainAsiya Javayant RENEWAL
Izzy U WhobreyArgentinaAsiya Javayant QUALIFIED
Maria O GarufiRussiaBernardo Dominic NEGOTIATION
Leja G ShinkoBrazilAmy Elsner RENEWAL
Chavez J CampainUnited KingdomIvan Magalhaes RENEWAL
Faith A MacleadUnited KingdomXuxue Feng NEGOTIATION
Arvin S FerenczFranceBernardo Dominic NEW
Jefferson W MarrierRussiaIvan Magalhaes NEW
Frozen Columns
Name
Maria I Gillian
Izzy W Dilliard
Greenwood Q Tollner
Johnson O Perin
Stacey B Malet
Smith Q Venere
Maria T Flosi
Murillo F Nestle
Silvio O Maclead
Leon V Schemmer
Jeanfrancois G Albares
Leja Z Stenseth
Kaitlin A Malet
Stacey W Whobrey
Cody T Inouye
Jones D Darakjy
Wickens N Briddick
Misaki L Rulapaugh
Izzy W Chui
Rodrigues U Chui
Alejandro Z Dilliard
Chavez R Venere
Sinclair Q Perin
Clifford N Gillian
Adams A Briddick
Jefferson X Saylors
Emily E Stockham
Kaitlin B Paprocki
Chavez W Briddick
Jones T Chui
Stacey N Paprocki
Aruna E Oldroyd
Leja Q Schemmer
Kaitlin K Amigon
Leja V Slusarski
Smith N Tollner
Kaitlin T Ferencz
Faith Q Campain
Arvin N Bolognia
Jeanfrancois X Albares
Adams W Whobrey
Kaitlin P Glick
Mujtaba T Marrier
Isabel C Oldroyd
Sinclair K Poquette
Jones F Stockham
Maria I Wieser
Wickens A Chui
Ashley X Bowley
Stacey U Nicka
IdCountryDate
1000Canada2024-06-04
1001India2024-05-12
1002Russia2024-05-22
1003Japan2024-06-04
1004France2024-05-14
1005United Kingdom2024-06-01
1006Russia2024-05-28
1007Italy2024-05-25
1008Spain2024-05-16
1009Germany2024-05-12
1010France2024-06-08
1011Canada2024-05-13
1012Spain2024-06-01
1013Canada2024-06-06
1014Spain2024-05-30
1015Australia2024-05-29
1016Spain2024-05-17
1017Canada2024-06-09
1018Argentina2024-06-08
1019France2024-05-26
1020Canada2024-06-02
1021Italy2024-05-12
1022India2024-05-17
1023Italy2024-05-22
1024Brazil2024-05-21
1025United Kingdom2024-06-07
1026United Kingdom2024-05-12
1027Spain2024-05-29
1028Germany2024-06-06
1029Japan2024-05-14
1030Australia2024-05-25
1031Brazil2024-06-02
1032Russia2024-05-14
1033Argentina2024-06-03
1034Italy2024-05-24
1035Australia2024-05-25
1036Russia2024-05-17
1037Brazil2024-06-08
1038India2024-05-13
1039Germany2024-06-02
1040Argentina2024-05-14
1041Russia2024-06-03
1042Japan2024-05-15
1043Italy2024-05-12
1044Russia2024-05-20
1045Spain2024-06-08
1046Canada2024-05-21
1047Brazil2024-05-19
1048Russia2024-05-17
1049United Kingdom2024-05-17

On-Demand Data

NameIdCountryDate
Jeanfrancois O Wieser1000Brazil2024-05-18
Jefferson L Shinko1001Russia2024-05-14
Cody O Whobrey1002Spain2024-05-14
Nicolas F Foller1003Germany2024-05-19
Ashley K Royster1004Japan2024-06-03
Ivar M Inouye1005Russia2024-06-07
Kadeem Y Albares1006Brazil2024-06-10
Sinclair L Sergi1007Spain2024-05-14
Maisha P Perin1008Russia2024-05-21
Mayumi D Oldroyd1009India2024-05-13
Jefferson P Caldarera1010France2024-05-21
Greenwood C Royster1011Germany2024-06-05
Jennifer S Inouye1012Australia2024-06-08
Stacey X Kusko1013Japan2024-05-18
Aika E Saylors1014Canada2024-05-22
Maria J Figeroa1015Argentina2024-05-27
Salvatore A Butt1016Spain2024-06-04
Nicolas Q Caudy1017Japan2024-06-05
Jones H Wieser1018United Kingdom2024-06-05
Aika E Amigon1019Brazil2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi J PoquetteRussiaBernardo Dominic NEW
Alejandro Y CaudyUnited KingdomBernardo Dominic PROPOSAL
Adams R KolmetzIndiaElwin Sharvill NEW
Chavez I BologniaItalyOnyama Limba UNQUALIFIED
Silvio Q ShinkoIndiaElwin Sharvill PROPOSAL
Jeanfrancois X WhobreyBrazilAmy Elsner NEW
Jennifer O IturbideArgentinaXuxue Feng PROPOSAL
Jefferson Z RoysterCanadaStephen Shaw PROPOSAL
Silvio X GauchoAustraliaElwin Sharvill QUALIFIED
Isabel M InouyeSpainIoni Bowcher RENEWAL
Kadeem R BriddickFranceBernardo Dominic NEW
Rodrigues I StockhamGermanyBernardo Dominic PROPOSAL
Maria C RutaUnited KingdomElwin Sharvill NEGOTIATION
Mujtaba L ButtAustraliaIvan Magalhaes NEW
Mujtaba H InouyeCanadaAmy Elsner NEW
Maria W KuskoArgentinaAnna Fali NEGOTIATION
Cody K MaletJapanElwin Sharvill NEGOTIATION
Alejandro U StockhamBrazilAnna Fali RENEWAL
Izzy B FollerBrazilElwin Sharvill QUALIFIED
Mayumi J OstroskyJapanAnna Fali QUALIFIED
James T SergiCanadaAmy Elsner QUALIFIED
Chavez V RutaGermanyBernardo Dominic NEW
Jennifer A GarufiBrazilIoni Bowcher QUALIFIED
Kadeem M AmigonBrazilAmy Elsner UNQUALIFIED
Antonio M CaldareraIndiaXuxue Feng PROPOSAL
James Y NestleArgentinaOnyama Limba QUALIFIED
Wickens Z ShinkoArgentinaElwin Sharvill RENEWAL
Aruna Z CaudyJapanIoni Bowcher UNQUALIFIED
Costa H PerinArgentinaBernardo Dominic QUALIFIED
Kadeem O GlickSpainStephen Shaw NEW
James J DarakjyIndiaStephen Shaw RENEWAL
Jefferson P StensethFranceElwin Sharvill UNQUALIFIED
Juan O SergiIndiaOnyama Limba UNQUALIFIED
Rodrigues A CaudyUnited KingdomAnna Fali PROPOSAL
Julie E MaletIndiaIoni Bowcher QUALIFIED
Izzy V VocelkaFranceBernardo Dominic NEGOTIATION
Jennifer D CaldareraItalyAnna Fali NEGOTIATION
Leon Y NestleAustraliaIoni Bowcher NEW
Isabel A VenereSpainStephen Shaw RENEWAL
Francesco G SchemmerAustraliaIvan Magalhaes UNQUALIFIED

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