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
Aditya R StockhamIndiaElwin Sharvill UNQUALIFIED
Johnson P GlickBrazilIvan Magalhaes RENEWAL
Claire Q RoysterRussiaAnna Fali PROPOSAL
Munro A FigeroaFranceIvan Magalhaes PROPOSAL
Misaki F VocelkaItalyElwin Sharvill UNQUALIFIED
Juan Q AmigonUnited KingdomElwin Sharvill QUALIFIED
Juan Z InouyeUnited KingdomAnna Fali UNQUALIFIED
Ashley C OstroskyArgentinaBernardo Dominic RENEWAL
Tony Y AlbaresAustraliaIoni Bowcher RENEWAL
Leja P MacleadRussiaStephen Shaw PROPOSAL
Jones K ButtAustraliaAsiya Javayant QUALIFIED
Arvin Q KuskoJapanElwin Sharvill RENEWAL
Ivar W WaycottUnited KingdomAmy Elsner NEW
Costa N FlosiJapanIoni Bowcher QUALIFIED
Rodrigues F TollnerUnited KingdomBernardo Dominic RENEWAL
Maria X KolmetzIndiaElwin Sharvill UNQUALIFIED
Arvin V BologniaFranceElwin Sharvill RENEWAL
Sinclair C CampainItalyAmy Elsner UNQUALIFIED
Clifford K SchemmerFranceIoni Bowcher QUALIFIED
Morrow J RulapaughFranceBernardo Dominic RENEWAL
Antonio M DarakjySpainIvan Magalhaes RENEWAL
Silvio X BriddickIndiaAnna Fali NEW
Juan Z PaprockiFranceAsiya Javayant NEGOTIATION
Ivar N MaletIndiaAnna Fali NEW
Wickens F NickaIndiaStephen Shaw PROPOSAL
Julie H ShinkoRussiaBernardo Dominic RENEWAL
Sinclair H SaylorsUnited KingdomStephen Shaw NEGOTIATION
Jennifer G VenereBrazilAmy Elsner UNQUALIFIED
Murillo S GauchoSpainXuxue Feng QUALIFIED
Maisha X ShinkoItalyXuxue Feng RENEWAL
Sinclair D OldroydIndiaIoni Bowcher RENEWAL
Wickens N ShinkoAustraliaOnyama Limba QUALIFIED
Jennifer J RimArgentinaIoni Bowcher NEGOTIATION
Murillo N PerinSpainXuxue Feng NEGOTIATION
James O GillianBrazilAmy Elsner PROPOSAL
Julie T SaylorsAustraliaStephen Shaw NEW
Arvin A AlbaresIndiaOnyama Limba NEGOTIATION
Adams D CaldareraIndiaIvan Magalhaes RENEWAL
Morrow N ShinkoItalyXuxue Feng NEGOTIATION
Alejandro H ShinkoItalyOnyama Limba NEGOTIATION
Alejandro X ShinkoIndiaOnyama Limba NEW
Arvin W StensethItalyStephen Shaw NEW
Johnson L StockhamCanadaAsiya Javayant NEW
David H CaudyAustraliaAmy Elsner QUALIFIED
Aditya E NickaArgentinaAsiya Javayant RENEWAL
Aika W RutaJapanStephen Shaw RENEWAL
Costa A RulapaughArgentinaIoni Bowcher QUALIFIED
Isabel O CaudySpainElwin Sharvill UNQUALIFIED
Murillo X FerenczAustraliaElwin Sharvill NEW
Mujtaba V DoeGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan J MacleadRussiaAnna Fali NEW
Isabel C MarrierArgentinaIoni Bowcher RENEWAL
Maisha L CampainCanadaAnna Fali NEGOTIATION
Johnson Z KuskoArgentinaStephen Shaw NEGOTIATION
Faith D FlosiGermanyAsiya Javayant PROPOSAL
Wickens L GauchoGermanyIvan Magalhaes UNQUALIFIED
Silvio Q WieserIndiaAsiya Javayant UNQUALIFIED
Silvio Y ChuiItalyXuxue Feng PROPOSAL
Emily B OldroydCanadaAnna Fali QUALIFIED
Mujtaba L BologniaFranceIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Y BowleyIndia2024-06-15Buckley Miller Wright PROPOSAL63Elwin Sharvill
1001Costa E SergiFrance2024-06-21Printing Dimensions NEW49Ivan Magalhaes
1002Rodrigues Z DilliardRussia2024-06-02Benton, John B Jr PROPOSAL36Ivan Magalhaes
1003Jones C RulapaughJapan2024-06-11Feltz Printing Service NEW62Xuxue Feng
1004James J CaldareraRussia2024-06-01Feiner Bros UNQUALIFIED58Ioni Bowcher
1005Adams U MacleadSpain2024-06-09Benton, John B Jr QUALIFIED18Stephen Shaw
1006Misaki O AmigonFrance2024-06-06Chanay, Jeffrey A Esq NEGOTIATION25Ioni Bowcher
1007Darci E SergiRussia2024-06-17Buckley Miller Wright PROPOSAL4Amy Elsner
1008Adams B MacleadSpain2024-06-20Dorl, James J Esq NEW7Onyama Limba
1009Octavia F AmigonIndia2024-06-20Printing Dimensions QUALIFIED47Stephen Shaw
1010Antonio J OldroydJapan2024-06-17Truhlar And Truhlar Attys PROPOSAL48Onyama Limba
1011James H MaletJapan2024-05-30Feiner Bros PROPOSAL14Ivan Magalhaes
1012Mujtaba K RulapaughSpain2024-06-22Buckley Miller Wright UNQUALIFIED27Onyama Limba
1013Rodrigues C DilliardAustralia2024-06-22Benton, John B Jr PROPOSAL10Bernardo Dominic
1014Mujtaba U MaletSpain2024-06-17Commercial Press RENEWAL82Elwin Sharvill
1015Aditya T RutaFrance2024-06-18Commercial Press RENEWAL24Bernardo Dominic
1016Julie L TollnerFrance2024-05-26Chemel, James L Cpa NEW5Ioni Bowcher
1017Julie Z OstroskyItaly2024-06-17King, Christopher A Esq UNQUALIFIED86Bernardo Dominic
1018Kadeem F FerenczAustralia2024-06-09Feltz Printing Service QUALIFIED2Stephen Shaw
1019Isabel E PaprockiRussia2024-06-01Feiner Bros UNQUALIFIED50Ivan Magalhaes
1020Deepesh K FigeroaRussia2024-06-15Feltz Printing Service NEGOTIATION74Stephen Shaw
1021Aruna F ChuiRussia2024-06-06Benton, John B Jr PROPOSAL67Bernardo Dominic
1022Tony N DilliardUnited Kingdom2024-06-19Feiner Bros NEW22Elwin Sharvill
1023Misaki R SlusarskiItaly2024-05-26Morlong Associates RENEWAL34Elwin Sharvill
1024Morrow H SaylorsJapan2024-06-02Morlong Associates NEGOTIATION70Ivan Magalhaes
1025Leon Q RulapaughIndia2024-06-03Printing Dimensions NEGOTIATION41Ioni Bowcher
1026James D DilliardIndia2024-06-14Benton, John B Jr QUALIFIED48Amy Elsner
1027Arvin T CaudyAustralia2024-06-10Rangoni Of Florence RENEWAL42Xuxue Feng
1028Misaki C FlosiJapan2024-06-06Feiner Bros QUALIFIED75Asiya Javayant
1029Mayumi T KuskoItaly2024-06-15Morlong Associates QUALIFIED78Ioni Bowcher
1030Johnson R StockhamSpain2024-06-03Benton, John B Jr NEGOTIATION54Elwin Sharvill
1031Munro R PoquetteAustralia2024-06-09Buckley Miller Wright RENEWAL50Ivan Magalhaes
1032Deepesh C RoysterSpain2024-06-08Rangoni Of Florence PROPOSAL96Bernardo Dominic
1033Sinclair Y SlusarskiRussia2024-06-19Morlong Associates QUALIFIED64Anna Fali
1034Mujtaba F DilliardCanada2024-05-29King, Christopher A Esq QUALIFIED47Asiya Javayant
1035Clifford A BriddickIndia2024-06-17Truhlar And Truhlar Attys QUALIFIED39Onyama Limba
1036Aruna Z SaylorsIndia2024-06-12Feltz Printing Service NEW64Anna Fali
1037Alejandro A OstroskyFrance2024-06-04Dorl, James J Esq NEW77Stephen Shaw
1038Aika B CaldareraRussia2024-05-26Dorl, James J Esq UNQUALIFIED47Ivan Magalhaes
1039Claire E TollnerCanada2024-06-08Buckley Miller Wright RENEWAL21Onyama Limba
1040Faith C AmigonRussia2024-06-13Morlong Associates NEW52Bernardo Dominic
1041Deepesh X PaprockiGermany2024-06-23Buckley Miller Wright UNQUALIFIED97Onyama Limba
1042Isabel G MorascaJapan2024-05-27Feiner Bros NEW55Bernardo Dominic
1043Julie R GlickSpain2024-06-22King, Christopher A Esq NEW36Anna Fali
1044Adams H PerinCanada2024-06-21Commercial Press RENEWAL12Amy Elsner
1045Aika I GlickIndia2024-05-28King, Christopher A Esq QUALIFIED45Ivan Magalhaes
1046Morrow Z WaycottUnited Kingdom2024-06-03Rangoni Of Florence NEW9Amy Elsner
1047Jennifer O PoquetteFrance2024-06-13Chapman, Ross E Esq UNQUALIFIED92Ivan Magalhaes
1048Chavez M SaylorsGermany2024-06-19Feiner Bros RENEWAL1Anna Fali
1049Ashley Q MorascaCanada2024-06-06Morlong Associates QUALIFIED15Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aditya Z SchemmerUnited KingdomAsiya Javayant RENEWAL
Aditya S NickaIndiaXuxue Feng NEW
Arvin A MorascaArgentinaIvan Magalhaes NEW
Aditya V AlbaresIndiaStephen Shaw PROPOSAL
James J StockhamArgentinaIvan Magalhaes RENEWAL
Mujtaba T DarakjyIndiaStephen Shaw PROPOSAL
Kadeem Y SaylorsCanadaIvan Magalhaes UNQUALIFIED
Stacey B RulapaughIndiaOnyama Limba QUALIFIED
Faith Q InouyeItalyElwin Sharvill PROPOSAL
Wickens Q SaylorsJapanBernardo Dominic NEGOTIATION
Leon J NestleCanadaElwin Sharvill QUALIFIED
Ashley J NestleItalyAnna Fali PROPOSAL
Maria X DilliardAustraliaAnna Fali UNQUALIFIED
Smith B VocelkaRussiaIvan Magalhaes RENEWAL
Ricardo E StockhamCanadaElwin Sharvill NEGOTIATION
Wickens T PerinCanadaIvan Magalhaes UNQUALIFIED
David N GarufiFranceBernardo Dominic PROPOSAL
Rodrigues L MaletSpainXuxue Feng QUALIFIED
Leon D MaletUnited KingdomOnyama Limba NEGOTIATION
Francesco U FlosiCanadaAnna Fali RENEWAL
Izzy R BriddickFranceAnna Fali QUALIFIED
Misaki Q PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Jennifer W OstroskyAustraliaAnna Fali RENEWAL
Adams D GarufiGermanyOnyama Limba NEW
Sinclair I CampainJapanOnyama Limba UNQUALIFIED
Costa U CaldareraItalyElwin Sharvill UNQUALIFIED
Isabel Q MarrierFranceXuxue Feng UNQUALIFIED
Juan Q SergiItalyStephen Shaw QUALIFIED
Maria D OstroskyJapanAnna Fali UNQUALIFIED
Adams K VocelkaRussiaOnyama Limba RENEWAL
Adams J FigeroaJapanStephen Shaw RENEWAL
Smith W StockhamRussiaXuxue Feng RENEWAL
Arvin K GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Juan X GauchoFranceIvan Magalhaes UNQUALIFIED
Jennifer Q DilliardIndiaAnna Fali PROPOSAL
Arvin J SergiRussiaIoni Bowcher PROPOSAL
Silvio S OldroydCanadaAnna Fali PROPOSAL
Misaki X RimSpainIvan Magalhaes NEW
Francesco A FollerRussiaElwin Sharvill QUALIFIED
Kaitlin I MacleadSpainBernardo Dominic QUALIFIED
James G MorascaGermanyIoni Bowcher NEGOTIATION
Smith X DarakjyArgentinaIoni Bowcher NEGOTIATION
Costa M GauchoUnited KingdomIoni Bowcher PROPOSAL
Francesco R FollerAustraliaStephen Shaw PROPOSAL
Alejandro K DilliardCanadaIvan Magalhaes UNQUALIFIED
Greenwood V SergiAustraliaOnyama Limba UNQUALIFIED
Arvin H PerinRussiaXuxue Feng UNQUALIFIED
Aditya J RulapaughRussiaBernardo Dominic UNQUALIFIED
Mujtaba A GauchoIndiaAmy Elsner PROPOSAL
Misaki X FerenczGermanyStephen Shaw PROPOSAL
Frozen Columns
Name
Julie G Vocelka
Misaki D Schemmer
Mayumi L Inouye
Cody T Royster
Salvatore J Stockham
Aditya S Poquette
Jones P Poquette
Alejandro L Bolognia
Izzy T Perin
Isabel Q Ostrosky
Nicolas D Marrier
Antonio N Caudy
Arvin A Bowley
Munro T Ferencz
Johnson Z Amigon
Julie Y Slusarski
Arvin T Gaucho
Kaitlin V Gillian
Arvin N Nicka
Nicolas A Paprocki
Munro B Oldroyd
Ivar J Darakjy
Smith A Doe
Maisha W Morasca
Kadeem D Marrier
Greenwood X Venere
Johnson V Sergi
James J Ruta
David Z Kusko
Ricardo D Wieser
Kaitlin V Whobrey
Aruna L Glick
Faith G Butt
Salvatore X Dilliard
Octavia T Poquette
Morrow A Ruta
Deepesh X Morasca
Tony J Venere
Johnson X Schemmer
Morrow A Campain
Tony F Flosi
Greenwood N Vocelka
Johnson S Ferencz
Mayumi M Oldroyd
Alejandro E Stenseth
Faith G Gillian
Costa L Bolognia
Mayumi G Briddick
Costa G Vocelka
Jeanfrancois L Ferencz
IdCountryDate
1000United Kingdom2024-06-10
1001Germany2024-06-01
1002Russia2024-06-02
1003Argentina2024-06-07
1004Argentina2024-06-15
1005Australia2024-05-29
1006Canada2024-06-18
1007Russia2024-06-09
1008Brazil2024-06-22
1009France2024-06-10
1010Canada2024-06-18
1011Spain2024-05-27
1012France2024-06-23
1013Australia2024-06-06
1014Japan2024-06-15
1015Japan2024-06-19
1016Germany2024-06-22
1017Russia2024-06-18
1018Spain2024-06-23
1019Japan2024-06-21
1020Brazil2024-05-27
1021Italy2024-06-05
1022India2024-06-12
1023Russia2024-06-15
1024Japan2024-06-19
1025Australia2024-06-16
1026Germany2024-06-10
1027Germany2024-06-18
1028United Kingdom2024-06-14
1029Argentina2024-06-12
1030India2024-06-14
1031India2024-06-03
1032Argentina2024-06-14
1033Australia2024-06-18
1034Japan2024-06-14
1035Canada2024-06-09
1036India2024-06-15
1037Argentina2024-06-02
1038Germany2024-06-01
1039Italy2024-05-27
1040Argentina2024-05-29
1041Brazil2024-05-31
1042Russia2024-06-02
1043France2024-06-02
1044Japan2024-05-28
1045Brazil2024-06-13
1046United Kingdom2024-05-28
1047Russia2024-05-27
1048Russia2024-06-19
1049France2024-06-23

On-Demand Data

NameIdCountryDate
Murillo K Butt1000Spain2024-06-03
Johnson E Shinko1001Argentina2024-06-16
David L Venere1002Australia2024-06-20
Nicolas L Malet1003Russia2024-05-28
Chavez B Sergi1004France2024-05-27
Leon F Bolognia1005India2024-05-31
Mayumi V Malet1006Australia2024-06-02
Juan R Venere1007France2024-05-28
Johnson N Campain1008Italy2024-06-09
Kaitlin J Shinko1009Brazil2024-06-20
Ivar Q Oldroyd1010Italy2024-06-22
Cody P Figeroa1011Japan2024-05-27
Mayumi H Tollner1012India2024-06-20
Maria K Amigon1013Japan2024-06-16
Mujtaba A Sergi1014Canada2024-06-15
Tony V Kusko1015Germany2024-06-01
Misaki H Marrier1016Japan2024-06-16
Juan Z Flosi1017Japan2024-06-03
Deepesh S Paprocki1018Argentina2024-06-12
Costa S Royster1019Argentina2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily H CampainSpainAnna Fali NEGOTIATION
Aika O KuskoIndiaOnyama Limba QUALIFIED
Ashley K GauchoAustraliaIvan Magalhaes PROPOSAL
Salvatore A StockhamRussiaAsiya Javayant RENEWAL
Alejandro A FollerCanadaStephen Shaw PROPOSAL
Jeanfrancois J IturbideFranceIoni Bowcher RENEWAL
Ivar K OstroskySpainXuxue Feng UNQUALIFIED
Faith U BriddickArgentinaAsiya Javayant NEW
Maisha Z AmigonArgentinaAnna Fali NEGOTIATION
Kadeem E StensethBrazilOnyama Limba PROPOSAL
Stacey S GillianGermanyAmy Elsner RENEWAL
Jennifer Y OldroydBrazilIvan Magalhaes QUALIFIED
Jeanfrancois S MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas C DarakjyBrazilAnna Fali NEW
Darci V ButtBrazilAnna Fali UNQUALIFIED
Smith R CaudyGermanyIoni Bowcher PROPOSAL
Aruna Z VocelkaAustraliaBernardo Dominic UNQUALIFIED
Cody B WaycottAustraliaAsiya Javayant NEW
Rodrigues P StockhamRussiaStephen Shaw PROPOSAL
Adams P StockhamBrazilAmy Elsner RENEWAL
Mayumi N SergiUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin S SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Salvatore A OstroskyBrazilBernardo Dominic QUALIFIED
Silvio Z ChuiItalyXuxue Feng NEGOTIATION
Jones B SchemmerSpainBernardo Dominic RENEWAL
Antonio M RulapaughUnited KingdomOnyama Limba NEW
Murillo X AmigonIndiaAnna Fali PROPOSAL
Aika S DilliardSpainBernardo Dominic NEGOTIATION
Arvin P OldroydSpainElwin Sharvill PROPOSAL
Cody M SaylorsFranceIoni Bowcher UNQUALIFIED
Arvin Q GlickFranceAmy Elsner UNQUALIFIED
Silvio N AlbaresAustraliaStephen Shaw QUALIFIED
Maria P AlbaresFranceXuxue Feng RENEWAL
Jefferson Q IturbideGermanyBernardo Dominic NEGOTIATION
Silvio J WieserGermanyXuxue Feng RENEWAL
Ricardo V ButtFranceIvan Magalhaes RENEWAL
Ivar Y PerinGermanyBernardo Dominic PROPOSAL
Sinclair C CampainBrazilIvan Magalhaes QUALIFIED
Arvin H OldroydItalyAmy Elsner UNQUALIFIED
Jeanfrancois M SaylorsArgentinaIoni Bowcher 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>