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 A PaprockiRussiaAnna Fali NEW
Salvatore E RutaJapanIoni Bowcher NEW
Kaitlin J AmigonItalyAmy Elsner UNQUALIFIED
Isabel E ShinkoArgentinaElwin Sharvill QUALIFIED
Emily Z AlbaresArgentinaIvan Magalhaes NEGOTIATION
Clifford L MaletUnited KingdomStephen Shaw UNQUALIFIED
Sinclair I RoysterBrazilIvan Magalhaes QUALIFIED
Tony Y PoquetteGermanyAnna Fali RENEWAL
Antonio E InouyeJapanIoni Bowcher QUALIFIED
Antonio F MaletBrazilIoni Bowcher UNQUALIFIED
Izzy Z DilliardIndiaOnyama Limba RENEWAL
Darci J NestleItalyAsiya Javayant QUALIFIED
Jeanfrancois K AlbaresArgentinaStephen Shaw UNQUALIFIED
Tony Q CaldareraRussiaAsiya Javayant NEW
James R ButtBrazilStephen Shaw QUALIFIED
Aika U MaletGermanyAmy Elsner NEGOTIATION
Rodrigues N MorascaBrazilXuxue Feng PROPOSAL
Leon E MacleadArgentinaStephen Shaw QUALIFIED
Johnson G RoysterBrazilXuxue Feng NEGOTIATION
Costa F StensethAustraliaIoni Bowcher NEGOTIATION
Misaki Y CaudyJapanAsiya Javayant PROPOSAL
Misaki J MaletJapanStephen Shaw RENEWAL
Claire P RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Maria W DarakjyBrazilAmy Elsner RENEWAL
Ashley S MacleadBrazilStephen Shaw QUALIFIED
Tony Q WieserItalyBernardo Dominic NEW
Chavez J FigeroaAustraliaAnna Fali RENEWAL
Smith E BologniaArgentinaIoni Bowcher PROPOSAL
Costa X BriddickJapanAsiya Javayant NEGOTIATION
Jeanfrancois D OldroydUnited KingdomAnna Fali NEGOTIATION
Leja E SergiIndiaOnyama Limba QUALIFIED
Maria T BologniaJapanAsiya Javayant RENEWAL
Emily V DoeAustraliaAsiya Javayant QUALIFIED
Mujtaba L NickaSpainStephen Shaw NEW
Johnson P ChuiGermanyXuxue Feng NEGOTIATION
Nicolas E RimBrazilAmy Elsner RENEWAL
Isabel Z ShinkoArgentinaStephen Shaw NEW
Clifford G WaycottUnited KingdomStephen Shaw PROPOSAL
Octavia S GillianSpainElwin Sharvill RENEWAL
David F MaletAustraliaAmy Elsner RENEWAL
Salvatore D BowleyRussiaAsiya Javayant PROPOSAL
Maria R WieserSpainAnna Fali QUALIFIED
Juan W VenereCanadaIvan Magalhaes PROPOSAL
Tony E BologniaJapanAmy Elsner UNQUALIFIED
Emily J NestleJapanElwin Sharvill NEGOTIATION
Claire A NickaIndiaAsiya Javayant QUALIFIED
Ashley E NestleItalyIoni Bowcher UNQUALIFIED
Misaki W KolmetzBrazilXuxue Feng UNQUALIFIED
Emily W OldroydAustraliaAsiya Javayant QUALIFIED
Tony U WieserBrazilAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson Y PerinAustraliaAsiya Javayant UNQUALIFIED
Misaki X OldroydBrazilIoni Bowcher QUALIFIED
Jennifer W KolmetzAustraliaAsiya Javayant PROPOSAL
David Z RutaJapanStephen Shaw PROPOSAL
Silvio L RulapaughFranceAmy Elsner NEGOTIATION
Isabel I IturbideFranceAsiya Javayant RENEWAL
Chavez S RoysterIndiaOnyama Limba UNQUALIFIED
Sinclair O MarrierAustraliaOnyama Limba QUALIFIED
Sinclair I NickaFranceBernardo Dominic PROPOSAL
Ricardo A OldroydCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin U StockhamGermany2024-06-14Printing Dimensions NEGOTIATION61Bernardo Dominic
1001Chavez W StensethGermany2024-06-21Dorl, James J Esq NEW24Stephen Shaw
1002Izzy N WaycottGermany2024-06-12King, Christopher A Esq QUALIFIED17Xuxue Feng
1003Adams O CaudyAustralia2024-06-18Rousseaux, Michael Esq RENEWAL25Amy Elsner
1004Claire C AlbaresJapan2024-06-20Chanay, Jeffrey A Esq NEW2Amy Elsner
1005Jefferson H RutaAustralia2024-06-21Feiner Bros PROPOSAL63Stephen Shaw
1006Arvin V GauchoArgentina2024-06-23Rangoni Of Florence RENEWAL8Stephen Shaw
1007Clifford U NestleUnited Kingdom2024-06-02Chapman, Ross E Esq RENEWAL43Ioni Bowcher
1008Juan L WhobreyFrance2024-06-02Dorl, James J Esq PROPOSAL29Asiya Javayant
1009Kaitlin X MaletIndia2024-05-31Commercial Press UNQUALIFIED60Onyama Limba
1010Tony I KuskoCanada2024-06-06Dorl, James J Esq NEGOTIATION90Stephen Shaw
1011Greenwood D WaycottRussia2024-06-07Chapman, Ross E Esq RENEWAL70Ioni Bowcher
1012Misaki J RutaGermany2024-06-24Feiner Bros QUALIFIED64Ivan Magalhaes
1013Jefferson Q RoysterIndia2024-05-29Buckley Miller Wright NEW4Bernardo Dominic
1014Mujtaba D MaletBrazil2024-06-12Morlong Associates NEW84Amy Elsner
1015Claire O GarufiFrance2024-06-17Buckley Miller Wright RENEWAL15Stephen Shaw
1016David S WhobreyUnited Kingdom2024-06-01King, Christopher A Esq NEGOTIATION40Amy Elsner
1017Octavia Y RulapaughGermany2024-05-31Chapman, Ross E Esq PROPOSAL62Elwin Sharvill
1018Francesco L ChuiIndia2024-06-13Commercial Press RENEWAL30Elwin Sharvill
1019Aruna T AmigonAustralia2024-06-15Chemel, James L Cpa QUALIFIED54Onyama Limba
1020Leon V OstroskyGermany2024-06-20King, Christopher A Esq PROPOSAL80Bernardo Dominic
1021Jefferson J BriddickBrazil2024-06-13Feltz Printing Service NEGOTIATION87Stephen Shaw
1022Juan O MaletIndia2024-06-13Feiner Bros RENEWAL31Stephen Shaw
1023Munro T BriddickUnited Kingdom2024-06-19Rousseaux, Michael Esq RENEWAL60Anna Fali
1024Johnson E FollerSpain2024-06-15Rousseaux, Michael Esq RENEWAL5Ivan Magalhaes
1025Costa Z MacleadUnited Kingdom2024-06-17Chapman, Ross E Esq NEGOTIATION27Asiya Javayant
1026Emily G DarakjySpain2024-06-10Feiner Bros RENEWAL46Bernardo Dominic
1027Jeanfrancois T RoysterSpain2024-06-03King, Christopher A Esq RENEWAL17Ivan Magalhaes
1028Mujtaba M PoquetteRussia2024-06-22Chapman, Ross E Esq PROPOSAL65Ivan Magalhaes
1029Johnson C FlosiFrance2024-06-03Buckley Miller Wright NEGOTIATION61Elwin Sharvill
1030Silvio K WhobreyUnited Kingdom2024-06-22Benton, John B Jr PROPOSAL43Ivan Magalhaes
1031Wickens J ButtItaly2024-06-06Buckley Miller Wright UNQUALIFIED56Asiya Javayant
1032Claire Y DilliardJapan2024-06-21Feltz Printing Service RENEWAL23Amy Elsner
1033Jones U GauchoIndia2024-05-28Commercial Press RENEWAL74Stephen Shaw
1034Maisha W ShinkoRussia2024-06-09Rousseaux, Michael Esq RENEWAL91Asiya Javayant
1035Arvin S StockhamFrance2024-06-24Chemel, James L Cpa NEW14Elwin Sharvill
1036Octavia N MorascaFrance2024-06-24Commercial Press NEGOTIATION42Ioni Bowcher
1037Arvin Y AlbaresAustralia2024-06-24Feiner Bros PROPOSAL73Stephen Shaw
1038Aika Q NickaIndia2024-05-31Dorl, James J Esq NEW99Ioni Bowcher
1039Jennifer M MacleadArgentina2024-06-17Feiner Bros NEW80Elwin Sharvill
1040Maisha U SchemmerUnited Kingdom2024-06-15Feiner Bros NEGOTIATION35Onyama Limba
1041Cody X KolmetzIndia2024-06-06Commercial Press UNQUALIFIED55Xuxue Feng
1042Smith Y WhobreyFrance2024-06-15King, Christopher A Esq NEGOTIATION36Bernardo Dominic
1043Jones I InouyeFrance2024-06-06Rousseaux, Michael Esq QUALIFIED29Elwin Sharvill
1044Maisha D CaudyAustralia2024-06-17Commercial Press RENEWAL80Onyama Limba
1045Leja R FerenczAustralia2024-06-08Feiner Bros QUALIFIED70Stephen Shaw
1046Wickens G ButtSpain2024-06-20Commercial Press PROPOSAL9Anna Fali
1047Adams X OstroskyJapan2024-06-24Feltz Printing Service NEGOTIATION98Ivan Magalhaes
1048Nicolas Q WhobreyBrazil2024-06-23Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
1049Mujtaba X NestleCanada2024-05-28Commercial Press UNQUALIFIED67Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens E RoysterFranceXuxue Feng PROPOSAL
Jeanfrancois Y CaldareraBrazilXuxue Feng UNQUALIFIED
Morrow F StockhamItalyStephen Shaw NEW
Leja U KolmetzSpainStephen Shaw NEGOTIATION
Smith K PoquetteAustraliaStephen Shaw NEW
Murillo S FlosiItalyStephen Shaw PROPOSAL
Maria G MaletUnited KingdomAmy Elsner UNQUALIFIED
Adams I CampainAustraliaAsiya Javayant PROPOSAL
Emily A TollnerArgentinaElwin Sharvill RENEWAL
Ashley M WieserBrazilAsiya Javayant RENEWAL
Sinclair Y WhobreyItalyAmy Elsner PROPOSAL
Clifford P DoeJapanElwin Sharvill QUALIFIED
Silvio Q BriddickBrazilBernardo Dominic PROPOSAL
Rodrigues L BriddickRussiaXuxue Feng RENEWAL
Aditya V WaycottIndiaIvan Magalhaes NEGOTIATION
Chavez D OldroydAustraliaIoni Bowcher RENEWAL
Francesco V KolmetzBrazilAnna Fali RENEWAL
Jennifer R PerinFranceAmy Elsner NEW
Kaitlin F MarrierFranceStephen Shaw NEW
James T FlosiGermanyIvan Magalhaes NEGOTIATION
Leja B CampainFranceOnyama Limba QUALIFIED
Leon M KuskoSpainElwin Sharvill NEGOTIATION
James B GarufiSpainAsiya Javayant QUALIFIED
Aruna T GillianAustraliaBernardo Dominic QUALIFIED
Francesco N NestleIndiaElwin Sharvill NEGOTIATION
Jones V AmigonIndiaXuxue Feng NEW
Nicolas O RoysterBrazilIvan Magalhaes NEW
Aika J AmigonFranceIoni Bowcher NEGOTIATION
Leja T DoeFranceAsiya Javayant UNQUALIFIED
Claire U AlbaresGermanyXuxue Feng PROPOSAL
Mayumi A VenereIndiaAmy Elsner PROPOSAL
Morrow O SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Juan D PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Jennifer H RutaCanadaIvan Magalhaes UNQUALIFIED
Ashley M SaylorsIndiaAmy Elsner NEW
Aruna W FigeroaCanadaBernardo Dominic QUALIFIED
Aika V BologniaGermanyIvan Magalhaes UNQUALIFIED
Jennifer O StockhamSpainBernardo Dominic RENEWAL
Chavez F FerenczSpainAnna Fali RENEWAL
Deepesh E GauchoCanadaIvan Magalhaes RENEWAL
Kadeem G DilliardGermanyAnna Fali QUALIFIED
Emily D ButtSpainXuxue Feng PROPOSAL
Mayumi M GarufiFranceBernardo Dominic NEGOTIATION
Maria Q VocelkaAustraliaElwin Sharvill UNQUALIFIED
Alejandro Q MarrierJapanAsiya Javayant NEW
Octavia O MacleadCanadaIoni Bowcher UNQUALIFIED
Darci O WhobreyAustraliaAmy Elsner PROPOSAL
Silvio V VenereBrazilElwin Sharvill PROPOSAL
Rodrigues Y CaudyIndiaXuxue Feng UNQUALIFIED
Kadeem X SergiAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Izzy N Kolmetz
Clifford D Morasca
Rodrigues W Tollner
Johnson Q Briddick
Antonio S Paprocki
Cody G Chui
Leon O Dilliard
Wickens X Rim
Leon W Vocelka
Leon P Sergi
Kadeem T Saylors
Jennifer V Nicka
Leon E Chui
Francesco X Shinko
Greenwood P Perin
Stacey G Chui
Clifford G Bowley
Silvio D Morasca
Kadeem A Venere
Juan Y Shinko
Leja Z Inouye
Silvio N Saylors
Isabel G Slusarski
Ivar Z Maclead
Antonio D Bowley
Arvin U Slusarski
Leon C Kusko
Alejandro B Sergi
Costa X Schemmer
Francesco X Paprocki
Maisha Y Stockham
Darci G Dilliard
Rodrigues H Saylors
Alejandro G Iturbide
Darci J Stockham
David M Kusko
Sinclair S Dilliard
Ivar W Maclead
Aika E Oldroyd
Sinclair P Caldarera
Morrow U Waycott
Aruna G Chui
Cody G Stenseth
Jefferson X Dilliard
Rodrigues G Butt
Mayumi L Campain
Clifford T Marrier
Sinclair L Rim
Claire H Sergi
Emily T Waycott
IdCountryDate
1000Germany2024-06-09
1001France2024-06-24
1002Brazil2024-05-31
1003India2024-06-15
1004Australia2024-06-12
1005Spain2024-06-12
1006Italy2024-06-10
1007India2024-06-15
1008Italy2024-06-16
1009France2024-06-12
1010Germany2024-06-04
1011Germany2024-06-08
1012Brazil2024-06-18
1013Spain2024-06-22
1014Brazil2024-06-23
1015Spain2024-05-29
1016India2024-06-06
1017Italy2024-06-15
1018Japan2024-06-02
1019Argentina2024-06-03
1020Argentina2024-05-28
1021Australia2024-06-09
1022India2024-06-01
1023Argentina2024-05-30
1024Germany2024-06-11
1025Japan2024-06-16
1026Russia2024-06-15
1027Australia2024-06-20
1028Spain2024-05-28
1029Germany2024-06-14
1030Germany2024-06-07
1031Japan2024-06-11
1032Russia2024-06-06
1033India2024-06-17
1034Australia2024-06-02
1035Canada2024-06-07
1036Italy2024-05-31
1037Japan2024-06-18
1038Canada2024-05-30
1039India2024-06-16
1040Italy2024-06-23
1041India2024-06-04
1042Australia2024-06-03
1043Australia2024-05-28
1044Australia2024-06-23
1045Canada2024-06-07
1046Australia2024-06-08
1047France2024-06-05
1048Italy2024-06-09
1049Canada2024-06-13

On-Demand Data

NameIdCountryDate
Munro O Vocelka1000France2024-06-01
Jeanfrancois W Royster1001India2024-06-11
Aruna E Poquette1002Italy2024-05-26
Aruna G Rulapaugh1003Italy2024-06-22
Cody G Foller1004Germany2024-05-28
Jeanfrancois X Doe1005Japan2024-06-20
Morrow L Wieser1006Spain2024-05-28
Faith S Flosi1007Japan2024-06-04
Leon N Figeroa1008Japan2024-06-18
Morrow R Darakjy1009Germany2024-06-21
Antonio U Slusarski1010India2024-06-13
Jennifer A Nestle1011Spain2024-05-28
Izzy X Poquette1012United Kingdom2024-06-22
Cody G Bowley1013India2024-06-24
Nicolas W Shinko1014United Kingdom2024-06-14
David V Shinko1015India2024-06-21
Ricardo C Flosi1016Germany2024-06-03
Arvin M Ostrosky1017Italy2024-06-03
Rodrigues G Briddick1018Russia2024-06-23
Salvatore C Bowley1019Spain2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood N PaprockiArgentinaXuxue Feng UNQUALIFIED
Stacey L SchemmerJapanBernardo Dominic QUALIFIED
Adams Q FlosiUnited KingdomOnyama Limba UNQUALIFIED
Johnson A ShinkoCanadaIvan Magalhaes RENEWAL
Johnson W RoysterFranceBernardo Dominic NEGOTIATION
Misaki D BowleySpainStephen Shaw NEGOTIATION
Alejandro Y KolmetzSpainStephen Shaw QUALIFIED
Tony J ButtUnited KingdomAmy Elsner PROPOSAL
Johnson Y CampainFranceXuxue Feng UNQUALIFIED
Francesco W GillianFranceBernardo Dominic RENEWAL
Stacey U GlickBrazilAsiya Javayant NEGOTIATION
Mujtaba N SchemmerCanadaAnna Fali UNQUALIFIED
Maisha A BowleyIndiaAnna Fali NEW
Wickens S OstroskyFranceAnna Fali NEW
Alejandro Q TollnerSpainIoni Bowcher RENEWAL
Antonio Z FlosiRussiaIvan Magalhaes PROPOSAL
Juan Y MacleadJapanAnna Fali UNQUALIFIED
Chavez G DarakjyItalyStephen Shaw QUALIFIED
Deepesh J OldroydJapanIoni Bowcher NEGOTIATION
Johnson I IturbideRussiaIoni Bowcher PROPOSAL
Greenwood W RimJapanIvan Magalhaes PROPOSAL
Smith D CampainGermanyXuxue Feng PROPOSAL
Isabel S RulapaughIndiaAnna Fali QUALIFIED
Murillo O RimJapanElwin Sharvill RENEWAL
Maria E OldroydArgentinaIoni Bowcher PROPOSAL
Chavez R CaudyJapanAmy Elsner QUALIFIED
Leja Z PoquetteSpainBernardo Dominic NEGOTIATION
Jefferson W SaylorsAustraliaXuxue Feng NEGOTIATION
Octavia C DoeSpainAsiya Javayant NEGOTIATION
Leon M VocelkaCanadaStephen Shaw RENEWAL
Jones I RulapaughFranceElwin Sharvill QUALIFIED
Jeanfrancois J DilliardSpainAmy Elsner QUALIFIED
Kadeem A DoeFranceXuxue Feng PROPOSAL
Jones K ChuiGermanyAnna Fali UNQUALIFIED
Isabel N InouyeArgentinaIvan Magalhaes NEGOTIATION
Darci Y WaycottFranceOnyama Limba NEGOTIATION
Ivar G KolmetzFranceAmy Elsner NEGOTIATION
Jefferson B PerinGermanyAsiya Javayant UNQUALIFIED
Morrow N MaletItalyStephen Shaw NEGOTIATION
Maisha O RoysterArgentinaAsiya Javayant 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>