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
Stacey X SchemmerRussiaStephen Shaw NEGOTIATION
Mayumi T RutaJapanAsiya Javayant NEGOTIATION
David K WhobreyBrazilOnyama Limba RENEWAL
Silvio Y SchemmerAustraliaIoni Bowcher NEGOTIATION
Jones U BowleyArgentinaBernardo Dominic NEGOTIATION
Silvio A GillianRussiaAsiya Javayant UNQUALIFIED
Emily Y FerenczRussiaAsiya Javayant NEW
Johnson T TollnerBrazilBernardo Dominic PROPOSAL
Francesco K SergiJapanAnna Fali UNQUALIFIED
Ashley B RutaAustraliaIvan Magalhaes NEW
Emily P AlbaresIndiaIvan Magalhaes NEW
Kaitlin N KuskoBrazilElwin Sharvill NEGOTIATION
Jennifer C TollnerCanadaIvan Magalhaes PROPOSAL
Johnson O BriddickArgentinaIoni Bowcher NEW
Kadeem E FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Antonio N OldroydFranceBernardo Dominic UNQUALIFIED
Smith I AmigonBrazilBernardo Dominic NEGOTIATION
Munro R CaldareraSpainAsiya Javayant PROPOSAL
Adams S FigeroaCanadaBernardo Dominic NEGOTIATION
Jennifer J OstroskyRussiaStephen Shaw QUALIFIED
Cody M OldroydArgentinaIoni Bowcher RENEWAL
Murillo G OstroskyRussiaAnna Fali PROPOSAL
Deepesh M SchemmerIndiaXuxue Feng NEW
Aruna Z StensethCanadaAsiya Javayant UNQUALIFIED
Isabel T OldroydArgentinaBernardo Dominic NEW
Murillo T TollnerUnited KingdomXuxue Feng NEW
Leja E ButtJapanAsiya Javayant QUALIFIED
Isabel N InouyeArgentinaStephen Shaw NEGOTIATION
Emily F PaprockiAustraliaStephen Shaw QUALIFIED
Rodrigues I DoeIndiaAnna Fali RENEWAL
Chavez Y StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Julie G BologniaCanadaBernardo Dominic NEGOTIATION
Juan W DarakjyItalyStephen Shaw PROPOSAL
Salvatore M DarakjyFranceAmy Elsner PROPOSAL
Salvatore X BowleyArgentinaAsiya Javayant NEGOTIATION
Julie X OstroskyFranceAnna Fali NEGOTIATION
Aika M MacleadArgentinaIvan Magalhaes QUALIFIED
Smith P WaycottJapanAmy Elsner UNQUALIFIED
Smith H MarrierArgentinaElwin Sharvill UNQUALIFIED
Kaitlin Q CampainAustraliaAmy Elsner QUALIFIED
Emily D OldroydGermanyAmy Elsner NEW
Aditya Z FerenczIndiaStephen Shaw RENEWAL
Darci R PaprockiUnited KingdomBernardo Dominic NEW
Sinclair D NestleAustraliaBernardo Dominic RENEWAL
Nicolas W BriddickFranceAmy Elsner QUALIFIED
Francesco R GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Costa J ShinkoJapanIvan Magalhaes RENEWAL
Rodrigues G RulapaughFranceAmy Elsner RENEWAL
Johnson S RutaAustraliaXuxue Feng RENEWAL
Murillo I ButtCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams N GauchoItalyIoni Bowcher PROPOSAL
Leja I RulapaughArgentinaAsiya Javayant PROPOSAL
Jones U PaprockiJapanStephen Shaw PROPOSAL
Ricardo X VenereRussiaElwin Sharvill PROPOSAL
Johnson P CaldareraBrazilBernardo Dominic QUALIFIED
Arvin V KolmetzRussiaAsiya Javayant UNQUALIFIED
Deepesh N MacleadFranceOnyama Limba PROPOSAL
Silvio K KolmetzAustraliaIvan Magalhaes NEGOTIATION
Kaitlin N SchemmerArgentinaElwin Sharvill PROPOSAL
Octavia H TollnerFranceXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith N StockhamUnited Kingdom2024-06-12Morlong Associates NEW85Anna Fali
1001Alejandro O FollerJapan2024-06-05Printing Dimensions QUALIFIED9Onyama Limba
1002Sinclair S NestleFrance2024-06-24Truhlar And Truhlar Attys NEGOTIATION98Ioni Bowcher
1003Rodrigues H WhobreyArgentina2024-06-04Morlong Associates PROPOSAL6Elwin Sharvill
1004Faith E StensethIndia2024-05-30Dorl, James J Esq PROPOSAL72Ivan Magalhaes
1005Leja E DilliardUnited Kingdom2024-06-24Chanay, Jeffrey A Esq RENEWAL73Xuxue Feng
1006Jones E DoeCanada2024-05-29Benton, John B Jr NEGOTIATION67Anna Fali
1007James E RimArgentina2024-06-15Chemel, James L Cpa NEGOTIATION59Bernardo Dominic
1008Salvatore U MarrierRussia2024-06-03Dorl, James J Esq QUALIFIED23Asiya Javayant
1009Jefferson N GlickCanada2024-06-17Commercial Press NEGOTIATION93Onyama Limba
1010Aika O MorascaAustralia2024-05-28Benton, John B Jr PROPOSAL29Anna Fali
1011Johnson F AmigonItaly2024-06-19Morlong Associates RENEWAL39Asiya Javayant
1012Juan O GlickGermany2024-06-01Commercial Press PROPOSAL32Ivan Magalhaes
1013Isabel F ButtAustralia2024-05-27Chemel, James L Cpa QUALIFIED64Amy Elsner
1014Izzy N RoysterGermany2024-06-04Truhlar And Truhlar Attys PROPOSAL33Amy Elsner
1015Maisha D MacleadIndia2024-06-15Feltz Printing Service NEGOTIATION15Asiya Javayant
1016Jones S StockhamCanada2024-06-02Rangoni Of Florence QUALIFIED19Onyama Limba
1017Aika S GauchoUnited Kingdom2024-05-27Truhlar And Truhlar Attys UNQUALIFIED3Ivan Magalhaes
1018Juan D ButtCanada2024-06-05Feiner Bros NEGOTIATION15Amy Elsner
1019Clifford I AmigonRussia2024-06-14Truhlar And Truhlar Attys PROPOSAL9Amy Elsner
1020Nicolas V BologniaGermany2024-05-29Buckley Miller Wright UNQUALIFIED15Onyama Limba
1021Johnson Q WaycottArgentina2024-06-22Morlong Associates RENEWAL76Xuxue Feng
1022Aditya N GlickIndia2024-06-19Rousseaux, Michael Esq NEGOTIATION80Onyama Limba
1023Leon M MarrierAustralia2024-06-01Buckley Miller Wright QUALIFIED78Ivan Magalhaes
1024Arvin F WaycottRussia2024-06-13Feltz Printing Service UNQUALIFIED33Ivan Magalhaes
1025Deepesh O GlickBrazil2024-05-29Truhlar And Truhlar Attys PROPOSAL91Elwin Sharvill
1026Isabel N AlbaresItaly2024-05-30Truhlar And Truhlar Attys QUALIFIED81Elwin Sharvill
1027Ivar N KolmetzJapan2024-06-10Printing Dimensions PROPOSAL9Ioni Bowcher
1028Arvin H StensethBrazil2024-06-14Feltz Printing Service NEW83Ivan Magalhaes
1029Jefferson Y SchemmerIndia2024-06-23Truhlar And Truhlar Attys RENEWAL11Elwin Sharvill
1030Jefferson G FigeroaUnited Kingdom2024-05-26Dorl, James J Esq QUALIFIED64Ioni Bowcher
1031Adams W FerenczBrazil2024-06-14Chemel, James L Cpa RENEWAL41Asiya Javayant
1032Clifford V GlickUnited Kingdom2024-06-16Dorl, James J Esq UNQUALIFIED32Elwin Sharvill
1033Maria Y AlbaresItaly2024-05-29Truhlar And Truhlar Attys NEW41Elwin Sharvill
1034Johnson R MaletFrance2024-05-31Chanay, Jeffrey A Esq NEW70Bernardo Dominic
1035Mujtaba K DilliardBrazil2024-06-19Morlong Associates NEGOTIATION73Amy Elsner
1036Mujtaba J BologniaGermany2024-06-09Printing Dimensions QUALIFIED85Asiya Javayant
1037Kadeem T BologniaAustralia2024-06-03Printing Dimensions PROPOSAL73Ivan Magalhaes
1038Julie W GauchoItaly2024-06-20Commercial Press NEGOTIATION31Bernardo Dominic
1039Emily N BologniaRussia2024-05-28Morlong Associates QUALIFIED2Bernardo Dominic
1040Costa S RulapaughBrazil2024-06-04Morlong Associates NEW66Ioni Bowcher
1041Ricardo M WaycottArgentina2024-06-03Chapman, Ross E Esq RENEWAL43Asiya Javayant
1042Morrow T PerinRussia2024-06-19Printing Dimensions UNQUALIFIED34Elwin Sharvill
1043Isabel C WieserFrance2024-05-30King, Christopher A Esq PROPOSAL21Ioni Bowcher
1044Stacey V CaldareraGermany2024-05-28Buckley Miller Wright QUALIFIED80Onyama Limba
1045Kaitlin S WaycottUnited Kingdom2024-06-07Feiner Bros RENEWAL21Amy Elsner
1046Misaki J OldroydJapan2024-06-08Rangoni Of Florence UNQUALIFIED65Ivan Magalhaes
1047James P StockhamJapan2024-06-17Feltz Printing Service NEGOTIATION9Ivan Magalhaes
1048Juan Q MacleadGermany2024-06-24Morlong Associates UNQUALIFIED36Bernardo Dominic
1049Adams V CaldareraIndia2024-06-02Morlong Associates UNQUALIFIED53Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony J CampainSpainIvan Magalhaes PROPOSAL
Morrow C OstroskyFranceAmy Elsner PROPOSAL
Johnson G WaycottRussiaAsiya Javayant QUALIFIED
Leon A RutaUnited KingdomAmy Elsner NEGOTIATION
Clifford A PaprockiFranceIvan Magalhaes NEW
Claire O MaletAustraliaBernardo Dominic QUALIFIED
Nicolas Q StockhamAustraliaElwin Sharvill PROPOSAL
Jennifer L PaprockiSpainOnyama Limba PROPOSAL
Aika X WhobreyFranceXuxue Feng NEGOTIATION
Antonio M CaldareraAustraliaAsiya Javayant PROPOSAL
Stacey X GlickUnited KingdomOnyama Limba RENEWAL
Leon E StensethRussiaXuxue Feng PROPOSAL
Cody B SergiBrazilAsiya Javayant RENEWAL
Leon F IturbideFranceElwin Sharvill UNQUALIFIED
Mujtaba N GlickAustraliaIvan Magalhaes NEW
Octavia W DarakjyArgentinaXuxue Feng NEGOTIATION
Alejandro F BriddickItalyAsiya Javayant NEGOTIATION
Jeanfrancois W KolmetzUnited KingdomElwin Sharvill NEGOTIATION
Izzy C CampainRussiaIoni Bowcher NEW
Ricardo M BologniaSpainXuxue Feng PROPOSAL
Misaki A ButtRussiaElwin Sharvill NEW
Kadeem J FlosiIndiaIvan Magalhaes NEGOTIATION
Tony D KolmetzFranceBernardo Dominic NEGOTIATION
Darci P SaylorsIndiaIvan Magalhaes PROPOSAL
Cody P MorascaFranceAsiya Javayant NEW
Aditya Y RutaBrazilElwin Sharvill NEW
Izzy V NickaSpainAnna Fali NEW
Julie U RoysterItalyAnna Fali RENEWAL
Julie B IturbideGermanyAmy Elsner QUALIFIED
Julie D DoeIndiaOnyama Limba RENEWAL
Kadeem D StensethIndiaXuxue Feng NEGOTIATION
Murillo R TollnerArgentinaAsiya Javayant NEGOTIATION
Ivar Z OstroskyArgentinaXuxue Feng RENEWAL
Misaki V VocelkaAustraliaAnna Fali QUALIFIED
Murillo J PerinArgentinaOnyama Limba UNQUALIFIED
Aruna X DoeCanadaAsiya Javayant PROPOSAL
Morrow J RulapaughUnited KingdomStephen Shaw RENEWAL
Alejandro A StockhamBrazilIvan Magalhaes NEW
Smith X AlbaresGermanyAsiya Javayant PROPOSAL
Morrow D GauchoFranceBernardo Dominic QUALIFIED
Maisha D RimCanadaAnna Fali UNQUALIFIED
Deepesh E RulapaughJapanBernardo Dominic UNQUALIFIED
Kadeem L WieserJapanIoni Bowcher RENEWAL
Greenwood E TollnerCanadaIvan Magalhaes NEGOTIATION
Adams Z OldroydFranceIvan Magalhaes UNQUALIFIED
Darci D RoysterRussiaXuxue Feng NEGOTIATION
Maisha Z RoysterCanadaIoni Bowcher UNQUALIFIED
Johnson B NestleSpainOnyama Limba NEGOTIATION
Claire N CampainItalyIoni Bowcher QUALIFIED
Leja B FlosiAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Kaitlin H Nicka
Deepesh B Stenseth
Maisha A Sergi
Francesco H Kolmetz
Kadeem P Malet
Murillo I Wieser
Leja N Oldroyd
Faith S Iturbide
Deepesh C Paprocki
Leon P Paprocki
Rodrigues A Amigon
Julie O Garufi
Claire J Foller
James I Flosi
Maisha K Albares
David D Poquette
James Q Foller
Deepesh O Figeroa
Mayumi S Waycott
Faith X Venere
James R Foller
Jones H Marrier
James W Sergi
Faith N Poquette
Emily J Rim
Costa G Vocelka
Jones H Slusarski
Octavia D Figeroa
Faith P Nicka
Silvio Q Kusko
Izzy X Whobrey
Misaki M Campain
Julie T Darakjy
Alejandro Z Venere
Leon T Malet
Jones V Stenseth
Chavez B Caldarera
Tony W Amigon
Faith V Ferencz
Adams D Campain
Kaitlin N Nestle
Claire X Ostrosky
Juan R Ruta
Smith V Venere
Ashley Z Ostrosky
Ricardo X Kusko
Munro K Royster
Tony V Slusarski
Sinclair F Amigon
Octavia P Stockham
IdCountryDate
1000Russia2024-06-07
1001Brazil2024-06-06
1002Brazil2024-06-19
1003Argentina2024-06-09
1004Brazil2024-05-26
1005Australia2024-06-09
1006France2024-05-28
1007Canada2024-06-17
1008Canada2024-06-08
1009Brazil2024-06-04
1010India2024-06-23
1011Canada2024-06-17
1012Australia2024-05-31
1013United Kingdom2024-06-20
1014Spain2024-06-05
1015Germany2024-06-09
1016Italy2024-06-10
1017Australia2024-06-03
1018Canada2024-06-09
1019Spain2024-06-11
1020Italy2024-05-30
1021Brazil2024-06-21
1022Argentina2024-06-13
1023Brazil2024-06-02
1024United Kingdom2024-06-22
1025Spain2024-06-22
1026Canada2024-05-31
1027France2024-05-31
1028Australia2024-06-13
1029Argentina2024-06-20
1030France2024-06-24
1031Spain2024-06-04
1032Italy2024-06-22
1033Italy2024-05-28
1034France2024-06-03
1035Japan2024-06-05
1036Australia2024-05-29
1037Spain2024-06-18
1038United Kingdom2024-06-19
1039France2024-06-15
1040Australia2024-06-02
1041Japan2024-06-09
1042United Kingdom2024-06-02
1043India2024-06-08
1044Argentina2024-06-08
1045Russia2024-06-16
1046Argentina2024-05-31
1047Canada2024-06-21
1048Italy2024-06-06
1049United Kingdom2024-05-31

On-Demand Data

NameIdCountryDate
Arvin V Malet1000Australia2024-05-29
Alejandro D Vocelka1001Italy2024-06-01
Chavez C Waycott1002Russia2024-06-13
Jefferson A Campain1003Brazil2024-06-23
Julie A Whobrey1004United Kingdom2024-06-04
Octavia T Kusko1005Japan2024-06-24
Stacey O Ruta1006Russia2024-06-09
James O Campain1007United Kingdom2024-05-29
Rodrigues Q Dilliard1008Canada2024-05-29
Ivar C Sergi1009Japan2024-06-19
Rodrigues Z Amigon1010Spain2024-06-23
Faith U Ferencz1011France2024-06-04
Deepesh Z Nestle1012Canada2024-06-21
Johnson K Perin1013France2024-06-20
Alejandro C Briddick1014Japan2024-06-07
Kaitlin N Perin1015Canada2024-05-27
Maisha K Ferencz1016Germany2024-06-07
Johnson D Malet1017Russia2024-06-23
Costa F Rulapaugh1018Germany2024-06-22
Darci D Rim1019United Kingdom2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya H SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Julie D InouyeSpainOnyama Limba PROPOSAL
Kadeem R RimAustraliaXuxue Feng QUALIFIED
Ricardo H RutaSpainAnna Fali RENEWAL
Jeanfrancois E GlickArgentinaAsiya Javayant PROPOSAL
Faith L SchemmerSpainOnyama Limba PROPOSAL
Murillo U WaycottArgentinaIvan Magalhaes NEW
Kaitlin W KuskoRussiaXuxue Feng NEGOTIATION
Francesco M RimItalyElwin Sharvill PROPOSAL
Jones N KuskoIndiaStephen Shaw NEGOTIATION
Darci C KolmetzFranceStephen Shaw PROPOSAL
Juan I MorascaSpainAmy Elsner PROPOSAL
James B MaletCanadaIoni Bowcher RENEWAL
Misaki Z StensethUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois Q IturbideIndiaStephen Shaw NEGOTIATION
Tony A MaletUnited KingdomStephen Shaw PROPOSAL
Maisha T RimBrazilAnna Fali PROPOSAL
Salvatore S BriddickItalyElwin Sharvill PROPOSAL
Chavez G GarufiAustraliaAsiya Javayant NEW
Ricardo Z MarrierAustraliaXuxue Feng PROPOSAL
Chavez I SaylorsIndiaOnyama Limba QUALIFIED
Leon A DoeRussiaIoni Bowcher PROPOSAL
Maisha T TollnerUnited KingdomIvan Magalhaes NEW
Jones Q SergiArgentinaIvan Magalhaes NEW
Aruna U IturbideArgentinaAnna Fali UNQUALIFIED
Wickens K AmigonCanadaXuxue Feng PROPOSAL
Claire D StockhamIndiaOnyama Limba NEW
Stacey B WaycottSpainElwin Sharvill NEW
Silvio R MaletBrazilIoni Bowcher NEGOTIATION
Misaki A VocelkaRussiaOnyama Limba QUALIFIED
Maisha Z MarrierItalyAsiya Javayant PROPOSAL
Jennifer U OldroydArgentinaElwin Sharvill NEW
Maria W KuskoUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues D KolmetzIndiaXuxue Feng QUALIFIED
Jennifer W ShinkoArgentinaBernardo Dominic RENEWAL
Tony Q AmigonJapanStephen Shaw UNQUALIFIED
Francesco L ButtCanadaAmy Elsner NEGOTIATION
Isabel U ButtCanadaOnyama Limba RENEWAL
Jones P InouyeUnited KingdomOnyama Limba RENEWAL
Kaitlin Q TollnerRussiaAmy 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>