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
Ivar U SergiFranceAnna Fali PROPOSAL
Mujtaba G StensethJapanIvan Magalhaes QUALIFIED
Tony O GlickGermanyXuxue Feng PROPOSAL
Julie A DarakjyAustraliaIvan Magalhaes QUALIFIED
Alejandro A DarakjyItalyAsiya Javayant UNQUALIFIED
David Q DilliardAustraliaElwin Sharvill QUALIFIED
Aruna G MorascaRussiaAsiya Javayant NEW
Ashley E OstroskyJapanAnna Fali UNQUALIFIED
Nicolas F SaylorsBrazilAsiya Javayant QUALIFIED
Octavia D RulapaughBrazilXuxue Feng PROPOSAL
David G WaycottSpainAmy Elsner PROPOSAL
Deepesh Q RutaJapanOnyama Limba PROPOSAL
Jeanfrancois D SlusarskiFranceElwin Sharvill NEGOTIATION
Misaki R MaletFranceStephen Shaw UNQUALIFIED
Morrow V SergiCanadaAnna Fali NEW
Octavia L RoysterFranceAmy Elsner NEW
Aditya P MarrierAustraliaBernardo Dominic QUALIFIED
Aditya Z MarrierIndiaAsiya Javayant QUALIFIED
Juan K CampainGermanyStephen Shaw UNQUALIFIED
Mayumi L FlosiUnited KingdomIoni Bowcher QUALIFIED
Kadeem O PaprockiJapanIvan Magalhaes QUALIFIED
Salvatore N SlusarskiSpainAsiya Javayant QUALIFIED
Tony K TollnerFranceBernardo Dominic PROPOSAL
Clifford D MaletCanadaBernardo Dominic PROPOSAL
Darci J RulapaughUnited KingdomElwin Sharvill PROPOSAL
Kaitlin Z BowleyAustraliaBernardo Dominic RENEWAL
Aika K BowleyItalyIoni Bowcher PROPOSAL
Jefferson O MorascaBrazilElwin Sharvill PROPOSAL
James U NickaIndiaOnyama Limba UNQUALIFIED
Sinclair K RulapaughAustraliaAmy Elsner UNQUALIFIED
Tony Q MacleadCanadaOnyama Limba PROPOSAL
Cody X OldroydGermanyXuxue Feng NEGOTIATION
Jones N NestleUnited KingdomOnyama Limba UNQUALIFIED
Morrow I GillianIndiaAnna Fali NEW
Morrow H CampainGermanyAmy Elsner PROPOSAL
Greenwood H OstroskyBrazilOnyama Limba QUALIFIED
Izzy Z RimSpainElwin Sharvill RENEWAL
Ivar F OstroskyRussiaIoni Bowcher RENEWAL
Nicolas G KolmetzGermanyIvan Magalhaes RENEWAL
James D SergiGermanyAsiya Javayant QUALIFIED
Emily M CaldareraSpainStephen Shaw UNQUALIFIED
Claire C GlickBrazilAmy Elsner QUALIFIED
Salvatore G SchemmerSpainAmy Elsner RENEWAL
Julie O ButtSpainAsiya Javayant PROPOSAL
Clifford W TollnerJapanOnyama Limba NEGOTIATION
David H PoquetteArgentinaAmy Elsner UNQUALIFIED
Murillo R IturbideAustraliaXuxue Feng NEW
Francesco W DilliardFranceIoni Bowcher PROPOSAL
Wickens V MorascaJapanOnyama Limba QUALIFIED
Clifford Z PaprockiBrazilStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi T PoquetteFranceXuxue Feng RENEWAL
Emily B GarufiJapanIoni Bowcher UNQUALIFIED
Mujtaba G CaudyIndiaXuxue Feng UNQUALIFIED
Murillo Q RoysterFranceElwin Sharvill UNQUALIFIED
Jefferson E CampainUnited KingdomStephen Shaw PROPOSAL
Aditya W AlbaresFranceAnna Fali NEGOTIATION
Leon S CaldareraRussiaBernardo Dominic PROPOSAL
Jefferson P KuskoUnited KingdomIvan Magalhaes PROPOSAL
Stacey Y RulapaughAustraliaOnyama Limba RENEWAL
Isabel K CampainItalyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith M FollerFrance2024-06-06King, Christopher A Esq UNQUALIFIED19Amy Elsner
1001Costa K MarrierRussia2024-06-11Dorl, James J Esq NEGOTIATION18Asiya Javayant
1002Deepesh E CaldareraUnited Kingdom2024-05-31Chemel, James L Cpa UNQUALIFIED81Ivan Magalhaes
1003Silvio A AlbaresUnited Kingdom2024-06-01Feltz Printing Service RENEWAL71Anna Fali
1004Izzy V GlickUnited Kingdom2024-06-19Feiner Bros QUALIFIED2Anna Fali
1005Mayumi E OstroskyAustralia2024-06-16Benton, John B Jr NEW87Elwin Sharvill
1006Octavia N MorascaArgentina2024-06-03Chemel, James L Cpa UNQUALIFIED68Ivan Magalhaes
1007Mujtaba T GlickRussia2024-05-29Dorl, James J Esq NEGOTIATION94Xuxue Feng
1008Kadeem T SaylorsFrance2024-06-04Commercial Press NEW13Ioni Bowcher
1009Octavia C StensethArgentina2024-06-03Chemel, James L Cpa QUALIFIED75Anna Fali
1010Maisha O KuskoIndia2024-06-04Feltz Printing Service UNQUALIFIED16Asiya Javayant
1011Salvatore Z FollerSpain2024-06-07Rousseaux, Michael Esq UNQUALIFIED41Anna Fali
1012Johnson H NestleSpain2024-06-21Rangoni Of Florence PROPOSAL70Elwin Sharvill
1013Nicolas J ButtFrance2024-06-06Feltz Printing Service NEW52Bernardo Dominic
1014Smith L DoeSpain2024-06-20Buckley Miller Wright RENEWAL60Ivan Magalhaes
1015Rodrigues N NickaRussia2024-06-04Buckley Miller Wright RENEWAL9Xuxue Feng
1016Kaitlin U AlbaresIndia2024-06-11Chapman, Ross E Esq UNQUALIFIED26Elwin Sharvill
1017Mujtaba B FlosiRussia2024-06-09Rousseaux, Michael Esq NEGOTIATION19Amy Elsner
1018Jeanfrancois T IturbideAustralia2024-06-17Commercial Press NEGOTIATION48Bernardo Dominic
1019Nicolas K DarakjyArgentina2024-06-06Benton, John B Jr NEW26Asiya Javayant
1020Ashley E ChuiAustralia2024-05-30Rangoni Of Florence RENEWAL94Asiya Javayant
1021Smith H DilliardGermany2024-06-10Rousseaux, Michael Esq NEW6Stephen Shaw
1022Chavez T FigeroaIndia2024-06-13Morlong Associates QUALIFIED79Ivan Magalhaes
1023Aruna L BowleyUnited Kingdom2024-06-03Rangoni Of Florence NEGOTIATION80Asiya Javayant
1024Aika K WieserGermany2024-06-15Benton, John B Jr NEGOTIATION50Amy Elsner
1025Sinclair J IturbideAustralia2024-06-20Chanay, Jeffrey A Esq NEW51Asiya Javayant
1026Cody S WaycottIndia2024-06-23Feltz Printing Service RENEWAL96Stephen Shaw
1027Aika V NestleBrazil2024-06-14Benton, John B Jr RENEWAL31Ivan Magalhaes
1028Adams D DoeCanada2024-06-23King, Christopher A Esq PROPOSAL84Elwin Sharvill
1029David V MaletJapan2024-06-13Chanay, Jeffrey A Esq RENEWAL56Stephen Shaw
1030Greenwood Y OstroskyItaly2024-06-20Printing Dimensions PROPOSAL87Ivan Magalhaes
1031Costa W InouyeBrazil2024-06-23Truhlar And Truhlar Attys RENEWAL44Amy Elsner
1032Alejandro D DarakjyIndia2024-06-16Benton, John B Jr RENEWAL87Xuxue Feng
1033Ivar H MorascaArgentina2024-05-27Truhlar And Truhlar Attys NEW77Amy Elsner
1034Maisha W DoeGermany2024-06-05Benton, John B Jr PROPOSAL53Stephen Shaw
1035Kaitlin L FigeroaGermany2024-06-23Truhlar And Truhlar Attys NEW69Xuxue Feng
1036Arvin C CampainItaly2024-06-18Feiner Bros RENEWAL87Elwin Sharvill
1037Leja T RimGermany2024-06-20Buckley Miller Wright NEW86Stephen Shaw
1038Maria S KolmetzFrance2024-06-04Truhlar And Truhlar Attys PROPOSAL58Ivan Magalhaes
1039Wickens Q TollnerItaly2024-06-11Rangoni Of Florence RENEWAL32Xuxue Feng
1040Darci E DilliardRussia2024-06-03Chanay, Jeffrey A Esq PROPOSAL52Asiya Javayant
1041Aruna V PoquetteGermany2024-06-15Rousseaux, Michael Esq RENEWAL1Xuxue Feng
1042Leon O SaylorsAustralia2024-06-03Feiner Bros QUALIFIED74Asiya Javayant
1043Maisha E MacleadRussia2024-06-18Benton, John B Jr UNQUALIFIED69Onyama Limba
1044Antonio E VocelkaUnited Kingdom2024-06-19Feltz Printing Service UNQUALIFIED62Amy Elsner
1045Misaki Y MaletUnited Kingdom2024-06-22Dorl, James J Esq NEW84Anna Fali
1046Arvin J MacleadGermany2024-05-31Buckley Miller Wright NEGOTIATION84Ioni Bowcher
1047Munro T RutaJapan2024-06-05Feltz Printing Service PROPOSAL92Elwin Sharvill
1048Chavez B CaldareraRussia2024-06-23Chemel, James L Cpa QUALIFIED45Asiya Javayant
1049Aika R GarufiRussia2024-05-31King, Christopher A Esq RENEWAL5Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Juan X ButtArgentinaAnna Fali QUALIFIED
Antonio D FlosiFranceBernardo Dominic QUALIFIED
Adams A MacleadBrazilIvan Magalhaes PROPOSAL
Morrow S RutaItalyElwin Sharvill NEW
Greenwood Q MacleadRussiaIoni Bowcher UNQUALIFIED
Nicolas D FollerSpainAmy Elsner PROPOSAL
Mujtaba T SchemmerCanadaAsiya Javayant QUALIFIED
Tony X MaletAustraliaAnna Fali QUALIFIED
Aditya H ShinkoCanadaAnna Fali PROPOSAL
Aika Z ChuiIndiaElwin Sharvill QUALIFIED
Deepesh T TollnerAustraliaAsiya Javayant UNQUALIFIED
Izzy M MarrierJapanElwin Sharvill NEGOTIATION
Kadeem G StockhamUnited KingdomElwin Sharvill PROPOSAL
Tony D WhobreySpainBernardo Dominic RENEWAL
Jennifer Y ButtItalyIvan Magalhaes QUALIFIED
Juan G AmigonRussiaOnyama Limba NEW
Aditya Y FlosiItalyXuxue Feng NEW
Aika V StockhamUnited KingdomAnna Fali RENEWAL
Isabel C BriddickJapanOnyama Limba RENEWAL
Isabel O BowleyAustraliaIoni Bowcher QUALIFIED
Maisha I PoquetteSpainBernardo Dominic UNQUALIFIED
Maisha R WaycottSpainIvan Magalhaes NEGOTIATION
Cody W RutaBrazilIvan Magalhaes NEGOTIATION
Kaitlin O AmigonRussiaOnyama Limba NEW
James V VenereJapanIoni Bowcher NEW
Greenwood H MarrierUnited KingdomXuxue Feng PROPOSAL
Deepesh W DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Faith F TollnerItalyIoni Bowcher PROPOSAL
Clifford A DarakjyGermanyStephen Shaw RENEWAL
Antonio G ShinkoItalyAnna Fali NEGOTIATION
Silvio C CampainGermanyOnyama Limba RENEWAL
Munro S ShinkoBrazilIoni Bowcher PROPOSAL
Sinclair H NestleUnited KingdomBernardo Dominic NEW
Jennifer S PaprockiBrazilBernardo Dominic QUALIFIED
Johnson U WieserUnited KingdomAnna Fali NEW
Juan W SlusarskiRussiaAmy Elsner RENEWAL
Izzy I RoysterBrazilIoni Bowcher QUALIFIED
Faith Y MarrierArgentinaAsiya Javayant NEW
Cody B NickaRussiaAmy Elsner UNQUALIFIED
James G BowleySpainBernardo Dominic PROPOSAL
Arvin R DarakjyAustraliaElwin Sharvill RENEWAL
Aika Y DoeCanadaIoni Bowcher NEW
Deepesh U ChuiGermanyIvan Magalhaes PROPOSAL
Smith Y SlusarskiJapanStephen Shaw UNQUALIFIED
Maria I KolmetzArgentinaStephen Shaw QUALIFIED
Smith R WaycottIndiaStephen Shaw UNQUALIFIED
Leon N SlusarskiArgentinaBernardo Dominic PROPOSAL
Silvio R PoquetteItalyOnyama Limba NEW
Julie N ShinkoItalyAsiya Javayant NEW
Aditya B CaudyCanadaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Mayumi V Tollner
Mayumi S Dilliard
James H Gillian
Wickens N Stockham
Chavez X Malet
Aika Q Malet
Darci I Marrier
David B Foller
Antonio F Tollner
Darci P Bowley
Claire W Briddick
Stacey E Nestle
Jeanfrancois Q Ferencz
Maisha K Flosi
Julie S Maclead
Deepesh R Rim
Deepesh S Ostrosky
Costa Y Royster
Izzy A Tollner
Alejandro X Rulapaugh
Aika F Glick
Murillo B Stenseth
Costa N Slusarski
Adams M Marrier
Mujtaba P Poquette
Aruna K Vocelka
Stacey V Rim
Emily K Stockham
Kadeem Q Malet
Leon G Inouye
Mujtaba E Campain
Mujtaba K Venere
Silvio J Amigon
Isabel L Glick
Maisha U Gillian
Faith J Garufi
James P Inouye
Arvin I Gaucho
Murillo S Amigon
Deepesh T Nestle
Izzy F Paprocki
Salvatore Q Caudy
Munro F Ferencz
Antonio Q Rulapaugh
Stacey U Amigon
Kaitlin C Caudy
Juan Z Poquette
Julie T Wieser
Nicolas M Gaucho
James O Venere
IdCountryDate
1000Japan2024-06-15
1001Brazil2024-06-23
1002India2024-06-15
1003United Kingdom2024-05-30
1004Japan2024-06-18
1005Japan2024-06-06
1006Russia2024-06-04
1007Germany2024-06-18
1008Australia2024-06-05
1009Australia2024-06-16
1010Canada2024-06-18
1011Japan2024-06-24
1012United Kingdom2024-05-29
1013Canada2024-06-02
1014Russia2024-06-17
1015Japan2024-06-05
1016France2024-06-03
1017Australia2024-06-11
1018Spain2024-06-23
1019United Kingdom2024-06-11
1020Australia2024-06-20
1021Brazil2024-05-28
1022Italy2024-05-29
1023Italy2024-06-05
1024France2024-06-07
1025Japan2024-06-23
1026Australia2024-06-08
1027Australia2024-06-09
1028Australia2024-06-15
1029India2024-05-29
1030Germany2024-05-26
1031Germany2024-06-23
1032France2024-06-22
1033India2024-06-05
1034United Kingdom2024-06-06
1035Spain2024-06-12
1036Spain2024-06-16
1037Russia2024-06-15
1038Spain2024-06-13
1039Brazil2024-06-07
1040Russia2024-06-04
1041Spain2024-06-01
1042Canada2024-06-24
1043Russia2024-05-31
1044Argentina2024-05-27
1045India2024-05-28
1046United Kingdom2024-06-09
1047Spain2024-06-11
1048Spain2024-06-21
1049Germany2024-06-24

On-Demand Data

NameIdCountryDate
Rodrigues W Gaucho1000Japan2024-06-22
Kaitlin D Chui1001Germany2024-06-18
Ivar B Whobrey1002France2024-06-01
Murillo O Flosi1003Italy2024-06-21
Izzy K Wieser1004Canada2024-06-02
James D Kusko1005Germany2024-05-31
Costa Q Bolognia1006Russia2024-06-06
Emily Y Tollner1007Canada2024-06-13
Alejandro S Poquette1008Canada2024-06-06
Jefferson H Rim1009Japan2024-06-16
Murillo I Amigon1010Japan2024-06-13
Leja F Flosi1011France2024-06-16
Jennifer K Sergi1012Spain2024-06-15
Jeanfrancois V Morasca1013India2024-06-17
Silvio J Gaucho1014Brazil2024-06-10
Kaitlin D Tollner1015United Kingdom2024-06-06
Juan S Flosi1016Italy2024-06-16
Faith X Ostrosky1017Argentina2024-06-05
Mujtaba X Malet1018Argentina2024-06-03
Munro C Kusko1019Italy2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Q ButtAustraliaAmy Elsner PROPOSAL
Rodrigues J InouyeJapanAsiya Javayant NEW
Chavez N NickaIndiaAnna Fali RENEWAL
Jefferson U FigeroaJapanXuxue Feng RENEWAL
Claire W MaletGermanyAsiya Javayant QUALIFIED
Silvio V BologniaItalyStephen Shaw QUALIFIED
Juan O MaletFranceAnna Fali NEGOTIATION
Aika N ButtItalyIvan Magalhaes NEW
David V TollnerCanadaStephen Shaw NEW
Cody L StockhamJapanAnna Fali NEGOTIATION
Darci H PoquetteSpainBernardo Dominic NEW
Mayumi R VocelkaGermanyAsiya Javayant UNQUALIFIED
Ashley M FollerArgentinaIoni Bowcher NEGOTIATION
Mujtaba R DarakjyAustraliaIoni Bowcher RENEWAL
Isabel C SergiItalyElwin Sharvill RENEWAL
Greenwood D IturbideJapanElwin Sharvill QUALIFIED
Murillo D FerenczGermanyIvan Magalhaes QUALIFIED
Mujtaba U GauchoCanadaAnna Fali RENEWAL
Ricardo I OldroydJapanAsiya Javayant RENEWAL
Munro Q SergiItalyAmy Elsner NEW
Izzy C FlosiIndiaBernardo Dominic QUALIFIED
Kaitlin T GlickSpainElwin Sharvill QUALIFIED
Munro S RutaItalyIoni Bowcher QUALIFIED
Greenwood O MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh U GarufiIndiaOnyama Limba RENEWAL
Kaitlin G GauchoSpainAnna Fali RENEWAL
Darci L StockhamSpainIvan Magalhaes NEW
Aruna E SaylorsIndiaIvan Magalhaes NEGOTIATION
Aruna Q GauchoFranceAnna Fali PROPOSAL
Jennifer R MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Francesco O GillianJapanXuxue Feng UNQUALIFIED
Murillo N WieserGermanyIvan Magalhaes UNQUALIFIED
Jefferson A RutaItalyBernardo Dominic NEGOTIATION
Jeanfrancois A KuskoArgentinaIoni Bowcher QUALIFIED
Isabel H VenereJapanAsiya Javayant PROPOSAL
James X MaletRussiaOnyama Limba QUALIFIED
Darci P GillianGermanyElwin Sharvill NEW
Johnson W KolmetzRussiaAnna Fali PROPOSAL
Rodrigues J WaycottSpainAnna Fali NEGOTIATION
Misaki I BowleyBrazilStephen Shaw RENEWAL

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