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
Aruna G WaycottSpainBernardo Dominic RENEWAL
Izzy D OstroskyIndiaAnna Fali PROPOSAL
Aruna O OstroskyUnited KingdomStephen Shaw QUALIFIED
Alejandro B OldroydRussiaAmy Elsner UNQUALIFIED
Murillo D PaprockiJapanXuxue Feng NEW
Izzy Y OstroskyIndiaOnyama Limba QUALIFIED
Emily N VenereUnited KingdomXuxue Feng NEW
Adams B WaycottBrazilAmy Elsner NEGOTIATION
Misaki H CaldareraIndiaXuxue Feng NEGOTIATION
Greenwood V MorascaArgentinaAnna Fali QUALIFIED
Chavez F FollerBrazilXuxue Feng RENEWAL
Nicolas J SergiJapanOnyama Limba NEW
Darci Z FerenczCanadaBernardo Dominic NEGOTIATION
Ivar B KolmetzSpainIoni Bowcher PROPOSAL
Mujtaba D CaudyAustraliaOnyama Limba RENEWAL
Tony V CampainCanadaOnyama Limba UNQUALIFIED
Emily F PerinFranceBernardo Dominic NEW
Aruna Z PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Juan C BriddickCanadaIvan Magalhaes RENEWAL
Jefferson G SchemmerArgentinaStephen Shaw NEGOTIATION
Tony K SergiSpainAsiya Javayant NEW
Tony I FerenczIndiaElwin Sharvill RENEWAL
Sinclair I SaylorsSpainAsiya Javayant PROPOSAL
Munro Q ChuiArgentinaAmy Elsner PROPOSAL
Misaki Z ShinkoIndiaStephen Shaw RENEWAL
Francesco F PoquetteUnited KingdomAnna Fali UNQUALIFIED
Tony T SlusarskiFranceAnna Fali UNQUALIFIED
Jennifer P ButtFranceAmy Elsner UNQUALIFIED
David X ShinkoCanadaAmy Elsner UNQUALIFIED
Maria N KolmetzAustraliaAsiya Javayant UNQUALIFIED
Munro H CampainFranceIoni Bowcher QUALIFIED
Francesco C FlosiGermanyAnna Fali UNQUALIFIED
Wickens G MorascaFranceIvan Magalhaes UNQUALIFIED
Murillo F OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Aruna O RutaBrazilXuxue Feng PROPOSAL
Johnson E VenereRussiaAmy Elsner UNQUALIFIED
Aruna D FlosiCanadaXuxue Feng QUALIFIED
Maisha G RimItalyIoni Bowcher NEW
James Z FlosiRussiaOnyama Limba UNQUALIFIED
Darci Q MaletSpainElwin Sharvill PROPOSAL
Alejandro K WhobreyAustraliaAmy Elsner UNQUALIFIED
Chavez X MaletAustraliaIoni Bowcher RENEWAL
Johnson L MaletAustraliaAsiya Javayant UNQUALIFIED
Sinclair O KuskoItalyAsiya Javayant QUALIFIED
Johnson W SaylorsRussiaAsiya Javayant UNQUALIFIED
Deepesh V MaletAustraliaStephen Shaw RENEWAL
Julie G AmigonJapanAnna Fali PROPOSAL
David X FigeroaFranceBernardo Dominic RENEWAL
James S GarufiJapanElwin Sharvill PROPOSAL
Claire X SergiGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy H StensethFranceBernardo Dominic RENEWAL
Aruna H NestleGermanyAnna Fali NEGOTIATION
Alejandro C KolmetzBrazilElwin Sharvill PROPOSAL
Izzy J MorascaCanadaOnyama Limba PROPOSAL
Juan W MaletBrazilIoni Bowcher NEW
Morrow D FollerGermanyIvan Magalhaes PROPOSAL
Sinclair M MarrierAustraliaAmy Elsner QUALIFIED
Julie O BologniaAustraliaIvan Magalhaes PROPOSAL
Jefferson S WaycottFranceAmy Elsner PROPOSAL
Juan D KuskoSpainAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro N OstroskyJapan2024-05-30Printing Dimensions RENEWAL10Amy Elsner
1001Isabel U SaylorsRussia2024-06-06Feiner Bros UNQUALIFIED83Asiya Javayant
1002Aika B FigeroaUnited Kingdom2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED1Onyama Limba
1003Arvin W VenereUnited Kingdom2024-06-15Dorl, James J Esq RENEWAL57Xuxue Feng
1004Ricardo B FigeroaArgentina2024-06-14Rangoni Of Florence RENEWAL35Stephen Shaw
1005Faith T ShinkoItaly2024-05-26Commercial Press NEW90Ivan Magalhaes
1006Claire H GauchoBrazil2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED42Anna Fali
1007Francesco O NestleIndia2024-06-05Commercial Press QUALIFIED41Xuxue Feng
1008Aika O MarrierCanada2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED66Asiya Javayant
1009Silvio I DilliardCanada2024-06-09Dorl, James J Esq UNQUALIFIED36Asiya Javayant
1010Octavia G GlickIndia2024-06-20King, Christopher A Esq NEW49Ioni Bowcher
1011Emily F BriddickBrazil2024-06-19Buckley Miller Wright NEGOTIATION87Stephen Shaw
1012Izzy O GarufiIndia2024-05-27Dorl, James J Esq NEW10Bernardo Dominic
1013Ricardo K FollerUnited Kingdom2024-06-16Rangoni Of Florence RENEWAL4Bernardo Dominic
1014Kaitlin J MarrierIndia2024-06-24Printing Dimensions NEGOTIATION9Stephen Shaw
1015Mujtaba C ShinkoItaly2024-06-06Chanay, Jeffrey A Esq PROPOSAL88Ioni Bowcher
1016Francesco L DilliardJapan2024-05-29Feltz Printing Service PROPOSAL65Xuxue Feng
1017Antonio V FlosiCanada2024-06-16Rangoni Of Florence RENEWAL14Ioni Bowcher
1018Leon N StensethBrazil2024-05-27Dorl, James J Esq RENEWAL37Anna Fali
1019Jones W ChuiGermany2024-05-26Buckley Miller Wright PROPOSAL29Ivan Magalhaes
1020Chavez Q NestleCanada2024-06-09Chanay, Jeffrey A Esq NEGOTIATION4Stephen Shaw
1021Arvin G GarufiAustralia2024-06-09Feiner Bros RENEWAL66Xuxue Feng
1022Mujtaba L GillianArgentina2024-06-07Commercial Press QUALIFIED75Onyama Limba
1023Isabel E OstroskyAustralia2024-06-12Chemel, James L Cpa NEGOTIATION9Amy Elsner
1024Leja J ButtUnited Kingdom2024-05-27Commercial Press PROPOSAL27Elwin Sharvill
1025Kaitlin O GarufiGermany2024-06-03Morlong Associates RENEWAL78Elwin Sharvill
1026Silvio L IturbideItaly2024-06-16Chapman, Ross E Esq RENEWAL47Amy Elsner
1027Adams J KolmetzJapan2024-05-27Rousseaux, Michael Esq RENEWAL5Elwin Sharvill
1028Munro X KuskoBrazil2024-06-11Rangoni Of Florence QUALIFIED17Amy Elsner
1029Leja V SaylorsJapan2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED99Ioni Bowcher
1030James F KolmetzFrance2024-06-22Dorl, James J Esq NEW98Onyama Limba
1031Darci V AmigonFrance2024-05-30Chapman, Ross E Esq UNQUALIFIED79Xuxue Feng
1032Ashley E DilliardRussia2024-06-03Dorl, James J Esq QUALIFIED83Xuxue Feng
1033Munro H AlbaresRussia2024-06-12Chapman, Ross E Esq RENEWAL4Elwin Sharvill
1034Salvatore H KolmetzFrance2024-06-09Truhlar And Truhlar Attys UNQUALIFIED36Amy Elsner
1035Maria O CaldareraIndia2024-06-23Commercial Press QUALIFIED90Bernardo Dominic
1036Munro R PoquetteRussia2024-06-06Rangoni Of Florence PROPOSAL19Onyama Limba
1037Salvatore A SergiIndia2024-06-16Rousseaux, Michael Esq NEGOTIATION17Amy Elsner
1038James X RoysterItaly2024-05-28Printing Dimensions NEGOTIATION8Ivan Magalhaes
1039David H DarakjySpain2024-06-13Chapman, Ross E Esq QUALIFIED52Bernardo Dominic
1040Aruna J KolmetzArgentina2024-05-27Dorl, James J Esq QUALIFIED9Amy Elsner
1041Maisha B SlusarskiGermany2024-06-22Truhlar And Truhlar Attys NEW80Anna Fali
1042Leja P BriddickCanada2024-06-19Feltz Printing Service RENEWAL39Asiya Javayant
1043Misaki U OldroydIndia2024-05-31Benton, John B Jr UNQUALIFIED63Amy Elsner
1044Chavez J TollnerBrazil2024-06-15Rangoni Of Florence RENEWAL14Xuxue Feng
1045Munro Q KuskoIndia2024-06-12Rangoni Of Florence UNQUALIFIED12Onyama Limba
1046Faith R RutaArgentina2024-06-19King, Christopher A Esq PROPOSAL87Elwin Sharvill
1047Izzy P AmigonFrance2024-06-11Feiner Bros UNQUALIFIED20Stephen Shaw
1048Stacey Q StockhamCanada2024-06-19Morlong Associates UNQUALIFIED77Onyama Limba
1049Deepesh U StensethIndia2024-06-04Rangoni Of Florence UNQUALIFIED45Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Silvio A GarufiAustraliaIvan Magalhaes NEGOTIATION
David K GillianAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues X CaudyItalyAnna Fali QUALIFIED
Stacey Z OstroskyAustraliaXuxue Feng NEW
Claire C SaylorsJapanStephen Shaw NEW
Johnson I RutaRussiaIvan Magalhaes RENEWAL
Kadeem H RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Juan N NickaGermanyAmy Elsner QUALIFIED
Ivar W CampainItalyAnna Fali RENEWAL
Jones L BriddickAustraliaIoni Bowcher PROPOSAL
Maisha H BowleyRussiaAnna Fali RENEWAL
Leon V PoquetteJapanBernardo Dominic PROPOSAL
Nicolas S BologniaGermanyIvan Magalhaes UNQUALIFIED
Clifford K DilliardRussiaOnyama Limba NEW
Nicolas O KuskoIndiaBernardo Dominic NEGOTIATION
Aditya B BologniaJapanIoni Bowcher NEW
Aditya Y ShinkoAustraliaElwin Sharvill PROPOSAL
Leja Z AlbaresJapanAsiya Javayant NEGOTIATION
Julie R FlosiRussiaOnyama Limba PROPOSAL
Octavia J MorascaRussiaOnyama Limba RENEWAL
Darci U RutaJapanElwin Sharvill NEW
Ricardo C WaycottAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois M InouyeFranceOnyama Limba UNQUALIFIED
Francesco U CaldareraSpainAsiya Javayant NEW
Claire I NestleFranceStephen Shaw UNQUALIFIED
Adams I WaycottSpainBernardo Dominic NEGOTIATION
Wickens Z BriddickBrazilOnyama Limba RENEWAL
Antonio R StensethGermanyStephen Shaw RENEWAL
Leja D AmigonSpainAsiya Javayant NEGOTIATION
Arvin U KolmetzIndiaIvan Magalhaes RENEWAL
Morrow I FerenczFranceAmy Elsner UNQUALIFIED
Johnson O SaylorsRussiaStephen Shaw NEW
Maisha C MaletIndiaAsiya Javayant RENEWAL
Claire R SergiCanadaAmy Elsner PROPOSAL
Mayumi Y ButtIndiaXuxue Feng NEGOTIATION
Deepesh G CaudyGermanyAmy Elsner NEW
Kadeem O DarakjyAustraliaAsiya Javayant UNQUALIFIED
Izzy M MacleadJapanAmy Elsner NEW
Antonio C StensethJapanOnyama Limba QUALIFIED
Faith F VenereItalyStephen Shaw NEW
Adams N FlosiCanadaElwin Sharvill NEGOTIATION
Ivar N ChuiAustraliaStephen Shaw PROPOSAL
Tony O NestleUnited KingdomAsiya Javayant RENEWAL
Costa S FigeroaItalyIvan Magalhaes RENEWAL
Emily A CampainItalyAsiya Javayant RENEWAL
Jefferson Y RutaUnited KingdomIvan Magalhaes RENEWAL
Mujtaba K GillianIndiaIvan Magalhaes PROPOSAL
Francesco Q GlickBrazilIoni Bowcher PROPOSAL
Smith B FlosiUnited KingdomAsiya Javayant PROPOSAL
Adams C CampainAustraliaXuxue Feng NEGOTIATION
Frozen Columns
Name
Ivar D Dilliard
Octavia E Saylors
Murillo R Nestle
Morrow Q Rulapaugh
Silvio E Slusarski
Julie P Ruta
Chavez W Royster
Juan O Saylors
Maisha J Butt
Juan X Doe
Chavez E Foller
Munro H Oldroyd
Francesco B Caudy
Sinclair W Oldroyd
Ashley J Ruta
Ivar N Stenseth
Antonio J Nicka
Aika D Malet
Kaitlin T Malet
Leon Q Iturbide
Munro N Saylors
Alejandro D Poquette
Francesco F Waycott
Kaitlin L Garufi
Sinclair S Rulapaugh
Isabel U Caldarera
Costa Y Amigon
Kadeem T Butt
Munro D Royster
Darci Y Kolmetz
Ivar R Darakjy
Clifford W Darakjy
Jeanfrancois L Nestle
Ricardo M Gaucho
Maisha A Rim
Arvin E Briddick
Octavia H Oldroyd
Smith M Slusarski
Morrow U Campain
Mujtaba T Amigon
Alejandro R Nestle
Mayumi H Foller
Claire U Saylors
Ashley C Perin
Sinclair I Vocelka
Sinclair I Chui
Sinclair N Briddick
Arvin K Morasca
Chavez A Saylors
Sinclair A Briddick
IdCountryDate
1000Italy2024-05-27
1001Japan2024-06-15
1002Spain2024-06-12
1003Spain2024-06-03
1004Japan2024-06-18
1005Russia2024-06-24
1006Canada2024-06-19
1007India2024-06-02
1008Spain2024-06-01
1009United Kingdom2024-06-10
1010United Kingdom2024-05-26
1011France2024-06-22
1012France2024-06-16
1013Argentina2024-06-21
1014Russia2024-06-11
1015Germany2024-06-21
1016Germany2024-06-09
1017Italy2024-06-21
1018Germany2024-05-30
1019Canada2024-06-17
1020Japan2024-06-23
1021Spain2024-06-17
1022Russia2024-06-05
1023United Kingdom2024-06-22
1024Italy2024-06-22
1025Russia2024-06-02
1026India2024-06-10
1027Russia2024-06-09
1028Brazil2024-06-23
1029Germany2024-06-09
1030Spain2024-06-05
1031Italy2024-06-03
1032Australia2024-05-27
1033Russia2024-06-09
1034Argentina2024-06-16
1035Argentina2024-06-19
1036Spain2024-05-31
1037Germany2024-06-14
1038Canada2024-06-17
1039Australia2024-06-17
1040Canada2024-05-30
1041Italy2024-06-22
1042France2024-05-28
1043Spain2024-05-31
1044Brazil2024-06-06
1045Spain2024-05-27
1046Australia2024-06-10
1047Japan2024-05-27
1048Russia2024-06-19
1049Spain2024-05-26

On-Demand Data

NameIdCountryDate
Juan V Tollner1000Australia2024-06-24
Juan G Saylors1001Australia2024-06-04
Morrow F Paprocki1002Russia2024-06-10
Tony E Butt1003Australia2024-06-18
Rodrigues H Bolognia1004France2024-06-02
Wickens D Rim1005India2024-05-29
Kadeem U Poquette1006Brazil2024-06-03
Stacey Y Briddick1007Argentina2024-06-03
Maria O Slusarski1008Russia2024-06-04
Arvin Q Morasca1009Italy2024-05-31
Jennifer N Tollner1010Russia2024-06-13
Kadeem W Royster1011Germany2024-06-19
Cody U Gaucho1012Brazil2024-06-14
Murillo Z Kusko1013India2024-06-22
Wickens W Saylors1014Argentina2024-06-14
Francesco F Darakjy1015India2024-05-27
David T Rulapaugh1016Canada2024-06-17
Salvatore B Marrier1017Australia2024-06-22
Antonio P Tollner1018Japan2024-05-28
Jeanfrancois D Kolmetz1019United Kingdom2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar Q FerenczSpainAmy Elsner PROPOSAL
Julie V KolmetzAustraliaBernardo Dominic NEGOTIATION
Tony C SaylorsItalyAnna Fali UNQUALIFIED
Emily G TollnerIndiaStephen Shaw NEW
Adams K WhobreySpainBernardo Dominic UNQUALIFIED
Kadeem C OldroydJapanElwin Sharvill PROPOSAL
Arvin N PaprockiSpainAsiya Javayant RENEWAL
Nicolas D GlickArgentinaAnna Fali NEW
Sinclair D WaycottJapanAnna Fali NEW
Salvatore U InouyeArgentinaAsiya Javayant NEGOTIATION
Alejandro M WaycottItalyBernardo Dominic UNQUALIFIED
Sinclair P GillianUnited KingdomIvan Magalhaes RENEWAL
Smith Y OldroydAustraliaAmy Elsner PROPOSAL
Maisha H ButtGermanyXuxue Feng NEW
Stacey J FerenczGermanyIvan Magalhaes PROPOSAL
Julie Z StensethUnited KingdomXuxue Feng PROPOSAL
Ashley D GlickCanadaAmy Elsner UNQUALIFIED
Silvio G ButtGermanyAnna Fali NEW
Darci W DoeGermanyAmy Elsner NEGOTIATION
Ricardo Y KolmetzGermanyStephen Shaw NEGOTIATION
Jefferson F WieserFranceAmy Elsner PROPOSAL
Leja D SergiRussiaIvan Magalhaes UNQUALIFIED
Ivar Q MaletRussiaElwin Sharvill UNQUALIFIED
Ashley F CaudySpainStephen Shaw UNQUALIFIED
Johnson R SchemmerSpainXuxue Feng NEGOTIATION
Jones J VenereSpainIvan Magalhaes NEGOTIATION
Salvatore A PerinGermanyIvan Magalhaes PROPOSAL
Isabel W FollerFranceIoni Bowcher QUALIFIED
Jennifer X SlusarskiAustraliaIoni Bowcher RENEWAL
Alejandro I PerinSpainBernardo Dominic NEW
Leja W MorascaRussiaIvan Magalhaes PROPOSAL
Morrow R WieserGermanyStephen Shaw NEGOTIATION
Clifford L GarufiRussiaElwin Sharvill RENEWAL
Alejandro K DilliardIndiaIvan Magalhaes UNQUALIFIED
Wickens R RutaGermanyAmy Elsner RENEWAL
Misaki J GlickCanadaXuxue Feng QUALIFIED
James P VocelkaArgentinaElwin Sharvill NEGOTIATION
Claire D GlickGermanyElwin Sharvill RENEWAL
Johnson D PoquetteAustraliaBernardo Dominic PROPOSAL
Emily E IturbideJapanAmy Elsner PROPOSAL

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