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
Jennifer L ButtFranceBernardo Dominic RENEWAL
Arvin M BriddickAustraliaElwin Sharvill UNQUALIFIED
Tony L GauchoArgentinaAnna Fali UNQUALIFIED
Darci B ChuiRussiaIoni Bowcher QUALIFIED
Costa J FollerCanadaAmy Elsner RENEWAL
Nicolas T MaletCanadaAnna Fali UNQUALIFIED
David O BologniaAustraliaIvan Magalhaes RENEWAL
Leja N ChuiUnited KingdomOnyama Limba UNQUALIFIED
Silvio Y MaletAustraliaAnna Fali QUALIFIED
Izzy I OldroydCanadaXuxue Feng RENEWAL
Juan O RutaFranceAsiya Javayant RENEWAL
Salvatore N BologniaArgentinaAmy Elsner UNQUALIFIED
Clifford Z ShinkoItalyAnna Fali UNQUALIFIED
Ashley Y AlbaresArgentinaBernardo Dominic NEGOTIATION
Aditya L SchemmerJapanAsiya Javayant NEW
Smith X GlickBrazilAmy Elsner UNQUALIFIED
Aditya V KuskoIndiaIvan Magalhaes RENEWAL
Salvatore W OstroskyAustraliaIoni Bowcher QUALIFIED
Antonio W ShinkoSpainAnna Fali NEGOTIATION
Adams A ChuiItalyStephen Shaw NEW
Stacey S MorascaGermanyAsiya Javayant NEGOTIATION
Clifford T WhobreyItalyBernardo Dominic PROPOSAL
Smith H GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Clifford Y FerenczGermanyStephen Shaw NEW
Claire J StensethItalyIvan Magalhaes UNQUALIFIED
Emily V DoeBrazilElwin Sharvill PROPOSAL
Silvio V MarrierGermanyBernardo Dominic NEW
James K KolmetzArgentinaAsiya Javayant RENEWAL
Morrow M MaletRussiaOnyama Limba PROPOSAL
Jennifer A SchemmerRussiaIoni Bowcher UNQUALIFIED
Ivar S CaudyGermanyStephen Shaw NEW
Cody Y KolmetzGermanyAmy Elsner RENEWAL
Johnson T ChuiGermanyXuxue Feng PROPOSAL
Mayumi W StockhamGermanyElwin Sharvill NEGOTIATION
Johnson U DoeJapanIvan Magalhaes PROPOSAL
Clifford F AmigonBrazilIvan Magalhaes RENEWAL
Izzy Y CampainJapanBernardo Dominic RENEWAL
Aruna E GillianFranceAsiya Javayant QUALIFIED
Jones D WhobreyJapanAsiya Javayant PROPOSAL
Aditya V InouyeBrazilStephen Shaw PROPOSAL
Wickens G OldroydUnited KingdomXuxue Feng NEGOTIATION
Cody E ButtUnited KingdomAnna Fali QUALIFIED
Smith Q WaycottGermanyAsiya Javayant PROPOSAL
Kadeem H RoysterRussiaAmy Elsner NEGOTIATION
Wickens R IturbideGermanyIoni Bowcher PROPOSAL
Johnson W BriddickIndiaOnyama Limba NEW
Mujtaba Q DilliardItalyElwin Sharvill UNQUALIFIED
Arvin X SlusarskiJapanOnyama Limba QUALIFIED
Claire Q MacleadAustraliaBernardo Dominic QUALIFIED
Nicolas N StensethFranceAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia H PaprockiBrazilElwin Sharvill NEGOTIATION
Arvin D TollnerBrazilIoni Bowcher RENEWAL
Morrow W StensethBrazilBernardo Dominic UNQUALIFIED
Sinclair F GlickItalyIvan Magalhaes PROPOSAL
Jones P FollerAustraliaBernardo Dominic QUALIFIED
Adams Z ChuiJapanIvan Magalhaes PROPOSAL
Ashley Y IturbideCanadaStephen Shaw PROPOSAL
Murillo W FigeroaAustraliaStephen Shaw QUALIFIED
Maisha K KuskoBrazilOnyama Limba PROPOSAL
Julie X ChuiArgentinaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey B SaylorsBrazil2024-06-20Benton, John B Jr NEW48Stephen Shaw
1001Adams T MaletIndia2024-06-07Printing Dimensions UNQUALIFIED81Stephen Shaw
1002Mujtaba I VocelkaUnited Kingdom2024-06-12Feiner Bros UNQUALIFIED95Ivan Magalhaes
1003Clifford X RimJapan2024-06-14Printing Dimensions NEGOTIATION65Xuxue Feng
1004Mayumi K ChuiCanada2024-05-30Truhlar And Truhlar Attys RENEWAL88Anna Fali
1005Ivar R VenereJapan2024-06-13Rousseaux, Michael Esq RENEWAL6Ivan Magalhaes
1006Stacey L ChuiJapan2024-06-01Feiner Bros QUALIFIED46Anna Fali
1007David L FollerUnited Kingdom2024-06-18Feiner Bros NEW55Ioni Bowcher
1008Cody P WaycottFrance2024-06-11Chanay, Jeffrey A Esq QUALIFIED47Amy Elsner
1009Morrow I KolmetzBrazil2024-06-19Feiner Bros UNQUALIFIED27Elwin Sharvill
1010Alejandro E RimJapan2024-06-18Chemel, James L Cpa PROPOSAL60Amy Elsner
1011Ashley N PoquetteArgentina2024-06-17Printing Dimensions QUALIFIED53Xuxue Feng
1012Sinclair O IturbideCanada2024-06-08Truhlar And Truhlar Attys PROPOSAL23Asiya Javayant
1013Misaki B RimArgentina2024-06-09Chapman, Ross E Esq NEW75Ivan Magalhaes
1014Cody E GillianUnited Kingdom2024-06-07Feiner Bros RENEWAL76Stephen Shaw
1015Cody M SergiItaly2024-05-27Buckley Miller Wright RENEWAL61Stephen Shaw
1016Misaki Z ButtItaly2024-06-10Chapman, Ross E Esq UNQUALIFIED37Ioni Bowcher
1017Izzy A WhobreyIndia2024-05-26Rousseaux, Michael Esq NEW6Bernardo Dominic
1018Arvin J AmigonFrance2024-06-18Printing Dimensions NEGOTIATION70Ivan Magalhaes
1019Maisha M BriddickArgentina2024-05-24Chapman, Ross E Esq UNQUALIFIED70Onyama Limba
1020Kadeem G GauchoUnited Kingdom2024-05-25Printing Dimensions NEGOTIATION71Asiya Javayant
1021Johnson L StensethGermany2024-06-22King, Christopher A Esq UNQUALIFIED23Elwin Sharvill
1022Alejandro S GarufiArgentina2024-05-27Buckley Miller Wright NEW44Ivan Magalhaes
1023Misaki A ShinkoArgentina2024-05-26Truhlar And Truhlar Attys QUALIFIED50Xuxue Feng
1024Izzy G DarakjyAustralia2024-06-07Truhlar And Truhlar Attys UNQUALIFIED96Elwin Sharvill
1025Ivar N AlbaresJapan2024-06-21Benton, John B Jr NEGOTIATION32Asiya Javayant
1026Kadeem B BriddickAustralia2024-05-26Buckley Miller Wright QUALIFIED91Amy Elsner
1027Aruna B PoquetteBrazil2024-05-26Commercial Press RENEWAL3Bernardo Dominic
1028Deepesh H SlusarskiRussia2024-05-30Rangoni Of Florence RENEWAL3Elwin Sharvill
1029Maisha L OstroskyUnited Kingdom2024-05-25Commercial Press QUALIFIED6Stephen Shaw
1030Francesco Y NickaRussia2024-06-18Chanay, Jeffrey A Esq NEW4Onyama Limba
1031Misaki W InouyeFrance2024-06-10Printing Dimensions PROPOSAL41Xuxue Feng
1032Antonio H PoquetteUnited Kingdom2024-05-26Rangoni Of Florence NEW92Elwin Sharvill
1033Aruna I NickaArgentina2024-06-09Chemel, James L Cpa PROPOSAL29Ivan Magalhaes
1034Adams N AmigonIndia2024-05-31Benton, John B Jr QUALIFIED99Ivan Magalhaes
1035Salvatore O SchemmerIndia2024-06-17Dorl, James J Esq NEGOTIATION98Elwin Sharvill
1036Greenwood C GauchoCanada2024-06-15Buckley Miller Wright NEW48Bernardo Dominic
1037Claire I CampainItaly2024-06-18Printing Dimensions PROPOSAL65Xuxue Feng
1038Adams P BriddickItaly2024-06-17Chanay, Jeffrey A Esq PROPOSAL50Asiya Javayant
1039Francesco B RutaBrazil2024-06-16Rousseaux, Michael Esq PROPOSAL21Bernardo Dominic
1040Antonio Y SaylorsArgentina2024-06-12Printing Dimensions QUALIFIED19Onyama Limba
1041Costa U CampainArgentina2024-05-25Truhlar And Truhlar Attys UNQUALIFIED8Ioni Bowcher
1042Ashley P OstroskyJapan2024-06-09Rousseaux, Michael Esq NEGOTIATION95Bernardo Dominic
1043Julie E PoquetteJapan2024-06-12Feiner Bros PROPOSAL48Ioni Bowcher
1044Arvin I DarakjyArgentina2024-06-11Truhlar And Truhlar Attys RENEWAL19Ivan Magalhaes
1045Aditya I OldroydGermany2024-06-10Morlong Associates UNQUALIFIED52Asiya Javayant
1046Mujtaba E OstroskyCanada2024-06-04Chanay, Jeffrey A Esq PROPOSAL56Ioni Bowcher
1047Smith I SergiUnited Kingdom2024-06-07Commercial Press RENEWAL69Asiya Javayant
1048Adams B WaycottCanada2024-05-28Feiner Bros PROPOSAL96Ioni Bowcher
1049Sinclair G RimBrazil2024-06-07Dorl, James J Esq QUALIFIED45Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones T PerinArgentinaAnna Fali UNQUALIFIED
Julie X GarufiJapanXuxue Feng UNQUALIFIED
Greenwood N PoquetteFranceElwin Sharvill RENEWAL
Alejandro F PerinUnited KingdomElwin Sharvill QUALIFIED
Johnson Y BriddickGermanyStephen Shaw NEGOTIATION
Misaki F DilliardGermanyAsiya Javayant QUALIFIED
Francesco S RimUnited KingdomAmy Elsner QUALIFIED
Jennifer K NickaArgentinaAmy Elsner RENEWAL
Sinclair Q KuskoCanadaAmy Elsner RENEWAL
Stacey V FerenczUnited KingdomStephen Shaw NEGOTIATION
Clifford C FlosiJapanIoni Bowcher UNQUALIFIED
Mujtaba I DoeAustraliaAmy Elsner UNQUALIFIED
Sinclair O CampainUnited KingdomIoni Bowcher QUALIFIED
Nicolas T SchemmerCanadaIvan Magalhaes NEGOTIATION
Jefferson L BriddickGermanyAmy Elsner NEW
Aruna Y SaylorsAustraliaAnna Fali RENEWAL
Morrow H GarufiRussiaAmy Elsner UNQUALIFIED
Clifford L OldroydJapanXuxue Feng UNQUALIFIED
Costa X BriddickGermanyXuxue Feng UNQUALIFIED
Octavia F GlickBrazilOnyama Limba QUALIFIED
Jefferson J GillianArgentinaOnyama Limba NEGOTIATION
James B RimArgentinaAsiya Javayant QUALIFIED
Isabel O InouyeArgentinaIvan Magalhaes UNQUALIFIED
Salvatore U KuskoUnited KingdomIoni Bowcher NEW
Leon D SchemmerGermanyAsiya Javayant QUALIFIED
Nicolas Q SlusarskiSpainAmy Elsner NEGOTIATION
Mujtaba W PerinCanadaElwin Sharvill QUALIFIED
Tony X ButtArgentinaElwin Sharvill RENEWAL
Ricardo K WieserJapanIvan Magalhaes QUALIFIED
Julie T SaylorsFranceOnyama Limba NEGOTIATION
Maisha G PaprockiGermanyOnyama Limba RENEWAL
Arvin J DarakjyGermanyAnna Fali QUALIFIED
Misaki V OldroydRussiaBernardo Dominic PROPOSAL
Alejandro K MacleadBrazilAsiya Javayant NEW
Alejandro D OstroskyUnited KingdomIoni Bowcher RENEWAL
Mayumi C IturbideUnited KingdomAnna Fali QUALIFIED
Morrow A FlosiBrazilAmy Elsner RENEWAL
Johnson I ButtJapanAsiya Javayant RENEWAL
Ashley W AlbaresFranceElwin Sharvill PROPOSAL
Mayumi T ChuiFranceAsiya Javayant NEW
James V KolmetzIndiaOnyama Limba PROPOSAL
Wickens U KolmetzCanadaXuxue Feng PROPOSAL
Leja E BologniaJapanStephen Shaw RENEWAL
Ivar K CampainUnited KingdomAsiya Javayant PROPOSAL
Cody F RimGermanyAnna Fali NEW
Izzy Q AmigonAustraliaIvan Magalhaes RENEWAL
Costa P PerinFranceIvan Magalhaes RENEWAL
Clifford H MacleadCanadaIvan Magalhaes QUALIFIED
Aditya M GlickCanadaIoni Bowcher RENEWAL
Nicolas Z KuskoCanadaAmy Elsner PROPOSAL
Frozen Columns
Name
Mayumi C Stenseth
Claire B Figeroa
Alejandro G Amigon
Salvatore M Campain
Stacey Y Nestle
Morrow N Doe
Clifford H Bolognia
Cody T Shinko
Aika P Butt
James M Dilliard
Kadeem T Venere
Faith C Darakjy
Darci Y Dilliard
Isabel M Kusko
Johnson T Venere
James I Schemmer
Antonio D Vocelka
Aruna N Bowley
Greenwood M Stenseth
Maria F Stockham
Alejandro H Ruta
Francesco W Waycott
Munro A Doe
Tony W Caudy
Jennifer S Dilliard
Isabel I Whobrey
Julie H Malet
Jones Y Kolmetz
Deepesh O Morasca
Francesco Z Stenseth
Deepesh K Venere
Morrow C Malet
Alejandro G Oldroyd
Munro W Nestle
Francesco L Maclead
Aruna S Garufi
Sinclair X Stenseth
Isabel J Malet
Morrow Y Dilliard
Antonio W Nicka
Rodrigues K Kolmetz
Mujtaba Z Kolmetz
Murillo M Maclead
Darci Q Bolognia
Costa N Venere
David O Waycott
Faith B Campain
Ivar Z Venere
Claire R Amigon
Rodrigues F Saylors
IdCountryDate
1000Argentina2024-06-02
1001Russia2024-06-20
1002France2024-06-11
1003Canada2024-05-28
1004France2024-06-21
1005Spain2024-05-24
1006Italy2024-06-17
1007Japan2024-05-30
1008Japan2024-06-02
1009France2024-06-05
1010Russia2024-06-12
1011Canada2024-06-20
1012United Kingdom2024-05-24
1013United Kingdom2024-06-03
1014Italy2024-06-10
1015Canada2024-06-14
1016Argentina2024-05-29
1017Spain2024-06-11
1018Argentina2024-06-05
1019Australia2024-06-06
1020India2024-06-07
1021Spain2024-06-06
1022Spain2024-05-29
1023Brazil2024-06-01
1024Argentina2024-06-15
1025United Kingdom2024-05-24
1026Argentina2024-05-28
1027India2024-06-20
1028Brazil2024-06-06
1029United Kingdom2024-06-07
1030Australia2024-06-20
1031Argentina2024-05-27
1032India2024-06-04
1033Spain2024-06-05
1034Australia2024-05-27
1035India2024-05-30
1036Russia2024-05-29
1037Australia2024-06-09
1038Italy2024-06-18
1039Argentina2024-06-12
1040India2024-06-21
1041United Kingdom2024-06-21
1042Germany2024-06-21
1043Italy2024-06-21
1044Italy2024-06-01
1045Canada2024-06-17
1046United Kingdom2024-06-08
1047Russia2024-06-15
1048Spain2024-06-15
1049Japan2024-06-01

On-Demand Data

NameIdCountryDate
Cody S Poquette1000Spain2024-06-09
Faith H Caudy1001Canada2024-05-31
Arvin N Albares1002United Kingdom2024-06-10
Antonio I Inouye1003Canada2024-06-13
Morrow P Marrier1004Australia2024-06-01
Emily D Sergi1005Brazil2024-06-11
Maria I Perin1006France2024-06-09
Stacey L Ferencz1007India2024-06-21
Kadeem V Ruta1008Brazil2024-06-02
Deepesh P Vocelka1009Canada2024-06-21
Clifford C Saylors1010Spain2024-06-17
Darci M Ostrosky1011Russia2024-06-04
Jones F Glick1012Japan2024-06-21
Emily E Gillian1013Italy2024-05-30
Aditya P Vocelka1014Germany2024-06-03
Clifford C Briddick1015Brazil2024-05-29
Smith Y Foller1016India2024-06-04
Juan U Bowley1017Argentina2024-06-05
Chavez F Foller1018Brazil2024-06-21
Leja Q Saylors1019Brazil2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer R InouyeItalyOnyama Limba PROPOSAL
Emily K StockhamSpainBernardo Dominic RENEWAL
Octavia L RoysterGermanyXuxue Feng UNQUALIFIED
Maisha M MacleadUnited KingdomAsiya Javayant NEGOTIATION
Sinclair V TollnerItalyAnna Fali QUALIFIED
Cody M NestleGermanyOnyama Limba PROPOSAL
Juan K MaletArgentinaIoni Bowcher QUALIFIED
Munro O SchemmerJapanAsiya Javayant QUALIFIED
Kaitlin Z MaletItalyIvan Magalhaes QUALIFIED
Julie W BowleyAustraliaStephen Shaw NEW
Ivar R FlosiArgentinaIoni Bowcher RENEWAL
Alejandro G CaldareraArgentinaXuxue Feng PROPOSAL
Aruna W TollnerUnited KingdomOnyama Limba RENEWAL
Faith D SlusarskiFranceElwin Sharvill RENEWAL
Morrow Q GlickFranceAnna Fali QUALIFIED
Arvin K GillianSpainAsiya Javayant RENEWAL
Alejandro O ShinkoArgentinaAnna Fali QUALIFIED
Maisha V RimJapanElwin Sharvill NEGOTIATION
Cody T PaprockiAustraliaIoni Bowcher PROPOSAL
Munro P PoquetteAustraliaAnna Fali PROPOSAL
Isabel J FigeroaItalyAnna Fali NEW
Stacey I ShinkoBrazilStephen Shaw PROPOSAL
Mujtaba Z DarakjyBrazilElwin Sharvill NEW
Juan E VenereSpainAmy Elsner RENEWAL
Isabel A RutaJapanAsiya Javayant QUALIFIED
Adams U FigeroaFranceOnyama Limba QUALIFIED
Cody X ButtUnited KingdomIoni Bowcher QUALIFIED
Arvin Z FollerBrazilAmy Elsner PROPOSAL
Mayumi M WieserFranceAmy Elsner PROPOSAL
Antonio S MaletUnited KingdomBernardo Dominic QUALIFIED
Claire L StockhamGermanyElwin Sharvill NEGOTIATION
Munro Q DoeRussiaAnna Fali QUALIFIED
Antonio I MorascaCanadaIvan Magalhaes NEGOTIATION
Maria D SchemmerAustraliaBernardo Dominic NEW
Stacey G RutaSpainOnyama Limba NEW
Francesco Z WieserCanadaElwin Sharvill NEGOTIATION
Murillo N GauchoItalyElwin Sharvill NEW
Salvatore D GillianAustraliaIoni Bowcher UNQUALIFIED
Clifford A MaletRussiaAmy Elsner QUALIFIED
Alejandro V BologniaBrazilAnna Fali QUALIFIED

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