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
Julie X DilliardUnited KingdomBernardo Dominic NEW
Nicolas E PoquetteBrazilIvan Magalhaes QUALIFIED
Nicolas F GillianCanadaOnyama Limba UNQUALIFIED
Francesco S PaprockiRussiaIvan Magalhaes UNQUALIFIED
Johnson B CaudyBrazilIvan Magalhaes UNQUALIFIED
Silvio S WhobreyCanadaElwin Sharvill UNQUALIFIED
Costa C BriddickSpainAsiya Javayant PROPOSAL
Kaitlin X BologniaGermanyOnyama Limba UNQUALIFIED
James Z CaldareraItalyBernardo Dominic RENEWAL
Arvin Q FollerCanadaAmy Elsner PROPOSAL
Salvatore K GarufiRussiaAmy Elsner UNQUALIFIED
Salvatore A WaycottJapanXuxue Feng RENEWAL
Octavia B BologniaUnited KingdomStephen Shaw PROPOSAL
Emily C MaletIndiaBernardo Dominic PROPOSAL
Emily I CampainAustraliaXuxue Feng NEGOTIATION
Wickens J WhobreyCanadaIvan Magalhaes UNQUALIFIED
Stacey I InouyeUnited KingdomIoni Bowcher QUALIFIED
Aika B NickaJapanAmy Elsner NEW
Chavez W OstroskyUnited KingdomBernardo Dominic NEW
Greenwood C ChuiSpainBernardo Dominic NEGOTIATION
James T BologniaGermanyIvan Magalhaes RENEWAL
Tony I WaycottSpainXuxue Feng PROPOSAL
Misaki M AlbaresAustraliaIoni Bowcher NEGOTIATION
Claire V RutaUnited KingdomAnna Fali RENEWAL
Mujtaba L PaprockiUnited KingdomIoni Bowcher QUALIFIED
Morrow Q VenereJapanAnna Fali UNQUALIFIED
Johnson W FerenczIndiaAnna Fali NEGOTIATION
Rodrigues M SchemmerJapanAsiya Javayant RENEWAL
Chavez N AlbaresRussiaXuxue Feng RENEWAL
Wickens U GlickBrazilIvan Magalhaes NEGOTIATION
Leja S GlickSpainBernardo Dominic RENEWAL
Aika H PerinItalyAnna Fali UNQUALIFIED
Misaki X MorascaCanadaAmy Elsner RENEWAL
Johnson S FigeroaAustraliaAmy Elsner NEGOTIATION
Alejandro E DarakjyArgentinaBernardo Dominic RENEWAL
Julie I WieserUnited KingdomStephen Shaw RENEWAL
Salvatore G DilliardAustraliaAnna Fali PROPOSAL
Leon L BologniaSpainAnna Fali NEGOTIATION
Stacey R CaldareraBrazilIvan Magalhaes PROPOSAL
Emily V KolmetzSpainIoni Bowcher PROPOSAL
James A AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Nicolas U PerinRussiaIvan Magalhaes NEGOTIATION
Rodrigues Q KolmetzFranceBernardo Dominic RENEWAL
Silvio Y SaylorsJapanStephen Shaw RENEWAL
Nicolas C FollerBrazilAmy Elsner QUALIFIED
Faith K VenereJapanXuxue Feng UNQUALIFIED
Jeanfrancois V NestleFranceXuxue Feng UNQUALIFIED
Tony H RoysterSpainBernardo Dominic NEGOTIATION
Sinclair J GauchoGermanyElwin Sharvill UNQUALIFIED
Alejandro T CaudyCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith R GarufiCanadaAsiya Javayant RENEWAL
Arvin C ChuiArgentinaIvan Magalhaes QUALIFIED
Chavez J GillianArgentinaAmy Elsner NEGOTIATION
Maria A CampainArgentinaXuxue Feng QUALIFIED
Juan S MarrierItalyIvan Magalhaes NEGOTIATION
Aruna V DilliardCanadaStephen Shaw UNQUALIFIED
Juan R SchemmerJapanIvan Magalhaes NEW
Leon B GarufiItalyXuxue Feng PROPOSAL
Tony S DoeAustraliaAsiya Javayant QUALIFIED
Ricardo P MaletArgentinaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia U GillianSpain2024-06-06Benton, John B Jr QUALIFIED41Bernardo Dominic
1001Adams N KolmetzRussia2024-06-17Dorl, James J Esq PROPOSAL91Stephen Shaw
1002Alejandro V VenereSpain2024-06-21Morlong Associates PROPOSAL57Elwin Sharvill
1003Kadeem P GlickSpain2024-06-02Benton, John B Jr UNQUALIFIED51Stephen Shaw
1004Aruna O DarakjyFrance2024-06-01Dorl, James J Esq NEW66Ioni Bowcher
1005Stacey P ChuiArgentina2024-05-27Rousseaux, Michael Esq RENEWAL87Amy Elsner
1006Deepesh Y NickaUnited Kingdom2024-06-15Buckley Miller Wright NEW96Amy Elsner
1007Deepesh I BologniaBrazil2024-06-04Commercial Press NEGOTIATION56Anna Fali
1008Munro Y ButtGermany2024-05-29Buckley Miller Wright PROPOSAL97Elwin Sharvill
1009Tony N StockhamBrazil2024-06-01Truhlar And Truhlar Attys PROPOSAL33Stephen Shaw
1010Cody D SchemmerBrazil2024-05-30Dorl, James J Esq QUALIFIED23Elwin Sharvill
1011Emily N VocelkaAustralia2024-06-23Commercial Press QUALIFIED9Asiya Javayant
1012Greenwood L OldroydFrance2024-06-11Feiner Bros NEW14Stephen Shaw
1013Julie C DarakjySpain2024-06-10Rangoni Of Florence NEW47Xuxue Feng
1014Aika P DoeArgentina2024-06-04Commercial Press QUALIFIED37Stephen Shaw
1015Octavia U AlbaresCanada2024-05-29Morlong Associates PROPOSAL45Bernardo Dominic
1016Salvatore Q MaletFrance2024-06-17Rousseaux, Michael Esq NEW92Asiya Javayant
1017Claire T ChuiJapan2024-06-03Rousseaux, Michael Esq QUALIFIED72Bernardo Dominic
1018Isabel I RimGermany2024-06-12Feltz Printing Service RENEWAL19Bernardo Dominic
1019David P GauchoUnited Kingdom2024-06-10Morlong Associates PROPOSAL93Elwin Sharvill
1020Francesco D GlickItaly2024-06-14Benton, John B Jr NEW44Amy Elsner
1021Arvin J SergiUnited Kingdom2024-05-25Benton, John B Jr NEGOTIATION40Xuxue Feng
1022Aruna U InouyeBrazil2024-05-30Truhlar And Truhlar Attys PROPOSAL34Ioni Bowcher
1023Aika F RoysterFrance2024-06-19Printing Dimensions UNQUALIFIED89Ioni Bowcher
1024Ivar R StockhamSpain2024-06-09Dorl, James J Esq PROPOSAL99Xuxue Feng
1025Jeanfrancois S RoysterArgentina2024-06-11Rousseaux, Michael Esq NEGOTIATION19Onyama Limba
1026Isabel B DoeRussia2024-06-11Chapman, Ross E Esq QUALIFIED96Elwin Sharvill
1027Isabel A BologniaIndia2024-06-21Buckley Miller Wright NEGOTIATION1Asiya Javayant
1028James M GlickGermany2024-06-18Benton, John B Jr NEW99Amy Elsner
1029Ricardo I FollerItaly2024-05-27Morlong Associates NEGOTIATION5Stephen Shaw
1030David Z InouyeUnited Kingdom2024-06-20Feiner Bros PROPOSAL92Ioni Bowcher
1031Jones W GarufiCanada2024-06-14Buckley Miller Wright UNQUALIFIED65Stephen Shaw
1032Wickens V OstroskyAustralia2024-06-01Truhlar And Truhlar Attys NEW27Stephen Shaw
1033Faith L ButtIndia2024-06-02Dorl, James J Esq UNQUALIFIED55Amy Elsner
1034Jennifer B VenereArgentina2024-05-26Printing Dimensions QUALIFIED18Anna Fali
1035Clifford Y BowleyArgentina2024-06-20Chapman, Ross E Esq QUALIFIED26Stephen Shaw
1036Emily X CampainSpain2024-06-09Benton, John B Jr RENEWAL34Elwin Sharvill
1037Jones B WhobreyGermany2024-05-31Feiner Bros NEW50Asiya Javayant
1038Nicolas O MorascaJapan2024-06-08Chanay, Jeffrey A Esq NEW91Xuxue Feng
1039Mayumi I VenereSpain2024-06-18Printing Dimensions NEGOTIATION57Elwin Sharvill
1040Leja G DoeGermany2024-05-25Chapman, Ross E Esq QUALIFIED12Stephen Shaw
1041Tony R MacleadCanada2024-06-18Rangoni Of Florence NEW92Asiya Javayant
1042Salvatore G ChuiAustralia2024-06-19Commercial Press QUALIFIED53Onyama Limba
1043Aditya S PaprockiGermany2024-05-27Chapman, Ross E Esq QUALIFIED19Amy Elsner
1044Misaki Z CampainFrance2024-06-20Feltz Printing Service UNQUALIFIED23Onyama Limba
1045Aruna L MacleadFrance2024-06-07Truhlar And Truhlar Attys NEW32Onyama Limba
1046Stacey P RutaCanada2024-05-29Commercial Press UNQUALIFIED33Ivan Magalhaes
1047Juan O ShinkoRussia2024-06-17Printing Dimensions NEGOTIATION10Asiya Javayant
1048Clifford L SergiGermany2024-06-11Printing Dimensions RENEWAL9Ivan Magalhaes
1049Adams A DoeCanada2024-05-28Chapman, Ross E Esq UNQUALIFIED76Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mayumi N CaudyAustraliaBernardo Dominic NEW
Maisha J FollerBrazilIoni Bowcher RENEWAL
Smith T PaprockiCanadaOnyama Limba QUALIFIED
Mujtaba V RoysterCanadaIvan Magalhaes RENEWAL
Smith W SchemmerArgentinaBernardo Dominic PROPOSAL
Mujtaba K BriddickIndiaStephen Shaw UNQUALIFIED
Ricardo M MaletJapanIoni Bowcher RENEWAL
Arvin P PoquetteGermanyAmy Elsner NEGOTIATION
Jones T FerenczIndiaElwin Sharvill RENEWAL
Claire Y GillianFranceStephen Shaw NEW
Izzy V RoysterJapanIoni Bowcher QUALIFIED
Arvin R CaudyItalyXuxue Feng NEW
Murillo F OldroydGermanyAsiya Javayant UNQUALIFIED
Nicolas S BologniaItalyOnyama Limba UNQUALIFIED
Munro G PoquetteAustraliaStephen Shaw RENEWAL
Aika Z IturbideRussiaXuxue Feng RENEWAL
Antonio E AmigonAustraliaElwin Sharvill PROPOSAL
Tony H RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Smith J SergiFranceIoni Bowcher PROPOSAL
Tony Y MaletJapanAnna Fali NEGOTIATION
Jennifer C FerenczJapanIoni Bowcher NEW
Darci O BriddickIndiaElwin Sharvill UNQUALIFIED
Clifford D CampainItalyAnna Fali QUALIFIED
Juan L WieserSpainStephen Shaw PROPOSAL
Morrow H TollnerRussiaIoni Bowcher QUALIFIED
Faith N DilliardSpainXuxue Feng UNQUALIFIED
Ashley Q NickaGermanyBernardo Dominic NEW
Juan Z VocelkaUnited KingdomOnyama Limba NEW
Wickens D FlosiBrazilAmy Elsner RENEWAL
Deepesh C AmigonItalyAsiya Javayant RENEWAL
Aika W IturbideSpainOnyama Limba UNQUALIFIED
Nicolas J DilliardIndiaAnna Fali NEGOTIATION
Aditya C MarrierBrazilOnyama Limba RENEWAL
Antonio C GarufiCanadaIoni Bowcher NEGOTIATION
Cody N RoysterSpainStephen Shaw UNQUALIFIED
Francesco Z OstroskyIndiaAmy Elsner RENEWAL
Jennifer J StensethArgentinaOnyama Limba PROPOSAL
Mayumi U NickaBrazilXuxue Feng NEGOTIATION
Munro V KuskoArgentinaIoni Bowcher NEW
Cody P VenereItalyXuxue Feng RENEWAL
Johnson W BowleyRussiaStephen Shaw UNQUALIFIED
Rodrigues R AmigonIndiaElwin Sharvill QUALIFIED
Faith U FerenczJapanOnyama Limba NEGOTIATION
Clifford D GarufiItalyAsiya Javayant PROPOSAL
Wickens C WieserBrazilIoni Bowcher RENEWAL
Kaitlin E FerenczJapanAmy Elsner NEW
Johnson J VocelkaItalyBernardo Dominic QUALIFIED
Octavia V GillianBrazilXuxue Feng PROPOSAL
Munro N WaycottItalyAsiya Javayant NEGOTIATION
Chavez X ShinkoGermanyAsiya Javayant QUALIFIED
Frozen Columns
Name
Jones H Malet
Ashley X Royster
Kadeem C Ferencz
Silvio R Rim
Kadeem X Nestle
Darci K Royster
Leja Z Garufi
Ivar I Wieser
Murillo V Gaucho
Claire P Figeroa
Munro T Caldarera
Silvio T Gillian
Ivar C Kolmetz
Jones A Doe
Aika J Iturbide
Francesco X Schemmer
Adams Q Poquette
Mayumi I Shinko
Johnson X Doe
Munro Q Tollner
Mujtaba D Ruta
Faith H Caudy
Claire L Saylors
Antonio O Royster
Misaki R Kolmetz
David L Slusarski
Adams E Campain
Costa G Bowley
Greenwood L Royster
Misaki Z Schemmer
Maria U Royster
Jones H Marrier
Jones M Whobrey
David O Paprocki
Octavia X Paprocki
Clifford M Caudy
Jennifer C Ruta
Smith Z Doe
Ashley Q Wieser
Rodrigues I Flosi
Silvio X Kusko
Jeanfrancois F Nicka
Johnson A Nicka
Mayumi O Venere
Jennifer B Campain
Costa G Malet
Costa Y Paprocki
Francesco M Caudy
Jones Z Slusarski
Stacey Y Caldarera
IdCountryDate
1000Japan2024-05-31
1001Australia2024-06-08
1002Argentina2024-06-14
1003India2024-05-30
1004Canada2024-06-03
1005Australia2024-06-11
1006United Kingdom2024-06-05
1007Spain2024-05-25
1008Italy2024-05-31
1009Spain2024-06-03
1010France2024-06-09
1011Japan2024-05-26
1012United Kingdom2024-06-22
1013Italy2024-05-30
1014Canada2024-06-03
1015Australia2024-06-11
1016India2024-05-31
1017India2024-05-29
1018Germany2024-06-19
1019Argentina2024-06-04
1020India2024-06-18
1021Brazil2024-06-02
1022Brazil2024-06-18
1023Brazil2024-06-16
1024India2024-05-31
1025Canada2024-06-16
1026Italy2024-06-18
1027Brazil2024-06-22
1028Japan2024-05-28
1029Australia2024-05-27
1030United Kingdom2024-06-07
1031Australia2024-06-18
1032United Kingdom2024-05-28
1033United Kingdom2024-06-11
1034France2024-06-01
1035Japan2024-06-01
1036Canada2024-06-20
1037Italy2024-06-19
1038Germany2024-06-11
1039France2024-05-29
1040Canada2024-06-08
1041Italy2024-05-26
1042France2024-05-30
1043Japan2024-06-20
1044France2024-06-02
1045Germany2024-06-11
1046Argentina2024-06-07
1047Argentina2024-06-04
1048Spain2024-05-27
1049Argentina2024-06-07

On-Demand Data

NameIdCountryDate
Kadeem K Malet1000Japan2024-06-03
Deepesh D Briddick1001Germany2024-06-14
Stacey D Vocelka1002India2024-06-18
David B Caldarera1003Japan2024-05-29
Darci F Paprocki1004Argentina2024-06-19
Arvin B Malet1005Brazil2024-06-12
Maisha P Caldarera1006Spain2024-06-16
Silvio R Kusko1007France2024-06-18
Mujtaba T Malet1008France2024-06-14
Claire Z Rim1009India2024-06-16
Alejandro D Sergi1010Brazil2024-06-07
Juan O Iturbide1011Germany2024-06-08
Darci C Chui1012Japan2024-06-23
Ricardo Q Tollner1013Australia2024-06-22
Emily T Glick1014United Kingdom2024-06-23
James T Rulapaugh1015Japan2024-06-18
Francesco X Malet1016Germany2024-06-19
Tony N Foller1017Spain2024-06-04
Smith N Butt1018Australia2024-06-11
Greenwood S Foller1019Brazil2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Z GlickUnited KingdomBernardo Dominic NEGOTIATION
Aditya I OldroydAustraliaAsiya Javayant NEGOTIATION
Aika Q OldroydSpainBernardo Dominic RENEWAL
Ivar D WhobreyItalyBernardo Dominic NEGOTIATION
Jefferson V BowleySpainAmy Elsner PROPOSAL
Izzy V PaprockiGermanyAmy Elsner RENEWAL
Ivar Q WieserRussiaAsiya Javayant NEGOTIATION
Francesco W AmigonJapanAnna Fali NEGOTIATION
Costa Z WaycottSpainOnyama Limba UNQUALIFIED
Wickens W StensethFranceAnna Fali NEW
Sinclair D BologniaGermanyStephen Shaw NEGOTIATION
Kaitlin P ShinkoFranceIvan Magalhaes NEGOTIATION
James O MaletBrazilStephen Shaw QUALIFIED
Cody N AmigonFranceBernardo Dominic RENEWAL
Murillo C MacleadUnited KingdomElwin Sharvill RENEWAL
Mayumi B NestleBrazilOnyama Limba RENEWAL
Jeanfrancois I AmigonArgentinaAmy Elsner NEW
Wickens G MarrierCanadaIvan Magalhaes NEGOTIATION
Antonio N MorascaItalyAmy Elsner NEGOTIATION
Julie Y ChuiGermanyAnna Fali QUALIFIED
Kadeem T SergiCanadaOnyama Limba RENEWAL
Munro P MacleadIndiaAmy Elsner QUALIFIED
Silvio I InouyeBrazilBernardo Dominic UNQUALIFIED
Jones U PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Octavia V StensethFranceIvan Magalhaes PROPOSAL
Munro D RulapaughArgentinaAmy Elsner NEGOTIATION
Deepesh U OstroskyAustraliaOnyama Limba NEW
Wickens R StensethGermanyStephen Shaw PROPOSAL
Jefferson F CampainAustraliaXuxue Feng RENEWAL
Rodrigues K FlosiJapanStephen Shaw RENEWAL
Morrow J BowleyIndiaStephen Shaw NEW
Jefferson O WieserItalyAsiya Javayant NEW
Salvatore E GarufiAustraliaBernardo Dominic UNQUALIFIED
Jennifer B DarakjyRussiaElwin Sharvill NEGOTIATION
Wickens T DoeSpainStephen Shaw PROPOSAL
Francesco J GillianUnited KingdomAmy Elsner NEGOTIATION
Emily Q WieserCanadaIvan Magalhaes NEGOTIATION
Mayumi L BriddickRussiaStephen Shaw UNQUALIFIED
Chavez L KuskoCanadaAnna Fali UNQUALIFIED
Greenwood R MorascaJapanAsiya Javayant 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>