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
Morrow D WaycottSpainXuxue Feng PROPOSAL
Tony M SergiUnited KingdomElwin Sharvill NEW
Arvin A BowleyCanadaIvan Magalhaes NEGOTIATION
David B GarufiJapanBernardo Dominic UNQUALIFIED
Adams W SergiUnited KingdomAnna Fali PROPOSAL
Jefferson O CampainAustraliaIoni Bowcher UNQUALIFIED
Smith R MorascaRussiaIoni Bowcher QUALIFIED
Ashley F WieserBrazilAmy Elsner UNQUALIFIED
Darci D SlusarskiRussiaXuxue Feng QUALIFIED
Arvin W NickaArgentinaXuxue Feng NEGOTIATION
Alejandro N ButtRussiaElwin Sharvill NEW
Smith O KuskoIndiaElwin Sharvill NEGOTIATION
Jones B CaldareraGermanyBernardo Dominic RENEWAL
Sinclair H ShinkoArgentinaAmy Elsner UNQUALIFIED
Stacey P GauchoUnited KingdomAmy Elsner QUALIFIED
Salvatore Y AmigonRussiaAnna Fali QUALIFIED
Maisha D GillianItalyIvan Magalhaes UNQUALIFIED
Octavia U KuskoJapanAsiya Javayant UNQUALIFIED
Ricardo D MaletCanadaBernardo Dominic NEW
Clifford O VenereItalyBernardo Dominic RENEWAL
Adams M NickaBrazilAnna Fali NEGOTIATION
Mayumi W PerinUnited KingdomAmy Elsner UNQUALIFIED
Adams W BowleyAustraliaAnna Fali UNQUALIFIED
Leja A MaletFranceBernardo Dominic UNQUALIFIED
Isabel O FigeroaCanadaOnyama Limba NEW
Maria E GillianGermanyBernardo Dominic RENEWAL
Jennifer G MaletSpainBernardo Dominic RENEWAL
Aruna C SergiUnited KingdomIvan Magalhaes NEW
Isabel Y NickaFranceOnyama Limba NEGOTIATION
Tony Q MaletSpainElwin Sharvill QUALIFIED
Leja H ButtRussiaXuxue Feng NEGOTIATION
Octavia X MorascaCanadaOnyama Limba UNQUALIFIED
Salvatore U VenereBrazilIvan Magalhaes NEW
Wickens N RimCanadaStephen Shaw NEGOTIATION
Ashley O ShinkoGermanyAmy Elsner QUALIFIED
Maria Z BriddickBrazilStephen Shaw NEW
Isabel M PaprockiFranceOnyama Limba NEW
Leon Z RulapaughRussiaAnna Fali QUALIFIED
Emily C SergiIndiaAmy Elsner PROPOSAL
Kaitlin K PoquetteItalyOnyama Limba NEGOTIATION
Munro N GauchoAustraliaBernardo Dominic RENEWAL
Clifford M DilliardItalyStephen Shaw NEW
Sinclair M SaylorsGermanyXuxue Feng QUALIFIED
Jefferson L ChuiItalyAmy Elsner UNQUALIFIED
Leja G PoquetteGermanyStephen Shaw RENEWAL
Rodrigues W SlusarskiArgentinaStephen Shaw UNQUALIFIED
Jones K GillianUnited KingdomBernardo Dominic UNQUALIFIED
Leon Q RoysterSpainOnyama Limba PROPOSAL
Salvatore Q DarakjyFranceOnyama Limba PROPOSAL
Johnson S BologniaGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia M OstroskyFranceElwin Sharvill QUALIFIED
Morrow W WaycottAustraliaIvan Magalhaes NEW
Costa X StockhamIndiaElwin Sharvill NEW
Izzy S ChuiIndiaIoni Bowcher NEW
Deepesh Y SchemmerJapanBernardo Dominic PROPOSAL
Arvin G ChuiBrazilStephen Shaw RENEWAL
Smith Y RulapaughIndiaAnna Fali RENEWAL
Chavez N SergiFranceElwin Sharvill PROPOSAL
Adams M AmigonUnited KingdomAsiya Javayant QUALIFIED
Rodrigues V GillianBrazilBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens A StockhamAustralia2024-08-27Benton, John B Jr UNQUALIFIED80Ivan Magalhaes
1001Wickens D IturbideBrazil2024-09-02Feltz Printing Service QUALIFIED53Xuxue Feng
1002Leon S BologniaUnited Kingdom2024-08-26Truhlar And Truhlar Attys RENEWAL25Amy Elsner
1003David U GauchoIndia2024-08-23Truhlar And Truhlar Attys NEGOTIATION77Elwin Sharvill
1004Leja I OldroydItaly2024-08-25Chapman, Ross E Esq RENEWAL71Elwin Sharvill
1005Tony T RoysterArgentina2024-08-28Chapman, Ross E Esq UNQUALIFIED87Ioni Bowcher
1006Isabel F MorascaBrazil2024-08-27Buckley Miller Wright NEGOTIATION75Onyama Limba
1007Kadeem S WaycottUnited Kingdom2024-08-30Morlong Associates NEGOTIATION24Anna Fali
1008David H SaylorsUnited Kingdom2024-09-18Buckley Miller Wright QUALIFIED37Bernardo Dominic
1009Munro Z WaycottGermany2024-09-13Rousseaux, Michael Esq NEGOTIATION12Ivan Magalhaes
1010Munro U PaprockiFrance2024-09-07Printing Dimensions UNQUALIFIED28Xuxue Feng
1011Izzy X MaletAustralia2024-09-07Chapman, Ross E Esq QUALIFIED33Xuxue Feng
1012Isabel G ChuiRussia2024-08-24King, Christopher A Esq NEGOTIATION57Xuxue Feng
1013Johnson X DarakjyUnited Kingdom2024-09-04Feiner Bros RENEWAL60Onyama Limba
1014Leon A StensethJapan2024-09-14Chanay, Jeffrey A Esq PROPOSAL88Ioni Bowcher
1015Jefferson U VocelkaFrance2024-09-04Feiner Bros QUALIFIED0Elwin Sharvill
1016Julie L FlosiFrance2024-08-29Printing Dimensions NEGOTIATION11Asiya Javayant
1017Aditya N NestleRussia2024-09-16Commercial Press QUALIFIED42Ioni Bowcher
1018Ivar G DilliardSpain2024-08-25Rousseaux, Michael Esq UNQUALIFIED34Ivan Magalhaes
1019Izzy Z MarrierArgentina2024-09-15Buckley Miller Wright QUALIFIED13Onyama Limba
1020Aika H FerenczUnited Kingdom2024-09-02Printing Dimensions NEGOTIATION71Xuxue Feng
1021Jefferson Z MaletIndia2024-09-18Commercial Press RENEWAL10Asiya Javayant
1022Kaitlin C OstroskySpain2024-09-12King, Christopher A Esq RENEWAL31Asiya Javayant
1023Faith R GlickCanada2024-08-25Morlong Associates NEGOTIATION91Anna Fali
1024Ashley H ChuiArgentina2024-09-13Feltz Printing Service NEGOTIATION45Asiya Javayant
1025Silvio L InouyeUnited Kingdom2024-08-22Commercial Press RENEWAL89Elwin Sharvill
1026Clifford W BriddickCanada2024-08-24Rangoni Of Florence NEGOTIATION34Amy Elsner
1027Smith H VenereAustralia2024-08-26Chapman, Ross E Esq NEW61Amy Elsner
1028Faith L AlbaresCanada2024-09-01King, Christopher A Esq NEW22Asiya Javayant
1029Rodrigues S DarakjyUnited Kingdom2024-09-02Morlong Associates UNQUALIFIED16Onyama Limba
1030Izzy I BologniaSpain2024-09-14Chemel, James L Cpa NEW87Amy Elsner
1031Misaki D VocelkaItaly2024-09-20Benton, John B Jr UNQUALIFIED82Stephen Shaw
1032Izzy N KuskoUnited Kingdom2024-08-30Chapman, Ross E Esq PROPOSAL52Stephen Shaw
1033Sinclair W BowleyBrazil2024-08-28Printing Dimensions NEW69Amy Elsner
1034Misaki X MaletUnited Kingdom2024-08-25Rangoni Of Florence UNQUALIFIED52Ioni Bowcher
1035Jeanfrancois K MacleadGermany2024-09-08Feiner Bros NEW87Xuxue Feng
1036Silvio F StockhamItaly2024-09-11Chemel, James L Cpa NEW97Stephen Shaw
1037Johnson A MorascaBrazil2024-09-20Printing Dimensions NEGOTIATION49Asiya Javayant
1038Munro D GauchoRussia2024-08-29Rangoni Of Florence RENEWAL42Bernardo Dominic
1039Deepesh J MorascaItaly2024-08-25Rangoni Of Florence RENEWAL59Stephen Shaw
1040Stacey P MorascaBrazil2024-09-09Printing Dimensions NEW81Bernardo Dominic
1041Rodrigues N ChuiRussia2024-09-17Chanay, Jeffrey A Esq RENEWAL5Amy Elsner
1042Leon T NestleAustralia2024-08-23Feiner Bros UNQUALIFIED76Stephen Shaw
1043Maria I IturbideSpain2024-09-20Commercial Press UNQUALIFIED31Asiya Javayant
1044Stacey B RimIndia2024-09-03Printing Dimensions PROPOSAL64Ioni Bowcher
1045Nicolas O MarrierSpain2024-08-23Chapman, Ross E Esq UNQUALIFIED60Ioni Bowcher
1046Darci W FigeroaBrazil2024-09-20Feltz Printing Service RENEWAL2Anna Fali
1047Morrow R FerenczUnited Kingdom2024-09-19Morlong Associates PROPOSAL6Onyama Limba
1048Julie W StensethBrazil2024-09-20Chanay, Jeffrey A Esq RENEWAL99Ioni Bowcher
1049Isabel V BowleyIndia2024-09-20Printing Dimensions NEGOTIATION74Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Antonio V PerinIndiaOnyama Limba UNQUALIFIED
Silvio M AlbaresJapanAmy Elsner QUALIFIED
Aditya V AlbaresFranceBernardo Dominic NEGOTIATION
Izzy X FollerGermanyAsiya Javayant PROPOSAL
Leja T DilliardIndiaBernardo Dominic NEGOTIATION
Adams R WieserJapanElwin Sharvill QUALIFIED
Sinclair G CaudySpainBernardo Dominic RENEWAL
James W RutaBrazilIvan Magalhaes NEGOTIATION
Izzy M StockhamJapanAsiya Javayant PROPOSAL
Greenwood R KuskoCanadaAnna Fali QUALIFIED
Murillo Y MacleadSpainIvan Magalhaes PROPOSAL
Maisha F CaudyArgentinaStephen Shaw UNQUALIFIED
Emily E KolmetzArgentinaIoni Bowcher RENEWAL
Emily E BriddickCanadaBernardo Dominic NEW
Leon Z CaldareraBrazilAnna Fali PROPOSAL
Nicolas C NickaRussiaElwin Sharvill RENEWAL
Arvin M MorascaItalyAsiya Javayant RENEWAL
Arvin A BologniaJapanXuxue Feng QUALIFIED
Arvin V RoysterArgentinaIoni Bowcher UNQUALIFIED
Stacey A KolmetzArgentinaAnna Fali UNQUALIFIED
Arvin R RoysterArgentinaStephen Shaw PROPOSAL
Leon G PaprockiSpainIvan Magalhaes PROPOSAL
Rodrigues W AmigonJapanAmy Elsner QUALIFIED
Deepesh M DilliardSpainAnna Fali NEW
Izzy N WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Leon F FlosiUnited KingdomXuxue Feng QUALIFIED
Deepesh G MarrierArgentinaAsiya Javayant NEGOTIATION
Julie Z AlbaresAustraliaAmy Elsner PROPOSAL
Munro U AmigonItalyOnyama Limba NEGOTIATION
Maria G SlusarskiAustraliaAsiya Javayant PROPOSAL
James Q OldroydAustraliaAsiya Javayant QUALIFIED
Mayumi Y ChuiArgentinaIoni Bowcher PROPOSAL
Jefferson Y GlickCanadaXuxue Feng PROPOSAL
Ivar A OstroskyAustraliaStephen Shaw QUALIFIED
Alejandro A KolmetzIndiaStephen Shaw PROPOSAL
Arvin L MaletJapanXuxue Feng UNQUALIFIED
Munro P MaletArgentinaBernardo Dominic UNQUALIFIED
Silvio C DarakjyGermanyStephen Shaw RENEWAL
Francesco Q FerenczGermanyBernardo Dominic NEGOTIATION
Maria P DarakjyBrazilIoni Bowcher UNQUALIFIED
Jefferson Z InouyeUnited KingdomElwin Sharvill PROPOSAL
Octavia O OldroydIndiaAnna Fali NEGOTIATION
Jones J GillianArgentinaElwin Sharvill UNQUALIFIED
Jefferson R MacleadAustraliaAnna Fali RENEWAL
Kaitlin Q RoysterJapanBernardo Dominic QUALIFIED
Maria E WieserIndiaBernardo Dominic NEGOTIATION
Kaitlin X KuskoIndiaAnna Fali NEW
Kaitlin H AlbaresArgentinaAsiya Javayant NEGOTIATION
Ricardo U ShinkoIndiaOnyama Limba QUALIFIED
Maisha I PerinArgentinaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Tony O Saylors
Isabel W Schemmer
James G Nestle
Emily F Slusarski
Jefferson B Royster
Aditya P Dilliard
Octavia R Kusko
Claire H Saylors
Jones P Doe
Izzy V Ferencz
Alejandro K Albares
Munro L Albares
Juan U Nicka
Tony N Dilliard
Stacey I Wieser
Munro U Vocelka
Johnson K Paprocki
Jeanfrancois F Vocelka
Maria A Albares
Francesco O Stenseth
Murillo A Saylors
Mayumi J Malet
Maria F Rulapaugh
Maisha J Poquette
Antonio R Waycott
Alejandro Z Tollner
Jones Y Vocelka
Munro C Waycott
Chavez Z Darakjy
Antonio H Kolmetz
Misaki F Ostrosky
James H Amigon
Sinclair C Nestle
Ashley T Schemmer
Johnson B Dilliard
Jeanfrancois B Malet
Mayumi L Maclead
Murillo J Campain
Juan F Campain
Murillo P Ferencz
Leja U Schemmer
Juan N Slusarski
Misaki J Perin
Morrow X Poquette
Antonio Z Nicka
Wickens M Ostrosky
Kadeem Q Vocelka
Murillo A Shinko
Ricardo H Ostrosky
Maria G Foller
IdCountryDate
1000France2024-08-23
1001France2024-09-15
1002Canada2024-09-06
1003Japan2024-08-23
1004Italy2024-08-28
1005Russia2024-09-12
1006Italy2024-09-07
1007Argentina2024-08-30
1008Japan2024-09-15
1009France2024-09-10
1010Australia2024-09-02
1011India2024-09-06
1012Germany2024-09-10
1013Russia2024-09-08
1014Australia2024-09-14
1015United Kingdom2024-08-23
1016India2024-08-26
1017India2024-09-04
1018Argentina2024-08-22
1019Argentina2024-09-11
1020Brazil2024-09-13
1021Canada2024-09-05
1022Russia2024-09-06
1023Spain2024-09-02
1024Japan2024-08-26
1025France2024-08-24
1026Canada2024-09-08
1027India2024-09-17
1028Brazil2024-08-22
1029Argentina2024-08-28
1030United Kingdom2024-09-03
1031Germany2024-09-01
1032Italy2024-09-03
1033Australia2024-09-03
1034Brazil2024-08-26
1035Japan2024-09-05
1036France2024-09-05
1037France2024-09-01
1038India2024-09-05
1039India2024-09-08
1040United Kingdom2024-09-20
1041France2024-08-31
1042United Kingdom2024-08-24
1043Brazil2024-08-24
1044United Kingdom2024-08-25
1045Italy2024-09-19
1046France2024-09-05
1047Italy2024-09-18
1048Germany2024-09-19
1049Argentina2024-08-29

On-Demand Data

NameIdCountryDate
Jefferson B Gillian1000Argentina2024-08-30
Juan A Kolmetz1001Spain2024-09-11
Tony Z Garufi1002Australia2024-09-17
Alejandro N Sergi1003United Kingdom2024-09-14
Francesco T Chui1004Germany2024-09-14
Smith C Rulapaugh1005Argentina2024-09-09
Jones F Slusarski1006Argentina2024-09-03
Darci P Nicka1007India2024-08-26
Sinclair V Malet1008France2024-09-17
Francesco S Rulapaugh1009Italy2024-09-05
Emily R Morasca1010France2024-09-07
Rodrigues J Gaucho1011Brazil2024-08-29
Antonio E Inouye1012Japan2024-09-09
Claire P Nestle1013Brazil2024-09-15
Salvatore H Rim1014Argentina2024-09-06
Clifford E Paprocki1015India2024-09-18
Faith V Malet1016India2024-08-25
Emily U Malet1017Canada2024-08-22
Claire N Caudy1018Argentina2024-09-16
Maisha H Wieser1019Italy2024-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody E BriddickRussiaAsiya Javayant NEW
Jeanfrancois K SchemmerAustraliaStephen Shaw NEGOTIATION
Adams F MaletCanadaXuxue Feng PROPOSAL
Leon F GillianCanadaIvan Magalhaes PROPOSAL
Emily P ChuiFranceBernardo Dominic RENEWAL
Izzy Y CaudyArgentinaElwin Sharvill RENEWAL
Julie M DoeArgentinaStephen Shaw UNQUALIFIED
Aruna R FerenczRussiaElwin Sharvill RENEWAL
Wickens V BologniaGermanyBernardo Dominic RENEWAL
Murillo G DarakjyItalyAnna Fali NEW
Salvatore T SlusarskiCanadaIoni Bowcher NEGOTIATION
Deepesh U FerenczBrazilAmy Elsner NEGOTIATION
Rodrigues M BriddickArgentinaAnna Fali NEW
Rodrigues Y SergiUnited KingdomOnyama Limba QUALIFIED
Salvatore S CampainFranceOnyama Limba RENEWAL
Wickens A OldroydJapanAnna Fali NEGOTIATION
Adams Q NickaUnited KingdomAnna Fali RENEWAL
Alejandro L BowleyArgentinaStephen Shaw RENEWAL
Silvio S MorascaBrazilIoni Bowcher NEW
Aditya G BologniaFranceIoni Bowcher NEGOTIATION
Alejandro G CaudyIndiaStephen Shaw NEW
Morrow L MorascaGermanyBernardo Dominic QUALIFIED
James M GillianUnited KingdomElwin Sharvill NEGOTIATION
Smith N FlosiRussiaStephen Shaw NEW
Smith U VenereFranceAmy Elsner NEGOTIATION
Chavez W GlickSpainAnna Fali RENEWAL
Clifford A PoquetteFranceElwin Sharvill RENEWAL
Juan A FlosiItalyIoni Bowcher UNQUALIFIED
Silvio G MaletFranceAmy Elsner PROPOSAL
Nicolas M GlickItalyXuxue Feng RENEWAL
Maisha H CaldareraItalyIvan Magalhaes NEW
Johnson W KuskoArgentinaAnna Fali PROPOSAL
Johnson N MarrierItalyStephen Shaw NEW
Murillo W RulapaughIndiaIvan Magalhaes UNQUALIFIED
Morrow X MarrierFranceAnna Fali QUALIFIED
Aika A PoquetteArgentinaBernardo Dominic QUALIFIED
Tony B MacleadAustraliaXuxue Feng NEW
James C RoysterUnited KingdomOnyama Limba QUALIFIED
Ricardo R PerinIndiaAmy Elsner RENEWAL
Jeanfrancois I FollerCanadaAsiya Javayant UNQUALIFIED

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