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
Ricardo X PoquetteIndiaXuxue Feng UNQUALIFIED
Sinclair F SlusarskiFranceElwin Sharvill PROPOSAL
Costa T BowleyFranceStephen Shaw NEW
Claire S WaycottRussiaStephen Shaw NEGOTIATION
Cody B GarufiFranceBernardo Dominic PROPOSAL
Octavia G GillianArgentinaAnna Fali PROPOSAL
Mayumi K FigeroaArgentinaXuxue Feng NEW
Isabel O PerinCanadaIoni Bowcher RENEWAL
Jeanfrancois I FollerJapanIoni Bowcher RENEWAL
Smith F SlusarskiItalyElwin Sharvill RENEWAL
Kaitlin W FerenczItalyStephen Shaw PROPOSAL
Mayumi T OstroskyAustraliaXuxue Feng NEGOTIATION
Kadeem L SlusarskiAustraliaAnna Fali QUALIFIED
Costa X BologniaGermanyAsiya Javayant NEW
Alejandro U WaycottBrazilAsiya Javayant NEW
Claire Q TollnerUnited KingdomIvan Magalhaes PROPOSAL
Wickens S PerinSpainElwin Sharvill UNQUALIFIED
Johnson U IturbideGermanyBernardo Dominic PROPOSAL
Adams T RulapaughRussiaIvan Magalhaes NEGOTIATION
Kadeem P MacleadCanadaElwin Sharvill NEGOTIATION
Silvio Q TollnerJapanAnna Fali NEW
Ricardo D AlbaresIndiaOnyama Limba NEW
Leon X MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Leja A StensethCanadaAmy Elsner RENEWAL
Ashley V VocelkaSpainElwin Sharvill RENEWAL
Jennifer A SchemmerIndiaXuxue Feng QUALIFIED
Smith I KolmetzArgentinaXuxue Feng PROPOSAL
Darci X BologniaRussiaAsiya Javayant PROPOSAL
Greenwood H VenereItalyAsiya Javayant PROPOSAL
Claire O CaldareraAustraliaXuxue Feng UNQUALIFIED
Juan Q SchemmerFranceAsiya Javayant RENEWAL
Ricardo Z MarrierItalyElwin Sharvill UNQUALIFIED
Aruna M ShinkoSpainXuxue Feng NEGOTIATION
Faith O VocelkaCanadaXuxue Feng RENEWAL
David X AlbaresItalyBernardo Dominic QUALIFIED
Francesco H OstroskyAustraliaIoni Bowcher PROPOSAL
Julie Y FlosiAustraliaStephen Shaw RENEWAL
Francesco W FollerCanadaXuxue Feng PROPOSAL
Jefferson X DilliardAustraliaXuxue Feng QUALIFIED
Morrow H PoquetteIndiaOnyama Limba QUALIFIED
Ricardo W GarufiBrazilIvan Magalhaes UNQUALIFIED
Silvio F VenereIndiaXuxue Feng QUALIFIED
Salvatore U GlickJapanIoni Bowcher NEGOTIATION
Morrow Z VenereArgentinaBernardo Dominic UNQUALIFIED
Julie M KuskoCanadaIvan Magalhaes PROPOSAL
Maria R VenereItalyIvan Magalhaes NEW
Smith K OstroskyFranceAnna Fali NEW
Wickens V FigeroaJapanAmy Elsner UNQUALIFIED
Sinclair V DarakjySpainAmy Elsner NEGOTIATION
Morrow W NickaIndiaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa C AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Jennifer C GauchoBrazilXuxue Feng NEW
Clifford R InouyeArgentinaIvan Magalhaes UNQUALIFIED
Antonio P CaudyGermanyOnyama Limba NEW
Ivar U WhobreyFranceAmy Elsner NEW
Aditya N MacleadRussiaIoni Bowcher PROPOSAL
Costa P GillianBrazilXuxue Feng UNQUALIFIED
Aditya E VocelkaArgentinaAmy Elsner NEGOTIATION
Isabel F NickaJapanIvan Magalhaes RENEWAL
Alejandro T GlickCanadaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey Q PoquetteIndia2024-05-30Truhlar And Truhlar Attys RENEWAL97Elwin Sharvill
1001Leon M MorascaJapan2024-06-12Truhlar And Truhlar Attys QUALIFIED30Elwin Sharvill
1002Kaitlin O PerinItaly2024-06-14Commercial Press PROPOSAL93Elwin Sharvill
1003Darci J SergiArgentina2024-06-21Rangoni Of Florence PROPOSAL64Onyama Limba
1004Costa R SchemmerFrance2024-06-24Buckley Miller Wright NEGOTIATION30Amy Elsner
1005Munro N KolmetzUnited Kingdom2024-05-31Feltz Printing Service UNQUALIFIED10Onyama Limba
1006Salvatore X DilliardArgentina2024-06-17Chanay, Jeffrey A Esq NEGOTIATION66Xuxue Feng
1007Kaitlin A InouyeBrazil2024-06-22Buckley Miller Wright RENEWAL17Ioni Bowcher
1008Octavia C MorascaCanada2024-06-01Commercial Press NEGOTIATION58Asiya Javayant
1009Aditya U OstroskyUnited Kingdom2024-06-14Chapman, Ross E Esq NEW83Elwin Sharvill
1010Claire E TollnerArgentina2024-06-04Feltz Printing Service NEGOTIATION36Asiya Javayant
1011Greenwood U CampainBrazil2024-06-24Chapman, Ross E Esq NEGOTIATION55Asiya Javayant
1012Tony X TollnerSpain2024-06-18Benton, John B Jr NEW62Ivan Magalhaes
1013Cody W BriddickJapan2024-06-19Rousseaux, Michael Esq PROPOSAL40Onyama Limba
1014Ashley Z RulapaughCanada2024-06-22Morlong Associates NEGOTIATION77Asiya Javayant
1015Chavez L GarufiGermany2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED45Bernardo Dominic
1016Ashley P GarufiCanada2024-06-21Printing Dimensions QUALIFIED20Xuxue Feng
1017David I RutaCanada2024-06-13Printing Dimensions NEW35Elwin Sharvill
1018Greenwood N DoeBrazil2024-06-11Morlong Associates UNQUALIFIED81Anna Fali
1019Chavez F RoysterArgentina2024-06-16Benton, John B Jr NEGOTIATION84Ivan Magalhaes
1020Izzy H NestleRussia2024-05-27Rousseaux, Michael Esq RENEWAL15Anna Fali
1021Aika Y BologniaArgentina2024-06-22Chapman, Ross E Esq PROPOSAL99Xuxue Feng
1022Adams H KuskoRussia2024-06-19King, Christopher A Esq UNQUALIFIED16Ivan Magalhaes
1023Costa G FerenczSpain2024-05-29Rangoni Of Florence NEGOTIATION19Amy Elsner
1024Greenwood H CaudyFrance2024-05-30Morlong Associates UNQUALIFIED67Xuxue Feng
1025Izzy M AlbaresSpain2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED57Asiya Javayant
1026David W GarufiFrance2024-06-01Feltz Printing Service RENEWAL37Onyama Limba
1027Nicolas A MarrierSpain2024-06-18Commercial Press UNQUALIFIED89Onyama Limba
1028Leon I BowleyUnited Kingdom2024-06-06Benton, John B Jr NEGOTIATION4Stephen Shaw
1029Murillo R StensethBrazil2024-05-26Feiner Bros QUALIFIED29Ioni Bowcher
1030Stacey N PerinBrazil2024-05-26Chapman, Ross E Esq NEGOTIATION29Ioni Bowcher
1031Misaki A RoysterItaly2024-06-12Morlong Associates UNQUALIFIED20Ioni Bowcher
1032Ivar L MacleadBrazil2024-06-21Printing Dimensions NEGOTIATION57Stephen Shaw
1033Claire P MacleadSpain2024-06-20Morlong Associates QUALIFIED91Elwin Sharvill
1034Chavez N SchemmerCanada2024-06-20Benton, John B Jr NEGOTIATION93Xuxue Feng
1035Alejandro F ShinkoJapan2024-06-16Truhlar And Truhlar Attys PROPOSAL4Stephen Shaw
1036Cody O PoquetteAustralia2024-06-06Rangoni Of Florence NEGOTIATION81Ioni Bowcher
1037Jefferson R VocelkaJapan2024-06-04Printing Dimensions RENEWAL5Onyama Limba
1038Johnson D TollnerRussia2024-06-08Rousseaux, Michael Esq UNQUALIFIED40Elwin Sharvill
1039Antonio M DoeCanada2024-06-06Chemel, James L Cpa PROPOSAL35Stephen Shaw
1040Mujtaba H CaudyArgentina2024-06-16Chapman, Ross E Esq NEW74Bernardo Dominic
1041Maisha I ButtJapan2024-06-17Feiner Bros PROPOSAL73Ioni Bowcher
1042Tony V FlosiSpain2024-06-13Truhlar And Truhlar Attys PROPOSAL84Amy Elsner
1043Smith H VenereAustralia2024-06-10Chemel, James L Cpa NEGOTIATION11Anna Fali
1044Mujtaba B TollnerRussia2024-06-20Commercial Press NEGOTIATION56Asiya Javayant
1045Jones G BowleyJapan2024-06-07Commercial Press UNQUALIFIED90Xuxue Feng
1046Juan P RulapaughAustralia2024-06-21Printing Dimensions QUALIFIED96Ioni Bowcher
1047Aruna S DoeRussia2024-06-16Rousseaux, Michael Esq RENEWAL24Ivan Magalhaes
1048Morrow L SaylorsBrazil2024-06-23Rousseaux, Michael Esq QUALIFIED16Elwin Sharvill
1049Kaitlin P ButtSpain2024-05-29Benton, John B Jr NEGOTIATION22Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maria M WieserArgentinaAnna Fali NEGOTIATION
Leja L RimCanadaIvan Magalhaes UNQUALIFIED
Jennifer T PerinRussiaIvan Magalhaes NEGOTIATION
Salvatore S StensethFranceXuxue Feng RENEWAL
Juan I BologniaCanadaAnna Fali UNQUALIFIED
Costa A MaletSpainXuxue Feng NEGOTIATION
Alejandro W WhobreyBrazilXuxue Feng NEW
Sinclair D FigeroaFranceStephen Shaw UNQUALIFIED
Munro B BologniaCanadaStephen Shaw QUALIFIED
Mayumi E RimGermanyStephen Shaw RENEWAL
Octavia C CaudyJapanStephen Shaw UNQUALIFIED
Mujtaba B CaudyFranceOnyama Limba NEGOTIATION
Adams R GarufiRussiaIoni Bowcher RENEWAL
Maria X StensethArgentinaBernardo Dominic PROPOSAL
Nicolas S VenereSpainXuxue Feng NEW
Jennifer Z OldroydBrazilIoni Bowcher PROPOSAL
David V ButtSpainIvan Magalhaes UNQUALIFIED
Aika H NestleCanadaXuxue Feng RENEWAL
Francesco F WaycottAustraliaAmy Elsner NEW
Costa O OstroskyIndiaAnna Fali UNQUALIFIED
David S StockhamGermanyXuxue Feng RENEWAL
Octavia N WhobreyRussiaAsiya Javayant UNQUALIFIED
Rodrigues A AlbaresFranceAmy Elsner PROPOSAL
Jefferson W StensethFranceIvan Magalhaes NEGOTIATION
Tony Y GlickFranceElwin Sharvill NEGOTIATION
Leja I VenereUnited KingdomBernardo Dominic UNQUALIFIED
Aditya B BologniaFranceXuxue Feng UNQUALIFIED
Munro B AmigonRussiaOnyama Limba PROPOSAL
Clifford Z TollnerIndiaIvan Magalhaes RENEWAL
Emily C ChuiJapanAnna Fali RENEWAL
Jefferson W PoquetteItalyIvan Magalhaes RENEWAL
Faith T TollnerCanadaBernardo Dominic NEGOTIATION
Arvin P OldroydBrazilIoni Bowcher PROPOSAL
Rodrigues M ChuiGermanyStephen Shaw RENEWAL
Munro Z CampainCanadaAmy Elsner UNQUALIFIED
Isabel F MaletArgentinaAmy Elsner NEGOTIATION
Aika V GlickRussiaIoni Bowcher QUALIFIED
Smith B VocelkaArgentinaBernardo Dominic NEW
Murillo S OldroydFranceAsiya Javayant UNQUALIFIED
Clifford S InouyeBrazilAsiya Javayant PROPOSAL
Alejandro W GlickBrazilIvan Magalhaes QUALIFIED
Deepesh X AmigonJapanAsiya Javayant NEGOTIATION
David B OstroskyBrazilStephen Shaw NEGOTIATION
Clifford N PaprockiRussiaIoni Bowcher PROPOSAL
Juan Z NestleGermanyXuxue Feng PROPOSAL
Aditya W BowleyIndiaIvan Magalhaes UNQUALIFIED
Munro K GarufiFranceBernardo Dominic UNQUALIFIED
Ashley X FigeroaIndiaBernardo Dominic PROPOSAL
Greenwood D WieserItalyElwin Sharvill RENEWAL
Munro Q PoquetteArgentinaAsiya Javayant NEW
Frozen Columns
Name
Salvatore M Inouye
Murillo X Perin
Murillo Y Royster
Murillo N Royster
Julie X Ostrosky
Maria P Malet
Greenwood K Vocelka
Tony F Marrier
Arvin U Foller
Kadeem I Glick
Wickens A Stenseth
Antonio R Nicka
Izzy D Maclead
Arvin V Malet
Smith N Foller
Isabel G Perin
Murillo V Doe
Faith C Iturbide
Claire W Chui
Jeanfrancois P Flosi
Adams T Malet
David K Schemmer
Leon R Wieser
David O Royster
Aruna T Kusko
Silvio Z Butt
Adams R Nicka
Cody M Amigon
Darci A Iturbide
Johnson M Malet
Aruna H Stenseth
Julie V Morasca
Deepesh Q Chui
Kadeem G Malet
Darci V Dilliard
Greenwood Y Rim
Costa D Shinko
Julie K Vocelka
Aditya H Flosi
Faith S Nestle
Arvin O Bowley
Ashley W Gillian
James E Bowley
Murillo V Saylors
Adams J Poquette
Tony Z Rulapaugh
Ricardo T Stenseth
Munro Q Darakjy
Rodrigues B Waycott
Emily U Caudy
IdCountryDate
1000Canada2024-05-30
1001Australia2024-06-24
1002Spain2024-06-24
1003Germany2024-05-30
1004Japan2024-06-13
1005Germany2024-06-02
1006Russia2024-06-12
1007Italy2024-06-13
1008Spain2024-06-19
1009Russia2024-06-08
1010Germany2024-06-01
1011Spain2024-05-26
1012France2024-06-03
1013Japan2024-06-23
1014Russia2024-06-18
1015Spain2024-06-01
1016Brazil2024-06-07
1017Brazil2024-06-06
1018United Kingdom2024-06-17
1019Spain2024-06-20
1020Spain2024-06-06
1021Japan2024-06-01
1022Argentina2024-05-30
1023Germany2024-06-14
1024Australia2024-05-31
1025Brazil2024-06-12
1026Italy2024-06-09
1027Brazil2024-06-24
1028Australia2024-06-06
1029Australia2024-06-11
1030India2024-06-17
1031Germany2024-06-17
1032Australia2024-06-05
1033France2024-06-05
1034Brazil2024-06-05
1035India2024-06-18
1036Japan2024-06-13
1037Japan2024-06-04
1038India2024-06-08
1039Italy2024-06-10
1040Germany2024-06-11
1041Italy2024-06-17
1042Australia2024-06-15
1043Brazil2024-06-03
1044Japan2024-06-17
1045Canada2024-05-28
1046Canada2024-05-28
1047France2024-06-04
1048India2024-05-26
1049Russia2024-06-22

On-Demand Data

NameIdCountryDate
Arvin X Whobrey1000Russia2024-06-01
Tony R Whobrey1001Argentina2024-06-13
Julie Y Ferencz1002Australia2024-06-02
Maisha T Oldroyd1003Spain2024-06-03
Mujtaba C Dilliard1004Germany2024-06-17
Izzy C Kusko1005India2024-06-18
Kadeem P Waycott1006United Kingdom2024-06-03
Greenwood D Vocelka1007Germany2024-06-02
Greenwood H Oldroyd1008Australia2024-06-19
Francesco P Slusarski1009Spain2024-06-04
Deepesh B Garufi1010Japan2024-06-10
Cody O Malet1011Brazil2024-06-16
Isabel Q Whobrey1012Canada2024-06-09
Tony R Iturbide1013Spain2024-06-09
Kaitlin P Slusarski1014Spain2024-06-02
Tony L Rim1015Canada2024-05-29
Aruna C Malet1016Italy2024-05-28
Jefferson R Stockham1017Italy2024-06-12
Wickens V Caudy1018Germany2024-06-05
David S Inouye1019United Kingdom2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro L SchemmerCanadaAnna Fali RENEWAL
Isabel A SlusarskiFranceIoni Bowcher NEGOTIATION
Claire A OldroydRussiaStephen Shaw NEGOTIATION
Kadeem N OstroskyCanadaAnna Fali NEGOTIATION
Alejandro D PaprockiBrazilIvan Magalhaes UNQUALIFIED
Salvatore I StockhamArgentinaIoni Bowcher PROPOSAL
Francesco K PerinBrazilAmy Elsner PROPOSAL
Cody Y ButtAustraliaXuxue Feng PROPOSAL
Adams K RoysterUnited KingdomBernardo Dominic QUALIFIED
Rodrigues X WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Darci W PerinFranceXuxue Feng PROPOSAL
Nicolas R StockhamUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois Y OstroskyRussiaAnna Fali UNQUALIFIED
Darci T DilliardSpainElwin Sharvill UNQUALIFIED
Salvatore A IturbideArgentinaAnna Fali RENEWAL
Aika Y VocelkaAustraliaIoni Bowcher UNQUALIFIED
Julie N CaldareraRussiaElwin Sharvill NEW
James Z WaycottFranceIoni Bowcher PROPOSAL
Kadeem T AlbaresIndiaAsiya Javayant NEGOTIATION
Jefferson T DoeIndiaAnna Fali RENEWAL
Morrow D GillianItalyElwin Sharvill RENEWAL
Aditya K TollnerIndiaBernardo Dominic PROPOSAL
Nicolas X ChuiIndiaIoni Bowcher QUALIFIED
Francesco T GlickIndiaBernardo Dominic UNQUALIFIED
Silvio O GarufiIndiaAsiya Javayant QUALIFIED
Jones E RulapaughSpainAmy Elsner PROPOSAL
Munro S OldroydUnited KingdomOnyama Limba UNQUALIFIED
Smith A RutaSpainStephen Shaw NEGOTIATION
Greenwood K CaudyGermanyElwin Sharvill UNQUALIFIED
Stacey N RimRussiaBernardo Dominic PROPOSAL
Deepesh D DilliardGermanyAmy Elsner RENEWAL
Stacey F VenereCanadaXuxue Feng NEW
Jefferson S MaletCanadaAnna Fali PROPOSAL
Kaitlin D DarakjyRussiaOnyama Limba NEGOTIATION
Emily H OldroydArgentinaAnna Fali NEGOTIATION
Johnson E BologniaRussiaBernardo Dominic RENEWAL
Octavia Z SergiRussiaAnna Fali RENEWAL
Smith D FigeroaGermanyIvan Magalhaes QUALIFIED
Smith A VocelkaItalyAsiya Javayant NEW
Mayumi L ShinkoJapanAmy Elsner NEW

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