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
Kadeem O MacleadItalyElwin Sharvill PROPOSAL
Aika G FollerCanadaAnna Fali NEW
Ashley R PerinSpainAmy Elsner UNQUALIFIED
David E MarrierIndiaAnna Fali QUALIFIED
Aditya D VenereSpainOnyama Limba UNQUALIFIED
Maisha N ButtBrazilAmy Elsner QUALIFIED
Octavia B CaudyIndiaStephen Shaw NEW
Johnson X CampainArgentinaIoni Bowcher NEW
Claire N CaudyAustraliaAmy Elsner PROPOSAL
Alejandro K ChuiRussiaBernardo Dominic NEW
Kadeem C RoysterItalyAmy Elsner RENEWAL
Nicolas Q WieserFranceIoni Bowcher UNQUALIFIED
Francesco I BowleyCanadaAnna Fali NEGOTIATION
Julie X OstroskySpainElwin Sharvill RENEWAL
Jeanfrancois C DoeIndiaIoni Bowcher QUALIFIED
Kaitlin A FerenczAustraliaAmy Elsner RENEWAL
Ashley U BowleyGermanyIvan Magalhaes UNQUALIFIED
Munro A MorascaItalyAnna Fali QUALIFIED
Antonio I FlosiRussiaXuxue Feng RENEWAL
Salvatore X CaudyItalyIvan Magalhaes UNQUALIFIED
Munro Y WieserItalyXuxue Feng PROPOSAL
Mayumi K ButtRussiaBernardo Dominic QUALIFIED
Alejandro D IturbideFranceIvan Magalhaes NEGOTIATION
Leja T TollnerSpainIoni Bowcher RENEWAL
Emily T MaletUnited KingdomAsiya Javayant NEW
Jones U BriddickJapanIoni Bowcher NEW
Jeanfrancois D StensethBrazilElwin Sharvill QUALIFIED
Misaki S NickaUnited KingdomStephen Shaw NEW
Smith R GlickFranceAsiya Javayant QUALIFIED
Francesco X ShinkoRussiaStephen Shaw NEW
Misaki K FollerBrazilIvan Magalhaes NEW
Darci K PoquetteRussiaAsiya Javayant RENEWAL
Cody P MarrierArgentinaStephen Shaw QUALIFIED
Emily H WieserItalyStephen Shaw UNQUALIFIED
Antonio T MaletBrazilStephen Shaw NEGOTIATION
Chavez U WieserJapanStephen Shaw NEW
Murillo M RutaBrazilStephen Shaw QUALIFIED
Sinclair S KolmetzItalyIoni Bowcher RENEWAL
James T AmigonAustraliaOnyama Limba RENEWAL
Mujtaba S RimIndiaIoni Bowcher NEGOTIATION
Deepesh R WhobreyItalyIvan Magalhaes PROPOSAL
Antonio F BowleyRussiaElwin Sharvill QUALIFIED
Emily T CampainAustraliaIvan Magalhaes UNQUALIFIED
Jones P FerenczJapanIoni Bowcher UNQUALIFIED
Aruna I InouyeUnited KingdomXuxue Feng UNQUALIFIED
Jeanfrancois X CampainUnited KingdomXuxue Feng NEW
Ricardo U MaletItalyStephen Shaw UNQUALIFIED
Aditya Q MorascaSpainAmy Elsner PROPOSAL
Costa M VocelkaGermanyBernardo Dominic PROPOSAL
Stacey Q CaldareraSpainIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer R AlbaresRussiaStephen Shaw RENEWAL
Mujtaba J RimAustraliaAsiya Javayant UNQUALIFIED
Clifford R VocelkaGermanyIvan Magalhaes UNQUALIFIED
Juan T BologniaRussiaStephen Shaw NEW
Faith G MaletAustraliaIoni Bowcher UNQUALIFIED
Nicolas R NickaFranceBernardo Dominic PROPOSAL
Ashley K StockhamSpainXuxue Feng QUALIFIED
Aditya K ChuiArgentinaStephen Shaw RENEWAL
Johnson U MorascaAustraliaElwin Sharvill UNQUALIFIED
Silvio Y DilliardSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan G SergiCanada2024-06-01Buckley Miller Wright UNQUALIFIED89Bernardo Dominic
1001Jeanfrancois B RutaAustralia2024-06-10Printing Dimensions QUALIFIED24Amy Elsner
1002Jones Z MacleadJapan2024-06-05Chapman, Ross E Esq QUALIFIED0Anna Fali
1003Chavez V AmigonCanada2024-05-29Rangoni Of Florence NEW62Elwin Sharvill
1004Julie L SergiItaly2024-06-08Commercial Press NEGOTIATION17Stephen Shaw
1005Costa S ButtUnited Kingdom2024-06-04Rangoni Of Florence NEGOTIATION40Xuxue Feng
1006Ashley H ShinkoSpain2024-05-22Truhlar And Truhlar Attys UNQUALIFIED6Xuxue Feng
1007Izzy F SchemmerIndia2024-06-02Dorl, James J Esq NEW23Ioni Bowcher
1008Ricardo U PoquetteAustralia2024-06-07Printing Dimensions NEW58Anna Fali
1009Claire E PerinIndia2024-06-01Chapman, Ross E Esq NEGOTIATION71Ivan Magalhaes
1010Clifford X WieserUnited Kingdom2024-05-31King, Christopher A Esq NEGOTIATION17Anna Fali
1011Aruna P FollerAustralia2024-05-27Truhlar And Truhlar Attys RENEWAL81Asiya Javayant
1012Alejandro C RimCanada2024-05-21Commercial Press NEW44Anna Fali
1013Juan C KuskoSpain2024-05-22Feiner Bros PROPOSAL47Amy Elsner
1014Morrow B PoquetteIndia2024-05-20Chapman, Ross E Esq QUALIFIED98Asiya Javayant
1015Chavez W ShinkoRussia2024-06-13Buckley Miller Wright QUALIFIED12Anna Fali
1016Leon U NickaJapan2024-05-16Feiner Bros UNQUALIFIED51Ivan Magalhaes
1017Jeanfrancois U StockhamAustralia2024-06-13Chemel, James L Cpa UNQUALIFIED73Ivan Magalhaes
1018Isabel B FigeroaItaly2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED10Ioni Bowcher
1019Aika V IturbideFrance2024-06-05Chemel, James L Cpa NEW4Ioni Bowcher
1020Leja F KuskoBrazil2024-06-03Chapman, Ross E Esq PROPOSAL48Stephen Shaw
1021Julie R CaudySpain2024-06-02Feltz Printing Service RENEWAL23Bernardo Dominic
1022Jennifer A NickaItaly2024-06-05Benton, John B Jr QUALIFIED40Anna Fali
1023David B OldroydUnited Kingdom2024-06-11Rousseaux, Michael Esq NEGOTIATION23Anna Fali
1024Alejandro N DilliardJapan2024-05-28Chapman, Ross E Esq NEGOTIATION28Asiya Javayant
1025Julie O NestleUnited Kingdom2024-06-09Chemel, James L Cpa QUALIFIED69Anna Fali
1026Jones J DarakjyUnited Kingdom2024-06-13Commercial Press PROPOSAL40Asiya Javayant
1027Arvin F InouyeGermany2024-06-03Printing Dimensions NEGOTIATION55Anna Fali
1028Stacey T RutaUnited Kingdom2024-06-11Dorl, James J Esq NEGOTIATION39Ivan Magalhaes
1029Francesco W DilliardJapan2024-05-25Printing Dimensions UNQUALIFIED86Amy Elsner
1030Mayumi M StockhamAustralia2024-05-22Chapman, Ross E Esq QUALIFIED48Xuxue Feng
1031Morrow Q SchemmerAustralia2024-06-12Chapman, Ross E Esq NEW19Xuxue Feng
1032Kadeem H StockhamRussia2024-05-29Feltz Printing Service NEGOTIATION90Stephen Shaw
1033Smith L FigeroaAustralia2024-05-29Morlong Associates QUALIFIED23Ioni Bowcher
1034Nicolas Z BriddickRussia2024-06-02Chapman, Ross E Esq QUALIFIED62Onyama Limba
1035Claire U WaycottItaly2024-05-16Buckley Miller Wright QUALIFIED34Ioni Bowcher
1036Mujtaba E NestleItaly2024-06-05Chemel, James L Cpa QUALIFIED69Asiya Javayant
1037Tony F MarrierRussia2024-06-13Feltz Printing Service NEW2Onyama Limba
1038Stacey A IturbideGermany2024-05-21Feltz Printing Service NEW19Elwin Sharvill
1039Stacey Z CaudyGermany2024-05-21Buckley Miller Wright RENEWAL48Anna Fali
1040Jefferson H KuskoBrazil2024-06-06Rousseaux, Michael Esq QUALIFIED50Anna Fali
1041Leja G GillianSpain2024-05-20Printing Dimensions NEGOTIATION82Onyama Limba
1042Murillo V NestleItaly2024-05-26Rousseaux, Michael Esq QUALIFIED18Ioni Bowcher
1043Rodrigues Z IturbideFrance2024-06-05Chanay, Jeffrey A Esq NEGOTIATION21Amy Elsner
1044Sinclair C SergiArgentina2024-06-04Truhlar And Truhlar Attys NEGOTIATION32Asiya Javayant
1045Misaki U TollnerBrazil2024-06-05Feiner Bros PROPOSAL70Asiya Javayant
1046David J SlusarskiBrazil2024-05-15Buckley Miller Wright RENEWAL21Stephen Shaw
1047Aruna B MacleadUnited Kingdom2024-05-29Rousseaux, Michael Esq QUALIFIED77Ioni Bowcher
1048Costa W WieserIndia2024-05-15Rangoni Of Florence UNQUALIFIED12Stephen Shaw
1049Silvio I ChuiUnited Kingdom2024-06-03Chemel, James L Cpa NEGOTIATION98Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Claire K ShinkoAustraliaXuxue Feng NEGOTIATION
Mayumi E MacleadGermanyBernardo Dominic RENEWAL
Johnson A GauchoJapanAnna Fali QUALIFIED
Ricardo X IturbideIndiaXuxue Feng PROPOSAL
Jefferson E RimItalyBernardo Dominic UNQUALIFIED
Johnson S CaldareraArgentinaAsiya Javayant RENEWAL
Aditya R VocelkaAustraliaAnna Fali NEGOTIATION
Jefferson C AmigonSpainIoni Bowcher NEGOTIATION
Arvin Y VocelkaIndiaElwin Sharvill NEGOTIATION
Kaitlin W RulapaughJapanOnyama Limba NEW
Greenwood E FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin R InouyeCanadaXuxue Feng PROPOSAL
Stacey T RimFranceIoni Bowcher NEGOTIATION
David J KolmetzCanadaAmy Elsner NEW
Rodrigues N ShinkoIndiaIoni Bowcher NEW
Ivar F AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Leja P GauchoFranceOnyama Limba QUALIFIED
Deepesh Z DoeCanadaElwin Sharvill NEGOTIATION
Cody C MorascaUnited KingdomBernardo Dominic UNQUALIFIED
Izzy X SchemmerJapanXuxue Feng NEGOTIATION
Rodrigues D IturbideRussiaOnyama Limba UNQUALIFIED
Wickens K StockhamJapanXuxue Feng NEW
Murillo P MorascaJapanElwin Sharvill NEGOTIATION
Tony O NickaJapanAsiya Javayant RENEWAL
Antonio Q StensethUnited KingdomAnna Fali QUALIFIED
Greenwood J ChuiFranceBernardo Dominic RENEWAL
Faith G SaylorsAustraliaStephen Shaw NEW
Morrow E CampainSpainIvan Magalhaes PROPOSAL
Isabel T BologniaRussiaOnyama Limba UNQUALIFIED
Emily K BowleyBrazilStephen Shaw NEGOTIATION
Smith V SlusarskiCanadaAnna Fali UNQUALIFIED
Sinclair W CampainArgentinaElwin Sharvill UNQUALIFIED
Rodrigues Q BowleyFranceBernardo Dominic NEW
Adams C CampainGermanyStephen Shaw NEGOTIATION
Aditya V DarakjyGermanyOnyama Limba NEGOTIATION
Izzy P NestleRussiaIvan Magalhaes RENEWAL
Jennifer F GlickArgentinaIvan Magalhaes UNQUALIFIED
Stacey K BriddickJapanBernardo Dominic PROPOSAL
Ricardo L DoeArgentinaAsiya Javayant NEGOTIATION
Salvatore Y GauchoFranceIoni Bowcher QUALIFIED
Smith R AlbaresSpainXuxue Feng UNQUALIFIED
Darci W WaycottUnited KingdomAsiya Javayant QUALIFIED
Chavez D MaletBrazilAmy Elsner UNQUALIFIED
Aditya N StockhamJapanOnyama Limba QUALIFIED
Emily C PoquetteGermanyStephen Shaw UNQUALIFIED
Sinclair F RoysterFranceAsiya Javayant UNQUALIFIED
Salvatore E RimFranceElwin Sharvill NEGOTIATION
Jennifer C AlbaresJapanAmy Elsner NEW
Clifford N DarakjyGermanyAmy Elsner PROPOSAL
Greenwood Z FerenczAustraliaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Maria X Malet
Claire A Ferencz
Leon Y Kusko
Emily C Stenseth
Chavez S Briddick
Juan X Rim
Alejandro U Rulapaugh
Rodrigues L Inouye
Ashley S Caudy
Faith W Poquette
Kaitlin U Amigon
Juan T Inouye
Emily D Rim
Tony Q Kolmetz
Arvin V Dilliard
Ricardo J Poquette
Clifford R Waycott
Maria V Nicka
Ricardo H Garufi
Maisha G Schemmer
James I Bowley
Julie W Nestle
Arvin J Rulapaugh
Arvin O Stenseth
Cody S Maclead
Jeanfrancois C Iturbide
Stacey U Malet
Leja Y Foller
Maria L Morasca
Jefferson V Chui
Isabel N Bolognia
Isabel I Gillian
Francesco B Vocelka
Isabel I Morasca
Aruna O Malet
Antonio P Gaucho
Murillo F Perin
Adams J Iturbide
Murillo W Foller
Jefferson P Kusko
Stacey Q Dilliard
Mayumi I Glick
Jeanfrancois M Dilliard
Tony S Wieser
Aditya D Nicka
Leja J Caudy
Isabel U Inouye
Octavia N Darakjy
Maisha K Nicka
Nicolas Q Gaucho
IdCountryDate
1000Australia2024-05-31
1001Russia2024-05-22
1002Germany2024-05-18
1003Russia2024-06-11
1004Russia2024-05-16
1005United Kingdom2024-05-30
1006Brazil2024-05-17
1007Japan2024-06-01
1008India2024-05-20
1009Italy2024-05-31
1010Brazil2024-05-24
1011Canada2024-05-19
1012Brazil2024-05-15
1013United Kingdom2024-06-11
1014Argentina2024-05-28
1015Argentina2024-06-08
1016Argentina2024-05-22
1017Australia2024-06-06
1018Argentina2024-05-18
1019India2024-05-19
1020Spain2024-06-03
1021Germany2024-05-25
1022Russia2024-05-26
1023Russia2024-06-02
1024France2024-05-26
1025Brazil2024-06-12
1026Canada2024-05-27
1027Brazil2024-05-21
1028Russia2024-06-03
1029Canada2024-05-22
1030Japan2024-06-02
1031Germany2024-05-18
1032Brazil2024-05-30
1033Japan2024-05-30
1034France2024-05-24
1035Brazil2024-05-18
1036United Kingdom2024-06-09
1037Australia2024-06-11
1038France2024-06-08
1039Argentina2024-05-28
1040Australia2024-05-25
1041Italy2024-06-08
1042Argentina2024-06-10
1043Canada2024-06-12
1044Japan2024-06-13
1045India2024-05-31
1046Russia2024-05-27
1047United Kingdom2024-05-28
1048Australia2024-06-10
1049United Kingdom2024-06-01

On-Demand Data

NameIdCountryDate
Jennifer Y Albares1000Italy2024-05-18
Leon B Maclead1001Brazil2024-06-01
Leja S Wieser1002Japan2024-05-20
Munro V Kolmetz1003France2024-05-27
Juan F Morasca1004Argentina2024-06-04
Deepesh R Waycott1005France2024-05-31
Julie I Malet1006United Kingdom2024-06-06
Claire M Malet1007Russia2024-06-01
Ivar I Caldarera1008Brazil2024-05-19
Kaitlin Q Malet1009Japan2024-05-21
Adams H Rulapaugh1010United Kingdom2024-05-15
Wickens J Ostrosky1011Argentina2024-06-07
Leon W Ruta1012United Kingdom2024-06-07
Jeanfrancois W Caldarera1013Brazil2024-06-01
Sinclair A Ruta1014India2024-06-13
Costa Q Rim1015United Kingdom2024-06-11
Jennifer J Schemmer1016France2024-06-06
Kaitlin Z Doe1017Italy2024-05-20
Misaki Z Albares1018Spain2024-06-01
Julie S Flosi1019Canada2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer V OstroskyGermanyElwin Sharvill NEGOTIATION
Arvin B PerinIndiaAmy Elsner UNQUALIFIED
Aika R SlusarskiBrazilXuxue Feng NEW
Julie D IturbideIndiaIoni Bowcher NEW
Ivar G KuskoBrazilBernardo Dominic NEW
Arvin E FerenczIndiaIvan Magalhaes RENEWAL
Darci O DarakjyGermanyStephen Shaw NEGOTIATION
Chavez Q GillianBrazilXuxue Feng NEGOTIATION
Sinclair P ShinkoFranceOnyama Limba UNQUALIFIED
Chavez I FollerCanadaAsiya Javayant PROPOSAL
Tony W KuskoRussiaXuxue Feng UNQUALIFIED
Jones N GarufiIndiaIoni Bowcher RENEWAL
Johnson S SlusarskiBrazilXuxue Feng QUALIFIED
Claire R KolmetzBrazilOnyama Limba NEW
Leja D WieserJapanIoni Bowcher QUALIFIED
Antonio N RoysterItalyAmy Elsner PROPOSAL
Antonio P WaycottJapanAnna Fali RENEWAL
Greenwood Q RulapaughBrazilOnyama Limba QUALIFIED
Antonio P FollerJapanElwin Sharvill UNQUALIFIED
Smith X OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Julie A SaylorsRussiaElwin Sharvill NEGOTIATION
Kadeem B PoquetteSpainAmy Elsner QUALIFIED
Stacey H CampainArgentinaXuxue Feng UNQUALIFIED
Jones H DarakjySpainXuxue Feng RENEWAL
Cody S BriddickAustraliaAmy Elsner NEGOTIATION
Alejandro H VenereItalyIoni Bowcher NEGOTIATION
Smith B ShinkoRussiaIvan Magalhaes RENEWAL
Leon U NickaFranceAnna Fali QUALIFIED
Leja M SlusarskiUnited KingdomAsiya Javayant NEW
Jefferson E VocelkaArgentinaIoni Bowcher QUALIFIED
Antonio V MacleadBrazilAsiya Javayant NEW
Mayumi V MorascaAustraliaStephen Shaw NEGOTIATION
Greenwood F MarrierGermanyAsiya Javayant PROPOSAL
Claire Q RimArgentinaBernardo Dominic NEGOTIATION
Tony B NestleAustraliaStephen Shaw NEGOTIATION
Smith W FerenczJapanIvan Magalhaes NEGOTIATION
Francesco X IturbideGermanyAmy Elsner QUALIFIED
Murillo X PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois P GarufiArgentinaIoni Bowcher RENEWAL
Kaitlin Q VocelkaSpainStephen Shaw PROPOSAL

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