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 Q BologniaRussiaAnna Fali NEGOTIATION
Jones I AmigonGermanyXuxue Feng QUALIFIED
Izzy Y BowleyGermanyElwin Sharvill NEW
Arvin J VenereRussiaAmy Elsner QUALIFIED
Alejandro P DoeGermanyOnyama Limba RENEWAL
Aika V KuskoCanadaXuxue Feng UNQUALIFIED
Johnson L BriddickAustraliaXuxue Feng QUALIFIED
Salvatore C GarufiUnited KingdomXuxue Feng NEW
Leja U DarakjyUnited KingdomElwin Sharvill RENEWAL
Juan I MarrierBrazilBernardo Dominic UNQUALIFIED
Ricardo Z MarrierJapanXuxue Feng UNQUALIFIED
Izzy N CaldareraBrazilAsiya Javayant PROPOSAL
Jeanfrancois S StensethItalyIvan Magalhaes RENEWAL
Aika V GarufiRussiaElwin Sharvill RENEWAL
Ashley A WhobreyIndiaIoni Bowcher RENEWAL
Greenwood E DilliardBrazilAmy Elsner NEGOTIATION
Johnson Y GarufiItalyAsiya Javayant QUALIFIED
Chavez H VocelkaBrazilBernardo Dominic UNQUALIFIED
Tony Q PaprockiBrazilIoni Bowcher UNQUALIFIED
Stacey G RoysterFranceIoni Bowcher RENEWAL
Chavez X InouyeIndiaIvan Magalhaes QUALIFIED
Misaki A MarrierUnited KingdomOnyama Limba RENEWAL
Misaki X WieserSpainStephen Shaw RENEWAL
Murillo Q NickaArgentinaOnyama Limba RENEWAL
Jennifer B FigeroaCanadaAnna Fali NEGOTIATION
Maisha L RutaArgentinaIoni Bowcher PROPOSAL
Chavez B NestleItalyAmy Elsner QUALIFIED
Silvio K GauchoArgentinaIvan Magalhaes QUALIFIED
Julie E SchemmerArgentinaBernardo Dominic QUALIFIED
Morrow O SaylorsBrazilElwin Sharvill NEGOTIATION
Jefferson U StockhamItalyXuxue Feng UNQUALIFIED
Chavez D RoysterCanadaOnyama Limba NEW
Smith U GarufiUnited KingdomAnna Fali RENEWAL
Cody I RulapaughArgentinaIoni Bowcher RENEWAL
Emily A IturbideArgentinaIoni Bowcher PROPOSAL
Leon Z MacleadGermanyOnyama Limba NEW
Nicolas S RoysterIndiaStephen Shaw NEW
Johnson L BriddickIndiaElwin Sharvill PROPOSAL
Greenwood L MarrierFranceElwin Sharvill QUALIFIED
Mujtaba I WieserUnited KingdomXuxue Feng RENEWAL
Francesco D MacleadBrazilIoni Bowcher NEGOTIATION
Darci T FlosiGermanyElwin Sharvill QUALIFIED
Rodrigues G SergiIndiaAmy Elsner NEGOTIATION
Isabel O AmigonIndiaAsiya Javayant PROPOSAL
Misaki P CampainItalyStephen Shaw QUALIFIED
Morrow P GlickAustraliaXuxue Feng RENEWAL
Deepesh X CampainRussiaAmy Elsner PROPOSAL
Arvin Y GlickArgentinaXuxue Feng UNQUALIFIED
Faith P MorascaCanadaXuxue Feng NEW
Juan L NickaItalyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez I KolmetzRussiaStephen Shaw RENEWAL
Jeanfrancois C CaldareraGermanyOnyama Limba NEGOTIATION
Kadeem G WaycottItalyAsiya Javayant NEGOTIATION
James G WieserItalyXuxue Feng RENEWAL
Nicolas M VenereArgentinaOnyama Limba QUALIFIED
Greenwood N SlusarskiCanadaXuxue Feng PROPOSAL
Nicolas C MorascaCanadaElwin Sharvill RENEWAL
Salvatore D MaletIndiaIvan Magalhaes PROPOSAL
Antonio H IturbideIndiaStephen Shaw NEW
Greenwood U TollnerArgentinaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith E PoquetteBrazil2024-06-01Morlong Associates UNQUALIFIED92Stephen Shaw
1001Isabel S DoeRussia2024-06-08Chemel, James L Cpa NEGOTIATION7Elwin Sharvill
1002Aruna N GauchoRussia2024-06-07Buckley Miller Wright QUALIFIED48Bernardo Dominic
1003Clifford U DarakjyAustralia2024-06-19Feiner Bros QUALIFIED78Asiya Javayant
1004Juan B FerenczIndia2024-06-08Chemel, James L Cpa NEGOTIATION14Anna Fali
1005Adams X FigeroaItaly2024-06-19Feltz Printing Service NEW27Asiya Javayant
1006Juan X DoeUnited Kingdom2024-05-23Printing Dimensions RENEWAL11Ioni Bowcher
1007Jefferson R CaudyCanada2024-06-02King, Christopher A Esq PROPOSAL88Onyama Limba
1008Chavez L SlusarskiGermany2024-05-28Benton, John B Jr PROPOSAL63Xuxue Feng
1009Ivar M IturbideSpain2024-06-06Rousseaux, Michael Esq RENEWAL77Onyama Limba
1010Izzy C AmigonGermany2024-06-09Commercial Press QUALIFIED46Ioni Bowcher
1011Deepesh U NickaItaly2024-06-02Rangoni Of Florence UNQUALIFIED67Asiya Javayant
1012James F ShinkoRussia2024-06-15Truhlar And Truhlar Attys RENEWAL93Asiya Javayant
1013Kaitlin G BriddickItaly2024-06-10Chapman, Ross E Esq NEGOTIATION99Asiya Javayant
1014Francesco W MarrierGermany2024-06-02Morlong Associates PROPOSAL70Amy Elsner
1015Julie O BriddickArgentina2024-05-27Feiner Bros UNQUALIFIED38Bernardo Dominic
1016Francesco T MacleadJapan2024-05-23Chapman, Ross E Esq PROPOSAL60Stephen Shaw
1017Isabel Q StockhamRussia2024-06-16Dorl, James J Esq UNQUALIFIED69Ivan Magalhaes
1018Tony W WaycottJapan2024-06-07Feiner Bros NEGOTIATION25Stephen Shaw
1019Julie A ShinkoUnited Kingdom2024-06-11King, Christopher A Esq QUALIFIED84Elwin Sharvill
1020Tony J RulapaughGermany2024-06-08Feiner Bros PROPOSAL77Onyama Limba
1021Maisha V RimJapan2024-05-24Printing Dimensions QUALIFIED68Onyama Limba
1022Greenwood E VenereItaly2024-06-20Chemel, James L Cpa PROPOSAL57Stephen Shaw
1023Jones N MorascaAustralia2024-05-23Chapman, Ross E Esq NEW48Xuxue Feng
1024Johnson D DoeJapan2024-06-03Chanay, Jeffrey A Esq PROPOSAL43Amy Elsner
1025Sinclair D OstroskySpain2024-06-03Truhlar And Truhlar Attys NEGOTIATION45Elwin Sharvill
1026Wickens X SchemmerJapan2024-06-20Chemel, James L Cpa RENEWAL75Xuxue Feng
1027Ricardo D RimAustralia2024-06-13Rangoni Of Florence PROPOSAL73Asiya Javayant
1028Aditya R AmigonBrazil2024-06-15King, Christopher A Esq RENEWAL87Ioni Bowcher
1029Maisha F ChuiAustralia2024-06-07Printing Dimensions RENEWAL6Asiya Javayant
1030Jones T MaletSpain2024-06-02Buckley Miller Wright QUALIFIED40Elwin Sharvill
1031Nicolas F DilliardFrance2024-06-02King, Christopher A Esq RENEWAL41Amy Elsner
1032James W BowleyUnited Kingdom2024-06-08Chanay, Jeffrey A Esq RENEWAL86Bernardo Dominic
1033Aika H CaudyRussia2024-06-02Chapman, Ross E Esq UNQUALIFIED61Elwin Sharvill
1034Aruna X DoeJapan2024-06-09Benton, John B Jr RENEWAL87Asiya Javayant
1035Octavia L WhobreyArgentina2024-05-23Rangoni Of Florence QUALIFIED96Xuxue Feng
1036Aika Y KuskoIndia2024-06-15Truhlar And Truhlar Attys PROPOSAL48Elwin Sharvill
1037Misaki C RutaFrance2024-05-27Benton, John B Jr UNQUALIFIED22Asiya Javayant
1038Francesco E GarufiItaly2024-06-12Rangoni Of Florence UNQUALIFIED83Onyama Limba
1039Sinclair W AmigonAustralia2024-05-30Feiner Bros NEW21Onyama Limba
1040Octavia X ButtUnited Kingdom2024-06-07Feltz Printing Service RENEWAL26Asiya Javayant
1041Maria G DoeGermany2024-06-19Chemel, James L Cpa NEGOTIATION51Ivan Magalhaes
1042Faith J SaylorsGermany2024-06-21Chanay, Jeffrey A Esq PROPOSAL34Onyama Limba
1043Morrow X GlickSpain2024-06-03Chapman, Ross E Esq RENEWAL17Xuxue Feng
1044Jones Z FollerRussia2024-06-14Buckley Miller Wright QUALIFIED66Ivan Magalhaes
1045Juan S FigeroaRussia2024-05-27Chapman, Ross E Esq QUALIFIED89Elwin Sharvill
1046James W NestleAustralia2024-05-27Dorl, James J Esq NEW18Amy Elsner
1047Faith Q RulapaughAustralia2024-05-26Buckley Miller Wright UNQUALIFIED46Ivan Magalhaes
1048Jefferson N OldroydRussia2024-06-05Truhlar And Truhlar Attys RENEWAL96Elwin Sharvill
1049Jennifer U RulapaughIndia2024-06-07Benton, John B Jr RENEWAL82Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio A BowleyFranceStephen Shaw UNQUALIFIED
Jones F GlickFranceOnyama Limba RENEWAL
Wickens B BriddickFranceOnyama Limba RENEWAL
Sinclair U ButtGermanyAmy Elsner QUALIFIED
Deepesh U BowleyGermanyOnyama Limba NEGOTIATION
Smith S KolmetzSpainAmy Elsner UNQUALIFIED
Tony A GarufiBrazilXuxue Feng QUALIFIED
Kaitlin N MacleadAustraliaBernardo Dominic PROPOSAL
Juan S WieserFranceIoni Bowcher UNQUALIFIED
Greenwood X PoquetteRussiaStephen Shaw RENEWAL
Munro L TollnerItalyIoni Bowcher NEGOTIATION
Antonio D VocelkaItalyAmy Elsner PROPOSAL
Chavez Q KuskoBrazilAsiya Javayant NEGOTIATION
Aditya O DilliardGermanyAsiya Javayant PROPOSAL
Tony F MaletIndiaAsiya Javayant UNQUALIFIED
Aditya S SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Jones U SlusarskiGermanyIoni Bowcher NEGOTIATION
Rodrigues A CaudyBrazilAmy Elsner NEGOTIATION
Ashley W GillianItalyXuxue Feng NEGOTIATION
Aika G DilliardFranceIoni Bowcher QUALIFIED
Jennifer N FlosiSpainIvan Magalhaes QUALIFIED
Izzy S FigeroaAustraliaOnyama Limba UNQUALIFIED
Claire X SchemmerIndiaXuxue Feng NEW
Costa W CaudyArgentinaAmy Elsner NEW
Emily B GauchoRussiaElwin Sharvill NEGOTIATION
Tony D VenereIndiaAmy Elsner UNQUALIFIED
Maisha S MarrierAustraliaIvan Magalhaes QUALIFIED
Greenwood F PerinItalyAsiya Javayant RENEWAL
Jones K NestleAustraliaOnyama Limba QUALIFIED
Ashley B RulapaughBrazilStephen Shaw RENEWAL
Jeanfrancois O PerinBrazilIvan Magalhaes QUALIFIED
Izzy A StensethBrazilAmy Elsner RENEWAL
James U SchemmerArgentinaXuxue Feng NEW
Stacey T MacleadGermanyAmy Elsner QUALIFIED
Kaitlin K StensethIndiaXuxue Feng NEGOTIATION
Antonio T VocelkaSpainIoni Bowcher PROPOSAL
Claire F AmigonBrazilIvan Magalhaes UNQUALIFIED
Aruna M BowleySpainStephen Shaw UNQUALIFIED
Jennifer K WhobreyRussiaIvan Magalhaes NEW
Kadeem C StockhamBrazilAsiya Javayant RENEWAL
Morrow F MaletRussiaIvan Magalhaes UNQUALIFIED
Mujtaba P GarufiFranceAmy Elsner UNQUALIFIED
Adams E WaycottFranceXuxue Feng UNQUALIFIED
Alejandro V RulapaughJapanIvan Magalhaes NEW
Misaki A FerenczBrazilStephen Shaw NEGOTIATION
Kadeem U GauchoJapanBernardo Dominic UNQUALIFIED
Jennifer A OstroskyGermanyIoni Bowcher PROPOSAL
Francesco N OstroskyItalyIoni Bowcher UNQUALIFIED
Emily E PerinIndiaAsiya Javayant RENEWAL
Clifford R OldroydBrazilOnyama Limba NEGOTIATION
Frozen Columns
Name
Maisha I Poquette
Kaitlin V Sergi
Darci Y Inouye
Francesco G Kusko
Tony G Malet
Cody H Royster
Maisha T Shinko
Aika E Malet
Sinclair M Campain
Salvatore V Venere
Izzy J Maclead
Leja R Iturbide
Faith R Shinko
Octavia U Whobrey
Wickens H Doe
David T Malet
Leon G Tollner
James P Ruta
Murillo C Nestle
Misaki M Figeroa
Silvio F Malet
Maisha G Bowley
Ivar C Garufi
Mayumi E Ostrosky
Mayumi J Shinko
Claire F Vocelka
Murillo A Shinko
Ivar M Caldarera
Juan G Whobrey
Costa E Glick
Aditya S Perin
Adams V Saylors
Ivar Q Wieser
Kaitlin G Waycott
Octavia P Shinko
Aditya I Briddick
Morrow C Flosi
Adams W Flosi
Alejandro M Malet
Aditya Y Glick
Misaki P Dilliard
Sinclair S Perin
Silvio A Wieser
Chavez E Glick
Greenwood J Royster
Clifford O Darakjy
Ricardo V Figeroa
Ivar C Venere
James P Venere
Leja M Flosi
IdCountryDate
1000India2024-06-07
1001Japan2024-06-08
1002United Kingdom2024-05-28
1003France2024-06-08
1004Spain2024-06-08
1005Australia2024-06-08
1006Argentina2024-06-06
1007Canada2024-06-20
1008France2024-06-04
1009Germany2024-06-02
1010Canada2024-05-26
1011Spain2024-06-05
1012Spain2024-05-27
1013France2024-06-03
1014France2024-05-26
1015Germany2024-05-29
1016Italy2024-06-03
1017Argentina2024-06-06
1018Australia2024-05-30
1019Argentina2024-05-31
1020Russia2024-06-02
1021Australia2024-05-25
1022Germany2024-05-28
1023India2024-06-20
1024United Kingdom2024-06-16
1025Russia2024-06-14
1026Italy2024-06-10
1027Canada2024-06-15
1028Italy2024-05-23
1029United Kingdom2024-06-16
1030Australia2024-06-21
1031Germany2024-05-29
1032Canada2024-06-20
1033France2024-06-14
1034Japan2024-06-21
1035Germany2024-05-27
1036Australia2024-06-09
1037United Kingdom2024-06-01
1038Brazil2024-06-06
1039Australia2024-06-11
1040France2024-05-25
1041United Kingdom2024-05-29
1042France2024-05-28
1043Spain2024-06-14
1044Argentina2024-06-03
1045Argentina2024-06-14
1046Italy2024-06-13
1047Argentina2024-06-10
1048India2024-06-10
1049United Kingdom2024-06-04

On-Demand Data

NameIdCountryDate
Alejandro W Ostrosky1000France2024-06-08
Faith U Waycott1001Italy2024-05-28
Aditya J Slusarski1002Italy2024-06-14
Costa R Vocelka1003Spain2024-06-14
Morrow X Royster1004Canada2024-06-08
Leja R Morasca1005United Kingdom2024-06-10
Misaki V Morasca1006Brazil2024-06-21
Maria G Gillian1007Canada2024-06-17
David L Chui1008Italy2024-06-07
Costa U Kusko1009India2024-06-01
Wickens Q Poquette1010Germany2024-06-18
Izzy A Saylors1011Spain2024-06-06
Munro U Butt1012Spain2024-06-19
Sinclair O Malet1013Russia2024-06-13
Chavez H Chui1014Canada2024-06-17
Kaitlin W Briddick1015Spain2024-05-31
Izzy I Ruta1016Argentina2024-06-04
Morrow J Morasca1017Russia2024-06-02
Misaki A Venere1018Australia2024-05-23
Murillo W Garufi1019Spain2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy R DilliardSpainAsiya Javayant UNQUALIFIED
Francesco Q DarakjyJapanAnna Fali PROPOSAL
Clifford X DarakjyFranceAsiya Javayant PROPOSAL
Arvin O ButtJapanIvan Magalhaes NEGOTIATION
Faith B WieserItalyOnyama Limba NEW
Mujtaba C BologniaIndiaOnyama Limba PROPOSAL
Emily K FerenczArgentinaElwin Sharvill UNQUALIFIED
Maisha H MorascaAustraliaElwin Sharvill PROPOSAL
Sinclair N PerinAustraliaIoni Bowcher UNQUALIFIED
Darci W GlickItalyIvan Magalhaes NEW
Alejandro Y IturbideRussiaOnyama Limba RENEWAL
Smith Q RimFranceElwin Sharvill RENEWAL
Jefferson L RulapaughItalyIvan Magalhaes UNQUALIFIED
Munro T GarufiArgentinaXuxue Feng NEGOTIATION
Kadeem O WieserFranceStephen Shaw UNQUALIFIED
Ashley X IturbideCanadaIoni Bowcher NEGOTIATION
Greenwood R NestleBrazilIvan Magalhaes RENEWAL
Chavez H AlbaresJapanIvan Magalhaes UNQUALIFIED
Cody C ButtFranceBernardo Dominic QUALIFIED
Deepesh L ButtArgentinaAmy Elsner RENEWAL
Rodrigues Z CampainSpainAsiya Javayant UNQUALIFIED
Julie W FlosiItalyOnyama Limba NEW
Kaitlin E VenereUnited KingdomElwin Sharvill PROPOSAL
Rodrigues Z ChuiItalyOnyama Limba RENEWAL
Chavez J VenereIndiaAsiya Javayant UNQUALIFIED
Aika C KuskoRussiaBernardo Dominic PROPOSAL
Isabel C ChuiCanadaOnyama Limba NEGOTIATION
Cody E PoquetteUnited KingdomIoni Bowcher NEW
Jefferson U NickaArgentinaIvan Magalhaes NEW
Tony L AmigonJapanAnna Fali RENEWAL
Maria M PoquetteFranceAnna Fali QUALIFIED
Greenwood J IturbideArgentinaAnna Fali PROPOSAL
Octavia U InouyeArgentinaIoni Bowcher RENEWAL
Munro L RimCanadaXuxue Feng RENEWAL
Ashley W RimFranceElwin Sharvill PROPOSAL
Mayumi Y SaylorsArgentinaElwin Sharvill PROPOSAL
Arvin K BologniaItalyBernardo Dominic QUALIFIED
Mujtaba W PerinUnited KingdomAmy Elsner QUALIFIED
Emily P BologniaCanadaElwin Sharvill QUALIFIED
Leja P WieserSpainIvan Magalhaes NEW

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