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 K ShinkoFranceAmy Elsner PROPOSAL
Antonio C WaycottUnited KingdomAsiya Javayant NEGOTIATION
Jefferson P WieserFranceOnyama Limba QUALIFIED
Alejandro B BriddickArgentinaBernardo Dominic PROPOSAL
Nicolas S StockhamArgentinaElwin Sharvill NEW
Salvatore G SaylorsJapanBernardo Dominic NEGOTIATION
Murillo B RoysterBrazilAnna Fali UNQUALIFIED
Arvin A WhobreyItalyBernardo Dominic NEGOTIATION
Nicolas W KuskoUnited KingdomElwin Sharvill QUALIFIED
Aditya R PoquetteFranceAnna Fali NEW
Deepesh X RimRussiaIoni Bowcher RENEWAL
Ivar X PaprockiArgentinaStephen Shaw QUALIFIED
Maria W WhobreyItalyAnna Fali QUALIFIED
Munro P OstroskySpainIoni Bowcher UNQUALIFIED
Izzy U RutaIndiaOnyama Limba UNQUALIFIED
Francesco H IturbideSpainElwin Sharvill NEW
Alejandro Z WaycottUnited KingdomAmy Elsner PROPOSAL
David J PoquetteSpainIoni Bowcher UNQUALIFIED
Chavez J VenereSpainAsiya Javayant PROPOSAL
Costa D WieserRussiaIoni Bowcher UNQUALIFIED
Morrow R DarakjyBrazilAsiya Javayant NEGOTIATION
Maisha X OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba L MacleadItalyBernardo Dominic QUALIFIED
Morrow W WaycottUnited KingdomOnyama Limba UNQUALIFIED
Emily G DoeItalyElwin Sharvill NEW
Rodrigues B NickaSpainIoni Bowcher RENEWAL
Aditya G MacleadIndiaIoni Bowcher NEGOTIATION
Smith Y MarrierAustraliaElwin Sharvill NEGOTIATION
Misaki G StensethRussiaXuxue Feng RENEWAL
Nicolas V MorascaIndiaAsiya Javayant UNQUALIFIED
Clifford M VenereItalyAsiya Javayant RENEWAL
Maisha V PaprockiUnited KingdomElwin Sharvill RENEWAL
Nicolas W WhobreyArgentinaIoni Bowcher QUALIFIED
Misaki O StensethRussiaAmy Elsner QUALIFIED
Julie F MaletFranceAnna Fali NEGOTIATION
Misaki I NestleArgentinaElwin Sharvill NEW
Silvio Q PoquetteBrazilIvan Magalhaes QUALIFIED
Jefferson L WhobreyArgentinaAsiya Javayant NEW
Johnson R BologniaJapanOnyama Limba PROPOSAL
Francesco J NickaRussiaIvan Magalhaes NEGOTIATION
Cody P PoquetteAustraliaAsiya Javayant PROPOSAL
Munro D NestleFranceAnna Fali NEW
Kaitlin N MaletArgentinaStephen Shaw QUALIFIED
Isabel Z IturbideAustraliaAnna Fali PROPOSAL
Jeanfrancois C ShinkoArgentinaAnna Fali NEGOTIATION
Isabel R GarufiBrazilAmy Elsner UNQUALIFIED
Ivar Y CaudyFranceAmy Elsner QUALIFIED
Julie F StockhamBrazilIoni Bowcher RENEWAL
Costa Y StockhamFranceXuxue Feng QUALIFIED
Wickens W MorascaBrazilIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria I VocelkaUnited KingdomIvan Magalhaes RENEWAL
Julie D VocelkaAustraliaAnna Fali UNQUALIFIED
Octavia S SaylorsArgentinaElwin Sharvill PROPOSAL
Maria V BriddickFranceBernardo Dominic RENEWAL
Octavia F RutaJapanIoni Bowcher RENEWAL
Murillo S AlbaresArgentinaBernardo Dominic PROPOSAL
Nicolas S WaycottBrazilIoni Bowcher NEW
Murillo U IturbideJapanStephen Shaw RENEWAL
Tony Z IturbideGermanyXuxue Feng UNQUALIFIED
Jeanfrancois Y ChuiJapanIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan X ButtIndia2024-06-23Rangoni Of Florence NEW99Onyama Limba
1001Antonio F PaprockiUnited Kingdom2024-06-05Truhlar And Truhlar Attys NEGOTIATION18Bernardo Dominic
1002Smith F MorascaArgentina2024-06-14Rangoni Of Florence NEGOTIATION69Xuxue Feng
1003Jones K FollerCanada2024-06-21Commercial Press UNQUALIFIED84Elwin Sharvill
1004Wickens S CaldareraRussia2024-06-11Printing Dimensions RENEWAL54Anna Fali
1005Misaki I WaycottIndia2024-06-15Feltz Printing Service UNQUALIFIED87Bernardo Dominic
1006Costa P GauchoUnited Kingdom2024-06-19Chanay, Jeffrey A Esq NEGOTIATION18Xuxue Feng
1007Stacey S CampainRussia2024-06-12Feltz Printing Service RENEWAL71Ioni Bowcher
1008Wickens S WaycottFrance2024-05-29Truhlar And Truhlar Attys PROPOSAL34Asiya Javayant
1009Salvatore B RimArgentina2024-06-16Feiner Bros PROPOSAL58Bernardo Dominic
1010Rodrigues F VocelkaSpain2024-06-18Feiner Bros QUALIFIED69Anna Fali
1011Kaitlin M BowleyCanada2024-06-08Truhlar And Truhlar Attys QUALIFIED57Ioni Bowcher
1012Mayumi J CaudyRussia2024-06-11Printing Dimensions PROPOSAL60Bernardo Dominic
1013Jefferson H PoquetteGermany2024-06-13Chemel, James L Cpa NEGOTIATION70Anna Fali
1014Deepesh B ShinkoItaly2024-05-29Dorl, James J Esq NEW94Bernardo Dominic
1015Silvio X ChuiAustralia2024-06-16Chemel, James L Cpa NEW2Bernardo Dominic
1016Salvatore I PaprockiJapan2024-06-20Rousseaux, Michael Esq RENEWAL11Amy Elsner
1017Maria Z RoysterGermany2024-06-07Rousseaux, Michael Esq UNQUALIFIED30Elwin Sharvill
1018Deepesh W MacleadIndia2024-06-10Chemel, James L Cpa QUALIFIED31Xuxue Feng
1019Greenwood M MacleadCanada2024-06-20King, Christopher A Esq NEGOTIATION94Stephen Shaw
1020Ivar P CampainIndia2024-06-06Buckley Miller Wright RENEWAL85Onyama Limba
1021Jennifer O WhobreyUnited Kingdom2024-05-29Morlong Associates PROPOSAL34Stephen Shaw
1022Antonio W ButtCanada2024-06-02Printing Dimensions RENEWAL82Asiya Javayant
1023Claire G VenereIndia2024-06-08Printing Dimensions UNQUALIFIED94Elwin Sharvill
1024Cody M FlosiJapan2024-05-25Feltz Printing Service PROPOSAL26Xuxue Feng
1025Wickens S WieserSpain2024-05-27Chapman, Ross E Esq PROPOSAL94Asiya Javayant
1026Chavez O PaprockiAustralia2024-06-13Truhlar And Truhlar Attys QUALIFIED47Elwin Sharvill
1027Izzy L SchemmerIndia2024-06-16Benton, John B Jr NEGOTIATION50Ivan Magalhaes
1028Julie X RutaCanada2024-06-22Feiner Bros NEW57Ivan Magalhaes
1029Murillo M MarrierAustralia2024-05-25Rangoni Of Florence RENEWAL58Amy Elsner
1030Johnson S FigeroaSpain2024-06-13Truhlar And Truhlar Attys UNQUALIFIED7Elwin Sharvill
1031Morrow O FlosiAustralia2024-05-28Chemel, James L Cpa UNQUALIFIED4Anna Fali
1032Wickens G ShinkoGermany2024-06-21Feltz Printing Service RENEWAL29Ioni Bowcher
1033Kaitlin C PaprockiUnited Kingdom2024-06-15Morlong Associates QUALIFIED92Amy Elsner
1034Greenwood C CampainCanada2024-06-14Morlong Associates PROPOSAL85Elwin Sharvill
1035Jefferson W GarufiArgentina2024-06-13Chapman, Ross E Esq RENEWAL87Bernardo Dominic
1036Izzy D GauchoArgentina2024-06-23Truhlar And Truhlar Attys PROPOSAL72Anna Fali
1037Maria G MaletUnited Kingdom2024-06-16Rangoni Of Florence RENEWAL62Onyama Limba
1038Murillo D AlbaresJapan2024-06-03Printing Dimensions RENEWAL61Bernardo Dominic
1039Salvatore B BologniaIndia2024-06-20Printing Dimensions PROPOSAL72Elwin Sharvill
1040Ricardo W MacleadItaly2024-06-10King, Christopher A Esq PROPOSAL4Anna Fali
1041Jones C MaletFrance2024-06-11Rangoni Of Florence NEGOTIATION24Ioni Bowcher
1042Aika Y MarrierAustralia2024-06-03Buckley Miller Wright QUALIFIED82Asiya Javayant
1043Izzy E WhobreyUnited Kingdom2024-06-22Chemel, James L Cpa UNQUALIFIED90Stephen Shaw
1044Aika T SergiJapan2024-06-11Feltz Printing Service UNQUALIFIED87Bernardo Dominic
1045Adams M NickaRussia2024-06-13Printing Dimensions UNQUALIFIED78Stephen Shaw
1046Cody T FerenczBrazil2024-06-09Chemel, James L Cpa NEGOTIATION12Ivan Magalhaes
1047Jeanfrancois I MarrierUnited Kingdom2024-06-13King, Christopher A Esq NEGOTIATION21Asiya Javayant
1048Kadeem E SergiIndia2024-06-11Rangoni Of Florence PROPOSAL12Ioni Bowcher
1049David R WhobreyArgentina2024-06-23Morlong Associates QUALIFIED27Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aika E SergiBrazilStephen Shaw NEGOTIATION
Emily P RimIndiaOnyama Limba NEW
Emily J OldroydCanadaXuxue Feng PROPOSAL
Greenwood H KolmetzBrazilAmy Elsner QUALIFIED
Sinclair N VocelkaAustraliaOnyama Limba NEGOTIATION
Misaki R NestleFranceAmy Elsner NEW
Smith U VocelkaBrazilOnyama Limba RENEWAL
Octavia D FlosiJapanStephen Shaw NEW
Adams S FigeroaItalyAnna Fali PROPOSAL
Ashley E SaylorsBrazilAnna Fali QUALIFIED
Salvatore E FollerGermanyOnyama Limba QUALIFIED
Rodrigues N SergiJapanStephen Shaw NEW
Francesco O RutaBrazilBernardo Dominic PROPOSAL
Jefferson Z KolmetzAustraliaAnna Fali QUALIFIED
Maisha Z WieserJapanBernardo Dominic QUALIFIED
Kadeem O TollnerBrazilIoni Bowcher NEGOTIATION
Francesco Z GauchoItalyBernardo Dominic PROPOSAL
Smith D MacleadIndiaIoni Bowcher NEW
Octavia G AmigonIndiaXuxue Feng UNQUALIFIED
Silvio A KuskoRussiaOnyama Limba NEGOTIATION
Jennifer E GillianCanadaAnna Fali RENEWAL
Wickens Y RoysterItalyIvan Magalhaes RENEWAL
Nicolas I FerenczGermanyAnna Fali UNQUALIFIED
Smith K GarufiFranceAsiya Javayant UNQUALIFIED
Antonio X FlosiItalyXuxue Feng QUALIFIED
Maisha C FerenczCanadaAmy Elsner NEGOTIATION
Aruna S DilliardItalyAnna Fali RENEWAL
Aika B OstroskyItalyBernardo Dominic RENEWAL
Chavez R NestleItalyBernardo Dominic NEGOTIATION
Aditya C AlbaresUnited KingdomAmy Elsner QUALIFIED
Ashley P GarufiAustraliaXuxue Feng PROPOSAL
Francesco O VocelkaAustraliaStephen Shaw UNQUALIFIED
Greenwood Y SaylorsJapanBernardo Dominic NEW
Ivar E CaldareraItalyIoni Bowcher UNQUALIFIED
Kaitlin Q WaycottJapanBernardo Dominic UNQUALIFIED
Isabel X ButtRussiaIvan Magalhaes QUALIFIED
Izzy M GauchoGermanyIoni Bowcher RENEWAL
Alejandro B SchemmerRussiaXuxue Feng NEGOTIATION
Rodrigues V GillianArgentinaXuxue Feng UNQUALIFIED
Wickens N WieserUnited KingdomAmy Elsner NEGOTIATION
Leja A BriddickArgentinaAmy Elsner NEW
Jeanfrancois K PaprockiIndiaOnyama Limba NEW
Kadeem U KolmetzGermanyBernardo Dominic PROPOSAL
Cody S GauchoItalyIvan Magalhaes UNQUALIFIED
James K SlusarskiGermanyBernardo Dominic NEW
Faith J OstroskyItalyXuxue Feng RENEWAL
Claire V VocelkaRussiaAmy Elsner UNQUALIFIED
Misaki N WhobreyJapanAmy Elsner PROPOSAL
David J RoysterItalyIoni Bowcher RENEWAL
Leon R SchemmerIndiaStephen Shaw NEGOTIATION
Frozen Columns
Name
Emily Q Iturbide
Aruna L Caldarera
Johnson Q Stenseth
Adams F Darakjy
Jones I Stockham
Jennifer X Rim
Ashley V Ruta
Deepesh R Gillian
Morrow I Bowley
Emily E Rulapaugh
Smith A Stockham
Salvatore B Maclead
James B Rulapaugh
Leja Y Doe
Jones V Ostrosky
Ivar K Albares
Alejandro M Nestle
Mayumi Q Doe
Stacey E Ostrosky
Mujtaba O Morasca
Kaitlin Q Royster
Greenwood J Butt
Ivar T Campain
Claire E Nestle
Silvio Q Stockham
Ricardo U Royster
Francesco M Wieser
Jefferson S Paprocki
Juan A Morasca
Jefferson G Bolognia
Izzy D Chui
Adams T Sergi
Smith P Caldarera
Johnson V Nestle
Francesco A Garufi
Aditya Z Ostrosky
Costa U Slusarski
Kaitlin X Ferencz
David B Glick
Antonio V Venere
Jeanfrancois O Sergi
Jeanfrancois K Poquette
Chavez T Sergi
James Z Maclead
Claire E Doe
Antonio Z Bowley
Leon T Chui
Costa A Slusarski
Jeanfrancois I Oldroyd
Darci D Perin
IdCountryDate
1000Spain2024-06-04
1001France2024-06-17
1002Germany2024-06-17
1003Spain2024-06-17
1004Brazil2024-06-20
1005Japan2024-06-06
1006Italy2024-06-19
1007Japan2024-05-25
1008Germany2024-06-18
1009Australia2024-06-18
1010Australia2024-05-31
1011Italy2024-06-21
1012Canada2024-06-11
1013Germany2024-05-30
1014France2024-06-13
1015Germany2024-06-08
1016Canada2024-06-16
1017Australia2024-06-15
1018Australia2024-06-19
1019Canada2024-05-31
1020India2024-06-20
1021India2024-06-12
1022Japan2024-06-10
1023Japan2024-06-13
1024Germany2024-05-28
1025United Kingdom2024-06-16
1026Argentina2024-05-28
1027United Kingdom2024-06-21
1028France2024-06-14
1029Argentina2024-06-16
1030United Kingdom2024-06-15
1031Russia2024-06-14
1032Australia2024-05-31
1033Japan2024-06-22
1034India2024-06-03
1035Argentina2024-06-23
1036Germany2024-06-11
1037India2024-06-20
1038Russia2024-06-08
1039France2024-05-30
1040France2024-06-10
1041Spain2024-05-26
1042Australia2024-06-17
1043Japan2024-06-09
1044Spain2024-06-22
1045Canada2024-06-05
1046Australia2024-05-30
1047Australia2024-06-19
1048Spain2024-06-16
1049France2024-06-11

On-Demand Data

NameIdCountryDate
Tony P Wieser1000France2024-06-17
Morrow F Ostrosky1001Argentina2024-06-04
Kadeem F Paprocki1002Canada2024-06-22
Aruna D Schemmer1003Australia2024-05-26
Kaitlin Y Glick1004France2024-06-23
Smith P Gillian1005Canada2024-06-11
Ashley W Stenseth1006Argentina2024-05-27
Johnson W Stockham1007Canada2024-06-14
Mayumi G Gillian1008Australia2024-06-12
Julie Y Oldroyd1009Brazil2024-06-19
Clifford R Malet1010Spain2024-06-10
Aruna D Malet1011Japan2024-05-27
Greenwood W Wieser1012India2024-05-26
Wickens U Butt1013Japan2024-06-14
Kaitlin V Tollner1014Australia2024-06-19
Julie A Oldroyd1015Brazil2024-05-27
Jeanfrancois E Paprocki1016Spain2024-06-12
Salvatore X Oldroyd1017Argentina2024-06-14
Aditya H Stockham1018Canada2024-06-08
Adams C Bolognia1019Japan2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha G GillianJapanIvan Magalhaes NEW
Aruna X PaprockiIndiaStephen Shaw NEGOTIATION
Jefferson B KolmetzCanadaElwin Sharvill NEGOTIATION
Clifford D MarrierIndiaAnna Fali NEGOTIATION
Munro Z SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Jones G ShinkoBrazilOnyama Limba QUALIFIED
Rodrigues W GlickIndiaAsiya Javayant NEW
Julie T DoeFranceIoni Bowcher UNQUALIFIED
Julie K DarakjyGermanyStephen Shaw NEGOTIATION
Morrow N KolmetzSpainAmy Elsner NEGOTIATION
Chavez B SaylorsRussiaStephen Shaw PROPOSAL
Kaitlin F PerinSpainAsiya Javayant NEGOTIATION
Kadeem G VenereBrazilIvan Magalhaes QUALIFIED
Stacey N WaycottIndiaAmy Elsner NEGOTIATION
Munro B VocelkaGermanyStephen Shaw RENEWAL
Octavia A OstroskyUnited KingdomIoni Bowcher RENEWAL
James W WhobreyJapanXuxue Feng RENEWAL
Aditya M OldroydIndiaAmy Elsner UNQUALIFIED
Arvin W SlusarskiArgentinaAsiya Javayant RENEWAL
Kaitlin Z BologniaUnited KingdomAmy Elsner NEGOTIATION
Johnson K GillianIndiaOnyama Limba RENEWAL
Jennifer Q KolmetzCanadaIoni Bowcher RENEWAL
Ivar B GarufiRussiaBernardo Dominic PROPOSAL
Claire V RutaBrazilAsiya Javayant UNQUALIFIED
Nicolas M MacleadItalyAmy Elsner PROPOSAL
Costa B StockhamSpainElwin Sharvill NEW
Clifford U RutaGermanyStephen Shaw NEW
Chavez V RutaSpainBernardo Dominic NEGOTIATION
Stacey U DoeAustraliaXuxue Feng NEGOTIATION
Adams M ChuiItalyIoni Bowcher PROPOSAL
Silvio A TollnerCanadaElwin Sharvill UNQUALIFIED
Antonio F ChuiCanadaAnna Fali PROPOSAL
Deepesh R PaprockiUnited KingdomIoni Bowcher RENEWAL
Isabel M SchemmerGermanyStephen Shaw UNQUALIFIED
Leon Y GauchoGermanyBernardo Dominic RENEWAL
Stacey I GlickJapanElwin Sharvill NEGOTIATION
Adams D OldroydAustraliaElwin Sharvill QUALIFIED
Alejandro Z MarrierSpainIvan Magalhaes UNQUALIFIED
Chavez S PerinFranceOnyama Limba QUALIFIED
Isabel D BologniaArgentinaAmy Elsner 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>