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
David O MaletJapanIvan Magalhaes NEGOTIATION
Stacey X SchemmerUnited KingdomIoni Bowcher NEGOTIATION
James Q PoquetteJapanAnna Fali NEW
Chavez S SergiSpainBernardo Dominic UNQUALIFIED
Adams G AlbaresIndiaAmy Elsner RENEWAL
James O FerenczRussiaOnyama Limba NEW
Leja M FigeroaJapanIoni Bowcher RENEWAL
Maria V MacleadGermanyAsiya Javayant RENEWAL
Costa H RoysterSpainAsiya Javayant NEGOTIATION
Clifford I FerenczFranceIvan Magalhaes RENEWAL
Rodrigues D DarakjySpainBernardo Dominic PROPOSAL
Ashley J FigeroaBrazilStephen Shaw RENEWAL
Octavia N PerinUnited KingdomIoni Bowcher NEW
Ashley Y SaylorsAustraliaElwin Sharvill PROPOSAL
Misaki B WieserItalyBernardo Dominic RENEWAL
Emily Y MaletIndiaAsiya Javayant RENEWAL
Kaitlin I SlusarskiArgentinaXuxue Feng RENEWAL
Claire A BologniaItalyAmy Elsner NEGOTIATION
Jennifer O NickaGermanyIvan Magalhaes UNQUALIFIED
Maria D PaprockiSpainBernardo Dominic NEW
Izzy K KuskoJapanStephen Shaw NEGOTIATION
Wickens Y DilliardRussiaAsiya Javayant UNQUALIFIED
Aditya C GlickAustraliaElwin Sharvill NEGOTIATION
Tony G ButtGermanyElwin Sharvill QUALIFIED
Rodrigues T PoquetteSpainStephen Shaw UNQUALIFIED
Isabel Q StockhamSpainElwin Sharvill NEW
Aditya Q SchemmerJapanXuxue Feng UNQUALIFIED
Claire N PerinFranceStephen Shaw UNQUALIFIED
Nicolas H BologniaCanadaAmy Elsner PROPOSAL
Smith X BologniaCanadaAsiya Javayant QUALIFIED
Claire G MacleadUnited KingdomOnyama Limba NEW
Silvio F MorascaItalyAnna Fali PROPOSAL
Izzy J MorascaItalyOnyama Limba UNQUALIFIED
Maisha L MacleadFranceIvan Magalhaes NEW
Francesco R GarufiAustraliaBernardo Dominic PROPOSAL
Emily R RoysterFranceIoni Bowcher RENEWAL
Ashley B CaudyUnited KingdomAnna Fali PROPOSAL
Faith U MarrierCanadaAnna Fali RENEWAL
Smith K MaletAustraliaIvan Magalhaes QUALIFIED
Emily H MaletItalyAnna Fali RENEWAL
Smith X DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Adams Q StensethCanadaAsiya Javayant NEGOTIATION
Chavez W VocelkaIndiaIvan Magalhaes PROPOSAL
Claire Y DoeArgentinaAnna Fali PROPOSAL
Mayumi G AlbaresArgentinaIoni Bowcher NEGOTIATION
Darci L VocelkaSpainAmy Elsner NEGOTIATION
Izzy H RulapaughArgentinaIoni Bowcher RENEWAL
Leja X GillianItalyElwin Sharvill NEW
Maria T FerenczCanadaXuxue Feng PROPOSAL
Sinclair E WhobreyCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan E AlbaresFranceIvan Magalhaes QUALIFIED
Cody V MarrierArgentinaIvan Magalhaes UNQUALIFIED
Sinclair H SchemmerSpainXuxue Feng NEGOTIATION
Tony V OstroskyUnited KingdomIoni Bowcher NEW
Jeanfrancois I NickaBrazilBernardo Dominic RENEWAL
Sinclair H RimAustraliaElwin Sharvill NEW
Cody X FollerBrazilAmy Elsner NEGOTIATION
Smith W RoysterCanadaAnna Fali UNQUALIFIED
Adams T DarakjyBrazilAsiya Javayant PROPOSAL
Alejandro X BowleyBrazilAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley M MacleadGermany2024-06-09Rousseaux, Michael Esq QUALIFIED82Anna Fali
1001Cody J GillianAustralia2024-06-15Truhlar And Truhlar Attys NEW42Amy Elsner
1002Kaitlin R MaletItaly2024-06-07Rangoni Of Florence NEGOTIATION18Elwin Sharvill
1003Juan Q CaldareraUnited Kingdom2024-05-23Chanay, Jeffrey A Esq RENEWAL54Onyama Limba
1004Chavez S FigeroaIndia2024-05-28Chemel, James L Cpa QUALIFIED73Amy Elsner
1005Arvin S FollerUnited Kingdom2024-06-08King, Christopher A Esq QUALIFIED35Onyama Limba
1006Maisha F ShinkoArgentina2024-05-24Commercial Press QUALIFIED83Anna Fali
1007Kaitlin L MacleadIndia2024-05-30Morlong Associates QUALIFIED20Amy Elsner
1008Aika X WieserIndia2024-05-27King, Christopher A Esq NEGOTIATION19Asiya Javayant
1009Leon T ChuiFrance2024-06-09King, Christopher A Esq QUALIFIED4Stephen Shaw
1010Leja C FerenczUnited Kingdom2024-06-15Dorl, James J Esq PROPOSAL9Asiya Javayant
1011Izzy X WieserUnited Kingdom2024-05-31Morlong Associates NEGOTIATION34Onyama Limba
1012Cody B IturbideFrance2024-05-25Morlong Associates QUALIFIED30Ioni Bowcher
1013Antonio K ShinkoIndia2024-06-11Rousseaux, Michael Esq UNQUALIFIED71Ioni Bowcher
1014Murillo O PaprockiAustralia2024-06-13Printing Dimensions QUALIFIED29Onyama Limba
1015Arvin U SergiAustralia2024-06-21Truhlar And Truhlar Attys NEGOTIATION66Ivan Magalhaes
1016Leon Y KuskoSpain2024-06-17Chemel, James L Cpa UNQUALIFIED40Onyama Limba
1017Julie N FigeroaFrance2024-05-25Rousseaux, Michael Esq PROPOSAL36Anna Fali
1018Adams N KuskoRussia2024-05-30Printing Dimensions QUALIFIED62Anna Fali
1019Ivar G DoeUnited Kingdom2024-06-16Commercial Press NEGOTIATION23Asiya Javayant
1020Julie D BowleyCanada2024-06-04Feiner Bros NEW39Anna Fali
1021Jefferson R CaldareraIndia2024-05-24Printing Dimensions PROPOSAL12Xuxue Feng
1022Rodrigues V PoquetteArgentina2024-06-14Chanay, Jeffrey A Esq PROPOSAL70Ioni Bowcher
1023Smith W StensethCanada2024-05-26Feltz Printing Service NEGOTIATION7Elwin Sharvill
1024Clifford U BowleyArgentina2024-06-21Chapman, Ross E Esq NEW44Anna Fali
1025Leon Y GauchoGermany2024-06-03Printing Dimensions RENEWAL61Onyama Limba
1026Johnson Z PerinJapan2024-06-18Dorl, James J Esq PROPOSAL15Ioni Bowcher
1027Darci G RoysterArgentina2024-06-02Commercial Press RENEWAL38Bernardo Dominic
1028Maisha K OldroydBrazil2024-06-06Rousseaux, Michael Esq PROPOSAL9Stephen Shaw
1029Murillo I DilliardArgentina2024-06-16Chanay, Jeffrey A Esq NEGOTIATION27Ioni Bowcher
1030Jones C GauchoFrance2024-06-13Chemel, James L Cpa NEW55Onyama Limba
1031Kaitlin Y WhobreySpain2024-06-19Feiner Bros QUALIFIED81Asiya Javayant
1032Murillo T CampainIndia2024-06-09Commercial Press QUALIFIED21Anna Fali
1033Chavez I DilliardAustralia2024-05-24Rousseaux, Michael Esq RENEWAL88Asiya Javayant
1034Clifford H InouyeBrazil2024-05-24Chapman, Ross E Esq UNQUALIFIED16Amy Elsner
1035Ricardo D IturbideIndia2024-06-14Rousseaux, Michael Esq NEGOTIATION84Stephen Shaw
1036Aditya P BriddickBrazil2024-06-17Feltz Printing Service QUALIFIED52Anna Fali
1037Kaitlin D PoquetteIndia2024-06-09King, Christopher A Esq QUALIFIED47Ivan Magalhaes
1038Kaitlin L FollerIndia2024-06-08Chapman, Ross E Esq QUALIFIED88Onyama Limba
1039Aditya T InouyeBrazil2024-06-11Chanay, Jeffrey A Esq PROPOSAL57Amy Elsner
1040Jefferson M OldroydBrazil2024-06-03Printing Dimensions PROPOSAL86Anna Fali
1041Jennifer I GillianGermany2024-06-07King, Christopher A Esq NEW21Stephen Shaw
1042Rodrigues K BowleyIndia2024-05-28Truhlar And Truhlar Attys RENEWAL70Asiya Javayant
1043Octavia M BowleyUnited Kingdom2024-06-20Rangoni Of Florence RENEWAL40Onyama Limba
1044Misaki W DoeBrazil2024-06-07Benton, John B Jr NEGOTIATION58Bernardo Dominic
1045Isabel H WhobreyRussia2024-05-25Benton, John B Jr UNQUALIFIED97Elwin Sharvill
1046Maisha Z NickaItaly2024-06-14Chemel, James L Cpa QUALIFIED43Ioni Bowcher
1047Kaitlin K FlosiFrance2024-06-19Chapman, Ross E Esq QUALIFIED42Bernardo Dominic
1048Francesco A BowleyIndia2024-06-06Dorl, James J Esq NEGOTIATION26Ivan Magalhaes
1049Alejandro C GarufiIndia2024-06-17Rangoni Of Florence QUALIFIED92Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Claire O NestleArgentinaBernardo Dominic NEGOTIATION
Misaki D PerinItalyIoni Bowcher RENEWAL
Alejandro C WaycottBrazilIoni Bowcher NEGOTIATION
Ashley I NestleUnited KingdomElwin Sharvill QUALIFIED
Costa E OstroskyJapanIoni Bowcher QUALIFIED
Rodrigues K DilliardSpainOnyama Limba QUALIFIED
Jeanfrancois S VenereArgentinaBernardo Dominic QUALIFIED
James K NickaUnited KingdomStephen Shaw NEW
Clifford H BologniaSpainAnna Fali UNQUALIFIED
Murillo O KuskoArgentinaIoni Bowcher PROPOSAL
Adams T NickaAustraliaXuxue Feng QUALIFIED
Maisha F WhobreyArgentinaAmy Elsner RENEWAL
Leon B TollnerAustraliaAsiya Javayant NEW
Aruna O WhobreyIndiaXuxue Feng NEGOTIATION
Jefferson D SaylorsSpainAmy Elsner RENEWAL
Julie F OstroskyUnited KingdomStephen Shaw RENEWAL
Aika C DilliardGermanyXuxue Feng QUALIFIED
Clifford P SlusarskiFranceXuxue Feng NEW
Deepesh R PaprockiRussiaStephen Shaw PROPOSAL
David J MaletCanadaAnna Fali RENEWAL
Ivar M BologniaArgentinaIoni Bowcher NEW
Costa Y FerenczFranceOnyama Limba RENEWAL
Mayumi O SergiItalyIvan Magalhaes RENEWAL
Leja S DilliardArgentinaAmy Elsner QUALIFIED
Ivar J ButtAustraliaBernardo Dominic UNQUALIFIED
Leja V CampainSpainIvan Magalhaes QUALIFIED
Maisha M ButtJapanAnna Fali NEW
Deepesh S BologniaItalyXuxue Feng PROPOSAL
Mayumi S NestleIndiaOnyama Limba RENEWAL
Mujtaba E OldroydFranceStephen Shaw QUALIFIED
Octavia N KuskoBrazilAmy Elsner NEGOTIATION
Salvatore A OstroskyGermanyAnna Fali RENEWAL
Emily U BriddickRussiaAsiya Javayant RENEWAL
Octavia X TollnerAustraliaBernardo Dominic QUALIFIED
Jefferson W MarrierCanadaElwin Sharvill RENEWAL
Aditya I CampainFranceAsiya Javayant UNQUALIFIED
Darci U InouyeArgentinaIoni Bowcher UNQUALIFIED
Jones L KolmetzSpainOnyama Limba UNQUALIFIED
Darci B WieserGermanyAmy Elsner NEW
Aruna E TollnerUnited KingdomAnna Fali NEGOTIATION
Kaitlin H ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Jones K MacleadBrazilAnna Fali RENEWAL
Ivar W NestleCanadaBernardo Dominic QUALIFIED
Murillo V PaprockiIndiaAsiya Javayant RENEWAL
Arvin Z KuskoRussiaOnyama Limba PROPOSAL
Claire E SchemmerBrazilAnna Fali RENEWAL
Ivar F AlbaresItalyOnyama Limba RENEWAL
Salvatore S InouyeRussiaIoni Bowcher NEW
Johnson O MorascaCanadaIvan Magalhaes RENEWAL
Alejandro G TollnerJapanIoni Bowcher PROPOSAL
Frozen Columns
Name
Johnson F Dilliard
Leon V Doe
Jeanfrancois F Campain
Isabel Q Ruta
Kaitlin J Sergi
Julie L Ostrosky
Mujtaba R Maclead
Rodrigues P Albares
Jefferson V Rim
Isabel C Kusko
Kaitlin A Perin
Mayumi V Figeroa
Murillo Y Venere
Tony O Inouye
Kadeem I Morasca
Costa C Briddick
Faith D Tollner
James A Shinko
Rodrigues W Darakjy
Francesco N Waycott
Jeanfrancois T Nestle
Salvatore F Marrier
Maria Z Briddick
Kaitlin M Foller
Francesco U Waycott
Smith F Tollner
Kadeem Z Bolognia
Wickens P Amigon
Claire D Gaucho
Isabel S Bowley
Izzy H Flosi
Arvin J Briddick
Faith G Morasca
Murillo B Ruta
Chavez M Chui
Salvatore T Paprocki
Murillo J Bolognia
Jones G Chui
Tony M Bowley
Juan B Venere
Alejandro H Kolmetz
Arvin N Kolmetz
Kaitlin F Ostrosky
Munro F Briddick
Misaki U Ferencz
Ashley I Marrier
Morrow Z Shinko
Munro B Caldarera
Johnson T Whobrey
Julie U Gaucho
IdCountryDate
1000Australia2024-06-07
1001Argentina2024-06-20
1002Argentina2024-06-15
1003Russia2024-06-04
1004France2024-05-29
1005Brazil2024-06-21
1006United Kingdom2024-06-07
1007Canada2024-06-08
1008Germany2024-06-21
1009United Kingdom2024-06-03
1010Argentina2024-06-10
1011Canada2024-05-29
1012Argentina2024-06-15
1013France2024-05-29
1014Spain2024-06-02
1015Italy2024-06-10
1016Japan2024-06-05
1017Canada2024-06-21
1018Russia2024-06-19
1019India2024-05-24
1020Germany2024-06-14
1021India2024-05-27
1022Canada2024-06-07
1023India2024-05-23
1024Russia2024-05-27
1025Canada2024-06-05
1026Russia2024-06-13
1027United Kingdom2024-06-15
1028Russia2024-05-24
1029Germany2024-05-24
1030Australia2024-06-09
1031Russia2024-06-02
1032Canada2024-06-01
1033Japan2024-06-01
1034Canada2024-05-25
1035France2024-06-03
1036Argentina2024-06-04
1037Russia2024-06-01
1038India2024-05-26
1039Germany2024-06-12
1040Brazil2024-06-18
1041Russia2024-06-05
1042Russia2024-06-06
1043Italy2024-05-30
1044Spain2024-06-18
1045Japan2024-05-25
1046United Kingdom2024-06-20
1047Australia2024-06-16
1048Canada2024-06-21
1049Japan2024-06-08

On-Demand Data

NameIdCountryDate
Chavez C Tollner1000Brazil2024-06-05
David I Campain1001Russia2024-06-08
Wickens F Campain1002United Kingdom2024-05-27
Johnson L Amigon1003Australia2024-06-07
Emily C Gaucho1004Australia2024-06-21
Maisha Q Waycott1005Germany2024-06-15
Kaitlin S Vocelka1006United Kingdom2024-06-13
Costa M Nicka1007Italy2024-06-05
Morrow F Glick1008France2024-06-11
Tony V Malet1009Russia2024-06-07
Cody G Ruta1010Spain2024-06-11
Misaki P Whobrey1011Brazil2024-06-05
Kaitlin F Stenseth1012Japan2024-05-31
Jennifer N Vocelka1013Russia2024-06-17
Adams Y Oldroyd1014Spain2024-06-15
Misaki H Stockham1015United Kingdom2024-06-11
Ashley T Stenseth1016Argentina2024-05-30
Mayumi T Ruta1017Germany2024-05-24
Mujtaba A Saylors1018Canada2024-06-19
Jefferson K Vocelka1019Argentina2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia R CampainJapanOnyama Limba RENEWAL
Kadeem H NickaSpainIoni Bowcher QUALIFIED
Francesco R FollerIndiaAnna Fali PROPOSAL
Ricardo R AlbaresFranceIvan Magalhaes QUALIFIED
Aika X StensethUnited KingdomStephen Shaw NEW
Julie Z IturbideIndiaAmy Elsner NEGOTIATION
Nicolas D DarakjyAustraliaStephen Shaw RENEWAL
Sinclair P DilliardFranceBernardo Dominic QUALIFIED
Antonio C RulapaughItalyStephen Shaw PROPOSAL
Misaki I PaprockiAustraliaBernardo Dominic QUALIFIED
Alejandro Q KolmetzArgentinaAsiya Javayant PROPOSAL
Johnson D CampainAustraliaIoni Bowcher PROPOSAL
Munro C CaldareraRussiaAmy Elsner QUALIFIED
Rodrigues P SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Izzy Q SchemmerCanadaAnna Fali UNQUALIFIED
Salvatore U PoquetteGermanyXuxue Feng QUALIFIED
Aika P CampainIndiaBernardo Dominic NEGOTIATION
Aditya O PerinSpainAnna Fali RENEWAL
Francesco F RimItalyIoni Bowcher NEGOTIATION
Octavia K MaletArgentinaStephen Shaw NEW
Julie N SergiCanadaIoni Bowcher QUALIFIED
Murillo I VenereGermanyXuxue Feng UNQUALIFIED
Emily X ChuiItalyElwin Sharvill QUALIFIED
Clifford Q SchemmerArgentinaElwin Sharvill NEW
Juan M AlbaresAustraliaBernardo Dominic QUALIFIED
Sinclair R AmigonArgentinaOnyama Limba QUALIFIED
Silvio X DoeItalyOnyama Limba QUALIFIED
Aruna S FerenczFranceAsiya Javayant UNQUALIFIED
Salvatore Q TollnerCanadaIvan Magalhaes QUALIFIED
Julie N DarakjySpainAsiya Javayant RENEWAL
Clifford J WieserAustraliaOnyama Limba PROPOSAL
Kaitlin A FerenczAustraliaBernardo Dominic QUALIFIED
Cody G StockhamFranceIoni Bowcher RENEWAL
Costa A PoquetteGermanyElwin Sharvill NEGOTIATION
Darci X GillianCanadaAmy Elsner RENEWAL
Salvatore V ButtRussiaOnyama Limba RENEWAL
Maria S TollnerAustraliaStephen Shaw UNQUALIFIED
Juan F ChuiJapanElwin Sharvill PROPOSAL
Arvin V SaylorsRussiaAsiya Javayant QUALIFIED
Jennifer T RimBrazilXuxue Feng 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>