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
Leon Z TollnerRussiaBernardo Dominic PROPOSAL
Misaki W FollerSpainXuxue Feng PROPOSAL
Clifford A RimSpainAmy Elsner UNQUALIFIED
Munro H RoysterCanadaAsiya Javayant NEW
Misaki N OstroskyIndiaXuxue Feng UNQUALIFIED
Leon H RutaUnited KingdomXuxue Feng PROPOSAL
Alejandro A AlbaresBrazilBernardo Dominic RENEWAL
Greenwood G SergiCanadaXuxue Feng QUALIFIED
Aika G MaletRussiaAmy Elsner RENEWAL
Rodrigues I DarakjySpainOnyama Limba QUALIFIED
Ashley A MaletRussiaBernardo Dominic NEGOTIATION
Sinclair P BologniaBrazilXuxue Feng NEGOTIATION
Maria Q AlbaresSpainElwin Sharvill NEGOTIATION
Octavia C GauchoUnited KingdomStephen Shaw RENEWAL
Rodrigues J OldroydSpainElwin Sharvill RENEWAL
James M VenereCanadaBernardo Dominic NEGOTIATION
Tony P MaletUnited KingdomXuxue Feng RENEWAL
James O NickaAustraliaIvan Magalhaes NEGOTIATION
Jennifer V PaprockiBrazilIvan Magalhaes QUALIFIED
Wickens W VenereItalyElwin Sharvill PROPOSAL
Isabel U CampainCanadaAsiya Javayant RENEWAL
Ricardo A GarufiJapanOnyama Limba RENEWAL
Cody B SergiFranceBernardo Dominic NEGOTIATION
Chavez S DarakjyAustraliaElwin Sharvill NEGOTIATION
Emily F RutaBrazilIoni Bowcher PROPOSAL
Jefferson P PaprockiGermanyIoni Bowcher QUALIFIED
Cody J GauchoFranceAnna Fali NEW
Aika T GillianSpainElwin Sharvill RENEWAL
Maria Z PoquetteIndiaStephen Shaw RENEWAL
Smith K PaprockiAustraliaAnna Fali UNQUALIFIED
Rodrigues K GlickJapanAnna Fali RENEWAL
Ricardo Q DarakjyUnited KingdomAsiya Javayant PROPOSAL
Leon I RulapaughBrazilBernardo Dominic PROPOSAL
Jennifer Z FigeroaFranceAnna Fali NEW
Tony A RulapaughAustraliaAnna Fali RENEWAL
Kaitlin P GlickUnited KingdomAsiya Javayant NEGOTIATION
Juan R ChuiIndiaStephen Shaw NEW
Claire D FerenczIndiaIoni Bowcher PROPOSAL
Ashley E BologniaBrazilStephen Shaw NEGOTIATION
Jennifer O DarakjyArgentinaBernardo Dominic NEGOTIATION
Ricardo D CampainFranceAnna Fali RENEWAL
Munro U FigeroaFranceStephen Shaw PROPOSAL
Leja O FollerJapanStephen Shaw RENEWAL
Murillo P KuskoJapanOnyama Limba PROPOSAL
Octavia X GauchoSpainBernardo Dominic RENEWAL
Wickens O WieserJapanAnna Fali UNQUALIFIED
Adams O IturbideRussiaIvan Magalhaes NEW
Greenwood F DilliardGermanyOnyama Limba PROPOSAL
Salvatore T MaletGermanyAmy Elsner RENEWAL
Maria B GarufiArgentinaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja C SlusarskiFranceIvan Magalhaes RENEWAL
Mujtaba M DoeGermanyIoni Bowcher NEGOTIATION
Murillo D MaletUnited KingdomAmy Elsner NEW
David V CaudyJapanOnyama Limba PROPOSAL
Greenwood R RulapaughJapanElwin Sharvill RENEWAL
Wickens O IturbideUnited KingdomIvan Magalhaes PROPOSAL
Jones X OstroskyItalyAmy Elsner PROPOSAL
Juan K GillianIndiaElwin Sharvill PROPOSAL
Aika R PaprockiItalyAsiya Javayant NEGOTIATION
Kadeem H WhobreyRussiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo O OldroydArgentina2025-04-02Buckley Miller Wright NEW56Ivan Magalhaes
1001Deepesh Y DoeUnited Kingdom2025-04-19Dorl, James J Esq NEW99Asiya Javayant
1002Johnson K FerenczCanada2025-04-07Commercial Press NEGOTIATION96Anna Fali
1003Rodrigues D GauchoArgentina2025-04-25Buckley Miller Wright NEGOTIATION23Ioni Bowcher
1004Izzy K PerinGermany2025-04-24Dorl, James J Esq QUALIFIED92Ivan Magalhaes
1005Aruna V DoeGermany2025-04-18Buckley Miller Wright PROPOSAL83Anna Fali
1006Jeanfrancois T BowleyIndia2025-04-02Feltz Printing Service QUALIFIED73Asiya Javayant
1007Johnson R NestleCanada2025-04-02Rangoni Of Florence NEW44Stephen Shaw
1008Isabel J IturbideGermany2025-04-28Feltz Printing Service QUALIFIED80Amy Elsner
1009Murillo Y OstroskyJapan2025-04-11King, Christopher A Esq UNQUALIFIED28Asiya Javayant
1010Darci M GillianItaly2025-04-29Benton, John B Jr NEW87Anna Fali
1011Smith T CampainArgentina2025-04-12Feiner Bros QUALIFIED32Onyama Limba
1012Leon R DilliardBrazil2025-04-27Chapman, Ross E Esq UNQUALIFIED31Onyama Limba
1013Tony R PoquetteBrazil2025-04-27Dorl, James J Esq UNQUALIFIED3Anna Fali
1014Aika V SchemmerUnited Kingdom2025-04-27Dorl, James J Esq PROPOSAL92Anna Fali
1015Darci S IturbideCanada2025-04-16Feltz Printing Service QUALIFIED40Stephen Shaw
1016Isabel C PoquetteAustralia2025-04-12Morlong Associates NEGOTIATION87Ivan Magalhaes
1017Ricardo C OstroskySpain2025-04-19Rangoni Of Florence UNQUALIFIED78Elwin Sharvill
1018Mujtaba M StensethGermany2025-04-25Rousseaux, Michael Esq PROPOSAL72Amy Elsner
1019Salvatore B SchemmerGermany2025-04-17Chanay, Jeffrey A Esq UNQUALIFIED17Stephen Shaw
1020Ricardo N CaldareraBrazil2025-04-13Truhlar And Truhlar Attys RENEWAL35Elwin Sharvill
1021Rodrigues D VenereSpain2025-04-22Morlong Associates RENEWAL37Bernardo Dominic
1022Munro D PoquetteIndia2025-04-23Rousseaux, Michael Esq NEGOTIATION85Xuxue Feng
1023Salvatore Y KolmetzUnited Kingdom2025-03-31Buckley Miller Wright NEGOTIATION3Ioni Bowcher
1024Mujtaba O MaletRussia2025-04-08Feltz Printing Service QUALIFIED25Elwin Sharvill
1025Tony R OstroskyJapan2025-04-29Feltz Printing Service PROPOSAL20Ioni Bowcher
1026Silvio O OldroydAustralia2025-04-08Commercial Press PROPOSAL20Ioni Bowcher
1027Kadeem T AlbaresBrazil2025-04-09King, Christopher A Esq RENEWAL62Anna Fali
1028Ashley M MarrierAustralia2025-04-27Dorl, James J Esq RENEWAL8Bernardo Dominic
1029Kaitlin E KolmetzCanada2025-04-23Rousseaux, Michael Esq PROPOSAL63Stephen Shaw
1030Greenwood N BriddickBrazil2025-04-26Chemel, James L Cpa RENEWAL55Elwin Sharvill
1031Rodrigues I CaudyArgentina2025-04-24Chapman, Ross E Esq NEGOTIATION3Elwin Sharvill
1032Aruna T RimSpain2025-04-26Dorl, James J Esq NEGOTIATION45Elwin Sharvill
1033Maria L GarufiJapan2025-04-04Buckley Miller Wright PROPOSAL99Onyama Limba
1034Kadeem I CaldareraItaly2025-04-05Chapman, Ross E Esq NEW12Asiya Javayant
1035Morrow E StockhamBrazil2025-04-13Commercial Press NEW92Amy Elsner
1036Smith Z BologniaItaly2025-03-31Chapman, Ross E Esq NEW38Amy Elsner
1037Francesco X SchemmerCanada2025-04-27Buckley Miller Wright QUALIFIED68Elwin Sharvill
1038Wickens M SchemmerGermany2025-04-11Rousseaux, Michael Esq UNQUALIFIED5Amy Elsner
1039Ashley F CaudyRussia2025-04-05Rangoni Of Florence PROPOSAL60Bernardo Dominic
1040Johnson V TollnerIndia2025-04-07Benton, John B Jr NEW3Elwin Sharvill
1041Deepesh Q ChuiArgentina2025-04-04Printing Dimensions QUALIFIED75Anna Fali
1042Emily G NestleJapan2025-04-11Feltz Printing Service NEW29Asiya Javayant
1043Greenwood H OstroskyRussia2025-04-29Printing Dimensions NEGOTIATION54Elwin Sharvill
1044Misaki C PerinArgentina2025-04-12Truhlar And Truhlar Attys NEW84Anna Fali
1045Antonio C GillianCanada2025-04-19Truhlar And Truhlar Attys UNQUALIFIED22Amy Elsner
1046Antonio L IturbideArgentina2025-04-29Printing Dimensions PROPOSAL22Ivan Magalhaes
1047Leja Z RoysterRussia2025-04-05Chemel, James L Cpa RENEWAL92Stephen Shaw
1048Alejandro S BriddickUnited Kingdom2025-04-09Dorl, James J Esq QUALIFIED35Elwin Sharvill
1049Jennifer I DoeRussia2025-04-01Rangoni Of Florence NEGOTIATION97Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood I FollerUnited KingdomBernardo Dominic NEGOTIATION
David J CampainUnited KingdomAsiya Javayant PROPOSAL
Kaitlin A RulapaughCanadaAmy Elsner QUALIFIED
Clifford H WieserIndiaAmy Elsner PROPOSAL
Julie H RoysterIndiaBernardo Dominic RENEWAL
Cody X CaudyAustraliaAmy Elsner NEGOTIATION
Mayumi S GlickArgentinaOnyama Limba QUALIFIED
Leon M RutaRussiaOnyama Limba PROPOSAL
Maria Y GillianRussiaStephen Shaw PROPOSAL
Munro U FigeroaRussiaStephen Shaw NEGOTIATION
Smith F GillianIndiaAsiya Javayant PROPOSAL
Darci Q KuskoBrazilAsiya Javayant QUALIFIED
Clifford I PaprockiGermanyElwin Sharvill NEGOTIATION
Jones P KolmetzRussiaIvan Magalhaes RENEWAL
Wickens Y PerinSpainAnna Fali NEW
Ashley L GarufiItalyAmy Elsner PROPOSAL
Chavez S PoquetteRussiaAnna Fali NEGOTIATION
Morrow S RoysterSpainAnna Fali PROPOSAL
Mayumi D WieserItalyStephen Shaw NEW
Silvio C OldroydItalyIoni Bowcher RENEWAL
Darci Q RimCanadaBernardo Dominic NEGOTIATION
James J SaylorsCanadaIoni Bowcher NEW
Deepesh L VenereBrazilXuxue Feng PROPOSAL
Claire P GillianCanadaBernardo Dominic PROPOSAL
Ricardo S MaletRussiaXuxue Feng PROPOSAL
Munro E BowleyArgentinaOnyama Limba PROPOSAL
Aditya R FlosiAustraliaXuxue Feng QUALIFIED
Octavia T TollnerUnited KingdomAsiya Javayant NEW
Aruna H OldroydUnited KingdomXuxue Feng NEGOTIATION
Jefferson E NickaRussiaStephen Shaw QUALIFIED
Izzy H WhobreyRussiaAsiya Javayant UNQUALIFIED
Aditya B KuskoGermanyIvan Magalhaes UNQUALIFIED
Morrow Q StensethCanadaIvan Magalhaes NEW
Tony J NestleGermanyIoni Bowcher UNQUALIFIED
Ivar G OldroydBrazilAnna Fali QUALIFIED
Cody I BowleyFranceElwin Sharvill UNQUALIFIED
Silvio C PoquetteJapanAmy Elsner QUALIFIED
Octavia G FlosiRussiaIvan Magalhaes RENEWAL
Costa W StensethCanadaAsiya Javayant PROPOSAL
Julie W MaletArgentinaAmy Elsner RENEWAL
Emily M RulapaughSpainOnyama Limba NEW
Mujtaba M KuskoCanadaIvan Magalhaes RENEWAL
Maisha P CaudyCanadaAsiya Javayant NEW
Aruna A ButtFranceOnyama Limba RENEWAL
Francesco O MaletIndiaIvan Magalhaes UNQUALIFIED
Aditya S AlbaresIndiaXuxue Feng PROPOSAL
Aruna M DilliardItalyIvan Magalhaes NEW
Greenwood P StensethRussiaAmy Elsner UNQUALIFIED
Maisha M RimJapanAmy Elsner RENEWAL
Aika R CaudyBrazilAmy Elsner PROPOSAL
Frozen Columns
Name
Leja I Butt
Rodrigues L Campain
Izzy Y Kolmetz
Juan M Ruta
Adams C Nestle
Clifford E Bolognia
Julie F Morasca
Jeanfrancois T Vocelka
Salvatore Q Caudy
Octavia D Bolognia
Antonio P Albares
Emily H Stenseth
Ashley O Dilliard
Aruna F Figeroa
Greenwood O Gaucho
Deepesh X Ostrosky
Greenwood E Caldarera
Izzy K Caldarera
Aditya J Venere
Salvatore F Garufi
Aruna A Inouye
Aika Y Glick
Morrow J Malet
Wickens W Nestle
Aika V Ruta
Jennifer V Dilliard
Francesco R Dilliard
Ashley L Malet
Julie B Foller
Nicolas I Malet
Adams G Caudy
Deepesh K Gillian
Smith F Butt
Greenwood U Venere
James B Flosi
Greenwood F Perin
Maisha H Bolognia
Ricardo N Paprocki
Octavia C Figeroa
Aika G Shinko
Stacey O Glick
Darci W Poquette
Aditya O Gillian
Salvatore S Stockham
Aditya S Foller
Darci L Nestle
Claire W Vocelka
Murillo O Gillian
Costa K Bowley
Silvio J Glick
IdCountryDate
1000Germany2025-04-18
1001Italy2025-04-14
1002France2025-04-12
1003Russia2025-04-24
1004India2025-04-28
1005Brazil2025-04-09
1006India2025-04-25
1007Japan2025-04-18
1008Canada2025-04-10
1009Canada2025-04-14
1010Australia2025-04-20
1011United Kingdom2025-04-06
1012United Kingdom2025-04-03
1013Italy2025-04-03
1014Italy2025-04-15
1015India2025-04-18
1016India2025-04-28
1017Germany2025-04-27
1018Italy2025-04-18
1019Russia2025-04-27
1020Australia2025-04-03
1021United Kingdom2025-04-11
1022Italy2025-04-22
1023Brazil2025-04-16
1024Spain2025-04-07
1025Italy2025-04-05
1026Spain2025-04-09
1027Australia2025-04-20
1028Germany2025-04-10
1029Russia2025-04-20
1030Brazil2025-04-01
1031Italy2025-04-21
1032Australia2025-04-28
1033Australia2025-03-31
1034Japan2025-04-13
1035India2025-04-15
1036France2025-04-10
1037United Kingdom2025-04-17
1038United Kingdom2025-04-02
1039France2025-04-19
1040France2025-04-12
1041Argentina2025-04-07
1042Spain2025-03-31
1043Russia2025-04-06
1044Canada2025-04-01
1045Japan2025-04-03
1046Argentina2025-04-03
1047France2025-04-10
1048Canada2025-04-07
1049Australia2025-04-19

On-Demand Data

NameIdCountryDate
Silvio R Marrier1000Spain2025-04-22
Morrow R Oldroyd1001France2025-03-31
Nicolas I Stenseth1002Argentina2025-04-24
Ivar N Campain1003Spain2025-04-29
James D Vocelka1004Japan2025-04-01
Aditya E Ostrosky1005France2025-04-01
Isabel Z Schemmer1006Brazil2025-04-13
Antonio N Nicka1007Spain2025-04-16
Morrow C Stenseth1008Brazil2025-04-22
Octavia N Tollner1009Argentina2025-04-28
Claire S Flosi1010India2025-04-28
Jefferson U Vocelka1011Spain2025-04-11
James J Tollner1012Spain2025-04-11
James X Foller1013Germany2025-04-25
Sinclair U Morasca1014Germany2025-04-18
Johnson S Bolognia1015India2025-04-23
Salvatore U Saylors1016India2025-04-06
Kadeem Q Flosi1017France2025-04-01
James J Waycott1018Canada2025-04-03
Jennifer U Slusarski1019India2025-04-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley K BriddickUnited KingdomAnna Fali QUALIFIED
Isabel M BologniaFranceAnna Fali QUALIFIED
Aika P BologniaJapanAnna Fali UNQUALIFIED
Clifford Z AlbaresBrazilIoni Bowcher RENEWAL
Mayumi E PerinGermanyAsiya Javayant RENEWAL
Morrow P SergiSpainElwin Sharvill UNQUALIFIED
Deepesh W BowleyAustraliaAsiya Javayant NEW
Mujtaba B MarrierFranceIvan Magalhaes NEGOTIATION
Jennifer L CaudyRussiaOnyama Limba QUALIFIED
Munro W WaycottItalyAnna Fali UNQUALIFIED
Adams G OldroydArgentinaAnna Fali QUALIFIED
Julie B PaprockiGermanyStephen Shaw RENEWAL
Darci D WaycottRussiaAnna Fali QUALIFIED
Kadeem C BowleyFranceAmy Elsner RENEWAL
Mayumi Q MacleadAustraliaAmy Elsner UNQUALIFIED
Maria K RoysterArgentinaAnna Fali NEGOTIATION
Juan N VocelkaGermanyBernardo Dominic NEW
Smith E KolmetzCanadaElwin Sharvill RENEWAL
Antonio F MacleadUnited KingdomStephen Shaw RENEWAL
Johnson X AmigonJapanXuxue Feng NEW
Murillo E RulapaughBrazilAnna Fali NEGOTIATION
Costa P NickaUnited KingdomOnyama Limba PROPOSAL
Jones X OldroydFranceAmy Elsner RENEWAL
Claire S SchemmerSpainOnyama Limba RENEWAL
Chavez M MaletRussiaAnna Fali NEW
Leja J PerinBrazilBernardo Dominic PROPOSAL
Julie P SaylorsArgentinaElwin Sharvill PROPOSAL
Salvatore B NickaRussiaIoni Bowcher UNQUALIFIED
Jennifer D DarakjyArgentinaIoni Bowcher NEW
Adams Y WieserArgentinaElwin Sharvill RENEWAL
Ricardo K SlusarskiJapanAmy Elsner QUALIFIED
Aruna P MaletSpainAnna Fali NEW
Jones G GillianArgentinaAsiya Javayant RENEWAL
Kaitlin R CampainIndiaIvan Magalhaes NEGOTIATION
Octavia I GillianBrazilAsiya Javayant NEW
Mayumi L StockhamCanadaIvan Magalhaes NEW
Jefferson V MorascaUnited KingdomXuxue Feng QUALIFIED
Francesco C WhobreyUnited KingdomStephen Shaw RENEWAL
Maria M ButtUnited KingdomXuxue Feng UNQUALIFIED
Isabel V GillianCanadaAsiya Javayant RENEWAL

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