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
Emily Q BologniaGermanyAnna Fali NEW
Antonio E FlosiArgentinaAnna Fali NEW
Jeanfrancois V VocelkaJapanIvan Magalhaes UNQUALIFIED
Leon P SaylorsFranceElwin Sharvill RENEWAL
Cody M ButtIndiaIvan Magalhaes UNQUALIFIED
Greenwood U WhobreyIndiaBernardo Dominic PROPOSAL
Francesco J RutaItalyAmy Elsner NEW
Ivar D CaudyRussiaAnna Fali NEW
Johnson F MorascaRussiaAnna Fali UNQUALIFIED
David W RimGermanyOnyama Limba RENEWAL
Sinclair D MorascaCanadaBernardo Dominic RENEWAL
Aika X RoysterRussiaOnyama Limba PROPOSAL
Kadeem N BologniaCanadaElwin Sharvill UNQUALIFIED
David U PerinIndiaIvan Magalhaes UNQUALIFIED
Morrow U BologniaCanadaAnna Fali NEW
Murillo F GauchoAustraliaBernardo Dominic RENEWAL
David T IturbideBrazilIvan Magalhaes RENEWAL
Juan Y GlickSpainAmy Elsner RENEWAL
Chavez K RimGermanyIvan Magalhaes RENEWAL
Antonio E WieserJapanIvan Magalhaes PROPOSAL
Adams E SlusarskiAustraliaIvan Magalhaes NEW
Ricardo I GauchoGermanyStephen Shaw NEGOTIATION
Mujtaba D DarakjyArgentinaAsiya Javayant RENEWAL
Octavia Y PerinArgentinaElwin Sharvill NEGOTIATION
Aditya A OldroydJapanIoni Bowcher NEW
Jefferson Y ChuiUnited KingdomAmy Elsner QUALIFIED
Mayumi J FigeroaSpainAnna Fali QUALIFIED
Jennifer D VocelkaAustraliaIvan Magalhaes PROPOSAL
Deepesh U BriddickItalyXuxue Feng PROPOSAL
Chavez G RimGermanyAnna Fali RENEWAL
Jones A RulapaughItalyBernardo Dominic NEGOTIATION
Faith H FollerGermanyAmy Elsner PROPOSAL
Mujtaba A OstroskyFranceAsiya Javayant NEW
Alejandro E RimRussiaIvan Magalhaes PROPOSAL
Faith S ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson F FlosiFranceIvan Magalhaes NEGOTIATION
Kaitlin O FlosiItalyElwin Sharvill QUALIFIED
Tony F PerinArgentinaIvan Magalhaes NEW
Sinclair J CampainSpainOnyama Limba QUALIFIED
Alejandro P StockhamUnited KingdomIoni Bowcher RENEWAL
Juan M FerenczCanadaOnyama Limba QUALIFIED
Aruna D StockhamIndiaAsiya Javayant QUALIFIED
Kaitlin Q CaldareraSpainIoni Bowcher UNQUALIFIED
Greenwood B BowleyBrazilAmy Elsner NEGOTIATION
Darci N FlosiSpainStephen Shaw RENEWAL
Francesco I MorascaArgentinaAmy Elsner NEGOTIATION
Greenwood U PoquetteUnited KingdomAsiya Javayant QUALIFIED
Francesco Q PaprockiItalyBernardo Dominic QUALIFIED
Misaki S CaudyArgentinaOnyama Limba RENEWAL
Costa R GillianArgentinaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith E DoeBrazilStephen Shaw UNQUALIFIED
Darci Q CaudyBrazilAmy Elsner UNQUALIFIED
Kadeem E KolmetzRussiaElwin Sharvill RENEWAL
Jeanfrancois J FerenczUnited KingdomOnyama Limba NEW
Aditya D BologniaSpainStephen Shaw QUALIFIED
Mayumi S FollerSpainAsiya Javayant NEW
Nicolas L BologniaBrazilBernardo Dominic PROPOSAL
Rodrigues V NestleJapanAsiya Javayant UNQUALIFIED
Adams W BowleyUnited KingdomXuxue Feng PROPOSAL
Smith A NestleIndiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith G FigeroaArgentina2024-06-05Feltz Printing Service UNQUALIFIED36Onyama Limba
1001Jones F CampainSpain2024-05-21Feltz Printing Service PROPOSAL95Onyama Limba
1002Murillo J SlusarskiRussia2024-06-10King, Christopher A Esq RENEWAL51Anna Fali
1003Claire S FlosiArgentina2024-06-14Benton, John B Jr NEW67Onyama Limba
1004Isabel M KolmetzRussia2024-05-23Rangoni Of Florence UNQUALIFIED69Ioni Bowcher
1005Mayumi S SchemmerUnited Kingdom2024-06-09Feltz Printing Service NEGOTIATION5Ioni Bowcher
1006Juan F SlusarskiFrance2024-05-26King, Christopher A Esq NEW4Anna Fali
1007Silvio O RutaBrazil2024-05-22Buckley Miller Wright PROPOSAL34Onyama Limba
1008Salvatore M CampainJapan2024-06-10Truhlar And Truhlar Attys RENEWAL65Onyama Limba
1009Arvin H ChuiSpain2024-06-01Printing Dimensions NEW59Ivan Magalhaes
1010Aditya K IturbideIndia2024-06-04Commercial Press QUALIFIED84Elwin Sharvill
1011Morrow T MacleadAustralia2024-05-30Printing Dimensions NEGOTIATION27Ioni Bowcher
1012Cody P AlbaresBrazil2024-05-22Feltz Printing Service NEW68Ivan Magalhaes
1013Ashley K GlickBrazil2024-06-13Chanay, Jeffrey A Esq RENEWAL66Stephen Shaw
1014Chavez F TollnerArgentina2024-05-28Rangoni Of Florence UNQUALIFIED72Asiya Javayant
1015Stacey G SergiGermany2024-06-01Truhlar And Truhlar Attys RENEWAL17Bernardo Dominic
1016Costa T RutaCanada2024-05-26Chemel, James L Cpa PROPOSAL90Anna Fali
1017Francesco E RulapaughCanada2024-05-22Chapman, Ross E Esq NEGOTIATION26Bernardo Dominic
1018Kaitlin X CaudyFrance2024-06-04Chemel, James L Cpa UNQUALIFIED61Stephen Shaw
1019Munro L OldroydItaly2024-05-22Morlong Associates UNQUALIFIED36Asiya Javayant
1020Johnson Z WhobreyFrance2024-06-12Rousseaux, Michael Esq QUALIFIED7Anna Fali
1021Rodrigues S VenereFrance2024-06-03Rousseaux, Michael Esq NEGOTIATION53Asiya Javayant
1022Francesco A MaletFrance2024-06-14Rousseaux, Michael Esq UNQUALIFIED15Anna Fali
1023Kaitlin H WieserArgentina2024-05-24Chapman, Ross E Esq RENEWAL54Amy Elsner
1024Aika N MorascaGermany2024-05-24Rousseaux, Michael Esq RENEWAL5Ioni Bowcher
1025Misaki S PerinSpain2024-06-06Feltz Printing Service NEW30Ivan Magalhaes
1026Deepesh U MaletUnited Kingdom2024-06-07Printing Dimensions UNQUALIFIED25Anna Fali
1027Arvin K ChuiJapan2024-06-12Feltz Printing Service UNQUALIFIED0Anna Fali
1028Misaki L DilliardUnited Kingdom2024-05-24Buckley Miller Wright NEW27Elwin Sharvill
1029Darci I NickaUnited Kingdom2024-06-06Dorl, James J Esq QUALIFIED50Ioni Bowcher
1030Kadeem P SlusarskiArgentina2024-06-12Printing Dimensions NEGOTIATION60Amy Elsner
1031Cody Y ButtArgentina2024-05-18Buckley Miller Wright NEGOTIATION10Elwin Sharvill
1032Greenwood T MaletUnited Kingdom2024-05-18Rousseaux, Michael Esq PROPOSAL52Anna Fali
1033Mujtaba T FigeroaCanada2024-06-05Morlong Associates PROPOSAL44Xuxue Feng
1034Aruna Q TollnerIndia2024-06-09King, Christopher A Esq QUALIFIED56Elwin Sharvill
1035Jennifer Y MacleadUnited Kingdom2024-05-25King, Christopher A Esq NEGOTIATION74Onyama Limba
1036Jones I CampainAustralia2024-06-15Chanay, Jeffrey A Esq RENEWAL40Anna Fali
1037Mayumi X CaudyFrance2024-05-24King, Christopher A Esq UNQUALIFIED15Xuxue Feng
1038Silvio P PoquetteCanada2024-05-19Rangoni Of Florence UNQUALIFIED86Elwin Sharvill
1039Arvin A InouyeAustralia2024-06-15Feltz Printing Service NEGOTIATION69Stephen Shaw
1040Leja F InouyeBrazil2024-05-27Buckley Miller Wright NEW29Amy Elsner
1041Wickens X AlbaresRussia2024-06-01Feiner Bros QUALIFIED60Elwin Sharvill
1042Maisha E GlickFrance2024-05-24King, Christopher A Esq NEGOTIATION44Elwin Sharvill
1043Julie I ShinkoJapan2024-06-08Chemel, James L Cpa NEGOTIATION97Xuxue Feng
1044Wickens R WhobreyItaly2024-06-02Truhlar And Truhlar Attys RENEWAL27Onyama Limba
1045Sinclair P MacleadFrance2024-06-03Truhlar And Truhlar Attys NEW11Stephen Shaw
1046Leja S MacleadSpain2024-05-24Printing Dimensions RENEWAL19Amy Elsner
1047Francesco G ChuiItaly2024-05-21Truhlar And Truhlar Attys QUALIFIED30Bernardo Dominic
1048Clifford W AlbaresGermany2024-05-19Feltz Printing Service PROPOSAL5Anna Fali
1049Greenwood X KuskoSpain2024-06-06Feltz Printing Service QUALIFIED59Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Faith M OldroydJapanAnna Fali QUALIFIED
Isabel C FlosiItalyXuxue Feng NEGOTIATION
Izzy K DilliardRussiaIvan Magalhaes NEGOTIATION
Clifford J StockhamIndiaStephen Shaw QUALIFIED
Salvatore X TollnerIndiaStephen Shaw NEGOTIATION
Julie F BologniaIndiaAmy Elsner PROPOSAL
Nicolas V WhobreyUnited KingdomBernardo Dominic PROPOSAL
Arvin W GillianBrazilAmy Elsner QUALIFIED
Isabel Z PerinItalyIoni Bowcher PROPOSAL
Jefferson T KolmetzFranceAnna Fali UNQUALIFIED
Adams V FigeroaFranceIoni Bowcher RENEWAL
Morrow G IturbideArgentinaOnyama Limba NEGOTIATION
Leja L StensethFranceBernardo Dominic RENEWAL
Jones B StensethFranceStephen Shaw RENEWAL
Silvio G OldroydSpainXuxue Feng NEW
Ricardo J WhobreyArgentinaIvan Magalhaes PROPOSAL
Emily Y StensethAustraliaXuxue Feng PROPOSAL
Mujtaba Q WaycottJapanStephen Shaw UNQUALIFIED
Jennifer W OstroskySpainIvan Magalhaes QUALIFIED
Julie D OldroydCanadaAsiya Javayant NEW
Izzy B ShinkoAustraliaBernardo Dominic PROPOSAL
Munro N NestleUnited KingdomXuxue Feng NEW
Murillo D StockhamUnited KingdomAsiya Javayant NEW
Nicolas G FerenczBrazilIvan Magalhaes PROPOSAL
Ricardo C MacleadIndiaOnyama Limba QUALIFIED
Aruna X FigeroaIndiaElwin Sharvill QUALIFIED
Julie T CaudyUnited KingdomAnna Fali UNQUALIFIED
David W MaletItalyXuxue Feng NEW
Jennifer M BriddickBrazilOnyama Limba QUALIFIED
Smith Z AmigonIndiaAsiya Javayant NEW
Jennifer T RulapaughItalyXuxue Feng UNQUALIFIED
Aika D MarrierJapanIoni Bowcher NEW
Aika D DoeFranceElwin Sharvill QUALIFIED
Octavia X RulapaughCanadaIvan Magalhaes PROPOSAL
Johnson Z BriddickUnited KingdomElwin Sharvill PROPOSAL
Alejandro D StensethAustraliaIvan Magalhaes QUALIFIED
Sinclair Z PerinSpainBernardo Dominic NEW
Wickens I DilliardBrazilOnyama Limba UNQUALIFIED
Greenwood N GlickBrazilXuxue Feng NEW
Octavia D RimSpainAnna Fali UNQUALIFIED
Claire A FigeroaCanadaOnyama Limba UNQUALIFIED
Julie Z PerinGermanyElwin Sharvill PROPOSAL
Jefferson X RimGermanyAmy Elsner RENEWAL
Deepesh F PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore B GillianFranceBernardo Dominic NEGOTIATION
Jeanfrancois U PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Leja P WhobreyUnited KingdomIvan Magalhaes NEW
Aditya Z BowleyBrazilOnyama Limba PROPOSAL
Cody T WhobreyArgentinaStephen Shaw RENEWAL
James E NickaCanadaXuxue Feng QUALIFIED
Frozen Columns
Name
Emily I Vocelka
Misaki W Royster
Wickens Q Schemmer
Isabel F Venere
Misaki W Glick
David M Caudy
Sinclair V Stockham
Deepesh Z Venere
Ivar C Dilliard
Deepesh E Ostrosky
Clifford S Stockham
Ivar K Chui
David Q Rim
Adams Q Rulapaugh
Silvio P Bowley
Adams U Wieser
Silvio X Gillian
Isabel S Campain
Rodrigues V Stenseth
Jones D Amigon
Juan Y Iturbide
Costa R Morasca
Sinclair D Paprocki
Izzy X Rulapaugh
Salvatore S Vocelka
Jones N Darakjy
Ivar V Saylors
Ivar L Bowley
Francesco M Briddick
Deepesh G Stenseth
Salvatore C Nicka
Octavia N Sergi
Izzy H Schemmer
Munro C Garufi
Greenwood U Doe
Leja M Sergi
Murillo C Wieser
Octavia F Butt
Antonio Z Venere
Ricardo F Glick
Morrow R Iturbide
Tony Z Sergi
Jennifer A Rim
Adams X Stenseth
Darci P Bolognia
Costa E Doe
Jefferson W Campain
Tony A Malet
Maisha L Figeroa
Salvatore W Wieser
IdCountryDate
1000Brazil2024-05-18
1001France2024-06-16
1002Japan2024-05-30
1003France2024-05-26
1004Japan2024-05-31
1005Japan2024-06-07
1006Australia2024-06-16
1007Japan2024-05-23
1008Spain2024-05-27
1009Italy2024-06-13
1010Argentina2024-05-21
1011Russia2024-05-20
1012Argentina2024-06-03
1013Germany2024-06-10
1014Brazil2024-05-28
1015Russia2024-05-31
1016Italy2024-05-21
1017United Kingdom2024-06-10
1018Australia2024-06-05
1019United Kingdom2024-06-06
1020United Kingdom2024-06-09
1021Spain2024-05-25
1022Japan2024-05-31
1023Australia2024-06-13
1024United Kingdom2024-05-30
1025United Kingdom2024-06-12
1026Canada2024-05-25
1027Brazil2024-06-11
1028Brazil2024-06-05
1029Brazil2024-06-01
1030Italy2024-06-07
1031France2024-06-08
1032Canada2024-05-18
1033France2024-06-01
1034Russia2024-05-19
1035United Kingdom2024-06-13
1036India2024-05-18
1037Canada2024-06-09
1038Italy2024-06-14
1039France2024-06-03
1040France2024-06-10
1041Italy2024-05-28
1042Australia2024-06-13
1043United Kingdom2024-06-07
1044Russia2024-05-23
1045Spain2024-06-04
1046Russia2024-05-31
1047United Kingdom2024-06-15
1048Spain2024-05-18
1049Germany2024-06-10

On-Demand Data

NameIdCountryDate
James J Rulapaugh1000Australia2024-05-18
David E Rulapaugh1001United Kingdom2024-06-09
Octavia N Iturbide1002Italy2024-05-29
Salvatore M Ferencz1003United Kingdom2024-05-29
Emily L Whobrey1004Brazil2024-05-22
Ricardo F Royster1005Brazil2024-06-07
Juan B Perin1006India2024-06-10
Faith K Inouye1007Germany2024-05-26
Francesco A Paprocki1008Russia2024-05-22
Arvin B Kusko1009Brazil2024-06-12
Deepesh R Saylors1010Spain2024-06-16
Darci V Caldarera1011France2024-06-14
Ricardo C Royster1012United Kingdom2024-06-11
Clifford E Rulapaugh1013Argentina2024-05-23
Alejandro H Flosi1014Italy2024-05-18
Aditya W Doe1015Russia2024-06-13
Sinclair I Oldroyd1016United Kingdom2024-06-11
Ashley H Saylors1017Germany2024-06-08
Antonio L Chui1018United Kingdom2024-06-06
Isabel U Stockham1019Germany2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy E MacleadJapanXuxue Feng NEW
Darci U WhobreyItalyStephen Shaw RENEWAL
Murillo G SaylorsItalyBernardo Dominic NEW
Jeanfrancois K SchemmerArgentinaBernardo Dominic NEGOTIATION
Aika M VenereArgentinaOnyama Limba NEW
Misaki N IturbideItalyIvan Magalhaes RENEWAL
Smith V VocelkaGermanyXuxue Feng NEGOTIATION
Jeanfrancois W StensethAustraliaOnyama Limba NEGOTIATION
Jones Z ButtAustraliaBernardo Dominic RENEWAL
Aruna S WaycottAustraliaAsiya Javayant NEW
Clifford I MaletJapanIoni Bowcher NEGOTIATION
Tony X FollerCanadaAnna Fali QUALIFIED
James Q RutaGermanyXuxue Feng NEW
Greenwood J BriddickSpainAnna Fali QUALIFIED
Jones R WieserItalyAsiya Javayant RENEWAL
Tony M OldroydItalyStephen Shaw NEW
Sinclair R PoquetteArgentinaBernardo Dominic RENEWAL
Ivar P IturbideSpainElwin Sharvill QUALIFIED
Claire C FerenczSpainElwin Sharvill PROPOSAL
Kadeem R PerinUnited KingdomIvan Magalhaes PROPOSAL
Morrow E WhobreyBrazilElwin Sharvill UNQUALIFIED
Maria T CaldareraRussiaStephen Shaw PROPOSAL
Jennifer G SergiAustraliaIoni Bowcher RENEWAL
Chavez D WaycottAustraliaElwin Sharvill RENEWAL
Jennifer J MaletJapanAmy Elsner RENEWAL
Faith B RoysterRussiaAnna Fali NEW
Claire I NestleAustraliaOnyama Limba UNQUALIFIED
Francesco B CampainFranceStephen Shaw NEGOTIATION
Maria L RimItalyStephen Shaw RENEWAL
Clifford X DilliardBrazilElwin Sharvill QUALIFIED
Chavez I PerinIndiaAmy Elsner NEGOTIATION
Nicolas X MarrierSpainOnyama Limba NEW
Munro Y WhobreyJapanElwin Sharvill NEW
Jeanfrancois Y InouyeBrazilElwin Sharvill NEGOTIATION
Octavia U MarrierItalyAsiya Javayant NEGOTIATION
Mujtaba Z CaudyUnited KingdomIvan Magalhaes PROPOSAL
Johnson A MarrierJapanElwin Sharvill RENEWAL
Kadeem H SchemmerBrazilAsiya Javayant QUALIFIED
Izzy G DilliardAustraliaIoni Bowcher QUALIFIED
Maisha Z SchemmerArgentinaAmy Elsner 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>