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
Murillo Z BologniaCanadaAmy Elsner QUALIFIED
Mayumi S ShinkoBrazilStephen Shaw UNQUALIFIED
Costa R ShinkoRussiaAnna Fali NEGOTIATION
Munro P KuskoBrazilXuxue Feng UNQUALIFIED
Leja B ButtBrazilBernardo Dominic QUALIFIED
Cody H AlbaresBrazilAmy Elsner NEGOTIATION
Munro Z GillianItalyIoni Bowcher PROPOSAL
Chavez G SergiJapanStephen Shaw RENEWAL
Isabel I DilliardUnited KingdomXuxue Feng QUALIFIED
James Z BowleyItalyOnyama Limba NEW
Tony U SergiRussiaAnna Fali RENEWAL
Alejandro L DoeRussiaIoni Bowcher PROPOSAL
Antonio N FerenczSpainAsiya Javayant RENEWAL
Emily H RulapaughIndiaOnyama Limba QUALIFIED
Rodrigues O DarakjyAustraliaStephen Shaw NEW
Aditya R FollerSpainElwin Sharvill QUALIFIED
Emily W BowleyIndiaStephen Shaw PROPOSAL
Stacey S ShinkoJapanIvan Magalhaes UNQUALIFIED
Silvio D MaletArgentinaOnyama Limba QUALIFIED
Ivar D MorascaRussiaAnna Fali PROPOSAL
Salvatore U RimItalyBernardo Dominic NEW
Kaitlin L FlosiCanadaStephen Shaw RENEWAL
Julie N CaldareraCanadaOnyama Limba NEGOTIATION
James G WaycottItalyAsiya Javayant NEGOTIATION
Mayumi E MaletUnited KingdomBernardo Dominic PROPOSAL
Misaki K TollnerItalyXuxue Feng QUALIFIED
Faith A WieserGermanyBernardo Dominic UNQUALIFIED
Clifford G RoysterItalyStephen Shaw NEGOTIATION
Jeanfrancois B WhobreyUnited KingdomAsiya Javayant RENEWAL
Emily C GarufiSpainAnna Fali NEW
Emily B DilliardRussiaIvan Magalhaes PROPOSAL
Wickens C RimIndiaBernardo Dominic UNQUALIFIED
Jennifer N PoquetteJapanIvan Magalhaes RENEWAL
Morrow V StockhamIndiaIvan Magalhaes UNQUALIFIED
Isabel C InouyeIndiaIoni Bowcher NEW
James E GauchoUnited KingdomAnna Fali UNQUALIFIED
Sinclair Y RulapaughJapanBernardo Dominic NEGOTIATION
Smith X StockhamRussiaElwin Sharvill QUALIFIED
Julie L CaudyArgentinaAmy Elsner PROPOSAL
Deepesh G CaldareraUnited KingdomBernardo Dominic RENEWAL
Stacey E MaletUnited KingdomBernardo Dominic NEGOTIATION
Arvin N CampainFranceAnna Fali NEW
Jefferson O CampainJapanAsiya Javayant UNQUALIFIED
Silvio V CaudyIndiaElwin Sharvill NEW
Stacey U FlosiBrazilAnna Fali PROPOSAL
Clifford O FollerUnited KingdomIoni Bowcher NEW
Faith M GlickArgentinaAnna Fali RENEWAL
David C IturbideIndiaBernardo Dominic QUALIFIED
Clifford J PoquetteIndiaIvan Magalhaes NEGOTIATION
Misaki U VocelkaJapanIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia P RimUnited KingdomIvan Magalhaes NEGOTIATION
Cody I MaletItalyOnyama Limba UNQUALIFIED
Salvatore Q RulapaughGermanyAsiya Javayant NEW
Nicolas U CaudySpainBernardo Dominic NEW
Murillo U AmigonIndiaAmy Elsner RENEWAL
Maisha U SlusarskiItalyIoni Bowcher QUALIFIED
Aika Z AmigonItalyStephen Shaw NEGOTIATION
Mayumi S StockhamUnited KingdomIoni Bowcher QUALIFIED
Costa A VocelkaSpainXuxue Feng PROPOSAL
Kaitlin B BowleyCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria N IturbideRussia2024-06-19Chapman, Ross E Esq RENEWAL53Ivan Magalhaes
1001Salvatore P FollerRussia2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED24Onyama Limba
1002Aditya T FollerIndia2024-05-30Feltz Printing Service NEW69Xuxue Feng
1003Faith S SlusarskiJapan2024-05-30Rousseaux, Michael Esq QUALIFIED60Anna Fali
1004Aditya U GarufiUnited Kingdom2024-06-19Truhlar And Truhlar Attys RENEWAL76Xuxue Feng
1005Aika C IturbideSpain2024-06-06Chanay, Jeffrey A Esq PROPOSAL47Ioni Bowcher
1006Nicolas U GillianFrance2024-06-14Chapman, Ross E Esq NEGOTIATION82Amy Elsner
1007Chavez C RimJapan2024-06-18Dorl, James J Esq RENEWAL60Bernardo Dominic
1008Jeanfrancois B ShinkoGermany2024-06-04Printing Dimensions PROPOSAL9Asiya Javayant
1009Ashley V GlickBrazil2024-05-25Chapman, Ross E Esq UNQUALIFIED62Xuxue Feng
1010Adams R DoeJapan2024-05-30Rousseaux, Michael Esq NEGOTIATION1Asiya Javayant
1011Emily H WaycottUnited Kingdom2024-06-13Truhlar And Truhlar Attys NEGOTIATION41Ivan Magalhaes
1012Murillo S MarrierBrazil2024-06-18Feiner Bros RENEWAL51Onyama Limba
1013Aika M PerinCanada2024-06-11Commercial Press QUALIFIED99Bernardo Dominic
1014Francesco A MaletSpain2024-06-08Chapman, Ross E Esq NEGOTIATION24Ioni Bowcher
1015Kaitlin V IturbideGermany2024-06-16Benton, John B Jr RENEWAL29Ioni Bowcher
1016Mayumi V BriddickRussia2024-06-16Chemel, James L Cpa PROPOSAL52Stephen Shaw
1017Ashley H FollerUnited Kingdom2024-06-07Chemel, James L Cpa RENEWAL9Bernardo Dominic
1018Mujtaba X GarufiCanada2024-06-09Benton, John B Jr PROPOSAL92Elwin Sharvill
1019Ricardo X OstroskyBrazil2024-06-20Commercial Press RENEWAL6Ioni Bowcher
1020Antonio Y BologniaCanada2024-06-20Feltz Printing Service NEW23Onyama Limba
1021Antonio D BowleyGermany2024-05-30Rangoni Of Florence PROPOSAL66Bernardo Dominic
1022Jones Z SaylorsRussia2024-05-30Feltz Printing Service PROPOSAL79Onyama Limba
1023Jefferson O CaudyItaly2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED4Onyama Limba
1024Greenwood O CaldareraJapan2024-06-11Chapman, Ross E Esq UNQUALIFIED45Elwin Sharvill
1025Misaki T NestleCanada2024-06-20Morlong Associates RENEWAL32Anna Fali
1026Maria P KolmetzArgentina2024-06-03Feiner Bros NEW40Anna Fali
1027Jefferson H MaletFrance2024-05-28Chemel, James L Cpa PROPOSAL0Onyama Limba
1028Isabel Z RutaArgentina2024-06-06Feltz Printing Service PROPOSAL54Stephen Shaw
1029Adams U FigeroaRussia2024-06-03Feltz Printing Service NEGOTIATION47Bernardo Dominic
1030James L SergiGermany2024-06-22Feiner Bros QUALIFIED85Ivan Magalhaes
1031Juan V TollnerFrance2024-06-14Rousseaux, Michael Esq PROPOSAL23Ivan Magalhaes
1032Kaitlin W FigeroaCanada2024-05-24King, Christopher A Esq UNQUALIFIED38Xuxue Feng
1033Clifford K InouyeSpain2024-06-05Chapman, Ross E Esq PROPOSAL67Elwin Sharvill
1034Deepesh N OstroskyItaly2024-05-29Printing Dimensions PROPOSAL18Ioni Bowcher
1035Kadeem B DoeUnited Kingdom2024-06-07Rousseaux, Michael Esq RENEWAL72Onyama Limba
1036Costa B FigeroaIndia2024-06-12Dorl, James J Esq UNQUALIFIED28Asiya Javayant
1037Maria Z NickaUnited Kingdom2024-06-13Rangoni Of Florence RENEWAL20Ioni Bowcher
1038Greenwood U ShinkoIndia2024-06-12Buckley Miller Wright UNQUALIFIED29Ioni Bowcher
1039Cody Z TollnerBrazil2024-06-05Chanay, Jeffrey A Esq PROPOSAL96Anna Fali
1040Claire M OstroskyFrance2024-05-30Rangoni Of Florence NEGOTIATION27Anna Fali
1041Claire R CampainIndia2024-06-09King, Christopher A Esq QUALIFIED68Xuxue Feng
1042Clifford A GillianGermany2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED21Ioni Bowcher
1043Mujtaba G TollnerFrance2024-05-24Morlong Associates PROPOSAL59Anna Fali
1044Jeanfrancois F GillianAustralia2024-05-29Chemel, James L Cpa NEGOTIATION66Amy Elsner
1045Francesco U GillianSpain2024-06-16Truhlar And Truhlar Attys NEW55Ivan Magalhaes
1046Leon L KuskoArgentina2024-05-24King, Christopher A Esq QUALIFIED36Ivan Magalhaes
1047Emily E DilliardBrazil2024-06-06Buckley Miller Wright QUALIFIED10Elwin Sharvill
1048Leja U WaycottCanada2024-06-05Buckley Miller Wright RENEWAL87Stephen Shaw
1049Arvin J BologniaBrazil2024-06-04Truhlar And Truhlar Attys RENEWAL78Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Greenwood D RoysterBrazilElwin Sharvill QUALIFIED
Antonio X MacleadIndiaOnyama Limba RENEWAL
Aika E ButtRussiaElwin Sharvill UNQUALIFIED
Antonio F MaletBrazilIoni Bowcher NEGOTIATION
Darci Q KuskoItalyAnna Fali RENEWAL
Aditya Y PaprockiBrazilIoni Bowcher NEGOTIATION
Jefferson D WaycottArgentinaIoni Bowcher PROPOSAL
Stacey R StensethGermanyIoni Bowcher NEGOTIATION
Leja T GauchoItalyBernardo Dominic UNQUALIFIED
Kadeem I PaprockiCanadaIvan Magalhaes NEW
Arvin N NestleUnited KingdomAsiya Javayant UNQUALIFIED
Claire U PoquetteAustraliaAnna Fali NEGOTIATION
Misaki X BologniaCanadaIvan Magalhaes PROPOSAL
Clifford S MaletArgentinaAsiya Javayant PROPOSAL
Francesco C DarakjyFranceIvan Magalhaes RENEWAL
James R GillianBrazilIoni Bowcher PROPOSAL
Morrow K IturbideGermanyBernardo Dominic NEW
Darci K DilliardRussiaBernardo Dominic UNQUALIFIED
Julie W KuskoArgentinaAnna Fali NEW
Arvin P PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood U RoysterFranceIvan Magalhaes UNQUALIFIED
Mayumi K ShinkoSpainBernardo Dominic NEW
Salvatore D DarakjyGermanyAmy Elsner NEGOTIATION
Murillo D SchemmerArgentinaOnyama Limba QUALIFIED
David U OldroydFranceStephen Shaw NEW
Adams V SergiJapanElwin Sharvill NEW
Mujtaba X DilliardArgentinaXuxue Feng NEW
Aditya Z CaudyArgentinaXuxue Feng QUALIFIED
Stacey T SlusarskiJapanElwin Sharvill NEGOTIATION
Ivar R ButtRussiaAsiya Javayant RENEWAL
Salvatore D NestleJapanOnyama Limba NEGOTIATION
Ivar U GauchoRussiaAmy Elsner UNQUALIFIED
Alejandro M ShinkoItalyOnyama Limba UNQUALIFIED
Aruna O AmigonIndiaOnyama Limba QUALIFIED
Greenwood P SergiArgentinaIoni Bowcher PROPOSAL
Jones Z IturbideJapanAnna Fali RENEWAL
Ricardo K NickaGermanyIoni Bowcher UNQUALIFIED
Maisha H BologniaArgentinaAmy Elsner NEGOTIATION
Jeanfrancois S GlickAustraliaAnna Fali NEGOTIATION
Kadeem E FollerSpainAsiya Javayant UNQUALIFIED
James K AlbaresItalyElwin Sharvill RENEWAL
Antonio S SaylorsRussiaOnyama Limba UNQUALIFIED
Ashley O FlosiArgentinaAmy Elsner PROPOSAL
Adams V RulapaughIndiaElwin Sharvill UNQUALIFIED
Isabel T PoquetteCanadaBernardo Dominic PROPOSAL
Faith P MacleadArgentinaAmy Elsner UNQUALIFIED
Maisha X RutaArgentinaIoni Bowcher NEGOTIATION
Isabel A FigeroaArgentinaIoni Bowcher UNQUALIFIED
Misaki X PaprockiUnited KingdomAmy Elsner RENEWAL
Octavia T WieserGermanyIvan Magalhaes RENEWAL
Frozen Columns
Name
Johnson E Venere
Johnson K Tollner
Cody Z Marrier
Claire F Doe
Jones R Schemmer
Leja M Morasca
Clifford W Perin
Kadeem X Maclead
Salvatore W Flosi
Silvio D Gaucho
Munro A Rim
Silvio W Briddick
Misaki Y Tollner
Aika C Rim
David Y Vocelka
Darci T Marrier
Munro V Malet
Mayumi W Stockham
Maria N Oldroyd
Arvin O Nicka
Murillo W Kusko
Cody U Butt
Sinclair G Butt
David L Kusko
Leja J Albares
Sinclair Y Waycott
Mayumi A Royster
Jones I Dilliard
Francesco W Kolmetz
Deepesh R Ruta
Izzy T Marrier
Jones B Whobrey
Alejandro P Perin
Clifford T Ostrosky
Aruna K Gillian
Aditya R Saylors
Claire M Royster
Faith L Paprocki
Izzy B Tollner
Mujtaba P Waycott
Tony M Gillian
Adams E Sergi
Faith C Ruta
Adams O Maclead
James P Garufi
Aruna H Maclead
Aditya I Caudy
Costa F Gaucho
Wickens Y Ostrosky
Izzy W Kusko
IdCountryDate
1000France2024-06-06
1001France2024-06-02
1002Argentina2024-06-15
1003France2024-06-14
1004Spain2024-06-12
1005Italy2024-06-03
1006Canada2024-05-27
1007Russia2024-06-06
1008Australia2024-05-28
1009Brazil2024-05-28
1010United Kingdom2024-05-29
1011India2024-06-02
1012Argentina2024-06-02
1013Brazil2024-05-28
1014Australia2024-06-19
1015India2024-05-28
1016Australia2024-06-02
1017Canada2024-05-30
1018Australia2024-06-14
1019Argentina2024-05-31
1020Germany2024-05-31
1021Australia2024-05-27
1022Germany2024-06-01
1023Brazil2024-06-03
1024France2024-06-16
1025Australia2024-06-01
1026India2024-05-29
1027Argentina2024-06-12
1028Italy2024-05-31
1029France2024-06-10
1030United Kingdom2024-06-06
1031Canada2024-05-25
1032Brazil2024-06-04
1033Brazil2024-06-07
1034Spain2024-06-04
1035Russia2024-05-27
1036Canada2024-06-06
1037Italy2024-06-05
1038Japan2024-06-12
1039Brazil2024-06-12
1040Spain2024-06-02
1041Germany2024-06-05
1042United Kingdom2024-06-15
1043India2024-06-08
1044Brazil2024-05-29
1045Germany2024-05-24
1046Russia2024-06-05
1047Italy2024-05-24
1048Spain2024-06-08
1049Argentina2024-05-30

On-Demand Data

NameIdCountryDate
Octavia S Inouye1000Argentina2024-06-11
Sinclair A Foller1001United Kingdom2024-06-07
Antonio J Malet1002Australia2024-05-24
Deepesh R Tollner1003Germany2024-06-11
Kaitlin N Chui1004Australia2024-06-21
Johnson X Venere1005Argentina2024-05-31
Costa M Gillian1006Argentina2024-05-27
Maria F Royster1007Australia2024-06-03
Jones E Darakjy1008France2024-06-16
Deepesh F Maclead1009Italy2024-06-05
Rodrigues B Nicka1010India2024-06-09
Tony G Royster1011Canada2024-06-11
Kaitlin L Morasca1012Italy2024-06-18
Cody H Foller1013United Kingdom2024-06-20
Costa X Stockham1014Australia2024-05-26
Sinclair W Malet1015Russia2024-06-02
Arvin L Figeroa1016Australia2024-05-25
Rodrigues K Royster1017France2024-06-18
Salvatore C Shinko1018Australia2024-05-29
Darci M Briddick1019Russia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley U GillianRussiaIoni Bowcher RENEWAL
Emily U CaldareraJapanAsiya Javayant QUALIFIED
Faith B BriddickArgentinaElwin Sharvill NEGOTIATION
David N SchemmerGermanyIvan Magalhaes RENEWAL
Isabel T PerinJapanIvan Magalhaes UNQUALIFIED
Johnson V GauchoCanadaAsiya Javayant NEW
Tony L FigeroaSpainIoni Bowcher NEW
Rodrigues Q ButtCanadaAnna Fali QUALIFIED
Maisha Y MaletRussiaAmy Elsner NEW
Stacey N MarrierGermanyAsiya Javayant NEGOTIATION
Julie X WhobreySpainXuxue Feng QUALIFIED
Silvio A BriddickCanadaOnyama Limba RENEWAL
Mayumi W DilliardArgentinaStephen Shaw UNQUALIFIED
Maisha F MacleadJapanAmy Elsner UNQUALIFIED
Jennifer Y PerinGermanyStephen Shaw NEGOTIATION
Clifford O InouyeItalyBernardo Dominic RENEWAL
Tony F FlosiFranceBernardo Dominic NEGOTIATION
Greenwood M InouyeItalyBernardo Dominic RENEWAL
James A SlusarskiAustraliaAsiya Javayant PROPOSAL
Alejandro A TollnerAustraliaAnna Fali QUALIFIED
Morrow E SaylorsAustraliaBernardo Dominic NEW
Francesco J CaldareraSpainIvan Magalhaes UNQUALIFIED
Antonio W GauchoItalyAmy Elsner PROPOSAL
James X MorascaIndiaAnna Fali RENEWAL
Darci M VocelkaRussiaOnyama Limba QUALIFIED
David C WaycottAustraliaAsiya Javayant QUALIFIED
Costa A SergiItalyElwin Sharvill QUALIFIED
Mujtaba G OldroydIndiaStephen Shaw UNQUALIFIED
Isabel E CaldareraRussiaIvan Magalhaes UNQUALIFIED
Isabel D GillianFranceAmy Elsner QUALIFIED
Murillo E OstroskySpainAnna Fali NEW
Sinclair M BologniaRussiaIvan Magalhaes RENEWAL
Arvin F PoquetteAustraliaAmy Elsner RENEWAL
Jefferson O MacleadItalyXuxue Feng UNQUALIFIED
Mayumi P PoquetteItalyElwin Sharvill UNQUALIFIED
Jennifer F RutaCanadaAnna Fali NEGOTIATION
Ricardo Y RoysterUnited KingdomBernardo Dominic QUALIFIED
Juan T BriddickBrazilBernardo Dominic QUALIFIED
Aika N TollnerArgentinaXuxue Feng PROPOSAL
Jennifer L SlusarskiSpainElwin Sharvill 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>