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
Kaitlin J FlosiAustraliaOnyama Limba RENEWAL
Clifford N AmigonFranceIoni Bowcher QUALIFIED
Sinclair H AmigonRussiaIvan Magalhaes UNQUALIFIED
Adams C KolmetzGermanyAmy Elsner UNQUALIFIED
Cody W CaldareraArgentinaAmy Elsner UNQUALIFIED
Isabel M CampainItalyElwin Sharvill PROPOSAL
Arvin D IturbideBrazilAmy Elsner PROPOSAL
Rodrigues I BriddickRussiaIvan Magalhaes NEGOTIATION
Isabel I WhobreyAustraliaXuxue Feng PROPOSAL
Ashley W InouyeGermanyElwin Sharvill PROPOSAL
Jennifer T WieserBrazilXuxue Feng RENEWAL
Deepesh E StensethBrazilIvan Magalhaes UNQUALIFIED
Maisha N KuskoGermanyStephen Shaw NEGOTIATION
Adams V IturbideGermanyIoni Bowcher QUALIFIED
Francesco D OldroydFranceXuxue Feng RENEWAL
Maisha H InouyeFranceBernardo Dominic NEGOTIATION
Munro Q SergiUnited KingdomAmy Elsner QUALIFIED
Costa H GillianIndiaBernardo Dominic UNQUALIFIED
Salvatore O ShinkoSpainAmy Elsner QUALIFIED
Morrow A FlosiAustraliaOnyama Limba PROPOSAL
Kaitlin O KolmetzArgentinaBernardo Dominic QUALIFIED
Murillo V RulapaughRussiaOnyama Limba QUALIFIED
Francesco K RulapaughItalyBernardo Dominic PROPOSAL
Isabel J FerenczGermanyXuxue Feng UNQUALIFIED
Darci V MaletFranceStephen Shaw NEGOTIATION
Jones Q PaprockiFranceAmy Elsner QUALIFIED
Tony C ChuiAustraliaBernardo Dominic QUALIFIED
Emily Z PerinArgentinaBernardo Dominic UNQUALIFIED
Clifford D RutaUnited KingdomIoni Bowcher NEGOTIATION
Octavia T VocelkaArgentinaAsiya Javayant UNQUALIFIED
Mayumi O SlusarskiJapanElwin Sharvill NEW
Johnson N BowleyCanadaAmy Elsner PROPOSAL
Deepesh Y PoquetteGermanyBernardo Dominic UNQUALIFIED
Francesco Y RutaRussiaBernardo Dominic QUALIFIED
Darci F BriddickCanadaStephen Shaw NEGOTIATION
Mayumi O SchemmerAustraliaAnna Fali RENEWAL
Chavez M SchemmerSpainElwin Sharvill PROPOSAL
Clifford L VenereArgentinaIvan Magalhaes NEGOTIATION
Adams S StensethFranceBernardo Dominic PROPOSAL
Maria T StockhamUnited KingdomAsiya Javayant NEGOTIATION
Juan D BologniaFranceIoni Bowcher QUALIFIED
Johnson Q FigeroaFranceXuxue Feng PROPOSAL
Adams I MaletArgentinaAnna Fali NEW
Stacey L KolmetzFranceBernardo Dominic UNQUALIFIED
Darci F PoquetteIndiaStephen Shaw UNQUALIFIED
Jeanfrancois J StensethCanadaAsiya Javayant NEGOTIATION
Maisha C DarakjyFranceElwin Sharvill NEGOTIATION
Arvin T BowleyGermanyElwin Sharvill NEW
Chavez T GlickCanadaOnyama Limba PROPOSAL
Maisha T RutaRussiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore Q OstroskySpainIvan Magalhaes RENEWAL
Smith Z CaldareraUnited KingdomIoni Bowcher QUALIFIED
Aika Y GauchoItalyXuxue Feng NEGOTIATION
Ashley D RutaUnited KingdomElwin Sharvill RENEWAL
Costa Q WaycottItalyAnna Fali RENEWAL
Ivar X VocelkaRussiaElwin Sharvill RENEWAL
Claire G DilliardCanadaAsiya Javayant RENEWAL
Emily F DarakjyItalyOnyama Limba UNQUALIFIED
Wickens X DoeUnited KingdomAnna Fali NEW
Jeanfrancois E GarufiCanadaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem Z ChuiBrazil2024-05-28Dorl, James J Esq PROPOSAL40Amy Elsner
1001Kaitlin N MarrierCanada2024-05-25Chemel, James L Cpa QUALIFIED91Amy Elsner
1002Clifford X ShinkoAustralia2024-05-23Benton, John B Jr NEGOTIATION98Asiya Javayant
1003Jones N WhobreyRussia2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED62Ivan Magalhaes
1004Jones F GarufiSpain2024-05-26Truhlar And Truhlar Attys RENEWAL19Amy Elsner
1005Salvatore F DilliardGermany2024-06-12Commercial Press NEGOTIATION71Elwin Sharvill
1006Ivar E OstroskyArgentina2024-06-15Truhlar And Truhlar Attys QUALIFIED84Elwin Sharvill
1007David Y ShinkoBrazil2024-06-16Chanay, Jeffrey A Esq NEGOTIATION57Bernardo Dominic
1008Alejandro F TollnerIndia2024-05-28Benton, John B Jr RENEWAL48Stephen Shaw
1009Smith O SergiJapan2024-06-20Rousseaux, Michael Esq QUALIFIED5Onyama Limba
1010Aika C WhobreyArgentina2024-06-03Feltz Printing Service NEGOTIATION82Ioni Bowcher
1011Darci P CampainBrazil2024-06-03Benton, John B Jr UNQUALIFIED60Bernardo Dominic
1012Isabel L PaprockiCanada2024-06-15Feltz Printing Service NEW59Bernardo Dominic
1013Tony Z InouyeCanada2024-06-06King, Christopher A Esq NEW12Stephen Shaw
1014Julie O FlosiSpain2024-06-05Chemel, James L Cpa NEW76Bernardo Dominic
1015Greenwood B StockhamCanada2024-05-23Rousseaux, Michael Esq PROPOSAL84Bernardo Dominic
1016Johnson V FerenczGermany2024-05-23Chapman, Ross E Esq QUALIFIED18Ioni Bowcher
1017Jennifer H GlickRussia2024-06-13Dorl, James J Esq RENEWAL8Ioni Bowcher
1018Francesco R BowleyAustralia2024-06-05Morlong Associates RENEWAL45Asiya Javayant
1019Maria A BologniaArgentina2024-06-11King, Christopher A Esq NEW50Ivan Magalhaes
1020James G FollerFrance2024-05-31Commercial Press NEW70Onyama Limba
1021Emily L RoysterUnited Kingdom2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED22Asiya Javayant
1022Kadeem I WaycottRussia2024-06-15Morlong Associates RENEWAL24Onyama Limba
1023Jefferson H AmigonSpain2024-06-02Commercial Press UNQUALIFIED8Ioni Bowcher
1024Kadeem O DilliardCanada2024-05-26Rangoni Of Florence NEW90Stephen Shaw
1025Julie R GlickAustralia2024-06-02King, Christopher A Esq RENEWAL35Anna Fali
1026Francesco V NickaJapan2024-06-06Morlong Associates QUALIFIED93Amy Elsner
1027Isabel B PoquetteGermany2024-05-24Feltz Printing Service RENEWAL8Ivan Magalhaes
1028Octavia A AmigonItaly2024-06-14King, Christopher A Esq UNQUALIFIED25Amy Elsner
1029Jefferson N RutaSpain2024-05-29King, Christopher A Esq NEW35Amy Elsner
1030Johnson F RutaSpain2024-05-31Buckley Miller Wright UNQUALIFIED73Bernardo Dominic
1031Morrow Z MaletGermany2024-06-12Chapman, Ross E Esq NEGOTIATION25Ivan Magalhaes
1032Leon I BriddickAustralia2024-06-04Morlong Associates NEW98Ivan Magalhaes
1033Julie M BologniaFrance2024-06-03Chapman, Ross E Esq NEW0Elwin Sharvill
1034Aika E NickaItaly2024-06-07Benton, John B Jr NEW20Bernardo Dominic
1035Salvatore U VocelkaBrazil2024-05-30Morlong Associates RENEWAL67Asiya Javayant
1036Kaitlin N TollnerArgentina2024-05-26Morlong Associates QUALIFIED45Anna Fali
1037Darci V BowleyUnited Kingdom2024-05-24Chanay, Jeffrey A Esq NEW51Ivan Magalhaes
1038Emily O NestleAustralia2024-05-27Dorl, James J Esq UNQUALIFIED26Bernardo Dominic
1039Salvatore J FerenczRussia2024-05-24Rangoni Of Florence PROPOSAL69Asiya Javayant
1040Arvin R VocelkaCanada2024-06-05Chapman, Ross E Esq RENEWAL50Stephen Shaw
1041Kadeem W SergiSpain2024-05-30King, Christopher A Esq NEGOTIATION44Asiya Javayant
1042Maisha U OstroskyArgentina2024-06-06Buckley Miller Wright QUALIFIED5Ivan Magalhaes
1043Aruna Y ButtFrance2024-06-16Commercial Press UNQUALIFIED4Elwin Sharvill
1044Jefferson E StockhamArgentina2024-06-08Buckley Miller Wright QUALIFIED45Stephen Shaw
1045Greenwood G CaudyGermany2024-05-27Feltz Printing Service QUALIFIED3Elwin Sharvill
1046Maisha H AmigonArgentina2024-05-30Chanay, Jeffrey A Esq NEW38Amy Elsner
1047Faith R VenereSpain2024-05-26Rangoni Of Florence NEGOTIATION23Bernardo Dominic
1048Aditya G CampainSpain2024-06-01Buckley Miller Wright UNQUALIFIED37Bernardo Dominic
1049Rodrigues K GlickItaly2024-05-29Buckley Miller Wright PROPOSAL43Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson X CaldareraItalyElwin Sharvill UNQUALIFIED
Sinclair L MarrierArgentinaXuxue Feng PROPOSAL
Nicolas V NickaItalyAsiya Javayant PROPOSAL
Salvatore N KuskoCanadaAnna Fali NEW
Silvio F MorascaGermanyStephen Shaw NEGOTIATION
Smith Z AmigonIndiaOnyama Limba NEW
Maisha N VenereFranceAmy Elsner UNQUALIFIED
Silvio P GauchoIndiaIoni Bowcher RENEWAL
Mayumi N PerinArgentinaXuxue Feng QUALIFIED
Sinclair E SlusarskiFranceBernardo Dominic PROPOSAL
Faith Q MarrierSpainIvan Magalhaes NEW
Izzy B WaycottRussiaIoni Bowcher QUALIFIED
Isabel L SchemmerFranceXuxue Feng QUALIFIED
Jones A FigeroaRussiaAnna Fali NEW
Jennifer H VenereIndiaAmy Elsner UNQUALIFIED
Adams U KuskoIndiaElwin Sharvill NEGOTIATION
Isabel X SlusarskiSpainStephen Shaw UNQUALIFIED
Stacey N DoeGermanyAsiya Javayant NEW
Kaitlin O BriddickRussiaIvan Magalhaes RENEWAL
Octavia G TollnerSpainStephen Shaw NEW
Jones Z FigeroaItalyElwin Sharvill QUALIFIED
Maisha U MarrierUnited KingdomElwin Sharvill PROPOSAL
Johnson Z KolmetzBrazilBernardo Dominic RENEWAL
Nicolas K DarakjyItalyXuxue Feng PROPOSAL
Nicolas R NestleArgentinaIoni Bowcher RENEWAL
Silvio P MaletRussiaIvan Magalhaes PROPOSAL
Leja W RulapaughAustraliaAsiya Javayant NEGOTIATION
Alejandro Z RimBrazilAsiya Javayant QUALIFIED
Alejandro S WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Isabel Y AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Octavia Y WaycottBrazilBernardo Dominic PROPOSAL
Costa G RulapaughBrazilBernardo Dominic NEW
Maria T NestleSpainXuxue Feng PROPOSAL
Aruna D SchemmerRussiaIoni Bowcher NEGOTIATION
Kaitlin W WhobreySpainElwin Sharvill UNQUALIFIED
Salvatore F MaletGermanyXuxue Feng NEGOTIATION
Alejandro J ShinkoSpainStephen Shaw NEW
Leja L FerenczFranceStephen Shaw NEW
Misaki I NestleIndiaAnna Fali QUALIFIED
Isabel O DarakjyCanadaIoni Bowcher NEW
Jones R KolmetzArgentinaAmy Elsner UNQUALIFIED
Aditya H MaletUnited KingdomElwin Sharvill PROPOSAL
Sinclair G KuskoSpainIvan Magalhaes QUALIFIED
Munro B VocelkaArgentinaAnna Fali QUALIFIED
Deepesh C OstroskyIndiaStephen Shaw QUALIFIED
Juan L NickaArgentinaIoni Bowcher NEGOTIATION
Francesco U WaycottCanadaIvan Magalhaes NEGOTIATION
Mayumi C WhobreyAustraliaElwin Sharvill RENEWAL
Julie T MacleadItalyIvan Magalhaes UNQUALIFIED
Mujtaba R PaprockiRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Claire C Waycott
Maria A Bowley
James T Poquette
Chavez Q Foller
Isabel F Chui
Alejandro K Kolmetz
Arvin X Butt
Francesco M Gillian
Ashley O Paprocki
Leja L Sergi
Nicolas Y Kusko
Kaitlin N Morasca
Clifford K Bowley
James I Malet
Greenwood X Nicka
Emily J Poquette
Morrow S Doe
Chavez E Amigon
Faith Q Maclead
Adams I Paprocki
Kadeem R Caudy
Arvin S Ferencz
Francesco D Schemmer
Juan U Figeroa
Francesco Q Garufi
James Z Schemmer
Faith S Albares
Leon P Caudy
Chavez B Stockham
Claire Z Doe
Ivar V Stockham
Silvio O Sergi
Leja A Nicka
Stacey U Briddick
Ashley G Butt
Aruna H Slusarski
Ricardo U Malet
Leon F Rulapaugh
Jefferson S Shinko
Murillo X Inouye
Adams W Rulapaugh
Greenwood I Briddick
Ricardo W Nestle
Arvin H Inouye
Izzy N Malet
Nicolas D Foller
Stacey K Vocelka
Kadeem T Rim
James N Tollner
Kaitlin T Campain
IdCountryDate
1000Argentina2024-05-29
1001Russia2024-05-27
1002Russia2024-05-25
1003India2024-05-27
1004Brazil2024-06-07
1005Italy2024-05-31
1006Brazil2024-06-17
1007India2024-05-30
1008Australia2024-05-23
1009Italy2024-06-02
1010Germany2024-06-06
1011Canada2024-05-30
1012Italy2024-06-07
1013Spain2024-06-18
1014Italy2024-06-07
1015France2024-06-12
1016Germany2024-06-03
1017Australia2024-06-04
1018Japan2024-06-20
1019Brazil2024-06-04
1020Canada2024-06-11
1021United Kingdom2024-06-02
1022France2024-06-06
1023Argentina2024-05-29
1024Russia2024-05-31
1025United Kingdom2024-05-28
1026Japan2024-06-04
1027Germany2024-06-13
1028India2024-06-09
1029United Kingdom2024-06-17
1030Australia2024-06-10
1031United Kingdom2024-06-15
1032United Kingdom2024-06-05
1033Russia2024-05-25
1034Brazil2024-06-06
1035Spain2024-06-21
1036France2024-06-02
1037Australia2024-06-10
1038Japan2024-06-02
1039Japan2024-06-09
1040Australia2024-06-17
1041Japan2024-06-03
1042Argentina2024-06-13
1043Italy2024-05-30
1044Germany2024-06-10
1045Brazil2024-05-28
1046Argentina2024-06-19
1047Australia2024-05-31
1048Japan2024-06-06
1049Italy2024-06-12

On-Demand Data

NameIdCountryDate
Maisha P Garufi1000Argentina2024-06-09
Francesco U Paprocki1001United Kingdom2024-06-09
Jefferson H Marrier1002Russia2024-05-30
Izzy C Marrier1003Spain2024-06-01
Salvatore R Rulapaugh1004Germany2024-06-11
Wickens R Kolmetz1005Argentina2024-05-24
Juan A Nestle1006Australia2024-06-21
Silvio C Malet1007Australia2024-06-20
Kadeem T Ostrosky1008Argentina2024-06-01
Mayumi K Maclead1009Spain2024-06-02
Kaitlin S Albares1010Brazil2024-06-16
Greenwood E Briddick1011Brazil2024-06-15
Mujtaba P Wieser1012United Kingdom2024-06-12
Octavia Q Venere1013Germany2024-06-16
Izzy O Campain1014Brazil2024-05-29
Cody N Caldarera1015United Kingdom2024-06-13
Rodrigues A Campain1016Italy2024-06-08
Deepesh F Waycott1017France2024-06-04
Munro N Campain1018Australia2024-06-02
Misaki P Iturbide1019Japan2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson E ChuiUnited KingdomOnyama Limba QUALIFIED
Leja S PaprockiCanadaOnyama Limba UNQUALIFIED
Leon G PaprockiFranceBernardo Dominic UNQUALIFIED
Tony J DilliardCanadaStephen Shaw QUALIFIED
Rodrigues Z ChuiCanadaXuxue Feng RENEWAL
Julie C FigeroaBrazilIvan Magalhaes NEW
James G MaletJapanOnyama Limba NEGOTIATION
Antonio L PerinIndiaBernardo Dominic QUALIFIED
Leja P MacleadCanadaAmy Elsner QUALIFIED
Greenwood T PerinArgentinaOnyama Limba PROPOSAL
Claire Z OldroydIndiaIoni Bowcher PROPOSAL
Smith P CampainSpainBernardo Dominic PROPOSAL
Murillo B FollerJapanIvan Magalhaes NEW
Deepesh P SergiAustraliaXuxue Feng NEGOTIATION
Mujtaba Y BologniaArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois X OldroydItalyBernardo Dominic QUALIFIED
Salvatore P SchemmerBrazilStephen Shaw QUALIFIED
Morrow N MacleadBrazilAmy Elsner NEGOTIATION
Morrow O KuskoRussiaAmy Elsner PROPOSAL
Darci X TollnerIndiaXuxue Feng NEGOTIATION
Izzy W RulapaughFranceAsiya Javayant NEGOTIATION
Sinclair J GillianGermanyOnyama Limba NEGOTIATION
Isabel R CaldareraArgentinaIvan Magalhaes RENEWAL
Darci B BologniaItalyXuxue Feng PROPOSAL
Ashley M RimJapanAnna Fali RENEWAL
Sinclair I MarrierAustraliaBernardo Dominic QUALIFIED
Jennifer A PoquetteCanadaBernardo Dominic NEW
Chavez W OstroskyIndiaOnyama Limba RENEWAL
Maria Q InouyeItalyOnyama Limba NEW
Clifford U MaletUnited KingdomAmy Elsner QUALIFIED
Sinclair Q MaletUnited KingdomStephen Shaw RENEWAL
Johnson X WaycottCanadaIoni Bowcher QUALIFIED
Arvin F KolmetzAustraliaStephen Shaw RENEWAL
Maisha H SaylorsFranceElwin Sharvill UNQUALIFIED
Ricardo G DilliardBrazilXuxue Feng RENEWAL
Johnson E WaycottIndiaAnna Fali UNQUALIFIED
David S FlosiArgentinaIoni Bowcher QUALIFIED
Aruna B MorascaUnited KingdomAmy Elsner PROPOSAL
Faith E SergiJapanIoni Bowcher QUALIFIED
Stacey P BologniaBrazilAsiya Javayant 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>