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
Adams V ButtAustraliaIoni Bowcher NEW
Arvin Y IturbideBrazilIoni Bowcher RENEWAL
Greenwood W GlickJapanAmy Elsner UNQUALIFIED
Murillo P CaudyJapanIvan Magalhaes PROPOSAL
Wickens K CaldareraCanadaStephen Shaw UNQUALIFIED
Stacey N BriddickItalyElwin Sharvill PROPOSAL
Octavia R AlbaresIndiaIoni Bowcher NEW
Jeanfrancois E WaycottItalyAmy Elsner NEW
Smith P SaylorsIndiaElwin Sharvill QUALIFIED
Ivar G RimCanadaStephen Shaw UNQUALIFIED
Wickens P InouyeGermanyIvan Magalhaes QUALIFIED
Aditya T BowleyAustraliaIvan Magalhaes PROPOSAL
Maisha D RulapaughAustraliaStephen Shaw QUALIFIED
Costa I AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Deepesh K OldroydGermanyOnyama Limba QUALIFIED
Francesco E RutaUnited KingdomIvan Magalhaes NEGOTIATION
David D PerinJapanStephen Shaw RENEWAL
Leja M SchemmerGermanyBernardo Dominic NEW
Maisha E MarrierUnited KingdomAmy Elsner QUALIFIED
Sinclair W AlbaresIndiaBernardo Dominic RENEWAL
Antonio G MaletSpainIoni Bowcher NEW
Maisha L SlusarskiJapanAnna Fali UNQUALIFIED
Mayumi O GlickFranceAmy Elsner RENEWAL
Wickens L WhobreyJapanAmy Elsner UNQUALIFIED
Leon P MarrierArgentinaIvan Magalhaes QUALIFIED
Leja N FlosiArgentinaOnyama Limba RENEWAL
Wickens N StockhamIndiaStephen Shaw RENEWAL
Aika B GillianUnited KingdomBernardo Dominic RENEWAL
Izzy Q FlosiUnited KingdomAnna Fali NEGOTIATION
Cody X NickaUnited KingdomStephen Shaw RENEWAL
Greenwood C DarakjyCanadaXuxue Feng NEGOTIATION
Darci E WhobreyIndiaAnna Fali NEW
Munro J InouyeItalyOnyama Limba QUALIFIED
Aruna C VocelkaRussiaAmy Elsner QUALIFIED
Johnson U TollnerGermanyAnna Fali QUALIFIED
Johnson B RutaJapanElwin Sharvill UNQUALIFIED
Octavia K GillianFranceOnyama Limba UNQUALIFIED
Aika O OldroydGermanyAsiya Javayant UNQUALIFIED
Octavia P TollnerUnited KingdomIvan Magalhaes QUALIFIED
Isabel Y SlusarskiJapanAmy Elsner QUALIFIED
Misaki V AlbaresIndiaIoni Bowcher PROPOSAL
Julie P DarakjyArgentinaAmy Elsner NEGOTIATION
Aditya C BologniaCanadaAnna Fali PROPOSAL
Ashley G ButtAustraliaStephen Shaw NEGOTIATION
Salvatore P OldroydItalyElwin Sharvill PROPOSAL
Isabel V NickaUnited KingdomAsiya Javayant QUALIFIED
Munro L BologniaUnited KingdomStephen Shaw QUALIFIED
Johnson E WhobreyAustraliaXuxue Feng NEW
Arvin W VocelkaIndiaAnna Fali NEGOTIATION
Alejandro N AlbaresBrazilIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily Z OstroskyGermanyStephen Shaw UNQUALIFIED
Silvio B KolmetzSpainElwin Sharvill QUALIFIED
Adams F FlosiRussiaAsiya Javayant NEGOTIATION
Adams B SergiRussiaAnna Fali NEGOTIATION
Juan X MaletJapanIvan Magalhaes QUALIFIED
Leon V CaudyArgentinaXuxue Feng NEGOTIATION
Julie J MacleadGermanyAnna Fali NEGOTIATION
Leon Z KuskoCanadaXuxue Feng QUALIFIED
Greenwood S IturbideJapanAmy Elsner UNQUALIFIED
Costa N SaylorsFranceAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore X MaletRussia2024-06-06Dorl, James J Esq RENEWAL91Anna Fali
1001Aika G StensethCanada2024-06-08Feiner Bros RENEWAL3Ioni Bowcher
1002Mayumi C FlosiSpain2024-05-31Chemel, James L Cpa RENEWAL58Amy Elsner
1003Kaitlin R StockhamItaly2024-06-15Truhlar And Truhlar Attys NEW54Onyama Limba
1004Octavia V RutaAustralia2024-06-07Chapman, Ross E Esq NEW80Amy Elsner
1005Faith T OstroskyRussia2024-06-18Chanay, Jeffrey A Esq NEW5Amy Elsner
1006Cody N AmigonGermany2024-06-02Chemel, James L Cpa NEW0Amy Elsner
1007Salvatore J WhobreyGermany2024-06-15Truhlar And Truhlar Attys NEW18Xuxue Feng
1008Ivar T RulapaughJapan2024-06-06Chemel, James L Cpa UNQUALIFIED66Amy Elsner
1009Maisha B BowleyFrance2024-06-17Dorl, James J Esq UNQUALIFIED80Onyama Limba
1010Maria W OldroydFrance2024-06-21Rousseaux, Michael Esq NEW38Onyama Limba
1011Isabel Z RulapaughUnited Kingdom2024-05-27Feiner Bros PROPOSAL3Ivan Magalhaes
1012Arvin S BologniaRussia2024-05-23Buckley Miller Wright NEGOTIATION17Asiya Javayant
1013Juan N SlusarskiAustralia2024-06-13Chemel, James L Cpa QUALIFIED7Elwin Sharvill
1014Claire R StockhamUnited Kingdom2024-06-14Truhlar And Truhlar Attys NEGOTIATION8Asiya Javayant
1015Octavia M SaylorsUnited Kingdom2024-06-03Benton, John B Jr NEGOTIATION73Xuxue Feng
1016Francesco B GillianItaly2024-06-17Chapman, Ross E Esq NEGOTIATION4Stephen Shaw
1017Clifford Z FollerItaly2024-06-20Buckley Miller Wright QUALIFIED91Anna Fali
1018Smith N BologniaGermany2024-05-31Chemel, James L Cpa PROPOSAL68Ioni Bowcher
1019Claire I NickaArgentina2024-05-27Chemel, James L Cpa QUALIFIED37Elwin Sharvill
1020Alejandro W SchemmerFrance2024-05-31Benton, John B Jr QUALIFIED92Elwin Sharvill
1021Maria J DarakjySpain2024-05-29Morlong Associates RENEWAL25Ivan Magalhaes
1022Adams H SergiAustralia2024-05-24Feltz Printing Service NEGOTIATION33Elwin Sharvill
1023Murillo P WieserSpain2024-05-25Morlong Associates UNQUALIFIED38Ivan Magalhaes
1024Greenwood R SchemmerBrazil2024-05-29Feiner Bros QUALIFIED53Xuxue Feng
1025Emily V RutaBrazil2024-06-16Morlong Associates PROPOSAL69Anna Fali
1026Darci P SergiIndia2024-06-08Printing Dimensions UNQUALIFIED46Ivan Magalhaes
1027Smith B PaprockiFrance2024-06-06Feltz Printing Service NEGOTIATION63Xuxue Feng
1028James Y FollerJapan2024-06-12Morlong Associates QUALIFIED77Amy Elsner
1029Octavia L GauchoGermany2024-05-30Chapman, Ross E Esq QUALIFIED60Onyama Limba
1030Adams T MaletJapan2024-06-12Truhlar And Truhlar Attys UNQUALIFIED9Anna Fali
1031Stacey D PerinCanada2024-06-12Benton, John B Jr PROPOSAL80Onyama Limba
1032Stacey T NickaJapan2024-06-14Morlong Associates UNQUALIFIED0Ivan Magalhaes
1033Kadeem X SaylorsArgentina2024-05-26Feiner Bros RENEWAL66Elwin Sharvill
1034Claire U MarrierUnited Kingdom2024-06-07Chemel, James L Cpa UNQUALIFIED73Amy Elsner
1035Sinclair C RulapaughSpain2024-06-10Truhlar And Truhlar Attys NEGOTIATION10Ioni Bowcher
1036Mujtaba C RutaRussia2024-05-26Chapman, Ross E Esq NEGOTIATION52Amy Elsner
1037Ashley L PaprockiCanada2024-06-03Truhlar And Truhlar Attys NEW9Onyama Limba
1038Maisha I GlickBrazil2024-06-01Feltz Printing Service NEGOTIATION55Ioni Bowcher
1039Izzy L OldroydBrazil2024-06-18King, Christopher A Esq QUALIFIED31Amy Elsner
1040Greenwood Z PerinCanada2024-06-19Buckley Miller Wright UNQUALIFIED39Elwin Sharvill
1041Antonio B AmigonItaly2024-06-10Rousseaux, Michael Esq NEGOTIATION11Onyama Limba
1042Jones Y AmigonCanada2024-05-27Rousseaux, Michael Esq NEGOTIATION19Bernardo Dominic
1043Leon K KuskoItaly2024-06-08King, Christopher A Esq RENEWAL99Anna Fali
1044Johnson J FlosiGermany2024-05-23Chemel, James L Cpa NEGOTIATION11Anna Fali
1045Misaki R AlbaresFrance2024-06-01Buckley Miller Wright NEW11Ivan Magalhaes
1046Isabel H MaletCanada2024-06-01Commercial Press UNQUALIFIED6Xuxue Feng
1047Deepesh D CaudyFrance2024-05-24Dorl, James J Esq NEGOTIATION82Bernardo Dominic
1048Ashley W SergiFrance2024-06-15Chemel, James L Cpa NEW83Onyama Limba
1049Darci W SaylorsGermany2024-05-26Feltz Printing Service NEW79Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
James X ButtSpainAnna Fali PROPOSAL
Jones Z PoquetteFranceIvan Magalhaes NEGOTIATION
Ashley W ButtFranceIoni Bowcher UNQUALIFIED
Francesco V DilliardIndiaStephen Shaw UNQUALIFIED
Stacey H NickaRussiaElwin Sharvill NEGOTIATION
Greenwood W AmigonUnited KingdomElwin Sharvill NEW
Kaitlin W WieserGermanyXuxue Feng RENEWAL
Misaki T RimGermanyXuxue Feng NEW
Clifford N VocelkaGermanyAmy Elsner NEW
Mujtaba Y CaldareraSpainElwin Sharvill NEW
Mujtaba E RimSpainBernardo Dominic NEGOTIATION
Wickens O ShinkoAustraliaElwin Sharvill UNQUALIFIED
Arvin T AmigonIndiaIoni Bowcher UNQUALIFIED
James V GarufiArgentinaIoni Bowcher PROPOSAL
Jeanfrancois O DoeJapanIvan Magalhaes UNQUALIFIED
Faith X GarufiBrazilAsiya Javayant NEGOTIATION
Tony A WieserUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer X OstroskyGermanyIoni Bowcher NEW
Jefferson G SergiIndiaIvan Magalhaes NEGOTIATION
Aruna Y VocelkaAustraliaIvan Magalhaes NEW
Jennifer E MacleadItalyXuxue Feng UNQUALIFIED
Arvin N MacleadBrazilAnna Fali UNQUALIFIED
Jennifer Q SaylorsSpainAnna Fali NEGOTIATION
Wickens P RutaSpainAnna Fali UNQUALIFIED
Sinclair Y AlbaresCanadaAsiya Javayant PROPOSAL
Isabel M MarrierIndiaBernardo Dominic QUALIFIED
Morrow S MarrierRussiaAsiya Javayant NEW
Chavez A OstroskyGermanyElwin Sharvill NEGOTIATION
Ivar V GarufiFranceElwin Sharvill NEGOTIATION
Julie R NickaGermanyAsiya Javayant UNQUALIFIED
Adams F WhobreyFranceAnna Fali PROPOSAL
Francesco E ChuiAustraliaIvan Magalhaes NEGOTIATION
Ricardo J TollnerArgentinaBernardo Dominic PROPOSAL
Mayumi J PoquetteAustraliaIvan Magalhaes NEGOTIATION
Isabel P SergiItalyAnna Fali NEW
Munro C RimGermanyOnyama Limba RENEWAL
Costa R RimFranceOnyama Limba NEGOTIATION
Costa B VocelkaGermanyOnyama Limba QUALIFIED
Sinclair U AlbaresAustraliaAsiya Javayant PROPOSAL
Deepesh G StockhamSpainOnyama Limba RENEWAL
Silvio V WhobreySpainIvan Magalhaes NEGOTIATION
Tony P SaylorsSpainElwin Sharvill RENEWAL
Ivar A OldroydAustraliaAnna Fali RENEWAL
Arvin L FerenczAustraliaOnyama Limba NEGOTIATION
Stacey C NestleJapanIvan Magalhaes NEGOTIATION
Izzy O MorascaJapanBernardo Dominic UNQUALIFIED
Chavez S StockhamBrazilIoni Bowcher UNQUALIFIED
Greenwood S NickaRussiaIoni Bowcher QUALIFIED
Smith E KuskoSpainElwin Sharvill QUALIFIED
Stacey T MarrierJapanIvan Magalhaes NEGOTIATION
Frozen Columns
Name
James D Briddick
Ricardo E Marrier
Stacey H Venere
Antonio M Butt
Murillo J Poquette
Ricardo Q Gaucho
Cody M Flosi
Mayumi J Doe
Julie S Garufi
Misaki I Nicka
Sinclair O Royster
Kaitlin T Bowley
Wickens S Perin
Cody P Doe
Ashley E Venere
Arvin L Morasca
Arvin C Maclead
James Z Malet
Deepesh Z Paprocki
Faith N Briddick
Nicolas W Flosi
Juan U Foller
Jennifer G Venere
Wickens J Amigon
Stacey C Royster
Maisha S Sergi
Nicolas D Dilliard
Mayumi N Tollner
Silvio C Caldarera
Greenwood X Caudy
David A Caldarera
Smith A Tollner
Leon W Nicka
Ashley P Whobrey
Claire N Darakjy
Mayumi E Marrier
Kadeem C Caldarera
Juan M Malet
Emily B Saylors
Leon D Whobrey
Greenwood A Saylors
Maria O Morasca
Aditya Q Kusko
Aruna D Caudy
Stacey H Doe
Munro Z Perin
Mayumi R Malet
Salvatore Y Darakjy
Wickens P Wieser
Clifford Q Figeroa
IdCountryDate
1000Russia2024-06-15
1001Argentina2024-06-02
1002United Kingdom2024-05-31
1003Australia2024-06-06
1004Spain2024-06-18
1005Italy2024-05-31
1006Germany2024-06-14
1007Italy2024-05-28
1008Italy2024-06-04
1009Brazil2024-05-29
1010Germany2024-06-07
1011Germany2024-06-17
1012Brazil2024-06-14
1013Spain2024-05-24
1014Canada2024-06-18
1015Spain2024-05-30
1016Canada2024-06-18
1017Russia2024-06-15
1018Canada2024-06-04
1019Russia2024-06-07
1020Italy2024-05-24
1021Japan2024-06-01
1022Brazil2024-06-16
1023France2024-06-01
1024Spain2024-06-06
1025Italy2024-05-30
1026France2024-05-24
1027Canada2024-05-26
1028United Kingdom2024-05-26
1029United Kingdom2024-06-01
1030France2024-06-12
1031Australia2024-06-02
1032Spain2024-05-25
1033Russia2024-06-03
1034Germany2024-06-06
1035United Kingdom2024-06-09
1036India2024-06-15
1037Brazil2024-06-21
1038Brazil2024-06-16
1039Brazil2024-06-09
1040Australia2024-05-25
1041France2024-06-12
1042France2024-06-12
1043Italy2024-06-04
1044Brazil2024-06-17
1045Argentina2024-06-14
1046Russia2024-06-06
1047Australia2024-06-18
1048Japan2024-05-23
1049United Kingdom2024-05-26

On-Demand Data

NameIdCountryDate
James O Bowley1000India2024-06-05
Mayumi L Campain1001Japan2024-06-15
Julie C Slusarski1002Spain2024-05-26
Aruna N Gaucho1003Australia2024-05-27
Morrow L Paprocki1004Japan2024-05-27
Alejandro P Iturbide1005Russia2024-06-14
Darci J Maclead1006Italy2024-06-07
Juan N Nestle1007Argentina2024-06-16
Arvin Z Marrier1008France2024-06-01
Rodrigues G Dilliard1009Spain2024-06-12
Jennifer Z Amigon1010Germany2024-06-01
Julie F Rulapaugh1011Germany2024-05-30
Cody Z Kolmetz1012Australia2024-06-19
Costa R Glick1013France2024-06-15
Kadeem L Poquette1014Canada2024-06-07
Aditya S Vocelka1015Germany2024-06-14
Aruna A Malet1016France2024-06-12
Jennifer I Amigon1017Argentina2024-06-14
James U Royster1018Japan2024-06-20
Sinclair F Dilliard1019India2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez X VenereJapanAmy Elsner RENEWAL
Kadeem L RimFranceIvan Magalhaes UNQUALIFIED
Murillo R AmigonBrazilAmy Elsner QUALIFIED
Chavez C InouyeUnited KingdomOnyama Limba NEW
Izzy D SergiCanadaAnna Fali NEGOTIATION
Costa B PerinRussiaAnna Fali QUALIFIED
Emily V MarrierSpainOnyama Limba NEGOTIATION
Rodrigues C PoquetteGermanyStephen Shaw PROPOSAL
Jones C WieserCanadaAnna Fali NEGOTIATION
Johnson T PaprockiGermanyXuxue Feng QUALIFIED
Stacey G CaldareraFranceOnyama Limba PROPOSAL
Wickens D StensethItalyStephen Shaw QUALIFIED
Aditya Y KuskoCanadaStephen Shaw QUALIFIED
Jeanfrancois M BriddickFranceAmy Elsner NEW
Octavia U ShinkoBrazilAnna Fali QUALIFIED
Nicolas S BologniaRussiaIvan Magalhaes NEGOTIATION
Maria A DilliardRussiaAnna Fali NEW
David B StockhamJapanIvan Magalhaes QUALIFIED
Maria I WhobreyArgentinaElwin Sharvill UNQUALIFIED
Rodrigues H ChuiJapanBernardo Dominic QUALIFIED
Munro Q PaprockiIndiaBernardo Dominic RENEWAL
Maria A WieserGermanyStephen Shaw QUALIFIED
David C FerenczIndiaAnna Fali UNQUALIFIED
Stacey Y ShinkoRussiaXuxue Feng QUALIFIED
Aditya C OstroskyBrazilStephen Shaw NEGOTIATION
Tony Z MaletItalyOnyama Limba NEW
Cody O RulapaughItalyStephen Shaw RENEWAL
Greenwood D InouyeGermanyAsiya Javayant NEW
Munro Y SaylorsFranceXuxue Feng NEW
Julie T WhobreyIndiaAnna Fali UNQUALIFIED
Wickens C MacleadIndiaOnyama Limba NEW
Rodrigues Y RimArgentinaXuxue Feng NEW
Octavia F WieserRussiaStephen Shaw QUALIFIED
Nicolas Y MorascaAustraliaIvan Magalhaes PROPOSAL
Ivar V ButtBrazilIoni Bowcher NEGOTIATION
Izzy G PaprockiRussiaXuxue Feng RENEWAL
Ricardo G MarrierArgentinaAmy Elsner NEGOTIATION
Salvatore U PaprockiFranceStephen Shaw PROPOSAL
Munro S MaletRussiaAmy Elsner QUALIFIED
Nicolas Z GarufiSpainIvan Magalhaes 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>