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
Juan O GauchoSpainAnna Fali QUALIFIED
Jeanfrancois C OstroskyItalyAsiya Javayant PROPOSAL
Ivar H PaprockiArgentinaIoni Bowcher NEW
Ashley N BowleyFranceStephen Shaw PROPOSAL
Leja G StensethUnited KingdomIoni Bowcher NEW
Alejandro P DilliardUnited KingdomAnna Fali NEW
Leja Z InouyeItalyIvan Magalhaes PROPOSAL
Leon W NickaArgentinaBernardo Dominic UNQUALIFIED
Darci G RimFranceAsiya Javayant UNQUALIFIED
Chavez K FigeroaItalyAsiya Javayant PROPOSAL
Jefferson W IturbideArgentinaAsiya Javayant NEW
David J MaletIndiaIoni Bowcher QUALIFIED
Chavez R WieserSpainAsiya Javayant NEGOTIATION
Cody L CaudyGermanyIvan Magalhaes NEGOTIATION
Deepesh V FigeroaIndiaAsiya Javayant UNQUALIFIED
Aika L BriddickUnited KingdomOnyama Limba NEGOTIATION
Emily P WhobreyCanadaOnyama Limba RENEWAL
Mujtaba J SergiUnited KingdomXuxue Feng NEGOTIATION
Mujtaba I RulapaughIndiaStephen Shaw PROPOSAL
Tony E RulapaughArgentinaXuxue Feng NEW
Francesco Z RulapaughJapanIvan Magalhaes PROPOSAL
Nicolas H DilliardFranceStephen Shaw QUALIFIED
Silvio V MaletSpainIoni Bowcher RENEWAL
Cody W ChuiIndiaIoni Bowcher QUALIFIED
Greenwood J WhobreyItalyBernardo Dominic NEW
Aika P NestleBrazilAnna Fali UNQUALIFIED
Stacey P GlickGermanyAnna Fali PROPOSAL
Jennifer W NestleCanadaXuxue Feng NEW
Ashley G GlickBrazilXuxue Feng PROPOSAL
Rodrigues X CaldareraItalyBernardo Dominic NEGOTIATION
Tony D MaletArgentinaXuxue Feng QUALIFIED
Morrow D SaylorsFranceIvan Magalhaes QUALIFIED
Misaki D CaudyItalyXuxue Feng RENEWAL
Smith R FlosiSpainAmy Elsner UNQUALIFIED
Juan W MorascaJapanStephen Shaw NEGOTIATION
Jennifer V AmigonCanadaOnyama Limba UNQUALIFIED
David Q GillianIndiaBernardo Dominic NEGOTIATION
Kadeem Y ChuiFranceAmy Elsner QUALIFIED
Tony W MaletCanadaIvan Magalhaes NEW
Silvio N RoysterIndiaIvan Magalhaes NEW
Tony E SlusarskiItalyStephen Shaw RENEWAL
Smith L BologniaBrazilOnyama Limba RENEWAL
Clifford N ButtAustraliaElwin Sharvill PROPOSAL
Johnson X PoquetteItalyOnyama Limba UNQUALIFIED
Julie S AmigonCanadaXuxue Feng RENEWAL
Munro R BriddickSpainStephen Shaw PROPOSAL
Alejandro G AmigonRussiaAmy Elsner NEGOTIATION
Nicolas M WieserFranceXuxue Feng NEW
Darci S StockhamAustraliaAsiya Javayant PROPOSAL
Tony Y PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody O RoysterSpainOnyama Limba UNQUALIFIED
Sinclair V PerinFranceAmy Elsner PROPOSAL
Greenwood V GarufiFranceAnna Fali UNQUALIFIED
Arvin I PoquetteRussiaAsiya Javayant QUALIFIED
Aika O CaudyIndiaElwin Sharvill RENEWAL
Antonio M NestleGermanyIvan Magalhaes UNQUALIFIED
Deepesh O VocelkaArgentinaXuxue Feng QUALIFIED
Juan D FerenczGermanyXuxue Feng UNQUALIFIED
Claire E SlusarskiCanadaBernardo Dominic UNQUALIFIED
Octavia M MaletUnited KingdomAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson F DilliardRussia2024-06-13Rangoni Of Florence RENEWAL1Asiya Javayant
1001Darci A OldroydGermany2024-06-03Benton, John B Jr UNQUALIFIED28Asiya Javayant
1002James R MacleadRussia2024-06-13Morlong Associates PROPOSAL55Bernardo Dominic
1003Jeanfrancois C CaudyIndia2024-05-28Rangoni Of Florence QUALIFIED38Stephen Shaw
1004Deepesh I StockhamItaly2024-06-08Morlong Associates NEW9Asiya Javayant
1005Emily X FigeroaIndia2024-06-16Rousseaux, Michael Esq UNQUALIFIED61Bernardo Dominic
1006Kadeem V WieserBrazil2024-06-06Truhlar And Truhlar Attys NEGOTIATION60Xuxue Feng
1007Silvio M GillianBrazil2024-05-29Feiner Bros RENEWAL49Ioni Bowcher
1008Aika U WaycottBrazil2024-06-14Printing Dimensions PROPOSAL60Asiya Javayant
1009Nicolas K SchemmerGermany2024-06-09Chanay, Jeffrey A Esq RENEWAL7Asiya Javayant
1010Ricardo A RutaItaly2024-06-03Chapman, Ross E Esq RENEWAL66Elwin Sharvill
1011Faith J ButtAustralia2024-06-02Rangoni Of Florence RENEWAL7Asiya Javayant
1012Leon G CaldareraUnited Kingdom2024-06-19Chemel, James L Cpa NEW86Ivan Magalhaes
1013Chavez N TollnerBrazil2024-06-08King, Christopher A Esq QUALIFIED53Onyama Limba
1014Darci O InouyeRussia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED85Bernardo Dominic
1015Clifford Q RimAustralia2024-06-20Chemel, James L Cpa NEW53Xuxue Feng
1016Cody B AmigonBrazil2024-06-15Chemel, James L Cpa NEGOTIATION86Stephen Shaw
1017Munro M RoysterRussia2024-06-05Truhlar And Truhlar Attys QUALIFIED20Bernardo Dominic
1018David M ChuiCanada2024-06-20Dorl, James J Esq NEW55Anna Fali
1019Mayumi S ChuiItaly2024-06-09Morlong Associates UNQUALIFIED95Elwin Sharvill
1020Claire T IturbideItaly2024-06-06Rousseaux, Michael Esq UNQUALIFIED1Elwin Sharvill
1021Sinclair U CaldareraJapan2024-05-30Chanay, Jeffrey A Esq PROPOSAL65Ioni Bowcher
1022Aruna R SlusarskiFrance2024-06-07Morlong Associates QUALIFIED27Ivan Magalhaes
1023Aika K ChuiSpain2024-06-03Commercial Press NEW96Onyama Limba
1024Cody M SaylorsAustralia2024-05-24Chapman, Ross E Esq NEW1Elwin Sharvill
1025Salvatore W StensethItaly2024-06-03Buckley Miller Wright PROPOSAL56Asiya Javayant
1026Aditya E MaletSpain2024-05-27Benton, John B Jr QUALIFIED56Xuxue Feng
1027Aditya H DoeFrance2024-06-22Benton, John B Jr UNQUALIFIED65Onyama Limba
1028Alejandro D GarufiFrance2024-06-02Commercial Press NEW14Anna Fali
1029Darci J BologniaArgentina2024-06-11Chemel, James L Cpa UNQUALIFIED72Asiya Javayant
1030Aika W FigeroaUnited Kingdom2024-05-31Chanay, Jeffrey A Esq QUALIFIED42Xuxue Feng
1031Ricardo D KolmetzIndia2024-06-02Printing Dimensions NEW39Anna Fali
1032Francesco L BriddickBrazil2024-05-25Benton, John B Jr NEGOTIATION10Onyama Limba
1033Faith N RoysterGermany2024-06-22Chemel, James L Cpa UNQUALIFIED80Asiya Javayant
1034Stacey K StensethArgentina2024-06-10Chanay, Jeffrey A Esq PROPOSAL48Bernardo Dominic
1035Arvin A SergiItaly2024-06-13Buckley Miller Wright PROPOSAL81Ioni Bowcher
1036Jennifer C FlosiIndia2024-06-01Rangoni Of Florence UNQUALIFIED53Xuxue Feng
1037Alejandro P AmigonBrazil2024-06-18Chapman, Ross E Esq NEW6Stephen Shaw
1038Leja V FerenczIndia2024-06-01Dorl, James J Esq PROPOSAL23Ivan Magalhaes
1039Kadeem Y RulapaughBrazil2024-06-02Truhlar And Truhlar Attys QUALIFIED63Bernardo Dominic
1040Jones X CaldareraBrazil2024-06-02Commercial Press NEW17Asiya Javayant
1041Antonio P ShinkoUnited Kingdom2024-06-13Chanay, Jeffrey A Esq QUALIFIED15Anna Fali
1042Claire E MaletItaly2024-06-14Chemel, James L Cpa NEW66Xuxue Feng
1043Kaitlin F PaprockiRussia2024-05-30Buckley Miller Wright NEW67Ivan Magalhaes
1044Juan O StockhamSpain2024-05-30Chapman, Ross E Esq NEW95Onyama Limba
1045Leja T RutaJapan2024-06-05Commercial Press NEGOTIATION30Onyama Limba
1046Greenwood B DoeItaly2024-06-03Rangoni Of Florence RENEWAL35Amy Elsner
1047Ivar E CaudyIndia2024-06-10Dorl, James J Esq RENEWAL81Ioni Bowcher
1048Leja J StockhamCanada2024-06-06Feiner Bros PROPOSAL71Bernardo Dominic
1049Clifford P ChuiSpain2024-05-30Printing Dimensions NEGOTIATION33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jennifer H ButtItalyBernardo Dominic NEGOTIATION
Kadeem C CaldareraJapanIoni Bowcher RENEWAL
Octavia E GauchoCanadaOnyama Limba QUALIFIED
David O AmigonItalyBernardo Dominic NEW
Deepesh L ShinkoCanadaOnyama Limba NEW
Claire A InouyeCanadaIvan Magalhaes UNQUALIFIED
James S RimSpainOnyama Limba RENEWAL
Cody F KuskoAustraliaAnna Fali RENEWAL
Jones T WhobreyBrazilIoni Bowcher QUALIFIED
Jennifer K BowleyCanadaIvan Magalhaes PROPOSAL
Ashley V MaletRussiaBernardo Dominic NEGOTIATION
Claire T FigeroaAustraliaElwin Sharvill NEGOTIATION
Maria G FerenczAustraliaAsiya Javayant NEGOTIATION
Silvio K CaldareraArgentinaAmy Elsner UNQUALIFIED
Juan M MaletJapanElwin Sharvill UNQUALIFIED
Aruna N SergiAustraliaAsiya Javayant QUALIFIED
Kadeem O RoysterBrazilAnna Fali PROPOSAL
Greenwood Q VocelkaGermanyElwin Sharvill UNQUALIFIED
Julie V MacleadRussiaAnna Fali UNQUALIFIED
Deepesh O SergiIndiaIvan Magalhaes RENEWAL
Tony T RoysterBrazilOnyama Limba RENEWAL
Ivar B VenereArgentinaOnyama Limba QUALIFIED
Cody T MorascaItalyElwin Sharvill NEGOTIATION
Ashley I IturbideRussiaIvan Magalhaes NEGOTIATION
Deepesh E IturbideAustraliaIvan Magalhaes NEGOTIATION
Leon K BologniaAustraliaOnyama Limba NEGOTIATION
Francesco Q DoeBrazilElwin Sharvill NEW
Chavez U FollerItalyXuxue Feng NEW
Juan I SlusarskiGermanyAsiya Javayant RENEWAL
Kaitlin L PaprockiRussiaAsiya Javayant PROPOSAL
Ivar N OstroskyUnited KingdomXuxue Feng QUALIFIED
Ricardo X WieserCanadaOnyama Limba NEGOTIATION
Isabel P StensethArgentinaAmy Elsner NEW
Juan R RutaAustraliaAnna Fali QUALIFIED
Sinclair I KuskoJapanOnyama Limba PROPOSAL
Aruna U CampainCanadaIoni Bowcher PROPOSAL
Jefferson E FollerUnited KingdomOnyama Limba QUALIFIED
Leja C WhobreyGermanyXuxue Feng NEGOTIATION
Maisha B PaprockiBrazilBernardo Dominic RENEWAL
Isabel Z FigeroaItalyOnyama Limba UNQUALIFIED
Deepesh E PoquetteBrazilStephen Shaw NEGOTIATION
Alejandro S StensethGermanyIoni Bowcher NEGOTIATION
Jones I InouyeBrazilAsiya Javayant UNQUALIFIED
Costa B OldroydAustraliaAsiya Javayant NEW
Aruna W RutaRussiaXuxue Feng UNQUALIFIED
Jennifer B NestleAustraliaElwin Sharvill NEGOTIATION
James E FlosiJapanIvan Magalhaes NEGOTIATION
Smith M PaprockiAustraliaAmy Elsner NEW
Johnson C GlickIndiaElwin Sharvill RENEWAL
Julie V WaycottBrazilElwin Sharvill NEGOTIATION
Frozen Columns
Name
Ivar T Ferencz
Adams K Perin
Tony N Ruta
Leon E Tollner
Maisha O Ruta
Adams P Waycott
Leon V Morasca
Antonio K Iturbide
Wickens T Rulapaugh
Antonio V Albares
Octavia O Darakjy
James Q Campain
Aika H Ruta
Jennifer D Caldarera
Julie K Chui
Jones B Morasca
Jones M Bowley
Jones I Oldroyd
Clifford Q Iturbide
Emily I Stockham
Ricardo S Slusarski
Juan F Tollner
Ivar H Caudy
Morrow T Poquette
Greenwood F Ferencz
Isabel B Stockham
Nicolas A Kolmetz
Salvatore M Schemmer
Kaitlin Q Morasca
Salvatore I Gillian
James P Oldroyd
Aika V Waycott
Wickens M Gaucho
Chavez M Nestle
Maria Q Wieser
Jefferson S Campain
Ashley C Rim
Jefferson K Maclead
Costa V Gaucho
Antonio W Stenseth
Wickens C Iturbide
Deepesh C Kusko
Aruna C Sergi
Jones F Garufi
Jeanfrancois V Vocelka
Johnson I Kusko
Morrow L Ruta
Adams Z Malet
Julie Y Venere
Francesco D Vocelka
IdCountryDate
1000Italy2024-06-09
1001Argentina2024-05-26
1002Australia2024-06-01
1003Germany2024-06-20
1004Canada2024-06-22
1005Spain2024-06-01
1006Australia2024-05-27
1007Australia2024-05-27
1008Australia2024-05-28
1009Spain2024-06-12
1010Italy2024-05-31
1011Germany2024-05-31
1012France2024-06-04
1013Brazil2024-06-11
1014United Kingdom2024-06-17
1015Brazil2024-06-11
1016Spain2024-05-27
1017Russia2024-06-03
1018Germany2024-06-07
1019Argentina2024-06-02
1020United Kingdom2024-06-21
1021Italy2024-06-02
1022India2024-06-19
1023United Kingdom2024-06-05
1024Japan2024-06-18
1025Canada2024-05-30
1026Italy2024-06-22
1027India2024-05-30
1028Italy2024-06-13
1029Spain2024-06-10
1030Brazil2024-06-17
1031France2024-06-11
1032Argentina2024-05-28
1033Brazil2024-06-02
1034Spain2024-06-08
1035Spain2024-06-19
1036Argentina2024-06-08
1037Australia2024-06-05
1038Spain2024-05-26
1039Spain2024-06-07
1040Canada2024-05-26
1041Germany2024-05-27
1042United Kingdom2024-05-31
1043Russia2024-06-22
1044Spain2024-06-01
1045Germany2024-05-30
1046Japan2024-06-18
1047India2024-06-04
1048Canada2024-05-27
1049Argentina2024-05-31

On-Demand Data

NameIdCountryDate
Faith I Tollner1000France2024-06-01
Sinclair J Garufi1001Brazil2024-05-25
Izzy Q Flosi1002Australia2024-06-03
Jones D Iturbide1003France2024-06-10
Morrow K Perin1004France2024-06-17
Morrow C Maclead1005Japan2024-06-03
Ivar S Tollner1006Japan2024-05-25
Smith Z Shinko1007France2024-06-19
Isabel N Gaucho1008Germany2024-06-18
Smith Q Rim1009Russia2024-06-04
Chavez T Shinko1010Australia2024-06-05
Greenwood O Bolognia1011Brazil2024-06-21
Clifford I Nicka1012France2024-06-03
Mayumi J Darakjy1013France2024-05-29
Misaki I Kusko1014Germany2024-06-17
Alejandro K Stenseth1015United Kingdom2024-05-27
Leon U Inouye1016United Kingdom2024-06-07
Stacey G Vocelka1017Canada2024-06-20
Jones H Vocelka1018France2024-06-14
Kadeem D Kolmetz1019Canada2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya M BriddickUnited KingdomBernardo Dominic RENEWAL
Tony T FollerIndiaStephen Shaw QUALIFIED
Costa Z FollerRussiaElwin Sharvill UNQUALIFIED
Salvatore N RoysterUnited KingdomIoni Bowcher NEW
Emily O AlbaresBrazilIoni Bowcher UNQUALIFIED
Deepesh L GlickCanadaAnna Fali UNQUALIFIED
Nicolas F IturbideFranceAsiya Javayant NEGOTIATION
Wickens I FlosiItalyIvan Magalhaes NEW
Antonio U WaycottRussiaXuxue Feng UNQUALIFIED
Arvin R GauchoUnited KingdomBernardo Dominic PROPOSAL
Alejandro S StockhamJapanIoni Bowcher UNQUALIFIED
Aika J ChuiFranceIoni Bowcher QUALIFIED
Smith U RimFranceAsiya Javayant PROPOSAL
Murillo Y ButtArgentinaElwin Sharvill QUALIFIED
Kaitlin M FlosiItalyXuxue Feng UNQUALIFIED
Munro I CaudyAustraliaStephen Shaw NEGOTIATION
Murillo T FollerIndiaAsiya Javayant NEW
Arvin N FollerIndiaIoni Bowcher NEGOTIATION
Rodrigues E WieserFranceOnyama Limba RENEWAL
Octavia T BriddickIndiaAsiya Javayant QUALIFIED
Antonio A VocelkaSpainOnyama Limba NEGOTIATION
Antonio I StensethItalyIoni Bowcher RENEWAL
Morrow P ShinkoGermanyOnyama Limba QUALIFIED
Clifford G GillianGermanyStephen Shaw RENEWAL
Maria H DilliardBrazilBernardo Dominic RENEWAL
Mayumi L PoquetteFranceBernardo Dominic PROPOSAL
Morrow S ShinkoFranceOnyama Limba UNQUALIFIED
Cody V VenereRussiaIvan Magalhaes NEGOTIATION
James M WhobreyUnited KingdomStephen Shaw NEGOTIATION
Tony M AmigonArgentinaIoni Bowcher PROPOSAL
Wickens I AmigonUnited KingdomAmy Elsner QUALIFIED
Tony M CaudyGermanyXuxue Feng PROPOSAL
Jefferson O KuskoArgentinaOnyama Limba QUALIFIED
Morrow P WieserCanadaOnyama Limba NEW
Aika X SlusarskiJapanBernardo Dominic UNQUALIFIED
Maria X OstroskyRussiaOnyama Limba NEGOTIATION
Maria I FollerItalyBernardo Dominic NEW
Aditya U SlusarskiGermanyIvan Magalhaes RENEWAL
Aruna U FlosiBrazilOnyama Limba RENEWAL
Antonio I ChuiAustraliaStephen Shaw 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>