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
Stacey E MaletJapanIvan Magalhaes NEGOTIATION
Smith F CaldareraJapanStephen Shaw PROPOSAL
Stacey Q ButtUnited KingdomElwin Sharvill RENEWAL
Izzy N KuskoItalyIvan Magalhaes PROPOSAL
Chavez X CampainFranceXuxue Feng NEW
Clifford E ButtAustraliaElwin Sharvill QUALIFIED
Isabel I AmigonBrazilIoni Bowcher NEGOTIATION
Deepesh D PoquetteUnited KingdomAsiya Javayant QUALIFIED
Leon W BowleyFranceIvan Magalhaes QUALIFIED
Arvin J FollerUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba U BriddickArgentinaStephen Shaw NEGOTIATION
Izzy S StockhamSpainElwin Sharvill PROPOSAL
Ashley F OstroskyAustraliaBernardo Dominic NEGOTIATION
Aika I NestleRussiaIoni Bowcher NEGOTIATION
Mujtaba Y StockhamGermanyStephen Shaw RENEWAL
Arvin K StensethArgentinaBernardo Dominic QUALIFIED
Aditya H CaudyArgentinaAmy Elsner NEW
Leja N OstroskyUnited KingdomBernardo Dominic NEW
Jones E FerenczArgentinaBernardo Dominic RENEWAL
Johnson X VenereUnited KingdomStephen Shaw UNQUALIFIED
Mujtaba C FollerIndiaStephen Shaw RENEWAL
Leja N CaldareraArgentinaBernardo Dominic PROPOSAL
Leon T SergiItalyAsiya Javayant RENEWAL
Costa D AmigonFranceAsiya Javayant NEW
Octavia N RulapaughAustraliaBernardo Dominic RENEWAL
Murillo V NestleRussiaAmy Elsner PROPOSAL
Jeanfrancois Q RoysterItalyOnyama Limba NEGOTIATION
David T BologniaItalyXuxue Feng QUALIFIED
Clifford M RutaJapanElwin Sharvill NEGOTIATION
Leja A VocelkaJapanBernardo Dominic NEW
Octavia A AmigonUnited KingdomAmy Elsner QUALIFIED
Costa D BriddickBrazilXuxue Feng QUALIFIED
Kaitlin N StockhamCanadaAnna Fali NEGOTIATION
Claire C StockhamJapanStephen Shaw NEW
Wickens X SaylorsGermanyAsiya Javayant RENEWAL
Rodrigues W AmigonCanadaStephen Shaw UNQUALIFIED
Clifford K TollnerBrazilAsiya Javayant UNQUALIFIED
Silvio P MarrierJapanElwin Sharvill PROPOSAL
Leon Y ChuiBrazilXuxue Feng UNQUALIFIED
Leon D KuskoJapanAsiya Javayant RENEWAL
Adams I StockhamItalyXuxue Feng UNQUALIFIED
Smith B NickaRussiaIoni Bowcher QUALIFIED
Jennifer S VocelkaGermanyAmy Elsner NEGOTIATION
Faith E KolmetzJapanAnna Fali NEGOTIATION
Nicolas Y RulapaughAustraliaElwin Sharvill NEGOTIATION
Izzy L InouyeFranceIoni Bowcher RENEWAL
Johnson D RimAustraliaAmy Elsner RENEWAL
Wickens D RimFranceXuxue Feng UNQUALIFIED
Deepesh H ChuiItalyXuxue Feng QUALIFIED
Munro E MacleadCanadaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams Z GauchoCanadaAsiya Javayant PROPOSAL
Leja U NestleArgentinaAmy Elsner PROPOSAL
Francesco C AlbaresAustraliaAnna Fali RENEWAL
Jones K MaletUnited KingdomBernardo Dominic QUALIFIED
Nicolas O VenereRussiaXuxue Feng UNQUALIFIED
Alejandro F DarakjyArgentinaIoni Bowcher QUALIFIED
Julie M CaudySpainAsiya Javayant NEW
David M FlosiRussiaBernardo Dominic RENEWAL
Kadeem M NickaRussiaXuxue Feng RENEWAL
Francesco S WhobreyGermanyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David R MaletArgentina2024-06-17Printing Dimensions NEW37Asiya Javayant
1001Adams O IturbideItaly2024-06-05Dorl, James J Esq PROPOSAL85Ioni Bowcher
1002Jones P IturbideAustralia2024-05-28Feltz Printing Service NEGOTIATION52Bernardo Dominic
1003Adams K VenereRussia2024-05-30Feiner Bros NEW62Ivan Magalhaes
1004Silvio T SchemmerSpain2024-06-18Buckley Miller Wright RENEWAL18Amy Elsner
1005Rodrigues K KolmetzFrance2024-06-16Buckley Miller Wright QUALIFIED78Asiya Javayant
1006Ivar D TollnerSpain2024-05-20Morlong Associates RENEWAL12Anna Fali
1007Smith M DoeCanada2024-05-23Feltz Printing Service UNQUALIFIED61Anna Fali
1008Mujtaba M OldroydJapan2024-06-04Chanay, Jeffrey A Esq QUALIFIED14Ioni Bowcher
1009Ricardo X ButtFrance2024-05-27Feiner Bros QUALIFIED59Ioni Bowcher
1010Aika O WhobreyUnited Kingdom2024-06-02Chemel, James L Cpa UNQUALIFIED69Bernardo Dominic
1011Jeanfrancois Y MaletCanada2024-05-22Morlong Associates PROPOSAL66Asiya Javayant
1012Arvin S DarakjyJapan2024-05-24Chanay, Jeffrey A Esq NEW21Ioni Bowcher
1013Francesco U SlusarskiCanada2024-05-23Chanay, Jeffrey A Esq QUALIFIED12Ioni Bowcher
1014Francesco D MacleadUnited Kingdom2024-06-11Rangoni Of Florence NEW32Amy Elsner
1015Ivar P VocelkaCanada2024-06-06Commercial Press NEGOTIATION24Ivan Magalhaes
1016Tony P ButtSpain2024-06-02Printing Dimensions PROPOSAL70Stephen Shaw
1017Johnson K SergiIndia2024-06-14Rangoni Of Florence NEGOTIATION52Amy Elsner
1018Deepesh U SergiGermany2024-05-26Chemel, James L Cpa NEW12Bernardo Dominic
1019Sinclair I SlusarskiIndia2024-06-09Rangoni Of Florence RENEWAL38Asiya Javayant
1020Jones I WieserRussia2024-06-14Truhlar And Truhlar Attys NEW34Ivan Magalhaes
1021Claire T VocelkaRussia2024-06-16Chemel, James L Cpa NEGOTIATION28Ioni Bowcher
1022Darci B OldroydArgentina2024-05-23Morlong Associates NEGOTIATION89Anna Fali
1023Jeanfrancois E MorascaSpain2024-06-03Chapman, Ross E Esq NEW35Bernardo Dominic
1024Arvin W CaldareraAustralia2024-05-27Morlong Associates PROPOSAL92Bernardo Dominic
1025Ricardo V RoysterJapan2024-06-02Truhlar And Truhlar Attys PROPOSAL73Bernardo Dominic
1026Munro Z PoquetteRussia2024-05-20Morlong Associates NEGOTIATION28Xuxue Feng
1027Leja D MaletRussia2024-05-22Rangoni Of Florence UNQUALIFIED28Ivan Magalhaes
1028David O VocelkaAustralia2024-05-23Benton, John B Jr RENEWAL84Asiya Javayant
1029Leja R RutaItaly2024-05-27Chapman, Ross E Esq RENEWAL94Stephen Shaw
1030Chavez N MaletItaly2024-06-18Feiner Bros NEW18Asiya Javayant
1031James H GarufiBrazil2024-06-01Rousseaux, Michael Esq NEGOTIATION40Anna Fali
1032Mujtaba V KolmetzUnited Kingdom2024-06-10Commercial Press RENEWAL56Bernardo Dominic
1033Isabel Q MacleadIndia2024-06-13Feiner Bros NEW28Onyama Limba
1034Darci E OstroskyArgentina2024-06-11Benton, John B Jr NEGOTIATION96Xuxue Feng
1035Antonio P RulapaughCanada2024-06-05Chanay, Jeffrey A Esq QUALIFIED24Anna Fali
1036Antonio S FigeroaRussia2024-05-20Morlong Associates NEW17Amy Elsner
1037Faith C GlickBrazil2024-06-05Benton, John B Jr NEGOTIATION71Ioni Bowcher
1038Aika H KuskoItaly2024-05-26Feiner Bros NEW43Elwin Sharvill
1039Greenwood H BologniaJapan2024-05-25King, Christopher A Esq QUALIFIED84Onyama Limba
1040Tony B FlosiBrazil2024-06-13Chemel, James L Cpa RENEWAL29Ioni Bowcher
1041Kadeem R VenereSpain2024-06-05Chapman, Ross E Esq NEW75Ivan Magalhaes
1042Claire X OldroydArgentina2024-05-23Chanay, Jeffrey A Esq QUALIFIED71Stephen Shaw
1043Leja F FollerIndia2024-06-09Buckley Miller Wright PROPOSAL88Bernardo Dominic
1044Wickens Z ShinkoAustralia2024-05-27Rangoni Of Florence UNQUALIFIED91Stephen Shaw
1045Maria G KolmetzAustralia2024-06-17Chanay, Jeffrey A Esq RENEWAL10Xuxue Feng
1046Alejandro Z AlbaresItaly2024-05-20Commercial Press NEW3Amy Elsner
1047Smith H FlosiSpain2024-06-02Dorl, James J Esq NEW0Ioni Bowcher
1048Mujtaba R AmigonUnited Kingdom2024-06-05Printing Dimensions QUALIFIED13Amy Elsner
1049Mujtaba B DarakjyRussia2024-06-08Chemel, James L Cpa QUALIFIED89Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Nicolas K GlickArgentinaAnna Fali NEGOTIATION
Maisha F VocelkaUnited KingdomBernardo Dominic PROPOSAL
Mujtaba I BriddickUnited KingdomXuxue Feng UNQUALIFIED
Aditya X DarakjyFranceXuxue Feng RENEWAL
Mayumi N MorascaBrazilAsiya Javayant UNQUALIFIED
Maisha E BriddickFranceElwin Sharvill UNQUALIFIED
Morrow U ShinkoJapanOnyama Limba PROPOSAL
Jennifer R SergiFranceIoni Bowcher UNQUALIFIED
Rodrigues S BriddickIndiaXuxue Feng NEW
Kadeem E FlosiJapanAmy Elsner NEGOTIATION
Tony X KolmetzBrazilAnna Fali UNQUALIFIED
Arvin G VocelkaJapanOnyama Limba RENEWAL
Leja K BologniaAustraliaOnyama Limba NEW
Greenwood H SlusarskiAustraliaBernardo Dominic PROPOSAL
Arvin T RimFranceBernardo Dominic NEW
Stacey E VenereSpainAsiya Javayant RENEWAL
Adams P OstroskyGermanyAsiya Javayant NEW
Ivar I RimItalyAnna Fali QUALIFIED
Deepesh R VenereArgentinaBernardo Dominic RENEWAL
Kaitlin U VenereCanadaAmy Elsner NEGOTIATION
Jones N DarakjyItalyAmy Elsner QUALIFIED
Aika T WhobreyGermanyAmy Elsner RENEWAL
Antonio E AmigonFranceElwin Sharvill QUALIFIED
David Q FlosiItalyAnna Fali RENEWAL
Aruna W NestleCanadaOnyama Limba UNQUALIFIED
Costa M InouyeCanadaOnyama Limba NEGOTIATION
Mujtaba K PoquetteRussiaAsiya Javayant RENEWAL
Stacey C MarrierSpainAmy Elsner PROPOSAL
Costa W SaylorsCanadaIoni Bowcher QUALIFIED
Munro B DoeGermanyOnyama Limba NEGOTIATION
Costa H DoeCanadaXuxue Feng NEW
Munro M CampainBrazilAsiya Javayant PROPOSAL
Arvin G MacleadIndiaAsiya Javayant NEW
Deepesh V WhobreySpainAsiya Javayant NEGOTIATION
Antonio J VenereRussiaAnna Fali QUALIFIED
Morrow K GillianCanadaXuxue Feng NEGOTIATION
Aditya K RoysterIndiaBernardo Dominic UNQUALIFIED
Salvatore O NickaGermanyAsiya Javayant PROPOSAL
Aditya Q RimRussiaAnna Fali NEGOTIATION
Aruna U SergiFranceIoni Bowcher PROPOSAL
Jennifer C FlosiRussiaStephen Shaw QUALIFIED
Octavia Q ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues A ChuiFranceElwin Sharvill QUALIFIED
David H GarufiSpainIvan Magalhaes NEW
Johnson G PaprockiItalyBernardo Dominic NEGOTIATION
Isabel O PoquetteSpainElwin Sharvill RENEWAL
Johnson B ButtJapanIoni Bowcher NEGOTIATION
Darci R GlickBrazilAmy Elsner RENEWAL
Claire V CaudyGermanyIoni Bowcher NEGOTIATION
Stacey V DoeIndiaStephen Shaw QUALIFIED
Frozen Columns
Name
Deepesh J Marrier
Kaitlin H Vocelka
Salvatore O Wieser
Jeanfrancois K Briddick
Maria F Bowley
Nicolas X Shinko
Leja D Chui
James Y Darakjy
Arvin R Saylors
Maria O Bolognia
Stacey F Rim
Wickens M Schemmer
Munro E Campain
Faith R Paprocki
Wickens X Sergi
Alejandro I Tollner
Munro P Dilliard
Julie E Ferencz
Aika W Iturbide
Aditya I Bowley
Murillo J Inouye
Antonio J Iturbide
Mayumi A Oldroyd
Costa H Dilliard
Maria Z Caldarera
Jefferson M Perin
Arvin Z Dilliard
Sinclair E Butt
Aditya E Perin
Maria J Whobrey
Misaki U Inouye
Leon P Gaucho
Jeanfrancois H Kolmetz
Jeanfrancois X Shinko
Mujtaba D Perin
Misaki I Oldroyd
Smith O Gaucho
Wickens K Maclead
Arvin X Tollner
Leja N Chui
Rodrigues Z Schemmer
Tony B Gillian
Munro W Stenseth
Silvio X Caudy
Octavia O Gaucho
Costa O Butt
Kadeem U Bolognia
Arvin U Morasca
Jones A Shinko
Salvatore M Nicka
IdCountryDate
1000Japan2024-05-24
1001Germany2024-05-22
1002Australia2024-05-27
1003Italy2024-05-26
1004Argentina2024-05-28
1005Spain2024-06-02
1006France2024-05-24
1007Australia2024-06-12
1008Japan2024-05-20
1009United Kingdom2024-06-11
1010Germany2024-06-09
1011Germany2024-06-03
1012Brazil2024-06-08
1013Canada2024-06-15
1014United Kingdom2024-06-18
1015United Kingdom2024-06-03
1016Australia2024-06-06
1017Germany2024-06-14
1018Spain2024-06-11
1019Brazil2024-06-16
1020Australia2024-06-04
1021Canada2024-06-18
1022United Kingdom2024-06-11
1023United Kingdom2024-05-26
1024Russia2024-05-25
1025Germany2024-05-27
1026Spain2024-06-11
1027Brazil2024-05-28
1028United Kingdom2024-05-28
1029Argentina2024-05-29
1030Argentina2024-05-29
1031Germany2024-06-10
1032Spain2024-06-08
1033India2024-06-02
1034Spain2024-05-25
1035Canada2024-05-30
1036Brazil2024-06-02
1037Brazil2024-05-22
1038Russia2024-06-10
1039Spain2024-05-21
1040India2024-05-23
1041Australia2024-05-25
1042Spain2024-06-06
1043United Kingdom2024-06-10
1044United Kingdom2024-05-29
1045Germany2024-06-01
1046Germany2024-05-21
1047Italy2024-05-25
1048India2024-05-31
1049United Kingdom2024-06-07

On-Demand Data

NameIdCountryDate
Jennifer W Darakjy1000Spain2024-05-26
Stacey K Malet1001France2024-06-02
Francesco S Whobrey1002Japan2024-06-10
Aditya Z Kusko1003India2024-06-13
Maria F Vocelka1004Canada2024-05-24
Sinclair R Glick1005Australia2024-05-26
Jennifer H Butt1006Spain2024-05-30
Faith T Rulapaugh1007France2024-05-24
Johnson S Gaucho1008Canada2024-05-21
Aika X Maclead1009Canada2024-06-14
Chavez N Saylors1010Brazil2024-05-27
Ricardo P Kolmetz1011Argentina2024-05-31
Aika A Foller1012Italy2024-06-05
Izzy M Schemmer1013Canada2024-05-28
Ashley E Tollner1014Argentina2024-05-22
Leon L Ruta1015Brazil2024-06-13
Leja L Shinko1016Japan2024-05-24
Munro B Nestle1017Russia2024-06-13
Jennifer F Bowley1018Italy2024-05-22
Murillo Y Darakjy1019Germany2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem R VocelkaFranceIvan Magalhaes PROPOSAL
Aruna I CaudyIndiaIoni Bowcher NEGOTIATION
Isabel J MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Chavez N FerenczSpainAsiya Javayant QUALIFIED
Jennifer Q DilliardBrazilAnna Fali NEGOTIATION
Clifford A RutaCanadaOnyama Limba NEGOTIATION
Sinclair F SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues F BowleyUnited KingdomBernardo Dominic NEW
Julie X StockhamJapanIvan Magalhaes RENEWAL
Misaki H WhobreyAustraliaStephen Shaw RENEWAL
Sinclair X GlickSpainIoni Bowcher UNQUALIFIED
Jennifer L FigeroaIndiaOnyama Limba UNQUALIFIED
Jones J SlusarskiArgentinaOnyama Limba PROPOSAL
Johnson N FollerItalyElwin Sharvill QUALIFIED
Morrow Z AlbaresItalyXuxue Feng NEW
Sinclair Y PaprockiRussiaStephen Shaw NEGOTIATION
Alejandro W GillianArgentinaAmy Elsner NEGOTIATION
Octavia E FerenczUnited KingdomIvan Magalhaes QUALIFIED
Maisha D BologniaGermanyAmy Elsner UNQUALIFIED
Chavez Q FigeroaRussiaOnyama Limba NEW
David E MacleadSpainAsiya Javayant QUALIFIED
Jeanfrancois Q CaudyUnited KingdomAmy Elsner PROPOSAL
Darci V FigeroaArgentinaIoni Bowcher QUALIFIED
Arvin T StensethFranceStephen Shaw RENEWAL
Rodrigues J KolmetzUnited KingdomAmy Elsner NEGOTIATION
Costa C VocelkaAustraliaIvan Magalhaes RENEWAL
Izzy M AlbaresJapanStephen Shaw NEGOTIATION
Kaitlin P GlickGermanyAsiya Javayant UNQUALIFIED
Aruna P CaldareraAustraliaOnyama Limba RENEWAL
Wickens G RoysterCanadaXuxue Feng QUALIFIED
Aditya E StensethArgentinaStephen Shaw NEW
Cody S DarakjyJapanAsiya Javayant QUALIFIED
Maisha H FigeroaRussiaAnna Fali NEGOTIATION
Jennifer E DoeArgentinaIvan Magalhaes NEGOTIATION
Aditya Z StensethItalyAsiya Javayant QUALIFIED
Leon X MorascaJapanStephen Shaw RENEWAL
Aditya E GauchoGermanyIoni Bowcher UNQUALIFIED
Salvatore M BowleyFranceIoni Bowcher PROPOSAL
Ricardo W ShinkoAustraliaStephen Shaw RENEWAL
David E RimAustraliaOnyama Limba NEW

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