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
Leja R KolmetzUnited KingdomAmy Elsner QUALIFIED
Kaitlin T OldroydJapanOnyama Limba UNQUALIFIED
Nicolas O AlbaresFranceAsiya Javayant NEW
Smith U PerinSpainAmy Elsner RENEWAL
Aika Z GlickArgentinaOnyama Limba UNQUALIFIED
Jefferson W PoquetteGermanyElwin Sharvill NEW
Mayumi C CampainCanadaXuxue Feng QUALIFIED
Faith L VenereAustraliaStephen Shaw NEGOTIATION
David Q StensethRussiaIvan Magalhaes NEGOTIATION
Antonio T OstroskyArgentinaAmy Elsner NEW
Johnson S PoquetteSpainIoni Bowcher NEGOTIATION
Francesco U NickaBrazilXuxue Feng NEGOTIATION
Morrow K PerinGermanyStephen Shaw PROPOSAL
Antonio V DarakjyFranceIvan Magalhaes RENEWAL
Morrow K GlickBrazilAmy Elsner QUALIFIED
Francesco E StensethItalyAsiya Javayant NEW
Morrow Z PerinJapanAmy Elsner NEGOTIATION
Silvio O AmigonIndiaIoni Bowcher RENEWAL
Emily Y SchemmerUnited KingdomStephen Shaw PROPOSAL
Salvatore L PaprockiFranceElwin Sharvill NEGOTIATION
Arvin Q IturbideArgentinaXuxue Feng QUALIFIED
James H ShinkoSpainOnyama Limba QUALIFIED
Darci J WieserUnited KingdomIvan Magalhaes NEGOTIATION
Adams A FollerGermanyAnna Fali UNQUALIFIED
Sinclair I IturbideRussiaXuxue Feng NEGOTIATION
Chavez M RimArgentinaOnyama Limba QUALIFIED
Alejandro V WieserRussiaBernardo Dominic PROPOSAL
Rodrigues T FigeroaSpainElwin Sharvill NEGOTIATION
Wickens Y SlusarskiItalyStephen Shaw RENEWAL
Aditya Q AlbaresSpainOnyama Limba PROPOSAL
Smith V MaletRussiaAsiya Javayant RENEWAL
Aika Y IturbideFranceIoni Bowcher QUALIFIED
Mayumi L WhobreyIndiaBernardo Dominic UNQUALIFIED
Kadeem I SlusarskiUnited KingdomOnyama Limba RENEWAL
Silvio Y DoeAustraliaBernardo Dominic UNQUALIFIED
Faith I WieserJapanBernardo Dominic NEW
Morrow Y SaylorsFranceElwin Sharvill RENEWAL
Juan U BowleyBrazilIvan Magalhaes PROPOSAL
Leja P ButtRussiaElwin Sharvill RENEWAL
Octavia C SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Chavez A TollnerUnited KingdomOnyama Limba NEW
Kadeem C PerinArgentinaAmy Elsner NEGOTIATION
Silvio V GlickItalyAsiya Javayant NEGOTIATION
Juan F StensethCanadaOnyama Limba NEW
Alejandro P PaprockiItalyAnna Fali QUALIFIED
Antonio L FlosiSpainAnna Fali QUALIFIED
Wickens S WaycottItalyAmy Elsner PROPOSAL
Maisha T CaudyGermanyBernardo Dominic RENEWAL
Ricardo M NickaArgentinaIvan Magalhaes PROPOSAL
Claire O GauchoAustraliaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens R PerinArgentinaOnyama Limba PROPOSAL
Clifford F StensethUnited KingdomAsiya Javayant QUALIFIED
Stacey L KuskoUnited KingdomBernardo Dominic QUALIFIED
Juan Y CaldareraAustraliaOnyama Limba NEGOTIATION
Stacey O NestleItalyAnna Fali NEGOTIATION
Ivar I GauchoCanadaStephen Shaw QUALIFIED
Clifford W RoysterJapanIvan Magalhaes RENEWAL
Arvin M ChuiRussiaIoni Bowcher NEW
Faith P MorascaUnited KingdomStephen Shaw NEW
Kaitlin J RoysterArgentinaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie X MacleadAustralia2024-06-14Dorl, James J Esq UNQUALIFIED38Onyama Limba
1001Aika Z MaletItaly2024-06-18Chemel, James L Cpa UNQUALIFIED14Asiya Javayant
1002Deepesh F NestleFrance2024-06-21Benton, John B Jr NEGOTIATION51Amy Elsner
1003Jones N BowleyBrazil2024-06-15Chanay, Jeffrey A Esq NEW56Asiya Javayant
1004Darci Y GarufiArgentina2024-05-26Buckley Miller Wright NEGOTIATION69Ioni Bowcher
1005Chavez O NickaFrance2024-06-06King, Christopher A Esq NEW81Ivan Magalhaes
1006Munro O OstroskyRussia2024-06-03Rousseaux, Michael Esq QUALIFIED84Ioni Bowcher
1007Claire J PaprockiRussia2024-06-09Chapman, Ross E Esq RENEWAL0Asiya Javayant
1008Izzy H MarrierAustralia2024-06-11Buckley Miller Wright RENEWAL37Ioni Bowcher
1009Munro N FerenczJapan2024-06-21Feltz Printing Service UNQUALIFIED11Ioni Bowcher
1010Maisha W SergiItaly2024-06-19Chapman, Ross E Esq NEW98Xuxue Feng
1011Smith A AlbaresItaly2024-06-01Rousseaux, Michael Esq RENEWAL55Asiya Javayant
1012Darci U TollnerUnited Kingdom2024-06-17Benton, John B Jr NEGOTIATION53Anna Fali
1013Murillo O WaycottJapan2024-06-08Commercial Press QUALIFIED63Xuxue Feng
1014Clifford Y CaldareraArgentina2024-05-28Feiner Bros PROPOSAL87Asiya Javayant
1015Leja I DilliardUnited Kingdom2024-05-27Buckley Miller Wright UNQUALIFIED60Elwin Sharvill
1016Jeanfrancois R SchemmerJapan2024-05-24Feiner Bros NEW46Amy Elsner
1017Chavez M GarufiCanada2024-05-27Chanay, Jeffrey A Esq NEGOTIATION35Xuxue Feng
1018Faith J MaletBrazil2024-06-15Rousseaux, Michael Esq UNQUALIFIED55Ivan Magalhaes
1019Alejandro M MaletAustralia2024-06-12King, Christopher A Esq NEGOTIATION61Asiya Javayant
1020Wickens V PaprockiIndia2024-06-15Rangoni Of Florence UNQUALIFIED31Ivan Magalhaes
1021Leon H GillianItaly2024-05-30King, Christopher A Esq NEGOTIATION37Amy Elsner
1022Mujtaba K RimItaly2024-06-13Commercial Press NEGOTIATION79Ivan Magalhaes
1023Leja Z AmigonJapan2024-06-02Rangoni Of Florence UNQUALIFIED84Elwin Sharvill
1024Rodrigues X MorascaUnited Kingdom2024-06-15Truhlar And Truhlar Attys NEGOTIATION13Xuxue Feng
1025Deepesh G StensethFrance2024-06-05Morlong Associates UNQUALIFIED15Xuxue Feng
1026Nicolas P DilliardItaly2024-06-12Buckley Miller Wright QUALIFIED26Stephen Shaw
1027Maisha J DarakjyBrazil2024-06-19Feiner Bros PROPOSAL16Onyama Limba
1028Ivar C BologniaCanada2024-06-21Rangoni Of Florence PROPOSAL12Ivan Magalhaes
1029Octavia Y PerinSpain2024-06-03Morlong Associates NEGOTIATION24Asiya Javayant
1030Jennifer N VocelkaUnited Kingdom2024-05-31Rousseaux, Michael Esq NEGOTIATION65Onyama Limba
1031Silvio A GlickFrance2024-05-25Rousseaux, Michael Esq UNQUALIFIED23Ivan Magalhaes
1032David W PaprockiItaly2024-06-02Morlong Associates NEGOTIATION74Asiya Javayant
1033Jennifer X StockhamJapan2024-06-22King, Christopher A Esq PROPOSAL37Elwin Sharvill
1034Claire G BriddickJapan2024-06-03King, Christopher A Esq NEW19Ivan Magalhaes
1035Darci V WaycottFrance2024-06-11Commercial Press NEW15Ivan Magalhaes
1036Antonio G MorascaBrazil2024-05-28Feiner Bros QUALIFIED99Bernardo Dominic
1037Salvatore I NickaRussia2024-05-29Chemel, James L Cpa RENEWAL70Ivan Magalhaes
1038Aika E NestleGermany2024-06-01Feltz Printing Service RENEWAL74Xuxue Feng
1039Costa O AmigonGermany2024-05-26Benton, John B Jr UNQUALIFIED84Elwin Sharvill
1040Maisha F IturbideAustralia2024-06-16Truhlar And Truhlar Attys QUALIFIED18Ivan Magalhaes
1041Jeanfrancois P MorascaRussia2024-06-16Rangoni Of Florence UNQUALIFIED82Anna Fali
1042Deepesh H OldroydJapan2024-06-11Benton, John B Jr NEW38Elwin Sharvill
1043Maria W VenereSpain2024-05-28Rousseaux, Michael Esq QUALIFIED22Stephen Shaw
1044Jefferson G WaycottGermany2024-05-28Dorl, James J Esq NEW71Ivan Magalhaes
1045Sinclair E FerenczRussia2024-06-14Commercial Press NEGOTIATION49Ioni Bowcher
1046Rodrigues Z InouyeRussia2024-06-16Chanay, Jeffrey A Esq NEW27Ioni Bowcher
1047Julie K OstroskyGermany2024-06-12Rangoni Of Florence UNQUALIFIED3Elwin Sharvill
1048Antonio G OldroydCanada2024-06-21Chanay, Jeffrey A Esq NEGOTIATION91Ivan Magalhaes
1049Juan W NestleGermany2024-05-26Morlong Associates RENEWAL88Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Deepesh I OldroydArgentinaStephen Shaw NEGOTIATION
Greenwood M RoysterBrazilBernardo Dominic PROPOSAL
Rodrigues R KolmetzBrazilAmy Elsner NEW
Tony L ShinkoSpainBernardo Dominic RENEWAL
Johnson U KuskoRussiaXuxue Feng QUALIFIED
Isabel A SergiFranceBernardo Dominic RENEWAL
Claire P RoysterSpainIvan Magalhaes PROPOSAL
Mayumi Y CaldareraFranceIoni Bowcher NEGOTIATION
Cody N RulapaughUnited KingdomAnna Fali QUALIFIED
David Q ChuiUnited KingdomIoni Bowcher NEGOTIATION
Darci D AmigonIndiaStephen Shaw QUALIFIED
Silvio Y GillianAustraliaXuxue Feng NEGOTIATION
Izzy J BriddickSpainOnyama Limba RENEWAL
Maria Y DoeArgentinaOnyama Limba RENEWAL
Jefferson X CampainArgentinaOnyama Limba QUALIFIED
Stacey H SlusarskiBrazilXuxue Feng PROPOSAL
Morrow G InouyeItalyOnyama Limba NEGOTIATION
Silvio O GillianIndiaIoni Bowcher RENEWAL
Munro H StensethIndiaBernardo Dominic NEW
Clifford O PaprockiArgentinaAnna Fali RENEWAL
Costa M OstroskyGermanyElwin Sharvill RENEWAL
Isabel L GlickCanadaXuxue Feng NEGOTIATION
Aruna L FigeroaGermanyIvan Magalhaes RENEWAL
Mujtaba A GarufiFranceElwin Sharvill QUALIFIED
Stacey F ChuiAustraliaElwin Sharvill QUALIFIED
Costa F RutaItalyIoni Bowcher UNQUALIFIED
Murillo E GlickCanadaIvan Magalhaes NEW
Tony R FerenczCanadaOnyama Limba PROPOSAL
Kaitlin I DoeItalyIoni Bowcher NEW
Maria R IturbideArgentinaBernardo Dominic PROPOSAL
Ricardo N GauchoJapanIoni Bowcher RENEWAL
Darci E OldroydFranceBernardo Dominic QUALIFIED
Francesco I PoquetteSpainStephen Shaw UNQUALIFIED
Tony D FlosiItalyIoni Bowcher NEW
Leja O WieserRussiaAnna Fali NEW
Costa E VenereIndiaOnyama Limba RENEWAL
Jones U ShinkoRussiaAmy Elsner QUALIFIED
Murillo T WhobreySpainAmy Elsner UNQUALIFIED
Juan V RoysterArgentinaStephen Shaw NEGOTIATION
Juan E GarufiSpainIoni Bowcher QUALIFIED
Emily D PerinBrazilIoni Bowcher PROPOSAL
Julie Z TollnerJapanOnyama Limba NEGOTIATION
Smith R IturbideSpainAsiya Javayant UNQUALIFIED
Wickens P SaylorsItalyAsiya Javayant PROPOSAL
Maria T MaletAustraliaOnyama Limba NEGOTIATION
Kaitlin Q MaletGermanyStephen Shaw RENEWAL
Chavez L StensethBrazilXuxue Feng RENEWAL
Juan W FollerBrazilOnyama Limba PROPOSAL
Jennifer O CaldareraSpainOnyama Limba NEW
Jennifer E MacleadFranceIvan Magalhaes PROPOSAL
Frozen Columns
Name
Juan F Venere
Clifford Q Nicka
Emily I Glick
Mujtaba G Malet
Leja M Doe
Mujtaba M Poquette
Arvin U Marrier
Morrow B Poquette
David J Maclead
Smith Z Doe
Jefferson S Rulapaugh
Adams L Darakjy
Misaki Q Figeroa
Ashley D Kusko
David E Rim
Emily T Wieser
Claire H Iturbide
Juan F Chui
Izzy V Vocelka
Julie W Malet
Munro F Vocelka
Chavez K Perin
Murillo N Stockham
Maisha B Gaucho
Mayumi T Caudy
David V Perin
Izzy J Albares
Ashley A Gillian
Mujtaba L Shinko
Arvin N Poquette
Izzy H Morasca
Jeanfrancois U Perin
Emily Z Poquette
James E Gaucho
Adams I Rim
Jones C Oldroyd
Jones A Amigon
Maisha O Bowley
Faith S Kolmetz
Munro H Bolognia
Jeanfrancois G Iturbide
Deepesh F Inouye
James R Briddick
Jones H Albares
Cody V Inouye
Aruna C Figeroa
Mayumi X Stockham
Arvin I Paprocki
Ashley C Whobrey
Leon W Inouye
IdCountryDate
1000Germany2024-06-20
1001Japan2024-05-27
1002Italy2024-06-01
1003Japan2024-06-17
1004Spain2024-06-22
1005Japan2024-06-13
1006Italy2024-05-31
1007Japan2024-06-11
1008Japan2024-05-28
1009Germany2024-05-26
1010Russia2024-05-25
1011Canada2024-06-01
1012Canada2024-06-10
1013Spain2024-06-05
1014Germany2024-06-09
1015France2024-05-26
1016Argentina2024-06-15
1017Argentina2024-05-26
1018Germany2024-05-28
1019Argentina2024-06-07
1020Australia2024-06-12
1021United Kingdom2024-05-25
1022Australia2024-06-21
1023Brazil2024-06-13
1024Japan2024-06-11
1025India2024-06-09
1026Canada2024-06-18
1027Brazil2024-05-27
1028Russia2024-06-04
1029France2024-05-27
1030Brazil2024-06-03
1031Argentina2024-06-02
1032Canada2024-06-18
1033Russia2024-06-22
1034Germany2024-05-24
1035United Kingdom2024-06-14
1036Argentina2024-05-31
1037Japan2024-06-09
1038Argentina2024-06-03
1039India2024-06-15
1040Spain2024-06-07
1041Germany2024-06-10
1042United Kingdom2024-06-04
1043Italy2024-05-28
1044United Kingdom2024-06-05
1045United Kingdom2024-05-28
1046Italy2024-06-22
1047Argentina2024-06-13
1048United Kingdom2024-05-28
1049France2024-06-02

On-Demand Data

NameIdCountryDate
Ricardo J Ferencz1000Japan2024-06-12
Ivar M Sergi1001India2024-06-21
Aruna Q Wieser1002France2024-06-18
Kadeem V Whobrey1003Spain2024-05-28
Silvio Q Venere1004France2024-05-30
Adams A Gillian1005Australia2024-06-11
Smith Y Maclead1006Argentina2024-06-19
Silvio J Caudy1007France2024-06-09
Isabel Q Butt1008France2024-06-19
Cody W Malet1009Canada2024-05-31
Isabel Y Ostrosky1010Spain2024-05-24
Johnson Q Ruta1011Argentina2024-06-20
Smith M Rulapaugh1012Brazil2024-06-09
Jennifer B Butt1013Japan2024-06-07
Leon K Bolognia1014Canada2024-05-27
Deepesh L Briddick1015Italy2024-06-12
James O Rim1016Russia2024-05-31
Sinclair N Bolognia1017Spain2024-06-02
Rodrigues Z Perin1018Russia2024-06-01
Rodrigues C Slusarski1019Brazil2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood E KolmetzRussiaXuxue Feng NEW
Johnson F RulapaughAustraliaOnyama Limba UNQUALIFIED
Izzy X GarufiGermanyStephen Shaw NEW
Francesco Y KolmetzUnited KingdomAnna Fali PROPOSAL
Salvatore M RoysterItalyAsiya Javayant PROPOSAL
Darci O OldroydRussiaXuxue Feng PROPOSAL
Murillo U PerinUnited KingdomBernardo Dominic NEW
Jefferson V MaletItalyIoni Bowcher PROPOSAL
Claire H WaycottCanadaIvan Magalhaes PROPOSAL
Nicolas A BologniaArgentinaIvan Magalhaes RENEWAL
Tony O AmigonUnited KingdomOnyama Limba PROPOSAL
Aditya H AlbaresUnited KingdomAsiya Javayant NEW
Faith X OstroskyCanadaIoni Bowcher PROPOSAL
Octavia D BriddickSpainXuxue Feng NEW
Claire T GauchoSpainXuxue Feng RENEWAL
Ivar F MaletAustraliaAnna Fali NEGOTIATION
Adams T AmigonCanadaStephen Shaw RENEWAL
Ashley Q GillianAustraliaAnna Fali QUALIFIED
Alejandro T VenereJapanIoni Bowcher NEW
Izzy S DarakjyFranceOnyama Limba NEW
Claire T FigeroaRussiaBernardo Dominic QUALIFIED
Aditya F CaudyFranceBernardo Dominic PROPOSAL
Leja G RimBrazilElwin Sharvill NEGOTIATION
Francesco K MorascaIndiaElwin Sharvill RENEWAL
Clifford A ShinkoBrazilAsiya Javayant QUALIFIED
Juan Q BowleyFranceXuxue Feng NEW
Izzy E StensethJapanOnyama Limba UNQUALIFIED
Morrow M FollerArgentinaStephen Shaw PROPOSAL
Greenwood R ChuiUnited KingdomAsiya Javayant NEW
Kadeem Z TollnerFranceXuxue Feng UNQUALIFIED
Francesco B VenereAustraliaAmy Elsner UNQUALIFIED
Salvatore G VocelkaSpainAnna Fali RENEWAL
Mujtaba R VenereJapanStephen Shaw PROPOSAL
Morrow F VenereGermanyStephen Shaw QUALIFIED
Jeanfrancois B RulapaughItalyIvan Magalhaes NEGOTIATION
Alejandro I CaldareraItalyAsiya Javayant NEGOTIATION
Aruna L SaylorsItalyBernardo Dominic QUALIFIED
Jennifer Q VenereItalyStephen Shaw QUALIFIED
Sinclair A VenereAustraliaAnna Fali RENEWAL
Jennifer I PerinArgentinaAnna Fali NEGOTIATION

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