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
Jones M CampainAustraliaIvan Magalhaes RENEWAL
Darci E AmigonIndiaIvan Magalhaes UNQUALIFIED
Costa Y NickaBrazilAmy Elsner PROPOSAL
Sinclair Q OldroydUnited KingdomOnyama Limba NEW
Rodrigues K CaldareraCanadaXuxue Feng PROPOSAL
Sinclair S MarrierCanadaIoni Bowcher UNQUALIFIED
Darci Y KuskoUnited KingdomOnyama Limba PROPOSAL
Chavez L MaletUnited KingdomStephen Shaw QUALIFIED
Greenwood L RoysterItalyBernardo Dominic NEGOTIATION
Aditya Z BologniaUnited KingdomOnyama Limba NEW
Salvatore L AlbaresGermanyIoni Bowcher QUALIFIED
Morrow A MorascaRussiaAnna Fali UNQUALIFIED
Maisha A RoysterGermanyXuxue Feng RENEWAL
Costa N NestleCanadaIoni Bowcher PROPOSAL
Clifford B MaletFranceAmy Elsner RENEWAL
Silvio H StensethGermanyAsiya Javayant UNQUALIFIED
Maisha T ChuiBrazilIoni Bowcher QUALIFIED
Adams X BologniaGermanyOnyama Limba QUALIFIED
Kaitlin G ChuiArgentinaBernardo Dominic UNQUALIFIED
Leja M SaylorsUnited KingdomAsiya Javayant NEW
Misaki T SlusarskiIndiaOnyama Limba UNQUALIFIED
Julie V DarakjyIndiaAmy Elsner QUALIFIED
James K GarufiBrazilIoni Bowcher NEGOTIATION
Sinclair J InouyeArgentinaElwin Sharvill PROPOSAL
Rodrigues I GillianIndiaAmy Elsner NEW
Aditya Y FerenczRussiaOnyama Limba QUALIFIED
Emily U KolmetzBrazilStephen Shaw UNQUALIFIED
Leon T FerenczIndiaIvan Magalhaes NEW
Octavia W SlusarskiJapanXuxue Feng PROPOSAL
Johnson E BologniaArgentinaAnna Fali RENEWAL
Costa V KolmetzItalyAsiya Javayant RENEWAL
Claire Q RulapaughUnited KingdomIoni Bowcher RENEWAL
Emily Y RimAustraliaElwin Sharvill QUALIFIED
Maria S DoeCanadaXuxue Feng PROPOSAL
Misaki Q BriddickFranceXuxue Feng PROPOSAL
Smith M WhobreyCanadaElwin Sharvill RENEWAL
Stacey I MorascaFranceOnyama Limba NEGOTIATION
Darci O StensethAustraliaIoni Bowcher UNQUALIFIED
Munro G KuskoJapanAnna Fali UNQUALIFIED
Clifford U CaudyArgentinaOnyama Limba QUALIFIED
Clifford K FigeroaFranceIvan Magalhaes UNQUALIFIED
Mayumi E SergiAustraliaAmy Elsner PROPOSAL
Tony H TollnerFranceElwin Sharvill PROPOSAL
Aditya B GauchoBrazilIvan Magalhaes QUALIFIED
Aruna E InouyeItalyAnna Fali UNQUALIFIED
Aditya F SaylorsItalyElwin Sharvill NEW
Salvatore W ChuiGermanyStephen Shaw UNQUALIFIED
Alejandro W MaletCanadaAmy Elsner NEW
Nicolas K SaylorsSpainBernardo Dominic NEGOTIATION
Leja D PoquetteAustraliaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David E SergiAustraliaIvan Magalhaes UNQUALIFIED
Arvin H BologniaJapanElwin Sharvill RENEWAL
Sinclair G RimItalyAsiya Javayant NEW
Alejandro R BowleyBrazilXuxue Feng PROPOSAL
Jeanfrancois D MarrierUnited KingdomIoni Bowcher PROPOSAL
Misaki M KuskoBrazilBernardo Dominic UNQUALIFIED
Maria K MaletGermanyBernardo Dominic UNQUALIFIED
Mujtaba L FigeroaIndiaAmy Elsner RENEWAL
Johnson K BriddickJapanIvan Magalhaes NEW
Mujtaba A VocelkaIndiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio B OstroskyIndia2024-06-12Truhlar And Truhlar Attys PROPOSAL86Asiya Javayant
1001Juan Z BriddickIndia2024-06-08Dorl, James J Esq RENEWAL7Xuxue Feng
1002Chavez D ShinkoArgentina2024-06-15Chemel, James L Cpa QUALIFIED26Stephen Shaw
1003Maisha V WhobreyAustralia2024-05-31Chanay, Jeffrey A Esq NEGOTIATION16Amy Elsner
1004Izzy Z FollerCanada2024-06-16Rousseaux, Michael Esq NEGOTIATION22Xuxue Feng
1005Leja K CaldareraGermany2024-06-02Buckley Miller Wright QUALIFIED48Stephen Shaw
1006Leja U OstroskyBrazil2024-06-20Chemel, James L Cpa NEW78Xuxue Feng
1007David T SchemmerGermany2024-05-31Benton, John B Jr UNQUALIFIED98Stephen Shaw
1008Murillo O MorascaItaly2024-06-12Buckley Miller Wright NEGOTIATION29Bernardo Dominic
1009Arvin O FlosiSpain2024-06-07Printing Dimensions RENEWAL9Stephen Shaw
1010Silvio A PoquetteArgentina2024-05-23Truhlar And Truhlar Attys RENEWAL83Elwin Sharvill
1011Jeanfrancois Z RutaBrazil2024-06-16Commercial Press UNQUALIFIED92Stephen Shaw
1012Jones M KuskoFrance2024-06-13Commercial Press NEW22Anna Fali
1013Greenwood Z RulapaughJapan2024-05-30Buckley Miller Wright NEGOTIATION66Asiya Javayant
1014Cody K StensethSpain2024-05-28Chapman, Ross E Esq NEW92Amy Elsner
1015Ashley Q VenereItaly2024-06-01Printing Dimensions PROPOSAL99Asiya Javayant
1016Izzy K FigeroaSpain2024-06-12Rangoni Of Florence UNQUALIFIED60Bernardo Dominic
1017Darci J WhobreyJapan2024-05-30Rousseaux, Michael Esq NEW15Ioni Bowcher
1018Johnson V RulapaughSpain2024-06-06Feiner Bros NEW95Amy Elsner
1019Rodrigues P GillianUnited Kingdom2024-06-15Buckley Miller Wright NEW29Ioni Bowcher
1020Maisha N VocelkaItaly2024-06-12Rangoni Of Florence QUALIFIED87Asiya Javayant
1021Ashley P SchemmerJapan2024-06-01Rangoni Of Florence QUALIFIED74Ioni Bowcher
1022Maria P GlickSpain2024-06-09Chapman, Ross E Esq NEW59Asiya Javayant
1023Sinclair D RoysterCanada2024-06-15Buckley Miller Wright QUALIFIED4Ioni Bowcher
1024Nicolas Y MaletAustralia2024-06-03King, Christopher A Esq NEW48Elwin Sharvill
1025Jeanfrancois C StensethItaly2024-05-24Truhlar And Truhlar Attys RENEWAL46Anna Fali
1026Rodrigues Y FollerSpain2024-05-23Morlong Associates UNQUALIFIED68Elwin Sharvill
1027David B NestleUnited Kingdom2024-06-04Rousseaux, Michael Esq PROPOSAL28Xuxue Feng
1028Greenwood N MaletRussia2024-05-30Buckley Miller Wright QUALIFIED68Amy Elsner
1029Claire K SchemmerFrance2024-05-25Chemel, James L Cpa RENEWAL70Onyama Limba
1030Leja D RulapaughItaly2024-06-02Feltz Printing Service QUALIFIED27Elwin Sharvill
1031Ricardo D GillianAustralia2024-06-17Printing Dimensions NEW59Amy Elsner
1032Aditya I FollerJapan2024-06-02Benton, John B Jr PROPOSAL87Amy Elsner
1033Octavia H PoquetteBrazil2024-06-07Dorl, James J Esq NEGOTIATION71Stephen Shaw
1034Jones Q AmigonItaly2024-06-16Chemel, James L Cpa NEGOTIATION5Bernardo Dominic
1035James U RulapaughItaly2024-06-21Truhlar And Truhlar Attys RENEWAL17Bernardo Dominic
1036Alejandro L OstroskyGermany2024-05-26Commercial Press QUALIFIED70Elwin Sharvill
1037Nicolas E NestleRussia2024-05-23Dorl, James J Esq NEW5Bernardo Dominic
1038Cody R IturbideBrazil2024-05-24Chapman, Ross E Esq QUALIFIED63Asiya Javayant
1039Juan M RutaItaly2024-05-26Chapman, Ross E Esq QUALIFIED87Stephen Shaw
1040Chavez T VenereRussia2024-05-30Truhlar And Truhlar Attys NEGOTIATION19Xuxue Feng
1041Maria D DoeSpain2024-05-25Feltz Printing Service NEW77Anna Fali
1042Ivar T StockhamUnited Kingdom2024-05-31Morlong Associates RENEWAL95Asiya Javayant
1043Aika K SchemmerUnited Kingdom2024-06-05Chapman, Ross E Esq QUALIFIED61Anna Fali
1044Chavez H WieserFrance2024-05-31Commercial Press UNQUALIFIED22Asiya Javayant
1045Jefferson T InouyeArgentina2024-05-29King, Christopher A Esq PROPOSAL85Asiya Javayant
1046Sinclair K WhobreyItaly2024-05-28Morlong Associates QUALIFIED4Xuxue Feng
1047Izzy D SlusarskiItaly2024-06-03Benton, John B Jr QUALIFIED19Ivan Magalhaes
1048Munro E GauchoAustralia2024-05-30Chanay, Jeffrey A Esq PROPOSAL29Ivan Magalhaes
1049Nicolas B StensethCanada2024-06-06Commercial Press UNQUALIFIED25Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Octavia V BologniaSpainAmy Elsner QUALIFIED
Jones E FerenczCanadaStephen Shaw NEGOTIATION
Wickens B FigeroaGermanyStephen Shaw PROPOSAL
Stacey Y IturbideCanadaBernardo Dominic PROPOSAL
Maisha P WaycottAustraliaBernardo Dominic PROPOSAL
Kadeem F KuskoJapanAmy Elsner PROPOSAL
Isabel I ButtUnited KingdomAmy Elsner PROPOSAL
Ricardo S AlbaresIndiaBernardo Dominic PROPOSAL
Munro G GauchoSpainAsiya Javayant RENEWAL
Salvatore Q WaycottJapanOnyama Limba PROPOSAL
Silvio S RulapaughFranceElwin Sharvill NEW
Juan X KuskoBrazilIoni Bowcher NEGOTIATION
Munro A WaycottArgentinaAsiya Javayant PROPOSAL
Francesco R RimRussiaStephen Shaw NEGOTIATION
Kaitlin T VenereBrazilAnna Fali UNQUALIFIED
Emily M OstroskyIndiaStephen Shaw QUALIFIED
Munro U ChuiItalyElwin Sharvill NEGOTIATION
Ashley K NestleFranceOnyama Limba RENEWAL
Maria D FigeroaArgentinaStephen Shaw PROPOSAL
Aruna Y GauchoBrazilOnyama Limba PROPOSAL
Jones W NickaFranceIoni Bowcher NEGOTIATION
Murillo I KolmetzFranceXuxue Feng NEW
Misaki W SchemmerSpainXuxue Feng NEGOTIATION
Arvin I MaletIndiaIoni Bowcher UNQUALIFIED
Antonio J KolmetzFranceElwin Sharvill PROPOSAL
Stacey M SchemmerArgentinaStephen Shaw NEW
Stacey R MorascaGermanyAnna Fali NEGOTIATION
Aika V VenereAustraliaAmy Elsner QUALIFIED
Misaki U GarufiAustraliaIvan Magalhaes NEGOTIATION
Darci U MacleadArgentinaIvan Magalhaes PROPOSAL
Francesco U InouyeRussiaXuxue Feng NEW
Deepesh Y BowleyFranceXuxue Feng RENEWAL
Kaitlin S VocelkaGermanyIoni Bowcher UNQUALIFIED
Silvio E NestleGermanyStephen Shaw UNQUALIFIED
Cody Q OstroskySpainBernardo Dominic RENEWAL
Stacey A PaprockiUnited KingdomAsiya Javayant RENEWAL
Johnson O CaldareraItalyElwin Sharvill NEW
Wickens F StensethRussiaIoni Bowcher UNQUALIFIED
Costa R FerenczAustraliaXuxue Feng NEW
Clifford P KolmetzBrazilXuxue Feng QUALIFIED
Aruna J KuskoUnited KingdomIoni Bowcher QUALIFIED
Mujtaba Z PaprockiItalyOnyama Limba RENEWAL
Salvatore L StensethBrazilIoni Bowcher NEGOTIATION
Emily T AmigonJapanElwin Sharvill UNQUALIFIED
Maisha M WaycottRussiaAmy Elsner RENEWAL
Ashley E NickaIndiaStephen Shaw QUALIFIED
Antonio D DarakjyUnited KingdomAmy Elsner NEGOTIATION
Costa O GillianCanadaIoni Bowcher RENEWAL
Stacey R GlickAustraliaBernardo Dominic NEGOTIATION
Isabel I RulapaughCanadaBernardo Dominic RENEWAL
Frozen Columns
Name
Morrow D Dilliard
Leon G Kolmetz
Aditya X Ruta
Aika I Ferencz
Claire Y Oldroyd
Stacey D Ruta
Ivar H Malet
Johnson G Saylors
Faith J Wieser
Aika O Caudy
Murillo G Bolognia
Mayumi K Albares
Kadeem S Waycott
Ricardo A Doe
Francesco K Flosi
Izzy U Kolmetz
Izzy K Campain
Ivar T Chui
Arvin Z Saylors
Sinclair E Garufi
Leon C Vocelka
Smith U Wieser
Cody N Shinko
Claire R Stockham
Mayumi Q Royster
Silvio B Tollner
Chavez S Maclead
Aruna D Nicka
Aditya E Rim
Faith Z Wieser
Octavia B Rulapaugh
Aruna Z Nestle
Jefferson S Rim
Wickens E Nestle
Jefferson O Shinko
Claire T Stenseth
Ricardo A Darakjy
Julie O Flosi
Greenwood M Rulapaugh
Ricardo T Butt
Greenwood V Morasca
Emily M Dilliard
Ashley R Maclead
Leon P Campain
Claire C Garufi
Clifford M Wieser
Misaki D Morasca
Ashley T Nestle
Isabel E Royster
Aika X Whobrey
IdCountryDate
1000Germany2024-06-02
1001India2024-05-30
1002Russia2024-06-03
1003Germany2024-06-19
1004Spain2024-06-05
1005United Kingdom2024-06-05
1006Spain2024-06-14
1007France2024-06-11
1008Brazil2024-06-16
1009Japan2024-06-01
1010Russia2024-06-08
1011Japan2024-06-14
1012Brazil2024-06-11
1013Argentina2024-06-12
1014Brazil2024-05-23
1015Argentina2024-06-15
1016Australia2024-06-20
1017India2024-06-21
1018Russia2024-06-09
1019Spain2024-06-10
1020United Kingdom2024-06-15
1021Italy2024-06-15
1022Russia2024-05-28
1023Brazil2024-05-28
1024Germany2024-06-06
1025India2024-06-07
1026Italy2024-06-15
1027France2024-05-24
1028Brazil2024-05-23
1029Italy2024-06-02
1030Russia2024-05-31
1031Germany2024-06-21
1032Italy2024-06-14
1033Australia2024-06-18
1034Japan2024-06-01
1035Italy2024-05-27
1036India2024-05-30
1037Canada2024-05-27
1038United Kingdom2024-05-24
1039United Kingdom2024-06-05
1040Italy2024-06-10
1041United Kingdom2024-05-28
1042France2024-05-31
1043India2024-06-13
1044France2024-06-21
1045Russia2024-06-19
1046Russia2024-06-07
1047United Kingdom2024-06-20
1048United Kingdom2024-06-11
1049Brazil2024-06-20

On-Demand Data

NameIdCountryDate
Munro J Kusko1000United Kingdom2024-06-06
Faith T Rim1001Australia2024-06-20
Murillo Q Marrier1002Canada2024-06-18
Kadeem R Stenseth1003India2024-06-03
Aruna Q Malet1004Italy2024-06-19
Jefferson Q Kolmetz1005Japan2024-06-19
Sinclair L Glick1006Brazil2024-06-19
Jeanfrancois J Butt1007Japan2024-06-01
Ricardo T Wieser1008Italy2024-05-24
Chavez H Caudy1009Italy2024-05-26
Juan N Garufi1010India2024-06-07
Isabel T Bowley1011Brazil2024-06-07
Isabel N Amigon1012India2024-05-25
Jennifer N Caldarera1013United Kingdom2024-06-20
Wickens V Bowley1014Japan2024-06-20
Darci O Saylors1015Italy2024-06-03
Nicolas M Malet1016Spain2024-05-28
Darci P Marrier1017India2024-06-18
Salvatore V Kolmetz1018Australia2024-05-28
Kaitlin T Marrier1019Spain2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens B GarufiAustraliaAnna Fali UNQUALIFIED
Mayumi G KolmetzGermanyAmy Elsner NEW
Isabel Q DoeFranceIvan Magalhaes NEW
Greenwood W WhobreyFranceElwin Sharvill UNQUALIFIED
David Y RulapaughIndiaElwin Sharvill PROPOSAL
Julie Z InouyeItalyOnyama Limba NEW
Rodrigues M SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Silvio X KuskoItalyIvan Magalhaes QUALIFIED
Murillo K FollerFranceAmy Elsner NEW
Greenwood R BowleyItalyStephen Shaw UNQUALIFIED
Mujtaba X GillianItalyElwin Sharvill UNQUALIFIED
Morrow T AlbaresCanadaXuxue Feng NEW
James U MacleadAustraliaAnna Fali NEGOTIATION
Jeanfrancois G WieserAustraliaIvan Magalhaes UNQUALIFIED
Isabel V RutaItalyAnna Fali RENEWAL
Alejandro F StockhamArgentinaIoni Bowcher UNQUALIFIED
Morrow M FollerItalyElwin Sharvill NEGOTIATION
Leon Y GauchoUnited KingdomIvan Magalhaes PROPOSAL
Ivar B MarrierRussiaAsiya Javayant RENEWAL
Leon A CaudyCanadaElwin Sharvill PROPOSAL
Kaitlin E OldroydFranceAnna Fali UNQUALIFIED
Jefferson R RulapaughUnited KingdomAsiya Javayant QUALIFIED
Julie B GlickRussiaOnyama Limba UNQUALIFIED
Faith Q MorascaGermanyElwin Sharvill PROPOSAL
Alejandro W WieserJapanElwin Sharvill PROPOSAL
Julie A AmigonSpainXuxue Feng NEGOTIATION
Smith Q GarufiAustraliaAmy Elsner PROPOSAL
Arvin P DarakjySpainIvan Magalhaes RENEWAL
Adams Y MacleadIndiaIoni Bowcher NEW
Francesco C RutaSpainAmy Elsner PROPOSAL
Ashley E BowleyAustraliaXuxue Feng RENEWAL
Kaitlin W ChuiAustraliaIoni Bowcher NEGOTIATION
Emily T StensethGermanyIvan Magalhaes NEGOTIATION
Claire F PoquetteGermanyIvan Magalhaes PROPOSAL
Wickens T MorascaCanadaAmy Elsner QUALIFIED
Jeanfrancois K RutaRussiaAnna Fali NEW
Aditya P KuskoArgentinaIoni Bowcher NEW
Antonio M FlosiFranceOnyama Limba QUALIFIED
Johnson V VenereFranceElwin Sharvill PROPOSAL
Clifford V MarrierGermanyAnna Fali 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>