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
Francesco W MarrierItalyIoni Bowcher NEGOTIATION
Aika R DilliardGermanyStephen Shaw NEW
Aika M NickaAustraliaXuxue Feng QUALIFIED
David Y FigeroaItalyStephen Shaw PROPOSAL
Jefferson P StockhamFranceElwin Sharvill NEGOTIATION
Ricardo Q WieserArgentinaAsiya Javayant NEW
Claire P InouyeCanadaAmy Elsner NEW
Mujtaba S CaudyGermanyElwin Sharvill UNQUALIFIED
Morrow W AmigonSpainElwin Sharvill NEW
Morrow I PaprockiCanadaXuxue Feng NEGOTIATION
Maisha Q SlusarskiRussiaAnna Fali QUALIFIED
Adams C FollerUnited KingdomBernardo Dominic PROPOSAL
Aika K ChuiItalyAmy Elsner UNQUALIFIED
Antonio J AmigonFranceAsiya Javayant PROPOSAL
Costa F SchemmerGermanyBernardo Dominic UNQUALIFIED
Ricardo V SergiUnited KingdomXuxue Feng NEGOTIATION
Aditya J RimItalyIoni Bowcher NEW
Julie V FlosiItalyAsiya Javayant NEGOTIATION
Misaki V GillianItalyAnna Fali RENEWAL
Salvatore D ShinkoIndiaAsiya Javayant NEGOTIATION
Ivar O IturbideUnited KingdomXuxue Feng PROPOSAL
Wickens O RimJapanOnyama Limba QUALIFIED
Maria O SergiCanadaElwin Sharvill NEGOTIATION
Jones A VenereUnited KingdomIoni Bowcher NEGOTIATION
Greenwood E GauchoArgentinaStephen Shaw UNQUALIFIED
Darci J TollnerItalyAsiya Javayant RENEWAL
Adams R DilliardSpainOnyama Limba RENEWAL
Maisha U SchemmerFranceAmy Elsner PROPOSAL
Cody H BriddickAustraliaStephen Shaw NEW
Jones O SchemmerFranceBernardo Dominic NEGOTIATION
Julie T BowleyIndiaStephen Shaw UNQUALIFIED
Jennifer B GauchoSpainAnna Fali RENEWAL
Murillo H GillianIndiaAsiya Javayant PROPOSAL
David H StensethRussiaOnyama Limba QUALIFIED
Leon D AlbaresItalyAmy Elsner PROPOSAL
Leon Q GauchoUnited KingdomAmy Elsner QUALIFIED
Isabel W StensethRussiaIvan Magalhaes NEGOTIATION
Ricardo E VocelkaJapanAnna Fali QUALIFIED
Morrow V MaletUnited KingdomAmy Elsner QUALIFIED
Munro J PaprockiJapanBernardo Dominic RENEWAL
Maria R GarufiSpainBernardo Dominic UNQUALIFIED
Leja A RimCanadaStephen Shaw QUALIFIED
Greenwood U CaldareraCanadaAsiya Javayant UNQUALIFIED
Ricardo G BriddickSpainBernardo Dominic RENEWAL
Johnson L FerenczCanadaXuxue Feng NEW
Jefferson B MaletBrazilIoni Bowcher NEGOTIATION
Darci V SaylorsArgentinaIvan Magalhaes QUALIFIED
Tony G FlosiIndiaIvan Magalhaes NEW
Salvatore H SergiGermanyIoni Bowcher PROPOSAL
Clifford F BologniaBrazilAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo O OldroydFranceAsiya Javayant RENEWAL
Arvin X WhobreyArgentinaAmy Elsner NEGOTIATION
Jefferson A RimArgentinaBernardo Dominic PROPOSAL
Ashley R GarufiCanadaAmy Elsner QUALIFIED
Stacey T FigeroaRussiaOnyama Limba PROPOSAL
Rodrigues J InouyeIndiaXuxue Feng PROPOSAL
Leja S AmigonFranceBernardo Dominic RENEWAL
Julie X RutaCanadaBernardo Dominic PROPOSAL
Sinclair Z RutaIndiaIvan Magalhaes QUALIFIED
Morrow F SaylorsBrazilIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore A IturbideArgentina2024-06-15Chapman, Ross E Esq NEW4Elwin Sharvill
1001Jones T DoeJapan2024-06-11Truhlar And Truhlar Attys PROPOSAL77Ivan Magalhaes
1002Smith B OstroskySpain2024-06-17Rangoni Of Florence NEW40Amy Elsner
1003Smith X GillianSpain2024-06-23Chapman, Ross E Esq QUALIFIED66Ioni Bowcher
1004Clifford J BowleyItaly2024-06-23Buckley Miller Wright NEGOTIATION59Amy Elsner
1005Johnson R GlickBrazil2024-06-14Chemel, James L Cpa NEW16Anna Fali
1006Greenwood W NestleBrazil2024-06-11Feiner Bros RENEWAL81Amy Elsner
1007Cody P FollerCanada2024-05-31Feltz Printing Service PROPOSAL48Amy Elsner
1008Darci F DarakjyUnited Kingdom2024-06-04King, Christopher A Esq QUALIFIED39Anna Fali
1009Clifford E VocelkaRussia2024-05-31Rousseaux, Michael Esq QUALIFIED2Xuxue Feng
1010Aditya W InouyeFrance2024-06-12Feiner Bros RENEWAL30Stephen Shaw
1011Johnson F VocelkaFrance2024-06-14Chemel, James L Cpa NEW82Onyama Limba
1012Nicolas V FigeroaArgentina2024-06-01Chapman, Ross E Esq UNQUALIFIED43Elwin Sharvill
1013Johnson Z NickaIndia2024-06-11Morlong Associates NEW75Amy Elsner
1014Aruna D MaletFrance2024-06-19Commercial Press PROPOSAL35Xuxue Feng
1015Costa Z TollnerAustralia2024-06-05Morlong Associates RENEWAL82Anna Fali
1016James Q FlosiAustralia2024-06-16Chapman, Ross E Esq NEGOTIATION54Onyama Limba
1017Clifford R ChuiBrazil2024-06-04Chemel, James L Cpa QUALIFIED70Asiya Javayant
1018Antonio D OstroskyIndia2024-06-02Truhlar And Truhlar Attys UNQUALIFIED35Xuxue Feng
1019Mayumi X ChuiBrazil2024-06-16Commercial Press NEGOTIATION62Anna Fali
1020Cody W DoeItaly2024-06-16Truhlar And Truhlar Attys PROPOSAL53Asiya Javayant
1021Salvatore A AmigonFrance2024-06-08Truhlar And Truhlar Attys UNQUALIFIED88Amy Elsner
1022Izzy H ChuiAustralia2024-06-06Printing Dimensions RENEWAL0Onyama Limba
1023Costa M WhobreyBrazil2024-06-22Chanay, Jeffrey A Esq PROPOSAL69Anna Fali
1024Antonio Q FerenczSpain2024-06-23Morlong Associates PROPOSAL39Onyama Limba
1025Jones Z RulapaughIndia2024-06-08Chanay, Jeffrey A Esq QUALIFIED18Asiya Javayant
1026Juan V RutaCanada2024-05-28Dorl, James J Esq NEGOTIATION99Elwin Sharvill
1027Antonio I KolmetzJapan2024-06-14Morlong Associates QUALIFIED55Anna Fali
1028Misaki W SaylorsItaly2024-06-13Commercial Press QUALIFIED55Ivan Magalhaes
1029Sinclair V GarufiBrazil2024-06-02Rousseaux, Michael Esq RENEWAL33Onyama Limba
1030Maisha T InouyeSpain2024-06-09Printing Dimensions NEGOTIATION47Bernardo Dominic
1031Arvin M VocelkaFrance2024-05-29Dorl, James J Esq UNQUALIFIED38Xuxue Feng
1032Silvio X OstroskyBrazil2024-05-26Chapman, Ross E Esq PROPOSAL61Xuxue Feng
1033Johnson Z StensethUnited Kingdom2024-06-24Commercial Press QUALIFIED44Ivan Magalhaes
1034Wickens G FigeroaGermany2024-06-01Chemel, James L Cpa RENEWAL78Ioni Bowcher
1035Julie M KuskoJapan2024-06-15Chemel, James L Cpa NEGOTIATION75Amy Elsner
1036Leon C AmigonGermany2024-06-06Chapman, Ross E Esq UNQUALIFIED6Ioni Bowcher
1037Costa T DoeUnited Kingdom2024-06-09King, Christopher A Esq NEW75Asiya Javayant
1038Rodrigues L FollerItaly2024-06-24Feltz Printing Service RENEWAL67Ioni Bowcher
1039Francesco L CaldareraAustralia2024-06-01Chapman, Ross E Esq UNQUALIFIED28Anna Fali
1040Aruna P NestleGermany2024-06-21Morlong Associates NEW92Asiya Javayant
1041Antonio Q SlusarskiUnited Kingdom2024-05-28Truhlar And Truhlar Attys RENEWAL55Onyama Limba
1042Munro X PerinCanada2024-06-01Chapman, Ross E Esq QUALIFIED54Bernardo Dominic
1043Deepesh E RimRussia2024-05-31Buckley Miller Wright RENEWAL70Ioni Bowcher
1044Leja O PoquetteItaly2024-06-02Chapman, Ross E Esq NEW93Xuxue Feng
1045Claire K KolmetzGermany2024-05-31Feltz Printing Service NEW81Stephen Shaw
1046Leja R MaletItaly2024-06-08Dorl, James J Esq UNQUALIFIED32Ivan Magalhaes
1047Morrow U NestleAustralia2024-06-23Feltz Printing Service RENEWAL91Onyama Limba
1048Misaki V OldroydItaly2024-06-21Morlong Associates NEW5Anna Fali
1049Costa R FollerFrance2024-05-26King, Christopher A Esq RENEWAL37Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aika K GauchoUnited KingdomAnna Fali QUALIFIED
Costa G CaldareraBrazilBernardo Dominic NEGOTIATION
Octavia F VenereJapanStephen Shaw QUALIFIED
Jeanfrancois L CaudySpainAsiya Javayant UNQUALIFIED
Smith E WieserItalyIvan Magalhaes RENEWAL
Johnson F DarakjyIndiaOnyama Limba PROPOSAL
Murillo C GauchoRussiaBernardo Dominic PROPOSAL
James M OldroydBrazilXuxue Feng QUALIFIED
Murillo X AmigonIndiaIvan Magalhaes QUALIFIED
Mujtaba C PerinCanadaElwin Sharvill PROPOSAL
Leon S BowleyBrazilAsiya Javayant NEW
James Y FlosiIndiaAnna Fali UNQUALIFIED
Aika R WaycottAustraliaXuxue Feng RENEWAL
Ricardo S IturbideItalyBernardo Dominic NEW
Ricardo Z StensethRussiaIvan Magalhaes UNQUALIFIED
Greenwood P WieserSpainOnyama Limba NEGOTIATION
Alejandro Y CampainAustraliaStephen Shaw QUALIFIED
Octavia F VenereIndiaAmy Elsner NEW
Alejandro Q CampainUnited KingdomAmy Elsner QUALIFIED
Sinclair V ChuiGermanyXuxue Feng NEW
Ricardo G FollerFranceOnyama Limba PROPOSAL
Rodrigues Q ShinkoGermanyAmy Elsner PROPOSAL
Cody R VenereUnited KingdomStephen Shaw RENEWAL
Jefferson X CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Juan E FlosiBrazilOnyama Limba PROPOSAL
Leja C SaylorsArgentinaIvan Magalhaes NEW
Costa R SlusarskiGermanyStephen Shaw UNQUALIFIED
Alejandro O KuskoFranceOnyama Limba PROPOSAL
Adams D RulapaughRussiaAmy Elsner QUALIFIED
Smith M MorascaBrazilStephen Shaw NEW
Ivar U CampainItalyIvan Magalhaes UNQUALIFIED
Deepesh S WhobreyRussiaIoni Bowcher QUALIFIED
Silvio G PerinCanadaIoni Bowcher RENEWAL
Isabel A NickaGermanyAmy Elsner UNQUALIFIED
Morrow O MaletIndiaAsiya Javayant NEGOTIATION
Isabel U CampainAustraliaAsiya Javayant RENEWAL
Aruna Q PaprockiItalyIvan Magalhaes PROPOSAL
Kaitlin X StockhamSpainElwin Sharvill NEGOTIATION
Jefferson F VocelkaCanadaBernardo Dominic QUALIFIED
Misaki K WhobreyUnited KingdomStephen Shaw RENEWAL
Mujtaba J ChuiFranceXuxue Feng RENEWAL
Ashley N MaletUnited KingdomStephen Shaw RENEWAL
Silvio L DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Antonio C FollerCanadaIvan Magalhaes PROPOSAL
Jeanfrancois J CampainCanadaIoni Bowcher NEW
Izzy K SergiJapanOnyama Limba QUALIFIED
Misaki N CaldareraJapanStephen Shaw PROPOSAL
Smith K CaldareraRussiaXuxue Feng QUALIFIED
Kaitlin T PoquetteAustraliaStephen Shaw PROPOSAL
Alejandro E PerinBrazilElwin Sharvill RENEWAL
Frozen Columns
Name
Johnson D Ferencz
Maria H Nestle
Jennifer B Marrier
Leja Z Schemmer
Jefferson U Glick
David Y Nicka
Ashley Y Maclead
Francesco V Royster
Costa F Chui
Nicolas N Kusko
Ivar X Campain
Munro V Royster
Jefferson P Perin
Ashley W Ruta
Ashley A Vocelka
Jennifer M Stockham
Darci O Stenseth
Sinclair T Rim
Darci Z Poquette
Arvin O Butt
Juan Y Malet
Stacey P Maclead
Jones D Waycott
Nicolas S Caudy
Murillo I Ostrosky
Faith I Bolognia
Murillo I Tollner
Juan J Inouye
Maria Q Caudy
Silvio Q Vocelka
Smith D Royster
Maisha N Maclead
Ricardo X Waycott
Emily Z Waycott
Costa R Royster
Clifford B Caudy
Tony B Poquette
Aditya N Royster
Faith V Venere
Leja U Waycott
Leon E Venere
Leon Z Briddick
Wickens R Kolmetz
Aruna Z Vocelka
Antonio B Dilliard
David W Morasca
Salvatore P Sergi
Mujtaba X Marrier
Jeanfrancois N Saylors
Faith V Poquette
IdCountryDate
1000Brazil2024-06-14
1001France2024-05-26
1002Japan2024-06-18
1003Spain2024-06-03
1004Canada2024-06-11
1005France2024-06-04
1006Italy2024-06-10
1007Italy2024-06-04
1008Brazil2024-06-07
1009India2024-06-02
1010Canada2024-06-21
1011India2024-05-27
1012Japan2024-06-15
1013Russia2024-05-31
1014Germany2024-06-06
1015Argentina2024-05-29
1016Australia2024-06-01
1017Spain2024-06-04
1018France2024-06-03
1019Australia2024-06-02
1020Russia2024-06-18
1021Australia2024-06-15
1022Spain2024-06-05
1023Japan2024-06-05
1024Brazil2024-05-29
1025Russia2024-06-05
1026Russia2024-06-11
1027Argentina2024-06-17
1028United Kingdom2024-06-23
1029Italy2024-06-23
1030United Kingdom2024-05-31
1031Russia2024-06-10
1032France2024-06-20
1033India2024-05-27
1034Argentina2024-05-31
1035Argentina2024-06-05
1036United Kingdom2024-05-31
1037Japan2024-06-14
1038Argentina2024-06-10
1039Germany2024-06-22
1040India2024-06-16
1041Germany2024-05-31
1042United Kingdom2024-06-20
1043Argentina2024-05-31
1044United Kingdom2024-06-14
1045Russia2024-05-27
1046Russia2024-06-07
1047Germany2024-05-26
1048Australia2024-06-21
1049Brazil2024-06-19

On-Demand Data

NameIdCountryDate
Costa T Rim1000Canada2024-06-12
Octavia J Stenseth1001Canada2024-06-07
Ivar N Inouye1002India2024-06-15
Aika R Wieser1003Italy2024-06-17
David S Ruta1004United Kingdom2024-06-18
Costa R Waycott1005Italy2024-06-23
Mayumi Q Darakjy1006Australia2024-06-20
Greenwood J Rulapaugh1007Italy2024-06-02
Sinclair P Stenseth1008Germany2024-06-03
Chavez Y Poquette1009Brazil2024-06-13
Chavez C Poquette1010Russia2024-05-27
Mayumi O Butt1011Germany2024-06-02
Aditya T Campain1012Argentina2024-06-15
Leon M Stockham1013Brazil2024-06-06
Chavez O Flosi1014France2024-06-14
Johnson K Wieser1015Japan2024-06-15
Isabel Q Inouye1016Canada2024-06-18
Wickens K Malet1017India2024-06-04
Jeanfrancois S Malet1018United Kingdom2024-06-24
Juan M Bolognia1019Japan2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna C SergiBrazilElwin Sharvill NEW
Clifford A DarakjyBrazilAsiya Javayant RENEWAL
Izzy R CampainAustraliaXuxue Feng NEGOTIATION
Misaki H FigeroaUnited KingdomElwin Sharvill PROPOSAL
Deepesh U WieserGermanyAmy Elsner RENEWAL
Francesco R InouyeUnited KingdomOnyama Limba NEW
Ashley R StockhamArgentinaElwin Sharvill RENEWAL
Sinclair J FlosiCanadaIoni Bowcher RENEWAL
Kaitlin L VenereCanadaStephen Shaw UNQUALIFIED
Isabel R AmigonUnited KingdomIvan Magalhaes QUALIFIED
Jefferson M KolmetzFranceAmy Elsner NEGOTIATION
Alejandro G WieserRussiaBernardo Dominic NEGOTIATION
Rodrigues Y NestleJapanOnyama Limba RENEWAL
David Z WieserBrazilAmy Elsner NEW
Juan L NickaJapanIoni Bowcher UNQUALIFIED
Mujtaba I PaprockiCanadaXuxue Feng PROPOSAL
Deepesh Y DarakjyCanadaStephen Shaw QUALIFIED
Aika B StockhamBrazilBernardo Dominic NEGOTIATION
Deepesh O MarrierFranceAnna Fali QUALIFIED
Claire N KuskoCanadaXuxue Feng PROPOSAL
Jeanfrancois U FollerJapanElwin Sharvill PROPOSAL
Tony V FigeroaFranceElwin Sharvill UNQUALIFIED
Rodrigues E RutaArgentinaElwin Sharvill NEW
Ashley B BowleyBrazilBernardo Dominic QUALIFIED
Aruna L SchemmerUnited KingdomStephen Shaw PROPOSAL
Ricardo S OldroydAustraliaOnyama Limba PROPOSAL
Isabel B BologniaRussiaBernardo Dominic PROPOSAL
Clifford U GlickIndiaAsiya Javayant UNQUALIFIED
Arvin A AmigonGermanyOnyama Limba RENEWAL
Johnson N FollerGermanyIoni Bowcher UNQUALIFIED
Cody N PoquetteRussiaOnyama Limba NEGOTIATION
Ashley D PoquetteUnited KingdomAnna Fali NEGOTIATION
Munro M DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues J OldroydSpainIoni Bowcher UNQUALIFIED
Silvio E MacleadRussiaXuxue Feng RENEWAL
Jeanfrancois I OstroskyItalyStephen Shaw NEW
Isabel H MacleadJapanIoni Bowcher QUALIFIED
Leon M FlosiFranceOnyama Limba NEW
David L NickaAustraliaOnyama Limba QUALIFIED
Costa Z KuskoCanadaStephen Shaw NEGOTIATION

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